@aragon-agent/cli 0.6.46 → 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 +28 -0
  2. package/README.md +80 -12
  3. package/dist/agent/coalesce.d.ts +5 -1
  4. package/dist/agent/coalesce.js +13 -0
  5. package/dist/agent/controller.d.ts +41 -20
  6. package/dist/agent/controller.js +68 -15
  7. package/dist/agent/conversation-reset.d.ts +1 -1
  8. package/dist/agent/governance-wiring.d.ts +6 -6
  9. package/dist/agent/governance-wiring.js +4 -4
  10. package/dist/agent/headless.d.ts +5 -5
  11. package/dist/agent/headless.js +4 -4
  12. package/dist/agent/job-notices.d.ts +1 -1
  13. package/dist/agent/job-notices.js +1 -1
  14. package/dist/agent/kit-apply.d.ts +3 -3
  15. package/dist/agent/kit-apply.js +3 -3
  16. package/dist/agent/model-profile-settings.d.ts +2 -2
  17. package/dist/agent/model-profile-settings.js +6 -6
  18. package/dist/agent/prompt-options.d.ts +1 -1
  19. package/dist/agent/system-prompt.d.ts +1 -1
  20. package/dist/agent/user-attention.d.ts +17 -0
  21. package/dist/agent/user-attention.js +32 -0
  22. package/dist/{ui → app}/App.d.ts +9 -9
  23. package/dist/{ui → app}/App.js +113 -79
  24. package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
  25. package/dist/{ui → app}/use-startup-notices.js +2 -2
  26. package/dist/cli.js +31 -32
  27. package/dist/commands/agents-command.js +1 -1
  28. package/dist/commands/builtins.js +9 -9
  29. package/dist/commands/governance-command.js +2 -2
  30. package/dist/commands/governance-runs-table.js +1 -1
  31. package/dist/commands/kit-command.js +1 -1
  32. package/dist/commands/perf.d.ts +3 -3
  33. package/dist/commands/perf.js +1 -1
  34. package/dist/commands/registry.d.ts +8 -8
  35. package/dist/commands/skills.js +2 -2
  36. package/dist/commands/team-command.js +1 -1
  37. package/dist/compaction/archive.d.ts +1 -1
  38. package/dist/compaction/archive.js +1 -1
  39. package/dist/compaction/child.d.ts +3 -3
  40. package/dist/compaction/child.js +4 -4
  41. package/dist/compaction/command.js +5 -5
  42. package/dist/compaction/compactor.d.ts +6 -6
  43. package/dist/compaction/compactor.js +6 -6
  44. package/dist/compaction/context-command.js +1 -1
  45. package/dist/compaction/digest.js +1 -1
  46. package/dist/compaction/memory-input.js +1 -1
  47. package/dist/compaction/memory-validation.js +1 -1
  48. package/dist/compaction/memory.js +1 -1
  49. package/dist/compaction/summarize-call.js +1 -1
  50. package/dist/compaction/summary-prompt.js +1 -1
  51. package/dist/compaction/tail-budget.js +2 -2
  52. package/dist/compaction/wiring.d.ts +5 -5
  53. package/dist/compaction/wiring.js +2 -2
  54. package/dist/config/cli-commands.d.ts +1 -1
  55. package/dist/config/cli-commands.js +3 -3
  56. package/dist/config/env.d.ts +1 -1
  57. package/dist/config/env.js +4 -4
  58. package/dist/config/load.d.ts +2 -2
  59. package/dist/config/load.js +10 -31
  60. package/dist/config/migrate-state-out-of-config.js +1 -1
  61. package/dist/config/model-profile-store.d.ts +4 -54
  62. package/dist/config/model-profile-store.js +3 -3
  63. package/dist/config/prompt-history.js +1 -1
  64. package/dist/config/store.d.ts +2 -2
  65. package/dist/config/store.js +3 -3
  66. package/dist/diagnostics/doctor.js +4 -4
  67. package/dist/exec/bridge/decisions.d.ts +1 -1
  68. package/dist/exec/bridge/human-answers.d.ts +1 -1
  69. package/dist/exec/bridge/human-answers.js +1 -1
  70. package/dist/exec/bridge/protocol.d.ts +1 -1
  71. package/dist/exec/bridge/server.js +1 -1
  72. package/dist/exec/events.d.ts +2 -2
  73. package/dist/exec/index.d.ts +1 -1
  74. package/dist/exec/index.js +1 -1
  75. package/dist/exec/permission.js +1 -1
  76. package/dist/exec/runner.d.ts +3 -3
  77. package/dist/exec/runner.js +2 -2
  78. package/dist/exec/threads/runtime.js +1 -1
  79. package/dist/fast/digest.d.ts +1 -1
  80. package/dist/fast/digest.js +1 -1
  81. package/dist/fast/frames.d.ts +1 -1
  82. package/dist/fast/frames.js +1 -1
  83. package/dist/fast/prompt.d.ts +1 -1
  84. package/dist/fast/prompt.js +1 -1
  85. package/dist/fast/review-call.js +1 -1
  86. package/dist/fast/reviewer.d.ts +3 -3
  87. package/dist/fast/reviewer.js +1 -1
  88. package/dist/fast/summary-call.d.ts +3 -3
  89. package/dist/fast/summary-call.js +2 -2
  90. package/dist/fast/summary-prompt.d.ts +1 -1
  91. package/dist/fast/summary-prompt.js +1 -1
  92. package/dist/fast/wiring.d.ts +4 -4
  93. package/dist/fast/wiring.js +1 -1
  94. package/dist/governance/card-normalize.d.ts +1 -1
  95. package/dist/governance/copy.d.ts +1 -1
  96. package/dist/governance/copy.js +2 -2
  97. package/dist/governance/engine/artifact-persist.d.ts +1 -1
  98. package/dist/governance/engine/budget.d.ts +1 -1
  99. package/dist/governance/engine/budget.js +1 -1
  100. package/dist/governance/engine/cards.d.ts +1 -1
  101. package/dist/governance/engine/digest.js +1 -1
  102. package/dist/governance/engine/engine-core.d.ts +5 -5
  103. package/dist/governance/engine/engine-core.js +1 -1
  104. package/dist/governance/engine/engine.d.ts +1 -1
  105. package/dist/governance/engine/engine.js +1 -1
  106. package/dist/governance/engine/estimate.d.ts +1 -1
  107. package/dist/governance/engine/estimate.js +1 -1
  108. package/dist/governance/engine/inspector.js +2 -2
  109. package/dist/governance/engine/integration.d.ts +1 -1
  110. package/dist/governance/engine/lifecycle.d.ts +1 -1
  111. package/dist/governance/engine/lifecycle.js +1 -1
  112. package/dist/governance/engine/phase-members.d.ts +1 -1
  113. package/dist/governance/engine/phase-planner.d.ts +1 -1
  114. package/dist/governance/engine/phase-planner.js +1 -1
  115. package/dist/governance/engine/rebuild.d.ts +1 -1
  116. package/dist/governance/engine/report.d.ts +1 -1
  117. package/dist/governance/engine/report.js +1 -1
  118. package/dist/governance/engine/run-digest.d.ts +1 -1
  119. package/dist/governance/engine/spec-builder.d.ts +2 -2
  120. package/dist/governance/engine/spec-builder.js +2 -2
  121. package/dist/governance/engine/stage-runner.js +2 -2
  122. package/dist/governance/engine/start-input.d.ts +1 -1
  123. package/dist/governance/engine/start-input.js +1 -1
  124. package/dist/governance/engine/state-machine.d.ts +1 -1
  125. package/dist/governance/engine/state-machine.js +3 -3
  126. package/dist/governance/engine/submission-queries.d.ts +1 -1
  127. package/dist/governance/engine/submission-render.d.ts +1 -1
  128. package/dist/governance/engine/submissions.d.ts +1 -1
  129. package/dist/governance/engine/submissions.js +1 -1
  130. package/dist/governance/engine/visibility.d.ts +1 -1
  131. package/dist/governance/engine/visibility.js +1 -1
  132. package/dist/governance/posture-transition.d.ts +2 -2
  133. package/dist/governance/posture-transition.js +1 -1
  134. package/dist/governance/profiles.d.ts +1 -1
  135. package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
  136. package/dist/governance/prompts/orchestrator-block.js +2 -2
  137. package/dist/governance/prompts/plan-addendum.d.ts +1 -1
  138. package/dist/governance/prompts/plan-addendum.js +1 -1
  139. package/dist/governance/prompts/role-blocks.d.ts +2 -2
  140. package/dist/governance/prompts/role-blocks.js +1 -1
  141. package/dist/governance/report-reader.js +1 -1
  142. package/dist/governance/roles.d.ts +1 -1
  143. package/dist/governance/rules/claims.d.ts +1 -1
  144. package/dist/governance/rules/claims.js +1 -1
  145. package/dist/governance/rules/elimination.d.ts +1 -1
  146. package/dist/governance/rules/elimination.js +1 -1
  147. package/dist/governance/rules/failure-analysis.d.ts +2 -2
  148. package/dist/governance/rules/failure-analysis.js +1 -1
  149. package/dist/governance/rules/ledger-replay.d.ts +1 -1
  150. package/dist/governance/rules/ledger-state.d.ts +1 -1
  151. package/dist/governance/rules/ledger-state.js +1 -1
  152. package/dist/governance/rules/ledger.d.ts +2 -2
  153. package/dist/governance/rules/ledger.js +2 -2
  154. package/dist/governance/rules/rca.d.ts +1 -1
  155. package/dist/governance/rules/rca.js +1 -1
  156. package/dist/governance/rules/settlement.d.ts +2 -2
  157. package/dist/governance/rules/settlement.js +2 -2
  158. package/dist/governance/rules/suspicion.d.ts +1 -1
  159. package/dist/governance/store/artifacts.d.ts +1 -1
  160. package/dist/governance/store/artifacts.js +1 -1
  161. package/dist/governance/store/events-log.d.ts +1 -1
  162. package/dist/governance/store/run-store.d.ts +1 -1
  163. package/dist/governance/store/run-store.js +1 -1
  164. package/dist/governance/store/scoreboard-export.d.ts +1 -1
  165. package/dist/governance/tools/child-tools.d.ts +1 -1
  166. package/dist/governance/tools/guard.d.ts +1 -1
  167. package/dist/governance/tools/guard.js +1 -1
  168. package/dist/governance/tools/inspector-tools.d.ts +2 -2
  169. package/dist/governance/tools/inspector-tools.js +2 -2
  170. package/dist/governance/tools/lead-tools.d.ts +1 -1
  171. package/dist/governance/tools/lead-tools.js +1 -1
  172. package/dist/governance/tools/normalize-util.js +1 -1
  173. package/dist/governance/tools/scan-incomplete.js +1 -1
  174. package/dist/governance/tools/shared-tools.d.ts +1 -1
  175. package/dist/governance/tools/shared-tools.js +1 -1
  176. package/dist/governance/tools/submit-normalizers.d.ts +1 -1
  177. package/dist/governance/tools/submit-normalizers.js +1 -1
  178. package/dist/governance/tools/submit-tools.d.ts +1 -1
  179. package/dist/logging/cli-commands.js +1 -1
  180. package/dist/logging/install.d.ts +1 -1
  181. package/dist/logging/install.js +3 -3
  182. package/dist/logging/logger.d.ts +2 -2
  183. package/dist/logging/logger.js +31 -2
  184. package/dist/proc/kill-tree.js +1 -1
  185. package/dist/proc/log-mirror.js +1 -1
  186. package/dist/proc/log-ring.js +2 -2
  187. package/dist/proc/notices.d.ts +1 -1
  188. package/dist/proc/notices.js +2 -2
  189. package/dist/proc/prompt.d.ts +1 -1
  190. package/dist/proc/prompt.js +8 -5
  191. package/dist/proc/readiness.js +1 -1
  192. package/dist/proc/supervisor.d.ts +1 -1
  193. package/dist/proc/supervisor.js +10 -4
  194. package/dist/proc/wait-plan.d.ts +39 -0
  195. package/dist/proc/wait-plan.js +77 -0
  196. package/dist/proc/wait.d.ts +37 -4
  197. package/dist/proc/wait.js +68 -5
  198. package/dist/prompts/command.d.ts +1 -1
  199. package/dist/prompts/command.js +1 -1
  200. package/dist/prompts/normalize.d.ts +1 -1
  201. package/dist/prompts/normalize.js +1 -1
  202. package/dist/prompts/resolve.d.ts +1 -1
  203. package/dist/prompts/store.d.ts +2 -12
  204. package/dist/prompts/store.js +6 -60
  205. package/dist/session/checkpoint.d.ts +2 -2
  206. package/dist/session/checkpoint.js +2 -0
  207. package/dist/session/clear-archive.d.ts +2 -2
  208. package/dist/session/persist.d.ts +2 -2
  209. package/dist/session/persist.js +20 -3
  210. package/dist/session/startup-session.d.ts +2 -2
  211. package/dist/session/validate-session.js +6 -3
  212. package/dist/skills/service.d.ts +2 -2
  213. package/dist/team/bus.d.ts +1 -1
  214. package/dist/team/bus.js +1 -1
  215. package/dist/team/child-reviewer.d.ts +2 -2
  216. package/dist/team/child-reviewer.js +1 -1
  217. package/dist/team/comm-tools.js +1 -1
  218. package/dist/team/dispatch-gate.js +1 -1
  219. package/dist/team/forced-dispatch.js +1 -1
  220. package/dist/team/forced-mode.d.ts +1 -1
  221. package/dist/team/forced-prompt.d.ts +1 -1
  222. package/dist/team/forced-prompt.js +1 -1
  223. package/dist/team/normalize.d.ts +1 -1
  224. package/dist/team/normalize.js +1 -1
  225. package/dist/team/overseer.d.ts +3 -3
  226. package/dist/team/overseer.js +3 -3
  227. package/dist/team/prompt.d.ts +1 -1
  228. package/dist/team/prompt.js +1 -1
  229. package/dist/team/report.d.ts +2 -2
  230. package/dist/team/report.js +2 -2
  231. package/dist/team/retry.d.ts +1 -1
  232. package/dist/team/retry.js +1 -1
  233. package/dist/team/runtime.d.ts +4 -4
  234. package/dist/team/runtime.js +2 -2
  235. package/dist/team/settled.d.ts +2 -2
  236. package/dist/team/subagent.d.ts +4 -4
  237. package/dist/team/subagent.js +5 -5
  238. package/dist/team/task-tool.d.ts +1 -1
  239. package/dist/team/task-tool.js +1 -1
  240. package/dist/todo/normalize.d.ts +1 -1
  241. package/dist/todo/normalize.js +1 -1
  242. package/dist/todo/prompt.d.ts +1 -1
  243. package/dist/todo/prompt.js +1 -1
  244. package/dist/todo/store.d.ts +1 -1
  245. package/dist/todo/store.js +2 -2
  246. package/dist/todo/todo-tool.d.ts +1 -1
  247. package/dist/todo/todo-tool.js +2 -2
  248. package/dist/tools/bash-tool.d.ts +1 -1
  249. package/dist/tools/bash-tool.js +2 -2
  250. package/dist/tools/diff.d.ts +1 -1
  251. package/dist/tools/diff.js +1 -1
  252. package/dist/tools/file-change-store.d.ts +1 -1
  253. package/dist/tools/fs-tools.d.ts +2 -2
  254. package/dist/tools/fs-tools.js +1 -1
  255. package/dist/tools/index.d.ts +3 -3
  256. package/dist/tools/index.js +1 -1
  257. package/dist/tools/job-tools.d.ts +14 -3
  258. package/dist/tools/job-tools.js +158 -35
  259. package/dist/tools/plan-tools.d.ts +1 -1
  260. package/dist/tools/plan-tools.js +1 -1
  261. package/dist/tools/proc-tools.d.ts +1 -1
  262. package/dist/tools/proc-tools.js +2 -2
  263. package/dist/update/classify-failure.d.ts +1 -1
  264. package/dist/update/install-lock.js +1 -1
  265. package/dist/update/install-source.d.ts +1 -1
  266. package/dist/update/installer.js +2 -2
  267. package/dist/update/npm-view.d.ts +1 -1
  268. package/dist/update/npm-view.js +1 -1
  269. package/dist/update/registry.d.ts +1 -1
  270. package/dist/update/registry.js +1 -1
  271. package/dist/update/service.d.ts +2 -2
  272. package/dist/update/service.js +2 -2
  273. package/package.json +7 -7
  274. package/dist/agent/agent-mode.d.ts +0 -108
  275. package/dist/agent/agent-mode.js +0 -121
  276. package/dist/agent/entry-limits.d.ts +0 -65
  277. package/dist/agent/entry-limits.js +0 -133
  278. package/dist/agent/governance-view.d.ts +0 -40
  279. package/dist/agent/governance-view.js +0 -40
  280. package/dist/agent/invocation-card.d.ts +0 -77
  281. package/dist/agent/invocation-card.js +0 -169
  282. package/dist/agent/model-probe-limits.d.ts +0 -39
  283. package/dist/agent/model-probe-limits.js +0 -25
  284. package/dist/agent/model-probe.d.ts +0 -104
  285. package/dist/agent/model-probe.js +0 -391
  286. package/dist/agent/queued-messages.d.ts +0 -23
  287. package/dist/agent/queued-messages.js +0 -49
  288. package/dist/agent/reducer.d.ts +0 -837
  289. package/dist/agent/reducer.js +0 -1617
  290. package/dist/agent/retry-view.d.ts +0 -68
  291. package/dist/agent/retry-view.js +0 -95
  292. package/dist/agent/usage.d.ts +0 -47
  293. package/dist/agent/usage.js +0 -84
  294. package/dist/compaction/limits.d.ts +0 -61
  295. package/dist/compaction/limits.js +0 -64
  296. package/dist/compaction/meter.d.ts +0 -276
  297. package/dist/compaction/meter.js +0 -512
  298. package/dist/compaction/pressure.d.ts +0 -163
  299. package/dist/compaction/pressure.js +0 -199
  300. package/dist/compaction/reason-text.d.ts +0 -36
  301. package/dist/compaction/reason-text.js +0 -78
  302. package/dist/compaction/types.d.ts +0 -360
  303. package/dist/compaction/types.js +0 -22
  304. package/dist/config/governance-config.d.ts +0 -125
  305. package/dist/config/governance-config.js +0 -164
  306. package/dist/config/kit-resolution.d.ts +0 -93
  307. package/dist/config/kit-resolution.js +0 -226
  308. package/dist/config/model-kits.d.ts +0 -225
  309. package/dist/config/model-kits.js +0 -302
  310. package/dist/config/model-profile-resolution.d.ts +0 -28
  311. package/dist/config/model-profile-resolution.js +0 -88
  312. package/dist/config/model-profiles.d.ts +0 -103
  313. package/dist/config/model-profiles.js +0 -188
  314. package/dist/config/schema.d.ts +0 -1645
  315. package/dist/config/schema.js +0 -1377
  316. package/dist/fast/limits.d.ts +0 -152
  317. package/dist/fast/limits.js +0 -152
  318. package/dist/fast/resolve.d.ts +0 -44
  319. package/dist/fast/resolve.js +0 -107
  320. package/dist/fast/task-summary-types.d.ts +0 -66
  321. package/dist/fast/task-summary-types.js +0 -17
  322. package/dist/fast/types.d.ts +0 -141
  323. package/dist/fast/types.js +0 -14
  324. package/dist/governance/governed-dispatch.d.ts +0 -19
  325. package/dist/governance/governed-dispatch.js +0 -17
  326. package/dist/governance/limits.d.ts +0 -107
  327. package/dist/governance/limits.js +0 -131
  328. package/dist/governance/posture.d.ts +0 -35
  329. package/dist/governance/posture.js +0 -59
  330. package/dist/governance/rules/events-table.d.ts +0 -46
  331. package/dist/governance/rules/events-table.js +0 -94
  332. package/dist/governance/types.d.ts +0 -661
  333. package/dist/governance/types.js +0 -27
  334. package/dist/input/control-sequences.d.ts +0 -71
  335. package/dist/input/control-sequences.js +0 -222
  336. package/dist/input/csiu-keys.d.ts +0 -66
  337. package/dist/input/csiu-keys.js +0 -181
  338. package/dist/input/cursor-report.d.ts +0 -61
  339. package/dist/input/cursor-report.js +0 -97
  340. package/dist/input/enter-sequences.d.ts +0 -64
  341. package/dist/input/enter-sequences.js +0 -153
  342. package/dist/input/interrupt-gesture.d.ts +0 -18
  343. package/dist/input/interrupt-gesture.js +0 -19
  344. package/dist/input/keyboard-enhancement.d.ts +0 -42
  345. package/dist/input/keyboard-enhancement.js +0 -65
  346. package/dist/input/keymap.d.ts +0 -20
  347. package/dist/input/keymap.js +0 -99
  348. package/dist/input/limits.d.ts +0 -118
  349. package/dist/input/limits.js +0 -109
  350. package/dist/input/mouse-events.d.ts +0 -87
  351. package/dist/input/mouse-events.js +0 -212
  352. package/dist/input/paste-parse.d.ts +0 -83
  353. package/dist/input/paste-parse.js +0 -107
  354. package/dist/input/pointer-router.d.ts +0 -11
  355. package/dist/input/pointer-router.js +0 -14
  356. package/dist/input/stdin-filter.d.ts +0 -112
  357. package/dist/input/stdin-filter.js +0 -657
  358. package/dist/input/win32-input-mode.d.ts +0 -61
  359. package/dist/input/win32-input-mode.js +0 -269
  360. package/dist/logging/levels.d.ts +0 -40
  361. package/dist/logging/levels.js +0 -59
  362. package/dist/logging/secret-registry.d.ts +0 -32
  363. package/dist/logging/secret-registry.js +0 -73
  364. package/dist/proc/limits.d.ts +0 -200
  365. package/dist/proc/limits.js +0 -207
  366. package/dist/proc/progress.d.ts +0 -40
  367. package/dist/proc/progress.js +0 -135
  368. package/dist/proc/types.d.ts +0 -263
  369. package/dist/proc/types.js +0 -15
  370. package/dist/prompts/copy.d.ts +0 -89
  371. package/dist/prompts/copy.js +0 -131
  372. package/dist/prompts/fill.d.ts +0 -51
  373. package/dist/prompts/fill.js +0 -46
  374. package/dist/prompts/limits.d.ts +0 -53
  375. package/dist/prompts/limits.js +0 -53
  376. package/dist/prompts/search.d.ts +0 -58
  377. package/dist/prompts/search.js +0 -146
  378. package/dist/prompts/types.d.ts +0 -204
  379. package/dist/prompts/types.js +0 -13
  380. package/dist/team/activity.d.ts +0 -67
  381. package/dist/team/activity.js +0 -130
  382. package/dist/team/limits.d.ts +0 -308
  383. package/dist/team/limits.js +0 -330
  384. package/dist/team/model.d.ts +0 -104
  385. package/dist/team/model.js +0 -150
  386. package/dist/team/panel-rows.d.ts +0 -48
  387. package/dist/team/panel-rows.js +0 -75
  388. package/dist/team/timeline.d.ts +0 -74
  389. package/dist/team/timeline.js +0 -101
  390. package/dist/team/types.d.ts +0 -354
  391. package/dist/team/types.js +0 -13
  392. package/dist/todo/acceptance.d.ts +0 -120
  393. package/dist/todo/acceptance.js +0 -399
  394. package/dist/todo/follow-through.d.ts +0 -138
  395. package/dist/todo/follow-through.js +0 -248
  396. package/dist/todo/limits.d.ts +0 -152
  397. package/dist/todo/limits.js +0 -152
  398. package/dist/todo/panel-rows.d.ts +0 -45
  399. package/dist/todo/panel-rows.js +0 -70
  400. package/dist/todo/plan-sections.d.ts +0 -60
  401. package/dist/todo/plan-sections.js +0 -108
  402. package/dist/todo/row-window.d.ts +0 -51
  403. package/dist/todo/row-window.js +0 -107
  404. package/dist/todo/types.d.ts +0 -124
  405. package/dist/todo/types.js +0 -12
  406. package/dist/tools/human-input.d.ts +0 -212
  407. package/dist/tools/human-input.js +0 -265
  408. package/dist/tools/patch.d.ts +0 -115
  409. package/dist/tools/patch.js +0 -453
  410. package/dist/tools/terminal-output.d.ts +0 -115
  411. package/dist/tools/terminal-output.js +0 -201
  412. package/dist/tools/tool-output-store.d.ts +0 -68
  413. package/dist/tools/tool-output-store.js +0 -102
  414. package/dist/ui/ActivityLine.d.ts +0 -26
  415. package/dist/ui/ActivityLine.js +0 -48
  416. package/dist/ui/AutocompletePopup.d.ts +0 -23
  417. package/dist/ui/AutocompletePopup.js +0 -17
  418. package/dist/ui/BottomStatusRow.d.ts +0 -10
  419. package/dist/ui/BottomStatusRow.js +0 -9
  420. package/dist/ui/Composer.d.ts +0 -115
  421. package/dist/ui/Composer.js +0 -64
  422. package/dist/ui/GovernancePanel.d.ts +0 -50
  423. package/dist/ui/GovernancePanel.js +0 -77
  424. package/dist/ui/GovernanceRun.d.ts +0 -18
  425. package/dist/ui/GovernanceRun.js +0 -11
  426. package/dist/ui/Header.d.ts +0 -48
  427. package/dist/ui/Header.js +0 -27
  428. package/dist/ui/Logo.d.ts +0 -32
  429. package/dist/ui/Logo.js +0 -65
  430. package/dist/ui/Markdown.d.ts +0 -29
  431. package/dist/ui/Markdown.js +0 -116
  432. package/dist/ui/PromptCaret.d.ts +0 -11
  433. package/dist/ui/PromptCaret.js +0 -31
  434. package/dist/ui/PromptInput.d.ts +0 -192
  435. package/dist/ui/PromptInput.js +0 -689
  436. package/dist/ui/QueuePanel.d.ts +0 -8
  437. package/dist/ui/QueuePanel.js +0 -9
  438. package/dist/ui/QueueStatusRow.d.ts +0 -24
  439. package/dist/ui/QueueStatusRow.js +0 -51
  440. package/dist/ui/ScrollbackShell.d.ts +0 -132
  441. package/dist/ui/ScrollbackShell.js +0 -26
  442. package/dist/ui/SessionOpener.d.ts +0 -30
  443. package/dist/ui/SessionOpener.js +0 -12
  444. package/dist/ui/StatusBar.d.ts +0 -129
  445. package/dist/ui/StatusBar.js +0 -61
  446. package/dist/ui/TeamPanel.d.ts +0 -76
  447. package/dist/ui/TeamPanel.js +0 -103
  448. package/dist/ui/ToastStack.d.ts +0 -8
  449. package/dist/ui/ToastStack.js +0 -31
  450. package/dist/ui/TodoPanel.d.ts +0 -52
  451. package/dist/ui/TodoPanel.js +0 -214
  452. package/dist/ui/Transcript.d.ts +0 -105
  453. package/dist/ui/Transcript.js +0 -251
  454. package/dist/ui/UpdateLine.d.ts +0 -44
  455. package/dist/ui/UpdateLine.js +0 -129
  456. package/dist/ui/activity-phrases.d.ts +0 -33
  457. package/dist/ui/activity-phrases.js +0 -50
  458. package/dist/ui/capabilities.d.ts +0 -27
  459. package/dist/ui/capabilities.js +0 -65
  460. package/dist/ui/clipboard-task.d.ts +0 -29
  461. package/dist/ui/clipboard-task.js +0 -66
  462. package/dist/ui/clipboard.d.ts +0 -31
  463. package/dist/ui/clipboard.js +0 -157
  464. package/dist/ui/color-runtime.d.ts +0 -5
  465. package/dist/ui/color-runtime.js +0 -29
  466. package/dist/ui/composer-input.d.ts +0 -38
  467. package/dist/ui/composer-input.js +0 -79
  468. package/dist/ui/composer-limits.d.ts +0 -30
  469. package/dist/ui/composer-limits.js +0 -45
  470. package/dist/ui/composer-rows.d.ts +0 -73
  471. package/dist/ui/composer-rows.js +0 -129
  472. package/dist/ui/console-bridge.d.ts +0 -19
  473. package/dist/ui/console-bridge.js +0 -52
  474. package/dist/ui/density.d.ts +0 -26
  475. package/dist/ui/density.js +0 -34
  476. package/dist/ui/display-tab.d.ts +0 -51
  477. package/dist/ui/display-tab.js +0 -82
  478. package/dist/ui/editor-navigation.d.ts +0 -55
  479. package/dist/ui/editor-navigation.js +0 -96
  480. package/dist/ui/editor-reducer.d.ts +0 -108
  481. package/dist/ui/editor-reducer.js +0 -187
  482. package/dist/ui/enter-frames.d.ts +0 -47
  483. package/dist/ui/enter-frames.js +0 -117
  484. package/dist/ui/entries/AssistantEntry.d.ts +0 -37
  485. package/dist/ui/entries/AssistantEntry.js +0 -43
  486. package/dist/ui/entries/CompactionCard.d.ts +0 -88
  487. package/dist/ui/entries/CompactionCard.js +0 -222
  488. package/dist/ui/entries/DiffView.d.ts +0 -61
  489. package/dist/ui/entries/DiffView.js +0 -103
  490. package/dist/ui/entries/EntryFrame.d.ts +0 -23
  491. package/dist/ui/entries/EntryFrame.js +0 -6
  492. package/dist/ui/entries/FastCard.d.ts +0 -53
  493. package/dist/ui/entries/FastCard.js +0 -105
  494. package/dist/ui/entries/GovernanceCard.d.ts +0 -30
  495. package/dist/ui/entries/GovernanceCard.js +0 -32
  496. package/dist/ui/entries/InvocationCard.d.ts +0 -20
  497. package/dist/ui/entries/InvocationCard.js +0 -32
  498. package/dist/ui/entries/QueuedEntry.d.ts +0 -27
  499. package/dist/ui/entries/QueuedEntry.js +0 -33
  500. package/dist/ui/entries/RetryCard.d.ts +0 -56
  501. package/dist/ui/entries/RetryCard.js +0 -60
  502. package/dist/ui/entries/ServiceCard.d.ts +0 -82
  503. package/dist/ui/entries/ServiceCard.js +0 -151
  504. package/dist/ui/entries/TeamCard.d.ts +0 -55
  505. package/dist/ui/entries/TeamCard.js +0 -94
  506. package/dist/ui/entries/TodoCard.d.ts +0 -54
  507. package/dist/ui/entries/TodoCard.js +0 -98
  508. package/dist/ui/entries/ToolCard.d.ts +0 -81
  509. package/dist/ui/entries/ToolCard.js +0 -160
  510. package/dist/ui/entries/ToolPreview.d.ts +0 -59
  511. package/dist/ui/entries/ToolPreview.js +0 -208
  512. package/dist/ui/entries/UserEntry.d.ts +0 -36
  513. package/dist/ui/entries/UserEntry.js +0 -57
  514. package/dist/ui/exit-snapshot.d.ts +0 -43
  515. package/dist/ui/exit-snapshot.js +0 -26
  516. package/dist/ui/frame-differ.d.ts +0 -166
  517. package/dist/ui/frame-differ.js +0 -354
  518. package/dist/ui/frame-observer.d.ts +0 -17
  519. package/dist/ui/frame-observer.js +0 -94
  520. package/dist/ui/frame-parser.d.ts +0 -7
  521. package/dist/ui/frame-parser.js +0 -18
  522. package/dist/ui/gauge.d.ts +0 -39
  523. package/dist/ui/gauge.js +0 -55
  524. package/dist/ui/glyphs.d.ts +0 -178
  525. package/dist/ui/glyphs.js +0 -165
  526. package/dist/ui/governance-copy.d.ts +0 -69
  527. package/dist/ui/governance-copy.js +0 -104
  528. package/dist/ui/governance-status.d.ts +0 -145
  529. package/dist/ui/governance-status.js +0 -326
  530. package/dist/ui/gradient.d.ts +0 -11
  531. package/dist/ui/gradient.js +0 -50
  532. package/dist/ui/ink-runtime.d.ts +0 -4
  533. package/dist/ui/ink-runtime.js +0 -51
  534. package/dist/ui/interaction-copy.d.ts +0 -82
  535. package/dist/ui/interaction-copy.js +0 -38
  536. package/dist/ui/interaction-hints.d.ts +0 -44
  537. package/dist/ui/interaction-hints.js +0 -97
  538. package/dist/ui/layout/AppShell.d.ts +0 -17
  539. package/dist/ui/layout/AppShell.js +0 -6
  540. package/dist/ui/layout/Gutter.d.ts +0 -67
  541. package/dist/ui/layout/Gutter.js +0 -42
  542. package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
  543. package/dist/ui/layout/MeasuredEntry.js +0 -30
  544. package/dist/ui/layout/OverlayFrame.d.ts +0 -73
  545. package/dist/ui/layout/OverlayFrame.js +0 -110
  546. package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
  547. package/dist/ui/layout/ScrollIndicator.js +0 -22
  548. package/dist/ui/layout/ScrollViewport.d.ts +0 -40
  549. package/dist/ui/layout/ScrollViewport.js +0 -222
  550. package/dist/ui/layout/agents-board.d.ts +0 -102
  551. package/dist/ui/layout/agents-board.js +0 -389
  552. package/dist/ui/layout/autocomplete.d.ts +0 -18
  553. package/dist/ui/layout/autocomplete.js +0 -26
  554. package/dist/ui/layout/budget.d.ts +0 -43
  555. package/dist/ui/layout/budget.js +0 -52
  556. package/dist/ui/layout/cells.d.ts +0 -61
  557. package/dist/ui/layout/cells.js +0 -156
  558. package/dist/ui/layout/document-layout.d.ts +0 -13
  559. package/dist/ui/layout/document-layout.js +0 -10
  560. package/dist/ui/layout/follow-state.d.ts +0 -138
  561. package/dist/ui/layout/follow-state.js +0 -148
  562. package/dist/ui/layout/frame.d.ts +0 -36
  563. package/dist/ui/layout/frame.js +0 -39
  564. package/dist/ui/layout/governance-board.d.ts +0 -121
  565. package/dist/ui/layout/governance-board.js +0 -382
  566. package/dist/ui/layout/governance-card.d.ts +0 -53
  567. package/dist/ui/layout/governance-card.js +0 -134
  568. package/dist/ui/layout/governance-chip.d.ts +0 -38
  569. package/dist/ui/layout/governance-chip.js +0 -64
  570. package/dist/ui/layout/governance-panel.d.ts +0 -85
  571. package/dist/ui/layout/governance-panel.js +0 -358
  572. package/dist/ui/layout/governance-roster.d.ts +0 -65
  573. package/dist/ui/layout/governance-roster.js +0 -275
  574. package/dist/ui/layout/header-hints.d.ts +0 -90
  575. package/dist/ui/layout/header-hints.js +0 -110
  576. package/dist/ui/layout/header-left.d.ts +0 -115
  577. package/dist/ui/layout/header-left.js +0 -206
  578. package/dist/ui/layout/invocation-card.d.ts +0 -41
  579. package/dist/ui/layout/invocation-card.js +0 -91
  580. package/dist/ui/layout/kit-chip.d.ts +0 -50
  581. package/dist/ui/layout/kit-chip.js +0 -81
  582. package/dist/ui/layout/overlay-window.d.ts +0 -43
  583. package/dist/ui/layout/overlay-window.js +0 -51
  584. package/dist/ui/layout/queue-layout.d.ts +0 -19
  585. package/dist/ui/layout/queue-layout.js +0 -26
  586. package/dist/ui/layout/rail.d.ts +0 -7
  587. package/dist/ui/layout/rail.js +0 -16
  588. package/dist/ui/layout/scroll-indicator.d.ts +0 -27
  589. package/dist/ui/layout/scroll-indicator.js +0 -36
  590. package/dist/ui/layout/scroll.d.ts +0 -37
  591. package/dist/ui/layout/scroll.js +0 -99
  592. package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
  593. package/dist/ui/layout/scrollbar-geometry.js +0 -13
  594. package/dist/ui/layout/session-chip.d.ts +0 -52
  595. package/dist/ui/layout/session-chip.js +0 -64
  596. package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
  597. package/dist/ui/layout/shortcut-panel-layout.js +0 -321
  598. package/dist/ui/layout/status-detail-layout.d.ts +0 -9
  599. package/dist/ui/layout/status-detail-layout.js +0 -79
  600. package/dist/ui/layout/status-layout.d.ts +0 -139
  601. package/dist/ui/layout/status-layout.js +0 -253
  602. package/dist/ui/layout/task-summary-cell.d.ts +0 -61
  603. package/dist/ui/layout/task-summary-cell.js +0 -65
  604. package/dist/ui/layout/team-panel.d.ts +0 -18
  605. package/dist/ui/layout/team-panel.js +0 -25
  606. package/dist/ui/layout/team-row.d.ts +0 -139
  607. package/dist/ui/layout/team-row.js +0 -246
  608. package/dist/ui/layout/todo-layout.d.ts +0 -62
  609. package/dist/ui/layout/todo-layout.js +0 -102
  610. package/dist/ui/layout/useTerminalSize.d.ts +0 -13
  611. package/dist/ui/layout/useTerminalSize.js +0 -50
  612. package/dist/ui/layout/viewport-geometry.d.ts +0 -29
  613. package/dist/ui/layout/viewport-geometry.js +0 -28
  614. package/dist/ui/layout/virtual-window.d.ts +0 -112
  615. package/dist/ui/layout/virtual-window.js +0 -488
  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 -61
  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 -118
  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
package/CHANGELOG.md CHANGED
@@ -7,7 +7,35 @@ were written.
7
7
 
8
8
  ## Unreleased
9
9
 
10
+ ### Changed
11
+ - **Internal: the terminal interface moved to its own package, `@aragon-agent/tui`.** The Ink
12
+ components, terminal input handling, the scrollback renderer and the view model that `aragon`
13
+ draws from are no longer part of this package's source; they are published as
14
+ `@aragon-agent/tui`, which this package depends on at an exact version. **Nothing you can see or
15
+ type changed**: no command, flag, key, config key, file format, colour or layout differs, and
16
+ `aragon info` / `aragon doctor` print the same fields. Installing `@aragon-agent/cli` installs the
17
+ new package for you; `npx @aragon-agent/cli` and the self-updater need no change. One new
18
+ runtime download (`@aragon-agent/tui`) accompanies this release, and the three packages
19
+ (`core`, `tui`, `cli`) are now released together, in that order. If you import this package's
20
+ internals (they were never a supported API), imports of the moved modules must now name
21
+ `@aragon-agent/tui/<subpath>` instead.
22
+
10
23
  ### Added
24
+ - **Long waits: `job_wait` now waits up to 20 minutes, and the wait looks like it.**
25
+ `timeoutSeconds` takes any integer from 5 to 1200 (it used to stop at 60, and at 150 with the
26
+ default `toolTimeoutMs`, because the tool ceiling silently pulled it down). `job_wait` gets its own
27
+ executor ceiling (1230 s) and pauses the idle watchdog for the whole wait, so `toolTimeoutMs` no
28
+ longer limits it and `jobs.waitSeconds` accepts 5-1200. **Typing a message ends the wait at once**
29
+ (result line `[woke] ...`, the job keeps running, no `Esc` needed); reviewer notes and completion
30
+ notices do not. While waiting, the tool card is replaced by a fixed five-row card - a progress bar
31
+ (the job's own progress when it prints any, otherwise the wait window), both clocks, the job's
32
+ newest output with "N s ago", a calm "not a failure" note after `jobs.stallSeconds` of silence, and
33
+ a hint that a message ends the wait - and the status bar reads `Waiting on t3 4m12s/10m00s`. New:
34
+ `job: "any"` (return on the first job to end), a `[next]` suggestion with a `timeoutSeconds` (and the
35
+ job's ETA) so the model prefers one long wait to many short ones, and `[note]` when a request is
36
+ clamped to the ceiling. No new config keys; `jobs.enabled=false` is byte-identical to before.
37
+ Honest limit: while a wait runs the idle check is off, so a stuck wait is ended by its own 20-minute
38
+ bound, the executor backstop, or you.
11
39
  - **Governance mode - a multi-agent "legion" collaboration posture.** `Shift+Tab` (and `Ctrl+N`)
12
40
  now cycle `BUILD -> PLAN -> GOVERN -> PLAN+GOVERN -> BUILD`; `/gov` goes to any of them
13
41
  directly. In `GOVERN` the main agent becomes an **Orchestrator** that cannot write files or run
package/README.md CHANGED
@@ -57,10 +57,15 @@ aragon
57
57
  npx @aragon-agent/cli
58
58
  ```
59
59
 
60
- > **Release note (R3):** `npx @aragon-agent/cli` resolves `@aragon-agent/core`
61
- > from the npm registry, so `@aragon-agent/core@^0.1.0` must be published first
62
- > (or bundled into the CLI `dist`). During local development inside this
63
- > monorepo, npm workspaces link the local `packages/core` automatically.
60
+ > **Release note (R3):** `npx @aragon-agent/cli` resolves `@aragon-agent/core` and
61
+ > `@aragon-agent/tui` from the npm registry, so both must be published first (the
62
+ > release script publishes `core`, then `tui`, then `cli`). During local development
63
+ > inside this monorepo, npm workspaces link the local `packages/core` and
64
+ > `packages/tui` automatically.
65
+
66
+ The terminal interface itself lives in its own package,
67
+ [`@aragon-agent/tui`](../tui), which this package depends on at an **exact**
68
+ version; you never install it by hand. Installing `@aragon-agent/cli` installs all three.
64
69
 
65
70
  ## Quick start
66
71
 
@@ -2068,13 +2073,60 @@ longer reads "not ready yet, still coming up" for its first minute.
2068
2073
  Two tools manage them:
2069
2074
 
2070
2075
  - `job_wait({ job, timeoutSeconds?, since? })` — block up to a bound (default 30s,
2071
- at most 60s) and return one status line, one progress line, at most six new
2072
- output rows and a cursor. It returns immediately if the job already finished.
2073
- This is the point of the feature: waiting 30 seconds used to cost six
2074
- `bash_output` calls, six model turns and six 200-row tails; it now costs one
2075
- call and about 150 tokens.
2076
+ **at most 20 minutes**: `timeoutSeconds` takes any integer from 5 to 1200) and
2077
+ return one status line, one progress line, at most six new output rows and a
2078
+ cursor. It returns immediately if the job already finished, and it also ends
2079
+ the moment **you send a message** (see below). `job` is an id, `"all"` (until
2080
+ every live job ends) or `"any"` (until the first one ends). This is the point
2081
+ of the feature: waiting 30 seconds used to cost six `bash_output` calls, six
2082
+ model turns and six 200-row tails; it now costs one call and about 150 tokens,
2083
+ and a 40-minute training run costs a handful of calls instead of dozens.
2076
2084
  - `job_list()` — one line per job: id, kind, status, elapsed, progress.
2077
2085
 
2086
+ ### Long waits
2087
+
2088
+ A wait can now last up to 20 minutes, so three things keep it safe and visible:
2089
+
2090
+ - **You can always interrupt it by typing.** Send a message while the agent is
2091
+ waiting and the wait ends at once; the result says `[woke] you sent a message...`,
2092
+ your message is delivered next, and the job keeps running. You do not need
2093
+ `Esc`, which would stop the whole run. (Automatic notes, such as a reviewer's
2094
+ or a completion notice, do not end a wait. If the agent had queued more tool
2095
+ calls in the same step, the engine skips them when your message arrives, as it
2096
+ does for any message sent mid-step.)
2097
+ - **The wait is drawn as a five-row card** instead of a bare "running":
2098
+
2099
+ ```
2100
+ ⠹ Waiting for t3 python train.py --epochs 10 4m12s of 10m00s
2101
+ │ ████████░░░░░░░░░░░░░░░░░░░░ 30% epoch 3/10 ETA 13m
2102
+ │ job running 42m04s · this wait ends in 5m48s, or sooner if the job finishes
2103
+ │ step 912/1000 loss 0.4098 3s ago
2104
+ │ Send a message to end the wait early · Esc x2 stops the whole run
2105
+ ```
2106
+
2107
+ The bar shows the job's own progress when it prints any, and otherwise the
2108
+ wait window itself (the words say which). After `jobs.stallSeconds` of silence
2109
+ the output row becomes a calm
2110
+ `quiet for 6m02s - the job is still alive; this is not a failure`. The status
2111
+ bar and activity line carry the same clock (`Waiting on t3 4m12s/10m00s`).
2112
+ The card is always five rows, uses ASCII glyphs on terminals without Unicode,
2113
+ and keeps its numbers moving under reduced motion. It disappears when the wait
2114
+ ends and leaves the usual one-line history row.
2115
+ - **The idle watchdog is paused for the length of the wait**, and `toolTimeoutMs`
2116
+ no longer limits it: `job_wait` gets its own executor ceiling (20 minutes plus
2117
+ 30 seconds). The honest cost is that a wait which is itself stuck is only
2118
+ caught by that ceiling and by you (`Esc x2`), not by the 3.5-minute idle check.
2119
+
2120
+ Results suggest the next wait: when the job reports an ETA or has been running for
2121
+ a while, the `[next]` line carries a `timeoutSeconds` worth using (for example
2122
+ `timeoutSeconds: 900 ... (ETA about 13m)`) so the agent prefers one long wait to
2123
+ many short ones. It is advice, never enforced. A request over 1200 seconds is
2124
+ clamped and says so (`[note] timeoutSeconds 3600 exceeds the 1200s ceiling`).
2125
+
2126
+ Cost note: a wait longer than your provider's prompt-cache lifetime (often five
2127
+ minutes) means the next request re-reads the context uncached. That is still far
2128
+ cheaper than the dozens of model turns short polling would have spent.
2129
+
2078
2130
  Nothing else tells the model a job finished. When one ends while it is busy, a
2079
2131
  `<job_notices>` block appears at the end of the next tool result:
2080
2132
 
@@ -2114,7 +2166,7 @@ to use it — `grep` and `read_file` already exist.
2114
2166
  | Key | Default | Meaning |
2115
2167
  |---|---|---|
2116
2168
  | `jobs.enabled` | `true` | Register `job_wait`/`job_list`, splice the prompt block. `false` restores the pre-feature build byte for byte. |
2117
- | `jobs.waitSeconds` | `30` | Default bound for one wait, 5–60. Also lowered automatically so a wait always fits inside the tool ceiling. |
2169
+ | `jobs.waitSeconds` | `30` | Default bound for one wait, 5–1200. No longer lowered by `toolTimeoutMs`. |
2118
2170
  | `jobs.stallSeconds` | `300` | Silence before `[stalled]`, 30–3600. |
2119
2171
  | `jobs.persistLog` | `true` | Mirror each job's output to disk. `false` creates no directory at all. |
2120
2172
  | `jobs.noticeSteer` | `true` | Whether a completion notice may interrupt a running turn. `false` keeps the notice for the next tool result or the next user turn — it is **not** a notification off switch. |
@@ -3686,11 +3738,27 @@ merge. Raise both `--tool-timeout` / `--idle-timeout` for genuinely long jobs.
3686
3738
  ## Development
3687
3739
 
3688
3740
  ```bash
3689
- npm run build -w packages/cli # tsc + shebang → dist/cli.js
3690
- npm test -w packages/cli # vitest
3741
+ npm run build -w packages/cli # tsc + shebang → dist/cli.js (builds core and tui first via the root: npm run build)
3742
+ npm test -w packages/cli # vitest (rebuilds a stale core / tui first)
3691
3743
  node packages/cli/dist/cli.js --version
3692
3744
  ```
3693
3745
 
3746
+ ### Project structure
3747
+
3748
+ This package is the session container and the executable; the terminal runtime is
3749
+ [`@aragon-agent/tui`](../tui).
3750
+
3751
+ | Here (`packages/cli/src`) | In `@aragon-agent/tui` |
3752
+ | --- | --- |
3753
+ | `cli.tsx`, `launcher.ts`, `boot/` — the `aragon` binary and its boot guard | `ui/` — Ink components, layout, scrollback, selection, frame differ, overlays, theme |
3754
+ | `app/` — `App.tsx`, the startup notices hook and the session bridge: the one place that wires a live agent to the screen | `input/` — stdin filter, keyboard / mouse / paste protocols |
3755
+ | `agent/` (controller, headless), `commands/`, `config/` (load / store), `session/`, `skills/`, `team/`, `governance/engine`, `exec/`, `tools/`, `update/`, `logging/` | `model/` — the view model (`Entry`, `ViewState`, the reducer) and the pure helpers it draws on (`config/schema`, `todo/`, `team/` row models, `tools/patch`, `update/semver`, ...) |
3756
+
3757
+ Some directory names exist in both (`team/`, `todo/`, `config/`): the CLI side is the runtime,
3758
+ the TUI side (`model/<dir>`) is its representation on screen. A CLI module imports a TUI one
3759
+ as `@aragon-agent/tui/<subpath>` — no file extension, never a relative path. Rules and the
3760
+ checks that enforce them: `CLAUDE.md` ("Package layering") and `npm run verify:layering`.
3761
+
3694
3762
  ### Manual smoke checklist
3695
3763
 
3696
3764
  - `npm run build -w packages/cli` produces an executable `dist/cli.js` with a
@@ -16,12 +16,16 @@
16
16
  * concatenating, and a differing id starts a new pending action because merging
17
17
  * across ids would paint one command's output onto another's card.
18
18
  *
19
+ * A FOURTH ARRIVED WITH THE LONG WAIT (extended-job-wait RV-6): `waitUpdate`
20
+ * carries the WHOLE view, so it merges exactly like the tool tail - same
21
+ * `toolCallId` keeps the last, a different id or any other action flushes first.
22
+ *
19
23
  * ONE PENDING SLOT, DISCRIMINATED, NEVER TWO (P1-5). A second, independent slot
20
24
  * for the object-shaped payload would let a chunk overtake a token and reorder
21
25
  * the two streams — exactly what I-L4-1 (`ui/render-governor.ts:14-19`) forbids:
22
26
  * "the governor changes only HOW OFTEN the view updates. Never what is
23
27
  * dispatched, never the order."
24
28
  */
25
- import type { ViewAction } from './reducer.js';
29
+ import type { ViewAction } from '@aragon-agent/tui/model/agent/reducer';
26
30
  /** Merge consecutive same-kind deltas; flush on kind change or a non-delta. */
27
31
  export declare function mergeDeltas(actions: ViewAction[]): ViewAction[];
@@ -16,6 +16,10 @@
16
16
  * concatenating, and a differing id starts a new pending action because merging
17
17
  * across ids would paint one command's output onto another's card.
18
18
  *
19
+ * A FOURTH ARRIVED WITH THE LONG WAIT (extended-job-wait RV-6): `waitUpdate`
20
+ * carries the WHOLE view, so it merges exactly like the tool tail - same
21
+ * `toolCallId` keeps the last, a different id or any other action flushes first.
22
+ *
19
23
  * ONE PENDING SLOT, DISCRIMINATED, NEVER TWO (P1-5). A second, independent slot
20
24
  * for the object-shaped payload would let a chunk overtake a token and reorder
21
25
  * the two streams — exactly what I-L4-1 (`ui/render-governor.ts:14-19`) forbids:
@@ -28,6 +32,9 @@ function isTextDelta(action) {
28
32
  function isToolOutputDelta(action) {
29
33
  return action.type === 'toolOutputDelta';
30
34
  }
35
+ function isWaitUpdate(action) {
36
+ return action.type === 'waitUpdate';
37
+ }
31
38
  /** Merge consecutive same-kind deltas; flush on kind change or a non-delta. */
32
39
  export function mergeDeltas(actions) {
33
40
  const out = [];
@@ -70,6 +77,12 @@ export function mergeDeltas(actions) {
70
77
  // increment, so merging means replacing (D-30).
71
78
  pending = { kind: 'tool', action };
72
79
  }
80
+ else if (isWaitUpdate(action)) {
81
+ const merges = prev !== null && prev.kind === 'wait' && prev.action.toolCallId === action.toolCallId;
82
+ if (!merges)
83
+ flush();
84
+ pending = { kind: 'wait', action };
85
+ }
73
86
  else {
74
87
  flush();
75
88
  out.push(action);
@@ -1,6 +1,6 @@
1
1
  import { type ModelSettingsSnapshot } from './model-profile-settings.js';
2
- import { type ActiveKit } from '../config/kit-resolution.js';
3
- import type { KitApplyResult } from '../config/model-kits.js';
2
+ import { type ActiveKit } from '@aragon-agent/tui/model/config/kit-resolution';
3
+ import type { KitApplyResult } from '@aragon-agent/tui/model/config/model-kits';
4
4
  import type { ModelSettingsDraft, ModelSettingsPatch, ModelSettingsSaveResult } from '../config/model-profile-store.js';
5
5
  import { type CompactionIdentity } from '../compaction/memory-identity.js';
6
6
  /**
@@ -15,38 +15,39 @@ import { type CompactionIdentity } from '../compaction/memory-identity.js';
15
15
  */
16
16
  import type { PromptOptions, PromptOutcome } from './prompt-options.js';
17
17
  import { ModelRegistry, type AgentEvent, type AgentTool, type Message, type ModelInfo, type ModelRef, type ProviderRegistry, type ThinkingLevel } from '@aragon-agent/core';
18
- import type { CliConfig, CompactionConfig, FastConfig, RetryConfig, TeamConfig, ThemeName, TodoConfig } from '../config/schema.js';
19
- import type { ModelRole } from '../config/model-profiles.js';
18
+ import type { CliConfig, CompactionConfig, FastConfig, RetryConfig, TeamConfig, ThemeName, TodoConfig } from '@aragon-agent/tui/model/config/schema';
19
+ import type { ModelRole } from '@aragon-agent/tui/model/config/model-profiles';
20
20
  import { ModelWindows } from '../config/model-windows.js';
21
21
  import { type ConfirmRequest } from '../tools/index.js';
22
22
  import type { ToolGate } from '../tools/tool-gate.js';
23
23
  import type { ToolHookRunner } from '../exec/hooks/tool-wrapper.js';
24
24
  import type { ToolPermission } from '../exec/permission.js';
25
- import { type ToolOutputListener } from '../tools/tool-output-store.js';
26
- import type { FilePatch } from '../tools/patch.js';
27
- import type { SubagentModelResolution } from '../team/model.js';
25
+ import { type ToolOutputListener } from '@aragon-agent/tui/model/tools/tool-output-store';
26
+ import type { FilePatch } from '@aragon-agent/tui/model/tools/patch';
27
+ import type { SubagentModelResolution } from '@aragon-agent/tui/model/team/model';
28
28
  import type { ForcedTeamState } from '../team/forced-mode.js';
29
- import type { TeamEvent, TeamSnapshot } from '../team/types.js';
29
+ import type { TeamEvent, TeamSnapshot } from '@aragon-agent/tui/model/team/types';
30
30
  import { ProcSupervisor } from '../proc/supervisor.js';
31
- import type { ProcEventListener, ServiceSnapshot } from '../proc/types.js';
31
+ import type { WaitEvent } from '@aragon-agent/tui/model/proc/wait-view';
32
+ import type { ProcEventListener, ServiceSnapshot } from '@aragon-agent/tui/model/proc/types';
32
33
  import { type FastStatus } from '../fast/wiring.js';
33
- import type { FastEventListener, FastSnapshot } from '../fast/types.js';
34
- import type { TaskSummaryOutcome } from '../fast/task-summary-types.js';
35
- import { ContextMeter, type ContextUsageListener } from '../compaction/meter.js';
36
- import type { CompactionEventListener, CompactionSnapshot, ContextUsageSnapshot } from '../compaction/types.js';
37
- import type { AcceptanceItem, TodoEventListener, TodoSnapshot } from '../todo/types.js';
34
+ import type { FastEventListener, FastSnapshot } from '@aragon-agent/tui/model/fast/types';
35
+ import type { TaskSummaryOutcome } from '@aragon-agent/tui/model/fast/task-summary-types';
36
+ import { ContextMeter, type ContextUsageListener } from '@aragon-agent/tui/model/compaction/meter';
37
+ import type { CompactionEventListener, CompactionSnapshot, ContextUsageSnapshot } from '@aragon-agent/tui/model/compaction/types';
38
+ import type { AcceptanceItem, TodoEventListener, TodoSnapshot } from '@aragon-agent/tui/model/todo/types';
38
39
  import { GovernanceWiring } from './governance-wiring.js';
39
- import { type GovernanceConfig } from '../config/governance-config.js';
40
- import { type Posture } from '../governance/posture.js';
40
+ import { type GovernanceConfig } from '@aragon-agent/tui/model/config/governance-config';
41
+ import { type Posture } from '@aragon-agent/tui/model/governance/posture';
41
42
  import type { GovernanceAvailability } from '../governance/copy.js';
42
43
  import type { PauseOutcome } from '../governance/engine/pause.js';
43
- import type { GovernanceEventListener, GovernanceSnapshot } from '../governance/types.js';
44
- import { type HumanInputGate } from '../tools/human-input.js';
44
+ import type { GovernanceEventListener, GovernanceSnapshot } from '@aragon-agent/tui/model/governance/types';
45
+ import { type HumanInputGate } from '@aragon-agent/tui/model/tools/human-input';
45
46
  import { SkillService, type ApprovalGate } from '../skills/service.js';
46
47
  import type { SkillRoutingReport } from '../skills/triage.js';
47
48
  import { type ConversationResetOptions, type ConversationResetResult } from './conversation-reset.js';
48
- import type { AgentMode } from './agent-mode.js';
49
- import type { NoticeLevel } from './reducer.js';
49
+ import type { AgentMode } from '@aragon-agent/tui/model/agent/agent-mode';
50
+ import type { NoticeLevel } from '@aragon-agent/tui/model/agent/reducer';
50
51
  /** Approval gate used whenever there is provably no human to ask (headless). */
51
52
  export declare const DENY_ALL_APPROVAL: ApprovalGate;
52
53
  export interface ControllerDeps {
@@ -350,6 +351,10 @@ export declare class AgentController {
350
351
  */
351
352
  private readonly toolOutputs;
352
353
  private readonly outputListeners;
354
+ /** `job_wait` live-view listeners (extended-job-wait); see `subscribeWait`. */
355
+ private readonly waitListeners;
356
+ /** "The user just spoke": ends a running `job_wait` early. */
357
+ private readonly userAttention;
353
358
  private readonly fast;
354
359
  private readonly compaction;
355
360
  private settingsRevision;
@@ -768,6 +773,12 @@ export declare class AgentController {
768
773
  * rather than a counter, so a nested call's `finally` re-arms the watchdog
769
774
  * while the outer wait is still going. That is why a child's `--confirm`
770
775
  * dialog does NOT route through this (see the constructor's `humanQueue`).
776
+ *
777
+ * `job_wait` ALSO DEPENDS ON THAT (extended-job-wait I-3): it holds the pause for
778
+ * up to 20 minutes and is safe only because the engine runs a batch's tools
779
+ * one at a time. If tool execution ever becomes parallel, make this a COUNTER
780
+ * first - otherwise the first tool to finish re-arms the watchdog under a
781
+ * still-waiting sibling, which then kills the run at the idle timeout.
771
782
  */
772
783
  withPausedWatchdog<T>(fn: () => Promise<T>): Promise<T>;
773
784
  /** @see withPausedWatchdog — the name the plan tools and `--confirm` use. */
@@ -1026,6 +1037,16 @@ export declare class AgentController {
1026
1037
  * `warn` because a listener that throws once throws on every chunk.
1027
1038
  */
1028
1039
  private emitToolOutput;
1040
+ /**
1041
+ * Subscribe to `job_wait`'s live view (`begin` / 1 Hz `update` / `end`).
1042
+ *
1043
+ * NOT GATED ON `liveToolOutput` (extended-job-wait D-9): that switch bounds a
1044
+ * high-frequency byte stream; this channel is capped at 1 Hz, and switching it
1045
+ * off would bring back the 20-minute black box.
1046
+ */
1047
+ subscribeWait(listener: (event: WaitEvent) => void): () => void;
1048
+ /** Fan out one wait event; a throwing listener is logged and skipped (I-6). */
1049
+ private emitWait;
1029
1050
  /**
1030
1051
  * Subscribe to the CLI-local live tool-output stream (§3.1.3).
1031
1052
  *
@@ -1,25 +1,25 @@
1
1
  import { createModelSettingsDraft, previewModelSettings, saveModelSettings, reloadModelSettings, } from './model-profile-settings.js';
2
2
  import { applySessionKit as applySessionKitPort, clearSessionKit as clearSessionKitPort } from './kit-apply.js';
3
- import { resolveActiveKit } from '../config/kit-resolution.js';
3
+ import { resolveActiveKit } from '@aragon-agent/tui/model/config/kit-resolution';
4
4
  import { randomUUID } from 'node:crypto';
5
5
  import { join } from 'node:path';
6
6
  import { verifyCompactionIdentity } from '../compaction/memory-identity.js';
7
- import { COMPACTION_LIMITS } from '../compaction/limits.js';
7
+ import { COMPACTION_LIMITS } from '@aragon-agent/tui/model/compaction/limits';
8
8
  import { Agent, initProviders, ModelRegistry, } from '@aragon-agent/core';
9
- import { clampCompactionConfig, clampFastConfig, clampRetryConfig, clampTeamConfig, clampTodoConfig, isAdapterProvider, toRetryPolicy, } from '../config/schema.js';
10
- import { resolveModelProfileState } from '../config/model-profile-resolution.js';
9
+ import { clampCompactionConfig, clampFastConfig, clampRetryConfig, clampTeamConfig, clampTodoConfig, isAdapterProvider, toRetryPolicy, } from '@aragon-agent/tui/model/config/schema';
10
+ import { resolveModelProfileState } from '@aragon-agent/tui/model/config/model-profile-resolution';
11
11
  import { makeGetApiKey } from '../config/load.js';
12
12
  import { updatePersistedConfig } from '../config/store.js';
13
13
  import { ModelWindows } from '../config/model-windows.js';
14
14
  import { createBuiltinTools, gatedToolTimeouts, } from '../tools/index.js';
15
15
  import { createFileChangeStore } from '../tools/file-change-store.js';
16
- import { createToolOutputStore, } from '../tools/tool-output-store.js';
16
+ import { createToolOutputStore, } from '@aragon-agent/tui/model/tools/tool-output-store';
17
17
  import { TeamRuntime } from '../team/runtime.js';
18
18
  import { createChildReviewer } from '../team/child-reviewer.js';
19
19
  import { TeamHumanQueue } from '../team/human-queue.js';
20
20
  import { createFastOverseerProvider } from '../team/overseer.js';
21
21
  import { createTaskTool } from '../team/task-tool.js';
22
- import { resolveSubagentModel } from '../team/model.js';
22
+ import { resolveSubagentModel } from '@aragon-agent/tui/model/team/model';
23
23
  import { buildTeamBlock } from '../team/prompt.js';
24
24
  // THE THIRD LAYER's prompt half (team-command-forced-dispatch §3.6): spliced
25
25
  // after `<team_mode>` and before the subagent block, only while armed.
@@ -27,7 +27,8 @@ import { buildForcedTeamBlock } from '../team/forced-prompt.js';
27
27
  import { buildFastBlock } from '../fast/prompt.js';
28
28
  import { ProcSupervisor } from '../proc/supervisor.js';
29
29
  import { buildBackgroundJobsBlock, buildBackgroundServicesBlock } from '../proc/prompt.js';
30
- import { PROC_LIMITS } from '../proc/limits.js';
30
+ import { JOB_WAIT_TOOL_CEILING_MS, PROC_LIMITS } from '@aragon-agent/tui/model/proc/limits';
31
+ import { createUserAttention } from './user-attention.js';
31
32
  import { JobLogMirror } from '../proc/log-mirror.js';
32
33
  import { JobNoticeQueue } from '../proc/notices.js';
33
34
  import { makeBashKill, makeBashOutput } from '../tools/proc-tools.js';
@@ -35,7 +36,7 @@ import { makeJobList, makeJobWait } from '../tools/job-tools.js';
35
36
  import { JobNoticeRelay } from './job-notices.js';
36
37
  import { getHomeRoot } from '../config/app-paths.js';
37
38
  import { addSignalHook } from '../logging/install.js';
38
- import { describeFastTierProblem, fastProviderOf, resolveFastTier } from '../fast/resolve.js';
39
+ import { describeFastTierProblem, fastProviderOf, resolveFastTier } from '@aragon-agent/tui/model/fast/resolve';
39
40
  import { FastWiring, offFastStatus } from '../fast/wiring.js';
40
41
  // ONE-SHOT FAST CALLS (tui-shortcut-drawer-and-task-summary §6.1). The TYPES come
41
42
  // from `fast/task-summary-types.ts` and only `fast/` produces them, so this module
@@ -43,18 +44,18 @@ import { FastWiring, offFastStatus } from '../fast/wiring.js';
43
44
  // is the pair `runTaskSummaryCall` is forbidden to own (see its header).
44
45
  import { createTaskSummaryDeps, runTaskSummaryCall } from '../fast/summary-call.js';
45
46
  import { CompactionWiring, offCompactionSnapshot } from '../compaction/wiring.js';
46
- import { ContextMeter } from '../compaction/meter.js';
47
+ import { ContextMeter } from '@aragon-agent/tui/model/compaction/meter';
47
48
  import { TodoStore } from '../todo/store.js';
48
49
  import { createTodoTool } from '../todo/todo-tool.js';
49
50
  import { buildTodoBlock } from '../todo/prompt.js';
50
51
  import { createPlanTools } from '../tools/plan-tools.js';
51
52
  import { GovernanceWiring } from './governance-wiring.js';
52
- import { clampGovernanceConfig } from '../config/governance-config.js';
53
+ import { clampGovernanceConfig } from '@aragon-agent/tui/model/config/governance-config';
53
54
  import { decidePostureTransition } from '../governance/posture-transition.js';
54
- import { composePosture, splitPosture } from '../governance/posture.js';
55
+ import { composePosture, splitPosture } from '@aragon-agent/tui/model/governance/posture';
55
56
  import { APPROVED_GOVERN_RESULT } from '../governance/prompts/refusals.js';
56
- import { GOV_LEAD_TOOL_NAMES } from '../governance/limits.js';
57
- import { ASK_GUARD_LIMITS, DENY_ALL_HUMAN_INPUT, questionFingerprint, } from '../tools/human-input.js';
57
+ import { GOV_LEAD_TOOL_NAMES } from '@aragon-agent/tui/model/governance/limits';
58
+ import { ASK_GUARD_LIMITS, DENY_ALL_HUMAN_INPUT, questionFingerprint, } from '@aragon-agent/tui/model/tools/human-input';
58
59
  import { getLogger } from '../logging/logger.js';
59
60
  import { createNodeSkillHost } from '../skills/node-host.js';
60
61
  import { SkillService } from '../skills/service.js';
@@ -261,6 +262,10 @@ export class AgentController {
261
262
  */
262
263
  toolOutputs;
263
264
  outputListeners = new Set();
265
+ /** `job_wait` live-view listeners (extended-job-wait); see `subscribeWait`. */
266
+ waitListeners = new Set();
267
+ /** "The user just spoke": ends a running `job_wait` early. */
268
+ userAttention = createUserAttention();
264
269
  // -----------------------------------------------------------------------
265
270
  // Fast model tier (fast-model-tier §3.1 / §3.3)
266
271
  //
@@ -735,15 +740,19 @@ export class AgentController {
735
740
  supervisor: this.procs,
736
741
  waitSeconds: () => this.config.jobs.waitSeconds,
737
742
  stallSeconds: () => this.config.jobs.stallSeconds,
738
- toolTimeoutMs: () => this.config.toolTimeoutMs,
739
743
  maxConsecutiveWaits: PROC_LIMITS.maxConsecutiveWaits,
740
744
  terminalRecord: (id) => this.jobRelay?.terminalRecord(id),
745
+ // THE THREE LONG-WAIT PORTS (extended-job-wait). `holdWatchdog` wraps the
746
+ // WHOLE wait because tools run one at a time (I-3); `attention` is
747
+ // subscribe-only (RV-1); the view listener never throws back (I-6).
748
+ onWait: (event) => this.emitWait(event),
749
+ holdWatchdog: (fn) => this.withPausedWatchdog(fn),
750
+ attention: { subscribe: (listener) => this.userAttention.subscribe(listener) },
741
751
  }),
742
752
  makeJobList({
743
753
  supervisor: this.procs,
744
754
  waitSeconds: () => this.config.jobs.waitSeconds,
745
755
  stallSeconds: () => this.config.jobs.stallSeconds,
746
- toolTimeoutMs: () => this.config.toolTimeoutMs,
747
756
  maxConsecutiveWaits: PROC_LIMITS.maxConsecutiveWaits,
748
757
  terminalRecord: (id) => this.jobRelay?.terminalRecord(id),
749
758
  }),
@@ -961,6 +970,13 @@ export class AgentController {
961
970
  // outlived a mid-session `Settings > Team` switch to the supervisor
962
971
  // and killed the dispatch the supervisor was meant to look after.
963
972
  ...(this.teamRegistered ? { task: 0 } : {}),
973
+ // THE EXECUTOR'S OWN CLOCK FOR A LONG WAIT (extended-job-wait I-2 / I-4').
974
+ // Without it `job_wait` falls onto `toolTimeoutMs` (180 s) and a 20-minute
975
+ // wait dies at three; with `0` the wait would have no independent backstop
976
+ // while the watchdog is paused. A finite value derived from the one
977
+ // authority, `PROC_LIMITS.waitMaxSeconds`, is both. `jobsRegistered` is
978
+ // assigned in the constructor before this table is built.
979
+ ...(this.jobsRegistered ? { job_wait: JOB_WAIT_TOOL_CEILING_MS } : {}),
964
980
  // P0 (governance-mode D-21 / RV-0): `gov_dispatch` runs a whole governed stage,
965
981
  // routinely longer than `toolTimeoutMs`, and it listens to `ctx.signal` (it hands
966
982
  // it to `TeamRuntime.dispatch`), which is what makes `0` safe. Registered in the SAME
@@ -1587,6 +1603,10 @@ export class AgentController {
1587
1603
  this.pendingUserSteering.delete(id);
1588
1604
  throw error;
1589
1605
  }
1606
+ // AFTER a successful steer, and ONLY for user input (I-7): a reviewer or a job
1607
+ // notice must not cut short the wait the user chose.
1608
+ if (user)
1609
+ this.userAttention.notify();
1590
1610
  return id;
1591
1611
  }
1592
1612
  followUp(text) {
@@ -1948,6 +1968,12 @@ export class AgentController {
1948
1968
  * rather than a counter, so a nested call's `finally` re-arms the watchdog
1949
1969
  * while the outer wait is still going. That is why a child's `--confirm`
1950
1970
  * dialog does NOT route through this (see the constructor's `humanQueue`).
1971
+ *
1972
+ * `job_wait` ALSO DEPENDS ON THAT (extended-job-wait I-3): it holds the pause for
1973
+ * up to 20 minutes and is safe only because the engine runs a batch's tools
1974
+ * one at a time. If tool execution ever becomes parallel, make this a COUNTER
1975
+ * first - otherwise the first tool to finish re-arms the watchdog under a
1976
+ * still-waiting sibling, which then kills the run at the idle timeout.
1951
1977
  */
1952
1978
  async withPausedWatchdog(fn) {
1953
1979
  this.agent.pauseIdleWatchdog();
@@ -2501,6 +2527,33 @@ export class AgentController {
2501
2527
  }
2502
2528
  }
2503
2529
  }
2530
+ /**
2531
+ * Subscribe to `job_wait`'s live view (`begin` / 1 Hz `update` / `end`).
2532
+ *
2533
+ * NOT GATED ON `liveToolOutput` (extended-job-wait D-9): that switch bounds a
2534
+ * high-frequency byte stream; this channel is capped at 1 Hz, and switching it
2535
+ * off would bring back the 20-minute black box.
2536
+ */
2537
+ subscribeWait(listener) {
2538
+ this.waitListeners.add(listener);
2539
+ return () => {
2540
+ this.waitListeners.delete(listener);
2541
+ };
2542
+ }
2543
+ /** Fan out one wait event; a throwing listener is logged and skipped (I-6). */
2544
+ emitWait(event) {
2545
+ for (const listener of this.waitListeners) {
2546
+ try {
2547
+ listener(event);
2548
+ }
2549
+ catch (err) {
2550
+ getLogger().debug('tool', 'wait_listener_threw', {
2551
+ toolCallId: event.toolCallId,
2552
+ error: err instanceof Error ? err.message : String(err),
2553
+ });
2554
+ }
2555
+ }
2556
+ }
2504
2557
  /**
2505
2558
  * Subscribe to the CLI-local live tool-output stream (§3.1.3).
2506
2559
  *
@@ -22,7 +22,7 @@
22
22
  * more than the existing `abort()` would be the exact kind of misleading name
23
23
  * this feature exists to remove.
24
24
  */
25
- import type { Entry } from './reducer.js';
25
+ import type { Entry } from '@aragon-agent/tui/model/agent/reducer';
26
26
  /** The minimal host surface a reset needs. Supplied by `AgentController` alone. */
27
27
  export interface ConversationResetPort {
28
28
  /** Whether a run is in flight right now. */
@@ -21,17 +21,17 @@
21
21
  * `doctor` and the key cycle ask.
22
22
  */
23
23
  import type { AgentTool, ModelCost } from '@aragon-agent/core';
24
- import type { CliConfig } from '../config/schema.js';
24
+ import type { CliConfig } from '@aragon-agent/tui/model/config/schema';
25
25
  import { type GovernanceAvailability } from '../governance/copy.js';
26
26
  import type { TeamRuntimeLike } from '../governance/engine/engine-core.js';
27
27
  import type { PauseOutcome } from '../governance/engine/pause.js';
28
- import { type Posture } from '../governance/posture.js';
28
+ import { type Posture } from '@aragon-agent/tui/model/governance/posture';
29
29
  import { type RunReportResult } from '../governance/report-reader.js';
30
30
  import { type IndexEntry } from '../governance/store/run-store.js';
31
- import type { GovernanceEventListener, GovernanceSnapshot, LedgerState, RunState } from '../governance/types.js';
32
- import type { SubagentSpec } from '../team/types.js';
33
- import type { HumanInputGate, NormalizedPlan, NormalizedQuestion } from '../tools/human-input.js';
34
- import type { AgentMode } from './agent-mode.js';
31
+ import type { GovernanceEventListener, GovernanceSnapshot, LedgerState, RunState } from '@aragon-agent/tui/model/governance/types';
32
+ import type { SubagentSpec } from '@aragon-agent/tui/model/team/types';
33
+ import type { HumanInputGate, NormalizedPlan, NormalizedQuestion } from '@aragon-agent/tui/model/tools/human-input';
34
+ import type { AgentMode } from '@aragon-agent/tui/model/agent/agent-mode';
35
35
  export interface WiringDeps {
36
36
  /** `config.team.enabled` at construction: whether `task` (and a TeamRuntime) exist. */
37
37
  teamRegistered: boolean;
@@ -21,14 +21,14 @@
21
21
  * `doctor` and the key cycle ask.
22
22
  */
23
23
  import { join } from 'node:path';
24
- import { clampGovernanceConfig, isGovernanceEnvDisabled, } from '../config/governance-config.js';
24
+ import { clampGovernanceConfig, isGovernanceEnvDisabled, } from '@aragon-agent/tui/model/config/governance-config';
25
25
  import { getGovernanceDir } from '../config/app-paths.js';
26
26
  import { RESTART_REQUIRED_TEXT, unavailableReasonText, } from '../governance/copy.js';
27
27
  import { createGovernanceEngine } from '../governance/engine/engine.js';
28
28
  import { estimateForRun } from '../governance/engine/estimate.js';
29
29
  import { formatDispatchEstimate } from '../governance/copy.js';
30
- import { GOV_CHILD_TOOL_NAMES, GOV_LEAD_TOOL_NAMES, GOV_LIMITS } from '../governance/limits.js';
31
- import { composePosture, isGovernancePosture, POSTURES_CLASSIC, POSTURES_FULL, } from '../governance/posture.js';
30
+ import { GOV_CHILD_TOOL_NAMES, GOV_LEAD_TOOL_NAMES, GOV_LIMITS } from '@aragon-agent/tui/model/governance/limits';
31
+ import { composePosture, isGovernancePosture, POSTURES_CLASSIC, POSTURES_FULL, } from '@aragon-agent/tui/model/governance/posture';
32
32
  import { buildPlanGovernAddendum } from '../governance/prompts/plan-addendum.js';
33
33
  import { buildOrchestratorBlock } from '../governance/prompts/orchestrator-block.js';
34
34
  import { PLAN_INTERVIEW_TOPICS, govAskRoundsRefusal } from '../governance/prompts/refusals.js';
@@ -39,7 +39,7 @@ import { RunStore } from '../governance/store/run-store.js';
39
39
  import { buildChildTools } from '../governance/tools/child-tools.js';
40
40
  import { applyInspectorToolPolicy, withGovernanceReadGuard } from '../governance/tools/guard.js';
41
41
  import { makeGovDispatchTool, makeGovRunTool } from '../governance/tools/lead-tools.js';
42
- import { TEAM_LIMITS } from '../team/limits.js';
42
+ import { TEAM_LIMITS } from '@aragon-agent/tui/model/team/limits';
43
43
  /** Keyword probes that map an answered question onto the fixed interview topics. */
44
44
  const TOPIC_PROBES = [
45
45
  /goal|success|outcome|objective|criteria/i,
@@ -7,11 +7,11 @@
7
7
  import type { PromptOutcome } from './prompt-options.js';
8
8
  import type { AgentEvent, ModelInfo } from '@aragon-agent/core';
9
9
  import type { PreflightResult } from './controller.js';
10
- import type { TeamEvent } from '../team/types.js';
11
- import type { TodoEvent, TodoSnapshot } from '../todo/types.js';
12
- import type { FastEvent } from '../fast/types.js';
13
- import type { CompactionEvent } from '../compaction/types.js';
14
- import { type FollowThroughMode } from '../todo/follow-through.js';
10
+ import type { TeamEvent } from '@aragon-agent/tui/model/team/types';
11
+ import type { TodoEvent, TodoSnapshot } from '@aragon-agent/tui/model/todo/types';
12
+ import type { FastEvent } from '@aragon-agent/tui/model/fast/types';
13
+ import type { CompactionEvent } from '@aragon-agent/tui/model/compaction/types';
14
+ import { type FollowThroughMode } from '@aragon-agent/tui/model/todo/follow-through';
15
15
  /** The minimal controller surface headless mode needs (real or stubbed). */
16
16
  export interface HeadlessController {
17
17
  preflight(): PreflightResult;
@@ -4,11 +4,11 @@
4
4
  * derived from the event stream (R2), not from the resolved promise:
5
5
  * 0 = success, 1 = agent error (incl. a silently-swallowed throw), 2 = config.
6
6
  */
7
- import { formatCost, formatTokens, formatDuration, computeCost } from './usage.js';
8
- import { formatStreamError } from './reducer.js';
7
+ import { formatCost, formatTokens, formatDuration, computeCost } from '@aragon-agent/tui/model/agent/usage';
8
+ import { formatStreamError } from '@aragon-agent/tui/model/agent/reducer';
9
9
  import { runDurationMs } from '../team/report.js';
10
- import { derivePlanPhase } from '../todo/acceptance.js';
11
- import { advanceBudget, decideFollowThrough, emptyBudget, } from '../todo/follow-through.js';
10
+ import { derivePlanPhase } from '@aragon-agent/tui/model/todo/acceptance';
11
+ import { advanceBudget, decideFollowThrough, emptyBudget, } from '@aragon-agent/tui/model/todo/follow-through';
12
12
  /** Run a single prompt headlessly and resolve with the process exit code. */
13
13
  export async function runHeadless(controller, prompt, options = {}) {
14
14
  const out = options.stdout ?? process.stdout;
@@ -28,7 +28,7 @@
28
28
  * re-checks the same condition so a future call site cannot forget it (I-5).
29
29
  */
30
30
  import { type JobNotice, type JobNoticeQueue } from '../proc/notices.js';
31
- import { type JobKind, type ProcEvent, type ServiceStatus } from '../proc/types.js';
31
+ import { type JobKind, type ProcEvent, type ServiceStatus } from '@aragon-agent/tui/model/proc/types';
32
32
  export interface JobNoticeRelayDeps {
33
33
  queue: JobNoticeQueue;
34
34
  /** `enqueueSteering(text, false)` - the existing receipt-less path (§4.6). */
@@ -28,7 +28,7 @@
28
28
  * re-checks the same condition so a future call site cannot forget it (I-5).
29
29
  */
30
30
  import { renderJobNotices } from '../proc/notices.js';
31
- import { isTerminalStatus } from '../proc/types.js';
31
+ import { isTerminalStatus } from '@aragon-agent/tui/model/proc/types';
32
32
  export class JobNoticeRelay {
33
33
  deps;
34
34
  /**