@sdd-method/sdd-cli 0.11.0 → 0.12.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/dist/lib/init/index.d.ts.map +1 -1
- package/dist/lib/init/index.js +6 -1
- package/dist/lib/init/index.js.map +1 -1
- package/dist/lib/init/integration.d.ts +1 -1
- package/dist/lib/init/integration.d.ts.map +1 -1
- package/dist/lib/init/integration.js +5 -0
- package/dist/lib/init/integration.js.map +1 -1
- package/dist/lib/list/discover.js +8 -1
- package/dist/lib/list/discover.js.map +1 -1
- package/dist/lib/lock-file.d.ts +38 -3
- package/dist/lib/lock-file.d.ts.map +1 -1
- package/dist/lib/lock-file.js +213 -29
- package/dist/lib/lock-file.js.map +1 -1
- package/dist/lib/repo-kind.d.ts +17 -2
- package/dist/lib/repo-kind.d.ts.map +1 -1
- package/dist/lib/repo-kind.js +46 -2
- package/dist/lib/repo-kind.js.map +1 -1
- package/dist/lib/sync/index.d.ts.map +1 -1
- package/dist/lib/sync/index.js +65 -20
- package/dist/lib/sync/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/init/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAStE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAG7B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8BD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA2C,GACpE,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/init/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAStE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAG7B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA8BD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA2C,GACpE,OAAO,CAAC,UAAU,CAAC,CAkHrB"}
|
package/dist/lib/init/index.js
CHANGED
|
@@ -81,7 +81,12 @@ export async function runInit(opts, stdout = (line) => process.stdout.write(line
|
|
|
81
81
|
bundle: opts.bundle,
|
|
82
82
|
targetRepo: opts.targetDir,
|
|
83
83
|
dryRun: false,
|
|
84
|
-
|
|
84
|
+
// Init is by definition a fresh bootstrap: the scaffold step above
|
|
85
|
+
// intentionally writes seed files (.claude/settings.json, manifest,
|
|
86
|
+
// service-architecture.md) which the bundle then layers its canonical
|
|
87
|
+
// versions on top of. Without allowOverwrite, sync sees the seed as
|
|
88
|
+
// "drifted" and aborts the bootstrap mid-flight.
|
|
89
|
+
allowOverwrite: true,
|
|
85
90
|
delete: true,
|
|
86
91
|
...(opts.agentHarness ? { agentHarness: opts.agentHarness } : {}),
|
|
87
92
|
}, stdout);
|
|
@@ -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,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,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,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,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;AAuCvC,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,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/init/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type IntegrationProfileType = "workflow" | "device-hardware" | "saas-platform" | "financial-services" | "data-hub" | "data-feed";
|
|
1
|
+
export type IntegrationProfileType = "workflow" | "device-hardware" | "device-platform" | "oem-platform" | "fleet-partner" | "camera-platform" | "saas-platform" | "financial-services" | "data-aggregator" | "data-hub" | "data-feed";
|
|
2
2
|
export declare const INTEGRATION_PROFILE_TYPES: readonly IntegrationProfileType[];
|
|
3
3
|
export type BindingModel = "org-bound" | "asset-bound";
|
|
4
4
|
export interface IntegrationCapabilities {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/lib/init/integration.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,iBAAiB,GACjB,eAAe,GACf,oBAAoB,GACpB,UAAU,GACV,WAAW,CAAC;AAEhB,eAAO,MAAM,yBAAyB,EAAE,SAAS,sBAAsB,
|
|
1
|
+
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/lib/init/integration.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,GACV,WAAW,CAAC;AAEhB,eAAO,MAAM,yBAAyB,EAAE,SAAS,sBAAsB,EAYtE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,aAAa,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,sBAAsB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,YAAY,CAUjF;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,GAC9B,uBAAuB,CAUzB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACtD,uBAAuB,CAOzB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,sBAAsB,CAAC;IACpC,YAAY,EAAE,uBAAuB,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAgBT;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,sBAAsB,CAAC;IACpC,YAAY,EAAE,uBAAuB,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAoHT;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgErC;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAGxD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,sBAAsB,CAEvF"}
|
|
@@ -5,8 +5,13 @@ import { renderMethodValidationWorkflow, WORKFLOW_REL_PATH } from "./ci-workflow
|
|
|
5
5
|
export const INTEGRATION_PROFILE_TYPES = [
|
|
6
6
|
"workflow",
|
|
7
7
|
"device-hardware",
|
|
8
|
+
"device-platform",
|
|
9
|
+
"oem-platform",
|
|
10
|
+
"fleet-partner",
|
|
11
|
+
"camera-platform",
|
|
8
12
|
"saas-platform",
|
|
9
13
|
"financial-services",
|
|
14
|
+
"data-aggregator",
|
|
10
15
|
"data-hub",
|
|
11
16
|
"data-feed",
|
|
12
17
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../src/lib/init/integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"integration.js","sourceRoot":"","sources":["../../../src/lib/init/integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,7 +68,14 @@ async function tryReadRepoKind(dir) {
|
|
|
68
68
|
async function tryReadBundleVersion(dir) {
|
|
69
69
|
try {
|
|
70
70
|
const lock = await readLockFile(dir);
|
|
71
|
-
|
|
71
|
+
if (!lock)
|
|
72
|
+
return null;
|
|
73
|
+
// Multi-bundle locks (lock_version: 2) — surface the forward base's
|
|
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;
|
|
72
79
|
}
|
|
73
80
|
catch {
|
|
74
81
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/lib/list/discover.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/lib/list/discover.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/lock-file.d.ts
CHANGED
|
@@ -1,14 +1,49 @@
|
|
|
1
|
+
import { type BundleName, type RepoKind } from "./repo-kind.js";
|
|
1
2
|
export declare const LOCK_FILE = "method-baseline.lock";
|
|
2
|
-
export
|
|
3
|
-
|
|
3
|
+
export declare const LOCK_VERSION: 2;
|
|
4
|
+
/**
|
|
5
|
+
* One synced bundle (forward base or additive extension). Each lock
|
|
6
|
+
* file carries a list of these — re-syncing one bundle replaces its
|
|
7
|
+
* entry; other bundles' entries are preserved.
|
|
8
|
+
*/
|
|
9
|
+
export interface BundleEntry {
|
|
10
|
+
name: BundleName;
|
|
4
11
|
bundleVersion: string;
|
|
5
12
|
sourceCommit: string;
|
|
6
13
|
bundleSha256: string;
|
|
7
14
|
syncedAtUtc: string;
|
|
15
|
+
isForwardBase: boolean;
|
|
8
16
|
managedPaths: string[];
|
|
9
17
|
}
|
|
18
|
+
export interface LockFile {
|
|
19
|
+
methodRepo: string;
|
|
20
|
+
lockVersion: typeof LOCK_VERSION;
|
|
21
|
+
bundles: BundleEntry[];
|
|
22
|
+
}
|
|
10
23
|
export declare function readLockFile(repoRoot: string): Promise<LockFile | null>;
|
|
11
24
|
export declare function writeLockFile(repoRoot: string, lock: LockFile): Promise<void>;
|
|
12
|
-
export
|
|
25
|
+
export interface ParseLockFileOptions {
|
|
26
|
+
/**
|
|
27
|
+
* If the input is a legacy v1 lock (no `lock_version:` line), this
|
|
28
|
+
* supplies the bundle name to migrate it under. Required for v1
|
|
29
|
+
* input; ignored for v2.
|
|
30
|
+
*/
|
|
31
|
+
legacyBundleName?: BundleName;
|
|
32
|
+
}
|
|
33
|
+
export declare function parseLockFile(raw: string, opts?: ParseLockFileOptions): LockFile;
|
|
13
34
|
export declare function serialiseLockFile(lock: LockFile): string;
|
|
35
|
+
export declare function findBundle(lock: LockFile | null, name: BundleName): BundleEntry | null;
|
|
36
|
+
/**
|
|
37
|
+
* Replace the bundle entry with `entry.name`, or append it. Returns a
|
|
38
|
+
* new LockFile preserving order (existing bundles keep their position;
|
|
39
|
+
* a new bundle goes at the end).
|
|
40
|
+
*/
|
|
41
|
+
export declare function upsertBundle(lock: LockFile | null, entry: BundleEntry): LockFile;
|
|
42
|
+
/**
|
|
43
|
+
* True if any bundle in the lock other than `excluding` is a forward
|
|
44
|
+
* base. Used to enforce requires_forward_base for additive layers.
|
|
45
|
+
*/
|
|
46
|
+
export declare function hasForwardBase(lock: LockFile | null, excluding?: BundleName): boolean;
|
|
47
|
+
export declare function pathToBundleMap(lock: LockFile | null, excluding?: BundleName): Map<string, BundleName>;
|
|
48
|
+
export type { RepoKind };
|
|
14
49
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"lock-file.d.ts","sourceRoot":"","sources":["../../src/lib/lock-file.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,SAAS,yBAAyB,CAAC;AAChD,eAAO,MAAM,YAAY,EAAG,CAAU,CAAC;AAEvC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,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;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,CAoB7E;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;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,CAqBxD;AAwLD,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,IAAI,EAAE,UAAU,GACf,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,UAAU,GACrB,OAAO,CAKT;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,SAAS,CAAC,EAAE,UAAU,GACrB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAQzB;AAGD,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/lib/lock-file.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
import { bundleNameFromRepoKind, isBundleName, isForwardBase, readRepoKind, } from "./repo-kind.js";
|
|
3
4
|
export const LOCK_FILE = "method-baseline.lock";
|
|
5
|
+
export const LOCK_VERSION = 2;
|
|
4
6
|
export async function readLockFile(repoRoot) {
|
|
5
7
|
let raw;
|
|
6
8
|
try {
|
|
@@ -11,16 +13,165 @@ export async function readLockFile(repoRoot) {
|
|
|
11
13
|
return null;
|
|
12
14
|
throw err;
|
|
13
15
|
}
|
|
14
|
-
|
|
16
|
+
if (isV2(raw))
|
|
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
|
+
const repoKind = await readRepoKind(repoRoot);
|
|
21
|
+
if (!repoKind) {
|
|
22
|
+
throw new Error(`Legacy lock detected but cannot infer bundle name: ${LOCK_FILE} is v1 ` +
|
|
23
|
+
`and .sdd-repo-kind is missing. Set .sdd-repo-kind manually or ` +
|
|
24
|
+
`delete the lock file before re-syncing.`);
|
|
25
|
+
}
|
|
26
|
+
return parseLockFile(raw, { legacyBundleName: bundleNameFromRepoKind(repoKind) });
|
|
15
27
|
}
|
|
16
28
|
export async function writeLockFile(repoRoot, lock) {
|
|
17
29
|
await writeFile(join(repoRoot, LOCK_FILE), serialiseLockFile(lock), "utf8");
|
|
18
30
|
}
|
|
19
|
-
export function parseLockFile(raw) {
|
|
31
|
+
export function parseLockFile(raw, opts = {}) {
|
|
32
|
+
if (isV2(raw))
|
|
33
|
+
return parseV2(raw);
|
|
34
|
+
if (!opts.legacyBundleName) {
|
|
35
|
+
throw new Error(`Cannot parse legacy v1 lock without legacyBundleName option ` +
|
|
36
|
+
`(needed to migrate to v2 shape).`);
|
|
37
|
+
}
|
|
38
|
+
return migrateV1(raw, opts.legacyBundleName);
|
|
39
|
+
}
|
|
40
|
+
export function serialiseLockFile(lock) {
|
|
41
|
+
const lines = [
|
|
42
|
+
`method_repo: ${lock.methodRepo}`,
|
|
43
|
+
`lock_version: ${lock.lockVersion}`,
|
|
44
|
+
"bundles:",
|
|
45
|
+
];
|
|
46
|
+
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}`, ` managed_paths:`);
|
|
48
|
+
for (const p of b.managedPaths) {
|
|
49
|
+
lines.push(` - ${p}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return lines.join("\n") + "\n";
|
|
53
|
+
}
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
// Internal helpers
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
function isV2(raw) {
|
|
58
|
+
return /^lock_version:/m.test(raw);
|
|
59
|
+
}
|
|
60
|
+
function stripQuotes(value) {
|
|
61
|
+
if (value.length >= 2 && value.startsWith('"') && value.endsWith('"')) {
|
|
62
|
+
return value.slice(1, -1);
|
|
63
|
+
}
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
function parseV2(raw) {
|
|
67
|
+
let methodRepo;
|
|
68
|
+
let lockVersion;
|
|
69
|
+
const bundles = [];
|
|
70
|
+
let inBundles = false;
|
|
71
|
+
let inPaths = false;
|
|
72
|
+
let cur = {
|
|
73
|
+
managedPaths: [],
|
|
74
|
+
};
|
|
75
|
+
const flushBundle = () => {
|
|
76
|
+
if (cur.name === undefined)
|
|
77
|
+
return;
|
|
78
|
+
const required = [
|
|
79
|
+
"name",
|
|
80
|
+
"bundleVersion",
|
|
81
|
+
"sourceCommit",
|
|
82
|
+
"bundleSha256",
|
|
83
|
+
"syncedAtUtc",
|
|
84
|
+
"isForwardBase",
|
|
85
|
+
];
|
|
86
|
+
for (const k of required) {
|
|
87
|
+
if (cur[k] === undefined) {
|
|
88
|
+
throw new Error(`${LOCK_FILE} bundle entry "${cur.name}" missing required key: ${k}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
bundles.push(cur);
|
|
92
|
+
cur = { managedPaths: [] };
|
|
93
|
+
inPaths = false;
|
|
94
|
+
};
|
|
95
|
+
for (const rawLine of raw.split("\n")) {
|
|
96
|
+
const line = rawLine.replace(/\r$/, "");
|
|
97
|
+
if (!inBundles) {
|
|
98
|
+
if (line === "bundles:") {
|
|
99
|
+
inBundles = true;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const top = /^([a-z_][a-z0-9_]*): (.*)$/.exec(line);
|
|
103
|
+
if (top) {
|
|
104
|
+
const [, key, value] = top;
|
|
105
|
+
if (key === "method_repo")
|
|
106
|
+
methodRepo = stripQuotes(value);
|
|
107
|
+
else if (key === "lock_version")
|
|
108
|
+
lockVersion = Number(stripQuotes(value));
|
|
109
|
+
}
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
// Inside the bundles block.
|
|
113
|
+
if (line.startsWith(" - name:")) {
|
|
114
|
+
flushBundle();
|
|
115
|
+
const name = stripQuotes(line.slice(" - name:".length).trim());
|
|
116
|
+
if (!isBundleName(name)) {
|
|
117
|
+
throw new Error(`${LOCK_FILE}: unknown bundle name "${name}"`);
|
|
118
|
+
}
|
|
119
|
+
cur.name = name;
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if (line === " managed_paths:") {
|
|
123
|
+
inPaths = true;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (inPaths && line.startsWith(" - ")) {
|
|
127
|
+
cur.managedPaths.push(line.slice(" - ".length));
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
const meta = /^ ([a-z_][a-z0-9_]*): (.*)$/.exec(line);
|
|
131
|
+
if (meta) {
|
|
132
|
+
inPaths = false;
|
|
133
|
+
const [, key, rawValue] = meta;
|
|
134
|
+
const value = stripQuotes(rawValue);
|
|
135
|
+
switch (key) {
|
|
136
|
+
case "bundle_version":
|
|
137
|
+
cur.bundleVersion = value;
|
|
138
|
+
break;
|
|
139
|
+
case "source_commit":
|
|
140
|
+
cur.sourceCommit = value;
|
|
141
|
+
break;
|
|
142
|
+
case "bundle_sha256":
|
|
143
|
+
cur.bundleSha256 = value;
|
|
144
|
+
break;
|
|
145
|
+
case "synced_at_utc":
|
|
146
|
+
cur.syncedAtUtc = value;
|
|
147
|
+
break;
|
|
148
|
+
case "is_forward_base":
|
|
149
|
+
cur.isForwardBase = value === "true";
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
// Top-level scalar after the bundles block ends — e.g. trailing
|
|
155
|
+
// file-level metadata (none today, but tolerated).
|
|
156
|
+
if (line.length > 0 && !line.startsWith(" ") && !line.startsWith("\t")) {
|
|
157
|
+
inBundles = false;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
flushBundle();
|
|
161
|
+
if (methodRepo === undefined) {
|
|
162
|
+
throw new Error(`${LOCK_FILE} is missing required key: method_repo`);
|
|
163
|
+
}
|
|
164
|
+
if (lockVersion !== LOCK_VERSION) {
|
|
165
|
+
throw new Error(`${LOCK_FILE} lock_version is ${lockVersion}; expected ${LOCK_VERSION}`);
|
|
166
|
+
}
|
|
167
|
+
return { methodRepo, lockVersion: LOCK_VERSION, bundles };
|
|
168
|
+
}
|
|
169
|
+
function migrateV1(raw, legacyBundleName) {
|
|
20
170
|
const scalars = new Map();
|
|
21
171
|
const managedPaths = [];
|
|
22
172
|
let inManagedList = false;
|
|
23
|
-
for (const
|
|
173
|
+
for (const rawLine of raw.split("\n")) {
|
|
174
|
+
const line = rawLine.replace(/\r$/, "");
|
|
24
175
|
if (inManagedList) {
|
|
25
176
|
if (line.startsWith(" - ")) {
|
|
26
177
|
managedPaths.push(line.slice(4));
|
|
@@ -32,11 +183,9 @@ export function parseLockFile(raw) {
|
|
|
32
183
|
inManagedList = true;
|
|
33
184
|
continue;
|
|
34
185
|
}
|
|
35
|
-
const
|
|
36
|
-
if (
|
|
37
|
-
|
|
38
|
-
scalars.set(key, stripQuotes(rawValue));
|
|
39
|
-
}
|
|
186
|
+
const m = /^([a-z_][a-z0-9_]*): (.*)$/.exec(line);
|
|
187
|
+
if (m)
|
|
188
|
+
scalars.set(m[1], stripQuotes(m[2]));
|
|
40
189
|
}
|
|
41
190
|
const required = [
|
|
42
191
|
"method_repo",
|
|
@@ -47,34 +196,69 @@ export function parseLockFile(raw) {
|
|
|
47
196
|
];
|
|
48
197
|
for (const key of required) {
|
|
49
198
|
if (!scalars.has(key)) {
|
|
50
|
-
throw new Error(
|
|
199
|
+
throw new Error(`${LOCK_FILE} (legacy) is missing required key: ${key}`);
|
|
51
200
|
}
|
|
52
201
|
}
|
|
53
202
|
return {
|
|
54
203
|
methodRepo: scalars.get("method_repo"),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
204
|
+
lockVersion: LOCK_VERSION,
|
|
205
|
+
bundles: [
|
|
206
|
+
{
|
|
207
|
+
name: legacyBundleName,
|
|
208
|
+
bundleVersion: scalars.get("bundle_version"),
|
|
209
|
+
sourceCommit: scalars.get("source_commit"),
|
|
210
|
+
bundleSha256: scalars.get("bundle_sha256"),
|
|
211
|
+
syncedAtUtc: scalars.get("synced_at_utc"),
|
|
212
|
+
isForwardBase: isForwardBase(legacyBundleName),
|
|
213
|
+
managedPaths,
|
|
214
|
+
},
|
|
215
|
+
],
|
|
60
216
|
};
|
|
61
217
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"managed_paths:",
|
|
70
|
-
...lock.managedPaths.map((p) => ` - ${p}`),
|
|
71
|
-
];
|
|
72
|
-
return lines.join("\n") + "\n";
|
|
218
|
+
// ---------------------------------------------------------------------------
|
|
219
|
+
// Convenience helpers for sync code.
|
|
220
|
+
// ---------------------------------------------------------------------------
|
|
221
|
+
export function findBundle(lock, name) {
|
|
222
|
+
if (!lock)
|
|
223
|
+
return null;
|
|
224
|
+
return lock.bundles.find((b) => b.name === name) ?? null;
|
|
73
225
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
226
|
+
/**
|
|
227
|
+
* Replace the bundle entry with `entry.name`, or append it. Returns a
|
|
228
|
+
* new LockFile preserving order (existing bundles keep their position;
|
|
229
|
+
* a new bundle goes at the end).
|
|
230
|
+
*/
|
|
231
|
+
export function upsertBundle(lock, entry) {
|
|
232
|
+
const base = lock ?? {
|
|
233
|
+
methodRepo: "sdd-method",
|
|
234
|
+
lockVersion: LOCK_VERSION,
|
|
235
|
+
bundles: [],
|
|
236
|
+
};
|
|
237
|
+
const idx = base.bundles.findIndex((b) => b.name === entry.name);
|
|
238
|
+
const bundles = idx >= 0
|
|
239
|
+
? base.bundles.map((b, i) => (i === idx ? entry : b))
|
|
240
|
+
: [...base.bundles, entry];
|
|
241
|
+
return { ...base, bundles };
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* True if any bundle in the lock other than `excluding` is a forward
|
|
245
|
+
* base. Used to enforce requires_forward_base for additive layers.
|
|
246
|
+
*/
|
|
247
|
+
export function hasForwardBase(lock, excluding) {
|
|
248
|
+
if (!lock)
|
|
249
|
+
return false;
|
|
250
|
+
return lock.bundles.some((b) => b.name !== excluding && b.isForwardBase);
|
|
251
|
+
}
|
|
252
|
+
export function pathToBundleMap(lock, excluding) {
|
|
253
|
+
const m = new Map();
|
|
254
|
+
if (!lock)
|
|
255
|
+
return m;
|
|
256
|
+
for (const b of lock.bundles) {
|
|
257
|
+
if (excluding !== undefined && b.name === excluding)
|
|
258
|
+
continue;
|
|
259
|
+
for (const p of b.managedPaths)
|
|
260
|
+
m.set(p, b.name);
|
|
77
261
|
}
|
|
78
|
-
return
|
|
262
|
+
return m;
|
|
79
263
|
}
|
|
80
264
|
//# sourceMappingURL=lock-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-file.js","sourceRoot":"","sources":["../../src/lib/lock-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"lock-file.js","sourceRoot":"","sources":["../../src/lib/lock-file.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/repo-kind.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type Profile = "platform" | "application" | "integration" | "reverse";
|
|
2
2
|
export type RepoKind = "platform-product" | "application-product" | "integration-product" | "reverse-corpus";
|
|
3
|
-
export type BundleName = "platform-baseline" | "app-baseline" | "integration-baseline" | "reverse-baseline";
|
|
3
|
+
export type BundleName = "platform-baseline" | "app-baseline" | "integration-baseline" | "reverse-baseline" | "reverse-extension-baseline";
|
|
4
4
|
export declare const REPO_KIND_FILE = ".sdd-repo-kind";
|
|
5
5
|
/**
|
|
6
6
|
* Legacy marker filename from the pre-rebrand era. Read-only fallback during
|
|
@@ -11,8 +11,23 @@ export declare const REPO_KIND_FILE = ".sdd-repo-kind";
|
|
|
11
11
|
export declare const LEGACY_REPO_KIND_FILE = ".iteraitive-repo-kind";
|
|
12
12
|
export declare function profileFromRepoKind(kind: RepoKind): Profile;
|
|
13
13
|
export declare function repoKindFromProfile(profile: Profile): RepoKind;
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Returns the profile a bundle authoritatively claims, or null for
|
|
16
|
+
* additive bundles that don't claim a profile of their own.
|
|
17
|
+
*/
|
|
18
|
+
export declare function profileFromBundleName(name: BundleName): Profile | null;
|
|
15
19
|
export declare function bundleNameFromProfile(profile: Profile): BundleName;
|
|
20
|
+
/**
|
|
21
|
+
* Forward-base bundles set `.sdd-repo-kind` and qualify as the base
|
|
22
|
+
* layer that additive extensions compose on top of. Additive bundles
|
|
23
|
+
* (e.g. `reverse-extension-baseline`) return false.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isForwardBase(name: BundleName): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Maps repo-kind → forward-base bundle name. Used when migrating a
|
|
28
|
+
* legacy v1 lock file (which doesn't record bundle name) to v2.
|
|
29
|
+
*/
|
|
30
|
+
export declare function bundleNameFromRepoKind(kind: RepoKind): BundleName;
|
|
16
31
|
export declare function isRepoKind(value: string): value is RepoKind;
|
|
17
32
|
export declare function isBundleName(value: string): value is BundleName;
|
|
18
33
|
export declare function readRepoKind(repoRoot: string): Promise<RepoKind | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-kind.d.ts","sourceRoot":"","sources":["../../src/lib/repo-kind.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC;AAE7E,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,qBAAqB,GACrB,gBAAgB,CAAC;AAErB,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"repo-kind.d.ts","sourceRoot":"","sources":["../../src/lib/repo-kind.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC;AAE7E,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,qBAAqB,GACrB,gBAAgB,CAAC;AAErB,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,GAClB,4BAA4B,CAAC;AAgBjC,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAmC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE3D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAE9D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,IAAI,CAEtE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAElE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEvD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAEjE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAUD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAoB7E;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
package/dist/lib/repo-kind.js
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
+
/**
|
|
4
|
+
* Forward-base bundles set `.sdd-repo-kind` and qualify as the base
|
|
5
|
+
* layer that additive extensions can compose on top of (per ADR 0135).
|
|
6
|
+
* The legacy self-contained `reverse-baseline` is retained as a
|
|
7
|
+
* forward base for compat with adopters who haven't migrated to the
|
|
8
|
+
* `reverse-extension-baseline` additive shape yet.
|
|
9
|
+
*/
|
|
10
|
+
const FORWARD_BASE_BUNDLES = new Set([
|
|
11
|
+
"platform-baseline",
|
|
12
|
+
"app-baseline",
|
|
13
|
+
"integration-baseline",
|
|
14
|
+
"reverse-baseline",
|
|
15
|
+
]);
|
|
3
16
|
export const REPO_KIND_FILE = ".sdd-repo-kind";
|
|
4
17
|
/**
|
|
5
18
|
* Legacy marker filename from the pre-rebrand era. Read-only fallback during
|
|
@@ -20,6 +33,11 @@ const REPO_KIND_BY_PROFILE = {
|
|
|
20
33
|
integration: "integration-product",
|
|
21
34
|
reverse: "reverse-corpus",
|
|
22
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Forward-base bundles map 1:1 to a profile. Additive bundles
|
|
38
|
+
* (`reverse-extension-baseline`) have no profile of their own — they
|
|
39
|
+
* compose on top of whatever forward base is already locked.
|
|
40
|
+
*/
|
|
23
41
|
const PROFILE_BY_BUNDLE_NAME = {
|
|
24
42
|
"platform-baseline": "platform",
|
|
25
43
|
"app-baseline": "application",
|
|
@@ -38,17 +56,43 @@ export function profileFromRepoKind(kind) {
|
|
|
38
56
|
export function repoKindFromProfile(profile) {
|
|
39
57
|
return REPO_KIND_BY_PROFILE[profile];
|
|
40
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Returns the profile a bundle authoritatively claims, or null for
|
|
61
|
+
* additive bundles that don't claim a profile of their own.
|
|
62
|
+
*/
|
|
41
63
|
export function profileFromBundleName(name) {
|
|
42
|
-
return PROFILE_BY_BUNDLE_NAME[name];
|
|
64
|
+
return PROFILE_BY_BUNDLE_NAME[name] ?? null;
|
|
43
65
|
}
|
|
44
66
|
export function bundleNameFromProfile(profile) {
|
|
45
67
|
return BUNDLE_NAME_BY_PROFILE[profile];
|
|
46
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Forward-base bundles set `.sdd-repo-kind` and qualify as the base
|
|
71
|
+
* layer that additive extensions compose on top of. Additive bundles
|
|
72
|
+
* (e.g. `reverse-extension-baseline`) return false.
|
|
73
|
+
*/
|
|
74
|
+
export function isForwardBase(name) {
|
|
75
|
+
return FORWARD_BASE_BUNDLES.has(name);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Maps repo-kind → forward-base bundle name. Used when migrating a
|
|
79
|
+
* legacy v1 lock file (which doesn't record bundle name) to v2.
|
|
80
|
+
*/
|
|
81
|
+
export function bundleNameFromRepoKind(kind) {
|
|
82
|
+
return BUNDLE_NAME_BY_PROFILE[PROFILE_BY_REPO_KIND[kind]];
|
|
83
|
+
}
|
|
47
84
|
export function isRepoKind(value) {
|
|
48
85
|
return value in PROFILE_BY_REPO_KIND;
|
|
49
86
|
}
|
|
87
|
+
const ALL_BUNDLE_NAMES = new Set([
|
|
88
|
+
"platform-baseline",
|
|
89
|
+
"app-baseline",
|
|
90
|
+
"integration-baseline",
|
|
91
|
+
"reverse-baseline",
|
|
92
|
+
"reverse-extension-baseline",
|
|
93
|
+
]);
|
|
50
94
|
export function isBundleName(value) {
|
|
51
|
-
return value
|
|
95
|
+
return ALL_BUNDLE_NAMES.has(value);
|
|
52
96
|
}
|
|
53
97
|
export async function readRepoKind(repoRoot) {
|
|
54
98
|
// Canonical first; fall back to legacy marker during the rebrand transition.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-kind.js","sourceRoot":"","sources":["../../src/lib/repo-kind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"repo-kind.js","sourceRoot":"","sources":["../../src/lib/repo-kind.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"AAyCA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAsB,OAAO,CAC3B,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA2C,GACpE,OAAO,CAAC,UAAU,CAAC,CAmQrB"}
|
package/dist/lib/sync/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { access, readFile } from "node:fs/promises";
|
|
3
3
|
import { loadBundle } from "../bundle.js";
|
|
4
|
-
import { readLockFile, writeLockFile } from "../lock-file.js";
|
|
5
|
-
import { REPO_KIND_FILE, profileFromBundleName, repoKindFromProfile, writeRepoKind, } from "../repo-kind.js";
|
|
4
|
+
import { findBundle, hasForwardBase, pathToBundleMap, readLockFile, upsertBundle, writeLockFile, } from "../lock-file.js";
|
|
5
|
+
import { REPO_KIND_FILE, isForwardBase, profileFromBundleName, repoKindFromProfile, writeRepoKind, } from "../repo-kind.js";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { copyManagedFiles, removeManagedFiles } from "./apply.js";
|
|
8
8
|
import { PROTECTED_PREFIXES, computeRemovals, findConflicts, findMissingPayloadFiles, findProtectedPaths, } from "./diff.js";
|
|
@@ -41,19 +41,46 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
41
41
|
return { exitCode: 1 };
|
|
42
42
|
}
|
|
43
43
|
const prevLock = await readLockFile(opts.targetRepo);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
// Validate protected prefixes across ALL previously-locked paths.
|
|
45
|
+
if (prevLock) {
|
|
46
|
+
for (const b of prevLock.bundles) {
|
|
47
|
+
const protectedPrev = findProtectedPaths(b.managedPaths);
|
|
48
|
+
if (protectedPrev.length > 0) {
|
|
49
|
+
stdout(fail(`Existing lock file contains protected product-owned path: ${protectedPrev[0]} (bundle: ${b.name})`));
|
|
50
|
+
stdout(fail("Resolve this manually before refreshing the method baseline."));
|
|
51
|
+
return { exitCode: 1 };
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Additive bundles require a forward base already in the lock.
|
|
56
|
+
const incomingBundleName = bundle.manifest.bundleName;
|
|
57
|
+
const incomingIsForward = isForwardBase(incomingBundleName);
|
|
58
|
+
if (!incomingIsForward && !hasForwardBase(prevLock, incomingBundleName)) {
|
|
59
|
+
stdout(fail(`${incomingBundleName} is an additive extension. Sync a forward base first.`));
|
|
60
|
+
stdout(fail(`Forward bases: platform-baseline, app-baseline, integration-baseline, reverse-baseline.`));
|
|
49
61
|
return { exitCode: 1 };
|
|
50
62
|
}
|
|
63
|
+
// Cross-bundle ownership: a path managed by another bundle in the
|
|
64
|
+
// lock cannot also be claimed by this bundle.
|
|
65
|
+
const otherBundlePaths = pathToBundleMap(prevLock, incomingBundleName);
|
|
66
|
+
for (const p of bundle.managedPaths) {
|
|
67
|
+
const owner = otherBundlePaths.get(p);
|
|
68
|
+
if (owner !== undefined) {
|
|
69
|
+
stdout(fail(`Path '${p}' is already managed by bundle '${owner}'; cannot also be claimed by '${incomingBundleName}'.`));
|
|
70
|
+
stdout(fail("Method baselines must not overlap. Fix upstream and rebuild."));
|
|
71
|
+
return { exitCode: 1 };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Removals are scoped to THIS bundle's previously-managed paths.
|
|
75
|
+
const prevBundleEntry = findBundle(prevLock, incomingBundleName);
|
|
76
|
+
const prevPaths = prevBundleEntry?.managedPaths ?? [];
|
|
51
77
|
const removals = computeRemovals(prevPaths, bundle.managedPaths, {
|
|
52
78
|
noDelete: !opts.delete,
|
|
53
79
|
});
|
|
80
|
+
stdout(info(`Bundle: ${incomingBundleName} (version: ${bundle.manifest.bundleVersion})`));
|
|
54
81
|
stdout(info(`Incoming managed files: ${bundle.managedPaths.length}`));
|
|
55
82
|
stdout(info(`Conflicts: ${conflicts.length}`));
|
|
56
|
-
stdout(info(`Removals from previous
|
|
83
|
+
stdout(info(`Removals from previous sync of this bundle: ${removals.length}`));
|
|
57
84
|
stdout(info(`Protected ownership prefixes: ${PROTECTED_PREFIXES.join(" ")}`));
|
|
58
85
|
if (opts.dryRun) {
|
|
59
86
|
stdout(info("Dry run enabled. No files modified."));
|
|
@@ -69,10 +96,36 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
69
96
|
}
|
|
70
97
|
return { exitCode: 0 };
|
|
71
98
|
}
|
|
72
|
-
const profile = profileFromBundleName(bundle.manifest.bundleName);
|
|
73
|
-
const repoKind = repoKindFromProfile(profile);
|
|
74
99
|
await copyManagedFiles(bundle.managedPaths, bundle.payloadDir, opts.targetRepo);
|
|
75
100
|
await removeManagedFiles(removals, opts.targetRepo);
|
|
101
|
+
const bundleSha = await sha256File(opts.bundle);
|
|
102
|
+
const newEntry = {
|
|
103
|
+
name: incomingBundleName,
|
|
104
|
+
bundleVersion: bundle.manifest.bundleVersion,
|
|
105
|
+
sourceCommit: bundle.manifest.sourceCommit,
|
|
106
|
+
bundleSha256: bundleSha,
|
|
107
|
+
syncedAtUtc: nowUtcIso(),
|
|
108
|
+
isForwardBase: incomingIsForward,
|
|
109
|
+
managedPaths: [...bundle.managedPaths],
|
|
110
|
+
};
|
|
111
|
+
// Additive layers (e.g. reverse-extension-baseline) own only the
|
|
112
|
+
// reverse-method content. They do NOT set .sdd-repo-kind, refresh
|
|
113
|
+
// .claude/settings.json, or rewrite the CI workflow — the forward
|
|
114
|
+
// base owns those.
|
|
115
|
+
if (!incomingIsForward) {
|
|
116
|
+
await writeLockFile(opts.targetRepo, upsertBundle(prevLock, newEntry));
|
|
117
|
+
stdout(pass(`Method baseline synced to: ${opts.targetRepo}`));
|
|
118
|
+
stdout(info("Updated lock file: method-baseline.lock (lock_version: 2)"));
|
|
119
|
+
stdout(info("Additive layer applied; .sdd-repo-kind unchanged."));
|
|
120
|
+
return { exitCode: 0 };
|
|
121
|
+
}
|
|
122
|
+
// Forward base path: settings, workflow, repo-kind all belong here.
|
|
123
|
+
const profile = profileFromBundleName(incomingBundleName);
|
|
124
|
+
if (!profile) {
|
|
125
|
+
// Should be unreachable: forward bases all map to a profile.
|
|
126
|
+
throw new Error(`Forward-base bundle "${incomingBundleName}" has no profile mapping`);
|
|
127
|
+
}
|
|
128
|
+
const repoKind = repoKindFromProfile(profile);
|
|
76
129
|
await writeRepoKind(opts.targetRepo, repoKind);
|
|
77
130
|
const settingsResult = await syncMethodManagedSettings({
|
|
78
131
|
targetRepo: opts.targetRepo,
|
|
@@ -126,17 +179,9 @@ export async function runSync(opts, stdout = (line) => process.stdout.write(line
|
|
|
126
179
|
if (workflowResult.changed) {
|
|
127
180
|
stdout(info(`Refreshed ${WORKFLOW_REL_PATH}.`));
|
|
128
181
|
}
|
|
129
|
-
|
|
130
|
-
await writeLockFile(opts.targetRepo, {
|
|
131
|
-
methodRepo: "sdd-method",
|
|
132
|
-
bundleVersion: bundle.manifest.bundleVersion,
|
|
133
|
-
sourceCommit: bundle.manifest.sourceCommit,
|
|
134
|
-
bundleSha256: bundleSha,
|
|
135
|
-
syncedAtUtc: nowUtcIso(),
|
|
136
|
-
managedPaths: [...bundle.managedPaths],
|
|
137
|
-
});
|
|
182
|
+
await writeLockFile(opts.targetRepo, upsertBundle(prevLock, newEntry));
|
|
138
183
|
stdout(pass(`Method baseline synced to: ${opts.targetRepo}`));
|
|
139
|
-
stdout(info("Updated lock file: method-baseline.lock"));
|
|
184
|
+
stdout(info("Updated lock file: method-baseline.lock (lock_version: 2)"));
|
|
140
185
|
stdout(info(`Set repo kind marker: ${REPO_KIND_FILE} = ${repoKind}`));
|
|
141
186
|
return { exitCode: 0 };
|
|
142
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/sync/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sdd-method/sdd-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Method-layer CLI for SDD repository lifecycle — init, sync, validate, list, plan, generate-claude-md, mcp serve, catalogue {build,aggregate,validate,version}. v0.11.0
|
|
3
|
+
"version": "0.12.0",
|
|
4
|
+
"description": "Method-layer CLI for SDD repository lifecycle — init, sync, validate, list, plan, generate-claude-md, mcp serve, catalogue {build,aggregate,validate,version}. v0.12.0 extends the integration profileType enum to 11 values (per sdd-method ADR 0137 — adds device-platform, oem-platform, fleet-partner, camera-platform, data-aggregator) and fixes the init→sync conflict that aborted bootstrap mid-flight when the scaffold step's seed files collided with the bundle's canonical versions. v0.11.0 shipped the canonical catalogue surface per ADR 0134 + schema 2.1.0 (ADR 0136): per-SDD catalogue build covering all four profiles, federation aggregator, validate + version subcommands, and the C4 + persona/journey/product-edge builders that complete Phase 2.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sdd-method",
|
|
7
7
|
"sdd",
|