@sdd-method/sdd-cli 1.40.0 → 1.42.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 (142) 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/api-surface/index.js +2 -2
  5. package/dist/lib/api-surface/index.js.map +1 -1
  6. package/dist/lib/catalogue/build.d.ts.map +1 -1
  7. package/dist/lib/catalogue/build.js +6 -0
  8. package/dist/lib/catalogue/build.js.map +1 -1
  9. package/dist/lib/catalogue/builders/integration-components.js +3 -3
  10. package/dist/lib/catalogue/builders/integrations.d.ts +2 -0
  11. package/dist/lib/catalogue/builders/integrations.d.ts.map +1 -1
  12. package/dist/lib/catalogue/builders/integrations.js +3 -0
  13. package/dist/lib/catalogue/builders/integrations.js.map +1 -1
  14. package/dist/lib/catalogue/builders/products.d.ts +6 -0
  15. package/dist/lib/catalogue/builders/products.d.ts.map +1 -1
  16. package/dist/lib/catalogue/builders/products.js +9 -2
  17. package/dist/lib/catalogue/builders/products.js.map +1 -1
  18. package/dist/lib/catalogue/builders/repo-dependency.d.ts +12 -0
  19. package/dist/lib/catalogue/builders/repo-dependency.d.ts.map +1 -0
  20. package/dist/lib/catalogue/builders/repo-dependency.js +127 -0
  21. package/dist/lib/catalogue/builders/repo-dependency.js.map +1 -0
  22. package/dist/lib/catalogue/builders/repositories.d.ts +1 -0
  23. package/dist/lib/catalogue/builders/repositories.d.ts.map +1 -1
  24. package/dist/lib/catalogue/builders/repositories.js +4 -0
  25. package/dist/lib/catalogue/builders/repositories.js.map +1 -1
  26. package/dist/lib/catalogue/canonical-schema.yaml +66 -1
  27. package/dist/lib/catalogue/cli-version.d.ts +1 -1
  28. package/dist/lib/catalogue/cli-version.d.ts.map +1 -1
  29. package/dist/lib/catalogue/cli-version.js +3 -3
  30. package/dist/lib/catalogue/cli-version.js.map +1 -1
  31. package/dist/lib/catalogue/freshness.d.ts +26 -0
  32. package/dist/lib/catalogue/freshness.d.ts.map +1 -0
  33. package/dist/lib/catalogue/freshness.js +69 -0
  34. package/dist/lib/catalogue/freshness.js.map +1 -0
  35. package/dist/lib/catalogue/graph-run.js +1 -1
  36. package/dist/lib/catalogue/graph-run.js.map +1 -1
  37. package/dist/lib/catalogue/manifest-loader.d.ts +2 -0
  38. package/dist/lib/catalogue/manifest-loader.d.ts.map +1 -1
  39. package/dist/lib/catalogue/manifest-loader.js +4 -0
  40. package/dist/lib/catalogue/manifest-loader.js.map +1 -1
  41. package/dist/lib/catalogue/rubric-coverage-map.yaml +10 -0
  42. package/dist/lib/ci-binding/index.d.ts +63 -0
  43. package/dist/lib/ci-binding/index.d.ts.map +1 -0
  44. package/dist/lib/ci-binding/index.js +220 -0
  45. package/dist/lib/ci-binding/index.js.map +1 -0
  46. package/dist/lib/ci-binding/module.d.ts +36 -0
  47. package/dist/lib/ci-binding/module.d.ts.map +1 -0
  48. package/dist/lib/ci-binding/module.js +204 -0
  49. package/dist/lib/ci-binding/module.js.map +1 -0
  50. package/dist/lib/context-pull/index.d.ts +39 -0
  51. package/dist/lib/context-pull/index.d.ts.map +1 -0
  52. package/dist/lib/context-pull/index.js +151 -0
  53. package/dist/lib/context-pull/index.js.map +1 -0
  54. package/dist/lib/context-pull/resolve.d.ts +46 -0
  55. package/dist/lib/context-pull/resolve.d.ts.map +1 -0
  56. package/dist/lib/context-pull/resolve.js +70 -0
  57. package/dist/lib/context-pull/resolve.js.map +1 -0
  58. package/dist/lib/init/app.d.ts.map +1 -1
  59. package/dist/lib/init/app.js +3 -0
  60. package/dist/lib/init/app.js.map +1 -1
  61. package/dist/lib/init/ci-workflow.d.ts +6 -8
  62. package/dist/lib/init/ci-workflow.d.ts.map +1 -1
  63. package/dist/lib/init/ci-workflow.js +69 -122
  64. package/dist/lib/init/ci-workflow.js.map +1 -1
  65. package/dist/lib/init/integration.d.ts.map +1 -1
  66. package/dist/lib/init/integration.js +3 -0
  67. package/dist/lib/init/integration.js.map +1 -1
  68. package/dist/lib/init/platform.d.ts.map +1 -1
  69. package/dist/lib/init/platform.js +6 -2
  70. package/dist/lib/init/platform.js.map +1 -1
  71. package/dist/lib/lock-file.d.ts +20 -0
  72. package/dist/lib/lock-file.d.ts.map +1 -1
  73. package/dist/lib/lock-file.js +25 -1
  74. package/dist/lib/lock-file.js.map +1 -1
  75. package/dist/lib/mcp/build-info.d.ts.map +1 -1
  76. package/dist/lib/mcp/build-info.js +3 -3
  77. package/dist/lib/mcp/build-info.js.map +1 -1
  78. package/dist/lib/pack/index.js +2 -2
  79. package/dist/lib/pack/index.js.map +1 -1
  80. package/dist/lib/pack/validate.js +2 -2
  81. package/dist/lib/pack/validate.js.map +1 -1
  82. package/dist/lib/package-version.d.ts +24 -0
  83. package/dist/lib/package-version.d.ts.map +1 -1
  84. package/dist/lib/package-version.js +68 -1
  85. package/dist/lib/package-version.js.map +1 -1
  86. package/dist/lib/sync/index.d.ts +13 -0
  87. package/dist/lib/sync/index.d.ts.map +1 -1
  88. package/dist/lib/sync/index.js +69 -46
  89. package/dist/lib/sync/index.js.map +1 -1
  90. package/dist/lib/validate/bundle-coherence.js +2 -2
  91. package/dist/lib/validate/bundle-coherence.js.map +1 -1
  92. package/dist/lib/validate/plan.d.ts +25 -0
  93. package/dist/lib/validate/plan.d.ts.map +1 -0
  94. package/dist/lib/validate/plan.js +54 -0
  95. package/dist/lib/validate/plan.js.map +1 -0
  96. package/dist/maintain-bin.d.ts +3 -0
  97. package/dist/maintain-bin.d.ts.map +1 -0
  98. package/dist/maintain-bin.js +8 -0
  99. package/dist/maintain-bin.js.map +1 -0
  100. package/dist/maintain-program.d.ts +8 -0
  101. package/dist/maintain-program.d.ts.map +1 -0
  102. package/dist/maintain-program.js +91 -0
  103. package/dist/maintain-program.js.map +1 -0
  104. package/dist/maintain-version.json +4 -0
  105. package/dist/verbs/catalogue-maintain.d.ts +6 -0
  106. package/dist/verbs/catalogue-maintain.d.ts.map +1 -0
  107. package/dist/verbs/catalogue-maintain.js +110 -0
  108. package/dist/verbs/catalogue-maintain.js.map +1 -0
  109. package/dist/verbs/catalogue.d.ts +5 -0
  110. package/dist/verbs/catalogue.d.ts.map +1 -1
  111. package/dist/verbs/catalogue.js +14 -80
  112. package/dist/verbs/catalogue.js.map +1 -1
  113. package/dist/verbs/context.d.ts +3 -0
  114. package/dist/verbs/context.d.ts.map +1 -0
  115. package/dist/verbs/context.js +39 -0
  116. package/dist/verbs/context.js.map +1 -0
  117. package/dist/verbs/pack-build.d.ts +3 -0
  118. package/dist/verbs/pack-build.d.ts.map +1 -0
  119. package/dist/verbs/pack-build.js +31 -0
  120. package/dist/verbs/pack-build.js.map +1 -0
  121. package/dist/verbs/pack.d.ts.map +1 -1
  122. package/dist/verbs/pack.js +2 -25
  123. package/dist/verbs/pack.js.map +1 -1
  124. package/dist/verbs/sync.d.ts.map +1 -1
  125. package/dist/verbs/sync.js +21 -0
  126. package/dist/verbs/sync.js.map +1 -1
  127. package/dist/verbs/validate.d.ts.map +1 -1
  128. package/dist/verbs/validate.js +26 -0
  129. package/dist/verbs/validate.js.map +1 -1
  130. package/dist/verify-program.d.ts +6 -1
  131. package/dist/verify-program.d.ts.map +1 -1
  132. package/dist/verify-program.js +11 -4
  133. package/dist/verify-program.js.map +1 -1
  134. package/dist/verify-version.json +4 -0
  135. package/package.json +6 -5
  136. package/scripts/{build-verify-package.mjs → build-persona-package.mjs} +112 -46
  137. package/scripts/copy-yaml-assets.mjs +6 -0
  138. package/scripts/dagger-parity.sh +74 -0
  139. package/scripts/maintain-acceptance.mjs +240 -0
  140. package/scripts/maintain-version.json +4 -0
  141. package/scripts/release-gate.mjs +60 -0
  142. package/scripts/verify-version.json +2 -2
@@ -1,33 +1,10 @@
1
- import { resolvePathOption } from "./path-option.js";
2
- import { runPackBuild } from "../lib/pack/index.js";
1
+ import { registerPackBuild } from "./pack-build.js";
3
2
  import { registerPackValidate } from "./pack-validate.js";
4
3
  export function registerPack(program) {
5
4
  const pack = program
6
5
  .command("pack")
7
6
  .description("Build and validate adopter-shipped context-pack bundles (per ADR 0151)");
8
- pack
9
- .command("build")
10
- .description("Build a context-pack tarball from a seed file. Runs producer-side leakage check before emit.")
11
- .requiredOption("--seed <path>", "path to the seed file (orchestration/distribution/{name}-seed.yaml)")
12
- .option("--producer-repo <dir>", "adopter repo root (managed_paths are resolved relative to this; defaults to cwd)", process.cwd())
13
- .option("--out-dir <dir>", "output directory for the tarball (defaults to <producer-repo>/dist/<pack-name>/)", resolvePathOption)
14
- .option("--forward-base-managed-paths <path>", "path to forward-base MANAGED_PATHS.txt for the leakage check (defaults to extracting from method-baseline.lock)")
15
- .option("--publish-transform", "apply the point-in-time / producer-agnostic publish transform (ADR 0183/0184): drop non-Accepted ADRs, strip lineage + stripped-class fields, flatten cross-repo refs, fail closed on leaks. For producer-published bundles.")
16
- .option("--origin-prefix", "with the publish transform, apply the range-aware origin prefix (ADR 0140 §4.1): 0NNN→M-ADR, 9NNN→RA-ADR, adopter 1NNN stays ADR; ADR files renamed to match. Implies --publish-transform. The RA-ADR bundle cutover switch.")
17
- .action(async (opts) => {
18
- const { exitCode } = await runPackBuild({
19
- seedPath: opts.seed,
20
- producerRepo: opts.producerRepo ?? process.cwd(),
21
- ...(opts.outDir && { outDir: opts.outDir }),
22
- ...(opts.forwardBaseManagedPaths && {
23
- forwardBaseManagedPathsFile: opts.forwardBaseManagedPaths,
24
- }),
25
- ...(opts.publishTransform && { publishTransform: true }),
26
- ...(opts.originPrefix && { originPrefix: true }),
27
- });
28
- if (exitCode !== 0)
29
- process.exit(exitCode);
30
- });
7
+ registerPackBuild(pack);
31
8
  registerPackValidate(pack);
32
9
  }
33
10
  //# sourceMappingURL=pack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/verbs/pack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAW1D,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,wEAAwE,CACzE,CAAC;IAEJ,IAAI;SACD,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,8FAA8F,CAC/F;SACA,cAAc,CACb,eAAe,EACf,qEAAqE,CACtE;SACA,MAAM,CACL,uBAAuB,EACvB,kFAAkF,EAClF,OAAO,CAAC,GAAG,EAAE,CACd;SACA,MAAM,CACL,iBAAiB,EACjB,kFAAkF,EAClF,iBAAiB,CAClB;SACA,MAAM,CACL,qCAAqC,EACrC,iHAAiH,CAClH;SACA,MAAM,CACL,qBAAqB,EACrB,8NAA8N,CAC/N;SACA,MAAM,CACL,iBAAiB,EACjB,8NAA8N,CAC/N;SACA,MAAM,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;QACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE;YAChD,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,uBAAuB,IAAI;gBAClC,2BAA2B,EAAE,IAAI,CAAC,uBAAuB;aAC1D,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACjD,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEL,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/verbs/pack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,wEAAwE,CACzE,CAAC;IAEJ,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExB,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/verbs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8GnD"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/verbs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwInD"}
@@ -2,6 +2,7 @@ import { AGENT_HARNESSES, resolveAgentHarness, } from "../lib/agent-harness.js";
2
2
  import { loadSyncConfig } from "../lib/sync/config.js";
3
3
  import { materialiseBundle } from "../lib/sync/bundle-source.js";
4
4
  import { runSync } from "../lib/sync/index.js";
5
+ import { CI_BINDINGS, CI_RUNNER_DEFAULT, isCiBinding, parseCiRunner } from "../lib/ci-binding/index.js";
5
6
  import { resolvePathOption } from "./path-option.js";
6
7
  export function registerSync(program) {
7
8
  program
@@ -16,7 +17,23 @@ export function registerSync(program) {
16
17
  .option("--allow-overwrite", "accept overwrites of locally-modified method content")
17
18
  .option("--no-delete", "preserve files removed upstream")
18
19
  .option("--agent-harness <name>", `target agent harness for hooks + briefing. Default: claude-code. Supported: ${AGENT_HARNESSES.join(", ")}`)
20
+ .option("--ci-binding <host>", `CI host whose wrapper calls the Method Validation module (M-ADR 0219): ${CI_BINDINGS.join(", ")}. Default: the binding the lock records, else github; a new choice is recorded in the lock`)
21
+ .option("--ci-runner <labels>", `runner label(s) the CI wrapper targets, comma-separated (GitHub runs-on, GitLab tags, Jenkins agent label), e.g. a self-hosted runner. '${CI_RUNNER_DEFAULT}' returns to the host's default runner. Default: what the lock records; a new choice is recorded`)
19
22
  .action(async (opts) => {
23
+ if (opts.ciBinding !== undefined && !isCiBinding(opts.ciBinding)) {
24
+ process.stderr.write(`[FAIL] --ci-binding must be one of ${CI_BINDINGS.join(", ")}; got '${opts.ciBinding}'\n`);
25
+ process.exit(1);
26
+ }
27
+ const ciBinding = opts.ciBinding;
28
+ let ciRunner;
29
+ if (opts.ciRunner !== undefined) {
30
+ const parsed = opts.ciRunner === CI_RUNNER_DEFAULT ? [] : parseCiRunner(opts.ciRunner);
31
+ if (parsed === null) {
32
+ process.stderr.write(`[FAIL] --ci-runner takes comma-separated labels of letters, digits, '.', '_' or '-', or '${CI_RUNNER_DEFAULT}'; got '${opts.ciRunner}'\n`);
33
+ process.exit(1);
34
+ }
35
+ ciRunner = parsed;
36
+ }
20
37
  let agentHarness;
21
38
  try {
22
39
  agentHarness = resolveAgentHarness(opts.agentHarness);
@@ -42,6 +59,8 @@ export function registerSync(program) {
42
59
  allowOverwrite: opts.allowOverwrite === true,
43
60
  delete: opts.delete,
44
61
  agentHarness,
62
+ ...(ciBinding ? { ciBinding } : {}),
63
+ ...(ciRunner ? { ciRunner } : {}),
45
64
  ...(opts.replaceBundle ? { replaceBundle: opts.replaceBundle } : {}),
46
65
  ...(opts.yes === true ? { yes: true } : {}),
47
66
  });
@@ -69,6 +88,8 @@ export function registerSync(program) {
69
88
  allowOverwrite: opts.allowOverwrite === true,
70
89
  delete: opts.delete,
71
90
  agentHarness,
91
+ ...(ciBinding ? { ciBinding } : {}),
92
+ ...(ciRunner ? { ciRunner } : {}),
72
93
  });
73
94
  if (exitCode !== 0) {
74
95
  await resolved.cleanup();
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/verbs/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/verbs/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/verbs/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4BvD"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/verbs/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoDvD"}
@@ -1,4 +1,8 @@
1
1
  import { runValidate } from "../lib/validate/index.js";
2
+ import { methodValidationPlan } from "../lib/validate/plan.js";
3
+ import { profileFromRepoKind, readRepoKind } from "../lib/repo-kind.js";
4
+ const LISTABLE = ["platform", "application", "integration"];
5
+ const isListable = (p) => LISTABLE.includes(p);
2
6
  import { resolvePathOption } from "./path-option.js";
3
7
  export function registerValidate(program) {
4
8
  program
@@ -8,7 +12,29 @@ export function registerValidate(program) {
8
12
  .option("--platform-root <dir>", "path to the sdd-method (or platform) repo, required for app-dependencies", resolvePathOption)
9
13
  .option("--validator <name>", "run only the named validator")
10
14
  .option("--strict", "treat warnings as failures")
15
+ .option("--list", "print the method-managed validation job for this repo's profile as JSON (the plan every CI executor runs, the Dagger module included) and run nothing")
16
+ .option("--profile <profile>", "with --list: the profile to list, instead of reading .sdd-repo-kind (platform | application | integration)")
11
17
  .action(async (opts) => {
18
+ if (opts.list === true) {
19
+ let profile;
20
+ if (opts.profile !== undefined) {
21
+ if (!isListable(opts.profile)) {
22
+ process.stderr.write(`--profile must be platform, application or integration (got: ${opts.profile})\n`);
23
+ process.exit(2);
24
+ }
25
+ profile = opts.profile;
26
+ }
27
+ else {
28
+ const kind = await readRepoKind(opts.targetRepo);
29
+ if (kind === null) {
30
+ process.stderr.write(`Not an SDD repo (no .sdd-repo-kind in ${opts.targetRepo}); pass --profile\n`);
31
+ process.exit(1);
32
+ }
33
+ profile = profileFromRepoKind(kind);
34
+ }
35
+ process.stdout.write(JSON.stringify({ profile, steps: methodValidationPlan(profile) }, null, 2) + "\n");
36
+ return;
37
+ }
12
38
  const { exitCode } = await runValidate({
13
39
  targetRepo: opts.targetRepo,
14
40
  ...(opts.platformRoot ? { platformRoot: opts.platformRoot } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/verbs/validate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACV,+DAA+D,CAChE;SACA,MAAM,CACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,CAAC,GAAG,EAAE,CACd;SACA,MAAM,CACL,uBAAuB,EACvB,0EAA0E,EAC1E,iBAAiB,CAClB;SACA,MAAM,CAAC,oBAAoB,EAAE,8BAA8B,CAAC;SAC5D,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,IAA8B,EAAE,EAAE;QAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC;YACrC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;SAC7B,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/verbs/validate.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,12 @@ export declare const VERIFY_SURFACE: ReadonlyArray<string>;
8
8
  * this binary exists to prevent. So an excluded verb fails, loudly, whatever
9
9
  * flags accompany it.
10
10
  */
11
- export declare function rejectOutsideSurface(program: Command, argv: readonly string[]): void;
11
+ export declare function rejectOutsideSurface(program: Command, argv: readonly string[], outside?: string): void;
12
12
  export declare function runVerify(argv: readonly string[]): Promise<void>;
13
13
  export declare function buildVerifyProgram(): Command;
14
+ /**
15
+ * The verify verbs, registered onto any program. sdd-verify calls it; sdd-maintain calls it too,
16
+ * which is what makes the personas nest structurally: whatever verify ships, maintain ships.
17
+ */
18
+ export declare function registerVerifySurface(program: Command): void;
14
19
  //# sourceMappingURL=verify-program.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-program.d.ts","sourceRoot":"","sources":["../src/verify-program.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAepD,gFAAgF;AAChF,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,MAAM,CAQhD,CAAC;AAMF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAWpF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAoC5C"}
1
+ {"version":3,"file":"verify-program.d.ts","sourceRoot":"","sources":["../src/verify-program.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAepD,gFAAgF;AAChF,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,MAAM,CAQhD,CAAC;AAMF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,MAAgB,GAAG,IAAI,CAW/G;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAqB5C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgB5D"}
@@ -49,7 +49,7 @@ const OUTSIDE = "is not part of sdd-verify, which cannot write to the repository
49
49
  * this binary exists to prevent. So an excluded verb fails, loudly, whatever
50
50
  * flags accompany it.
51
51
  */
52
- export function rejectOutsideSurface(program, argv) {
52
+ export function rejectOutsideSurface(program, argv, outside = OUTSIDE) {
53
53
  const words = argv.filter((a) => !a.startsWith("-"));
54
54
  if (words.length === 0)
55
55
  return;
@@ -58,10 +58,10 @@ export function rejectOutsideSurface(program, argv) {
58
58
  return;
59
59
  const cmd = program.commands.find((c) => c.name() === verb);
60
60
  if (!cmd)
61
- throw new Error(`'${verb}' ${OUTSIDE}`);
61
+ throw new Error(`'${verb}' ${outside}`);
62
62
  const subs = cmd.commands.map((c) => c.name()).filter((n) => n !== "help");
63
63
  if (subs.length > 0 && sub !== undefined && sub !== "help" && !subs.includes(sub)) {
64
- throw new Error(`'${verb} ${sub}' ${OUTSIDE}`);
64
+ throw new Error(`'${verb} ${sub}' ${outside}`);
65
65
  }
66
66
  }
67
67
  export async function runVerify(argv) {
@@ -97,6 +97,14 @@ export function buildVerifyProgram() {
97
97
  writeOut: (str) => process.stdout.write(str),
98
98
  writeErr: (str) => process.stderr.write(str),
99
99
  });
100
+ registerVerifySurface(program);
101
+ return program;
102
+ }
103
+ /**
104
+ * The verify verbs, registered onto any program. sdd-verify calls it; sdd-maintain calls it too,
105
+ * which is what makes the personas nest structurally: whatever verify ships, maintain ships.
106
+ */
107
+ export function registerVerifySurface(program) {
100
108
  registerValidate(program);
101
109
  registerList(program);
102
110
  const pack = program
@@ -110,6 +118,5 @@ export function buildVerifyProgram() {
110
118
  registerCatalogueImpact(catalogue);
111
119
  registerCatalogueBaselineCheck(catalogue);
112
120
  registerCatalogueVersion(catalogue);
113
- return program;
114
121
  }
115
122
  //# sourceMappingURL=verify-program.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-program.js","sourceRoot":"","sources":["../src/verify-program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-program.js","sourceRoot":"","sources":["../src/verify-program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ {
2
+ "version": "1.1.0",
3
+ "built_against_sdd_cli": "1.42.0"
4
+ }