@sdd-method/sdd-cli 0.22.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.
Files changed (70) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/bundle.d.ts +57 -2
  5. package/dist/lib/bundle.d.ts.map +1 -1
  6. package/dist/lib/bundle.js +53 -19
  7. package/dist/lib/bundle.js.map +1 -1
  8. package/dist/lib/list/discover.d.ts +28 -0
  9. package/dist/lib/list/discover.d.ts.map +1 -1
  10. package/dist/lib/list/discover.js +27 -11
  11. package/dist/lib/list/discover.js.map +1 -1
  12. package/dist/lib/list/format.d.ts +2 -0
  13. package/dist/lib/list/format.d.ts.map +1 -1
  14. package/dist/lib/list/format.js +44 -4
  15. package/dist/lib/list/format.js.map +1 -1
  16. package/dist/lib/list/index.d.ts +1 -0
  17. package/dist/lib/list/index.d.ts.map +1 -1
  18. package/dist/lib/list/index.js +1 -0
  19. package/dist/lib/list/index.js.map +1 -1
  20. package/dist/lib/lock-file.d.ts +23 -5
  21. package/dist/lib/lock-file.d.ts.map +1 -1
  22. package/dist/lib/lock-file.js +86 -9
  23. package/dist/lib/lock-file.js.map +1 -1
  24. package/dist/lib/pack/builder.d.ts +55 -0
  25. package/dist/lib/pack/builder.d.ts.map +1 -0
  26. package/dist/lib/pack/builder.js +226 -0
  27. package/dist/lib/pack/builder.js.map +1 -0
  28. package/dist/lib/pack/index.d.ts +26 -0
  29. package/dist/lib/pack/index.d.ts.map +1 -0
  30. package/dist/lib/pack/index.js +85 -0
  31. package/dist/lib/pack/index.js.map +1 -0
  32. package/dist/lib/pack/leakage.d.ts +55 -0
  33. package/dist/lib/pack/leakage.d.ts.map +1 -0
  34. package/dist/lib/pack/leakage.js +133 -0
  35. package/dist/lib/pack/leakage.js.map +1 -0
  36. package/dist/lib/pack/schema.d.ts +36 -0
  37. package/dist/lib/pack/schema.d.ts.map +1 -0
  38. package/dist/lib/pack/schema.js +63 -0
  39. package/dist/lib/pack/schema.js.map +1 -0
  40. package/dist/lib/pack/seed.d.ts +46 -0
  41. package/dist/lib/pack/seed.d.ts.map +1 -0
  42. package/dist/lib/pack/seed.js +107 -0
  43. package/dist/lib/pack/seed.js.map +1 -0
  44. package/dist/lib/repo-kind.d.ts +8 -4
  45. package/dist/lib/repo-kind.d.ts.map +1 -1
  46. package/dist/lib/repo-kind.js +10 -2
  47. package/dist/lib/repo-kind.js.map +1 -1
  48. package/dist/lib/sync/config.d.ts +33 -0
  49. package/dist/lib/sync/config.d.ts.map +1 -0
  50. package/dist/lib/sync/config.js +40 -0
  51. package/dist/lib/sync/config.js.map +1 -0
  52. package/dist/lib/sync/index.d.ts +32 -0
  53. package/dist/lib/sync/index.d.ts.map +1 -1
  54. package/dist/lib/sync/index.js +123 -3
  55. package/dist/lib/sync/index.js.map +1 -1
  56. package/dist/lib/sync/source-tag.d.ts +5 -0
  57. package/dist/lib/sync/source-tag.d.ts.map +1 -0
  58. package/dist/lib/sync/source-tag.js +34 -0
  59. package/dist/lib/sync/source-tag.js.map +1 -0
  60. package/dist/verbs/list.d.ts.map +1 -1
  61. package/dist/verbs/list.js +3 -1
  62. package/dist/verbs/list.js.map +1 -1
  63. package/dist/verbs/pack.d.ts +3 -0
  64. package/dist/verbs/pack.d.ts.map +1 -0
  65. package/dist/verbs/pack.js +35 -0
  66. package/dist/verbs/pack.js.map +1 -0
  67. package/dist/verbs/sync.d.ts.map +1 -1
  68. package/dist/verbs/sync.js +46 -12
  69. package/dist/verbs/sync.js.map +1 -1
  70. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE"}
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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"}
@@ -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
- bundleName: BundleName;
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;
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"AAKA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI/D,eAAO,MAAM,aAAa,yBAAyB,CAAC;AACpD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;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;AAaD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CA4BzD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAKvD"}
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"}
@@ -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 scalars = new Map();
47
- for (const line of raw.split("\n")) {
48
- const match = /^([a-z_][a-z0-9_]*): (.*)$/.exec(line);
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 = scalars.get("bundle_name");
53
- const bundleVersion = scalars.get("bundle_version");
54
- const sourceCommit = scalars.get("source_commit");
55
- const minimumSddCliVersionRaw = scalars.get("minimum_sdd_cli_version");
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
- if (!isBundleName(bundleName)) {
60
- throw new Error(`Unknown bundle_name in manifest: ${JSON.stringify(bundleName)}`);
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 = { bundleName, bundleVersion, sourceCommit };
63
- if (minimumSddCliVersionRaw && minimumSddCliVersionRaw.length > 0) {
64
- manifest.minimumSddCliVersion = minimumSddCliVersionRaw;
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 stripQuotes(value) {
75
- if (value.length >= 2 && value.startsWith('"') && value.endsWith('"')) {
76
- return value.slice(1, -1);
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
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/lib/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/lib/bundle.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":"AAGA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAiBD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,cAAc,EAAE,CAAC,CAW3B"}
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 bundleVersion = await tryReadBundleVersion(dir);
36
- repos.push({ path: dir, kind, bundleVersion });
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 tryReadBundleVersion(dir) {
70
+ async function tryReadBundles(dir) {
69
71
  try {
70
72
  const lock = await readLockFile(dir);
71
73
  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;
74
+ return [];
75
+ return lock.bundles.map(toDiscoveredBundle);
79
76
  }
80
77
  catch {
81
- return null;
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":"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"}
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,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAI3C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AASD,wBAAgB,MAAM,CACpB,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,IAAI,EAAE,WAAW,GAChB,MAAM,CAOR"}
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"}
@@ -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 formatText(repos) {
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
- const version = repo.bundleVersion ?? "no-lock";
38
- lines.push(` ${repo.path} [${version}]`);
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;AAcrF,MAAM,UAAU,MAAM,CACpB,KAAgC,EAChC,IAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa;QACjC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC;QACzE,CAAC,CAAC,KAAK,CAAC;IAEV,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,KAAgC;IAClD,MAAM,OAAO,GAAe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,cAAc,EAAE,CAAC,CAAC,aAAa;KAChC,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CAAC,KAAgC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,8BAA8B,CAAC;IAE9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACzC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/lib/list/format.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface ListInputs {
4
4
  workspaceRoots: readonly string[];
5
5
  format: OutputFormat;
6
6
  profileFilter?: Profile;
7
+ verbose?: boolean;
7
8
  }
8
9
  export interface ListResult {
9
10
  exitCode: number;
@@ -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;CACzB;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,CAYrB"}
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"}
@@ -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;AAYxD,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,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"}
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"}
@@ -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: BundleName;
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: BundleName): BundleEntry | null;
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?: BundleName): boolean;
47
- export declare function pathToBundleMap(lock: LockFile | null, excluding?: BundleName): Map<string, BundleName>;
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,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"}
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"}