@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,97 +0,0 @@
1
- import stringWidth from 'string-width';
2
- import { interactionCopy as copy } from './interaction-copy.js';
3
- import { cleanStatusText } from './layout/status-layout.js';
4
- import { graphemes } from './editor-navigation.js';
5
- export function escapeClause(input) {
6
- if (input.overlay)
7
- return copy.close;
8
- if (input.completion && input.completion !== 'none' || input.escapeAction === 'menu')
9
- return copy.closeCompletion;
10
- if (input.escapeAction === 'force-stop' || input.interruptPhase === 'stopping')
11
- return copy.forceStop;
12
- if (input.interactionPhase === 'starting')
13
- return input.interruptPhase === 'armed' ? copy.cancelStartAgain : copy.cancelStart;
14
- if (input.interactionPhase !== 'running')
15
- return '';
16
- if (input.governed) {
17
- return input.interruptPhase === 'armed' ? copy.governInterruptAgain : copy.governInterrupt;
18
- }
19
- return input.interruptPhase === 'armed' ? copy.interruptAgain : copy.interrupt;
20
- }
21
- export function clipStatusText(text, cells) {
22
- let clipped = '';
23
- for (const part of graphemes(cleanStatusText(text))) {
24
- if (stringWidth(clipped + part.text) > cells)
25
- break;
26
- clipped += part.text;
27
- }
28
- return clipped;
29
- }
30
- /** Ordered actions before width allocation. No interpretation of translated feedback text. */
31
- export function actionCandidates(input) {
32
- if (input.overlay) {
33
- if (input.overlay === 'confirm')
34
- return [copy.approveTool, copy.rejectTool];
35
- // THE DRAWER SELECTS, IT DOES NOT SCROLL (tui-shortcut-drawer-and-task-summary
36
- // §5). It is a list with a cursor, so the generic `copy.scroll` fallback would
37
- // describe the wrong interaction - and the drawer's own footer already names
38
- // every key, so one clause is the whole line.
39
- if (input.overlay === 'shortcuts')
40
- return [copy.select];
41
- const selects = ['question', 'model', 'session', 'settings'].includes(input.overlay);
42
- return [selects ? copy.select : copy.scroll,
43
- ...(selects ? [input.overlay === 'settings' ? copy.saveSettings : copy.confirm] : [])];
44
- }
45
- const actions = [];
46
- if (input.governed && input.govPausePending && input.interactionPhase === 'running') {
47
- actions.push(copy.governPausePending);
48
- }
49
- if (input.selectionPending)
50
- actions.push(copy.copy);
51
- else if (input.services)
52
- actions.push(copy.stopServicesShort);
53
- if (input.completion && input.completion !== 'none') {
54
- actions.push(...(input.completion === 'slash' ? [copy.executeCommand] : []), copy.complete, copy.select);
55
- return actions;
56
- }
57
- // THE GOVERNED IDLE SENTENCE REPLACES `Enter send` / `newline` rather than joining them:
58
- // at 120 columns it is 53 of the row's 119 cells, and the clause that would be crowded
59
- // out is `Shift+Tab <next>`, the one the posture cycle most needs taught.
60
- if (input.hintsEnabled !== false && input.governed && input.interactionPhase === 'idle') {
61
- actions.push(copy.governIdle);
62
- }
63
- else if (input.hintsEnabled !== false && input.interactionPhase !== 'starting')
64
- actions.push(input.interactionPhase === 'running' ? copy.enqueue : copy.send, input.cols < 72 ? copy.newline : copy.newlineLong);
65
- return actions;
66
- }
67
- export function buildActionClauses(input) {
68
- const budget = Math.max(0, Math.floor(input.cols) - 1);
69
- const escape = escapeClause(input);
70
- const result = [];
71
- const feedback = input.feedback?.text || input.exitHint || (input.copyCleanupPending ? copy.copyCleanup
72
- : input.copyInFlight ? copy.copying : input.toast) || '';
73
- const reserve = escape ? stringWidth(escape) + 3 : 0;
74
- if (feedback) {
75
- const text = clipStatusText(feedback, Math.max(0, budget - reserve));
76
- if (text)
77
- result.push(text);
78
- }
79
- const add = (text, remaining = budget) => {
80
- if (stringWidth([...result, text].join(' | ')) <= remaining)
81
- result.push(cleanStatusText(text));
82
- };
83
- if (!feedback) {
84
- for (const action of actionCandidates(input))
85
- add(action, budget - reserve);
86
- }
87
- if (escape)
88
- add(escape);
89
- if (!feedback && input.hintsEnabled !== false && !input.overlay) {
90
- if (input.updateAvailable)
91
- add(copy.update);
92
- add(input.hasDraft ? copy.exitDraft : copy.exit);
93
- add((input.modeToggleKey ?? 'Shift+Tab') + ' ' + (input.nextPostureWord ?? copy.modeLabel));
94
- add(copy.help);
95
- }
96
- return result;
97
- }
@@ -1,17 +0,0 @@
1
- /** Stable fullscreen slots preserve the editor during overlays and small resizes. */
2
- import React from 'react';
3
- export interface AppShellProps {
4
- rows: number;
5
- cols: number;
6
- header: React.ReactNode;
7
- viewport: React.ReactNode;
8
- composer: React.ReactNode;
9
- composerSlotRows: number;
10
- viewportRows: number;
11
- details?: React.ReactNode;
12
- statusRows: 0 | 1 | 2;
13
- status: React.ReactNode;
14
- inactive?: boolean;
15
- placeholder?: React.ReactNode;
16
- }
17
- export declare function AppShell({ rows, cols, header, viewport, composer, composerSlotRows, viewportRows, details, statusRows, status, inactive, placeholder, }: AppShellProps): React.ReactElement;
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box } from 'ink';
3
- import { frameHeight } from './frame.js';
4
- export function AppShell({ rows, cols, header, viewport, composer, composerSlotRows, viewportRows, details, statusRows, status, inactive = false, placeholder, }) {
5
- return (_jsxs(Box, { flexDirection: "column", height: frameHeight(rows), width: cols, overflow: "hidden", flexShrink: 0, children: [_jsxs(Box, { display: inactive ? 'none' : 'flex', flexDirection: "column", height: frameHeight(rows), width: cols, overflow: "hidden", flexShrink: 0, children: [_jsx(Box, { height: 1, flexShrink: 0, overflow: "hidden", children: header }), _jsx(Box, { flexDirection: "column", height: viewportRows, flexShrink: 0, overflow: "hidden", children: viewport }), _jsx(Box, { flexDirection: "column", height: composerSlotRows, justifyContent: "flex-end", flexShrink: 0, overflow: "hidden", children: composer }), _jsx(Box, { height: statusRows > 0 ? 1 : 0, flexShrink: 0, overflow: "hidden", children: status }), statusRows === 2 && _jsx(Box, { height: 1, flexShrink: 0, overflow: "hidden", children: details })] }), _jsx(Box, { display: inactive ? 'flex' : 'none', height: frameHeight(rows), overflow: "hidden", children: placeholder })] }));
6
- }
@@ -1,67 +0,0 @@
1
- /**
2
- * Gutter (spec §4.3) — the two-column left rail every transcript entry sits in.
3
- *
4
- * Replaces the previous "blank line + round box per entry" idiom, which cost
5
- * 3-4 fixed rows for every entry and made one ordinary tool call fill the entire
6
- * viewport on a 24-row terminal. The rail carries the role glyph on the first
7
- * row and the status colour along the whole entry, so the grouping that the
8
- * border used to provide survives at a fraction of the vertical cost.
9
- *
10
- * INVARIANT I-2 — the content column MUST keep `flexShrink={0}`.
11
- * `ScrollViewport` measures content height with `measureElement`; if yoga is
12
- * allowed to squeeze this column down to the viewport height, the measurement
13
- * reports `content === viewport`, `overflowLines` is permanently 0, and
14
- * scrolling stops working with no error anywhere. Read the comment at
15
- * `ScrollViewport.tsx:94-99` before touching this. Guarded by A-6.
16
- */
17
- import React from 'react';
18
- /** Columns reserved for the rail, glyph included. */
19
- export declare const GUTTER_WIDTH = 2;
20
- export interface GutterProps {
21
- /**
22
- * Role marker on the first row (user / assistant / tool status / notice).
23
- *
24
- * A node rather than a string because while an answer streams the marker IS
25
- * the spinner — that used to live inside `AssistantEntry`, and moving the
26
- * glyph out here without moving the spinner would have silently dropped the
27
- * "something is happening" affordance.
28
- */
29
- glyph: React.ReactNode;
30
- color?: string;
31
- children: React.ReactNode;
32
- }
33
- export declare function Gutter({ glyph, color, children }: GutterProps): React.ReactElement;
34
- /**
35
- * The one-row gap between turns: a dim rail stub rather than a blank line, so
36
- * the eye still follows a continuous left edge across the turn boundary.
37
- */
38
- export declare function RailSpacer({ continuation, color, }: {
39
- continuation: string;
40
- color?: string;
41
- }): React.ReactElement;
42
- /**
43
- * A left-only border whose vertical character is the rail glyph.
44
- *
45
- * Used where a block owns its own lines (tool preview, fenced code) and used to
46
- * be wrapped in a round box: the border cost 2 rows plus 2 columns of padding
47
- * and nested visibly inside other round boxes. Ink repeats `box.left` for the
48
- * measured height of the child, so this is a continuous rail that costs 1 column
49
- * and 0 rows.
50
- */
51
- export declare function railBorderProps(rail: string, color?: string): {
52
- readonly borderStyle: {
53
- readonly topLeft: string;
54
- readonly top: "";
55
- readonly topRight: "";
56
- readonly right: "";
57
- readonly bottomRight: "";
58
- readonly bottom: "";
59
- readonly bottomLeft: string;
60
- readonly left: string;
61
- };
62
- readonly borderTop: false;
63
- readonly borderBottom: false;
64
- readonly borderRight: false;
65
- readonly borderLeft: true;
66
- readonly borderColor: string | undefined;
67
- };
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- /** Columns reserved for the rail, glyph included. */
4
- export const GUTTER_WIDTH = 2;
5
- export function Gutter({ glyph, color, children }) {
6
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { flexShrink: 0, width: GUTTER_WIDTH, children: _jsx(Text, { color: color, children: glyph }) }), _jsx(Box, { flexDirection: "column", flexBasis: 0, flexGrow: 1, flexShrink: 0, children: children })] }));
7
- }
8
- /**
9
- * The one-row gap between turns: a dim rail stub rather than a blank line, so
10
- * the eye still follows a continuous left edge across the turn boundary.
11
- */
12
- export function RailSpacer({ continuation, color, }) {
13
- return (_jsx(Text, { color: color, children: continuation }));
14
- }
15
- /**
16
- * A left-only border whose vertical character is the rail glyph.
17
- *
18
- * Used where a block owns its own lines (tool preview, fenced code) and used to
19
- * be wrapped in a round box: the border cost 2 rows plus 2 columns of padding
20
- * and nested visibly inside other round boxes. Ink repeats `box.left` for the
21
- * measured height of the child, so this is a continuous rail that costs 1 column
22
- * and 0 rows.
23
- */
24
- export function railBorderProps(rail, color) {
25
- return {
26
- borderStyle: {
27
- topLeft: rail,
28
- top: '',
29
- topRight: '',
30
- right: '',
31
- bottomRight: '',
32
- bottom: '',
33
- bottomLeft: rail,
34
- left: rail,
35
- },
36
- borderTop: false,
37
- borderBottom: false,
38
- borderRight: false,
39
- borderLeft: true,
40
- borderColor: color,
41
- };
42
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * One transcript entry, wrapped so its rendered height reaches the height store
3
- * (tui-render-performance L3).
4
- *
5
- * IT MUST NOT CONSTRAIN HEIGHT. The natural height IS the value being measured;
6
- * a `height` prop here would make every entry report back whatever it was told,
7
- * and the spacers would encode a fiction.
8
- *
9
- * Ink computes yoga layout in `onRender`, which React runs BEFORE layout
10
- * effects, so the measurement below reflects the commit that just happened —
11
- * the same mechanism `ScrollViewport.tsx:87-88` and `AppShell.tsx:100-102`
12
- * already document and rely on.
13
- */
14
- import React from 'react';
15
- import type { HeightKey } from './virtual-window.js';
16
- export interface MeasuredEntryProps {
17
- heightKey: HeightKey;
18
- onMeasure: (key: HeightKey, rows: number) => void;
19
- children: React.ReactNode;
20
- }
21
- export declare function MeasuredEntry({ heightKey, onMeasure, children, }: MeasuredEntryProps): React.ReactElement;
@@ -1,30 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * One transcript entry, wrapped so its rendered height reaches the height store
4
- * (tui-render-performance L3).
5
- *
6
- * IT MUST NOT CONSTRAIN HEIGHT. The natural height IS the value being measured;
7
- * a `height` prop here would make every entry report back whatever it was told,
8
- * and the spacers would encode a fiction.
9
- *
10
- * Ink computes yoga layout in `onRender`, which React runs BEFORE layout
11
- * effects, so the measurement below reflects the commit that just happened —
12
- * the same mechanism `ScrollViewport.tsx:87-88` and `AppShell.tsx:100-102`
13
- * already document and rely on.
14
- */
15
- import { useLayoutEffect, useRef } from 'react';
16
- import { Box, measureElement } from 'ink';
17
- export function MeasuredEntry({ heightKey, onMeasure, children, }) {
18
- const ref = useRef(null);
19
- // No dependency array on purpose: the entry's content can change without the
20
- // key changing identity in a way this component can see, and `report` is a
21
- // no-op when the measurement is unchanged — so an unconditional effect costs
22
- // one `getComputedHeight()` read and cannot miss a resize.
23
- useLayoutEffect(() => {
24
- const node = ref.current;
25
- if (!node)
26
- return;
27
- onMeasure(heightKey, measureElement(node).height);
28
- });
29
- return (_jsx(Box, { ref: ref, flexDirection: "column", flexShrink: 0, children: children }));
30
- }
@@ -1,73 +0,0 @@
1
- import React from 'react';
2
- import type { Theme } from '../theme.js';
3
- import type { TermCapabilities } from '../capabilities.js';
4
- interface OverlayFrameBase {
5
- title: string;
6
- /** Footer text. Written by the CALLER so each overlay names its own keys. */
7
- hint: string;
8
- /** Viewport rows the overlay may occupy. */
9
- maxRows: number;
10
- cols?: number;
11
- theme: Theme;
12
- caps: TermCapabilities;
13
- /**
14
- * Where the frame sits on the row when `width` is given.
15
- *
16
- * DEFAULT `'left'` AND NO WRAPPER BOX: with neither new prop set, the render
17
- * tree is byte-identical to the pre-`shortcut-drawer` one, which is what keeps
18
- * the eight existing overlays' layout assertions green (`R-16`).
19
- */
20
- align?: 'left' | 'right';
21
- /**
22
- * An explicit width for a frame that is NOT the full terminal width - the
23
- * shortcut drawer's right-hand bar.
24
- *
25
- * THE FRAME STILL DECIDES ITS OWN FORM from `cols` (`BORDERLESS_COLS`), so the
26
- * caller passes the TERMINAL width here and the bar's width separately. Passing
27
- * the bar's width as `cols` would put a 46-cell drawer on a 200-column terminal
28
- * into the rail form for ever.
29
- */
30
- width?: number;
31
- }
32
- interface OverlayFrameControlled extends OverlayFrameBase {
33
- /** One element per row, each already `wrap="truncate"`. */
34
- rows: readonly React.ReactElement[];
35
- scrollOffset: number;
36
- /**
37
- * Report the offset back after clamping.
38
- *
39
- * `sliceWindow` clamps for DISPLAY, but the owner of the state does not learn
40
- * about it. A caller that just keeps adding a page per `PgDn` therefore ends
41
- * up parked far past the end, and the first several `PgUp` presses then move a
42
- * counter nobody can see while the screen sits still — the overlay reads as
43
- * frozen. Feeding the clamped value back keeps the two in step.
44
- */
45
- onScrollClamp?: (offset: number) => void;
46
- children?: undefined;
47
- }
48
- interface OverlayFrameSelfManaged extends OverlayFrameBase {
49
- rows?: undefined;
50
- scrollOffset?: undefined;
51
- onScrollClamp?: undefined;
52
- children: React.ReactNode;
53
- }
54
- export type OverlayFrameProps = OverlayFrameControlled | OverlayFrameSelfManaged;
55
- export declare function OverlayFrame(props: OverlayFrameProps): React.ReactElement;
56
- /**
57
- * Rows one PgUp/PgDn - and one Shift+wheel notch - turns inside a controlled
58
- * overlay (defect 11).
59
- *
60
- * THIS IS THE OVERLAY'S `scroll.pageSize`, deliberately the same rule: one window
61
- * minus `PAGE_CONTEXT_LINES` of overlap, so a reader keeps two rows of context
62
- * across a page turn exactly as `PgDn` in the transcript does. It replaces a
63
- * constant 8, which was 42% of `/help`'s 19-row window on a 100x24 terminal and
64
- * made reading a 93-row shortcut list a twelve-keystroke exercise.
65
- *
66
- * THE WINDOW HEIGHT COMES FROM `overlayBodyRows`, which is the same expression
67
- * `OverlayFrame` renders with - computed twice here would be the two-authorities
68
- * defect B1 is fixing one component over.
69
- */
70
- export declare function overlayPageSize(maxRows: number, cols: number): number;
71
- /** Body rows shared by controlled overlays and self-managed focused lists. */
72
- export declare function overlayBodyRows(maxRows: number, cols: number): number;
73
- export {};
@@ -1,110 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useMemo } from 'react';
3
- import { Box, Text } from 'ink';
4
- import stringWidth from 'string-width';
5
- import { pickGlyphs } from '../glyphs.js';
6
- import { sliceWindow } from './overlay-window.js';
7
- import { pageSize } from './scroll.js';
8
- /** Below this width the round border costs more than it conveys (§5.2). */
9
- const BORDERLESS_COLS = 48;
10
- /** Title + footer + top and bottom border. */
11
- const CHROME_ROWS = 4;
12
- /**
13
- * The frame's own `marginTop`, which is spent out of the SAME `maxRows` budget.
14
- *
15
- * Leaving it out makes the box render one row taller than the viewport it sits
16
- * in, and the viewport's `overflow: hidden` then eats the bottom border — an
17
- * overlay silently clipped by exactly the mechanism this round exists to remove.
18
- * Verified by `overlay-frame-height.test.tsx`.
19
- */
20
- const MARGIN_ROWS = 1;
21
- export function OverlayFrame(props) {
22
- const { title, hint, maxRows, cols = 80, theme, caps } = props;
23
- const glyphs = pickGlyphs(caps);
24
- // Ink applies changed style keys alone. Recreating this object resets the
25
- // unchanged borderTop/borderBottom=false edges to one cell on a later render.
26
- const railBorderStyle = useMemo(() => ({
27
- topLeft: glyphs.railVertical, top: '', topRight: '', right: '',
28
- bottomRight: '', bottom: '', bottomLeft: glyphs.railVertical,
29
- left: glyphs.railVertical,
30
- }), [glyphs.railVertical]);
31
- const compact = Number.isFinite(maxRows) && maxRows < (cols >= BORDERLESS_COLS ? 6 : 4);
32
- const bordered = !compact && cols >= BORDERLESS_COLS;
33
- const unbounded = !Number.isFinite(maxRows);
34
- let body;
35
- let position = '';
36
- /** Set only in controlled mode; `null` means "nothing to report back". */
37
- let overflowOffset = null;
38
- if (props.rows) {
39
- const chrome = compact ? 2 : MARGIN_ROWS + (bordered ? CHROME_ROWS : CHROME_ROWS - 2);
40
- const height = unbounded ? props.rows.length : Math.max(1, Math.floor(maxRows) - chrome);
41
- const win = sliceWindow(props.rows.length, props.scrollOffset, height);
42
- body = props.rows.slice(win.start, win.start + win.visible);
43
- if (win.clamped !== props.scrollOffset)
44
- overflowOffset = win.clamped;
45
- if (!unbounded && win.visible < win.total) {
46
- const up = win.start > 0 ? glyphs.arrowUp : ' ';
47
- const down = win.start + win.visible < win.total ? glyphs.arrowDown : ' ';
48
- position = ` ${up}${down} ${win.start + 1}-${win.start + win.visible}/${win.total}`;
49
- }
50
- }
51
- else {
52
- body = props.children;
53
- }
54
- // In an effect, not in the branch above: calling the owner's setter mid-render
55
- // updates another component while this one renders. Clamping is idempotent, so
56
- // this settles after one extra pass.
57
- const onScrollClamp = props.onScrollClamp;
58
- useEffect(() => {
59
- if (overflowOffset !== null)
60
- onScrollClamp?.(overflowOffset);
61
- }, [overflowOffset, onScrollClamp]);
62
- const inner = (_jsxs(_Fragment, { children: [_jsxs(Box, { flexDirection: "row", height: 1, flexShrink: 0, children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, children: _jsx(Text, { wrap: "truncate", color: theme.primary, bold: true, children: title }) }), position && _jsx(Box, { width: stringWidth(position), flexShrink: 0, children: _jsx(Text, { color: theme.muted, children: position }) })] }), _jsx(Box, { flexDirection: "column", flexShrink: 0, height: unbounded ? undefined : Math.max(1, maxRows - (compact ? 2 : bordered ? 5 : 3)), overflowY: "hidden", children: body }), _jsx(Text, { wrap: "truncate", color: theme.hintFg ?? theme.muted, children: hint })] }));
63
- // THE NEW PROPS ARE OPTIONAL AND THEIR DEFAULT IS TODAY'S BEHAVIOUR (R-16): the
64
- // three branches below return exactly what they always returned unless the
65
- // caller asked for a width or a right-hand placement. When it did, the SAME box
66
- // is built and then placed inside one row-wide wrapper, which is the only way
67
- // Ink can push a fixed-width child to the right edge (a `marginLeft: 'auto'`
68
- // does not exist here).
69
- const width = props.width;
70
- const align = props.align ?? 'left';
71
- const placed = (node) => {
72
- if (width === undefined && align === 'left')
73
- return node;
74
- return (_jsx(Box, { width: cols, flexDirection: "row", flexShrink: 0, justifyContent: align === 'right' ? 'flex-end' : 'flex-start', children: node }));
75
- };
76
- const boxWidth = width === undefined ? {} : { width };
77
- if (compact) {
78
- return placed(_jsx(Box, { ...boxWidth, width: width ?? cols, height: Math.max(0, maxRows), flexDirection: "column", flexShrink: 0, overflowY: "hidden", children: inner }));
79
- }
80
- if (!bordered) {
81
- // Narrow terminals trade the box for a rail: same grouping, 2 fewer rows
82
- // and 4 fewer columns (§5.2).
83
- return placed(_jsx(Box, { flexDirection: "column", flexShrink: 0, marginTop: 1, ...boxWidth, children: _jsx(Box, { flexDirection: "column", flexShrink: 0, borderStyle: railBorderStyle, borderTop: false, borderBottom: false, borderRight: false, borderColor: theme.primary, paddingLeft: 1, children: inner }) }));
84
- }
85
- return placed(_jsx(Box, { flexDirection: "column", flexShrink: 0, borderStyle: glyphs.boxStyle, borderColor: theme.primary, paddingX: 1, marginTop: 1, ...boxWidth, children: inner }));
86
- }
87
- /**
88
- * Rows one PgUp/PgDn - and one Shift+wheel notch - turns inside a controlled
89
- * overlay (defect 11).
90
- *
91
- * THIS IS THE OVERLAY'S `scroll.pageSize`, deliberately the same rule: one window
92
- * minus `PAGE_CONTEXT_LINES` of overlap, so a reader keeps two rows of context
93
- * across a page turn exactly as `PgDn` in the transcript does. It replaces a
94
- * constant 8, which was 42% of `/help`'s 19-row window on a 100x24 terminal and
95
- * made reading a 93-row shortcut list a twelve-keystroke exercise.
96
- *
97
- * THE WINDOW HEIGHT COMES FROM `overlayBodyRows`, which is the same expression
98
- * `OverlayFrame` renders with - computed twice here would be the two-authorities
99
- * defect B1 is fixing one component over.
100
- */
101
- export function overlayPageSize(maxRows, cols) {
102
- return pageSize(overlayBodyRows(maxRows, cols));
103
- }
104
- /** Body rows shared by controlled overlays and self-managed focused lists. */
105
- export function overlayBodyRows(maxRows, cols) {
106
- if (!Number.isFinite(maxRows))
107
- return 20;
108
- const compact = maxRows < (cols >= BORDERLESS_COLS ? 6 : 4);
109
- return Math.max(1, Math.floor(maxRows) - (compact ? 2 : cols >= BORDERLESS_COLS ? 5 : 3));
110
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * ScrollIndicator (mouse-wheel-region-routing §4.8) — the one-column scroll
3
- * position rail on the viewport's right edge.
4
- *
5
- * NAMING (P2-1): this is NOT `layout/Gutter.tsx`. That one is the two-column
6
- * left rail every transcript entry sits in, and it carries an invariant of its
7
- * own. Two components called a gutter, on opposite edges, for unrelated
8
- * purposes, is how a codebase stops being able to say what it means.
9
- *
10
- * THE COLUMN IS RESERVED UNCONDITIONALLY, track glyph and all. Showing it only
11
- * while scrolled would change the content width, re-wrap every line, change the
12
- * content height, and feed that back into the measurement that decides whether
13
- * to show it — a shimmer at the exact moment the user is reading. Constant
14
- * width, no feedback loop (D-9); `width={1}` and `flexShrink={0}` hold the
15
- * column even on the first frame, before anything has been measured.
16
- */
17
- import React from 'react';
18
- import type { Theme } from '../theme.js';
19
- import type { TermCapabilities } from '../capabilities.js';
20
- import type { ThumbRange } from './scroll-indicator.js';
21
- /** Smallest supported fullscreen width; every usable chat frame reserves the column. */
22
- export declare const MIN_INDICATOR_COLS = 40;
23
- export interface ScrollIndicatorProps {
24
- /** Viewport height in rows, as measured by `ScrollViewport`. */
25
- rows: number;
26
- /** `null` when the content fits — the rail is drawn as bare track. */
27
- thumb: ThumbRange | null;
28
- dragging?: boolean;
29
- theme: Theme;
30
- caps: TermCapabilities;
31
- }
32
- export declare function ScrollIndicator({ rows, thumb, dragging, theme, caps, }: ScrollIndicatorProps): React.ReactElement;
@@ -1,22 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- import { pickGlyphs } from '../glyphs.js';
4
- /** Smallest supported fullscreen width; every usable chat frame reserves the column. */
5
- export const MIN_INDICATOR_COLS = 40;
6
- export function ScrollIndicator({ rows, thumb, dragging = false, theme, caps, }) {
7
- const glyphs = pickGlyphs(caps);
8
- const count = Math.max(0, Math.floor(rows) || 0);
9
- // NO CELLS WITHOUT A THUMB (defect 6). `thumb === null` means the content fits,
10
- // so there is no position to mark and a full-height column of track glyphs is
11
- // pure noise next to an empty transcript. The BOX below is still rendered
12
- // whatever the thumb is — see the feedback-loop note at the top of this file:
13
- // the reserved column, not the glyphs, is what keeps the width constant.
14
- const cells = [];
15
- if (thumb) {
16
- for (let i = 0; i < count; i += 1) {
17
- const onThumb = i >= thumb.start && i < thumb.start + thumb.size;
18
- cells.push(_jsx(Text, { color: onThumb ? theme.primary : theme.muted, bold: onThumb && dragging, children: onThumb ? glyphs.scrollThumb : glyphs.scrollTrack }, i));
19
- }
20
- }
21
- return (_jsx(Box, { flexDirection: "column", flexShrink: 0, width: 1, children: cells }));
22
- }
@@ -1,40 +0,0 @@
1
- import React from 'react';
2
- import { type DOMElement } from 'ink';
3
- import type { Theme } from '../theme.js';
4
- import type { TermCapabilities } from '../capabilities.js';
5
- import { type ScrollbarBridge } from '../scrollbar-controller.js';
6
- import { type ScrollIntent } from './scroll.js';
7
- import { type TailSink } from './follow-state.js';
8
- export interface ScrollViewportProps {
9
- intent?: {
10
- kind: ScrollIntent;
11
- nonce: number;
12
- repeat?: number;
13
- };
14
- pinToBottomNonce?: number;
15
- resetKey?: unknown;
16
- geometryKey?: string;
17
- onGeometryChange?: () => void;
18
- onScrolledLinesChange?: (lines: number) => void;
19
- onViewportShiftChange?: (shift: number) => void;
20
- tailRowsRef?: TailSink;
21
- hold?: boolean;
22
- resumeMs?: number;
23
- showScrollIndicator?: boolean;
24
- cols?: number;
25
- footer?: React.ReactNode;
26
- rail?: React.ReactNode;
27
- overlay?: React.ReactNode;
28
- active?: boolean;
29
- scrollbar?: ScrollbarBridge;
30
- composerRef?: React.RefObject<DOMElement>;
31
- onComposerVisibilityChange?: (visible: boolean) => void;
32
- /** The run status row above the input box (tui-scrollbar-edge-and-run-row). */
33
- activityRef?: React.RefObject<DOMElement>;
34
- onActivityVisibilityChange?: (visible: boolean) => void;
35
- theme: Theme;
36
- caps: TermCapabilities;
37
- children: React.ReactNode;
38
- }
39
- /** One offset for messages, padding and panels; hidden trees keep their local state. */
40
- export declare function ScrollViewport(props: ScrollViewportProps): React.ReactElement;