@sdd-method/sdd-cli 0.22.0 → 0.23.1
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/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- 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/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 +266 -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/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/index.d.ts +32 -0
- package/dist/lib/sync/index.d.ts.map +1 -1
- package/dist/lib/sync/index.js +123 -3
- 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/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 +46 -12
- package/dist/verbs/sync.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { registerGenerateBriefing } from "./verbs/generate-briefing.js";
|
|
|
5
5
|
import { registerInit } from "./verbs/init.js";
|
|
6
6
|
import { registerList } from "./verbs/list.js";
|
|
7
7
|
import { registerMcp } from "./verbs/mcp.js";
|
|
8
|
+
import { registerPack } from "./verbs/pack.js";
|
|
8
9
|
import { registerPlan } from "./verbs/plan.js";
|
|
9
10
|
import { registerSync } from "./verbs/sync.js";
|
|
10
11
|
import { registerValidate } from "./verbs/validate.js";
|
|
@@ -45,6 +46,7 @@ function buildProgram() {
|
|
|
45
46
|
registerGenerateBriefing(program);
|
|
46
47
|
registerMcp(program);
|
|
47
48
|
registerCatalogue(program);
|
|
49
|
+
registerPack(program);
|
|
48
50
|
for (const { verb, summary } of NOT_YET_IMPLEMENTED) {
|
|
49
51
|
registerNotYetImplemented(program, verb, summary);
|
|
50
52
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/bundle.d.ts
CHANGED
|
@@ -1,9 +1,31 @@
|
|
|
1
|
-
import { type BundleName } from "./repo-kind.js";
|
|
2
1
|
export declare const MANIFEST_FILE = "BUNDLE_MANIFEST.yaml";
|
|
3
2
|
export declare const MANAGED_PATHS_FILE = "MANAGED_PATHS.txt";
|
|
4
3
|
export declare const PAYLOAD_DIR = "payload";
|
|
4
|
+
/**
|
|
5
|
+
* Reference to a forward base bundle. Adopter packs declare this to
|
|
6
|
+
* pin the sdd-method bundle they layer over.
|
|
7
|
+
*/
|
|
8
|
+
export interface ForwardBaseRef {
|
|
9
|
+
bundle: string;
|
|
10
|
+
minimumVersion: string;
|
|
11
|
+
sourceRepo: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Reference to another adopter pack. Vertical extensions declare this
|
|
15
|
+
* to pin the base pack they require.
|
|
16
|
+
*/
|
|
17
|
+
export interface PackRef {
|
|
18
|
+
name: string;
|
|
19
|
+
version: string;
|
|
20
|
+
}
|
|
5
21
|
export interface BundleManifest {
|
|
6
|
-
|
|
22
|
+
/**
|
|
23
|
+
* For sdd-method forward-base bundles, this is one of the known
|
|
24
|
+
* `BundleName` enum values (validated). For adopter packs (per ADR
|
|
25
|
+
* 0151), this is an arbitrary string naming the pack — the closed
|
|
26
|
+
* enum applies only to forward bases.
|
|
27
|
+
*/
|
|
28
|
+
bundleName: string;
|
|
7
29
|
bundleVersion: string;
|
|
8
30
|
sourceCommit: string;
|
|
9
31
|
/**
|
|
@@ -15,6 +37,39 @@ export interface BundleManifest {
|
|
|
15
37
|
* `minimum_sdd_cli_version:`.
|
|
16
38
|
*/
|
|
17
39
|
minimumSddCliVersion?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Whether this bundle is a forward base or an additive layer. Forward
|
|
42
|
+
* bases set `.sdd-repo-kind`, claim `managed_paths` for the profile's
|
|
43
|
+
* core, and own the agent-harness wiring. Adopter packs (per ADR 0151)
|
|
44
|
+
* and the reverse-extension-baseline are additive — they layer on top.
|
|
45
|
+
*
|
|
46
|
+
* Defaults to true when absent (legacy sdd-method forward bases pre-
|
|
47
|
+
* dating ADR 0151 omit the field; their forward-base status is
|
|
48
|
+
* inferred from the closed `BundleName` enum via `isBundleName`).
|
|
49
|
+
*/
|
|
50
|
+
isForwardBase: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Forward base this pack layers over. Required for non-forward-base
|
|
53
|
+
* bundles per ADR 0151 §4.2; absent for forward bases themselves.
|
|
54
|
+
*/
|
|
55
|
+
requiresForwardBase?: ForwardBaseRef;
|
|
56
|
+
/**
|
|
57
|
+
* Another adopter pack this pack depends on. Used by vertical
|
|
58
|
+
* extensions (per ADR 0151 §4.3) to declare their base-pack
|
|
59
|
+
* dependency.
|
|
60
|
+
*/
|
|
61
|
+
requiresPack?: PackRef;
|
|
62
|
+
/**
|
|
63
|
+
* Adopter repo name that produced this bundle. Carried into the
|
|
64
|
+
* consumer's lock file as `produced_by_adopter` for provenance.
|
|
65
|
+
* Absent for sdd-method forward-base bundles.
|
|
66
|
+
*/
|
|
67
|
+
producedByAdopter?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Free-form scope slug from the seed file. Surfaced in `sdd-cli list`
|
|
70
|
+
* output for human-readable diagnostics. Absent for legacy bundles.
|
|
71
|
+
*/
|
|
72
|
+
scope?: string;
|
|
18
73
|
}
|
|
19
74
|
export interface Bundle {
|
|
20
75
|
manifest: BundleManifest;
|
package/dist/lib/bundle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,aAAa,yBAAyB,CAAC;AACpD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;OASG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BpE;AAgCD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAoEzD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAKvD"}
|
package/dist/lib/bundle.js
CHANGED
|
@@ -3,6 +3,7 @@ import { mkdtemp, readFile, readdir, rm } from "node:fs/promises";
|
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { promisify } from "node:util";
|
|
6
|
+
import { parse as parseYaml } from "yaml";
|
|
6
7
|
import { isBundleName } from "./repo-kind.js";
|
|
7
8
|
const execFile = promisify(execFileCb);
|
|
8
9
|
export const MANIFEST_FILE = "BUNDLE_MANIFEST.yaml";
|
|
@@ -43,26 +44,58 @@ async function findBundleRoot(extractionDir) {
|
|
|
43
44
|
return join(extractionDir, dirs[0].name);
|
|
44
45
|
}
|
|
45
46
|
export function parseManifest(raw) {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (match)
|
|
50
|
-
scalars.set(match[1], stripQuotes(match[2]));
|
|
47
|
+
const parsed = parseYaml(raw);
|
|
48
|
+
if (parsed === null || typeof parsed !== "object") {
|
|
49
|
+
throw new Error("BUNDLE_MANIFEST.yaml is not a YAML object");
|
|
51
50
|
}
|
|
52
|
-
const bundleName =
|
|
53
|
-
const bundleVersion =
|
|
54
|
-
const sourceCommit =
|
|
55
|
-
|
|
56
|
-
if (!bundleName || !bundleVersion || !sourceCommit) {
|
|
51
|
+
const bundleName = asStringOrUndefined(parsed.bundle_name);
|
|
52
|
+
const bundleVersion = asStringOrUndefined(parsed.bundle_version);
|
|
53
|
+
const sourceCommit = asStringOrUndefined(parsed.source_commit);
|
|
54
|
+
if (!bundleName || !bundleVersion || sourceCommit === undefined) {
|
|
57
55
|
throw new Error(`BUNDLE_MANIFEST.yaml missing required keys (bundle_name, bundle_version, source_commit)`);
|
|
58
56
|
}
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
// Backward-compatible default: legacy sdd-method bundles omit
|
|
58
|
+
// is_forward_base; if absent, infer from the closed BundleName enum.
|
|
59
|
+
const isForwardBaseRaw = parsed.is_forward_base === undefined ? null : Boolean(parsed.is_forward_base);
|
|
60
|
+
const isForwardBaseInferred = isForwardBaseRaw === null ? isBundleName(bundleName) : isForwardBaseRaw;
|
|
61
|
+
// Forward bases must use a known bundle name; adopter packs may use
|
|
62
|
+
// any string. This enforces the closed enum where it matters and
|
|
63
|
+
// opens it where ADR 0151 requires.
|
|
64
|
+
if (isForwardBaseInferred && !isBundleName(bundleName)) {
|
|
65
|
+
throw new Error(`Unknown bundle_name in manifest for forward base: ${JSON.stringify(bundleName)}`);
|
|
61
66
|
}
|
|
62
|
-
const manifest = {
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
const manifest = {
|
|
68
|
+
bundleName,
|
|
69
|
+
bundleVersion,
|
|
70
|
+
sourceCommit,
|
|
71
|
+
isForwardBase: isForwardBaseInferred,
|
|
72
|
+
};
|
|
73
|
+
const minVer = asStringOrUndefined(parsed.minimum_sdd_cli_version);
|
|
74
|
+
if (minVer)
|
|
75
|
+
manifest.minimumSddCliVersion = minVer;
|
|
76
|
+
if (parsed.requires_forward_base) {
|
|
77
|
+
const fb = parsed.requires_forward_base;
|
|
78
|
+
const bundle = asStringOrUndefined(fb.bundle);
|
|
79
|
+
const minimumVersion = asStringOrUndefined(fb.minimum_version);
|
|
80
|
+
const sourceRepo = asStringOrUndefined(fb.source_repo) ?? "sdd-method";
|
|
81
|
+
if (bundle && minimumVersion) {
|
|
82
|
+
manifest.requiresForwardBase = { bundle, minimumVersion, sourceRepo };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (parsed.requires_pack) {
|
|
86
|
+
const rp = parsed.requires_pack;
|
|
87
|
+
const name = asStringOrUndefined(rp.name);
|
|
88
|
+
const version = asStringOrUndefined(rp.version);
|
|
89
|
+
if (name && version) {
|
|
90
|
+
manifest.requiresPack = { name, version };
|
|
91
|
+
}
|
|
65
92
|
}
|
|
93
|
+
const producer = asStringOrUndefined(parsed.produced_by_adopter);
|
|
94
|
+
if (producer)
|
|
95
|
+
manifest.producedByAdopter = producer;
|
|
96
|
+
const scope = asStringOrUndefined(parsed.scope);
|
|
97
|
+
if (scope)
|
|
98
|
+
manifest.scope = scope;
|
|
66
99
|
return manifest;
|
|
67
100
|
}
|
|
68
101
|
export function parseManagedPaths(raw) {
|
|
@@ -71,10 +104,11 @@ export function parseManagedPaths(raw) {
|
|
|
71
104
|
.map((line) => line.trim())
|
|
72
105
|
.filter((line) => line.length > 0);
|
|
73
106
|
}
|
|
74
|
-
function
|
|
75
|
-
if (
|
|
76
|
-
return
|
|
77
|
-
|
|
107
|
+
function asStringOrUndefined(value) {
|
|
108
|
+
if (typeof value !== "string")
|
|
109
|
+
return undefined;
|
|
110
|
+
if (value.length === 0)
|
|
111
|
+
return undefined;
|
|
78
112
|
return value;
|
|
79
113
|
}
|
|
80
114
|
//# sourceMappingURL=bundle.js.map
|
package/dist/lib/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AAmFrC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACvE,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;QACjE,OAAO,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAExD,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,OAAO;QACP,UAAU;QACV,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,aAAqB;IACjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,6DAA6D,IAAI,CAAC,MAAM,EAAE,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAqBD,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAgB,CAAC;IAC7C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE/D,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,qEAAqE;IACrE,MAAM,gBAAgB,GACpB,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAChF,MAAM,qBAAqB,GACzB,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAE1E,oEAAoE;IACpE,iEAAiE;IACjE,oCAAoC;IACpC,IAAI,qBAAqB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,qDAAqD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAmB;QAC/B,UAAU;QACV,aAAa;QACb,YAAY;QACZ,aAAa,EAAE,qBAAqB;KACrC,CAAC;IAEF,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnE,IAAI,MAAM;QAAE,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC;IAEnD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,CAAC;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,mBAAmB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC;QACvE,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;YAC7B,QAAQ,CAAC,mBAAmB,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;QACxE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;QAChC,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACjE,IAAI,QAAQ;QAAE,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IAEpD,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,KAAK;QAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAElC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,GAAG;SACP,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -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"}
|