@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
@@ -1,326 +0,0 @@
1
- /**
2
- * Governance status: snapshot -> display derivations (governance-mode section 10.3).
3
- *
4
- * Pure: no Ink, no clock (callers inject `now`), no I/O. ASCII ONLY.
5
- *
6
- * WHAT LIVES HERE AND WHAT DOES NOT. The panel, the chip, the card and the board each
7
- * need the same few JUDGEMENTS - which colour a score label gets, whether a score change
8
- * is still inside its emphasis window, which pipeline step is current, what an agent's
9
- * state looks like to `team-status.ts`. Putting each judgement here once is the same
10
- * discipline `team-status.ts` records: the roster, the card and the chip used to disagree
11
- * about what "running" looked like because nine files each answered it.
12
- *
13
- * COLOUR IS A SEMANTIC KEY, NOT A THEME FIELD. The layout modules emit `Tone` values and
14
- * the components resolve them through `toneColor`, so a layout test never needs a `Theme`
15
- * and a theme change never touches a layout.
16
- */
17
- import { POSTURE_LABEL } from '../governance/posture.js';
18
- import { MODE_LABEL } from '../agent/agent-mode.js';
19
- import { GOV_LIMITS } from '../governance/limits.js';
20
- /**
21
- * A table, not a switch: exhaustive over `Tone` at compile time (a new tone is a
22
- * missing-key error) and flat in complexity however many tones there are.
23
- */
24
- const TONE_COLOR = {
25
- text: (theme) => theme.assistant,
26
- muted: (theme) => theme.muted,
27
- hint: (theme) => theme.hintFg,
28
- border: (theme) => theme.border,
29
- primary: (theme) => theme.primary,
30
- govern: (theme) => theme.governAccent,
31
- ok: (theme) => theme.toolDone,
32
- warn: (theme) => theme.noticeWarn,
33
- error: (theme) => theme.noticeError,
34
- pending: (theme) => theme.toolPending,
35
- running: (theme) => theme.toolRunning,
36
- };
37
- /** Resolve a tone against a theme. The ONLY place a `Tone` becomes a colour. */
38
- export function toneColor(tone, theme) {
39
- return TONE_COLOR[tone](theme);
40
- }
41
- export function segment(text, tone, bold = false) {
42
- return bold ? { text, tone, bold } : { text, tone };
43
- }
44
- // ---------------------------------------------------------------------------
45
- // Agent state -> the team roster's vocabulary
46
- // ---------------------------------------------------------------------------
47
- /**
48
- * A governance agent state, read as a `team-status.ts` `ChildStatus`, so the glyph and
49
- * the colour come from THAT module (`statusGlyph` / `statusMarkerCell`) and not from a
50
- * second table (spec 10.3, "do not make a second copy").
51
- *
52
- * `idle` and `queued` are both "not doing anything yet"; `eliminated` borrows the
53
- * failure reading because the marker for it is the cross and the colour is the error
54
- * colour - the row's TEXT says `replaced by ...`, which is what stops it reading as a
55
- * crash.
56
- */
57
- const STATUS_BY_STATE = {
58
- queued: 'queued',
59
- idle: 'queued',
60
- working: 'running',
61
- submitted: 'done',
62
- failed: 'failed',
63
- eliminated: 'failed',
64
- };
65
- export function govChildStatus(state) {
66
- return STATUS_BY_STATE[state];
67
- }
68
- /**
69
- * The tone that `statusColor(status, theme)` resolves to, as a key. A test pins the pair
70
- * (`toneColor(statusTone(s), theme) === statusColor(s, theme)` for every status and every
71
- * theme) so the two tables cannot drift apart.
72
- */
73
- const TONE_BY_STATUS = {
74
- queued: 'pending',
75
- running: 'running',
76
- done: 'ok',
77
- failed: 'error',
78
- aborted: 'warn',
79
- };
80
- export function statusTone(status) {
81
- return TONE_BY_STATUS[status];
82
- }
83
- export function scoreTone(label) {
84
- switch (label) {
85
- case 'NORMAL':
86
- return 'ok';
87
- case 'WARNING':
88
- return 'warn';
89
- case 'DANGER':
90
- case 'KILLED':
91
- return 'danger';
92
- case 'NOT_SCORED':
93
- return 'muted';
94
- }
95
- }
96
- const TONE_BY_SCORE = {
97
- ok: 'ok',
98
- warn: 'warn',
99
- danger: 'error',
100
- muted: 'muted',
101
- };
102
- export function scoreToneKey(label) {
103
- return TONE_BY_SCORE[scoreTone(label)];
104
- }
105
- /** The short word for a label in the roster's tag column; `NORMAL` says nothing. */
106
- export function labelTag(label) {
107
- switch (label) {
108
- case 'WARNING':
109
- return 'WARN';
110
- case 'DANGER':
111
- return 'DANGER';
112
- case 'KILLED':
113
- return 'KILLED';
114
- case 'NORMAL':
115
- case 'NOT_SCORED':
116
- return '';
117
- }
118
- }
119
- /** Scored agents start here; the gauge is full at this value. */
120
- export const GAUGE_FULL_SCORE = GOV_LIMITS.initialTokens;
121
- export const GAUGE_CELLS = 10;
122
- /**
123
- * Filled cells of the 10-cell score gauge: `round(confirmed / 100 * 10)` clamped to
124
- * [0, 10] (spec 10.3). Non-finite input draws an empty bar rather than throwing - the
125
- * gauge is decoration over a number that is printed beside it.
126
- */
127
- export function gaugeFilledCells(confirmed) {
128
- if (!Number.isFinite(confirmed))
129
- return 0;
130
- const raw = Math.round((confirmed / GAUGE_FULL_SCORE) * GAUGE_CELLS);
131
- return Math.min(GAUGE_CELLS, Math.max(0, raw));
132
- }
133
- /** `115+` when the score is over the starting value, otherwise the plain number. */
134
- export function scoreText(confirmed) {
135
- const rounded = Math.round(confirmed);
136
- return rounded > GAUGE_FULL_SCORE ? `${rounded}+` : String(Math.max(0, rounded));
137
- }
138
- // ---------------------------------------------------------------------------
139
- // Delta emphasis (AC-27)
140
- // ---------------------------------------------------------------------------
141
- /** How long a score change stays emphasised on its row. */
142
- export const DELTA_EMPHASIS_MS = 4000;
143
- const NO_DELTA = { text: '', tone: 'muted', bold: false };
144
- /** Signed delta text; a provisional gain carries the `P` suffix (`+15P`). */
145
- export function signedDeltaText(delta, provisional) {
146
- const sign = delta > 0 ? '+' : delta < 0 ? '-' : '';
147
- return `${sign}${Math.abs(Math.round(delta))}${provisional && delta > 0 ? 'P' : ''}`;
148
- }
149
- /**
150
- * The emphasised delta of a row.
151
- *
152
- * Motion allowed: bold + coloured for `DELTA_EMPHASIS_MS` after the change, then gone.
153
- * Reduced motion: nothing is time-windowed, so nothing flashes - the delta stays, plain,
154
- * until the engine replaces or clears `lastDelta` at the next phase (spec 10.3 "the
155
- * increment text is kept until the next phase"). A zero delta says nothing in either mode.
156
- */
157
- export function deltaCell(row, now, reducedMotion) {
158
- const last = row.lastDelta;
159
- if (last === null || last.delta === 0)
160
- return NO_DELTA;
161
- const tone = last.delta > 0 ? 'ok' : 'error';
162
- const text = signedDeltaText(last.delta, last.provisional);
163
- if (reducedMotion)
164
- return { text, tone, bold: false };
165
- const age = now - last.at;
166
- if (age < 0 || age > DELTA_EMPHASIS_MS)
167
- return NO_DELTA;
168
- return { text, tone, bold: true };
169
- }
170
- /**
171
- * Mount rule (D-17): a running stage -> the full panel (which REPLACES the team roster);
172
- * a live run between stages -> the two-line strip; no run, a closed run or an abandoned
173
- * run -> nothing at all (zero rows, zero layout shift).
174
- */
175
- export function governancePanelMode(snapshot) {
176
- if (snapshot === null)
177
- return 'none';
178
- if (isFinishedRun(snapshot.status))
179
- return 'none';
180
- return snapshot.stageRunning ? 'panel' : 'run-strip';
181
- }
182
- /**
183
- * EXACTLY ONE LIVE ROSTER (D-17 / AC-25). A running governed stage owns the region even
184
- * though the same children are also in `state.team` (the reducer still writes it for
185
- * `/agents`); between stages the two-line strip shows only when no dispatch is live; with
186
- * no live governed run the team roster behaves exactly as it always did.
187
- */
188
- export function liveRosterSurface(snapshot, teamLive) {
189
- const mode = governancePanelMode(snapshot);
190
- if (mode === 'panel')
191
- return 'governance';
192
- if (mode === 'run-strip' && !teamLive)
193
- return 'governance';
194
- return teamLive ? 'team' : 'none';
195
- }
196
- export function isFinishedRun(status) {
197
- return status === 'closed' || status === 'abandoned';
198
- }
199
- /** Agents currently doing something: the minimal tier's "4 working". */
200
- export function workingCount(snapshot) {
201
- return snapshot.roster.filter((row) => row.state === 'working').length;
202
- }
203
- /** Display position in the pipeline: the active step's key, or the stage, or null. */
204
- export function activeStepKey(snapshot) {
205
- const active = snapshot.pipeline.find((step) => step.state === 'active');
206
- if (active !== undefined && active.key !== 'intake')
207
- return active.key;
208
- return snapshot.stage;
209
- }
210
- /** Tokens spent by the governed team (spec 8.5: team tokens, never the session total). */
211
- export function teamTokens(snapshot) {
212
- return snapshot.usage.inputTokens + snapshot.usage.outputTokens;
213
- }
214
- /**
215
- * Budget readout for the chip's `$` hint: 'none' without a budget, 'warn' from 80%,
216
- * 'over' from 100% (spec 8.5). Only budgets > 0 are budgets.
217
- */
218
- export function budgetState(snapshot) {
219
- if (snapshot.budgetTokens <= 0)
220
- return 'none';
221
- const fraction = teamTokens(snapshot) / snapshot.budgetTokens;
222
- if (fraction >= 1)
223
- return 'over';
224
- return fraction >= 0.8 ? 'warn' : 'ok';
225
- }
226
- /** Short run id for the header: the last five alphanumerics, so ids that share a prefix differ. */
227
- export function shortRunId(runId) {
228
- const clean = runId.replace(/[^A-Za-z0-9]/g, '');
229
- return clean.length <= 5 ? clean : clean.slice(clean.length - 5);
230
- }
231
- /**
232
- * Fold a snapshot into the first-seen-eliminated map.
233
- *
234
- * WHY THE PANEL KEEPS THIS ITSELF: `RosterRow` carries no "eliminated in phase N" field,
235
- * and the board still needs the full roster from the same snapshot, so the engine cannot
236
- * simply drop the row. A member that disappears from the map's keys (never happens) or
237
- * that was never seen eliminated is treated as "eliminated now" by `isRetired`. Returns
238
- * the SAME object when nothing changed so React memo / ref comparisons stay cheap.
239
- */
240
- export function trackEliminated(previous, snapshot) {
241
- let next = null;
242
- for (const row of snapshot.roster) {
243
- if (row.state !== 'eliminated' || previous[row.id] !== undefined)
244
- continue;
245
- next ??= { ...previous };
246
- next[row.id] = snapshot.phase;
247
- }
248
- return next ?? previous;
249
- }
250
- /**
251
- * True when an eliminated member's one visible phase is over: it was first seen in an
252
- * earlier phase than the one now displayed.
253
- */
254
- export function isRetired(row, phase, since) {
255
- if (row.state !== 'eliminated')
256
- return false;
257
- const seen = since[row.id];
258
- return seen !== undefined && phase > seen;
259
- }
260
- // ---------------------------------------------------------------------------
261
- // Sorting
262
- // ---------------------------------------------------------------------------
263
- const ROLE_ORDER = { DEV: 0, REV: 1, TEST: 2, INSP: 3 };
264
- /**
265
- * Roster order: DEV -> REV -> TEST -> INSP, active members before eliminated ones, then
266
- * by generation and id so `dev2` precedes its successor `dev2-r1` and the order is total
267
- * (a stable roster does not reshuffle between snapshots).
268
- */
269
- export function sortRoster(roster) {
270
- return [...roster].sort((a, b) => {
271
- const gone = Number(a.state === 'eliminated') - Number(b.state === 'eliminated');
272
- if (gone !== 0)
273
- return gone;
274
- const role = ROLE_ORDER[a.role] - ROLE_ORDER[b.role];
275
- if (role !== 0)
276
- return role;
277
- if (a.generation !== b.generation)
278
- return a.generation - b.generation;
279
- return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
280
- });
281
- }
282
- // ---------------------------------------------------------------------------
283
- // PLAN+GOVERN interview chip
284
- // ---------------------------------------------------------------------------
285
- /**
286
- * `PLAN+GOVERN interview round 2/2+` while rounds are still owed, and `... 2/2 OK` once
287
- * the minimum is met (governance-mode 10.6). The trailing `+` reads "at least this many":
288
- * the model may ask more rounds than the minimum.
289
- */
290
- export function interviewChipText(round, required) {
291
- const answered = Math.max(0, Math.floor(round));
292
- const needed = Math.max(0, Math.floor(required));
293
- const met = answered >= needed;
294
- return `${POSTURE_LABEL.plan_govern} interview round ${answered}/${needed}${met ? ' OK' : '+'}`;
295
- }
296
- // ---------------------------------------------------------------------------
297
- // Posture words
298
- // ---------------------------------------------------------------------------
299
- /**
300
- * A `/gov pause` is waiting for the running stage to finish (governance-mode-v1-1 6.4).
301
- * Only meaningful while the run is still `executing`: once it is `paused` the request has
302
- * been redeemed, and an `escalated` run drops it.
303
- */
304
- export function isPausePending(snapshot) {
305
- return snapshot.pauseRequested === true && snapshot.status === 'executing';
306
- }
307
- /** True for the two governed postures, given a mode OR posture value as a string. */
308
- export function isGovernedModeValue(value) {
309
- return value === 'govern' || value === 'plan_govern';
310
- }
311
- /**
312
- * The status row's word for a mode OR a posture. `MODE_LABEL` answers for `build` /
313
- * `plan` (so the byte-identical pre-governance output is preserved); the two governed
314
- * postures are the only values that reach the second table.
315
- *
316
- * Short form: the first letter, except `plan_govern` which is `PG` - `P` is already PLAN
317
- * and a status row that cannot tell them apart has defeated the badge.
318
- */
319
- export function modeWord(value, full) {
320
- const label = MODE_LABEL[value] ?? POSTURE_LABEL[value];
321
- if (label === undefined)
322
- return undefined;
323
- if (full)
324
- return label;
325
- return value === 'plan_govern' ? 'PG' : label[0];
326
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Gradient wordmark helper (spec §3.2). Pure: interpolates an RGB gradient
3
- * across a short string using chalk. Below ansi-256 (or with no stops) it
4
- * returns the text unchanged so the header falls back to a bold single-color
5
- * wordmark. No new runtime dependency — `chalk` is already present.
6
- */
7
- /**
8
- * Render `text` with a per-character gradient across `stops` (hex colors).
9
- * Returns the text unchanged when `colorLevel < 2` or `stops` is empty.
10
- */
11
- export declare function gradientLine(text: string, stops: string[], colorLevel: 0 | 1 | 2 | 3): string;
@@ -1,50 +0,0 @@
1
- /**
2
- * Gradient wordmark helper (spec §3.2). Pure: interpolates an RGB gradient
3
- * across a short string using chalk. Below ansi-256 (or with no stops) it
4
- * returns the text unchanged so the header falls back to a bold single-color
5
- * wordmark. No new runtime dependency — `chalk` is already present.
6
- */
7
- import { Chalk } from 'chalk';
8
- /** Parse a `#rrggbb` (or `#rgb`) string into an `[r, g, b]` triple. */
9
- function parseHex(hex) {
10
- let h = hex.replace('#', '').trim();
11
- if (h.length === 3)
12
- h = h[0] + h[0] + h[1] + h[1] + h[2] + h[2];
13
- const n = Number.parseInt(h, 16);
14
- if (!Number.isFinite(n))
15
- return [255, 255, 255];
16
- return [(n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff];
17
- }
18
- function lerp(a, b, t) {
19
- return Math.round(a + (b - a) * t);
20
- }
21
- /** Interpolate a colour at position `t` ∈ [0,1] across the RGB `stops`. */
22
- function colorAt(stops, t) {
23
- if (stops.length === 1)
24
- return stops[0];
25
- const clamped = Math.max(0, Math.min(1, t));
26
- const scaled = clamped * (stops.length - 1);
27
- const idx = Math.min(stops.length - 2, Math.floor(scaled));
28
- const local = scaled - idx;
29
- const from = stops[idx];
30
- const to = stops[idx + 1];
31
- return [lerp(from[0], to[0], local), lerp(from[1], to[1], local), lerp(from[2], to[2], local)];
32
- }
33
- /**
34
- * Render `text` with a per-character gradient across `stops` (hex colors).
35
- * Returns the text unchanged when `colorLevel < 2` or `stops` is empty.
36
- */
37
- export function gradientLine(text, stops, colorLevel) {
38
- if (colorLevel < 2 || stops.length === 0 || text.length === 0)
39
- return text;
40
- const rgbStops = stops.map(parseHex);
41
- const c = new Chalk({ level: colorLevel === 3 ? 3 : 2 });
42
- const chars = [...text];
43
- const denom = chars.length > 1 ? chars.length - 1 : 1;
44
- return chars
45
- .map((ch, i) => {
46
- const [r, g, b] = colorAt(rgbStops, i / denom);
47
- return c.rgb(r, g, b)(ch);
48
- })
49
- .join('');
50
- }
@@ -1,4 +0,0 @@
1
- import type { TermCapabilities } from './capabilities.js';
2
- export declare const render: (node: import("react").ReactNode, options?: NodeJS.WriteStream | import("ink").RenderOptions) => import("ink").Instance;
3
- /** Mount the TUI with its resolved colors, restoring all renderers on exit. */
4
- export declare function renderTui(node: Parameters<typeof render>[0], options: Parameters<typeof render>[1], caps: TermCapabilities): ReturnType<typeof render>;
@@ -1,51 +0,0 @@
1
- import process from 'node:process';
2
- /** Ink 5 caches CI detection at import time and otherwise paints only on exit. */
3
- async function loadInk() {
4
- if (!process.stdin.isTTY || !process.stdout.isTTY)
5
- return import('ink');
6
- const originalCi = process.env.CI;
7
- try {
8
- // A real interactive terminal always needs live frames and resize events.
9
- // `0` also overrides CI_* / CONTINUOUS_INTEGRATION in Ink's detector.
10
- process.env.CI = '0';
11
- return await import('ink');
12
- }
13
- finally {
14
- // Commands, subprocesses and the updater must see the original environment.
15
- if (originalCi === undefined)
16
- delete process.env.CI;
17
- else
18
- process.env.CI = originalCi;
19
- }
20
- }
21
- export const { render } = await loadInk();
22
- // Keep asynchronous dependency resolution after Ink's CI initialization. A
23
- // static import here would let sibling UI modules load Ink before CI is reset.
24
- const { useTuiColors } = await import('./color-runtime.js');
25
- /** Mount the TUI with its resolved colors, restoring all renderers on exit. */
26
- export function renderTui(node, options, caps) {
27
- const restore = useTuiColors(caps.colorLevel);
28
- try {
29
- // Ink creates its exit promise lazily and does not replay earlier exits.
30
- // Mount the host first, then subscribe before application render or layout
31
- // effects can fail or call useApp().exit().
32
- const instance = render(null, options);
33
- void instance.waitUntilExit().then(restore, restore);
34
- instance.rerender(node);
35
- return {
36
- ...instance,
37
- unmount() {
38
- try {
39
- instance.unmount();
40
- }
41
- finally {
42
- restore();
43
- }
44
- },
45
- };
46
- }
47
- catch (error) {
48
- restore();
49
- throw error;
50
- }
51
- }
@@ -1,82 +0,0 @@
1
- /** Built-in product text; user content retains its original language. */
2
- export declare const interactionCopy: {
3
- readonly copied: "Copied";
4
- readonly lines: "lines";
5
- readonly copySent: "Copy sent; clipboard confirmation unavailable";
6
- readonly copyReasons: {
7
- readonly empty: "Nothing to copy";
8
- readonly unavailable: "Clipboard tool unavailable";
9
- readonly write: "Clipboard write failed";
10
- readonly timeout: "Clipboard tool timed out";
11
- readonly 'too-large': "Content exceeds clipboard limit";
12
- readonly cancelled: "Copy cancelled";
13
- };
14
- readonly stopServicesShort: "^C stop services";
15
- readonly approveTool: "y approve";
16
- readonly rejectTool: "n/Enter reject";
17
- readonly saveSettings: "Enter save";
18
- readonly modeLabel: "switch mode";
19
- readonly idle: readonly ["Idle", "Idle"];
20
- readonly starting: readonly ["Start", "Starting"];
21
- readonly waiting: readonly ["Wait", "Waiting for model"];
22
- readonly thinking: readonly ["Think", "Thinking"];
23
- readonly generating: readonly ["Write", "Generating"];
24
- readonly preparingTool: readonly ["Prep", "Preparing tool"];
25
- readonly tool: readonly ["Tool", "Running tool"];
26
- readonly confirming: readonly ["Ask", "Awaiting confirmation"];
27
- readonly stopping: readonly ["Stop", "Stopping"];
28
- readonly compacting: readonly ["Pack", "Compacting context"];
29
- readonly retrying: readonly ["Retry", "Retrying"];
30
- readonly ended: readonly ["Done", "Done"];
31
- readonly interrupted: readonly ["Abort", "Interrupted"];
32
- readonly failed: readonly ["Error", "Failed"];
33
- readonly readFile: readonly ["Tool", "Running tool read_file"];
34
- readonly writeFile: readonly ["Tool", "Running tool write_file"];
35
- readonly command: readonly ["Tool", "Running tool bash"];
36
- readonly queue: "Q";
37
- readonly pending: "pending";
38
- readonly context: "Context";
39
- readonly contextUnknown: "Context ?";
40
- readonly sessionInput: "Session input";
41
- readonly output: "output";
42
- readonly estimatedCost: "Cost";
43
- readonly speed: "Run average";
44
- readonly elapsed: "Elapsed";
45
- readonly services: "Services";
46
- readonly send: "Enter send";
47
- readonly enqueue: "Enter queue";
48
- readonly newline: "^J newline";
49
- readonly sendLong: "Enter send";
50
- readonly enqueueLong: "Enter queue";
51
- readonly newlineLong: "Ctrl+J newline";
52
- readonly interrupt: "Esc x2 stop";
53
- readonly interruptAgain: "Esc stop";
54
- readonly forceStop: "Esc force";
55
- readonly startingHint: "Starting; please wait";
56
- readonly cancelStart: "Esc x2 cancel";
57
- readonly cancelStartAgain: "Esc cancel";
58
- readonly copy: "Ctrl+C copy";
59
- readonly copying: "Copying";
60
- readonly copyFailed: "Copy failed";
61
- readonly copyCleanup: "Copy failed; cleaning up";
62
- readonly close: "Esc close";
63
- readonly closeCompletion: "Esc menu";
64
- readonly executeCommand: "Enter command";
65
- readonly complete: "Tab complete";
66
- readonly select: "Up/Down select";
67
- readonly scroll: "PgUp/PgDn scroll";
68
- readonly confirm: "Enter confirm";
69
- readonly stopServices: "Ctrl+C stop services";
70
- readonly exit: "Ctrl+C x2 exit";
71
- readonly exitDraft: "Ctrl+C x2 clear input, x3 exit";
72
- readonly governIdle: "type a task - the Orchestrator will assemble the team";
73
- readonly governInterrupt: "Esc x2 interrupt (run is resumable)";
74
- readonly governInterruptAgain: "Esc interrupt (run is resumable)";
75
- readonly governPausePending: "pause pending: /gov pause cancel";
76
- readonly help: "/help";
77
- readonly shiftNewline: "Shift+Enter newline needs terminal support";
78
- readonly mode: "Shift+Tab switch mode";
79
- readonly update: "/update";
80
- readonly idlePlaceholder: "Ask a question or describe a task...";
81
- readonly runningPlaceholder: "Add a follow-up...";
82
- };
@@ -1,38 +0,0 @@
1
- /** Built-in product text; user content retains its original language. */
2
- export const interactionCopy = {
3
- copied: 'Copied', lines: 'lines',
4
- copySent: 'Copy sent; clipboard confirmation unavailable',
5
- copyReasons: { empty: 'Nothing to copy', unavailable: 'Clipboard tool unavailable',
6
- write: 'Clipboard write failed', timeout: 'Clipboard tool timed out',
7
- 'too-large': 'Content exceeds clipboard limit', cancelled: 'Copy cancelled' },
8
- stopServicesShort: '^C stop services', approveTool: 'y approve', rejectTool: 'n/Enter reject',
9
- saveSettings: 'Enter save', modeLabel: 'switch mode',
10
- idle: ['Idle', 'Idle'], starting: ['Start', 'Starting'], waiting: ['Wait', 'Waiting for model'],
11
- thinking: ['Think', 'Thinking'], generating: ['Write', 'Generating'],
12
- preparingTool: ['Prep', 'Preparing tool'], tool: ['Tool', 'Running tool'],
13
- confirming: ['Ask', 'Awaiting confirmation'], stopping: ['Stop', 'Stopping'],
14
- compacting: ['Pack', 'Compacting context'], retrying: ['Retry', 'Retrying'],
15
- ended: ['Done', 'Done'], interrupted: ['Abort', 'Interrupted'], failed: ['Error', 'Failed'],
16
- readFile: ['Tool', 'Running tool read_file'], writeFile: ['Tool', 'Running tool write_file'],
17
- command: ['Tool', 'Running tool bash'],
18
- queue: 'Q', pending: 'pending', context: 'Context', contextUnknown: 'Context ?',
19
- sessionInput: 'Session input', output: 'output', estimatedCost: 'Cost',
20
- speed: 'Run average', elapsed: 'Elapsed', services: 'Services',
21
- send: 'Enter send', enqueue: 'Enter queue', newline: '^J newline',
22
- sendLong: 'Enter send', enqueueLong: 'Enter queue', newlineLong: 'Ctrl+J newline',
23
- interrupt: 'Esc x2 stop', interruptAgain: 'Esc stop', forceStop: 'Esc force',
24
- startingHint: 'Starting; please wait', cancelStart: 'Esc x2 cancel', cancelStartAgain: 'Esc cancel',
25
- copy: 'Ctrl+C copy', copying: 'Copying', copyFailed: 'Copy failed', copyCleanup: 'Copy failed; cleaning up',
26
- close: 'Esc close', closeCompletion: 'Esc menu', executeCommand: 'Enter command',
27
- complete: 'Tab complete', select: 'Up/Down select', scroll: 'PgUp/PgDn scroll',
28
- confirm: 'Enter confirm', stopServices: 'Ctrl+C stop services', exit: 'Ctrl+C x2 exit',
29
- exitDraft: 'Ctrl+C x2 clear input, x3 exit',
30
- // GOVERN posture (governance-mode 10.6). The run is resumable, so Esc is not destructive.
31
- governIdle: 'type a task - the Orchestrator will assemble the team',
32
- governInterrupt: 'Esc x2 interrupt (run is resumable)',
33
- governInterruptAgain: 'Esc interrupt (run is resumable)',
34
- governPausePending: 'pause pending: /gov pause cancel',
35
- help: '/help', shiftNewline: 'Shift+Enter newline needs terminal support',
36
- mode: 'Shift+Tab switch mode', update: '/update',
37
- idlePlaceholder: 'Ask a question or describe a task...', runningPlaceholder: 'Add a follow-up...',
38
- };
@@ -1,44 +0,0 @@
1
- import type { StatusFeedback, EscapeAction } from './status-feedback.js';
2
- export interface ActionHintInput {
3
- cols: number;
4
- interactionPhase: 'idle' | 'starting' | 'running';
5
- interruptHint?: string;
6
- interruptPhase?: 'ready' | 'armed' | 'stopping';
7
- escapeAction?: EscapeAction;
8
- feedback?: StatusFeedback;
9
- selectionPending?: boolean;
10
- copyInFlight?: boolean;
11
- copyCleanupPending?: boolean;
12
- completion?: 'none' | 'slash' | 'file';
13
- services?: number;
14
- overlay?: string | null;
15
- hintsEnabled?: boolean;
16
- toast?: string;
17
- updateAvailable?: boolean;
18
- exitHint?: string;
19
- modeToggleKey?: string;
20
- /** Draft present: the exit clause becomes the clear-then-exit ladder. */
21
- hasDraft?: boolean;
22
- /**
23
- * The session is in a governed posture (governance-mode 10.6): the idle row teaches
24
- * what the first message does, and the running row says an interrupt is resumable.
25
- * ABSENT = every clause below is byte-identical to the pre-governance build.
26
- */
27
- governed?: boolean;
28
- /**
29
- * A `/gov pause` is waiting for the running stage to finish (governance-mode-v1-1 6.4):
30
- * the row says so and how to undo it. Absent keeps every clause byte-identical.
31
- */
32
- govPausePending?: boolean;
33
- /**
34
- * The word after the toggle key, from `postureHintWord(nextPosture(...))`. Absent keeps
35
- * the classic `switch mode`; only the wiring that knows the live posture cycle can say
36
- * which posture is next, so this layer never guesses.
37
- */
38
- nextPostureWord?: string;
39
- }
40
- export declare function escapeClause(input: ActionHintInput): string;
41
- export declare function clipStatusText(text: string, cells: number): string;
42
- /** Ordered actions before width allocation. No interpretation of translated feedback text. */
43
- export declare function actionCandidates(input: ActionHintInput): string[];
44
- export declare function buildActionClauses(input: ActionHintInput): readonly string[];