@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.
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 +266 -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,6 +1,6 @@
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
+ import { bundleNameFromRepoKind, isForwardBase, readRepoKind, } from "./repo-kind.js";
4
4
  export const LOCK_FILE = "method-baseline.lock";
5
5
  export const LOCK_VERSION = 2;
6
6
  export async function readLockFile(repoRoot) {
@@ -15,8 +15,6 @@ export async function readLockFile(repoRoot) {
15
15
  }
16
16
  if (isV2(raw))
17
17
  return parseLockFile(raw);
18
- // Legacy v1 lock — auto-migrate by inferring the bundle name from
19
- // .sdd-repo-kind. Mirrors the bash sync script's migration path.
20
18
  const repoKind = await readRepoKind(repoRoot);
21
19
  if (!repoKind) {
22
20
  throw new Error(`Legacy lock detected but cannot infer bundle name: ${LOCK_FILE} is v1 ` +
@@ -44,7 +42,20 @@ export function serialiseLockFile(lock) {
44
42
  "bundles:",
45
43
  ];
46
44
  for (const b of lock.bundles) {
47
- lines.push(` - name: ${b.name}`, ` bundle_version: "${b.bundleVersion}"`, ` source_commit: "${b.sourceCommit}"`, ` bundle_sha256: "${b.bundleSha256}"`, ` synced_at_utc: "${b.syncedAtUtc}"`, ` is_forward_base: ${b.isForwardBase}`, ` managed_paths:`);
45
+ lines.push(` - name: ${b.name}`, ` bundle_version: "${b.bundleVersion}"`, ` source_commit: "${b.sourceCommit}"`, ` bundle_sha256: "${b.bundleSha256}"`, ` synced_at_utc: "${b.syncedAtUtc}"`, ` is_forward_base: ${b.isForwardBase}`);
46
+ if (b.producedByAdopter !== undefined) {
47
+ lines.push(` produced_by_adopter: "${b.producedByAdopter}"`);
48
+ }
49
+ if (b.scope !== undefined) {
50
+ lines.push(` scope: "${b.scope}"`);
51
+ }
52
+ if (b.requiresForwardBase) {
53
+ lines.push(` requires_forward_base:`, ` bundle: "${b.requiresForwardBase.bundle}"`, ` minimum_version: "${b.requiresForwardBase.minimumVersion}"`, ` source_repo: "${b.requiresForwardBase.sourceRepo}"`);
54
+ }
55
+ if (b.requiresPack) {
56
+ lines.push(` requires_pack:`, ` name: "${b.requiresPack.name}"`, ` version: "${b.requiresPack.version}"`);
57
+ }
58
+ lines.push(` managed_paths:`);
48
59
  for (const p of b.managedPaths) {
49
60
  lines.push(` - ${p}`);
50
61
  }
@@ -69,12 +80,33 @@ function parseV2(raw) {
69
80
  const bundles = [];
70
81
  let inBundles = false;
71
82
  let inPaths = false;
83
+ let inForwardBase = false;
84
+ let inPack = false;
72
85
  let cur = {
73
86
  managedPaths: [],
74
87
  };
88
+ let forwardBase = {};
89
+ let pack = {};
90
+ const flushNestedObjects = () => {
91
+ if (inForwardBase && forwardBase.bundle && forwardBase.minimumVersion) {
92
+ cur.requiresForwardBase = {
93
+ bundle: forwardBase.bundle,
94
+ minimumVersion: forwardBase.minimumVersion,
95
+ sourceRepo: forwardBase.sourceRepo ?? "sdd-method",
96
+ };
97
+ }
98
+ if (inPack && pack.name && pack.version) {
99
+ cur.requiresPack = { name: pack.name, version: pack.version };
100
+ }
101
+ inForwardBase = false;
102
+ inPack = false;
103
+ forwardBase = {};
104
+ pack = {};
105
+ };
75
106
  const flushBundle = () => {
76
107
  if (cur.name === undefined)
77
108
  return;
109
+ flushNestedObjects();
78
110
  const required = [
79
111
  "name",
80
112
  "bundleVersion",
@@ -113,13 +145,11 @@ function parseV2(raw) {
113
145
  if (line.startsWith(" - name:")) {
114
146
  flushBundle();
115
147
  const name = stripQuotes(line.slice(" - name:".length).trim());
116
- if (!isBundleName(name)) {
117
- throw new Error(`${LOCK_FILE}: unknown bundle name "${name}"`);
118
- }
119
148
  cur.name = name;
120
149
  continue;
121
150
  }
122
151
  if (line === " managed_paths:") {
152
+ flushNestedObjects();
123
153
  inPaths = true;
124
154
  continue;
125
155
  }
@@ -127,6 +157,41 @@ function parseV2(raw) {
127
157
  cur.managedPaths.push(line.slice(" - ".length));
128
158
  continue;
129
159
  }
160
+ if (line === " requires_forward_base:") {
161
+ flushNestedObjects();
162
+ inForwardBase = true;
163
+ continue;
164
+ }
165
+ if (line === " requires_pack:") {
166
+ flushNestedObjects();
167
+ inPack = true;
168
+ continue;
169
+ }
170
+ // Two-space-indented nested keys (under requires_forward_base / requires_pack)
171
+ if (inForwardBase || inPack) {
172
+ const nested = /^ ([a-z_][a-z0-9_]*): (.*)$/.exec(line);
173
+ if (nested) {
174
+ const [, key, rawValue] = nested;
175
+ const value = stripQuotes(rawValue);
176
+ if (inForwardBase) {
177
+ if (key === "bundle")
178
+ forwardBase.bundle = value;
179
+ else if (key === "minimum_version")
180
+ forwardBase.minimumVersion = value;
181
+ else if (key === "source_repo")
182
+ forwardBase.sourceRepo = value;
183
+ }
184
+ else if (inPack) {
185
+ if (key === "name")
186
+ pack.name = value;
187
+ else if (key === "version")
188
+ pack.version = value;
189
+ }
190
+ continue;
191
+ }
192
+ // A non-nested line ends the object scope.
193
+ flushNestedObjects();
194
+ }
130
195
  const meta = /^ ([a-z_][a-z0-9_]*): (.*)$/.exec(line);
131
196
  if (meta) {
132
197
  inPaths = false;
@@ -148,11 +213,15 @@ function parseV2(raw) {
148
213
  case "is_forward_base":
149
214
  cur.isForwardBase = value === "true";
150
215
  break;
216
+ case "produced_by_adopter":
217
+ cur.producedByAdopter = value;
218
+ break;
219
+ case "scope":
220
+ cur.scope = value;
221
+ break;
151
222
  }
152
223
  continue;
153
224
  }
154
- // Top-level scalar after the bundles block ends — e.g. trailing
155
- // file-level metadata (none today, but tolerated).
156
225
  if (line.length > 0 && !line.startsWith(" ") && !line.startsWith("\t")) {
157
226
  inBundles = false;
158
227
  }
@@ -249,6 +318,14 @@ export function hasForwardBase(lock, excluding) {
249
318
  return false;
250
319
  return lock.bundles.some((b) => b.name !== excluding && b.isForwardBase);
251
320
  }
321
+ /**
322
+ * Find the forward-base bundle entry in a lock, or null if none.
323
+ */
324
+ export function findForwardBase(lock, excluding) {
325
+ if (!lock)
326
+ return null;
327
+ return (lock.bundles.find((b) => b.name !== excluding && b.isForwardBase) ?? null);
328
+ }
252
329
  export function pathToBundleMap(lock, excluding) {
253
330
  const m = new Map();
254
331
  if (!lock)
@@ -1 +1 @@
1
- {"version":3,"file":"lock-file.js","sourceRoot":"","sources":["../../src/lib/lock-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock-file.js","sourceRoot":"","sources":["../../src/lib/lock-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { relative } from "node:path";
2
+ import { type LeakageResult } from "./leakage.js";
3
+ import type { PackSeed } from "./seed.js";
4
+ /**
5
+ * Produces an adopter-pack tarball from a seed. Per ADR 0151 + the
6
+ * shape described by BUNDLE_MANIFEST.yaml.hbs.
7
+ *
8
+ * Steps:
9
+ * 1. Resolve managed_paths (literal + glob expansion against producer repo).
10
+ * 2. Run producer-side leakage check.
11
+ * 3. Stage payload tree in a temp dir.
12
+ * 4. Compute checksums.
13
+ * 5. Write BUNDLE_MANIFEST.yaml + MANAGED_PATHS.txt + CHECKSUMS.sha256.
14
+ * 6. tar -czf the staging dir.
15
+ * 7. Clean up.
16
+ */
17
+ export interface BuildOptions {
18
+ seed: PackSeed;
19
+ /**
20
+ * Adopter repo root — managed_paths are resolved relative to this.
21
+ * Defaults to dirname(seed.sourcePath)/../.. (assuming the seed lives
22
+ * at orchestration/distribution/{name}-seed.yaml).
23
+ */
24
+ producerRepo: string;
25
+ /**
26
+ * Output directory for the tarball. Defaults to
27
+ * `<producerRepo>/dist/<pack-name>/`.
28
+ */
29
+ outDir?: string;
30
+ /**
31
+ * Override the pack name derived from the seed file's basename.
32
+ */
33
+ packName?: string;
34
+ /**
35
+ * Path to the forward base's MANAGED_PATHS.txt for the leakage
36
+ * check. If absent, the check tries to read from producerRepo's
37
+ * method-baseline.lock.
38
+ */
39
+ forwardBaseManagedPathsFile?: string;
40
+ }
41
+ export interface BuildResult {
42
+ tarballPath: string;
43
+ checksumPath: string;
44
+ packName: string;
45
+ bundleVersion: string;
46
+ managedPathCount: number;
47
+ /**
48
+ * Leakage result. Always present in a successful build (ok: true).
49
+ * On leakage violation the builder throws before producing a tarball.
50
+ */
51
+ leakage: LeakageResult;
52
+ }
53
+ export declare function buildPack(opts: BuildOptions): Promise<BuildResult>;
54
+ export { relative as relativePath };
55
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/lib/pack/builder.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiB,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI1C;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAuFxE;AAqND,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,CAAC"}
@@ -0,0 +1,266 @@
1
+ import { execFile as execFileCb } from "node:child_process";
2
+ import { createHash } from "node:crypto";
3
+ import { copyFile, mkdir, mkdtemp, readFile, readdir, rm, stat, writeFile, } from "node:fs/promises";
4
+ import { tmpdir } from "node:os";
5
+ import { dirname, join, relative } from "node:path";
6
+ import { promisify } from "node:util";
7
+ import { checkLeakage } from "./leakage.js";
8
+ const execFile = promisify(execFileCb);
9
+ export async function buildPack(opts) {
10
+ const packName = opts.packName ?? derivePackName(opts.seed.sourcePath);
11
+ const outDir = opts.outDir ?? join(opts.producerRepo, "dist", packName);
12
+ // 1. Resolve globs against producer repo
13
+ const resolvedPaths = await resolveManagedPaths(opts.seed.managedPaths, opts.producerRepo);
14
+ // 2. Producer-side leakage check
15
+ const leakage = await checkLeakage({
16
+ seed: { ...opts.seed, managedPaths: resolvedPaths },
17
+ ...(opts.forwardBaseManagedPathsFile && {
18
+ forwardBaseManagedPathsFile: opts.forwardBaseManagedPathsFile,
19
+ }),
20
+ producerRepo: opts.producerRepo,
21
+ });
22
+ if (!leakage.ok) {
23
+ const summary = leakage.violations
24
+ .map((v) => ` - ${v.path} (conflicts with ${v.conflictWith}: ${v.conflictSource})`)
25
+ .join("\n");
26
+ throw new Error(`Producer-side leakage check failed for ${packName}@${opts.seed.version}:\n${summary}`);
27
+ }
28
+ // 3. Stage payload
29
+ const stage = await mkdtemp(join(tmpdir(), "sdd-cli-pack-build-"));
30
+ const rootName = `${packName}-v${opts.seed.version}`;
31
+ const root = join(stage, rootName);
32
+ const payload = join(root, "payload");
33
+ await mkdir(payload, { recursive: true });
34
+ try {
35
+ for (const p of resolvedPaths) {
36
+ const src = join(opts.producerRepo, p);
37
+ const dest = join(payload, p);
38
+ await mkdir(dirname(dest), { recursive: true });
39
+ await copyFile(src, dest);
40
+ }
41
+ // 4. Checksums
42
+ const checksums = await computeChecksums(payload, resolvedPaths);
43
+ // 5. Manifest + managed_paths + checksums files
44
+ const gitInfo = await readGitInfo(opts.producerRepo);
45
+ await writeFile(join(root, "MANAGED_PATHS.txt"), resolvedPaths.join("\n") + "\n");
46
+ await writeFile(join(root, "CHECKSUMS.sha256"), checksums);
47
+ await writeFile(join(root, "BUNDLE_MANIFEST.yaml"), renderManifest({
48
+ packName,
49
+ seed: opts.seed,
50
+ producerRepo: opts.producerRepo,
51
+ managedPathCount: resolvedPaths.length,
52
+ sourceCommit: gitInfo.commit,
53
+ sourceBranch: gitInfo.branch,
54
+ }));
55
+ // 6. tar -czf
56
+ await mkdir(outDir, { recursive: true });
57
+ const tarballName = `${rootName}.tar.gz`;
58
+ const tarballPath = join(outDir, tarballName);
59
+ await execFile("tar", ["-czf", tarballPath, "-C", stage, rootName]);
60
+ // Also emit a sidecar checksum file for the tarball itself
61
+ const tarballHash = await sha256File(tarballPath);
62
+ const sidecar = `${tarballHash} ${tarballName}\n`;
63
+ const checksumPath = join(outDir, `${rootName}.sha256`);
64
+ await writeFile(checksumPath, sidecar);
65
+ return {
66
+ tarballPath,
67
+ checksumPath,
68
+ packName,
69
+ bundleVersion: `v${opts.seed.version}`,
70
+ managedPathCount: resolvedPaths.length,
71
+ leakage,
72
+ };
73
+ }
74
+ finally {
75
+ await rm(stage, { recursive: true, force: true });
76
+ }
77
+ }
78
+ function derivePackName(seedPath) {
79
+ // .../{pack-name}-seed.yaml → {pack-name}
80
+ const base = seedPath.split("/").pop() ?? seedPath;
81
+ return base.replace(/-seed\.yaml$/, "").replace(/\.yaml$/, "");
82
+ }
83
+ async function resolveManagedPaths(patterns, producerRepo) {
84
+ const out = [];
85
+ const seen = new Set();
86
+ for (const pattern of patterns) {
87
+ if (pattern.includes("*")) {
88
+ const matches = await expandGlob(pattern, producerRepo);
89
+ for (const m of matches) {
90
+ if (!seen.has(m)) {
91
+ seen.add(m);
92
+ out.push(m);
93
+ }
94
+ }
95
+ }
96
+ else {
97
+ const abs = join(producerRepo, pattern);
98
+ try {
99
+ await stat(abs);
100
+ }
101
+ catch {
102
+ throw new Error(`managed_paths entry does not exist in producer repo: ${pattern}`);
103
+ }
104
+ if (!seen.has(pattern)) {
105
+ seen.add(pattern);
106
+ out.push(pattern);
107
+ }
108
+ }
109
+ }
110
+ out.sort();
111
+ return out;
112
+ }
113
+ async function expandGlob(pattern, producerRepo) {
114
+ // Minimal glob: split on first `*`, walk directory, match.
115
+ // Supports `**` (any depth) and `*` (any non-slash chars).
116
+ const re = globToRegex(pattern);
117
+ const out = [];
118
+ async function walk(dir, rel) {
119
+ let entries;
120
+ try {
121
+ entries = await readdir(dir, { withFileTypes: true });
122
+ }
123
+ catch {
124
+ return;
125
+ }
126
+ for (const e of entries) {
127
+ const childRel = rel === "" ? e.name : `${rel}/${e.name}`;
128
+ const childAbs = join(dir, e.name);
129
+ if (e.isDirectory()) {
130
+ await walk(childAbs, childRel);
131
+ }
132
+ else if (e.isFile() && re.test(childRel)) {
133
+ out.push(childRel);
134
+ }
135
+ }
136
+ }
137
+ await walk(producerRepo, "");
138
+ return out;
139
+ }
140
+ function globToRegex(pattern) {
141
+ let regex = "";
142
+ let i = 0;
143
+ while (i < pattern.length) {
144
+ const ch = pattern[i];
145
+ if (ch === "*") {
146
+ if (pattern[i + 1] === "*") {
147
+ regex += ".*";
148
+ i += 2;
149
+ }
150
+ else {
151
+ regex += "[^/]*";
152
+ i += 1;
153
+ }
154
+ }
155
+ else if (/[.+?^${}()|[\]\\]/.test(ch)) {
156
+ regex += `\\${ch}`;
157
+ i += 1;
158
+ }
159
+ else {
160
+ regex += ch;
161
+ i += 1;
162
+ }
163
+ }
164
+ return new RegExp(`^${regex}$`);
165
+ }
166
+ async function computeChecksums(payloadRoot, paths) {
167
+ const lines = [];
168
+ for (const p of paths) {
169
+ const abs = join(payloadRoot, p);
170
+ const hash = await sha256File(abs);
171
+ lines.push(`${hash} payload/${p}`);
172
+ }
173
+ return lines.join("\n") + "\n";
174
+ }
175
+ async function sha256File(path) {
176
+ const buf = await readFile(path);
177
+ return createHash("sha256").update(buf).digest("hex");
178
+ }
179
+ function renderManifest(ctx) {
180
+ // Direct YAML emission — matches the shape declared in
181
+ // sdd-method/orchestration/templates/bundle/BUNDLE_MANIFEST.yaml.hbs.
182
+ // We don't go through a Handlebars engine because that would be the
183
+ // only template-rendered file in sdd-cli; everything else is direct.
184
+ const generatedAt = new Date().toISOString();
185
+ const sourceRepo = deriveSourceRepoName(ctx.producerRepo);
186
+ const lines = [];
187
+ lines.push(`bundle_name: "${ctx.packName}"`);
188
+ lines.push(`bundle_version: "v${ctx.seed.version}"`);
189
+ lines.push(`scope: "${ctx.seed.scope}"`);
190
+ lines.push(`source_repo: "${sourceRepo}"`);
191
+ lines.push(`source_branch: "${ctx.sourceBranch}"`);
192
+ lines.push(`source_commit: "${ctx.sourceCommit}"`);
193
+ lines.push(`generated_at_utc: "${generatedAt}"`);
194
+ lines.push(``);
195
+ lines.push(`# Bundle topology (per ADR 0151 §4)`);
196
+ lines.push(`is_forward_base: false`);
197
+ lines.push(`produced_by_adopter: "${sourceRepo}"`);
198
+ lines.push(`requires_forward_base:`);
199
+ lines.push(` bundle: "${ctx.seed.forwardBase.bundle}"`);
200
+ lines.push(` minimum_version: "${ctx.seed.forwardBase.minimumVersion}"`);
201
+ lines.push(` source_repo: "${ctx.seed.forwardBase.sourceRepo}"`);
202
+ if (ctx.seed.requiresPack) {
203
+ lines.push(`requires_pack:`);
204
+ lines.push(` name: "${ctx.seed.requiresPack.name}"`);
205
+ lines.push(` version: "${ctx.seed.requiresPack.version}"`);
206
+ }
207
+ lines.push(``);
208
+ lines.push(`# Payload references`);
209
+ lines.push(`managed_path_count: ${ctx.managedPathCount}`);
210
+ lines.push(`managed_paths_file: "MANAGED_PATHS.txt"`);
211
+ lines.push(`checksums_file: "CHECKSUMS.sha256"`);
212
+ lines.push(``);
213
+ lines.push(`# Consumer compatibility`);
214
+ lines.push(`minimum_sdd_cli_version: "${ctx.seed.minimumSddCliVersion}"`);
215
+ lines.push(``);
216
+ lines.push(`description: |`);
217
+ for (const dl of ctx.seed.description.split("\n")) {
218
+ lines.push(` ${dl}`);
219
+ }
220
+ return lines.join("\n") + "\n";
221
+ }
222
+ /**
223
+ * Read git provenance from the producer working tree. Mirrors the
224
+ * behaviour of sdd-method/orchestration/scripts/build-method-baseline-
225
+ * bundle.sh which embeds HEAD commit + current branch into BUNDLE_MANIFEST.yaml.
226
+ *
227
+ * Falls back to safe non-empty sentinels when the producer is not a
228
+ * git working tree (e.g. building from a tarball or a CI artifact
229
+ * dir). source_commit MUST be non-empty for the consumer-side
230
+ * parseManifest check to pass.
231
+ */
232
+ async function readGitInfo(producerRepo) {
233
+ let commit = "uncommitted";
234
+ let branch = "";
235
+ try {
236
+ const { stdout } = await execFile("git", ["-C", producerRepo, "rev-parse", "HEAD"]);
237
+ commit = stdout.trim() || commit;
238
+ }
239
+ catch {
240
+ // Not a git working tree; keep sentinel.
241
+ }
242
+ try {
243
+ const { stdout } = await execFile("git", [
244
+ "-C",
245
+ producerRepo,
246
+ "rev-parse",
247
+ "--abbrev-ref",
248
+ "HEAD",
249
+ ]);
250
+ branch = stdout.trim();
251
+ if (branch === "HEAD")
252
+ branch = ""; // detached
253
+ }
254
+ catch {
255
+ // Not a git working tree.
256
+ }
257
+ return { commit, branch };
258
+ }
259
+ function deriveSourceRepoName(producerRepo) {
260
+ // Last path segment of producerRepo (e.g. "/.../contextua-platform" → "contextua-platform")
261
+ const segs = producerRepo.split("/").filter((s) => s.length > 0);
262
+ return segs[segs.length - 1] ?? "unknown-adopter";
263
+ }
264
+ // Re-export so callers can use the relative path utility
265
+ export { relative as relativePath };
266
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/lib/pack/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { type BuildResult } from "./builder.js";
2
+ import { type ValidationError } from "./schema.js";
3
+ /**
4
+ * Entry points for the `sdd-cli pack` verb family. Per ADR 0151
5
+ * + companion plan Phase 3.
6
+ */
7
+ export interface PackBuildOptions {
8
+ seedPath: string;
9
+ producerRepo: string;
10
+ outDir?: string;
11
+ forwardBaseManagedPathsFile?: string;
12
+ }
13
+ export interface PackBuildResult {
14
+ exitCode: number;
15
+ build?: BuildResult;
16
+ }
17
+ export interface PackValidateOptions {
18
+ seedPath: string;
19
+ }
20
+ export interface PackValidateResult {
21
+ exitCode: number;
22
+ errors: ValidationError[];
23
+ }
24
+ export declare function runPackBuild(opts: PackBuildOptions, stdout?: (s: string) => void): Promise<PackBuildResult>;
25
+ export declare function runPackValidate(opts: PackValidateOptions, stdout?: (s: string) => void): Promise<PackValidateResult>;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/pack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAGjE;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAID,wBAAsB,YAAY,CAChC,IAAI,EAAE,gBAAgB,EACtB,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GAC3D,OAAO,CAAC,eAAe,CAAC,CAgD1B;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,mBAAmB,EACzB,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GAC3D,OAAO,CAAC,kBAAkB,CAAC,CA2B7B"}
@@ -0,0 +1,85 @@
1
+ import { buildPack } from "./builder.js";
2
+ import { validateSeed } from "./schema.js";
3
+ import { loadSeed } from "./seed.js";
4
+ const SECTION_RULE = "═".repeat(59);
5
+ export async function runPackBuild(opts, stdout = (s) => process.stdout.write(s)) {
6
+ stdout(section("Pack build"));
7
+ let seed;
8
+ try {
9
+ seed = await loadSeed(opts.seedPath);
10
+ }
11
+ catch (err) {
12
+ stdout(fail(`Seed load failed: ${err.message}`));
13
+ return { exitCode: 1 };
14
+ }
15
+ const validation = validateSeed(seed);
16
+ if (!validation.ok) {
17
+ stdout(fail("Seed validation failed:"));
18
+ for (const e of validation.errors) {
19
+ stdout(fail(` ${e.field}: ${e.message}`));
20
+ }
21
+ return { exitCode: 1 };
22
+ }
23
+ stdout(info(`Seed loaded: ${seed.scope} v${seed.version}`));
24
+ stdout(info(`Forward base: ${seed.forwardBase.bundle} >= ${seed.forwardBase.minimumVersion}`));
25
+ stdout(info(`Managed paths declared: ${seed.managedPaths.length}`));
26
+ let result;
27
+ try {
28
+ result = await buildPack({
29
+ seed,
30
+ producerRepo: opts.producerRepo,
31
+ ...(opts.outDir && { outDir: opts.outDir }),
32
+ ...(opts.forwardBaseManagedPathsFile && {
33
+ forwardBaseManagedPathsFile: opts.forwardBaseManagedPathsFile,
34
+ }),
35
+ });
36
+ }
37
+ catch (err) {
38
+ stdout(fail(err.message));
39
+ return { exitCode: 1 };
40
+ }
41
+ stdout(pass(`Built ${result.packName}@${result.bundleVersion}`));
42
+ stdout(info(`Tarball: ${result.tarballPath}`));
43
+ stdout(info(`Checksum: ${result.checksumPath}`));
44
+ stdout(info(`Managed paths in bundle: ${result.managedPathCount}`));
45
+ return { exitCode: 0, build: result };
46
+ }
47
+ export async function runPackValidate(opts, stdout = (s) => process.stdout.write(s)) {
48
+ stdout(section("Pack validate"));
49
+ let seed;
50
+ try {
51
+ seed = await loadSeed(opts.seedPath);
52
+ }
53
+ catch (err) {
54
+ stdout(fail(`Seed load failed: ${err.message}`));
55
+ return { exitCode: 1, errors: [{ field: "(load)", message: err.message }] };
56
+ }
57
+ const validation = validateSeed(seed);
58
+ if (!validation.ok) {
59
+ stdout(fail("Seed validation failed:"));
60
+ for (const e of validation.errors) {
61
+ stdout(fail(` ${e.field}: ${e.message}`));
62
+ }
63
+ return { exitCode: 1, errors: validation.errors };
64
+ }
65
+ stdout(pass(`Seed valid: ${seed.scope} v${seed.version}`));
66
+ stdout(info(`Forward base: ${seed.forwardBase.bundle} >= ${seed.forwardBase.minimumVersion}`));
67
+ stdout(info(`Managed paths: ${seed.managedPaths.length}`));
68
+ if (seed.requiresPack) {
69
+ stdout(info(`requires_pack: ${seed.requiresPack.name} ${seed.requiresPack.version}`));
70
+ }
71
+ return { exitCode: 0, errors: [] };
72
+ }
73
+ function section(title) {
74
+ return `\n${SECTION_RULE}\n ${title}\n${SECTION_RULE}\n\n`;
75
+ }
76
+ function info(msg) {
77
+ return `[INFO] ${msg}\n`;
78
+ }
79
+ function pass(msg) {
80
+ return `[PASS] ${msg}\n`;
81
+ }
82
+ function fail(msg) {
83
+ return `[FAIL] ${msg}\n`;
84
+ }
85
+ //# sourceMappingURL=index.js.map