@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,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;