Skip to content

feat(connectors): contrat dans @blueprint-modular/core (D3 — PR-1 émetteur)#109

Merged
remigit55 merged 1 commit into
masterfrom
claude/connector-contract-in-core
Jun 14, 2026
Merged

feat(connectors): contrat dans @blueprint-modular/core (D3 — PR-1 émetteur)#109
remigit55 merged 1 commit into
masterfrom
claude/connector-contract-in-core

Conversation

@remigit55

Copy link
Copy Markdown
Collaborator

PR-1 — Publier le contrat connecteurs dans @blueprint-modular/core (D3)

Première PR de l'émetteur module+connecteur (design : maker#263). Fondation : faire de @blueprint-modular/core la source unique du contrat connecteurs pour que le builder Maker puisse l'importer (pas de copie maintenue à la main).

Changements

  • Déplacement lib/connectors/{types,schema,mapping,catalog,vault}.ts + descriptors/packages/core/src/connectors/ (barrel index.ts).
  • Export publié @blueprint-modular/core/connectors : entrée Vite + package.json exports (types → déclaration réelle nichée, comme l'entrée principale). Bump 0.3.0 → 0.4.0.
  • Back-compat : lib/connectors/* deviennent des ré-exports (export * from "@blueprint-modular/core/connectors") → aucun consommateur app/test cassé.
  • Vitest racine : alias @blueprint-modular/core/connectorssource core (tests indépendants d'un build préalable).
  • Garde anti-secret : scanne désormais packages/core/src/connectors/** (source canonique).
  • Docs générées resynchronisées suite au bump (versions.json, llms.txt, changelog).

Vérification

  • npm run gate VERT (incl. garde secrets + tests connecteurs + gate core)
  • ✅ app tsc --noEmit 0 erreur
  • ✅ tests connecteurs 30/30 (via ré-export + alias)
  • vite build core OK → dist/connectors/index.{mjs,js,d.ts}

⚠️ Couture post-merge (bloque PR-2)

Maker importe @blueprint-modular/core depuis npm, pas en workspace. Donc, après merge de cette PR :

  1. npm publish @blueprint-modular/core@0.4.0 (manuel, Windows) ;
  2. bump de la dépendance @blueprint-modular/core dans Maker ;
  3. puis PR-2 (AppSpec integrations?). Sans cela, la CI de PR-2 ne résoudra pas 0.4.0.

Suite

PR-2 (maker, AppSpec integrations?) → PR-3a/3b (primitives / egress+settings SSRF) → PR-4 (émetteur) → PR-5 (clé par app + smoke) → PR-6 (pilote Stripe K-15). Cf. roadmap maker#263.

NE PAS merger/déployer sans ta revue.

https://claude.ai/code/session_01Trr2exJCY2MiGtEH4HvQbK


Generated by Claude Code

… PR-1)

Source unique de vérité : déplace le contrat connecteurs (types, schema zod,
mapping pur + TRANSFORMS, catalogue curé, interface VaultResolver, descripteurs)
de lib/connectors/ vers packages/core/src/connectors/, exposé via le sous-chemin
publié @blueprint-modular/core/connectors. Objectif : permettre au builder Maker
d'IMPORTER le contrat (émetteur d'intégrations) sans copie maintenue à la main.

- packages/core : nouveau barrel src/connectors/index.ts ; export "./connectors"
  (vite entry + package.json exports, types vers la déclaration réelle) ; bump 0.3.0 → 0.4.0.
- lib/connectors/* : ré-exports de compatibilité (`export * from "@blueprint-modular/core/connectors"`)
  — aucun consommateur app/test cassé.
- vitest racine : alias @blueprint-modular/core/connectors → source core (tests
  sans dépendance à un build préalable).
- garde anti-secret : scanne désormais packages/core/src/connectors/** (source canonique).
- docs générées resynchronisées (versions.json, llms.txt, changelog) suite au bump.

Vérif : npm run gate VERT · app tsc 0 erreur · tests connecteurs 30/30 ·
core vite build OK (dist/connectors/index.{mjs,js,d.ts}).

Couture post-merge (NE PAS oublier) : npm publish @blueprint-modular/core@0.4.0,
puis bump de la dépendance core dans Maker AVANT la PR-2 (import npm, pas workspace).
@remigit55
remigit55 merged commit 8488623 into master Jun 14, 2026
1 check passed
remigit55 added a commit that referenced this pull request Jun 14, 2026
…'app (#111)

Le déploiement (deploy-from-git.sh) ne reconstruisait jamais packages/core et
s'appuyait sur un dist/ périmé sur le serveur. Après l'ajout du sous-chemin
exporté ./connectors (PR-1, #109), ce dist périmé ne l'exposait pas → next build
échouait : « Export presentCategories doesn't exist / module has no exports »
(app/(app)/connecteurs/*). Le déploiement bpm-prod #37-#39 plantait.

Fix : builder core depuis ses sources (npm install + npm run build dans
packages/core, mêmes étapes que le gate CI) juste après npm install, AVANT le
build Next de l'app. Déterministe et pérenne : tout changement de core est
désormais reflété au déploiement. Indépendant de npm (consommation via le lien
local file:packages/core).

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants