@openrig/cli 0.3.2 → 0.3.3-rc.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 (146) hide show
  1. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +8 -8
  2. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
  3. package/daemon/dist/adapters/cmux-transport.js +51 -9
  4. package/daemon/dist/adapters/cmux-transport.js.map +1 -1
  5. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  6. package/daemon/dist/adapters/codex-runtime-adapter.js +32 -4
  7. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  8. package/daemon/dist/adapters/tmux.d.ts +32 -1
  9. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  10. package/daemon/dist/adapters/tmux.js +75 -2
  11. package/daemon/dist/adapters/tmux.js.map +1 -1
  12. package/daemon/dist/db/migrations/042_rig_archive.d.ts +16 -0
  13. package/daemon/dist/db/migrations/042_rig_archive.d.ts.map +1 -0
  14. package/daemon/dist/db/migrations/042_rig_archive.js +21 -0
  15. package/daemon/dist/db/migrations/042_rig_archive.js.map +1 -0
  16. package/daemon/dist/domain/ps-projection.d.ts +6 -1
  17. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  18. package/daemon/dist/domain/ps-projection.js +10 -1
  19. package/daemon/dist/domain/ps-projection.js.map +1 -1
  20. package/daemon/dist/domain/rig-expansion-service.d.ts +1 -1
  21. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  22. package/daemon/dist/domain/rig-expansion-service.js +12 -10
  23. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  24. package/daemon/dist/domain/rig-repository.d.ts +28 -2
  25. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  26. package/daemon/dist/domain/rig-repository.js +40 -3
  27. package/daemon/dist/domain/rig-repository.js.map +1 -1
  28. package/daemon/dist/domain/rigspec-instantiator.d.ts +176 -0
  29. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  30. package/daemon/dist/domain/rigspec-instantiator.js +305 -37
  31. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  32. package/daemon/dist/domain/rigspec-preflight.d.ts +19 -1
  33. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  34. package/daemon/dist/domain/rigspec-preflight.js +30 -12
  35. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  36. package/daemon/dist/domain/rigspec-schema.d.ts +1 -0
  37. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  38. package/daemon/dist/domain/rigspec-schema.js +4 -1
  39. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  40. package/daemon/dist/domain/session-transport.d.ts +15 -0
  41. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  42. package/daemon/dist/domain/session-transport.js +8 -3
  43. package/daemon/dist/domain/session-transport.js.map +1 -1
  44. package/daemon/dist/domain/topology-converge.d.ts +97 -0
  45. package/daemon/dist/domain/topology-converge.d.ts.map +1 -0
  46. package/daemon/dist/domain/topology-converge.js +70 -0
  47. package/daemon/dist/domain/topology-converge.js.map +1 -0
  48. package/daemon/dist/domain/types.d.ts +6 -0
  49. package/daemon/dist/domain/types.d.ts.map +1 -1
  50. package/daemon/dist/domain/types.js.map +1 -1
  51. package/daemon/dist/domain/whoami-service.d.ts +8 -0
  52. package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
  53. package/daemon/dist/domain/whoami-service.js +1 -0
  54. package/daemon/dist/domain/whoami-service.js.map +1 -1
  55. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  56. package/daemon/dist/domain/workflow-runtime.js +9 -1
  57. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  58. package/daemon/dist/domain/workflow-spec-cache.d.ts +19 -0
  59. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  60. package/daemon/dist/domain/workflow-spec-cache.js +26 -0
  61. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  62. package/daemon/dist/routes/ps.js +4 -1
  63. package/daemon/dist/routes/ps.js.map +1 -1
  64. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  65. package/daemon/dist/routes/rigs.js +124 -2
  66. package/daemon/dist/routes/rigs.js.map +1 -1
  67. package/daemon/dist/startup.d.ts.map +1 -1
  68. package/daemon/dist/startup.js +2 -1
  69. package/daemon/dist/startup.js.map +1 -1
  70. package/daemon/docs/reference/getting-started.md +69 -0
  71. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +78 -9
  72. package/dist/commands/add.d.ts +4 -0
  73. package/dist/commands/add.d.ts.map +1 -0
  74. package/dist/commands/add.js +115 -0
  75. package/dist/commands/add.js.map +1 -0
  76. package/dist/commands/archive.d.ts +10 -0
  77. package/dist/commands/archive.d.ts.map +1 -0
  78. package/dist/commands/archive.js +68 -0
  79. package/dist/commands/archive.js.map +1 -0
  80. package/dist/commands/bootstrap.js +2 -2
  81. package/dist/commands/bootstrap.js.map +1 -1
  82. package/dist/commands/discover.js +2 -2
  83. package/dist/commands/discover.js.map +1 -1
  84. package/dist/commands/down.d.ts +1 -1
  85. package/dist/commands/down.d.ts.map +1 -1
  86. package/dist/commands/down.js +91 -3
  87. package/dist/commands/down.js.map +1 -1
  88. package/dist/commands/ps.d.ts.map +1 -1
  89. package/dist/commands/ps.js +22 -3
  90. package/dist/commands/ps.js.map +1 -1
  91. package/dist/commands/send.d.ts.map +1 -1
  92. package/dist/commands/send.js +11 -0
  93. package/dist/commands/send.js.map +1 -1
  94. package/dist/commands/setup.d.ts +7 -0
  95. package/dist/commands/setup.d.ts.map +1 -1
  96. package/dist/commands/setup.js +28 -1
  97. package/dist/commands/setup.js.map +1 -1
  98. package/dist/commands/status.d.ts.map +1 -1
  99. package/dist/commands/status.js +35 -2
  100. package/dist/commands/status.js.map +1 -1
  101. package/dist/commands/unarchive.d.ts +10 -0
  102. package/dist/commands/unarchive.d.ts.map +1 -0
  103. package/dist/commands/unarchive.js +53 -0
  104. package/dist/commands/unarchive.js.map +1 -0
  105. package/dist/commands/up.d.ts.map +1 -1
  106. package/dist/commands/up.js +50 -0
  107. package/dist/commands/up.js.map +1 -1
  108. package/dist/commands/whoami.d.ts.map +1 -1
  109. package/dist/commands/whoami.js +4 -1
  110. package/dist/commands/whoami.js.map +1 -1
  111. package/dist/commands/workflow.d.ts.map +1 -1
  112. package/dist/commands/workflow.js +2 -3
  113. package/dist/commands/workflow.js.map +1 -1
  114. package/dist/commands/workspace.d.ts.map +1 -1
  115. package/dist/commands/workspace.js +2 -3
  116. package/dist/commands/workspace.js.map +1 -1
  117. package/dist/daemon-lifecycle.d.ts +23 -0
  118. package/dist/daemon-lifecycle.d.ts.map +1 -1
  119. package/dist/daemon-lifecycle.js +24 -0
  120. package/dist/daemon-lifecycle.js.map +1 -1
  121. package/dist/index.d.ts +3 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +7 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/mcp-server.d.ts.map +1 -1
  126. package/dist/mcp-server.js +29 -0
  127. package/dist/mcp-server.js.map +1 -1
  128. package/dist/release-surface/affected-skills.d.ts +49 -0
  129. package/dist/release-surface/affected-skills.d.ts.map +1 -0
  130. package/dist/release-surface/affected-skills.js +153 -0
  131. package/dist/release-surface/affected-skills.js.map +1 -0
  132. package/dist/release-surface/extract-surface.d.ts +23 -0
  133. package/dist/release-surface/extract-surface.d.ts.map +1 -0
  134. package/dist/release-surface/extract-surface.js +193 -0
  135. package/dist/release-surface/extract-surface.js.map +1 -0
  136. package/dist/release-surface/generate.d.ts +2 -0
  137. package/dist/release-surface/generate.d.ts.map +1 -0
  138. package/dist/release-surface/generate.js +51 -0
  139. package/dist/release-surface/generate.js.map +1 -0
  140. package/dist/release-surface/surface-diff.d.ts +40 -0
  141. package/dist/release-surface/surface-diff.d.ts.map +1 -0
  142. package/dist/release-surface/surface-diff.js +212 -0
  143. package/dist/release-surface/surface-diff.js.map +1 -0
  144. package/package.json +1 -1
  145. package/ui/dist/assets/{index-GjTxfi9S.js → index-CrJgCmkX.js} +146 -141
  146. package/ui/dist/index.html +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { SurfaceDiff } from "./surface-diff.js";
2
+ /**
3
+ * Split a command token into path segments, stripping a leading `rig ` and
4
+ * collapsing internal whitespace. `"rig scope slice create"` -> `["scope",
5
+ * "slice", "create"]`; `"queue create"` -> `["queue", "create"]`.
6
+ */
7
+ export declare function toSegments(token: string): string[];
8
+ /**
9
+ * The section-3 changed-surface set: every command-path string a release touched,
10
+ * expanded from the diff's bare-top-level + subcommand-list grammar. This is
11
+ * the AC-3a target (validated against 13.1's shipped sample diff + fixture).
12
+ */
13
+ export declare function expandChangedSurface(diff: SurfaceDiff): Set<string>;
14
+ /**
15
+ * Component-wise prefix match in EITHER direction: true iff one segment-list
16
+ * equals OR is a path-segment prefix of the other. Compares segment-by-segment
17
+ * up to the shorter length - so `["scope"]` matches `["scope","slice","create"]`
18
+ * (and vice-versa), but `["up"]` does NOT match `["update"]` (distinct first
19
+ * segment). This is the advisor sharpening over raw-string prefix.
20
+ */
21
+ export declare function pathsMatch(a: string[], b: string[]): boolean;
22
+ /** Does a skill token match any path in the changed-surface set? */
23
+ export declare function skillTokenMatches(skillToken: string, changedSurface: Set<string>): boolean;
24
+ export interface SkillIndexEntry {
25
+ /** Skill directory name (the canonical skill id). */
26
+ name: string;
27
+ /** The skill's `metadata.cli_surfaces_referenced` tokens (13.1 grammar). */
28
+ cliSurfacesReferenced: string[];
29
+ }
30
+ /**
31
+ * AC-3b: the affected-skill output. A skill is affected iff ANY of its
32
+ * `cli_surfaces_referenced` tokens matches the changed-surface set. Returns a
33
+ * sorted, de-duplicated list of skill names - deterministic for a given
34
+ * (diff, skills) pair (AC-4).
35
+ */
36
+ export declare function computeAffectedSkills(diff: SurfaceDiff, skills: SkillIndexEntry[]): string[];
37
+ /**
38
+ * Parse `metadata.cli_surfaces_referenced` from a SKILL.md frontmatter block.
39
+ * Returns [] when there is no frontmatter, no metadata block, or the field is
40
+ * absent/malformed (a skill with no CLI surfaces simply isn't in the index).
41
+ */
42
+ export declare function parseCliSurfaces(skillMarkdown: string): string[];
43
+ /**
44
+ * Load the skill index from a skills-root directory (offline fs read). Each
45
+ * immediate subdirectory holding a SKILL.md with a non-empty
46
+ * `cli_surfaces_referenced` becomes one index entry. Sorted by name.
47
+ */
48
+ export declare function loadSkillIndex(skillsRoot: string): SkillIndexEntry[];
49
+ //# sourceMappingURL=affected-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affected-skills.d.ts","sourceRoot":"","sources":["../../src/release-surface/affected-skills.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAGlD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAenE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAO5D;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAO1F;AAED,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAU5F;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAahE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,EAAE,CAgBpE"}
@@ -0,0 +1,153 @@
1
+ // OPR.0.3.3.13.2 - Skill <-> CLI-surface binding-index lookup (Component 2 of slice 13).
2
+ //
3
+ // Given a release surface-diff (13.1's deterministic output, surface-diff.ts) and
4
+ // a set of skills carrying `metadata.cli_surfaces_referenced`, returns which
5
+ // skills are affected by the release. Fully deterministic + offline (AC-4): the
6
+ // match is pure set/string ops over the diff + the provided skill index; the
7
+ // corpus loader is a plain filesystem read. No network, no agent/LLM - composes
8
+ // with 13.1's deterministic half. 13.3 (the dispatcher that WRITES skill
9
+ // updates) decides invocation; this stays invocation-agnostic.
10
+ //
11
+ // Join grammar - ADVISOR-RATIFIED (qitem-20260608235706-64ba9ef2; see the slice
12
+ // governance-watch.md SHARP WATCH #1):
13
+ // - Skill tokens are stored WITHOUT the `rig ` prefix, in 13.1's command-path
14
+ // grammar (`scope slice create`, `queue create`). We strip a leading `rig `
15
+ // defensively so a skill written either way still matches.
16
+ // - Changed-surface set: per `added_commands`, `{name}` plus `{name + " " +
17
+ // each subcommand}`; per `added_flags`, `{command}` plus `{command + " " +
18
+ // each subcommand}`. (13.1 emits `added_commands[].name` as a BARE top-level
19
+ // name with deep paths in a separate `subcommands` list, so the set MUST be
20
+ // expanded - a naive name-only intersect false-negatives `scope slice create`.)
21
+ // - Match = COMPONENT-WISE (path-segment) prefix, in EITHER direction (NOT
22
+ // raw-string prefix - so `up` does NOT match `update`). The bias is
23
+ // deliberately conservative: prefix-both-directions OVER-includes, never
24
+ // UNDER-includes, which is exactly right for AC-3's hard no-false-negative
25
+ // floor. Over-inclusions are the "explained extras" AC-3 permits.
26
+ import { readFileSync, readdirSync } from "node:fs";
27
+ import { join } from "node:path";
28
+ import { parse } from "yaml";
29
+ /**
30
+ * Split a command token into path segments, stripping a leading `rig ` and
31
+ * collapsing internal whitespace. `"rig scope slice create"` -> `["scope",
32
+ * "slice", "create"]`; `"queue create"` -> `["queue", "create"]`.
33
+ */
34
+ export function toSegments(token) {
35
+ const stripped = token.trim().replace(/^rig\s+/, "");
36
+ return stripped.split(/\s+/).filter((segment) => segment.length > 0);
37
+ }
38
+ /**
39
+ * The section-3 changed-surface set: every command-path string a release touched,
40
+ * expanded from the diff's bare-top-level + subcommand-list grammar. This is
41
+ * the AC-3a target (validated against 13.1's shipped sample diff + fixture).
42
+ */
43
+ export function expandChangedSurface(diff) {
44
+ const set = new Set();
45
+ for (const cmd of diff.added_commands ?? []) {
46
+ if (cmd.name)
47
+ set.add(cmd.name);
48
+ for (const sub of cmd.subcommands ?? []) {
49
+ if (sub)
50
+ set.add(`${cmd.name} ${sub}`);
51
+ }
52
+ }
53
+ for (const entry of diff.added_flags ?? []) {
54
+ if (entry.command)
55
+ set.add(entry.command);
56
+ for (const sub of entry.subcommands ?? []) {
57
+ if (sub)
58
+ set.add(`${entry.command} ${sub}`);
59
+ }
60
+ }
61
+ return set;
62
+ }
63
+ /**
64
+ * Component-wise prefix match in EITHER direction: true iff one segment-list
65
+ * equals OR is a path-segment prefix of the other. Compares segment-by-segment
66
+ * up to the shorter length - so `["scope"]` matches `["scope","slice","create"]`
67
+ * (and vice-versa), but `["up"]` does NOT match `["update"]` (distinct first
68
+ * segment). This is the advisor sharpening over raw-string prefix.
69
+ */
70
+ export function pathsMatch(a, b) {
71
+ if (a.length === 0 || b.length === 0)
72
+ return false;
73
+ const shorter = Math.min(a.length, b.length);
74
+ for (let i = 0; i < shorter; i++) {
75
+ if (a[i] !== b[i])
76
+ return false;
77
+ }
78
+ return true;
79
+ }
80
+ /** Does a skill token match any path in the changed-surface set? */
81
+ export function skillTokenMatches(skillToken, changedSurface) {
82
+ const tokenSegments = toSegments(skillToken);
83
+ if (tokenSegments.length === 0)
84
+ return false;
85
+ for (const changed of changedSurface) {
86
+ if (pathsMatch(tokenSegments, toSegments(changed)))
87
+ return true;
88
+ }
89
+ return false;
90
+ }
91
+ /**
92
+ * AC-3b: the affected-skill output. A skill is affected iff ANY of its
93
+ * `cli_surfaces_referenced` tokens matches the changed-surface set. Returns a
94
+ * sorted, de-duplicated list of skill names - deterministic for a given
95
+ * (diff, skills) pair (AC-4).
96
+ */
97
+ export function computeAffectedSkills(diff, skills) {
98
+ const changed = expandChangedSurface(diff);
99
+ const affected = new Set();
100
+ for (const skill of skills) {
101
+ const hit = (skill.cliSurfacesReferenced ?? []).some((token) => skillTokenMatches(token, changed));
102
+ if (hit)
103
+ affected.add(skill.name);
104
+ }
105
+ return [...affected].sort();
106
+ }
107
+ /**
108
+ * Parse `metadata.cli_surfaces_referenced` from a SKILL.md frontmatter block.
109
+ * Returns [] when there is no frontmatter, no metadata block, or the field is
110
+ * absent/malformed (a skill with no CLI surfaces simply isn't in the index).
111
+ */
112
+ export function parseCliSurfaces(skillMarkdown) {
113
+ const match = skillMarkdown.match(/^---\n([\s\S]*?)\n---/);
114
+ if (!match)
115
+ return [];
116
+ let meta;
117
+ try {
118
+ meta = parse(match[1]);
119
+ }
120
+ catch {
121
+ return [];
122
+ }
123
+ const field = meta
124
+ ?.metadata?.cli_surfaces_referenced;
125
+ if (!Array.isArray(field))
126
+ return [];
127
+ return field.filter((value) => typeof value === "string");
128
+ }
129
+ /**
130
+ * Load the skill index from a skills-root directory (offline fs read). Each
131
+ * immediate subdirectory holding a SKILL.md with a non-empty
132
+ * `cli_surfaces_referenced` becomes one index entry. Sorted by name.
133
+ */
134
+ export function loadSkillIndex(skillsRoot) {
135
+ const entries = [];
136
+ for (const dirent of readdirSync(skillsRoot, { withFileTypes: true })) {
137
+ if (!dirent.isDirectory())
138
+ continue;
139
+ let text;
140
+ try {
141
+ text = readFileSync(join(skillsRoot, dirent.name, "SKILL.md"), "utf8");
142
+ }
143
+ catch {
144
+ continue; // no SKILL.md in this dir
145
+ }
146
+ const tokens = parseCliSurfaces(text);
147
+ if (tokens.length > 0) {
148
+ entries.push({ name: dirent.name, cliSurfacesReferenced: tokens });
149
+ }
150
+ }
151
+ return entries.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
152
+ }
153
+ //# sourceMappingURL=affected-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affected-skills.js","sourceRoot":"","sources":["../../src/release-surface/affected-skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface Surface {
2
+ /** Full command paths, space-joined (e.g. "queue create", "scope slice create"). */
3
+ commands: Set<string>;
4
+ /** "<command-path> <--flag>" entries, split on FLAG_SEP. */
5
+ flags: Set<string>;
6
+ }
7
+ export declare const FLAG_SEP = "\0";
8
+ /**
9
+ * Reduce an option's first argument (the flags string) to its canonical long
10
+ * flag, ignoring the value placeholder. Examples:
11
+ * "--body-file <path>" -> "--body-file"
12
+ * "-l, --literal" -> "--literal"
13
+ * "--no-mission-notes" -> "--no-mission-notes"
14
+ * "-y" -> "-y"
15
+ * Returns null when no flag token is present.
16
+ */
17
+ export declare function normalizeFlag(flagsArg: string): string | null;
18
+ /** Build the combined command surface from a set of `{name, text}` sources. */
19
+ export declare function extractSurfaceFromSources(files: {
20
+ name: string;
21
+ text: string;
22
+ }[]): Surface;
23
+ //# sourceMappingURL=extract-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-surface.d.ts","sourceRoot":"","sources":["../../src/release-surface/extract-surface.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,OAAO;IACtB,oFAAoF;IACpF,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,4DAA4D;IAC5D,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAMD,eAAO,MAAM,QAAQ,OAAW,CAAC;AAkBjC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM7D;AA4ID,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAQ1F"}
@@ -0,0 +1,193 @@
1
+ // OPR.0.3.3.13.1 - CLI surface-detection parser (Component 1 of slice 13).
2
+ //
3
+ // Extracts the Commander command surface from `packages/cli/src/commands/*.ts`
4
+ // source text via the TypeScript compiler API (already a devDependency; no new
5
+ // dep per the slice governance ruling). The surface is the set of command paths
6
+ // (e.g. `scope slice create`) and option name-tokens (e.g. `--body-file`) per
7
+ // command, taken from the Commander registration chain - NOT from the filename
8
+ // and NOT from option descriptions (which are frequently template literals).
9
+ //
10
+ // Two registration idioms are resolved:
11
+ // - chained inline subcommands: `cmd.command("create").requiredOption(...)`,
12
+ // - factory indirection: `parent.addCommand(buildChildCommand())` where the
13
+ // builder returns `new Command("child")...`.
14
+ // The registration NAME wins over the filename (the `rig-policy.ts` file's
15
+ // `new Command("policy")` surfaces as `policy`, never `rig-policy`).
16
+ import ts from "typescript";
17
+ // NUL separator between a command path and a flag. Command paths are
18
+ // space-joined, so a space cannot unambiguously split a "<path> <flag>" entry
19
+ // (the path itself contains spaces). NUL never occurs in a path or flag token,
20
+ // so it splits cleanly. It lives only inside Set keys and never reaches output.
21
+ export const FLAG_SEP = "\u0000";
22
+ function firstToken(s) {
23
+ return s.trim().split(/\s+/)[0] ?? "";
24
+ }
25
+ function stringLiteralText(node) {
26
+ if (!node)
27
+ return null;
28
+ if (ts.isStringLiteral(node) || ts.isNoSubstitutionTemplateLiteral(node))
29
+ return node.text;
30
+ return null;
31
+ }
32
+ /**
33
+ * Reduce an option's first argument (the flags string) to its canonical long
34
+ * flag, ignoring the value placeholder. Examples:
35
+ * "--body-file <path>" -> "--body-file"
36
+ * "-l, --literal" -> "--literal"
37
+ * "--no-mission-notes" -> "--no-mission-notes"
38
+ * "-y" -> "-y"
39
+ * Returns null when no flag token is present.
40
+ */
41
+ export function normalizeFlag(flagsArg) {
42
+ const tokens = flagsArg.split(/[\s,]+/).filter(Boolean);
43
+ const longs = tokens.filter((t) => t.startsWith("--"));
44
+ if (longs.length > 0)
45
+ return longs[longs.length - 1];
46
+ const shorts = tokens.filter((t) => /^-[^-]/.test(t));
47
+ return shorts.length > 0 ? shorts[0] : null;
48
+ }
49
+ function unwrap(e) {
50
+ let cur = e;
51
+ while (ts.isParenthesizedExpression(cur))
52
+ cur = cur.expression;
53
+ return cur;
54
+ }
55
+ function freshNode(rawName) {
56
+ return { name: firstToken(rawName), flags: new Set(), children: [] };
57
+ }
58
+ /** Extract the root command node(s) for a single source file. */
59
+ function extractFile(fileName, text) {
60
+ const sf = ts.createSourceFile(fileName, text, ts.ScriptTarget.ES2022, true);
61
+ const fnDecls = new Map();
62
+ const exportedFnNames = [];
63
+ sf.forEachChild((node) => {
64
+ if (ts.isFunctionDeclaration(node) && node.name) {
65
+ fnDecls.set(node.name.text, node);
66
+ const exported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
67
+ if (exported)
68
+ exportedFnNames.push(node.name.text);
69
+ }
70
+ });
71
+ const fnRoots = new Map();
72
+ const inProgress = new Set();
73
+ function rootOfFunction(name) {
74
+ if (fnRoots.has(name))
75
+ return fnRoots.get(name);
76
+ if (inProgress.has(name))
77
+ return null; // cycle guard
78
+ const decl = fnDecls.get(name);
79
+ if (!decl || !decl.body) {
80
+ fnRoots.set(name, null);
81
+ return null;
82
+ }
83
+ inProgress.add(name);
84
+ const root = processBody(decl.body);
85
+ inProgress.delete(name);
86
+ fnRoots.set(name, root);
87
+ return root;
88
+ }
89
+ function processBody(body) {
90
+ const vars = new Map();
91
+ let root = null;
92
+ for (const stmt of body.statements) {
93
+ if (ts.isVariableStatement(stmt)) {
94
+ for (const decl of stmt.declarationList.declarations) {
95
+ if (ts.isIdentifier(decl.name) && decl.initializer) {
96
+ const node = evalExpr(decl.initializer, vars);
97
+ if (node)
98
+ vars.set(decl.name.text, node);
99
+ }
100
+ }
101
+ }
102
+ else if (ts.isExpressionStatement(stmt)) {
103
+ evalExpr(stmt.expression, vars); // side effects: .command / .addCommand / .option
104
+ }
105
+ else if (ts.isReturnStatement(stmt) && stmt.expression) {
106
+ root = evalExpr(stmt.expression, vars);
107
+ }
108
+ }
109
+ return root;
110
+ }
111
+ // Resolve an expression that evaluates to (or mutates) a command node.
112
+ // `.command()` returns the freshly-created CHILD (Commander semantics);
113
+ // every other builder method returns the receiver (`this`).
114
+ function evalExpr(input, vars) {
115
+ const expr = unwrap(input);
116
+ if (ts.isNewExpression(expr) && ts.isIdentifier(expr.expression) && expr.expression.text === "Command") {
117
+ const nameLit = stringLiteralText(expr.arguments?.[0]);
118
+ return nameLit == null ? null : freshNode(nameLit);
119
+ }
120
+ if (ts.isIdentifier(expr)) {
121
+ return vars.get(expr.text) ?? null;
122
+ }
123
+ if (ts.isCallExpression(expr)) {
124
+ const callee = expr.expression;
125
+ // builderFn() -> the root command that function returns
126
+ if (ts.isIdentifier(callee) && fnDecls.has(callee.text)) {
127
+ return rootOfFunction(callee.text);
128
+ }
129
+ if (ts.isPropertyAccessExpression(callee)) {
130
+ const method = callee.name.text;
131
+ const recv = evalExpr(callee.expression, vars);
132
+ if (method === "command") {
133
+ const nameLit = stringLiteralText(expr.arguments[0]);
134
+ if (nameLit == null)
135
+ return recv;
136
+ const child = freshNode(nameLit);
137
+ if (recv)
138
+ recv.children.push(child);
139
+ return child; // chained calls attach to the child
140
+ }
141
+ if (method === "option" || method === "requiredOption") {
142
+ const flagLit = stringLiteralText(expr.arguments[0]);
143
+ if (recv && flagLit != null) {
144
+ const f = normalizeFlag(flagLit);
145
+ if (f)
146
+ recv.flags.add(f);
147
+ }
148
+ return recv;
149
+ }
150
+ if (method === "addCommand") {
151
+ const arg0 = expr.arguments[0];
152
+ const child = arg0 ? evalExpr(arg0, vars) : null;
153
+ if (recv && child)
154
+ recv.children.push(child);
155
+ return recv;
156
+ }
157
+ // description / action / argument / alias / addHelpText / etc. -> receiver
158
+ return recv;
159
+ }
160
+ }
161
+ return null;
162
+ }
163
+ const roots = [];
164
+ const seen = new Set();
165
+ for (const name of exportedFnNames) {
166
+ const r = rootOfFunction(name);
167
+ if (r && !seen.has(r)) {
168
+ roots.push(r);
169
+ seen.add(r);
170
+ }
171
+ }
172
+ return roots;
173
+ }
174
+ function walk(node, prefix, surface) {
175
+ const path = [...prefix, node.name];
176
+ const pathStr = path.join(" ");
177
+ surface.commands.add(pathStr);
178
+ for (const f of node.flags)
179
+ surface.flags.add(pathStr + FLAG_SEP + f);
180
+ for (const child of node.children)
181
+ walk(child, path, surface);
182
+ }
183
+ /** Build the combined command surface from a set of `{name, text}` sources. */
184
+ export function extractSurfaceFromSources(files) {
185
+ const surface = { commands: new Set(), flags: new Set() };
186
+ for (const file of files) {
187
+ for (const root of extractFile(file.name, file.text)) {
188
+ walk(root, [], surface);
189
+ }
190
+ }
191
+ return surface;
192
+ }
193
+ //# sourceMappingURL=extract-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-surface.js","sourceRoot":"","sources":["../../src/release-surface/extract-surface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function main(argv: string[]): number;
2
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/release-surface/generate.ts"],"names":[],"mappings":"AA8BA,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAmB3C"}
@@ -0,0 +1,51 @@
1
+ // OPR.0.3.3.13.1 - sample-diff generator entry.
2
+ //
3
+ // Runnable after `npm run build`:
4
+ // node dist/release-surface/generate.js --from v0.3.1 --to v0.3.2 --out <path>
5
+ // Emits the deterministic release-surface diff to --out (or stdout). Not wired
6
+ // into the shipped `rig` binary (that placement is a 13.3 decision); this is the
7
+ // POC proof-artifact generator.
8
+ import fs from "node:fs";
9
+ import { generateSurfaceDiff, diffToYaml, SurfaceParserError } from "./surface-diff.js";
10
+ function parseArgs(argv) {
11
+ const args = {};
12
+ for (let i = 0; i < argv.length; i++) {
13
+ const a = argv[i];
14
+ if (a.startsWith("--")) {
15
+ const key = a.slice(2);
16
+ const next = argv[i + 1];
17
+ if (next !== undefined && !next.startsWith("--")) {
18
+ args[key] = next;
19
+ i++;
20
+ }
21
+ else {
22
+ args[key] = "true";
23
+ }
24
+ }
25
+ }
26
+ return args;
27
+ }
28
+ export function main(argv) {
29
+ const args = parseArgs(argv);
30
+ try {
31
+ const diff = generateSurfaceDiff({ from: args.from, to: args.to, cwd: args.cwd });
32
+ const yaml = diffToYaml(diff);
33
+ if (args.out) {
34
+ fs.writeFileSync(args.out, yaml);
35
+ process.stderr.write(`release-surface diff written to ${args.out}\n`);
36
+ }
37
+ else {
38
+ process.stdout.write(yaml);
39
+ }
40
+ return 0;
41
+ }
42
+ catch (err) {
43
+ if (err instanceof SurfaceParserError) {
44
+ process.stderr.write(`Error: ${err.fact}\n${err.consequence}\n${err.action}\n`);
45
+ return 1;
46
+ }
47
+ throw err;
48
+ }
49
+ }
50
+ process.exitCode = main(process.argv.slice(2));
51
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/release-surface/generate.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,kCAAkC;AAClC,iFAAiF;AACjF,+EAA+E;AAC/E,iFAAiF;AACjF,gCAAgC;AAEhC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAExF,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACjB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAc;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;YAChF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { type Surface } from "./extract-surface.js";
2
+ export interface AddedCommand {
3
+ name: string;
4
+ subcommands: string[];
5
+ }
6
+ export interface AddedFlagsEntry {
7
+ command: string;
8
+ flags?: string[];
9
+ subcommands?: string[];
10
+ }
11
+ export interface SurfaceDiff {
12
+ release_from: string;
13
+ release_to: string;
14
+ added_commands: AddedCommand[];
15
+ added_flags: AddedFlagsEntry[];
16
+ removed_or_renamed: string[];
17
+ }
18
+ /** Honest 3-part error matching the repo's CLI error shape (queue.ts:88-111). */
19
+ export declare class SurfaceParserError extends Error {
20
+ readonly fact: string;
21
+ readonly consequence: string;
22
+ readonly action: string;
23
+ constructor(parts: {
24
+ fact: string;
25
+ consequence: string;
26
+ action: string;
27
+ });
28
+ }
29
+ export declare function resolveRepoRoot(cwd: string): string;
30
+ /** Pure diff of two extracted surfaces into the slice-13 YAML shape. */
31
+ export declare function computeDiff(from: Surface, to: Surface, releaseFrom: string, releaseTo: string): SurfaceDiff;
32
+ export declare function generateSurfaceDiff(opts: {
33
+ from?: string;
34
+ to?: string;
35
+ cwd?: string;
36
+ repoRoot?: string;
37
+ }): SurfaceDiff;
38
+ /** Deterministic YAML serialization (stable key + element order). */
39
+ export declare function diffToYaml(diff: SurfaceDiff): string;
40
+ //# sourceMappingURL=surface-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-diff.d.ts","sourceRoot":"","sources":["../../src/release-surface/surface-diff.ts"],"names":[],"mappings":"AAYA,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIzF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AACD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,iFAAiF;AACjF,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACZ,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAOzE;AAmBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUnD;AA6ED,wEAAwE;AACxE,wBAAgB,WAAW,CACzB,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,OAAO,EACX,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,WAAW,CAwDb;AAmBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAOd;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAEpD"}