@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,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
- }