@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,85 +0,0 @@
1
- /**
2
- * The legion panel's geometry: every decision `GovernancePanel` draws (governance-mode
3
- * section 10.3), made in pure code so it can be tested without a terminal.
4
- *
5
- * Pure and total: no Ink, no clock (`now` is injected), no I/O. ASCII ONLY.
6
- *
7
- * THE COMPONENT ONLY COLOURS AND PLACES. Tier, header, step strip, roster columns and
8
- * cell text, overflow line and ticker are all computed here; a test that wants to know
9
- * what the panel says at 80 columns asks this module and never renders.
10
- *
11
- * FOUR TIERS, chosen from the terminal's size alone (`selectTier`):
12
- * full >= 100 cols and >= 26 rows header + step strip + roster (with gauge) + ticker
13
- * standard 80-99 cols (rows >= 26) the same without the activity column
14
- * compact 60-79 cols, or rows < 26 header with the stage name + a bare roster
15
- * minimal < 60 cols or rows < 20 ONE line
16
- * and a tier that does not fit the caller's `availableRows` steps DOWN rather than
17
- * overflowing - the band clamps the panel's height, and a clipped last row is the one
18
- * outcome worse than a smaller tier.
19
- */
20
- import type { GovernanceSnapshot } from '../../governance/types.js';
21
- import type { Glyphs } from '../glyphs.js';
22
- import { type EliminatedSince, type Segment } from '../governance-status.js';
23
- import { type PanelTier, type RosterColumn, type RosterLine } from './governance-roster.js';
24
- export type { PanelTier } from './governance-roster.js';
25
- export declare const PANEL_TIER_COLS: {
26
- readonly full: 100;
27
- readonly standard: 80;
28
- readonly compact: 60;
29
- };
30
- export declare const PANEL_TIER_ROWS: {
31
- readonly full: 26;
32
- readonly minimal: 20;
33
- };
34
- /** Roster rows shown: `clamp(rows - 16, 2, 10)` (spec 10.3). */
35
- export declare function maxRosterRows(rows: number): number;
36
- /** The tier the terminal's size asks for, before any height budget is applied. */
37
- export declare function selectTier(cols: number, rows: number): PanelTier;
38
- /** One display line: a flexible left run and an optional right-anchored run. */
39
- export interface PanelLine {
40
- left: Segment[];
41
- right: Segment[];
42
- /** Cells the right run occupies (0 when there is none). */
43
- rightCells: number;
44
- }
45
- export interface GovernancePanelInput {
46
- cols: number;
47
- rows: number;
48
- snapshot: GovernanceSnapshot | null;
49
- glyphs: Glyphs;
50
- reducedMotion: boolean;
51
- now: number;
52
- /** `panel` while a stage runs; `run-strip` between stages (header + step strip only). */
53
- mode?: 'panel' | 'run-strip';
54
- /** Height budget the caller can spare; tiers step down to fit. Default unlimited. */
55
- availableRows?: number;
56
- /** First-seen-eliminated phases, so a replaced member leaves after one phase. */
57
- eliminatedSince?: EliminatedSince;
58
- }
59
- export interface GovernancePanelLayout {
60
- tier: PanelTier;
61
- mode: 'panel' | 'run-strip';
62
- /** Terminal columns this layout was built for. */
63
- cols: number;
64
- /** `cols` minus the margin: the budget every line is planned against. */
65
- innerCols: number;
66
- height: number;
67
- header: PanelLine | null;
68
- pipeline: PanelLine | null;
69
- /** Width of the horizontal rule above and below the roster; 0 = no rules. */
70
- ruleCells: number;
71
- columns: RosterColumn[];
72
- rosterRows: RosterLine[];
73
- overflow: string | null;
74
- ticker: PanelLine[];
75
- }
76
- export declare function segmentsCells(segments: readonly Segment[]): number;
77
- /**
78
- * Plan the panel for a terminal and a snapshot.
79
- *
80
- * `null` snapshot, or a finished run, plans to height 0 (nothing mounts - zero rows and
81
- * zero layout shift, the `TeamPanel` D-11 rule). The caller's `availableRows` is a
82
- * ceiling: tiers step down until one fits, and `minimal` is a single row or, with no row to
83
- * spare, nothing.
84
- */
85
- export declare function buildGovernancePanelLayout(input: GovernancePanelInput): GovernancePanelLayout;
@@ -1,358 +0,0 @@
1
- /**
2
- * The legion panel's geometry: every decision `GovernancePanel` draws (governance-mode
3
- * section 10.3), made in pure code so it can be tested without a terminal.
4
- *
5
- * Pure and total: no Ink, no clock (`now` is injected), no I/O. ASCII ONLY.
6
- *
7
- * THE COMPONENT ONLY COLOURS AND PLACES. Tier, header, step strip, roster columns and
8
- * cell text, overflow line and ticker are all computed here; a test that wants to know
9
- * what the panel says at 80 columns asks this module and never renders.
10
- *
11
- * FOUR TIERS, chosen from the terminal's size alone (`selectTier`):
12
- * full >= 100 cols and >= 26 rows header + step strip + roster (with gauge) + ticker
13
- * standard 80-99 cols (rows >= 26) the same without the activity column
14
- * compact 60-79 cols, or rows < 26 header with the stage name + a bare roster
15
- * minimal < 60 cols or rows < 20 ONE line
16
- * and a tier that does not fit the caller's `availableRows` steps DOWN rather than
17
- * overflowing - the band clamps the panel's height, and a clipped last row is the one
18
- * outcome worse than a smaller tier.
19
- */
20
- import { formatCost, formatDuration, formatTokens } from '../../agent/usage.js';
21
- import { activeStepKey, isFinishedRun, isPausePending, isRetired, segment, shortRunId, signedDeltaText, sortRoster, teamTokens, workingCount, } from '../governance-status.js';
22
- import { GOV_TITLE, PANEL_BOARD_HINT, PANEL_HEALTH_LABEL, PANEL_LEDGER_LABEL, PANEL_TOKEN_UNIT, PIPELINE_LABEL, STATUS_WORD, moreText, phaseLongText, pausingText, phaseText, workingCountText, } from '../governance-copy.js';
23
- import { cellWidth, fitCells } from './cells.js';
24
- import { PANEL_MARGIN_CELLS, buildRosterLine, columnPlan, markerCells, } from './governance-roster.js';
25
- export const PANEL_TIER_COLS = { full: 100, standard: 80, compact: 60 };
26
- export const PANEL_TIER_ROWS = { full: 26, minimal: 20 };
27
- /** Roster rows shown: `clamp(rows - 16, 2, 10)` (spec 10.3). */
28
- export function maxRosterRows(rows) {
29
- const free = Number.isFinite(rows) ? Math.floor(rows) - 16 : 0;
30
- return Math.min(10, Math.max(2, free));
31
- }
32
- /** The tier the terminal's size asks for, before any height budget is applied. */
33
- export function selectTier(cols, rows) {
34
- if (cols < PANEL_TIER_COLS.compact || rows < PANEL_TIER_ROWS.minimal)
35
- return 'minimal';
36
- if (rows < PANEL_TIER_ROWS.full || cols < PANEL_TIER_COLS.standard)
37
- return 'compact';
38
- return cols >= PANEL_TIER_COLS.full ? 'full' : 'standard';
39
- }
40
- const NEXT_SMALLER = {
41
- full: 'standard',
42
- standard: 'compact',
43
- compact: 'minimal',
44
- minimal: null,
45
- };
46
- const EMPTY = {
47
- tier: 'minimal',
48
- mode: 'panel',
49
- cols: 0,
50
- innerCols: 0,
51
- height: 0,
52
- header: null,
53
- pipeline: null,
54
- ruleCells: 0,
55
- columns: [],
56
- rosterRows: [],
57
- overflow: null,
58
- ticker: [],
59
- };
60
- function nonNegativeInt(value) {
61
- return Number.isFinite(value) ? Math.max(0, Math.floor(value)) : 0;
62
- }
63
- export function segmentsCells(segments) {
64
- return segments.reduce((sum, part) => sum + cellWidth(part.text), 0);
65
- }
66
- function line(left, right = []) {
67
- return { left, right, rightCells: segmentsCells(right) };
68
- }
69
- const SEPARATOR = ' ';
70
- /** The parts joined by the glyph tier's middle dot, the dot itself in `muted`. */
71
- function joined(parts, glyphs) {
72
- const out = [];
73
- parts.forEach((part, index) => {
74
- if (index > 0)
75
- out.push(segment(`${SEPARATOR}${glyphs.midDot}${SEPARATOR}`, 'muted'));
76
- out.push(part);
77
- });
78
- return out;
79
- }
80
- // ---------------------------------------------------------------------------
81
- // Header
82
- // ---------------------------------------------------------------------------
83
- function stageWord(snapshot) {
84
- const key = activeStepKey(snapshot);
85
- return key === null ? '' : PIPELINE_LABEL[key];
86
- }
87
- function statusSegments(snapshot) {
88
- // A pending `/gov pause` outranks the plain status: the run is still executing, and the
89
- // one thing the user needs to see is that the stop is coming and nothing is killed.
90
- if (isPausePending(snapshot)) {
91
- return [segment(pausingText(stageWord(snapshot)), 'warn', true)];
92
- }
93
- if (snapshot.status === 'paused')
94
- return [segment(STATUS_WORD.paused, 'warn', true)];
95
- if (snapshot.status === 'escalated')
96
- return [segment(STATUS_WORD.escalated, 'warn', true)];
97
- return [];
98
- }
99
- /** The right-hand figures, most expendable last: cost, then tokens, then health. */
100
- function headerFigures(snapshot, withCost) {
101
- const figures = [];
102
- if (snapshot.health !== null) {
103
- figures.push([
104
- segment(`${PANEL_HEALTH_LABEL} `, 'muted'),
105
- segment(String(Math.round(snapshot.health)), 'text', true),
106
- ]);
107
- }
108
- figures.push([segment(`${formatTokens(teamTokens(snapshot))} ${PANEL_TOKEN_UNIT}`, 'muted')]);
109
- if (withCost && snapshot.usage.costUsd !== null) {
110
- figures.push([segment(formatCost(snapshot.usage.costUsd), 'muted')]);
111
- }
112
- return figures;
113
- }
114
- function spaced(figures) {
115
- const out = [];
116
- figures.forEach((figure, index) => {
117
- if (index > 0)
118
- out.push(segment(' ', 'muted'));
119
- out.push(...figure);
120
- });
121
- return out;
122
- }
123
- function buildHeader(snapshot, inner, now, glyphs, withCost) {
124
- const elapsed = formatDuration(Math.max(0, now - snapshot.startedAt));
125
- const parts = [
126
- segment(`run ${shortRunId(snapshot.runId)}`, 'muted'),
127
- segment(phaseLongText(snapshot.phase, snapshot.phaseCount), 'text'),
128
- ];
129
- // `pausing after REVIEW` already names the stage; saying it twice is noise on a short row.
130
- const stage = isPausePending(snapshot) ? '' : stageWord(snapshot);
131
- if (stage !== '')
132
- parts.push(segment(stage, 'primary', true));
133
- parts.push(segment(elapsed, 'muted'));
134
- const title = [segment(GOV_TITLE, 'govern', true), ...statusSegments(snapshot).flatMap((s) => [
135
- segment(' ', 'muted'),
136
- s,
137
- ])];
138
- const left = [...title, segment(' ', 'muted'), ...joined(parts, glyphs)];
139
- const figures = headerFigures(snapshot, withCost);
140
- while (figures.length > 0) {
141
- const right = spaced(figures);
142
- if (segmentsCells(left) + segmentsCells(right) + 2 <= inner)
143
- return line(left, right);
144
- figures.pop();
145
- }
146
- return line(left);
147
- }
148
- /** Compact header: the stage name replaces the step strip (spec 10.3). */
149
- function buildCompactHeader(snapshot, inner, now, glyphs) {
150
- const parts = [segment(phaseText(snapshot.phase, snapshot.phaseCount), 'text')];
151
- const stage = isPausePending(snapshot) ? '' : stageWord(snapshot);
152
- if (stage !== '')
153
- parts.push(segment(stage, 'primary', true));
154
- parts.push(segment(formatDuration(Math.max(0, now - snapshot.startedAt)), 'muted'));
155
- const title = [segment(GOV_TITLE, 'govern', true), ...statusSegments(snapshot).flatMap((s) => [
156
- segment(' ', 'muted'),
157
- s,
158
- ])];
159
- const left = [...title, segment(' ', 'muted'), ...joined(parts, glyphs)];
160
- if (snapshot.health === null)
161
- return line(left);
162
- const right = [
163
- segment(`${PANEL_HEALTH_LABEL} `, 'muted'),
164
- segment(String(Math.round(snapshot.health)), 'text', true),
165
- ];
166
- return segmentsCells(left) + segmentsCells(right) + 2 <= inner ? line(left, right) : line(left);
167
- }
168
- // ---------------------------------------------------------------------------
169
- // Step strip
170
- // ---------------------------------------------------------------------------
171
- function stepSegments(snapshot, glyphs) {
172
- return snapshot.pipeline.map((step) => {
173
- const label = PIPELINE_LABEL[step.key];
174
- if (step.state === 'done') {
175
- return [segment(label, 'ok'), segment(` ${glyphs.check}`, 'ok')];
176
- }
177
- if (step.state === 'active')
178
- return [segment(`${glyphs.cursor}${label}`, 'govern', true)];
179
- return [segment(label, 'muted')];
180
- });
181
- }
182
- function flattenSteps(steps, glyphs, leadingGap) {
183
- const out = leadingGap
184
- ? [segment(`${glyphs.ellipsis} ${glyphs.hrule} `, 'muted')]
185
- : [];
186
- steps.forEach((step, index) => {
187
- if (index > 0)
188
- out.push(segment(` ${glyphs.hrule} `, 'border'));
189
- out.push(...step);
190
- });
191
- return out;
192
- }
193
- /**
194
- * The step strip, with the rework note right-anchored. A strip too wide for the row loses
195
- * its OLDEST steps first (they are the ones already done), marked with a leading ellipsis,
196
- * so the current step and what is still to come always stay visible.
197
- */
198
- function buildPipeline(snapshot, inner, glyphs) {
199
- const steps = stepSegments(snapshot, glyphs);
200
- if (steps.length === 0)
201
- return null;
202
- const note = snapshot.reworkNote === null ? [] : [segment(snapshot.reworkNote, 'warn')];
203
- const noteCells = segmentsCells(note);
204
- const activeIndex = Math.max(0, snapshot.pipeline.findIndex((s) => s.state === 'active'));
205
- for (const withNote of note.length > 0 ? [true, false] : [false]) {
206
- const budget = inner - (withNote ? noteCells + 2 : 0);
207
- for (let start = 0; start <= Math.min(activeIndex, steps.length - 1); start += 1) {
208
- const left = flattenSteps(steps.slice(start), glyphs, start > 0);
209
- if (segmentsCells(left) <= budget)
210
- return line(left, withNote ? note : []);
211
- }
212
- }
213
- return line(flattenSteps(steps.slice(activeIndex), glyphs, activeIndex > 0));
214
- }
215
- // ---------------------------------------------------------------------------
216
- // Ticker
217
- // ---------------------------------------------------------------------------
218
- function tickerEntry(row) {
219
- const amount = signedDeltaText(row.delta, row.provisional);
220
- return `${row.agentId} ${amount} ${row.code} ${row.reason}`.replace(/\s+/g, ' ').trim();
221
- }
222
- /**
223
- * The ledger ticker: the most recent entries, newest first, joined by a middle dot.
224
- *
225
- * An ALERT outranks it. A budget warning or an escalation is the one thing the panel
226
- * cannot afford to scroll past, and the row is already the panel's quiet last line.
227
- */
228
- function buildTicker(snapshot, inner, glyphs) {
229
- const alert = snapshot.alerts[0];
230
- if (alert !== undefined) {
231
- const text = fitCells(`${glyphs.warn} ${alert}`, inner, glyphs.ellipsis);
232
- return [line([segment(text, 'warn')])];
233
- }
234
- if (snapshot.recent.length === 0)
235
- return [];
236
- const label = `${PANEL_LEDGER_LABEL} `;
237
- const separator = ` ${glyphs.midDot} `;
238
- const budget = Math.max(0, inner - cellWidth(label));
239
- let body = '';
240
- // Sorted by time here rather than trusting the producer's order: the ticker's whole
241
- // meaning is "newest first".
242
- for (const row of [...snapshot.recent].sort((a, b) => b.at - a.at)) {
243
- const next = body === '' ? tickerEntry(row) : `${body}${separator}${tickerEntry(row)}`;
244
- if (body !== '' && cellWidth(next) > budget)
245
- break;
246
- body = next;
247
- }
248
- const shown = fitCells(body, budget, glyphs.ellipsis);
249
- return [line([segment(label, 'muted'), segment(shown, 'text')])];
250
- }
251
- // ---------------------------------------------------------------------------
252
- // Minimal tier
253
- // ---------------------------------------------------------------------------
254
- function minimalCandidates(snapshot, glyphs) {
255
- const status = isPausePending(snapshot)
256
- ? ` ${STATUS_WORD.pausing}`
257
- : snapshot.status === 'paused' || snapshot.status === 'escalated'
258
- ? ` ${STATUS_WORD[snapshot.status]}`
259
- : '';
260
- const stage = stageWord(snapshot);
261
- const base = `${GOV_TITLE}${status} ${phaseText(snapshot.phase, snapshot.phaseCount)}`;
262
- const staged = stage === '' ? base : `${base} ${stage}`;
263
- const dot = ` ${glyphs.midDot} `;
264
- const working = workingCountText(workingCount(snapshot));
265
- const health = snapshot.health === null
266
- ? ''
267
- : `${dot}${PANEL_HEALTH_LABEL} ${Math.round(snapshot.health)}`;
268
- return [
269
- `${staged}${dot}${working}${health}${dot}${PANEL_BOARD_HINT}`,
270
- `${staged}${dot}${working}${health}`,
271
- `${staged}${dot}${working}`,
272
- staged,
273
- base,
274
- GOV_TITLE,
275
- ];
276
- }
277
- function buildMinimal(snapshot, inner, glyphs) {
278
- const fits = (candidate) => cellWidth(candidate) <= inner;
279
- const text = minimalCandidates(snapshot, glyphs).find(fits)
280
- ?? fitCells(GOV_TITLE, inner, glyphs.ellipsis);
281
- const split = text.indexOf(' ');
282
- const head = split < 0 ? text : text.slice(0, split);
283
- const rest = split < 0 ? '' : text.slice(split);
284
- return line([segment(head, 'govern', true), ...(rest === '' ? [] : [segment(rest, 'muted')])]);
285
- }
286
- function selectRoster(snapshot, rows, since) {
287
- const present = sortRoster(snapshot.roster)
288
- .filter((row) => !isRetired(row, snapshot.phase, since));
289
- const cap = maxRosterRows(rows);
290
- if (present.length <= cap)
291
- return { visible: present, hidden: 0 };
292
- // One row of the cap is spent on the `+N more` line, so a hidden roster never makes
293
- // the panel taller than the budget `maxRosterRows` promised.
294
- const shown = Math.max(1, cap - 1);
295
- return { visible: present.slice(0, shown), hidden: present.length - shown };
296
- }
297
- function buildTier(input, tier) {
298
- const snapshot = input.snapshot;
299
- const cols = nonNegativeInt(input.cols);
300
- const inner = Math.max(0, cols - PANEL_MARGIN_CELLS);
301
- const mode = input.mode ?? 'panel';
302
- const base = { ...EMPTY, tier, mode, cols, innerCols: inner };
303
- if (tier === 'minimal') {
304
- return { ...base, height: 1, header: buildMinimal(snapshot, inner, input.glyphs) };
305
- }
306
- const compact = tier === 'compact';
307
- const header = compact
308
- ? buildCompactHeader(snapshot, inner, input.now, input.glyphs)
309
- : buildHeader(snapshot, inner, input.now, input.glyphs, tier === 'full');
310
- const pipeline = compact ? null : buildPipeline(snapshot, inner, input.glyphs);
311
- if (mode === 'run-strip') {
312
- return { ...base, height: 1 + Number(pipeline !== null), header, pipeline };
313
- }
314
- const columns = columnPlan(tier, inner, markerCells(input.glyphs));
315
- const { visible, hidden } = selectRoster(snapshot, input.rows, input.eliminatedSince ?? {});
316
- const rosterRows = visible.map((row) => buildRosterLine({
317
- columns, row, glyphs: input.glyphs, now: input.now, reducedMotion: input.reducedMotion,
318
- }));
319
- const ticker = compact ? [] : buildTicker(snapshot, inner, input.glyphs);
320
- const ruled = !compact && rosterRows.length > 0;
321
- const overflow = hidden > 0 ? fitCells(moreText(hidden), inner, input.glyphs.ellipsis) : null;
322
- const height = 1 + Number(pipeline !== null) + 2 * Number(ruled) + rosterRows.length
323
- + Number(overflow !== null) + ticker.length;
324
- return {
325
- ...base,
326
- height,
327
- header,
328
- pipeline,
329
- ruleCells: ruled ? inner : 0,
330
- columns,
331
- rosterRows,
332
- overflow,
333
- ticker,
334
- };
335
- }
336
- /**
337
- * Plan the panel for a terminal and a snapshot.
338
- *
339
- * `null` snapshot, or a finished run, plans to height 0 (nothing mounts - zero rows and
340
- * zero layout shift, the `TeamPanel` D-11 rule). The caller's `availableRows` is a
341
- * ceiling: tiers step down until one fits, and `minimal` is a single row or, with no row to
342
- * spare, nothing.
343
- */
344
- export function buildGovernancePanelLayout(input) {
345
- if (input.snapshot === null || isFinishedRun(input.snapshot.status))
346
- return EMPTY;
347
- const available = input.availableRows === undefined
348
- ? Infinity
349
- : nonNegativeInt(input.availableRows);
350
- let tier = selectTier(nonNegativeInt(input.cols), nonNegativeInt(input.rows));
351
- while (tier !== null) {
352
- const layout = buildTier(input, tier);
353
- if (layout.height <= available)
354
- return layout;
355
- tier = NEXT_SMALLER[tier];
356
- }
357
- return { ...EMPTY, cols: nonNegativeInt(input.cols) };
358
- }
@@ -1,65 +0,0 @@
1
- /**
2
- * Roster geometry and cell text for the legion panel (governance-mode section 10.3).
3
- *
4
- * Pure and total: no Ink, no clock, no terminal. ASCII ONLY.
5
- *
6
- * WHY COMPUTED FIXED-WIDTH COLUMNS. Same lesson as `team-row.ts`, whose header records
7
- * it at length: a fixed-height parent makes Yoga size a flex column to its widest CHILD,
8
- * so a row placed by `flexGrow` stops short of the terminal and the cells to its right
9
- * lose their absolute offsets. Every column below therefore has a COMPUTED integer width
10
- * and exactly ONE column is elastic; it sits between the fixed cluster on its left and
11
- * the fixed `delta` cell on its right, so the score change always lands in the row's
12
- * last column whatever the activity text says.
13
- *
14
- * `columnPlan` is TOTAL: for any width (including 0 and 400) the widths never sum past
15
- * the width it was given. `governance-panel-layout.test.ts` runs it for every width.
16
- */
17
- import type { RosterRow } from '../../governance/types.js';
18
- import type { Glyphs } from '../glyphs.js';
19
- import { type Segment } from '../governance-status.js';
20
- export type PanelTier = 'full' | 'standard' | 'compact' | 'minimal';
21
- export type RosterColumnKey = 'marker' | 'id' | 'role' | 'state' | 'gauge' | 'score' | 'prov' | 'tag' | 'wp' | 'activity' | 'delta' | 'note';
22
- export interface RosterColumn {
23
- key: RosterColumnKey;
24
- /** Final integer width in terminal columns (the elastic column's is what is left). */
25
- width: number;
26
- elastic: boolean;
27
- align: 'left' | 'right';
28
- }
29
- /** One leading margin column, drawn by the component. */
30
- export declare const PANEL_MARGIN_CELLS = 1;
31
- /**
32
- * The row's columns for a tier at `inner` columns (the terminal width minus the margin).
33
- *
34
- * THE DROP LADDER IS THE SPECIFICATION, in the order the cells give way: the activity
35
- * text first (the only column whose loss costs nothing structural - the work-package cell
36
- * becomes the elastic one), then the tag, gauge, provisional, role and delta cells. The
37
- * elastic column keeps at least its floor; when even the fixed cluster does not fit,
38
- * `squeeze` trims from the right so the sum stays inside `inner` for any input.
39
- */
40
- export declare function columnPlan(tier: PanelTier, inner: number, markerCells: number): RosterColumn[];
41
- export declare function columnsWidth(columns: readonly RosterColumn[]): number;
42
- export interface RosterCell {
43
- key: RosterColumnKey;
44
- width: number;
45
- elastic: boolean;
46
- align: 'left' | 'right';
47
- segments: Segment[];
48
- }
49
- export interface RosterLine {
50
- /** `row.id`; stable across snapshots so React keys do not churn. */
51
- key: string;
52
- kind: 'agent' | 'eliminated';
53
- cells: RosterCell[];
54
- }
55
- export interface RosterLineInput {
56
- columns: readonly RosterColumn[];
57
- row: RosterRow;
58
- glyphs: Glyphs;
59
- now: number;
60
- reducedMotion: boolean;
61
- }
62
- /** One roster row's cells, text already clamped to its cell. */
63
- export declare function buildRosterLine(input: RosterLineInput): RosterLine;
64
- /** The marker cell's width in the current glyph tier: 1 + widest marker + 1. */
65
- export declare function markerCells(glyphs: Glyphs): number;