poly-weaver 0.14.7 → 0.15.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 (183) hide show
  1. package/README.md +24 -1
  2. package/dist/agents/implementors/adapter.d.ts +4 -0
  3. package/dist/agents/implementors/adapter.d.ts.map +1 -1
  4. package/dist/agents/implementors/adapter.js +4 -4
  5. package/dist/agents/implementors/adapter.js.map +1 -1
  6. package/dist/agents/implementors/dsl.d.ts +2 -0
  7. package/dist/agents/implementors/dsl.d.ts.map +1 -1
  8. package/dist/agents/implementors/dsl.js.map +1 -1
  9. package/dist/agents/implementors/handler.d.ts.map +1 -1
  10. package/dist/agents/implementors/handler.js +10 -0
  11. package/dist/agents/implementors/handler.js.map +1 -1
  12. package/dist/agents/implementors/prompts.d.ts +5 -4
  13. package/dist/agents/implementors/prompts.d.ts.map +1 -1
  14. package/dist/agents/implementors/prompts.js +44 -7
  15. package/dist/agents/implementors/prompts.js.map +1 -1
  16. package/dist/agents/implementors/types.d.ts +8 -4
  17. package/dist/agents/implementors/types.d.ts.map +1 -1
  18. package/dist/agents/interviewers/adapter.d.ts +2 -0
  19. package/dist/agents/interviewers/adapter.d.ts.map +1 -1
  20. package/dist/agents/interviewers/adapter.js +39 -6
  21. package/dist/agents/interviewers/adapter.js.map +1 -1
  22. package/dist/agents/interviewers/dsl.d.ts +1 -0
  23. package/dist/agents/interviewers/dsl.d.ts.map +1 -1
  24. package/dist/agents/interviewers/dsl.js.map +1 -1
  25. package/dist/agents/interviewers/handler.d.ts +2 -1
  26. package/dist/agents/interviewers/handler.d.ts.map +1 -1
  27. package/dist/agents/interviewers/handler.js +106 -9
  28. package/dist/agents/interviewers/handler.js.map +1 -1
  29. package/dist/agents/interviewers/index.js +1 -1
  30. package/dist/agents/interviewers/index.js.map +1 -1
  31. package/dist/agents/interviewers/prompts.d.ts.map +1 -1
  32. package/dist/agents/interviewers/prompts.js +150 -0
  33. package/dist/agents/interviewers/prompts.js.map +1 -1
  34. package/dist/agents/interviewers/types.d.ts +9 -1
  35. package/dist/agents/interviewers/types.d.ts.map +1 -1
  36. package/dist/agents/planners/adapter.d.ts +2 -0
  37. package/dist/agents/planners/adapter.d.ts.map +1 -1
  38. package/dist/agents/planners/adapter.js +3 -3
  39. package/dist/agents/planners/adapter.js.map +1 -1
  40. package/dist/agents/planners/dsl.d.ts +1 -0
  41. package/dist/agents/planners/dsl.d.ts.map +1 -1
  42. package/dist/agents/planners/dsl.js.map +1 -1
  43. package/dist/agents/planners/handler.d.ts.map +1 -1
  44. package/dist/agents/planners/handler.js +6 -1
  45. package/dist/agents/planners/handler.js.map +1 -1
  46. package/dist/agents/planners/prompts.d.ts +3 -3
  47. package/dist/agents/planners/prompts.d.ts.map +1 -1
  48. package/dist/agents/planners/prompts.js +76 -4
  49. package/dist/agents/planners/prompts.js.map +1 -1
  50. package/dist/agents/planners/types.d.ts +5 -3
  51. package/dist/agents/planners/types.d.ts.map +1 -1
  52. package/dist/agents/registry.d.ts +1 -1
  53. package/dist/agents/registry.d.ts.map +1 -1
  54. package/dist/agents/registry.js +2 -2
  55. package/dist/agents/registry.js.map +1 -1
  56. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  57. package/dist/agents/reviewers/adapter.js +5 -1
  58. package/dist/agents/reviewers/adapter.js.map +1 -1
  59. package/dist/agents/reviewers/dsl.d.ts +4 -0
  60. package/dist/agents/reviewers/dsl.d.ts.map +1 -1
  61. package/dist/agents/reviewers/dsl.js.map +1 -1
  62. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  63. package/dist/agents/reviewers/handler.js +15 -1
  64. package/dist/agents/reviewers/handler.js.map +1 -1
  65. package/dist/agents/reviewers/prompts.d.ts +7 -7
  66. package/dist/agents/reviewers/prompts.d.ts.map +1 -1
  67. package/dist/agents/reviewers/prompts.js +196 -19
  68. package/dist/agents/reviewers/prompts.js.map +1 -1
  69. package/dist/agents/reviewers/types.d.ts +10 -0
  70. package/dist/agents/reviewers/types.d.ts.map +1 -1
  71. package/dist/agents/reviewers/types.js.map +1 -1
  72. package/dist/agents/runner.d.ts +4 -2
  73. package/dist/agents/runner.d.ts.map +1 -1
  74. package/dist/agents/runner.js +1 -1
  75. package/dist/agents/runner.js.map +1 -1
  76. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  77. package/dist/agents/simplifiers/adapter.js +1 -0
  78. package/dist/agents/simplifiers/adapter.js.map +1 -1
  79. package/dist/agents/simplifiers/dsl.d.ts +1 -0
  80. package/dist/agents/simplifiers/dsl.d.ts.map +1 -1
  81. package/dist/agents/simplifiers/dsl.js +1 -0
  82. package/dist/agents/simplifiers/dsl.js.map +1 -1
  83. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  84. package/dist/agents/simplifiers/handler.js +2 -0
  85. package/dist/agents/simplifiers/handler.js.map +1 -1
  86. package/dist/agents/simplifiers/prompts.js +29 -2
  87. package/dist/agents/simplifiers/prompts.js.map +1 -1
  88. package/dist/agents/simplifiers/types.d.ts +2 -0
  89. package/dist/agents/simplifiers/types.d.ts.map +1 -1
  90. package/dist/agents/simplify-protection.d.ts +6 -0
  91. package/dist/agents/simplify-protection.d.ts.map +1 -0
  92. package/dist/agents/simplify-protection.js +12 -0
  93. package/dist/agents/simplify-protection.js.map +1 -0
  94. package/dist/cli.js +3 -3
  95. package/dist/cli.js.map +1 -1
  96. package/dist/dsl.d.ts +2 -0
  97. package/dist/dsl.d.ts.map +1 -1
  98. package/dist/dsl.js +2 -2
  99. package/dist/dsl.js.map +1 -1
  100. package/dist/flow/built-in/default-factory.d.ts.map +1 -1
  101. package/dist/flow/built-in/default-factory.js +55 -11
  102. package/dist/flow/built-in/default-factory.js.map +1 -1
  103. package/dist/flow/built-in/default.d.ts +1 -0
  104. package/dist/flow/built-in/default.d.ts.map +1 -1
  105. package/dist/flow/built-in/default.js +1 -0
  106. package/dist/flow/built-in/default.js.map +1 -1
  107. package/dist/flow/built-in/default.ts +2 -0
  108. package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
  109. package/dist/flow/built-in/simplify-factory.js +4 -0
  110. package/dist/flow/built-in/simplify-factory.js.map +1 -1
  111. package/dist/flow/custom/AUTHORING.md +8 -88
  112. package/dist/flow/dsl.d.ts +2 -0
  113. package/dist/flow/dsl.d.ts.map +1 -1
  114. package/dist/flow/dsl.js +2 -0
  115. package/dist/flow/dsl.js.map +1 -1
  116. package/dist/flow/params.d.ts +2 -1
  117. package/dist/flow/params.d.ts.map +1 -1
  118. package/dist/flow/params.js +8 -2
  119. package/dist/flow/params.js.map +1 -1
  120. package/dist/flow/types.d.ts +25 -0
  121. package/dist/flow/types.d.ts.map +1 -1
  122. package/dist/flow/types.js +11 -0
  123. package/dist/flow/types.js.map +1 -1
  124. package/dist/managed-spec.d.ts +32 -0
  125. package/dist/managed-spec.d.ts.map +1 -0
  126. package/dist/managed-spec.js +258 -0
  127. package/dist/managed-spec.js.map +1 -0
  128. package/dist/offscreen/agent-viewer.d.ts +2 -1
  129. package/dist/offscreen/agent-viewer.d.ts.map +1 -1
  130. package/dist/offscreen/agent-viewer.js +63 -19
  131. package/dist/offscreen/agent-viewer.js.map +1 -1
  132. package/dist/offscreen/controller.d.ts +14 -3
  133. package/dist/offscreen/controller.d.ts.map +1 -1
  134. package/dist/offscreen/controller.js +82 -17
  135. package/dist/offscreen/controller.js.map +1 -1
  136. package/dist/offscreen/resolve.d.ts.map +1 -1
  137. package/dist/offscreen/resolve.js +14 -3
  138. package/dist/offscreen/resolve.js.map +1 -1
  139. package/dist/offscreen/split-inquiry.d.ts +10 -1
  140. package/dist/offscreen/split-inquiry.d.ts.map +1 -1
  141. package/dist/offscreen/split-inquiry.js +156 -12
  142. package/dist/offscreen/split-inquiry.js.map +1 -1
  143. package/dist/orchestrator.d.ts +5 -0
  144. package/dist/orchestrator.d.ts.map +1 -1
  145. package/dist/orchestrator.js +85 -5
  146. package/dist/orchestrator.js.map +1 -1
  147. package/dist/providers/types.d.ts +2 -0
  148. package/dist/providers/types.d.ts.map +1 -1
  149. package/dist/providers/types.js.map +1 -1
  150. package/dist/session/manifest.d.ts +9 -0
  151. package/dist/session/manifest.d.ts.map +1 -1
  152. package/dist/session/session-store.d.ts +2 -1
  153. package/dist/session/session-store.d.ts.map +1 -1
  154. package/dist/session/session-store.js +49 -3
  155. package/dist/session/session-store.js.map +1 -1
  156. package/dist/startup-tui.d.ts +1 -0
  157. package/dist/startup-tui.d.ts.map +1 -1
  158. package/dist/startup-tui.js +6 -2
  159. package/dist/startup-tui.js.map +1 -1
  160. package/dist/terminal/host.d.ts +1 -0
  161. package/dist/terminal/host.d.ts.map +1 -1
  162. package/dist/terminal/host.js +3 -0
  163. package/dist/terminal/host.js.map +1 -1
  164. package/dist/user/dsl.d.ts +1 -0
  165. package/dist/user/dsl.d.ts.map +1 -1
  166. package/dist/user/dsl.js +1 -0
  167. package/dist/user/dsl.js.map +1 -1
  168. package/dist/user/handler.d.ts.map +1 -1
  169. package/dist/user/handler.js +15 -0
  170. package/dist/user/handler.js.map +1 -1
  171. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  172. package/dist/user/host-curate-prompt.js +2 -0
  173. package/dist/user/host-curate-prompt.js.map +1 -1
  174. package/dist/user/host-prompt.d.ts.map +1 -1
  175. package/dist/user/host-prompt.js +264 -13
  176. package/dist/user/host-prompt.js.map +1 -1
  177. package/dist/user/plan-pane.d.ts +1 -1
  178. package/dist/user/plan-pane.d.ts.map +1 -1
  179. package/dist/user/plan-pane.js +7 -1
  180. package/dist/user/plan-pane.js.map +1 -1
  181. package/dist/user/prompt.d.ts +9 -0
  182. package/dist/user/prompt.d.ts.map +1 -1
  183. package/package.json +1 -1
@@ -0,0 +1,258 @@
1
+ import { constants as fsConstants } from "node:fs";
2
+ import { copyFile, mkdir, readFile, realpath, rm, stat } from "node:fs/promises";
3
+ import { isAbsolute, relative, resolve, sep } from "node:path";
4
+ import { posix as posixPath } from "node:path";
5
+ export const MANAGED_SPEC_DIR = ".poly-spec";
6
+ export const LEGACY_MANAGED_SPEC_DIR = "poly-spec";
7
+ export const MANAGED_ITERATIONS_DIR = "iterations";
8
+ export const MANAGED_PENDING_DIR = "pending";
9
+ export const MANAGED_APPLIED_DIR = "applied";
10
+ export const MANAGED_PENDING_ITERATION_PREFIX = `${MANAGED_SPEC_DIR}/${MANAGED_ITERATIONS_DIR}/${MANAGED_PENDING_DIR}/`;
11
+ export const MANAGED_APPLIED_ITERATION_PREFIX = `${MANAGED_SPEC_DIR}/${MANAGED_ITERATIONS_DIR}/${MANAGED_APPLIED_DIR}/`;
12
+ export const LEGACY_MANAGED_ITERATION_PREFIX = `${LEGACY_MANAGED_SPEC_DIR}/${MANAGED_ITERATIONS_DIR}/`;
13
+ export const MANAGED_ITERATION_PREFIX = MANAGED_PENDING_ITERATION_PREFIX;
14
+ export async function hasManagedSpecDirectory(workdir) {
15
+ const specDir = resolve(workdir, MANAGED_SPEC_DIR);
16
+ try {
17
+ const specStat = await stat(specDir);
18
+ return specStat.isDirectory();
19
+ }
20
+ catch (err) {
21
+ const code = err.code;
22
+ if (code === "ENOENT" || code === "ENOTDIR")
23
+ return false;
24
+ const message = err instanceof Error ? err.message : String(err);
25
+ throw new Error(`Failed to inspect managed spec directory ${specDir}: ${message}`);
26
+ }
27
+ }
28
+ export async function validateManagedIterationNotification(notificationFile, workdir) {
29
+ const raw = await readNonEmptyFile(notificationFile, "managed Iteration Spec notification");
30
+ let parsed;
31
+ try {
32
+ parsed = JSON.parse(raw);
33
+ }
34
+ catch (err) {
35
+ throw new Error(`Managed interviewer notification must be JSON: ${err instanceof Error ? err.message : String(err)}`);
36
+ }
37
+ const notification = parseManagedIterationNotification(parsed);
38
+ const resolved = await resolveManagedIterationPath(workdir, notification.path, {
39
+ allowLegacy: false,
40
+ requirePending: true,
41
+ });
42
+ const text = await readNonEmptyFile(resolved.absolutePath, `managed Iteration Spec ${notification.path}`);
43
+ return { notification, absolutePath: resolved.absolutePath, text };
44
+ }
45
+ export async function readManagedIterationFromManifest(workdir, repoRelativePath) {
46
+ const resolved = await resolveManagedIterationPath(workdir, repoRelativePath, {
47
+ allowLegacy: true,
48
+ requirePending: true,
49
+ });
50
+ const text = await readNonEmptyFile(resolved.absolutePath, `managed Iteration Spec ${repoRelativePath}`);
51
+ return {
52
+ notification: { path: repoRelativePath, disposition: "continued" },
53
+ absolutePath: resolved.absolutePath,
54
+ text,
55
+ };
56
+ }
57
+ export async function applyManagedIteration(workdir, repoRelativePath) {
58
+ const source = await resolveManagedIterationPath(workdir, repoRelativePath, {
59
+ allowLegacy: true,
60
+ requirePending: true,
61
+ });
62
+ const text = await readNonEmptyFile(source.absolutePath, `managed Iteration Spec ${repoRelativePath}`);
63
+ const appliedRepoRelativePath = [
64
+ MANAGED_SPEC_DIR,
65
+ MANAGED_ITERATIONS_DIR,
66
+ MANAGED_APPLIED_DIR,
67
+ ...source.appliedSuffix.split("/"),
68
+ ].join("/");
69
+ const destination = await resolveManagedIterationOutputPath(workdir, appliedRepoRelativePath);
70
+ await mkdir(resolve(workdir, MANAGED_SPEC_DIR, MANAGED_ITERATIONS_DIR, MANAGED_APPLIED_DIR), {
71
+ recursive: true,
72
+ });
73
+ await mkdir(destination.parentAbsolutePath, { recursive: true });
74
+ await validateManagedIterationOutputParent(workdir, destination.parentAbsolutePath);
75
+ await copyFile(source.absolutePath, destination.absolutePath, fsConstants.COPYFILE_EXCL);
76
+ await rm(source.absolutePath);
77
+ return {
78
+ repoRelativePath: appliedRepoRelativePath,
79
+ absolutePath: destination.absolutePath,
80
+ text,
81
+ };
82
+ }
83
+ export async function readNonEmptyFile(file, label) {
84
+ const text = await readFile(file, "utf8");
85
+ if (text.trim().length === 0) {
86
+ throw new Error(`${label} is empty`);
87
+ }
88
+ return text;
89
+ }
90
+ export function managedImplementationReviewSummary(artifacts) {
91
+ for (const [, artifact] of artifacts.entries()) {
92
+ const summary = artifact.meta?.managedSpecImplementationReviewSummary;
93
+ if (typeof summary === "string" && summary.trim().length > 0) {
94
+ return summary;
95
+ }
96
+ }
97
+ return undefined;
98
+ }
99
+ function parseManagedIterationNotification(value) {
100
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
101
+ throw new Error("Managed interviewer notification must be a JSON object");
102
+ }
103
+ const record = value;
104
+ const keys = Object.keys(record).sort();
105
+ if (keys.length !== 2 || keys[0] !== "disposition" || keys[1] !== "path") {
106
+ throw new Error('Managed interviewer notification must have exactly "path" and "disposition"');
107
+ }
108
+ if (typeof record.path !== "string") {
109
+ throw new Error('Managed interviewer notification field "path" must be a string');
110
+ }
111
+ if (record.disposition !== "created" && record.disposition !== "continued") {
112
+ throw new Error('Managed interviewer notification field "disposition" must be "created" or "continued"');
113
+ }
114
+ validatePortableIterationPath(record.path, {
115
+ allowLegacy: false,
116
+ requirePending: true,
117
+ });
118
+ return {
119
+ path: record.path,
120
+ disposition: record.disposition,
121
+ };
122
+ }
123
+ function validatePortableIterationPath(repoRelativePath, opts) {
124
+ if (repoRelativePath.includes("\\") || repoRelativePath.includes(":")) {
125
+ throw new Error("Managed Iteration Spec path must use repository-relative forward slashes");
126
+ }
127
+ if (posixPath.isAbsolute(repoRelativePath) || isAbsolute(repoRelativePath)) {
128
+ throw new Error("Managed Iteration Spec path must be repository-relative");
129
+ }
130
+ const normalized = posixPath.normalize(repoRelativePath);
131
+ if (normalized !== repoRelativePath || repoRelativePath.includes("//")) {
132
+ throw new Error("Managed Iteration Spec path must not contain empty or parent segments");
133
+ }
134
+ const kind = classifyManagedIterationPath(repoRelativePath, opts.allowLegacy);
135
+ if (kind === "applied" && opts.requirePending) {
136
+ throw new Error(`Managed Iteration Spec path must be under ${MANAGED_PENDING_ITERATION_PREFIX}; ` +
137
+ "applied iterations are immutable history");
138
+ }
139
+ const prefix = prefixForKind(kind);
140
+ if (!repoRelativePath.endsWith(".md") || repoRelativePath.length === prefix.length) {
141
+ throw new Error(`Managed Iteration Spec path must match ${prefix}<name>.md`);
142
+ }
143
+ return kind;
144
+ }
145
+ async function resolveManagedIterationPath(workdir, repoRelativePath, opts) {
146
+ const kind = validatePortableIterationPath(repoRelativePath, opts);
147
+ const absolutePath = resolve(workdir, ...repoRelativePath.split("/"));
148
+ const containmentRoot = containmentRootForKind(workdir, kind);
149
+ const [realFile, realDir, realWorkdir] = await Promise.all([
150
+ realpath(absolutePath),
151
+ realpath(containmentRoot),
152
+ realpath(workdir),
153
+ ]);
154
+ const fileStat = await stat(realFile);
155
+ if (!fileStat.isFile()) {
156
+ throw new Error(`Managed Iteration Spec path is not a file: ${repoRelativePath}`);
157
+ }
158
+ const escapeMessage = `Managed Iteration Spec path escapes ${prefixForKind(kind)}`;
159
+ assertRealPathContained(realDir, realWorkdir, escapeMessage);
160
+ assertRealPathContained(realFile, realDir, escapeMessage);
161
+ return {
162
+ absolutePath: realFile,
163
+ appliedSuffix: appliedSuffixForPath(repoRelativePath, kind),
164
+ };
165
+ }
166
+ function resolveManagedIterationOutputPath(workdir, repoRelativePath) {
167
+ const kind = validatePortableIterationPath(repoRelativePath, {
168
+ allowLegacy: false,
169
+ requirePending: false,
170
+ });
171
+ if (kind !== "applied") {
172
+ throw new Error(`Applied managed Iteration Spec path must be under ${MANAGED_APPLIED_ITERATION_PREFIX}`);
173
+ }
174
+ const absolutePath = resolve(workdir, ...repoRelativePath.split("/"));
175
+ const root = resolve(workdir, MANAGED_SPEC_DIR, MANAGED_ITERATIONS_DIR, MANAGED_APPLIED_DIR);
176
+ const rel = relative(root, absolutePath);
177
+ if (!rel || rel.startsWith("..") || isAbsolute(rel)) {
178
+ throw new Error(`Managed Iteration Spec path escapes ${MANAGED_APPLIED_ITERATION_PREFIX}`);
179
+ }
180
+ const parent = posixPath.dirname(repoRelativePath)
181
+ .split("/")
182
+ .reduce((path, segment) => resolve(path, segment), workdir);
183
+ return { absolutePath, parentAbsolutePath: parent };
184
+ }
185
+ async function validateManagedIterationOutputParent(workdir, parentAbsolutePath) {
186
+ const appliedRoot = resolve(workdir, MANAGED_SPEC_DIR, MANAGED_ITERATIONS_DIR, MANAGED_APPLIED_DIR);
187
+ const [realParent, realAppliedRoot, realWorkdir] = await Promise.all([
188
+ realpath(parentAbsolutePath),
189
+ realpath(appliedRoot),
190
+ realpath(workdir),
191
+ ]);
192
+ const escapeMessage = `Managed Iteration Spec path escapes ${MANAGED_APPLIED_ITERATION_PREFIX}`;
193
+ assertRealPathContained(realAppliedRoot, realWorkdir, escapeMessage);
194
+ assertRealPathContained(realParent, realAppliedRoot, escapeMessage);
195
+ }
196
+ function assertRealPathContained(path, root, message) {
197
+ const rel = relative(root, path);
198
+ if (rel.startsWith("..") || isAbsolute(rel)) {
199
+ throw new Error(message);
200
+ }
201
+ if (rel === "")
202
+ return;
203
+ const rootWithSep = root.endsWith(sep) ? root : `${root}${sep}`;
204
+ const comparablePath = process.platform === "win32" ? path.toLowerCase() : path;
205
+ const comparableRoot = process.platform === "win32"
206
+ ? rootWithSep.toLowerCase()
207
+ : rootWithSep;
208
+ if (!comparablePath.startsWith(comparableRoot)) {
209
+ throw new Error(message);
210
+ }
211
+ }
212
+ function classifyManagedIterationPath(repoRelativePath, allowLegacy) {
213
+ if (repoRelativePath.startsWith(MANAGED_PENDING_ITERATION_PREFIX))
214
+ return "pending";
215
+ if (repoRelativePath.startsWith(MANAGED_APPLIED_ITERATION_PREFIX))
216
+ return "applied";
217
+ if (allowLegacy && repoRelativePath.startsWith(LEGACY_MANAGED_ITERATION_PREFIX)) {
218
+ const suffix = repoRelativePath.slice(LEGACY_MANAGED_ITERATION_PREFIX.length);
219
+ if (suffix.startsWith(`${MANAGED_APPLIED_DIR}/`)) {
220
+ throw new Error("Legacy applied managed Iteration Specs are immutable history and cannot be continued");
221
+ }
222
+ return "legacy-pending";
223
+ }
224
+ throw new Error(`Managed Iteration Spec path must match ${MANAGED_PENDING_ITERATION_PREFIX}<name>.md`);
225
+ }
226
+ function prefixForKind(kind) {
227
+ switch (kind) {
228
+ case "pending":
229
+ return MANAGED_PENDING_ITERATION_PREFIX;
230
+ case "applied":
231
+ return MANAGED_APPLIED_ITERATION_PREFIX;
232
+ case "legacy-pending":
233
+ return LEGACY_MANAGED_ITERATION_PREFIX;
234
+ }
235
+ }
236
+ function containmentRootForKind(workdir, kind) {
237
+ switch (kind) {
238
+ case "pending":
239
+ return resolve(workdir, MANAGED_SPEC_DIR, MANAGED_ITERATIONS_DIR, MANAGED_PENDING_DIR);
240
+ case "applied":
241
+ return resolve(workdir, MANAGED_SPEC_DIR, MANAGED_ITERATIONS_DIR, MANAGED_APPLIED_DIR);
242
+ case "legacy-pending":
243
+ return resolve(workdir, LEGACY_MANAGED_SPEC_DIR, MANAGED_ITERATIONS_DIR);
244
+ }
245
+ }
246
+ function appliedSuffixForPath(repoRelativePath, kind) {
247
+ if (kind === "pending") {
248
+ return repoRelativePath.slice(MANAGED_PENDING_ITERATION_PREFIX.length);
249
+ }
250
+ if (kind === "legacy-pending") {
251
+ const legacySuffix = repoRelativePath.slice(LEGACY_MANAGED_ITERATION_PREFIX.length);
252
+ return legacySuffix.startsWith(`${MANAGED_PENDING_DIR}/`)
253
+ ? legacySuffix.slice(`${MANAGED_PENDING_DIR}/`.length)
254
+ : legacySuffix;
255
+ }
256
+ return repoRelativePath.slice(MANAGED_APPLIED_ITERATION_PREFIX.length);
257
+ }
258
+ //# sourceMappingURL=managed-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-spec.js","sourceRoot":"","sources":["../src/managed-spec.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,11 @@ export declare class AgentArtifactViewer {
19
19
  private cycle;
20
20
  private select;
21
21
  private availableKinds;
22
- private nextStep;
22
+ private nextAction;
23
23
  private refreshHint;
24
24
  private hasSpecArtifact;
25
25
  private specText;
26
+ private artifactText;
26
27
  }
27
28
  export {};
28
29
  //# sourceMappingURL=agent-viewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-viewer.d.ts","sourceRoot":"","sources":["../../src/offscreen/agent-viewer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAehF,KAAK,UAAU,GAAG,IAAI,CACpB,YAAY,EACV,gBAAgB,GAChB,iBAAiB,GACjB,2BAA2B,GAC3B,kBAAkB,CACrB,CAAC;AAEF,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAP7B,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,aAAa,CAAS;gBAGX,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,OAAO;IAGtC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAqBnD,QAAQ,IAAI,IAAI;IAShB,KAAK,IAAI,IAAI;IAMb,aAAa,IAAI,IAAI;IAMrB,eAAe,IAAI,IAAI;IAMvB,sBAAsB,IAAI,IAAI;IAI9B,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,MAAM;IAsDd,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,QAAQ;CAKjB"}
1
+ {"version":3,"file":"agent-viewer.d.ts","sourceRoot":"","sources":["../../src/offscreen/agent-viewer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAsBhF,KAAK,UAAU,GAAG,IAAI,CACpB,YAAY,EACV,gBAAgB,GAChB,iBAAiB,GACjB,2BAA2B,GAC3B,kBAAkB,CACrB,CAAC;AAEF,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAP7B,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,aAAa,CAAS;gBAGX,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,OAAO;IAGtC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI;IAwBnD,QAAQ,IAAI,IAAI;IAShB,KAAK,IAAI,IAAI;IAMb,aAAa,IAAI,IAAI;IAMrB,eAAe,IAAI,IAAI;IAMvB,sBAAsB,IAAI,IAAI;IAI9B,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,MAAM;IAgEd,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,YAAY;CAWrB"}
@@ -1,5 +1,6 @@
1
1
  import { isArtifactViewerKey } from "../dump/hotkey.js";
2
2
  import { SPEC, TASK } from "../flow/types.js";
3
+ import { readFileSync } from "node:fs";
3
4
  import { ArtifactPaneController } from "./artifact-pane.js";
4
5
  import { buildPlanPane, buildSimplifyPlanPane } from "../user/plan-pane.js";
5
6
  import { buildIssuesArtifactPane } from "../user/issues-pane.js";
@@ -20,8 +21,11 @@ export class AgentArtifactViewer {
20
21
  this.phase = {
21
22
  ctx,
22
23
  interviewer: step.role === "interviewer",
24
+ managedSpec: step.managedSpec === true,
23
25
  planKey: step.writes.plan ?? step.reads.plan,
24
26
  issuesKey: step.writes.verdict ?? step.reads.verdict,
27
+ iterationKey: step.writes.iteration ?? step.reads.iteration ?? step.reads.spec,
28
+ explanationKey: step.writes.spec ?? step.reads.explanation,
25
29
  };
26
30
  this.selected = undefined;
27
31
  this.childAttached = this.host.hasAttachedChild();
@@ -64,16 +68,16 @@ export class AgentArtifactViewer {
64
68
  }
65
69
  cycle() {
66
70
  const available = this.availableKinds();
67
- if (available.length === 0) {
71
+ const action = this.nextAction(available);
72
+ if (!action) {
68
73
  this.statusBar.setArtifactHint(undefined);
69
74
  return;
70
75
  }
71
- const next = this.nextStep(available);
72
- if (next === "closed") {
76
+ if (action.verb === "Hide") {
73
77
  this.close();
74
78
  return;
75
79
  }
76
- this.select(next);
80
+ this.select(action.kind);
77
81
  }
78
82
  select(kind) {
79
83
  const phase = this.phase;
@@ -108,6 +112,14 @@ export class AgentArtifactViewer {
108
112
  const snapshot = this.specText(phase.ctx.artifacts) ?? "";
109
113
  pane = new ArtifactPaneController((width) => buildPlanPane(snapshot, "first", width, "spec").lines);
110
114
  }
115
+ else if (kind === "iteration" && phase.iterationKey) {
116
+ const snapshot = this.artifactText(phase.ctx.artifacts, phase.iterationKey);
117
+ pane = new ArtifactPaneController((width) => buildPlanPane(snapshot, "first", width, "iteration").lines);
118
+ }
119
+ else if (kind === "explanation" && phase.explanationKey) {
120
+ const snapshot = this.artifactText(phase.ctx.artifacts, phase.explanationKey);
121
+ pane = new ArtifactPaneController((width) => buildPlanPane(snapshot, "first", width, "explanation").lines);
122
+ }
111
123
  else if (kind === "task") {
112
124
  const snapshot = phase.ctx.artifacts.getText(TASK) ?? "";
113
125
  pane = new ArtifactPaneController((width) => buildPlanPane(snapshot, "first", width, "task").lines);
@@ -124,6 +136,18 @@ export class AgentArtifactViewer {
124
136
  const phase = this.phase;
125
137
  if (!phase || !this.childAttached)
126
138
  return [];
139
+ if (phase.managedSpec && phase.interviewer) {
140
+ const result = [];
141
+ if (phase.ctx.artifacts.has(TASK))
142
+ result.push("task");
143
+ if (phase.explanationKey && phase.ctx.artifacts.has(phase.explanationKey)) {
144
+ result.push("explanation");
145
+ }
146
+ if (phase.iterationKey && phase.ctx.artifacts.has(phase.iterationKey)) {
147
+ result.push("iteration");
148
+ }
149
+ return result;
150
+ }
127
151
  if (phase.interviewer) {
128
152
  return phase.ctx.artifacts.has(TASK) ? ["task"] : [];
129
153
  }
@@ -136,33 +160,35 @@ export class AgentArtifactViewer {
136
160
  if (isUnapprovedIssuesVerdict(verdict))
137
161
  available.push("issues");
138
162
  }
139
- if (this.hasSpecArtifact(phase.ctx.artifacts)) {
163
+ if (phase.managedSpec) {
164
+ if (phase.iterationKey && phase.ctx.artifacts.has(phase.iterationKey)) {
165
+ available.push("iteration");
166
+ }
167
+ }
168
+ else if (this.hasSpecArtifact(phase.ctx.artifacts)) {
140
169
  available.push("spec");
141
170
  }
142
171
  return available;
143
172
  }
144
- nextStep(available) {
173
+ nextAction(available) {
174
+ if (available.length === 0)
175
+ return undefined;
145
176
  if (!this.selected)
146
- return available[0];
177
+ return { verb: "Show", kind: available[0] };
147
178
  const current = available.indexOf(this.selected);
148
179
  if (current < 0)
149
- return available[0];
180
+ return { verb: "Show", kind: available[0] };
150
181
  if (current === available.length - 1)
151
- return "closed";
152
- return available[current + 1];
182
+ return { verb: "Hide", kind: this.selected };
183
+ return { verb: "Show", kind: available[current + 1] };
153
184
  }
154
185
  refreshHint() {
155
- const available = this.availableKinds();
156
- if (available.length === 0) {
186
+ const action = this.nextAction(this.availableKinds());
187
+ if (!action) {
157
188
  this.statusBar.setArtifactHint(undefined);
158
189
  return;
159
190
  }
160
- const next = this.nextStep(available);
161
- if (next === "closed") {
162
- this.statusBar.setArtifactHint(this.selected ? labelForKind("Hide", this.selected) : undefined);
163
- return;
164
- }
165
- this.statusBar.setArtifactHint(labelForKind("Show", next));
191
+ this.statusBar.setArtifactHint(labelForKind(action.verb, action.kind));
166
192
  }
167
193
  hasSpecArtifact(artifacts) {
168
194
  return artifacts.has(SPEC) || (this.preCleared && artifacts.has(TASK));
@@ -174,6 +200,18 @@ export class AgentArtifactViewer {
174
200
  return artifacts.getText(TASK) ?? "";
175
201
  return undefined;
176
202
  }
203
+ artifactText(artifacts, key) {
204
+ const artifact = artifacts.get(key);
205
+ if (artifact?.file) {
206
+ try {
207
+ return readFileSync(artifact.file, "utf-8");
208
+ }
209
+ catch {
210
+ return artifact.text ?? "";
211
+ }
212
+ }
213
+ return artifact?.text ?? "";
214
+ }
177
215
  }
178
216
  function isUnapprovedIssuesVerdict(verdict) {
179
217
  if (typeof verdict !== "object" || verdict === null)
@@ -191,6 +229,12 @@ function isReviewIssue(issue) {
191
229
  typeof issue.description === "string");
192
230
  }
193
231
  function labelForKind(verb, kind) {
194
- return `${verb} ${kind === "task" ? "Task" : kind}`;
232
+ if (kind === "task")
233
+ return `${verb} Task`;
234
+ if (kind === "iteration")
235
+ return `${verb} Iteration Spec`;
236
+ if (kind === "explanation")
237
+ return `${verb} Iteration Rationale`;
238
+ return `${verb} ${kind}`;
195
239
  }
196
240
  //# sourceMappingURL=agent-viewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-viewer.js","sourceRoot":"","sources":["../../src/offscreen/agent-viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-viewer.js","sourceRoot":"","sources":["../../src/offscreen/agent-viewer.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,17 @@ import type { HostParentUiMode, TerminalHost } from "../terminal/host.js";
2
2
  import type { OffscreenBinding, OffscreenSlot } from "./fork-launch.js";
3
3
  import type { ArtifactPaneRenderer } from "./panes.js";
4
4
  import { type SplitPaneSide } from "../user/split-surface.js";
5
- export interface OffscreenArtifactPaneConfig {
6
- inquirySide: SplitPaneSide;
5
+ export interface OffscreenCompanionArtifactConfig {
6
+ displayName: string;
7
7
  renderArtifact: ArtifactPaneRenderer;
8
8
  styleVersion?: () => unknown;
9
9
  focusRow?: (width: number) => number | undefined;
10
10
  }
11
+ export interface OffscreenArtifactPaneConfig extends OffscreenCompanionArtifactConfig {
12
+ inquirySide: SplitPaneSide;
13
+ collapseWhenNarrow?: boolean;
14
+ alternateArtifacts?: OffscreenCompanionArtifactConfig[];
15
+ }
11
16
  export interface OffscreenInquiryConfig {
12
17
  composeIssueQuestion(binding: OffscreenBinding): string | undefined;
13
18
  turnPollMs?: number;
@@ -38,11 +43,12 @@ export declare class OffscreenController {
38
43
  private readonly pendingTurnAttempts;
39
44
  private readonly forkSubmitFloorReads;
40
45
  private readonly forkLocateWarned;
46
+ private readonly activeArtifactIndexes;
41
47
  private readonly unregister;
42
48
  private split;
43
49
  private shown;
44
50
  private disposed;
45
- constructor(host: Pick<TerminalHost, "getLayout" | "scheduleRender" | "scheduleParentUiRender" | "forwardOscClipboard" | "output" | "setActiveChildStatus" | "setMouseModeSource" | "clearMouseModeSource">, workdir: string, slots: OffscreenSlot[], artifactConfigs?: Partial<Record<OffscreenBinding, OffscreenArtifactPaneConfig>>, inquiry?: OffscreenInquiryConfig | undefined);
51
+ constructor(host: Pick<TerminalHost, "getLayout" | "scheduleRender" | "scheduleParentUiRender" | "forwardOscClipboard" | "output" | "setActiveChildStatus" | "setArtifactHint" | "setMouseModeSource" | "clearMouseModeSource">, workdir: string, slots: OffscreenSlot[], artifactConfigs?: Partial<Record<OffscreenBinding, OffscreenArtifactPaneConfig>>, inquiry?: OffscreenInquiryConfig | undefined);
46
52
  isIssueInquiryReady(binding: OffscreenBinding): boolean;
47
53
  private selectionDelegate;
48
54
  wrap(base: HostParentUiMode): HostParentUiMode;
@@ -55,6 +61,10 @@ export declare class OffscreenController {
55
61
  private hideFork;
56
62
  private clearSplitCoordinator;
57
63
  private activeCoordinator;
64
+ private activeArtifactConfig;
65
+ private companionArtifacts;
66
+ private nextCompanionArtifactHint;
67
+ private cycleCompanionArtifact;
58
68
  private configurePresentation;
59
69
  private focusArtifactForCurrentIssue;
60
70
  private show;
@@ -76,6 +86,7 @@ export declare class OffscreenController {
76
86
  private warnForkSessionUnavailable;
77
87
  private abortIssueSend;
78
88
  private updateStatusState;
89
+ private updateArtifactHint;
79
90
  private updateVisibleMouseModes;
80
91
  private updateForkState;
81
92
  private visibleMouseModes;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/offscreen/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/offscreen/controller.ts"],"names":[],"mappings":"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"}