@sdd-method/sdd-cli 0.21.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-harness.d.ts +20 -0
- package/dist/lib/agent-harness.d.ts.map +1 -0
- package/dist/lib/agent-harness.js +28 -0
- package/dist/lib/agent-harness.js.map +1 -0
- package/dist/lib/briefing/index.d.ts +15 -0
- package/dist/lib/briefing/index.d.ts.map +1 -0
- package/dist/lib/briefing/index.js +13 -0
- package/dist/lib/briefing/index.js.map +1 -0
- package/dist/lib/briefing/render.d.ts +57 -0
- package/dist/lib/briefing/render.d.ts.map +1 -0
- package/dist/lib/briefing/render.js +112 -0
- package/dist/lib/briefing/render.js.map +1 -0
- package/dist/lib/briefing/variables.d.ts +49 -0
- package/dist/lib/briefing/variables.d.ts.map +1 -0
- package/dist/lib/briefing/variables.js +92 -0
- package/dist/lib/briefing/variables.js.map +1 -0
- package/dist/lib/bundle.d.ts +57 -2
- package/dist/lib/bundle.d.ts.map +1 -1
- package/dist/lib/bundle.js +53 -19
- package/dist/lib/bundle.js.map +1 -1
- package/dist/lib/catalogue/aggregate.d.ts +19 -0
- package/dist/lib/catalogue/aggregate.d.ts.map +1 -1
- package/dist/lib/catalogue/aggregate.js +88 -0
- package/dist/lib/catalogue/aggregate.js.map +1 -1
- package/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +24 -1
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/capabilities.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/capabilities.js +18 -4
- package/dist/lib/catalogue/builders/capabilities.js.map +1 -1
- package/dist/lib/catalogue/builders/feature-subscription-channels.d.ts +12 -0
- package/dist/lib/catalogue/builders/feature-subscription-channels.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/feature-subscription-channels.js +197 -0
- package/dist/lib/catalogue/builders/feature-subscription-channels.js.map +1 -0
- package/dist/lib/catalogue/builders/index.d.ts +4 -0
- package/dist/lib/catalogue/builders/index.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/index.js +2 -0
- package/dist/lib/catalogue/builders/index.js.map +1 -1
- package/dist/lib/catalogue/builders/product-platform-dependencies.d.ts +10 -0
- package/dist/lib/catalogue/builders/product-platform-dependencies.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/product-platform-dependencies.js +155 -0
- package/dist/lib/catalogue/builders/product-platform-dependencies.js.map +1 -0
- package/dist/lib/catalogue/canonical-schema.yaml +96 -1
- package/dist/lib/catalogue/traceability-loader.d.ts +17 -0
- package/dist/lib/catalogue/traceability-loader.d.ts.map +1 -1
- package/dist/lib/catalogue/traceability-loader.js +6 -0
- package/dist/lib/catalogue/traceability-loader.js.map +1 -1
- package/dist/lib/generate-briefing/index.d.ts +22 -0
- package/dist/lib/generate-briefing/index.d.ts.map +1 -0
- package/dist/lib/generate-briefing/index.js +77 -0
- package/dist/lib/generate-briefing/index.js.map +1 -0
- package/dist/lib/hooks-seed/copilot.d.ts +93 -0
- package/dist/lib/hooks-seed/copilot.d.ts.map +1 -0
- package/dist/lib/hooks-seed/copilot.js +167 -0
- package/dist/lib/hooks-seed/copilot.js.map +1 -0
- package/dist/lib/hooks-seed/index.d.ts +4 -0
- package/dist/lib/hooks-seed/index.d.ts.map +1 -1
- package/dist/lib/hooks-seed/index.js +2 -0
- package/dist/lib/hooks-seed/index.js.map +1 -1
- package/dist/lib/hooks-seed/lifecycle-mapping.d.ts +12 -0
- package/dist/lib/hooks-seed/lifecycle-mapping.d.ts.map +1 -0
- package/dist/lib/hooks-seed/lifecycle-mapping.js +28 -0
- package/dist/lib/hooks-seed/lifecycle-mapping.js.map +1 -0
- package/dist/lib/init/index.d.ts +6 -4
- package/dist/lib/init/index.d.ts.map +1 -1
- package/dist/lib/init/index.js +5 -26
- package/dist/lib/init/index.js.map +1 -1
- package/dist/lib/init/platform.d.ts +9 -0
- package/dist/lib/init/platform.d.ts.map +1 -1
- package/dist/lib/init/platform.js +8 -2
- package/dist/lib/init/platform.js.map +1 -1
- package/dist/lib/list/discover.d.ts +28 -0
- package/dist/lib/list/discover.d.ts.map +1 -1
- package/dist/lib/list/discover.js +27 -11
- package/dist/lib/list/discover.js.map +1 -1
- package/dist/lib/list/format.d.ts +2 -0
- package/dist/lib/list/format.d.ts.map +1 -1
- package/dist/lib/list/format.js +44 -4
- package/dist/lib/list/format.js.map +1 -1
- package/dist/lib/list/index.d.ts +1 -0
- package/dist/lib/list/index.d.ts.map +1 -1
- package/dist/lib/list/index.js +1 -0
- package/dist/lib/list/index.js.map +1 -1
- package/dist/lib/lock-file.d.ts +23 -5
- package/dist/lib/lock-file.d.ts.map +1 -1
- package/dist/lib/lock-file.js +86 -9
- package/dist/lib/lock-file.js.map +1 -1
- package/dist/lib/pack/builder.d.ts +55 -0
- package/dist/lib/pack/builder.d.ts.map +1 -0
- package/dist/lib/pack/builder.js +226 -0
- package/dist/lib/pack/builder.js.map +1 -0
- package/dist/lib/pack/index.d.ts +26 -0
- package/dist/lib/pack/index.d.ts.map +1 -0
- package/dist/lib/pack/index.js +85 -0
- package/dist/lib/pack/index.js.map +1 -0
- package/dist/lib/pack/leakage.d.ts +55 -0
- package/dist/lib/pack/leakage.d.ts.map +1 -0
- package/dist/lib/pack/leakage.js +133 -0
- package/dist/lib/pack/leakage.js.map +1 -0
- package/dist/lib/pack/schema.d.ts +36 -0
- package/dist/lib/pack/schema.d.ts.map +1 -0
- package/dist/lib/pack/schema.js +63 -0
- package/dist/lib/pack/schema.js.map +1 -0
- package/dist/lib/pack/seed.d.ts +46 -0
- package/dist/lib/pack/seed.d.ts.map +1 -0
- package/dist/lib/pack/seed.js +107 -0
- package/dist/lib/pack/seed.js.map +1 -0
- package/dist/lib/repo-kind.d.ts +8 -4
- package/dist/lib/repo-kind.d.ts.map +1 -1
- package/dist/lib/repo-kind.js +10 -2
- package/dist/lib/repo-kind.js.map +1 -1
- package/dist/lib/sync/briefing-merge.d.ts +34 -0
- package/dist/lib/sync/briefing-merge.d.ts.map +1 -0
- package/dist/lib/sync/briefing-merge.js +82 -0
- package/dist/lib/sync/briefing-merge.js.map +1 -0
- package/dist/lib/sync/config.d.ts +33 -0
- package/dist/lib/sync/config.d.ts.map +1 -0
- package/dist/lib/sync/config.js +40 -0
- package/dist/lib/sync/config.js.map +1 -0
- package/dist/lib/sync/copilot-hooks-merge.d.ts +30 -0
- package/dist/lib/sync/copilot-hooks-merge.d.ts.map +1 -0
- package/dist/lib/sync/copilot-hooks-merge.js +96 -0
- package/dist/lib/sync/copilot-hooks-merge.js.map +1 -0
- package/dist/lib/sync/index.d.ts +40 -3
- package/dist/lib/sync/index.d.ts.map +1 -1
- package/dist/lib/sync/index.js +186 -26
- package/dist/lib/sync/index.js.map +1 -1
- package/dist/lib/sync/source-tag.d.ts +5 -0
- package/dist/lib/sync/source-tag.d.ts.map +1 -0
- package/dist/lib/sync/source-tag.js +34 -0
- package/dist/lib/sync/source-tag.js.map +1 -0
- package/dist/verbs/generate-briefing.d.ts +3 -0
- package/dist/verbs/generate-briefing.d.ts.map +1 -0
- package/dist/verbs/generate-briefing.js +28 -0
- package/dist/verbs/generate-briefing.js.map +1 -0
- package/dist/verbs/init.d.ts.map +1 -1
- package/dist/verbs/init.js +11 -8
- package/dist/verbs/init.js.map +1 -1
- package/dist/verbs/list.d.ts.map +1 -1
- package/dist/verbs/list.js +3 -1
- package/dist/verbs/list.js.map +1 -1
- package/dist/verbs/pack.d.ts +3 -0
- package/dist/verbs/pack.d.ts.map +1 -0
- package/dist/verbs/pack.js +35 -0
- package/dist/verbs/pack.js.map +1 -0
- package/dist/verbs/sync.d.ts.map +1 -1
- package/dist/verbs/sync.js +56 -15
- package/dist/verbs/sync.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAgB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EACL,0BAA0B,GAE3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE1E,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAwCvC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEpC,MAAM,kBAAkB,GAAuC;IAC7D,WAAW,EAAE;QACX,gBAAgB;QAChB,gCAAgC;QAChC,mBAAmB;QACnB,iBAAiB;KAClB;IACD,WAAW,EAAE;QACX,gBAAgB;QAChB,2BAA2B;QAC3B,mBAAmB;QACnB,iBAAiB;KAClB;IACD,QAAQ,EAAE;QACR,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;KAC5B;IACD,OAAO,EAAE;QACP,gBAAgB;QAChB,iBAAiB;QACjB,6BAA6B;QAC7B,sDAAsD;KACvD;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAiB,EACjB,SAAiC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IAErE,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,IAAI,aAAa,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,CACJ,IAAI,CACF,sCAAsC,aAAa,kBAAkB,IAAI,CAAC,OAAO,EAAE,CACpF,CACF,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAC1C,IAAI,CAAC,SAAS,EACd,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAChC,IAAI,CAAC,aAAa,CACnB,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACpD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,OAAO,CAC9B;QACE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK;QACb,mEAAmE;QACnE,oEAAoE;QACpE,sEAAsE;QACtE,oEAAoE;QACpE,iDAAiD;QACjD,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,IAAI;QACZ,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,EACD,MAAM,CACP,CAAC;IACF,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;QAChF,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,iEAAiE;IACjE,oEAAoE;IACpE,6DAA6D;IAE7D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,MAAM,WAAW,CACtC;QACE,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK;QACb,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,EACD,MAAM,CACP,CAAC;IAEF,IAAI,cAAc,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,CACJ,IAAI,CACF,+GAA+G,CAChH,CACF,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAiB;IAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,gDAAgD,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,wDAAwD,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,sDAAsD,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,OAAO,2DAA2D,CAAC;QACrE,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,oDAAoD,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAiB;IAClC,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC;IACzE,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,aAAa,IAAI,uBAAuB,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,IAAI,oBAAoB,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAiB;IAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,kBAAkB,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAM;YAClB,UAAU,EAAE,IAAI,CAAC,SAAS;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAa,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACrE,OAAO,uBAAuB,CAAC;YAC7B,YAAY;YACZ,UAAU;YACV,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,0BAA0B,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,aAAc;QAClC,WAAW,EAAE,IAAI,CAAC,WAAY;QAC9B,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,mBAAmB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC,CAAC;AACL,CAAC;AAMD,KAAK,UAAU,oBAAoB,CACjC,SAAiB,EACjB,SAA4B,EAC5B,aAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,aAAa;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,gDAAgD,SAAS,IAAI,GAAG,oFAAoF;aAC7J,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK,YAAY,OAAO,KAAK,KAAK,YAAY,MAAM,CAAC;AAC9D,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,UAAU,GAAG,IAAI,CAAC;AAC3B,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,UAAU,GAAG,IAAI,CAAC;AAC3B,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,UAAU,GAAG,IAAI,CAAC;AAC3B,CAAC"}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
+
import type { AgentHarness } from "../agent-harness.js";
|
|
1
2
|
export interface PlatformProfileRenderInput {
|
|
2
3
|
platformName: string;
|
|
3
4
|
platformId: string;
|
|
4
5
|
targetRepo: string;
|
|
5
6
|
today?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Target agent harness per ADR 0141 §4.6. When set to
|
|
9
|
+
* `github-copilot-cli`, the scaffold skips `.claude/settings.json`
|
|
10
|
+
* (Copilot CLI does not read it). The first sync run then writes
|
|
11
|
+
* `.github/hooks/*.json`. Defaults to `claude-code` behaviour when
|
|
12
|
+
* omitted, preserving the legacy scaffold.
|
|
13
|
+
*/
|
|
14
|
+
agentHarness?: AgentHarness;
|
|
6
15
|
}
|
|
7
16
|
export declare function renderPlatformReadme(input: {
|
|
8
17
|
platformName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/lib/init/platform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/lib/init/platform.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQxD,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAkDT;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CA4BhD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,GAAE;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAwBd;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAqB1E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAqB5E;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoErC;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAM7D"}
|
|
@@ -151,8 +151,14 @@ export async function scaffoldPlatformProfile(input) {
|
|
|
151
151
|
filesWritten.push("README.md");
|
|
152
152
|
await writeFileAt(join(input.targetRepo, ".gitignore"), renderPlatformGitignore());
|
|
153
153
|
filesWritten.push(".gitignore");
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
// ADR 0141 §4.6: only seed .claude/settings.json under the Claude
|
|
155
|
+
// Code reference harness. Copilot CLI adopters get .github/hooks/*.json
|
|
156
|
+
// written by the first sync run; their MCP wiring lands separately
|
|
157
|
+
// under ADR 0150 Phase 3.
|
|
158
|
+
if (input.agentHarness !== "github-copilot-cli") {
|
|
159
|
+
await writeFileAt(join(input.targetRepo, ".claude/settings.json"), renderClaudeSettingsStub({ sddRepoPath: input.targetRepo }));
|
|
160
|
+
filesWritten.push(".claude/settings.json");
|
|
161
|
+
}
|
|
156
162
|
await writeFileAt(join(input.targetRepo, WORKFLOW_REL_PATH), renderMethodValidationWorkflow("platform"));
|
|
157
163
|
filesWritten.push(WORKFLOW_REL_PATH);
|
|
158
164
|
for (const rel of [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/lib/init/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/lib/init/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,36 @@
|
|
|
1
1
|
import { type RepoKind } from "../repo-kind.js";
|
|
2
|
+
/**
|
|
3
|
+
* One bundle entry, lifted out of method-baseline.lock for display
|
|
4
|
+
* purposes. Mirrors the shape exposed in `sdd-cli list` output and the
|
|
5
|
+
* JSON format.
|
|
6
|
+
*/
|
|
7
|
+
export interface DiscoveredBundle {
|
|
8
|
+
name: string;
|
|
9
|
+
version: string;
|
|
10
|
+
isForwardBase: boolean;
|
|
11
|
+
managedPathCount: number;
|
|
12
|
+
/** Adopter repo that produced this bundle (per ADR 0151). */
|
|
13
|
+
producedByAdopter?: string;
|
|
14
|
+
/** Seed-file scope slug, surfaced for diagnostics. */
|
|
15
|
+
scope?: string;
|
|
16
|
+
/** requires_forward_base.bundle name (extension bundles only). */
|
|
17
|
+
requiresForwardBase?: string;
|
|
18
|
+
/** requires_pack.name (vertical extensions only). */
|
|
19
|
+
requiresPack?: string;
|
|
20
|
+
}
|
|
2
21
|
export interface DiscoveredRepo {
|
|
3
22
|
path: string;
|
|
4
23
|
kind: RepoKind;
|
|
24
|
+
/**
|
|
25
|
+
* Forward-base bundle version, surfaced as the primary version of
|
|
26
|
+
* this SDD. Null when no lock file exists.
|
|
27
|
+
*/
|
|
5
28
|
bundleVersion: string | null;
|
|
29
|
+
/**
|
|
30
|
+
* All bundle entries in the consumer's lock chain (forward base
|
|
31
|
+
* first, additive layers in order). Empty when no lock file exists.
|
|
32
|
+
*/
|
|
33
|
+
bundles: DiscoveredBundle[];
|
|
6
34
|
}
|
|
7
35
|
export declare function discoverSddRepos(roots: readonly string[]): Promise<DiscoveredRepo[]>;
|
|
8
36
|
//# sourceMappingURL=discover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/lib/list/discover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/lib/list/discover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf;;;OAGG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAiBD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,cAAc,EAAE,CAAC,CAW3B"}
|
|
@@ -32,8 +32,10 @@ async function walk(dir, seen, repos) {
|
|
|
32
32
|
seen.add(dir);
|
|
33
33
|
const kind = await tryReadRepoKind(dir);
|
|
34
34
|
if (kind) {
|
|
35
|
-
const
|
|
36
|
-
|
|
35
|
+
const bundles = await tryReadBundles(dir);
|
|
36
|
+
const forwardBase = bundles.find((b) => b.isForwardBase) ?? bundles[0];
|
|
37
|
+
const bundleVersion = forwardBase?.version ?? null;
|
|
38
|
+
repos.push({ path: dir, kind, bundleVersion, bundles });
|
|
37
39
|
return;
|
|
38
40
|
}
|
|
39
41
|
let entries;
|
|
@@ -65,20 +67,34 @@ async function tryReadRepoKind(dir) {
|
|
|
65
67
|
return null;
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
|
-
async function
|
|
70
|
+
async function tryReadBundles(dir) {
|
|
69
71
|
try {
|
|
70
72
|
const lock = await readLockFile(dir);
|
|
71
73
|
if (!lock)
|
|
72
|
-
return
|
|
73
|
-
|
|
74
|
-
// version since it represents the primary distribution. Fall back
|
|
75
|
-
// to the first bundle if none is flagged as a forward base (which
|
|
76
|
-
// shouldn't happen in practice since additive bundles require one).
|
|
77
|
-
const fwd = lock.bundles.find((b) => b.isForwardBase) ?? lock.bundles[0];
|
|
78
|
-
return fwd?.bundleVersion ?? null;
|
|
74
|
+
return [];
|
|
75
|
+
return lock.bundles.map(toDiscoveredBundle);
|
|
79
76
|
}
|
|
80
77
|
catch {
|
|
81
|
-
return
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function toDiscoveredBundle(entry) {
|
|
82
|
+
const bundle = {
|
|
83
|
+
name: entry.name,
|
|
84
|
+
version: entry.bundleVersion,
|
|
85
|
+
isForwardBase: entry.isForwardBase,
|
|
86
|
+
managedPathCount: entry.managedPaths.length,
|
|
87
|
+
};
|
|
88
|
+
if (entry.producedByAdopter)
|
|
89
|
+
bundle.producedByAdopter = entry.producedByAdopter;
|
|
90
|
+
if (entry.scope)
|
|
91
|
+
bundle.scope = entry.scope;
|
|
92
|
+
if (entry.requiresForwardBase) {
|
|
93
|
+
bundle.requiresForwardBase = entry.requiresForwardBase.bundle;
|
|
94
|
+
}
|
|
95
|
+
if (entry.requiresPack) {
|
|
96
|
+
bundle.requiresPack = entry.requiresPack.name;
|
|
82
97
|
}
|
|
98
|
+
return bundle;
|
|
83
99
|
}
|
|
84
100
|
//# sourceMappingURL=discover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/lib/list/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/lib/list/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ export type OutputFormat = "text" | "json";
|
|
|
4
4
|
export interface ListOptions {
|
|
5
5
|
format: OutputFormat;
|
|
6
6
|
profileFilter?: Profile;
|
|
7
|
+
/** Surface managed_path counts per bundle in text output. */
|
|
8
|
+
verbose?: boolean;
|
|
7
9
|
}
|
|
8
10
|
export declare function format(repos: readonly DiscoveredRepo[], opts: ListOptions): string;
|
|
9
11
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/lib/list/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/lib/list/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAI3C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqBD,wBAAgB,MAAM,CACpB,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,IAAI,EAAE,WAAW,GAChB,MAAM,CAOR"}
|
package/dist/lib/list/format.js
CHANGED
|
@@ -6,7 +6,7 @@ export function format(repos, opts) {
|
|
|
6
6
|
: repos;
|
|
7
7
|
if (opts.format === "json")
|
|
8
8
|
return formatJson(filtered);
|
|
9
|
-
return formatText(filtered);
|
|
9
|
+
return formatText(filtered, opts.verbose === true);
|
|
10
10
|
}
|
|
11
11
|
function formatJson(repos) {
|
|
12
12
|
const payload = repos.map((r) => ({
|
|
@@ -14,10 +14,28 @@ function formatJson(repos) {
|
|
|
14
14
|
profile: profileFromRepoKind(r.kind),
|
|
15
15
|
kind: r.kind,
|
|
16
16
|
bundle_version: r.bundleVersion,
|
|
17
|
+
bundles: r.bundles.map(toJsonBundle),
|
|
17
18
|
}));
|
|
18
19
|
return JSON.stringify(payload, null, 2) + "\n";
|
|
19
20
|
}
|
|
20
|
-
function
|
|
21
|
+
function toJsonBundle(b) {
|
|
22
|
+
const out = {
|
|
23
|
+
name: b.name,
|
|
24
|
+
version: b.version,
|
|
25
|
+
is_forward_base: b.isForwardBase,
|
|
26
|
+
managed_path_count: b.managedPathCount,
|
|
27
|
+
};
|
|
28
|
+
if (b.producedByAdopter)
|
|
29
|
+
out.produced_by_adopter = b.producedByAdopter;
|
|
30
|
+
if (b.scope)
|
|
31
|
+
out.scope = b.scope;
|
|
32
|
+
if (b.requiresForwardBase)
|
|
33
|
+
out.requires_forward_base = b.requiresForwardBase;
|
|
34
|
+
if (b.requiresPack)
|
|
35
|
+
out.requires_pack = b.requiresPack;
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
38
|
+
function formatText(repos, verbose) {
|
|
21
39
|
if (repos.length === 0)
|
|
22
40
|
return "No SDD repositories found.\n";
|
|
23
41
|
const grouped = new Map();
|
|
@@ -34,11 +52,33 @@ function formatText(repos) {
|
|
|
34
52
|
continue;
|
|
35
53
|
lines.push(`${profile} (${list.length}):`);
|
|
36
54
|
for (const repo of list) {
|
|
37
|
-
|
|
38
|
-
|
|
55
|
+
lines.push(formatRepoLine(repo, verbose));
|
|
56
|
+
// Render non-forward-base bundles (adopter packs) as indented
|
|
57
|
+
// '+' lines beneath the repo line. Forward-base info is already
|
|
58
|
+
// in the repo line itself.
|
|
59
|
+
for (const b of repo.bundles) {
|
|
60
|
+
if (b.isForwardBase)
|
|
61
|
+
continue;
|
|
62
|
+
lines.push(formatPackLine(b, verbose));
|
|
63
|
+
}
|
|
39
64
|
}
|
|
40
65
|
lines.push("");
|
|
41
66
|
}
|
|
42
67
|
return lines.join("\n");
|
|
43
68
|
}
|
|
69
|
+
function formatRepoLine(repo, verbose) {
|
|
70
|
+
const version = repo.bundleVersion ?? "no-lock";
|
|
71
|
+
const base = ` ${repo.path} [${version}]`;
|
|
72
|
+
if (!verbose)
|
|
73
|
+
return base;
|
|
74
|
+
const fwd = repo.bundles.find((b) => b.isForwardBase);
|
|
75
|
+
const count = fwd ? ` (${fwd.managedPathCount} managed paths)` : "";
|
|
76
|
+
return base + count;
|
|
77
|
+
}
|
|
78
|
+
function formatPackLine(b, verbose) {
|
|
79
|
+
const producer = b.producedByAdopter ? ` from ${b.producedByAdopter}` : "";
|
|
80
|
+
const requires = b.requiresPack ? ` requires ${b.requiresPack}` : "";
|
|
81
|
+
const count = verbose ? ` (${b.managedPathCount} managed paths)` : "";
|
|
82
|
+
return ` + ${b.name} ${b.version}${producer}${requires}${count}`;
|
|
83
|
+
}
|
|
44
84
|
//# sourceMappingURL=format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/lib/list/format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAKtD,MAAM,aAAa,GAAuB,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/lib/list/format.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/list/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/list/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/list/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,UAAU,CAAC,CAarB"}
|
package/dist/lib/list/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export async function runList(inputs, write) {
|
|
|
7
7
|
const repos = await discoverSddRepos(roots);
|
|
8
8
|
const output = format(repos, {
|
|
9
9
|
format: inputs.format,
|
|
10
|
+
verbose: inputs.verbose === true,
|
|
10
11
|
...(inputs.profileFilter ? { profileFilter: inputs.profileFilter } : {}),
|
|
11
12
|
});
|
|
12
13
|
write(output);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/list/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/list/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAaxD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAkB,EAClB,KAA0B;IAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAC,cAAc;QACvB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEpB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI;QAChC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,CAAC,CAAC;IACd,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC"}
|
package/dist/lib/lock-file.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ForwardBaseRef, PackRef } from "./bundle.js";
|
|
1
2
|
import { type BundleName, type RepoKind } from "./repo-kind.js";
|
|
2
3
|
export declare const LOCK_FILE = "method-baseline.lock";
|
|
3
4
|
export declare const LOCK_VERSION: 2;
|
|
@@ -5,15 +6,27 @@ export declare const LOCK_VERSION: 2;
|
|
|
5
6
|
* One synced bundle (forward base or additive extension). Each lock
|
|
6
7
|
* file carries a list of these — re-syncing one bundle replaces its
|
|
7
8
|
* entry; other bundles' entries are preserved.
|
|
9
|
+
*
|
|
10
|
+
* For sdd-method forward bases, `name` is one of the closed
|
|
11
|
+
* BundleName enum values. For adopter packs (ADR 0151), `name` is an
|
|
12
|
+
* arbitrary string — the producer chooses the pack name.
|
|
8
13
|
*/
|
|
9
14
|
export interface BundleEntry {
|
|
10
|
-
name:
|
|
15
|
+
name: string;
|
|
11
16
|
bundleVersion: string;
|
|
12
17
|
sourceCommit: string;
|
|
13
18
|
bundleSha256: string;
|
|
14
19
|
syncedAtUtc: string;
|
|
15
20
|
isForwardBase: boolean;
|
|
16
21
|
managedPaths: string[];
|
|
22
|
+
/**
|
|
23
|
+
* Adopter pack provenance (per ADR 0151). Absent for sdd-method
|
|
24
|
+
* forward-base bundles; present on non-forward-base adopter packs.
|
|
25
|
+
*/
|
|
26
|
+
producedByAdopter?: string;
|
|
27
|
+
scope?: string;
|
|
28
|
+
requiresForwardBase?: ForwardBaseRef;
|
|
29
|
+
requiresPack?: PackRef;
|
|
17
30
|
}
|
|
18
31
|
export interface LockFile {
|
|
19
32
|
methodRepo: string;
|
|
@@ -26,13 +39,14 @@ export interface ParseLockFileOptions {
|
|
|
26
39
|
/**
|
|
27
40
|
* If the input is a legacy v1 lock (no `lock_version:` line), this
|
|
28
41
|
* supplies the bundle name to migrate it under. Required for v1
|
|
29
|
-
* input; ignored for v2.
|
|
42
|
+
* input; ignored for v2. Legacy v1 locks predate adopter packs, so
|
|
43
|
+
* the bundle name is always a known sdd-method `BundleName`.
|
|
30
44
|
*/
|
|
31
45
|
legacyBundleName?: BundleName;
|
|
32
46
|
}
|
|
33
47
|
export declare function parseLockFile(raw: string, opts?: ParseLockFileOptions): LockFile;
|
|
34
48
|
export declare function serialiseLockFile(lock: LockFile): string;
|
|
35
|
-
export declare function findBundle(lock: LockFile | null, name:
|
|
49
|
+
export declare function findBundle(lock: LockFile | null, name: string): BundleEntry | null;
|
|
36
50
|
/**
|
|
37
51
|
* Replace the bundle entry with `entry.name`, or append it. Returns a
|
|
38
52
|
* new LockFile preserving order (existing bundles keep their position;
|
|
@@ -43,7 +57,11 @@ export declare function upsertBundle(lock: LockFile | null, entry: BundleEntry):
|
|
|
43
57
|
* True if any bundle in the lock other than `excluding` is a forward
|
|
44
58
|
* base. Used to enforce requires_forward_base for additive layers.
|
|
45
59
|
*/
|
|
46
|
-
export declare function hasForwardBase(lock: LockFile | null, excluding?:
|
|
47
|
-
|
|
60
|
+
export declare function hasForwardBase(lock: LockFile | null, excluding?: string): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Find the forward-base bundle entry in a lock, or null if none.
|
|
63
|
+
*/
|
|
64
|
+
export declare function findForwardBase(lock: LockFile | null, excluding?: string): BundleEntry | null;
|
|
65
|
+
export declare function pathToBundleMap(lock: LockFile | null, excluding?: string): Map<string, string>;
|
|
48
66
|
export type { RepoKind };
|
|
49
67
|
//# sourceMappingURL=lock-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-file.d.ts","sourceRoot":"","sources":["../../src/lib/lock-file.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"lock-file.d.ts","sourceRoot":"","sources":["../../src/lib/lock-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,SAAS,yBAAyB,CAAC;AAChD,eAAO,MAAM,YAAY,EAAG,CAAU,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,YAAY,CAAC;IACjC,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAkB7E;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,oBAAyB,GAC9B,QAAQ,CASV;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CA0CxD;AA6OD,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,IAAI,CAGpB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,CAYhF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,GAAG,IAAI,CAOpB;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQrB;AAGD,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/lib/lock-file.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { bundleNameFromRepoKind,
|
|
3
|
+
import { bundleNameFromRepoKind, isForwardBase, readRepoKind, } from "./repo-kind.js";
|
|
4
4
|
export const LOCK_FILE = "method-baseline.lock";
|
|
5
5
|
export const LOCK_VERSION = 2;
|
|
6
6
|
export async function readLockFile(repoRoot) {
|
|
@@ -15,8 +15,6 @@ export async function readLockFile(repoRoot) {
|
|
|
15
15
|
}
|
|
16
16
|
if (isV2(raw))
|
|
17
17
|
return parseLockFile(raw);
|
|
18
|
-
// Legacy v1 lock — auto-migrate by inferring the bundle name from
|
|
19
|
-
// .sdd-repo-kind. Mirrors the bash sync script's migration path.
|
|
20
18
|
const repoKind = await readRepoKind(repoRoot);
|
|
21
19
|
if (!repoKind) {
|
|
22
20
|
throw new Error(`Legacy lock detected but cannot infer bundle name: ${LOCK_FILE} is v1 ` +
|
|
@@ -44,7 +42,20 @@ export function serialiseLockFile(lock) {
|
|
|
44
42
|
"bundles:",
|
|
45
43
|
];
|
|
46
44
|
for (const b of lock.bundles) {
|
|
47
|
-
lines.push(` - name: ${b.name}`, ` bundle_version: "${b.bundleVersion}"`, ` source_commit: "${b.sourceCommit}"`, ` bundle_sha256: "${b.bundleSha256}"`, ` synced_at_utc: "${b.syncedAtUtc}"`, ` is_forward_base: ${b.isForwardBase}
|
|
45
|
+
lines.push(` - name: ${b.name}`, ` bundle_version: "${b.bundleVersion}"`, ` source_commit: "${b.sourceCommit}"`, ` bundle_sha256: "${b.bundleSha256}"`, ` synced_at_utc: "${b.syncedAtUtc}"`, ` is_forward_base: ${b.isForwardBase}`);
|
|
46
|
+
if (b.producedByAdopter !== undefined) {
|
|
47
|
+
lines.push(` produced_by_adopter: "${b.producedByAdopter}"`);
|
|
48
|
+
}
|
|
49
|
+
if (b.scope !== undefined) {
|
|
50
|
+
lines.push(` scope: "${b.scope}"`);
|
|
51
|
+
}
|
|
52
|
+
if (b.requiresForwardBase) {
|
|
53
|
+
lines.push(` requires_forward_base:`, ` bundle: "${b.requiresForwardBase.bundle}"`, ` minimum_version: "${b.requiresForwardBase.minimumVersion}"`, ` source_repo: "${b.requiresForwardBase.sourceRepo}"`);
|
|
54
|
+
}
|
|
55
|
+
if (b.requiresPack) {
|
|
56
|
+
lines.push(` requires_pack:`, ` name: "${b.requiresPack.name}"`, ` version: "${b.requiresPack.version}"`);
|
|
57
|
+
}
|
|
58
|
+
lines.push(` managed_paths:`);
|
|
48
59
|
for (const p of b.managedPaths) {
|
|
49
60
|
lines.push(` - ${p}`);
|
|
50
61
|
}
|
|
@@ -69,12 +80,33 @@ function parseV2(raw) {
|
|
|
69
80
|
const bundles = [];
|
|
70
81
|
let inBundles = false;
|
|
71
82
|
let inPaths = false;
|
|
83
|
+
let inForwardBase = false;
|
|
84
|
+
let inPack = false;
|
|
72
85
|
let cur = {
|
|
73
86
|
managedPaths: [],
|
|
74
87
|
};
|
|
88
|
+
let forwardBase = {};
|
|
89
|
+
let pack = {};
|
|
90
|
+
const flushNestedObjects = () => {
|
|
91
|
+
if (inForwardBase && forwardBase.bundle && forwardBase.minimumVersion) {
|
|
92
|
+
cur.requiresForwardBase = {
|
|
93
|
+
bundle: forwardBase.bundle,
|
|
94
|
+
minimumVersion: forwardBase.minimumVersion,
|
|
95
|
+
sourceRepo: forwardBase.sourceRepo ?? "sdd-method",
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
if (inPack && pack.name && pack.version) {
|
|
99
|
+
cur.requiresPack = { name: pack.name, version: pack.version };
|
|
100
|
+
}
|
|
101
|
+
inForwardBase = false;
|
|
102
|
+
inPack = false;
|
|
103
|
+
forwardBase = {};
|
|
104
|
+
pack = {};
|
|
105
|
+
};
|
|
75
106
|
const flushBundle = () => {
|
|
76
107
|
if (cur.name === undefined)
|
|
77
108
|
return;
|
|
109
|
+
flushNestedObjects();
|
|
78
110
|
const required = [
|
|
79
111
|
"name",
|
|
80
112
|
"bundleVersion",
|
|
@@ -113,13 +145,11 @@ function parseV2(raw) {
|
|
|
113
145
|
if (line.startsWith(" - name:")) {
|
|
114
146
|
flushBundle();
|
|
115
147
|
const name = stripQuotes(line.slice(" - name:".length).trim());
|
|
116
|
-
if (!isBundleName(name)) {
|
|
117
|
-
throw new Error(`${LOCK_FILE}: unknown bundle name "${name}"`);
|
|
118
|
-
}
|
|
119
148
|
cur.name = name;
|
|
120
149
|
continue;
|
|
121
150
|
}
|
|
122
151
|
if (line === " managed_paths:") {
|
|
152
|
+
flushNestedObjects();
|
|
123
153
|
inPaths = true;
|
|
124
154
|
continue;
|
|
125
155
|
}
|
|
@@ -127,6 +157,41 @@ function parseV2(raw) {
|
|
|
127
157
|
cur.managedPaths.push(line.slice(" - ".length));
|
|
128
158
|
continue;
|
|
129
159
|
}
|
|
160
|
+
if (line === " requires_forward_base:") {
|
|
161
|
+
flushNestedObjects();
|
|
162
|
+
inForwardBase = true;
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
if (line === " requires_pack:") {
|
|
166
|
+
flushNestedObjects();
|
|
167
|
+
inPack = true;
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
// Two-space-indented nested keys (under requires_forward_base / requires_pack)
|
|
171
|
+
if (inForwardBase || inPack) {
|
|
172
|
+
const nested = /^ ([a-z_][a-z0-9_]*): (.*)$/.exec(line);
|
|
173
|
+
if (nested) {
|
|
174
|
+
const [, key, rawValue] = nested;
|
|
175
|
+
const value = stripQuotes(rawValue);
|
|
176
|
+
if (inForwardBase) {
|
|
177
|
+
if (key === "bundle")
|
|
178
|
+
forwardBase.bundle = value;
|
|
179
|
+
else if (key === "minimum_version")
|
|
180
|
+
forwardBase.minimumVersion = value;
|
|
181
|
+
else if (key === "source_repo")
|
|
182
|
+
forwardBase.sourceRepo = value;
|
|
183
|
+
}
|
|
184
|
+
else if (inPack) {
|
|
185
|
+
if (key === "name")
|
|
186
|
+
pack.name = value;
|
|
187
|
+
else if (key === "version")
|
|
188
|
+
pack.version = value;
|
|
189
|
+
}
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
// A non-nested line ends the object scope.
|
|
193
|
+
flushNestedObjects();
|
|
194
|
+
}
|
|
130
195
|
const meta = /^ ([a-z_][a-z0-9_]*): (.*)$/.exec(line);
|
|
131
196
|
if (meta) {
|
|
132
197
|
inPaths = false;
|
|
@@ -148,11 +213,15 @@ function parseV2(raw) {
|
|
|
148
213
|
case "is_forward_base":
|
|
149
214
|
cur.isForwardBase = value === "true";
|
|
150
215
|
break;
|
|
216
|
+
case "produced_by_adopter":
|
|
217
|
+
cur.producedByAdopter = value;
|
|
218
|
+
break;
|
|
219
|
+
case "scope":
|
|
220
|
+
cur.scope = value;
|
|
221
|
+
break;
|
|
151
222
|
}
|
|
152
223
|
continue;
|
|
153
224
|
}
|
|
154
|
-
// Top-level scalar after the bundles block ends — e.g. trailing
|
|
155
|
-
// file-level metadata (none today, but tolerated).
|
|
156
225
|
if (line.length > 0 && !line.startsWith(" ") && !line.startsWith("\t")) {
|
|
157
226
|
inBundles = false;
|
|
158
227
|
}
|
|
@@ -249,6 +318,14 @@ export function hasForwardBase(lock, excluding) {
|
|
|
249
318
|
return false;
|
|
250
319
|
return lock.bundles.some((b) => b.name !== excluding && b.isForwardBase);
|
|
251
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* Find the forward-base bundle entry in a lock, or null if none.
|
|
323
|
+
*/
|
|
324
|
+
export function findForwardBase(lock, excluding) {
|
|
325
|
+
if (!lock)
|
|
326
|
+
return null;
|
|
327
|
+
return (lock.bundles.find((b) => b.name !== excluding && b.isForwardBase) ?? null);
|
|
328
|
+
}
|
|
252
329
|
export function pathToBundleMap(lock, excluding) {
|
|
253
330
|
const m = new Map();
|
|
254
331
|
if (!lock)
|