@aragon-agent/cli 0.6.47 → 0.6.48

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 (775) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +27 -6
  3. package/dist/agent/coalesce.d.ts +1 -1
  4. package/dist/agent/controller.d.ts +21 -21
  5. package/dist/agent/controller.js +13 -13
  6. package/dist/agent/conversation-reset.d.ts +1 -1
  7. package/dist/agent/governance-wiring.d.ts +6 -6
  8. package/dist/agent/governance-wiring.js +4 -4
  9. package/dist/agent/headless.d.ts +5 -5
  10. package/dist/agent/headless.js +4 -4
  11. package/dist/agent/job-notices.d.ts +1 -1
  12. package/dist/agent/job-notices.js +1 -1
  13. package/dist/agent/kit-apply.d.ts +3 -3
  14. package/dist/agent/kit-apply.js +3 -3
  15. package/dist/agent/model-profile-settings.d.ts +2 -2
  16. package/dist/agent/model-profile-settings.js +6 -6
  17. package/dist/agent/prompt-options.d.ts +1 -1
  18. package/dist/agent/system-prompt.d.ts +1 -1
  19. package/dist/{ui → app}/App.d.ts +9 -9
  20. package/dist/{ui → app}/App.js +79 -79
  21. package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
  22. package/dist/{ui → app}/use-startup-notices.js +2 -2
  23. package/dist/cli.js +29 -29
  24. package/dist/commands/agents-command.js +1 -1
  25. package/dist/commands/builtins.js +9 -9
  26. package/dist/commands/governance-command.js +2 -2
  27. package/dist/commands/governance-runs-table.js +1 -1
  28. package/dist/commands/kit-command.js +1 -1
  29. package/dist/commands/perf.d.ts +3 -3
  30. package/dist/commands/perf.js +1 -1
  31. package/dist/commands/registry.d.ts +8 -8
  32. package/dist/commands/skills.js +2 -2
  33. package/dist/commands/team-command.js +1 -1
  34. package/dist/compaction/archive.d.ts +1 -1
  35. package/dist/compaction/archive.js +1 -1
  36. package/dist/compaction/child.d.ts +3 -3
  37. package/dist/compaction/child.js +4 -4
  38. package/dist/compaction/command.js +5 -5
  39. package/dist/compaction/compactor.d.ts +6 -6
  40. package/dist/compaction/compactor.js +6 -6
  41. package/dist/compaction/context-command.js +1 -1
  42. package/dist/compaction/digest.js +1 -1
  43. package/dist/compaction/memory-input.js +1 -1
  44. package/dist/compaction/memory-validation.js +1 -1
  45. package/dist/compaction/memory.js +1 -1
  46. package/dist/compaction/summarize-call.js +1 -1
  47. package/dist/compaction/summary-prompt.js +1 -1
  48. package/dist/compaction/tail-budget.js +2 -2
  49. package/dist/compaction/wiring.d.ts +5 -5
  50. package/dist/compaction/wiring.js +2 -2
  51. package/dist/config/cli-commands.d.ts +1 -1
  52. package/dist/config/cli-commands.js +3 -3
  53. package/dist/config/env.d.ts +1 -1
  54. package/dist/config/env.js +4 -4
  55. package/dist/config/load.d.ts +2 -2
  56. package/dist/config/load.js +6 -6
  57. package/dist/config/migrate-state-out-of-config.js +1 -1
  58. package/dist/config/model-profile-store.d.ts +4 -54
  59. package/dist/config/model-profile-store.js +3 -3
  60. package/dist/config/prompt-history.js +1 -1
  61. package/dist/config/store.d.ts +2 -2
  62. package/dist/config/store.js +3 -3
  63. package/dist/diagnostics/doctor.js +4 -4
  64. package/dist/exec/bridge/decisions.d.ts +1 -1
  65. package/dist/exec/bridge/human-answers.d.ts +1 -1
  66. package/dist/exec/bridge/human-answers.js +1 -1
  67. package/dist/exec/bridge/protocol.d.ts +1 -1
  68. package/dist/exec/bridge/server.js +1 -1
  69. package/dist/exec/events.d.ts +2 -2
  70. package/dist/exec/index.d.ts +1 -1
  71. package/dist/exec/index.js +1 -1
  72. package/dist/exec/permission.js +1 -1
  73. package/dist/exec/runner.d.ts +3 -3
  74. package/dist/exec/runner.js +2 -2
  75. package/dist/exec/threads/runtime.js +1 -1
  76. package/dist/fast/digest.d.ts +1 -1
  77. package/dist/fast/digest.js +1 -1
  78. package/dist/fast/frames.d.ts +1 -1
  79. package/dist/fast/frames.js +1 -1
  80. package/dist/fast/prompt.d.ts +1 -1
  81. package/dist/fast/prompt.js +1 -1
  82. package/dist/fast/review-call.js +1 -1
  83. package/dist/fast/reviewer.d.ts +3 -3
  84. package/dist/fast/reviewer.js +1 -1
  85. package/dist/fast/summary-call.d.ts +3 -3
  86. package/dist/fast/summary-call.js +2 -2
  87. package/dist/fast/summary-prompt.d.ts +1 -1
  88. package/dist/fast/summary-prompt.js +1 -1
  89. package/dist/fast/wiring.d.ts +4 -4
  90. package/dist/fast/wiring.js +1 -1
  91. package/dist/governance/card-normalize.d.ts +1 -1
  92. package/dist/governance/copy.d.ts +1 -1
  93. package/dist/governance/copy.js +2 -2
  94. package/dist/governance/engine/artifact-persist.d.ts +1 -1
  95. package/dist/governance/engine/budget.d.ts +1 -1
  96. package/dist/governance/engine/budget.js +1 -1
  97. package/dist/governance/engine/cards.d.ts +1 -1
  98. package/dist/governance/engine/digest.js +1 -1
  99. package/dist/governance/engine/engine-core.d.ts +5 -5
  100. package/dist/governance/engine/engine-core.js +1 -1
  101. package/dist/governance/engine/engine.d.ts +1 -1
  102. package/dist/governance/engine/engine.js +1 -1
  103. package/dist/governance/engine/estimate.d.ts +1 -1
  104. package/dist/governance/engine/estimate.js +1 -1
  105. package/dist/governance/engine/inspector.js +2 -2
  106. package/dist/governance/engine/integration.d.ts +1 -1
  107. package/dist/governance/engine/lifecycle.d.ts +1 -1
  108. package/dist/governance/engine/lifecycle.js +1 -1
  109. package/dist/governance/engine/phase-members.d.ts +1 -1
  110. package/dist/governance/engine/phase-planner.d.ts +1 -1
  111. package/dist/governance/engine/phase-planner.js +1 -1
  112. package/dist/governance/engine/rebuild.d.ts +1 -1
  113. package/dist/governance/engine/report.d.ts +1 -1
  114. package/dist/governance/engine/report.js +1 -1
  115. package/dist/governance/engine/run-digest.d.ts +1 -1
  116. package/dist/governance/engine/spec-builder.d.ts +2 -2
  117. package/dist/governance/engine/spec-builder.js +2 -2
  118. package/dist/governance/engine/stage-runner.js +2 -2
  119. package/dist/governance/engine/start-input.d.ts +1 -1
  120. package/dist/governance/engine/start-input.js +1 -1
  121. package/dist/governance/engine/state-machine.d.ts +1 -1
  122. package/dist/governance/engine/state-machine.js +3 -3
  123. package/dist/governance/engine/submission-queries.d.ts +1 -1
  124. package/dist/governance/engine/submission-render.d.ts +1 -1
  125. package/dist/governance/engine/submissions.d.ts +1 -1
  126. package/dist/governance/engine/submissions.js +1 -1
  127. package/dist/governance/engine/visibility.d.ts +1 -1
  128. package/dist/governance/engine/visibility.js +1 -1
  129. package/dist/governance/posture-transition.d.ts +2 -2
  130. package/dist/governance/posture-transition.js +1 -1
  131. package/dist/governance/profiles.d.ts +1 -1
  132. package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
  133. package/dist/governance/prompts/orchestrator-block.js +2 -2
  134. package/dist/governance/prompts/plan-addendum.d.ts +1 -1
  135. package/dist/governance/prompts/plan-addendum.js +1 -1
  136. package/dist/governance/prompts/role-blocks.d.ts +2 -2
  137. package/dist/governance/prompts/role-blocks.js +1 -1
  138. package/dist/governance/report-reader.js +1 -1
  139. package/dist/governance/roles.d.ts +1 -1
  140. package/dist/governance/rules/claims.d.ts +1 -1
  141. package/dist/governance/rules/claims.js +1 -1
  142. package/dist/governance/rules/elimination.d.ts +1 -1
  143. package/dist/governance/rules/elimination.js +1 -1
  144. package/dist/governance/rules/failure-analysis.d.ts +2 -2
  145. package/dist/governance/rules/failure-analysis.js +1 -1
  146. package/dist/governance/rules/ledger-replay.d.ts +1 -1
  147. package/dist/governance/rules/ledger-state.d.ts +1 -1
  148. package/dist/governance/rules/ledger-state.js +1 -1
  149. package/dist/governance/rules/ledger.d.ts +2 -2
  150. package/dist/governance/rules/ledger.js +2 -2
  151. package/dist/governance/rules/rca.d.ts +1 -1
  152. package/dist/governance/rules/rca.js +1 -1
  153. package/dist/governance/rules/settlement.d.ts +2 -2
  154. package/dist/governance/rules/settlement.js +2 -2
  155. package/dist/governance/rules/suspicion.d.ts +1 -1
  156. package/dist/governance/store/artifacts.d.ts +1 -1
  157. package/dist/governance/store/artifacts.js +1 -1
  158. package/dist/governance/store/events-log.d.ts +1 -1
  159. package/dist/governance/store/run-store.d.ts +1 -1
  160. package/dist/governance/store/run-store.js +1 -1
  161. package/dist/governance/store/scoreboard-export.d.ts +1 -1
  162. package/dist/governance/tools/child-tools.d.ts +1 -1
  163. package/dist/governance/tools/guard.d.ts +1 -1
  164. package/dist/governance/tools/guard.js +1 -1
  165. package/dist/governance/tools/inspector-tools.d.ts +2 -2
  166. package/dist/governance/tools/inspector-tools.js +2 -2
  167. package/dist/governance/tools/lead-tools.d.ts +1 -1
  168. package/dist/governance/tools/lead-tools.js +1 -1
  169. package/dist/governance/tools/normalize-util.js +1 -1
  170. package/dist/governance/tools/scan-incomplete.js +1 -1
  171. package/dist/governance/tools/shared-tools.d.ts +1 -1
  172. package/dist/governance/tools/shared-tools.js +1 -1
  173. package/dist/governance/tools/submit-normalizers.d.ts +1 -1
  174. package/dist/governance/tools/submit-normalizers.js +1 -1
  175. package/dist/governance/tools/submit-tools.d.ts +1 -1
  176. package/dist/logging/cli-commands.js +1 -1
  177. package/dist/logging/install.d.ts +1 -1
  178. package/dist/logging/install.js +3 -3
  179. package/dist/logging/logger.d.ts +2 -2
  180. package/dist/logging/logger.js +31 -2
  181. package/dist/proc/kill-tree.js +1 -1
  182. package/dist/proc/log-mirror.js +1 -1
  183. package/dist/proc/log-ring.js +2 -2
  184. package/dist/proc/notices.d.ts +1 -1
  185. package/dist/proc/notices.js +2 -2
  186. package/dist/proc/prompt.d.ts +1 -1
  187. package/dist/proc/prompt.js +1 -1
  188. package/dist/proc/readiness.js +1 -1
  189. package/dist/proc/supervisor.d.ts +1 -1
  190. package/dist/proc/supervisor.js +3 -3
  191. package/dist/proc/wait.d.ts +1 -1
  192. package/dist/proc/wait.js +1 -1
  193. package/dist/prompts/command.d.ts +1 -1
  194. package/dist/prompts/command.js +1 -1
  195. package/dist/prompts/normalize.d.ts +1 -1
  196. package/dist/prompts/normalize.js +1 -1
  197. package/dist/prompts/resolve.d.ts +1 -1
  198. package/dist/prompts/store.d.ts +2 -12
  199. package/dist/prompts/store.js +6 -60
  200. package/dist/session/checkpoint.d.ts +2 -2
  201. package/dist/session/clear-archive.d.ts +2 -2
  202. package/dist/session/persist.d.ts +2 -2
  203. package/dist/session/persist.js +1 -1
  204. package/dist/session/startup-session.d.ts +2 -2
  205. package/dist/session/validate-session.js +3 -3
  206. package/dist/skills/service.d.ts +2 -2
  207. package/dist/team/bus.d.ts +1 -1
  208. package/dist/team/bus.js +1 -1
  209. package/dist/team/child-reviewer.d.ts +2 -2
  210. package/dist/team/child-reviewer.js +1 -1
  211. package/dist/team/comm-tools.js +1 -1
  212. package/dist/team/dispatch-gate.js +1 -1
  213. package/dist/team/forced-dispatch.js +1 -1
  214. package/dist/team/forced-mode.d.ts +1 -1
  215. package/dist/team/forced-prompt.d.ts +1 -1
  216. package/dist/team/forced-prompt.js +1 -1
  217. package/dist/team/normalize.d.ts +1 -1
  218. package/dist/team/normalize.js +1 -1
  219. package/dist/team/overseer.d.ts +3 -3
  220. package/dist/team/overseer.js +3 -3
  221. package/dist/team/prompt.d.ts +1 -1
  222. package/dist/team/prompt.js +1 -1
  223. package/dist/team/report.d.ts +2 -2
  224. package/dist/team/report.js +2 -2
  225. package/dist/team/retry.d.ts +1 -1
  226. package/dist/team/retry.js +1 -1
  227. package/dist/team/runtime.d.ts +4 -4
  228. package/dist/team/runtime.js +2 -2
  229. package/dist/team/settled.d.ts +2 -2
  230. package/dist/team/subagent.d.ts +4 -4
  231. package/dist/team/subagent.js +5 -5
  232. package/dist/team/task-tool.d.ts +1 -1
  233. package/dist/team/task-tool.js +1 -1
  234. package/dist/todo/normalize.d.ts +1 -1
  235. package/dist/todo/normalize.js +1 -1
  236. package/dist/todo/prompt.d.ts +1 -1
  237. package/dist/todo/prompt.js +1 -1
  238. package/dist/todo/store.d.ts +1 -1
  239. package/dist/todo/store.js +2 -2
  240. package/dist/todo/todo-tool.d.ts +1 -1
  241. package/dist/todo/todo-tool.js +2 -2
  242. package/dist/tools/bash-tool.d.ts +1 -1
  243. package/dist/tools/bash-tool.js +2 -2
  244. package/dist/tools/diff.d.ts +1 -1
  245. package/dist/tools/diff.js +1 -1
  246. package/dist/tools/file-change-store.d.ts +1 -1
  247. package/dist/tools/fs-tools.d.ts +2 -2
  248. package/dist/tools/fs-tools.js +1 -1
  249. package/dist/tools/index.d.ts +3 -3
  250. package/dist/tools/index.js +1 -1
  251. package/dist/tools/job-tools.d.ts +2 -2
  252. package/dist/tools/job-tools.js +4 -4
  253. package/dist/tools/plan-tools.d.ts +1 -1
  254. package/dist/tools/plan-tools.js +1 -1
  255. package/dist/tools/proc-tools.d.ts +1 -1
  256. package/dist/tools/proc-tools.js +2 -2
  257. package/dist/update/classify-failure.d.ts +1 -1
  258. package/dist/update/install-lock.js +1 -1
  259. package/dist/update/install-source.d.ts +1 -1
  260. package/dist/update/installer.js +2 -2
  261. package/dist/update/npm-view.d.ts +1 -1
  262. package/dist/update/npm-view.js +1 -1
  263. package/dist/update/registry.d.ts +1 -1
  264. package/dist/update/registry.js +1 -1
  265. package/dist/update/service.d.ts +2 -2
  266. package/dist/update/service.js +2 -2
  267. package/package.json +7 -7
  268. package/dist/agent/agent-mode.d.ts +0 -108
  269. package/dist/agent/agent-mode.js +0 -121
  270. package/dist/agent/entry-limits.d.ts +0 -65
  271. package/dist/agent/entry-limits.js +0 -133
  272. package/dist/agent/governance-view.d.ts +0 -40
  273. package/dist/agent/governance-view.js +0 -40
  274. package/dist/agent/invocation-card.d.ts +0 -77
  275. package/dist/agent/invocation-card.js +0 -169
  276. package/dist/agent/model-probe-limits.d.ts +0 -39
  277. package/dist/agent/model-probe-limits.js +0 -25
  278. package/dist/agent/model-probe.d.ts +0 -104
  279. package/dist/agent/model-probe.js +0 -391
  280. package/dist/agent/queued-messages.d.ts +0 -23
  281. package/dist/agent/queued-messages.js +0 -49
  282. package/dist/agent/reducer.d.ts +0 -857
  283. package/dist/agent/reducer.js +0 -1646
  284. package/dist/agent/retry-view.d.ts +0 -68
  285. package/dist/agent/retry-view.js +0 -95
  286. package/dist/agent/usage.d.ts +0 -47
  287. package/dist/agent/usage.js +0 -84
  288. package/dist/compaction/limits.d.ts +0 -61
  289. package/dist/compaction/limits.js +0 -64
  290. package/dist/compaction/meter.d.ts +0 -276
  291. package/dist/compaction/meter.js +0 -512
  292. package/dist/compaction/pressure.d.ts +0 -163
  293. package/dist/compaction/pressure.js +0 -199
  294. package/dist/compaction/reason-text.d.ts +0 -36
  295. package/dist/compaction/reason-text.js +0 -78
  296. package/dist/compaction/types.d.ts +0 -360
  297. package/dist/compaction/types.js +0 -22
  298. package/dist/config/governance-config.d.ts +0 -125
  299. package/dist/config/governance-config.js +0 -164
  300. package/dist/config/kit-resolution.d.ts +0 -93
  301. package/dist/config/kit-resolution.js +0 -226
  302. package/dist/config/model-kits.d.ts +0 -225
  303. package/dist/config/model-kits.js +0 -302
  304. package/dist/config/model-profile-resolution.d.ts +0 -28
  305. package/dist/config/model-profile-resolution.js +0 -88
  306. package/dist/config/model-profiles.d.ts +0 -103
  307. package/dist/config/model-profiles.js +0 -188
  308. package/dist/config/schema.d.ts +0 -1645
  309. package/dist/config/schema.js +0 -1383
  310. package/dist/fast/limits.d.ts +0 -152
  311. package/dist/fast/limits.js +0 -152
  312. package/dist/fast/resolve.d.ts +0 -44
  313. package/dist/fast/resolve.js +0 -107
  314. package/dist/fast/task-summary-types.d.ts +0 -66
  315. package/dist/fast/task-summary-types.js +0 -17
  316. package/dist/fast/types.d.ts +0 -141
  317. package/dist/fast/types.js +0 -14
  318. package/dist/governance/governed-dispatch.d.ts +0 -19
  319. package/dist/governance/governed-dispatch.js +0 -17
  320. package/dist/governance/limits.d.ts +0 -107
  321. package/dist/governance/limits.js +0 -131
  322. package/dist/governance/posture.d.ts +0 -35
  323. package/dist/governance/posture.js +0 -59
  324. package/dist/governance/rules/events-table.d.ts +0 -46
  325. package/dist/governance/rules/events-table.js +0 -94
  326. package/dist/governance/types.d.ts +0 -661
  327. package/dist/governance/types.js +0 -27
  328. package/dist/input/control-sequences.d.ts +0 -71
  329. package/dist/input/control-sequences.js +0 -222
  330. package/dist/input/csiu-keys.d.ts +0 -66
  331. package/dist/input/csiu-keys.js +0 -181
  332. package/dist/input/cursor-report.d.ts +0 -61
  333. package/dist/input/cursor-report.js +0 -97
  334. package/dist/input/enter-sequences.d.ts +0 -64
  335. package/dist/input/enter-sequences.js +0 -153
  336. package/dist/input/interrupt-gesture.d.ts +0 -18
  337. package/dist/input/interrupt-gesture.js +0 -19
  338. package/dist/input/keyboard-enhancement.d.ts +0 -42
  339. package/dist/input/keyboard-enhancement.js +0 -65
  340. package/dist/input/keymap.d.ts +0 -20
  341. package/dist/input/keymap.js +0 -99
  342. package/dist/input/limits.d.ts +0 -118
  343. package/dist/input/limits.js +0 -109
  344. package/dist/input/mouse-events.d.ts +0 -87
  345. package/dist/input/mouse-events.js +0 -212
  346. package/dist/input/paste-parse.d.ts +0 -83
  347. package/dist/input/paste-parse.js +0 -107
  348. package/dist/input/pointer-router.d.ts +0 -11
  349. package/dist/input/pointer-router.js +0 -14
  350. package/dist/input/stdin-filter.d.ts +0 -112
  351. package/dist/input/stdin-filter.js +0 -657
  352. package/dist/input/win32-input-mode.d.ts +0 -61
  353. package/dist/input/win32-input-mode.js +0 -269
  354. package/dist/logging/levels.d.ts +0 -40
  355. package/dist/logging/levels.js +0 -59
  356. package/dist/logging/secret-registry.d.ts +0 -32
  357. package/dist/logging/secret-registry.js +0 -73
  358. package/dist/proc/limits.d.ts +0 -214
  359. package/dist/proc/limits.js +0 -221
  360. package/dist/proc/progress.d.ts +0 -47
  361. package/dist/proc/progress.js +0 -163
  362. package/dist/proc/types.d.ts +0 -269
  363. package/dist/proc/types.js +0 -15
  364. package/dist/proc/wait-view.d.ts +0 -65
  365. package/dist/proc/wait-view.js +0 -66
  366. package/dist/prompts/copy.d.ts +0 -89
  367. package/dist/prompts/copy.js +0 -131
  368. package/dist/prompts/fill.d.ts +0 -51
  369. package/dist/prompts/fill.js +0 -46
  370. package/dist/prompts/limits.d.ts +0 -53
  371. package/dist/prompts/limits.js +0 -53
  372. package/dist/prompts/search.d.ts +0 -58
  373. package/dist/prompts/search.js +0 -146
  374. package/dist/prompts/types.d.ts +0 -204
  375. package/dist/prompts/types.js +0 -13
  376. package/dist/team/activity.d.ts +0 -67
  377. package/dist/team/activity.js +0 -130
  378. package/dist/team/limits.d.ts +0 -308
  379. package/dist/team/limits.js +0 -330
  380. package/dist/team/model.d.ts +0 -104
  381. package/dist/team/model.js +0 -150
  382. package/dist/team/panel-rows.d.ts +0 -48
  383. package/dist/team/panel-rows.js +0 -75
  384. package/dist/team/timeline.d.ts +0 -74
  385. package/dist/team/timeline.js +0 -101
  386. package/dist/team/types.d.ts +0 -354
  387. package/dist/team/types.js +0 -13
  388. package/dist/todo/acceptance.d.ts +0 -120
  389. package/dist/todo/acceptance.js +0 -399
  390. package/dist/todo/follow-through.d.ts +0 -138
  391. package/dist/todo/follow-through.js +0 -248
  392. package/dist/todo/limits.d.ts +0 -152
  393. package/dist/todo/limits.js +0 -152
  394. package/dist/todo/panel-rows.d.ts +0 -45
  395. package/dist/todo/panel-rows.js +0 -70
  396. package/dist/todo/plan-sections.d.ts +0 -60
  397. package/dist/todo/plan-sections.js +0 -108
  398. package/dist/todo/row-window.d.ts +0 -51
  399. package/dist/todo/row-window.js +0 -107
  400. package/dist/todo/types.d.ts +0 -124
  401. package/dist/todo/types.js +0 -12
  402. package/dist/tools/human-input.d.ts +0 -212
  403. package/dist/tools/human-input.js +0 -265
  404. package/dist/tools/patch.d.ts +0 -115
  405. package/dist/tools/patch.js +0 -453
  406. package/dist/tools/terminal-output.d.ts +0 -115
  407. package/dist/tools/terminal-output.js +0 -201
  408. package/dist/tools/tool-output-store.d.ts +0 -68
  409. package/dist/tools/tool-output-store.js +0 -102
  410. package/dist/ui/ActivityLine.d.ts +0 -26
  411. package/dist/ui/ActivityLine.js +0 -51
  412. package/dist/ui/AutocompletePopup.d.ts +0 -23
  413. package/dist/ui/AutocompletePopup.js +0 -17
  414. package/dist/ui/BottomStatusRow.d.ts +0 -10
  415. package/dist/ui/BottomStatusRow.js +0 -9
  416. package/dist/ui/Composer.d.ts +0 -115
  417. package/dist/ui/Composer.js +0 -64
  418. package/dist/ui/GovernancePanel.d.ts +0 -50
  419. package/dist/ui/GovernancePanel.js +0 -77
  420. package/dist/ui/GovernanceRun.d.ts +0 -18
  421. package/dist/ui/GovernanceRun.js +0 -11
  422. package/dist/ui/Header.d.ts +0 -48
  423. package/dist/ui/Header.js +0 -27
  424. package/dist/ui/Logo.d.ts +0 -32
  425. package/dist/ui/Logo.js +0 -65
  426. package/dist/ui/Markdown.d.ts +0 -29
  427. package/dist/ui/Markdown.js +0 -116
  428. package/dist/ui/PromptCaret.d.ts +0 -11
  429. package/dist/ui/PromptCaret.js +0 -31
  430. package/dist/ui/PromptInput.d.ts +0 -192
  431. package/dist/ui/PromptInput.js +0 -689
  432. package/dist/ui/QueuePanel.d.ts +0 -8
  433. package/dist/ui/QueuePanel.js +0 -9
  434. package/dist/ui/QueueStatusRow.d.ts +0 -24
  435. package/dist/ui/QueueStatusRow.js +0 -51
  436. package/dist/ui/ScrollbackShell.d.ts +0 -132
  437. package/dist/ui/ScrollbackShell.js +0 -26
  438. package/dist/ui/SessionOpener.d.ts +0 -30
  439. package/dist/ui/SessionOpener.js +0 -12
  440. package/dist/ui/StatusBar.d.ts +0 -130
  441. package/dist/ui/StatusBar.js +0 -61
  442. package/dist/ui/TeamPanel.d.ts +0 -76
  443. package/dist/ui/TeamPanel.js +0 -103
  444. package/dist/ui/ToastStack.d.ts +0 -8
  445. package/dist/ui/ToastStack.js +0 -31
  446. package/dist/ui/TodoPanel.d.ts +0 -52
  447. package/dist/ui/TodoPanel.js +0 -214
  448. package/dist/ui/Transcript.d.ts +0 -105
  449. package/dist/ui/Transcript.js +0 -258
  450. package/dist/ui/UpdateLine.d.ts +0 -44
  451. package/dist/ui/UpdateLine.js +0 -129
  452. package/dist/ui/activity-phrases.d.ts +0 -33
  453. package/dist/ui/activity-phrases.js +0 -50
  454. package/dist/ui/capabilities.d.ts +0 -27
  455. package/dist/ui/capabilities.js +0 -65
  456. package/dist/ui/clipboard-task.d.ts +0 -29
  457. package/dist/ui/clipboard-task.js +0 -66
  458. package/dist/ui/clipboard.d.ts +0 -31
  459. package/dist/ui/clipboard.js +0 -157
  460. package/dist/ui/color-runtime.d.ts +0 -5
  461. package/dist/ui/color-runtime.js +0 -29
  462. package/dist/ui/composer-input.d.ts +0 -38
  463. package/dist/ui/composer-input.js +0 -79
  464. package/dist/ui/composer-limits.d.ts +0 -30
  465. package/dist/ui/composer-limits.js +0 -45
  466. package/dist/ui/composer-rows.d.ts +0 -73
  467. package/dist/ui/composer-rows.js +0 -129
  468. package/dist/ui/console-bridge.d.ts +0 -19
  469. package/dist/ui/console-bridge.js +0 -52
  470. package/dist/ui/density.d.ts +0 -26
  471. package/dist/ui/density.js +0 -34
  472. package/dist/ui/display-tab.d.ts +0 -51
  473. package/dist/ui/display-tab.js +0 -82
  474. package/dist/ui/editor-navigation.d.ts +0 -55
  475. package/dist/ui/editor-navigation.js +0 -96
  476. package/dist/ui/editor-reducer.d.ts +0 -108
  477. package/dist/ui/editor-reducer.js +0 -187
  478. package/dist/ui/enter-frames.d.ts +0 -47
  479. package/dist/ui/enter-frames.js +0 -117
  480. package/dist/ui/entries/AssistantEntry.d.ts +0 -37
  481. package/dist/ui/entries/AssistantEntry.js +0 -43
  482. package/dist/ui/entries/CompactionCard.d.ts +0 -88
  483. package/dist/ui/entries/CompactionCard.js +0 -222
  484. package/dist/ui/entries/DiffView.d.ts +0 -61
  485. package/dist/ui/entries/DiffView.js +0 -103
  486. package/dist/ui/entries/EntryFrame.d.ts +0 -23
  487. package/dist/ui/entries/EntryFrame.js +0 -6
  488. package/dist/ui/entries/FastCard.d.ts +0 -53
  489. package/dist/ui/entries/FastCard.js +0 -105
  490. package/dist/ui/entries/GovernanceCard.d.ts +0 -30
  491. package/dist/ui/entries/GovernanceCard.js +0 -32
  492. package/dist/ui/entries/InvocationCard.d.ts +0 -20
  493. package/dist/ui/entries/InvocationCard.js +0 -32
  494. package/dist/ui/entries/QueuedEntry.d.ts +0 -27
  495. package/dist/ui/entries/QueuedEntry.js +0 -33
  496. package/dist/ui/entries/RetryCard.d.ts +0 -56
  497. package/dist/ui/entries/RetryCard.js +0 -60
  498. package/dist/ui/entries/ServiceCard.d.ts +0 -82
  499. package/dist/ui/entries/ServiceCard.js +0 -151
  500. package/dist/ui/entries/TeamCard.d.ts +0 -55
  501. package/dist/ui/entries/TeamCard.js +0 -94
  502. package/dist/ui/entries/TodoCard.d.ts +0 -54
  503. package/dist/ui/entries/TodoCard.js +0 -98
  504. package/dist/ui/entries/ToolCard.d.ts +0 -81
  505. package/dist/ui/entries/ToolCard.js +0 -169
  506. package/dist/ui/entries/ToolPreview.d.ts +0 -59
  507. package/dist/ui/entries/ToolPreview.js +0 -208
  508. package/dist/ui/entries/UserEntry.d.ts +0 -36
  509. package/dist/ui/entries/UserEntry.js +0 -57
  510. package/dist/ui/entries/WaitCard.d.ts +0 -37
  511. package/dist/ui/entries/WaitCard.js +0 -92
  512. package/dist/ui/exit-snapshot.d.ts +0 -43
  513. package/dist/ui/exit-snapshot.js +0 -26
  514. package/dist/ui/frame-differ.d.ts +0 -166
  515. package/dist/ui/frame-differ.js +0 -354
  516. package/dist/ui/frame-observer.d.ts +0 -17
  517. package/dist/ui/frame-observer.js +0 -94
  518. package/dist/ui/frame-parser.d.ts +0 -7
  519. package/dist/ui/frame-parser.js +0 -18
  520. package/dist/ui/gauge.d.ts +0 -39
  521. package/dist/ui/gauge.js +0 -55
  522. package/dist/ui/glyphs.d.ts +0 -178
  523. package/dist/ui/glyphs.js +0 -165
  524. package/dist/ui/governance-copy.d.ts +0 -69
  525. package/dist/ui/governance-copy.js +0 -104
  526. package/dist/ui/governance-status.d.ts +0 -145
  527. package/dist/ui/governance-status.js +0 -326
  528. package/dist/ui/gradient.d.ts +0 -11
  529. package/dist/ui/gradient.js +0 -50
  530. package/dist/ui/ink-runtime.d.ts +0 -4
  531. package/dist/ui/ink-runtime.js +0 -51
  532. package/dist/ui/interaction-copy.d.ts +0 -84
  533. package/dist/ui/interaction-copy.js +0 -41
  534. package/dist/ui/interaction-hints.d.ts +0 -44
  535. package/dist/ui/interaction-hints.js +0 -97
  536. package/dist/ui/layout/AppShell.d.ts +0 -17
  537. package/dist/ui/layout/AppShell.js +0 -6
  538. package/dist/ui/layout/Gutter.d.ts +0 -67
  539. package/dist/ui/layout/Gutter.js +0 -42
  540. package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
  541. package/dist/ui/layout/MeasuredEntry.js +0 -30
  542. package/dist/ui/layout/OverlayFrame.d.ts +0 -73
  543. package/dist/ui/layout/OverlayFrame.js +0 -110
  544. package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
  545. package/dist/ui/layout/ScrollIndicator.js +0 -22
  546. package/dist/ui/layout/ScrollViewport.d.ts +0 -40
  547. package/dist/ui/layout/ScrollViewport.js +0 -222
  548. package/dist/ui/layout/agents-board.d.ts +0 -102
  549. package/dist/ui/layout/agents-board.js +0 -389
  550. package/dist/ui/layout/autocomplete.d.ts +0 -18
  551. package/dist/ui/layout/autocomplete.js +0 -26
  552. package/dist/ui/layout/budget.d.ts +0 -43
  553. package/dist/ui/layout/budget.js +0 -52
  554. package/dist/ui/layout/cells.d.ts +0 -61
  555. package/dist/ui/layout/cells.js +0 -156
  556. package/dist/ui/layout/document-layout.d.ts +0 -13
  557. package/dist/ui/layout/document-layout.js +0 -10
  558. package/dist/ui/layout/follow-state.d.ts +0 -138
  559. package/dist/ui/layout/follow-state.js +0 -148
  560. package/dist/ui/layout/frame.d.ts +0 -36
  561. package/dist/ui/layout/frame.js +0 -39
  562. package/dist/ui/layout/governance-board.d.ts +0 -121
  563. package/dist/ui/layout/governance-board.js +0 -382
  564. package/dist/ui/layout/governance-card.d.ts +0 -53
  565. package/dist/ui/layout/governance-card.js +0 -134
  566. package/dist/ui/layout/governance-chip.d.ts +0 -38
  567. package/dist/ui/layout/governance-chip.js +0 -64
  568. package/dist/ui/layout/governance-panel.d.ts +0 -85
  569. package/dist/ui/layout/governance-panel.js +0 -358
  570. package/dist/ui/layout/governance-roster.d.ts +0 -65
  571. package/dist/ui/layout/governance-roster.js +0 -275
  572. package/dist/ui/layout/header-hints.d.ts +0 -90
  573. package/dist/ui/layout/header-hints.js +0 -110
  574. package/dist/ui/layout/header-left.d.ts +0 -115
  575. package/dist/ui/layout/header-left.js +0 -206
  576. package/dist/ui/layout/invocation-card.d.ts +0 -41
  577. package/dist/ui/layout/invocation-card.js +0 -91
  578. package/dist/ui/layout/kit-chip.d.ts +0 -50
  579. package/dist/ui/layout/kit-chip.js +0 -81
  580. package/dist/ui/layout/overlay-window.d.ts +0 -43
  581. package/dist/ui/layout/overlay-window.js +0 -51
  582. package/dist/ui/layout/queue-layout.d.ts +0 -19
  583. package/dist/ui/layout/queue-layout.js +0 -26
  584. package/dist/ui/layout/rail.d.ts +0 -7
  585. package/dist/ui/layout/rail.js +0 -16
  586. package/dist/ui/layout/scroll-indicator.d.ts +0 -27
  587. package/dist/ui/layout/scroll-indicator.js +0 -36
  588. package/dist/ui/layout/scroll.d.ts +0 -37
  589. package/dist/ui/layout/scroll.js +0 -99
  590. package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
  591. package/dist/ui/layout/scrollbar-geometry.js +0 -13
  592. package/dist/ui/layout/session-chip.d.ts +0 -52
  593. package/dist/ui/layout/session-chip.js +0 -64
  594. package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
  595. package/dist/ui/layout/shortcut-panel-layout.js +0 -321
  596. package/dist/ui/layout/status-detail-layout.d.ts +0 -9
  597. package/dist/ui/layout/status-detail-layout.js +0 -79
  598. package/dist/ui/layout/status-layout.d.ts +0 -140
  599. package/dist/ui/layout/status-layout.js +0 -262
  600. package/dist/ui/layout/task-summary-cell.d.ts +0 -61
  601. package/dist/ui/layout/task-summary-cell.js +0 -65
  602. package/dist/ui/layout/team-panel.d.ts +0 -18
  603. package/dist/ui/layout/team-panel.js +0 -25
  604. package/dist/ui/layout/team-row.d.ts +0 -139
  605. package/dist/ui/layout/team-row.js +0 -246
  606. package/dist/ui/layout/todo-layout.d.ts +0 -62
  607. package/dist/ui/layout/todo-layout.js +0 -102
  608. package/dist/ui/layout/useTerminalSize.d.ts +0 -13
  609. package/dist/ui/layout/useTerminalSize.js +0 -50
  610. package/dist/ui/layout/viewport-geometry.d.ts +0 -29
  611. package/dist/ui/layout/viewport-geometry.js +0 -28
  612. package/dist/ui/layout/virtual-window.d.ts +0 -112
  613. package/dist/ui/layout/virtual-window.js +0 -494
  614. package/dist/ui/layout/wait-bar.d.ts +0 -34
  615. package/dist/ui/layout/wait-bar.js +0 -48
  616. package/dist/ui/layout/wrap-rows.d.ts +0 -26
  617. package/dist/ui/layout/wrap-rows.js +0 -88
  618. package/dist/ui/live-clamp.d.ts +0 -14
  619. package/dist/ui/live-clamp.js +0 -46
  620. package/dist/ui/markdown-blocks.d.ts +0 -107
  621. package/dist/ui/markdown-blocks.js +0 -240
  622. package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
  623. package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
  624. package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
  625. package/dist/ui/overlays/ConfirmDialog.js +0 -44
  626. package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
  627. package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
  628. package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
  629. package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
  630. package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
  631. package/dist/ui/overlays/HelpOverlay.js +0 -232
  632. package/dist/ui/overlays/KitEditor.d.ts +0 -23
  633. package/dist/ui/overlays/KitEditor.js +0 -101
  634. package/dist/ui/overlays/KitManager.d.ts +0 -23
  635. package/dist/ui/overlays/KitManager.js +0 -104
  636. package/dist/ui/overlays/KitPicker.d.ts +0 -49
  637. package/dist/ui/overlays/KitPicker.js +0 -58
  638. package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
  639. package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
  640. package/dist/ui/overlays/ModelPicker.d.ts +0 -26
  641. package/dist/ui/overlays/ModelPicker.js +0 -63
  642. package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
  643. package/dist/ui/overlays/ModelProfileEditor.js +0 -168
  644. package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
  645. package/dist/ui/overlays/ModelProfilePicker.js +0 -231
  646. package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
  647. package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
  648. package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
  649. package/dist/ui/overlays/PromptEditorPage.js +0 -227
  650. package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
  651. package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
  652. package/dist/ui/overlays/PromptPicker.d.ts +0 -36
  653. package/dist/ui/overlays/PromptPicker.js +0 -129
  654. package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
  655. package/dist/ui/overlays/PromptTextArea.js +0 -141
  656. package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
  657. package/dist/ui/overlays/QuestionOverlay.js +0 -258
  658. package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
  659. package/dist/ui/overlays/QueueOverlay.js +0 -79
  660. package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
  661. package/dist/ui/overlays/SettingsScreen.js +0 -1037
  662. package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
  663. package/dist/ui/overlays/ShortcutPanel.js +0 -106
  664. package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
  665. package/dist/ui/overlays/TeamFanoutPage.js +0 -90
  666. package/dist/ui/overlays/governance-settings.d.ts +0 -79
  667. package/dist/ui/overlays/governance-settings.js +0 -140
  668. package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
  669. package/dist/ui/overlays/kit-picker-state.js +0 -136
  670. package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
  671. package/dist/ui/overlays/kit-settings-state.js +0 -268
  672. package/dist/ui/overlays/model-probe-view.d.ts +0 -128
  673. package/dist/ui/overlays/model-probe-view.js +0 -225
  674. package/dist/ui/overlays/model-profile-state.d.ts +0 -177
  675. package/dist/ui/overlays/model-profile-state.js +0 -301
  676. package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
  677. package/dist/ui/overlays/prompt-library-state.js +0 -335
  678. package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
  679. package/dist/ui/overlays/prompt-picker-state.js +0 -98
  680. package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
  681. package/dist/ui/overlays/team-fanout-state.js +0 -155
  682. package/dist/ui/overlays/use-model-probe.d.ts +0 -30
  683. package/dist/ui/overlays/use-model-probe.js +0 -109
  684. package/dist/ui/palettes.d.ts +0 -112
  685. package/dist/ui/palettes.js +0 -130
  686. package/dist/ui/paste-frames.d.ts +0 -91
  687. package/dist/ui/paste-frames.js +0 -117
  688. package/dist/ui/paste-tokens.d.ts +0 -90
  689. package/dist/ui/paste-tokens.js +0 -147
  690. package/dist/ui/render-cache.d.ts +0 -81
  691. package/dist/ui/render-cache.js +0 -196
  692. package/dist/ui/render-governor.d.ts +0 -54
  693. package/dist/ui/render-governor.js +0 -78
  694. package/dist/ui/run-metrics.d.ts +0 -23
  695. package/dist/ui/run-metrics.js +0 -27
  696. package/dist/ui/run-status-row.d.ts +0 -63
  697. package/dist/ui/run-status-row.js +0 -54
  698. package/dist/ui/screen.d.ts +0 -107
  699. package/dist/ui/screen.js +0 -234
  700. package/dist/ui/scrollback/LiveTail.d.ts +0 -115
  701. package/dist/ui/scrollback/LiveTail.js +0 -48
  702. package/dist/ui/scrollback/band.d.ts +0 -114
  703. package/dist/ui/scrollback/band.js +0 -143
  704. package/dist/ui/scrollback/budget.d.ts +0 -90
  705. package/dist/ui/scrollback/budget.js +0 -100
  706. package/dist/ui/scrollback/canvas.d.ts +0 -100
  707. package/dist/ui/scrollback/canvas.js +0 -114
  708. package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
  709. package/dist/ui/scrollback/cursor-probe.js +0 -133
  710. package/dist/ui/scrollback/drain.d.ts +0 -32
  711. package/dist/ui/scrollback/drain.js +0 -64
  712. package/dist/ui/scrollback/exit-summary.d.ts +0 -23
  713. package/dist/ui/scrollback/exit-summary.js +0 -25
  714. package/dist/ui/scrollback/limits.d.ts +0 -98
  715. package/dist/ui/scrollback/limits.js +0 -98
  716. package/dist/ui/scrollback/live-preview.d.ts +0 -34
  717. package/dist/ui/scrollback/live-preview.js +0 -130
  718. package/dist/ui/scrollback/overflow-print.d.ts +0 -108
  719. package/dist/ui/scrollback/overflow-print.js +0 -120
  720. package/dist/ui/scrollback/renderer.d.ts +0 -48
  721. package/dist/ui/scrollback/renderer.js +0 -186
  722. package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
  723. package/dist/ui/scrollback/scrollback-writer.js +0 -648
  724. package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
  725. package/dist/ui/scrollback/settled-boundary.js +0 -109
  726. package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
  727. package/dist/ui/scrollback/tail-anchor.js +0 -79
  728. package/dist/ui/scrollback/tail-window.d.ts +0 -73
  729. package/dist/ui/scrollback/tail-window.js +0 -89
  730. package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
  731. package/dist/ui/scrollback/use-scrollback-view.js +0 -601
  732. package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
  733. package/dist/ui/scrollback/writer-shapes.js +0 -159
  734. package/dist/ui/scrollbar-controller.d.ts +0 -30
  735. package/dist/ui/scrollbar-controller.js +0 -124
  736. package/dist/ui/selection/highlight.d.ts +0 -39
  737. package/dist/ui/selection/highlight.js +0 -64
  738. package/dist/ui/selection/screen-mirror.d.ts +0 -24
  739. package/dist/ui/selection/screen-mirror.js +0 -35
  740. package/dist/ui/selection/selection-controller.d.ts +0 -104
  741. package/dist/ui/selection/selection-controller.js +0 -372
  742. package/dist/ui/selection/selection.d.ts +0 -90
  743. package/dist/ui/selection/selection.js +0 -223
  744. package/dist/ui/shortcuts.d.ts +0 -81
  745. package/dist/ui/shortcuts.js +0 -221
  746. package/dist/ui/status-feedback.d.ts +0 -35
  747. package/dist/ui/status-feedback.js +0 -38
  748. package/dist/ui/stdout-frame-writer.d.ts +0 -74
  749. package/dist/ui/stdout-frame-writer.js +0 -155
  750. package/dist/ui/team-status.d.ts +0 -166
  751. package/dist/ui/team-status.js +0 -252
  752. package/dist/ui/terminal-plan.d.ts +0 -52
  753. package/dist/ui/terminal-plan.js +0 -49
  754. package/dist/ui/theme.d.ts +0 -96
  755. package/dist/ui/theme.js +0 -130
  756. package/dist/ui/transcript-text.d.ts +0 -41
  757. package/dist/ui/transcript-text.js +0 -282
  758. package/dist/ui/use-height-store.d.ts +0 -31
  759. package/dist/ui/use-height-store.js +0 -76
  760. package/dist/ui/use-render-governor.d.ts +0 -39
  761. package/dist/ui/use-render-governor.js +0 -57
  762. package/dist/ui/use-wheel-routing.d.ts +0 -57
  763. package/dist/ui/use-wheel-routing.js +0 -152
  764. package/dist/ui/win-vt-force.d.ts +0 -136
  765. package/dist/ui/win-vt-force.js +0 -237
  766. package/dist/ui/win-vt-input.d.ts +0 -57
  767. package/dist/ui/win-vt-input.js +0 -62
  768. package/dist/update/limits.d.ts +0 -111
  769. package/dist/update/limits.js +0 -111
  770. package/dist/update/semver.d.ts +0 -89
  771. package/dist/update/semver.js +0 -295
  772. package/dist/update/types.d.ts +0 -169
  773. package/dist/update/types.js +0 -68
  774. /package/dist/{ui → app}/session-bridge.d.ts +0 -0
  775. /package/dist/{ui → app}/session-bridge.js +0 -0
@@ -1,857 +0,0 @@
1
- /**
2
- * Pure event → view reducer (spec §3.4 / §6.2).
3
- *
4
- * `reduceEvent(event)` maps a raw core `AgentEvent` into zero or more view
5
- * actions; `viewReducer(state, action)` folds an action into the immutable
6
- * `ViewState`. Keeping this pure lets the whole UI be tested without a live LLM.
7
- *
8
- * Two load-bearing behaviors from R2 (silent-failure surfacing) live here:
9
- * - the `error` StreamEvent is rendered as an error notice, and
10
- * - `agent_end` after a turn that produced no `turn_end` and no error notice
11
- * synthesizes a generic error notice (a swallowed throw is never a no-op).
12
- */
13
- import type { PendingSteering } from './queued-messages.js';
14
- import type { InvocationCard } from './invocation-card.js';
15
- import type { AgentEvent, ModelCost, ToolResult, TokenUsage } from '@aragon-agent/core';
16
- import type { AgentMode } from './agent-mode.js';
17
- import type { DispatchOutcome, SubagentRun, SubagentSpec, TeamSnapshot } from '../team/types.js';
18
- import type { FastReview, FastSnapshot } from '../fast/types.js';
19
- import type { CompactionMode, CompactionPhase, CompactionRecord, CompactionSnapshot, CompactionUiTrigger, ContextUsageSnapshot } from '../compaction/types.js';
20
- import type { AcceptanceSnapshot, TodoItem, TodoSnapshot } from '../todo/types.js';
21
- import type { JobKind, ServiceSnapshot, ServiceStatus } from '../proc/types.js';
22
- import type { WaitView } from '../proc/wait-view.js';
23
- import type { RetryPhase } from './retry-view.js';
24
- import type { FilePatch } from '../tools/patch.js';
25
- import type { TaskSummaryView } from '../fast/task-summary-types.js';
26
- import type { GovernanceCardData, GovernanceSnapshot } from '../governance/types.js';
27
- import type { Posture } from '../governance/posture.js';
28
- export type NoticeLevel = 'info' | 'warn' | 'error';
29
- export type ToastLevel = NoticeLevel | 'success';
30
- export type Overlay = null | 'settings' | 'model' | 'help' | 'queue' | 'confirm' | 'question' | 'plan' | 'kit' | 'prompts' | 'prompt-pick' | 'agents' | 'governance'
31
- /**
32
- * tui-shortcut-drawer-and-task-summary §4.5: the keyboard drawer (`Ctrl+G` /
33
- * `/keys`). A single field, so the drawer and `/help` cannot both hold the
34
- * keyboard - which is also why `Ctrl+G` TAKES OVER from another overlay instead
35
- * of being swallowed while one is open (P2-3).
36
- */
37
- | 'shortcuts';
38
- export type ToolStatus = 'pending' | 'running' | 'done' | 'error';
39
- /** Ephemeral, auto-dismissed acknowledgement (spec §3.9). */
40
- export interface Toast {
41
- id: string;
42
- level: ToastLevel;
43
- text: string;
44
- ttlMs: number;
45
- }
46
- /** Default auto-dismiss window for a toast. */
47
- export declare const DEFAULT_TOAST_TTL_MS = 2500;
48
- export type Entry = {
49
- id: string;
50
- kind: 'user';
51
- text: string;
52
- invocation?: InvocationCard;
53
- }
54
- /**
55
- * A message submitted while a run was in flight (tui-shift-enter-copy-queue
56
- * 5.2). It renders as `Queue: <first line>` and is rewritten IN PLACE, same
57
- * id, into the `user` entry above by the matching receipt that proves Core
58
- * accepted it -- so the id-based height cache re-measures rather than
59
- * freezes, and the settled boundary (positional, monotonic) never moves.
60
- *
61
- * NOT A LIVE TARGET: no id pointer in `ViewState` names it, so the trim
62
- * ring and the `appendEntry` assertions need no new member.
63
- */
64
- | {
65
- id: string;
66
- kind: 'queued';
67
- text: string;
68
- queueId?: string;
69
- invocation?: InvocationCard;
70
- } | {
71
- id: string;
72
- kind: 'assistant';
73
- text: string;
74
- thinking?: string;
75
- thinkingOpen: boolean;
76
- streaming: boolean;
77
- aborted?: boolean;
78
- usage?: TokenUsage;
79
- /**
80
- * Epoch ms the turn started reasoning (agent-activity-presentation §3.1.2).
81
- * Set by `thinkingStart`, cleared by `streamRestart`.
82
- */
83
- thinkingStartedAt?: number;
84
- /**
85
- * Wall-clock reasoning time, SEALED ONCE — at the first text delta, or at
86
- * turn/run end for a turn that thought and then called a tool without
87
- * emitting any text.
88
- *
89
- * With thinking hidden this is the only thing the collapsed marker can say
90
- * that the user could not otherwise know, which is the whole argument for
91
- * having a marker at all (§1.2).
92
- */
93
- thinkingMs?: number;
94
- } | {
95
- id: string;
96
- kind: 'tool';
97
- toolCallId: string;
98
- name: string;
99
- label: string;
100
- argsRaw: string;
101
- args?: Record<string, unknown>;
102
- status: ToolStatus;
103
- preview?: string;
104
- durationMs?: number;
105
- isError?: boolean;
106
- /**
107
- * The structured file diff (agent-activity-presentation §3.3), or absent.
108
- *
109
- * IMMUTABLE AND WRITTEN ONCE, by `toolExecEnd`. `ToolCard` is `React.memo`'d
110
- * with the DEFAULT comparator, so this object is only free while its
111
- * reference is stable — which it is, because the reducer never rebuilds it
112
- * and `mapEntry` preserves identity for untouched entries. A future action
113
- * that recomputed or normalized a patch would turn that memo boundary into
114
- * a no-op WITH NOTHING FAILING (P2-9).
115
- *
116
- * Needs no clause in `normalizeLoadedEntries` (D-9): the four that exist
117
- * are all about a LIVE flag that would never settle, and a patch is settled
118
- * by construction.
119
- */
120
- patch?: FilePatch;
121
- /**
122
- * The sanitised live tail while the tool runs
123
- * (agent-activity-presentation-live §3.3.1). Cleared at settle (D-23), and
124
- * cleared again by EVERY path that reaches `status: 'idle'` (D-35).
125
- *
126
- * REDUCER STATE RATHER THAN A STORE READ DURING RENDER, and that is the
127
- * load-bearing decision of the round (D-22): `entryRevision` is what tells
128
- * the height cache an entry's rendered output changed, and an entry mutated
129
- * outside `ViewState` keeps its revision and freezes at a stale height AND
130
- * a stale subtree with nothing anywhere reporting it (I-L3-1).
131
- */
132
- live?: readonly string[];
133
- /**
134
- * Monotonic counter -- the revision term for a NON-APPEND mutation (D-22).
135
- *
136
- * A COUNTER AND NOT `live.length`: a fixed-size tail evicting its oldest
137
- * row while appending a new one of the same width leaves the joined length
138
- * unchanged, which is exactly the lossy case `virtual-window.ts` says the
139
- * reducer cannot produce today and that this round introduces.
140
- */
141
- liveSeq?: number;
142
- /** Epoch ms of the last output row, for the stall row (§3.3.4). */
143
- lastOutputAt?: number;
144
- /**
145
- * The live view of a running `job_wait` (extended-job-wait §3.8.1), refreshed
146
- * at 1 Hz. RUNTIME ONLY, and it lives and dies with `live` (I-9): cleared by
147
- * `toolExecEnd` AND by every idle path through `releaseLiveTails`, and never
148
- * persisted. `job_wait` never streams, so `live` is always empty for it - which
149
- * is exactly why the idle clean-up cannot key off `live` alone.
150
- */
151
- wait?: WaitView;
152
- /** Monotonic counter: the revision term that invalidates the render cache. */
153
- waitSeq?: number;
154
- } | {
155
- id: string;
156
- kind: 'notice';
157
- level: NoticeLevel;
158
- text: string;
159
- } | {
160
- id: string;
161
- kind: 'governance';
162
- at: number;
163
- card: GovernanceCardData;
164
- } | {
165
- id: string;
166
- kind: 'team';
167
- dispatchId: string;
168
- requested: number;
169
- runs: SubagentRun[];
170
- aborted: boolean;
171
- durationMs?: number;
172
- active: boolean;
173
- } | {
174
- id: string;
175
- kind: 'todo';
176
- items: TodoItem[];
177
- doneCount: number;
178
- total: number;
179
- /**
180
- * The acceptance projection, copied from `TodoSnapshot.acceptance` on every
181
- * `todoUpdate` (todo-acceptance-criteria §6.10).
182
- *
183
- * OPTIONAL, NOT `AcceptanceSnapshot | null` REQUIRED, and that asymmetry with
184
- * the snapshot is deliberate (P1-4): `TodoSnapshot` has exactly one writer, so
185
- * it can fail closed; an `Entry` does not - its sources include `entries` read
186
- * back from a session file written before this feature existed, where the key
187
- * is simply absent.
188
- */
189
- acceptance?: AcceptanceSnapshot | null;
190
- /** The turn that owns this card is still running, so it may be rewritten. */
191
- live: boolean;
192
- /**
193
- * Set by `normalizeLoadedEntries` on a card saved while its run was live
194
- * (P2-6). The todo analogue of the team entry's `aborted`, and true for the
195
- * same reason: the run behind it died with the process. Absent on every
196
- * card this session produced.
197
- */
198
- interrupted?: boolean;
199
- } | {
200
- id: string;
201
- kind: 'retry';
202
- /** 1-based retry index of the LATEST attempt this card has seen. */
203
- attempt: number;
204
- maxRetries: number;
205
- errorType: string;
206
- message: string;
207
- delayMs: number;
208
- /** Epoch ms the next attempt fires; the UI ticks against this. */
209
- resumeAt?: number;
210
- phase: RetryPhase;
211
- startedAt: number;
212
- /** Filled on settle. */
213
- totalRetries?: number;
214
- elapsedMs?: number;
215
- } | {
216
- id: string;
217
- kind: 'fast';
218
- /** 1-based within the session, so the card can name itself. */
219
- reviewIndex: number;
220
- model: string;
221
- status: 'running' | 'ok' | 'advice' | 'empty' | 'failed' | 'dropped';
222
- /** Present only for `advice`. */
223
- text?: string;
224
- /** Failure / drop reason, shown as one muted line. */
225
- detail?: string;
226
- turn: number;
227
- durationMs?: number;
228
- live: boolean;
229
- } | {
230
- id: string;
231
- kind: 'compaction';
232
- decision?: CompactionRecord['decision'];
233
- memoryVersion?: CompactionRecord['memoryVersion'];
234
- /** 1-based within the session, so the card can name itself. */
235
- index: number;
236
- trigger: CompactionUiTrigger;
237
- mode: CompactionMode;
238
- applied: boolean;
239
- reason?: string;
240
- messagesBefore: number;
241
- messagesAfter: number;
242
- tokensBefore: number;
243
- tokensAfter: number;
244
- summary?: string;
245
- model: string;
246
- durationMs?: number;
247
- /**
248
- * When the live card opened, so the elapsed counter has an origin
249
- * (context-auto-compaction-hardening §3.6 / W5).
250
- *
251
- * JSON-SERIALIZABLE like every other field here, and harmless on reload:
252
- * `session/persist.ts` normalizes `live` to false, and a settled card
253
- * renders `durationMs` rather than an elapsed figure.
254
- */
255
- startedAt?: number;
256
- /** Set when tail relief clipped the retained turns (W2). */
257
- tailRelief?: {
258
- messages: number;
259
- charsRemoved: number;
260
- };
261
- /**
262
- * The stage the LIVE card is in (context-compaction-never-fires C).
263
- *
264
- * Absent on a settled card and on every card written before this field
265
- * existed, which is why the renderer treats it as optional and falls back to
266
- * the old `summarizing with <model>` line.
267
- */
268
- phase?: CompactionPhase;
269
- /** Set when the cut relaxed `keepRecentTurns` to exist at all (B). */
270
- keepRelaxed?: boolean;
271
- retainedTurns?: number;
272
- /** Messages the relaxed cut left verbatim - the number the card states. */
273
- retainedMessages?: number;
274
- keepRecentTurnsUsed?: number;
275
- /** Messages the digest left out, so they cannot be quoted (A1). */
276
- elidedMessages?: number;
277
- live: boolean;
278
- } | {
279
- id: string;
280
- kind: 'service';
281
- /** `s1`, `s2`, ... — the id the model quotes back. */
282
- serviceId: string;
283
- command: string;
284
- status: ServiceStatus;
285
- url?: string;
286
- port?: number;
287
- exitCode: number | null;
288
- startedAt: number;
289
- readyAt?: number;
290
- endedAt?: number;
291
- rows: readonly string[];
292
- /**
293
- * MONOTONIC row cursor — the revision term, NEVER `rows.length` (P0-3).
294
- *
295
- * The tail is a FIXED-SIZE RING: it evicts its oldest row while appending
296
- * a new one, so the joined length is unchanged while the content is not.
297
- * That is verbatim the non-append mutation the `tool` branch's `liveSeq`
298
- * comment was written for, and a length term would go on matching while
299
- * the card changed underneath it.
300
- */
301
- rowsSeen: number;
302
- /** The one-row entry a terminal transition appends (D-11). */
303
- terminal?: boolean;
304
- /** The stop reported the pid still alive afterwards (R-2 / P2-6). */
305
- killIncomplete?: boolean;
306
- /**
307
- * WHICH KIND OF JOB THIS CARD DRAWS (long-task-jobs §4.9 / I-2).
308
- *
309
- * It changes the NOUN and the status wording only. Renaming the entry kind
310
- * from `service` to `job` would be a pure regression: ordinary assertions pin
311
- * `[background] service s1 started` word for word, `bg-command.test.ts` pins
312
- * `/bg stop`'s `Stopped N services` toast, and there are no snapshot files in
313
- * this package to absorb the churn. The few strings that DID move to "job"
314
- * are the model-facing unknown-id messages in `proc-tools.ts`, which name an
315
- * id space that now holds both kinds.
316
- */
317
- jobKind: JobKind;
318
- /** Latest extracted progress line; one extra row when present. */
319
- progress?: string;
320
- /** When output last arrived, so `stalled` can be evaluated at render time. */
321
- lastOutputAt: number;
322
- /** Derived at snapshot time by the supervisor, carried here so it survives a save. */
323
- stalled?: boolean;
324
- /** Where the on-disk mirror wrote this job's full log. */
325
- logPath?: string;
326
- };
327
- export interface UsageTotal {
328
- inputTokens: number;
329
- outputTokens: number;
330
- /**
331
- * Cache read hits (context-usage-gauge-accuracy §3.6 / P1-3).
332
- *
333
- * `occupiedTokens` counts them and `computeCost` PRICES them, so a session
334
- * total that omits them makes the status bar's `^` read lower than the `$`
335
- * next to it - on the same row, from the same turns. That was three units on
336
- * one line, and this field plus its sibling are what collapse them to one.
337
- */
338
- cacheReadTokens: number;
339
- cacheWriteTokens: number;
340
- costUsd: number;
341
- }
342
- /**
343
- * The ephemeral retry projection held in `ViewState.retry` (§9).
344
- *
345
- * Only the two IN-FLIGHT phases exist here: once a card settles the projection is
346
- * `null`, because the settled card IS the history and a chip that reported a
347
- * finished retry would never go away.
348
- */
349
- export interface RetrySnapshot {
350
- attempt: number;
351
- maxRetries: number;
352
- resumeAt?: number;
353
- phase: 'waiting' | 'retrying';
354
- errorType: string;
355
- }
356
- export interface ViewState {
357
- entries: Entry[];
358
- pendingSteering: PendingSteering[];
359
- seenSteeringIds: ReadonlySet<string>;
360
- runPhase: 'idle' | 'starting' | 'waiting' | 'thinking' | 'generating' | 'preparing-tool' | 'tool';
361
- activeTool?: {
362
- toolCallId: string;
363
- name: string;
364
- };
365
- runOutcome: 'none' | 'ended' | 'interrupted' | 'failed';
366
- status: 'idle' | 'running';
367
- usageTotal: UsageTotal;
368
- /**
369
- * Context occupancy, as published by `AgentController`'s `ContextMeter`.
370
- *
371
- * ITS ONLY WRITER IS `case 'contextUsage'` (I-1), and that is the structural
372
- * half of the P0-1 fix. It replaced `contextTokens` + `contextTokensEstimated`,
373
- * which between them had THREE writing branches (`turnEnd`,
374
- * `contextTokensEstimated`, `resetConversation`) fed by two competing
375
- * upstreams. Two writers in one synchronous fan-out means the later one wins,
376
- * and the later one was the stale `snapshot` carrying the PRE-compaction
377
- * figure - so the bar fell and bounced straight back, every time, with nothing
378
- * logging a fault. `context-one-writer.test.ts` scans this file to keep it
379
- * that way.
380
- */
381
- context: ContextUsageSnapshot;
382
- overlay: Overlay;
383
- thinkingVisible: boolean;
384
- /** Ephemeral acks; auto-dismissed by App (spec §3.9). */
385
- toasts: Toast[];
386
- /** Which tool cards are expanded to their full stored preview (spec §3.7). */
387
- expandedToolIds: Record<string, true>;
388
- /**
389
- * MIRROR of the controller's effective mode, for rendering only (plan-mode
390
- * §3.1). Written exclusively from what `controller.setAgentMode()` reports it
391
- * adopted — never from what the UI asked for.
392
- */
393
- agentMode: AgentMode;
394
- /** Set only by a DEFERRED `plan -> build`; drives the `PLAN -> BUILD` readout. */
395
- pendingAgentMode: AgentMode | null;
396
- /**
397
- * The user-visible posture and its deferred twin (governance-mode 4.3). Written in the
398
- * SAME dispatch as `agentMode` / `pendingAgentMode` and only from what the controller
399
- * adopted, so the badge and the gate cannot diverge. `agentMode` keeps gating.
400
- */
401
- posture: Posture;
402
- pendingPosture: Posture | null;
403
- /**
404
- * The live governed-run snapshot, or `null` when there is no run.
405
- *
406
- * NEVER PERSISTED, like `team`: `/save` writes `entries` (the settlement cards are the
407
- * history) and a resumed session has no live run to show.
408
- */
409
- governance: GovernanceSnapshot | null;
410
- /**
411
- * The live team roster, or `null` when no dispatch is running.
412
- *
413
- * NEVER PERSISTED. `/save` writes `entries`, and the settled `team` entry is
414
- * the history; this field is the ephemeral panel, and a resumed session has no
415
- * live dispatch to show (§6.4).
416
- */
417
- team: TeamSnapshot | null;
418
- /**
419
- * The live todo list, or `null` when there is none.
420
- *
421
- * NEVER PERSISTED HERE — `entries` is the history and `SavedSession.todos` is
422
- * the list (§3.13). `null` is what leaves the rail unmounted entirely, which
423
- * is why a session that never plans has byte-identical layout to a pre-feature
424
- * build (AC-24).
425
- */
426
- todos: TodoSnapshot | null;
427
- /**
428
- * The live retry projection, or `null` when nothing is retrying.
429
- *
430
- * NEVER PERSISTED — `entries` is the history and the settled card is the
431
- * record. It drives the status-bar chip and the 1 Hz tick, and it is nulled on
432
- * every settle path. Same contract as `team`.
433
- */
434
- retry: RetrySnapshot | null;
435
- /**
436
- * The live fast-tier projection, or `null` when the tier is off for this
437
- * session (fast-model-tier §5.2).
438
- *
439
- * NEVER PERSISTED — `entries` is the history and the settled cards are the
440
- * record. It drives the status chip and `/fast status`'s totals. `null` is
441
- * what leaves an ordinary session's status bar byte-identical (AC-4).
442
- */
443
- fast: FastSnapshot | null;
444
- /**
445
- * The live compaction projection, or `null` when the feature is off for this
446
- * session (context-auto-compaction §5.5).
447
- *
448
- * NEVER PERSISTED — `entries` is the history and the settled cards are the
449
- * record. It drives the status chip, the gauge's marks and `/compact status`'s
450
- * totals. `null` is what leaves an ordinary session's status bar unchanged.
451
- */
452
- compaction: CompactionSnapshot | null;
453
- /**
454
- * The session's task label, or `null` while there is none
455
- * (tui-shortcut-drawer-and-task-summary D-13).
456
- *
457
- * PURE VIEW STATE: never persisted, never in the conversation history, never in
458
- * `config.json`. It lives here because the header and the drawer must read the
459
- * SAME field - two copies would be two labels for one task.
460
- *
461
- * THE TWO WRITERS ARE `taskSummaryPending` / `taskSummaryReady`, and the two
462
- * CLEARERS are `resetConversation` and `restoreEntries`: clearing is the
463
- * reducer's job (it is the only place that knows a task ended), while
464
- * REBUILDING after `/resume` is the App wrapper's job, because only it can see
465
- * the restored entries before they are reduced.
466
- */
467
- taskSummary: TaskSummaryView | null;
468
- /** A summary call is in flight. Drives the drawer's `summarizing` line and `/task`. */
469
- taskSummaryPending: boolean;
470
- seq: number;
471
- /** The `kind: 'team'` entry the live dispatch is writing into. */
472
- teamEntryId?: string;
473
- /** The `kind: 'todo'` entry this turn is writing into. */
474
- todoEntryId?: string;
475
- /** The `kind: 'retry'` entry this turn is writing into. */
476
- retryEntryId?: string;
477
- /** The `kind: 'fast'` entry the in-flight review is writing into. */
478
- fastEntryId?: string;
479
- /** The `kind: 'compaction'` entry the in-flight compaction is writing into. */
480
- compactionEntryId?: string;
481
- streamingId?: string;
482
- turnProduced: boolean;
483
- errorNoticed: boolean;
484
- /** The current run was aborted by the user (suppresses the failure guard). */
485
- aborted: boolean;
486
- /**
487
- * Entries removed by `transcriptRetain` (tui-render-performance L1).
488
- *
489
- * Rendered by `transcript-text` and reported by `/perf`; NEVER PERSISTED —
490
- * `SavedSession` keeps `{ model, messages, entries, todos }` exactly as it is,
491
- * so `/save` and `/resume` need no format change and old files load unchanged.
492
- */
493
- droppedEntries: number;
494
- }
495
- /**
496
- * The zero session total.
497
- *
498
- * ONE LITERAL FOR TWO SITES (`initialViewState` and `resetConversation`). They
499
- * used to spell the object out twice, which is how `cacheReadTokens` would have
500
- * been added to one of them and not the other.
501
- */
502
- export declare const EMPTY_USAGE_TOTAL: UsageTotal;
503
- export interface ViewStateSeed {
504
- /** Start with thinking blocks expanded. Defaults to FALSE, the product default. */
505
- thinkingVisible?: boolean;
506
- }
507
- /**
508
- * The initial view state, optionally seeded from config.
509
- *
510
- * THE DEFAULT IS `false`, NOT `true`, AND THAT IS THE WHOLE SAFETY ARGUMENT
511
- * (D-2). There is exactly one production call site — `App`'s `useReducer`, which
512
- * passes `cfg.showThinking`. Every other caller is a test. A future call site
513
- * that forgets the seed fails CLOSED, toward the product default, rather than
514
- * silently restoring the reasoning firehose for one code path with nothing
515
- * reporting it.
516
- *
517
- * The seed is a PARAMETER rather than a post-mount dispatch so that `/resume`
518
- * cannot flash a restored thinking block on frame 1.
519
- */
520
- export declare function initialViewState(seed?: ViewStateSeed): ViewState;
521
- export type ViewAction = {
522
- type: 'submit';
523
- text: string;
524
- invocation?: InvocationCard;
525
- }
526
- /**
527
- * `controller.steer` was accepted; append the persistent queue marker
528
- * (5.2.2). Dispatched from exactly one place -- `App.submitMessage`'s
529
- * running branch -- beside the `controller.steer` call it mirrors.
530
- */
531
- | {
532
- type: 'steerQueued';
533
- queueId: string;
534
- text: string;
535
- invocation?: InvocationCard;
536
- } | {
537
- type: 'steeringAccepted';
538
- ids: readonly string[];
539
- } | {
540
- type: 'runStart';
541
- } | {
542
- type: 'runStarting';
543
- } | {
544
- type: 'runError';
545
- } | {
546
- type: 'turnStart';
547
- } | {
548
- type: 'thinkingStart';
549
- } | {
550
- type: 'thinkingDelta';
551
- delta: string;
552
- } | {
553
- type: 'textDelta';
554
- delta: string;
555
- } | {
556
- type: 'toolCallStart';
557
- toolCallId: string;
558
- toolName: string;
559
- label?: string;
560
- } | {
561
- type: 'toolCallDelta';
562
- toolCallId: string;
563
- argsDelta: string;
564
- } | {
565
- type: 'toolCallEnd';
566
- toolCallId: string;
567
- args: Record<string, unknown>;
568
- } | {
569
- type: 'toolExecStart';
570
- toolCallId: string;
571
- toolName?: string;
572
- } | {
573
- type: 'toolExecEnd';
574
- toolCallId: string;
575
- isError: boolean;
576
- duration: number;
577
- preview: string;
578
- /** A fully-built, immutable diff, so the reducer stays pure (§3.3.7). */
579
- patch?: FilePatch;
580
- }
581
- /**
582
- * A running tool's live tail (agent-activity-presentation-live §3.3.1).
583
- *
584
- * `rows` IS THE WHOLE TAIL, not an increment: the store replaces it on every
585
- * chunk, which is what lets `mergeDeltas` keep only the last action per
586
- * `toolCallId` (D-30). `at` is read in `App`'s listener rather than here, so
587
- * this reducer stays pure.
588
- */
589
- | {
590
- type: 'toolOutputDelta';
591
- toolCallId: string;
592
- rows: readonly string[];
593
- at: number;
594
- }
595
- /**
596
- * `job_wait`'s 1 Hz view (extended-job-wait). Carries the WHOLE view, so the
597
- * coalescer keeps only the last per `toolCallId`, like `toolOutputDelta`.
598
- */
599
- | {
600
- type: 'waitUpdate';
601
- toolCallId: string;
602
- view: WaitView;
603
- } | {
604
- type: 'turnEnd';
605
- usage: TokenUsage;
606
- costDelta: number;
607
- } | {
608
- type: 'runEnd';
609
- } | {
610
- type: 'notice';
611
- level: NoticeLevel;
612
- text: string;
613
- } | {
614
- type: 'abortMark';
615
- } | {
616
- type: 'clearTranscript';
617
- } | {
618
- type: 'resetConversation';
619
- }
620
- /**
621
- * Zero the session's spend WITHOUT touching the conversation
622
- * (tui-session-id-resume D-10 / R-9 / T-45).
623
- *
624
- * A separate action rather than `resetConversation`, because the two mean
625
- * different things: `/clear` ends the conversation and the spend together,
626
- * while an in-TUI `/resume` adopts another conversation and starts a NEW id -
627
- * so the counter must restart, but the entries that were just restored must
628
- * not be thrown away with it. `context` is left untouched for the reason
629
- * `resetConversation` records: the meter, not the reducer, owns occupancy.
630
- */
631
- | {
632
- type: 'resetUsage';
633
- } | {
634
- type: 'setOverlay';
635
- overlay: Overlay;
636
- } | {
637
- type: 'toggleThinking';
638
- } | {
639
- type: 'pushToast';
640
- level: ToastLevel;
641
- text: string;
642
- ttlMs?: number;
643
- } | {
644
- type: 'dismissToast';
645
- id: string;
646
- } | {
647
- type: 'toggleExpand';
648
- id: string;
649
- } | {
650
- type: 'restoreEntries';
651
- entries: Entry[];
652
- }
653
- /**
654
- * The task label lifecycle (tui-shortcut-drawer-and-task-summary §7.1).
655
- *
656
- * TWO ACTIONS, because "a call started" and "a call finished" are different
657
- * facts and the drawer reports them differently (`summarizing` vs the label).
658
- * `taskSummaryReady` carries `null` in exactly one case: the call failed AND
659
- * `taskSummary.fallback` is off, which is a deliberate "show nothing" rather
660
- * than an empty string that would read as a broken feature.
661
- */
662
- | {
663
- type: 'taskSummaryPending';
664
- } | {
665
- type: 'taskSummaryReady';
666
- view: TaskSummaryView | null;
667
- } | {
668
- type: 'setAgentMode';
669
- mode: AgentMode;
670
- pending: AgentMode | null;
671
- posture?: Posture;
672
- pendingPosture?: Posture | null;
673
- } | {
674
- type: 'govSnapshot';
675
- snapshot: GovernanceSnapshot;
676
- } | {
677
- type: 'govEnd';
678
- } | {
679
- type: 'governanceCard';
680
- card: GovernanceCardData;
681
- at?: number;
682
- } | {
683
- type: 'teamStart';
684
- dispatchId: string;
685
- requested: number;
686
- specs: SubagentSpec[];
687
- } | {
688
- type: 'teamUpdate';
689
- snapshot: TeamSnapshot;
690
- } | {
691
- type: 'teamUsage';
692
- usage: TokenUsage;
693
- costDelta: number;
694
- } | {
695
- type: 'teamEnd';
696
- outcome: DispatchOutcome;
697
- } | {
698
- type: 'todoUpdate';
699
- snapshot: TodoSnapshot;
700
- } | {
701
- type: 'todoCleared';
702
- } | {
703
- type: 'retryScheduled';
704
- attempt: number;
705
- maxRetries: number;
706
- delayMs: number;
707
- resumeAt: number;
708
- errorType: string;
709
- message: string;
710
- } | {
711
- type: 'retryAttempt';
712
- attempt: number;
713
- maxRetries: number;
714
- } | {
715
- type: 'streamRestart';
716
- discardedToolCallIds: string[];
717
- }
718
- /**
719
- * The 1 Hz countdown tick. NO STATE OF ITS OWN — it bumps `seq` so the frame
720
- * re-renders and the card recomputes `resumeAt - Date.now()`. `App` runs the
721
- * interval ONLY while `state.retry?.phase === 'waiting'`, so an idle session has
722
- * no timer at all.
723
- */
724
- | {
725
- type: 'retryTick';
726
- } | {
727
- type: 'fastStart';
728
- index: number;
729
- turn: number;
730
- model: string;
731
- } | {
732
- type: 'fastEnd';
733
- review: FastReview;
734
- }
735
- /**
736
- * Review spend.
737
- *
738
- * `costDelta` IS PRECOMPUTED BY THE CALLER, exactly as `teamUsage`'s is: the
739
- * reducer stays pure and cost-table-free, which is the property that makes it
740
- * testable — and the fast tier has a DIFFERENT cost table from the lead, so a
741
- * reducer that computed its own would have to know about both (§3.6 / R-7).
742
- */
743
- | {
744
- type: 'fastUsage';
745
- usage: TokenUsage;
746
- costDelta: number;
747
- } | {
748
- type: 'fastTier';
749
- snapshot: FastSnapshot;
750
- } | {
751
- type: 'compactionStart';
752
- index: number;
753
- trigger: CompactionUiTrigger;
754
- model: string;
755
- } | {
756
- type: 'compactionEnd';
757
- record: CompactionRecord;
758
- }
759
- /**
760
- * The live card's stage (context-compaction-never-fires C).
761
- *
762
- * Its own action rather than a field on `compactionStart` because the phases
763
- * arrive AFTER it, one per step, and because a phase must be able to land on a
764
- * card that a previous attempt already settled into the same entry id.
765
- */
766
- | {
767
- type: 'compactionPhase';
768
- index: number;
769
- phase: CompactionPhase;
770
- }
771
- /**
772
- * Compaction spend.
773
- *
774
- * `costDelta` IS PRECOMPUTED BY THE CALLER, exactly as `teamUsage`'s and
775
- * `fastUsage`'s are: the reducer stays pure and cost-table-free. It matters
776
- * MORE here than for either of those, because the summarizer may be a
777
- * different model from the lead AND from the fast tier, so a reducer that
778
- * computed its own would have to know about three price tables.
779
- */
780
- | {
781
- type: 'compactionUsage';
782
- usage: TokenUsage;
783
- costDelta: number;
784
- } | {
785
- type: 'compactionSnapshot';
786
- snapshot: CompactionSnapshot;
787
- }
788
- /**
789
- * The occupancy reading, from `AgentController.subscribeContextUsage`.
790
- *
791
- * THE ONLY ACTION THAT WRITES `state.context`, AND IT IS DISPATCHED FROM
792
- * EXACTLY ONE PLACE (I-1 / T11). It replaced `contextTokensEstimated`, which
793
- * `App` fired from two branches of the compaction stream while `turnEnd` wrote
794
- * the same field from the agent stream - three writers, two upstreams, one
795
- * number, and the P0-1 bounce as the result.
796
- */
797
- | {
798
- type: 'contextUsage';
799
- snapshot: ContextUsageSnapshot;
800
- } | {
801
- type: 'serviceStart';
802
- service: ServiceSnapshot;
803
- } | {
804
- type: 'serviceUpdate';
805
- service: ServiceSnapshot;
806
- } | {
807
- type: 'serviceEnd';
808
- service: ServiceSnapshot;
809
- };
810
- export declare const STORED_PREVIEW_CHARS = 8000;
811
- export declare const STORED_PREVIEW_LINES = 200;
812
- /**
813
- * Marker appended to a truncated tool preview. ASCII on purpose: this string is
814
- * produced outside `src/ui/**`, where no terminal capabilities are available, so
815
- * it must be safe on a legacy `cmd.exe` (spec §4.1 tier A). `ToolPreview` dims
816
- * this line and imports the constant rather than re-spelling it — the two used
817
- * to be a matched pair of `…` literals, and splitting the spelling would break
818
- * the dimming silently.
819
- */
820
- export declare const PREVIEW_TRUNCATION_MARK = "...";
821
- /**
822
- * Flatten a ToolResult into a stored preview string. Truncation appends
823
- * `PREVIEW_TRUNCATION_MARK` (line- or char-based) so a card footer never
824
- * over-promises how much more is expandable.
825
- */
826
- export declare function buildToolPreview(result: ToolResult): string;
827
- /**
828
- * Where a `FilePatch` is collected from on `tool_execution_end`.
829
- *
830
- * Supplying one makes `reduceEvent` CONSUME-ONCE rather than pure, which is safe
831
- * because `App.tsx` calls it exactly once per event and `mergeDeltas` only ever
832
- * merges `textDelta` / `thinkingDelta`, never `toolExecEnd`.
833
- */
834
- export interface PatchSource {
835
- take(toolCallId: string): FilePatch | undefined;
836
- }
837
- /**
838
- * Map one core `AgentEvent` to view actions. `cost` (the active model's cost
839
- * table) lets `turn_end` accumulate USD cost; omit it in tests that only assert
840
- * token totals. `patches` is the CLI-local diff side channel (§3.3.7); omitting
841
- * it — every existing test, and headless mode — produces byte-identical actions.
842
- */
843
- export declare function reduceEvent(event: AgentEvent, cost?: ModelCost, patches?: PatchSource): ViewAction[];
844
- /**
845
- * The opening words of the `context_overflow` banner.
846
- *
847
- * A SHARED CONSTANT RATHER THAN TWO LITERALS, because `compactionStart` matches
848
- * on it to rewrite the notice a successful reactive recovery would otherwise
849
- * leave behind (P1-4). Two spellings that must agree, with nothing checking that
850
- * they do, is how that rewrite silently stops matching — at which point the red
851
- * "start over" banner comes back and only on the recovery path, which is the one
852
- * place nobody re-tests.
853
- */
854
- export declare const CONTEXT_OVERFLOW_NOTICE_PREFIX = "Context length exceeded";
855
- /** Turn a provider error into a friendly banner, mapping LLMError.errorType. */
856
- export declare function formatStreamError(error: Error): string;
857
- export declare function viewReducer(state: ViewState, action: ViewAction): ViewState;