@wrongstack/tui 0.295.0 → 0.296.2

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 (288) hide show
  1. package/dist/app-action-type.d.ts +987 -0
  2. package/dist/app-action-type.d.ts.map +1 -0
  3. package/dist/app-initial-state.d.ts +4 -2
  4. package/dist/app-initial-state.d.ts.map +1 -1
  5. package/dist/app-key-handler.d.ts +12 -4
  6. package/dist/app-key-handler.d.ts.map +1 -1
  7. package/dist/app-props.d.ts +4 -2
  8. package/dist/app-props.d.ts.map +1 -1
  9. package/dist/app-reducer.d.ts +4 -2
  10. package/dist/app-reducer.d.ts.map +1 -1
  11. package/dist/app-settings-type.d.ts +73 -0
  12. package/dist/app-settings-type.d.ts.map +1 -0
  13. package/dist/app-state-core-types.d.ts +52 -0
  14. package/dist/app-state-core-types.d.ts.map +1 -0
  15. package/dist/app-state-fleet.d.ts +44 -0
  16. package/dist/app-state-fleet.d.ts.map +1 -0
  17. package/dist/app-state.d.ts +46 -1179
  18. package/dist/app-state.d.ts.map +1 -1
  19. package/dist/app-status-region.d.ts +1 -1
  20. package/dist/app-status-region.d.ts.map +1 -1
  21. package/dist/app-ui-state.d.ts +5 -0
  22. package/dist/app-ui-state.d.ts.map +1 -0
  23. package/dist/app-view-contract.d.ts +8 -1
  24. package/dist/app-view-contract.d.ts.map +1 -1
  25. package/dist/app-view.d.ts.map +1 -1
  26. package/dist/app.d.ts.map +1 -1
  27. package/dist/brain-panel-model.d.ts +8 -0
  28. package/dist/brain-panel-model.d.ts.map +1 -1
  29. package/dist/clipboard.d.ts +1 -1
  30. package/dist/clipboard.d.ts.map +1 -1
  31. package/dist/components/agents-monitor-constants.d.ts +12 -0
  32. package/dist/components/agents-monitor-constants.d.ts.map +1 -0
  33. package/dist/components/agents-monitor.d.ts +1 -7
  34. package/dist/components/agents-monitor.d.ts.map +1 -1
  35. package/dist/components/auth-panel.d.ts +2 -0
  36. package/dist/components/auth-panel.d.ts.map +1 -1
  37. package/dist/components/brain-panel.d.ts.map +1 -1
  38. package/dist/components/connections-panel.d.ts +7 -0
  39. package/dist/components/connections-panel.d.ts.map +1 -0
  40. package/dist/components/entry-error-boundary.d.ts +37 -0
  41. package/dist/components/entry-error-boundary.d.ts.map +1 -0
  42. package/dist/components/f-key-picker.d.ts.map +1 -1
  43. package/dist/components/history/banner.d.ts +1 -1
  44. package/dist/components/history/banner.d.ts.map +1 -1
  45. package/dist/components/history/basic-format.d.ts +19 -0
  46. package/dist/components/history/basic-format.d.ts.map +1 -0
  47. package/dist/components/history/code-block-diff-helpers.d.ts +28 -0
  48. package/dist/components/history/code-block-diff-helpers.d.ts.map +1 -0
  49. package/dist/components/history/code-block.d.ts +1 -1
  50. package/dist/components/history/code-block.d.ts.map +1 -1
  51. package/dist/components/history/copy-icon.d.ts +25 -0
  52. package/dist/components/history/copy-icon.d.ts.map +1 -0
  53. package/dist/components/history/entry.d.ts +1 -1
  54. package/dist/components/history/entry.d.ts.map +1 -1
  55. package/dist/components/history/index.d.ts +5 -6
  56. package/dist/components/history/index.d.ts.map +1 -1
  57. package/dist/components/history/replay.d.ts +12 -0
  58. package/dist/components/history/replay.d.ts.map +1 -1
  59. package/dist/components/history/sage-output-format.d.ts +20 -0
  60. package/dist/components/history/sage-output-format.d.ts.map +1 -0
  61. package/dist/components/history/stream-box.d.ts +23 -0
  62. package/dist/components/history/stream-box.d.ts.map +1 -0
  63. package/dist/components/history/tool-arg-format.d.ts +5 -0
  64. package/dist/components/history/tool-arg-format.d.ts.map +1 -0
  65. package/dist/components/history/tool-group.d.ts.map +1 -1
  66. package/dist/components/history/tool-output-summary.d.ts +4 -0
  67. package/dist/components/history/tool-output-summary.d.ts.map +1 -0
  68. package/dist/components/history/tool-visual-command.d.ts +3 -0
  69. package/dist/components/history/tool-visual-command.d.ts.map +1 -0
  70. package/dist/components/history/tool-visual-domain.d.ts +8 -0
  71. package/dist/components/history/tool-visual-domain.d.ts.map +1 -0
  72. package/dist/components/history/tool-visual-format.d.ts +13 -0
  73. package/dist/components/history/tool-visual-format.d.ts.map +1 -0
  74. package/dist/components/history/tool-visual-lsp.d.ts +4 -0
  75. package/dist/components/history/tool-visual-lsp.d.ts.map +1 -0
  76. package/dist/components/history/tool-visual-misc.d.ts +7 -0
  77. package/dist/components/history/tool-visual-misc.d.ts.map +1 -0
  78. package/dist/components/history/tool-visual-mode-workdir.d.ts +4 -0
  79. package/dist/components/history/tool-visual-mode-workdir.d.ts.map +1 -0
  80. package/dist/components/history/tool-visual-types.d.ts +9 -0
  81. package/dist/components/history/tool-visual-types.d.ts.map +1 -0
  82. package/dist/components/history/utils.d.ts +14 -54
  83. package/dist/components/history/utils.d.ts.map +1 -1
  84. package/dist/components/history/visual-lines.d.ts +7 -0
  85. package/dist/components/history/visual-lines.d.ts.map +1 -0
  86. package/dist/components/history/visual-memory-logs.d.ts +4 -0
  87. package/dist/components/history/visual-memory-logs.d.ts.map +1 -0
  88. package/dist/components/input.d.ts.map +1 -1
  89. package/dist/components/kanban-panel.d.ts.map +1 -1
  90. package/dist/components/key-hint-bar.d.ts +11 -0
  91. package/dist/components/key-hint-bar.d.ts.map +1 -1
  92. package/dist/components/powerline-rail.d.ts +11 -4
  93. package/dist/components/powerline-rail.d.ts.map +1 -1
  94. package/dist/components/provider-colors.d.ts.map +1 -1
  95. package/dist/components/refine-countdown-panel.d.ts +25 -0
  96. package/dist/components/refine-countdown-panel.d.ts.map +1 -0
  97. package/dist/components/refine-failure-panel.d.ts +1 -0
  98. package/dist/components/refine-failure-panel.d.ts.map +1 -1
  99. package/dist/components/resume-picker.d.ts.map +1 -1
  100. package/dist/components/scrollable-history.d.ts +96 -17
  101. package/dist/components/scrollable-history.d.ts.map +1 -1
  102. package/dist/components/settings-picker-filter.d.ts +20 -0
  103. package/dist/components/settings-picker-filter.d.ts.map +1 -0
  104. package/dist/components/settings-picker-jumps.d.ts +16 -0
  105. package/dist/components/settings-picker-jumps.d.ts.map +1 -0
  106. package/dist/components/settings-picker-model.d.ts +270 -0
  107. package/dist/components/settings-picker-model.d.ts.map +1 -0
  108. package/dist/components/settings-picker-row-list.d.ts +21 -0
  109. package/dist/components/settings-picker-row-list.d.ts.map +1 -0
  110. package/dist/components/settings-picker.d.ts +6 -313
  111. package/dist/components/settings-picker.d.ts.map +1 -1
  112. package/dist/components/status-bar-format.d.ts +65 -0
  113. package/dist/components/status-bar-format.d.ts.map +1 -0
  114. package/dist/components/status-bar-helpers.d.ts +19 -0
  115. package/dist/components/status-bar-helpers.d.ts.map +1 -0
  116. package/dist/components/status-bar-types.d.ts +350 -0
  117. package/dist/components/status-bar-types.d.ts.map +1 -0
  118. package/dist/components/status-bar.d.ts +4 -444
  119. package/dist/components/status-bar.d.ts.map +1 -1
  120. package/dist/components/statusline-detail-panel.d.ts.map +1 -1
  121. package/dist/components/statusline-picker.d.ts +5 -3
  122. package/dist/components/statusline-picker.d.ts.map +1 -1
  123. package/dist/components/tools-picker.d.ts.map +1 -1
  124. package/dist/connections-health.d.ts +39 -0
  125. package/dist/connections-health.d.ts.map +1 -0
  126. package/dist/connections-slash.d.ts +12 -0
  127. package/dist/connections-slash.d.ts.map +1 -0
  128. package/dist/esc-close-panels.d.ts.map +1 -1
  129. package/dist/f-key-panels.d.ts +4 -2
  130. package/dist/f-key-panels.d.ts.map +1 -1
  131. package/dist/heap-watchdog.d.ts.map +1 -1
  132. package/dist/height-cache.d.ts.map +1 -1
  133. package/dist/history-archive.d.ts +69 -0
  134. package/dist/history-archive.d.ts.map +1 -0
  135. package/dist/history-entry.d.ts +2 -0
  136. package/dist/history-entry.d.ts.map +1 -1
  137. package/dist/hit-test.d.ts +3 -4
  138. package/dist/hit-test.d.ts.map +1 -1
  139. package/dist/hooks/use-app-picker-keys.d.ts +3 -2
  140. package/dist/hooks/use-app-picker-keys.d.ts.map +1 -1
  141. package/dist/hooks/use-app-runtime-refs.d.ts +38 -0
  142. package/dist/hooks/use-app-runtime-refs.d.ts.map +1 -0
  143. package/dist/hooks/use-app-session-state.d.ts +28 -0
  144. package/dist/hooks/use-app-session-state.d.ts.map +1 -0
  145. package/dist/hooks/use-autonomy-drivers.d.ts +1 -1
  146. package/dist/hooks/use-autonomy-drivers.d.ts.map +1 -1
  147. package/dist/hooks/use-brain-panel.d.ts +1 -1
  148. package/dist/hooks/use-brain-panel.d.ts.map +1 -1
  149. package/dist/hooks/use-brain-risk-sync.d.ts +11 -0
  150. package/dist/hooks/use-brain-risk-sync.d.ts.map +1 -0
  151. package/dist/hooks/use-client-telemetry.d.ts +1 -1
  152. package/dist/hooks/use-client-telemetry.d.ts.map +1 -1
  153. package/dist/hooks/use-core-tui-commands.d.ts +2 -1
  154. package/dist/hooks/use-core-tui-commands.d.ts.map +1 -1
  155. package/dist/hooks/use-director-fleet-bridge.d.ts.map +1 -1
  156. package/dist/hooks/use-enhance-runtime-state.d.ts +23 -0
  157. package/dist/hooks/use-enhance-runtime-state.d.ts.map +1 -0
  158. package/dist/hooks/use-help-panel.d.ts +6 -0
  159. package/dist/hooks/use-help-panel.d.ts.map +1 -0
  160. package/dist/hooks/use-history-copy-notice.d.ts +4 -0
  161. package/dist/hooks/use-history-copy-notice.d.ts.map +1 -0
  162. package/dist/hooks/use-history-viewport-sync.d.ts +13 -0
  163. package/dist/hooks/use-history-viewport-sync.d.ts.map +1 -0
  164. package/dist/hooks/use-initial-prompt.d.ts +1 -1
  165. package/dist/hooks/use-initial-prompt.d.ts.map +1 -1
  166. package/dist/hooks/use-interrupt-ladder.d.ts +2 -1
  167. package/dist/hooks/use-interrupt-ladder.d.ts.map +1 -1
  168. package/dist/hooks/use-kanban-board-focus.d.ts +8 -0
  169. package/dist/hooks/use-kanban-board-focus.d.ts.map +1 -0
  170. package/dist/hooks/use-live-settings-state.d.ts +20 -0
  171. package/dist/hooks/use-live-settings-state.d.ts.map +1 -0
  172. package/dist/hooks/use-mailbox-view-model.d.ts.map +1 -1
  173. package/dist/hooks/use-model-pick.d.ts +1 -1
  174. package/dist/hooks/use-model-pick.d.ts.map +1 -1
  175. package/dist/hooks/use-mouse-tracking.d.ts +15 -0
  176. package/dist/hooks/use-mouse-tracking.d.ts.map +1 -0
  177. package/dist/hooks/use-next-steps-auto-submit.d.ts +2 -1
  178. package/dist/hooks/use-next-steps-auto-submit.d.ts.map +1 -1
  179. package/dist/hooks/use-panel-controllers.d.ts +2 -1
  180. package/dist/hooks/use-panel-controllers.d.ts.map +1 -1
  181. package/dist/hooks/use-picker-keys-types.d.ts +56 -0
  182. package/dist/hooks/use-picker-keys-types.d.ts.map +1 -0
  183. package/dist/hooks/use-picker-keys.d.ts +2 -64
  184. package/dist/hooks/use-picker-keys.d.ts.map +1 -1
  185. package/dist/hooks/use-provider-event-bridge.d.ts +1 -1
  186. package/dist/hooks/use-provider-event-bridge.d.ts.map +1 -1
  187. package/dist/hooks/use-session-interrupt-controller.d.ts +6 -1
  188. package/dist/hooks/use-session-interrupt-controller.d.ts.map +1 -1
  189. package/dist/hooks/use-settings-auto-save.d.ts +2 -1
  190. package/dist/hooks/use-settings-auto-save.d.ts.map +1 -1
  191. package/dist/hooks/use-shadow-panel.d.ts +17 -0
  192. package/dist/hooks/use-shadow-panel.d.ts.map +1 -0
  193. package/dist/hooks/use-slash-picker.d.ts +2 -1
  194. package/dist/hooks/use-slash-picker.d.ts.map +1 -1
  195. package/dist/hooks/use-stable-key-handler.d.ts +5 -0
  196. package/dist/hooks/use-stable-key-handler.d.ts.map +1 -0
  197. package/dist/hooks/use-subagent-events.d.ts.map +1 -1
  198. package/dist/hooks/use-terminal-render-lifecycle.d.ts.map +1 -1
  199. package/dist/hooks/use-todos-auto-clear.d.ts +3 -0
  200. package/dist/hooks/use-todos-auto-clear.d.ts.map +1 -0
  201. package/dist/hooks/use-tui-activity.d.ts +7 -1
  202. package/dist/hooks/use-tui-activity.d.ts.map +1 -1
  203. package/dist/hooks/use-tui-environment-state.d.ts +1 -0
  204. package/dist/hooks/use-tui-environment-state.d.ts.map +1 -1
  205. package/dist/hooks/use-tui-slash-commands.d.ts +2 -1
  206. package/dist/hooks/use-tui-slash-commands.d.ts.map +1 -1
  207. package/dist/index.d.ts +1 -1
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/index.js +19532 -17672
  210. package/dist/index.js.map +4 -4
  211. package/dist/input-validation/action-helpers.d.ts +12 -0
  212. package/dist/input-validation/action-helpers.d.ts.map +1 -0
  213. package/dist/input-validation/action-types.d.ts +4 -0
  214. package/dist/input-validation/action-types.d.ts.map +1 -0
  215. package/dist/input-validation/allow-lists.d.ts +29 -0
  216. package/dist/input-validation/allow-lists.d.ts.map +1 -0
  217. package/dist/input-validation/limits.d.ts +27 -0
  218. package/dist/input-validation/limits.d.ts.map +1 -0
  219. package/dist/input-validation/result.d.ts +10 -0
  220. package/dist/input-validation/result.d.ts.map +1 -0
  221. package/dist/input-validation/state-entries.d.ts +22 -0
  222. package/dist/input-validation/state-entries.d.ts.map +1 -0
  223. package/dist/input-validation/terminal.d.ts +69 -0
  224. package/dist/input-validation/terminal.d.ts.map +1 -0
  225. package/dist/input-validation.d.ts +10 -179
  226. package/dist/input-validation.d.ts.map +1 -1
  227. package/dist/layout-engine.d.ts +1 -1
  228. package/dist/layout-engine.d.ts.map +1 -1
  229. package/dist/layout-store.d.ts +8 -1
  230. package/dist/layout-store.d.ts.map +1 -1
  231. package/dist/mailbox-view-model-types.d.ts +19 -0
  232. package/dist/mailbox-view-model-types.d.ts.map +1 -0
  233. package/dist/memory-context-monitor.d.ts.map +1 -1
  234. package/dist/memory-slash-format.d.ts +10 -0
  235. package/dist/memory-slash-format.d.ts.map +1 -0
  236. package/dist/memory-slash.d.ts.map +1 -1
  237. package/dist/mouse.d.ts +11 -4
  238. package/dist/mouse.d.ts.map +1 -1
  239. package/dist/on-panel-open.d.ts +1 -1
  240. package/dist/on-panel-open.d.ts.map +1 -1
  241. package/dist/overlay-key-router.d.ts.map +1 -1
  242. package/dist/reducers/activity.d.ts +2 -1
  243. package/dist/reducers/activity.d.ts.map +1 -1
  244. package/dist/reducers/composer.d.ts +2 -1
  245. package/dist/reducers/composer.d.ts.map +1 -1
  246. package/dist/reducers/conversation.d.ts +3 -2
  247. package/dist/reducers/conversation.d.ts.map +1 -1
  248. package/dist/reducers/dialogs.d.ts +3 -2
  249. package/dist/reducers/dialogs.d.ts.map +1 -1
  250. package/dist/reducers/fleet.d.ts +2 -1
  251. package/dist/reducers/fleet.d.ts.map +1 -1
  252. package/dist/reducers/helpers.d.ts +1 -1
  253. package/dist/reducers/helpers.d.ts.map +1 -1
  254. package/dist/reducers/panel-pickers.d.ts +2 -1
  255. package/dist/reducers/panel-pickers.d.ts.map +1 -1
  256. package/dist/reducers/settings-panel.d.ts +2 -1
  257. package/dist/reducers/settings-panel.d.ts.map +1 -1
  258. package/dist/reducers/settings-values.d.ts +2 -1
  259. package/dist/reducers/settings-values.d.ts.map +1 -1
  260. package/dist/reducers/workspace-panels.d.ts +3 -2
  261. package/dist/reducers/workspace-panels.d.ts.map +1 -1
  262. package/dist/run-tui-client-registration.d.ts +18 -0
  263. package/dist/run-tui-client-registration.d.ts.map +1 -0
  264. package/dist/run-tui-options.d.ts +569 -0
  265. package/dist/run-tui-options.d.ts.map +1 -0
  266. package/dist/run-tui-title-controller.d.ts +16 -0
  267. package/dist/run-tui-title-controller.d.ts.map +1 -0
  268. package/dist/run-tui.d.ts +5 -572
  269. package/dist/run-tui.d.ts.map +1 -1
  270. package/dist/scroll-anchor.d.ts +10 -14
  271. package/dist/scroll-anchor.d.ts.map +1 -1
  272. package/dist/settings-contracts.d.ts +1 -1
  273. package/dist/settings-contracts.d.ts.map +1 -1
  274. package/dist/submit-controller.d.ts +4 -0
  275. package/dist/submit-controller.d.ts.map +1 -1
  276. package/dist/submit-prompt-refinement.d.ts +2 -0
  277. package/dist/submit-prompt-refinement.d.ts.map +1 -1
  278. package/dist/terminal-modes.d.ts +3 -0
  279. package/dist/terminal-modes.d.ts.map +1 -0
  280. package/dist/terminal-silence.d.ts +3 -0
  281. package/dist/terminal-silence.d.ts.map +1 -0
  282. package/dist/terminal-title.d.ts +7 -1
  283. package/dist/terminal-title.d.ts.map +1 -1
  284. package/dist/tui-host-capabilities.d.ts +1 -1
  285. package/dist/tui-host-capabilities.d.ts.map +1 -1
  286. package/dist/ui-contracts.d.ts +2 -1
  287. package/dist/ui-contracts.d.ts.map +1 -1
  288. package/package.json +11 -12
package/dist/run-tui.d.ts CHANGED
@@ -1,574 +1,7 @@
1
- import type { Agent } from '@wrongstack/core/agent';
2
- import type { AutonomousCoordinator, CoordinatorEvent, Director } from '@wrongstack/core/coordination';
3
- import type { SlashCommandRegistry } from '@wrongstack/core/registry';
4
- import type { QueueStore } from '@wrongstack/core/storage';
5
- import type { AttachmentStore, AutonomyStage, FleetChatVerbosity, Message, TokenCounter, TokenSavingTier } from '@wrongstack/core/types';
6
- import type { EventBus } from '@wrongstack/core/kernel';
7
- import type { VisionAdapters } from '@wrongstack/runtime/vision';
8
- import type { SddLifecycleResult, SddRunControl } from '@wrongstack/sdd';
9
- import React from 'react';
10
- import type { AgentTranscriptReader } from './components/agents-monitor.js';
11
- import type { McpPickerItem } from './components/mcp-picker.js';
12
- import type { PluginPickerItem } from './components/plugin-picker.js';
13
- import type { StatuslineItem } from './components/statusline-picker.js';
14
- import type { ToolPickerItem } from './components/tools-picker.js';
15
- export type { AutonomyStage };
16
- export interface RunTuiOptions {
17
- agent: Agent;
18
- slashRegistry: SlashCommandRegistry;
19
- /** Host-owned mutable bridge for slash commands that need masked input. */
20
- secretInputController?: {
21
- readSecret(prompt: string): Promise<string>;
22
- readText?(prompt: string): Promise<string>;
23
- } | undefined;
24
- attachments: AttachmentStore;
25
- events: EventBus;
26
- tokenCounter?: TokenCounter | undefined;
27
- visionAdapters?: VisionAdapters | undefined;
28
- /** Resolve current model vision support. Falls back to provider capability when omitted. */
29
- supportsVision?: (() => boolean | Promise<boolean>) | undefined;
30
- model: string;
31
- banner?: boolean | undefined;
32
- /** Persists the input queue across crashes; if omitted, the queue is in-memory only. */
33
- queueStore?: QueueStore | undefined;
34
- /**
35
- * Called with the queue's display texts (head first) on EVERY queue change
36
- * — enqueue, /queue delete, /queue clear, dequeue-for-delivery. The CLI
37
- * mirrors the snapshot onto the live agent Context (core's
38
- * setQueuedMessagesSnapshot) so a running agent learns what's waiting at
39
- * its next iteration boundary without the queue being delivered early.
40
- */
41
- onQueueChange?: ((items: string[]) => void) | undefined;
42
- /** Surfaces the "⚠ YOLO" chip in the status bar. */
43
- yolo?: boolean | undefined;
44
- /** Query live YOLO state from the permission policy. */
45
- getYolo?: (() => boolean) | undefined;
46
- /** Set live YOLO state from TUI-owned controls such as ConfirmPrompt. */
47
- onYolo?: ((enabled: boolean) => boolean) | undefined;
48
- /** Query the live autonomy mode. */
49
- getAutonomy?: (() => 'off' | 'suggest' | 'auto' | 'eternal' | 'eternal-parallel') | undefined;
50
- /**
51
- * Access the eternal-autonomy engine. When autonomy mode flips to
52
- * 'eternal' the TUI drives `runOneIteration()` from the post-slash hook
53
- * so the engine and TUI never race for the shared Context.
54
- */
55
- getEternalEngine?: (() => import('@wrongstack/core/execution').EternalAutonomyEngine | null) | undefined;
56
- /**
57
- * Access the parallel-eternal engine. When autonomy mode flips to
58
- * 'eternal-parallel' the TUI drives `runOneIteration()` from the post-slash
59
- * hook so the engine and TUI never race for the shared Context.
60
- */
61
- getParallelEngine?: (() => import('@wrongstack/core/execution').ParallelEternalEngine | null) | undefined;
62
- /**
63
- * Access the active SDD parallel run's control surface (or null). The TUI's
64
- * SIGINT handler uses it to stop a running `/sdd parallel` on the first Ctrl+C.
65
- */
66
- getSddRun?: (() => SddRunControl | null) | undefined;
67
- /**
68
- * Apply a post-run SDD lifecycle op (clean / rollback / destroy) from the host.
69
- * Drives the board overlay keys c / z / x so they work after the run ends.
70
- */
71
- onSddLifecycle?: ((op: 'cleanup_worktrees' | 'rollback' | 'destroy', opts?: {
72
- revertMerged?: boolean;
73
- }) => Promise<SddLifecycleResult>) | undefined;
74
- /**
75
- * Subscribe to live per-iteration events from the eternal engine.
76
- * Returns an unsubscribe function. TUI uses this to render each
77
- * iteration as a live timeline entry as it lands.
78
- */
79
- subscribeEternalIteration?: ((fn: (entry: import('@wrongstack/core/goal').JournalEntry) => void) => () => void) | undefined;
80
- /**
81
- * Subscribe to per-iteration stage transitions from the autonomy engines.
82
- * TUI uses this to render live status in the status bar.
83
- */
84
- subscribeEternalStage?: ((fn: (stage: AutonomyStage) => void) => () => void) | undefined;
85
- /** Renders in the startup banner. Read from the CLI's package.json. */
86
- appVersion?: string | undefined;
87
- /** Provider id for the startup banner ("openai", "anthropic", ...). */
88
- provider?: string | undefined;
89
- /** Wire family — shown beneath provider in the banner. */
90
- family?: string | undefined;
91
- /** Last 3 chars of the active API key — shown in the banner for visual key-pick verification. */
92
- keyTail?: string | undefined;
93
- /** Active fallback profile name, shown in the banner (e.g. "default"). */
94
- profile?: string | undefined;
95
- /** Absolute path to the active profile's config.json
96
- * (e.g. "~/.wrongstack/profiles/default/config.json"). When present,
97
- * the banner shows the full path with the profile name highlighted,
98
- * instead of the bare {@link profile} string. */
99
- profileConfigPath?: string | undefined;
100
- /** Background autonomy agents to display in the banner (Brain, Shadow,
101
- * Kanban, Mailbox, Memory, etc.). Read from the mailbox at boot. */
102
- autonomyAgents?: import('./components/history/types.js').AutonomyAgentStatus[] | undefined;
103
- /** Latest version published to the npm registry (drives the
104
- * "update available" indicator next to the banner version chip).
105
- * Sourced from the CLI's preflight update-check. */
106
- latestVersion?: string | undefined;
107
- /** True when the preflight update-check found a newer version than
108
- * {@link appVersion}. The banner renders `(update available)` next to
109
- * the version chip when this is true, so users notice without having
110
- * to read the stderr notice. */
111
- updateAvailable?: boolean | undefined;
112
- /** Snapshot of keyed providers + their model lists for the `/model` picker. Async — the catalog fetch may need to hit disk/network. */
113
- getPickableProviders?: (() => Promise<import('./components/model-picker.js').ProviderOption[]>) | undefined;
114
- /** Apply a (provider, model) pair after the picker confirms. Returns an error string on failure. */
115
- switchProviderAndModel?: ((providerId: string, modelId: string) => string | null | Promise<string | null>) | undefined;
116
- /** Apply an autonomy mode after the picker confirms. Returns an error string on failure. */
117
- switchAutonomy?: ((mode: 'off' | 'suggest' | 'auto' | 'eternal' | 'eternal-parallel') => string | null) | undefined;
118
- /**
119
- * Model-specific maxContext (tokens), resolved by the CLI via the
120
- * ModelsRegistry. When omitted, the TUI falls back to the provider
121
- * family's baseline (e.g. anthropic = 200_000), which can be wrong
122
- * for variants like the 1M-context Opus build. The status bar's
123
- * context chip uses this for its progress denominator.
124
- */
125
- effectiveMaxContext?: number | undefined;
126
- /** Absolute project root for goal.json loading. */
127
- projectRoot?: string | undefined;
128
- /** Full app config, used for HQ client publishing settings. */
129
- appConfig?: import('@wrongstack/core/types').Config | undefined;
130
- /**
131
- * The embedding host already owns the HQ publisher and telemetry bridges.
132
- * Prevents this UI surface from opening a duplicate heartbeat-only client.
133
- */
134
- hqTelemetryOwnedExternally?: boolean | undefined;
135
- /**
136
- * Terminal title animation on/off. Defaults to true. When false, the
137
- * OSC-0 window/tab title stays static (the app name only, no spinner).
138
- * Controlled via /settings → Terminal title animation.
139
- */
140
- titleAnimation?: boolean | undefined;
141
- /** Play terminal bell (\\x07) when agent run completes. */
142
- chime?: boolean | undefined;
143
- /**
144
- * Enable terminal mouse tracking (SGR; click + wheel). Stays in the normal
145
- * screen buffer, but while tracking is on the plain wheel reports to the app.
146
- * The bounded chat viewport can always be scrolled with PgUp/PgDn. Off by
147
- * default; opt in here or via
148
- * WRONGSTACK_MOUSE=1. See mouse.ts for the trade-off rationale.
149
- */
150
- mouse?: boolean | undefined;
151
- /** Show "confirm exit" message on first Ctrl+C instead of "exit". */
152
- confirmExit?: boolean | undefined;
153
- /** Active agent mode label shown in the status bar (e.g. "teach", "brief"). */
154
- modeLabel?: string | undefined;
155
- /** Token-saving tier — shown as a `💾 <tier>` chip in the TUI status bar (hidden when `'off'`). */
156
- tokenSavingMode?: TokenSavingTier | undefined;
157
- /** Number of registered tools — shown on the status bar line 2. */
158
- toolCount?: number | undefined;
159
- /** Live getter for the agent mode label so the status bar updates after /mode. */
160
- getModeLabel?: (() => string) | undefined;
161
- /**
162
- * Get all available agent modes with their names, descriptions, and the
163
- * currently active mode id. Used by the `/mode` picker in the TUI.
164
- */
165
- getModes?: (() => Promise<{
166
- modes: import('@wrongstack/core/types').Mode[];
167
- activeId: string | null;
168
- }>) | undefined;
169
- /** Switch to a different agent mode by id (e.g. "teach", "brief"). */
170
- switchMode?: ((modeId: string) => Promise<string | null>) | undefined;
171
- /**
172
- * Called ONCE on mount by the App to install its debug-stream telemetry
173
- * callback. The CLI wires this to setDebugStreamCallback() from
174
- * @wrongstack/providers. On App unmount, the default stderr callback
175
- * is restored.
176
- */
177
- registerDebugStreamCallback?: ((cb: (stats: {
178
- chunkCount: number;
179
- lastChunkSize: number;
180
- lastDeltaMs: number;
181
- totalBytes: number;
182
- lastChunkAt: string;
183
- }) => void) => void) | undefined;
184
- /** Called on App unmount — restores the default stderr debug-stream callback. */
185
- restoreDebugStreamCallback?: (() => void) | undefined;
186
- /** Called from /clear so the TUI can wipe its history entries while agent.ctx + memory are cleared separately. */
187
- onClearHistory?: ((dispatch: React.Dispatch<{
188
- type: 'clearHistory';
189
- model?: string | undefined;
190
- provider?: string | undefined;
191
- } | {
192
- type: 'resetContextChip';
193
- } | {
194
- type: 'streamReset';
195
- } | {
196
- type: 'toolStreamClear';
197
- }>) => void) | undefined;
198
- /**
199
- * Live director instance. When set, the TUI renders a fleet panel
200
- * showing every spawned subagent, its current task, streaming output,
201
- * and runtime cost — updated live from the FleetBus. Pass null or omit
202
- * when multi-agent / director mode is disabled.
203
- */
204
- director?: Director | null | undefined;
205
- /**
206
- * Read the CURRENT director. Unlike the static `director` option (captured
207
- * at boot, null in non---director sessions), this sees a director the fleet
208
- * host built lazily on the first delegate/spawn — the TUI's fleet-teardown
209
- * paths (Ctrl+C, Esc, /steer) resolve through it.
210
- */
211
- getDirector?: (() => Director | null) | undefined;
212
- /**
213
- * Optional roster reference for resolving subagent role ids to
214
- * human-readable names. Same value passed to director.tools().
215
- */
216
- fleetRoster?: Record<string, {
217
- name: string;
218
- }> | undefined;
219
- /**
220
- * Shared controller for the `/fleet stream on|off` toggle. The slash
221
- * command runs in the CLI process and needs to flip TUI reducer state;
222
- * the App installs a dispatch-backed `setEnabled` here on mount so
223
- * both sides stay synchronized.
224
- */
225
- /**
226
- * Shared controller for the `/fleet stream on|off` toggle. The slash
227
- * command runs in the CLI process and needs to flip TUI reducer state;
228
- * the App installs a dispatch-backed `setEnabled` here on mount so
229
- * both sides stay synchronized.
230
- */
231
- fleetStreamController?: {
232
- mode: FleetChatVerbosity;
233
- setMode: (mode: FleetChatVerbosity) => void;
234
- } | undefined;
235
- /**
236
- * Read-only per-subagent transcript access for the F3 agents monitor
237
- * (AgentMonitorService satisfies this structurally).
238
- */
239
- agentTranscripts?: AgentTranscriptReader | undefined;
240
- /**
241
- * Controller for the `/interrupt` slash command. The App installs the real
242
- * `abortLeader` on mount so the command can abort the in-flight leader run.
243
- */
244
- interruptController?: {
245
- abortLeader: () => boolean;
246
- isRunning?: (() => boolean) | undefined;
247
- confirmClear?: ((info: {
248
- leaderActive: boolean;
249
- subagentCount: number;
250
- }) => Promise<boolean>) | undefined;
251
- confirmSlash?: ((question: string, defaultYes: boolean) => Promise<boolean | null>) | undefined;
252
- resetSession?: (() => void) | undefined;
253
- waitForIdle?: (() => Promise<void>) | undefined;
254
- } | undefined;
255
- /**
256
- * Controller for the `/enhance on|off` prompt-refinement toggle. The App
257
- * installs a dispatch-backed `setEnabled` here on mount so the slash command
258
- * (run in the CLI process) flips the TUI's reducer flag. Mirrors
259
- * `fleetStreamController`.
260
- */
261
- enhanceController?: {
262
- enabled: boolean;
263
- setEnabled: (enabled: boolean) => void;
264
- } | undefined;
265
- /** Capability-gated low-effort reasoning hint for the prompt refiner. */
266
- getEnhancerReasoning?: (() => import('@wrongstack/core/types').ReasoningRequest | undefined) | undefined;
267
- /** Build an ephemeral Provider for retrying a failed refinement on another model (no session switch). */
268
- buildEnhancerProvider?: ((providerId: string, modelId: string) => Promise<import('@wrongstack/core/types').Provider | undefined>) | undefined;
269
- /** Resolve the one-key "retry with another model" fallback ref on a refine failure. */
270
- getEnhanceFallbackRef?: (() => string | undefined) | undefined;
271
- /** Resolve the dedicated refiner target for the initial refinement attempt. */
272
- getConfiguredRefinerRef?: (() => string | undefined) | undefined;
273
- /**
274
- * Controller for status bar hidden items. App installs a dispatch-backed
275
- * setter on mount so the /statusline slash command can update the TUI's
276
- * visible bar without a round-trip. The initial value is loaded from
277
- * the config file before App mounts.
278
- */
279
- statuslineHiddenItems: StatuslineItem[];
280
- setStatuslineHiddenItems: (items: StatuslineItem[]) => void;
281
- /**
282
- * Atomically updates in-memory state AND persists to
283
- * Active profile/statusline.json. Used by the statusline picker to
284
- * make each toggle immediately durable.
285
- */
286
- saveStatuslineHiddenItems: (items: StatuslineItem[]) => Promise<void>;
287
- /**
288
- * Controller for the agents monitor overlay. App installs a dispatch-backed
289
- * setter on mount so the `/agents on|off` slash command can toggle the
290
- * overlay without a round-trip.
291
- */
292
- agentsMonitorController?: {
293
- visible: boolean;
294
- setVisible: (visible: boolean) => void;
295
- } | undefined;
296
- /**
297
- * Mutable ref for opening TUI panels from slash commands. The slash commands
298
- * call `onPanelOpen.current(action)` to open panels. The App sets
299
- * `onPanelOpen.current` to its actual dispatch function on mount.
300
- */
301
- onPanelOpen?: {
302
- current: ((action: string) => boolean) | null;
303
- } | undefined;
304
- /**
305
- * If set, the App boots straight into goal mode — the text is wrapped
306
- * in the GOAL preamble and submitted as the first turn. Lets users
307
- * launch directly from the shell:
308
- * wstack --tui --director --goal "audit packages/core for races"
309
- * The chat shows a one-line "🎯 Goal locked: …" hint; the actual
310
- * preamble is hidden from the visible history (same as `/goal`).
311
- */
312
- initialGoal?: string | undefined;
313
- /**
314
- * If set, submitted as the first turn verbatim (no preamble). Mainly
315
- * for scripted shell aliases — `wstack --tui --ask "summarize foo.md"`
316
- * — that want one turn pre-populated without the goal-mode framing.
317
- * Ignored when `initialGoal` is also set.
318
- */
319
- initialAsk?: string | undefined;
320
- /**
321
- * Directory containing session JSONL files. Required for rewind
322
- * functionality. When provided the TUI can list checkpoints and
323
- * trigger a rewind via `/rewind` or Ctrl+R.
324
- */
325
- sessionsDir?: string | undefined;
326
- /** Live active session id for cross-surface client registration. */
327
- getSessionId?: (() => string | undefined) | undefined;
328
- /**
329
- * SDD session context getter. When an SDD session is active, returns
330
- * the AI prompt context to inject into user messages.
331
- */
332
- getSDDContext?: (() => Promise<string | null>) | undefined;
333
- /**
334
- * Process AI output for SDD auto-detection (spec, tasks, plan).
335
- * Returns displayable status messages.
336
- */
337
- onSDDOutput?: ((output: string) => Promise<string[]>) | undefined;
338
- /**
339
- * Subscribe to Goal phase/graph events from the PhaseOrchestrator.
340
- * Returns an unsubscribe function. The TUI uses this to drive the
341
- * PhaseMonitor and PhasePanel live views via dispatch actions.
342
- */
343
- subscribeGoal?: ((handler: (event: string, payload: unknown) => void) => () => void) | undefined;
344
- /**
345
- * Read the persisted autonomy settings (defaultMode, autoProceedDelayMs).
346
- * Used by the SettingsPicker in the TUI on mount and after Ctrl+S toggle.
347
- */
348
- getSettings?: (() => import('./app-state.js').Settings) | undefined;
349
- /**
350
- * Persist settings changes. Returns null on success, or an
351
- * error string on failure (so the TUI can display it as a hint).
352
- */
353
- saveSettings?: ((s: import('./app-state.js').Settings) => string | null | Promise<string | null>) | undefined;
354
- /** Load toggleable plugin rows for the interactive plugin picker. */
355
- getPluginItems?: (() => PluginPickerItem[]) | undefined;
356
- /** Toggle one plugin from the interactive picker and return refreshed rows. */
357
- onPluginToggle?: ((name: string) => Promise<{
358
- items: PluginPickerItem[];
359
- message?: string | undefined;
360
- error?: string | undefined;
361
- }>) | undefined;
362
- /** Load MCP server rows for the interactive MCP picker. */
363
- getMcpServers?: (() => McpPickerItem[]) | undefined;
364
- /** Toggle one MCP server (enable/disable) from the interactive picker. */
365
- onMcpToggle?: ((name: string) => Promise<{
366
- items: McpPickerItem[];
367
- message?: string | undefined;
368
- error?: string | undefined;
369
- }>) | undefined;
370
- /** Restart one MCP server from the interactive picker. */
371
- onMcpRestart?: ((name: string) => Promise<{
372
- items: McpPickerItem[];
373
- message?: string | undefined;
374
- error?: string | undefined;
375
- }>) | undefined;
376
- /** Load tool rows for the interactive tool picker. */
377
- getToolsItems?: (() => ToolPickerItem[]) | undefined;
378
- /** Toggle one tool (enable/disable) from the interactive tool picker. */
379
- onToolToggle?: ((name: string) => Promise<{
380
- items: ToolPickerItem[];
381
- message?: string | undefined;
382
- error?: string | undefined;
383
- }>) | undefined;
384
- /** Get current brain risk level and decision log for the Brain panel. */
385
- getBrainData?: (() => {
386
- riskLevel: 'off' | 'low' | 'medium' | 'high' | 'all';
387
- log: Array<{
388
- kind: string;
389
- question: string;
390
- outcome: string;
391
- age: string;
392
- }>;
393
- }) | undefined;
394
- /** Set brain risk ceiling from the Brain panel. */
395
- onBrainRiskLevel?: ((level: 'off' | 'low' | 'medium' | 'high' | 'all') => string | undefined) | undefined;
396
- /** Full Brain settings editor bridge (live apply + persist to global config). */
397
- brainPanelHost?: import('./brain-panel-model.js').BrainPanelHost | undefined;
398
- /** Get current Shadow Agent state. */
399
- getShadowData?: (() => {
400
- activeId: string | null;
401
- running: boolean;
402
- model: string;
403
- intervalMs: number;
404
- }) | undefined;
405
- /** Start Shadow Agent. Returns message or error. */
406
- onShadowStart?: (() => Promise<string | undefined>) | undefined;
407
- /** Stop Shadow Agent. Returns message or error. */
408
- onShadowStop?: (() => Promise<string | undefined>) | undefined;
409
- /**
410
- * Host for the interactive `/auth` panel (provider/key management, OAuth
411
- * sign-in, local-server add). The CLI builds this from its vault +
412
- * models registry; when absent, `/auth` falls back to plain text.
413
- */
414
- authHost?: import('./auth-panel-model.js').AuthPanelHost | undefined;
415
- /**
416
- * Predict likely next steps after a completed turn. The CLI wires this from
417
- * the session provider and the `/next` toggle; it returns [] when prediction
418
- * is disabled or autonomy isn't 'off'. Display-only — never executed.
419
- */
420
- predictNext?: ((input: {
421
- userRequest: string;
422
- assistantSummary: string;
423
- }) => Promise<string[]>) | undefined;
424
- /**
425
- * Called after each agent turn with the assistant's final output text.
426
- * The host parses "💡 Next steps" suggestions from the text and stores
427
- * them in the shared suggestion store so `/next 1`, `/next 1 2 3` work.
428
- */
429
- onSuggestionsParsed?: ((finalText: string) => void) | undefined;
430
- /**
431
- * Retrieve current suggestions from the shared suggestion store.
432
- * Used by the TUI to display and auto-submit next steps in 'auto' mode.
433
- */
434
- getSuggestions?: (() => string[]) | undefined;
435
- /**
436
- * Retrieve current auto suggestions (items with auto="true" attribute).
437
- * Used by YOLO+auto mode for automatic next-step submission.
438
- */
439
- getAutoSuggestions?: (() => string[]) | undefined;
440
- /**
441
- * Autonomy next prompt template for YOLO+auto mode. Contains {{suggestion}} placeholder.
442
- */
443
- autonomyNextPrompt?: string | undefined;
444
- /**
445
- * Write parsed next steps into the shared suggestion store.
446
- * Called by the Entry component after parsing each assistant message
447
- * so /next 1 and the auto-submit countdown can access them.
448
- */
449
- setSuggestions?: ((steps: string[]) => void) | undefined;
450
- /**
451
- * Messages restored from a previous session. When provided (non-empty),
452
- * the TUI renders the prior conversation as history entries so a resumed
453
- * session shows its full chat context, not just the LLM's internal state.
454
- */
455
- restoredMessages?: Message[] | undefined;
456
- /**
457
- * Tool execution records from a previous session, keyed by tool_use id.
458
- * Used to render tool entries (name, duration, ok/error) in the TUI on
459
- * resume. Events are `tool_call_end` records from the session JSONL.
460
- */
461
- restoredToolCalls?: Array<{
462
- name: string;
463
- id: string;
464
- durationMs: number;
465
- ok: boolean;
466
- outputBytes?: number | undefined;
467
- outputTokens?: number | undefined;
468
- outputLines?: number | undefined;
469
- }> | undefined;
470
- /**
471
- * Raw prior-session JSONL events. When provided, the boot `--resume` history
472
- * is rebuilt with the canonical renderer (tool I/O + interleaved audit
473
- * markers) instead of meta-only tool chips. Omitted → legacy fallback.
474
- */
475
- restoredEvents?: import('@wrongstack/core/types').SessionEvent[] | undefined;
476
- /**
477
- * List recent session summaries for the /resume picker. The CLI reads
478
- * from the session store and returns ResumeSessionEntry-shaped data.
479
- */
480
- listSessions?: ((limit?: number) => Promise<import('./app-state.js').ResumeSessionEntry[]>) | undefined;
481
- /**
482
- * Resume a session by id: load JSONL events, replay history entries,
483
- * rebuild agent context, and return hydrated entries for the TUI to
484
- * display. Returns null when resume fails.
485
- */
486
- onResumeSession?: ((sessionId: string) => Promise<{
487
- entries: import('./components/history/types.js').HistoryEntry[];
488
- nextId: number;
489
- sessionId: string;
490
- } | null>) | undefined;
491
- getProjectPickerItems?: (() => Promise<import('./components/project-picker.js').ProjectPickerItem[]>) | undefined;
492
- onProjectSelect?: ((key: string, kind: 'project' | 'action') => void) | undefined;
493
- /**
494
- * Request the TUI to exit with a specific code. Used by the project picker
495
- * to trigger a clean exit before spawning a new wstack process in a different
496
- * project directory. The host CLI catches this exit code and performs the
497
- * actual project switch.
498
- */
499
- requestExit?: (code: number) => void;
500
- getLiveSessions?: (() => Promise<import('./components/sessions-panel.js').LiveSessionEntry[]>) | undefined;
501
- onSwitchToSession?: ((sessionId: string, projectRoot: string, projectName: string) => void) | undefined;
502
- /**
503
- * When true, the agents monitor (F3) is open by default at TUI startup.
504
- * Used by the `wrongstack quick` command to show agents panel immediately.
505
- */
506
- initialAgentsMonitorOpen?: boolean | undefined;
507
- /**
508
- * Access the project-level AutonomousCoordinator instance. When set, the TUI
509
- * renders a coordination panel showing live goals, pending tasks, consensus
510
- * decisions, and shared knowledge from all active sessions. The coordinator
511
- * runs independently of the session — it coordinates multiple sessions.
512
- */
513
- getAutonomousCoordinator?: () => AutonomousCoordinator | null | undefined;
514
- /**
515
- * Subscribe to live events from the AutonomousCoordinator:
516
- * - `goal:added` — new coordination goal received
517
- * - `goal:completed` — goal finished successfully
518
- * - `goal:failed` — goal failed after max attempts
519
- * - `task:ready` — task's dependencies are satisfied, ready to execute
520
- * - `task:completed` — task finished
521
- * - `knowledge:added` — new shared fact published
522
- * - `consensus:reached` — multi-session agreement reached
523
- * Returns an unsubscribe function.
524
- */
525
- subscribeCoordinatorEvents?: (fn: (event: CoordinatorEvent) => void) => () => void;
526
- /**
527
- * Start the AutonomousCoordinator loop. Fire-and-forget — run() loops
528
- * asynchronously. Pass a goal string to begin decomposition and task
529
- * auction immediately.
530
- */
531
- onCoordinatorStart?: ((goal?: string) => void) | undefined;
532
- /** Stop the AutonomousCoordinator loop. */
533
- onCoordinatorStop?: (() => void) | undefined;
534
- /** List pending coordinator tasks claimable by this terminal. */
535
- onCoordinatorTasks?: (() => Promise<Array<{
536
- id: string;
537
- title: string;
538
- priority: string;
539
- tags: string[];
540
- }> | null>) | undefined;
541
- /** Claim a coordinator task. Returns description on success. */
542
- onCoordinatorClaim?: ((taskId: string) => Promise<string | null | {
543
- description: string;
544
- }>) | undefined;
545
- /** Mark a claimed task as completed. */
546
- onCoordinatorComplete?: ((taskId: string, result?: string) => Promise<string | null>) | undefined;
547
- /** Mark a claimed task as failed. */
548
- onCoordinatorFail?: ((taskId: string, error: string) => Promise<string | null>) | undefined;
549
- /** Get coordinator stats for status display. */
550
- onCoordinatorStatus?: (() => Promise<{
551
- goals: {
552
- total: number;
553
- done: number;
554
- pending: number;
555
- failed: number;
556
- };
557
- dag: {
558
- running: number;
559
- ready: number;
560
- done: number;
561
- failed: number;
562
- };
563
- auction: {
564
- pending: number;
565
- inProgress: number;
566
- };
567
- } | null>) | undefined;
568
- /** Access the persistent memory store for listing and inspecting memories. */
569
- memoryStore?: import('@wrongstack/core/types').MemoryPort | undefined;
570
- }
571
- export declare function silenceTerminal(): void;
572
- export declare function unsilenceTerminal(): void;
1
+ import type { RunTuiOptions } from './run-tui-options.js';
2
+ import { silenceTerminal, unsilenceTerminal } from './terminal-silence.js';
3
+ export type { AutonomyStage } from '@wrongstack/core/types';
4
+ export type { RunTuiOptions } from './run-tui-options.js';
5
+ export { silenceTerminal, unsilenceTerminal };
573
6
  export declare function runTui(opts: RunTuiOptions): Promise<number>;
574
7
  //# sourceMappingURL=run-tui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-tui.d.ts","sourceRoot":"","sources":["../src/run-tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-tui.d.ts","sourceRoot":"","sources":["../src/run-tui.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG3E,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC;AAE9C,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAohBjE"}
@@ -1,23 +1,19 @@
1
1
  /**
2
- * Anchor-based scroll model for the managed history viewport.
2
+ * Pure geometry helpers for the managed history viewport.
3
3
  *
4
- * The scroll position is a {@link ScrollAnchor}: the index of the render group
5
- * whose row band contains the viewport's top row, plus how many of that
6
- * group's rows are clipped above the viewport (`clip`). Rendering starts AT
7
- * the anchor and proceeds downward, so what appears on screen depends only on
8
- * the anchor and the heights of the groups actually mounted — never on the
9
- * (possibly estimated) heights of content above or below the window. That is
10
- * the property that kills the estimate-vs-actual spacer misalignment class of
11
- * bugs: an off-window estimate being wrong can no longer move a single pixel.
4
+ * The component owns one absolute viewport-top row for wheel, page, and
5
+ * scrollbar input. These helpers translate that coordinate into a temporary
6
+ * {@link ScrollAnchor}: the render-group containing the row plus the number
7
+ * of rows clipped inside it. Rendering begins at that anchor, with no spacer
8
+ * elements.
12
9
  *
13
10
  * `null` means "pinned to the newest output" (follow mode). Pinned rendering
14
11
  * uses `justifyContent:'flex-end'` and needs no position math at all.
15
12
  *
16
- * Prefix sums over the {@link EntryHeightCache} are still used — but only to
17
- * *translate* scroll gestures (wheel deltas, page jumps, scrollbar clicks)
18
- * into a new anchor, and to size the scrollbar thumb. Estimate error there
19
- * affects only the step size of a jump through unmeasured territory, which is
20
- * invisible; it can never misalign rendered content.
13
+ * Prefix sums over the {@link EntryHeightCache} translate absolute rows to
14
+ * mounted groups and size the scrollbar. When a measurement corrects those
15
+ * sums, the component resolves the same absolute row again instead of letting
16
+ * separate anchor/offset/thumb states drift apart.
21
17
  *
22
18
  * Pure TypeScript — no React, no Ink. Unit-testable without mounting anything.
23
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-anchor.d.ts","sourceRoot":"","sources":["../src/scroll-anchor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd;iFAC6E;IAC7E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,KAAK,EAAE,gBAAgB,CAAC;IACxB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;sDACsD;AACtD,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAE5D;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAU5F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,OAAO,EAAE,MAAM,GACd,YAAY,GAAG,IAAI,CAErB;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,YAAY,GAAG,IAAI,CAE/E;AAED,+CAA+C;AAC/C,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,MAAM,GACX,YAAY,GAAG,IAAI,CAOrB;AAED,8DAA8D;AAC9D,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,SAAS,SAAI,GACZ,SAAS,CAYX;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,SAAI,GAAG,SAAS,CAc7E"}
1
+ {"version":3,"file":"scroll-anchor.d.ts","sourceRoot":"","sources":["../src/scroll-anchor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd;iFAC6E;IAC7E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,KAAK,EAAE,gBAAgB,CAAC;IACxB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;sDACsD;AACtD,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAE5D;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAU5F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,OAAO,EAAE,MAAM,GACd,YAAY,GAAG,IAAI,CAErB;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,YAAY,GAAG,IAAI,CAE/E;AAED,+CAA+C;AAC/C,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,MAAM,GACX,YAAY,GAAG,IAAI,CAOrB;AAED,8DAA8D;AAC9D,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,SAAS,SAAI,GACZ,SAAS,CAsCX;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,SAAI,GAAG,SAAS,CAkC7E"}