@aragon-agent/cli 0.6.47 → 0.6.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (775) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +27 -6
  3. package/dist/agent/coalesce.d.ts +1 -1
  4. package/dist/agent/controller.d.ts +21 -21
  5. package/dist/agent/controller.js +13 -13
  6. package/dist/agent/conversation-reset.d.ts +1 -1
  7. package/dist/agent/governance-wiring.d.ts +6 -6
  8. package/dist/agent/governance-wiring.js +4 -4
  9. package/dist/agent/headless.d.ts +5 -5
  10. package/dist/agent/headless.js +4 -4
  11. package/dist/agent/job-notices.d.ts +1 -1
  12. package/dist/agent/job-notices.js +1 -1
  13. package/dist/agent/kit-apply.d.ts +3 -3
  14. package/dist/agent/kit-apply.js +3 -3
  15. package/dist/agent/model-profile-settings.d.ts +2 -2
  16. package/dist/agent/model-profile-settings.js +6 -6
  17. package/dist/agent/prompt-options.d.ts +1 -1
  18. package/dist/agent/system-prompt.d.ts +1 -1
  19. package/dist/{ui → app}/App.d.ts +9 -9
  20. package/dist/{ui → app}/App.js +79 -79
  21. package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
  22. package/dist/{ui → app}/use-startup-notices.js +2 -2
  23. package/dist/cli.js +29 -29
  24. package/dist/commands/agents-command.js +1 -1
  25. package/dist/commands/builtins.js +9 -9
  26. package/dist/commands/governance-command.js +2 -2
  27. package/dist/commands/governance-runs-table.js +1 -1
  28. package/dist/commands/kit-command.js +1 -1
  29. package/dist/commands/perf.d.ts +3 -3
  30. package/dist/commands/perf.js +1 -1
  31. package/dist/commands/registry.d.ts +8 -8
  32. package/dist/commands/skills.js +2 -2
  33. package/dist/commands/team-command.js +1 -1
  34. package/dist/compaction/archive.d.ts +1 -1
  35. package/dist/compaction/archive.js +1 -1
  36. package/dist/compaction/child.d.ts +3 -3
  37. package/dist/compaction/child.js +4 -4
  38. package/dist/compaction/command.js +5 -5
  39. package/dist/compaction/compactor.d.ts +6 -6
  40. package/dist/compaction/compactor.js +6 -6
  41. package/dist/compaction/context-command.js +1 -1
  42. package/dist/compaction/digest.js +1 -1
  43. package/dist/compaction/memory-input.js +1 -1
  44. package/dist/compaction/memory-validation.js +1 -1
  45. package/dist/compaction/memory.js +1 -1
  46. package/dist/compaction/summarize-call.js +1 -1
  47. package/dist/compaction/summary-prompt.js +1 -1
  48. package/dist/compaction/tail-budget.js +2 -2
  49. package/dist/compaction/wiring.d.ts +5 -5
  50. package/dist/compaction/wiring.js +2 -2
  51. package/dist/config/cli-commands.d.ts +1 -1
  52. package/dist/config/cli-commands.js +3 -3
  53. package/dist/config/env.d.ts +1 -1
  54. package/dist/config/env.js +4 -4
  55. package/dist/config/load.d.ts +2 -2
  56. package/dist/config/load.js +6 -6
  57. package/dist/config/migrate-state-out-of-config.js +1 -1
  58. package/dist/config/model-profile-store.d.ts +4 -54
  59. package/dist/config/model-profile-store.js +3 -3
  60. package/dist/config/prompt-history.js +1 -1
  61. package/dist/config/store.d.ts +2 -2
  62. package/dist/config/store.js +3 -3
  63. package/dist/diagnostics/doctor.js +4 -4
  64. package/dist/exec/bridge/decisions.d.ts +1 -1
  65. package/dist/exec/bridge/human-answers.d.ts +1 -1
  66. package/dist/exec/bridge/human-answers.js +1 -1
  67. package/dist/exec/bridge/protocol.d.ts +1 -1
  68. package/dist/exec/bridge/server.js +1 -1
  69. package/dist/exec/events.d.ts +2 -2
  70. package/dist/exec/index.d.ts +1 -1
  71. package/dist/exec/index.js +1 -1
  72. package/dist/exec/permission.js +1 -1
  73. package/dist/exec/runner.d.ts +3 -3
  74. package/dist/exec/runner.js +2 -2
  75. package/dist/exec/threads/runtime.js +1 -1
  76. package/dist/fast/digest.d.ts +1 -1
  77. package/dist/fast/digest.js +1 -1
  78. package/dist/fast/frames.d.ts +1 -1
  79. package/dist/fast/frames.js +1 -1
  80. package/dist/fast/prompt.d.ts +1 -1
  81. package/dist/fast/prompt.js +1 -1
  82. package/dist/fast/review-call.js +1 -1
  83. package/dist/fast/reviewer.d.ts +3 -3
  84. package/dist/fast/reviewer.js +1 -1
  85. package/dist/fast/summary-call.d.ts +3 -3
  86. package/dist/fast/summary-call.js +2 -2
  87. package/dist/fast/summary-prompt.d.ts +1 -1
  88. package/dist/fast/summary-prompt.js +1 -1
  89. package/dist/fast/wiring.d.ts +4 -4
  90. package/dist/fast/wiring.js +1 -1
  91. package/dist/governance/card-normalize.d.ts +1 -1
  92. package/dist/governance/copy.d.ts +1 -1
  93. package/dist/governance/copy.js +2 -2
  94. package/dist/governance/engine/artifact-persist.d.ts +1 -1
  95. package/dist/governance/engine/budget.d.ts +1 -1
  96. package/dist/governance/engine/budget.js +1 -1
  97. package/dist/governance/engine/cards.d.ts +1 -1
  98. package/dist/governance/engine/digest.js +1 -1
  99. package/dist/governance/engine/engine-core.d.ts +5 -5
  100. package/dist/governance/engine/engine-core.js +1 -1
  101. package/dist/governance/engine/engine.d.ts +1 -1
  102. package/dist/governance/engine/engine.js +1 -1
  103. package/dist/governance/engine/estimate.d.ts +1 -1
  104. package/dist/governance/engine/estimate.js +1 -1
  105. package/dist/governance/engine/inspector.js +2 -2
  106. package/dist/governance/engine/integration.d.ts +1 -1
  107. package/dist/governance/engine/lifecycle.d.ts +1 -1
  108. package/dist/governance/engine/lifecycle.js +1 -1
  109. package/dist/governance/engine/phase-members.d.ts +1 -1
  110. package/dist/governance/engine/phase-planner.d.ts +1 -1
  111. package/dist/governance/engine/phase-planner.js +1 -1
  112. package/dist/governance/engine/rebuild.d.ts +1 -1
  113. package/dist/governance/engine/report.d.ts +1 -1
  114. package/dist/governance/engine/report.js +1 -1
  115. package/dist/governance/engine/run-digest.d.ts +1 -1
  116. package/dist/governance/engine/spec-builder.d.ts +2 -2
  117. package/dist/governance/engine/spec-builder.js +2 -2
  118. package/dist/governance/engine/stage-runner.js +2 -2
  119. package/dist/governance/engine/start-input.d.ts +1 -1
  120. package/dist/governance/engine/start-input.js +1 -1
  121. package/dist/governance/engine/state-machine.d.ts +1 -1
  122. package/dist/governance/engine/state-machine.js +3 -3
  123. package/dist/governance/engine/submission-queries.d.ts +1 -1
  124. package/dist/governance/engine/submission-render.d.ts +1 -1
  125. package/dist/governance/engine/submissions.d.ts +1 -1
  126. package/dist/governance/engine/submissions.js +1 -1
  127. package/dist/governance/engine/visibility.d.ts +1 -1
  128. package/dist/governance/engine/visibility.js +1 -1
  129. package/dist/governance/posture-transition.d.ts +2 -2
  130. package/dist/governance/posture-transition.js +1 -1
  131. package/dist/governance/profiles.d.ts +1 -1
  132. package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
  133. package/dist/governance/prompts/orchestrator-block.js +2 -2
  134. package/dist/governance/prompts/plan-addendum.d.ts +1 -1
  135. package/dist/governance/prompts/plan-addendum.js +1 -1
  136. package/dist/governance/prompts/role-blocks.d.ts +2 -2
  137. package/dist/governance/prompts/role-blocks.js +1 -1
  138. package/dist/governance/report-reader.js +1 -1
  139. package/dist/governance/roles.d.ts +1 -1
  140. package/dist/governance/rules/claims.d.ts +1 -1
  141. package/dist/governance/rules/claims.js +1 -1
  142. package/dist/governance/rules/elimination.d.ts +1 -1
  143. package/dist/governance/rules/elimination.js +1 -1
  144. package/dist/governance/rules/failure-analysis.d.ts +2 -2
  145. package/dist/governance/rules/failure-analysis.js +1 -1
  146. package/dist/governance/rules/ledger-replay.d.ts +1 -1
  147. package/dist/governance/rules/ledger-state.d.ts +1 -1
  148. package/dist/governance/rules/ledger-state.js +1 -1
  149. package/dist/governance/rules/ledger.d.ts +2 -2
  150. package/dist/governance/rules/ledger.js +2 -2
  151. package/dist/governance/rules/rca.d.ts +1 -1
  152. package/dist/governance/rules/rca.js +1 -1
  153. package/dist/governance/rules/settlement.d.ts +2 -2
  154. package/dist/governance/rules/settlement.js +2 -2
  155. package/dist/governance/rules/suspicion.d.ts +1 -1
  156. package/dist/governance/store/artifacts.d.ts +1 -1
  157. package/dist/governance/store/artifacts.js +1 -1
  158. package/dist/governance/store/events-log.d.ts +1 -1
  159. package/dist/governance/store/run-store.d.ts +1 -1
  160. package/dist/governance/store/run-store.js +1 -1
  161. package/dist/governance/store/scoreboard-export.d.ts +1 -1
  162. package/dist/governance/tools/child-tools.d.ts +1 -1
  163. package/dist/governance/tools/guard.d.ts +1 -1
  164. package/dist/governance/tools/guard.js +1 -1
  165. package/dist/governance/tools/inspector-tools.d.ts +2 -2
  166. package/dist/governance/tools/inspector-tools.js +2 -2
  167. package/dist/governance/tools/lead-tools.d.ts +1 -1
  168. package/dist/governance/tools/lead-tools.js +1 -1
  169. package/dist/governance/tools/normalize-util.js +1 -1
  170. package/dist/governance/tools/scan-incomplete.js +1 -1
  171. package/dist/governance/tools/shared-tools.d.ts +1 -1
  172. package/dist/governance/tools/shared-tools.js +1 -1
  173. package/dist/governance/tools/submit-normalizers.d.ts +1 -1
  174. package/dist/governance/tools/submit-normalizers.js +1 -1
  175. package/dist/governance/tools/submit-tools.d.ts +1 -1
  176. package/dist/logging/cli-commands.js +1 -1
  177. package/dist/logging/install.d.ts +1 -1
  178. package/dist/logging/install.js +3 -3
  179. package/dist/logging/logger.d.ts +2 -2
  180. package/dist/logging/logger.js +31 -2
  181. package/dist/proc/kill-tree.js +1 -1
  182. package/dist/proc/log-mirror.js +1 -1
  183. package/dist/proc/log-ring.js +2 -2
  184. package/dist/proc/notices.d.ts +1 -1
  185. package/dist/proc/notices.js +2 -2
  186. package/dist/proc/prompt.d.ts +1 -1
  187. package/dist/proc/prompt.js +1 -1
  188. package/dist/proc/readiness.js +1 -1
  189. package/dist/proc/supervisor.d.ts +1 -1
  190. package/dist/proc/supervisor.js +3 -3
  191. package/dist/proc/wait.d.ts +1 -1
  192. package/dist/proc/wait.js +1 -1
  193. package/dist/prompts/command.d.ts +1 -1
  194. package/dist/prompts/command.js +1 -1
  195. package/dist/prompts/normalize.d.ts +1 -1
  196. package/dist/prompts/normalize.js +1 -1
  197. package/dist/prompts/resolve.d.ts +1 -1
  198. package/dist/prompts/store.d.ts +2 -12
  199. package/dist/prompts/store.js +6 -60
  200. package/dist/session/checkpoint.d.ts +2 -2
  201. package/dist/session/clear-archive.d.ts +2 -2
  202. package/dist/session/persist.d.ts +2 -2
  203. package/dist/session/persist.js +1 -1
  204. package/dist/session/startup-session.d.ts +2 -2
  205. package/dist/session/validate-session.js +3 -3
  206. package/dist/skills/service.d.ts +2 -2
  207. package/dist/team/bus.d.ts +1 -1
  208. package/dist/team/bus.js +1 -1
  209. package/dist/team/child-reviewer.d.ts +2 -2
  210. package/dist/team/child-reviewer.js +1 -1
  211. package/dist/team/comm-tools.js +1 -1
  212. package/dist/team/dispatch-gate.js +1 -1
  213. package/dist/team/forced-dispatch.js +1 -1
  214. package/dist/team/forced-mode.d.ts +1 -1
  215. package/dist/team/forced-prompt.d.ts +1 -1
  216. package/dist/team/forced-prompt.js +1 -1
  217. package/dist/team/normalize.d.ts +1 -1
  218. package/dist/team/normalize.js +1 -1
  219. package/dist/team/overseer.d.ts +3 -3
  220. package/dist/team/overseer.js +3 -3
  221. package/dist/team/prompt.d.ts +1 -1
  222. package/dist/team/prompt.js +1 -1
  223. package/dist/team/report.d.ts +2 -2
  224. package/dist/team/report.js +2 -2
  225. package/dist/team/retry.d.ts +1 -1
  226. package/dist/team/retry.js +1 -1
  227. package/dist/team/runtime.d.ts +4 -4
  228. package/dist/team/runtime.js +2 -2
  229. package/dist/team/settled.d.ts +2 -2
  230. package/dist/team/subagent.d.ts +4 -4
  231. package/dist/team/subagent.js +5 -5
  232. package/dist/team/task-tool.d.ts +1 -1
  233. package/dist/team/task-tool.js +1 -1
  234. package/dist/todo/normalize.d.ts +1 -1
  235. package/dist/todo/normalize.js +1 -1
  236. package/dist/todo/prompt.d.ts +1 -1
  237. package/dist/todo/prompt.js +1 -1
  238. package/dist/todo/store.d.ts +1 -1
  239. package/dist/todo/store.js +2 -2
  240. package/dist/todo/todo-tool.d.ts +1 -1
  241. package/dist/todo/todo-tool.js +2 -2
  242. package/dist/tools/bash-tool.d.ts +1 -1
  243. package/dist/tools/bash-tool.js +2 -2
  244. package/dist/tools/diff.d.ts +1 -1
  245. package/dist/tools/diff.js +1 -1
  246. package/dist/tools/file-change-store.d.ts +1 -1
  247. package/dist/tools/fs-tools.d.ts +2 -2
  248. package/dist/tools/fs-tools.js +1 -1
  249. package/dist/tools/index.d.ts +3 -3
  250. package/dist/tools/index.js +1 -1
  251. package/dist/tools/job-tools.d.ts +2 -2
  252. package/dist/tools/job-tools.js +4 -4
  253. package/dist/tools/plan-tools.d.ts +1 -1
  254. package/dist/tools/plan-tools.js +1 -1
  255. package/dist/tools/proc-tools.d.ts +1 -1
  256. package/dist/tools/proc-tools.js +2 -2
  257. package/dist/update/classify-failure.d.ts +1 -1
  258. package/dist/update/install-lock.js +1 -1
  259. package/dist/update/install-source.d.ts +1 -1
  260. package/dist/update/installer.js +2 -2
  261. package/dist/update/npm-view.d.ts +1 -1
  262. package/dist/update/npm-view.js +1 -1
  263. package/dist/update/registry.d.ts +1 -1
  264. package/dist/update/registry.js +1 -1
  265. package/dist/update/service.d.ts +2 -2
  266. package/dist/update/service.js +2 -2
  267. package/package.json +7 -7
  268. package/dist/agent/agent-mode.d.ts +0 -108
  269. package/dist/agent/agent-mode.js +0 -121
  270. package/dist/agent/entry-limits.d.ts +0 -65
  271. package/dist/agent/entry-limits.js +0 -133
  272. package/dist/agent/governance-view.d.ts +0 -40
  273. package/dist/agent/governance-view.js +0 -40
  274. package/dist/agent/invocation-card.d.ts +0 -77
  275. package/dist/agent/invocation-card.js +0 -169
  276. package/dist/agent/model-probe-limits.d.ts +0 -39
  277. package/dist/agent/model-probe-limits.js +0 -25
  278. package/dist/agent/model-probe.d.ts +0 -104
  279. package/dist/agent/model-probe.js +0 -391
  280. package/dist/agent/queued-messages.d.ts +0 -23
  281. package/dist/agent/queued-messages.js +0 -49
  282. package/dist/agent/reducer.d.ts +0 -857
  283. package/dist/agent/reducer.js +0 -1646
  284. package/dist/agent/retry-view.d.ts +0 -68
  285. package/dist/agent/retry-view.js +0 -95
  286. package/dist/agent/usage.d.ts +0 -47
  287. package/dist/agent/usage.js +0 -84
  288. package/dist/compaction/limits.d.ts +0 -61
  289. package/dist/compaction/limits.js +0 -64
  290. package/dist/compaction/meter.d.ts +0 -276
  291. package/dist/compaction/meter.js +0 -512
  292. package/dist/compaction/pressure.d.ts +0 -163
  293. package/dist/compaction/pressure.js +0 -199
  294. package/dist/compaction/reason-text.d.ts +0 -36
  295. package/dist/compaction/reason-text.js +0 -78
  296. package/dist/compaction/types.d.ts +0 -360
  297. package/dist/compaction/types.js +0 -22
  298. package/dist/config/governance-config.d.ts +0 -125
  299. package/dist/config/governance-config.js +0 -164
  300. package/dist/config/kit-resolution.d.ts +0 -93
  301. package/dist/config/kit-resolution.js +0 -226
  302. package/dist/config/model-kits.d.ts +0 -225
  303. package/dist/config/model-kits.js +0 -302
  304. package/dist/config/model-profile-resolution.d.ts +0 -28
  305. package/dist/config/model-profile-resolution.js +0 -88
  306. package/dist/config/model-profiles.d.ts +0 -103
  307. package/dist/config/model-profiles.js +0 -188
  308. package/dist/config/schema.d.ts +0 -1645
  309. package/dist/config/schema.js +0 -1383
  310. package/dist/fast/limits.d.ts +0 -152
  311. package/dist/fast/limits.js +0 -152
  312. package/dist/fast/resolve.d.ts +0 -44
  313. package/dist/fast/resolve.js +0 -107
  314. package/dist/fast/task-summary-types.d.ts +0 -66
  315. package/dist/fast/task-summary-types.js +0 -17
  316. package/dist/fast/types.d.ts +0 -141
  317. package/dist/fast/types.js +0 -14
  318. package/dist/governance/governed-dispatch.d.ts +0 -19
  319. package/dist/governance/governed-dispatch.js +0 -17
  320. package/dist/governance/limits.d.ts +0 -107
  321. package/dist/governance/limits.js +0 -131
  322. package/dist/governance/posture.d.ts +0 -35
  323. package/dist/governance/posture.js +0 -59
  324. package/dist/governance/rules/events-table.d.ts +0 -46
  325. package/dist/governance/rules/events-table.js +0 -94
  326. package/dist/governance/types.d.ts +0 -661
  327. package/dist/governance/types.js +0 -27
  328. package/dist/input/control-sequences.d.ts +0 -71
  329. package/dist/input/control-sequences.js +0 -222
  330. package/dist/input/csiu-keys.d.ts +0 -66
  331. package/dist/input/csiu-keys.js +0 -181
  332. package/dist/input/cursor-report.d.ts +0 -61
  333. package/dist/input/cursor-report.js +0 -97
  334. package/dist/input/enter-sequences.d.ts +0 -64
  335. package/dist/input/enter-sequences.js +0 -153
  336. package/dist/input/interrupt-gesture.d.ts +0 -18
  337. package/dist/input/interrupt-gesture.js +0 -19
  338. package/dist/input/keyboard-enhancement.d.ts +0 -42
  339. package/dist/input/keyboard-enhancement.js +0 -65
  340. package/dist/input/keymap.d.ts +0 -20
  341. package/dist/input/keymap.js +0 -99
  342. package/dist/input/limits.d.ts +0 -118
  343. package/dist/input/limits.js +0 -109
  344. package/dist/input/mouse-events.d.ts +0 -87
  345. package/dist/input/mouse-events.js +0 -212
  346. package/dist/input/paste-parse.d.ts +0 -83
  347. package/dist/input/paste-parse.js +0 -107
  348. package/dist/input/pointer-router.d.ts +0 -11
  349. package/dist/input/pointer-router.js +0 -14
  350. package/dist/input/stdin-filter.d.ts +0 -112
  351. package/dist/input/stdin-filter.js +0 -657
  352. package/dist/input/win32-input-mode.d.ts +0 -61
  353. package/dist/input/win32-input-mode.js +0 -269
  354. package/dist/logging/levels.d.ts +0 -40
  355. package/dist/logging/levels.js +0 -59
  356. package/dist/logging/secret-registry.d.ts +0 -32
  357. package/dist/logging/secret-registry.js +0 -73
  358. package/dist/proc/limits.d.ts +0 -214
  359. package/dist/proc/limits.js +0 -221
  360. package/dist/proc/progress.d.ts +0 -47
  361. package/dist/proc/progress.js +0 -163
  362. package/dist/proc/types.d.ts +0 -269
  363. package/dist/proc/types.js +0 -15
  364. package/dist/proc/wait-view.d.ts +0 -65
  365. package/dist/proc/wait-view.js +0 -66
  366. package/dist/prompts/copy.d.ts +0 -89
  367. package/dist/prompts/copy.js +0 -131
  368. package/dist/prompts/fill.d.ts +0 -51
  369. package/dist/prompts/fill.js +0 -46
  370. package/dist/prompts/limits.d.ts +0 -53
  371. package/dist/prompts/limits.js +0 -53
  372. package/dist/prompts/search.d.ts +0 -58
  373. package/dist/prompts/search.js +0 -146
  374. package/dist/prompts/types.d.ts +0 -204
  375. package/dist/prompts/types.js +0 -13
  376. package/dist/team/activity.d.ts +0 -67
  377. package/dist/team/activity.js +0 -130
  378. package/dist/team/limits.d.ts +0 -308
  379. package/dist/team/limits.js +0 -330
  380. package/dist/team/model.d.ts +0 -104
  381. package/dist/team/model.js +0 -150
  382. package/dist/team/panel-rows.d.ts +0 -48
  383. package/dist/team/panel-rows.js +0 -75
  384. package/dist/team/timeline.d.ts +0 -74
  385. package/dist/team/timeline.js +0 -101
  386. package/dist/team/types.d.ts +0 -354
  387. package/dist/team/types.js +0 -13
  388. package/dist/todo/acceptance.d.ts +0 -120
  389. package/dist/todo/acceptance.js +0 -399
  390. package/dist/todo/follow-through.d.ts +0 -138
  391. package/dist/todo/follow-through.js +0 -248
  392. package/dist/todo/limits.d.ts +0 -152
  393. package/dist/todo/limits.js +0 -152
  394. package/dist/todo/panel-rows.d.ts +0 -45
  395. package/dist/todo/panel-rows.js +0 -70
  396. package/dist/todo/plan-sections.d.ts +0 -60
  397. package/dist/todo/plan-sections.js +0 -108
  398. package/dist/todo/row-window.d.ts +0 -51
  399. package/dist/todo/row-window.js +0 -107
  400. package/dist/todo/types.d.ts +0 -124
  401. package/dist/todo/types.js +0 -12
  402. package/dist/tools/human-input.d.ts +0 -212
  403. package/dist/tools/human-input.js +0 -265
  404. package/dist/tools/patch.d.ts +0 -115
  405. package/dist/tools/patch.js +0 -453
  406. package/dist/tools/terminal-output.d.ts +0 -115
  407. package/dist/tools/terminal-output.js +0 -201
  408. package/dist/tools/tool-output-store.d.ts +0 -68
  409. package/dist/tools/tool-output-store.js +0 -102
  410. package/dist/ui/ActivityLine.d.ts +0 -26
  411. package/dist/ui/ActivityLine.js +0 -51
  412. package/dist/ui/AutocompletePopup.d.ts +0 -23
  413. package/dist/ui/AutocompletePopup.js +0 -17
  414. package/dist/ui/BottomStatusRow.d.ts +0 -10
  415. package/dist/ui/BottomStatusRow.js +0 -9
  416. package/dist/ui/Composer.d.ts +0 -115
  417. package/dist/ui/Composer.js +0 -64
  418. package/dist/ui/GovernancePanel.d.ts +0 -50
  419. package/dist/ui/GovernancePanel.js +0 -77
  420. package/dist/ui/GovernanceRun.d.ts +0 -18
  421. package/dist/ui/GovernanceRun.js +0 -11
  422. package/dist/ui/Header.d.ts +0 -48
  423. package/dist/ui/Header.js +0 -27
  424. package/dist/ui/Logo.d.ts +0 -32
  425. package/dist/ui/Logo.js +0 -65
  426. package/dist/ui/Markdown.d.ts +0 -29
  427. package/dist/ui/Markdown.js +0 -116
  428. package/dist/ui/PromptCaret.d.ts +0 -11
  429. package/dist/ui/PromptCaret.js +0 -31
  430. package/dist/ui/PromptInput.d.ts +0 -192
  431. package/dist/ui/PromptInput.js +0 -689
  432. package/dist/ui/QueuePanel.d.ts +0 -8
  433. package/dist/ui/QueuePanel.js +0 -9
  434. package/dist/ui/QueueStatusRow.d.ts +0 -24
  435. package/dist/ui/QueueStatusRow.js +0 -51
  436. package/dist/ui/ScrollbackShell.d.ts +0 -132
  437. package/dist/ui/ScrollbackShell.js +0 -26
  438. package/dist/ui/SessionOpener.d.ts +0 -30
  439. package/dist/ui/SessionOpener.js +0 -12
  440. package/dist/ui/StatusBar.d.ts +0 -130
  441. package/dist/ui/StatusBar.js +0 -61
  442. package/dist/ui/TeamPanel.d.ts +0 -76
  443. package/dist/ui/TeamPanel.js +0 -103
  444. package/dist/ui/ToastStack.d.ts +0 -8
  445. package/dist/ui/ToastStack.js +0 -31
  446. package/dist/ui/TodoPanel.d.ts +0 -52
  447. package/dist/ui/TodoPanel.js +0 -214
  448. package/dist/ui/Transcript.d.ts +0 -105
  449. package/dist/ui/Transcript.js +0 -258
  450. package/dist/ui/UpdateLine.d.ts +0 -44
  451. package/dist/ui/UpdateLine.js +0 -129
  452. package/dist/ui/activity-phrases.d.ts +0 -33
  453. package/dist/ui/activity-phrases.js +0 -50
  454. package/dist/ui/capabilities.d.ts +0 -27
  455. package/dist/ui/capabilities.js +0 -65
  456. package/dist/ui/clipboard-task.d.ts +0 -29
  457. package/dist/ui/clipboard-task.js +0 -66
  458. package/dist/ui/clipboard.d.ts +0 -31
  459. package/dist/ui/clipboard.js +0 -157
  460. package/dist/ui/color-runtime.d.ts +0 -5
  461. package/dist/ui/color-runtime.js +0 -29
  462. package/dist/ui/composer-input.d.ts +0 -38
  463. package/dist/ui/composer-input.js +0 -79
  464. package/dist/ui/composer-limits.d.ts +0 -30
  465. package/dist/ui/composer-limits.js +0 -45
  466. package/dist/ui/composer-rows.d.ts +0 -73
  467. package/dist/ui/composer-rows.js +0 -129
  468. package/dist/ui/console-bridge.d.ts +0 -19
  469. package/dist/ui/console-bridge.js +0 -52
  470. package/dist/ui/density.d.ts +0 -26
  471. package/dist/ui/density.js +0 -34
  472. package/dist/ui/display-tab.d.ts +0 -51
  473. package/dist/ui/display-tab.js +0 -82
  474. package/dist/ui/editor-navigation.d.ts +0 -55
  475. package/dist/ui/editor-navigation.js +0 -96
  476. package/dist/ui/editor-reducer.d.ts +0 -108
  477. package/dist/ui/editor-reducer.js +0 -187
  478. package/dist/ui/enter-frames.d.ts +0 -47
  479. package/dist/ui/enter-frames.js +0 -117
  480. package/dist/ui/entries/AssistantEntry.d.ts +0 -37
  481. package/dist/ui/entries/AssistantEntry.js +0 -43
  482. package/dist/ui/entries/CompactionCard.d.ts +0 -88
  483. package/dist/ui/entries/CompactionCard.js +0 -222
  484. package/dist/ui/entries/DiffView.d.ts +0 -61
  485. package/dist/ui/entries/DiffView.js +0 -103
  486. package/dist/ui/entries/EntryFrame.d.ts +0 -23
  487. package/dist/ui/entries/EntryFrame.js +0 -6
  488. package/dist/ui/entries/FastCard.d.ts +0 -53
  489. package/dist/ui/entries/FastCard.js +0 -105
  490. package/dist/ui/entries/GovernanceCard.d.ts +0 -30
  491. package/dist/ui/entries/GovernanceCard.js +0 -32
  492. package/dist/ui/entries/InvocationCard.d.ts +0 -20
  493. package/dist/ui/entries/InvocationCard.js +0 -32
  494. package/dist/ui/entries/QueuedEntry.d.ts +0 -27
  495. package/dist/ui/entries/QueuedEntry.js +0 -33
  496. package/dist/ui/entries/RetryCard.d.ts +0 -56
  497. package/dist/ui/entries/RetryCard.js +0 -60
  498. package/dist/ui/entries/ServiceCard.d.ts +0 -82
  499. package/dist/ui/entries/ServiceCard.js +0 -151
  500. package/dist/ui/entries/TeamCard.d.ts +0 -55
  501. package/dist/ui/entries/TeamCard.js +0 -94
  502. package/dist/ui/entries/TodoCard.d.ts +0 -54
  503. package/dist/ui/entries/TodoCard.js +0 -98
  504. package/dist/ui/entries/ToolCard.d.ts +0 -81
  505. package/dist/ui/entries/ToolCard.js +0 -169
  506. package/dist/ui/entries/ToolPreview.d.ts +0 -59
  507. package/dist/ui/entries/ToolPreview.js +0 -208
  508. package/dist/ui/entries/UserEntry.d.ts +0 -36
  509. package/dist/ui/entries/UserEntry.js +0 -57
  510. package/dist/ui/entries/WaitCard.d.ts +0 -37
  511. package/dist/ui/entries/WaitCard.js +0 -92
  512. package/dist/ui/exit-snapshot.d.ts +0 -43
  513. package/dist/ui/exit-snapshot.js +0 -26
  514. package/dist/ui/frame-differ.d.ts +0 -166
  515. package/dist/ui/frame-differ.js +0 -354
  516. package/dist/ui/frame-observer.d.ts +0 -17
  517. package/dist/ui/frame-observer.js +0 -94
  518. package/dist/ui/frame-parser.d.ts +0 -7
  519. package/dist/ui/frame-parser.js +0 -18
  520. package/dist/ui/gauge.d.ts +0 -39
  521. package/dist/ui/gauge.js +0 -55
  522. package/dist/ui/glyphs.d.ts +0 -178
  523. package/dist/ui/glyphs.js +0 -165
  524. package/dist/ui/governance-copy.d.ts +0 -69
  525. package/dist/ui/governance-copy.js +0 -104
  526. package/dist/ui/governance-status.d.ts +0 -145
  527. package/dist/ui/governance-status.js +0 -326
  528. package/dist/ui/gradient.d.ts +0 -11
  529. package/dist/ui/gradient.js +0 -50
  530. package/dist/ui/ink-runtime.d.ts +0 -4
  531. package/dist/ui/ink-runtime.js +0 -51
  532. package/dist/ui/interaction-copy.d.ts +0 -84
  533. package/dist/ui/interaction-copy.js +0 -41
  534. package/dist/ui/interaction-hints.d.ts +0 -44
  535. package/dist/ui/interaction-hints.js +0 -97
  536. package/dist/ui/layout/AppShell.d.ts +0 -17
  537. package/dist/ui/layout/AppShell.js +0 -6
  538. package/dist/ui/layout/Gutter.d.ts +0 -67
  539. package/dist/ui/layout/Gutter.js +0 -42
  540. package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
  541. package/dist/ui/layout/MeasuredEntry.js +0 -30
  542. package/dist/ui/layout/OverlayFrame.d.ts +0 -73
  543. package/dist/ui/layout/OverlayFrame.js +0 -110
  544. package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
  545. package/dist/ui/layout/ScrollIndicator.js +0 -22
  546. package/dist/ui/layout/ScrollViewport.d.ts +0 -40
  547. package/dist/ui/layout/ScrollViewport.js +0 -222
  548. package/dist/ui/layout/agents-board.d.ts +0 -102
  549. package/dist/ui/layout/agents-board.js +0 -389
  550. package/dist/ui/layout/autocomplete.d.ts +0 -18
  551. package/dist/ui/layout/autocomplete.js +0 -26
  552. package/dist/ui/layout/budget.d.ts +0 -43
  553. package/dist/ui/layout/budget.js +0 -52
  554. package/dist/ui/layout/cells.d.ts +0 -61
  555. package/dist/ui/layout/cells.js +0 -156
  556. package/dist/ui/layout/document-layout.d.ts +0 -13
  557. package/dist/ui/layout/document-layout.js +0 -10
  558. package/dist/ui/layout/follow-state.d.ts +0 -138
  559. package/dist/ui/layout/follow-state.js +0 -148
  560. package/dist/ui/layout/frame.d.ts +0 -36
  561. package/dist/ui/layout/frame.js +0 -39
  562. package/dist/ui/layout/governance-board.d.ts +0 -121
  563. package/dist/ui/layout/governance-board.js +0 -382
  564. package/dist/ui/layout/governance-card.d.ts +0 -53
  565. package/dist/ui/layout/governance-card.js +0 -134
  566. package/dist/ui/layout/governance-chip.d.ts +0 -38
  567. package/dist/ui/layout/governance-chip.js +0 -64
  568. package/dist/ui/layout/governance-panel.d.ts +0 -85
  569. package/dist/ui/layout/governance-panel.js +0 -358
  570. package/dist/ui/layout/governance-roster.d.ts +0 -65
  571. package/dist/ui/layout/governance-roster.js +0 -275
  572. package/dist/ui/layout/header-hints.d.ts +0 -90
  573. package/dist/ui/layout/header-hints.js +0 -110
  574. package/dist/ui/layout/header-left.d.ts +0 -115
  575. package/dist/ui/layout/header-left.js +0 -206
  576. package/dist/ui/layout/invocation-card.d.ts +0 -41
  577. package/dist/ui/layout/invocation-card.js +0 -91
  578. package/dist/ui/layout/kit-chip.d.ts +0 -50
  579. package/dist/ui/layout/kit-chip.js +0 -81
  580. package/dist/ui/layout/overlay-window.d.ts +0 -43
  581. package/dist/ui/layout/overlay-window.js +0 -51
  582. package/dist/ui/layout/queue-layout.d.ts +0 -19
  583. package/dist/ui/layout/queue-layout.js +0 -26
  584. package/dist/ui/layout/rail.d.ts +0 -7
  585. package/dist/ui/layout/rail.js +0 -16
  586. package/dist/ui/layout/scroll-indicator.d.ts +0 -27
  587. package/dist/ui/layout/scroll-indicator.js +0 -36
  588. package/dist/ui/layout/scroll.d.ts +0 -37
  589. package/dist/ui/layout/scroll.js +0 -99
  590. package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
  591. package/dist/ui/layout/scrollbar-geometry.js +0 -13
  592. package/dist/ui/layout/session-chip.d.ts +0 -52
  593. package/dist/ui/layout/session-chip.js +0 -64
  594. package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
  595. package/dist/ui/layout/shortcut-panel-layout.js +0 -321
  596. package/dist/ui/layout/status-detail-layout.d.ts +0 -9
  597. package/dist/ui/layout/status-detail-layout.js +0 -79
  598. package/dist/ui/layout/status-layout.d.ts +0 -140
  599. package/dist/ui/layout/status-layout.js +0 -262
  600. package/dist/ui/layout/task-summary-cell.d.ts +0 -61
  601. package/dist/ui/layout/task-summary-cell.js +0 -65
  602. package/dist/ui/layout/team-panel.d.ts +0 -18
  603. package/dist/ui/layout/team-panel.js +0 -25
  604. package/dist/ui/layout/team-row.d.ts +0 -139
  605. package/dist/ui/layout/team-row.js +0 -246
  606. package/dist/ui/layout/todo-layout.d.ts +0 -62
  607. package/dist/ui/layout/todo-layout.js +0 -102
  608. package/dist/ui/layout/useTerminalSize.d.ts +0 -13
  609. package/dist/ui/layout/useTerminalSize.js +0 -50
  610. package/dist/ui/layout/viewport-geometry.d.ts +0 -29
  611. package/dist/ui/layout/viewport-geometry.js +0 -28
  612. package/dist/ui/layout/virtual-window.d.ts +0 -112
  613. package/dist/ui/layout/virtual-window.js +0 -494
  614. package/dist/ui/layout/wait-bar.d.ts +0 -34
  615. package/dist/ui/layout/wait-bar.js +0 -48
  616. package/dist/ui/layout/wrap-rows.d.ts +0 -26
  617. package/dist/ui/layout/wrap-rows.js +0 -88
  618. package/dist/ui/live-clamp.d.ts +0 -14
  619. package/dist/ui/live-clamp.js +0 -46
  620. package/dist/ui/markdown-blocks.d.ts +0 -107
  621. package/dist/ui/markdown-blocks.js +0 -240
  622. package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
  623. package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
  624. package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
  625. package/dist/ui/overlays/ConfirmDialog.js +0 -44
  626. package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
  627. package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
  628. package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
  629. package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
  630. package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
  631. package/dist/ui/overlays/HelpOverlay.js +0 -232
  632. package/dist/ui/overlays/KitEditor.d.ts +0 -23
  633. package/dist/ui/overlays/KitEditor.js +0 -101
  634. package/dist/ui/overlays/KitManager.d.ts +0 -23
  635. package/dist/ui/overlays/KitManager.js +0 -104
  636. package/dist/ui/overlays/KitPicker.d.ts +0 -49
  637. package/dist/ui/overlays/KitPicker.js +0 -58
  638. package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
  639. package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
  640. package/dist/ui/overlays/ModelPicker.d.ts +0 -26
  641. package/dist/ui/overlays/ModelPicker.js +0 -63
  642. package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
  643. package/dist/ui/overlays/ModelProfileEditor.js +0 -168
  644. package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
  645. package/dist/ui/overlays/ModelProfilePicker.js +0 -231
  646. package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
  647. package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
  648. package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
  649. package/dist/ui/overlays/PromptEditorPage.js +0 -227
  650. package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
  651. package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
  652. package/dist/ui/overlays/PromptPicker.d.ts +0 -36
  653. package/dist/ui/overlays/PromptPicker.js +0 -129
  654. package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
  655. package/dist/ui/overlays/PromptTextArea.js +0 -141
  656. package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
  657. package/dist/ui/overlays/QuestionOverlay.js +0 -258
  658. package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
  659. package/dist/ui/overlays/QueueOverlay.js +0 -79
  660. package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
  661. package/dist/ui/overlays/SettingsScreen.js +0 -1037
  662. package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
  663. package/dist/ui/overlays/ShortcutPanel.js +0 -106
  664. package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
  665. package/dist/ui/overlays/TeamFanoutPage.js +0 -90
  666. package/dist/ui/overlays/governance-settings.d.ts +0 -79
  667. package/dist/ui/overlays/governance-settings.js +0 -140
  668. package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
  669. package/dist/ui/overlays/kit-picker-state.js +0 -136
  670. package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
  671. package/dist/ui/overlays/kit-settings-state.js +0 -268
  672. package/dist/ui/overlays/model-probe-view.d.ts +0 -128
  673. package/dist/ui/overlays/model-probe-view.js +0 -225
  674. package/dist/ui/overlays/model-profile-state.d.ts +0 -177
  675. package/dist/ui/overlays/model-profile-state.js +0 -301
  676. package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
  677. package/dist/ui/overlays/prompt-library-state.js +0 -335
  678. package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
  679. package/dist/ui/overlays/prompt-picker-state.js +0 -98
  680. package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
  681. package/dist/ui/overlays/team-fanout-state.js +0 -155
  682. package/dist/ui/overlays/use-model-probe.d.ts +0 -30
  683. package/dist/ui/overlays/use-model-probe.js +0 -109
  684. package/dist/ui/palettes.d.ts +0 -112
  685. package/dist/ui/palettes.js +0 -130
  686. package/dist/ui/paste-frames.d.ts +0 -91
  687. package/dist/ui/paste-frames.js +0 -117
  688. package/dist/ui/paste-tokens.d.ts +0 -90
  689. package/dist/ui/paste-tokens.js +0 -147
  690. package/dist/ui/render-cache.d.ts +0 -81
  691. package/dist/ui/render-cache.js +0 -196
  692. package/dist/ui/render-governor.d.ts +0 -54
  693. package/dist/ui/render-governor.js +0 -78
  694. package/dist/ui/run-metrics.d.ts +0 -23
  695. package/dist/ui/run-metrics.js +0 -27
  696. package/dist/ui/run-status-row.d.ts +0 -63
  697. package/dist/ui/run-status-row.js +0 -54
  698. package/dist/ui/screen.d.ts +0 -107
  699. package/dist/ui/screen.js +0 -234
  700. package/dist/ui/scrollback/LiveTail.d.ts +0 -115
  701. package/dist/ui/scrollback/LiveTail.js +0 -48
  702. package/dist/ui/scrollback/band.d.ts +0 -114
  703. package/dist/ui/scrollback/band.js +0 -143
  704. package/dist/ui/scrollback/budget.d.ts +0 -90
  705. package/dist/ui/scrollback/budget.js +0 -100
  706. package/dist/ui/scrollback/canvas.d.ts +0 -100
  707. package/dist/ui/scrollback/canvas.js +0 -114
  708. package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
  709. package/dist/ui/scrollback/cursor-probe.js +0 -133
  710. package/dist/ui/scrollback/drain.d.ts +0 -32
  711. package/dist/ui/scrollback/drain.js +0 -64
  712. package/dist/ui/scrollback/exit-summary.d.ts +0 -23
  713. package/dist/ui/scrollback/exit-summary.js +0 -25
  714. package/dist/ui/scrollback/limits.d.ts +0 -98
  715. package/dist/ui/scrollback/limits.js +0 -98
  716. package/dist/ui/scrollback/live-preview.d.ts +0 -34
  717. package/dist/ui/scrollback/live-preview.js +0 -130
  718. package/dist/ui/scrollback/overflow-print.d.ts +0 -108
  719. package/dist/ui/scrollback/overflow-print.js +0 -120
  720. package/dist/ui/scrollback/renderer.d.ts +0 -48
  721. package/dist/ui/scrollback/renderer.js +0 -186
  722. package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
  723. package/dist/ui/scrollback/scrollback-writer.js +0 -648
  724. package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
  725. package/dist/ui/scrollback/settled-boundary.js +0 -109
  726. package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
  727. package/dist/ui/scrollback/tail-anchor.js +0 -79
  728. package/dist/ui/scrollback/tail-window.d.ts +0 -73
  729. package/dist/ui/scrollback/tail-window.js +0 -89
  730. package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
  731. package/dist/ui/scrollback/use-scrollback-view.js +0 -601
  732. package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
  733. package/dist/ui/scrollback/writer-shapes.js +0 -159
  734. package/dist/ui/scrollbar-controller.d.ts +0 -30
  735. package/dist/ui/scrollbar-controller.js +0 -124
  736. package/dist/ui/selection/highlight.d.ts +0 -39
  737. package/dist/ui/selection/highlight.js +0 -64
  738. package/dist/ui/selection/screen-mirror.d.ts +0 -24
  739. package/dist/ui/selection/screen-mirror.js +0 -35
  740. package/dist/ui/selection/selection-controller.d.ts +0 -104
  741. package/dist/ui/selection/selection-controller.js +0 -372
  742. package/dist/ui/selection/selection.d.ts +0 -90
  743. package/dist/ui/selection/selection.js +0 -223
  744. package/dist/ui/shortcuts.d.ts +0 -81
  745. package/dist/ui/shortcuts.js +0 -221
  746. package/dist/ui/status-feedback.d.ts +0 -35
  747. package/dist/ui/status-feedback.js +0 -38
  748. package/dist/ui/stdout-frame-writer.d.ts +0 -74
  749. package/dist/ui/stdout-frame-writer.js +0 -155
  750. package/dist/ui/team-status.d.ts +0 -166
  751. package/dist/ui/team-status.js +0 -252
  752. package/dist/ui/terminal-plan.d.ts +0 -52
  753. package/dist/ui/terminal-plan.js +0 -49
  754. package/dist/ui/theme.d.ts +0 -96
  755. package/dist/ui/theme.js +0 -130
  756. package/dist/ui/transcript-text.d.ts +0 -41
  757. package/dist/ui/transcript-text.js +0 -282
  758. package/dist/ui/use-height-store.d.ts +0 -31
  759. package/dist/ui/use-height-store.js +0 -76
  760. package/dist/ui/use-render-governor.d.ts +0 -39
  761. package/dist/ui/use-render-governor.js +0 -57
  762. package/dist/ui/use-wheel-routing.d.ts +0 -57
  763. package/dist/ui/use-wheel-routing.js +0 -152
  764. package/dist/ui/win-vt-force.d.ts +0 -136
  765. package/dist/ui/win-vt-force.js +0 -237
  766. package/dist/ui/win-vt-input.d.ts +0 -57
  767. package/dist/ui/win-vt-input.js +0 -62
  768. package/dist/update/limits.d.ts +0 -111
  769. package/dist/update/limits.js +0 -111
  770. package/dist/update/semver.d.ts +0 -89
  771. package/dist/update/semver.js +0 -295
  772. package/dist/update/types.d.ts +0 -169
  773. package/dist/update/types.js +0 -68
  774. /package/dist/{ui → app}/session-bridge.d.ts +0 -0
  775. /package/dist/{ui → app}/session-bridge.js +0 -0
@@ -1,97 +0,0 @@
1
- /**
2
- * Cursor Position Report parsing (tui-bottom-anchored-live-region §4.5).
3
- *
4
- * The bottom anchor needs one number the writer cannot compute: how many rows are
5
- * left below the cursor. `ESC[6n` is the only way to ask, and the terminal answers
6
- * with `ESC[<row>;<col>R` (DECXCPR adds a `?`: `ESC[?<row>;<col>R`) on STDIN —
7
- * the same stream the user types on. Two things follow, and both live here:
8
- *
9
- * 1. THE ANSWER MUST BE STRIPPED BEFORE INK SEES IT. A report that reaches Ink
10
- * travels the keystroke path: `[` is 0x5B, so `PromptInput`'s control-sequence
11
- * guard passes it through and the user's draft gets `[12;1R` typed into it (the
12
- * same class of accident the mouse filter exists to prevent).
13
- * 2. THE ANSWER CAN ARRIVE IN TWO CHUNKS. ConPTY, tmux and a loaded SSH session
14
- * all split reads at arbitrary points, and a half report (`ESC[12`) is worse
15
- * than a whole one: `parse-keypress` has no branch for it.
16
- *
17
- * Pure functions only, mirroring `mouse-events.ts`: the filter owns the buffering
18
- * and the timers, this module owns the shapes.
19
- */
20
- /** The query for a Cursor Position Report (DSR 6). ASCII by construction. */
21
- export const CURSOR_REPORT_QUERY = '\x1b[6n';
22
- /**
23
- * `ESC[<row>;<col>R`, with the DECXCPR `?` accepted. Anchored on `ESC[` plus digits
24
- * and one `;`, which is what keeps it from matching a private-mode write such as
25
- * `ESC[?25l` (that one ends in a letter this pattern cannot accept).
26
- *
27
- * Built per call rather than shared: a module-level `/g` regex carries `lastIndex`
28
- * between calls, which turns a pure function into a stateful one.
29
- */
30
- const reportPattern = () => /\x1b\[\??(\d+);(\d+)R/g;
31
- /**
32
- * A PROPER prefix of a report: `ESC`, `ESC[`, then an optional `?`, then digits, at
33
- * most one `;`, then more digits. Nothing a keyboard produces matches past `ESC[`
34
- * (arrow keys end in a letter), so the filter's 12 ms hold stays a rare path.
35
- */
36
- const PREFIX = /^\x1b(\[(\?(\d*(;\d*)?)?|\d*(;\d*)?)?)?$/;
37
- /** True when `s` is a non-empty proper prefix of a possible report. */
38
- export function isCursorReportPrefix(s) {
39
- return s.length > 0 && s.length < 24 && PREFIX.test(s);
40
- }
41
- /**
42
- * Split the reports out of one chunk.
43
- *
44
- * `pending` carries the tail that might still complete into a report. It is only
45
- * ever the LAST fragment: the scan is left to right, so anything before a complete
46
- * report is settled text.
47
- */
48
- export function splitCursorReports(text) {
49
- const reports = [];
50
- const pattern = reportPattern();
51
- let out = '';
52
- let index = 0;
53
- for (let match = pattern.exec(text); match !== null; match = pattern.exec(text)) {
54
- out += text.slice(index, match.index);
55
- reports.push({ row: Number(match[1]), col: Number(match[2]) });
56
- index = match.index + match[0].length;
57
- }
58
- out += text.slice(index);
59
- const pendingLength = trailingCprPrefixLength(out);
60
- if (pendingLength === 0)
61
- return { text: out, reports, pending: '' };
62
- return {
63
- text: out.slice(0, out.length - pendingLength),
64
- reports,
65
- pending: out.slice(out.length - pendingLength),
66
- };
67
- }
68
- /**
69
- * Length of the trailing run of `text` that is a proper prefix of a report, or 0.
70
- *
71
- * LONGEST MATCH WINS, unlike the mouse family's shortest-wins rule. The families are
72
- * combined with `max()`, so only the longest answer ever survives, and a longer hold
73
- * is never wrong here: `ESC[1` can still become `ESC[12;1R`, while the shorter
74
- * answer `ESC` could not describe it. The bound is the longest report the terminals
75
- * we target emit (DECXCPR with a `?` and three-digit coordinates).
76
- */
77
- export function trailingCprPrefixLength(text) {
78
- const max = Math.min(text.length, 24);
79
- for (let k = max; k >= 1; k -= 1) {
80
- if (isCursorReportPrefix(text.slice(text.length - k)))
81
- return k;
82
- }
83
- return 0;
84
- }
85
- /** The query bytes, as a function so call sites read as an action rather than a literal. */
86
- export function formatCursorReportQuery() {
87
- return CURSOR_REPORT_QUERY;
88
- }
89
- /**
90
- * Rows left below a reported cursor row on a terminal of `rows` rows.
91
- * `0` means the cursor is already on the last row; `null` when the height is unknown.
92
- */
93
- export function spaceBelowFromReport(report, rows) {
94
- if (rows === undefined || !Number.isFinite(rows) || rows < 1)
95
- return null;
96
- return Math.max(0, Math.floor(rows) - 1 - (report.row - 1));
97
- }
@@ -1,64 +0,0 @@
1
- /**
2
- * Enter-family sequence recognition (tui-shift-enter-copy-queue §3.3) -- pure,
3
- * stream-free, no node/React imports, callable from any test environment.
4
- *
5
- * WHY THIS LIVES BELOW INK. Ink 5's `parse-keypress.js` calls `parseKeypress`
6
- * ONCE per stdin chunk and hard-codes `shift: false` for the exact string
7
- * `'\r'`, so a component can never see `key.return && key.shift` -- the
8
- * `PromptInput` branch for it is dead code. Worse, terminals that DO encode a
9
- * distinct Shift+Enter send CSI-u (`\x1b[13;2u`), which Ink's `fnKeyRe` does
10
- * not match: the ESC is stripped by `use-input.js` and `'[13;2u'` falls through
11
- * to the PRINTABLE branch, typing garbage into the draft. The only layer that
12
- * sees the bytes before Ink mangles them is the stdin filter, which is where
13
- * the mouse-report and paste-marker dialects are already translated.
14
- *
15
- * THE CONTRACT: rewrite every recognized sequence to ONE normalized token --
16
- * `ENTER_NEWLINE_FRAME` for "this was a modified Enter, the user wants a
17
- * newline" and `'\r'` for the unmodified CSI-u Enter some other program left
18
- * behind. No state, no partial-output: `rewriteEnterSequences` is idempotent
19
- * because its output contains none of its inputs.
20
- */
21
- /** What one recognized sequence means, for tests and `/terminal-setup` copy. */
22
- export interface EnterSequenceSpec {
23
- /** The exact byte sequence a terminal sends for this key. */
24
- readonly seq: string;
25
- /** The chord it names, e.g. `'shift+enter'`, `'ctrl+alt+enter'`, `'enter'`. */
26
- readonly meaning: string;
27
- /** What `rewriteEnterSequences` replaces it with. */
28
- readonly to: string;
29
- }
30
- /**
31
- * The recognition table (§3.3). CSI-u modifiers 2-8 cover Shift(2), Alt(3),
32
- * Shift+Alt(4), Ctrl(5), Ctrl+Shift(6), Ctrl+Alt(7), Ctrl+Alt+Shift(8) as
33
- * emitted by kitty/WezTerm keyboard-enhancement mode and by
34
- * `modifyOtherKeys=2`; every one of them means "Enter with a modifier", and a
35
- * modified Enter must NEVER submit the draft. `\x1b\r` / `\x1b\n` are the
36
- * classic Alt+Enter encodings. `\x1b[13u` (no modifier field) is what a
37
- * leftover kitty mode sends for a PLAIN Enter: it must submit, so it maps to
38
- * `'\r'` rather than to a newline.
39
- */
40
- export declare const ENTER_SEQUENCES: readonly EnterSequenceSpec[];
41
- export type EnterSequenceSegment = {
42
- kind: 'text';
43
- text: string;
44
- } | {
45
- kind: 'newline';
46
- } | {
47
- kind: 'submit';
48
- };
49
- /** Split explicit keys using the recognition table; bare CR/LF remain text. */
50
- export declare function splitEnterSequences(text: string): EnterSequenceSegment[];
51
- /** Normalize explicit Enter keys without changing unknown sequences. */
52
- export declare function rewriteEnterSequences(text: string): string;
53
- /**
54
- * Length of the trailing run of `text` that is a proper prefix of an
55
- * Enter-family sequence, or 0.
56
- *
57
- * LONGEST MATCH, not shortest: unlike the mouse and paste families, a torn
58
- * CSI-u sequence diverges from its siblings only at the LAST byte
59
- * (`\x1b[13;` + `2u`), so every byte before the divergence point must be held
60
- * back for the next chunk or the sequence is destroyed a byte early. Feeding
61
- * the result into the filter's `keep = max(...)` alongside the other two
62
- * families keeps every family's hold intact.
63
- */
64
- export declare function trailingEnterPrefixLength(text: string): number;
@@ -1,153 +0,0 @@
1
- /**
2
- * Enter-family sequence recognition (tui-shift-enter-copy-queue §3.3) -- pure,
3
- * stream-free, no node/React imports, callable from any test environment.
4
- *
5
- * WHY THIS LIVES BELOW INK. Ink 5's `parse-keypress.js` calls `parseKeypress`
6
- * ONCE per stdin chunk and hard-codes `shift: false` for the exact string
7
- * `'\r'`, so a component can never see `key.return && key.shift` -- the
8
- * `PromptInput` branch for it is dead code. Worse, terminals that DO encode a
9
- * distinct Shift+Enter send CSI-u (`\x1b[13;2u`), which Ink's `fnKeyRe` does
10
- * not match: the ESC is stripped by `use-input.js` and `'[13;2u'` falls through
11
- * to the PRINTABLE branch, typing garbage into the draft. The only layer that
12
- * sees the bytes before Ink mangles them is the stdin filter, which is where
13
- * the mouse-report and paste-marker dialects are already translated.
14
- *
15
- * THE CONTRACT: rewrite every recognized sequence to ONE normalized token --
16
- * `ENTER_NEWLINE_FRAME` for "this was a modified Enter, the user wants a
17
- * newline" and `'\r'` for the unmodified CSI-u Enter some other program left
18
- * behind. No state, no partial-output: `rewriteEnterSequences` is idempotent
19
- * because its output contains none of its inputs.
20
- */
21
- import { ENTER_NEWLINE_FRAME } from './limits.js';
22
- /**
23
- * The recognition table (§3.3). CSI-u modifiers 2-8 cover Shift(2), Alt(3),
24
- * Shift+Alt(4), Ctrl(5), Ctrl+Shift(6), Ctrl+Alt(7), Ctrl+Alt+Shift(8) as
25
- * emitted by kitty/WezTerm keyboard-enhancement mode and by
26
- * `modifyOtherKeys=2`; every one of them means "Enter with a modifier", and a
27
- * modified Enter must NEVER submit the draft. `\x1b\r` / `\x1b\n` are the
28
- * classic Alt+Enter encodings. `\x1b[13u` (no modifier field) is what a
29
- * leftover kitty mode sends for a PLAIN Enter: it must submit, so it maps to
30
- * `'\r'` rather than to a newline.
31
- */
32
- export const ENTER_SEQUENCES = [
33
- { seq: '\x1b[13;1u', meaning: 'enter', to: '\r' },
34
- {
35
- seq: '\x1b[13;2u',
36
- meaning: 'shift+enter',
37
- to: ENTER_NEWLINE_FRAME,
38
- },
39
- {
40
- seq: '\x1b[13;3u',
41
- meaning: 'alt+enter',
42
- to: ENTER_NEWLINE_FRAME,
43
- },
44
- {
45
- seq: '\x1b[13;4u',
46
- meaning: 'shift+alt+enter',
47
- to: ENTER_NEWLINE_FRAME,
48
- },
49
- {
50
- seq: '\x1b[13;5u',
51
- meaning: 'ctrl+enter',
52
- to: ENTER_NEWLINE_FRAME,
53
- },
54
- {
55
- seq: '\x1b[13;6u',
56
- meaning: 'ctrl+shift+enter',
57
- to: ENTER_NEWLINE_FRAME,
58
- },
59
- {
60
- seq: '\x1b[13;7u',
61
- meaning: 'ctrl+alt+enter',
62
- to: ENTER_NEWLINE_FRAME,
63
- },
64
- {
65
- seq: '\x1b[13;8u',
66
- meaning: 'ctrl+alt+shift+enter',
67
- to: ENTER_NEWLINE_FRAME,
68
- },
69
- {
70
- seq: '\x1b\r',
71
- meaning: 'alt+enter',
72
- to: ENTER_NEWLINE_FRAME,
73
- },
74
- {
75
- seq: '\x1b\n',
76
- meaning: 'alt+enter',
77
- to: ENTER_NEWLINE_FRAME,
78
- },
79
- {
80
- seq: '\x1b[13u',
81
- meaning: 'enter',
82
- to: '\r',
83
- },
84
- ];
85
- /**
86
- * Longest strict prefix any recognized sequence can have. Derived from the
87
- * table rather than hard-coded so adding a sequence can never leave the hold
88
- * ceiling behind: the longest sequence is 7 bytes, so a torn sequence can hold
89
- * up to 6 of them.
90
- */
91
- const MAX_ENTER_PREFIX = Math.max(...ENTER_SEQUENCES.map((s) => s.seq.length)) - 1;
92
- /** Split explicit keys using the recognition table; bare CR/LF remain text. */
93
- export function splitEnterSequences(text) {
94
- const segments = [];
95
- let start = 0;
96
- let index = 0;
97
- while (index < text.length) {
98
- const match = text[index] === '\x1b'
99
- ? ENTER_SEQUENCES.find((spec) => text.startsWith(spec.seq, index)) : undefined;
100
- if (!match) {
101
- index += 1;
102
- continue;
103
- }
104
- if (index > start)
105
- segments.push({ kind: 'text', text: text.slice(start, index) });
106
- segments.push({ kind: match.to === '\r' ? 'submit' : 'newline' });
107
- index += match.seq.length;
108
- start = index;
109
- }
110
- if (start < text.length)
111
- segments.push({ kind: 'text', text: text.slice(start) });
112
- return segments;
113
- }
114
- /** Normalize explicit Enter keys without changing unknown sequences. */
115
- export function rewriteEnterSequences(text) {
116
- return splitEnterSequences(text).map((segment) => {
117
- if (segment.kind === 'text')
118
- return segment.text;
119
- return segment.kind === 'submit' ? '\r' : ENTER_NEWLINE_FRAME;
120
- }).join('');
121
- }
122
- /** True when `s` is a PROPER prefix of some recognized sequence (never whole). */
123
- function isEnterPrefix(s) {
124
- if (s.length === 0 || s.length > MAX_ENTER_PREFIX)
125
- return false;
126
- for (const spec of ENTER_SEQUENCES) {
127
- // `length >`, not `startsWith` alone: `startsWith` accepts the WHOLE
128
- // sequence too, and holding a complete sequence back would add 12 ms
129
- // of latency to a key that is ready to be rewritten right now.
130
- if (spec.seq.length > s.length && spec.seq.startsWith(s))
131
- return true;
132
- }
133
- return false;
134
- }
135
- /**
136
- * Length of the trailing run of `text` that is a proper prefix of an
137
- * Enter-family sequence, or 0.
138
- *
139
- * LONGEST MATCH, not shortest: unlike the mouse and paste families, a torn
140
- * CSI-u sequence diverges from its siblings only at the LAST byte
141
- * (`\x1b[13;` + `2u`), so every byte before the divergence point must be held
142
- * back for the next chunk or the sequence is destroyed a byte early. Feeding
143
- * the result into the filter's `keep = max(...)` alongside the other two
144
- * families keeps every family's hold intact.
145
- */
146
- export function trailingEnterPrefixLength(text) {
147
- const max = Math.min(text.length, MAX_ENTER_PREFIX);
148
- for (let k = max; k >= 1; k -= 1) {
149
- if (isEnterPrefix(text.slice(text.length - k)))
150
- return k;
151
- }
152
- return 0;
153
- }
@@ -1,18 +0,0 @@
1
- /** Confirmation window for two independent decoded Escape events. */
2
- export declare const INTERRUPT_CONFIRM_MS = 1500;
3
- export type InterruptGestureState = {
4
- phase: 'ready';
5
- } | {
6
- phase: 'armed';
7
- armedAt: number;
8
- } | {
9
- phase: 'stopping';
10
- };
11
- export interface InterruptGestureResult {
12
- state: InterruptGestureState;
13
- action: 'hint' | 'abort' | 'force-stop';
14
- }
15
- /** Advance using a monotonic clock; the caller owns the current run's lifetime. */
16
- export declare function advanceInterruptGesture(state: InterruptGestureState, now: number): InterruptGestureResult;
17
- /** Other input cancels confirmation, but cannot undo an already requested stop. */
18
- export declare function cancelInterruptConfirmation(state: InterruptGestureState): InterruptGestureState;
@@ -1,19 +0,0 @@
1
- /** Confirmation window for two independent decoded Escape events. */
2
- export const INTERRUPT_CONFIRM_MS = 1500;
3
- /** Advance using a monotonic clock; the caller owns the current run's lifetime. */
4
- export function advanceInterruptGesture(state, now) {
5
- if (state.phase === 'stopping') {
6
- return { state: { phase: 'ready' }, action: 'force-stop' };
7
- }
8
- if (state.phase === 'armed') {
9
- const elapsed = now - state.armedAt;
10
- if (elapsed >= 0 && elapsed <= INTERRUPT_CONFIRM_MS) {
11
- return { state: { phase: 'stopping' }, action: 'abort' };
12
- }
13
- }
14
- return { state: { phase: 'armed', armedAt: now }, action: 'hint' };
15
- }
16
- /** Other input cancels confirmation, but cannot undo an already requested stop. */
17
- export function cancelInterruptConfirmation(state) {
18
- return state.phase === 'armed' ? { phase: 'ready' } : state;
19
- }
@@ -1,42 +0,0 @@
1
- /**
2
- * Keyboard-enhancement lifecycle (the Shift+Enter newline fix).
3
- *
4
- * WHY A LIFECYCLE MODULE AND NOT ANOTHER `screen.ts` MODE. The alternate
5
- * screen is bound to fullscreen rendering; keyboard enhancement must run in
6
- * every interactive session, inline included, because the composer is always
7
- * there. It still follows the screen module's discipline: bytes are written
8
- * ONLY for a TTY stdout, restore is idempotent, and the caller owns every
9
- * decision -- this module is told the resolved capability and never derives
10
- * one from config or environment.
11
- *
12
- * PLATFORM SPLIT, DECIDED BY BYTE-LEVEL PROBES (see
13
- * docs/diagnoses/shift-enter-newline-dead-by-default):
14
- *
15
- * - win32: `?9001h` (win32-input-mode). It works through ConPTY on both
16
- * conhost and Windows Terminal; kitty `CSI > 1 u` is swallowed there (a
17
- * `CSI ? u` query never answers) and modifyOtherKeys is a no-op. Gated on
18
- * the SAME `vtInputSupported` measurement the mouse feature uses: on Node
19
- * < 22.17 / < 24.2 libuv never turns on `ENABLE_VIRTUAL_TERMINAL_INPUT`,
20
- * so the records cannot reach the process and the mode would be a lie.
21
- * - everything else: kitty disambiguate (`CSI > 1 u`) plus
22
- * `modifyOtherKeys=2`. iTerm2 / kitty / ghostty / WezTerm / foot implement
23
- * at least one; terminals that implement neither ignore both bytes.
24
- */
25
- export interface KeyboardEnhancementHandle {
26
- /** Idempotent; writes the disable bytes exactly once. */
27
- restore(): void;
28
- }
29
- /** The handle a gated-out session reads: nothing was pushed, nothing unwinds. */
30
- export declare const NOOP_KEYBOARD_ENHANCEMENT: KeyboardEnhancementHandle;
31
- /**
32
- * Ask the terminal to report modified keys distinctly. The returned handle's
33
- * `restore()` hands the keyboard back; wire it into the same convergence
34
- * point the screen restore uses so every exit path unwinds both.
35
- *
36
- * `vtInputSupported` is the measurement `cli.tsx` already resolves for the
37
- * mouse gate; on win32 it decides between `?9001h` and nothing at all.
38
- */
39
- export declare function enableKeyboardEnhancement(stdout: NodeJS.WriteStream | undefined, opts: {
40
- readonly platform: string;
41
- readonly vtInputSupported: boolean;
42
- }): KeyboardEnhancementHandle;
@@ -1,65 +0,0 @@
1
- /**
2
- * Keyboard-enhancement lifecycle (the Shift+Enter newline fix).
3
- *
4
- * WHY A LIFECYCLE MODULE AND NOT ANOTHER `screen.ts` MODE. The alternate
5
- * screen is bound to fullscreen rendering; keyboard enhancement must run in
6
- * every interactive session, inline included, because the composer is always
7
- * there. It still follows the screen module's discipline: bytes are written
8
- * ONLY for a TTY stdout, restore is idempotent, and the caller owns every
9
- * decision -- this module is told the resolved capability and never derives
10
- * one from config or environment.
11
- *
12
- * PLATFORM SPLIT, DECIDED BY BYTE-LEVEL PROBES (see
13
- * docs/diagnoses/shift-enter-newline-dead-by-default):
14
- *
15
- * - win32: `?9001h` (win32-input-mode). It works through ConPTY on both
16
- * conhost and Windows Terminal; kitty `CSI > 1 u` is swallowed there (a
17
- * `CSI ? u` query never answers) and modifyOtherKeys is a no-op. Gated on
18
- * the SAME `vtInputSupported` measurement the mouse feature uses: on Node
19
- * < 22.17 / < 24.2 libuv never turns on `ENABLE_VIRTUAL_TERMINAL_INPUT`,
20
- * so the records cannot reach the process and the mode would be a lie.
21
- * - everything else: kitty disambiguate (`CSI > 1 u`) plus
22
- * `modifyOtherKeys=2`. iTerm2 / kitty / ghostty / WezTerm / foot implement
23
- * at least one; terminals that implement neither ignore both bytes.
24
- */
25
- import { CSI_U_DISABLE, CSI_U_ENABLE, } from './csiu-keys.js';
26
- import { WIN32_INPUT_DISABLE, WIN32_INPUT_ENABLE } from './win32-input-mode.js';
27
- const NOOP_HANDLE = { restore() { } };
28
- /** The handle a gated-out session reads: nothing was pushed, nothing unwinds. */
29
- export const NOOP_KEYBOARD_ENHANCEMENT = NOOP_HANDLE;
30
- function safeWrite(stdout, data) {
31
- try {
32
- stdout.write(data);
33
- }
34
- catch {
35
- // A closed/broken stdout must never crash the exit path.
36
- }
37
- }
38
- /**
39
- * Ask the terminal to report modified keys distinctly. The returned handle's
40
- * `restore()` hands the keyboard back; wire it into the same convergence
41
- * point the screen restore uses so every exit path unwinds both.
42
- *
43
- * `vtInputSupported` is the measurement `cli.tsx` already resolves for the
44
- * mouse gate; on win32 it decides between `?9001h` and nothing at all.
45
- */
46
- export function enableKeyboardEnhancement(stdout, opts) {
47
- if (!stdout || !stdout.isTTY || typeof stdout.write !== 'function')
48
- return NOOP_HANDLE;
49
- const enable = opts.platform === 'win32'
50
- ? (opts.vtInputSupported ? WIN32_INPUT_ENABLE : '')
51
- : CSI_U_ENABLE;
52
- if (enable.length === 0)
53
- return NOOP_HANDLE;
54
- const disable = opts.platform === 'win32' ? WIN32_INPUT_DISABLE : CSI_U_DISABLE;
55
- safeWrite(stdout, enable);
56
- let restored = false;
57
- return {
58
- restore() {
59
- if (restored)
60
- return;
61
- restored = true;
62
- safeWrite(stdout, disable);
63
- },
64
- };
65
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * Editing keymap (spec §3.10). Pure: maps a raw `useInput` `(input, key)` pair
3
- * to a line-editing intent. Ink does not surface Home/End/word keys on its
4
- * `key` object — those arrive as raw escape sequences in `input` — so this
5
- * recognizer inspects both the parsed `key` flags (for Ctrl/Alt combos) and the
6
- * raw sequence (for Home/End/word jumps), and returns `null` for anything it
7
- * does not own so the caller can drop unknown control bytes instead of
8
- * inserting them into the buffer.
9
- */
10
- export type EditIntent = 'home' | 'end' | 'wordLeft' | 'wordRight' | 'deleteWordBack' | 'killToStart' | 'killToEnd';
11
- /** Minimal shape of Ink's `Key` we consult (structurally compatible). */
12
- export interface KeyState {
13
- ctrl?: boolean;
14
- meta?: boolean;
15
- shift?: boolean;
16
- leftArrow?: boolean;
17
- rightArrow?: boolean;
18
- }
19
- /** Recognize a line-editing intent, or `null` if this key is not an edit op. */
20
- export declare function recognize(input: string, key: KeyState): EditIntent | null;
@@ -1,99 +0,0 @@
1
- /**
2
- * Editing keymap (spec §3.10). Pure: maps a raw `useInput` `(input, key)` pair
3
- * to a line-editing intent. Ink does not surface Home/End/word keys on its
4
- * `key` object — those arrive as raw escape sequences in `input` — so this
5
- * recognizer inspects both the parsed `key` flags (for Ctrl/Alt combos) and the
6
- * raw sequence (for Home/End/word jumps), and returns `null` for anything it
7
- * does not own so the caller can drop unknown control bytes instead of
8
- * inserting them into the buffer.
9
- */
10
- /**
11
- * Map a Ctrl-modified key to an intent, if any.
12
- *
13
- * `Ctrl+K` IS DELIBERATELY NOT HERE (agent-model-kits D-15). That byte belongs
14
- * to the Agent-kit picker on the main screen, and this recognizer runs BEFORE
15
- * `PromptInput`'s `if (key.ctrl) return` - so keeping the binding would delete
16
- * the user's draft in one listener while the other opened the overlay. The
17
- * capability moved to `Alt+K` (`fromMeta`) instead of being dropped.
18
- */
19
- function fromCtrl(input, key) {
20
- if (key.leftArrow)
21
- return 'wordLeft';
22
- if (key.rightArrow)
23
- return 'wordRight';
24
- switch (input) {
25
- case 'a':
26
- return 'home';
27
- case 'e':
28
- return 'end';
29
- case 'w':
30
- return 'deleteWordBack';
31
- case 'u':
32
- return 'killToStart';
33
- default:
34
- return null;
35
- }
36
- }
37
- /** Map an Alt/Meta-modified key to an intent, if any. */
38
- function fromMeta(input) {
39
- if (input === 'b')
40
- return 'wordLeft';
41
- if (input === 'f')
42
- return 'wordRight';
43
- // `killToEnd` LIVES HERE NOW (agent-model-kits D-15). `Alt+K` keeps the
44
- // capability, and it keeps the kill family together: `M-k` is kill-sentence in
45
- // the Emacs tradition this keymap already borrows `Ctrl+W` and `Alt+B/F` from.
46
- if (input === 'k')
47
- return 'killToEnd';
48
- if (input === '\x7f' || input === '\b')
49
- return 'deleteWordBack';
50
- return null;
51
- }
52
- /** Map a raw terminal escape / control sequence to an intent, if any. */
53
- function fromRaw(input) {
54
- switch (input) {
55
- case '\x1b[H':
56
- case '\x1b[1~':
57
- case '\x1bOH':
58
- case '\x01': // Ctrl+A (raw)
59
- return 'home';
60
- case '\x1b[F':
61
- case '\x1b[4~':
62
- case '\x1bOF':
63
- case '\x05': // Ctrl+E (raw)
64
- return 'end';
65
- case '\x1b[1;5D':
66
- case '\x1bb':
67
- return 'wordLeft';
68
- case '\x1b[1;5C':
69
- case '\x1bf':
70
- return 'wordRight';
71
- case '\x17': // Ctrl+W (raw)
72
- case '\x1b\x7f':
73
- case '\x1b\b':
74
- return 'deleteWordBack';
75
- case '\x15': // Ctrl+U (raw)
76
- return 'killToStart';
77
- case '\x1bk':
78
- // Alt+K (raw ESC + k). `\x0b` (Ctrl+K) is deliberately ABSENT: it belongs
79
- // to the Agent-kit picker, and a case for it here would be a dead binding
80
- // that still looks alive to every future reader.
81
- return 'killToEnd';
82
- default:
83
- return null;
84
- }
85
- }
86
- /** Recognize a line-editing intent, or `null` if this key is not an edit op. */
87
- export function recognize(input, key) {
88
- if (key.ctrl) {
89
- const hit = fromCtrl(input, key);
90
- if (hit)
91
- return hit;
92
- }
93
- if (key.meta) {
94
- const hit = fromMeta(input);
95
- if (hit)
96
- return hit;
97
- }
98
- return fromRaw(input);
99
- }