@aragon-agent/cli 0.6.47 → 0.6.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (775) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +27 -6
  3. package/dist/agent/coalesce.d.ts +1 -1
  4. package/dist/agent/controller.d.ts +21 -21
  5. package/dist/agent/controller.js +13 -13
  6. package/dist/agent/conversation-reset.d.ts +1 -1
  7. package/dist/agent/governance-wiring.d.ts +6 -6
  8. package/dist/agent/governance-wiring.js +4 -4
  9. package/dist/agent/headless.d.ts +5 -5
  10. package/dist/agent/headless.js +4 -4
  11. package/dist/agent/job-notices.d.ts +1 -1
  12. package/dist/agent/job-notices.js +1 -1
  13. package/dist/agent/kit-apply.d.ts +3 -3
  14. package/dist/agent/kit-apply.js +3 -3
  15. package/dist/agent/model-profile-settings.d.ts +2 -2
  16. package/dist/agent/model-profile-settings.js +6 -6
  17. package/dist/agent/prompt-options.d.ts +1 -1
  18. package/dist/agent/system-prompt.d.ts +1 -1
  19. package/dist/{ui → app}/App.d.ts +9 -9
  20. package/dist/{ui → app}/App.js +79 -79
  21. package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
  22. package/dist/{ui → app}/use-startup-notices.js +2 -2
  23. package/dist/cli.js +29 -29
  24. package/dist/commands/agents-command.js +1 -1
  25. package/dist/commands/builtins.js +9 -9
  26. package/dist/commands/governance-command.js +2 -2
  27. package/dist/commands/governance-runs-table.js +1 -1
  28. package/dist/commands/kit-command.js +1 -1
  29. package/dist/commands/perf.d.ts +3 -3
  30. package/dist/commands/perf.js +1 -1
  31. package/dist/commands/registry.d.ts +8 -8
  32. package/dist/commands/skills.js +2 -2
  33. package/dist/commands/team-command.js +1 -1
  34. package/dist/compaction/archive.d.ts +1 -1
  35. package/dist/compaction/archive.js +1 -1
  36. package/dist/compaction/child.d.ts +3 -3
  37. package/dist/compaction/child.js +4 -4
  38. package/dist/compaction/command.js +5 -5
  39. package/dist/compaction/compactor.d.ts +6 -6
  40. package/dist/compaction/compactor.js +6 -6
  41. package/dist/compaction/context-command.js +1 -1
  42. package/dist/compaction/digest.js +1 -1
  43. package/dist/compaction/memory-input.js +1 -1
  44. package/dist/compaction/memory-validation.js +1 -1
  45. package/dist/compaction/memory.js +1 -1
  46. package/dist/compaction/summarize-call.js +1 -1
  47. package/dist/compaction/summary-prompt.js +1 -1
  48. package/dist/compaction/tail-budget.js +2 -2
  49. package/dist/compaction/wiring.d.ts +5 -5
  50. package/dist/compaction/wiring.js +2 -2
  51. package/dist/config/cli-commands.d.ts +1 -1
  52. package/dist/config/cli-commands.js +3 -3
  53. package/dist/config/env.d.ts +1 -1
  54. package/dist/config/env.js +4 -4
  55. package/dist/config/load.d.ts +2 -2
  56. package/dist/config/load.js +6 -6
  57. package/dist/config/migrate-state-out-of-config.js +1 -1
  58. package/dist/config/model-profile-store.d.ts +4 -54
  59. package/dist/config/model-profile-store.js +3 -3
  60. package/dist/config/prompt-history.js +1 -1
  61. package/dist/config/store.d.ts +2 -2
  62. package/dist/config/store.js +3 -3
  63. package/dist/diagnostics/doctor.js +4 -4
  64. package/dist/exec/bridge/decisions.d.ts +1 -1
  65. package/dist/exec/bridge/human-answers.d.ts +1 -1
  66. package/dist/exec/bridge/human-answers.js +1 -1
  67. package/dist/exec/bridge/protocol.d.ts +1 -1
  68. package/dist/exec/bridge/server.js +1 -1
  69. package/dist/exec/events.d.ts +2 -2
  70. package/dist/exec/index.d.ts +1 -1
  71. package/dist/exec/index.js +1 -1
  72. package/dist/exec/permission.js +1 -1
  73. package/dist/exec/runner.d.ts +3 -3
  74. package/dist/exec/runner.js +2 -2
  75. package/dist/exec/threads/runtime.js +1 -1
  76. package/dist/fast/digest.d.ts +1 -1
  77. package/dist/fast/digest.js +1 -1
  78. package/dist/fast/frames.d.ts +1 -1
  79. package/dist/fast/frames.js +1 -1
  80. package/dist/fast/prompt.d.ts +1 -1
  81. package/dist/fast/prompt.js +1 -1
  82. package/dist/fast/review-call.js +1 -1
  83. package/dist/fast/reviewer.d.ts +3 -3
  84. package/dist/fast/reviewer.js +1 -1
  85. package/dist/fast/summary-call.d.ts +3 -3
  86. package/dist/fast/summary-call.js +2 -2
  87. package/dist/fast/summary-prompt.d.ts +1 -1
  88. package/dist/fast/summary-prompt.js +1 -1
  89. package/dist/fast/wiring.d.ts +4 -4
  90. package/dist/fast/wiring.js +1 -1
  91. package/dist/governance/card-normalize.d.ts +1 -1
  92. package/dist/governance/copy.d.ts +1 -1
  93. package/dist/governance/copy.js +2 -2
  94. package/dist/governance/engine/artifact-persist.d.ts +1 -1
  95. package/dist/governance/engine/budget.d.ts +1 -1
  96. package/dist/governance/engine/budget.js +1 -1
  97. package/dist/governance/engine/cards.d.ts +1 -1
  98. package/dist/governance/engine/digest.js +1 -1
  99. package/dist/governance/engine/engine-core.d.ts +5 -5
  100. package/dist/governance/engine/engine-core.js +1 -1
  101. package/dist/governance/engine/engine.d.ts +1 -1
  102. package/dist/governance/engine/engine.js +1 -1
  103. package/dist/governance/engine/estimate.d.ts +1 -1
  104. package/dist/governance/engine/estimate.js +1 -1
  105. package/dist/governance/engine/inspector.js +2 -2
  106. package/dist/governance/engine/integration.d.ts +1 -1
  107. package/dist/governance/engine/lifecycle.d.ts +1 -1
  108. package/dist/governance/engine/lifecycle.js +1 -1
  109. package/dist/governance/engine/phase-members.d.ts +1 -1
  110. package/dist/governance/engine/phase-planner.d.ts +1 -1
  111. package/dist/governance/engine/phase-planner.js +1 -1
  112. package/dist/governance/engine/rebuild.d.ts +1 -1
  113. package/dist/governance/engine/report.d.ts +1 -1
  114. package/dist/governance/engine/report.js +1 -1
  115. package/dist/governance/engine/run-digest.d.ts +1 -1
  116. package/dist/governance/engine/spec-builder.d.ts +2 -2
  117. package/dist/governance/engine/spec-builder.js +2 -2
  118. package/dist/governance/engine/stage-runner.js +2 -2
  119. package/dist/governance/engine/start-input.d.ts +1 -1
  120. package/dist/governance/engine/start-input.js +1 -1
  121. package/dist/governance/engine/state-machine.d.ts +1 -1
  122. package/dist/governance/engine/state-machine.js +3 -3
  123. package/dist/governance/engine/submission-queries.d.ts +1 -1
  124. package/dist/governance/engine/submission-render.d.ts +1 -1
  125. package/dist/governance/engine/submissions.d.ts +1 -1
  126. package/dist/governance/engine/submissions.js +1 -1
  127. package/dist/governance/engine/visibility.d.ts +1 -1
  128. package/dist/governance/engine/visibility.js +1 -1
  129. package/dist/governance/posture-transition.d.ts +2 -2
  130. package/dist/governance/posture-transition.js +1 -1
  131. package/dist/governance/profiles.d.ts +1 -1
  132. package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
  133. package/dist/governance/prompts/orchestrator-block.js +2 -2
  134. package/dist/governance/prompts/plan-addendum.d.ts +1 -1
  135. package/dist/governance/prompts/plan-addendum.js +1 -1
  136. package/dist/governance/prompts/role-blocks.d.ts +2 -2
  137. package/dist/governance/prompts/role-blocks.js +1 -1
  138. package/dist/governance/report-reader.js +1 -1
  139. package/dist/governance/roles.d.ts +1 -1
  140. package/dist/governance/rules/claims.d.ts +1 -1
  141. package/dist/governance/rules/claims.js +1 -1
  142. package/dist/governance/rules/elimination.d.ts +1 -1
  143. package/dist/governance/rules/elimination.js +1 -1
  144. package/dist/governance/rules/failure-analysis.d.ts +2 -2
  145. package/dist/governance/rules/failure-analysis.js +1 -1
  146. package/dist/governance/rules/ledger-replay.d.ts +1 -1
  147. package/dist/governance/rules/ledger-state.d.ts +1 -1
  148. package/dist/governance/rules/ledger-state.js +1 -1
  149. package/dist/governance/rules/ledger.d.ts +2 -2
  150. package/dist/governance/rules/ledger.js +2 -2
  151. package/dist/governance/rules/rca.d.ts +1 -1
  152. package/dist/governance/rules/rca.js +1 -1
  153. package/dist/governance/rules/settlement.d.ts +2 -2
  154. package/dist/governance/rules/settlement.js +2 -2
  155. package/dist/governance/rules/suspicion.d.ts +1 -1
  156. package/dist/governance/store/artifacts.d.ts +1 -1
  157. package/dist/governance/store/artifacts.js +1 -1
  158. package/dist/governance/store/events-log.d.ts +1 -1
  159. package/dist/governance/store/run-store.d.ts +1 -1
  160. package/dist/governance/store/run-store.js +1 -1
  161. package/dist/governance/store/scoreboard-export.d.ts +1 -1
  162. package/dist/governance/tools/child-tools.d.ts +1 -1
  163. package/dist/governance/tools/guard.d.ts +1 -1
  164. package/dist/governance/tools/guard.js +1 -1
  165. package/dist/governance/tools/inspector-tools.d.ts +2 -2
  166. package/dist/governance/tools/inspector-tools.js +2 -2
  167. package/dist/governance/tools/lead-tools.d.ts +1 -1
  168. package/dist/governance/tools/lead-tools.js +1 -1
  169. package/dist/governance/tools/normalize-util.js +1 -1
  170. package/dist/governance/tools/scan-incomplete.js +1 -1
  171. package/dist/governance/tools/shared-tools.d.ts +1 -1
  172. package/dist/governance/tools/shared-tools.js +1 -1
  173. package/dist/governance/tools/submit-normalizers.d.ts +1 -1
  174. package/dist/governance/tools/submit-normalizers.js +1 -1
  175. package/dist/governance/tools/submit-tools.d.ts +1 -1
  176. package/dist/logging/cli-commands.js +1 -1
  177. package/dist/logging/install.d.ts +1 -1
  178. package/dist/logging/install.js +3 -3
  179. package/dist/logging/logger.d.ts +2 -2
  180. package/dist/logging/logger.js +31 -2
  181. package/dist/proc/kill-tree.js +1 -1
  182. package/dist/proc/log-mirror.js +1 -1
  183. package/dist/proc/log-ring.js +2 -2
  184. package/dist/proc/notices.d.ts +1 -1
  185. package/dist/proc/notices.js +2 -2
  186. package/dist/proc/prompt.d.ts +1 -1
  187. package/dist/proc/prompt.js +1 -1
  188. package/dist/proc/readiness.js +1 -1
  189. package/dist/proc/supervisor.d.ts +1 -1
  190. package/dist/proc/supervisor.js +3 -3
  191. package/dist/proc/wait.d.ts +1 -1
  192. package/dist/proc/wait.js +1 -1
  193. package/dist/prompts/command.d.ts +1 -1
  194. package/dist/prompts/command.js +1 -1
  195. package/dist/prompts/normalize.d.ts +1 -1
  196. package/dist/prompts/normalize.js +1 -1
  197. package/dist/prompts/resolve.d.ts +1 -1
  198. package/dist/prompts/store.d.ts +2 -12
  199. package/dist/prompts/store.js +6 -60
  200. package/dist/session/checkpoint.d.ts +2 -2
  201. package/dist/session/clear-archive.d.ts +2 -2
  202. package/dist/session/persist.d.ts +2 -2
  203. package/dist/session/persist.js +1 -1
  204. package/dist/session/startup-session.d.ts +2 -2
  205. package/dist/session/validate-session.js +3 -3
  206. package/dist/skills/service.d.ts +2 -2
  207. package/dist/team/bus.d.ts +1 -1
  208. package/dist/team/bus.js +1 -1
  209. package/dist/team/child-reviewer.d.ts +2 -2
  210. package/dist/team/child-reviewer.js +1 -1
  211. package/dist/team/comm-tools.js +1 -1
  212. package/dist/team/dispatch-gate.js +1 -1
  213. package/dist/team/forced-dispatch.js +1 -1
  214. package/dist/team/forced-mode.d.ts +1 -1
  215. package/dist/team/forced-prompt.d.ts +1 -1
  216. package/dist/team/forced-prompt.js +1 -1
  217. package/dist/team/normalize.d.ts +1 -1
  218. package/dist/team/normalize.js +1 -1
  219. package/dist/team/overseer.d.ts +3 -3
  220. package/dist/team/overseer.js +3 -3
  221. package/dist/team/prompt.d.ts +1 -1
  222. package/dist/team/prompt.js +1 -1
  223. package/dist/team/report.d.ts +2 -2
  224. package/dist/team/report.js +2 -2
  225. package/dist/team/retry.d.ts +1 -1
  226. package/dist/team/retry.js +1 -1
  227. package/dist/team/runtime.d.ts +4 -4
  228. package/dist/team/runtime.js +2 -2
  229. package/dist/team/settled.d.ts +2 -2
  230. package/dist/team/subagent.d.ts +4 -4
  231. package/dist/team/subagent.js +5 -5
  232. package/dist/team/task-tool.d.ts +1 -1
  233. package/dist/team/task-tool.js +1 -1
  234. package/dist/todo/normalize.d.ts +1 -1
  235. package/dist/todo/normalize.js +1 -1
  236. package/dist/todo/prompt.d.ts +1 -1
  237. package/dist/todo/prompt.js +1 -1
  238. package/dist/todo/store.d.ts +1 -1
  239. package/dist/todo/store.js +2 -2
  240. package/dist/todo/todo-tool.d.ts +1 -1
  241. package/dist/todo/todo-tool.js +2 -2
  242. package/dist/tools/bash-tool.d.ts +1 -1
  243. package/dist/tools/bash-tool.js +2 -2
  244. package/dist/tools/diff.d.ts +1 -1
  245. package/dist/tools/diff.js +1 -1
  246. package/dist/tools/file-change-store.d.ts +1 -1
  247. package/dist/tools/fs-tools.d.ts +2 -2
  248. package/dist/tools/fs-tools.js +1 -1
  249. package/dist/tools/index.d.ts +3 -3
  250. package/dist/tools/index.js +1 -1
  251. package/dist/tools/job-tools.d.ts +2 -2
  252. package/dist/tools/job-tools.js +4 -4
  253. package/dist/tools/plan-tools.d.ts +1 -1
  254. package/dist/tools/plan-tools.js +1 -1
  255. package/dist/tools/proc-tools.d.ts +1 -1
  256. package/dist/tools/proc-tools.js +2 -2
  257. package/dist/update/classify-failure.d.ts +1 -1
  258. package/dist/update/install-lock.js +1 -1
  259. package/dist/update/install-source.d.ts +1 -1
  260. package/dist/update/installer.js +2 -2
  261. package/dist/update/npm-view.d.ts +1 -1
  262. package/dist/update/npm-view.js +1 -1
  263. package/dist/update/registry.d.ts +1 -1
  264. package/dist/update/registry.js +1 -1
  265. package/dist/update/service.d.ts +2 -2
  266. package/dist/update/service.js +2 -2
  267. package/package.json +7 -7
  268. package/dist/agent/agent-mode.d.ts +0 -108
  269. package/dist/agent/agent-mode.js +0 -121
  270. package/dist/agent/entry-limits.d.ts +0 -65
  271. package/dist/agent/entry-limits.js +0 -133
  272. package/dist/agent/governance-view.d.ts +0 -40
  273. package/dist/agent/governance-view.js +0 -40
  274. package/dist/agent/invocation-card.d.ts +0 -77
  275. package/dist/agent/invocation-card.js +0 -169
  276. package/dist/agent/model-probe-limits.d.ts +0 -39
  277. package/dist/agent/model-probe-limits.js +0 -25
  278. package/dist/agent/model-probe.d.ts +0 -104
  279. package/dist/agent/model-probe.js +0 -391
  280. package/dist/agent/queued-messages.d.ts +0 -23
  281. package/dist/agent/queued-messages.js +0 -49
  282. package/dist/agent/reducer.d.ts +0 -857
  283. package/dist/agent/reducer.js +0 -1646
  284. package/dist/agent/retry-view.d.ts +0 -68
  285. package/dist/agent/retry-view.js +0 -95
  286. package/dist/agent/usage.d.ts +0 -47
  287. package/dist/agent/usage.js +0 -84
  288. package/dist/compaction/limits.d.ts +0 -61
  289. package/dist/compaction/limits.js +0 -64
  290. package/dist/compaction/meter.d.ts +0 -276
  291. package/dist/compaction/meter.js +0 -512
  292. package/dist/compaction/pressure.d.ts +0 -163
  293. package/dist/compaction/pressure.js +0 -199
  294. package/dist/compaction/reason-text.d.ts +0 -36
  295. package/dist/compaction/reason-text.js +0 -78
  296. package/dist/compaction/types.d.ts +0 -360
  297. package/dist/compaction/types.js +0 -22
  298. package/dist/config/governance-config.d.ts +0 -125
  299. package/dist/config/governance-config.js +0 -164
  300. package/dist/config/kit-resolution.d.ts +0 -93
  301. package/dist/config/kit-resolution.js +0 -226
  302. package/dist/config/model-kits.d.ts +0 -225
  303. package/dist/config/model-kits.js +0 -302
  304. package/dist/config/model-profile-resolution.d.ts +0 -28
  305. package/dist/config/model-profile-resolution.js +0 -88
  306. package/dist/config/model-profiles.d.ts +0 -103
  307. package/dist/config/model-profiles.js +0 -188
  308. package/dist/config/schema.d.ts +0 -1645
  309. package/dist/config/schema.js +0 -1383
  310. package/dist/fast/limits.d.ts +0 -152
  311. package/dist/fast/limits.js +0 -152
  312. package/dist/fast/resolve.d.ts +0 -44
  313. package/dist/fast/resolve.js +0 -107
  314. package/dist/fast/task-summary-types.d.ts +0 -66
  315. package/dist/fast/task-summary-types.js +0 -17
  316. package/dist/fast/types.d.ts +0 -141
  317. package/dist/fast/types.js +0 -14
  318. package/dist/governance/governed-dispatch.d.ts +0 -19
  319. package/dist/governance/governed-dispatch.js +0 -17
  320. package/dist/governance/limits.d.ts +0 -107
  321. package/dist/governance/limits.js +0 -131
  322. package/dist/governance/posture.d.ts +0 -35
  323. package/dist/governance/posture.js +0 -59
  324. package/dist/governance/rules/events-table.d.ts +0 -46
  325. package/dist/governance/rules/events-table.js +0 -94
  326. package/dist/governance/types.d.ts +0 -661
  327. package/dist/governance/types.js +0 -27
  328. package/dist/input/control-sequences.d.ts +0 -71
  329. package/dist/input/control-sequences.js +0 -222
  330. package/dist/input/csiu-keys.d.ts +0 -66
  331. package/dist/input/csiu-keys.js +0 -181
  332. package/dist/input/cursor-report.d.ts +0 -61
  333. package/dist/input/cursor-report.js +0 -97
  334. package/dist/input/enter-sequences.d.ts +0 -64
  335. package/dist/input/enter-sequences.js +0 -153
  336. package/dist/input/interrupt-gesture.d.ts +0 -18
  337. package/dist/input/interrupt-gesture.js +0 -19
  338. package/dist/input/keyboard-enhancement.d.ts +0 -42
  339. package/dist/input/keyboard-enhancement.js +0 -65
  340. package/dist/input/keymap.d.ts +0 -20
  341. package/dist/input/keymap.js +0 -99
  342. package/dist/input/limits.d.ts +0 -118
  343. package/dist/input/limits.js +0 -109
  344. package/dist/input/mouse-events.d.ts +0 -87
  345. package/dist/input/mouse-events.js +0 -212
  346. package/dist/input/paste-parse.d.ts +0 -83
  347. package/dist/input/paste-parse.js +0 -107
  348. package/dist/input/pointer-router.d.ts +0 -11
  349. package/dist/input/pointer-router.js +0 -14
  350. package/dist/input/stdin-filter.d.ts +0 -112
  351. package/dist/input/stdin-filter.js +0 -657
  352. package/dist/input/win32-input-mode.d.ts +0 -61
  353. package/dist/input/win32-input-mode.js +0 -269
  354. package/dist/logging/levels.d.ts +0 -40
  355. package/dist/logging/levels.js +0 -59
  356. package/dist/logging/secret-registry.d.ts +0 -32
  357. package/dist/logging/secret-registry.js +0 -73
  358. package/dist/proc/limits.d.ts +0 -214
  359. package/dist/proc/limits.js +0 -221
  360. package/dist/proc/progress.d.ts +0 -47
  361. package/dist/proc/progress.js +0 -163
  362. package/dist/proc/types.d.ts +0 -269
  363. package/dist/proc/types.js +0 -15
  364. package/dist/proc/wait-view.d.ts +0 -65
  365. package/dist/proc/wait-view.js +0 -66
  366. package/dist/prompts/copy.d.ts +0 -89
  367. package/dist/prompts/copy.js +0 -131
  368. package/dist/prompts/fill.d.ts +0 -51
  369. package/dist/prompts/fill.js +0 -46
  370. package/dist/prompts/limits.d.ts +0 -53
  371. package/dist/prompts/limits.js +0 -53
  372. package/dist/prompts/search.d.ts +0 -58
  373. package/dist/prompts/search.js +0 -146
  374. package/dist/prompts/types.d.ts +0 -204
  375. package/dist/prompts/types.js +0 -13
  376. package/dist/team/activity.d.ts +0 -67
  377. package/dist/team/activity.js +0 -130
  378. package/dist/team/limits.d.ts +0 -308
  379. package/dist/team/limits.js +0 -330
  380. package/dist/team/model.d.ts +0 -104
  381. package/dist/team/model.js +0 -150
  382. package/dist/team/panel-rows.d.ts +0 -48
  383. package/dist/team/panel-rows.js +0 -75
  384. package/dist/team/timeline.d.ts +0 -74
  385. package/dist/team/timeline.js +0 -101
  386. package/dist/team/types.d.ts +0 -354
  387. package/dist/team/types.js +0 -13
  388. package/dist/todo/acceptance.d.ts +0 -120
  389. package/dist/todo/acceptance.js +0 -399
  390. package/dist/todo/follow-through.d.ts +0 -138
  391. package/dist/todo/follow-through.js +0 -248
  392. package/dist/todo/limits.d.ts +0 -152
  393. package/dist/todo/limits.js +0 -152
  394. package/dist/todo/panel-rows.d.ts +0 -45
  395. package/dist/todo/panel-rows.js +0 -70
  396. package/dist/todo/plan-sections.d.ts +0 -60
  397. package/dist/todo/plan-sections.js +0 -108
  398. package/dist/todo/row-window.d.ts +0 -51
  399. package/dist/todo/row-window.js +0 -107
  400. package/dist/todo/types.d.ts +0 -124
  401. package/dist/todo/types.js +0 -12
  402. package/dist/tools/human-input.d.ts +0 -212
  403. package/dist/tools/human-input.js +0 -265
  404. package/dist/tools/patch.d.ts +0 -115
  405. package/dist/tools/patch.js +0 -453
  406. package/dist/tools/terminal-output.d.ts +0 -115
  407. package/dist/tools/terminal-output.js +0 -201
  408. package/dist/tools/tool-output-store.d.ts +0 -68
  409. package/dist/tools/tool-output-store.js +0 -102
  410. package/dist/ui/ActivityLine.d.ts +0 -26
  411. package/dist/ui/ActivityLine.js +0 -51
  412. package/dist/ui/AutocompletePopup.d.ts +0 -23
  413. package/dist/ui/AutocompletePopup.js +0 -17
  414. package/dist/ui/BottomStatusRow.d.ts +0 -10
  415. package/dist/ui/BottomStatusRow.js +0 -9
  416. package/dist/ui/Composer.d.ts +0 -115
  417. package/dist/ui/Composer.js +0 -64
  418. package/dist/ui/GovernancePanel.d.ts +0 -50
  419. package/dist/ui/GovernancePanel.js +0 -77
  420. package/dist/ui/GovernanceRun.d.ts +0 -18
  421. package/dist/ui/GovernanceRun.js +0 -11
  422. package/dist/ui/Header.d.ts +0 -48
  423. package/dist/ui/Header.js +0 -27
  424. package/dist/ui/Logo.d.ts +0 -32
  425. package/dist/ui/Logo.js +0 -65
  426. package/dist/ui/Markdown.d.ts +0 -29
  427. package/dist/ui/Markdown.js +0 -116
  428. package/dist/ui/PromptCaret.d.ts +0 -11
  429. package/dist/ui/PromptCaret.js +0 -31
  430. package/dist/ui/PromptInput.d.ts +0 -192
  431. package/dist/ui/PromptInput.js +0 -689
  432. package/dist/ui/QueuePanel.d.ts +0 -8
  433. package/dist/ui/QueuePanel.js +0 -9
  434. package/dist/ui/QueueStatusRow.d.ts +0 -24
  435. package/dist/ui/QueueStatusRow.js +0 -51
  436. package/dist/ui/ScrollbackShell.d.ts +0 -132
  437. package/dist/ui/ScrollbackShell.js +0 -26
  438. package/dist/ui/SessionOpener.d.ts +0 -30
  439. package/dist/ui/SessionOpener.js +0 -12
  440. package/dist/ui/StatusBar.d.ts +0 -130
  441. package/dist/ui/StatusBar.js +0 -61
  442. package/dist/ui/TeamPanel.d.ts +0 -76
  443. package/dist/ui/TeamPanel.js +0 -103
  444. package/dist/ui/ToastStack.d.ts +0 -8
  445. package/dist/ui/ToastStack.js +0 -31
  446. package/dist/ui/TodoPanel.d.ts +0 -52
  447. package/dist/ui/TodoPanel.js +0 -214
  448. package/dist/ui/Transcript.d.ts +0 -105
  449. package/dist/ui/Transcript.js +0 -258
  450. package/dist/ui/UpdateLine.d.ts +0 -44
  451. package/dist/ui/UpdateLine.js +0 -129
  452. package/dist/ui/activity-phrases.d.ts +0 -33
  453. package/dist/ui/activity-phrases.js +0 -50
  454. package/dist/ui/capabilities.d.ts +0 -27
  455. package/dist/ui/capabilities.js +0 -65
  456. package/dist/ui/clipboard-task.d.ts +0 -29
  457. package/dist/ui/clipboard-task.js +0 -66
  458. package/dist/ui/clipboard.d.ts +0 -31
  459. package/dist/ui/clipboard.js +0 -157
  460. package/dist/ui/color-runtime.d.ts +0 -5
  461. package/dist/ui/color-runtime.js +0 -29
  462. package/dist/ui/composer-input.d.ts +0 -38
  463. package/dist/ui/composer-input.js +0 -79
  464. package/dist/ui/composer-limits.d.ts +0 -30
  465. package/dist/ui/composer-limits.js +0 -45
  466. package/dist/ui/composer-rows.d.ts +0 -73
  467. package/dist/ui/composer-rows.js +0 -129
  468. package/dist/ui/console-bridge.d.ts +0 -19
  469. package/dist/ui/console-bridge.js +0 -52
  470. package/dist/ui/density.d.ts +0 -26
  471. package/dist/ui/density.js +0 -34
  472. package/dist/ui/display-tab.d.ts +0 -51
  473. package/dist/ui/display-tab.js +0 -82
  474. package/dist/ui/editor-navigation.d.ts +0 -55
  475. package/dist/ui/editor-navigation.js +0 -96
  476. package/dist/ui/editor-reducer.d.ts +0 -108
  477. package/dist/ui/editor-reducer.js +0 -187
  478. package/dist/ui/enter-frames.d.ts +0 -47
  479. package/dist/ui/enter-frames.js +0 -117
  480. package/dist/ui/entries/AssistantEntry.d.ts +0 -37
  481. package/dist/ui/entries/AssistantEntry.js +0 -43
  482. package/dist/ui/entries/CompactionCard.d.ts +0 -88
  483. package/dist/ui/entries/CompactionCard.js +0 -222
  484. package/dist/ui/entries/DiffView.d.ts +0 -61
  485. package/dist/ui/entries/DiffView.js +0 -103
  486. package/dist/ui/entries/EntryFrame.d.ts +0 -23
  487. package/dist/ui/entries/EntryFrame.js +0 -6
  488. package/dist/ui/entries/FastCard.d.ts +0 -53
  489. package/dist/ui/entries/FastCard.js +0 -105
  490. package/dist/ui/entries/GovernanceCard.d.ts +0 -30
  491. package/dist/ui/entries/GovernanceCard.js +0 -32
  492. package/dist/ui/entries/InvocationCard.d.ts +0 -20
  493. package/dist/ui/entries/InvocationCard.js +0 -32
  494. package/dist/ui/entries/QueuedEntry.d.ts +0 -27
  495. package/dist/ui/entries/QueuedEntry.js +0 -33
  496. package/dist/ui/entries/RetryCard.d.ts +0 -56
  497. package/dist/ui/entries/RetryCard.js +0 -60
  498. package/dist/ui/entries/ServiceCard.d.ts +0 -82
  499. package/dist/ui/entries/ServiceCard.js +0 -151
  500. package/dist/ui/entries/TeamCard.d.ts +0 -55
  501. package/dist/ui/entries/TeamCard.js +0 -94
  502. package/dist/ui/entries/TodoCard.d.ts +0 -54
  503. package/dist/ui/entries/TodoCard.js +0 -98
  504. package/dist/ui/entries/ToolCard.d.ts +0 -81
  505. package/dist/ui/entries/ToolCard.js +0 -169
  506. package/dist/ui/entries/ToolPreview.d.ts +0 -59
  507. package/dist/ui/entries/ToolPreview.js +0 -208
  508. package/dist/ui/entries/UserEntry.d.ts +0 -36
  509. package/dist/ui/entries/UserEntry.js +0 -57
  510. package/dist/ui/entries/WaitCard.d.ts +0 -37
  511. package/dist/ui/entries/WaitCard.js +0 -92
  512. package/dist/ui/exit-snapshot.d.ts +0 -43
  513. package/dist/ui/exit-snapshot.js +0 -26
  514. package/dist/ui/frame-differ.d.ts +0 -166
  515. package/dist/ui/frame-differ.js +0 -354
  516. package/dist/ui/frame-observer.d.ts +0 -17
  517. package/dist/ui/frame-observer.js +0 -94
  518. package/dist/ui/frame-parser.d.ts +0 -7
  519. package/dist/ui/frame-parser.js +0 -18
  520. package/dist/ui/gauge.d.ts +0 -39
  521. package/dist/ui/gauge.js +0 -55
  522. package/dist/ui/glyphs.d.ts +0 -178
  523. package/dist/ui/glyphs.js +0 -165
  524. package/dist/ui/governance-copy.d.ts +0 -69
  525. package/dist/ui/governance-copy.js +0 -104
  526. package/dist/ui/governance-status.d.ts +0 -145
  527. package/dist/ui/governance-status.js +0 -326
  528. package/dist/ui/gradient.d.ts +0 -11
  529. package/dist/ui/gradient.js +0 -50
  530. package/dist/ui/ink-runtime.d.ts +0 -4
  531. package/dist/ui/ink-runtime.js +0 -51
  532. package/dist/ui/interaction-copy.d.ts +0 -84
  533. package/dist/ui/interaction-copy.js +0 -41
  534. package/dist/ui/interaction-hints.d.ts +0 -44
  535. package/dist/ui/interaction-hints.js +0 -97
  536. package/dist/ui/layout/AppShell.d.ts +0 -17
  537. package/dist/ui/layout/AppShell.js +0 -6
  538. package/dist/ui/layout/Gutter.d.ts +0 -67
  539. package/dist/ui/layout/Gutter.js +0 -42
  540. package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
  541. package/dist/ui/layout/MeasuredEntry.js +0 -30
  542. package/dist/ui/layout/OverlayFrame.d.ts +0 -73
  543. package/dist/ui/layout/OverlayFrame.js +0 -110
  544. package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
  545. package/dist/ui/layout/ScrollIndicator.js +0 -22
  546. package/dist/ui/layout/ScrollViewport.d.ts +0 -40
  547. package/dist/ui/layout/ScrollViewport.js +0 -222
  548. package/dist/ui/layout/agents-board.d.ts +0 -102
  549. package/dist/ui/layout/agents-board.js +0 -389
  550. package/dist/ui/layout/autocomplete.d.ts +0 -18
  551. package/dist/ui/layout/autocomplete.js +0 -26
  552. package/dist/ui/layout/budget.d.ts +0 -43
  553. package/dist/ui/layout/budget.js +0 -52
  554. package/dist/ui/layout/cells.d.ts +0 -61
  555. package/dist/ui/layout/cells.js +0 -156
  556. package/dist/ui/layout/document-layout.d.ts +0 -13
  557. package/dist/ui/layout/document-layout.js +0 -10
  558. package/dist/ui/layout/follow-state.d.ts +0 -138
  559. package/dist/ui/layout/follow-state.js +0 -148
  560. package/dist/ui/layout/frame.d.ts +0 -36
  561. package/dist/ui/layout/frame.js +0 -39
  562. package/dist/ui/layout/governance-board.d.ts +0 -121
  563. package/dist/ui/layout/governance-board.js +0 -382
  564. package/dist/ui/layout/governance-card.d.ts +0 -53
  565. package/dist/ui/layout/governance-card.js +0 -134
  566. package/dist/ui/layout/governance-chip.d.ts +0 -38
  567. package/dist/ui/layout/governance-chip.js +0 -64
  568. package/dist/ui/layout/governance-panel.d.ts +0 -85
  569. package/dist/ui/layout/governance-panel.js +0 -358
  570. package/dist/ui/layout/governance-roster.d.ts +0 -65
  571. package/dist/ui/layout/governance-roster.js +0 -275
  572. package/dist/ui/layout/header-hints.d.ts +0 -90
  573. package/dist/ui/layout/header-hints.js +0 -110
  574. package/dist/ui/layout/header-left.d.ts +0 -115
  575. package/dist/ui/layout/header-left.js +0 -206
  576. package/dist/ui/layout/invocation-card.d.ts +0 -41
  577. package/dist/ui/layout/invocation-card.js +0 -91
  578. package/dist/ui/layout/kit-chip.d.ts +0 -50
  579. package/dist/ui/layout/kit-chip.js +0 -81
  580. package/dist/ui/layout/overlay-window.d.ts +0 -43
  581. package/dist/ui/layout/overlay-window.js +0 -51
  582. package/dist/ui/layout/queue-layout.d.ts +0 -19
  583. package/dist/ui/layout/queue-layout.js +0 -26
  584. package/dist/ui/layout/rail.d.ts +0 -7
  585. package/dist/ui/layout/rail.js +0 -16
  586. package/dist/ui/layout/scroll-indicator.d.ts +0 -27
  587. package/dist/ui/layout/scroll-indicator.js +0 -36
  588. package/dist/ui/layout/scroll.d.ts +0 -37
  589. package/dist/ui/layout/scroll.js +0 -99
  590. package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
  591. package/dist/ui/layout/scrollbar-geometry.js +0 -13
  592. package/dist/ui/layout/session-chip.d.ts +0 -52
  593. package/dist/ui/layout/session-chip.js +0 -64
  594. package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
  595. package/dist/ui/layout/shortcut-panel-layout.js +0 -321
  596. package/dist/ui/layout/status-detail-layout.d.ts +0 -9
  597. package/dist/ui/layout/status-detail-layout.js +0 -79
  598. package/dist/ui/layout/status-layout.d.ts +0 -140
  599. package/dist/ui/layout/status-layout.js +0 -262
  600. package/dist/ui/layout/task-summary-cell.d.ts +0 -61
  601. package/dist/ui/layout/task-summary-cell.js +0 -65
  602. package/dist/ui/layout/team-panel.d.ts +0 -18
  603. package/dist/ui/layout/team-panel.js +0 -25
  604. package/dist/ui/layout/team-row.d.ts +0 -139
  605. package/dist/ui/layout/team-row.js +0 -246
  606. package/dist/ui/layout/todo-layout.d.ts +0 -62
  607. package/dist/ui/layout/todo-layout.js +0 -102
  608. package/dist/ui/layout/useTerminalSize.d.ts +0 -13
  609. package/dist/ui/layout/useTerminalSize.js +0 -50
  610. package/dist/ui/layout/viewport-geometry.d.ts +0 -29
  611. package/dist/ui/layout/viewport-geometry.js +0 -28
  612. package/dist/ui/layout/virtual-window.d.ts +0 -112
  613. package/dist/ui/layout/virtual-window.js +0 -494
  614. package/dist/ui/layout/wait-bar.d.ts +0 -34
  615. package/dist/ui/layout/wait-bar.js +0 -48
  616. package/dist/ui/layout/wrap-rows.d.ts +0 -26
  617. package/dist/ui/layout/wrap-rows.js +0 -88
  618. package/dist/ui/live-clamp.d.ts +0 -14
  619. package/dist/ui/live-clamp.js +0 -46
  620. package/dist/ui/markdown-blocks.d.ts +0 -107
  621. package/dist/ui/markdown-blocks.js +0 -240
  622. package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
  623. package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
  624. package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
  625. package/dist/ui/overlays/ConfirmDialog.js +0 -44
  626. package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
  627. package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
  628. package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
  629. package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
  630. package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
  631. package/dist/ui/overlays/HelpOverlay.js +0 -232
  632. package/dist/ui/overlays/KitEditor.d.ts +0 -23
  633. package/dist/ui/overlays/KitEditor.js +0 -101
  634. package/dist/ui/overlays/KitManager.d.ts +0 -23
  635. package/dist/ui/overlays/KitManager.js +0 -104
  636. package/dist/ui/overlays/KitPicker.d.ts +0 -49
  637. package/dist/ui/overlays/KitPicker.js +0 -58
  638. package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
  639. package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
  640. package/dist/ui/overlays/ModelPicker.d.ts +0 -26
  641. package/dist/ui/overlays/ModelPicker.js +0 -63
  642. package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
  643. package/dist/ui/overlays/ModelProfileEditor.js +0 -168
  644. package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
  645. package/dist/ui/overlays/ModelProfilePicker.js +0 -231
  646. package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
  647. package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
  648. package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
  649. package/dist/ui/overlays/PromptEditorPage.js +0 -227
  650. package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
  651. package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
  652. package/dist/ui/overlays/PromptPicker.d.ts +0 -36
  653. package/dist/ui/overlays/PromptPicker.js +0 -129
  654. package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
  655. package/dist/ui/overlays/PromptTextArea.js +0 -141
  656. package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
  657. package/dist/ui/overlays/QuestionOverlay.js +0 -258
  658. package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
  659. package/dist/ui/overlays/QueueOverlay.js +0 -79
  660. package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
  661. package/dist/ui/overlays/SettingsScreen.js +0 -1037
  662. package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
  663. package/dist/ui/overlays/ShortcutPanel.js +0 -106
  664. package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
  665. package/dist/ui/overlays/TeamFanoutPage.js +0 -90
  666. package/dist/ui/overlays/governance-settings.d.ts +0 -79
  667. package/dist/ui/overlays/governance-settings.js +0 -140
  668. package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
  669. package/dist/ui/overlays/kit-picker-state.js +0 -136
  670. package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
  671. package/dist/ui/overlays/kit-settings-state.js +0 -268
  672. package/dist/ui/overlays/model-probe-view.d.ts +0 -128
  673. package/dist/ui/overlays/model-probe-view.js +0 -225
  674. package/dist/ui/overlays/model-profile-state.d.ts +0 -177
  675. package/dist/ui/overlays/model-profile-state.js +0 -301
  676. package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
  677. package/dist/ui/overlays/prompt-library-state.js +0 -335
  678. package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
  679. package/dist/ui/overlays/prompt-picker-state.js +0 -98
  680. package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
  681. package/dist/ui/overlays/team-fanout-state.js +0 -155
  682. package/dist/ui/overlays/use-model-probe.d.ts +0 -30
  683. package/dist/ui/overlays/use-model-probe.js +0 -109
  684. package/dist/ui/palettes.d.ts +0 -112
  685. package/dist/ui/palettes.js +0 -130
  686. package/dist/ui/paste-frames.d.ts +0 -91
  687. package/dist/ui/paste-frames.js +0 -117
  688. package/dist/ui/paste-tokens.d.ts +0 -90
  689. package/dist/ui/paste-tokens.js +0 -147
  690. package/dist/ui/render-cache.d.ts +0 -81
  691. package/dist/ui/render-cache.js +0 -196
  692. package/dist/ui/render-governor.d.ts +0 -54
  693. package/dist/ui/render-governor.js +0 -78
  694. package/dist/ui/run-metrics.d.ts +0 -23
  695. package/dist/ui/run-metrics.js +0 -27
  696. package/dist/ui/run-status-row.d.ts +0 -63
  697. package/dist/ui/run-status-row.js +0 -54
  698. package/dist/ui/screen.d.ts +0 -107
  699. package/dist/ui/screen.js +0 -234
  700. package/dist/ui/scrollback/LiveTail.d.ts +0 -115
  701. package/dist/ui/scrollback/LiveTail.js +0 -48
  702. package/dist/ui/scrollback/band.d.ts +0 -114
  703. package/dist/ui/scrollback/band.js +0 -143
  704. package/dist/ui/scrollback/budget.d.ts +0 -90
  705. package/dist/ui/scrollback/budget.js +0 -100
  706. package/dist/ui/scrollback/canvas.d.ts +0 -100
  707. package/dist/ui/scrollback/canvas.js +0 -114
  708. package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
  709. package/dist/ui/scrollback/cursor-probe.js +0 -133
  710. package/dist/ui/scrollback/drain.d.ts +0 -32
  711. package/dist/ui/scrollback/drain.js +0 -64
  712. package/dist/ui/scrollback/exit-summary.d.ts +0 -23
  713. package/dist/ui/scrollback/exit-summary.js +0 -25
  714. package/dist/ui/scrollback/limits.d.ts +0 -98
  715. package/dist/ui/scrollback/limits.js +0 -98
  716. package/dist/ui/scrollback/live-preview.d.ts +0 -34
  717. package/dist/ui/scrollback/live-preview.js +0 -130
  718. package/dist/ui/scrollback/overflow-print.d.ts +0 -108
  719. package/dist/ui/scrollback/overflow-print.js +0 -120
  720. package/dist/ui/scrollback/renderer.d.ts +0 -48
  721. package/dist/ui/scrollback/renderer.js +0 -186
  722. package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
  723. package/dist/ui/scrollback/scrollback-writer.js +0 -648
  724. package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
  725. package/dist/ui/scrollback/settled-boundary.js +0 -109
  726. package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
  727. package/dist/ui/scrollback/tail-anchor.js +0 -79
  728. package/dist/ui/scrollback/tail-window.d.ts +0 -73
  729. package/dist/ui/scrollback/tail-window.js +0 -89
  730. package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
  731. package/dist/ui/scrollback/use-scrollback-view.js +0 -601
  732. package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
  733. package/dist/ui/scrollback/writer-shapes.js +0 -159
  734. package/dist/ui/scrollbar-controller.d.ts +0 -30
  735. package/dist/ui/scrollbar-controller.js +0 -124
  736. package/dist/ui/selection/highlight.d.ts +0 -39
  737. package/dist/ui/selection/highlight.js +0 -64
  738. package/dist/ui/selection/screen-mirror.d.ts +0 -24
  739. package/dist/ui/selection/screen-mirror.js +0 -35
  740. package/dist/ui/selection/selection-controller.d.ts +0 -104
  741. package/dist/ui/selection/selection-controller.js +0 -372
  742. package/dist/ui/selection/selection.d.ts +0 -90
  743. package/dist/ui/selection/selection.js +0 -223
  744. package/dist/ui/shortcuts.d.ts +0 -81
  745. package/dist/ui/shortcuts.js +0 -221
  746. package/dist/ui/status-feedback.d.ts +0 -35
  747. package/dist/ui/status-feedback.js +0 -38
  748. package/dist/ui/stdout-frame-writer.d.ts +0 -74
  749. package/dist/ui/stdout-frame-writer.js +0 -155
  750. package/dist/ui/team-status.d.ts +0 -166
  751. package/dist/ui/team-status.js +0 -252
  752. package/dist/ui/terminal-plan.d.ts +0 -52
  753. package/dist/ui/terminal-plan.js +0 -49
  754. package/dist/ui/theme.d.ts +0 -96
  755. package/dist/ui/theme.js +0 -130
  756. package/dist/ui/transcript-text.d.ts +0 -41
  757. package/dist/ui/transcript-text.js +0 -282
  758. package/dist/ui/use-height-store.d.ts +0 -31
  759. package/dist/ui/use-height-store.js +0 -76
  760. package/dist/ui/use-render-governor.d.ts +0 -39
  761. package/dist/ui/use-render-governor.js +0 -57
  762. package/dist/ui/use-wheel-routing.d.ts +0 -57
  763. package/dist/ui/use-wheel-routing.js +0 -152
  764. package/dist/ui/win-vt-force.d.ts +0 -136
  765. package/dist/ui/win-vt-force.js +0 -237
  766. package/dist/ui/win-vt-input.d.ts +0 -57
  767. package/dist/ui/win-vt-input.js +0 -62
  768. package/dist/update/limits.d.ts +0 -111
  769. package/dist/update/limits.js +0 -111
  770. package/dist/update/semver.d.ts +0 -89
  771. package/dist/update/semver.js +0 -295
  772. package/dist/update/types.d.ts +0 -169
  773. package/dist/update/types.js +0 -68
  774. /package/dist/{ui → app}/session-bridge.d.ts +0 -0
  775. /package/dist/{ui → app}/session-bridge.js +0 -0
@@ -1,201 +0,0 @@
1
- /**
2
- * Raw child-process output to terminal-safe rows (agent-activity-presentation-live
3
- * L2 / §3.2).
4
- *
5
- * NOTHING ELSE IN THIS TREE STRIPS ANSI (E-13). `renderBash` hands each line to
6
- * `<Text>` unmodified (`ui/entries/ToolPreview.tsx:180`), and that survives only
7
- * because the settled preview is printed ONCE, after the command has stopped
8
- * writing. Redraw the same text every frame while the child is still emitting
9
- * `\r`-rewritten progress bars and `\x1b[A` cursor moves and it stops being
10
- * survivable: the terminal honours cursor motion Ink does not know it emitted,
11
- * and `wrappedRows` measures escape bytes as if they were columns.
12
- *
13
- * So this module is the boundary. It runs ONCE, inside the store's `append`
14
- * (§3.1.1), and every reader downstream is already safe.
15
- *
16
- * Pure, ASCII-only, React-free, Ink-free, and TOTAL: `sanitizeChunk` never
17
- * throws, for any input including lone surrogates, NUL bytes, a chunk consisting
18
- * solely of `\x1b`, and a 4 MB chunk containing no `\n` at all.
19
- *
20
- * D-27 — IT STRIPS, IT DOES NOT INTERPRET. Keeping colour would mean validating
21
- * it (an unterminated SGR leaks its attribute into the rest of the frame), and
22
- * interpreting cursor motion would mean owning a screen buffer. Neither is a
23
- * presentation round's job.
24
- */
25
- import { stripControlSequences } from '../input/control-sequences.js';
26
- /** Columns a live row may occupy before it is clipped. */
27
- export const LIVE_ROW_MAX_CHARS = 200;
28
- /** Tab stop width, matching every terminal's default. */
29
- export const TAB_WIDTH = 8;
30
- /**
31
- * The in-progress line's ceiling before it is flushed as a row (§3.2 step 7).
32
- *
33
- * AFTER STEP 4 THIS IS A RARE PATH RATHER THAN THE PROGRESS-BAR PATH (D-33). A
34
- * `\r`-rewritten bar collapses to one row however many times it is redrawn, so
35
- * reaching 400 characters with no `\n` requires a line that is genuinely that
36
- * long -- `cat` on a minified bundle. Without the bound the carry is an
37
- * unbounded accumulator.
38
- */
39
- export const CARRY_MAX_CHARS = LIVE_ROW_MAX_CHARS * 2;
40
- /**
41
- * Appended to a row clipped at `LIVE_ROW_MAX_CHARS`.
42
- *
43
- * SPELLED HERE RATHER THAN IMPORTED from `agent/reducer.ts`, the rule
44
- * `patch.ts:95-103` already states for the identical string: `tools/` keeps no
45
- * runtime dependency on the view model for three characters, and
46
- * `terminal-output.test.ts` asserts the spellings are equal so the pair cannot
47
- * drift silently.
48
- */
49
- export const TRUNCATION_MARK = '...';
50
- /**
51
- * How far back a trailing incomplete escape may start.
52
- *
53
- * A chunk can split mid-escape, and the next chunk completes it -- so the tail
54
- * of an unfinished sequence must survive in the carry rather than being stripped
55
- * down to its visible remainder (`\x1b[` would otherwise render as a bare `[`).
56
- * The lookback is bounded because an "escape" that has run for 64 characters
57
- * without a final byte is not an escape, it is a byte that happened to be 0x1b,
58
- * and holding it forever would pin the carry.
59
- */
60
- const MAX_PARTIAL_ESCAPE = 64;
61
- /** C1, plus every C0 control except `\t` `\n` `\r`. */
62
- const CONTROLS = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/g;
63
- /**
64
- * Remove every escape sequence and control byte except `\t` `\n` `\r`.
65
- *
66
- * SEQUENCE SYNTAX HAS ONE OWNER (`input/control-sequences.ts`); this function
67
- * adds only the control-byte sweep a DISPLAY row wants. Both call sites in this
68
- * module already cut an unfinished escape off into the carry before calling it
69
- * (`partialEscapeStart`), so the shared one-shot rule for a truncated sequence
70
- * is exactly what they need -- and it fixes AC-24's failure in place: the old
71
- * two-byte rule consumed the `\x1b[` of an unfinished CSI and left the
72
- * PARAMETERS behind, so `\x1b[31m` split across chunks rendered as `red 3`.
73
- *
74
- * Exported for the tests, and used by `toDisplayRow` as the second line of
75
- * defence over a carry that ends mid-escape.
76
- */
77
- export function stripAnsi(text) {
78
- return stripControlSequences(text).replace(CONTROLS, '');
79
- }
80
- /**
81
- * Index at which a trailing INCOMPLETE escape begins, or `-1`.
82
- *
83
- * Only the last `\x1b` can be incomplete: anything before it is either a
84
- * complete sequence (the regexes above consume it) or a stray byte the control
85
- * strip removes.
86
- */
87
- function partialEscapeStart(text) {
88
- const at = text.lastIndexOf('\x1b');
89
- if (at === -1 || text.length - at > MAX_PARTIAL_ESCAPE)
90
- return -1;
91
- const rest = text.slice(at);
92
- // A lone ESC at the very end: the next chunk decides what it is.
93
- if (rest.length === 1)
94
- return at;
95
- // An opened CSI/OSC is incomplete exactly when its own regex does not match
96
- // from here -- `\x1b[1;3` has no final byte yet, `\x1b]0;title` no terminator.
97
- if (rest[1] === '[')
98
- return /^\x1b\[[0-?]*[ -/]*[@-~]/.test(rest) ? -1 : at;
99
- if (rest[1] === ']')
100
- return /^\x1b\][\s\S]*?(?:\x07|\x1b\\)/.test(rest) ? -1 : at;
101
- // Any other two-byte form is already complete.
102
- return -1;
103
- }
104
- /**
105
- * Apply `\r` as the LINE REWRITE it is (§3.2 step 4 / D-33).
106
- *
107
- * A piece containing `\r` is a sequence of overwrites, so the later segment
108
- * replaces the earlier one's PREFIX and anything the earlier one had beyond it
109
- * survives -- which is what a real terminal shows, and what keeps R-6's classic
110
- * `\r`-only tooling from losing content. A thousand progress-bar rewrites
111
- * collapse to one row holding the final state.
112
- */
113
- export function applyCarriageReturns(piece) {
114
- if (piece.indexOf('\r') === -1)
115
- return piece;
116
- return piece.split('\r').reduce((acc, s) => s + acc.slice(s.length), '');
117
- }
118
- /** Expand tabs to the next multiple of `TAB_WIDTH`. */
119
- export function expandTabs(row) {
120
- if (row.indexOf('\t') === -1)
121
- return row;
122
- let out = '';
123
- for (let i = 0; i < row.length; i += 1) {
124
- const ch = row[i];
125
- if (ch === '\t')
126
- out += ' '.repeat(TAB_WIDTH - (out.length % TAB_WIDTH));
127
- else
128
- out += ch;
129
- }
130
- return out;
131
- }
132
- /** Clip a row at `LIVE_ROW_MAX_CHARS`, marking the cut. */
133
- export function clipRow(row) {
134
- return row.length <= LIVE_ROW_MAX_CHARS
135
- ? row
136
- : `${row.slice(0, LIVE_ROW_MAX_CHARS)}${TRUNCATION_MARK}`;
137
- }
138
- /**
139
- * The carry as a RENDERED row: the held-back incomplete escape removed, then
140
- * stripped and clipped.
141
- *
142
- * THE PARTIAL MUST BE CUT OFF, NOT STRIPPED (AC-24). `stripAnsi` alone is not
143
- * enough and fails in the visible direction: its two-byte rule consumes the
144
- * `\x1b[` of an unfinished CSI and leaves the PARAMETERS behind, so a chunk that
145
- * split inside `\x1b[31m` renders as `red 3`. The bytes are held for the next
146
- * chunk to complete; until then they are not text.
147
- */
148
- export function toDisplayRow(carry) {
149
- const at = partialEscapeStart(carry);
150
- return clipRow(stripAnsi(at === -1 ? carry : carry.slice(0, at)));
151
- }
152
- /**
153
- * Tab expansion is column arithmetic, so it cannot be done after the clip -- but
154
- * it also need not run over four megabytes to decide the first 200 columns.
155
- * Every character occupies at least one column, so a `CARRY_MAX_CHARS` prefix
156
- * covers every column the clip can keep.
157
- */
158
- function expandTabsForDisplay(piece) {
159
- return piece.length <= CARRY_MAX_CHARS
160
- ? expandTabs(piece)
161
- : expandTabs(piece.slice(0, CARRY_MAX_CHARS));
162
- }
163
- /**
164
- * Turn a raw chunk into complete rows plus the in-progress line.
165
- *
166
- * The order of the steps IS the specification (§3.2), and step 4's "every piece,
167
- * THE INCOMPLETE TAIL INCLUDED" is the whole of P0-1: a progress bar emits no
168
- * `\n` for its entire run, so a rule that collapsed only completed lines would
169
- * never run for npm, pip, curl, docker or any other `\r` writer -- the tail
170
- * would stay empty, `showLive` false, and the card the single `running` row this
171
- * round exists to replace.
172
- */
173
- export function sanitizeChunk(carry, chunk) {
174
- const text = (typeof carry === 'string' ? carry : '') + (typeof chunk === 'string' ? chunk : '');
175
- if (text.length === 0)
176
- return { rows: [], carry: '' };
177
- // 1-2. Concatenate and strip, holding back an escape the next chunk finishes.
178
- const partialAt = partialEscapeStart(text);
179
- const held = partialAt === -1 ? '' : text.slice(partialAt);
180
- const clean = stripAnsi(partialAt === -1 ? text : text.slice(0, partialAt));
181
- // 3. Split: the first n-1 pieces are complete rows, the last is the tail.
182
- const pieces = clean.split('\n');
183
- const rows = [];
184
- for (let i = 0; i < pieces.length - 1; i += 1) {
185
- // 4-6. Collapse, expand, clip.
186
- rows.push(clipRow(expandTabsForDisplay(applyCarriageReturns(pieces[i]))));
187
- }
188
- const rawTail = applyCarriageReturns(pieces[pieces.length - 1]);
189
- const tail = expandTabsForDisplay(rawTail);
190
- // 7. Bound the carry. The held escape survives the flush: it belongs to the
191
- // NEXT row, and dropping it here would corrupt the sequence it opened.
192
- //
193
- // BOTH LENGTHS ARE TESTED, and testing only the expanded one is the bug:
194
- // `expandTabsForDisplay` truncates its input at `CARRY_MAX_CHARS`, so a
195
- // megabyte-long line would sit at exactly the bound forever and never flush.
196
- if (rawTail.length > CARRY_MAX_CHARS || tail.length > CARRY_MAX_CHARS) {
197
- rows.push(clipRow(tail));
198
- return { rows, carry: held };
199
- }
200
- return { rows, carry: tail + held };
201
- }
@@ -1,68 +0,0 @@
1
- /**
2
- * The CLI-local side channel a running tool's output travels on
3
- * (agent-activity-presentation-live L1 / §3.1.1).
4
- *
5
- * It mirrors `file-change-store.ts` in shape and in its documented reasoning,
6
- * with ONE deliberate difference: it is PEEK-AND-CLEAR, not take-once, because a
7
- * running command is read many times and consumed once.
8
- *
9
- * Four properties, each load-bearing, each with the failure it prevents:
10
- *
11
- * - **Owner-scoped.** The key is `${owner}:${toolCallId}`, for D-13's reason
12
- * unchanged: only `'lead'` is written this round, but subagents build their
13
- * tools from the same factory, and a child's tool-call id must never be able
14
- * to paint a lead's card.
15
- * - **Sanitised on write.** `append` calls `sanitizeChunk` BEFORE storing, so
16
- * the store's contract is "terminal-safe rows" and no consumer can forget.
17
- * - **Bounded twice.** `LIVE_TAIL_ROWS` per call and `TOOL_OUTPUT_STORE_CAP`
18
- * calls. A command emitting 400 MB to stdout costs a fixed number of retained
19
- * rows: the per-call bound is what makes the DISPLAY bounded, the cap is what
20
- * makes a session that never settles a call bounded.
21
- * - **Cleared at settle, not at read.** The authoritative result arrives with
22
- * `tool_execution_end`; from that instant the tail is superseded and must be
23
- * released. Clearing there keeps the store's size a function of CONCURRENT
24
- * calls rather than of total calls.
25
- */
26
- /**
27
- * ROWS retained per tool call.
28
- *
29
- * THIS AND THE CAP BELOW ARE DELIBERATELY DIFFERENT NUMBERS (P2-8). They bound
30
- * unrelated things -- rows inside one call, and calls inside one session -- and
31
- * a shared literal is how a later edit collapses two bounds into one.
32
- */
33
- export declare const LIVE_TAIL_ROWS = 8;
34
- /** CONCURRENT CALLS retained before the oldest is evicted. */
35
- export declare const TOOL_OUTPUT_STORE_CAP = 16;
36
- /**
37
- * Silence after which the card stops claiming progress and says so (§3.3.4).
38
- *
39
- * It lives here rather than in `ToolCard` because it is the STORE's notion of
40
- * "quiet": the card reads it so there is no second copy to drift.
41
- */
42
- export declare const STALL_AFTER_MS = 10000;
43
- export interface ToolOutputStore {
44
- /**
45
- * Append a raw chunk. Sanitises (§3.2), then returns the display tail: the
46
- * last `LIVE_TAIL_ROWS` of `[...completedRows, carry]`, `carry` last and
47
- * included only when non-empty.
48
- */
49
- append(owner: string, toolCallId: string, chunk: string): readonly string[];
50
- /** Current tail, or `undefined`. Does NOT remove. Test-facing (P2-2). */
51
- peek(owner: string, toolCallId: string): readonly string[] | undefined;
52
- /** Drop the entry -- called at `tool_execution_end`. */
53
- clear(owner: string, toolCallId: string): void;
54
- size(): number;
55
- }
56
- /**
57
- * What the controller's fourth CLI-local emitter carries (§3.1.3).
58
- *
59
- * `rows` IS THE WHOLE TAIL, not an increment, and that is what lets
60
- * `mergeDeltas` keep only the last one per `toolCallId` (D-30). It is frozen, so
61
- * a listener cannot mutate the array a later listener will see.
62
- */
63
- export interface ToolOutputEvent {
64
- toolCallId: string;
65
- rows: readonly string[];
66
- }
67
- export type ToolOutputListener = (event: ToolOutputEvent) => void;
68
- export declare function createToolOutputStore(cap?: number): ToolOutputStore;
@@ -1,102 +0,0 @@
1
- /**
2
- * The CLI-local side channel a running tool's output travels on
3
- * (agent-activity-presentation-live L1 / §3.1.1).
4
- *
5
- * It mirrors `file-change-store.ts` in shape and in its documented reasoning,
6
- * with ONE deliberate difference: it is PEEK-AND-CLEAR, not take-once, because a
7
- * running command is read many times and consumed once.
8
- *
9
- * Four properties, each load-bearing, each with the failure it prevents:
10
- *
11
- * - **Owner-scoped.** The key is `${owner}:${toolCallId}`, for D-13's reason
12
- * unchanged: only `'lead'` is written this round, but subagents build their
13
- * tools from the same factory, and a child's tool-call id must never be able
14
- * to paint a lead's card.
15
- * - **Sanitised on write.** `append` calls `sanitizeChunk` BEFORE storing, so
16
- * the store's contract is "terminal-safe rows" and no consumer can forget.
17
- * - **Bounded twice.** `LIVE_TAIL_ROWS` per call and `TOOL_OUTPUT_STORE_CAP`
18
- * calls. A command emitting 400 MB to stdout costs a fixed number of retained
19
- * rows: the per-call bound is what makes the DISPLAY bounded, the cap is what
20
- * makes a session that never settles a call bounded.
21
- * - **Cleared at settle, not at read.** The authoritative result arrives with
22
- * `tool_execution_end`; from that instant the tail is superseded and must be
23
- * released. Clearing there keeps the store's size a function of CONCURRENT
24
- * calls rather than of total calls.
25
- */
26
- import { sanitizeChunk, toDisplayRow } from './terminal-output.js';
27
- /**
28
- * ROWS retained per tool call.
29
- *
30
- * THIS AND THE CAP BELOW ARE DELIBERATELY DIFFERENT NUMBERS (P2-8). They bound
31
- * unrelated things -- rows inside one call, and calls inside one session -- and
32
- * a shared literal is how a later edit collapses two bounds into one.
33
- */
34
- export const LIVE_TAIL_ROWS = 8;
35
- /** CONCURRENT CALLS retained before the oldest is evicted. */
36
- export const TOOL_OUTPUT_STORE_CAP = 16;
37
- /**
38
- * Silence after which the card stops claiming progress and says so (§3.3.4).
39
- *
40
- * It lives here rather than in `ToolCard` because it is the STORE's notion of
41
- * "quiet": the card reads it so there is no second copy to drift.
42
- */
43
- export const STALL_AFTER_MS = 10_000;
44
- const EMPTY = Object.freeze([]);
45
- export function createToolOutputStore(cap = TOOL_OUTPUT_STORE_CAP) {
46
- // A `Map` iterates in insertion order, so the first key IS the oldest.
47
- const entries = new Map();
48
- const limit = Math.max(1, Math.floor(cap));
49
- const keyOf = (owner, toolCallId) => `${owner}:${toolCallId}`;
50
- /**
51
- * The tail a consumer sees.
52
- *
53
- * THE IN-PROGRESS LINE IS PART OF IT, and that is the display half of P0-1: a
54
- * command whose output is one continuously-rewritten line -- every progress
55
- * bar there is -- has NO completed rows until it exits, and a tail built from
56
- * completed rows alone would be empty for its entire run.
57
- */
58
- const tailOf = (slot) => {
59
- const live = toDisplayRow(slot.carry);
60
- const rows = live.length > 0 ? [...slot.rows, live] : [...slot.rows];
61
- return Object.freeze(rows.length > LIVE_TAIL_ROWS ? rows.slice(-LIVE_TAIL_ROWS) : rows);
62
- };
63
- return {
64
- append(owner, toolCallId, chunk) {
65
- const key = keyOf(owner, toolCallId);
66
- const slot = entries.get(key) ?? { rows: [], carry: '' };
67
- // Delete first so an append moves the key to the END of the ring rather
68
- // than leaving it at its original age: the cap must evict the least
69
- // recently WRITTEN call, not the one that started first.
70
- entries.delete(key);
71
- entries.set(key, slot);
72
- const { rows, carry } = sanitizeChunk(slot.carry, chunk);
73
- if (rows.length > 0) {
74
- slot.rows.push(...rows);
75
- if (slot.rows.length > LIVE_TAIL_ROWS) {
76
- slot.rows.splice(0, slot.rows.length - LIVE_TAIL_ROWS);
77
- }
78
- }
79
- slot.carry = carry;
80
- while (entries.size > limit) {
81
- const oldest = entries.keys().next();
82
- if (oldest.done)
83
- break;
84
- entries.delete(oldest.value);
85
- }
86
- return tailOf(slot);
87
- },
88
- peek(owner, toolCallId) {
89
- const slot = entries.get(keyOf(owner, toolCallId));
90
- if (!slot)
91
- return undefined;
92
- const tail = tailOf(slot);
93
- return tail.length > 0 ? tail : EMPTY;
94
- },
95
- clear(owner, toolCallId) {
96
- entries.delete(keyOf(owner, toolCallId));
97
- },
98
- size() {
99
- return entries.size;
100
- },
101
- };
102
- }
@@ -1,26 +0,0 @@
1
- /** Legacy activity presentation. Explicit facts share the global status label mapping.
2
- * StatusBar owns the application's sole live spinner via the factory below.
3
- */
4
- import React from 'react';
5
- import type { Theme } from './theme.js';
6
- import type { TermCapabilities } from './capabilities.js';
7
- import { pickGlyphs } from './glyphs.js';
8
- import type { RunActivity } from './run-status-row.js';
9
- /** Shared animation factory; returns null for ASCII or reduced-motion terminals. */
10
- export declare function liveSpinner(reducedMotion: boolean, caps: TermCapabilities): React.ReactElement | null;
11
- /** Explicit execution facts outrank compatibility tool names and rotating phrases. */
12
- export declare function resolveActivityLabel(activity: RunActivity, glyphs: ReturnType<typeof pickGlyphs>): string;
13
- export interface ActivityLabelProps extends RunActivity {
14
- /**
15
- * False forces a static glyph. Compatibility phrases still follow reducedMotion.
16
- */
17
- spinnerLive?: boolean;
18
- /** Prefix one space for compatibility line consumers. */
19
- leadingSpace?: boolean;
20
- theme: Theme;
21
- caps: TermCapabilities;
22
- }
23
- /** `<spinner> <label>` as ONE truncating `<Text>`; the only place that composes them. */
24
- export declare function ActivityLabel({ spinnerLive, leadingSpace, theme, caps, ...activity }: ActivityLabelProps): React.ReactElement;
25
- export type ActivityLineProps = Omit<ActivityLabelProps, 'spinnerLive' | 'leadingSpace'>;
26
- export declare function ActivityLine(props: ActivityLineProps): React.ReactElement;
@@ -1,51 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- import Spinner from 'ink-spinner';
4
- import { pickGlyphs } from './glyphs.js';
5
- import { pickActivityPhrase } from './activity-phrases.js';
6
- import { phaseLabels, shortDuration } from './layout/status-layout.js';
7
- /** Shared animation factory; returns null for ASCII or reduced-motion terminals. */
8
- export function liveSpinner(reducedMotion, caps) {
9
- return caps.unicode && !reducedMotion ? _jsx(Spinner, { type: "dots" }) : null;
10
- }
11
- /** Explicit execution facts outrank compatibility tool names and rotating phrases. */
12
- export function resolveActivityLabel(activity, glyphs) {
13
- // A WAIT OUTRANKS EVERYTHING BELOW IT, and sits ABOVE `runningTool` on purpose:
14
- // "Running job_wait" names the tool, "Waiting on t3 (up to 30s)" names the
15
- // situation. It is placed after the phase/outcome branch because a settled run
16
- // must never claim to be waiting for anything.
17
- if (activity.phase === undefined && activity.outcome === undefined && activity.wait) {
18
- const { jobId, upToSeconds, elapsedSeconds } = activity.wait;
19
- return elapsedSeconds !== undefined
20
- ? `Waiting on ${jobId} ${shortDuration(elapsedSeconds * 1000)}/${shortDuration(upToSeconds * 1000)}`
21
- : `Waiting on ${jobId} (up to ${upToSeconds}s)`;
22
- }
23
- if (activity.phase !== undefined || activity.activeTool !== undefined || activity.outcome !== undefined) {
24
- return phaseLabels({
25
- phase: activity.phase ?? (activity.activeTool ? 'tool' : 'idle'),
26
- activeTool: activity.activeTool, runOutcome: activity.outcome, compacting: activity.compacting,
27
- })[1];
28
- }
29
- if (activity.compacting)
30
- return `Compacting context${glyphs.ellipsis}`;
31
- if (activity.runningTool)
32
- return `Running ${activity.runningTool}`;
33
- // PURE AND DERIVED FROM `(startedAt, now)`, so the sequence does not need to
34
- // keep rotating underneath the tool label: when the tool settles the phrase
35
- // resumes at the position the clock implies, with no state anywhere.
36
- const phrase = pickActivityPhrase(activity.startedAt, activity.startedAt + activity.elapsedMs, !activity.reducedMotion);
37
- return `${phrase}${glyphs.ellipsis}`;
38
- }
39
- /** `<spinner> <label>` as ONE truncating `<Text>`; the only place that composes them. */
40
- export function ActivityLabel({ spinnerLive = true, leadingSpace = false, theme, caps, ...activity }) {
41
- const glyphs = pickGlyphs(caps);
42
- const label = resolveActivityLabel(activity, glyphs);
43
- const settled = activity.phase === 'idle' || (activity.phase === undefined
44
- && activity.outcome !== undefined && activity.outcome !== 'none' && !activity.activeTool);
45
- const spinner = (spinnerLive && (!settled || activity.compacting) ? liveSpinner(activity.reducedMotion, caps) : null) ??
46
- glyphs.spinnerStill;
47
- return (_jsxs(Text, { wrap: "truncate", color: theme.thinking, children: [leadingSpace ? ' ' : '', spinner, " ", label] }));
48
- }
49
- export function ActivityLine(props) {
50
- return (_jsx(Box, { flexShrink: 0, children: _jsx(ActivityLabel, { ...props, leadingSpace: true }) }));
51
- }
@@ -1,23 +0,0 @@
1
- /**
2
- * Autocomplete popup (spec §3.6). A shared bordered suggestion menu used by both
3
- * the slash-command palette and `@file` completion. Presentational only — the
4
- * suggestion list, selection index, and key handling live in `PromptInput`.
5
- */
6
- import React from 'react';
7
- import type { Theme } from './theme.js';
8
- import type { TermCapabilities } from './capabilities.js';
9
- import { type AutocompleteLayout } from './layout/autocomplete.js';
10
- export interface Suggestion {
11
- label: string;
12
- hint?: string;
13
- }
14
- interface AutocompletePopupProps {
15
- items: Suggestion[];
16
- selected: number;
17
- theme: Theme;
18
- caps: TermCapabilities;
19
- maxRows?: number;
20
- layout?: AutocompleteLayout;
21
- }
22
- export declare function AutocompletePopup({ items, selected, theme, caps, maxRows, layout, }: AutocompletePopupProps): React.ReactElement | null;
23
- export {};
@@ -1,17 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- import { pickGlyphs } from './glyphs.js';
4
- import { buildAutocompleteLayout } from './layout/autocomplete.js';
5
- export function AutocompletePopup({ items, selected, theme, caps, maxRows, layout, }) {
6
- const projection = layout ?? buildAutocompleteLayout({ itemCount: items.length, selected, maxRows });
7
- if (projection.rowCount === 0)
8
- return null;
9
- const glyphs = pickGlyphs(caps);
10
- const { start: windowStart, count, moreBelow, showMore } = projection;
11
- const visible = items.slice(windowStart, windowStart + count);
12
- return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, borderStyle: glyphs.boxStyle, borderColor: theme.border, paddingX: 1, children: [visible.map((item, i) => {
13
- const idx = windowStart + i;
14
- const active = idx === selected;
15
- return (_jsxs(Text, { inverse: active, wrap: "truncate", children: [_jsx(Text, { color: active ? theme.accent : theme.muted, children: active ? `${glyphs.caret} ` : ' ' }), _jsx(Text, { color: active ? undefined : theme.primary, children: item.label.replace(/\s+/g, ' ') }), item.hint ? _jsxs(Text, { color: theme.muted, children: [" ", item.hint.replace(/\s+/g, ' ')] }) : null] }, idx));
16
- }), showMore && _jsxs(Text, { wrap: "truncate", color: theme.muted, children: [" +", moreBelow, " more"] })] }));
17
- }
@@ -1,10 +0,0 @@
1
- /** Renders an already allocated detail row; it never chooses visibility or animation. */
2
- import React from 'react';
3
- import type { Theme } from './theme.js';
4
- import type { StatusLinePlan } from './layout/status-layout.js';
5
- export interface BottomStatusRowProps {
6
- plan: StatusLinePlan;
7
- columns: number;
8
- theme: Theme;
9
- }
10
- export declare function BottomStatusRow({ plan, columns, theme }: BottomStatusRowProps): React.ReactElement;
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /** Renders an already allocated detail row; it never chooses visibility or animation. */
3
- import React from 'react';
4
- import { Box, Text } from 'ink';
5
- export function BottomStatusRow({ plan, columns, theme }) {
6
- const tones = { normal: theme.primary, muted: theme.muted, warning: theme.noticeWarn, error: theme.noticeError,
7
- accent: theme.accent, govern: theme.governAccent };
8
- return _jsxs(Box, { height: 1, width: columns, flexShrink: 0, overflow: "hidden", children: [_jsx(Box, { width: 1, flexShrink: 0, children: _jsx(Text, { children: " " }) }), plan.fields.map((field, index) => _jsxs(React.Fragment, { children: [index > 0 && _jsx(Box, { width: plan.separatorCells, flexShrink: 0, children: _jsx(Text, { color: theme.muted, children: plan.separator }) }), _jsx(Box, { width: field.cells, flexShrink: 0, children: _jsx(Text, { wrap: "truncate", color: tones[field.tone], children: field.text }) })] }, field.id))] });
9
- }
@@ -1,115 +0,0 @@
1
- /** Input border and draft shell. Global action hints and activity live below the viewport. */
2
- import React from 'react';
3
- import { type DOMElement } from 'ink';
4
- import type { Theme } from './theme.js';
5
- import type { TermCapabilities } from './capabilities.js';
6
- import { pickGlyphs } from './glyphs.js';
7
- import type { ComposerSubmitResult } from './composer-input.js';
8
- import { type CommandOption, type DraftFill } from './PromptInput.js';
9
- import type { RunActivity } from './run-status-row.js';
10
- import { type AgentMode } from '../agent/agent-mode.js';
11
- /** Legacy caller shape retained for source compatibility; Composer no longer mounts it. */
12
- export interface RunRowProps {
13
- activity: RunActivity;
14
- /** The row is in the viewport with no overlay: draw the animated spinner. */
15
- live: boolean;
16
- /** Measured by `ScrollViewport` to learn whether the row has scrolled away. */
17
- rowRef?: React.RefObject<DOMElement>;
18
- }
19
- export interface ComposerProps {
20
- /** Compatibility prop; activity is now rendered by the global StatusBar. */
21
- runRow?: RunRowProps | null;
22
- cols?: number;
23
- terminalRows?: number;
24
- statusExpanded?: boolean;
25
- deleteDisambiguated?: boolean;
26
- onCompletionContextChange?: (context: 'none' | 'slash' | 'file') => void;
27
- cursorVisible?: boolean;
28
- onInteraction?: () => void;
29
- measureRef?: React.RefObject<DOMElement>;
30
- /** False while an overlay owns the keyboard (the input is visually blurred). */
31
- isActive: boolean;
32
- reducedMotion?: boolean;
33
- onEscape?: () => void;
34
- onEscapeDismiss?: () => void;
35
- running: boolean;
36
- history: string[];
37
- commands: CommandOption[];
38
- cwd: string;
39
- /** Dropped on short terminals to buy back a row (§5.4). */
40
- showHint: boolean;
41
- /** Compatibility prop; submission count no longer hides essential actions. */
42
- submitCount: number;
43
- /** Compatibility prop; App owns secondary teaching-hint visibility. */
44
- hintsEnabled: boolean;
45
- /** Mirror of the controller's effective mode; drives the border. */
46
- agentMode: AgentMode;
47
- /**
48
- * The adopted posture (governance-mode 10.2). A governed one paints the idle/draft
49
- * border in `governAccent`, the same slot PLAN uses `accent` for. Absent = the
50
- * pre-governance border logic, unchanged.
51
- */
52
- posture?: string;
53
- /** Compatibility prop; the global action row names the effective mode key. */
54
- modeToggleKey?: string;
55
- popupMaxRows?: number;
56
- popupMaxHeight?: number;
57
- onPopupRowsChange?: (rows: number) => void;
58
- /** Compatibility prop; history position is displayed by Header. */
59
- scrolledLines?: number;
60
- /** Compatibility prop; the global status and action rows show live services. */
61
- services?: number;
62
- /**
63
- * The composer's DRAFT row count, forwarded upward (tui-paste-handling
64
- * section 5.5).
65
- *
66
- * `hasDraft` stays here, because the border reacts to it and routing that
67
- * through `App` would re-render the transcript on the first keystroke of every
68
- * message. The row count is the opposite case: `layout/budget.ts` needs it, so
69
- * it has to reach `App` — and it changes on a line break rather than on a
70
- * character, which is what keeps the re-render rate the same (R-6).
71
- */
72
- onDraftRows?: (rows: number) => void;
73
- /**
74
- * Draft PRESENCE, forwarded upward for the Ctrl+C ladder
75
- * (ctrl-c-clear-draft-exit). App stores it in a ref only - no state,
76
- * so the transcript does not re-render on the first keystroke of a
77
- * message (the same cost the comment above documents).
78
- */
79
- onDraftPresence?: (hasDraft: boolean) => void;
80
- /**
81
- * Downward half of the same channel: ticks when App asks the editor
82
- * to clear the draft (Ctrl+C x2 while drafting). Passed through to
83
- * PromptInput unchanged.
84
- */
85
- draftClearNonce?: number;
86
- /** Downward half of the fill channel; forwarded to `PromptInput` unchanged. */
87
- draftFill?: DraftFill;
88
- /** `prompts.insertMode`, forwarded unchanged. */
89
- insertMode?: 'insert' | 'replace';
90
- /** Paste refusals from `PromptInput`, routed to `App`'s notice dispatch. */
91
- onNotice?: (level: 'warn' | 'error', text: string) => void;
92
- theme: Theme;
93
- caps: TermCapabilities;
94
- onSubmit: (text: string) => ComposerSubmitResult;
95
- onHelp?: () => void;
96
- }
97
- /** Legacy helper retained for consumers and contract tests; not rendered by Composer. */
98
- export declare function runningHintClauses(opts: {
99
- glyphs: ReturnType<typeof pickGlyphs>;
100
- services: number;
101
- }): string[];
102
- /** Compatibility formatter. Product hints use interaction-hints.ts. */
103
- declare function hintText(opts: {
104
- running: boolean;
105
- submitCount: number;
106
- glyphs: ReturnType<typeof pickGlyphs>;
107
- mode: AgentMode;
108
- toggleKey: string;
109
- /** Live background services; 0 leaves both rows byte-identical to today's. */
110
- services: number;
111
- }): string;
112
- /** Compatibility export for existing hint contract tests. */
113
- export declare const hintTextForTest: typeof hintText;
114
- export declare function Composer({ deleteDisambiguated, onCompletionContextChange, cols, terminalRows, statusExpanded, cursorVisible, onInteraction, measureRef, isActive, reducedMotion, onEscape, onEscapeDismiss, running, history, commands, cwd, agentMode, posture, popupMaxRows, popupMaxHeight, onPopupRowsChange, onDraftRows, onDraftPresence, draftClearNonce, draftFill, insertMode, onNotice, theme, caps, onSubmit, onHelp, }: ComposerProps): React.ReactElement;
115
- export {};