@aragon-agent/cli 0.6.46 → 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 +28 -0
  2. package/README.md +80 -12
  3. package/dist/agent/coalesce.d.ts +5 -1
  4. package/dist/agent/coalesce.js +13 -0
  5. package/dist/agent/controller.d.ts +41 -20
  6. package/dist/agent/controller.js +68 -15
  7. package/dist/agent/conversation-reset.d.ts +1 -1
  8. package/dist/agent/governance-wiring.d.ts +6 -6
  9. package/dist/agent/governance-wiring.js +4 -4
  10. package/dist/agent/headless.d.ts +5 -5
  11. package/dist/agent/headless.js +4 -4
  12. package/dist/agent/job-notices.d.ts +1 -1
  13. package/dist/agent/job-notices.js +1 -1
  14. package/dist/agent/kit-apply.d.ts +3 -3
  15. package/dist/agent/kit-apply.js +3 -3
  16. package/dist/agent/model-profile-settings.d.ts +2 -2
  17. package/dist/agent/model-profile-settings.js +6 -6
  18. package/dist/agent/prompt-options.d.ts +1 -1
  19. package/dist/agent/system-prompt.d.ts +1 -1
  20. package/dist/agent/user-attention.d.ts +17 -0
  21. package/dist/agent/user-attention.js +32 -0
  22. package/dist/{ui → app}/App.d.ts +9 -9
  23. package/dist/{ui → app}/App.js +113 -79
  24. package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
  25. package/dist/{ui → app}/use-startup-notices.js +2 -2
  26. package/dist/cli.js +31 -32
  27. package/dist/commands/agents-command.js +1 -1
  28. package/dist/commands/builtins.js +9 -9
  29. package/dist/commands/governance-command.js +2 -2
  30. package/dist/commands/governance-runs-table.js +1 -1
  31. package/dist/commands/kit-command.js +1 -1
  32. package/dist/commands/perf.d.ts +3 -3
  33. package/dist/commands/perf.js +1 -1
  34. package/dist/commands/registry.d.ts +8 -8
  35. package/dist/commands/skills.js +2 -2
  36. package/dist/commands/team-command.js +1 -1
  37. package/dist/compaction/archive.d.ts +1 -1
  38. package/dist/compaction/archive.js +1 -1
  39. package/dist/compaction/child.d.ts +3 -3
  40. package/dist/compaction/child.js +4 -4
  41. package/dist/compaction/command.js +5 -5
  42. package/dist/compaction/compactor.d.ts +6 -6
  43. package/dist/compaction/compactor.js +6 -6
  44. package/dist/compaction/context-command.js +1 -1
  45. package/dist/compaction/digest.js +1 -1
  46. package/dist/compaction/memory-input.js +1 -1
  47. package/dist/compaction/memory-validation.js +1 -1
  48. package/dist/compaction/memory.js +1 -1
  49. package/dist/compaction/summarize-call.js +1 -1
  50. package/dist/compaction/summary-prompt.js +1 -1
  51. package/dist/compaction/tail-budget.js +2 -2
  52. package/dist/compaction/wiring.d.ts +5 -5
  53. package/dist/compaction/wiring.js +2 -2
  54. package/dist/config/cli-commands.d.ts +1 -1
  55. package/dist/config/cli-commands.js +3 -3
  56. package/dist/config/env.d.ts +1 -1
  57. package/dist/config/env.js +4 -4
  58. package/dist/config/load.d.ts +2 -2
  59. package/dist/config/load.js +10 -31
  60. package/dist/config/migrate-state-out-of-config.js +1 -1
  61. package/dist/config/model-profile-store.d.ts +4 -54
  62. package/dist/config/model-profile-store.js +3 -3
  63. package/dist/config/prompt-history.js +1 -1
  64. package/dist/config/store.d.ts +2 -2
  65. package/dist/config/store.js +3 -3
  66. package/dist/diagnostics/doctor.js +4 -4
  67. package/dist/exec/bridge/decisions.d.ts +1 -1
  68. package/dist/exec/bridge/human-answers.d.ts +1 -1
  69. package/dist/exec/bridge/human-answers.js +1 -1
  70. package/dist/exec/bridge/protocol.d.ts +1 -1
  71. package/dist/exec/bridge/server.js +1 -1
  72. package/dist/exec/events.d.ts +2 -2
  73. package/dist/exec/index.d.ts +1 -1
  74. package/dist/exec/index.js +1 -1
  75. package/dist/exec/permission.js +1 -1
  76. package/dist/exec/runner.d.ts +3 -3
  77. package/dist/exec/runner.js +2 -2
  78. package/dist/exec/threads/runtime.js +1 -1
  79. package/dist/fast/digest.d.ts +1 -1
  80. package/dist/fast/digest.js +1 -1
  81. package/dist/fast/frames.d.ts +1 -1
  82. package/dist/fast/frames.js +1 -1
  83. package/dist/fast/prompt.d.ts +1 -1
  84. package/dist/fast/prompt.js +1 -1
  85. package/dist/fast/review-call.js +1 -1
  86. package/dist/fast/reviewer.d.ts +3 -3
  87. package/dist/fast/reviewer.js +1 -1
  88. package/dist/fast/summary-call.d.ts +3 -3
  89. package/dist/fast/summary-call.js +2 -2
  90. package/dist/fast/summary-prompt.d.ts +1 -1
  91. package/dist/fast/summary-prompt.js +1 -1
  92. package/dist/fast/wiring.d.ts +4 -4
  93. package/dist/fast/wiring.js +1 -1
  94. package/dist/governance/card-normalize.d.ts +1 -1
  95. package/dist/governance/copy.d.ts +1 -1
  96. package/dist/governance/copy.js +2 -2
  97. package/dist/governance/engine/artifact-persist.d.ts +1 -1
  98. package/dist/governance/engine/budget.d.ts +1 -1
  99. package/dist/governance/engine/budget.js +1 -1
  100. package/dist/governance/engine/cards.d.ts +1 -1
  101. package/dist/governance/engine/digest.js +1 -1
  102. package/dist/governance/engine/engine-core.d.ts +5 -5
  103. package/dist/governance/engine/engine-core.js +1 -1
  104. package/dist/governance/engine/engine.d.ts +1 -1
  105. package/dist/governance/engine/engine.js +1 -1
  106. package/dist/governance/engine/estimate.d.ts +1 -1
  107. package/dist/governance/engine/estimate.js +1 -1
  108. package/dist/governance/engine/inspector.js +2 -2
  109. package/dist/governance/engine/integration.d.ts +1 -1
  110. package/dist/governance/engine/lifecycle.d.ts +1 -1
  111. package/dist/governance/engine/lifecycle.js +1 -1
  112. package/dist/governance/engine/phase-members.d.ts +1 -1
  113. package/dist/governance/engine/phase-planner.d.ts +1 -1
  114. package/dist/governance/engine/phase-planner.js +1 -1
  115. package/dist/governance/engine/rebuild.d.ts +1 -1
  116. package/dist/governance/engine/report.d.ts +1 -1
  117. package/dist/governance/engine/report.js +1 -1
  118. package/dist/governance/engine/run-digest.d.ts +1 -1
  119. package/dist/governance/engine/spec-builder.d.ts +2 -2
  120. package/dist/governance/engine/spec-builder.js +2 -2
  121. package/dist/governance/engine/stage-runner.js +2 -2
  122. package/dist/governance/engine/start-input.d.ts +1 -1
  123. package/dist/governance/engine/start-input.js +1 -1
  124. package/dist/governance/engine/state-machine.d.ts +1 -1
  125. package/dist/governance/engine/state-machine.js +3 -3
  126. package/dist/governance/engine/submission-queries.d.ts +1 -1
  127. package/dist/governance/engine/submission-render.d.ts +1 -1
  128. package/dist/governance/engine/submissions.d.ts +1 -1
  129. package/dist/governance/engine/submissions.js +1 -1
  130. package/dist/governance/engine/visibility.d.ts +1 -1
  131. package/dist/governance/engine/visibility.js +1 -1
  132. package/dist/governance/posture-transition.d.ts +2 -2
  133. package/dist/governance/posture-transition.js +1 -1
  134. package/dist/governance/profiles.d.ts +1 -1
  135. package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
  136. package/dist/governance/prompts/orchestrator-block.js +2 -2
  137. package/dist/governance/prompts/plan-addendum.d.ts +1 -1
  138. package/dist/governance/prompts/plan-addendum.js +1 -1
  139. package/dist/governance/prompts/role-blocks.d.ts +2 -2
  140. package/dist/governance/prompts/role-blocks.js +1 -1
  141. package/dist/governance/report-reader.js +1 -1
  142. package/dist/governance/roles.d.ts +1 -1
  143. package/dist/governance/rules/claims.d.ts +1 -1
  144. package/dist/governance/rules/claims.js +1 -1
  145. package/dist/governance/rules/elimination.d.ts +1 -1
  146. package/dist/governance/rules/elimination.js +1 -1
  147. package/dist/governance/rules/failure-analysis.d.ts +2 -2
  148. package/dist/governance/rules/failure-analysis.js +1 -1
  149. package/dist/governance/rules/ledger-replay.d.ts +1 -1
  150. package/dist/governance/rules/ledger-state.d.ts +1 -1
  151. package/dist/governance/rules/ledger-state.js +1 -1
  152. package/dist/governance/rules/ledger.d.ts +2 -2
  153. package/dist/governance/rules/ledger.js +2 -2
  154. package/dist/governance/rules/rca.d.ts +1 -1
  155. package/dist/governance/rules/rca.js +1 -1
  156. package/dist/governance/rules/settlement.d.ts +2 -2
  157. package/dist/governance/rules/settlement.js +2 -2
  158. package/dist/governance/rules/suspicion.d.ts +1 -1
  159. package/dist/governance/store/artifacts.d.ts +1 -1
  160. package/dist/governance/store/artifacts.js +1 -1
  161. package/dist/governance/store/events-log.d.ts +1 -1
  162. package/dist/governance/store/run-store.d.ts +1 -1
  163. package/dist/governance/store/run-store.js +1 -1
  164. package/dist/governance/store/scoreboard-export.d.ts +1 -1
  165. package/dist/governance/tools/child-tools.d.ts +1 -1
  166. package/dist/governance/tools/guard.d.ts +1 -1
  167. package/dist/governance/tools/guard.js +1 -1
  168. package/dist/governance/tools/inspector-tools.d.ts +2 -2
  169. package/dist/governance/tools/inspector-tools.js +2 -2
  170. package/dist/governance/tools/lead-tools.d.ts +1 -1
  171. package/dist/governance/tools/lead-tools.js +1 -1
  172. package/dist/governance/tools/normalize-util.js +1 -1
  173. package/dist/governance/tools/scan-incomplete.js +1 -1
  174. package/dist/governance/tools/shared-tools.d.ts +1 -1
  175. package/dist/governance/tools/shared-tools.js +1 -1
  176. package/dist/governance/tools/submit-normalizers.d.ts +1 -1
  177. package/dist/governance/tools/submit-normalizers.js +1 -1
  178. package/dist/governance/tools/submit-tools.d.ts +1 -1
  179. package/dist/logging/cli-commands.js +1 -1
  180. package/dist/logging/install.d.ts +1 -1
  181. package/dist/logging/install.js +3 -3
  182. package/dist/logging/logger.d.ts +2 -2
  183. package/dist/logging/logger.js +31 -2
  184. package/dist/proc/kill-tree.js +1 -1
  185. package/dist/proc/log-mirror.js +1 -1
  186. package/dist/proc/log-ring.js +2 -2
  187. package/dist/proc/notices.d.ts +1 -1
  188. package/dist/proc/notices.js +2 -2
  189. package/dist/proc/prompt.d.ts +1 -1
  190. package/dist/proc/prompt.js +8 -5
  191. package/dist/proc/readiness.js +1 -1
  192. package/dist/proc/supervisor.d.ts +1 -1
  193. package/dist/proc/supervisor.js +10 -4
  194. package/dist/proc/wait-plan.d.ts +39 -0
  195. package/dist/proc/wait-plan.js +77 -0
  196. package/dist/proc/wait.d.ts +37 -4
  197. package/dist/proc/wait.js +68 -5
  198. package/dist/prompts/command.d.ts +1 -1
  199. package/dist/prompts/command.js +1 -1
  200. package/dist/prompts/normalize.d.ts +1 -1
  201. package/dist/prompts/normalize.js +1 -1
  202. package/dist/prompts/resolve.d.ts +1 -1
  203. package/dist/prompts/store.d.ts +2 -12
  204. package/dist/prompts/store.js +6 -60
  205. package/dist/session/checkpoint.d.ts +2 -2
  206. package/dist/session/checkpoint.js +2 -0
  207. package/dist/session/clear-archive.d.ts +2 -2
  208. package/dist/session/persist.d.ts +2 -2
  209. package/dist/session/persist.js +20 -3
  210. package/dist/session/startup-session.d.ts +2 -2
  211. package/dist/session/validate-session.js +6 -3
  212. package/dist/skills/service.d.ts +2 -2
  213. package/dist/team/bus.d.ts +1 -1
  214. package/dist/team/bus.js +1 -1
  215. package/dist/team/child-reviewer.d.ts +2 -2
  216. package/dist/team/child-reviewer.js +1 -1
  217. package/dist/team/comm-tools.js +1 -1
  218. package/dist/team/dispatch-gate.js +1 -1
  219. package/dist/team/forced-dispatch.js +1 -1
  220. package/dist/team/forced-mode.d.ts +1 -1
  221. package/dist/team/forced-prompt.d.ts +1 -1
  222. package/dist/team/forced-prompt.js +1 -1
  223. package/dist/team/normalize.d.ts +1 -1
  224. package/dist/team/normalize.js +1 -1
  225. package/dist/team/overseer.d.ts +3 -3
  226. package/dist/team/overseer.js +3 -3
  227. package/dist/team/prompt.d.ts +1 -1
  228. package/dist/team/prompt.js +1 -1
  229. package/dist/team/report.d.ts +2 -2
  230. package/dist/team/report.js +2 -2
  231. package/dist/team/retry.d.ts +1 -1
  232. package/dist/team/retry.js +1 -1
  233. package/dist/team/runtime.d.ts +4 -4
  234. package/dist/team/runtime.js +2 -2
  235. package/dist/team/settled.d.ts +2 -2
  236. package/dist/team/subagent.d.ts +4 -4
  237. package/dist/team/subagent.js +5 -5
  238. package/dist/team/task-tool.d.ts +1 -1
  239. package/dist/team/task-tool.js +1 -1
  240. package/dist/todo/normalize.d.ts +1 -1
  241. package/dist/todo/normalize.js +1 -1
  242. package/dist/todo/prompt.d.ts +1 -1
  243. package/dist/todo/prompt.js +1 -1
  244. package/dist/todo/store.d.ts +1 -1
  245. package/dist/todo/store.js +2 -2
  246. package/dist/todo/todo-tool.d.ts +1 -1
  247. package/dist/todo/todo-tool.js +2 -2
  248. package/dist/tools/bash-tool.d.ts +1 -1
  249. package/dist/tools/bash-tool.js +2 -2
  250. package/dist/tools/diff.d.ts +1 -1
  251. package/dist/tools/diff.js +1 -1
  252. package/dist/tools/file-change-store.d.ts +1 -1
  253. package/dist/tools/fs-tools.d.ts +2 -2
  254. package/dist/tools/fs-tools.js +1 -1
  255. package/dist/tools/index.d.ts +3 -3
  256. package/dist/tools/index.js +1 -1
  257. package/dist/tools/job-tools.d.ts +14 -3
  258. package/dist/tools/job-tools.js +158 -35
  259. package/dist/tools/plan-tools.d.ts +1 -1
  260. package/dist/tools/plan-tools.js +1 -1
  261. package/dist/tools/proc-tools.d.ts +1 -1
  262. package/dist/tools/proc-tools.js +2 -2
  263. package/dist/update/classify-failure.d.ts +1 -1
  264. package/dist/update/install-lock.js +1 -1
  265. package/dist/update/install-source.d.ts +1 -1
  266. package/dist/update/installer.js +2 -2
  267. package/dist/update/npm-view.d.ts +1 -1
  268. package/dist/update/npm-view.js +1 -1
  269. package/dist/update/registry.d.ts +1 -1
  270. package/dist/update/registry.js +1 -1
  271. package/dist/update/service.d.ts +2 -2
  272. package/dist/update/service.js +2 -2
  273. package/package.json +7 -7
  274. package/dist/agent/agent-mode.d.ts +0 -108
  275. package/dist/agent/agent-mode.js +0 -121
  276. package/dist/agent/entry-limits.d.ts +0 -65
  277. package/dist/agent/entry-limits.js +0 -133
  278. package/dist/agent/governance-view.d.ts +0 -40
  279. package/dist/agent/governance-view.js +0 -40
  280. package/dist/agent/invocation-card.d.ts +0 -77
  281. package/dist/agent/invocation-card.js +0 -169
  282. package/dist/agent/model-probe-limits.d.ts +0 -39
  283. package/dist/agent/model-probe-limits.js +0 -25
  284. package/dist/agent/model-probe.d.ts +0 -104
  285. package/dist/agent/model-probe.js +0 -391
  286. package/dist/agent/queued-messages.d.ts +0 -23
  287. package/dist/agent/queued-messages.js +0 -49
  288. package/dist/agent/reducer.d.ts +0 -837
  289. package/dist/agent/reducer.js +0 -1617
  290. package/dist/agent/retry-view.d.ts +0 -68
  291. package/dist/agent/retry-view.js +0 -95
  292. package/dist/agent/usage.d.ts +0 -47
  293. package/dist/agent/usage.js +0 -84
  294. package/dist/compaction/limits.d.ts +0 -61
  295. package/dist/compaction/limits.js +0 -64
  296. package/dist/compaction/meter.d.ts +0 -276
  297. package/dist/compaction/meter.js +0 -512
  298. package/dist/compaction/pressure.d.ts +0 -163
  299. package/dist/compaction/pressure.js +0 -199
  300. package/dist/compaction/reason-text.d.ts +0 -36
  301. package/dist/compaction/reason-text.js +0 -78
  302. package/dist/compaction/types.d.ts +0 -360
  303. package/dist/compaction/types.js +0 -22
  304. package/dist/config/governance-config.d.ts +0 -125
  305. package/dist/config/governance-config.js +0 -164
  306. package/dist/config/kit-resolution.d.ts +0 -93
  307. package/dist/config/kit-resolution.js +0 -226
  308. package/dist/config/model-kits.d.ts +0 -225
  309. package/dist/config/model-kits.js +0 -302
  310. package/dist/config/model-profile-resolution.d.ts +0 -28
  311. package/dist/config/model-profile-resolution.js +0 -88
  312. package/dist/config/model-profiles.d.ts +0 -103
  313. package/dist/config/model-profiles.js +0 -188
  314. package/dist/config/schema.d.ts +0 -1645
  315. package/dist/config/schema.js +0 -1377
  316. package/dist/fast/limits.d.ts +0 -152
  317. package/dist/fast/limits.js +0 -152
  318. package/dist/fast/resolve.d.ts +0 -44
  319. package/dist/fast/resolve.js +0 -107
  320. package/dist/fast/task-summary-types.d.ts +0 -66
  321. package/dist/fast/task-summary-types.js +0 -17
  322. package/dist/fast/types.d.ts +0 -141
  323. package/dist/fast/types.js +0 -14
  324. package/dist/governance/governed-dispatch.d.ts +0 -19
  325. package/dist/governance/governed-dispatch.js +0 -17
  326. package/dist/governance/limits.d.ts +0 -107
  327. package/dist/governance/limits.js +0 -131
  328. package/dist/governance/posture.d.ts +0 -35
  329. package/dist/governance/posture.js +0 -59
  330. package/dist/governance/rules/events-table.d.ts +0 -46
  331. package/dist/governance/rules/events-table.js +0 -94
  332. package/dist/governance/types.d.ts +0 -661
  333. package/dist/governance/types.js +0 -27
  334. package/dist/input/control-sequences.d.ts +0 -71
  335. package/dist/input/control-sequences.js +0 -222
  336. package/dist/input/csiu-keys.d.ts +0 -66
  337. package/dist/input/csiu-keys.js +0 -181
  338. package/dist/input/cursor-report.d.ts +0 -61
  339. package/dist/input/cursor-report.js +0 -97
  340. package/dist/input/enter-sequences.d.ts +0 -64
  341. package/dist/input/enter-sequences.js +0 -153
  342. package/dist/input/interrupt-gesture.d.ts +0 -18
  343. package/dist/input/interrupt-gesture.js +0 -19
  344. package/dist/input/keyboard-enhancement.d.ts +0 -42
  345. package/dist/input/keyboard-enhancement.js +0 -65
  346. package/dist/input/keymap.d.ts +0 -20
  347. package/dist/input/keymap.js +0 -99
  348. package/dist/input/limits.d.ts +0 -118
  349. package/dist/input/limits.js +0 -109
  350. package/dist/input/mouse-events.d.ts +0 -87
  351. package/dist/input/mouse-events.js +0 -212
  352. package/dist/input/paste-parse.d.ts +0 -83
  353. package/dist/input/paste-parse.js +0 -107
  354. package/dist/input/pointer-router.d.ts +0 -11
  355. package/dist/input/pointer-router.js +0 -14
  356. package/dist/input/stdin-filter.d.ts +0 -112
  357. package/dist/input/stdin-filter.js +0 -657
  358. package/dist/input/win32-input-mode.d.ts +0 -61
  359. package/dist/input/win32-input-mode.js +0 -269
  360. package/dist/logging/levels.d.ts +0 -40
  361. package/dist/logging/levels.js +0 -59
  362. package/dist/logging/secret-registry.d.ts +0 -32
  363. package/dist/logging/secret-registry.js +0 -73
  364. package/dist/proc/limits.d.ts +0 -200
  365. package/dist/proc/limits.js +0 -207
  366. package/dist/proc/progress.d.ts +0 -40
  367. package/dist/proc/progress.js +0 -135
  368. package/dist/proc/types.d.ts +0 -263
  369. package/dist/proc/types.js +0 -15
  370. package/dist/prompts/copy.d.ts +0 -89
  371. package/dist/prompts/copy.js +0 -131
  372. package/dist/prompts/fill.d.ts +0 -51
  373. package/dist/prompts/fill.js +0 -46
  374. package/dist/prompts/limits.d.ts +0 -53
  375. package/dist/prompts/limits.js +0 -53
  376. package/dist/prompts/search.d.ts +0 -58
  377. package/dist/prompts/search.js +0 -146
  378. package/dist/prompts/types.d.ts +0 -204
  379. package/dist/prompts/types.js +0 -13
  380. package/dist/team/activity.d.ts +0 -67
  381. package/dist/team/activity.js +0 -130
  382. package/dist/team/limits.d.ts +0 -308
  383. package/dist/team/limits.js +0 -330
  384. package/dist/team/model.d.ts +0 -104
  385. package/dist/team/model.js +0 -150
  386. package/dist/team/panel-rows.d.ts +0 -48
  387. package/dist/team/panel-rows.js +0 -75
  388. package/dist/team/timeline.d.ts +0 -74
  389. package/dist/team/timeline.js +0 -101
  390. package/dist/team/types.d.ts +0 -354
  391. package/dist/team/types.js +0 -13
  392. package/dist/todo/acceptance.d.ts +0 -120
  393. package/dist/todo/acceptance.js +0 -399
  394. package/dist/todo/follow-through.d.ts +0 -138
  395. package/dist/todo/follow-through.js +0 -248
  396. package/dist/todo/limits.d.ts +0 -152
  397. package/dist/todo/limits.js +0 -152
  398. package/dist/todo/panel-rows.d.ts +0 -45
  399. package/dist/todo/panel-rows.js +0 -70
  400. package/dist/todo/plan-sections.d.ts +0 -60
  401. package/dist/todo/plan-sections.js +0 -108
  402. package/dist/todo/row-window.d.ts +0 -51
  403. package/dist/todo/row-window.js +0 -107
  404. package/dist/todo/types.d.ts +0 -124
  405. package/dist/todo/types.js +0 -12
  406. package/dist/tools/human-input.d.ts +0 -212
  407. package/dist/tools/human-input.js +0 -265
  408. package/dist/tools/patch.d.ts +0 -115
  409. package/dist/tools/patch.js +0 -453
  410. package/dist/tools/terminal-output.d.ts +0 -115
  411. package/dist/tools/terminal-output.js +0 -201
  412. package/dist/tools/tool-output-store.d.ts +0 -68
  413. package/dist/tools/tool-output-store.js +0 -102
  414. package/dist/ui/ActivityLine.d.ts +0 -26
  415. package/dist/ui/ActivityLine.js +0 -48
  416. package/dist/ui/AutocompletePopup.d.ts +0 -23
  417. package/dist/ui/AutocompletePopup.js +0 -17
  418. package/dist/ui/BottomStatusRow.d.ts +0 -10
  419. package/dist/ui/BottomStatusRow.js +0 -9
  420. package/dist/ui/Composer.d.ts +0 -115
  421. package/dist/ui/Composer.js +0 -64
  422. package/dist/ui/GovernancePanel.d.ts +0 -50
  423. package/dist/ui/GovernancePanel.js +0 -77
  424. package/dist/ui/GovernanceRun.d.ts +0 -18
  425. package/dist/ui/GovernanceRun.js +0 -11
  426. package/dist/ui/Header.d.ts +0 -48
  427. package/dist/ui/Header.js +0 -27
  428. package/dist/ui/Logo.d.ts +0 -32
  429. package/dist/ui/Logo.js +0 -65
  430. package/dist/ui/Markdown.d.ts +0 -29
  431. package/dist/ui/Markdown.js +0 -116
  432. package/dist/ui/PromptCaret.d.ts +0 -11
  433. package/dist/ui/PromptCaret.js +0 -31
  434. package/dist/ui/PromptInput.d.ts +0 -192
  435. package/dist/ui/PromptInput.js +0 -689
  436. package/dist/ui/QueuePanel.d.ts +0 -8
  437. package/dist/ui/QueuePanel.js +0 -9
  438. package/dist/ui/QueueStatusRow.d.ts +0 -24
  439. package/dist/ui/QueueStatusRow.js +0 -51
  440. package/dist/ui/ScrollbackShell.d.ts +0 -132
  441. package/dist/ui/ScrollbackShell.js +0 -26
  442. package/dist/ui/SessionOpener.d.ts +0 -30
  443. package/dist/ui/SessionOpener.js +0 -12
  444. package/dist/ui/StatusBar.d.ts +0 -129
  445. package/dist/ui/StatusBar.js +0 -61
  446. package/dist/ui/TeamPanel.d.ts +0 -76
  447. package/dist/ui/TeamPanel.js +0 -103
  448. package/dist/ui/ToastStack.d.ts +0 -8
  449. package/dist/ui/ToastStack.js +0 -31
  450. package/dist/ui/TodoPanel.d.ts +0 -52
  451. package/dist/ui/TodoPanel.js +0 -214
  452. package/dist/ui/Transcript.d.ts +0 -105
  453. package/dist/ui/Transcript.js +0 -251
  454. package/dist/ui/UpdateLine.d.ts +0 -44
  455. package/dist/ui/UpdateLine.js +0 -129
  456. package/dist/ui/activity-phrases.d.ts +0 -33
  457. package/dist/ui/activity-phrases.js +0 -50
  458. package/dist/ui/capabilities.d.ts +0 -27
  459. package/dist/ui/capabilities.js +0 -65
  460. package/dist/ui/clipboard-task.d.ts +0 -29
  461. package/dist/ui/clipboard-task.js +0 -66
  462. package/dist/ui/clipboard.d.ts +0 -31
  463. package/dist/ui/clipboard.js +0 -157
  464. package/dist/ui/color-runtime.d.ts +0 -5
  465. package/dist/ui/color-runtime.js +0 -29
  466. package/dist/ui/composer-input.d.ts +0 -38
  467. package/dist/ui/composer-input.js +0 -79
  468. package/dist/ui/composer-limits.d.ts +0 -30
  469. package/dist/ui/composer-limits.js +0 -45
  470. package/dist/ui/composer-rows.d.ts +0 -73
  471. package/dist/ui/composer-rows.js +0 -129
  472. package/dist/ui/console-bridge.d.ts +0 -19
  473. package/dist/ui/console-bridge.js +0 -52
  474. package/dist/ui/density.d.ts +0 -26
  475. package/dist/ui/density.js +0 -34
  476. package/dist/ui/display-tab.d.ts +0 -51
  477. package/dist/ui/display-tab.js +0 -82
  478. package/dist/ui/editor-navigation.d.ts +0 -55
  479. package/dist/ui/editor-navigation.js +0 -96
  480. package/dist/ui/editor-reducer.d.ts +0 -108
  481. package/dist/ui/editor-reducer.js +0 -187
  482. package/dist/ui/enter-frames.d.ts +0 -47
  483. package/dist/ui/enter-frames.js +0 -117
  484. package/dist/ui/entries/AssistantEntry.d.ts +0 -37
  485. package/dist/ui/entries/AssistantEntry.js +0 -43
  486. package/dist/ui/entries/CompactionCard.d.ts +0 -88
  487. package/dist/ui/entries/CompactionCard.js +0 -222
  488. package/dist/ui/entries/DiffView.d.ts +0 -61
  489. package/dist/ui/entries/DiffView.js +0 -103
  490. package/dist/ui/entries/EntryFrame.d.ts +0 -23
  491. package/dist/ui/entries/EntryFrame.js +0 -6
  492. package/dist/ui/entries/FastCard.d.ts +0 -53
  493. package/dist/ui/entries/FastCard.js +0 -105
  494. package/dist/ui/entries/GovernanceCard.d.ts +0 -30
  495. package/dist/ui/entries/GovernanceCard.js +0 -32
  496. package/dist/ui/entries/InvocationCard.d.ts +0 -20
  497. package/dist/ui/entries/InvocationCard.js +0 -32
  498. package/dist/ui/entries/QueuedEntry.d.ts +0 -27
  499. package/dist/ui/entries/QueuedEntry.js +0 -33
  500. package/dist/ui/entries/RetryCard.d.ts +0 -56
  501. package/dist/ui/entries/RetryCard.js +0 -60
  502. package/dist/ui/entries/ServiceCard.d.ts +0 -82
  503. package/dist/ui/entries/ServiceCard.js +0 -151
  504. package/dist/ui/entries/TeamCard.d.ts +0 -55
  505. package/dist/ui/entries/TeamCard.js +0 -94
  506. package/dist/ui/entries/TodoCard.d.ts +0 -54
  507. package/dist/ui/entries/TodoCard.js +0 -98
  508. package/dist/ui/entries/ToolCard.d.ts +0 -81
  509. package/dist/ui/entries/ToolCard.js +0 -160
  510. package/dist/ui/entries/ToolPreview.d.ts +0 -59
  511. package/dist/ui/entries/ToolPreview.js +0 -208
  512. package/dist/ui/entries/UserEntry.d.ts +0 -36
  513. package/dist/ui/entries/UserEntry.js +0 -57
  514. package/dist/ui/exit-snapshot.d.ts +0 -43
  515. package/dist/ui/exit-snapshot.js +0 -26
  516. package/dist/ui/frame-differ.d.ts +0 -166
  517. package/dist/ui/frame-differ.js +0 -354
  518. package/dist/ui/frame-observer.d.ts +0 -17
  519. package/dist/ui/frame-observer.js +0 -94
  520. package/dist/ui/frame-parser.d.ts +0 -7
  521. package/dist/ui/frame-parser.js +0 -18
  522. package/dist/ui/gauge.d.ts +0 -39
  523. package/dist/ui/gauge.js +0 -55
  524. package/dist/ui/glyphs.d.ts +0 -178
  525. package/dist/ui/glyphs.js +0 -165
  526. package/dist/ui/governance-copy.d.ts +0 -69
  527. package/dist/ui/governance-copy.js +0 -104
  528. package/dist/ui/governance-status.d.ts +0 -145
  529. package/dist/ui/governance-status.js +0 -326
  530. package/dist/ui/gradient.d.ts +0 -11
  531. package/dist/ui/gradient.js +0 -50
  532. package/dist/ui/ink-runtime.d.ts +0 -4
  533. package/dist/ui/ink-runtime.js +0 -51
  534. package/dist/ui/interaction-copy.d.ts +0 -82
  535. package/dist/ui/interaction-copy.js +0 -38
  536. package/dist/ui/interaction-hints.d.ts +0 -44
  537. package/dist/ui/interaction-hints.js +0 -97
  538. package/dist/ui/layout/AppShell.d.ts +0 -17
  539. package/dist/ui/layout/AppShell.js +0 -6
  540. package/dist/ui/layout/Gutter.d.ts +0 -67
  541. package/dist/ui/layout/Gutter.js +0 -42
  542. package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
  543. package/dist/ui/layout/MeasuredEntry.js +0 -30
  544. package/dist/ui/layout/OverlayFrame.d.ts +0 -73
  545. package/dist/ui/layout/OverlayFrame.js +0 -110
  546. package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
  547. package/dist/ui/layout/ScrollIndicator.js +0 -22
  548. package/dist/ui/layout/ScrollViewport.d.ts +0 -40
  549. package/dist/ui/layout/ScrollViewport.js +0 -222
  550. package/dist/ui/layout/agents-board.d.ts +0 -102
  551. package/dist/ui/layout/agents-board.js +0 -389
  552. package/dist/ui/layout/autocomplete.d.ts +0 -18
  553. package/dist/ui/layout/autocomplete.js +0 -26
  554. package/dist/ui/layout/budget.d.ts +0 -43
  555. package/dist/ui/layout/budget.js +0 -52
  556. package/dist/ui/layout/cells.d.ts +0 -61
  557. package/dist/ui/layout/cells.js +0 -156
  558. package/dist/ui/layout/document-layout.d.ts +0 -13
  559. package/dist/ui/layout/document-layout.js +0 -10
  560. package/dist/ui/layout/follow-state.d.ts +0 -138
  561. package/dist/ui/layout/follow-state.js +0 -148
  562. package/dist/ui/layout/frame.d.ts +0 -36
  563. package/dist/ui/layout/frame.js +0 -39
  564. package/dist/ui/layout/governance-board.d.ts +0 -121
  565. package/dist/ui/layout/governance-board.js +0 -382
  566. package/dist/ui/layout/governance-card.d.ts +0 -53
  567. package/dist/ui/layout/governance-card.js +0 -134
  568. package/dist/ui/layout/governance-chip.d.ts +0 -38
  569. package/dist/ui/layout/governance-chip.js +0 -64
  570. package/dist/ui/layout/governance-panel.d.ts +0 -85
  571. package/dist/ui/layout/governance-panel.js +0 -358
  572. package/dist/ui/layout/governance-roster.d.ts +0 -65
  573. package/dist/ui/layout/governance-roster.js +0 -275
  574. package/dist/ui/layout/header-hints.d.ts +0 -90
  575. package/dist/ui/layout/header-hints.js +0 -110
  576. package/dist/ui/layout/header-left.d.ts +0 -115
  577. package/dist/ui/layout/header-left.js +0 -206
  578. package/dist/ui/layout/invocation-card.d.ts +0 -41
  579. package/dist/ui/layout/invocation-card.js +0 -91
  580. package/dist/ui/layout/kit-chip.d.ts +0 -50
  581. package/dist/ui/layout/kit-chip.js +0 -81
  582. package/dist/ui/layout/overlay-window.d.ts +0 -43
  583. package/dist/ui/layout/overlay-window.js +0 -51
  584. package/dist/ui/layout/queue-layout.d.ts +0 -19
  585. package/dist/ui/layout/queue-layout.js +0 -26
  586. package/dist/ui/layout/rail.d.ts +0 -7
  587. package/dist/ui/layout/rail.js +0 -16
  588. package/dist/ui/layout/scroll-indicator.d.ts +0 -27
  589. package/dist/ui/layout/scroll-indicator.js +0 -36
  590. package/dist/ui/layout/scroll.d.ts +0 -37
  591. package/dist/ui/layout/scroll.js +0 -99
  592. package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
  593. package/dist/ui/layout/scrollbar-geometry.js +0 -13
  594. package/dist/ui/layout/session-chip.d.ts +0 -52
  595. package/dist/ui/layout/session-chip.js +0 -64
  596. package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
  597. package/dist/ui/layout/shortcut-panel-layout.js +0 -321
  598. package/dist/ui/layout/status-detail-layout.d.ts +0 -9
  599. package/dist/ui/layout/status-detail-layout.js +0 -79
  600. package/dist/ui/layout/status-layout.d.ts +0 -139
  601. package/dist/ui/layout/status-layout.js +0 -253
  602. package/dist/ui/layout/task-summary-cell.d.ts +0 -61
  603. package/dist/ui/layout/task-summary-cell.js +0 -65
  604. package/dist/ui/layout/team-panel.d.ts +0 -18
  605. package/dist/ui/layout/team-panel.js +0 -25
  606. package/dist/ui/layout/team-row.d.ts +0 -139
  607. package/dist/ui/layout/team-row.js +0 -246
  608. package/dist/ui/layout/todo-layout.d.ts +0 -62
  609. package/dist/ui/layout/todo-layout.js +0 -102
  610. package/dist/ui/layout/useTerminalSize.d.ts +0 -13
  611. package/dist/ui/layout/useTerminalSize.js +0 -50
  612. package/dist/ui/layout/viewport-geometry.d.ts +0 -29
  613. package/dist/ui/layout/viewport-geometry.js +0 -28
  614. package/dist/ui/layout/virtual-window.d.ts +0 -112
  615. package/dist/ui/layout/virtual-window.js +0 -488
  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 -61
  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 -118
  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,155 +0,0 @@
1
- /**
2
- * Settings > Team: the pure half of the page (subagent-fanout 3.4.2, extended by
3
- * team-command-forced-dispatch §3.9).
4
- *
5
- * ASCII ONLY - `src/ui/**` is inside `glyphs.test.ts::inScope`.
6
- *
7
- * THE PAGE WRITES FOUR KEYS AND CANNOT BE MADE TO WRITE A FIFTH (D-17 / R-P0-1).
8
- * `TeamFanoutPatch` is `Pick<TeamConfig, 'enabled' | 'maxSubagents' |
9
- * 'maxConcurrent' | 'overseer'>`, and `stepFanoutValue` returns
10
- * `Partial<TeamFanoutPatch>`: a width adjustment therefore CANNOT carry `model`
11
- * or `modelProfileId` into `draft.patch.team`. That matters because
12
- * `releasedSlots` reads those two keys as "the user re-decided the subagent
13
- * slot", so a page that returned the whole section would silently release the
14
- * model a session kit had just installed - and no test would notice, because
15
- * every value on screen would still be right.
16
- *
17
- * FOUR KEYS BECAUSE `enabled` MOVED HERE (team-command-forced-dispatch D-3): the
18
- * team switch used to be reachable only as `/team on|off`, which also wrote
19
- * `config.json`. The switch belongs on the same page as width, concurrency and
20
- * supervision - they are four faces of one decision - and `/team` is now the ACT
21
- * ("arm this session"), never a configuration write (I-4).
22
- *
23
- * EVERYTHING HERE IS A PURE FUNCTION over the draft. The page owns exactly one
24
- * piece of state (its cursor); values come from the reducer, which is the same
25
- * discipline the rest of this screen follows.
26
- */
27
- import { clampTeamConfig, HARD_MAX_SUBAGENTS } from '../../config/schema.js';
28
- function clampInt(value, min, max) {
29
- return Math.max(min, Math.min(max, Math.floor(value)));
30
- }
31
- /**
32
- * The CLAMPED team section this draft would save (R-P0-2), for display only.
33
- *
34
- * THE CLAMP IS NOT COSMETIC. Without it a patch carrying only
35
- * `maxSubagents: 6` renders "6 per dispatch, 8 at once" on top of an 8-wide
36
- * baseline, while `mergePersistedConfig` clamps the same patch to 6/6 on the way
37
- * to disk - so the screen and the file disagree, and every arrow key makes the
38
- * user reconcile them by hand.
39
- */
40
- export function teamFanoutValues(draft) {
41
- return clampTeamConfig({ ...draft.baseline.team, ...draft.patch.team });
42
- }
43
- /**
44
- * The PATCH FRAGMENT for one arrow press, clamped exactly like `clampTeamConfig`.
45
- *
46
- * `current` must be the value the screen actually shows (`teamFanoutValues`), so
47
- * a step always starts from a number the user can see.
48
- *
49
- * NO WRAPAROUND: a form control is not a ring, and `Left` at 1 jumping to 10
50
- * would be a way to widen a dispatch while trying to narrow it.
51
- *
52
- * EVERY MEMBER IS HANDLED EXPLICITLY AND THE TAIL IS `never` (P0-1). The old
53
- * body was three `if`s with the `maxSubagents` branch as the FALLTHROUGH, so
54
- * adding `'enabled'` to the union compiled cleanly and made the new `Team mode`
55
- * row adjust `Max subagents` instead - every number on screen self-consistent,
56
- * no test red, and the user's intent to switch the team OFF arrived as a wider
57
- * fan-out. The `never` assignment below turns that class of mistake into a
58
- * compile error, which is the only place it can be caught cheaply.
59
- */
60
- export function stepFanoutValue(current, field, delta) {
61
- if (field === 'enabled') {
62
- // Both arrows toggle: `Team mode` has two states, and a direction has no
63
- // meaning beyond "the user pressed an arrow" (the `Supervisor` rule below).
64
- return { enabled: !current.enabled };
65
- }
66
- if (field === 'overseer') {
67
- return { overseer: !current.overseer };
68
- }
69
- if (field === 'maxConcurrent') {
70
- const ceiling = Math.min(HARD_MAX_SUBAGENTS, current.maxSubagents);
71
- return { maxConcurrent: clampInt(current.maxConcurrent + delta, 1, ceiling) };
72
- }
73
- if (field === 'maxSubagents') {
74
- const next = clampInt(current.maxSubagents + delta, 1, HARD_MAX_SUBAGENTS);
75
- // THE FOLLOW-DOWN IS WRITTEN INTO THE PATCH (R-P1-9), not just rendered: a
76
- // narrower population cannot keep a wider pool, but a DISPLAY-only correction
77
- // would snap back the moment the user widened again, so "the change I just
78
- // made" would not stick - the exact complaint this design exists to answer.
79
- return current.maxConcurrent > next
80
- ? { maxSubagents: next, maxConcurrent: next }
81
- : { maxSubagents: next };
82
- }
83
- // THE EXHAUSTIVE GUARD IS THE POINT (P0-1): a new member of `TeamFanoutField`
84
- // must fail to COMPILE here, not silently fall through to `maxSubagents`.
85
- //
86
- // IT SITS AFTER EVERY BRANCH RETURNS, not before the last one. §3.9's snippet
87
- // shows it above the `maxSubagents` branch, where TypeScript rejects the file
88
- // outright (`'maxSubagents' is not assignable to 'never'`) - the intent
89
- // survives, the position does not.
90
- const _exhaustive = field;
91
- return _exhaustive;
92
- }
93
- /**
94
- * The page's four rows, in cursor order.
95
- *
96
- * `Team mode` IS FIRST because it is the premise of the other three: with `task`
97
- * out of the tool list there is no width to configure and no supervisor to run,
98
- * and a page that listed the numbers first would invite the user to tune a
99
- * capability they had switched off.
100
- *
101
- * TWO HINTS CARRY A CONDITION THE DESIGN OWNS RATHER THAN DECORATION (R-1 / C-2):
102
- * the default pool is 8, which is 8 simultaneous streams against one API key, and
103
- * the honest mitigation for an HTTP 429 storm is "lower this number" - said HERE,
104
- * where the number is, not only in a risk table nobody reads.
105
- *
106
- * `teamRegistered === false` (a `--no-team` session) changes TWO things on the
107
- * `enabled` row and nothing else: `on (next launch)` because the tool array is
108
- * immutable (I-7), and a hint that says why. Absent means "not disclosed",
109
- * which every existing fixture relies on.
110
- */
111
- export function fanoutRows(team, teamRegistered) {
112
- const blocked = teamRegistered === false && team.enabled;
113
- return [
114
- {
115
- field: 'enabled',
116
- label: 'Team mode',
117
- value: blocked ? 'on (next launch)' : team.enabled ? 'on' : 'off',
118
- hint: blocked
119
- ? '--no-team session: the task tool cannot be added live'
120
- : 'off: no task tool next launch; this session may lack it',
121
- },
122
- {
123
- field: 'maxSubagents',
124
- label: 'Max subagents',
125
- value: String(team.maxSubagents),
126
- hint: `children per dispatch; ${HARD_MAX_SUBAGENTS} is the hard ceiling`,
127
- },
128
- {
129
- field: 'maxConcurrent',
130
- label: 'Run at once',
131
- value: String(team.maxConcurrent),
132
- hint: 'provider limits: lower this if you see rate-limit errors',
133
- },
134
- {
135
- field: 'overseer',
136
- label: 'Supervisor',
137
- value: team.overseer ? 'on' : 'off',
138
- hint: 'checks stalled children; never kills them',
139
- },
140
- ];
141
- }
142
- /**
143
- * The one-line summary the settings root row prints for this page.
144
- *
145
- * `off - no subagents` rather than the numbers, because with the capability off
146
- * the numbers describe nothing the user can spend. This replaced
147
- * `fanoutSummary()` outright instead of living beside it: two summary functions
148
- * over one page is two authorities for one line, and the root row would sooner or
149
- * later disagree with the page it summarises.
150
- */
151
- export function teamSummary(team) {
152
- if (!team.enabled)
153
- return 'off - no subagents';
154
- return `${team.maxSubagents} per dispatch, ${team.maxConcurrent} at once`;
155
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * The probe task hook (model-profile-connection-test §6.2).
3
- *
4
- * IT LIVES IN `SettingsScreen`, ONCE, AND NOWHERE ELSE. The editor unmounts whenever
5
- * the page changes (`SettingsScreen` renders it only for `page === 'editor'`), so a
6
- * hook inside the editor would abort its own discovery the moment `Discover models`
7
- * switched to the list page - the feature cancelling itself.
8
- *
9
- * TWO SLOTS, ONE IN FLIGHT. A test verdict and a discovered list answer different
10
- * questions, so they are stored separately: opening the list must not erase a verdict
11
- * the user still wants to read when they press Esc back (AC-27). Starting either task
12
- * aborts whatever is running - one request at a time.
13
- *
14
- * `test()` AND `discover()` NEVER REJECT. The only callers are Ink input handlers,
15
- * which have nowhere to await a `catch`; the hook folds every exception into an
16
- * `unknown` failure so no frame can be left on `testing` forever.
17
- *
18
- * ASCII ONLY (`ui/` is inside `glyphs.test.ts::inScope`).
19
- */
20
- import type { ModelProbe, ProbeTarget } from '../../agent/model-probe.js';
21
- import type { ProbeDiscoveryPhase, ProbeTestPhase } from './model-probe-view.js';
22
- export interface ModelProbeTasks {
23
- test: ProbeTestPhase;
24
- discovery: ProbeDiscoveryPhase;
25
- busy: boolean;
26
- startTest(target: ProbeTarget): void;
27
- startDiscovery(target: ProbeTarget): void;
28
- cancel(): void;
29
- }
30
- export declare function useModelProbe(probe?: ModelProbe): ModelProbeTasks;
@@ -1,109 +0,0 @@
1
- /**
2
- * The probe task hook (model-profile-connection-test §6.2).
3
- *
4
- * IT LIVES IN `SettingsScreen`, ONCE, AND NOWHERE ELSE. The editor unmounts whenever
5
- * the page changes (`SettingsScreen` renders it only for `page === 'editor'`), so a
6
- * hook inside the editor would abort its own discovery the moment `Discover models`
7
- * switched to the list page - the feature cancelling itself.
8
- *
9
- * TWO SLOTS, ONE IN FLIGHT. A test verdict and a discovered list answer different
10
- * questions, so they are stored separately: opening the list must not erase a verdict
11
- * the user still wants to read when they press Esc back (AC-27). Starting either task
12
- * aborts whatever is running - one request at a time.
13
- *
14
- * `test()` AND `discover()` NEVER REJECT. The only callers are Ink input handlers,
15
- * which have nowhere to await a `catch`; the hook folds every exception into an
16
- * `unknown` failure so no frame can be left on `testing` forever.
17
- *
18
- * ASCII ONLY (`ui/` is inside `glyphs.test.ts::inScope`).
19
- */
20
- import { useCallback, useEffect, useRef, useState } from 'react';
21
- const TEST_FAILED_DETAIL = 'The connection test could not run.';
22
- const DISCOVERY_FAILED_DETAIL = 'The model list could not be fetched.';
23
- function unknownTest(targetId) {
24
- return { ok: false, targetId, latencyMs: 0, kind: 'unknown', detail: TEST_FAILED_DETAIL };
25
- }
26
- function unknownDiscovery(connectionId) {
27
- return { ok: false, connectionId, kind: 'unknown', detail: DISCOVERY_FAILED_DETAIL,
28
- models: [], truncated: false, total: 0 };
29
- }
30
- /** Run one probe, guaranteeing the promise settles and no rejection escapes. */
31
- function settle(work, onValue, onFailure) {
32
- let pending;
33
- try {
34
- pending = work();
35
- }
36
- catch {
37
- onFailure();
38
- return;
39
- }
40
- void pending.then(onValue, onFailure);
41
- }
42
- export function useModelProbe(probe) {
43
- const [test, setTest] = useState({ phase: 'idle' });
44
- const [discovery, setDiscovery] = useState({ phase: 'idle' });
45
- const controller = useRef(null);
46
- const inFlight = useRef(null);
47
- const abortCurrent = useCallback(() => {
48
- controller.current?.abort();
49
- controller.current = null;
50
- inFlight.current = null;
51
- }, []);
52
- useEffect(() => abortCurrent, [abortCurrent]);
53
- const begin = useCallback((kind) => {
54
- abortCurrent();
55
- const next = new AbortController();
56
- controller.current = next;
57
- inFlight.current = kind;
58
- return next;
59
- }, [abortCurrent]);
60
- /**
61
- * Land one run's result and drop the in-flight refs with it.
62
- *
63
- * Clearing them here is what keeps `cancel()` honest: it is the ONLY caller of
64
- * `abortCurrent`, and an Escape on a settled slot (a frame where `busy` is stale)
65
- * must not erase a verdict the user is still reading.
66
- */
67
- const finish = useCallback((run, commit) => {
68
- if (run.signal.aborted)
69
- return;
70
- controller.current = null;
71
- inFlight.current = null;
72
- commit();
73
- }, []);
74
- const startTest = useCallback((target) => {
75
- if (!probe)
76
- return;
77
- const run = begin('test');
78
- const targetId = probe.targetFingerprint(target);
79
- setTest({ phase: 'testing', targetId });
80
- settle(() => probe.test({ ...target, signal: run.signal }), (outcome) => {
81
- finish(run, () => setTest({ phase: 'tested', outcome }));
82
- }, () => {
83
- finish(run, () => setTest({ phase: 'tested', outcome: unknownTest(targetId) }));
84
- });
85
- }, [probe, begin, finish]);
86
- const startDiscovery = useCallback((target) => {
87
- if (!probe)
88
- return;
89
- const run = begin('discovery');
90
- const connectionId = probe.connectionFingerprint(target);
91
- setDiscovery({ phase: 'discovering', connectionId });
92
- settle(() => probe.discover({ ...target, signal: run.signal }), (outcome) => {
93
- finish(run, () => setDiscovery({ phase: 'discovered', outcome }));
94
- }, () => {
95
- finish(run, () => setDiscovery({ phase: 'discovered',
96
- outcome: unknownDiscovery(connectionId) }));
97
- });
98
- }, [probe, begin, finish]);
99
- const cancel = useCallback(() => {
100
- const kind = inFlight.current;
101
- abortCurrent();
102
- if (kind === 'test')
103
- setTest({ phase: 'idle' });
104
- if (kind === 'discovery')
105
- setDiscovery({ phase: 'idle' });
106
- }, [abortCurrent]);
107
- const busy = test.phase === 'testing' || discovery.phase === 'discovering';
108
- return { test, discovery, busy, startTest, startDiscovery, cancel };
109
- }
@@ -1,112 +0,0 @@
1
- /**
2
- * Palettes (spec §4.5) — the raw hex data behind `getTheme()`, split out of
3
- * `theme.ts` so the color decisions live in one readable place and can be
4
- * contrast-tested without pulling in the degradation machinery.
5
- *
6
- * `WARM` is the new default. The old Tokyo-Night-derived palette survives under
7
- * its accurate name `COOL` and stays reachable via `--theme cool`, so nobody's
8
- * screen changes without them being able to change it back (R-4).
9
- *
10
- * Theme names describe COLOR TEMPERATURE on purpose. Naming a theme after
11
- * another company's product would imply an affiliation or an asset licence that
12
- * does not exist; `warm` / `cool` are accurate and carry no such claim.
13
- */
14
- import type { ThemeName } from '../config/schema.js';
15
- export interface Palette {
16
- primary: string;
17
- accent: string;
18
- user: string;
19
- assistant: string;
20
- thinking: string;
21
- toolPending: string;
22
- toolRunning: string;
23
- toolDone: string;
24
- toolError: string;
25
- noticeInfo: string;
26
- noticeWarn: string;
27
- noticeError: string;
28
- muted: string;
29
- border: string;
30
- code: string;
31
- focusBorder: string;
32
- idleBorder: string;
33
- hintFg: string;
34
- logoShadow: string;
35
- /**
36
- * Drag-selection highlight (tui-selection-and-scroll-follow §4.4.4).
37
- *
38
- * A PAIR, not a background alone: the selected run has its inner SGR stripped
39
- * before it is repainted, so whatever foreground the row had is gone by the
40
- * time the highlight is applied and a background on its own would leave the
41
- * text at the terminal's default colour over an arbitrary hue. The two are
42
- * contrast-pinned against EACH OTHER in `palettes.test.ts` — the surface a
43
- * selected glyph sits on is `selectionBg`, not `DARK_SURFACE`.
44
- *
45
- * Below ansi-256 these never reach the terminal at all: `highlight.ts` emits
46
- * plain reverse video there, because `getTheme` has degraded them to chalk
47
- * colour NAMES by then and a name is not an escape sequence.
48
- */
49
- selectionBg: string;
50
- selectionFg: string;
51
- gradient: [string, string, string];
52
- gauge: {
53
- track: string;
54
- low: string;
55
- mid: string;
56
- high: string;
57
- };
58
- diff: {
59
- add: string;
60
- remove: string;
61
- meta: string;
62
- context: string;
63
- };
64
- toast: {
65
- info: string;
66
- warn: string;
67
- error: string;
68
- success: string;
69
- };
70
- chip: {
71
- fg: string;
72
- bg: string;
73
- };
74
- /**
75
- * The GOVERN / PLAN+GOVERN posture badge, the legion panel title and the status chip
76
- * (governance-mode section 10.7).
77
- *
78
- * A hue of its own, pinned by `palettes.test.ts`: >= 4.5:1 against THIS palette's own
79
- * surface and >= 30 degrees away from the six semantic hues it must never be confused
80
- * with (`primary`, `accent`, `user`, `toolDone`, `noticeWarn`, `noticeError`) - the
81
- * last four because governance score gains and losses are drawn in `toolDone` /
82
- * `noticeError` right beside it. The numbers below are the measured starting points.
83
- */
84
- governAccent: string;
85
- }
86
- /**
87
- * The reference dark background these palettes are contrast-checked against.
88
- * `palettes.test.ts` (A-7) pins `assistant` / `muted` / `hintFg` at WCAG AA
89
- * (>= 4.5:1) here so a later "just nudging the hue" cannot quietly make body
90
- * text unreadable.
91
- */
92
- export declare const DARK_SURFACE = "#1c1917";
93
- /**
94
- * The reference background of the `LIGHT` palette. `LIGHT` text is dark-on-light, so
95
- * contrast-checking it against `DARK_SURFACE` would pass a pair that is unreadable in
96
- * the only place it is ever used (the same trap `selectionBg` documents).
97
- */
98
- export declare const LIGHT_SURFACE = "#ffffff";
99
- /** Terracotta + amber over warm neutrals — the v0.4.0 default. */
100
- export declare const WARM: Palette;
101
- /** The v0.3.0 palette, renamed. Reachable via `--theme cool` / `theme: "dark"`. */
102
- export declare const COOL: Palette;
103
- export declare const LIGHT: Palette;
104
- /**
105
- * Resolve a theme name to its palette.
106
- *
107
- * `auto` never guesses light: terminals cannot reliably report their background
108
- * colour, and guessing wrong makes the app unreadable. `dark` is accepted here
109
- * as well as in `clampTheme` because a persisted config written by v0.3.0 can
110
- * still be sitting on disk when this runs.
111
- */
112
- export declare function resolvePalette(name: ThemeName | 'dark'): Palette;
@@ -1,130 +0,0 @@
1
- /**
2
- * Palettes (spec §4.5) — the raw hex data behind `getTheme()`, split out of
3
- * `theme.ts` so the color decisions live in one readable place and can be
4
- * contrast-tested without pulling in the degradation machinery.
5
- *
6
- * `WARM` is the new default. The old Tokyo-Night-derived palette survives under
7
- * its accurate name `COOL` and stays reachable via `--theme cool`, so nobody's
8
- * screen changes without them being able to change it back (R-4).
9
- *
10
- * Theme names describe COLOR TEMPERATURE on purpose. Naming a theme after
11
- * another company's product would imply an affiliation or an asset licence that
12
- * does not exist; `warm` / `cool` are accurate and carry no such claim.
13
- */
14
- /**
15
- * The reference dark background these palettes are contrast-checked against.
16
- * `palettes.test.ts` (A-7) pins `assistant` / `muted` / `hintFg` at WCAG AA
17
- * (>= 4.5:1) here so a later "just nudging the hue" cannot quietly make body
18
- * text unreadable.
19
- */
20
- export const DARK_SURFACE = '#1c1917';
21
- /**
22
- * The reference background of the `LIGHT` palette. `LIGHT` text is dark-on-light, so
23
- * contrast-checking it against `DARK_SURFACE` would pass a pair that is unreadable in
24
- * the only place it is ever used (the same trap `selectionBg` documents).
25
- */
26
- export const LIGHT_SURFACE = '#ffffff';
27
- /** Terracotta + amber over warm neutrals — the v0.4.0 default. */
28
- export const WARM = {
29
- primary: '#d08c60',
30
- accent: '#c9a227',
31
- user: '#7fb08a',
32
- assistant: '#e6ddd1',
33
- thinking: '#a2968a',
34
- toolPending: '#8a7f74',
35
- toolRunning: '#c9a227',
36
- toolDone: '#7fb08a',
37
- toolError: '#cf6b5c',
38
- noticeInfo: '#d08c60',
39
- noticeWarn: '#c9a227',
40
- noticeError: '#cf6b5c',
41
- muted: '#a2968a',
42
- border: '#4a423b',
43
- code: '#c9a97a',
44
- focusBorder: '#d08c60',
45
- idleBorder: '#4a423b',
46
- hintFg: '#9c9086',
47
- logoShadow: '#4a423b',
48
- selectionBg: '#e0b088',
49
- selectionFg: '#1c1917',
50
- gradient: ['#d08c60', '#c9a227', '#b0916a'],
51
- gauge: { track: '#4a423b', low: '#7fb08a', mid: '#c9a227', high: '#cf6b5c' },
52
- diff: { add: '#7fb08a', remove: '#cf6b5c', meta: '#d08c60', context: '#a2968a' },
53
- toast: { info: '#d08c60', warn: '#c9a227', error: '#cf6b5c', success: '#7fb08a' },
54
- chip: { fg: '#1c1917', bg: '#d08c60' },
55
- governAccent: '#B79CED',
56
- };
57
- /** The v0.3.0 palette, renamed. Reachable via `--theme cool` / `theme: "dark"`. */
58
- export const COOL = {
59
- primary: '#7aa2f7',
60
- accent: '#bb9af7',
61
- user: '#7dcfff',
62
- assistant: '#c0caf5',
63
- thinking: '#7a86b8',
64
- toolPending: '#565f89',
65
- toolRunning: '#e0af68',
66
- toolDone: '#9ece6a',
67
- toolError: '#f7768e',
68
- noticeInfo: '#7aa2f7',
69
- noticeWarn: '#e0af68',
70
- noticeError: '#f7768e',
71
- muted: '#565f89',
72
- border: '#3b4261',
73
- code: '#9ece6a',
74
- focusBorder: '#7aa2f7',
75
- idleBorder: '#3b4261',
76
- hintFg: '#565f89',
77
- logoShadow: '#3b4261',
78
- selectionBg: '#7aa2f7',
79
- selectionFg: '#1a1b26',
80
- gradient: ['#7aa2f7', '#bb9af7', '#7dcfff'],
81
- gauge: { track: '#3b4261', low: '#9ece6a', mid: '#e0af68', high: '#f7768e' },
82
- diff: { add: '#9ece6a', remove: '#f7768e', meta: '#7aa2f7', context: '#7a86b8' },
83
- toast: { info: '#7aa2f7', warn: '#e0af68', error: '#f7768e', success: '#9ece6a' },
84
- chip: { fg: '#1a1b26', bg: '#7aa2f7' },
85
- governAccent: '#73DACA',
86
- };
87
- export const LIGHT = {
88
- primary: '#2959aa',
89
- accent: '#8c4bc9',
90
- user: '#0f7490',
91
- assistant: '#1f2430',
92
- thinking: '#6b7280',
93
- toolPending: '#9aa0ab',
94
- toolRunning: '#b5730f',
95
- toolDone: '#2e7d32',
96
- toolError: '#c62828',
97
- noticeInfo: '#2959aa',
98
- noticeWarn: '#b5730f',
99
- noticeError: '#c62828',
100
- muted: '#6b7280',
101
- border: '#c8cdd6',
102
- code: '#3f7f2f',
103
- focusBorder: '#2959aa',
104
- idleBorder: '#c8cdd6',
105
- hintFg: '#6b7280',
106
- logoShadow: '#c8cdd6',
107
- selectionBg: '#2959aa',
108
- selectionFg: '#ffffff',
109
- gradient: ['#2959aa', '#8c4bc9', '#0f7490'],
110
- gauge: { track: '#c8cdd6', low: '#2e7d32', mid: '#b5730f', high: '#c62828' },
111
- diff: { add: '#2e7d32', remove: '#c62828', meta: '#2959aa', context: '#6b7280' },
112
- toast: { info: '#2959aa', warn: '#b5730f', error: '#c62828', success: '#2e7d32' },
113
- chip: { fg: '#ffffff', bg: '#2959aa' },
114
- governAccent: '#A8327A',
115
- };
116
- /**
117
- * Resolve a theme name to its palette.
118
- *
119
- * `auto` never guesses light: terminals cannot reliably report their background
120
- * colour, and guessing wrong makes the app unreadable. `dark` is accepted here
121
- * as well as in `clampTheme` because a persisted config written by v0.3.0 can
122
- * still be sitting on disk when this runs.
123
- */
124
- export function resolvePalette(name) {
125
- if (name === 'light')
126
- return LIGHT;
127
- if (name === 'cool' || name === 'dark')
128
- return COOL;
129
- return WARM;
130
- }
@@ -1,91 +0,0 @@
1
- /**
2
- * Reading paste frames back out of an Ink `input` string
3
- * (tui-paste-handling section 5.4) -- pure.
4
- *
5
- * The stdin filter writes `PASTE_OPEN + payload + PASTE_CLOSE` inline, in stream
6
- * order (I-5). This module is the only place that takes those markers apart.
7
- */
8
- export interface FrameTextSegment {
9
- readonly kind: 'text';
10
- readonly text: string;
11
- }
12
- export interface FramePasteSegment {
13
- readonly kind: 'paste';
14
- readonly text: string;
15
- }
16
- /**
17
- * A run of one `input` string.
18
- *
19
- * NO `id` HERE. The paste id is allocated by `PromptInput` while it builds the
20
- * reducer's action, never by this function and never by the reducer (P1-5), so
21
- * the split stays a pure function of its argument and `paste-frames.test.ts` can
22
- * assert on its output.
23
- */
24
- export type FrameSegment = FrameTextSegment | FramePasteSegment;
25
- /**
26
- * Remove every C0 byte, DEL and C1 byte from text that arrived OUTSIDE a frame
27
- * (I-14). NO CR -> LF conversion, and that omission is the point.
28
- *
29
- * WHY THIS IS NOT OPTIONAL. Ink drains its whole buffer in one size-less
30
- * `read()` (`App.js:135`), so the `input` string carrying a frame can also carry
31
- * the keystroke bytes that arrived beside it -- most often the `\r` of a user who
32
- * pastes and immediately presses Enter, since Ink's 32 ms render throttle and a
33
- * large transcript's Yoga pass both outlast the filter's 15 ms burst window.
34
- * Splicing that run in verbatim puts a raw CR back into the draft and re-opens
35
- * the corruption this whole feature exists to remove.
36
- *
37
- * Note what it does NOT do. It does not turn a coalesced `\r` into a newline and
38
- * it does not submit: a keystroke that merged with a frame has already lost its
39
- * identity as a key (`parseKeypress` saw the concatenation, not the key), so the
40
- * only two honest options are "insert something wrong" and "drop it". Dropping is
41
- * recoverable and benign -- the user presses Enter again -- while inserting a
42
- * control byte is not. Printable characters survive untouched.
43
- */
44
- export declare function sanitiseTyped(text: string): string;
45
- /**
46
- * Split an `input` string into ordered text runs and paste runs.
47
- *
48
- * Text runs are returned already through `sanitiseTyped` (I-14); paste runs are
49
- * returned through `sanitisePaste`, which keeps TAB and `\n` because they are
50
- * content inside a payload.
51
- *
52
- * RE-SANITISING THE PAYLOAD IS DEFENCE IN DEPTH, NOT A SECOND OPINION. The
53
- * filter already ran `sanitisePaste` and it is idempotent, so the normal path is
54
- * byte-identical. What it buys is that G2 ("no pasted byte is ever executed as a
55
- * terminal control") becomes a property of the COMPOSER rather than a property
56
- * of whoever produced the frame -- which matters for the branch below, where an
57
- * unmatched `PASTE_OPEN` turns arbitrary trailing bytes into a paste segment.
58
- *
59
- * An unmatched `PASTE_OPEN` -- impossible from our own filter, but cheap to
60
- * survive -- yields its remainder as a paste segment rather than leaking NULs.
61
- */
62
- export declare function splitPasteFrames(input: string): FrameSegment[];
63
- /** True when this `input` carries at least one frame -- the branch guard. */
64
- export declare function hasPasteFrame(input: string): boolean;
65
- /**
66
- * Turn a possibly-framed `input` into plain text for a consumer that has no
67
- * paste model of its own: unwrap the frames, keep the payload, drop the markers,
68
- * and run BOTH halves through `sanitiseTyped`.
69
- *
70
- * ANY `useInput` CONSUMER THAT APPENDS `input` TO A STRING MUST CALL THIS (I-12),
71
- * and the list is pinned by a source scan rather than by review discipline
72
- * because the failure is invisible: NUL renders as nothing.
73
- *
74
- * `useInput` is a BROADCAST -- `use-input.js` re-emits every chunk to every
75
- * mounted handler -- so `SettingsScreen` and `QuestionOverlay` see the frame the
76
- * composer was sent. An API key is ~100 characters with no line break, which trips
77
- * Tier 2's burst rule and gets framed; nothing downstream removes the NULs
78
- * (`String.prototype.trim()` does not treat U+0000 as whitespace), the field is
79
- * rendered through `maskDot` so the damage is invisible, and the value is handed
80
- * to `registerSecret()` and `controller.setApiKey()`. The user is told the
81
- * settings were saved and every request afterwards fails to authenticate with
82
- * nothing on screen to explain it.
83
- *
84
- * This is strictly better than v0.6.3 for both consumers: a pasted key carrying a
85
- * stray CR or an ANSI sequence is now cleaned rather than stored raw. The
86
- * unframed branch strips escape SEQUENCES before the control sweep, because
87
- * deleting only the introducer left `[0m` in the stored value -- and in a
88
- * settings field that residue is invisible behind `maskDot` while the value
89
- * handed to `registerSecret()` is silently wrong.
90
- */
91
- export declare function stripPasteFrames(input: string): string;