@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,104 +0,0 @@
1
- /**
2
- * The selection controller (tui-selection-and-scroll-follow §4.4). NON-REACT: it
3
- * owns the mouse lifecycle, the 16 ms drag coalescer, the `decorate` hook and
4
- * the released-selection state Ctrl+C consumes, and it reaches the React tree
5
- * only through the callbacks `App` registers on mount.
6
- *
7
- * WHY IT IS NOT A COMPONENT (D-6). A React re-render per motion report goes
8
- * through the render governor and the whole component tree; the frame pipeline
9
- * repaints one to three rows with no commit at all. A fast drag across 40 columns
10
- * therefore costs about three repaints of a few rows each, not forty full frames.
11
- *
12
- * THREE THINGS IN HERE FAIL SILENTLY AND PERMANENTLY IF DROPPED:
13
- *
14
- * - **I-11 · `hold` must always have a way out.** A press with no matching
15
- * release freezes the viewport for the rest of the session: content anchoring
16
- * never lets go, the resume timer's third condition never passes, and nothing
17
- * is raised anywhere. Three ways to never get a release — the button comes up
18
- * while the terminal does not have focus, the emulator swallows it, or the
19
- * terminal fell back to X10, whose reports cannot express a release at all.
20
- * So `hold` is released by a `release` report, by `clear()`, OR by the
21
- * `holdMaxMs` watchdog, and the parser refuses to emit buttons from X10.
22
- * - **I-9 · a highlight that survives the rows moving is a lie about what would
23
- * be copied.** `App` clears on `shiftUp` change — the DERIVED form, which a
24
- * new way to move the viewport cannot forget to join — and additionally on
25
- * key, resize, overlay and `differ.invalidate()`.
26
- * - **I-4 · the highlight and the copy read the SAME mirror**, written by the
27
- * same `decorate` call. What you see is what you get by construction, rather
28
- * than by a staleness check that can be wrong.
29
- */
30
- import type { MouseSource } from '../../input/stdin-filter.js';
31
- import type { CopyResult } from '../clipboard.js';
32
- import type { Theme } from '../theme.js';
33
- import type { TermCapabilities } from '../capabilities.js';
34
- /**
35
- * How long a nominally-held button may sit MOTIONLESS before the watchdog lets
36
- * go of it (I-11). Reset by every motion report, so it only fires when the
37
- * pointer has not moved for the whole window — which is indistinguishable from a
38
- * lost release, and the failure it prevents is unrecoverable while the one it
39
- * risks costs a re-drag (R-12).
40
- */
41
- export declare const DEFAULT_HOLD_MAX_MS = 30000;
42
- export interface SelectionControllerOptions {
43
- source: MouseSource;
44
- /**
45
- * Ask the frame writer to re-paint. Returns whether anything reached the
46
- * screen; `false` means the differ had no cache to diff against, and the
47
- * caller falls back to `requestRedraw`.
48
- */
49
- repaint: () => boolean;
50
- /** `App`'s `redrawNonce`, for the invalidated case (§4.4.3). */
51
- requestRedraw: () => void;
52
- theme: () => Theme;
53
- caps: TermCapabilities;
54
- /** Terminal width, for the right edge of a multi-row highlight. */
55
- cols: () => number;
56
- /** Static half of the gate: full-screen and `mouseSelect`. */
57
- isSelectable?: () => boolean;
58
- /** I-11. Default 30_000; `0` disables the watchdog (tests). */
59
- holdMaxMs?: number;
60
- }
61
- export interface SelectionController {
62
- /** Feed to `createFrameDiffer({ decorate })`. Mirrors, then paints. */
63
- decorate(lines: string[]): string[];
64
- /**
65
- * Whether a RELEASED, non-empty selection is waiting for Ctrl+C
66
- * (tui-shift-enter-copy-queue 4.2). Dragging does not count: the gesture
67
- * is not finished, and a copy key pressed mid-drag must fall through to
68
- * whatever it meant before this feature.
69
- */
70
- hasPendingSelection(): boolean;
71
- /**
72
- * Take the pending selection: returns its text and line count, and clears
73
- * the highlight, the settled state and the hold. `null` when nothing is
74
- * pending. The caller owns the copy itself (`copyText` is the single
75
- * clipboard path) and MUST take BEFORE copying: OSC 52 writes through
76
- * `writeForeign`, the differ invalidates, and its `onInvalidate` clears
77
- * this controller -- taking first makes that clear a no-op (4.3 / R7).
78
- */
79
- takeSelection(): {
80
- text: string;
81
- lines: number;
82
- } | null;
83
- /** Subscribe to `hold` transitions; `App` mirrors this into React state. */
84
- onHoldChange(listener: (hold: boolean) => void): () => void;
85
- /** Called by `App` for key / resize / overlay / clear, and by `onInvalidate`. */
86
- clear(): void;
87
- /** The dynamic half of the gate: `App` closes it while an overlay is open. */
88
- setEnabled(enabled: boolean): void;
89
- dispose(): void;
90
- }
91
- /**
92
- * The seam between the non-React controller and the React tree.
93
- *
94
- * SAME SHAPE AS `UpdateBridge` (`cli.tsx`), and for the same reason: the
95
- * controller is constructed before `render()` and must not hold React state,
96
- * while the toast sink and the redraw nonce only exist once `App` has mounted.
97
- * `App` assigns both fields in an effect and clears them on unmount.
98
- */
99
- export interface SelectionBridge {
100
- controller: SelectionController | null;
101
- onCopied: ((result: CopyResult, lines: number, chars: number) => void) | null;
102
- requestRedraw: (() => void) | null;
103
- }
104
- export declare function createSelectionController(options: SelectionControllerOptions): SelectionController;
@@ -1,372 +0,0 @@
1
- /**
2
- * The selection controller (tui-selection-and-scroll-follow §4.4). NON-REACT: it
3
- * owns the mouse lifecycle, the 16 ms drag coalescer, the `decorate` hook and
4
- * the released-selection state Ctrl+C consumes, and it reaches the React tree
5
- * only through the callbacks `App` registers on mount.
6
- *
7
- * WHY IT IS NOT A COMPONENT (D-6). A React re-render per motion report goes
8
- * through the render governor and the whole component tree; the frame pipeline
9
- * repaints one to three rows with no commit at all. A fast drag across 40 columns
10
- * therefore costs about three repaints of a few rows each, not forty full frames.
11
- *
12
- * THREE THINGS IN HERE FAIL SILENTLY AND PERMANENTLY IF DROPPED:
13
- *
14
- * - **I-11 · `hold` must always have a way out.** A press with no matching
15
- * release freezes the viewport for the rest of the session: content anchoring
16
- * never lets go, the resume timer's third condition never passes, and nothing
17
- * is raised anywhere. Three ways to never get a release — the button comes up
18
- * while the terminal does not have focus, the emulator swallows it, or the
19
- * terminal fell back to X10, whose reports cannot express a release at all.
20
- * So `hold` is released by a `release` report, by `clear()`, OR by the
21
- * `holdMaxMs` watchdog, and the parser refuses to emit buttons from X10.
22
- * - **I-9 · a highlight that survives the rows moving is a lie about what would
23
- * be copied.** `App` clears on `shiftUp` change — the DERIVED form, which a
24
- * new way to move the viewport cannot forget to join — and additionally on
25
- * key, resize, overlay and `differ.invalidate()`.
26
- * - **I-4 · the highlight and the copy read the SAME mirror**, written by the
27
- * same `decorate` call. What you see is what you get by construction, rather
28
- * than by a staleness check that can be wrong.
29
- */
30
- import stripAnsi from 'strip-ansi';
31
- import { createScreenMirror } from './screen-mirror.js';
32
- import { paintRow, selectionOpen } from './highlight.js';
33
- import { isEmpty, normalize, rowSpan, selectedText, sliceColumns, } from './selection.js';
34
- /**
35
- * Motion coalescing window. The same 16 ms and the same reasoning as
36
- * `use-wheel-routing.ts`: this one is in the direct path of a hand gesture, so
37
- * it is deliberately tighter than the 33 ms streaming coalescer.
38
- */
39
- const DRAG_COALESCE_MS = 16;
40
- /**
41
- * How long a nominally-held button may sit MOTIONLESS before the watchdog lets
42
- * go of it (I-11). Reset by every motion report, so it only fires when the
43
- * pointer has not moved for the whole window — which is indistinguishable from a
44
- * lost release, and the failure it prevents is unrecoverable while the one it
45
- * risks costs a re-drag (R-12).
46
- */
47
- export const DEFAULT_HOLD_MAX_MS = 30_000;
48
- function clamp(value, min, max) {
49
- if (!Number.isFinite(value))
50
- return min;
51
- return Math.min(max, Math.max(min, Math.floor(value)));
52
- }
53
- export function createSelectionController(options) {
54
- const mirror = createScreenMirror();
55
- const holdListeners = new Set();
56
- const holdMaxMs = options.holdMaxMs ?? DEFAULT_HOLD_MAX_MS;
57
- const isSelectable = options.isSelectable ?? (() => true);
58
- let enabled = true;
59
- let sel = null;
60
- let dragging = false;
61
- /** A released, non-empty selection is waiting for Ctrl+C (4.2.1). */
62
- let settled = false;
63
- /** Mirror of the last `hold` emitted, so exits can be conditional. */
64
- let holdActive = false;
65
- let pendingFocus = null;
66
- let flushTimer = null;
67
- let holdWatchdog = null;
68
- let disposed = false;
69
- /** Guards `decorate` against being re-entered from inside a repaint. */
70
- let painting = false;
71
- let notifiedHold = false;
72
- let holdNotificationPending = false;
73
- const notifyHold = () => {
74
- if (disposed || notifiedHold === holdActive)
75
- return;
76
- notifiedHold = holdActive;
77
- for (const listener of [...holdListeners])
78
- listener(holdActive);
79
- };
80
- const emitHold = (hold) => {
81
- holdActive = hold;
82
- if (!painting) {
83
- notifyHold();
84
- return;
85
- }
86
- if (holdNotificationPending)
87
- return;
88
- holdNotificationPending = true;
89
- queueMicrotask(() => {
90
- holdNotificationPending = false;
91
- notifyHold();
92
- });
93
- };
94
- const clearFlushTimer = () => {
95
- if (!flushTimer)
96
- return;
97
- clearTimeout(flushTimer);
98
- flushTimer = null;
99
- };
100
- const clearWatchdog = () => {
101
- if (!holdWatchdog)
102
- return;
103
- clearTimeout(holdWatchdog);
104
- holdWatchdog = null;
105
- };
106
- /**
107
- * `0` disables it, which is what the tests that are not about it use. Every
108
- * motion report re-arms it, so the window measures STILLNESS rather than the
109
- * duration of the drag (R-12).
110
- */
111
- const armWatchdog = () => {
112
- clearWatchdog();
113
- if (holdMaxMs <= 0)
114
- return;
115
- holdWatchdog = setTimeout(() => {
116
- holdWatchdog = null;
117
- if (!dragging)
118
- return;
119
- clear();
120
- }, holdMaxMs);
121
- holdWatchdog.unref?.();
122
- };
123
- /**
124
- * Repaint, falling back to a React redraw when the differ has no cache.
125
- *
126
- * `wanted` says whether something must APPEAR on screen. Clearing a highlight
127
- * after an `invalidate()` needs no fallback — the raw frame is already on the
128
- * screen without it — and asking for one there would turn every resize and
129
- * every foreign write into a redraw nonce bump.
130
- */
131
- const paint = (wanted) => {
132
- if (disposed)
133
- return;
134
- const painted = options.repaint();
135
- if (!painted && wanted)
136
- options.requestRedraw();
137
- };
138
- const clearState = () => {
139
- // Nothing to undo: no timers, no repaint, no redraw. This is what keeps
140
- // `onInvalidate` — which fires on every resize and every foreign write —
141
- // free for a session that has never selected anything.
142
- if (sel === null && !dragging && pendingFocus === null && !settled)
143
- return;
144
- sel = null;
145
- dragging = false;
146
- settled = false;
147
- pendingFocus = null;
148
- clearFlushTimer();
149
- clearWatchdog();
150
- // `holdActive`, not `wasDragging`: since tui-shift-enter-copy-queue a
151
- // RELEASED selection also holds the viewport (4.2.3), so this is the
152
- // exit for two states, not one.
153
- if (holdActive)
154
- emitHold(false);
155
- };
156
- const clear = () => {
157
- const hadSelection = sel !== null || holdActive;
158
- clearState();
159
- if (hadSelection)
160
- paint(false);
161
- };
162
- const cellOf = (event) => {
163
- // SGR reports are 1-based, frame line `i` is terminal row `i + 1`. A report
164
- // from a terminal that resized mid-drag must not index past the mirror.
165
- const rows = Math.max(1, mirror.raw.length);
166
- const cols = Math.max(1, options.cols());
167
- return { row: clamp(event.y - 1, 0, rows - 1), col: clamp(event.x - 1, 0, cols - 1) };
168
- };
169
- const flushDrag = () => {
170
- clearFlushTimer();
171
- const focus = pendingFocus;
172
- pendingFocus = null;
173
- if (!focus || !sel)
174
- return;
175
- sel = { anchor: sel.anchor, focus };
176
- paint(true);
177
- };
178
- const finishSelection = () => {
179
- if (!sel) {
180
- emitHold(false);
181
- return;
182
- }
183
- const normal = normalize(sel);
184
- if (isEmpty(normal)) {
185
- // A plain click. It must never leave a one-cell highlight behind, and
186
- // it must never clobber the clipboard.
187
- sel = null;
188
- settled = false;
189
- emitHold(false);
190
- paint(false);
191
- return;
192
- }
193
- if (selectedText(mirror.plain, normal).length === 0) {
194
- // Geometry without content (blank cells): nothing honest to promise a
195
- // later Ctrl+C, so this is the same no-op a click is.
196
- sel = null;
197
- settled = false;
198
- emitHold(false);
199
- paint(false);
200
- return;
201
- }
202
- // RELEASED AND NON-EMPTY: the highlight STAYS and so does the hold
203
- // (4.2.1 / 4.2.3). The highlight is the promise of what Ctrl+C will
204
- // copy -- not a receipt for a copy that already happened -- and the
205
- // hold keeps the rows under it frozen until that promise resolves,
206
- // which is what lets "what you see is what you get" survive a
207
- // streaming run. The watchdog is NOT re-armed: the release already
208
- // happened, and the frozen state has explicit exits (Ctrl+C, any other
209
- // key, resize, overlay, /mouse off).
210
- settled = true;
211
- paint(true);
212
- options.requestRedraw();
213
- };
214
- const onMouse = (event) => {
215
- if (disposed)
216
- return;
217
- if (event.kind === 'wheel') {
218
- // A wheel notch during a drag is a user changing their mind, not extending
219
- // a selection — N1 already declines auto-scroll-while-dragging. The notch
220
- // then scrolls normally, because the wheel router is a separate subscriber
221
- // on the same channel.
222
- clear();
223
- return;
224
- }
225
- if (event.kind === 'press') {
226
- if (event.button !== 0 || !enabled || !isSelectable()) {
227
- // Any other button, or a closed gate: drop whatever was selected and do
228
- // nothing else. A right-click that left a stale highlight behind would be
229
- // the same false promise I-9 forbids.
230
- clear();
231
- return;
232
- }
233
- const cell = cellOf(event);
234
- settled = false;
235
- sel = { anchor: cell, focus: cell };
236
- pendingFocus = null;
237
- clearFlushTimer();
238
- dragging = true;
239
- emitHold(true); // freezes the transcript for the duration of the drag
240
- armWatchdog();
241
- paint(true);
242
- return;
243
- }
244
- if (event.kind === 'drag') {
245
- if (!dragging || event.button !== 0 || !sel)
246
- return;
247
- pendingFocus = cellOf(event);
248
- armWatchdog();
249
- if (!flushTimer) {
250
- flushTimer = setTimeout(flushDrag, DRAG_COALESCE_MS);
251
- flushTimer.unref?.();
252
- }
253
- return;
254
- }
255
- // release
256
- if (!dragging)
257
- return;
258
- if (pendingFocus && sel)
259
- sel = { anchor: sel.anchor, focus: pendingFocus };
260
- pendingFocus = null;
261
- clearFlushTimer();
262
- clearWatchdog();
263
- dragging = false;
264
- // `finishSelection` decides the hold: a non-empty release KEEPS it
265
- // (4.2.3) so the pending selection cannot be pushed off screen; every
266
- // empty path releases it there.
267
- finishSelection();
268
- };
269
- const unsubscribe = options.source.subscribe(onMouse);
270
- const selectedCellsChanged = (lines) => {
271
- if (!settled || !sel)
272
- return false;
273
- const normal = normalize(sel);
274
- for (let row = normal.start.row; row <= normal.end.row; row += 1) {
275
- const span = rowSpan(normal, row);
276
- if (!span)
277
- continue;
278
- const before = sliceColumns(stripAnsi(mirror.raw[row] ?? ''), span.from, span.to);
279
- const after = sliceColumns(stripAnsi(lines[row] ?? ''), span.from, span.to);
280
- if (before !== after)
281
- return true;
282
- }
283
- return false;
284
- };
285
- return {
286
- decorate(lines) {
287
- if (painting || disposed)
288
- return lines;
289
- painting = true;
290
- try {
291
- if (selectedCellsChanged(lines))
292
- clearState();
293
- mirror.set(lines);
294
- if (sel === null)
295
- return lines;
296
- const normal = normalize(sel);
297
- if (isEmpty(normal))
298
- return lines;
299
- const open = selectionOpen(options.theme(), options.caps);
300
- const cols = Math.max(1, options.cols());
301
- const out = lines.slice();
302
- for (let row = normal.start.row; row <= normal.end.row; row += 1) {
303
- if (row < 0 || row >= out.length)
304
- continue;
305
- const span = rowSpan(normal, row);
306
- if (!span)
307
- continue;
308
- const to = Math.min(Number.isFinite(span.to) ? span.to : cols, cols);
309
- out[row] = paintRow(out[row], span.from, to, open);
310
- }
311
- return out;
312
- }
313
- finally {
314
- painting = false;
315
- }
316
- },
317
- onHoldChange(listener) {
318
- holdListeners.add(listener);
319
- return () => holdListeners.delete(listener);
320
- },
321
- hasPendingSelection() {
322
- return settled && sel !== null;
323
- },
324
- takeSelection() {
325
- if (!settled || sel === null)
326
- return null;
327
- const normal = normalize(sel);
328
- const text = selectedText(mirror.plain, normal);
329
- // CONSUMED BEFORE THE CALLER COPIES (4.3 / R7). The copy writes OSC
330
- // 52 through `writeForeign`; the differ treats that as a foreign
331
- // write and invalidates, and `onInvalidate` clears this controller on
332
- // the next macrotask. Clearing first makes that callback a no-op;
333
- // copying first would let it erase the held viewport state a tick
334
- // after the copy -- the "copy flashes the screen" regression.
335
- sel = null;
336
- settled = false;
337
- pendingFocus = null;
338
- clearFlushTimer();
339
- clearWatchdog();
340
- if (holdActive)
341
- emitHold(false);
342
- paint(false);
343
- if (text.length === 0)
344
- return null;
345
- return { text, lines: text.split('\n').length };
346
- },
347
- clear,
348
- setEnabled(next) {
349
- if (enabled === next)
350
- return;
351
- enabled = next;
352
- if (!next)
353
- clear();
354
- },
355
- dispose() {
356
- if (disposed)
357
- return;
358
- // 4.2.3: a pending selection holds the viewport; teardown must let go
359
- // of it explicitly, exactly like `clear()` does.
360
- if (holdActive)
361
- emitHold(false);
362
- disposed = true;
363
- unsubscribe();
364
- clearFlushTimer();
365
- clearWatchdog();
366
- holdListeners.clear();
367
- sel = null;
368
- dragging = false;
369
- pendingFocus = null;
370
- },
371
- };
372
- }
@@ -1,90 +0,0 @@
1
- /**
2
- * The selection model (tui-selection-and-scroll-follow §4.4.4). PURE — no React,
3
- * no I/O, no terminal.
4
- *
5
- * Coordinates are SCREEN CELLS, 0-based: frame line `i` is terminal row `i + 1`
6
- * and column `x - 1`, so an SGR report at `(x, y)` becomes `{ row: y - 1, col: x
7
- * - 1 }`. Screen coordinates are only sound while the rows hold still, and
8
- * holding them still is Stage 2's job — `press` sets `hold`, which anchors the
9
- * content and suspends the resume timer, so the transcript is frozen for the
10
- * duration of a drag (D-7).
11
- *
12
- * ═══════════════════════════════════════════════════════════════════════════
13
- * I-12 — `sliceColumns` IS THE ONE COLUMN→CHARACTER MAPPING IN THIS FEATURE,
14
- * and `stringWidth` is its only width oracle.
15
- *
16
- * The painter and the extractor are handed the SAME half-open column range by
17
- * `rowSpan`. If they turn that range into characters by different rules, the
18
- * copied text is not the highlighted text — silently, which is the one failure
19
- * mode I-4 exists to name. That is not hypothetical: `slice-ansi` advances its
20
- * cursor by `isFullWidth ? 2 : character.length`, i.e. display columns for CJK
21
- * but UTF-16 CODE UNITS for everything else, so a combining mark costs it a
22
- * column that occupies none and an astral code point costs two; and the obvious
23
- * `String.slice` for the extractor is code units throughout. Two mappings from
24
- * one range agree on ASCII and diverge on exactly the rows a user is most likely
25
- * to want to copy.
26
- *
27
- * So both call the function below, which walks GRAPHEME CLUSTERS and charges
28
- * each one `stringWidth(cluster)` columns. What is hand-rolled here is only the
29
- * column arithmetic — the width table is still `string-width`'s, and the escape
30
- * bookkeeping is `slice-ansi`'s idea re-indexed (R-13).
31
- * ═══════════════════════════════════════════════════════════════════════════
32
- */
33
- export interface Cell {
34
- /** 0-based frame line. */
35
- row: number;
36
- /** 0-based screen column. */
37
- col: number;
38
- }
39
- export interface Selection {
40
- anchor: Cell;
41
- focus: Cell;
42
- }
43
- /** `start <= end` in reading order. */
44
- export interface NormalSelection {
45
- start: Cell;
46
- end: Cell;
47
- }
48
- /** A half-open column range on one row; `to` may be `Infinity` (to end of line). */
49
- export interface RowSpan {
50
- from: number;
51
- to: number;
52
- }
53
- export declare function normalize(sel: Selection): NormalSelection;
54
- export declare function isEmpty(sel: NormalSelection): boolean;
55
- /**
56
- * The half-open column range to highlight on `row`, or `null` when the row is
57
- * outside the selection.
58
- *
59
- * LINEAR, NOT RECTANGULAR — what every terminal does: the first row runs from
60
- * `start.col` to end of line, whole middle rows are taken entirely, and the last
61
- * row stops at `end.col`. `Infinity` means "to the end of the line"; the painter
62
- * clamps it to the terminal width so a multi-row selection gets a straight right
63
- * edge, and the extractor treats it as "no upper bound".
64
- */
65
- export declare function rowSpan(sel: NormalSelection, row: number): RowSpan | null;
66
- /**
67
- * The text a release would put on the clipboard.
68
- *
69
- * `plainRows` are the mirror's ANSI-STRIPPED rows — the same rows the highlight
70
- * was painted over, which is what makes I-4 hold by construction rather than by
71
- * a staleness check that can be wrong.
72
- */
73
- export declare function selectedText(plainRows: readonly string[], sel: NormalSelection): string;
74
- /**
75
- * Slice `text` by SCREEN COLUMNS, half-open `[from, to)`.
76
- *
77
- * Three properties are load-bearing:
78
- *
79
- * - **Escape codes opened before `from` are carried into the result.** Without
80
- * it the painter's tail — `sliceColumns(line, to)` — would lose the colour
81
- * `Markdown` and `cli-highlight` gave it, on every row a selection touches.
82
- * - **A wide cluster straddling either boundary becomes spaces for the part
83
- * that is inside.** That keeps the arithmetic EXACT in columns, which is the
84
- * whole point of I-12: half a CJK glyph is not a character, and inventing one
85
- * would put the painter and the extractor back out of step.
86
- * - **`to` is optional and means "to the end of the line".**
87
- */
88
- export declare function sliceColumns(text: string, from: number, to?: number): string;
89
- /** Display width in columns, using the same oracle `sliceColumns` charges with. */
90
- export declare function columnsOf(text: string): number;