mewkit 1.16.0 → 1.17.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 (69) hide show
  1. package/dist/commands/build-plugin.d.ts +6 -0
  2. package/dist/commands/build-plugin.d.ts.map +1 -1
  3. package/dist/commands/build-plugin.js +3 -3
  4. package/dist/commands/build-plugin.js.map +1 -1
  5. package/dist/commands/plan.d.ts +7 -0
  6. package/dist/commands/plan.d.ts.map +1 -0
  7. package/dist/commands/plan.js +124 -0
  8. package/dist/commands/plan.js.map +1 -0
  9. package/dist/commands/providers.js +15 -0
  10. package/dist/commands/providers.js.map +1 -1
  11. package/dist/commands/validate.d.ts +7 -1
  12. package/dist/commands/validate.d.ts.map +1 -1
  13. package/dist/commands/validate.js +58 -1
  14. package/dist/commands/validate.js.map +1 -1
  15. package/dist/core/build-inventory.d.ts +16 -0
  16. package/dist/core/build-inventory.d.ts.map +1 -1
  17. package/dist/core/build-inventory.js +35 -0
  18. package/dist/core/build-inventory.js.map +1 -1
  19. package/dist/core/capability.d.ts +24 -24
  20. package/dist/core/check-agent-conformance.d.ts +14 -0
  21. package/dist/core/check-agent-conformance.d.ts.map +1 -0
  22. package/dist/core/check-agent-conformance.js +118 -0
  23. package/dist/core/check-agent-conformance.js.map +1 -0
  24. package/dist/core/check-docs-references.d.ts.map +1 -1
  25. package/dist/core/check-docs-references.js +6 -0
  26. package/dist/core/check-docs-references.js.map +1 -1
  27. package/dist/core/check-gate-authority.d.ts +40 -0
  28. package/dist/core/check-gate-authority.d.ts.map +1 -0
  29. package/dist/core/check-gate-authority.js +313 -0
  30. package/dist/core/check-gate-authority.js.map +1 -0
  31. package/dist/core/check-plugin-parity.d.ts +15 -0
  32. package/dist/core/check-plugin-parity.d.ts.map +1 -0
  33. package/dist/core/check-plugin-parity.js +130 -0
  34. package/dist/core/check-plugin-parity.js.map +1 -0
  35. package/dist/core/check-pseudo-capabilities.d.ts +15 -0
  36. package/dist/core/check-pseudo-capabilities.d.ts.map +1 -0
  37. package/dist/core/check-pseudo-capabilities.js +89 -0
  38. package/dist/core/check-pseudo-capabilities.js.map +1 -0
  39. package/dist/core/plan-parser.d.ts +40 -0
  40. package/dist/core/plan-parser.d.ts.map +1 -0
  41. package/dist/core/plan-parser.js +126 -0
  42. package/dist/core/plan-parser.js.map +1 -0
  43. package/dist/core/plugin-payload.d.ts.map +1 -1
  44. package/dist/core/plugin-payload.js +9 -0
  45. package/dist/core/plugin-payload.js.map +1 -1
  46. package/dist/core/provider-adapter.d.ts +4 -0
  47. package/dist/core/provider-adapter.d.ts.map +1 -1
  48. package/dist/core/provider-adapter.js +2 -0
  49. package/dist/core/provider-adapter.js.map +1 -1
  50. package/dist/core/provider-operations.d.ts +51 -0
  51. package/dist/core/provider-operations.d.ts.map +1 -0
  52. package/dist/core/provider-operations.js +171 -0
  53. package/dist/core/provider-operations.js.map +1 -0
  54. package/dist/index.js +18 -0
  55. package/dist/index.js.map +1 -1
  56. package/dist/migrate/model-taxonomy.d.ts +32 -0
  57. package/dist/migrate/model-taxonomy.d.ts.map +1 -1
  58. package/dist/migrate/model-taxonomy.js +59 -0
  59. package/dist/migrate/model-taxonomy.js.map +1 -1
  60. package/dist/visual-plan/application/export-plan.d.ts.map +1 -1
  61. package/dist/visual-plan/application/export-plan.js +25 -10
  62. package/dist/visual-plan/application/export-plan.js.map +1 -1
  63. package/dist/visual-plan/domain/wireframe-theme.d.ts +24 -0
  64. package/dist/visual-plan/domain/wireframe-theme.d.ts.map +1 -0
  65. package/dist/visual-plan/domain/wireframe-theme.js +169 -0
  66. package/dist/visual-plan/domain/wireframe-theme.js.map +1 -0
  67. package/dist/visual-plan-web/index.css +1 -1
  68. package/dist/visual-plan-web/index.js +150 -14
  69. package/package.json +1 -1
@@ -0,0 +1,126 @@
1
+ // Shared read-only parser for the canonical plan shape.
2
+ //
3
+ // tasks/plans/YYMMDD-name/
4
+ // plan.md — overview, ≤80 lines (gate-rules.md → Plan Shape)
5
+ // phase-XX-name.md — the executable detail
6
+ //
7
+ // READ-ONLY BY CONSTRUCTION. This module imports `readFileSync`/`existsSync` and
8
+ // nothing that writes — no `writeFileSync`, no `mkdirSync`, no `rmSync`. That is
9
+ // the enforcement, not a convention: the plan Markdown is the sole authority, and
10
+ // a CLI that could edit it would become a second one. Checkboxes are the progress
11
+ // record; this reads them and says what it sees.
12
+ //
13
+ // It reports what the files SAY. It does not judge whether a phase is truly done
14
+ // — an unchecked box on finished work and a checked box on unfinished work are
15
+ // both real states the plan owner reconciles, not the parser.
16
+ import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
17
+ import path from "node:path";
18
+ /** Required sections in a phase file (documentation-management.md → Phase Files). */
19
+ export const REQUIRED_PHASE_SECTIONS = [
20
+ "Overview",
21
+ "Requirements",
22
+ "Implementation Steps",
23
+ "Success Criteria",
24
+ "Risk Assessment",
25
+ ];
26
+ /** Extract the YAML frontmatter block as raw lines, or [] when absent. */
27
+ function frontmatterLines(body) {
28
+ if (!body.startsWith("---"))
29
+ return [];
30
+ const end = body.indexOf("\n---", 3);
31
+ if (end === -1)
32
+ return [];
33
+ return body.slice(4, end).split("\n");
34
+ }
35
+ /** A scalar frontmatter field. Quotes stripped; nothing clever — plans are hand-written. */
36
+ function field(fm, key) {
37
+ const line = fm.find((l) => l.trimStart().startsWith(`${key}:`));
38
+ if (!line)
39
+ return null;
40
+ const raw = line.slice(line.indexOf(":") + 1).trim();
41
+ return raw.replace(/^["']|["']$/g, "") || null;
42
+ }
43
+ /** An inline-array frontmatter field (`dependencies: [1, 2]`). */
44
+ function arrayField(fm, key) {
45
+ const raw = field(fm, key);
46
+ if (!raw)
47
+ return [];
48
+ const inner = raw.replace(/^\[|\]$/g, "").trim();
49
+ if (!inner)
50
+ return [];
51
+ return inner.split(",").map((s) => s.trim().replace(/^["']|["']$/g, "")).filter(Boolean);
52
+ }
53
+ /** Count `- [ ]` / `- [x]` task boxes. */
54
+ function checklist(body) {
55
+ const boxes = body.match(/^\s*[-*]\s+\[[ xX]\]/gm) ?? [];
56
+ const checked = boxes.filter((b) => /\[[xX]\]/.test(b)).length;
57
+ return { total: boxes.length, checked };
58
+ }
59
+ /** Parse one phase file. Throws only if the file is unreadable. */
60
+ export function parsePhaseFile(abs) {
61
+ const body = readFileSync(abs, "utf-8");
62
+ const fm = frontmatterLines(body);
63
+ const sections = (body.match(/^##\s+(.+)$/gm) ?? []).map((h) => h.replace(/^##\s+/, "").trim());
64
+ // A heading matches when the required name appears in it — real plans write
65
+ // "## Risk Assessment" but also "## Success Criteria (Phase 2)".
66
+ const missingSections = REQUIRED_PHASE_SECTIONS.filter((req) => !sections.some((s) => s.toLowerCase().includes(req.toLowerCase())));
67
+ return {
68
+ file: path.basename(abs),
69
+ title: field(fm, "title"),
70
+ status: field(fm, "status"),
71
+ phase: field(fm, "phase"),
72
+ dependencies: arrayField(fm, "dependencies"),
73
+ sections,
74
+ missingSections,
75
+ checklist: checklist(body),
76
+ };
77
+ }
78
+ /** Phase files in a plan dir, sorted by filename (which encodes phase order). */
79
+ export function listPhaseFiles(planDir) {
80
+ if (!existsSync(planDir) || !statSync(planDir).isDirectory())
81
+ return [];
82
+ return readdirSync(planDir)
83
+ .filter((f) => /^phase-\d+.*\.md$/.test(f))
84
+ .sort()
85
+ .map((f) => path.join(planDir, f));
86
+ }
87
+ /**
88
+ * Parse a plan directory into a summary.
89
+ *
90
+ * `issues` names what a reader should know before trusting the numbers — a
91
+ * missing plan.md, an over-length overview, a phase with no checklist. They are
92
+ * observations, not verdicts: this is an inspector, and Gate 1 belongs to the human.
93
+ */
94
+ export function parsePlan(planDir) {
95
+ const issues = [];
96
+ const planMd = path.join(planDir, "plan.md");
97
+ const planMdPresent = existsSync(planMd);
98
+ let title = null;
99
+ let status = null;
100
+ let planMdLines = 0;
101
+ if (planMdPresent) {
102
+ const body = readFileSync(planMd, "utf-8");
103
+ const fm = frontmatterLines(body);
104
+ title = field(fm, "title");
105
+ status = field(fm, "status");
106
+ planMdLines = body.split("\n").length;
107
+ // gate-rules.md → Plan Shape: "plan.md is the overview entrypoint and stays
108
+ // under 80 lines". Reported, never enforced — the CLI does not gate.
109
+ if (planMdLines > 80)
110
+ issues.push(`plan.md is ${planMdLines} lines (overview should stay under 80)`);
111
+ }
112
+ else {
113
+ issues.push("no plan.md — Gate 1 expects one at the plan root");
114
+ }
115
+ const phases = listPhaseFiles(planDir).map(parsePhaseFile);
116
+ if (phases.length === 0)
117
+ issues.push("no phase-XX-*.md files found");
118
+ for (const p of phases) {
119
+ if (p.missingSections.length > 0) {
120
+ issues.push(`${p.file} is missing: ${p.missingSections.join(", ")}`);
121
+ }
122
+ }
123
+ const aggregate = phases.reduce((acc, p) => ({ total: acc.total + p.checklist.total, checked: acc.checked + p.checklist.checked }), { total: 0, checked: 0 });
124
+ return { dir: planDir, title, status, planMdPresent, planMdLines, phases, checklist: aggregate, issues };
125
+ }
126
+ //# sourceMappingURL=plan-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-parser.js","sourceRoot":"","sources":["../../src/core/plan-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-payload.d.ts","sourceRoot":"","sources":["../../src/core/plugin-payload.ts"],"names":[],"mappings":"AAqBA,OAAO,EAIN,KAAK,cAAc,EACnB,MAAM,sBAAsB,CAAC;AAuB9B,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC7D,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,cAAc,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,qBAAqB,CAyDzF;AA4CD,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAK5D"}
1
+ {"version":3,"file":"plugin-payload.d.ts","sourceRoot":"","sources":["../../src/core/plugin-payload.ts"],"names":[],"mappings":"AAqBA,OAAO,EAIN,KAAK,cAAc,EACnB,MAAM,sBAAsB,CAAC;AAwB9B,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC7D,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,cAAc,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,qBAAqB,CAkEzF;AA4CD,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAK5D"}
@@ -11,6 +11,7 @@ import { extname, join, relative } from "node:path";
11
11
  import { buildClaudePluginJson, buildCodexPluginJson, PLUGIN_NAME, } from "./plugin-manifest.js";
12
12
  import { collectAgentNames, rewriteAgentRefs } from "./plugin-agent-refs.js";
13
13
  import { buildPluginHooks, readSettingsHooks } from "./plugin-hooks.js";
14
+ import { findPseudoCapabilities, formatPseudoCapabilityError } from "./check-pseudo-capabilities.js";
14
15
  /** File extensions whose contents are scanned for agent references. */
15
16
  const TEXT_EXTENSIONS = new Set([
16
17
  ".md",
@@ -81,6 +82,14 @@ export function generatePluginPayload(opts) {
81
82
  refsRewritten += count;
82
83
  }
83
84
  }
85
+ // Reject unresolved pseudo-capability aliases in the PROJECTED tree, before the
86
+ // manifests are written. Scanning the output (not the source) is deliberate: it
87
+ // catches placeholders that survived projection, including any this build step
88
+ // itself could introduce. A payload carrying broken instructions must not ship.
89
+ const pseudo = findPseudoCapabilities(opts.outDir);
90
+ if (pseudo.length > 0) {
91
+ throw new Error(formatPseudoCapabilityError(pseudo));
92
+ }
84
93
  // Write both runtime plugin manifests into the plugin root.
85
94
  writeManifest(join(opts.outDir, ".claude-plugin", "plugin.json"), buildClaudePluginJson(opts));
86
95
  writeManifest(join(opts.outDir, ".codex-plugin", "plugin.json"), buildCodexPluginJson(opts));
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-payload.js","sourceRoot":"","sources":["../../src/core/plugin-payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-payload.js","sourceRoot":"","sources":["../../src/core/plugin-payload.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { type ProviderProjection } from "./provider-projection.js";
2
2
  import { type AcquisitionDescriptor } from "./repo-context-adapter.js";
3
3
  import { type LifecycleMap, type LifecycleEvent, type EnforcementGap } from "./provider-lifecycle.js";
4
4
  import { type InvocationShapeMap } from "./provider-invocation.js";
5
+ import { type OperationShapeMap } from "./provider-operations.js";
5
6
  export interface ProviderAdapterView {
6
7
  provider: string;
7
8
  /** Aggregate: `supported` (projection supported) · `partial` · `report-only` (no projection). */
@@ -18,6 +19,9 @@ export interface ProviderAdapterView {
18
19
  enforcementGaps: EnforcementGap[];
19
20
  /** Logical invocation id → the provider-native operation shape (adapter-owned constants). */
20
21
  invocation: InvocationShapeMap;
22
+ /** Logical workflow operation → its shape here. Distinct from `invocation`: these are named
23
+ * in skill PROSE and are deliberately NOT frontmatter-reachable (see provider-operations.ts). */
24
+ operations: OperationShapeMap;
21
25
  /** Where durable task state lives for this provider. */
22
26
  storageBoundary: string;
23
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-adapter.d.ts","sourceRoot":"","sources":["../../src/core/provider-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtJ,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAExF,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,iGAAiG;IACjG,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,6FAA6F;IAC7F,UAAU,EAAE,kBAAkB,CAAC;IAC/B,uEAAuE;IACvE,WAAW,EAAE,qBAAqB,CAAC;IACnC,qDAAqD;IACrD,SAAS,EAAE,YAAY,CAAC;IACxB,wFAAwF;IACxF,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,6FAA6F;IAC7F,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,6FAA6F;IAC7F,UAAU,EAAE,kBAAkB,CAAC;IAC/B,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACxB;AAOD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAatE;AAED,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,oDAAqD,CAAC"}
1
+ {"version":3,"file":"provider-adapter.d.ts","sourceRoot":"","sources":["../../src/core/provider-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtJ,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,iGAAiG;IACjG,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,6FAA6F;IAC7F,UAAU,EAAE,kBAAkB,CAAC;IAC/B,uEAAuE;IACvE,WAAW,EAAE,qBAAqB,CAAC;IACnC,qDAAqD;IACrD,SAAS,EAAE,YAAY,CAAC;IACxB,wFAAwF;IACxF,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,6FAA6F;IAC7F,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,6FAA6F;IAC7F,UAAU,EAAE,kBAAkB,CAAC;IAC/B;qGACiG;IACjG,UAAU,EAAE,iBAAiB,CAAC;IAC9B,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACxB;AAOD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CActE;AAED,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,oDAAqD,CAAC"}
@@ -7,6 +7,7 @@ import { getProjection } from "./provider-projection.js";
7
7
  import { getAcquisitionDescriptor } from "./repo-context-adapter.js";
8
8
  import { getLifecycleMap, gatingEvents, enforcementGaps } from "./provider-lifecycle.js";
9
9
  import { getInvocationShapes } from "./provider-invocation.js";
10
+ import { getOperationShapes } from "./provider-operations.js";
10
11
  /** Task-state storage boundary. Identical across providers by P4 decision #2: task records are the
11
12
  * CONSUMER PROJECT's state (`<cwd>/tasks/active`), never plugin-owned data — so a plugin install
12
13
  * does NOT relocate them to ${CLAUDE_PLUGIN_DATA}. */
@@ -23,6 +24,7 @@ export function describeProvider(provider) {
23
24
  gatingEvents: gatingEvents(provider),
24
25
  enforcementGaps: enforcementGaps(provider),
25
26
  invocation: getInvocationShapes(provider),
27
+ operations: getOperationShapes(provider),
26
28
  storageBoundary: STORAGE_BOUNDARY,
27
29
  };
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-adapter.js","sourceRoot":"","sources":["../../src/core/provider-adapter.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,2FAA2F;AAC3F,4FAA4F;AAC5F,+FAA+F;AAC/F,gGAAgG;AAChG,OAAO,EAAE,aAAa,EAA2B,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAA8B,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAA+D,MAAM,yBAAyB,CAAC;AACtJ,OAAO,EAAE,mBAAmB,EAA2B,MAAM,0BAA0B,CAAC;AAsBxF;;sDAEsD;AACtD,MAAM,gBAAgB,GAAG,mEAAmE,CAAC;AAE7F,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACN,QAAQ;QACR,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,UAAU;QACV,WAAW,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC/C,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC;QACpC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;QAC1C,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC;QACzC,eAAe,EAAE,gBAAgB;KACjC,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAU,CAAC"}
1
+ {"version":3,"file":"provider-adapter.js","sourceRoot":"","sources":["../../src/core/provider-adapter.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,2FAA2F;AAC3F,4FAA4F;AAC5F,+FAA+F;AAC/F,gGAAgG;AAChG,OAAO,EAAE,aAAa,EAA2B,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAA8B,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAA+D,MAAM,yBAAyB,CAAC;AACtJ,OAAO,EAAE,mBAAmB,EAA2B,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAA0B,MAAM,0BAA0B,CAAC;AAyBtF;;sDAEsD;AACtD,MAAM,gBAAgB,GAAG,mEAAmE,CAAC;AAE7F,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACN,QAAQ;QACR,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,UAAU;QACV,WAAW,EAAE,wBAAwB,CAAC,QAAQ,CAAC;QAC/C,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC;QACpC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC;QACpC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;QAC1C,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC;QACzC,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC;QACxC,eAAe,EAAE,gBAAgB;KACjC,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAU,CAAC"}
@@ -0,0 +1,51 @@
1
+ /** The four portable workflow operations a skill's prose may refer to. */
2
+ export declare const LOGICAL_OPERATIONS: readonly ["ask_user", "manage_plan", "run_shell", "delegate_agent"];
3
+ export type LogicalOperation = (typeof LOGICAL_OPERATIONS)[number];
4
+ /**
5
+ * Per-operation conformance state.
6
+ * - `supported` — the host exposes a real primitive for it.
7
+ * - `unsupported` — it does not, and there is no fallback. Say so; do not pretend.
8
+ * - `permission-blocked`— the primitive exists but the host's policy denies it here.
9
+ * - `local-fallback` — no host primitive; the kit degrades to a disclosed substitute.
10
+ * - `unknown` — no tested projection for this provider. Claims nothing.
11
+ */
12
+ export type OperationSupport = "supported" | "unsupported" | "permission-blocked" | "local-fallback" | "unknown";
13
+ export interface OperationShape {
14
+ /** The provider-native operation, described — never a runnable string. */
15
+ operation: string;
16
+ support: OperationSupport;
17
+ /** Citable in-repo/runtime proof, matching provider-lifecycle.ts's evidence convention. */
18
+ evidence: string;
19
+ /** Set ONLY for `local-fallback`: what happens instead. An undisclosed fallback is a lie. */
20
+ fallback: string | null;
21
+ }
22
+ export type OperationShapeMap = Record<LogicalOperation, OperationShape>;
23
+ /**
24
+ * What an operation may NEVER do, regardless of provider support.
25
+ *
26
+ * Host support answers "can this run here". Authority answers "may it". A host
27
+ * that happily exposes a task-writing tool does not thereby grant permission to
28
+ * write gate-approval state — capability is not authority, and conflating the two
29
+ * is how an automated step ends up approving its own gate.
30
+ */
31
+ export interface OperationAuthority {
32
+ mayNot: string;
33
+ rationale: string;
34
+ }
35
+ export declare const OPERATION_AUTHORITY: Record<LogicalOperation, OperationAuthority>;
36
+ /** The operation map for a provider, or an all-`unknown` report-only fallback. */
37
+ export declare function getOperationShapes(provider: string): OperationShapeMap;
38
+ /** The shape for one operation on a provider (unknown-fallback if unrecognized). */
39
+ export declare function getOperationShape(provider: string, operation: string): OperationShape;
40
+ /** True when `name` is one of the four logical operations. */
41
+ export declare function isLogicalOperation(name: string): name is LogicalOperation;
42
+ /**
43
+ * The anti-smuggling invariant, enforced rather than documented: no logical
44
+ * operation may ever appear in the frontmatter-reachable invocation enum.
45
+ *
46
+ * Called by `validate`; also covered by a unit test. If someone "helpfully" adds
47
+ * `run_shell` to KNOWN_INVOCATION_IDS to make a skill resolve, this fails loudly
48
+ * instead of silently handing author-controlled frontmatter a shell.
49
+ */
50
+ export declare function assertOperationsNotInvocable(): string[];
51
+ //# sourceMappingURL=provider-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-operations.d.ts","sourceRoot":"","sources":["../../src/core/provider-operations.ts"],"names":[],"mappings":"AAyCA,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,qEAAsE,CAAC;AACtG,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,aAAa,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAEjH,MAAM,WAAW,cAAc;IAC9B,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAsB5E,CAAC;AAuFF,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAEtE;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAUrF;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAOvD"}
@@ -0,0 +1,171 @@
1
+ // Per-provider LOGICAL WORKFLOW OPERATIONS — the second trusted adapter table.
2
+ //
3
+ // ─── Why this is NOT a second capability schema ──────────────────────────────
4
+ // It reuses the existing provider/diagnostics plumbing (same provider keys as
5
+ // provider-invocation.ts / provider-projection.ts, surfaced through the existing
6
+ // `doctor --providers` and `validate --portable` commands). It adds no manifest
7
+ // field, no CLI command, and no user-authored file. It is consumed ONLY by
8
+ // adapter code resolving operations named in skill PROSE.
9
+ //
10
+ // ─── Why frontmatter can never reach it ──────────────────────────────────────
11
+ // `capability.ts` keeps a closed enum, KNOWN_INVOCATION_IDS, for exactly one
12
+ // reason: a capability's `invocation.id` comes from FRONTMATTER, which is
13
+ // author-controlled and therefore hostile-input. Restricting it to a closed set
14
+ // of logical ids means hostile frontmatter can name an id at most — never smuggle
15
+ // an executable string. provider-invocation.ts is the seam that maps those ids to
16
+ // provider-native operations.
17
+ //
18
+ // The four operations here — `ask_user`, `manage_plan`, `run_shell`,
19
+ // `delegate_agent` — MUST NOT join that enum. `run_shell` and `delegate_agent`
20
+ // are precisely the strings the enum exists to keep out of frontmatter's reach:
21
+ // admitting them would hand author-controlled input a name for "execute a shell
22
+ // command" and "spawn an agent". The enum's value is entirely in what it EXCLUDES,
23
+ // so growing it to be convenient dissolves it.
24
+ //
25
+ // These names are therefore keyed off a SEPARATE type that frontmatter never
26
+ // indexes, and `assertOperationsNotInvocable()` fails the build if the two sets
27
+ // ever intersect. That is enforcement, not documentation — see the test.
28
+ //
29
+ // Mapping of the capability model vs these operations:
30
+ //
31
+ // | Layer | Source | Trust | Reachable from frontmatter |
32
+ // |----------------------|------------------|------------|----------------------------|
33
+ // | invocation.id | capability YAML | hostile | YES — closed enum only |
34
+ // | InvocationShape | adapter constant | trusted | no (mapped from id) |
35
+ // | LogicalOperation | skill prose | hostile | NO — never id-indexed |
36
+ // | OperationShape | adapter constant | trusted | no (mapped from operation) |
37
+ //
38
+ // Prose naming an operation is resolved by adapter code, never executed from the
39
+ // name. Descriptors below are DESCRIPTIVE (what the host does), not runnable.
40
+ import { KNOWN_INVOCATION_IDS } from "./capability.js";
41
+ /** The four portable workflow operations a skill's prose may refer to. */
42
+ export const LOGICAL_OPERATIONS = ["ask_user", "manage_plan", "run_shell", "delegate_agent"];
43
+ export const OPERATION_AUTHORITY = {
44
+ ask_user: {
45
+ mayNot: "Synthesize, infer, or default an answer the human did not give.",
46
+ rationale: "The value of asking is that a human answered. A fabricated answer is worse than no answer: it looks like consent.",
47
+ },
48
+ manage_plan: {
49
+ mayNot: "Create or flip Gate 1 / Gate 2 approval state.",
50
+ rationale: "gate-rules.md requires that a human explicitly typed approval. An operation that can write approval state lets automation approve its own work. Reading plan state and writing non-gate fields is fine.",
51
+ },
52
+ run_shell: {
53
+ mayNot: "Be named by capability frontmatter, or be reached from any author-controlled string.",
54
+ rationale: "This is the exact string KNOWN_INVOCATION_IDS exists to keep out of hostile frontmatter's reach.",
55
+ },
56
+ delegate_agent: {
57
+ mayNot: "Spawn a reviewer/evaluator to produce a verdict outside the orchestrated flow, or bypass the orchestrator boundary.",
58
+ rationale: "orchestration-rules.md routes delegation through the orchestrator. A skill that could spawn its own evaluator could manufacture the verdict that authorizes its own ship.",
59
+ },
60
+ };
61
+ // ─── Per-provider mappings ───────────────────────────────────────────────────
62
+ // Trusted constants. As with provider-projection.ts, they must never over-claim:
63
+ // assert `supported` only where the host really exposes the primitive.
64
+ // Claude Code exposes each of these as a typed tool in the current runtime.
65
+ const CLAUDE_CODE_OPERATIONS = {
66
+ ask_user: {
67
+ operation: "AskUserQuestion tool",
68
+ support: "supported",
69
+ evidence: "typed AskUserQuestion tool in the Claude Code runtime",
70
+ fallback: null,
71
+ },
72
+ manage_plan: {
73
+ operation: "TaskCreate / TaskUpdate / TaskList tools, plus plan files under tasks/plans/",
74
+ support: "supported",
75
+ evidence: "typed Task tools in the Claude Code runtime; plan files on disk",
76
+ fallback: null,
77
+ },
78
+ run_shell: {
79
+ operation: "Bash tool",
80
+ support: "supported",
81
+ evidence: "typed Bash tool in the Claude Code runtime",
82
+ fallback: null,
83
+ },
84
+ delegate_agent: {
85
+ operation: "Agent/Task tool (by agent type)",
86
+ support: "supported",
87
+ evidence: "typed Agent/Task tool; mirrors invoke-agent in provider-invocation.ts",
88
+ fallback: null,
89
+ },
90
+ };
91
+ const CLAUDE_PLUGIN_OPERATIONS = { ...CLAUDE_CODE_OPERATIONS };
92
+ // Codex reaches skills/commands/agents through instruction/prompt projection rather
93
+ // than typed invoke tools (see provider-projection.ts: codex invocable = advisory).
94
+ // Prompt projection is not a primitive: the model may comply or not. Anything that
95
+ // depends on a typed tool is therefore NOT `supported` here.
96
+ const CODEX_OPERATIONS = {
97
+ ask_user: {
98
+ operation: "question asked inline in the assistant's prose",
99
+ support: "local-fallback",
100
+ evidence: "no typed prompt primitive; codex surfaces are prompt-projected (provider-projection.ts)",
101
+ fallback: "The agent asks in prose and waits. There is no structured option list and no host guarantee that the turn actually blocks.",
102
+ },
103
+ manage_plan: {
104
+ operation: "plan files under tasks/plans/ (no typed task tool)",
105
+ support: "local-fallback",
106
+ evidence: "no typed Task tool on codex; plan files are plain files the kit already writes",
107
+ fallback: "Plan state lives only in files. Nothing enforces that the agent updates them.",
108
+ },
109
+ run_shell: {
110
+ operation: "codex shell execution",
111
+ support: "unknown",
112
+ evidence: "no in-repo proof of the shell surface's contract for this kit; not asserted",
113
+ fallback: null,
114
+ },
115
+ delegate_agent: {
116
+ operation: "codex subagent surface",
117
+ support: "unsupported",
118
+ evidence: "subagent surface exists (SubagentStart) but is not a typed invoke — invoke-agent is advisory on codex (provider-invocation.ts)",
119
+ fallback: null,
120
+ },
121
+ };
122
+ const OPERATIONS_BY_PROVIDER = {
123
+ "claude-code": CLAUDE_CODE_OPERATIONS,
124
+ "claude-plugin": CLAUDE_PLUGIN_OPERATIONS,
125
+ codex: CODEX_OPERATIONS,
126
+ };
127
+ /** An all-`unknown` map for a provider with no tested projection (claims nothing). */
128
+ function unknownOperations() {
129
+ const out = {};
130
+ for (const op of LOGICAL_OPERATIONS) {
131
+ out[op] = {
132
+ operation: "(unknown)",
133
+ support: "unknown",
134
+ evidence: "no tested operation projection for this provider",
135
+ fallback: null,
136
+ };
137
+ }
138
+ return out;
139
+ }
140
+ /** The operation map for a provider, or an all-`unknown` report-only fallback. */
141
+ export function getOperationShapes(provider) {
142
+ return OPERATIONS_BY_PROVIDER[provider] ?? unknownOperations();
143
+ }
144
+ /** The shape for one operation on a provider (unknown-fallback if unrecognized). */
145
+ export function getOperationShape(provider, operation) {
146
+ const map = getOperationShapes(provider);
147
+ return (map[operation] ?? {
148
+ operation: "(unknown)",
149
+ support: "unknown",
150
+ evidence: "unrecognized operation name",
151
+ fallback: null,
152
+ });
153
+ }
154
+ /** True when `name` is one of the four logical operations. */
155
+ export function isLogicalOperation(name) {
156
+ return LOGICAL_OPERATIONS.includes(name);
157
+ }
158
+ /**
159
+ * The anti-smuggling invariant, enforced rather than documented: no logical
160
+ * operation may ever appear in the frontmatter-reachable invocation enum.
161
+ *
162
+ * Called by `validate`; also covered by a unit test. If someone "helpfully" adds
163
+ * `run_shell` to KNOWN_INVOCATION_IDS to make a skill resolve, this fails loudly
164
+ * instead of silently handing author-controlled frontmatter a shell.
165
+ */
166
+ export function assertOperationsNotInvocable() {
167
+ const leaked = LOGICAL_OPERATIONS.filter((op) => KNOWN_INVOCATION_IDS.has(op));
168
+ return leaked.map((op) => `"${op}" appears in KNOWN_INVOCATION_IDS — frontmatter could then name it. ` +
169
+ `Logical operations are adapter-internal by design; remove it from the enum.`);
170
+ }
171
+ //# sourceMappingURL=provider-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-operations.js","sourceRoot":"","sources":["../../src/core/provider-operations.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,2EAA2E;AAC3E,0DAA0D;AAC1D,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,0EAA0E;AAC1E,gFAAgF;AAChF,kFAAkF;AAClF,kFAAkF;AAClF,8BAA8B;AAC9B,EAAE;AACF,qEAAqE;AACrE,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,mFAAmF;AACnF,+CAA+C;AAC/C,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,yEAAyE;AACzE,EAAE;AACF,uDAAuD;AACvD,EAAE;AACF,0FAA0F;AAC1F,0FAA0F;AAC1F,0FAA0F;AAC1F,0FAA0F;AAC1F,0FAA0F;AAC1F,0FAA0F;AAC1F,EAAE;AACF,iFAAiF;AACjF,8EAA8E;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAU,CAAC;AAsCtG,MAAM,CAAC,MAAM,mBAAmB,GAAiD;IAChF,QAAQ,EAAE;QACT,MAAM,EAAE,iEAAiE;QACzE,SAAS,EACR,mHAAmH;KACpH;IACD,WAAW,EAAE;QACZ,MAAM,EAAE,gDAAgD;QACxD,SAAS,EACR,yMAAyM;KAC1M;IACD,SAAS,EAAE;QACV,MAAM,EAAE,sFAAsF;QAC9F,SAAS,EACR,kGAAkG;KACnG;IACD,cAAc,EAAE;QACf,MAAM,EACL,qHAAqH;QACtH,SAAS,EACR,2KAA2K;KAC5K;CACD,CAAC;AAEF,gFAAgF;AAChF,iFAAiF;AACjF,uEAAuE;AAEvE,4EAA4E;AAC5E,MAAM,sBAAsB,GAAsB;IACjD,QAAQ,EAAE;QACT,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,uDAAuD;QACjE,QAAQ,EAAE,IAAI;KACd;IACD,WAAW,EAAE;QACZ,SAAS,EAAE,8EAA8E;QACzF,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,iEAAiE;QAC3E,QAAQ,EAAE,IAAI;KACd;IACD,SAAS,EAAE;QACV,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,4CAA4C;QACtD,QAAQ,EAAE,IAAI;KACd;IACD,cAAc,EAAE;QACf,SAAS,EAAE,iCAAiC;QAC5C,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,uEAAuE;QACjF,QAAQ,EAAE,IAAI;KACd;CACD,CAAC;AAEF,MAAM,wBAAwB,GAAsB,EAAE,GAAG,sBAAsB,EAAE,CAAC;AAElF,oFAAoF;AACpF,oFAAoF;AACpF,mFAAmF;AACnF,6DAA6D;AAC7D,MAAM,gBAAgB,GAAsB;IAC3C,QAAQ,EAAE;QACT,SAAS,EAAE,gDAAgD;QAC3D,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,yFAAyF;QACnG,QAAQ,EAAE,4HAA4H;KACtI;IACD,WAAW,EAAE;QACZ,SAAS,EAAE,oDAAoD;QAC/D,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,gFAAgF;QAC1F,QAAQ,EAAE,+EAA+E;KACzF;IACD,SAAS,EAAE;QACV,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,6EAA6E;QACvF,QAAQ,EAAE,IAAI;KACd;IACD,cAAc,EAAE;QACf,SAAS,EAAE,wBAAwB;QACnC,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,gIAAgI;QAC1I,QAAQ,EAAE,IAAI;KACd;CACD,CAAC;AAEF,MAAM,sBAAsB,GAAsC;IACjE,aAAa,EAAE,sBAAsB;IACrC,eAAe,EAAE,wBAAwB;IACzC,KAAK,EAAE,gBAAgB;CACvB,CAAC;AAEF,sFAAsF;AACtF,SAAS,iBAAiB;IACzB,MAAM,GAAG,GAAG,EAAuB,CAAC;IACpC,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACrC,GAAG,CAAC,EAAE,CAAC,GAAG;YACT,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,kDAAkD;YAC5D,QAAQ,EAAE,IAAI;SACd,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAClD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC;AAChE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,SAAiB;IACpE,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CACN,GAAG,CAAC,SAA6B,CAAC,IAAI;QACrC,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,6BAA6B;QACvC,QAAQ,EAAE,IAAI;KACd,CACD,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B;IAC3C,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,OAAO,MAAM,CAAC,GAAG,CAChB,CAAC,EAAE,EAAE,EAAE,CACN,IAAI,EAAE,sEAAsE;QAC5E,6EAA6E,CAC9E,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ import { migrate } from "./commands/migrate.js";
18
18
  import { setup } from "./commands/setup.js";
19
19
  import { task } from "./commands/task.js";
20
20
  import { inventory } from "./commands/inventory.js";
21
+ import { plan } from "./commands/plan.js";
21
22
  import { trace } from "./commands/trace.js";
22
23
  // NOTE: index-command is imported lazily inside its case — it pulls in `node:sqlite`
23
24
  // (experimental), so a static import would load SQLite + emit its warning on EVERY command.
@@ -52,6 +53,7 @@ ${pc.bold("Commands:")}
52
53
  ${pc.green("providers")} Show effective provider support matrix and enforcement levels ('providers [<p>] --lifecycle' for the capability-adapter + lifecycle matrix)
53
54
  ${pc.green("visual-plan")} Visual plan contracts: validate|status|approve --revision <n>|rehash|export --format html|prepare-feedback --ops <f>|apply-feedback --batch <id> [--check|--receipt <f>]|patch --op <f>|edit|view <plan-dir> [--json]
54
55
  ${pc.green("inventory")} List harness artifacts with governance metadata
56
+ ${pc.green("plan")} Read-only plan inspection (status <plan-dir> | check <phase-file>)
55
57
  ${pc.green("trace")} On-demand trace recall: score | audit | propose | --friction
56
58
  ${pc.green("index")} Build/refresh the opt-in derived SQLite index over the append logs
57
59
  ${pc.green("query")} Read-only aggregate queries over the derived index
@@ -70,7 +72,10 @@ ${pc.bold("Options:")}
70
72
  --portable Validate: include portable provider contract checks
71
73
  --strict Validate: treat WARN as failure (exit 1); off by default
72
74
  --workflow Validate: run only the workflow.yaml drift-check (CI scope)
75
+ --gates Validate: run only the gate-authority contract check (CI scope)
76
+ --parity Validate: regenerate the plugin and diff it against the committed tree
73
77
  --ownership Validate: run only the artifact ownership-completeness check
78
+ --agents Validate: run only declared agent-contract conformance checks
74
79
  --packs Validate: run only the pack-manifest coherence + safety check
75
80
  --rules Validate: run only the routing-table-breadth WARN check
76
81
  --fail-over <N> Budget context: exit non-zero when a profile exceeds N tokens
@@ -167,7 +172,10 @@ async function main() {
167
172
  "no-color",
168
173
  "verbose",
169
174
  "workflow",
175
+ "gates",
176
+ "parity",
170
177
  "ownership",
178
+ "agents",
171
179
  "json",
172
180
  "stale",
173
181
  "critical",
@@ -257,7 +265,10 @@ async function main() {
257
265
  portable: args.portable,
258
266
  strict: args.strict,
259
267
  workflow: args.workflow,
268
+ gates: args.gates,
269
+ parity: args.parity,
260
270
  ownership: args.ownership,
271
+ agents: args.agents,
261
272
  substrate: args.substrate,
262
273
  packs: args.packs,
263
274
  rules: args.rules,
@@ -298,6 +309,13 @@ async function main() {
298
309
  lifecycle: args.lifecycle,
299
310
  });
300
311
  break;
312
+ case "plan":
313
+ await plan({
314
+ subcommand: args._[1],
315
+ target: args._[2],
316
+ json: args.json,
317
+ });
318
+ break;
301
319
  case "inventory":
302
320
  await inventory({
303
321
  json: args.json,
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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"}