@aragon-agent/cli 0.6.46 → 0.6.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (775) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +80 -12
  3. package/dist/agent/coalesce.d.ts +5 -1
  4. package/dist/agent/coalesce.js +13 -0
  5. package/dist/agent/controller.d.ts +41 -20
  6. package/dist/agent/controller.js +68 -15
  7. package/dist/agent/conversation-reset.d.ts +1 -1
  8. package/dist/agent/governance-wiring.d.ts +6 -6
  9. package/dist/agent/governance-wiring.js +4 -4
  10. package/dist/agent/headless.d.ts +5 -5
  11. package/dist/agent/headless.js +4 -4
  12. package/dist/agent/job-notices.d.ts +1 -1
  13. package/dist/agent/job-notices.js +1 -1
  14. package/dist/agent/kit-apply.d.ts +3 -3
  15. package/dist/agent/kit-apply.js +3 -3
  16. package/dist/agent/model-profile-settings.d.ts +2 -2
  17. package/dist/agent/model-profile-settings.js +6 -6
  18. package/dist/agent/prompt-options.d.ts +1 -1
  19. package/dist/agent/system-prompt.d.ts +1 -1
  20. package/dist/agent/user-attention.d.ts +17 -0
  21. package/dist/agent/user-attention.js +32 -0
  22. package/dist/{ui → app}/App.d.ts +9 -9
  23. package/dist/{ui → app}/App.js +113 -79
  24. package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
  25. package/dist/{ui → app}/use-startup-notices.js +2 -2
  26. package/dist/cli.js +31 -32
  27. package/dist/commands/agents-command.js +1 -1
  28. package/dist/commands/builtins.js +9 -9
  29. package/dist/commands/governance-command.js +2 -2
  30. package/dist/commands/governance-runs-table.js +1 -1
  31. package/dist/commands/kit-command.js +1 -1
  32. package/dist/commands/perf.d.ts +3 -3
  33. package/dist/commands/perf.js +1 -1
  34. package/dist/commands/registry.d.ts +8 -8
  35. package/dist/commands/skills.js +2 -2
  36. package/dist/commands/team-command.js +1 -1
  37. package/dist/compaction/archive.d.ts +1 -1
  38. package/dist/compaction/archive.js +1 -1
  39. package/dist/compaction/child.d.ts +3 -3
  40. package/dist/compaction/child.js +4 -4
  41. package/dist/compaction/command.js +5 -5
  42. package/dist/compaction/compactor.d.ts +6 -6
  43. package/dist/compaction/compactor.js +6 -6
  44. package/dist/compaction/context-command.js +1 -1
  45. package/dist/compaction/digest.js +1 -1
  46. package/dist/compaction/memory-input.js +1 -1
  47. package/dist/compaction/memory-validation.js +1 -1
  48. package/dist/compaction/memory.js +1 -1
  49. package/dist/compaction/summarize-call.js +1 -1
  50. package/dist/compaction/summary-prompt.js +1 -1
  51. package/dist/compaction/tail-budget.js +2 -2
  52. package/dist/compaction/wiring.d.ts +5 -5
  53. package/dist/compaction/wiring.js +2 -2
  54. package/dist/config/cli-commands.d.ts +1 -1
  55. package/dist/config/cli-commands.js +3 -3
  56. package/dist/config/env.d.ts +1 -1
  57. package/dist/config/env.js +4 -4
  58. package/dist/config/load.d.ts +2 -2
  59. package/dist/config/load.js +10 -31
  60. package/dist/config/migrate-state-out-of-config.js +1 -1
  61. package/dist/config/model-profile-store.d.ts +4 -54
  62. package/dist/config/model-profile-store.js +3 -3
  63. package/dist/config/prompt-history.js +1 -1
  64. package/dist/config/store.d.ts +2 -2
  65. package/dist/config/store.js +3 -3
  66. package/dist/diagnostics/doctor.js +4 -4
  67. package/dist/exec/bridge/decisions.d.ts +1 -1
  68. package/dist/exec/bridge/human-answers.d.ts +1 -1
  69. package/dist/exec/bridge/human-answers.js +1 -1
  70. package/dist/exec/bridge/protocol.d.ts +1 -1
  71. package/dist/exec/bridge/server.js +1 -1
  72. package/dist/exec/events.d.ts +2 -2
  73. package/dist/exec/index.d.ts +1 -1
  74. package/dist/exec/index.js +1 -1
  75. package/dist/exec/permission.js +1 -1
  76. package/dist/exec/runner.d.ts +3 -3
  77. package/dist/exec/runner.js +2 -2
  78. package/dist/exec/threads/runtime.js +1 -1
  79. package/dist/fast/digest.d.ts +1 -1
  80. package/dist/fast/digest.js +1 -1
  81. package/dist/fast/frames.d.ts +1 -1
  82. package/dist/fast/frames.js +1 -1
  83. package/dist/fast/prompt.d.ts +1 -1
  84. package/dist/fast/prompt.js +1 -1
  85. package/dist/fast/review-call.js +1 -1
  86. package/dist/fast/reviewer.d.ts +3 -3
  87. package/dist/fast/reviewer.js +1 -1
  88. package/dist/fast/summary-call.d.ts +3 -3
  89. package/dist/fast/summary-call.js +2 -2
  90. package/dist/fast/summary-prompt.d.ts +1 -1
  91. package/dist/fast/summary-prompt.js +1 -1
  92. package/dist/fast/wiring.d.ts +4 -4
  93. package/dist/fast/wiring.js +1 -1
  94. package/dist/governance/card-normalize.d.ts +1 -1
  95. package/dist/governance/copy.d.ts +1 -1
  96. package/dist/governance/copy.js +2 -2
  97. package/dist/governance/engine/artifact-persist.d.ts +1 -1
  98. package/dist/governance/engine/budget.d.ts +1 -1
  99. package/dist/governance/engine/budget.js +1 -1
  100. package/dist/governance/engine/cards.d.ts +1 -1
  101. package/dist/governance/engine/digest.js +1 -1
  102. package/dist/governance/engine/engine-core.d.ts +5 -5
  103. package/dist/governance/engine/engine-core.js +1 -1
  104. package/dist/governance/engine/engine.d.ts +1 -1
  105. package/dist/governance/engine/engine.js +1 -1
  106. package/dist/governance/engine/estimate.d.ts +1 -1
  107. package/dist/governance/engine/estimate.js +1 -1
  108. package/dist/governance/engine/inspector.js +2 -2
  109. package/dist/governance/engine/integration.d.ts +1 -1
  110. package/dist/governance/engine/lifecycle.d.ts +1 -1
  111. package/dist/governance/engine/lifecycle.js +1 -1
  112. package/dist/governance/engine/phase-members.d.ts +1 -1
  113. package/dist/governance/engine/phase-planner.d.ts +1 -1
  114. package/dist/governance/engine/phase-planner.js +1 -1
  115. package/dist/governance/engine/rebuild.d.ts +1 -1
  116. package/dist/governance/engine/report.d.ts +1 -1
  117. package/dist/governance/engine/report.js +1 -1
  118. package/dist/governance/engine/run-digest.d.ts +1 -1
  119. package/dist/governance/engine/spec-builder.d.ts +2 -2
  120. package/dist/governance/engine/spec-builder.js +2 -2
  121. package/dist/governance/engine/stage-runner.js +2 -2
  122. package/dist/governance/engine/start-input.d.ts +1 -1
  123. package/dist/governance/engine/start-input.js +1 -1
  124. package/dist/governance/engine/state-machine.d.ts +1 -1
  125. package/dist/governance/engine/state-machine.js +3 -3
  126. package/dist/governance/engine/submission-queries.d.ts +1 -1
  127. package/dist/governance/engine/submission-render.d.ts +1 -1
  128. package/dist/governance/engine/submissions.d.ts +1 -1
  129. package/dist/governance/engine/submissions.js +1 -1
  130. package/dist/governance/engine/visibility.d.ts +1 -1
  131. package/dist/governance/engine/visibility.js +1 -1
  132. package/dist/governance/posture-transition.d.ts +2 -2
  133. package/dist/governance/posture-transition.js +1 -1
  134. package/dist/governance/profiles.d.ts +1 -1
  135. package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
  136. package/dist/governance/prompts/orchestrator-block.js +2 -2
  137. package/dist/governance/prompts/plan-addendum.d.ts +1 -1
  138. package/dist/governance/prompts/plan-addendum.js +1 -1
  139. package/dist/governance/prompts/role-blocks.d.ts +2 -2
  140. package/dist/governance/prompts/role-blocks.js +1 -1
  141. package/dist/governance/report-reader.js +1 -1
  142. package/dist/governance/roles.d.ts +1 -1
  143. package/dist/governance/rules/claims.d.ts +1 -1
  144. package/dist/governance/rules/claims.js +1 -1
  145. package/dist/governance/rules/elimination.d.ts +1 -1
  146. package/dist/governance/rules/elimination.js +1 -1
  147. package/dist/governance/rules/failure-analysis.d.ts +2 -2
  148. package/dist/governance/rules/failure-analysis.js +1 -1
  149. package/dist/governance/rules/ledger-replay.d.ts +1 -1
  150. package/dist/governance/rules/ledger-state.d.ts +1 -1
  151. package/dist/governance/rules/ledger-state.js +1 -1
  152. package/dist/governance/rules/ledger.d.ts +2 -2
  153. package/dist/governance/rules/ledger.js +2 -2
  154. package/dist/governance/rules/rca.d.ts +1 -1
  155. package/dist/governance/rules/rca.js +1 -1
  156. package/dist/governance/rules/settlement.d.ts +2 -2
  157. package/dist/governance/rules/settlement.js +2 -2
  158. package/dist/governance/rules/suspicion.d.ts +1 -1
  159. package/dist/governance/store/artifacts.d.ts +1 -1
  160. package/dist/governance/store/artifacts.js +1 -1
  161. package/dist/governance/store/events-log.d.ts +1 -1
  162. package/dist/governance/store/run-store.d.ts +1 -1
  163. package/dist/governance/store/run-store.js +1 -1
  164. package/dist/governance/store/scoreboard-export.d.ts +1 -1
  165. package/dist/governance/tools/child-tools.d.ts +1 -1
  166. package/dist/governance/tools/guard.d.ts +1 -1
  167. package/dist/governance/tools/guard.js +1 -1
  168. package/dist/governance/tools/inspector-tools.d.ts +2 -2
  169. package/dist/governance/tools/inspector-tools.js +2 -2
  170. package/dist/governance/tools/lead-tools.d.ts +1 -1
  171. package/dist/governance/tools/lead-tools.js +1 -1
  172. package/dist/governance/tools/normalize-util.js +1 -1
  173. package/dist/governance/tools/scan-incomplete.js +1 -1
  174. package/dist/governance/tools/shared-tools.d.ts +1 -1
  175. package/dist/governance/tools/shared-tools.js +1 -1
  176. package/dist/governance/tools/submit-normalizers.d.ts +1 -1
  177. package/dist/governance/tools/submit-normalizers.js +1 -1
  178. package/dist/governance/tools/submit-tools.d.ts +1 -1
  179. package/dist/logging/cli-commands.js +1 -1
  180. package/dist/logging/install.d.ts +1 -1
  181. package/dist/logging/install.js +3 -3
  182. package/dist/logging/logger.d.ts +2 -2
  183. package/dist/logging/logger.js +31 -2
  184. package/dist/proc/kill-tree.js +1 -1
  185. package/dist/proc/log-mirror.js +1 -1
  186. package/dist/proc/log-ring.js +2 -2
  187. package/dist/proc/notices.d.ts +1 -1
  188. package/dist/proc/notices.js +2 -2
  189. package/dist/proc/prompt.d.ts +1 -1
  190. package/dist/proc/prompt.js +8 -5
  191. package/dist/proc/readiness.js +1 -1
  192. package/dist/proc/supervisor.d.ts +1 -1
  193. package/dist/proc/supervisor.js +10 -4
  194. package/dist/proc/wait-plan.d.ts +39 -0
  195. package/dist/proc/wait-plan.js +77 -0
  196. package/dist/proc/wait.d.ts +37 -4
  197. package/dist/proc/wait.js +68 -5
  198. package/dist/prompts/command.d.ts +1 -1
  199. package/dist/prompts/command.js +1 -1
  200. package/dist/prompts/normalize.d.ts +1 -1
  201. package/dist/prompts/normalize.js +1 -1
  202. package/dist/prompts/resolve.d.ts +1 -1
  203. package/dist/prompts/store.d.ts +2 -12
  204. package/dist/prompts/store.js +6 -60
  205. package/dist/session/checkpoint.d.ts +2 -2
  206. package/dist/session/checkpoint.js +2 -0
  207. package/dist/session/clear-archive.d.ts +2 -2
  208. package/dist/session/persist.d.ts +2 -2
  209. package/dist/session/persist.js +20 -3
  210. package/dist/session/startup-session.d.ts +2 -2
  211. package/dist/session/validate-session.js +6 -3
  212. package/dist/skills/service.d.ts +2 -2
  213. package/dist/team/bus.d.ts +1 -1
  214. package/dist/team/bus.js +1 -1
  215. package/dist/team/child-reviewer.d.ts +2 -2
  216. package/dist/team/child-reviewer.js +1 -1
  217. package/dist/team/comm-tools.js +1 -1
  218. package/dist/team/dispatch-gate.js +1 -1
  219. package/dist/team/forced-dispatch.js +1 -1
  220. package/dist/team/forced-mode.d.ts +1 -1
  221. package/dist/team/forced-prompt.d.ts +1 -1
  222. package/dist/team/forced-prompt.js +1 -1
  223. package/dist/team/normalize.d.ts +1 -1
  224. package/dist/team/normalize.js +1 -1
  225. package/dist/team/overseer.d.ts +3 -3
  226. package/dist/team/overseer.js +3 -3
  227. package/dist/team/prompt.d.ts +1 -1
  228. package/dist/team/prompt.js +1 -1
  229. package/dist/team/report.d.ts +2 -2
  230. package/dist/team/report.js +2 -2
  231. package/dist/team/retry.d.ts +1 -1
  232. package/dist/team/retry.js +1 -1
  233. package/dist/team/runtime.d.ts +4 -4
  234. package/dist/team/runtime.js +2 -2
  235. package/dist/team/settled.d.ts +2 -2
  236. package/dist/team/subagent.d.ts +4 -4
  237. package/dist/team/subagent.js +5 -5
  238. package/dist/team/task-tool.d.ts +1 -1
  239. package/dist/team/task-tool.js +1 -1
  240. package/dist/todo/normalize.d.ts +1 -1
  241. package/dist/todo/normalize.js +1 -1
  242. package/dist/todo/prompt.d.ts +1 -1
  243. package/dist/todo/prompt.js +1 -1
  244. package/dist/todo/store.d.ts +1 -1
  245. package/dist/todo/store.js +2 -2
  246. package/dist/todo/todo-tool.d.ts +1 -1
  247. package/dist/todo/todo-tool.js +2 -2
  248. package/dist/tools/bash-tool.d.ts +1 -1
  249. package/dist/tools/bash-tool.js +2 -2
  250. package/dist/tools/diff.d.ts +1 -1
  251. package/dist/tools/diff.js +1 -1
  252. package/dist/tools/file-change-store.d.ts +1 -1
  253. package/dist/tools/fs-tools.d.ts +2 -2
  254. package/dist/tools/fs-tools.js +1 -1
  255. package/dist/tools/index.d.ts +3 -3
  256. package/dist/tools/index.js +1 -1
  257. package/dist/tools/job-tools.d.ts +14 -3
  258. package/dist/tools/job-tools.js +158 -35
  259. package/dist/tools/plan-tools.d.ts +1 -1
  260. package/dist/tools/plan-tools.js +1 -1
  261. package/dist/tools/proc-tools.d.ts +1 -1
  262. package/dist/tools/proc-tools.js +2 -2
  263. package/dist/update/classify-failure.d.ts +1 -1
  264. package/dist/update/install-lock.js +1 -1
  265. package/dist/update/install-source.d.ts +1 -1
  266. package/dist/update/installer.js +2 -2
  267. package/dist/update/npm-view.d.ts +1 -1
  268. package/dist/update/npm-view.js +1 -1
  269. package/dist/update/registry.d.ts +1 -1
  270. package/dist/update/registry.js +1 -1
  271. package/dist/update/service.d.ts +2 -2
  272. package/dist/update/service.js +2 -2
  273. package/package.json +7 -7
  274. package/dist/agent/agent-mode.d.ts +0 -108
  275. package/dist/agent/agent-mode.js +0 -121
  276. package/dist/agent/entry-limits.d.ts +0 -65
  277. package/dist/agent/entry-limits.js +0 -133
  278. package/dist/agent/governance-view.d.ts +0 -40
  279. package/dist/agent/governance-view.js +0 -40
  280. package/dist/agent/invocation-card.d.ts +0 -77
  281. package/dist/agent/invocation-card.js +0 -169
  282. package/dist/agent/model-probe-limits.d.ts +0 -39
  283. package/dist/agent/model-probe-limits.js +0 -25
  284. package/dist/agent/model-probe.d.ts +0 -104
  285. package/dist/agent/model-probe.js +0 -391
  286. package/dist/agent/queued-messages.d.ts +0 -23
  287. package/dist/agent/queued-messages.js +0 -49
  288. package/dist/agent/reducer.d.ts +0 -837
  289. package/dist/agent/reducer.js +0 -1617
  290. package/dist/agent/retry-view.d.ts +0 -68
  291. package/dist/agent/retry-view.js +0 -95
  292. package/dist/agent/usage.d.ts +0 -47
  293. package/dist/agent/usage.js +0 -84
  294. package/dist/compaction/limits.d.ts +0 -61
  295. package/dist/compaction/limits.js +0 -64
  296. package/dist/compaction/meter.d.ts +0 -276
  297. package/dist/compaction/meter.js +0 -512
  298. package/dist/compaction/pressure.d.ts +0 -163
  299. package/dist/compaction/pressure.js +0 -199
  300. package/dist/compaction/reason-text.d.ts +0 -36
  301. package/dist/compaction/reason-text.js +0 -78
  302. package/dist/compaction/types.d.ts +0 -360
  303. package/dist/compaction/types.js +0 -22
  304. package/dist/config/governance-config.d.ts +0 -125
  305. package/dist/config/governance-config.js +0 -164
  306. package/dist/config/kit-resolution.d.ts +0 -93
  307. package/dist/config/kit-resolution.js +0 -226
  308. package/dist/config/model-kits.d.ts +0 -225
  309. package/dist/config/model-kits.js +0 -302
  310. package/dist/config/model-profile-resolution.d.ts +0 -28
  311. package/dist/config/model-profile-resolution.js +0 -88
  312. package/dist/config/model-profiles.d.ts +0 -103
  313. package/dist/config/model-profiles.js +0 -188
  314. package/dist/config/schema.d.ts +0 -1645
  315. package/dist/config/schema.js +0 -1377
  316. package/dist/fast/limits.d.ts +0 -152
  317. package/dist/fast/limits.js +0 -152
  318. package/dist/fast/resolve.d.ts +0 -44
  319. package/dist/fast/resolve.js +0 -107
  320. package/dist/fast/task-summary-types.d.ts +0 -66
  321. package/dist/fast/task-summary-types.js +0 -17
  322. package/dist/fast/types.d.ts +0 -141
  323. package/dist/fast/types.js +0 -14
  324. package/dist/governance/governed-dispatch.d.ts +0 -19
  325. package/dist/governance/governed-dispatch.js +0 -17
  326. package/dist/governance/limits.d.ts +0 -107
  327. package/dist/governance/limits.js +0 -131
  328. package/dist/governance/posture.d.ts +0 -35
  329. package/dist/governance/posture.js +0 -59
  330. package/dist/governance/rules/events-table.d.ts +0 -46
  331. package/dist/governance/rules/events-table.js +0 -94
  332. package/dist/governance/types.d.ts +0 -661
  333. package/dist/governance/types.js +0 -27
  334. package/dist/input/control-sequences.d.ts +0 -71
  335. package/dist/input/control-sequences.js +0 -222
  336. package/dist/input/csiu-keys.d.ts +0 -66
  337. package/dist/input/csiu-keys.js +0 -181
  338. package/dist/input/cursor-report.d.ts +0 -61
  339. package/dist/input/cursor-report.js +0 -97
  340. package/dist/input/enter-sequences.d.ts +0 -64
  341. package/dist/input/enter-sequences.js +0 -153
  342. package/dist/input/interrupt-gesture.d.ts +0 -18
  343. package/dist/input/interrupt-gesture.js +0 -19
  344. package/dist/input/keyboard-enhancement.d.ts +0 -42
  345. package/dist/input/keyboard-enhancement.js +0 -65
  346. package/dist/input/keymap.d.ts +0 -20
  347. package/dist/input/keymap.js +0 -99
  348. package/dist/input/limits.d.ts +0 -118
  349. package/dist/input/limits.js +0 -109
  350. package/dist/input/mouse-events.d.ts +0 -87
  351. package/dist/input/mouse-events.js +0 -212
  352. package/dist/input/paste-parse.d.ts +0 -83
  353. package/dist/input/paste-parse.js +0 -107
  354. package/dist/input/pointer-router.d.ts +0 -11
  355. package/dist/input/pointer-router.js +0 -14
  356. package/dist/input/stdin-filter.d.ts +0 -112
  357. package/dist/input/stdin-filter.js +0 -657
  358. package/dist/input/win32-input-mode.d.ts +0 -61
  359. package/dist/input/win32-input-mode.js +0 -269
  360. package/dist/logging/levels.d.ts +0 -40
  361. package/dist/logging/levels.js +0 -59
  362. package/dist/logging/secret-registry.d.ts +0 -32
  363. package/dist/logging/secret-registry.js +0 -73
  364. package/dist/proc/limits.d.ts +0 -200
  365. package/dist/proc/limits.js +0 -207
  366. package/dist/proc/progress.d.ts +0 -40
  367. package/dist/proc/progress.js +0 -135
  368. package/dist/proc/types.d.ts +0 -263
  369. package/dist/proc/types.js +0 -15
  370. package/dist/prompts/copy.d.ts +0 -89
  371. package/dist/prompts/copy.js +0 -131
  372. package/dist/prompts/fill.d.ts +0 -51
  373. package/dist/prompts/fill.js +0 -46
  374. package/dist/prompts/limits.d.ts +0 -53
  375. package/dist/prompts/limits.js +0 -53
  376. package/dist/prompts/search.d.ts +0 -58
  377. package/dist/prompts/search.js +0 -146
  378. package/dist/prompts/types.d.ts +0 -204
  379. package/dist/prompts/types.js +0 -13
  380. package/dist/team/activity.d.ts +0 -67
  381. package/dist/team/activity.js +0 -130
  382. package/dist/team/limits.d.ts +0 -308
  383. package/dist/team/limits.js +0 -330
  384. package/dist/team/model.d.ts +0 -104
  385. package/dist/team/model.js +0 -150
  386. package/dist/team/panel-rows.d.ts +0 -48
  387. package/dist/team/panel-rows.js +0 -75
  388. package/dist/team/timeline.d.ts +0 -74
  389. package/dist/team/timeline.js +0 -101
  390. package/dist/team/types.d.ts +0 -354
  391. package/dist/team/types.js +0 -13
  392. package/dist/todo/acceptance.d.ts +0 -120
  393. package/dist/todo/acceptance.js +0 -399
  394. package/dist/todo/follow-through.d.ts +0 -138
  395. package/dist/todo/follow-through.js +0 -248
  396. package/dist/todo/limits.d.ts +0 -152
  397. package/dist/todo/limits.js +0 -152
  398. package/dist/todo/panel-rows.d.ts +0 -45
  399. package/dist/todo/panel-rows.js +0 -70
  400. package/dist/todo/plan-sections.d.ts +0 -60
  401. package/dist/todo/plan-sections.js +0 -108
  402. package/dist/todo/row-window.d.ts +0 -51
  403. package/dist/todo/row-window.js +0 -107
  404. package/dist/todo/types.d.ts +0 -124
  405. package/dist/todo/types.js +0 -12
  406. package/dist/tools/human-input.d.ts +0 -212
  407. package/dist/tools/human-input.js +0 -265
  408. package/dist/tools/patch.d.ts +0 -115
  409. package/dist/tools/patch.js +0 -453
  410. package/dist/tools/terminal-output.d.ts +0 -115
  411. package/dist/tools/terminal-output.js +0 -201
  412. package/dist/tools/tool-output-store.d.ts +0 -68
  413. package/dist/tools/tool-output-store.js +0 -102
  414. package/dist/ui/ActivityLine.d.ts +0 -26
  415. package/dist/ui/ActivityLine.js +0 -48
  416. package/dist/ui/AutocompletePopup.d.ts +0 -23
  417. package/dist/ui/AutocompletePopup.js +0 -17
  418. package/dist/ui/BottomStatusRow.d.ts +0 -10
  419. package/dist/ui/BottomStatusRow.js +0 -9
  420. package/dist/ui/Composer.d.ts +0 -115
  421. package/dist/ui/Composer.js +0 -64
  422. package/dist/ui/GovernancePanel.d.ts +0 -50
  423. package/dist/ui/GovernancePanel.js +0 -77
  424. package/dist/ui/GovernanceRun.d.ts +0 -18
  425. package/dist/ui/GovernanceRun.js +0 -11
  426. package/dist/ui/Header.d.ts +0 -48
  427. package/dist/ui/Header.js +0 -27
  428. package/dist/ui/Logo.d.ts +0 -32
  429. package/dist/ui/Logo.js +0 -65
  430. package/dist/ui/Markdown.d.ts +0 -29
  431. package/dist/ui/Markdown.js +0 -116
  432. package/dist/ui/PromptCaret.d.ts +0 -11
  433. package/dist/ui/PromptCaret.js +0 -31
  434. package/dist/ui/PromptInput.d.ts +0 -192
  435. package/dist/ui/PromptInput.js +0 -689
  436. package/dist/ui/QueuePanel.d.ts +0 -8
  437. package/dist/ui/QueuePanel.js +0 -9
  438. package/dist/ui/QueueStatusRow.d.ts +0 -24
  439. package/dist/ui/QueueStatusRow.js +0 -51
  440. package/dist/ui/ScrollbackShell.d.ts +0 -132
  441. package/dist/ui/ScrollbackShell.js +0 -26
  442. package/dist/ui/SessionOpener.d.ts +0 -30
  443. package/dist/ui/SessionOpener.js +0 -12
  444. package/dist/ui/StatusBar.d.ts +0 -129
  445. package/dist/ui/StatusBar.js +0 -61
  446. package/dist/ui/TeamPanel.d.ts +0 -76
  447. package/dist/ui/TeamPanel.js +0 -103
  448. package/dist/ui/ToastStack.d.ts +0 -8
  449. package/dist/ui/ToastStack.js +0 -31
  450. package/dist/ui/TodoPanel.d.ts +0 -52
  451. package/dist/ui/TodoPanel.js +0 -214
  452. package/dist/ui/Transcript.d.ts +0 -105
  453. package/dist/ui/Transcript.js +0 -251
  454. package/dist/ui/UpdateLine.d.ts +0 -44
  455. package/dist/ui/UpdateLine.js +0 -129
  456. package/dist/ui/activity-phrases.d.ts +0 -33
  457. package/dist/ui/activity-phrases.js +0 -50
  458. package/dist/ui/capabilities.d.ts +0 -27
  459. package/dist/ui/capabilities.js +0 -65
  460. package/dist/ui/clipboard-task.d.ts +0 -29
  461. package/dist/ui/clipboard-task.js +0 -66
  462. package/dist/ui/clipboard.d.ts +0 -31
  463. package/dist/ui/clipboard.js +0 -157
  464. package/dist/ui/color-runtime.d.ts +0 -5
  465. package/dist/ui/color-runtime.js +0 -29
  466. package/dist/ui/composer-input.d.ts +0 -38
  467. package/dist/ui/composer-input.js +0 -79
  468. package/dist/ui/composer-limits.d.ts +0 -30
  469. package/dist/ui/composer-limits.js +0 -45
  470. package/dist/ui/composer-rows.d.ts +0 -73
  471. package/dist/ui/composer-rows.js +0 -129
  472. package/dist/ui/console-bridge.d.ts +0 -19
  473. package/dist/ui/console-bridge.js +0 -52
  474. package/dist/ui/density.d.ts +0 -26
  475. package/dist/ui/density.js +0 -34
  476. package/dist/ui/display-tab.d.ts +0 -51
  477. package/dist/ui/display-tab.js +0 -82
  478. package/dist/ui/editor-navigation.d.ts +0 -55
  479. package/dist/ui/editor-navigation.js +0 -96
  480. package/dist/ui/editor-reducer.d.ts +0 -108
  481. package/dist/ui/editor-reducer.js +0 -187
  482. package/dist/ui/enter-frames.d.ts +0 -47
  483. package/dist/ui/enter-frames.js +0 -117
  484. package/dist/ui/entries/AssistantEntry.d.ts +0 -37
  485. package/dist/ui/entries/AssistantEntry.js +0 -43
  486. package/dist/ui/entries/CompactionCard.d.ts +0 -88
  487. package/dist/ui/entries/CompactionCard.js +0 -222
  488. package/dist/ui/entries/DiffView.d.ts +0 -61
  489. package/dist/ui/entries/DiffView.js +0 -103
  490. package/dist/ui/entries/EntryFrame.d.ts +0 -23
  491. package/dist/ui/entries/EntryFrame.js +0 -6
  492. package/dist/ui/entries/FastCard.d.ts +0 -53
  493. package/dist/ui/entries/FastCard.js +0 -105
  494. package/dist/ui/entries/GovernanceCard.d.ts +0 -30
  495. package/dist/ui/entries/GovernanceCard.js +0 -32
  496. package/dist/ui/entries/InvocationCard.d.ts +0 -20
  497. package/dist/ui/entries/InvocationCard.js +0 -32
  498. package/dist/ui/entries/QueuedEntry.d.ts +0 -27
  499. package/dist/ui/entries/QueuedEntry.js +0 -33
  500. package/dist/ui/entries/RetryCard.d.ts +0 -56
  501. package/dist/ui/entries/RetryCard.js +0 -60
  502. package/dist/ui/entries/ServiceCard.d.ts +0 -82
  503. package/dist/ui/entries/ServiceCard.js +0 -151
  504. package/dist/ui/entries/TeamCard.d.ts +0 -55
  505. package/dist/ui/entries/TeamCard.js +0 -94
  506. package/dist/ui/entries/TodoCard.d.ts +0 -54
  507. package/dist/ui/entries/TodoCard.js +0 -98
  508. package/dist/ui/entries/ToolCard.d.ts +0 -81
  509. package/dist/ui/entries/ToolCard.js +0 -160
  510. package/dist/ui/entries/ToolPreview.d.ts +0 -59
  511. package/dist/ui/entries/ToolPreview.js +0 -208
  512. package/dist/ui/entries/UserEntry.d.ts +0 -36
  513. package/dist/ui/entries/UserEntry.js +0 -57
  514. package/dist/ui/exit-snapshot.d.ts +0 -43
  515. package/dist/ui/exit-snapshot.js +0 -26
  516. package/dist/ui/frame-differ.d.ts +0 -166
  517. package/dist/ui/frame-differ.js +0 -354
  518. package/dist/ui/frame-observer.d.ts +0 -17
  519. package/dist/ui/frame-observer.js +0 -94
  520. package/dist/ui/frame-parser.d.ts +0 -7
  521. package/dist/ui/frame-parser.js +0 -18
  522. package/dist/ui/gauge.d.ts +0 -39
  523. package/dist/ui/gauge.js +0 -55
  524. package/dist/ui/glyphs.d.ts +0 -178
  525. package/dist/ui/glyphs.js +0 -165
  526. package/dist/ui/governance-copy.d.ts +0 -69
  527. package/dist/ui/governance-copy.js +0 -104
  528. package/dist/ui/governance-status.d.ts +0 -145
  529. package/dist/ui/governance-status.js +0 -326
  530. package/dist/ui/gradient.d.ts +0 -11
  531. package/dist/ui/gradient.js +0 -50
  532. package/dist/ui/ink-runtime.d.ts +0 -4
  533. package/dist/ui/ink-runtime.js +0 -51
  534. package/dist/ui/interaction-copy.d.ts +0 -82
  535. package/dist/ui/interaction-copy.js +0 -38
  536. package/dist/ui/interaction-hints.d.ts +0 -44
  537. package/dist/ui/interaction-hints.js +0 -97
  538. package/dist/ui/layout/AppShell.d.ts +0 -17
  539. package/dist/ui/layout/AppShell.js +0 -6
  540. package/dist/ui/layout/Gutter.d.ts +0 -67
  541. package/dist/ui/layout/Gutter.js +0 -42
  542. package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
  543. package/dist/ui/layout/MeasuredEntry.js +0 -30
  544. package/dist/ui/layout/OverlayFrame.d.ts +0 -73
  545. package/dist/ui/layout/OverlayFrame.js +0 -110
  546. package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
  547. package/dist/ui/layout/ScrollIndicator.js +0 -22
  548. package/dist/ui/layout/ScrollViewport.d.ts +0 -40
  549. package/dist/ui/layout/ScrollViewport.js +0 -222
  550. package/dist/ui/layout/agents-board.d.ts +0 -102
  551. package/dist/ui/layout/agents-board.js +0 -389
  552. package/dist/ui/layout/autocomplete.d.ts +0 -18
  553. package/dist/ui/layout/autocomplete.js +0 -26
  554. package/dist/ui/layout/budget.d.ts +0 -43
  555. package/dist/ui/layout/budget.js +0 -52
  556. package/dist/ui/layout/cells.d.ts +0 -61
  557. package/dist/ui/layout/cells.js +0 -156
  558. package/dist/ui/layout/document-layout.d.ts +0 -13
  559. package/dist/ui/layout/document-layout.js +0 -10
  560. package/dist/ui/layout/follow-state.d.ts +0 -138
  561. package/dist/ui/layout/follow-state.js +0 -148
  562. package/dist/ui/layout/frame.d.ts +0 -36
  563. package/dist/ui/layout/frame.js +0 -39
  564. package/dist/ui/layout/governance-board.d.ts +0 -121
  565. package/dist/ui/layout/governance-board.js +0 -382
  566. package/dist/ui/layout/governance-card.d.ts +0 -53
  567. package/dist/ui/layout/governance-card.js +0 -134
  568. package/dist/ui/layout/governance-chip.d.ts +0 -38
  569. package/dist/ui/layout/governance-chip.js +0 -64
  570. package/dist/ui/layout/governance-panel.d.ts +0 -85
  571. package/dist/ui/layout/governance-panel.js +0 -358
  572. package/dist/ui/layout/governance-roster.d.ts +0 -65
  573. package/dist/ui/layout/governance-roster.js +0 -275
  574. package/dist/ui/layout/header-hints.d.ts +0 -90
  575. package/dist/ui/layout/header-hints.js +0 -110
  576. package/dist/ui/layout/header-left.d.ts +0 -115
  577. package/dist/ui/layout/header-left.js +0 -206
  578. package/dist/ui/layout/invocation-card.d.ts +0 -41
  579. package/dist/ui/layout/invocation-card.js +0 -91
  580. package/dist/ui/layout/kit-chip.d.ts +0 -50
  581. package/dist/ui/layout/kit-chip.js +0 -81
  582. package/dist/ui/layout/overlay-window.d.ts +0 -43
  583. package/dist/ui/layout/overlay-window.js +0 -51
  584. package/dist/ui/layout/queue-layout.d.ts +0 -19
  585. package/dist/ui/layout/queue-layout.js +0 -26
  586. package/dist/ui/layout/rail.d.ts +0 -7
  587. package/dist/ui/layout/rail.js +0 -16
  588. package/dist/ui/layout/scroll-indicator.d.ts +0 -27
  589. package/dist/ui/layout/scroll-indicator.js +0 -36
  590. package/dist/ui/layout/scroll.d.ts +0 -37
  591. package/dist/ui/layout/scroll.js +0 -99
  592. package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
  593. package/dist/ui/layout/scrollbar-geometry.js +0 -13
  594. package/dist/ui/layout/session-chip.d.ts +0 -52
  595. package/dist/ui/layout/session-chip.js +0 -64
  596. package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
  597. package/dist/ui/layout/shortcut-panel-layout.js +0 -321
  598. package/dist/ui/layout/status-detail-layout.d.ts +0 -9
  599. package/dist/ui/layout/status-detail-layout.js +0 -79
  600. package/dist/ui/layout/status-layout.d.ts +0 -139
  601. package/dist/ui/layout/status-layout.js +0 -253
  602. package/dist/ui/layout/task-summary-cell.d.ts +0 -61
  603. package/dist/ui/layout/task-summary-cell.js +0 -65
  604. package/dist/ui/layout/team-panel.d.ts +0 -18
  605. package/dist/ui/layout/team-panel.js +0 -25
  606. package/dist/ui/layout/team-row.d.ts +0 -139
  607. package/dist/ui/layout/team-row.js +0 -246
  608. package/dist/ui/layout/todo-layout.d.ts +0 -62
  609. package/dist/ui/layout/todo-layout.js +0 -102
  610. package/dist/ui/layout/useTerminalSize.d.ts +0 -13
  611. package/dist/ui/layout/useTerminalSize.js +0 -50
  612. package/dist/ui/layout/viewport-geometry.d.ts +0 -29
  613. package/dist/ui/layout/viewport-geometry.js +0 -28
  614. package/dist/ui/layout/virtual-window.d.ts +0 -112
  615. package/dist/ui/layout/virtual-window.js +0 -488
  616. package/dist/ui/layout/wrap-rows.d.ts +0 -26
  617. package/dist/ui/layout/wrap-rows.js +0 -88
  618. package/dist/ui/live-clamp.d.ts +0 -14
  619. package/dist/ui/live-clamp.js +0 -46
  620. package/dist/ui/markdown-blocks.d.ts +0 -107
  621. package/dist/ui/markdown-blocks.js +0 -240
  622. package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
  623. package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
  624. package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
  625. package/dist/ui/overlays/ConfirmDialog.js +0 -44
  626. package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
  627. package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
  628. package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
  629. package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
  630. package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
  631. package/dist/ui/overlays/HelpOverlay.js +0 -232
  632. package/dist/ui/overlays/KitEditor.d.ts +0 -23
  633. package/dist/ui/overlays/KitEditor.js +0 -101
  634. package/dist/ui/overlays/KitManager.d.ts +0 -23
  635. package/dist/ui/overlays/KitManager.js +0 -104
  636. package/dist/ui/overlays/KitPicker.d.ts +0 -49
  637. package/dist/ui/overlays/KitPicker.js +0 -58
  638. package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
  639. package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
  640. package/dist/ui/overlays/ModelPicker.d.ts +0 -26
  641. package/dist/ui/overlays/ModelPicker.js +0 -63
  642. package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
  643. package/dist/ui/overlays/ModelProfileEditor.js +0 -168
  644. package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
  645. package/dist/ui/overlays/ModelProfilePicker.js +0 -231
  646. package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
  647. package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
  648. package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
  649. package/dist/ui/overlays/PromptEditorPage.js +0 -227
  650. package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
  651. package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
  652. package/dist/ui/overlays/PromptPicker.d.ts +0 -36
  653. package/dist/ui/overlays/PromptPicker.js +0 -129
  654. package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
  655. package/dist/ui/overlays/PromptTextArea.js +0 -141
  656. package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
  657. package/dist/ui/overlays/QuestionOverlay.js +0 -258
  658. package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
  659. package/dist/ui/overlays/QueueOverlay.js +0 -79
  660. package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
  661. package/dist/ui/overlays/SettingsScreen.js +0 -1037
  662. package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
  663. package/dist/ui/overlays/ShortcutPanel.js +0 -106
  664. package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
  665. package/dist/ui/overlays/TeamFanoutPage.js +0 -90
  666. package/dist/ui/overlays/governance-settings.d.ts +0 -79
  667. package/dist/ui/overlays/governance-settings.js +0 -140
  668. package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
  669. package/dist/ui/overlays/kit-picker-state.js +0 -136
  670. package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
  671. package/dist/ui/overlays/kit-settings-state.js +0 -268
  672. package/dist/ui/overlays/model-probe-view.d.ts +0 -128
  673. package/dist/ui/overlays/model-probe-view.js +0 -225
  674. package/dist/ui/overlays/model-profile-state.d.ts +0 -177
  675. package/dist/ui/overlays/model-profile-state.js +0 -301
  676. package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
  677. package/dist/ui/overlays/prompt-library-state.js +0 -335
  678. package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
  679. package/dist/ui/overlays/prompt-picker-state.js +0 -98
  680. package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
  681. package/dist/ui/overlays/team-fanout-state.js +0 -155
  682. package/dist/ui/overlays/use-model-probe.d.ts +0 -30
  683. package/dist/ui/overlays/use-model-probe.js +0 -109
  684. package/dist/ui/palettes.d.ts +0 -112
  685. package/dist/ui/palettes.js +0 -130
  686. package/dist/ui/paste-frames.d.ts +0 -91
  687. package/dist/ui/paste-frames.js +0 -117
  688. package/dist/ui/paste-tokens.d.ts +0 -90
  689. package/dist/ui/paste-tokens.js +0 -147
  690. package/dist/ui/render-cache.d.ts +0 -81
  691. package/dist/ui/render-cache.js +0 -196
  692. package/dist/ui/render-governor.d.ts +0 -54
  693. package/dist/ui/render-governor.js +0 -78
  694. package/dist/ui/run-metrics.d.ts +0 -23
  695. package/dist/ui/run-metrics.js +0 -27
  696. package/dist/ui/run-status-row.d.ts +0 -61
  697. package/dist/ui/run-status-row.js +0 -54
  698. package/dist/ui/screen.d.ts +0 -107
  699. package/dist/ui/screen.js +0 -234
  700. package/dist/ui/scrollback/LiveTail.d.ts +0 -115
  701. package/dist/ui/scrollback/LiveTail.js +0 -48
  702. package/dist/ui/scrollback/band.d.ts +0 -114
  703. package/dist/ui/scrollback/band.js +0 -143
  704. package/dist/ui/scrollback/budget.d.ts +0 -90
  705. package/dist/ui/scrollback/budget.js +0 -100
  706. package/dist/ui/scrollback/canvas.d.ts +0 -100
  707. package/dist/ui/scrollback/canvas.js +0 -114
  708. package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
  709. package/dist/ui/scrollback/cursor-probe.js +0 -133
  710. package/dist/ui/scrollback/drain.d.ts +0 -32
  711. package/dist/ui/scrollback/drain.js +0 -64
  712. package/dist/ui/scrollback/exit-summary.d.ts +0 -23
  713. package/dist/ui/scrollback/exit-summary.js +0 -25
  714. package/dist/ui/scrollback/limits.d.ts +0 -98
  715. package/dist/ui/scrollback/limits.js +0 -98
  716. package/dist/ui/scrollback/live-preview.d.ts +0 -34
  717. package/dist/ui/scrollback/live-preview.js +0 -118
  718. package/dist/ui/scrollback/overflow-print.d.ts +0 -108
  719. package/dist/ui/scrollback/overflow-print.js +0 -120
  720. package/dist/ui/scrollback/renderer.d.ts +0 -48
  721. package/dist/ui/scrollback/renderer.js +0 -186
  722. package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
  723. package/dist/ui/scrollback/scrollback-writer.js +0 -648
  724. package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
  725. package/dist/ui/scrollback/settled-boundary.js +0 -109
  726. package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
  727. package/dist/ui/scrollback/tail-anchor.js +0 -79
  728. package/dist/ui/scrollback/tail-window.d.ts +0 -73
  729. package/dist/ui/scrollback/tail-window.js +0 -89
  730. package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
  731. package/dist/ui/scrollback/use-scrollback-view.js +0 -601
  732. package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
  733. package/dist/ui/scrollback/writer-shapes.js +0 -159
  734. package/dist/ui/scrollbar-controller.d.ts +0 -30
  735. package/dist/ui/scrollbar-controller.js +0 -124
  736. package/dist/ui/selection/highlight.d.ts +0 -39
  737. package/dist/ui/selection/highlight.js +0 -64
  738. package/dist/ui/selection/screen-mirror.d.ts +0 -24
  739. package/dist/ui/selection/screen-mirror.js +0 -35
  740. package/dist/ui/selection/selection-controller.d.ts +0 -104
  741. package/dist/ui/selection/selection-controller.js +0 -372
  742. package/dist/ui/selection/selection.d.ts +0 -90
  743. package/dist/ui/selection/selection.js +0 -223
  744. package/dist/ui/shortcuts.d.ts +0 -81
  745. package/dist/ui/shortcuts.js +0 -221
  746. package/dist/ui/status-feedback.d.ts +0 -35
  747. package/dist/ui/status-feedback.js +0 -38
  748. package/dist/ui/stdout-frame-writer.d.ts +0 -74
  749. package/dist/ui/stdout-frame-writer.js +0 -155
  750. package/dist/ui/team-status.d.ts +0 -166
  751. package/dist/ui/team-status.js +0 -252
  752. package/dist/ui/terminal-plan.d.ts +0 -52
  753. package/dist/ui/terminal-plan.js +0 -49
  754. package/dist/ui/theme.d.ts +0 -96
  755. package/dist/ui/theme.js +0 -130
  756. package/dist/ui/transcript-text.d.ts +0 -41
  757. package/dist/ui/transcript-text.js +0 -282
  758. package/dist/ui/use-height-store.d.ts +0 -31
  759. package/dist/ui/use-height-store.js +0 -76
  760. package/dist/ui/use-render-governor.d.ts +0 -39
  761. package/dist/ui/use-render-governor.js +0 -57
  762. package/dist/ui/use-wheel-routing.d.ts +0 -57
  763. package/dist/ui/use-wheel-routing.js +0 -152
  764. package/dist/ui/win-vt-force.d.ts +0 -136
  765. package/dist/ui/win-vt-force.js +0 -237
  766. package/dist/ui/win-vt-input.d.ts +0 -57
  767. package/dist/ui/win-vt-input.js +0 -62
  768. package/dist/update/limits.d.ts +0 -111
  769. package/dist/update/limits.js +0 -111
  770. package/dist/update/semver.d.ts +0 -89
  771. package/dist/update/semver.js +0 -295
  772. package/dist/update/types.d.ts +0 -169
  773. package/dist/update/types.js +0 -68
  774. /package/dist/{ui → app}/session-bridge.d.ts +0 -0
  775. /package/dist/{ui → app}/session-bridge.js +0 -0
@@ -1,453 +0,0 @@
1
- /**
2
- * Structured file patches (agent-activity-presentation §3.3).
3
- *
4
- * PURE, NO I/O, NO REACT, ASCII-ONLY MARKERS. `glyphs.test.ts`'s static scan
5
- * walks ALL of `src/` (skipping only `__tests__/` and two exempt files), so this
6
- * module sits inside that guard rail directly rather than by analogy. The
7
- * substantive reason is the one `reducer.ts` gives for `PREVIEW_TRUNCATION_MARK`:
8
- * a string produced outside `src/ui/**` has no `TermCapabilities` in scope and
9
- * must be safe on a legacy `cmd.exe`.
10
- *
11
- * The ladder is ANCHORED SPLIT -> BOUNDED LCS -> BLOCK REPLACE, and every
12
- * recursion path terminates in one of three leaf returns. `blockReplace` is
13
- * exactly what `renderUnifiedDiff` produced before this round — every old row as
14
- * `del`, then every new row as `add` — kept as the explicit, bounded fallback so
15
- * a pathological input degrades to today's behaviour rather than hanging.
16
- *
17
- * `buildPatch` is TOTAL: it never throws, for any pair of strings.
18
- */
19
- export const PATCH_LIMITS = {
20
- /**
21
- * Context rows kept either side of a change, FOR THE UI.
22
- *
23
- * The text renderer does NOT use this (D-20): `renderUnifiedDiff` keeps its
24
- * own `CONTEXT_LINES = 2` default so the model-facing diff does not silently
25
- * widen by two rows on every single-region edit. One algorithm, two widths,
26
- * chosen by the caller.
27
- */
28
- context: 3,
29
- /**
30
- * Hunks separated by this many context rows or fewer are merged into one.
31
- *
32
- * MUST STAY `>= 2 * context` FOR EVERY CALLER'S CONTEXT WIDTH, or two adjacent
33
- * hunks expanded by `context` would overlap and the same row would be rendered
34
- * twice with two different line numbers. 6 covers both widths in use (3 and 2).
35
- */
36
- mergeGap: 6,
37
- /** Rendered rows a patch may carry, across all hunks. */
38
- maxLines: 200,
39
- /** Total characters across all `PatchLine.text`. Mirrors STORED_PREVIEW_CHARS. */
40
- maxChars: 8_000,
41
- /** A single row is truncated past this, with `TRUNCATION_MARK`. */
42
- maxLineChars: 500,
43
- /** Above this cell count the LCS leaf is refused; the segment becomes a block replace. */
44
- lcsCellBudget: 160_000, // 400 x 400
45
- /** Recursion depth ceiling for the anchor split. */
46
- maxDepth: 32,
47
- /** Old-side bytes above which `write_file` does not read for a diff. */
48
- readMaxBytes: 2 * 1024 * 1024,
49
- /** Model-facing diff text ceiling — a bound `edit_file` does not have today. */
50
- modelDiffMaxChars: 4_000,
51
- };
52
- /**
53
- * Appended to a row clipped at `maxLineChars`.
54
- *
55
- * SPELLED HERE RATHER THAN IMPORTED from `agent/reducer.ts`, so that `tools/`
56
- * does not take a runtime dependency on the view model for one three-character
57
- * string. `patch.test.ts` asserts the two spellings are equal, so the pair
58
- * cannot drift silently — which is the property the import would have bought.
59
- */
60
- export const TRUNCATION_MARK = '...';
61
- /** The note emitted when exactly one side ends with a newline. */
62
- export const NO_NEWLINE_NOTE = '(no newline at end of file)';
63
- // ---------------------------------------------------------------------------
64
- // Entry point
65
- // ---------------------------------------------------------------------------
66
- export function buildPatch(oldText, newText, options) {
67
- const context = clampContext(options.context);
68
- const oldLines = oldText === null ? [] : splitLines(oldText);
69
- const newLines = splitLines(newText);
70
- const rows = oldText === null
71
- ? newLines.map((_, i) => ({ kind: 'add', b: i }))
72
- : collectRows(oldLines, newLines, context);
73
- if (oldText !== null && endsWithNewline(oldText) !== endsWithNewline(newText)) {
74
- rows.push({ kind: 'ctx', note: true });
75
- }
76
- // Counted BEFORE truncation, so the `+6 -5` summary always describes the real
77
- // change even when the body is clipped.
78
- let added = 0;
79
- let removed = 0;
80
- for (const row of rows) {
81
- if (row.kind === 'add')
82
- added += 1;
83
- else if (row.kind === 'del')
84
- removed += 1;
85
- }
86
- const budgeted = applyBudgets(assembleHunks(rows, oldLines, newLines, context));
87
- return {
88
- path: options.path,
89
- kind: oldText === null && !options.degraded ? 'create' : 'update',
90
- added,
91
- removed,
92
- hunks: budgeted.hunks,
93
- truncated: budgeted.truncated,
94
- lineCount: budgeted.lineCount,
95
- ...(options.degraded ? { degraded: options.degraded } : {}),
96
- };
97
- }
98
- // ---------------------------------------------------------------------------
99
- // Step 0 — split and normalize
100
- // ---------------------------------------------------------------------------
101
- /**
102
- * Split on `\n`, dropping the phantom trailing element a file-final newline
103
- * produces. An empty string is ZERO lines, not one empty line.
104
- *
105
- * The RAW string is what later comparisons see, `\r` included: a CRLF-to-LF
106
- * conversion is a change and must be reported as one. Only `PatchLine.text` has
107
- * the CR stripped, and only for rendering.
108
- */
109
- function splitLines(text) {
110
- if (text.length === 0)
111
- return [];
112
- const lines = text.split('\n');
113
- if (lines[lines.length - 1] === '')
114
- lines.pop();
115
- return lines;
116
- }
117
- function endsWithNewline(text) {
118
- return text.endsWith('\n');
119
- }
120
- function renderText(raw) {
121
- return raw.endsWith('\r') ? raw.slice(0, -1) : raw;
122
- }
123
- /**
124
- * The context width, clamped to HALF the merge gap.
125
- *
126
- * The ceiling is structural, not taste: two groups survive as separate hunks
127
- * only when more than `mergeGap` context rows separate them, and each is then
128
- * expanded by `context` rows from its own side. At `context > mergeGap / 2` the
129
- * two expansions overlap and the same source row is rendered twice, under two
130
- * different line numbers, with nothing reporting it. Both callers pass 3 or 2.
131
- */
132
- function clampContext(requested) {
133
- const ceiling = Math.floor(PATCH_LIMITS.mergeGap / 2);
134
- if (requested === undefined || !Number.isFinite(requested)) {
135
- return Math.min(PATCH_LIMITS.context, ceiling);
136
- }
137
- return Math.max(0, Math.min(ceiling, Math.floor(requested)));
138
- }
139
- // ---------------------------------------------------------------------------
140
- // Steps 2-3 — trim, then the anchored split
141
- // ---------------------------------------------------------------------------
142
- /**
143
- * Trim the common prefix and suffix, diff the middle, and emit at most `context`
144
- * unchanged rows on either side.
145
- *
146
- * Emitting only the fringe rather than the whole file is what keeps this O(change)
147
- * in allocations: a one-line edit in a 50 000-line file builds a handful of rows,
148
- * not fifty thousand.
149
- */
150
- function collectRows(oldLines, newLines, context) {
151
- let start = 0;
152
- const maxStart = Math.min(oldLines.length, newLines.length);
153
- while (start < maxStart && oldLines[start] === newLines[start])
154
- start += 1;
155
- let endOld = oldLines.length - 1;
156
- let endNew = newLines.length - 1;
157
- while (endOld >= start && endNew >= start && oldLines[endOld] === newLines[endNew]) {
158
- endOld -= 1;
159
- endNew -= 1;
160
- }
161
- // Identical files: no hunks at all, rather than today's stray context rows.
162
- if (start > endOld && start > endNew)
163
- return [];
164
- const rows = [];
165
- const lead = Math.min(context, start);
166
- for (let i = start - lead; i < start; i += 1)
167
- rows.push({ kind: 'ctx', a: i, b: i });
168
- const middle = { aLo: start, aHi: endOld, bLo: start, bHi: endNew };
169
- for (const row of diffRange(oldLines, newLines, middle, 0))
170
- rows.push(row);
171
- const tail = Math.min(context, oldLines.length - 1 - endOld);
172
- for (let k = 1; k <= tail; k += 1)
173
- rows.push({ kind: 'ctx', a: endOld + k, b: endNew + k });
174
- return rows;
175
- }
176
- /**
177
- * Patience-style recursive split.
178
- *
179
- * TERMINATION: the three degenerate cases and the depth cap return leaves
180
- * outright; the recursive branch only runs when at least one anchor was kept,
181
- * and every sub-range it builds excludes that anchor's rows on both sides — so
182
- * each call is on a strictly smaller range.
183
- */
184
- function diffRange(a, b, r, depth) {
185
- if (r.aLo > r.aHi && r.bLo > r.bHi)
186
- return [];
187
- if (r.aLo > r.aHi)
188
- return addRows(r.bLo, r.bHi);
189
- if (r.bLo > r.bHi)
190
- return delRows(r.aLo, r.aHi);
191
- if (depth >= PATCH_LIMITS.maxDepth)
192
- return blockReplace(r);
193
- const anchors = pickAnchors(a, b, r);
194
- if (anchors.length === 0) {
195
- const cells = (r.aHi - r.aLo + 1) * (r.bHi - r.bLo + 1);
196
- return cells <= PATCH_LIMITS.lcsCellBudget ? lcsDiff(a, b, r) : blockReplace(r);
197
- }
198
- const out = [];
199
- let ai = r.aLo;
200
- let bi = r.bLo;
201
- for (const anchor of anchors) {
202
- const gap = { aLo: ai, aHi: anchor.a - 1, bLo: bi, bHi: anchor.b - 1 };
203
- for (const row of diffRange(a, b, gap, depth + 1))
204
- out.push(row);
205
- out.push({ kind: 'ctx', a: anchor.a, b: anchor.b });
206
- ai = anchor.a + 1;
207
- bi = anchor.b + 1;
208
- }
209
- const rest = { aLo: ai, aHi: r.aHi, bLo: bi, bHi: r.bHi };
210
- for (const row of diffRange(a, b, rest, depth + 1))
211
- out.push(row);
212
- return out;
213
- }
214
- function addRows(lo, hi) {
215
- const out = [];
216
- for (let i = lo; i <= hi; i += 1)
217
- out.push({ kind: 'add', b: i });
218
- return out;
219
- }
220
- function delRows(lo, hi) {
221
- const out = [];
222
- for (let i = lo; i <= hi; i += 1)
223
- out.push({ kind: 'del', a: i });
224
- return out;
225
- }
226
- /** Today's behaviour, kept as the bounded fallback: every del, then every add. */
227
- function blockReplace(r) {
228
- return [...delRows(r.aLo, r.aHi), ...addRows(r.bLo, r.bHi)];
229
- }
230
- /** Lines occurring EXACTLY ONCE on both sides, kept in a common increasing order. */
231
- function pickAnchors(a, b, r) {
232
- const aSeen = new Map();
233
- const aAt = new Map();
234
- for (let i = r.aLo; i <= r.aHi; i += 1) {
235
- const line = a[i];
236
- aSeen.set(line, (aSeen.get(line) ?? 0) + 1);
237
- aAt.set(line, i);
238
- }
239
- const bSeen = new Map();
240
- const bAt = new Map();
241
- for (let i = r.bLo; i <= r.bHi; i += 1) {
242
- const line = b[i];
243
- bSeen.set(line, (bSeen.get(line) ?? 0) + 1);
244
- bAt.set(line, i);
245
- }
246
- const pairs = [];
247
- for (const [line, count] of aSeen) {
248
- if (count !== 1 || bSeen.get(line) !== 1)
249
- continue;
250
- pairs.push({ a: aAt.get(line), b: bAt.get(line) });
251
- }
252
- pairs.sort((x, y) => x.a - y.a);
253
- return longestIncreasingByB(pairs);
254
- }
255
- /** Longest strictly-increasing subsequence by `b`, via binary-searched piles. */
256
- function longestIncreasingByB(pairs) {
257
- const tails = [];
258
- const prev = new Array(pairs.length).fill(-1);
259
- for (let i = 0; i < pairs.length; i += 1) {
260
- let lo = 0;
261
- let hi = tails.length;
262
- while (lo < hi) {
263
- const mid = (lo + hi) >> 1;
264
- if (pairs[tails[mid]].b < pairs[i].b)
265
- lo = mid + 1;
266
- else
267
- hi = mid;
268
- }
269
- if (lo > 0)
270
- prev[i] = tails[lo - 1];
271
- tails[lo] = i;
272
- }
273
- const out = [];
274
- let k = tails.length > 0 ? tails[tails.length - 1] : -1;
275
- while (k >= 0) {
276
- out.push(pairs[k]);
277
- k = prev[k];
278
- }
279
- return out.reverse();
280
- }
281
- /** Textbook LCS over a leaf small enough to afford it (`lcsCellBudget`). */
282
- function lcsDiff(a, b, r) {
283
- const n = r.aHi - r.aLo + 1;
284
- const m = r.bHi - r.bLo + 1;
285
- const width = m + 1;
286
- const dp = new Int32Array((n + 1) * width);
287
- for (let i = n - 1; i >= 0; i -= 1) {
288
- for (let j = m - 1; j >= 0; j -= 1) {
289
- dp[i * width + j] =
290
- a[r.aLo + i] === b[r.bLo + j]
291
- ? dp[(i + 1) * width + j + 1] + 1
292
- : Math.max(dp[(i + 1) * width + j], dp[i * width + j + 1]);
293
- }
294
- }
295
- const out = [];
296
- let i = 0;
297
- let j = 0;
298
- while (i < n && j < m) {
299
- if (a[r.aLo + i] === b[r.bLo + j]) {
300
- out.push({ kind: 'ctx', a: r.aLo + i, b: r.bLo + j });
301
- i += 1;
302
- j += 1;
303
- }
304
- else if (dp[(i + 1) * width + j] >= dp[i * width + j + 1]) {
305
- out.push({ kind: 'del', a: r.aLo + i });
306
- i += 1;
307
- }
308
- else {
309
- out.push({ kind: 'add', b: r.bLo + j });
310
- j += 1;
311
- }
312
- }
313
- for (; i < n; i += 1)
314
- out.push({ kind: 'del', a: r.aLo + i });
315
- for (; j < m; j += 1)
316
- out.push({ kind: 'add', b: r.bLo + j });
317
- return out;
318
- }
319
- // ---------------------------------------------------------------------------
320
- // Step 4 — hunks
321
- // ---------------------------------------------------------------------------
322
- /**
323
- * Group changed rows into hunks, expanding each group by `context` rows.
324
- *
325
- * THE NOTE ROW COUNTS AS A CHANGE for grouping purposes even though it renders
326
- * as context: a file whose ONLY difference is its final newline has no `add` and
327
- * no `del` row at all, and grouping on kind alone would produce zero hunks and
328
- * report the change as nothing.
329
- */
330
- function assembleHunks(rows, oldLines, newLines, context) {
331
- const changed = [];
332
- for (let i = 0; i < rows.length; i += 1) {
333
- const row = rows[i];
334
- if (row.kind !== 'ctx' || row.note)
335
- changed.push(i);
336
- }
337
- if (changed.length === 0)
338
- return [];
339
- const groups = [];
340
- let from = changed[0];
341
- let to = changed[0];
342
- for (let k = 1; k < changed.length; k += 1) {
343
- const idx = changed[k];
344
- if (idx - to - 1 <= PATCH_LIMITS.mergeGap) {
345
- to = idx;
346
- continue;
347
- }
348
- groups.push([from, to]);
349
- from = idx;
350
- to = idx;
351
- }
352
- groups.push([from, to]);
353
- return groups.map(([lo, hi]) => {
354
- const slice = rows.slice(Math.max(0, lo - context), Math.min(rows.length, hi + context + 1));
355
- return makeHunk(slice.map((row) => toPatchLine(row, oldLines, newLines)));
356
- });
357
- }
358
- function toPatchLine(row, oldLines, newLines) {
359
- if (row.note)
360
- return { kind: 'ctx', text: NO_NEWLINE_NOTE };
361
- const line = { kind: row.kind, text: '' };
362
- if (row.a !== undefined) {
363
- line.oldLine = row.a + 1;
364
- line.text = renderText(oldLines[row.a]);
365
- }
366
- if (row.b !== undefined) {
367
- line.newLine = row.b + 1;
368
- line.text = renderText(newLines[row.b]);
369
- }
370
- return line;
371
- }
372
- /** Derive the `@@` header numbers from the rows the hunk actually carries. */
373
- function makeHunk(lines) {
374
- let oldStart = 0;
375
- let oldCount = 0;
376
- let newStart = 0;
377
- let newCount = 0;
378
- for (const line of lines) {
379
- if (line.oldLine !== undefined) {
380
- if (oldCount === 0)
381
- oldStart = line.oldLine;
382
- oldCount += 1;
383
- }
384
- if (line.newLine !== undefined) {
385
- if (newCount === 0)
386
- newStart = line.newLine;
387
- newCount += 1;
388
- }
389
- }
390
- return { oldStart, oldCount, newStart, newCount, lines };
391
- }
392
- /**
393
- * Clip long rows, then drop whole hunks from the TAIL until the row and
394
- * character budgets hold. Tail-first, because the top of a change is where a
395
- * reader starts.
396
- *
397
- * THE FIRST HUNK IS KEPT EVEN WHEN IT ALONE EXCEEDS THE BUDGET, and its rows are
398
- * clipped from the tail instead. A 300-line `write_file` is one hunk of 300 add
399
- * rows against a 200-row ceiling: dropping whole hunks only would leave ZERO,
400
- * and the card would render a `+300 -0` summary over nothing — precisely the
401
- * "reported as a byte count" failure this feature exists to fix (see the Issues
402
- * Found section of the design).
403
- */
404
- function applyBudgets(input) {
405
- const hunks = input.map(clipHunkText);
406
- let rows = 0;
407
- let chars = 0;
408
- let keep = 0;
409
- for (const hunk of hunks) {
410
- const hunkRows = hunk.lines.length;
411
- const hunkChars = hunk.lines.reduce((n, line) => n + line.text.length, 0);
412
- const fits = rows + hunkRows <= PATCH_LIMITS.maxLines && chars + hunkChars <= PATCH_LIMITS.maxChars;
413
- // The FIRST hunk is accepted whether or not it fits; see the note above.
414
- if (keep > 0 && !fits)
415
- break;
416
- rows += hunkRows;
417
- chars += hunkChars;
418
- keep += 1;
419
- }
420
- const kept = hunks.slice(0, Math.max(1, Math.min(keep, hunks.length)));
421
- let truncated = kept.length < hunks.length;
422
- if (rows > PATCH_LIMITS.maxLines || chars > PATCH_LIMITS.maxChars) {
423
- kept[0] = clipHunkRows(kept[0]);
424
- truncated = true;
425
- }
426
- return {
427
- hunks: kept,
428
- truncated,
429
- lineCount: kept.reduce((n, hunk) => n + hunk.lines.length, 0),
430
- };
431
- }
432
- function clipHunkText(hunk) {
433
- return {
434
- ...hunk,
435
- lines: hunk.lines.map((line) => line.text.length <= PATCH_LIMITS.maxLineChars
436
- ? line
437
- : { ...line, text: `${line.text.slice(0, PATCH_LIMITS.maxLineChars)}${TRUNCATION_MARK}` }),
438
- };
439
- }
440
- /** Keep the head of one hunk's rows, and re-derive its header numbers from it. */
441
- function clipHunkRows(hunk) {
442
- const lines = [];
443
- let chars = 0;
444
- for (const line of hunk.lines) {
445
- if (lines.length >= PATCH_LIMITS.maxLines)
446
- break;
447
- if (lines.length > 0 && chars + line.text.length > PATCH_LIMITS.maxChars)
448
- break;
449
- lines.push(line);
450
- chars += line.text.length;
451
- }
452
- return makeHunk(lines);
453
- }
@@ -1,115 +0,0 @@
1
- /**
2
- * Raw child-process output to terminal-safe rows (agent-activity-presentation-live
3
- * L2 / §3.2).
4
- *
5
- * NOTHING ELSE IN THIS TREE STRIPS ANSI (E-13). `renderBash` hands each line to
6
- * `<Text>` unmodified (`ui/entries/ToolPreview.tsx:180`), and that survives only
7
- * because the settled preview is printed ONCE, after the command has stopped
8
- * writing. Redraw the same text every frame while the child is still emitting
9
- * `\r`-rewritten progress bars and `\x1b[A` cursor moves and it stops being
10
- * survivable: the terminal honours cursor motion Ink does not know it emitted,
11
- * and `wrappedRows` measures escape bytes as if they were columns.
12
- *
13
- * So this module is the boundary. It runs ONCE, inside the store's `append`
14
- * (§3.1.1), and every reader downstream is already safe.
15
- *
16
- * Pure, ASCII-only, React-free, Ink-free, and TOTAL: `sanitizeChunk` never
17
- * throws, for any input including lone surrogates, NUL bytes, a chunk consisting
18
- * solely of `\x1b`, and a 4 MB chunk containing no `\n` at all.
19
- *
20
- * D-27 — IT STRIPS, IT DOES NOT INTERPRET. Keeping colour would mean validating
21
- * it (an unterminated SGR leaks its attribute into the rest of the frame), and
22
- * interpreting cursor motion would mean owning a screen buffer. Neither is a
23
- * presentation round's job.
24
- */
25
- /** Columns a live row may occupy before it is clipped. */
26
- export declare const LIVE_ROW_MAX_CHARS = 200;
27
- /** Tab stop width, matching every terminal's default. */
28
- export declare const TAB_WIDTH = 8;
29
- /**
30
- * The in-progress line's ceiling before it is flushed as a row (§3.2 step 7).
31
- *
32
- * AFTER STEP 4 THIS IS A RARE PATH RATHER THAN THE PROGRESS-BAR PATH (D-33). A
33
- * `\r`-rewritten bar collapses to one row however many times it is redrawn, so
34
- * reaching 400 characters with no `\n` requires a line that is genuinely that
35
- * long -- `cat` on a minified bundle. Without the bound the carry is an
36
- * unbounded accumulator.
37
- */
38
- export declare const CARRY_MAX_CHARS: number;
39
- /**
40
- * Appended to a row clipped at `LIVE_ROW_MAX_CHARS`.
41
- *
42
- * SPELLED HERE RATHER THAN IMPORTED from `agent/reducer.ts`, the rule
43
- * `patch.ts:95-103` already states for the identical string: `tools/` keeps no
44
- * runtime dependency on the view model for three characters, and
45
- * `terminal-output.test.ts` asserts the spellings are equal so the pair cannot
46
- * drift silently.
47
- */
48
- export declare const TRUNCATION_MARK = "...";
49
- export interface SanitizeResult {
50
- /** Complete rows, terminal-safe, in order. Each at most `LIVE_ROW_MAX_CHARS` (+ mark). */
51
- rows: string[];
52
- /**
53
- * The in-progress line: stripped, `\r`-collapsed and tab-expanded, bounded by
54
- * `CARRY_MAX_CHARS`.
55
- *
56
- * THIS IS STATE, NOT A ROW, and the difference is load-bearing. It is threaded
57
- * back into the next `sanitizeChunk` call verbatim, so it is deliberately NOT
58
- * clipped (a `'...'` spliced into the middle of a line the command is still
59
- * writing would then be overwritten INTO the stream) and it may carry a
60
- * trailing incomplete escape awaiting its final byte. Render it with
61
- * `toDisplayRow`, never directly.
62
- */
63
- carry: string;
64
- }
65
- /**
66
- * Remove every escape sequence and control byte except `\t` `\n` `\r`.
67
- *
68
- * SEQUENCE SYNTAX HAS ONE OWNER (`input/control-sequences.ts`); this function
69
- * adds only the control-byte sweep a DISPLAY row wants. Both call sites in this
70
- * module already cut an unfinished escape off into the carry before calling it
71
- * (`partialEscapeStart`), so the shared one-shot rule for a truncated sequence
72
- * is exactly what they need -- and it fixes AC-24's failure in place: the old
73
- * two-byte rule consumed the `\x1b[` of an unfinished CSI and left the
74
- * PARAMETERS behind, so `\x1b[31m` split across chunks rendered as `red 3`.
75
- *
76
- * Exported for the tests, and used by `toDisplayRow` as the second line of
77
- * defence over a carry that ends mid-escape.
78
- */
79
- export declare function stripAnsi(text: string): string;
80
- /**
81
- * Apply `\r` as the LINE REWRITE it is (§3.2 step 4 / D-33).
82
- *
83
- * A piece containing `\r` is a sequence of overwrites, so the later segment
84
- * replaces the earlier one's PREFIX and anything the earlier one had beyond it
85
- * survives -- which is what a real terminal shows, and what keeps R-6's classic
86
- * `\r`-only tooling from losing content. A thousand progress-bar rewrites
87
- * collapse to one row holding the final state.
88
- */
89
- export declare function applyCarriageReturns(piece: string): string;
90
- /** Expand tabs to the next multiple of `TAB_WIDTH`. */
91
- export declare function expandTabs(row: string): string;
92
- /** Clip a row at `LIVE_ROW_MAX_CHARS`, marking the cut. */
93
- export declare function clipRow(row: string): string;
94
- /**
95
- * The carry as a RENDERED row: the held-back incomplete escape removed, then
96
- * stripped and clipped.
97
- *
98
- * THE PARTIAL MUST BE CUT OFF, NOT STRIPPED (AC-24). `stripAnsi` alone is not
99
- * enough and fails in the visible direction: its two-byte rule consumes the
100
- * `\x1b[` of an unfinished CSI and leaves the PARAMETERS behind, so a chunk that
101
- * split inside `\x1b[31m` renders as `red 3`. The bytes are held for the next
102
- * chunk to complete; until then they are not text.
103
- */
104
- export declare function toDisplayRow(carry: string): string;
105
- /**
106
- * Turn a raw chunk into complete rows plus the in-progress line.
107
- *
108
- * The order of the steps IS the specification (§3.2), and step 4's "every piece,
109
- * THE INCOMPLETE TAIL INCLUDED" is the whole of P0-1: a progress bar emits no
110
- * `\n` for its entire run, so a rule that collapsed only completed lines would
111
- * never run for npm, pip, curl, docker or any other `\r` writer -- the tail
112
- * would stay empty, `showLive` false, and the card the single `running` row this
113
- * round exists to replace.
114
- */
115
- export declare function sanitizeChunk(carry: string, chunk: string): SanitizeResult;