@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,187 +0,0 @@
1
- /**
2
- * Composer editor state — F3 of tui-input-flicker-fix (§3.4).
3
- *
4
- * Ink creates its container with tag `0` — a LEGACY React root
5
- * (`ink/build/ink.js:59-61`). In a legacy root, `setState` called outside a
6
- * React event handler is NOT batched: each call schedules and immediately
7
- * flushes a synchronous render. `useInput`'s callback runs from a stdin
8
- * `'data'` listener, which is outside React entirely, so `PromptInput.insert`'s
9
- * five `setState` calls became five commits, five whole-tree Yoga layouts, and
10
- * — through Ink's 32 ms leading+trailing throttle — TWO full-frame repaints per
11
- * printable character (§2 R3). The flicker got worse the faster the user typed,
12
- * which is exactly what the report described.
13
- *
14
- * Collapsing the five always-together pieces of state into one reducer makes a
15
- * keystroke cost one commit. `fileMatches` deliberately stays a separate
16
- * `useState` in the component: it is written from the debounced async glob
17
- * effect, not from the key handler, so folding it in here would couple two
18
- * unrelated update sources.
19
- *
20
- * THE RULE A REVIEWER SHOULD CHECK LINE BY LINE: every branch of the `useInput`
21
- * callback performs at most ONE `dispatch` and then returns.
22
- *
23
- * Extracted from the component so it is unit-testable without mounting Ink.
24
- */
25
- import { expandRangeOverTokens, formatPasteToken, makePasteRecord, referencedIds, shouldCollapse, snapOutOfToken, } from './paste-tokens.js';
26
- import { snapGrapheme, stepGrapheme } from './editor-navigation.js';
27
- const NO_PASTES = new Map();
28
- export const INITIAL_EDITOR_STATE = {
29
- buffer: '',
30
- cursor: 0,
31
- historyIndex: null,
32
- dismissed: false,
33
- sel: 0,
34
- pastes: NO_PASTES,
35
- };
36
- /**
37
- * The three flags `resetDraftFlags()` used to clear with three separate
38
- * `setState` calls.
39
- *
40
- * Every action that CHANGES THE BUFFER resets them, and that is the pre-existing
41
- * semantics rather than a new rule: an edit invalidates the history cursor (the
42
- * draft is no longer the recalled entry), un-dismisses the popup (the user is
43
- * typing again, so suggestions should come back), and re-homes the selection
44
- * (the candidate list is about to be recomputed).
45
- */
46
- const DRAFT_FLAGS = {
47
- historyIndex: null, dismissed: false, sel: 0, preferredVisualColumn: undefined,
48
- };
49
- /**
50
- * Drop payloads the buffer no longer references (I-7).
51
- *
52
- * A WRAPPER, NOT A LINE IN ONE BRANCH (P1-6). v1 of the design pruned only inside
53
- * `input`, which leaves `replace` (the action behind `Ctrl+U` / `Ctrl+K` /
54
- * `Ctrl+W` and every `applyEdit`), `backspace` and `recall` able to delete a token
55
- * without releasing its payload. A rule the body contradicts is worse than no
56
- * rule, because the next reader trusts the invariant.
57
- *
58
- * `moveCursor`, `select` and `dismiss` do not change the buffer and are left
59
- * alone, which keeps their "return the same object so React bails out" property.
60
- */
61
- function withPrune(next) {
62
- if (next.pastes.size === 0)
63
- return next;
64
- const live = referencedIds(next.buffer);
65
- // EVERY held id is tested, rather than `live.size === next.pastes.size`.
66
- // Equal counts do not mean equal sets: `referencedIds` reads the BUFFER, which
67
- // can name an id this map never held — a user who types `[Pasted text #99 +2
68
- // lines]` by hand, or edits the number inside a real token. One such id
69
- // balances out one deleted token and the cheap check then returns early with a
70
- // payload the buffer no longer references, which is the leak I-7 forbids.
71
- let stale = false;
72
- for (const id of next.pastes.keys()) {
73
- if (!live.has(id)) {
74
- stale = true;
75
- break;
76
- }
77
- }
78
- if (!stale)
79
- return next;
80
- const kept = new Map();
81
- for (const [id, record] of next.pastes)
82
- if (live.has(id))
83
- kept.set(id, record);
84
- return { ...next, pastes: kept };
85
- }
86
- export function editorReducer(state, action) {
87
- switch (action.type) {
88
- case 'adopt':
89
- return withPrune(action.state);
90
- case 'insert': {
91
- // D-8: typing can never land INSIDE a token. A no-op on a buffer with no
92
- // tokens, which is every buffer until the first collapse.
93
- const cursor = snapOutOfToken(state.buffer, snapGrapheme(state.buffer, state.cursor));
94
- const buffer = state.buffer.slice(0, cursor) + action.text + state.buffer.slice(cursor);
95
- return withPrune({
96
- ...state,
97
- ...DRAFT_FLAGS,
98
- buffer,
99
- cursor: snapGrapheme(buffer, cursor + action.text.length, true),
100
- });
101
- }
102
- case 'replace':
103
- return withPrune({
104
- ...state,
105
- ...DRAFT_FLAGS,
106
- buffer: action.buffer,
107
- cursor: snapGrapheme(action.buffer, action.cursor),
108
- });
109
- case 'backspace':
110
- case 'delete': {
111
- const cursor = snapGrapheme(state.buffer, state.cursor);
112
- const backwards = action.type === 'backspace';
113
- if (backwards ? cursor <= 0 : cursor >= state.buffer.length)
114
- return state;
115
- // G5: one `Backspace` immediately after `...lines]` removes the whole
116
- // token and releases its payload, in ONE dispatch.
117
- const other = stepGrapheme(state.buffer, cursor, backwards ? 'left' : 'right');
118
- const range = expandRangeOverTokens(state.buffer, backwards ? other : cursor, backwards ? cursor : other);
119
- const buffer = state.buffer.slice(0, range.from) + state.buffer.slice(range.to);
120
- return withPrune({
121
- ...state,
122
- ...DRAFT_FLAGS,
123
- buffer,
124
- cursor: snapGrapheme(buffer, range.from),
125
- });
126
- }
127
- case 'input': {
128
- let buffer = state.buffer;
129
- let cursor = snapOutOfToken(buffer, snapGrapheme(buffer, state.cursor));
130
- let pastes = null;
131
- for (const segment of action.segments) {
132
- const collapse = segment.kind === 'paste' && shouldCollapse(segment.text);
133
- let text = segment.text;
134
- if (collapse) {
135
- const record = makePasteRecord(segment.id, segment.text);
136
- text = formatPasteToken(record);
137
- pastes = pastes ?? new Map(state.pastes);
138
- pastes.set(record.id, record);
139
- }
140
- buffer = buffer.slice(0, cursor) + text + buffer.slice(cursor);
141
- cursor = snapGrapheme(buffer, cursor + text.length, true);
142
- }
143
- return withPrune({
144
- ...state,
145
- ...DRAFT_FLAGS,
146
- buffer,
147
- cursor,
148
- ...(pastes ? { pastes } : {}),
149
- });
150
- }
151
- case 'moveCursor': {
152
- // NO DRAFT-FLAG RESET. Moving the caret is not an edit: clearing
153
- // `historyIndex` here would end a history walk the moment the user pressed
154
- // ← to look at what they recalled.
155
- const cursor = snapGrapheme(state.buffer, action.cursor);
156
- const preferredVisualColumn = action.preferredVisualColumn;
157
- return state.cursor === cursor && state.preferredVisualColumn === preferredVisualColumn
158
- ? state : { ...state, cursor, preferredVisualColumn };
159
- }
160
- case 'recall':
161
- // `historyIndex` is SET, not reset, which is why recall cannot reuse
162
- // `replace` — the two differ in exactly the field that keeps the walk
163
- // alive. `dismissed` is forced TRUE (history-recall-autocomplete-popup):
164
- // recalled content is not a query the user is typing, so the suggestion
165
- // popup must not appear over it - while it is visible it owns Up/Down and
166
- // the second Up moves the highlight instead of stepping history. Any
167
- // buffer edit (insert / backspace / replace / input ...) re-arms the
168
- // popup through DRAFT_FLAGS, so typing over a recall restores them. The
169
- // same gate covers the `@file` popup, which shares `dismissed`.
170
- // `sel` is still LEFT ALONE: invisible while dismissed, re-homed by the
171
- // next buffer change; touching it would only widen the diff (K-7 note).
172
- return withPrune({
173
- ...state,
174
- buffer: action.buffer,
175
- cursor: snapGrapheme(action.buffer, action.cursor),
176
- preferredVisualColumn: undefined,
177
- historyIndex: action.historyIndex,
178
- dismissed: true,
179
- });
180
- case 'select':
181
- return state.sel === action.sel ? state : { ...state, sel: action.sel };
182
- case 'dismiss':
183
- return state.dismissed ? state : { ...state, dismissed: true };
184
- case 'clear':
185
- return INITIAL_EDITOR_STATE;
186
- }
187
- }
@@ -1,47 +0,0 @@
1
- export type ComposerFrame = {
2
- kind: 'text';
3
- text: string;
4
- } | {
5
- kind: 'paste';
6
- text: string;
7
- } | {
8
- kind: 'newline';
9
- } | {
10
- kind: 'submit';
11
- };
12
- /** True when this `input` carries at least one Enter frame -- the branch guard. */
13
- export declare function hasEnterFrame(input: string): boolean;
14
- /**
15
- * Decode paste regions before interpreting CR/LF or newline frames as keys.
16
- * Paste IDs remain the caller's responsibility.
17
- */
18
- export declare function splitEnterFrames(input: string): ComposerFrame[];
19
- /**
20
- * Merge newline runs with the paste frames that share the same `input`.
21
- *
22
- * Ink drains its buffer in one size-less `read()`, so the filter's TWO writes
23
- * (one per frame family) can arrive as ONE chunk carrying both a paste frame
24
- * and an Enter frame. Neither splitter alone preserves that order --
25
- * `splitPasteFrames` sanitises `\n` out of its text runs, and this module's
26
- * spans treat a paste payload as ordinary text -- so the merge walks the
27
- * ORIGINAL string once: paste frames become paste segments (payload through
28
- * `sanitisePaste`, as `splitPasteFrames` does), and the spans between them are
29
- * segmented with the SAME walker `splitEnterFrames` uses, which is what keeps
30
- * the two views from disagreeing about where a newline sits.
31
- *
32
- * Paste segments carry NO id here (P1-5); the caller assigns one per segment
33
- * only when it builds the reducer's action.
34
- */
35
- export declare function mergeWithPasteRuns(input: string, runs: ComposerFrame[]): ComposerFrame[];
36
- /**
37
- * Remove every Enter frame for a consumer that has no newline model of its
38
- * own, replacing each frame with `'\n'` (tui-shift-enter-copy-queue 3.5, the
39
- * I-12 analogue for this frame family).
40
- *
41
- * NO OTHER SANITISATION, unlike `stripPasteFrames`: the overlay call sites wrap
42
- * this INSIDE their existing `stripPasteFrames(...)` call, and the composite
43
- * keeps that function's byte-level guarantees. Composed the other way round a
44
- * lone NUL frame would survive as its payload letter; composed this way the
45
- * frame's newline lands exactly where a bare Ctrl+J lands today.
46
- */
47
- export declare function stripEnterFrames(input: string): string;
@@ -1,117 +0,0 @@
1
- import { ENTER_NEWLINE_FRAME, PASTE_CLOSE, PASTE_OPEN } from '../input/limits.js';
2
- import { sanitisePaste } from '../input/paste-parse.js';
3
- import { sanitiseTyped } from './paste-frames.js';
4
- /** True when this `input` carries at least one Enter frame -- the branch guard. */
5
- export function hasEnterFrame(input) {
6
- return input.includes(ENTER_NEWLINE_FRAME);
7
- }
8
- /**
9
- * Split one paste-free span into ordered text, newline and submit intents.
10
- *
11
- * Every newline source -- frame or bare `\n` -- yields ONE
12
- * `{ kind: 'newline' }` segment, so the editor's existing `input`
13
- * action inserts it through the same path typing uses and the draft's row
14
- * budget applies unchanged. Non-newline text is accumulated and passed through
15
- * `sanitiseTyped` (I-14): a chunk that carries a frame can also carry the
16
- * keystrokes that arrived beside it, and a coalesced CR must not be spliced
17
- * back into the draft raw.
18
- */
19
- function splitEnterSpan(span) {
20
- const segments = [];
21
- let text = '';
22
- const pushText = () => {
23
- const clean = sanitiseTyped(text);
24
- if (clean.length > 0)
25
- segments.push({ kind: 'text', text: clean });
26
- text = '';
27
- };
28
- let i = 0;
29
- while (i < span.length) {
30
- if (span.startsWith(ENTER_NEWLINE_FRAME, i)) {
31
- pushText();
32
- segments.push({ kind: 'newline' });
33
- i += ENTER_NEWLINE_FRAME.length;
34
- continue;
35
- }
36
- if (span[i] === '\r') {
37
- pushText();
38
- segments.push({ kind: 'submit' });
39
- i += 1;
40
- continue;
41
- }
42
- if (span[i] === '\n') {
43
- pushText();
44
- segments.push({ kind: 'newline' });
45
- i += 1;
46
- continue;
47
- }
48
- text += span[i];
49
- i += 1;
50
- }
51
- pushText();
52
- return segments;
53
- }
54
- /**
55
- * Decode paste regions before interpreting CR/LF or newline frames as keys.
56
- * Paste IDs remain the caller's responsibility.
57
- */
58
- export function splitEnterFrames(input) {
59
- return input.includes(PASTE_OPEN)
60
- ? mergeWithPasteRuns(input, []) : splitEnterSpan(input);
61
- }
62
- /**
63
- * Merge newline runs with the paste frames that share the same `input`.
64
- *
65
- * Ink drains its buffer in one size-less `read()`, so the filter's TWO writes
66
- * (one per frame family) can arrive as ONE chunk carrying both a paste frame
67
- * and an Enter frame. Neither splitter alone preserves that order --
68
- * `splitPasteFrames` sanitises `\n` out of its text runs, and this module's
69
- * spans treat a paste payload as ordinary text -- so the merge walks the
70
- * ORIGINAL string once: paste frames become paste segments (payload through
71
- * `sanitisePaste`, as `splitPasteFrames` does), and the spans between them are
72
- * segmented with the SAME walker `splitEnterFrames` uses, which is what keeps
73
- * the two views from disagreeing about where a newline sits.
74
- *
75
- * Paste segments carry NO id here (P1-5); the caller assigns one per segment
76
- * only when it builds the reducer's action.
77
- */
78
- export function mergeWithPasteRuns(input, runs) {
79
- if (!input.includes(PASTE_OPEN))
80
- return runs;
81
- const merged = [];
82
- let i = 0;
83
- while (i < input.length) {
84
- const open = input.indexOf(PASTE_OPEN, i);
85
- if (open === -1) {
86
- merged.push(...splitEnterSpan(input.slice(i)));
87
- break;
88
- }
89
- merged.push(...splitEnterSpan(input.slice(i, open)));
90
- const bodyStart = open + PASTE_OPEN.length;
91
- const close = input.indexOf(PASTE_CLOSE, bodyStart);
92
- const body = close === -1 ? input.slice(bodyStart) : input.slice(bodyStart, close);
93
- const payload = sanitisePaste(body);
94
- if (payload.length > 0)
95
- merged.push({ kind: 'paste', text: payload });
96
- if (close === -1)
97
- break;
98
- i = close + PASTE_CLOSE.length;
99
- }
100
- return merged;
101
- }
102
- /**
103
- * Remove every Enter frame for a consumer that has no newline model of its
104
- * own, replacing each frame with `'\n'` (tui-shift-enter-copy-queue 3.5, the
105
- * I-12 analogue for this frame family).
106
- *
107
- * NO OTHER SANITISATION, unlike `stripPasteFrames`: the overlay call sites wrap
108
- * this INSIDE their existing `stripPasteFrames(...)` call, and the composite
109
- * keeps that function's byte-level guarantees. Composed the other way round a
110
- * lone NUL frame would survive as its payload letter; composed this way the
111
- * frame's newline lands exactly where a bare Ctrl+J lands today.
112
- */
113
- export function stripEnterFrames(input) {
114
- if (!hasEnterFrame(input))
115
- return input;
116
- return input.split(ENTER_NEWLINE_FRAME).join('\n');
117
- }
@@ -1,37 +0,0 @@
1
- /**
2
- * Render a streaming assistant entry: an optional collapsible thinking block
3
- * above the markdown-rendered answer text. Empty entries render nothing (a turn
4
- * that only produced tool calls has no assistant text).
5
- *
6
- * The role glyph and spacing belong to `EntryFrame` (§4.3) — including the
7
- * streaming spinner, which IS the role marker while text is arriving.
8
- *
9
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3):
10
- * every prop here is a scalar except `theme` and `caps`, both of which are
11
- * `useMemo`d in `App.tsx` and therefore referentially stable across frames
12
- * (I-L2-1, asserted by `render-memo.test.tsx`). If either ever becomes a fresh
13
- * object per render this boundary silently becomes a no-op — which is exactly
14
- * why that assertion exists rather than a comment.
15
- */
16
- import React from 'react';
17
- import type { Theme } from '../theme.js';
18
- import type { TermCapabilities } from '../capabilities.js';
19
- interface AssistantEntryProps {
20
- text: string;
21
- thinking?: string;
22
- thinkingOpen: boolean;
23
- thinkingVisible: boolean;
24
- streaming: boolean;
25
- aborted?: boolean;
26
- /**
27
- * Sealed reasoning time (§3.1.2). OMITTED WHEN UNKNOWN rather than printed as
28
- * `0s`: a session restored from a file written by an older build has none, and
29
- * `thought for 0s` is a lie where a bare `thought` is merely terse.
30
- */
31
- thinkingMs?: number;
32
- theme: Theme;
33
- caps: TermCapabilities;
34
- }
35
- declare function AssistantEntryImpl(props: AssistantEntryProps): React.ReactElement | null;
36
- export declare const AssistantEntry: React.MemoExoticComponent<typeof AssistantEntryImpl>;
37
- export {};
@@ -1,43 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Render a streaming assistant entry: an optional collapsible thinking block
4
- * above the markdown-rendered answer text. Empty entries render nothing (a turn
5
- * that only produced tool calls has no assistant text).
6
- *
7
- * The role glyph and spacing belong to `EntryFrame` (§4.3) — including the
8
- * streaming spinner, which IS the role marker while text is arriving.
9
- *
10
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3):
11
- * every prop here is a scalar except `theme` and `caps`, both of which are
12
- * `useMemo`d in `App.tsx` and therefore referentially stable across frames
13
- * (I-L2-1, asserted by `render-memo.test.tsx`). If either ever becomes a fresh
14
- * object per render this boundary silently becomes a no-op — which is exactly
15
- * why that assertion exists rather than a comment.
16
- */
17
- import React from 'react';
18
- import { Box, Text } from 'ink';
19
- import { pickGlyphs } from '../glyphs.js';
20
- import { Markdown } from '../Markdown.js';
21
- import { splitLinesCached } from '../render-cache.js';
22
- import { clampLiveText } from '../live-clamp.js';
23
- import { formatDuration } from '../../agent/usage.js';
24
- function AssistantEntryImpl(props) {
25
- const { text, thinking, thinkingOpen, thinkingVisible, streaming, aborted, thinkingMs, theme, caps, } = props;
26
- const glyphs = pickGlyphs(caps);
27
- const hasThinking = !!thinking && thinking.trim().length > 0;
28
- const hasText = text.trim().length > 0;
29
- if (!hasThinking && !hasText && !streaming)
30
- return null;
31
- // The thinking block is clamped to its TAIL while streaming even in
32
- // full-screen mode: it is scratch reasoning the user reads the newest end of,
33
- // and an unbounded one is the single easiest way to push a live entry past the
34
- // whole viewport.
35
- const thinkingRows = streaming ? STREAMING_THINKING_ROWS : undefined;
36
- const clampedThinking = hasThinking && thinkingRows !== undefined
37
- ? clampLiveText(thinking, thinkingRows)
38
- : { text: thinking ?? '', hiddenRows: 0 };
39
- return (_jsxs(Box, { flexDirection: "column", children: [hasThinking && thinkingVisible && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { wrap: "truncate", color: theme.thinking, children: [glyphs.thinking, " thinking", thinkingOpen ? glyphs.ellipsis : ''] }), _jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [clampedThinking.hiddenRows > 0 && (_jsxs(Text, { color: theme.muted, children: [glyphs.ellipsis, " ", clampedThinking.hiddenRows, " earlier", ' ', clampedThinking.hiddenRows === 1 ? 'line' : 'lines'] })), splitLinesCached(clampedThinking.text).map((line, i) => (_jsx(Text, { color: theme.thinking, dimColor: true, children: line }, i)))] })] })), hasThinking && !thinkingVisible && !streaming && (_jsxs(Text, { wrap: "truncate", color: theme.muted, children: [glyphs.thinking, " thought", thinkingMs !== undefined ? ` for ${formatDuration(thinkingMs)}` : '', ` ${glyphs.midDot} ctrl+t to show`] })), (hasText || streaming) && (_jsxs(Box, { flexDirection: "column", children: [hasText ? (_jsx(Markdown, { text: text, theme: theme, caps: caps })) : (_jsx(Text, { color: theme.muted, children: glyphs.ellipsis })), aborted && _jsx(Text, { color: theme.noticeWarn, children: "[aborted]" })] }))] }));
40
- }
41
- /** Rows of live thinking kept on screen while an answer streams. */
42
- const STREAMING_THINKING_ROWS = 24;
43
- export const AssistantEntry = React.memo(AssistantEntryImpl);
@@ -1,88 +0,0 @@
1
- /**
2
- * CompactionCard — one context compaction in the transcript
3
- * (context-auto-compaction §6.3).
4
- *
5
- * ASCII ONLY: every glyph comes from `pickGlyphs`, INCLUDING THE ARROW. The mock
6
- * in the design shows `112 -> 9 messages`; that arrow is `glyphs.arrowRight`, the
7
- * one `StatusBar` already uses, not a literal — `ui/` is inside
8
- * `glyphs.test.ts::inScope`, so a literal here fails the scan (P2-7).
9
- *
10
- * EXPANDABLE, UNLIKE `FastCard`. A critique is already clamped to
11
- * `fast.reviewMaxChars` before it reaches its card, so there is nothing hidden
12
- * for Ctrl+O to reveal; a summary is up to `summaryMaxChars` and there genuinely
13
- * is more to see. That is why `App`'s Ctrl+O predicate had to learn about this
14
- * kind — without it the card renders a hint that does nothing and expands an
15
- * older tool card instead (C-15 / P1-8 / AC-21).
16
- *
17
- * EVERY STRING DESCRIBES THE HISTORY, NEVER THE SCREEN (§6.4 / P2-9).
18
- * `/clear screen` empties the transcript view but not `messages`, so this card
19
- * can legitimately report a message count the visible rows do not add up to.
20
- * Nothing here says "above" or "earlier in this transcript". `/clear` itself is
21
- * the conversation boundary now: it drops the history and this card with it.
22
- */
23
- import React from 'react';
24
- import type { Theme } from '../theme.js';
25
- import type { TermCapabilities } from '../capabilities.js';
26
- import type { CompactionDecision, CompactionMode, CompactionPhase, CompactionUiTrigger } from '../../compaction/types.js';
27
- export interface CompactionCardProps {
28
- decision?: CompactionDecision;
29
- memoryVersion?: 2;
30
- index: number;
31
- trigger: CompactionUiTrigger;
32
- mode: CompactionMode;
33
- applied: boolean;
34
- reason?: string;
35
- messagesBefore: number;
36
- messagesAfter: number;
37
- tokensBefore: number;
38
- tokensAfter: number;
39
- summary?: string;
40
- model: string;
41
- durationMs?: number;
42
- /** The live card's stage, so "compacting" also says WHAT (never-fires C). */
43
- phase?: CompactionPhase;
44
- /** Set when this cut existed only because `keepRecentTurns` was relaxed (B). */
45
- keepRelaxed?: boolean;
46
- retainedTurns?: number;
47
- /** Messages the relaxed cut left verbatim, which is not the same as turns. */
48
- retainedMessages?: number;
49
- keepRecentTurnsUsed?: number;
50
- /** Messages the digest left out and therefore cannot be quoted (A1). */
51
- elidedMessages?: number;
52
- /**
53
- * Wall-clock since the card opened, LIVE ONLY
54
- * (context-auto-compaction-hardening §3.6 / W5).
55
- *
56
- * Rendered in the position `durationMs` occupies once settled, so the number
57
- * does not move when the card settles. Only the single live card receives it,
58
- * so exactly one memoized card re-renders per second.
59
- */
60
- elapsedMs?: number;
61
- /** Set when tail relief clipped the retained turns (W2). */
62
- tailRelief?: {
63
- messages: number;
64
- charsRemoved: number;
65
- };
66
- live: boolean;
67
- expanded?: boolean;
68
- reducedMotion?: boolean;
69
- theme: Theme;
70
- caps: TermCapabilities;
71
- }
72
- /**
73
- * The card's colour.
74
- *
75
- * `truncated` is a WARNING rather than the accent, because it is a real and
76
- * bounded data loss the user is entitled to notice; `applied: false` is an error
77
- * because the run is still at the occupancy that triggered it.
78
- */
79
- export declare function compactionCardColor(props: Pick<CompactionCardProps, 'live' | 'applied' | 'mode'>, theme: Theme): string | undefined;
80
- declare function CompactionCardImpl(props: CompactionCardProps): React.ReactElement;
81
- /**
82
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
83
- * `mapEntry` already preserves object identity for untouched entries, so the
84
- * props below are stable references on a settled card, and `theme` / `caps` are
85
- * `useMemo`d in `App.tsx` (I-L2-1).
86
- */
87
- export declare const CompactionCard: React.MemoExoticComponent<typeof CompactionCardImpl>;
88
- export {};