@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,222 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * CompactionCard — one context compaction in the transcript
4
- * (context-auto-compaction §6.3).
5
- *
6
- * ASCII ONLY: every glyph comes from `pickGlyphs`, INCLUDING THE ARROW. The mock
7
- * in the design shows `112 -> 9 messages`; that arrow is `glyphs.arrowRight`, the
8
- * one `StatusBar` already uses, not a literal — `ui/` is inside
9
- * `glyphs.test.ts::inScope`, so a literal here fails the scan (P2-7).
10
- *
11
- * EXPANDABLE, UNLIKE `FastCard`. A critique is already clamped to
12
- * `fast.reviewMaxChars` before it reaches its card, so there is nothing hidden
13
- * for Ctrl+O to reveal; a summary is up to `summaryMaxChars` and there genuinely
14
- * is more to see. That is why `App`'s Ctrl+O predicate had to learn about this
15
- * kind — without it the card renders a hint that does nothing and expands an
16
- * older tool card instead (C-15 / P1-8 / AC-21).
17
- *
18
- * EVERY STRING DESCRIBES THE HISTORY, NEVER THE SCREEN (§6.4 / P2-9).
19
- * `/clear screen` empties the transcript view but not `messages`, so this card
20
- * can legitimately report a message count the visible rows do not add up to.
21
- * Nothing here says "above" or "earlier in this transcript". `/clear` itself is
22
- * the conversation boundary now: it drops the history and this card with it.
23
- */
24
- import React from 'react';
25
- import { Box, Text } from 'ink';
26
- import Spinner from 'ink-spinner';
27
- import { pickGlyphs } from '../glyphs.js';
28
- import { railBorderProps } from '../layout/Gutter.js';
29
- import { formatDuration, formatTokens } from '../../agent/usage.js';
30
- import { COMPACTION_LIMITS } from '../../compaction/limits.js';
31
- import { compactionPhaseLabel, compactionReasonLine } from '../../compaction/reason-text.js';
32
- /**
33
- * The card's colour.
34
- *
35
- * `truncated` is a WARNING rather than the accent, because it is a real and
36
- * bounded data loss the user is entitled to notice; `applied: false` is an error
37
- * because the run is still at the occupancy that triggered it.
38
- */
39
- export function compactionCardColor(props, theme) {
40
- if (props.live)
41
- return theme.toolRunning;
42
- if (!props.applied)
43
- return theme.toolError;
44
- if (props.mode === 'truncated' || props.mode === 'relieved')
45
- return theme.noticeWarn;
46
- return theme.accent;
47
- }
48
- /** The one-line summary of what the compaction did, or why it did not. */
49
- function headline(props, arrow, dot) {
50
- const { index, live } = props;
51
- // The model is `''` when no summarizer resolves (no key for the provider), and
52
- // the separator has to go with it — a headline ending in a dangling ` - `
53
- // reads as a rendering fault rather than as the missing model it is.
54
- if (live) {
55
- // ELAPSED IN THE SAME POSITION `durationMs` TAKES ONCE SETTLED, so the number
56
- // does not jump across the line when the card settles. Between second 0 and
57
- // second 45 this was the only changing information on the card, and there was
58
- // none.
59
- const elapsed = props.elapsedMs === undefined ? '' : `${dot}${formatDuration(props.elapsedMs)}`;
60
- // THE STAGE, NOT JUST "COMPACTING" (never-fires C). Planning and digesting run
61
- // before any model call, and a user watching a card for twenty seconds cannot
62
- // tell "thinking hard" from "stuck in a gate" without it.
63
- const stage = props.phase === undefined ? '' : `${dot}${compactionPhaseLabel(props.phase)}`;
64
- return props.model
65
- ? `compacting context #${index}${dot}${props.model}${stage}${elapsed}`
66
- : `compacting context #${index}${stage}${elapsed}`;
67
- }
68
- if (!props.applied || props.tokensAfter >= props.tokensBefore) {
69
- // THE REASON IN WORDS (never-fires C). `digest_budget_exceeded: $.digest` was
70
- // a code the user could not act on; `compactionReasonLine` renders the same
71
- // fact as a clause plus, where there is one, the remedy.
72
- const why = props.reason ? `: ${compactionReasonLine(props.reason)}` : '';
73
- return `context not compacted #${index}${why}`;
74
- }
75
- const messages = `${props.messagesBefore} ${arrow} ${props.messagesAfter} messages`;
76
- const tokens = `${formatTokens(props.tokensBefore)} ${arrow} ${formatTokens(props.tokensAfter)} tokens`;
77
- const duration = props.durationMs === undefined ? '' : `${dot}${formatDuration(props.durationMs)}`;
78
- return `context compacted${dot}${messages}${dot}${tokens}${duration}`;
79
- }
80
- /**
81
- * The muted second line: how it was done, and with what.
82
- *
83
- * THE LIVE BRANCH NAMES THE ESCAPE (§3.6 / E-10). `AgentController.abort()` has
84
- * always called `this.compaction?.abort()` before `agent.abort()`, so Esc has
85
- * always cancelled an in-flight summarization - and no surface has ever said so
86
- * during the forty-five seconds it matters. The hint goes with the model for the
87
- * same reason the separator does: with no summarizer resolved there is no call to
88
- * cancel.
89
- *
90
- * THE `relieved` BRANCH COMES BEFORE `truncated`, AND IT EXISTS BECAUSE THE
91
- * `summarized` LINE WOULD OTHERWISE LIE. Relief drops no messages, so the
92
- * fall-through would render "summarized 0 messages with <model>" for a
93
- * compaction in which no model was called - in the rare, alarming case the user
94
- * most needs to read correctly.
95
- */
96
- function detailLine(props) {
97
- if (props.live) {
98
- // THE ESCAPE, NOT THE STAGE (never-fires C, as corrected in review): the live
99
- // headline already carries the stage, and a two-line card that names it twice
100
- // is the one-fact-one-surface rule this file keeps having to restore. With no
101
- // model resolved there is no call to cancel, so the whole line goes - the same
102
- // rule the settled branch applies.
103
- if (!props.model)
104
- return '';
105
- if (props.phase !== undefined)
106
- return 'esc to cancel';
107
- return `summarizing with ${props.model} - esc to cancel`;
108
- }
109
- if (!props.applied || props.tokensAfter >= props.tokensBefore)
110
- return 'History preserved.';
111
- const dropped = Math.max(0, props.messagesBefore - props.messagesAfter);
112
- if (props.mode === 'relieved') {
113
- const n = props.tailRelief?.messages ?? 0;
114
- return `clipped ${n} tool ${n === 1 ? 'result' : 'results'} in the retained turns - nothing could be dropped`;
115
- }
116
- if (props.mode === 'truncated') {
117
- return `dropped ${dropped} messages WITHOUT a summary - summarization failed`;
118
- }
119
- const via = props.trigger === 'overflow' ? ' after a context overflow' : '';
120
- return `summarized ${dropped} messages with ${props.model}${via}`;
121
- }
122
- /**
123
- * The relaxation disclosure (never-fires B).
124
- *
125
- * `planCompaction`'s second pass trades "the last N user turns are verbatim" for
126
- * "a cut exists at all". That trade must be readable, because the difference
127
- * between the two compactions is exactly what the user asked for: the tail is the
128
- * part they care most about keeping word for word.
129
- */
130
- function relaxedLine(props) {
131
- if (props.live || !props.applied || props.keepRelaxed !== true)
132
- return '';
133
- const turns = props.retainedTurns ?? 0;
134
- const wanted = props.keepRecentTurnsUsed;
135
- const messages = props.retainedMessages;
136
- // THE TAIL IS MESSAGES, NOT TURNS (review). The dominant relaxed shape is one
137
- // prompt plus a hundred tool calls, so `retainedTurns` is 0 while forty messages
138
- // were kept verbatim: a line reading "kept 0 recent turns" would report a total
139
- // loss that did not happen. Whenever the count is available it leads, and the
140
- // turn arithmetic follows as the explanation rather than as the headline.
141
- if (messages !== undefined && wanted !== undefined) {
142
- return `kept the last ${messages} messages - ${turns} of the ${wanted} requested turns, ` +
143
- 'since this run had too few user turns';
144
- }
145
- if (messages !== undefined)
146
- return `kept the last ${messages} messages verbatim`;
147
- return wanted === undefined
148
- ? `kept the last ${turns} turns - this run had too few user turns to keep more`
149
- : `kept ${turns} of the ${wanted} requested turns - this run had too few user turns`;
150
- }
151
- /**
152
- * The digest-elision disclosure (never-fires A1).
153
- *
154
- * The digest never rejects for length any more; it keeps the first and last
155
- * entries verbatim and elides the middle. The elided messages cannot be quoted by
156
- * the summarizer, so the card says so rather than presenting a summary as if it
157
- * had seen everything.
158
- */
159
- function elidedLine(props) {
160
- const n = props.elidedMessages ?? 0;
161
- if (props.live || n <= 0)
162
- return '';
163
- return `elided ${n} ${n === 1 ? 'message' : 'messages'} from the summary input - ` +
164
- 'the middle is summarized without them';
165
- }
166
- /**
167
- * The relief disclosure, on a settled card that ALSO summarized.
168
- *
169
- * A BOUNDED, ANNOUNCED DATA LOSS THE USER IS ENTITLED TO NOTICE, in the same
170
- * voice §6.4's honesty rules use for `truncated`. Suppressed on the `relieved`
171
- * card, where `detailLine` has already said it and a second line would be the
172
- * same sentence twice.
173
- */
174
- function reliefLine(props) {
175
- if (props.live || !props.applied || !props.tailRelief || props.mode === 'relieved')
176
- return '';
177
- const n = props.tailRelief.messages;
178
- return (`clipped ${n} tool ${n === 1 ? 'result' : 'results'} in the retained turns ` +
179
- `(${formatTokens(props.tailRelief.charsRemoved)} characters) - ` +
180
- 'the recent turns alone exceeded the window');
181
- }
182
- /**
183
- * Split the summary into rows.
184
- *
185
- * A ROW budget, not a character one: `summaryMaxChars` already bounded the text,
186
- * and this only decides how much of it the COLLAPSED card shows. Ink wraps the
187
- * rest.
188
- */
189
- function summaryRows(text, expanded) {
190
- const lines = text.split('\n').filter((l) => l.trim().length > 0);
191
- return expanded ? lines : lines.slice(0, COMPACTION_LIMITS.cardTextRows);
192
- }
193
- function CompactionCardImpl(props) {
194
- const { live, summary, expanded, reducedMotion, theme, caps } = props;
195
- const glyphs = pickGlyphs(caps);
196
- const color = compactionCardColor(props, theme);
197
- const dot = ` ${glyphs.midDot} `;
198
- const head = headline(props, glyphs.arrowRight, dot);
199
- const detail = detailLine(props);
200
- const relief = reliefLine(props);
201
- const relaxed = relaxedLine(props);
202
- const elided = elidedLine(props);
203
- const showMemory = props.memoryVersion !== 2 || expanded === true;
204
- const rows = summary && showMemory ? summaryRows(summary, expanded === true) : [];
205
- const totalRows = summary ? summary.split('\n').filter((l) => l.trim().length > 0).length : 0;
206
- const hidden = Math.max(0, totalRows - rows.length);
207
- // COLOUR TRACKS `live`, MOTION TRACKS `animate` — one headline, two separate
208
- // decisions, and the split is the one `FastCard` records at length: `App`
209
- // widens `reducedMotion` to "this frame does not animate here" for the whole of
210
- // every run, and folding the two together would grey out every live card for
211
- // the whole run, losing the status colour along with the motion.
212
- const animate = live && reducedMotion !== true && caps.unicode;
213
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: theme.accent, bold: true, children: props.trigger === 'manual' ? 'Manual compaction' : props.trigger === 'overflow'
214
- ? 'Overflow: threshold reached' : 'Automatic: threshold reached' }), _jsxs(Text, { color: live ? color : theme.muted, wrap: caps.unicode ? 'truncate' : 'wrap', children: [animate ? (_jsxs(_Fragment, { children: [_jsx(Spinner, { type: "dots" }), ' '] })) : live ? (`${glyphs.spinnerStill} `) : (''), head] })] }), props.memoryVersion === 2 && (_jsxs(Text, { color: theme.muted, children: ["Task memory v2", expanded ? '' : ' (ctrl+o to expand)'] })), detail.length > 0 && (_jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, children: _jsx(Text, { color: color, wrap: caps.unicode ? 'truncate' : 'wrap', children: detail }) })), relief.length > 0 && (_jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, children: _jsx(Text, { color: theme.noticeWarn, children: relief }) })), relaxed.length > 0 && (_jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, children: _jsx(Text, { color: theme.muted, children: relaxed }) })), elided.length > 0 && (_jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, children: _jsx(Text, { color: theme.muted, children: elided }) })), rows.length > 0 && (_jsxs(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, theme.border), children: [rows.map((line, index) => (_jsx(Text, { color: theme.primary, children: line }, index))), hidden > 0 && (_jsxs(Text, { color: theme.muted, children: [glyphs.railEnd, " +", hidden, " more lines (ctrl+o to expand)"] })), hidden === 0 && expanded === true && totalRows > COMPACTION_LIMITS.cardTextRows && (_jsxs(Text, { color: theme.muted, children: [glyphs.railEnd, " ctrl+o to collapse"] }))] }))] }));
215
- }
216
- /**
217
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
218
- * `mapEntry` already preserves object identity for untouched entries, so the
219
- * props below are stable references on a settled card, and `theme` / `caps` are
220
- * `useMemo`d in `App.tsx` (I-L2-1).
221
- */
222
- export const CompactionCard = React.memo(CompactionCardImpl);
@@ -1,61 +0,0 @@
1
- /**
2
- * A `FilePatch` as a diff (agent-activity-presentation §3.4): a `+6 -5` summary,
3
- * then hunk-separated rows with a right-aligned line-number gutter, a `+`/`-`/
4
- * space sign column and `theme.diff` colors.
5
- *
6
- * `wrap="truncate"` ON EVERY ROW IS A CORRECTNESS REQUIREMENT, NOT A TASTE ONE.
7
- * `estimateEntryRows` computes a diff card's height by COUNTING rows, so a
8
- * wrapped patch line would occupy two rows while the estimate charged one — an
9
- * under-estimate, which `virtual-window.ts` names as the unsafe direction. One
10
- * patch line is one terminal row, always.
11
- *
12
- * No new keybinding and no new state: collapse rides on `expandedToolIds` and
13
- * the existing `Ctrl+O` handler, which targets the MOST RECENT tool card (P2-4).
14
- *
15
- * `caps` is deliberately NOT a prop. Every character this component emits is
16
- * ASCII — `+`, `-`, `@@`, digits — because `+` and `-` are the diff's own
17
- * vocabulary and `renderUnifiedDiff` already spells them literally. A glyph
18
- * lookup here would buy nothing and add a memo dependency.
19
- */
20
- import React from 'react';
21
- import type { Theme } from '../theme.js';
22
- import type { FilePatch, PatchLine } from '../../tools/patch.js';
23
- /**
24
- * Diff rows shown before collapse.
25
- *
26
- * Higher than the generic preview's 8 (D-11): a diff's rows are half as tall in
27
- * information terms, and 8 rows of a 3-context hunk is barely one change.
28
- * DUPLICATED AS A NUMBER in `virtual-window.ts`, matching what
29
- * `TOOL_COLLAPSED_LINES` already does and the comment that justifies it.
30
- */
31
- export declare const DIFF_COLLAPSED_LINES = 12;
32
- export interface DiffViewProps {
33
- patch: FilePatch;
34
- expanded?: boolean;
35
- theme: Theme;
36
- }
37
- /** One rendered row: a patch line, or the `@@` separator between two hunks. */
38
- interface DiffRow {
39
- kind: PatchLine['kind'] | 'meta';
40
- /** The gutter number, or `undefined` for a separator and the newline note. */
41
- num?: number;
42
- text: string;
43
- }
44
- /**
45
- * Flatten the hunks into rows, inserting one `@@` separator BETWEEN hunks and
46
- * none before the first.
47
- *
48
- * Exported for `diff-view.test.tsx`, and because the row count it produces is
49
- * the number `estimateEntryRows` reproduces arithmetically — the two must not
50
- * disagree.
51
- */
52
- export declare function diffRows(patch: FilePatch): DiffRow[];
53
- declare function DiffViewImpl({ patch, expanded, theme, }: DiffViewProps): React.ReactElement;
54
- /**
55
- * `React.memo` with the DEFAULT comparator, matching `ToolCard`'s boundary.
56
- * `patch` qualifies as a prop only because the reducer writes it ONCE at
57
- * `toolExecEnd` and never rebuilds it (P2-9); `theme` is `useMemo`d in `App.tsx`
58
- * (I-L2-1).
59
- */
60
- export declare const DiffView: React.MemoExoticComponent<typeof DiffViewImpl>;
61
- export {};
@@ -1,103 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * A `FilePatch` as a diff (agent-activity-presentation §3.4): a `+6 -5` summary,
4
- * then hunk-separated rows with a right-aligned line-number gutter, a `+`/`-`/
5
- * space sign column and `theme.diff` colors.
6
- *
7
- * `wrap="truncate"` ON EVERY ROW IS A CORRECTNESS REQUIREMENT, NOT A TASTE ONE.
8
- * `estimateEntryRows` computes a diff card's height by COUNTING rows, so a
9
- * wrapped patch line would occupy two rows while the estimate charged one — an
10
- * under-estimate, which `virtual-window.ts` names as the unsafe direction. One
11
- * patch line is one terminal row, always.
12
- *
13
- * No new keybinding and no new state: collapse rides on `expandedToolIds` and
14
- * the existing `Ctrl+O` handler, which targets the MOST RECENT tool card (P2-4).
15
- *
16
- * `caps` is deliberately NOT a prop. Every character this component emits is
17
- * ASCII — `+`, `-`, `@@`, digits — because `+` and `-` are the diff's own
18
- * vocabulary and `renderUnifiedDiff` already spells them literally. A glyph
19
- * lookup here would buy nothing and add a memo dependency.
20
- */
21
- import React from 'react';
22
- import { Box, Text } from 'ink';
23
- /**
24
- * Diff rows shown before collapse.
25
- *
26
- * Higher than the generic preview's 8 (D-11): a diff's rows are half as tall in
27
- * information terms, and 8 rows of a 3-context hunk is barely one change.
28
- * DUPLICATED AS A NUMBER in `virtual-window.ts`, matching what
29
- * `TOOL_COLLAPSED_LINES` already does and the comment that justifies it.
30
- */
31
- export const DIFF_COLLAPSED_LINES = 12;
32
- /** Gutter width bounds; three digits is the floor so narrow files still align. */
33
- const GUTTER_MIN = 3;
34
- const GUTTER_MAX = 6;
35
- /**
36
- * Flatten the hunks into rows, inserting one `@@` separator BETWEEN hunks and
37
- * none before the first.
38
- *
39
- * Exported for `diff-view.test.tsx`, and because the row count it produces is
40
- * the number `estimateEntryRows` reproduces arithmetically — the two must not
41
- * disagree.
42
- */
43
- export function diffRows(patch) {
44
- const rows = [];
45
- patch.hunks.forEach((hunk, index) => {
46
- if (index > 0) {
47
- rows.push({
48
- kind: 'meta',
49
- text: `@@ -${hunk.oldStart},${hunk.oldCount} +${hunk.newStart},${hunk.newCount} @@`,
50
- });
51
- }
52
- for (const line of hunk.lines) {
53
- rows.push({
54
- kind: line.kind,
55
- // An `add` shows its new number, a `del` its old, a `ctx` its new.
56
- ...(pickNumber(line) !== undefined ? { num: pickNumber(line) } : {}),
57
- text: line.text,
58
- });
59
- }
60
- });
61
- return rows;
62
- }
63
- function pickNumber(line) {
64
- return line.kind === 'del' ? line.oldLine : line.newLine ?? line.oldLine;
65
- }
66
- function signOf(kind) {
67
- if (kind === 'add')
68
- return '+';
69
- if (kind === 'del')
70
- return '-';
71
- return ' ';
72
- }
73
- function colorOf(kind, theme) {
74
- if (kind === 'add')
75
- return theme.diff.add;
76
- if (kind === 'del')
77
- return theme.diff.remove;
78
- if (kind === 'meta')
79
- return theme.diff.meta;
80
- return theme.diff.context;
81
- }
82
- function gutterWidth(rows) {
83
- let max = 0;
84
- for (const row of rows)
85
- if (row.num !== undefined && row.num > max)
86
- max = row.num;
87
- return Math.min(GUTTER_MAX, Math.max(GUTTER_MIN, String(max).length));
88
- }
89
- function DiffViewImpl({ patch, expanded, theme, }) {
90
- const rows = diffRows(patch);
91
- const ceiling = expanded ? rows.length : DIFF_COLLAPSED_LINES;
92
- const visible = ceiling >= rows.length ? rows : rows.slice(0, Math.max(0, ceiling));
93
- const hidden = rows.length - visible.length;
94
- const width = gutterWidth(rows);
95
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { wrap: "truncate", children: [_jsxs(Text, { color: theme.diff.add, children: ["+", patch.added] }), _jsx(Text, { color: theme.muted, children: " " }), _jsxs(Text, { color: theme.diff.remove, children: ["-", patch.removed] }), patch.truncated && _jsx(Text, { color: theme.muted, children: " (truncated)" }), patch.degraded && (_jsxs(Text, { color: theme.muted, children: [" old side not read: ", patch.degraded] }))] }), visible.map((row, i) => (_jsxs(Text, { wrap: "truncate", children: [_jsx(Text, { color: theme.muted, children: String(row.num ?? '').padStart(width) }), _jsxs(Text, { color: colorOf(row.kind, theme), children: [' ', signOf(row.kind), " ", row.text] })] }, i))), hidden > 0 ? (_jsxs(Text, { color: theme.muted, children: ["+", hidden, " ", hidden === 1 ? 'line' : 'lines', " (Ctrl+O)"] })) : (rows.length > DIFF_COLLAPSED_LINES && _jsx(Text, { color: theme.muted, children: "(Ctrl+O to collapse)" }))] }));
96
- }
97
- /**
98
- * `React.memo` with the DEFAULT comparator, matching `ToolCard`'s boundary.
99
- * `patch` qualifies as a prop only because the reducer writes it ONCE at
100
- * `toolExecEnd` and never rebuilds it (P2-9); `theme` is `useMemo`d in `App.tsx`
101
- * (I-L2-1).
102
- */
103
- export const DiffView = React.memo(DiffViewImpl);
@@ -1,23 +0,0 @@
1
- /**
2
- * EntryFrame (spec §4.3) — the single shell every transcript entry renders
3
- * inside, and the ONLY place entry spacing is applied.
4
- *
5
- * Keeping both the rail and the spacing here is what makes `density.ts` a real
6
- * policy rather than a suggestion: an entry component that also set its own
7
- * `marginTop` would silently double the gap at turn boundaries.
8
- */
9
- import React from 'react';
10
- export interface EntryFrameProps {
11
- /** Role marker shown on the entry's first row (may be a live spinner). */
12
- glyph: React.ReactNode;
13
- /** Rail / glyph colour — for tool cards this is the status colour (§5.3). */
14
- color?: string;
15
- /** Rail character drawn on the turn-boundary spacer row (`separation === 1`). */
16
- continuation: string;
17
- /** From `separationRows()`. Rendered as a rail stub, never a bare margin. */
18
- separation: 0 | 1;
19
- /** Muted colour for the spacer row so it recedes behind real content. */
20
- spacerColor?: string;
21
- children: React.ReactNode;
22
- }
23
- export declare function EntryFrame({ glyph, color, continuation, separation, spacerColor, children, }: EntryFrameProps): React.ReactElement;
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box } from 'ink';
3
- import { Gutter, RailSpacer } from '../layout/Gutter.js';
4
- export function EntryFrame({ glyph, color, continuation, separation, spacerColor, children, }) {
5
- return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [separation === 1 && _jsx(RailSpacer, { continuation: continuation, color: spacerColor }), _jsx(Gutter, { glyph: glyph, color: color, children: children })] }));
6
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * FastCard — one fast-model review in the transcript (fast-model-tier §6).
3
- *
4
- * ASCII ONLY: every glyph comes from `pickGlyphs`.
5
- *
6
- * SINGLE AND QUIET, NEVER MORE THAN SIX ROWS. It renders through the shared
7
- * `EntryFrame` supplied by `EntryView`, so a review reads as one more step in
8
- * the transcript rather than a second kind of object.
9
- *
10
- * COLLAPSED BY CONSTRUCTION rather than by an expand toggle: the critique is
11
- * already clamped to `fast.reviewMaxChars` before it ever reaches here, so there
12
- * is nothing hidden for a `Ctrl+O` to reveal.
13
- *
14
- * `ok`, `failed` and `dropped` each render ONE muted line. `ok` is the common
15
- * case and must stay visually cheap — a full card every few turns saying
16
- * "nothing to report" would be the feature's most annoying possible surface —
17
- * while `failed` and `dropped` exist so that "it did nothing" is never the
18
- * observable outcome (R-8).
19
- */
20
- import React from 'react';
21
- import type { Theme } from '../theme.js';
22
- import type { TermCapabilities } from '../capabilities.js';
23
- export type FastCardStatus = 'running' | 'ok' | 'advice' | 'empty' | 'failed' | 'dropped';
24
- export interface FastCardProps {
25
- reviewIndex: number;
26
- model: string;
27
- status: FastCardStatus;
28
- text?: string;
29
- detail?: string;
30
- turn: number;
31
- durationMs?: number;
32
- live: boolean;
33
- reducedMotion?: boolean;
34
- theme: Theme;
35
- caps: TermCapabilities;
36
- }
37
- /**
38
- * The card's colour.
39
- *
40
- * `advice` is the ACCENT rather than a warning colour: a second opinion is not
41
- * an error, and colouring it like one would teach the user to read every review
42
- * as something having gone wrong.
43
- */
44
- export declare function fastCardColor(status: FastCardStatus, theme: Theme): string | undefined;
45
- declare function FastCardImpl(props: FastCardProps): React.ReactElement;
46
- /**
47
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
48
- * `mapEntry` already preserves object identity for untouched entries, so the
49
- * props below are stable references on a settled card, and `theme` / `caps` are
50
- * `useMemo`d in `App.tsx` (I-L2-1).
51
- */
52
- export declare const FastCard: React.MemoExoticComponent<typeof FastCardImpl>;
53
- export {};
@@ -1,105 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * FastCard — one fast-model review in the transcript (fast-model-tier §6).
4
- *
5
- * ASCII ONLY: every glyph comes from `pickGlyphs`.
6
- *
7
- * SINGLE AND QUIET, NEVER MORE THAN SIX ROWS. It renders through the shared
8
- * `EntryFrame` supplied by `EntryView`, so a review reads as one more step in
9
- * the transcript rather than a second kind of object.
10
- *
11
- * COLLAPSED BY CONSTRUCTION rather than by an expand toggle: the critique is
12
- * already clamped to `fast.reviewMaxChars` before it ever reaches here, so there
13
- * is nothing hidden for a `Ctrl+O` to reveal.
14
- *
15
- * `ok`, `failed` and `dropped` each render ONE muted line. `ok` is the common
16
- * case and must stay visually cheap — a full card every few turns saying
17
- * "nothing to report" would be the feature's most annoying possible surface —
18
- * while `failed` and `dropped` exist so that "it did nothing" is never the
19
- * observable outcome (R-8).
20
- */
21
- import React from 'react';
22
- import { Box, Text } from 'ink';
23
- import Spinner from 'ink-spinner';
24
- import { pickGlyphs } from '../glyphs.js';
25
- import { railBorderProps } from '../layout/Gutter.js';
26
- import { formatDuration } from '../../agent/usage.js';
27
- import { FAST_LIMITS } from '../../fast/limits.js';
28
- /**
29
- * The card's colour.
30
- *
31
- * `advice` is the ACCENT rather than a warning colour: a second opinion is not
32
- * an error, and colouring it like one would teach the user to read every review
33
- * as something having gone wrong.
34
- */
35
- export function fastCardColor(status, theme) {
36
- if (status === 'running')
37
- return theme.toolRunning;
38
- if (status === 'advice')
39
- return theme.accent;
40
- if (status === 'failed')
41
- return theme.toolError;
42
- return theme.muted;
43
- }
44
- /** The one-line summary that follows the header on every non-advice status. */
45
- function statusLine(props) {
46
- switch (props.status) {
47
- case 'running':
48
- return 'reviewing...';
49
- case 'ok':
50
- return 'on track';
51
- case 'empty':
52
- return 'no answer';
53
- case 'failed':
54
- return props.detail ? `failed: ${props.detail}` : 'failed';
55
- case 'dropped':
56
- return props.detail ? `dropped: ${props.detail}` : 'dropped';
57
- default:
58
- return '';
59
- }
60
- }
61
- /**
62
- * Split the critique into at most `FAST_LIMITS.cardTextRows` lines.
63
- *
64
- * The clamp is a ROW budget, not a character one: `reviewMaxChars` already
65
- * bounded the text, and this only stops a critique with no whitespace at all
66
- * from turning into a wall on a narrow terminal. Ink wraps the rest.
67
- */
68
- function textRows(text) {
69
- const lines = text.split('\n').filter((l) => l.trim().length > 0);
70
- return lines.slice(0, FAST_LIMITS.cardTextRows);
71
- }
72
- function FastCardImpl(props) {
73
- const { reviewIndex, model, status, text, turn, durationMs, live, reducedMotion, theme, caps } = props;
74
- const glyphs = pickGlyphs(caps);
75
- const color = fastCardColor(status, theme);
76
- const duration = durationMs === undefined ? '' : ` ${glyphs.midDot} ${formatDuration(durationMs)}`;
77
- const head = `fast review #${reviewIndex} ${glyphs.midDot} ${model} ${glyphs.midDot} turn ${turn}${duration}`;
78
- const showBody = status === 'advice' && text !== undefined && text.trim().length > 0;
79
- // COLOUR TRACKS `live`, MOTION TRACKS `animate` — one headline, two separate
80
- // decisions (single-spinner-while-running C-1 / D-7).
81
- //
82
- // These used to be two whole `<Text>` elements, so the still branch also
83
- // demoted the head to `theme.muted`. That was harmless while stillness meant
84
- // "the user set reducedMotion", but `App` now widens the prop to "this frame
85
- // does not animate here" for the whole of every run — and under the old shape
86
- // that would have greyed out every live fast review for the whole run, losing
87
- // the status colour along with the motion.
88
- //
89
- // Three things are load-bearing and all three are silent if dropped: the
90
- // leading two-space gutter that separates the head from the bold `fast` label,
91
- // the single space after the marker (the still form bakes it into its template
92
- // string), and `head` itself. `wrap="truncate"` now applies to the animated
93
- // path too, which it did not before: it is what the still branch always did,
94
- // it is the behaviour this card has in every state that is now common, and an
95
- // unbounded wrap inside a one-row headline is the worse failure.
96
- const animate = live && !reducedMotion && caps.unicode;
97
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.accent, bold: true, children: "fast" }), _jsxs(Text, { color: live ? color : theme.muted, wrap: "truncate", children: [' ', animate ? (_jsxs(_Fragment, { children: [_jsx(Spinner, { type: "dots" }), ' '] })) : live ? (`${glyphs.spinnerStill} `) : (''), head] })] }), showBody ? (_jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, theme.border), children: textRows(text).map((line, index) => (_jsx(Text, { color: theme.primary, children: line }, index))) })) : (_jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, children: _jsx(Text, { color: color, wrap: "truncate", children: statusLine(props) }) }))] }));
98
- }
99
- /**
100
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
101
- * `mapEntry` already preserves object identity for untouched entries, so the
102
- * props below are stable references on a settled card, and `theme` / `caps` are
103
- * `useMemo`d in `App.tsx` (I-L2-1).
104
- */
105
- export const FastCard = React.memo(FastCardImpl);
@@ -1,30 +0,0 @@
1
- /**
2
- * GovernanceCard - the settlement card for a `kind: 'governance'` entry
3
- * (governance-mode section 10.4).
4
- *
5
- * ASCII ONLY: every glyph comes from `pickGlyphs`, through the layout.
6
- *
7
- * It renders inside the `EntryFrame` that `Transcript.tsx` supplies, so the left rail is
8
- * the card's frame - no second box drawn inside the rail. (The spec sketches a
9
- * rounded box; nested inside the gutter rail it would be two frames for one thing, and the
10
- * rail already carries the tone colour. Recorded as a deliberate deviation.)
11
- *
12
- * EVERY LINE TRUNCATES, none wraps, so the card's height is a function of its data alone
13
- * (`governanceCardRows`) and `virtual-window.ts::estimateEntryRows` is exact rather than an
14
- * upper bound. A narrow terminal therefore degrades by truncation to one plain line per
15
- * agent without any width-dependent branch here.
16
- */
17
- import React from 'react';
18
- import type { GovernanceCardData } from '../../governance/types.js';
19
- import type { Theme } from '../theme.js';
20
- import type { TermCapabilities } from '../capabilities.js';
21
- export interface GovernanceCardProps {
22
- card: GovernanceCardData;
23
- theme: Theme;
24
- caps: TermCapabilities;
25
- }
26
- /** The rail colour: the card's verdict, resolved like every other governance tone. */
27
- export declare function governanceCardColor(card: GovernanceCardData, theme: Theme): string | undefined;
28
- declare function GovernanceCardImpl({ card, theme, caps }: GovernanceCardProps): React.ReactElement;
29
- export declare const GovernanceCard: React.MemoExoticComponent<typeof GovernanceCardImpl>;
30
- export {};
@@ -1,32 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * GovernanceCard - the settlement card for a `kind: 'governance'` entry
4
- * (governance-mode section 10.4).
5
- *
6
- * ASCII ONLY: every glyph comes from `pickGlyphs`, through the layout.
7
- *
8
- * It renders inside the `EntryFrame` that `Transcript.tsx` supplies, so the left rail is
9
- * the card's frame - no second box drawn inside the rail. (The spec sketches a
10
- * rounded box; nested inside the gutter rail it would be two frames for one thing, and the
11
- * rail already carries the tone colour. Recorded as a deliberate deviation.)
12
- *
13
- * EVERY LINE TRUNCATES, none wraps, so the card's height is a function of its data alone
14
- * (`governanceCardRows`) and `virtual-window.ts::estimateEntryRows` is exact rather than an
15
- * upper bound. A narrow terminal therefore degrades by truncation to one plain line per
16
- * agent without any width-dependent branch here.
17
- */
18
- import React from 'react';
19
- import { Box, Text } from 'ink';
20
- import { pickGlyphs } from '../glyphs.js';
21
- import { toneColor } from '../governance-status.js';
22
- import { GovernanceLine, GovernanceRun } from '../GovernanceRun.js';
23
- import { buildGovernanceCardLayout, cardTone } from '../layout/governance-card.js';
24
- /** The rail colour: the card's verdict, resolved like every other governance tone. */
25
- export function governanceCardColor(card, theme) {
26
- return toneColor(cardTone(card), theme);
27
- }
28
- function GovernanceCardImpl({ card, theme, caps }) {
29
- const layout = buildGovernanceCardLayout(card, pickGlyphs(caps));
30
- return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [_jsx(GovernanceLine, { segments: layout.title, theme: theme }), layout.headline && (_jsx(GovernanceLine, { segments: layout.headline, theme: theme })), layout.tableHeader && (_jsx(Text, { wrap: "truncate", children: layout.tableHeader.map((cell, index) => (_jsx(GovernanceRun, { segments: cell, theme: theme }, index))) })), layout.rows.map((row) => (_jsx(Text, { wrap: "truncate", children: row.cells.map((cell, index) => (_jsx(GovernanceRun, { segments: cell, theme: theme }, index))) }, row.key))), layout.notes && _jsx(GovernanceLine, { segments: layout.notes, theme: theme })] }));
31
- }
32
- export const GovernanceCard = React.memo(GovernanceCardImpl);