openhorse 0.2.22 → 0.2.24

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 (162) hide show
  1. package/dist/commands/target-command.d.ts +21 -0
  2. package/dist/commands/target-command.d.ts.map +1 -0
  3. package/dist/commands/target-command.js +81 -0
  4. package/dist/commands/target-command.js.map +1 -0
  5. package/dist/harness/capsule.d.ts +1 -0
  6. package/dist/harness/capsule.d.ts.map +1 -1
  7. package/dist/harness/capsule.js +38 -9
  8. package/dist/harness/capsule.js.map +1 -1
  9. package/dist/harness/contract.d.ts +2 -0
  10. package/dist/harness/contract.d.ts.map +1 -1
  11. package/dist/harness/contract.js +78 -14
  12. package/dist/harness/contract.js.map +1 -1
  13. package/dist/harness/index.d.ts +2 -2
  14. package/dist/harness/index.d.ts.map +1 -1
  15. package/dist/harness/index.js +4 -1
  16. package/dist/harness/index.js.map +1 -1
  17. package/dist/harness/state.d.ts.map +1 -1
  18. package/dist/harness/state.js +37 -7
  19. package/dist/harness/state.js.map +1 -1
  20. package/dist/runtime/agent-runtime-controller.d.ts +5 -0
  21. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  22. package/dist/runtime/agent-runtime-controller.js +54 -0
  23. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  24. package/dist/runtime/agent-runtime-protocol.d.ts +4 -0
  25. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  26. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  27. package/dist/runtime/aggregate-tool-presenter.d.ts +13 -0
  28. package/dist/runtime/aggregate-tool-presenter.d.ts.map +1 -0
  29. package/dist/runtime/aggregate-tool-presenter.js +44 -0
  30. package/dist/runtime/aggregate-tool-presenter.js.map +1 -0
  31. package/dist/runtime/chat-controller.d.ts +9 -2
  32. package/dist/runtime/chat-controller.d.ts.map +1 -1
  33. package/dist/runtime/chat-controller.js +129 -17
  34. package/dist/runtime/chat-controller.js.map +1 -1
  35. package/dist/runtime/goal-coordinator.d.ts +66 -0
  36. package/dist/runtime/goal-coordinator.d.ts.map +1 -0
  37. package/dist/runtime/goal-coordinator.js +200 -0
  38. package/dist/runtime/goal-coordinator.js.map +1 -0
  39. package/dist/runtime/goals/accounting.d.ts +17 -0
  40. package/dist/runtime/goals/accounting.d.ts.map +1 -0
  41. package/dist/runtime/goals/accounting.js +45 -0
  42. package/dist/runtime/goals/accounting.js.map +1 -0
  43. package/dist/runtime/goals/completion-audit.d.ts +24 -0
  44. package/dist/runtime/goals/completion-audit.d.ts.map +1 -0
  45. package/dist/runtime/goals/completion-audit.js +48 -0
  46. package/dist/runtime/goals/completion-audit.js.map +1 -0
  47. package/dist/runtime/goals/coordinator.d.ts +42 -0
  48. package/dist/runtime/goals/coordinator.d.ts.map +1 -0
  49. package/dist/runtime/goals/coordinator.js +277 -0
  50. package/dist/runtime/goals/coordinator.js.map +1 -0
  51. package/dist/runtime/goals/prompt.d.ts +16 -0
  52. package/dist/runtime/goals/prompt.d.ts.map +1 -0
  53. package/dist/runtime/goals/prompt.js +50 -0
  54. package/dist/runtime/goals/prompt.js.map +1 -0
  55. package/dist/runtime/goals/tools.d.ts +43 -0
  56. package/dist/runtime/goals/tools.d.ts.map +1 -0
  57. package/dist/runtime/goals/tools.js +88 -0
  58. package/dist/runtime/goals/tools.js.map +1 -0
  59. package/dist/runtime/goals/types.d.ts +167 -0
  60. package/dist/runtime/goals/types.d.ts.map +1 -0
  61. package/dist/runtime/goals/types.js +72 -0
  62. package/dist/runtime/goals/types.js.map +1 -0
  63. package/dist/runtime/tool-detail-repository.d.ts +45 -0
  64. package/dist/runtime/tool-detail-repository.d.ts.map +1 -0
  65. package/dist/runtime/tool-detail-repository.js +131 -0
  66. package/dist/runtime/tool-detail-repository.js.map +1 -0
  67. package/dist/runtime/tool-output-presentation.d.ts +89 -0
  68. package/dist/runtime/tool-output-presentation.d.ts.map +1 -0
  69. package/dist/runtime/tool-output-presentation.js +329 -0
  70. package/dist/runtime/tool-output-presentation.js.map +1 -0
  71. package/dist/runtime/ui-events.d.ts +4 -0
  72. package/dist/runtime/ui-events.d.ts.map +1 -1
  73. package/dist/runtime/ui-events.js.map +1 -1
  74. package/dist/services/goal-sidecar.d.ts +96 -0
  75. package/dist/services/goal-sidecar.d.ts.map +1 -0
  76. package/dist/services/goal-sidecar.js +145 -0
  77. package/dist/services/goal-sidecar.js.map +1 -0
  78. package/dist/services/goal-storage.d.ts +22 -0
  79. package/dist/services/goal-storage.d.ts.map +1 -0
  80. package/dist/services/goal-storage.js +153 -0
  81. package/dist/services/goal-storage.js.map +1 -0
  82. package/dist/services/model-context.d.ts.map +1 -1
  83. package/dist/services/model-context.js +7 -0
  84. package/dist/services/model-context.js.map +1 -1
  85. package/dist/services/session-storage.d.ts +7 -0
  86. package/dist/services/session-storage.d.ts.map +1 -1
  87. package/dist/services/session-storage.js +64 -27
  88. package/dist/services/session-storage.js.map +1 -1
  89. package/dist/services/storage-maintenance.d.ts.map +1 -1
  90. package/dist/services/storage-maintenance.js +3 -2
  91. package/dist/services/storage-maintenance.js.map +1 -1
  92. package/dist/terminal-ui/editor.d.ts.map +1 -1
  93. package/dist/terminal-ui/editor.js +14 -3
  94. package/dist/terminal-ui/editor.js.map +1 -1
  95. package/dist/terminal-ui/launch.d.ts +19 -0
  96. package/dist/terminal-ui/launch.d.ts.map +1 -1
  97. package/dist/terminal-ui/launch.js +187 -24
  98. package/dist/terminal-ui/launch.js.map +1 -1
  99. package/dist/terminal-ui/output-queue.d.ts +43 -0
  100. package/dist/terminal-ui/output-queue.d.ts.map +1 -0
  101. package/dist/terminal-ui/output-queue.js +139 -0
  102. package/dist/terminal-ui/output-queue.js.map +1 -0
  103. package/dist/terminal-ui/raw-editor.d.ts +33 -0
  104. package/dist/terminal-ui/raw-editor.d.ts.map +1 -1
  105. package/dist/terminal-ui/raw-editor.js +142 -23
  106. package/dist/terminal-ui/raw-editor.js.map +1 -1
  107. package/dist/tools/goal.d.ts +17 -0
  108. package/dist/tools/goal.d.ts.map +1 -0
  109. package/dist/tools/goal.js +191 -0
  110. package/dist/tools/goal.js.map +1 -0
  111. package/dist/tools/index.d.ts.map +1 -1
  112. package/dist/tools/index.js +133 -58
  113. package/dist/tools/index.js.map +1 -1
  114. package/dist/tui-core/input-parser.d.ts +9 -2
  115. package/dist/tui-core/input-parser.d.ts.map +1 -1
  116. package/dist/tui-core/input-parser.js +37 -2
  117. package/dist/tui-core/input-parser.js.map +1 -1
  118. package/dist/tui-ui/inline-surface.d.ts +7 -1
  119. package/dist/tui-ui/inline-surface.d.ts.map +1 -1
  120. package/dist/tui-ui/inline-surface.js +23 -2
  121. package/dist/tui-ui/inline-surface.js.map +1 -1
  122. package/dist/tui-ui/input-ownership.d.ts +46 -0
  123. package/dist/tui-ui/input-ownership.d.ts.map +1 -0
  124. package/dist/tui-ui/input-ownership.js +74 -0
  125. package/dist/tui-ui/input-ownership.js.map +1 -0
  126. package/dist/tui-ui/launch.d.ts +1 -0
  127. package/dist/tui-ui/launch.d.ts.map +1 -1
  128. package/dist/tui-ui/launch.js +104 -2
  129. package/dist/tui-ui/launch.js.map +1 -1
  130. package/dist/tui-ui/layout.d.ts +1 -0
  131. package/dist/tui-ui/layout.d.ts.map +1 -1
  132. package/dist/tui-ui/layout.js +5 -1
  133. package/dist/tui-ui/layout.js.map +1 -1
  134. package/dist/tui-ui/runner.d.ts +32 -0
  135. package/dist/tui-ui/runner.d.ts.map +1 -1
  136. package/dist/tui-ui/runner.js +553 -24
  137. package/dist/tui-ui/runner.js.map +1 -1
  138. package/dist/tui-ui/state.d.ts +65 -0
  139. package/dist/tui-ui/state.d.ts.map +1 -1
  140. package/dist/tui-ui/state.js +187 -2
  141. package/dist/tui-ui/state.js.map +1 -1
  142. package/dist/tui-ui/theme-profile.d.ts +25 -0
  143. package/dist/tui-ui/theme-profile.d.ts.map +1 -0
  144. package/dist/tui-ui/theme-profile.js +130 -0
  145. package/dist/tui-ui/theme-profile.js.map +1 -0
  146. package/dist/tui-ui/transcript-inspector-layout.d.ts +9 -0
  147. package/dist/tui-ui/transcript-inspector-layout.d.ts.map +1 -0
  148. package/dist/tui-ui/transcript-inspector-layout.js +97 -0
  149. package/dist/tui-ui/transcript-inspector-layout.js.map +1 -0
  150. package/dist/tui-ui/transcript-inspector-surface.d.ts +18 -0
  151. package/dist/tui-ui/transcript-inspector-surface.d.ts.map +1 -0
  152. package/dist/tui-ui/transcript-inspector-surface.js +88 -0
  153. package/dist/tui-ui/transcript-inspector-surface.js.map +1 -0
  154. package/dist/tui-ui/transcript-inspector.d.ts +35 -0
  155. package/dist/tui-ui/transcript-inspector.d.ts.map +1 -0
  156. package/dist/tui-ui/transcript-inspector.js +128 -0
  157. package/dist/tui-ui/transcript-inspector.js.map +1 -0
  158. package/dist/tui-ui/transcript-layout.d.ts +1 -0
  159. package/dist/tui-ui/transcript-layout.d.ts.map +1 -1
  160. package/dist/tui-ui/transcript-layout.js +44 -3
  161. package/dist/tui-ui/transcript-layout.js.map +1 -1
  162. package/package.json +1 -1
@@ -36,6 +36,9 @@ const redaction_1 = require("../services/redaction");
36
36
  const completion_1 = require("./completion");
37
37
  const editor_1 = require("./editor");
38
38
  const raw_editor_1 = require("./raw-editor");
39
+ const output_queue_1 = require("./output-queue");
40
+ const target_command_1 = require("../commands/target-command");
41
+ const coordinator_1 = require("../runtime/goals/coordinator");
39
42
  const ACCENT = chalk_1.default.hex('#80E6E8');
40
43
  const DIM = chalk_1.default.hex('#567089');
41
44
  const ERROR = chalk_1.default.hex('#FF7A7A');
@@ -206,6 +209,30 @@ function shouldShowStatus(message) {
206
209
  function formatTerminalStatusMessage(message, width = terminalContentWidth(120)) {
207
210
  return truncateTerminalText(message.replace(/\s+/g, ' ').trim(), Math.max(1, width));
208
211
  }
212
+ function formatTargetCommandResult(input) {
213
+ switch (input.action) {
214
+ case 'show':
215
+ return 'Target: no active goal. Use /target <objective> to create one.';
216
+ case 'create':
217
+ return `Goal created: ${input.payload?.objective ?? ''}`;
218
+ case 'pause':
219
+ return 'Goal paused. Use /target resume to continue.';
220
+ case 'resume':
221
+ return 'Goal resumed. Will continue when runtime is idle.';
222
+ case 'edit':
223
+ return `Goal updated: ${input.payload?.objective ?? ''}`;
224
+ case 'replace':
225
+ return `Goal replaced: ${input.payload?.objective ?? ''}`;
226
+ case 'clear':
227
+ return 'Goal cleared.';
228
+ case 'set_budget':
229
+ return input.payload?.tokenBudget
230
+ ? `Goal token budget set to ${input.payload.tokenBudget}.`
231
+ : 'Goal token budget removed.';
232
+ default:
233
+ return 'Target command processed.';
234
+ }
235
+ }
209
236
  function formatTerminalSessionRestored(event) {
210
237
  const width = terminalContentWidth(120);
211
238
  const view = (0, ui_view_model_1.createSessionRestoredView)(event);
@@ -359,6 +386,7 @@ class TerminalEventSink {
359
386
  this.entries = new Map();
360
387
  this.printedContent = new Map();
361
388
  this.pendingAssistantOutput = new Map();
389
+ this.finalizedEntryIds = new Set();
362
390
  this.idCounter = 0;
363
391
  this.pendingPicker = null;
364
392
  this.pickerOffset = 0;
@@ -374,14 +402,25 @@ class TerminalEventSink {
374
402
  }
375
403
  append(entry) {
376
404
  const id = `terminal-${++this.idCounter}`;
405
+ const { live, ...transcriptEntry } = entry;
377
406
  const fullEntry = {
378
407
  id,
379
- role: entry.role,
380
- title: entry.title,
381
- content: entry.content,
408
+ ...transcriptEntry,
382
409
  };
383
410
  this.entries.set(id, fullEntry);
384
- this.printEntry(fullEntry, false);
411
+ const finalized = live !== true;
412
+ const write = this.printEntry(fullEntry, finalized);
413
+ if (finalized) {
414
+ if (write instanceof Promise) {
415
+ void write.then(written => {
416
+ if (written)
417
+ this.releaseEntryBody(id);
418
+ });
419
+ }
420
+ else {
421
+ this.releaseEntryBody(id);
422
+ }
423
+ }
385
424
  return id;
386
425
  }
387
426
  update(id, patch) {
@@ -398,11 +437,22 @@ class TerminalEventSink {
398
437
  return;
399
438
  const next = patch ? { ...existing, ...patch } : existing;
400
439
  this.entries.set(id, next);
401
- this.printEntry(next, true);
440
+ const write = this.printEntry(next, true);
441
+ if (write instanceof Promise) {
442
+ void write.then(written => {
443
+ if (written)
444
+ this.releaseEntryBody(id);
445
+ });
446
+ }
447
+ else {
448
+ this.releaseEntryBody(id);
449
+ }
402
450
  }
403
451
  remove(id) {
404
452
  this.entries.delete(id);
405
453
  this.printedContent.delete(id);
454
+ this.pendingAssistantOutput.delete(id);
455
+ this.finalizedEntryIds.delete(id);
406
456
  }
407
457
  replaceTranscript(entries) {
408
458
  this.entries.clear();
@@ -546,16 +596,17 @@ class TerminalEventSink {
546
596
  if (!entry.content)
547
597
  return;
548
598
  if (entry.role === 'assistant') {
549
- this.printAssistantDelta(entry, finalized);
550
- return;
599
+ return this.printAssistantDelta(entry, finalized);
551
600
  }
552
601
  const previous = this.printedContent.get(entry.id);
553
602
  if (previous === entry.content && !finalized)
554
603
  return;
555
604
  this.printedContent.set(entry.id, entry.content);
605
+ // v0.2.23: bound printed content.
606
+ this.evictIfNeeded(this.printedContent, TerminalEventSink.MAX_PRINTED_CONTENT);
556
607
  const formatted = formatTranscriptEntry(entry);
557
608
  if (formatted) {
558
- this.writer.write(`${formatted}\n`);
609
+ return this.writeWithAcknowledgement(`${formatted}\n`);
559
610
  }
560
611
  }
561
612
  printAssistantDelta(entry, finalized) {
@@ -566,19 +617,26 @@ class TerminalEventSink {
566
617
  const delta = next.startsWith(previous) ? next.slice(previous.length) : `\n${next}`;
567
618
  const pending = `${this.pendingAssistantOutput.get(entry.id) ?? ''}${delta}`;
568
619
  this.printedContent.set(entry.id, next);
620
+ // v0.2.23: bound printed content.
621
+ this.evictIfNeeded(this.printedContent, TerminalEventSink.MAX_PRINTED_CONTENT);
569
622
  const shouldFlush = finalized || pending.includes('\n') || visibleLength(pending) >= 80;
570
623
  if (shouldFlush) {
571
624
  this.pendingAssistantOutput.delete(entry.id);
572
625
  if (pending) {
573
- this.writer.write(pending);
626
+ return this.writeWithAcknowledgement(pending);
574
627
  }
575
628
  else if (finalized && next && !next.endsWith('\n')) {
576
- this.writer.write('\n');
629
+ return this.writeWithAcknowledgement('\n');
577
630
  }
578
631
  return;
579
632
  }
580
633
  this.pendingAssistantOutput.set(entry.id, pending);
581
634
  }
635
+ writeWithAcknowledgement(text) {
636
+ if (this.writer.writeAsync)
637
+ return this.writer.writeAsync(text);
638
+ this.writer.write(text);
639
+ }
582
640
  /**
583
641
  * R8: consume the typed subagent event into the shared timeline view-model.
584
642
  * Does not print (the chat-controller transcript summary already drives
@@ -586,13 +644,61 @@ class TerminalEventSink {
586
644
  */
587
645
  subtaskEvent(event) {
588
646
  this.subtaskTimeline.set(event.taskId, (0, ui_view_model_1.subtaskEventToTimelineEntry)(event));
647
+ // v0.2.23: bound subtask timeline.
648
+ this.evictIfNeeded(this.subtaskTimeline, TerminalEventSink.MAX_SUBTASK_TIMELINE);
589
649
  }
590
650
  /** R8: read-only access to the typed subagent timeline (for parity tests). */
591
651
  getSubtaskTimeline() {
592
652
  return Array.from(this.subtaskTimeline.values());
593
653
  }
654
+ // --- v0.2.23: bounded state helpers ---
655
+ /**
656
+ * After finalize, the entry content is in native scrollback.
657
+ * Replace the full body with a lightweight marker so memory doesn't grow
658
+ * with scrollback length.
659
+ */
660
+ releaseEntryBody(id) {
661
+ const entry = this.entries.get(id);
662
+ if (!entry)
663
+ return;
664
+ // Keep role/id/title but replace heavy content with a marker.
665
+ this.entries.set(id, {
666
+ ...entry,
667
+ content: `[scrollback:${entry.role} posted ${entry.content.length} chars]`,
668
+ });
669
+ this.printedContent.delete(id);
670
+ this.pendingAssistantOutput.delete(id);
671
+ this.finalizedEntryIds.delete(id);
672
+ this.finalizedEntryIds.add(id);
673
+ while (this.finalizedEntryIds.size > TerminalEventSink.MAX_FINALIZED_METADATA) {
674
+ const oldest = this.finalizedEntryIds.values().next().value;
675
+ if (!oldest)
676
+ break;
677
+ this.finalizedEntryIds.delete(oldest);
678
+ this.entries.delete(oldest);
679
+ }
680
+ }
681
+ /**
682
+ * Evict oldest entries from a Map when it exceeds the configured limit.
683
+ * Uses Map's insertion-order iteration — oldest entries are evicted first.
684
+ * Mirrors evictOldest in session-storage.ts; kept private to avoid a shared
685
+ * dependency on session-storage internals.
686
+ */
687
+ evictIfNeeded(map, limit) {
688
+ while (map.size > limit) {
689
+ const firstKey = map.keys().next().value;
690
+ if (firstKey !== undefined)
691
+ map.delete(firstKey);
692
+ else
693
+ break;
694
+ }
695
+ }
594
696
  }
595
697
  exports.TerminalEventSink = TerminalEventSink;
698
+ // --- v0.2.23: bounded state configuration ---
699
+ TerminalEventSink.MAX_FINALIZED_METADATA = 512;
700
+ TerminalEventSink.MAX_PRINTED_CONTENT = 512;
701
+ TerminalEventSink.MAX_SUBTASK_TIMELINE = 100;
596
702
  function renderTerminalBanner(runtime) {
597
703
  const width = Math.max(2, terminalContentWidth(88));
598
704
  const line = '─'.repeat(Math.max(0, width - 2));
@@ -833,12 +939,36 @@ function normalizeTerminalAnswer(input) {
833
939
  }
834
940
  async function launchTerminalUI(runtime) {
835
941
  printBanner(runtime);
836
- let editor;
837
- const writer = {
838
- write: text => editor.writeExternal(text),
942
+ let agentController;
943
+ let writer;
944
+ const editor = new raw_editor_1.RawTerminalEditor({
945
+ cwd: runtime.cwd,
946
+ onSubmit: input => handleInput(input),
947
+ onCtrlC: () => handleSigint(),
948
+ onNotice: message => { void writer.write(`${DIM(message)}\n`); },
949
+ });
950
+ const outputAdapter = {
951
+ write: text => editor.writeExternalBatch([text]),
952
+ on: (event, listener) => { process.stdout.on(event, listener); },
953
+ off: (event, listener) => { process.stdout.off(event, listener); },
954
+ };
955
+ const outputQueue = new output_queue_1.TerminalOutputQueue(outputAdapter);
956
+ let outputBatchSequence = 0;
957
+ writer = {
958
+ write: text => {
959
+ void outputQueue.enqueue({
960
+ id: `terminal-output-${++outputBatchSequence}`,
961
+ chunks: [text],
962
+ releaseEntryIds: [],
963
+ }).catch(() => undefined);
964
+ },
965
+ writeAsync: text => outputQueue.enqueue({
966
+ id: `terminal-output-${++outputBatchSequence}`,
967
+ chunks: [text],
968
+ releaseEntryIds: [],
969
+ }).then(() => true, () => false),
839
970
  };
840
971
  const events = new TerminalEventSink(runtime, writer);
841
- let agentController;
842
972
  let stopping = false;
843
973
  let settled = false;
844
974
  let resolveLaunch = null;
@@ -884,6 +1014,9 @@ async function launchTerminalUI(runtime) {
884
1014
  return undefined;
885
1015
  },
886
1016
  };
1017
+ // v0.2.24: initialize goal coordinator for /target mode.
1018
+ const goalCoordinator = new coordinator_1.GoalCoordinator(runtime.cwd, runtime.getSession()?.id ?? 'new');
1019
+ goalCoordinator.load();
887
1020
  agentController = new agent_runtime_controller_1.AgentRuntimeController({
888
1021
  runtime,
889
1022
  eventSink,
@@ -901,12 +1034,7 @@ async function launchTerminalUI(runtime) {
901
1034
  events.append({ role: 'error', content: message });
902
1035
  },
903
1036
  });
904
- editor = new raw_editor_1.RawTerminalEditor({
905
- cwd: runtime.cwd,
906
- onSubmit: input => handleInput(input),
907
- onCtrlC: () => handleSigint(),
908
- onNotice: message => writer.write(`${DIM(message)}\n`),
909
- });
1037
+ agentController.setGoalCoordinator(goalCoordinator);
910
1038
  const prompt = () => {
911
1039
  if (stopping)
912
1040
  return;
@@ -923,8 +1051,16 @@ async function launchTerminalUI(runtime) {
923
1051
  return;
924
1052
  stopping = true;
925
1053
  await agentController.stopActiveTurn();
926
- editor.stop();
927
- await runtime.shutdown();
1054
+ try {
1055
+ await outputQueue.close();
1056
+ }
1057
+ catch {
1058
+ // Terminal output failure must not block shutdown.
1059
+ }
1060
+ finally {
1061
+ editor.stop();
1062
+ await runtime.shutdown();
1063
+ }
928
1064
  process.stdout.write('\n');
929
1065
  finishLaunch();
930
1066
  };
@@ -970,6 +1106,25 @@ async function launchTerminalUI(runtime) {
970
1106
  }
971
1107
  input ?? (input = answer);
972
1108
  if (!composer.isActive()) {
1109
+ // v0.2.24: intercept /target and /goal commands.
1110
+ if ((0, target_command_1.isTargetCommand)(input)) {
1111
+ const parsed = (0, target_command_1.parseTargetCommand)(input);
1112
+ if (parsed.ok) {
1113
+ events.append({
1114
+ role: 'system',
1115
+ content: formatTargetCommandResult(parsed.input),
1116
+ });
1117
+ // Route to controller for goal lifecycle.
1118
+ if (parsed.input.action !== 'show') {
1119
+ agentController.handle(parsed.input);
1120
+ }
1121
+ }
1122
+ else {
1123
+ events.append({ role: 'error', content: parsed.error });
1124
+ }
1125
+ prompt();
1126
+ return;
1127
+ }
973
1128
  const edit = parseEditInput(input);
974
1129
  if (edit.isEdit) {
975
1130
  editor.stop();
@@ -1035,8 +1190,16 @@ async function launchTerminalUI(runtime) {
1035
1190
  finally {
1036
1191
  if (!stopping) {
1037
1192
  stopping = true;
1038
- editor.stop();
1039
- await runtime.shutdown();
1193
+ try {
1194
+ await outputQueue.close();
1195
+ }
1196
+ catch {
1197
+ // Terminal output failure must not block shutdown.
1198
+ }
1199
+ finally {
1200
+ editor.stop();
1201
+ await runtime.shutdown();
1202
+ }
1040
1203
  process.stdout.write('\n');
1041
1204
  }
1042
1205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/terminal-ui/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/terminal-ui/launch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * v0.2.23 — Terminal Output Queue.
3
+ *
4
+ * Single-writer FIFO queue for all Terminal UI runtime output. Handles
5
+ * backpressure (write() returns false → wait for drain), batch coalescing,
6
+ * flush, close, and safe shutdown. Replaces the ad-hoc pattern of each
7
+ * event handler calling editor.writeExternal() directly.
8
+ */
9
+ export interface TerminalOutputBatch {
10
+ id: string;
11
+ chunks: readonly string[];
12
+ /** Entry IDs whose heavy state can be released after this batch is written. */
13
+ releaseEntryIds: readonly string[];
14
+ }
15
+ export interface TerminalOutputWriter {
16
+ write(text: string): boolean;
17
+ on(event: 'drain', listener: () => void): void;
18
+ off(event: 'drain', listener: () => void): void;
19
+ on(event: 'error', listener: (error: Error) => void): void;
20
+ off(event: 'error', listener: (error: Error) => void): void;
21
+ }
22
+ export declare class TerminalOutputQueue {
23
+ private readonly writer;
24
+ private readonly pending;
25
+ private closed;
26
+ private draining;
27
+ private flushPromise;
28
+ private failure;
29
+ constructor(writer: TerminalOutputWriter);
30
+ /** Enqueue a batch for ordered write. Resolves when the batch has been written. */
31
+ enqueue(batch: TerminalOutputBatch): Promise<void>;
32
+ /** Flush all pending batches. Returns a promise that resolves when done. */
33
+ flush(): Promise<void>;
34
+ /** Close the queue: prevent new enqueues, flush remaining, and clean up. */
35
+ close(): Promise<void>;
36
+ /** True after close() is called. */
37
+ get isClosed(): boolean;
38
+ /** Number of pending (not yet written) batches. */
39
+ get pendingCount(): number;
40
+ private processQueue;
41
+ private writeBatch;
42
+ }
43
+ //# sourceMappingURL=output-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-queue.d.ts","sourceRoot":"","sources":["../../src/terminal-ui/output-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,+EAA+E;IAC/E,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAQD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC/C,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAChD,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;CAC7D;AAED,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,OAAO,CAAsB;gBAER,MAAM,EAAE,oBAAoB;IAEzD,mFAAmF;IACnF,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD,4EAA4E;IACtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,4EAA4E;IACtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,oCAAoC;IACpC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,mDAAmD;IACnD,IAAI,YAAY,IAAI,MAAM,CAEzB;YAEa,YAAY;IAmB1B,OAAO,CAAC,UAAU;CAkDnB"}