@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,382 +0,0 @@
1
- /**
2
- * The `/gov board` overlay's model and geometry (governance-mode section 10.5): the tab
3
- * model, the data adapters, the row builders and the scroll arithmetic - every decision
4
- * the overlay makes, in pure code.
5
- *
6
- * Pure and total: no Ink, no clock (`now` is not even needed: rows carry sequence
7
- * numbers, not times), no I/O. ASCII ONLY.
8
- *
9
- * TWO DATA SOURCES, ONE SHAPE. The live `GovernanceSnapshot` knows the roster and the
10
- * ticker; the work-package matrix, the full ledger and the claims live in `RunState` /
11
- * `LedgerState`. `GovernanceBoardData` is the UI's own flat projection of all of it, with
12
- * two builders: `boardDataFromSnapshot` (what the renderer always has) and
13
- * `boardDataFromRun` (what the wiring can supply). A board built from the snapshot alone
14
- * still reads correctly - the tabs it cannot fill say so instead of going blank.
15
- *
16
- * EVERY ROW IS ONE TERMINAL ROW. Rows are `Segment[]` rendered `wrap="truncate"`, so
17
- * scrolling is arithmetic on a list length (`sliceWindow`), never a re-measure.
18
- */
19
- import { govChildStatus, labelTag, scoreText, scoreToneKey, segment, signedDeltaText, sortRoster, statusTone, } from '../governance-status.js';
20
- import { BOARD_EMPTY, BOARD_TAB_LABEL, ROLE_LABEL, STATE_WORD, WORKING_VERB, replacedByText, } from '../governance-copy.js';
21
- import { statusMarkerCell } from '../team-status.js';
22
- import { cellWidth, fitCells, padCells } from './cells.js';
23
- import { sliceWindow } from './overlay-window.js';
24
- export const BOARD_TABS = ['roster', 'work', 'ledger', 'claims'];
25
- /** Terminals narrower than this get the single-column form with a `1/4` pager. */
26
- export const BOARD_NARROW_COLS = 80;
27
- /** Recent ledger lines shown under each identity on the roster tab (spec 10.5). */
28
- export const BOARD_RECENT_PER_AGENT = 5;
29
- /** Ledger rows kept in the projection, newest first. */
30
- export const BOARD_LEDGER_MAX = 200;
31
- /** The tab `delta` steps away, wrapping at both ends. */
32
- export function stepTab(tab, delta) {
33
- const index = BOARD_TABS.indexOf(tab);
34
- const size = BOARD_TABS.length;
35
- return BOARD_TABS[(((index + delta) % size) + size) % size];
36
- }
37
- export function tabIndex(tab) {
38
- return BOARD_TABS.indexOf(tab);
39
- }
40
- /** What the renderer always has: the live snapshot. WPs and claims stay empty. */
41
- export function boardDataFromSnapshot(snapshot, boardPath = null) {
42
- const ledger = [...snapshot.recent]
43
- .sort((a, b) => b.at - a.at)
44
- .map((row, index) => ({
45
- seq: snapshot.recent.length - index,
46
- agentId: row.agentId,
47
- code: row.code,
48
- delta: row.delta,
49
- provisional: row.provisional,
50
- by: '',
51
- reason: row.reason,
52
- evidence: '',
53
- capped: false,
54
- }));
55
- return { snapshot, workPackages: [], ledger, claims: [], boardPath };
56
- }
57
- function workPackageRow(wp) {
58
- return {
59
- id: wp.id,
60
- title: wp.title,
61
- status: wp.status,
62
- reworkCount: wp.reworkCount,
63
- assignee: wp.assignee ?? '',
64
- reviewer: wp.reviewer ?? '',
65
- tester: wp.tester ?? '',
66
- fileCount: wp.files.length,
67
- blockedAt: wp.blockedAt ?? '',
68
- };
69
- }
70
- function claimRow(claim) {
71
- return {
72
- id: claim.id,
73
- kind: 'claim',
74
- status: claim.status,
75
- detail: claim.kind,
76
- subject: `${claim.raisedBy} -> ${claim.against} (${claim.wpId})`,
77
- text: claim.rulingText ?? claim.justification,
78
- };
79
- }
80
- function escalationRow(esc) {
81
- return {
82
- id: esc.id,
83
- kind: 'escalation',
84
- status: esc.status,
85
- detail: esc.kind,
86
- subject: esc.wpId ?? (esc.phase === undefined ? '' : `phase ${esc.phase + 1}`),
87
- text: esc.ruling ?? esc.topic,
88
- };
89
- }
90
- function ledgerRows(ledger) {
91
- const rows = [];
92
- for (const agent of Object.values(ledger.agents)) {
93
- for (const entry of agent.history) {
94
- rows.push({
95
- seq: entry.seq,
96
- agentId: agent.id,
97
- code: entry.code,
98
- delta: entry.delta,
99
- provisional: entry.settlement === 'provisional',
100
- by: entry.by,
101
- reason: entry.reason,
102
- evidence: entry.evidence ?? '',
103
- capped: entry.capped !== undefined,
104
- });
105
- }
106
- }
107
- return rows.sort((a, b) => b.seq - a.seq).slice(0, BOARD_LEDGER_MAX);
108
- }
109
- /** The full projection, for a wiring that can read the run and the ledger. */
110
- export function boardDataFromRun(input) {
111
- const { snapshot, run, ledger } = input;
112
- return {
113
- snapshot,
114
- workPackages: run.wpOrder
115
- .map((id) => run.workPackages[id])
116
- .filter((wp) => wp !== undefined)
117
- .map(workPackageRow),
118
- ledger: ledgerRows(ledger),
119
- claims: [...run.claims.map(claimRow), ...run.escalations.map(escalationRow)],
120
- boardPath: input.boardPath ?? null,
121
- };
122
- }
123
- function boardLine(key, segments) {
124
- return { key, segments };
125
- }
126
- function emptyLine(text) {
127
- return [boardLine('empty', [segment(text, 'muted')])];
128
- }
129
- function head(key, text) {
130
- return boardLine(key, [segment(text, 'muted')]);
131
- }
132
- function agentState(row) {
133
- return row.state === 'working' ? WORKING_VERB[row.role] : STATE_WORD[row.state];
134
- }
135
- function recentLines(data, agentId) {
136
- return data.ledger
137
- .filter((row) => row.agentId === agentId)
138
- .slice(0, BOARD_RECENT_PER_AGENT)
139
- .map((row) => boardLine(`${agentId}:r${row.seq}`, [
140
- segment(' ', 'muted'),
141
- segment(padCells(signedDeltaText(row.delta, row.provisional), 7), row.delta >= 0 ? 'ok' : 'error'),
142
- segment(padCells(row.code, 5), 'muted'),
143
- segment(row.reason.replace(/\s+/g, ' '), 'text'),
144
- ...(row.capped ? [segment(` [capped]`, 'warn')] : []),
145
- ]));
146
- }
147
- function rosterIdentityLine(row, glyphs, narrow) {
148
- const status = govChildStatus(row.state);
149
- const tone = statusTone(status);
150
- const score = row.confirmed === null ? '-' : scoreText(row.confirmed);
151
- const prov = row.provisional > 0 ? `+${row.provisional}P` : '';
152
- const tag = labelTag(row.label);
153
- const marker = ` ${statusMarkerCell(status, glyphs)} `;
154
- if (narrow) {
155
- return boardLine(row.id, [
156
- segment(marker, tone),
157
- segment(padCells(row.id, 9), 'primary'),
158
- segment(padCells(ROLE_LABEL[row.role], 5), 'muted'),
159
- segment(padCells(score, 5), scoreToneKey(row.label), true),
160
- segment(prov, 'muted'),
161
- ...(tag === '' ? [] : [segment(` ${tag}`, scoreToneKey(row.label), true)]),
162
- ]);
163
- }
164
- const state = row.state === 'eliminated' ? replacedByText(row.replacedBy) : agentState(row);
165
- return boardLine(row.id, [
166
- segment(marker, tone),
167
- segment(padCells(row.id, 10), 'primary'),
168
- segment(padCells(ROLE_LABEL[row.role], 6), 'muted'),
169
- segment(padCells(`g${row.generation}`, 4), 'muted'),
170
- segment(padCells(score, 6), scoreToneKey(row.label), true),
171
- segment(padCells(prov, 7), 'muted'),
172
- segment(padCells(tag, 8), scoreToneKey(row.label), true),
173
- segment(padCells(state, 22), tone),
174
- segment(row.wpId ?? '-', 'text'),
175
- ]);
176
- }
177
- function rosterRows(data, glyphs, narrow) {
178
- const roster = sortRoster(data.snapshot.roster);
179
- if (roster.length === 0)
180
- return emptyLine(BOARD_EMPTY.roster);
181
- const lines = narrow
182
- ? []
183
- : [head('h', ' id role gen score prov label state work')];
184
- for (const row of roster) {
185
- lines.push(rosterIdentityLine(row, glyphs, narrow));
186
- lines.push(...recentLines(data, row.id));
187
- }
188
- return lines;
189
- }
190
- const WP_TONE = {
191
- pending: 'pending',
192
- dev_running: 'running',
193
- awaiting_review: 'pending',
194
- review_running: 'running',
195
- awaiting_test: 'pending',
196
- test_running: 'running',
197
- rework: 'warn',
198
- tested_ok: 'ok',
199
- integrated: 'ok',
200
- blocked: 'error',
201
- dropped: 'muted',
202
- };
203
- function workRows(data, narrow) {
204
- if (data.workPackages.length === 0)
205
- return emptyLine(BOARD_EMPTY.work);
206
- const lines = narrow
207
- ? []
208
- : [head('h', 'wp status rw dev rev test files title')];
209
- for (const wp of data.workPackages) {
210
- const status = wp.blockedAt === '' ? wp.status : `${wp.status}@${wp.blockedAt}`;
211
- if (narrow) {
212
- lines.push(boardLine(wp.id, [
213
- segment(padCells(wp.id, 12), 'primary'),
214
- segment(status, WP_TONE[wp.status]),
215
- ...(wp.reworkCount > 0 ? [segment(` rw${wp.reworkCount}`, 'warn')] : []),
216
- ]));
217
- lines.push(boardLine(`${wp.id}:t`, [segment(` ${wp.title}`, 'muted')]));
218
- continue;
219
- }
220
- lines.push(boardLine(wp.id, [
221
- segment(padCells(wp.id, 12), 'primary'),
222
- segment(padCells(status, 18), WP_TONE[wp.status]),
223
- segment(padCells(String(wp.reworkCount), 4), wp.reworkCount > 0 ? 'warn' : 'muted'),
224
- segment(padCells(wp.assignee || '-', 9), 'text'),
225
- segment(padCells(wp.reviewer || '-', 9), 'text'),
226
- segment(padCells(wp.tester || '-', 9), 'text'),
227
- segment(padCells(String(wp.fileCount), 7), 'muted'),
228
- segment(wp.title, 'muted'),
229
- ]));
230
- }
231
- return lines;
232
- }
233
- function ledgerBoardRows(data, narrow) {
234
- if (data.ledger.length === 0)
235
- return emptyLine(BOARD_EMPTY.ledger);
236
- const lines = narrow
237
- ? []
238
- : [head('h', '# agent delta code by reason')];
239
- for (const row of data.ledger) {
240
- const tone = row.delta >= 0 ? 'ok' : 'error';
241
- const amount = signedDeltaText(row.delta, row.provisional);
242
- const reason = row.reason.replace(/\s+/g, ' ');
243
- const cap = row.capped ? [segment(' [capped]', 'warn')] : [];
244
- if (narrow) {
245
- lines.push(boardLine(`l${row.seq}:${row.agentId}`, [
246
- segment(padCells(row.agentId, 9), 'primary'),
247
- segment(padCells(amount, 7), tone),
248
- segment(padCells(row.code, 5), 'muted'),
249
- segment(reason, 'text'),
250
- ...cap,
251
- ]));
252
- }
253
- else {
254
- lines.push(boardLine(`l${row.seq}:${row.agentId}`, [
255
- segment(padCells(String(row.seq), 7), 'muted'),
256
- segment(padCells(row.agentId, 10), 'primary'),
257
- segment(padCells(amount, 8), tone),
258
- segment(padCells(row.code, 6), 'muted'),
259
- segment(padCells(row.by, 19), 'muted'),
260
- segment(reason, 'text'),
261
- ...cap,
262
- ]));
263
- }
264
- if (row.evidence !== '') {
265
- lines.push(boardLine(`l${row.seq}:${row.agentId}:e`, [
266
- segment(` evidence: ${row.evidence.replace(/\s+/g, ' ')}`, 'muted'),
267
- ]));
268
- }
269
- }
270
- return lines;
271
- }
272
- function claimsRows(data, narrow) {
273
- if (data.claims.length === 0)
274
- return emptyLine(BOARD_EMPTY.claims);
275
- const lines = [];
276
- for (const claim of data.claims) {
277
- const open = claim.status === 'open';
278
- lines.push(boardLine(claim.id, [
279
- segment(padCells(claim.id, 8), 'primary'),
280
- segment(padCells(claim.status, 10), open ? 'warn' : 'ok', open),
281
- ...(narrow ? [] : [segment(padCells(claim.detail, 20), 'muted')]),
282
- segment(claim.subject, 'text'),
283
- ]));
284
- if (claim.text !== '') {
285
- lines.push(boardLine(`${claim.id}:t`, [
286
- segment(` ${claim.text.replace(/\s+/g, ' ')}`, 'muted'),
287
- ]));
288
- }
289
- }
290
- return lines;
291
- }
292
- function tabCount(tab, data) {
293
- switch (tab) {
294
- case 'roster':
295
- return data.snapshot.roster.length;
296
- case 'work':
297
- return data.workPackages.length;
298
- case 'ledger':
299
- return data.ledger.length;
300
- case 'claims':
301
- return data.claims.filter((claim) => claim.status === 'open').length;
302
- }
303
- }
304
- export function buildTabStrip(tab, data, narrow, glyphs) {
305
- if (narrow) {
306
- const pager = `${tabIndex(tab) + 1}/${BOARD_TABS.length}`;
307
- return {
308
- pager,
309
- segments: [
310
- segment(`${glyphs.arrowLeft} `, 'muted'),
311
- segment(BOARD_TAB_LABEL[tab], 'govern', true),
312
- segment(` ${pager} ${glyphs.arrowRight}`, 'muted'),
313
- ],
314
- };
315
- }
316
- const segments = [];
317
- BOARD_TABS.forEach((candidate, index) => {
318
- if (index > 0)
319
- segments.push(segment(` ${glyphs.midDot} `, 'border'));
320
- const active = candidate === tab;
321
- const count = tabCount(candidate, data);
322
- segments.push(segment(`${active ? glyphs.cursor : ' '}${BOARD_TAB_LABEL[candidate]}`, active ? 'govern' : 'muted', active));
323
- if (count > 0)
324
- segments.push(segment(` ${count}`, active ? 'text' : 'hint'));
325
- });
326
- return { segments, pager: '' };
327
- }
328
- const NO_RUN_LINES = [boardLine('norun', [segment(BOARD_EMPTY.noRun, 'muted')])];
329
- export function buildGovernanceBoardLayout(input) {
330
- const { tab, data, glyphs } = input;
331
- const narrow = input.cols < BOARD_NARROW_COLS;
332
- if (data === null) {
333
- const strip = { segments: [segment(BOARD_TAB_LABEL[tab], 'govern', true)], pager: '' };
334
- return { narrow, tabStrip: strip, lines: NO_RUN_LINES };
335
- }
336
- const tabStrip = buildTabStrip(tab, data, narrow, glyphs);
337
- switch (tab) {
338
- case 'roster':
339
- return { narrow, tabStrip, lines: rosterRows(data, glyphs, narrow) };
340
- case 'work':
341
- return { narrow, tabStrip, lines: workRows(data, narrow) };
342
- case 'ledger':
343
- return { narrow, tabStrip, lines: ledgerBoardRows(data, narrow) };
344
- case 'claims':
345
- return { narrow, tabStrip, lines: claimsRows(data, narrow) };
346
- }
347
- }
348
- // ---------------------------------------------------------------------------
349
- // Scroll windowing
350
- // ---------------------------------------------------------------------------
351
- /** Body rows left for content once the tab strip has taken one of the frame's rows. */
352
- export function boardBodyRows(frameBodyRows) {
353
- return Math.max(1, Math.floor(frameBodyRows) - 1);
354
- }
355
- export function boardWindow(total, offset, height) {
356
- return sliceWindow(total, offset, height);
357
- }
358
- /** Position text for the footer, e.g. `3-14/40`; '' when everything fits. */
359
- export function boardPosition(window, glyphs) {
360
- if (window.visible >= window.total)
361
- return '';
362
- const up = window.start > 0 ? glyphs.arrowUp : ' ';
363
- const down = window.start + window.visible < window.total ? glyphs.arrowDown : ' ';
364
- return `${up}${down} ${window.start + 1}-${window.start + window.visible}/${window.total}`;
365
- }
366
- /** Footer hint, shortened to the width the frame can print on one row. */
367
- export function boardHint(cols, glyphs) {
368
- const dot = ` ${glyphs.midDot} `;
369
- const full = [
370
- `${glyphs.arrowLeft}/${glyphs.arrowRight} tab`,
371
- `${glyphs.arrowUp}/${glyphs.arrowDown} PgUp/PgDn scroll`,
372
- 'e copy path',
373
- 'Esc close',
374
- ];
375
- for (let size = full.length; size >= 1; size -= 1) {
376
- const kept = size === full.length ? full : [...full.slice(0, size - 1), full[full.length - 1]];
377
- const text = kept.join(dot);
378
- if (cellWidth(text) <= cols)
379
- return text;
380
- }
381
- return fitCells('Esc close', Math.max(0, cols), glyphs.ellipsis);
382
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * The settlement card's layout (governance-mode section 10.4): what a
3
- * `kind: 'governance'` transcript entry says, as pure data, plus the plain-text export
4
- * of the same card.
5
- *
6
- * Pure and total. ASCII ONLY.
7
- *
8
- * WIDTH-INDEPENDENT ON PURPOSE. A transcript entry is measured by two parties that must
9
- * agree - `virtual-window.ts::estimateEntryRows` and the Ink tree - and neither is handed
10
- * the terminal width for a card (`EntryView` has no `cols`). Every line here is
11
- * single-row and rendered `wrap="truncate"`, so the card's HEIGHT is a function of the
12
- * data alone (`governanceCardRows`) and the estimate is exact rather than an upper bound.
13
- * The spec's "narrow terminal -> one plain line per agent" falls out for free: the table
14
- * is only a fixed prefix (id, role, confirmed) and an elastic delta, so truncation at 40
15
- * columns leaves exactly `dev1 DEV 115 +15P->...`.
16
- */
17
- import type { GovernanceCardData } from '../../governance/types.js';
18
- import type { Glyphs } from '../glyphs.js';
19
- import { type Segment, type Tone } from '../governance-status.js';
20
- export interface CardTableRow {
21
- key: string;
22
- cells: Segment[][];
23
- }
24
- export interface GovernanceCardLayout {
25
- /** Rail / headline tone for the whole card. */
26
- tone: Tone;
27
- title: Segment[];
28
- headline: Segment[] | null;
29
- /** Fixed prefix widths: id, role, confirmed. The delta cell is elastic. */
30
- widths: [number, number, number];
31
- tableHeader: Segment[][] | null;
32
- rows: CardTableRow[];
33
- notes: Segment[] | null;
34
- height: number;
35
- }
36
- export declare function cardTone(card: GovernanceCardData): Tone;
37
- /**
38
- * Colour the signed tokens of a delta text: `+15P->C D1 +10 D12 -20 D5`. Gains read in
39
- * the success tone, losses in the error tone, event codes stay muted. The spelling comes
40
- * from the engine (`deltaText`), this only paints it.
41
- */
42
- export declare function colorizeDelta(text: string): Segment[];
43
- export declare function buildGovernanceCardLayout(card: GovernanceCardData, glyphs: Glyphs): GovernanceCardLayout;
44
- /**
45
- * The card's row count, from the data alone: title, headline, table header + one row per
46
- * agent, notes. Exact (not an upper bound) because every line truncates instead of wrapping.
47
- */
48
- export declare function governanceCardRows(card: GovernanceCardData): number;
49
- /**
50
- * The card as plain lines for `/export` and `/save` (no colour, ASCII-safe through
51
- * `glyphs`). The caller indents them; the text matches what the card prints.
52
- */
53
- export declare function governanceCardLines(card: GovernanceCardData, glyphs: Glyphs): string[];
@@ -1,134 +0,0 @@
1
- /**
2
- * The settlement card's layout (governance-mode section 10.4): what a
3
- * `kind: 'governance'` transcript entry says, as pure data, plus the plain-text export
4
- * of the same card.
5
- *
6
- * Pure and total. ASCII ONLY.
7
- *
8
- * WIDTH-INDEPENDENT ON PURPOSE. A transcript entry is measured by two parties that must
9
- * agree - `virtual-window.ts::estimateEntryRows` and the Ink tree - and neither is handed
10
- * the terminal width for a card (`EntryView` has no `cols`). Every line here is
11
- * single-row and rendered `wrap="truncate"`, so the card's HEIGHT is a function of the
12
- * data alone (`governanceCardRows`) and the estimate is exact rather than an upper bound.
13
- * The spec's "narrow terminal -> one plain line per agent" falls out for free: the table
14
- * is only a fixed prefix (id, role, confirmed) and an elastic delta, so truncation at 40
15
- * columns leaves exactly `dev1 DEV 115 +15P->...`.
16
- */
17
- import { segment } from '../governance-status.js';
18
- import { CARD_COLUMNS, CARD_TITLE } from '../governance-copy.js';
19
- import { cellWidth, padCells } from './cells.js';
20
- const TONE_OF_CARD = {
21
- ok: 'ok',
22
- warn: 'warn',
23
- error: 'error',
24
- info: 'govern',
25
- };
26
- export function cardTone(card) {
27
- return TONE_OF_CARD[card.tone];
28
- }
29
- /** The glyph in front of the headline: what the card's verdict looks like at a glance. */
30
- function toneGlyph(tone, glyphs) {
31
- switch (tone) {
32
- case 'ok':
33
- return glyphs.check;
34
- case 'warn':
35
- return glyphs.warn;
36
- case 'error':
37
- return glyphs.times;
38
- case 'info':
39
- return glyphs.bullet;
40
- }
41
- }
42
- /**
43
- * Colour the signed tokens of a delta text: `+15P->C D1 +10 D12 -20 D5`. Gains read in
44
- * the success tone, losses in the error tone, event codes stay muted. The spelling comes
45
- * from the engine (`deltaText`), this only paints it.
46
- */
47
- export function colorizeDelta(text) {
48
- return text
49
- .split(/(\s+)/)
50
- .filter((part) => part !== '')
51
- .map((part) => {
52
- if (/^\+\d/.test(part))
53
- return segment(part, 'ok');
54
- if (/^-\d/.test(part))
55
- return segment(part, 'error');
56
- return segment(part, 'muted');
57
- });
58
- }
59
- function titleText(card, glyphs) {
60
- const detail = card.title.trim();
61
- if (detail === '')
62
- return CARD_TITLE;
63
- return /^governance\b/i.test(detail) ? detail : `${CARD_TITLE} ${glyphs.midDot} ${detail}`;
64
- }
65
- const ID_MIN = 6;
66
- const ID_MAX = 14;
67
- const ROLE_CELLS = 6;
68
- const CONFIRMED_CELLS = 11;
69
- export function buildGovernanceCardLayout(card, glyphs) {
70
- const tone = cardTone(card);
71
- const idCells = Math.min(ID_MAX, Math.max(ID_MIN, ...card.rows.map((row) => cellWidth(row.id) + 2)));
72
- const headlineText = card.headline.trim();
73
- const rows = card.rows.map((row, index) => ({
74
- key: `${row.id}:${index}`,
75
- cells: [
76
- [segment(padCells(row.id, idCells), 'primary')],
77
- [segment(padCells(row.role, ROLE_CELLS), 'muted')],
78
- [segment(padCells(row.confirmed === null ? '-' : String(Math.round(row.confirmed)), CONFIRMED_CELLS), 'text', true)],
79
- colorizeDelta(row.deltaText),
80
- ],
81
- }));
82
- const tableHeader = rows.length === 0
83
- ? null
84
- : [
85
- [segment(padCells(CARD_COLUMNS.id, idCells), 'muted')],
86
- [segment(padCells(CARD_COLUMNS.role, ROLE_CELLS), 'muted')],
87
- [segment(padCells(CARD_COLUMNS.confirmed, CONFIRMED_CELLS), 'muted')],
88
- [segment(CARD_COLUMNS.delta, 'muted')],
89
- ];
90
- const notes = card.notes.length === 0
91
- ? null
92
- : [segment(`notes: ${card.notes.join('; ')}`, 'muted')];
93
- return {
94
- tone,
95
- title: [segment(titleText(card, glyphs), 'govern', true)],
96
- headline: headlineText === ''
97
- ? null
98
- : [segment(`${toneGlyph(card.tone, glyphs)} `, tone, true), segment(headlineText, 'text')],
99
- widths: [idCells, ROLE_CELLS, CONFIRMED_CELLS],
100
- tableHeader,
101
- rows,
102
- notes,
103
- height: governanceCardRows(card),
104
- };
105
- }
106
- /**
107
- * The card's row count, from the data alone: title, headline, table header + one row per
108
- * agent, notes. Exact (not an upper bound) because every line truncates instead of wrapping.
109
- */
110
- export function governanceCardRows(card) {
111
- return 1
112
- + Number(card.headline.trim() !== '')
113
- + (card.rows.length > 0 ? 1 + card.rows.length : 0)
114
- + Number(card.notes.length > 0);
115
- }
116
- /**
117
- * The card as plain lines for `/export` and `/save` (no colour, ASCII-safe through
118
- * `glyphs`). The caller indents them; the text matches what the card prints.
119
- */
120
- export function governanceCardLines(card, glyphs) {
121
- const layout = buildGovernanceCardLayout(card, glyphs);
122
- const flat = (segments) => segments.map((s) => s.text).join('');
123
- const lines = [flat(layout.title)];
124
- if (layout.headline)
125
- lines.push(flat(layout.headline));
126
- if (layout.tableHeader) {
127
- lines.push(layout.tableHeader.map(flat).join('').trimEnd());
128
- for (const row of layout.rows)
129
- lines.push(row.cells.map(flat).join('').trimEnd());
130
- }
131
- if (layout.notes)
132
- lines.push(flat(layout.notes));
133
- return lines;
134
- }
@@ -1,38 +0,0 @@
1
- /**
2
- * The status bar's governance chip: pure width planning, no JSX
3
- * (governance-mode section 10.2).
4
- *
5
- * ASCII ONLY - `src/ui/**` is inside `glyphs.test.ts::inScope`.
6
- *
7
- * SAME SHAPE AS `kit-chip.ts` / `session-chip.ts`, for the same reason: the status row is
8
- * measured cell by cell, and a chip appended "just to the right" eats `phase`, the one
9
- * field a user needs mid-run. The chip therefore competes for the SAME budget as every
10
- * other field: it takes the longest rung that still leaves the left half its floor.
11
- *
12
- * THE LADDER (spec 10.2): `GOV p2/3 REVIEW` -> `GOV p2/3` -> `GOV`. A paused run reads
13
- * `GOV paused`, one with a `/gov pause` still pending `GOV pausing` (warn tone: the stop is
14
- * coming), an escalated one `GOV ! escalated` (warn tone - it is the run asking for
15
- * the user), and a budget at or past 80% appends ` $` at every rung where there is room,
16
- * because the hint is worth more than the stage name when space is short.
17
- */
18
- import type { GovernanceSnapshot } from '../../governance/types.js';
19
- import { type Tone } from '../governance-status.js';
20
- export declare const GOVERNANCE_CHIP_LIMITS: {
21
- /** Blank cells between the chip and the field run. */
22
- readonly gapCells: 2;
23
- /** The floor the left half must keep; the same 34 the session and kit chips use. */
24
- readonly minStatusCells: 34;
25
- };
26
- export interface GovernanceChipPlan {
27
- visible: boolean;
28
- text: string;
29
- cells: number;
30
- gap: number;
31
- tone: Tone;
32
- }
33
- export interface GovernanceChipInput {
34
- columns: number;
35
- snapshot?: GovernanceSnapshot | null | undefined;
36
- }
37
- /** Plan the chip for `columns` and this session's live run snapshot. */
38
- export declare function planGovernanceChip(input: GovernanceChipInput): GovernanceChipPlan;
@@ -1,64 +0,0 @@
1
- /**
2
- * The status bar's governance chip: pure width planning, no JSX
3
- * (governance-mode section 10.2).
4
- *
5
- * ASCII ONLY - `src/ui/**` is inside `glyphs.test.ts::inScope`.
6
- *
7
- * SAME SHAPE AS `kit-chip.ts` / `session-chip.ts`, for the same reason: the status row is
8
- * measured cell by cell, and a chip appended "just to the right" eats `phase`, the one
9
- * field a user needs mid-run. The chip therefore competes for the SAME budget as every
10
- * other field: it takes the longest rung that still leaves the left half its floor.
11
- *
12
- * THE LADDER (spec 10.2): `GOV p2/3 REVIEW` -> `GOV p2/3` -> `GOV`. A paused run reads
13
- * `GOV paused`, one with a `/gov pause` still pending `GOV pausing` (warn tone: the stop is
14
- * coming), an escalated one `GOV ! escalated` (warn tone - it is the run asking for
15
- * the user), and a budget at or past 80% appends ` $` at every rung where there is room,
16
- * because the hint is worth more than the stage name when space is short.
17
- */
18
- import { budgetState, isFinishedRun, isPausePending, activeStepKey, } from '../governance-status.js';
19
- import { PIPELINE_LABEL, STATUS_WORD, phaseText } from '../governance-copy.js';
20
- export const GOVERNANCE_CHIP_LIMITS = {
21
- /** Blank cells between the chip and the field run. */
22
- gapCells: 2,
23
- /** The floor the left half must keep; the same 34 the session and kit chips use. */
24
- minStatusCells: 34,
25
- };
26
- const HIDDEN = { visible: false, text: '', cells: 0, gap: 0, tone: 'muted' };
27
- /** Candidate texts, longest first. ASCII `!` is the escalation mark in both glyph tiers. */
28
- function rungs(snapshot) {
29
- const budget = budgetState(snapshot);
30
- const hint = budget === 'warn' || budget === 'over' ? ' $' : '';
31
- if (isPausePending(snapshot)) {
32
- return [`GOV ${STATUS_WORD.pausing}${hint}`, `GOV${hint}`];
33
- }
34
- if (snapshot.status === 'paused')
35
- return [`GOV paused${hint}`, `GOV${hint}`];
36
- if (snapshot.status === 'escalated') {
37
- return [`GOV ! escalated${hint}`, `GOV !${hint}`, 'GOV !'];
38
- }
39
- const phase = phaseText(snapshot.phase, snapshot.phaseCount);
40
- const stage = activeStepKey(snapshot);
41
- const named = stage === null ? phase : `${phase} ${PIPELINE_LABEL[stage]}`;
42
- return [`GOV ${named}${hint}`, `GOV ${phase}${hint}`, `GOV${hint}`, 'GOV'];
43
- }
44
- function chipTone(snapshot) {
45
- if (snapshot.status === 'escalated' || budgetState(snapshot) === 'over')
46
- return 'warn';
47
- if (isPausePending(snapshot))
48
- return 'warn';
49
- return snapshot.status === 'paused' ? 'muted' : 'govern';
50
- }
51
- /** Plan the chip for `columns` and this session's live run snapshot. */
52
- export function planGovernanceChip(input) {
53
- const snapshot = input.snapshot;
54
- if (!snapshot || isFinishedRun(snapshot.status))
55
- return HIDDEN;
56
- const columns = Number.isFinite(input.columns) ? Math.floor(input.columns) : 0;
57
- const gap = GOVERNANCE_CHIP_LIMITS.gapCells;
58
- for (const text of rungs(snapshot)) {
59
- if (columns - (text.length + gap) >= GOVERNANCE_CHIP_LIMITS.minStatusCells) {
60
- return { visible: true, text, cells: text.length, gap, tone: chipTone(snapshot) };
61
- }
62
- }
63
- return HIDDEN;
64
- }