@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,20 +0,0 @@
1
- /**
2
- * Render a `user` entry that carries an invocation card (tui-invocation-cards).
3
- *
4
- * Like `UserEntry`, this renders CONTENT only: the role glyph, rail and spacing belong
5
- * to `EntryFrame`, so the card stays "the user's turn" for density, turn counting and
6
- * the settled boundary. The header text comes from `invocationHeaderSegments` and is
7
- * never assembled here (RV-10); the row count it implies is `invocationCardRows`.
8
- */
9
- import React from 'react';
10
- import type { Theme } from '../theme.js';
11
- import type { TermCapabilities } from '../capabilities.js';
12
- import type { InvocationCard as InvocationCardData } from '../../agent/invocation-card.js';
13
- declare function InvocationCardImpl({ card, theme, caps, }: {
14
- card: InvocationCardData;
15
- theme: Theme;
16
- caps: TermCapabilities;
17
- }): React.ReactElement;
18
- /** Default comparator: `mapEntry` preserves identity for untouched entries (L2 / R3). */
19
- export declare const InvocationCard: React.MemoExoticComponent<typeof InvocationCardImpl>;
20
- export {};
@@ -1,32 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Render a `user` entry that carries an invocation card (tui-invocation-cards).
4
- *
5
- * Like `UserEntry`, this renders CONTENT only: the role glyph, rail and spacing belong
6
- * to `EntryFrame`, so the card stays "the user's turn" for density, turn counting and
7
- * the settled boundary. The header text comes from `invocationHeaderSegments` and is
8
- * never assembled here (RV-10); the row count it implies is `invocationCardRows`.
9
- */
10
- import React from 'react';
11
- import { Box, Text } from 'ink';
12
- import { pickGlyphs } from '../glyphs.js';
13
- import { invocationHeaderSegments, invocationHiddenText, invocationInputText, } from '../layout/invocation-card.js';
14
- import { GUTTER_WIDTH } from '../layout/Gutter.js';
15
- import { useTerminalSize } from '../layout/useTerminalSize.js';
16
- import { fitCells } from '../layout/cells.js';
17
- function toneColor(tone, theme) {
18
- if (tone === 'label')
19
- return theme.accent;
20
- if (tone === 'name')
21
- return theme.user;
22
- return theme.muted;
23
- }
24
- function InvocationCardImpl({ card, theme, caps, }) {
25
- const glyphs = pickGlyphs(caps);
26
- const { cols } = useTerminalSize();
27
- const usable = Math.max(1, cols - GUTTER_WIDTH);
28
- const header = invocationHeaderSegments(card, glyphs, usable);
29
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { wrap: "truncate", children: header.map((part, index) => (_jsx(Text, { color: toneColor(part.tone, theme), bold: part.bold, children: part.text }, index))) }), card.input !== '' && _jsx(Text, { color: theme.user, children: invocationInputText(card) }), card.inputHidden > 0 && (_jsx(Text, { color: theme.muted, wrap: "truncate", children: invocationHiddenText(card, glyphs) })), card.note !== undefined && card.note !== '' && (_jsx(Text, { color: theme.muted, wrap: "truncate", children: fitCells(card.note, usable, glyphs.ellipsis) }))] }));
30
- }
31
- /** Default comparator: `mapEntry` preserves identity for untouched entries (L2 / R3). */
32
- export const InvocationCard = React.memo(InvocationCardImpl);
@@ -1,27 +0,0 @@
1
- /**
2
- * Render a queued steering message (tui-shift-enter-copy-queue 5.4).
3
- *
4
- * ONE ROW, ALWAYS. `wrap="truncate"` -- the run-status-row width policy, for
5
- * the height-estimate reason DiffView learned the hard way: a queued message
6
- * can be arbitrarily long, and an entry whose wrapped height disagrees with its
7
- * estimate is exactly the one the virtual window never re-measures.
8
- *
9
- * The glyph and the rail belong to `EntryFrame`, exactly as for every other
10
- * entry; this component renders content only.
11
- */
12
- import React from 'react';
13
- import type { Theme } from '../theme.js';
14
- import type { TermCapabilities } from '../capabilities.js';
15
- declare function QueuedEntryImpl({ text, theme, caps, }: {
16
- text: string;
17
- theme: Theme;
18
- caps: TermCapabilities;
19
- }): React.ReactElement;
20
- /**
21
- * `React.memo` with the DEFAULT comparator, like every sibling entry card: the
22
- * reducer rebuilds the entry object only when it changes, and a `queued` entry
23
- * changes exactly twice -- once when appended, once when it is rewritten into a
24
- * `user` entry and stops being this component's problem.
25
- */
26
- export declare const QueuedEntry: React.MemoExoticComponent<typeof QueuedEntryImpl>;
27
- export {};
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Render a queued steering message (tui-shift-enter-copy-queue 5.4).
4
- *
5
- * ONE ROW, ALWAYS. `wrap="truncate"` -- the run-status-row width policy, for
6
- * the height-estimate reason DiffView learned the hard way: a queued message
7
- * can be arbitrarily long, and an entry whose wrapped height disagrees with its
8
- * estimate is exactly the one the virtual window never re-measures.
9
- *
10
- * The glyph and the rail belong to `EntryFrame`, exactly as for every other
11
- * entry; this component renders content only.
12
- */
13
- import React from 'react';
14
- import { Text } from 'ink';
15
- import { pickGlyphs } from '../glyphs.js';
16
- import { expandTabs } from '../display-tab.js';
17
- function QueuedEntryImpl({ text, theme, caps, }) {
18
- const glyphs = pickGlyphs(caps);
19
- const lines = text.split('\n');
20
- // Same reason as `UserEntry`: a queued draft is a draft, so its TABs must
21
- // occupy the columns the composer showed them at.
22
- const first = expandTabs(lines[0] ?? '');
23
- const extra = lines.length - 1;
24
- const suffix = extra > 0 ? ` ${glyphs.ellipsis}+${extra} line${extra === 1 ? '' : 's'}` : '';
25
- return (_jsx(Text, { wrap: "truncate", color: theme.muted, children: `Queue: ${first}${suffix}` }));
26
- }
27
- /**
28
- * `React.memo` with the DEFAULT comparator, like every sibling entry card: the
29
- * reducer rebuilds the entry object only when it changes, and a `queued` entry
30
- * changes exactly twice -- once when appended, once when it is rewritten into a
31
- * `user` entry and stops being this component's problem.
32
- */
33
- export const QueuedEntry = React.memo(QueuedEntryImpl);
@@ -1,56 +0,0 @@
1
- /**
2
- * RetryCard — the one-line retry entry (llm-api-retry-backoff §6.5).
3
- *
4
- * ASCII ONLY: every glyph comes from `pickGlyphs`, and the line itself is built by
5
- * the pure `formatRetryLine` in `agent/retry-view.ts` so it can be asserted
6
- * without a terminal.
7
- *
8
- * ONE LINE. ALWAYS ONE LINE. Ten retries rendered as ten notices would bury the
9
- * transcript in the one moment the user most needs it legible, so this card is
10
- * rewritten in place for the whole turn and settles into a single row of history.
11
- * Amber while in flight, muted once recovered, red once the ladder is exhausted.
12
- */
13
- import React from 'react';
14
- import type { Theme } from '../theme.js';
15
- import type { TermCapabilities } from '../capabilities.js';
16
- import { type RetryPhase } from '../../agent/retry-view.js';
17
- export interface RetryCardProps {
18
- attempt: number;
19
- maxRetries: number;
20
- errorType: string;
21
- phase: RetryPhase;
22
- resumeAt?: number;
23
- totalRetries?: number;
24
- elapsedMs?: number;
25
- /**
26
- * `Date.now()` at render, injected so the component stays testable.
27
- *
28
- * The countdown is recomputed from `resumeAt - now` on every frame; `App` runs a
29
- * 1 Hz tick ONLY while the phase is `waiting`, so an idle session has no timer.
30
- */
31
- now: number;
32
- /**
33
- * Whether Esc would actually be felt. `App` passes `true` only for an
34
- * interactive session, because the hint has to be the truth: the wait is
35
- * signal-aware in `withRetry`, so Esc lands within a frame — but there is no Esc
36
- * in headless mode to promise.
37
- */
38
- interactive?: boolean;
39
- reducedMotion?: boolean;
40
- theme: Theme;
41
- caps: TermCapabilities;
42
- }
43
- /**
44
- * The card's tone. `exhausted` is the only failure: an `interrupted` card records
45
- * a user decision, and colouring that red would blame them for it.
46
- */
47
- export declare function retryCardColor(phase: RetryPhase, theme: Theme): string | undefined;
48
- declare function RetryCardImpl(props: RetryCardProps): React.ReactElement;
49
- /**
50
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
51
- * `mapEntry` preserves object identity for untouched entries, and `theme` / `caps`
52
- * are `useMemo`d in `App.tsx` (I-L2-1). `now` changes once a second while the card
53
- * is waiting, which is exactly when it must re-render.
54
- */
55
- export declare const RetryCard: React.MemoExoticComponent<typeof RetryCardImpl>;
56
- export {};
@@ -1,60 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * RetryCard — the one-line retry entry (llm-api-retry-backoff §6.5).
4
- *
5
- * ASCII ONLY: every glyph comes from `pickGlyphs`, and the line itself is built by
6
- * the pure `formatRetryLine` in `agent/retry-view.ts` so it can be asserted
7
- * without a terminal.
8
- *
9
- * ONE LINE. ALWAYS ONE LINE. Ten retries rendered as ten notices would bury the
10
- * transcript in the one moment the user most needs it legible, so this card is
11
- * rewritten in place for the whole turn and settles into a single row of history.
12
- * Amber while in flight, muted once recovered, red once the ladder is exhausted.
13
- */
14
- import React from 'react';
15
- import { Box, Text } from 'ink';
16
- import Spinner from 'ink-spinner';
17
- import { pickGlyphs } from '../glyphs.js';
18
- import { formatRetryLine } from '../../agent/retry-view.js';
19
- /**
20
- * The card's tone. `exhausted` is the only failure: an `interrupted` card records
21
- * a user decision, and colouring that red would blame them for it.
22
- */
23
- export function retryCardColor(phase, theme) {
24
- if (phase === 'waiting' || phase === 'retrying')
25
- return theme.noticeWarn;
26
- if (phase === 'exhausted')
27
- return theme.noticeError;
28
- return theme.muted;
29
- }
30
- function RetryCardImpl(props) {
31
- const { attempt, maxRetries, errorType, phase, resumeAt, totalRetries, elapsedMs, now,
32
- // DEFAULTS TO TRUE: reaching this component means a TUI is mounted, and the
33
- // TUI always binds Esc to abort. The prop exists so headless-shaped callers
34
- // and the render tests can assert the suppressed form.
35
- interactive = true, reducedMotion, theme, caps, } = props;
36
- const glyphs = pickGlyphs(caps);
37
- const color = retryCardColor(phase, theme);
38
- const inFlight = phase === 'waiting' || phase === 'retrying';
39
- const line = formatRetryLine({
40
- attempt,
41
- maxRetries,
42
- errorType,
43
- phase,
44
- ...(resumeAt !== undefined ? { resumeAt } : {}),
45
- ...(totalRetries !== undefined ? { totalRetries } : {}),
46
- ...(elapsedMs !== undefined ? { elapsedMs } : {}),
47
- }, glyphs, now);
48
- // REDUCED MOTION SUPPRESSES THE SPINNER AND KEEPS THE COUNTDOWN. A frozen number
49
- // is not calmer, it is broken: reduced motion is about animation, and a
50
- // countdown is information.
51
- const animate = inFlight && !reducedMotion && caps.unicode;
52
- return (_jsxs(Box, { flexDirection: "row", children: [animate ? (_jsxs(Text, { color: color, children: [_jsx(Spinner, { type: "dots" }), ' '] })) : null, _jsx(Text, { color: color, wrap: "truncate", children: line }), phase === 'waiting' && interactive && (_jsxs(Text, { color: theme.muted, children: [' ', "Esc to cancel"] }))] }));
53
- }
54
- /**
55
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
56
- * `mapEntry` preserves object identity for untouched entries, and `theme` / `caps`
57
- * are `useMemo`d in `App.tsx` (I-L2-1). `now` changes once a second while the card
58
- * is waiting, which is exactly when it must re-render.
59
- */
60
- export const RetryCard = React.memo(RetryCardImpl);
@@ -1,82 +0,0 @@
1
- /**
2
- * ServiceCard — one supervised background service in the transcript
3
- * (background-service-supervision §3.8).
4
- *
5
- * ASCII ONLY: every glyph comes from `pickGlyphs`. `ui/` is inside
6
- * `glyphs.test.ts::inScope`, so a literal here fails the scan.
7
- *
8
- * NO ANIMATED SPINNER, IN ANY STATE (D-14 / P2-7). That is STRICTER than
9
- * `single-spinner-while-running` D-1, which suppresses animation only while the
10
- * activity line is mounted — and a service can sit at `starting` while the agent
11
- * is IDLE, where D-1's "one owner on screen" argument does not reach because
12
- * there is no owner on screen. A card that animated only when the agent happened
13
- * to be idle would be the worst of both. It uses `glyphs.spinnerStill`
14
- * throughout and still accepts `reducedMotion` for consistency with
15
- * `EntryView`'s comparator.
16
- *
17
- * TWO SHAPES, ONE COMPONENT. `terminal: true` is the one-row record a service's
18
- * exit appends (D-11); everything else is the live card. They share a component
19
- * because they share a colour ladder and a status vocabulary, and splitting them
20
- * would be two places to keep those in step.
21
- */
22
- import React from 'react';
23
- import type { Theme } from '../theme.js';
24
- import type { TermCapabilities } from '../capabilities.js';
25
- import { pickGlyphs } from '../glyphs.js';
26
- import type { JobKind, ServiceStatus } from '../../proc/types.js';
27
- export interface ServiceCardProps {
28
- serviceId: string;
29
- /** `service` or `task`: NOUN ONLY, never a rename of the entry kind (I-2). */
30
- jobKind?: JobKind;
31
- command: string;
32
- status: ServiceStatus;
33
- url?: string;
34
- port?: number;
35
- exitCode: number | null;
36
- startedAt: number;
37
- readyAt?: number;
38
- endedAt?: number;
39
- rows: readonly string[];
40
- /** The one-row record a terminal transition appends. */
41
- terminal?: boolean;
42
- killIncomplete?: boolean;
43
- expanded?: boolean;
44
- /** The extracted progress line, one row, already clipped by the supervisor. */
45
- progress?: string;
46
- /** Silence past `jobs.stallSeconds` - a muted badge, never an action. */
47
- stalled?: boolean;
48
- /** When output last arrived; with `nowSec` it renders `no output 6m02s`. */
49
- lastOutputAt?: number;
50
- /**
51
- * The transcript's 1 Hz clock (D-8).
52
- *
53
- * ONE CLOCK FOR EVERYTHING. A per-card `setInterval` would be one timer per job,
54
- * and the transcript's comparator already includes `nowSec`, so the live elapsed
55
- * figure and the `no output` figure update for free.
56
- */
57
- nowSec?: number;
58
- /** Accepted for comparator consistency; this card never animates (D-14). */
59
- reducedMotion?: boolean;
60
- theme: Theme;
61
- caps: TermCapabilities;
62
- }
63
- /**
64
- * The card's colour.
65
- *
66
- * `running` is `toolRunning` rather than the accent: it is alive and listening
67
- * on nothing, which is a real third state and not a lesser `ready`. A clean
68
- * `exited(0)` is muted, because a command that finished on purpose is not a
69
- * failure.
70
- */
71
- export declare function serviceCardColor(props: Pick<ServiceCardProps, 'status' | 'exitCode'>, theme: Theme): string | undefined;
72
- /** The status glyph, by the same ladder as the colour. */
73
- export declare function serviceGlyph(props: Pick<ServiceCardProps, 'status' | 'exitCode'>, glyphs: ReturnType<typeof pickGlyphs>): string;
74
- declare function ServiceCardImpl(props: ServiceCardProps): React.ReactElement;
75
- /**
76
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
77
- * `mapEntry` already preserves object identity for untouched entries, so the
78
- * props below are stable references on a settled card, and `theme` / `caps` are
79
- * `useMemo`d in `App.tsx` (I-L2-1).
80
- */
81
- export declare const ServiceCard: React.MemoExoticComponent<typeof ServiceCardImpl>;
82
- export {};
@@ -1,151 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * ServiceCard — one supervised background service in the transcript
4
- * (background-service-supervision §3.8).
5
- *
6
- * ASCII ONLY: every glyph comes from `pickGlyphs`. `ui/` is inside
7
- * `glyphs.test.ts::inScope`, so a literal here fails the scan.
8
- *
9
- * NO ANIMATED SPINNER, IN ANY STATE (D-14 / P2-7). That is STRICTER than
10
- * `single-spinner-while-running` D-1, which suppresses animation only while the
11
- * activity line is mounted — and a service can sit at `starting` while the agent
12
- * is IDLE, where D-1's "one owner on screen" argument does not reach because
13
- * there is no owner on screen. A card that animated only when the agent happened
14
- * to be idle would be the worst of both. It uses `glyphs.spinnerStill`
15
- * throughout and still accepts `reducedMotion` for consistency with
16
- * `EntryView`'s comparator.
17
- *
18
- * TWO SHAPES, ONE COMPONENT. `terminal: true` is the one-row record a service's
19
- * exit appends (D-11); everything else is the live card. They share a component
20
- * because they share a colour ladder and a status vocabulary, and splitting them
21
- * would be two places to keep those in step.
22
- */
23
- import React from 'react';
24
- import { Box, Text } from 'ink';
25
- import { pickGlyphs } from '../glyphs.js';
26
- import { railBorderProps } from '../layout/Gutter.js';
27
- import { formatDuration } from '../../agent/usage.js';
28
- /** Tail rows the collapsed card draws. Mirrored as a NUMBER in `virtual-window.ts`. */
29
- const COLLAPSED_TAIL_ROWS = 2;
30
- /** Tail rows the expanded card draws — the snapshot's own cap. */
31
- const EXPANDED_TAIL_ROWS = 8;
32
- /**
33
- * The card's colour.
34
- *
35
- * `running` is `toolRunning` rather than the accent: it is alive and listening
36
- * on nothing, which is a real third state and not a lesser `ready`. A clean
37
- * `exited(0)` is muted, because a command that finished on purpose is not a
38
- * failure.
39
- */
40
- export function serviceCardColor(props, theme) {
41
- switch (props.status) {
42
- case 'starting':
43
- return theme.muted;
44
- case 'ready':
45
- return theme.accent;
46
- case 'running':
47
- return theme.toolRunning;
48
- case 'failed':
49
- return theme.toolError;
50
- case 'exited':
51
- return props.exitCode === 0 ? theme.muted : theme.toolError;
52
- case 'stopped':
53
- return theme.muted;
54
- default:
55
- return theme.muted;
56
- }
57
- }
58
- /** The status glyph, by the same ladder as the colour. */
59
- export function serviceGlyph(props, glyphs) {
60
- switch (props.status) {
61
- case 'starting':
62
- return glyphs.toolPending;
63
- case 'ready':
64
- return glyphs.toolDone;
65
- case 'running':
66
- return glyphs.toolRunning;
67
- case 'failed':
68
- return glyphs.toolError;
69
- case 'exited':
70
- return props.exitCode === 0 ? glyphs.toolDone : glyphs.toolError;
71
- case 'stopped':
72
- return glyphs.toolPending;
73
- default:
74
- return glyphs.toolPending;
75
- }
76
- }
77
- /** The right-hand status clause: what happened, and how long it took. */
78
- function statusClause(props, dot) {
79
- const { status, exitCode, startedAt, readyAt, endedAt } = props;
80
- if (status === 'ready') {
81
- const took = readyAt === undefined ? '' : `${dot}${formatDuration(readyAt - startedAt)}`;
82
- return `ready${took}`;
83
- }
84
- // A LIVE JOB SHOWS ITS ELAPSED TIME (D-8), because a task's whole story is
85
- // "how long has this been going". The number comes from the transcript's 1 Hz
86
- // `nowSec`; without it the card falls back to the spawn time and reads `0ms`,
87
- // which is honest about never having been ticked rather than wrong about it.
88
- if (status === 'running') {
89
- // NO CLOCK, NO FIGURE. Falling back to `startedAt` would print `0ms` on every
90
- // settled frame, which reads as "it just started" - a wrong number rather than
91
- // an absent one.
92
- if (props.nowSec === undefined)
93
- return 'running';
94
- const elapsed = Math.max(0, props.nowSec * 1000 - startedAt);
95
- return `running${dot}${formatDuration(elapsed)}`;
96
- }
97
- if (status === 'starting')
98
- return 'starting';
99
- const lived = endedAt === undefined ? '' : `${dot}${formatDuration(endedAt - startedAt)}`;
100
- if (status === 'stopped')
101
- return `stopped${lived}`;
102
- if (status === 'failed')
103
- return `failed${lived}`;
104
- return `exited${exitCode === null ? '' : ` code ${exitCode}`}${lived}`;
105
- }
106
- /**
107
- * The progress row, or `undefined` when there is nothing to draw.
108
- *
109
- * STALLED OUTRANKS PROGRESS: "no output for 6m" is the more urgent of the two
110
- * facts, and drawing both would cost a second row the height estimator does not
111
- * know about. The `no output` figure needs `nowSec`; without it the badge is
112
- * omitted rather than printed with a wrong number.
113
- */
114
- function progressRow(props) {
115
- if (props.stalled === true) {
116
- if (props.nowSec === undefined || props.lastOutputAt === undefined) {
117
- return { text: 'no output', stalled: true };
118
- }
119
- const quiet = Math.max(0, props.nowSec * 1000 - props.lastOutputAt);
120
- return { text: `no output ${formatDuration(quiet)}`, stalled: true };
121
- }
122
- if (props.progress)
123
- return { text: props.progress, stalled: false };
124
- return undefined;
125
- }
126
- function ServiceCardImpl(props) {
127
- const { serviceId, command, url, rows, expanded, terminal, theme, caps } = props;
128
- const glyphs = pickGlyphs(caps);
129
- const color = serviceCardColor(props, theme);
130
- const dot = ` ${glyphs.midDot} `;
131
- const clause = statusClause(props, dot);
132
- // THE NOUN, NOT THE KIND: `task t1` and `service s1` are the same component
133
- // drawing two kinds of job, and every id keeps its existing prefix (I-2).
134
- const noun = props.jobKind === 'task' ? 'task' : 'service';
135
- // THE TERMINAL RECORD IS ONE ROW, ALWAYS. It is a SECOND event at a SECOND
136
- // time — the only thing `<Static>` permits once the live card is printed — so
137
- // it names what happened and nothing else (D-11).
138
- if (terminal) {
139
- return (_jsx(Box, { flexDirection: "row", children: _jsxs(Text, { color: color, wrap: "truncate", children: [noun, " ", serviceId, " ", clause, props.killIncomplete ? ' (may have left a detached child)' : ''] }) }));
140
- }
141
- const shown = rows.slice(-(expanded ? EXPANDED_TAIL_ROWS : COLLAPSED_TAIL_ROWS));
142
- const progress = progressRow(props);
143
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: theme.accent, bold: true, children: [noun, " ", serviceId] }), _jsxs(Text, { color: theme.muted, wrap: "truncate", children: [' ', command] }), _jsxs(Text, { color: color, wrap: "truncate", children: [dot, clause] })] }), progress !== undefined && (_jsx(Box, { flexDirection: "row", flexShrink: 0, paddingLeft: 1, children: _jsx(Text, { color: progress.stalled ? theme.noticeWarn : theme.muted, wrap: "truncate", children: progress.stalled ? progress.text : `[progress] ${progress.text}` }) })), url !== undefined && (_jsxs(Box, { flexDirection: "row", flexShrink: 0, paddingLeft: 1, children: [_jsx(Text, { color: theme.primary, children: url }), _jsxs(Text, { color: theme.muted, children: [dot, "ctrl+c stop", dot, "ctrl+o log"] })] })), shown.length > 0 && (_jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, theme.border), children: shown.map((line, index) => (_jsx(Text, { color: theme.muted, wrap: "truncate", children: line }, index))) }))] }));
144
- }
145
- /**
146
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
147
- * `mapEntry` already preserves object identity for untouched entries, so the
148
- * props below are stable references on a settled card, and `theme` / `caps` are
149
- * `useMemo`d in `App.tsx` (I-L2-1).
150
- */
151
- export const ServiceCard = React.memo(ServiceCardImpl);
@@ -1,55 +0,0 @@
1
- /**
2
- * TeamCard — the settled-dispatch transcript entry (team-subagents §6.3).
3
- *
4
- * ASCII ONLY: every glyph comes from `pickGlyphs`.
5
- *
6
- * The panel is EPHEMERAL and this card is the HISTORY. It renders like a
7
- * `ToolCard` — same `EntryFrame` supplied by `EntryView`, same left rail for the
8
- * expanded body — so a dispatch reads as one more step in the transcript rather
9
- * than a second kind of object.
10
- *
11
- * `Ctrl+O` expands it to the per-agent summaries, which is why `App.tsx`'s
12
- * Ctrl+O finder had to widen from `kind === 'tool'` to `tool || team`.
13
- */
14
- import React from 'react';
15
- import type { Theme } from '../theme.js';
16
- import type { TermCapabilities } from '../capabilities.js';
17
- import type { SubagentRun } from '../../team/types.js';
18
- import { type RosterCounts } from '../team-status.js';
19
- export interface TeamCardProps {
20
- requested: number;
21
- runs: SubagentRun[];
22
- aborted: boolean;
23
- durationMs?: number;
24
- active: boolean;
25
- expanded?: boolean;
26
- reducedMotion?: boolean;
27
- theme: Theme;
28
- caps: TermCapabilities;
29
- /**
30
- * Wall-clock seconds, set only while the dispatch is live (`nowSecFor`). WITHOUT
31
- * IT a running child's elapsed time came from `(endedAt ?? 0) - startedAt` - a
32
- * negative number clamped to `0ms`, the readout that contradicted the roster
33
- * beside it (A-1 / E4).
34
- */
35
- nowSec?: number;
36
- }
37
- /**
38
- * The card's aggregate colour.
39
- *
40
- * FAILURES DOMINATE, THEN A CANCELLATION, THEN A DISPATCH THAT NEVER SETTLED.
41
- * The old version asked `runs.some((r) => !isOk(r))`, so an entry whose children
42
- * were still working - and one the user had cancelled - was painted `toolError`
43
- * (A-1 / E8). `RosterCounts` is passed IN rather than recomputed, so this colour
44
- * and the headline cannot disagree inside one card.
45
- */
46
- export declare function teamCardColor(counts: RosterCounts, active: boolean, aborted: boolean, theme: Theme): string | undefined;
47
- declare function TeamCardImpl(props: TeamCardProps): React.ReactElement;
48
- /**
49
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
50
- * `mapEntry` already preserves object identity for untouched entries, so the
51
- * array props below are stable references on a settled card, and `theme` /
52
- * `caps` are `useMemo`d in `App.tsx` (I-L2-1).
53
- */
54
- export declare const TeamCard: React.MemoExoticComponent<typeof TeamCardImpl>;
55
- export {};
@@ -1,94 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * TeamCard — the settled-dispatch transcript entry (team-subagents §6.3).
4
- *
5
- * ASCII ONLY: every glyph comes from `pickGlyphs`.
6
- *
7
- * The panel is EPHEMERAL and this card is the HISTORY. It renders like a
8
- * `ToolCard` — same `EntryFrame` supplied by `EntryView`, same left rail for the
9
- * expanded body — so a dispatch reads as one more step in the transcript rather
10
- * than a second kind of object.
11
- *
12
- * `Ctrl+O` expands it to the per-agent summaries, which is why `App.tsx`'s
13
- * Ctrl+O finder had to widen from `kind === 'tool'` to `tool || team`.
14
- */
15
- import React from 'react';
16
- import { Box, Text } from 'ink';
17
- import Spinner from 'ink-spinner';
18
- import { pickGlyphs } from '../glyphs.js';
19
- import { railBorderProps } from '../layout/Gutter.js';
20
- import { formatDuration } from '../../agent/usage.js';
21
- import { childElapsedMs, childStatus, outcomePhrase, rosterCounts, statusColor, statusMarkerCell, } from '../team-status.js';
22
- /**
23
- * The card's aggregate colour.
24
- *
25
- * FAILURES DOMINATE, THEN A CANCELLATION, THEN A DISPATCH THAT NEVER SETTLED.
26
- * The old version asked `runs.some((r) => !isOk(r))`, so an entry whose children
27
- * were still working - and one the user had cancelled - was painted `toolError`
28
- * (A-1 / E8). `RosterCounts` is passed IN rather than recomputed, so this colour
29
- * and the headline cannot disagree inside one card.
30
- */
31
- export function teamCardColor(counts, active, aborted, theme) {
32
- if (active)
33
- return theme.toolRunning;
34
- if (counts.failed > 0)
35
- return theme.toolError;
36
- if (aborted || counts.aborted > 0 || counts.queued > 0 || counts.running > 0) {
37
- return theme.noticeWarn;
38
- }
39
- return theme.toolDone;
40
- }
41
- /** `nowSec` is seconds (`App`'s 1 Hz clock); a card measures in milliseconds. */
42
- function liveClockMs(nowSec) {
43
- return nowSec === undefined ? Date.now() : nowSec * 1000;
44
- }
45
- /**
46
- * The elapsed column for one child: a MEASUREMENT, or an empty cell.
47
- *
48
- * `liveNow` is defined only while the dispatch is live, and that distinction is the
49
- * whole point. A child restored by `/resume` keeps its `startedAt` and has no
50
- * `endedAt` - `session/persist.ts` settles the ENTRY, it does not invent an end time
51
- * for the run - so a figure computed against `Date.now()` would claim hours of work
52
- * that never happened, next to an `interrupted (session resumed)` headline that says
53
- * the opposite. An unmeasurable duration is left blank instead.
54
- */
55
- function elapsedCell(run, liveNow) {
56
- const end = run.endedAt ?? liveNow;
57
- if (run.startedAt === undefined || end === undefined)
58
- return '';
59
- return formatDuration(childElapsedMs(run, end));
60
- }
61
- function TeamCardImpl(props) {
62
- const { requested, runs, aborted, durationMs, active, expanded, reducedMotion, theme, caps } = props;
63
- const glyphs = pickGlyphs(caps);
64
- // ONE COUNTING AUTHORITY (A-1): `ok`/`failed` used to be `isOk(...)` and
65
- // `runs.length - ok`, which counted a cancelled child - and a still-working one -
66
- // as a failed one (E3 / E8).
67
- const counts = rosterCounts(runs);
68
- const color = teamCardColor(counts, active, aborted, theme);
69
- // A CLOCK ONLY WHILE THE DISPATCH IS LIVE: a settled card has nothing left to time,
70
- // and a clock in the settled path is how a resumed dispatch came to read like a run
71
- // that is still going (`elapsedCell`).
72
- const liveNow = active ? liveClockMs(props.nowSec) : undefined;
73
- // A dispatch entry restored from `/resume` is settled and aborted but has no
74
- // duration: nothing measured it, because the process it belonged to is gone.
75
- // Saying so plainly beats rendering `0.0s (0 ok, 3 failed)`, which reads like
76
- // a dispatch that ran and lost (§5.3 / P1-5).
77
- const interrupted = !active && aborted && durationMs === undefined;
78
- const headline = interrupted
79
- ? 'interrupted (session resumed)'
80
- : active
81
- ? `${counts.queued + counts.running} running`
82
- : `${formatDuration(durationMs ?? 0)} (${outcomePhrase(counts)})`;
83
- const count = `${runs.length} ${runs.length === 1 ? 'subagent' : 'subagents'}`;
84
- const dropped = requested > runs.length ? ` (${runs.length} of ${requested} requested)` : '';
85
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.accent, bold: true, children: "team" }), _jsxs(Text, { color: theme.muted, children: [' ', count, dropped, ' '] }), active && !reducedMotion && caps.unicode ? (_jsxs(Text, { color: color, children: [_jsx(Spinner, { type: "dots" }), " ", headline] })) : (_jsxs(Text, { color: color, children: [active ? `${glyphs.spinnerStill} ` : '', headline] }))] }), _jsxs(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, theme.border), children: [runs.map((run) => (_jsxs(Text, { wrap: "truncate", children: [_jsx(Text, { color: statusColor(childStatus(run), theme), children: statusMarkerCell(childStatus(run), glyphs) }), _jsxs(Text, { color: theme.primary, children: [' ', run.label.padEnd(8).slice(0, 8)] }), _jsxs(Text, { color: theme.muted, children: [' ', run.description, ' ', elapsedCell(run, liveNow), ` ${run.turns} turns`, run.filesTouched.length > 0 ? ` ${run.filesTouched.length} files` : '', run.error ? ` ${run.error}` : ''] }), run.retry && (_jsxs(Text, { color: theme.noticeWarn, bold: true, children: [' ', "retry ", run.retry.attempt, "/", run.retry.maxRetries] }))] }, run.label))), expanded &&
86
- runs.map((run) => (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: theme.accent, children: [run.label, " ", glyphs.midDot, " ", run.description] }), _jsx(Text, { color: theme.muted, children: run.summary ?? '(no summary)' })] }, `s-${run.label}`))), !expanded && !active && runs.length > 0 && (_jsxs(Text, { color: theme.muted, children: ["+", runs.length, " ", runs.length === 1 ? 'summary' : 'summaries', " (Ctrl+O)"] })), expanded && _jsx(Text, { color: theme.muted, children: "(Ctrl+O to collapse)" })] })] }));
87
- }
88
- /**
89
- * `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
90
- * `mapEntry` already preserves object identity for untouched entries, so the
91
- * array props below are stable references on a settled card, and `theme` /
92
- * `caps` are `useMemo`d in `App.tsx` (I-L2-1).
93
- */
94
- export const TeamCard = React.memo(TeamCardImpl);