@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,64 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /** Input border and draft shell. Global action hints and activity live below the viewport. */
3
- import { useCallback, useState } from 'react';
4
- import { Box } from 'ink';
5
- import { HINT_FADE_AFTER } from '../config/schema.js';
6
- import { PromptInput } from './PromptInput.js';
7
- import { MODE_LABEL, nextMode } from '../agent/agent-mode.js';
8
- import { isGovernedModeValue } from './governance-status.js';
9
- /** Legacy helper retained for consumers and contract tests; not rendered by Composer. */
10
- export function runningHintClauses(opts) {
11
- const { glyphs, services } = opts;
12
- const clauses = [`${glyphs.enterKey} queue`, `esc${glyphs.times}2 interrupt`];
13
- if (services > 0)
14
- clauses.push(`ctrl+c stop ${services}`);
15
- clauses.push(`ctrl+c${glyphs.times}2 exit`);
16
- return clauses;
17
- }
18
- /** Compatibility formatter. Product hints use interaction-hints.ts. */
19
- function hintText(opts) {
20
- const { running, submitCount, glyphs, mode, toggleKey, services } = opts;
21
- const dot = ` ${glyphs.midDot} `;
22
- if (running)
23
- return runningHintClauses({ glyphs, services }).join(dot);
24
- const toggle = `${toggleKey} ${MODE_LABEL[nextMode(mode)].toLowerCase()}`;
25
- const stop = services > 0 ? [`ctrl+c stop ${services}`] : [];
26
- if (submitCount >= HINT_FADE_AFTER)
27
- return [...stop, toggle, '? help'].join(dot);
28
- return [
29
- ...stop,
30
- `${glyphs.enterKey} send`,
31
- `${glyphs.shiftEnter} newline`,
32
- '/ commands',
33
- '@ files',
34
- toggle,
35
- '? help',
36
- ].join(dot);
37
- }
38
- /** Compatibility export for existing hint contract tests. */
39
- export const hintTextForTest = hintText;
40
- export 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, }) {
41
- const [hasDraft, setHasDraft] = useState(false);
42
- const onDraftChange = useCallback((next) => {
43
- setHasDraft(next.hasDraft);
44
- // Presence FIRST: the App ref must be current before the row-count
45
- // report below can trigger the App render that reads it.
46
- onDraftPresence?.(next.hasDraft);
47
- onDraftRows?.(next.rows);
48
- }, [onDraftPresence, onDraftRows]);
49
- // Plan mode inserts ONE branch, above `draft` and below `running`. The
50
- // ordering is load-bearing: an in-flight run's border must stay `toolRunning`,
51
- // because "is it running" is more urgent than "which mode".
52
- const borderColor = !isActive
53
- ? theme.toolPending
54
- : running
55
- ? theme.toolRunning
56
- : isGovernedModeValue(posture)
57
- ? theme.governAccent
58
- : agentMode === 'plan'
59
- ? theme.accent
60
- : hasDraft
61
- ? theme.focusBorder ?? theme.primary
62
- : theme.idleBorder ?? theme.border;
63
- return (_jsx(Box, { ref: measureRef, width: cols, flexDirection: "column", flexShrink: 0, children: _jsx(PromptInput, { deleteDisambiguated: deleteDisambiguated, onCompletionContextChange: onCompletionContextChange, cols: cols, terminalRows: terminalRows, statusExpanded: statusExpanded, cursorVisible: cursorVisible, onInteraction: onInteraction, isActive: isActive, reducedMotion: reducedMotion, onEscape: onEscape, onEscapeDismiss: onEscapeDismiss, running: running, history: history, commands: commands, cwd: cwd, theme: theme, caps: caps, popupMaxRows: popupMaxRows, popupMaxHeight: popupMaxHeight, onPopupRowsChange: onPopupRowsChange, onSubmit: onSubmit, onHelp: onHelp, agentMode: agentMode, borderColor: borderColor, onDraftChange: onDraftChange, draftClearNonce: draftClearNonce, draftFill: draftFill, insertMode: insertMode, onNotice: onNotice }) }));
64
- }
@@ -1,50 +0,0 @@
1
- /**
2
- * GovernancePanel - the legion panel (governance-mode section 10.3).
3
- *
4
- * ASCII ONLY: every glyph comes from `pickGlyphs`, through the layout.
5
- *
6
- * THIS COMPONENT ONLY COLOURS AND PLACES. Every decision - which tier, which columns, how
7
- * wide, what each cell says, which row is hidden - was made by
8
- * `layout/governance-panel.ts`, and the `layout` prop is REQUIRED: `App` builds it once to
9
- * learn the panel's height (the native band and the TODO rail both budget against it) and
10
- * hands the very same object here, so the number that decides whether the panel mounts is
11
- * the number it is drawn from. A panel that re-planned itself could draw a taller tier than
12
- * the one the band reserved, and the band clips the overflow in silence.
13
- *
14
- * IT REPLACES `TeamPanel` WHILE A GOVERNED STAGE RUNS (D-17), it does not stack with it:
15
- * the repo has been bitten by a "double roster" once (tui-subagent-double-roster), and a
16
- * governed dispatch is the one case where two live rosters would be the same children
17
- * listed twice.
18
- *
19
- * NO `ink-spinner` HERE, on purpose. While a governed stage runs the lead's turn is
20
- * running, the activity row owns the one spinner (single-spinner-while-running), and every
21
- * panel is handed the widened reduced-motion signal anyway - an animation here would never
22
- * play. The working marker is `statusGlyph(...)`, and `reducedMotion` is the USER's
23
- * preference: it only decides whether a score change flashes for four seconds or stays put.
24
- *
25
- * COLUMNS ARE FIXED-WIDTH BOXES with exactly one elastic cell (`governance-roster.ts`), the
26
- * lesson `TeamPanel` records at length: a flex-grown column under a fixed-height parent
27
- * stretches to its widest child and the cells to its right lose their offsets.
28
- */
29
- import React from 'react';
30
- import type { GovernanceSnapshot } from '../governance/types.js';
31
- import type { Theme } from './theme.js';
32
- import type { TermCapabilities } from './capabilities.js';
33
- import { type EliminatedSince } from './governance-status.js';
34
- import type { GovernancePanelLayout } from './layout/governance-panel.js';
35
- /**
36
- * The first-seen-eliminated map, kept across snapshots so a replaced member shows its
37
- * `replaced by ...` note for exactly one phase. Reset when the run changes or ends.
38
- *
39
- * A ref written during render is acceptable here because the write is idempotent
40
- * (`trackEliminated` returns the same object when nothing is new) and no other component
41
- * reads the ref - `App` reads only the returned value.
42
- */
43
- export declare function useEliminatedSince(snapshot: GovernanceSnapshot | null): EliminatedSince;
44
- export interface GovernancePanelProps {
45
- /** Built by `buildGovernancePanelLayout`; the SAME object `App` read the height from. */
46
- layout: GovernancePanelLayout;
47
- theme: Theme;
48
- caps: TermCapabilities;
49
- }
50
- export declare function GovernancePanel({ layout, theme, caps }: GovernancePanelProps): React.ReactElement | null;
@@ -1,77 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * GovernancePanel - the legion panel (governance-mode section 10.3).
4
- *
5
- * ASCII ONLY: every glyph comes from `pickGlyphs`, through the layout.
6
- *
7
- * THIS COMPONENT ONLY COLOURS AND PLACES. Every decision - which tier, which columns, how
8
- * wide, what each cell says, which row is hidden - was made by
9
- * `layout/governance-panel.ts`, and the `layout` prop is REQUIRED: `App` builds it once to
10
- * learn the panel's height (the native band and the TODO rail both budget against it) and
11
- * hands the very same object here, so the number that decides whether the panel mounts is
12
- * the number it is drawn from. A panel that re-planned itself could draw a taller tier than
13
- * the one the band reserved, and the band clips the overflow in silence.
14
- *
15
- * IT REPLACES `TeamPanel` WHILE A GOVERNED STAGE RUNS (D-17), it does not stack with it:
16
- * the repo has been bitten by a "double roster" once (tui-subagent-double-roster), and a
17
- * governed dispatch is the one case where two live rosters would be the same children
18
- * listed twice.
19
- *
20
- * NO `ink-spinner` HERE, on purpose. While a governed stage runs the lead's turn is
21
- * running, the activity row owns the one spinner (single-spinner-while-running), and every
22
- * panel is handed the widened reduced-motion signal anyway - an animation here would never
23
- * play. The working marker is `statusGlyph(...)`, and `reducedMotion` is the USER's
24
- * preference: it only decides whether a score change flashes for four seconds or stays put.
25
- *
26
- * COLUMNS ARE FIXED-WIDTH BOXES with exactly one elastic cell (`governance-roster.ts`), the
27
- * lesson `TeamPanel` records at length: a flex-grown column under a fixed-height parent
28
- * stretches to its widest child and the cells to its right lose their offsets.
29
- */
30
- import { useRef } from 'react';
31
- import { Box, Text } from 'ink';
32
- import { pickGlyphs } from './glyphs.js';
33
- import { trackEliminated } from './governance-status.js';
34
- import { GovernanceLine } from './GovernanceRun.js';
35
- import { PANEL_MARGIN_CELLS, } from './layout/governance-roster.js';
36
- /**
37
- * The first-seen-eliminated map, kept across snapshots so a replaced member shows its
38
- * `replaced by ...` note for exactly one phase. Reset when the run changes or ends.
39
- *
40
- * A ref written during render is acceptable here because the write is idempotent
41
- * (`trackEliminated` returns the same object when nothing is new) and no other component
42
- * reads the ref - `App` reads only the returned value.
43
- */
44
- export function useEliminatedSince(snapshot) {
45
- const ref = useRef({ runId: null, since: {} });
46
- if (snapshot === null) {
47
- if (ref.current.runId !== null)
48
- ref.current = { runId: null, since: {} };
49
- return ref.current.since;
50
- }
51
- const base = ref.current.runId === snapshot.runId ? ref.current.since : {};
52
- ref.current = { runId: snapshot.runId, since: trackEliminated(base, snapshot) };
53
- return ref.current.since;
54
- }
55
- function Margin() {
56
- return (_jsx(Box, { width: PANEL_MARGIN_CELLS, flexShrink: 0, children: _jsx(Text, { children: " " }) }));
57
- }
58
- function LineView({ line, theme }) {
59
- return (_jsxs(Box, { flexDirection: "row", width: "100%", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Margin, {}), _jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: _jsx(GovernanceLine, { segments: line.left, theme: theme }) }), line.rightCells > 0 && (_jsx(Box, { width: line.rightCells, flexShrink: 0, justifyContent: "flex-end", children: _jsx(GovernanceLine, { segments: line.right, theme: theme }) }))] }));
60
- }
61
- function CellView({ cell, theme }) {
62
- const content = _jsx(GovernanceLine, { segments: cell.segments, theme: theme });
63
- if (cell.elastic) {
64
- return _jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: content });
65
- }
66
- return (_jsx(Box, { width: cell.width, flexShrink: 0, overflow: "hidden", justifyContent: cell.align === 'right' ? 'flex-end' : 'flex-start', children: content }));
67
- }
68
- function RosterView({ line, theme }) {
69
- return (_jsxs(Box, { flexDirection: "row", width: "100%", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Margin, {}), line.cells.map((cell) => (_jsx(CellView, { cell: cell, theme: theme }, cell.key)))] }));
70
- }
71
- export function GovernancePanel({ layout, theme, caps }) {
72
- if (layout.height === 0 || layout.header === null)
73
- return null;
74
- const glyphs = pickGlyphs(caps);
75
- const rule = layout.ruleCells > 0 ? (_jsxs(Box, { flexDirection: "row", width: "100%", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Margin, {}), _jsx(Text, { wrap: "truncate", color: theme.border, children: glyphs.hrule.repeat(layout.ruleCells) })] })) : null;
76
- return (_jsxs(Box, { flexDirection: "column", width: "100%", flexShrink: 0, children: [_jsx(LineView, { line: layout.header, theme: theme }), layout.pipeline !== null && _jsx(LineView, { line: layout.pipeline, theme: theme }), rule, layout.rosterRows.map((line) => (_jsx(RosterView, { line: line, theme: theme }, line.key))), layout.overflow !== null && (_jsxs(Box, { flexDirection: "row", width: "100%", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Margin, {}), _jsx(Text, { wrap: "truncate", color: theme.muted, children: layout.overflow })] })), rule, layout.ticker.map((line, index) => (_jsx(LineView, { line: line, theme: theme }, `ticker-${index}`)))] }));
77
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * GovernanceRun - paints one `Segment[]` run: the single place a governance layout's
3
- * semantic tones become Ink colours.
4
- *
5
- * ASCII ONLY. The panel, the card and the board all draw the same `Segment` vocabulary,
6
- * and three private copies of this loop is how their bold / tone handling drifts apart.
7
- */
8
- import React from 'react';
9
- import type { Theme } from './theme.js';
10
- import { type Segment } from './governance-status.js';
11
- export interface GovernanceRunProps {
12
- segments: readonly Segment[];
13
- theme: Theme;
14
- }
15
- /** The segments as nested `Text`; the CALLER owns wrapping and truncation. */
16
- export declare function GovernanceRun({ segments, theme }: GovernanceRunProps): React.ReactElement;
17
- /** One display row: the run inside a `wrap="truncate"` `Text`, so it can never wrap. */
18
- export declare function GovernanceLine({ segments, theme }: GovernanceRunProps): React.ReactElement;
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Text } from 'ink';
3
- import { toneColor } from './governance-status.js';
4
- /** The segments as nested `Text`; the CALLER owns wrapping and truncation. */
5
- export function GovernanceRun({ segments, theme }) {
6
- return (_jsx(_Fragment, { children: segments.map((part, index) => (_jsx(Text, { color: toneColor(part.tone, theme), ...(part.bold ? { bold: true } : {}), children: part.text }, index))) }));
7
- }
8
- /** One display row: the run inside a `wrap="truncate"` `Text`, so it can never wrap. */
9
- export function GovernanceLine({ segments, theme }) {
10
- return (_jsx(Text, { wrap: "truncate", children: _jsx(GovernanceRun, { segments: segments, theme: theme }) }));
11
- }
@@ -1,48 +0,0 @@
1
- /**
2
- * One-row brand bar: word mark, identity, working directory, task summary and a
3
- * fixed-width hint column (tui-shortcut-drawer-and-task-summary §4.2 / §4.3).
4
- *
5
- * THIS COMPONENT COMPUTES NO WIDTHS ANY MORE. Both halves come from pure
6
- * planners - `planHeaderHints` for the right column and `planHeaderLeft` for the
7
- * clause ladder - so the only arithmetic left here is "join what I was given".
8
- * The old shape carried a `statusExpanded` flag, a kit switch and a prompts
9
- * switch, all of which existed to choose between header clauses; the clauses are
10
- * gone (the drawer lists the keys instead), so the props are gone with them.
11
- */
12
- import React from 'react';
13
- import type { Theme } from './theme.js';
14
- import type { TermCapabilities } from './capabilities.js';
15
- import { type HeaderVariant } from './Logo.js';
16
- import { type HeaderPanelState } from './layout/header-hints.js';
17
- interface HeaderProps {
18
- cwd: string;
19
- provider: string;
20
- model: string;
21
- hasKey: boolean;
22
- variant: HeaderVariant;
23
- theme: Theme;
24
- caps: TermCapabilities;
25
- columns?: number;
26
- /**
27
- * What the right column says. Derived in ONE place - the line that renders
28
- * `<Header>` - so the two overlay slots cannot disagree about it.
29
- */
30
- panel?: HeaderPanelState;
31
- scrolledLines?: number;
32
- /**
33
- * The session's task label, or `null` while there is none.
34
- *
35
- * `null` WHILE PENDING TOO: a placeholder here would spend eight columns of the
36
- * row to draw an ellipsis and then move everything back when the label lands,
37
- * so the first submit visibly jogged the header. The label now appears once,
38
- * complete (P2-10).
39
- */
40
- taskSummary?: {
41
- text: string;
42
- tone: 'model' | 'fallback';
43
- } | null;
44
- /** `config.taskSummary.enabled`; `false` removes the cell without removing the words. */
45
- summaryEnabled?: boolean;
46
- }
47
- export declare function Header({ cwd, provider, model, hasKey, variant, theme, caps, columns, panel, scrolledLines, taskSummary, summaryEnabled, }: HeaderProps): React.ReactElement;
48
- export {};
package/dist/ui/Header.js DELETED
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { basename } from 'node:path';
3
- import { Box, Text } from 'ink';
4
- import { Logo } from './Logo.js';
5
- import { pickGlyphs } from './glyphs.js';
6
- import { planHeaderHints, HEADER_HINT_LIMITS, } from './layout/header-hints.js';
7
- import { planHeaderLeft } from './layout/header-left.js';
8
- export function Header({ cwd, provider, model, hasKey, variant, theme, caps, columns = 80, panel = 'none', scrolledLines = 0, taskSummary = null, summaryEnabled = true, }) {
9
- const glyphs = pickGlyphs(caps);
10
- // THE RIGHT COLUMN FIRST: it is the only clause that may never be dropped, so
11
- // the left half is planned against what is left after it (defect 12).
12
- const plan = planHeaderHints({ columns, panel, scrolledLines });
13
- const leftCells = Math.max(0, columns - plan.cells - HEADER_HINT_LIMITS.separatorCells);
14
- const left = planHeaderLeft({
15
- leftCells,
16
- provider,
17
- model,
18
- cwd: basename(cwd) || cwd,
19
- hasKey,
20
- summary: taskSummary,
21
- summaryEnabled,
22
- ellipsis: glyphs.ellipsis,
23
- });
24
- return _jsxs(Box, { flexDirection: "row", height: 1, width: columns, flexShrink: 0, overflow: "hidden", children: [_jsx(Box, { width: leftCells, flexShrink: 0, overflow: "hidden", children: _jsxs(Text, { wrap: "truncate", children: [_jsx(Logo, { variant: variant === 'mini' ? 'mini' : 'bar', theme: theme, caps: caps }), variant !== 'mini' && _jsxs(_Fragment, { children: [left.text.model && _jsxs(Text, { color: theme.accent, children: [' ', left.text.model] }), left.text.cwd && _jsxs(Text, { color: theme.muted, children: [' ', left.text.cwd] }), left.text.summary && _jsxs(Text, { color: theme.muted, children: [' ', glyphs.midDot, ' '] }), left.text.summary && (taskSummary?.tone === 'fallback'
25
- ? _jsx(Text, { color: theme.muted, dimColor: true, children: left.text.summary })
26
- : _jsx(Text, { color: theme.primary, children: left.text.summary })), _jsxs(Text, { color: hasKey ? theme.toolDone : theme.toolRunning, children: [' ', hasKey ? theme.symbols.keyOn : theme.symbols.keyOff] })] })] }) }), _jsx(Box, { width: HEADER_HINT_LIMITS.separatorCells, flexShrink: 0 }), _jsx(Box, { width: plan.cells, flexShrink: 0, justifyContent: "flex-end", children: _jsx(Text, { color: theme.muted, wrap: "truncate", children: plan.text }) })] });
27
- }
package/dist/ui/Logo.d.ts DELETED
@@ -1,32 +0,0 @@
1
- /**
2
- * Brand wordmark (spec §5.1 / R1). The first row of the frame always starts
3
- * with a brand glyph, at every terminal size and every capability tier.
4
- */
5
- import React from 'react';
6
- import type { Theme } from './theme.js';
7
- import type { TermCapabilities } from './capabilities.js';
8
- /** 6 rows × 52 columns, every row equal width (pinned by logo.test.ts). */
9
- export declare const LOGO_ART: readonly string[];
10
- export declare const LOGO_ART_WIDTH = 52;
11
- export type HeaderVariant = 'bar' | 'mini';
12
- /** How the one-off opening wordmark renders inside the viewport (§4.2). */
13
- export type OpenerVariant = 'art' | 'banner' | 'none';
14
- export declare function pickHeaderVariant(cols: number): HeaderVariant;
15
- /**
16
- * Pick the opening wordmark tier.
17
- *
18
- * Judged against VIEWPORT rows rather than terminal rows because the wordmark
19
- * now spends the viewport's budget, not the frame's: the test has to be against
20
- * the account being charged.
21
- *
22
- * Color preferences must not change geometry: a monochrome TUI gets the same
23
- * wordmark as a colored one when there is room for it.
24
- */
25
- export declare function pickOpenerVariant(viewportRows: number, cols: number): OpenerVariant;
26
- export interface LogoProps {
27
- /** `art` / `banner` come from `SessionOpener`; `bar` / `mini` from `Header`. */
28
- variant: HeaderVariant | OpenerVariant;
29
- theme: Theme;
30
- caps: TermCapabilities;
31
- }
32
- export declare function Logo({ variant, theme, caps }: LogoProps): React.ReactElement | null;
package/dist/ui/Logo.js DELETED
@@ -1,65 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Text } from 'ink';
3
- import { gradientLine } from './gradient.js';
4
- /** 6 rows × 52 columns, every row equal width (pinned by logo.test.ts). */
5
- export const LOGO_ART = [
6
- ' █████╗ ██████╗ █████╗ ██████╗ ██████╗ ███╗ ██╗',
7
- '██╔══██╗██╔══██╗██╔══██╗██╔════╝ ██╔═══██╗████╗ ██║',
8
- '███████║██████╔╝███████║██║ ███╗██║ ██║██╔██╗ ██║',
9
- '██╔══██║██╔══██╗██╔══██║██║ ██║██║ ██║██║╚██╗██║',
10
- '██║ ██║██║ ██║██║ ██║╚██████╔╝╚██████╔╝██║ ╚████║',
11
- '╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝',
12
- ];
13
- export const LOGO_ART_WIDTH = 52;
14
- /** Minimum viewport rows / cols each tier needs before it earns its budget. */
15
- const ART_MIN_VIEWPORT_ROWS = 14;
16
- /**
17
- * 4 columns of headroom on purpose: the art renders with `wrap="truncate"`, so
18
- * at zero headroom anything upstream claiming a single column silently shears
19
- * the right edge off the `N`. Between `LOGO_ART_WIDTH` and this threshold the
20
- * opener degrades to `banner`, which is the intended fallback (rename C2).
21
- */
22
- const ART_MIN_COLS = LOGO_ART_WIDTH + 4;
23
- const BANNER_MIN_COLS = 48;
24
- const BAR_MIN_COLS = 40;
25
- export function pickHeaderVariant(cols) {
26
- return cols >= BAR_MIN_COLS ? 'bar' : 'mini';
27
- }
28
- /**
29
- * Pick the opening wordmark tier.
30
- *
31
- * Judged against VIEWPORT rows rather than terminal rows because the wordmark
32
- * now spends the viewport's budget, not the frame's: the test has to be against
33
- * the account being charged.
34
- *
35
- * Color preferences must not change geometry: a monochrome TUI gets the same
36
- * wordmark as a colored one when there is room for it.
37
- */
38
- export function pickOpenerVariant(viewportRows, cols) {
39
- if (viewportRows >= ART_MIN_VIEWPORT_ROWS &&
40
- cols >= ART_MIN_COLS) {
41
- return 'art';
42
- }
43
- if (cols >= BANNER_MIN_COLS)
44
- return 'banner';
45
- return 'none';
46
- }
47
- /** Rotate the gradient stops by one per row so the block reads as a diagonal sheen. */
48
- function shiftStops(stops, row) {
49
- if (stops.length === 0)
50
- return stops;
51
- const at = row % stops.length;
52
- return [...stops.slice(at), ...stops.slice(0, at)];
53
- }
54
- export function Logo({ variant, theme, caps }) {
55
- const wordmark = `${theme.symbols.wordmark} AragonAgent`;
56
- if (variant === 'none')
57
- return null;
58
- if (variant === 'art') {
59
- return (_jsx(_Fragment, { children: LOGO_ART.map((line, i) => (_jsx(Text, { wrap: "truncate", color: theme.gradient.length > 0 ? undefined : theme.logoShadow, children: gradientLine(line, shiftStops(theme.gradient, i), caps.colorLevel) }, i))) }));
60
- }
61
- if (variant === 'banner') {
62
- return (_jsx(Text, { wrap: "truncate", bold: true, color: theme.gradient.length > 0 ? undefined : theme.primary, children: gradientLine(wordmark, theme.gradient, caps.colorLevel) }));
63
- }
64
- return (_jsx(Text, { bold: true, color: theme.primary, children: wordmark }));
65
- }
@@ -1,29 +0,0 @@
1
- /**
2
- * Lightweight markdown renderer for Ink (spec §4 / §4.7).
3
- *
4
- * Supports: fenced code blocks (syntax-highlighted via cli-highlight, on a left
5
- * rail with a language tag), six DISTINCT heading weights, horizontal rules,
6
- * unordered/ordered lists, blockquotes, pipe tables, and inline **bold** /
7
- * *italic* / `code` / ~~strike~~. Anything else renders as plain text. Still
8
- * intentionally small — not a CommonMark implementation.
9
- *
10
- * The grammar lives in `markdown-blocks.ts`; this file only renders. That was
11
- * true of the file header long before it was true of the file
12
- * (tui-render-performance R2): the block grammar used to run here, in the render
13
- * body, on every frame. Both expensive halves are now memoised on the input
14
- * string — `parseMarkdownCached` for the AST, `highlightCached` for the ANSI —
15
- * while theme and glyphs stay render-time, so `/theme` still takes effect
16
- * immediately (K-5).
17
- */
18
- import React from 'react';
19
- import type { Theme } from './theme.js';
20
- import type { TermCapabilities } from './capabilities.js';
21
- interface MarkdownProps {
22
- text: string;
23
- theme: Theme;
24
- caps: TermCapabilities;
25
- }
26
- export declare function Markdown({ text, theme, caps }: MarkdownProps): React.ReactElement;
27
- /** Turn parsed inline spans into Ink `<Text>` nodes. */
28
- export declare function renderInline(text: string, theme: Theme): React.ReactNode;
29
- export {};
@@ -1,116 +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 { railBorderProps } from './layout/Gutter.js';
5
- import { highlightCached, parseMarkdownCached } from './render-cache.js';
6
- import { formatTable, isRule, parseHeading, parseInline, } from './markdown-blocks.js';
7
- /** Width of the `---` rule. Fixed so it cannot force a wrap on narrow frames. */
8
- const RULE_WIDTH = 24;
9
- export function Markdown({ text, theme, caps }) {
10
- const glyphs = pickGlyphs(caps);
11
- const blocks = parseMarkdownCached(text);
12
- return (_jsx(Box, { flexDirection: "column", children: blocks.map((block, i) => renderBlock(block, i, theme, glyphs)) }));
13
- }
14
- function renderBlock(block, key, theme, glyphs) {
15
- switch (block.kind) {
16
- case 'code':
17
- return (_jsx(CodeBlock, { code: block.code, lang: block.lang, theme: theme, glyphs: glyphs }, `b${key}`));
18
- case 'table': {
19
- // Glyphs are injected rather than hardcoded: this module is inside the
20
- // ASCII-only scan, and the pure parser defaults to ASCII `|` / `-`.
21
- const formatted = formatTable(block.rows, block.align, {
22
- separator: glyphs.railVertical,
23
- rule: glyphs.hrule,
24
- });
25
- return (_jsx(Box, { flexDirection: "column", children: formatted.map((row, r) => (_jsx(Text, { wrap: "truncate", bold: r === 0, color: tableRowColor(r, theme), children: row }, r))) }, `b${key}`));
26
- }
27
- default:
28
- return _jsx(InlineLine, { line: block.text, theme: theme, glyphs: glyphs }, `b${key}`);
29
- }
30
- }
31
- /**
32
- * Table row 0 is the header (bold + accent); row 1 is the divider drawn under it.
33
- *
34
- * The divider must stay distinguishable at colour level 0, where bold is dropped
35
- * to nothing, so it is MUTED and never bold: in `--no-color` the `----` run is
36
- * itself the signal, and in a coloured tier the weight difference separates the
37
- * header from the rule beneath it.
38
- */
39
- function tableRowColor(index, theme) {
40
- if (index === 0)
41
- return theme.accent;
42
- if (index === 1)
43
- return theme.muted;
44
- return undefined;
45
- }
46
- /**
47
- * Fenced code. The round border is gone (§4.3): nested inside a tool card it
48
- * produced a box inside a box and squeezed an 80-column terminal down to 74
49
- * usable columns. A left rail plus the language tag conveys the same "this is
50
- * code" boundary for 1 column and 0 rows.
51
- *
52
- * The language tag is a muted TITLE, not a body row: it used to carry a chip
53
- * background and one padding space either side of the text, so it rendered as
54
- * ` | ts` above code rows that start at `| export ...` — a body line that
55
- * happened to be the language. It keeps its own row on purpose: the height
56
- * estimator (`virtual-window.estimateEntryRows`) counts RAW markdown lines and
57
- * has no code-block branch, so the fence line must still occupy exactly 1 row.
58
- */
59
- function CodeBlock({ code, lang, theme, glyphs, }) {
60
- const rendered = highlightCached(code, lang);
61
- return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, theme.border), children: [lang.length > 0 && (_jsx(Text, { bold: true, color: theme.muted, children: lang })), _jsx(Text, { children: rendered })] }));
62
- }
63
- /** Six heading levels used to render identically; now they carry three weights. */
64
- function headingStyle(level, theme) {
65
- if (level <= 2)
66
- return { color: theme.primary };
67
- if (level === 3)
68
- return { color: theme.accent };
69
- return { color: theme.assistant };
70
- }
71
- function InlineLine({ line, theme, glyphs, }) {
72
- const heading = parseHeading(line);
73
- if (heading) {
74
- const style = headingStyle(heading.level, theme);
75
- if (heading.level === 1) {
76
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: style.color, children: heading.text }), _jsx(Text, { color: theme.border, children: glyphs.hrule.repeat(RULE_WIDTH) })] }));
77
- }
78
- return (_jsx(Text, { bold: true, color: style.color, children: heading.text }));
79
- }
80
- if (isRule(line)) {
81
- return _jsx(Text, { color: theme.border, children: glyphs.hrule.repeat(RULE_WIDTH) });
82
- }
83
- const quote = /^>\s?(.*)$/.exec(line);
84
- if (quote) {
85
- return (_jsxs(Text, { color: theme.muted, italic: true, children: [glyphs.railVertical, " ", renderInline(quote[1] ?? '', theme)] }));
86
- }
87
- const bullet = /^(\s*)([-*+])\s+(.*)$/.exec(line);
88
- if (bullet) {
89
- return (_jsxs(Text, { children: [bullet[1], _jsxs(Text, { color: theme.accent, children: [glyphs.bullet, " "] }), renderInline(bullet[3] ?? '', theme)] }));
90
- }
91
- const ordered = /^(\s*)(\d+)\.\s+(.*)$/.exec(line);
92
- if (ordered) {
93
- return (_jsxs(Text, { children: [ordered[1], _jsxs(Text, { color: theme.accent, children: [ordered[2], ". "] }), renderInline(ordered[3] ?? '', theme)] }));
94
- }
95
- return _jsx(Text, { children: renderInline(line, theme) });
96
- }
97
- /** Turn parsed inline spans into Ink `<Text>` nodes. */
98
- export function renderInline(text, theme) {
99
- const spans = parseInline(text);
100
- if (spans.length === 0)
101
- return text;
102
- return spans.map((span, i) => {
103
- switch (span.kind) {
104
- case 'code':
105
- return (_jsx(Text, { color: theme.code, children: span.text }, `i${i}`));
106
- case 'bold':
107
- return (_jsx(Text, { bold: true, children: span.text }, `i${i}`));
108
- case 'italic':
109
- return (_jsx(Text, { italic: true, children: span.text }, `i${i}`));
110
- case 'strike':
111
- return (_jsx(Text, { strikethrough: true, children: span.text }, `i${i}`));
112
- default:
113
- return span.text;
114
- }
115
- });
116
- }
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- export interface PromptCaretProps {
3
- text: string;
4
- active: boolean;
5
- reducedMotion: boolean;
6
- colorLevel: 0 | 1 | 2 | 3;
7
- color?: string;
8
- resetKey: object;
9
- }
10
- /** The only blinking state belongs to this leaf, never to the editor. */
11
- export declare function PromptCaret({ text, active, reducedMotion, colorLevel, color, resetKey, }: PromptCaretProps): React.ReactElement;
@@ -1,31 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useLayoutEffect, useState } from 'react';
3
- import { Text } from 'ink';
4
- import { displayWidth } from './composer-rows.js';
5
- function monochromeMarker(text) {
6
- // Ink's output grid advances for combining marks, even though they have no
7
- // terminal width. Retain them in both phases so its cell count stays stable.
8
- const replace = (marker) => Array.from(text, (point) => {
9
- const width = displayWidth(point);
10
- return width > 0 ? marker.repeat(width) : point;
11
- }).join('');
12
- const underline = replace('_');
13
- return underline === text ? replace('^') : underline;
14
- }
15
- /** The only blinking state belongs to this leaf, never to the editor. */
16
- export function PromptCaret({ text, active, reducedMotion, colorLevel, color, resetKey, }) {
17
- const [visible, setVisible] = useState(true);
18
- useLayoutEffect(() => {
19
- setVisible(true);
20
- if (!active || reducedMotion)
21
- return;
22
- const timer = setInterval(() => setVisible((previous) => !previous), 500);
23
- return () => clearInterval(timer);
24
- }, [resetKey, active, reducedMotion]);
25
- const bright = active && (reducedMotion || visible);
26
- let content = text;
27
- if (bright && colorLevel === 0) {
28
- content = monochromeMarker(text);
29
- }
30
- return _jsx(Text, { color: color, inverse: bright && colorLevel > 0, children: content });
31
- }