poly-weaver 0.10.1 → 0.10.3

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 (185) hide show
  1. package/README.md +5 -8
  2. package/dist/agents/implementors/adapter.d.ts +1 -1
  3. package/dist/agents/implementors/adapter.d.ts.map +1 -1
  4. package/dist/agents/implementors/adapter.js +2 -2
  5. package/dist/agents/implementors/adapter.js.map +1 -1
  6. package/dist/agents/implementors/index.d.ts.map +1 -1
  7. package/dist/agents/implementors/index.js +1 -1
  8. package/dist/agents/implementors/index.js.map +1 -1
  9. package/dist/agents/interviewers/adapter.d.ts +1 -1
  10. package/dist/agents/interviewers/adapter.d.ts.map +1 -1
  11. package/dist/agents/interviewers/adapter.js +2 -2
  12. package/dist/agents/interviewers/adapter.js.map +1 -1
  13. package/dist/agents/interviewers/index.d.ts.map +1 -1
  14. package/dist/agents/interviewers/index.js +1 -1
  15. package/dist/agents/interviewers/index.js.map +1 -1
  16. package/dist/agents/planners/adapter.d.ts +1 -1
  17. package/dist/agents/planners/adapter.d.ts.map +1 -1
  18. package/dist/agents/planners/adapter.js +2 -2
  19. package/dist/agents/planners/adapter.js.map +1 -1
  20. package/dist/agents/planners/index.d.ts.map +1 -1
  21. package/dist/agents/planners/index.js +1 -1
  22. package/dist/agents/planners/index.js.map +1 -1
  23. package/dist/agents/registry.d.ts +1 -0
  24. package/dist/agents/registry.d.ts.map +1 -1
  25. package/dist/agents/registry.js.map +1 -1
  26. package/dist/agents/reviewers/adapter.d.ts +1 -1
  27. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  28. package/dist/agents/reviewers/adapter.js +3 -3
  29. package/dist/agents/reviewers/adapter.js.map +1 -1
  30. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  31. package/dist/agents/reviewers/handler.js +7 -0
  32. package/dist/agents/reviewers/handler.js.map +1 -1
  33. package/dist/agents/reviewers/index.d.ts.map +1 -1
  34. package/dist/agents/reviewers/index.js +1 -1
  35. package/dist/agents/reviewers/index.js.map +1 -1
  36. package/dist/agents/reviewers/prompts.d.ts +2 -2
  37. package/dist/agents/reviewers/prompts.d.ts.map +1 -1
  38. package/dist/agents/reviewers/prompts.js +12 -2
  39. package/dist/agents/reviewers/prompts.js.map +1 -1
  40. package/dist/agents/reviewers/types.d.ts +3 -1
  41. package/dist/agents/reviewers/types.d.ts.map +1 -1
  42. package/dist/agents/reviewers/types.js.map +1 -1
  43. package/dist/agents/runner.d.ts +3 -2
  44. package/dist/agents/runner.d.ts.map +1 -1
  45. package/dist/agents/runner.js +48 -10
  46. package/dist/agents/runner.js.map +1 -1
  47. package/dist/agents/simplifiers/adapter.d.ts +1 -1
  48. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  49. package/dist/agents/simplifiers/adapter.js +2 -2
  50. package/dist/agents/simplifiers/adapter.js.map +1 -1
  51. package/dist/agents/simplifiers/index.d.ts.map +1 -1
  52. package/dist/agents/simplifiers/index.js +1 -1
  53. package/dist/agents/simplifiers/index.js.map +1 -1
  54. package/dist/cli.js +20 -6
  55. package/dist/cli.js.map +1 -1
  56. package/dist/flow/built-in/default-factory.d.ts.map +1 -1
  57. package/dist/flow/built-in/default-factory.js +1 -2
  58. package/dist/flow/built-in/default-factory.js.map +1 -1
  59. package/dist/flow/index.d.ts +1 -1
  60. package/dist/flow/index.d.ts.map +1 -1
  61. package/dist/flow/index.js +1 -1
  62. package/dist/flow/index.js.map +1 -1
  63. package/dist/flow/params.d.ts +1 -0
  64. package/dist/flow/params.d.ts.map +1 -1
  65. package/dist/flow/params.js +14 -0
  66. package/dist/flow/params.js.map +1 -1
  67. package/dist/markdown.js +59 -29
  68. package/dist/markdown.js.map +1 -1
  69. package/dist/offscreen/controller.d.ts +21 -0
  70. package/dist/offscreen/controller.d.ts.map +1 -0
  71. package/dist/offscreen/controller.js +185 -0
  72. package/dist/offscreen/controller.js.map +1 -0
  73. package/dist/offscreen/fork-launch.d.ts +31 -0
  74. package/dist/offscreen/fork-launch.d.ts.map +1 -0
  75. package/dist/offscreen/fork-launch.js +76 -0
  76. package/dist/offscreen/fork-launch.js.map +1 -0
  77. package/dist/offscreen/fork.d.ts +21 -0
  78. package/dist/offscreen/fork.d.ts.map +1 -0
  79. package/dist/offscreen/fork.js +122 -0
  80. package/dist/offscreen/fork.js.map +1 -0
  81. package/dist/offscreen/keys.d.ts +6 -0
  82. package/dist/offscreen/keys.d.ts.map +1 -0
  83. package/dist/offscreen/keys.js +16 -0
  84. package/dist/offscreen/keys.js.map +1 -0
  85. package/dist/offscreen/registry.d.ts +6 -0
  86. package/dist/offscreen/registry.d.ts.map +1 -0
  87. package/dist/offscreen/registry.js +27 -0
  88. package/dist/offscreen/registry.js.map +1 -0
  89. package/dist/offscreen/resolve.d.ts +10 -0
  90. package/dist/offscreen/resolve.d.ts.map +1 -0
  91. package/dist/offscreen/resolve.js +111 -0
  92. package/dist/offscreen/resolve.js.map +1 -0
  93. package/dist/offscreen/surface.d.ts +4 -0
  94. package/dist/offscreen/surface.d.ts.map +1 -0
  95. package/dist/offscreen/surface.js +24 -0
  96. package/dist/offscreen/surface.js.map +1 -0
  97. package/dist/orchestrator.d.ts +5 -1
  98. package/dist/orchestrator.d.ts.map +1 -1
  99. package/dist/orchestrator.js +25 -6
  100. package/dist/orchestrator.js.map +1 -1
  101. package/dist/providers/claude/session.d.ts +4 -0
  102. package/dist/providers/claude/session.d.ts.map +1 -1
  103. package/dist/providers/claude/session.js +7 -2
  104. package/dist/providers/claude/session.js.map +1 -1
  105. package/dist/providers/codex/session.d.ts +4 -0
  106. package/dist/providers/codex/session.d.ts.map +1 -1
  107. package/dist/providers/codex/session.js +68 -3
  108. package/dist/providers/codex/session.js.map +1 -1
  109. package/dist/providers/copilot/session.d.ts +6 -0
  110. package/dist/providers/copilot/session.d.ts.map +1 -1
  111. package/dist/providers/copilot/session.js +13 -4
  112. package/dist/providers/copilot/session.js.map +1 -1
  113. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  114. package/dist/providers/copilot/strategy.js +6 -1
  115. package/dist/providers/copilot/strategy.js.map +1 -1
  116. package/dist/providers/trust.d.ts +12 -0
  117. package/dist/providers/trust.d.ts.map +1 -0
  118. package/dist/providers/trust.js +220 -0
  119. package/dist/providers/trust.js.map +1 -0
  120. package/dist/providers/types.d.ts +7 -0
  121. package/dist/providers/types.d.ts.map +1 -1
  122. package/dist/session/locator.d.ts +7 -1
  123. package/dist/session/locator.d.ts.map +1 -1
  124. package/dist/session/locator.js +10 -3
  125. package/dist/session/locator.js.map +1 -1
  126. package/dist/session/resume.d.ts.map +1 -1
  127. package/dist/session/resume.js +16 -3
  128. package/dist/session/resume.js.map +1 -1
  129. package/dist/status-bar.d.ts +0 -2
  130. package/dist/status-bar.d.ts.map +1 -1
  131. package/dist/status-bar.js +1 -17
  132. package/dist/status-bar.js.map +1 -1
  133. package/dist/terminal/host.d.ts +8 -0
  134. package/dist/terminal/host.d.ts.map +1 -1
  135. package/dist/terminal/host.js +32 -19
  136. package/dist/terminal/host.js.map +1 -1
  137. package/dist/terminal/input-router.d.ts +10 -3
  138. package/dist/terminal/input-router.d.ts.map +1 -1
  139. package/dist/terminal/input-router.js +22 -5
  140. package/dist/terminal/input-router.js.map +1 -1
  141. package/dist/terminal/key-to-bytes.d.ts +4 -1
  142. package/dist/terminal/key-to-bytes.d.ts.map +1 -1
  143. package/dist/terminal/key-to-bytes.js +6 -5
  144. package/dist/terminal/key-to-bytes.js.map +1 -1
  145. package/dist/terminal/render.d.ts +12 -1
  146. package/dist/terminal/render.d.ts.map +1 -1
  147. package/dist/terminal/render.js +37 -5
  148. package/dist/terminal/render.js.map +1 -1
  149. package/dist/terminal/win32-console-source.d.ts.map +1 -1
  150. package/dist/terminal/win32-console-source.js +3 -1
  151. package/dist/terminal/win32-console-source.js.map +1 -1
  152. package/dist/terminal-input.d.ts +2 -0
  153. package/dist/terminal-input.d.ts.map +1 -1
  154. package/dist/terminal-input.js +26 -6
  155. package/dist/terminal-input.js.map +1 -1
  156. package/dist/user/curate-handler.d.ts +6 -1
  157. package/dist/user/curate-handler.d.ts.map +1 -1
  158. package/dist/user/curate-handler.js +11 -2
  159. package/dist/user/curate-handler.js.map +1 -1
  160. package/dist/user/curate-prompt.d.ts +5 -1
  161. package/dist/user/curate-prompt.d.ts.map +1 -1
  162. package/dist/user/curate-prompt.js.map +1 -1
  163. package/dist/user/handler.d.ts +6 -1
  164. package/dist/user/handler.d.ts.map +1 -1
  165. package/dist/user/handler.js +12 -1
  166. package/dist/user/handler.js.map +1 -1
  167. package/dist/user/host-curate-prompt.d.ts +2 -1
  168. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  169. package/dist/user/host-curate-prompt.js +87 -32
  170. package/dist/user/host-curate-prompt.js.map +1 -1
  171. package/dist/user/host-prompt.d.ts +2 -3
  172. package/dist/user/host-prompt.d.ts.map +1 -1
  173. package/dist/user/host-prompt.js +46 -26
  174. package/dist/user/host-prompt.js.map +1 -1
  175. package/dist/user/index.d.ts +1 -1
  176. package/dist/user/index.d.ts.map +1 -1
  177. package/dist/user/prompt.d.ts +6 -0
  178. package/dist/user/prompt.d.ts.map +1 -1
  179. package/dist/user/prompt.js.map +1 -1
  180. package/dist/user/shortcut-hints.d.ts +2 -0
  181. package/dist/user/shortcut-hints.d.ts.map +1 -0
  182. package/dist/user/shortcut-hints.js +15 -0
  183. package/dist/user/shortcut-hints.js.map +1 -0
  184. package/docs/startup-tui.png +0 -0
  185. package/package.json +3 -2
package/dist/markdown.js CHANGED
@@ -2,7 +2,7 @@ import chalk from "chalk";
2
2
  import { highlight, supportsLanguage } from "cli-highlight";
3
3
  import Table from "cli-table3";
4
4
  import MarkdownIt from "markdown-it";
5
- import { visibleLength } from "./ansi.js";
5
+ import { ANSI_RE, visibleLength } from "./ansi.js";
6
6
  import { hardWrapLine } from "./user/hard-wrap.js";
7
7
  // Force truecolor: the @xterm/headless host is not a TTY, so chalk autodetects
8
8
  // `level = 0` and emits no SGR. The host renders ANSI through its own pipeline,
@@ -123,17 +123,20 @@ function renderBlock(tokens, index, end, ctx) {
123
123
  return renderParagraph(tokens, index, ctx);
124
124
  case "hr":
125
125
  return {
126
- rows: [{ line: chalk.dim("─".repeat(ctx.width)), source: sourceFromMap(token.map) }],
126
+ rows: [{
127
+ line: chalk.dim("─".repeat(ctx.width)),
128
+ source: sourceForBlock(ctx, token.map),
129
+ }],
127
130
  next: index + 1,
128
131
  };
129
132
  case "fence":
130
133
  return {
131
- rows: renderFence(token),
134
+ rows: renderFence(token, ctx),
132
135
  next: index + 1,
133
136
  };
134
137
  case "code_block":
135
138
  return {
136
- rows: renderIndentedCode(token),
139
+ rows: renderIndentedCode(token, ctx),
137
140
  next: index + 1,
138
141
  };
139
142
  case "blockquote_open":
@@ -144,7 +147,7 @@ function renderBlock(tokens, index, end, ctx) {
144
147
  case "table_open":
145
148
  return renderTable(tokens, index, ctx);
146
149
  case "html_block":
147
- return renderHtmlBlock(token, index);
150
+ return renderHtmlBlock(token, index, ctx);
148
151
  default:
149
152
  return { rows: [], next: index + 1 };
150
153
  }
@@ -162,7 +165,7 @@ function renderHeading(tokens, index, ctx) {
162
165
  return {
163
166
  rows: wrapStyledText(styled, ctx.width).map((line) => ({
164
167
  line,
165
- source: sourceFromMap(open.map),
168
+ source: sourceForBlock(ctx, open.map),
166
169
  })),
167
170
  next: close + 1,
168
171
  };
@@ -180,7 +183,7 @@ function renderParagraph(tokens, index, ctx) {
180
183
  parts.push(token.content);
181
184
  }
182
185
  }
183
- const source = sourceFromMap(open.map);
186
+ const source = sourceForBlock(ctx, open.map);
184
187
  return {
185
188
  rows: wrapStyledText(parts.join(""), ctx.width).map((line) => ({
186
189
  line,
@@ -189,7 +192,7 @@ function renderParagraph(tokens, index, ctx) {
189
192
  next: close + 1,
190
193
  };
191
194
  }
192
- function renderFence(token) {
195
+ function renderFence(token, ctx) {
193
196
  if (token.content.length === 0)
194
197
  return [];
195
198
  const highlighted = highlightCode(token.content, token.info);
@@ -199,18 +202,19 @@ function renderFence(token) {
199
202
  const lines = withoutFinalNewline.split("\n");
200
203
  const rows = [];
201
204
  const mapStart = token.map?.[0];
205
+ const override = ctx.itemSourceOverride;
202
206
  for (let i = 0; i < lines.length; i++) {
203
207
  const sourceLine = mapStart === undefined ? undefined : mapStart + 2 + i;
204
208
  rows.push({
205
209
  line: ` ${lines[i]}`,
206
- source: sourceLine === undefined
210
+ source: override ?? (sourceLine === undefined
207
211
  ? undefined
208
- : { start: sourceLine, end: sourceLine },
212
+ : { start: sourceLine, end: sourceLine }),
209
213
  });
210
214
  }
211
215
  return rows;
212
216
  }
213
- function renderIndentedCode(token) {
217
+ function renderIndentedCode(token, ctx) {
214
218
  if (token.content.length === 0)
215
219
  return [];
216
220
  const withoutFinalNewline = token.content.endsWith("\n")
@@ -219,13 +223,14 @@ function renderIndentedCode(token) {
219
223
  const lines = withoutFinalNewline.split("\n");
220
224
  const rows = [];
221
225
  const mapStart = token.map?.[0];
226
+ const override = ctx.itemSourceOverride;
222
227
  for (let i = 0; i < lines.length; i++) {
223
228
  const sourceLine = mapStart === undefined ? undefined : mapStart + 1 + i;
224
229
  rows.push({
225
230
  line: ` ${lines[i]}`,
226
- source: sourceLine === undefined
231
+ source: override ?? (sourceLine === undefined
227
232
  ? undefined
228
- : { start: sourceLine, end: sourceLine },
233
+ : { start: sourceLine, end: sourceLine }),
229
234
  });
230
235
  }
231
236
  return rows;
@@ -235,11 +240,11 @@ function renderBlockquote(tokens, index, ctx) {
235
240
  const close = findMatchingClose(tokens, index);
236
241
  const prefix = `${chalk.dim("│")} `;
237
242
  const prefixWidth = visibleLength(prefix);
238
- const source = sourceFromMap(open.map);
243
+ const source = sourceForBlock(ctx, open.map);
239
244
  const innerRows = renderBlocks(tokens, index + 1, close, {
240
245
  width: Math.max(1, ctx.width - prefixWidth),
241
246
  topLevel: false,
242
- outerListSource: ctx.outerListSource,
247
+ itemSourceOverride: ctx.itemSourceOverride,
243
248
  });
244
249
  return {
245
250
  rows: innerRows.map((row) => ({
@@ -252,7 +257,6 @@ function renderBlockquote(tokens, index, ctx) {
252
257
  function renderList(tokens, index, ctx) {
253
258
  const open = tokens[index];
254
259
  const close = findMatchingClose(tokens, index);
255
- const source = ctx.outerListSource ?? sourceFromMap(open.map);
256
260
  const rows = [];
257
261
  const loose = isLooseList(tokens, index + 1, close);
258
262
  let itemIndex = index + 1;
@@ -265,6 +269,7 @@ function renderList(tokens, index, ctx) {
265
269
  continue;
266
270
  }
267
271
  const itemClose = findMatchingClose(tokens, itemIndex);
272
+ const itemSource = sourceFromMap(itemOpen.map);
268
273
  const childTokens = tokens
269
274
  .slice(itemIndex + 1, itemClose)
270
275
  .map((token) => cloneToken(token));
@@ -274,27 +279,27 @@ function renderList(tokens, index, ctx) {
274
279
  const innerRows = renderBlocks(childTokens, 0, childTokens.length, {
275
280
  width: Math.max(1, ctx.width - markerWidth),
276
281
  topLevel: false,
277
- outerListSource: source,
282
+ itemSourceOverride: itemSource,
278
283
  });
279
284
  const itemRows = innerRows.length > 0
280
285
  ? innerRows
281
- : [{ line: "", source }];
286
+ : [{ line: "", source: itemSource }];
282
287
  rows.push({
283
288
  line: `${marker}${itemRows[0].line}`,
284
- source,
289
+ source: itemRows[0].source,
285
290
  });
286
291
  const indent = " ".repeat(markerWidth);
287
292
  for (let i = 1; i < itemRows.length; i++) {
288
293
  rows.push({
289
294
  line: `${indent}${itemRows[i].line}`,
290
- source,
295
+ source: itemRows[i].source,
291
296
  });
292
297
  }
293
298
  itemIndex = itemClose + 1;
294
299
  renderedItems++;
295
300
  ordinal++;
296
301
  if (loose && hasMoreListItems(tokens, itemIndex, close)) {
297
- rows.push({ line: "", source });
302
+ rows.push({ line: "", source: undefined });
298
303
  }
299
304
  }
300
305
  return {
@@ -305,10 +310,11 @@ function renderList(tokens, index, ctx) {
305
310
  function renderTable(tokens, index, ctx) {
306
311
  const open = tokens[index];
307
312
  const close = findMatchingClose(tokens, index);
308
- const source = sourceFromMap(open.map);
309
313
  const header = [];
314
+ let headerSource;
310
315
  const body = [];
311
316
  let currentRow;
317
+ let currentRowSource;
312
318
  let inHead = false;
313
319
  let inBody = false;
314
320
  for (let i = index + 1; i < close; i++) {
@@ -328,15 +334,20 @@ function renderTable(tokens, index, ctx) {
328
334
  break;
329
335
  case "tr_open":
330
336
  currentRow = [];
337
+ currentRowSource = sourceForBlock(ctx, token.map);
331
338
  break;
332
339
  case "tr_close":
333
340
  if (currentRow) {
334
- if (inHead)
341
+ if (inHead) {
335
342
  header.push(...currentRow);
336
- else if (inBody)
337
- body.push(currentRow);
343
+ headerSource = currentRowSource;
344
+ }
345
+ else if (inBody) {
346
+ body.push({ cells: currentRow, source: currentRowSource });
347
+ }
338
348
  }
339
349
  currentRow = undefined;
350
+ currentRowSource = undefined;
340
351
  break;
341
352
  case "inline":
342
353
  currentRow?.push(renderInline(token.children ?? []));
@@ -353,14 +364,24 @@ function renderTable(tokens, index, ctx) {
353
364
  wrapOnWordBoundary: false,
354
365
  });
355
366
  for (const row of body)
356
- table.push(row);
367
+ table.push(row.cells);
368
+ const logicalRowSources = [headerSource, ...body.map((row) => row.source)];
369
+ let logicalRowIndex = -1;
357
370
  return {
358
- rows: table.toString().split(/\r?\n/).map((line) => ({ line, source })),
371
+ rows: table.toString().split(/\r?\n/).map((line) => {
372
+ const plain = line.replace(ANSI_RE, "");
373
+ if (isTableContentLine(plain)) {
374
+ return { line, source: logicalRowSources[logicalRowIndex] };
375
+ }
376
+ if (isTableStructuralLine(plain))
377
+ logicalRowIndex++;
378
+ return { line, source: undefined };
379
+ }),
359
380
  next: close + 1,
360
381
  };
361
382
  }
362
- function renderHtmlBlock(token, index) {
363
- const source = sourceFromMap(token.map);
383
+ function renderHtmlBlock(token, index, ctx) {
384
+ const source = sourceForBlock(ctx, token.map);
364
385
  const content = token.content.endsWith("\n")
365
386
  ? token.content.slice(0, -1)
366
387
  : token.content;
@@ -497,6 +518,12 @@ function hasMoreListItems(tokens, start, end) {
497
518
  }
498
519
  return false;
499
520
  }
521
+ function isTableContentLine(line) {
522
+ return line.startsWith("│");
523
+ }
524
+ function isTableStructuralLine(line) {
525
+ return line.startsWith("┌") || line.startsWith("├") || line.startsWith("└");
526
+ }
500
527
  function wrapStyledText(text, width) {
501
528
  if (width < 1)
502
529
  width = 1;
@@ -553,6 +580,9 @@ function sourceFromMap(map) {
553
580
  return undefined;
554
581
  return { start: map[0] + 1, end: map[1] };
555
582
  }
583
+ function sourceForBlock(ctx, map) {
584
+ return ctx.itemSourceOverride ?? sourceFromMap(map);
585
+ }
556
586
  function findMatchingClose(tokens, openIndex) {
557
587
  const openType = tokens[openIndex].type;
558
588
  const closeType = openType.replace(/_open$/, "_close");
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { HostParentUiMode, TerminalHost } from "../terminal/host.js";
2
+ import type { OffscreenSlot } from "./fork-launch.js";
3
+ export declare class OffscreenController {
4
+ private readonly host;
5
+ private readonly workdir;
6
+ private readonly slots;
7
+ private readonly forks;
8
+ private readonly pending;
9
+ private readonly unregister;
10
+ private shown;
11
+ private disposed;
12
+ constructor(host: Pick<TerminalHost, "getLayout" | "scheduleRender" | "scheduleParentUiRender" | "output">, workdir: string, slots: OffscreenSlot[]);
13
+ wrap(base: HostParentUiMode): HostParentUiMode;
14
+ dispose(): void;
15
+ private handleForkEvents;
16
+ private handleForkScroll;
17
+ private show;
18
+ private ensureFork;
19
+ }
20
+ export type { OffscreenBinding, OffscreenSlot, ForkSourceConfig, ForkSourceKey } from "./fork-launch.js";
21
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/offscreen/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKzF,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKxE,qBAAa,mBAAmB;IAS5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAIrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAS;gBAGN,IAAI,EAAE,IAAI,CACzB,YAAY,EACZ,WAAW,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,QAAQ,CACrE,EACgB,OAAO,EAAE,MAAM,EAChC,KAAK,EAAE,aAAa,EAAE;IAQxB,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;IA4B9C,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,gBAAgB;IA4CxB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,IAAI;IA8BZ,OAAO,CAAC,UAAU;CA4BnB;AAED,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,185 @@
1
+ import { WHEEL_LINES_PER_EVENT } from "../terminal/input-router.js";
2
+ import { encodeKeysToBytes } from "../terminal/key-to-bytes.js";
3
+ import { Fork } from "./fork.js";
4
+ import { isHideKey, isPrimaryShowKey, isSecondaryShowKey } from "./keys.js";
5
+ import { buildForkSurface } from "./surface.js";
6
+ import { registerOffscreenDisposer } from "./registry.js";
7
+ export class OffscreenController {
8
+ host;
9
+ workdir;
10
+ slots = new Map();
11
+ forks = new Map();
12
+ pending = new Map();
13
+ unregister;
14
+ shown;
15
+ disposed = false;
16
+ constructor(host, workdir, slots) {
17
+ this.host = host;
18
+ this.workdir = workdir;
19
+ for (const slot of slots) {
20
+ this.slots.set(slot.binding, slot);
21
+ }
22
+ this.unregister = registerOffscreenDisposer(() => this.dispose());
23
+ }
24
+ wrap(base) {
25
+ return {
26
+ getSurface: () => {
27
+ const fork = this.shown ? this.forks.get(this.shown) : undefined;
28
+ if (!fork)
29
+ return base.getSurface();
30
+ const layout = this.host.getLayout();
31
+ return buildForkSurface(fork, layout.columns, layout.childRows);
32
+ },
33
+ onEvents: (keys) => {
34
+ if (this.shown !== undefined) {
35
+ return this.handleForkEvents(keys);
36
+ }
37
+ const primary = keys.some(isPrimaryShowKey);
38
+ const secondary = keys.some(isSecondaryShowKey);
39
+ if (primary || secondary) {
40
+ this.show(primary ? "primary" : "secondary");
41
+ return true;
42
+ }
43
+ return base.onEvents(keys) !== false;
44
+ },
45
+ onResize: (cols, rows) => {
46
+ if (this.disposed)
47
+ return;
48
+ const fork = this.shown ? this.forks.get(this.shown) : undefined;
49
+ fork?.resize(cols, rows);
50
+ },
51
+ };
52
+ }
53
+ dispose() {
54
+ if (this.disposed)
55
+ return;
56
+ this.disposed = true;
57
+ this.unregister();
58
+ for (const fork of this.forks.values()) {
59
+ fork.kill();
60
+ }
61
+ this.forks.clear();
62
+ this.pending.clear();
63
+ this.shown = undefined;
64
+ }
65
+ handleForkEvents(keys) {
66
+ const fork = this.shown ? this.forks.get(this.shown) : undefined;
67
+ if (!fork) {
68
+ this.shown = undefined;
69
+ return true;
70
+ }
71
+ let shouldHide = false;
72
+ let scrollChanged = false;
73
+ const forwarded = [];
74
+ const forkAlternate = fork.vt.isAlternate === true;
75
+ for (const key of keys) {
76
+ if (isHideKey(key)) {
77
+ shouldHide = true;
78
+ continue;
79
+ }
80
+ if (!forkAlternate) {
81
+ const scroll = this.handleForkScroll(fork, key);
82
+ if (scroll.handled) {
83
+ scrollChanged ||= scroll.changed;
84
+ continue;
85
+ }
86
+ }
87
+ forwarded.push(key);
88
+ }
89
+ if (forwarded.length > 0) {
90
+ const bytes = encodeKeysToBytes(forwarded, forkAlternate ? { wheelMode: "sgr" } : undefined);
91
+ if (bytes.length > 0)
92
+ fork.pty.write(bytes);
93
+ }
94
+ if (scrollChanged && !shouldHide) {
95
+ this.host.scheduleParentUiRender();
96
+ }
97
+ if (shouldHide) {
98
+ fork.setVisible(false);
99
+ this.shown = undefined;
100
+ this.host.scheduleRender();
101
+ }
102
+ return true;
103
+ }
104
+ handleForkScroll(fork, key) {
105
+ const before = fork.vt.viewportY;
106
+ let handled = true;
107
+ switch (key.kind) {
108
+ case "page":
109
+ fork.vt.scrollPages(key.direction === "up" ? -1 : 1);
110
+ break;
111
+ case "home":
112
+ fork.vt.scrollToTop();
113
+ break;
114
+ case "end":
115
+ fork.vt.scrollToBottom();
116
+ break;
117
+ case "wheel":
118
+ if (key.direction === "up") {
119
+ fork.vt.scrollBack(WHEEL_LINES_PER_EVENT);
120
+ }
121
+ else {
122
+ fork.vt.scrollForward(WHEEL_LINES_PER_EVENT);
123
+ }
124
+ break;
125
+ default:
126
+ handled = false;
127
+ break;
128
+ }
129
+ return { handled, changed: handled && fork.vt.viewportY !== before };
130
+ }
131
+ show(binding) {
132
+ if (this.disposed)
133
+ return;
134
+ const slot = this.slots.get(binding);
135
+ if (!slot) {
136
+ this.host.scheduleParentUiRender();
137
+ return;
138
+ }
139
+ void this.ensureFork(binding, slot)
140
+ .then((fork) => {
141
+ if (this.disposed) {
142
+ fork.kill();
143
+ return;
144
+ }
145
+ for (const [key, other] of this.forks) {
146
+ if (key !== binding)
147
+ other.setVisible(false);
148
+ }
149
+ const layout = this.host.getLayout();
150
+ fork.resize(layout.columns, layout.childRows);
151
+ fork.setVisible(true);
152
+ this.shown = binding;
153
+ this.host.scheduleRender();
154
+ })
155
+ .catch((err) => {
156
+ const reason = err instanceof Error ? err.message : String(err);
157
+ this.host.output.warn(`offscreen ${slot.roleLabel} fork failed: ${reason}`);
158
+ this.host.scheduleParentUiRender();
159
+ });
160
+ }
161
+ ensureFork(binding, slot) {
162
+ const existing = this.forks.get(binding);
163
+ if (existing)
164
+ return Promise.resolve(existing);
165
+ const pending = this.pending.get(binding);
166
+ if (pending)
167
+ return pending;
168
+ const layout = this.host.getLayout();
169
+ const created = Fork.spawn(slot, this.workdir, this.host, layout.columns, layout.childRows).then((fork) => {
170
+ this.pending.delete(binding);
171
+ if (this.disposed) {
172
+ fork.kill();
173
+ return fork;
174
+ }
175
+ this.forks.set(binding, fork);
176
+ return fork;
177
+ }).catch((err) => {
178
+ this.pending.delete(binding);
179
+ throw err;
180
+ });
181
+ this.pending.set(binding, created);
182
+ return created;
183
+ }
184
+ }
185
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/offscreen/controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { DriverName, BuiltinRole } from "../flow/types.js";
2
+ export type OffscreenBinding = "primary" | "secondary";
3
+ export type ForkSourceKey = "interviewer" | "planner" | "reviewer-plan";
4
+ export interface ForkSourceConfig {
5
+ key: ForkSourceKey;
6
+ role: BuiltinRole;
7
+ variant?: string;
8
+ driver: string;
9
+ sessionKey: string;
10
+ model?: string;
11
+ effort?: string;
12
+ yolo?: boolean;
13
+ }
14
+ export interface OffscreenSlot {
15
+ binding: OffscreenBinding;
16
+ roleLabel: string;
17
+ hint: string;
18
+ driver: DriverName;
19
+ sourceSessionId: string;
20
+ sourceSessionPath: string;
21
+ model?: string;
22
+ effort?: string;
23
+ yolo?: boolean;
24
+ }
25
+ export interface ForkLaunch {
26
+ command: string;
27
+ args: string[];
28
+ cleanup: () => void;
29
+ }
30
+ export declare function buildForkLaunch(slot: OffscreenSlot, workdir: string): Promise<ForkLaunch>;
31
+ //# sourceMappingURL=fork-launch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork-launch.d.ts","sourceRoot":"","sources":["../../src/offscreen/fork-launch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGhE,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,eAAe,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CAyCrB"}