@aragon-agent/cli 0.6.46 → 0.6.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (775) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +80 -12
  3. package/dist/agent/coalesce.d.ts +5 -1
  4. package/dist/agent/coalesce.js +13 -0
  5. package/dist/agent/controller.d.ts +41 -20
  6. package/dist/agent/controller.js +68 -15
  7. package/dist/agent/conversation-reset.d.ts +1 -1
  8. package/dist/agent/governance-wiring.d.ts +6 -6
  9. package/dist/agent/governance-wiring.js +4 -4
  10. package/dist/agent/headless.d.ts +5 -5
  11. package/dist/agent/headless.js +4 -4
  12. package/dist/agent/job-notices.d.ts +1 -1
  13. package/dist/agent/job-notices.js +1 -1
  14. package/dist/agent/kit-apply.d.ts +3 -3
  15. package/dist/agent/kit-apply.js +3 -3
  16. package/dist/agent/model-profile-settings.d.ts +2 -2
  17. package/dist/agent/model-profile-settings.js +6 -6
  18. package/dist/agent/prompt-options.d.ts +1 -1
  19. package/dist/agent/system-prompt.d.ts +1 -1
  20. package/dist/agent/user-attention.d.ts +17 -0
  21. package/dist/agent/user-attention.js +32 -0
  22. package/dist/{ui → app}/App.d.ts +9 -9
  23. package/dist/{ui → app}/App.js +113 -79
  24. package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
  25. package/dist/{ui → app}/use-startup-notices.js +2 -2
  26. package/dist/cli.js +31 -32
  27. package/dist/commands/agents-command.js +1 -1
  28. package/dist/commands/builtins.js +9 -9
  29. package/dist/commands/governance-command.js +2 -2
  30. package/dist/commands/governance-runs-table.js +1 -1
  31. package/dist/commands/kit-command.js +1 -1
  32. package/dist/commands/perf.d.ts +3 -3
  33. package/dist/commands/perf.js +1 -1
  34. package/dist/commands/registry.d.ts +8 -8
  35. package/dist/commands/skills.js +2 -2
  36. package/dist/commands/team-command.js +1 -1
  37. package/dist/compaction/archive.d.ts +1 -1
  38. package/dist/compaction/archive.js +1 -1
  39. package/dist/compaction/child.d.ts +3 -3
  40. package/dist/compaction/child.js +4 -4
  41. package/dist/compaction/command.js +5 -5
  42. package/dist/compaction/compactor.d.ts +6 -6
  43. package/dist/compaction/compactor.js +6 -6
  44. package/dist/compaction/context-command.js +1 -1
  45. package/dist/compaction/digest.js +1 -1
  46. package/dist/compaction/memory-input.js +1 -1
  47. package/dist/compaction/memory-validation.js +1 -1
  48. package/dist/compaction/memory.js +1 -1
  49. package/dist/compaction/summarize-call.js +1 -1
  50. package/dist/compaction/summary-prompt.js +1 -1
  51. package/dist/compaction/tail-budget.js +2 -2
  52. package/dist/compaction/wiring.d.ts +5 -5
  53. package/dist/compaction/wiring.js +2 -2
  54. package/dist/config/cli-commands.d.ts +1 -1
  55. package/dist/config/cli-commands.js +3 -3
  56. package/dist/config/env.d.ts +1 -1
  57. package/dist/config/env.js +4 -4
  58. package/dist/config/load.d.ts +2 -2
  59. package/dist/config/load.js +10 -31
  60. package/dist/config/migrate-state-out-of-config.js +1 -1
  61. package/dist/config/model-profile-store.d.ts +4 -54
  62. package/dist/config/model-profile-store.js +3 -3
  63. package/dist/config/prompt-history.js +1 -1
  64. package/dist/config/store.d.ts +2 -2
  65. package/dist/config/store.js +3 -3
  66. package/dist/diagnostics/doctor.js +4 -4
  67. package/dist/exec/bridge/decisions.d.ts +1 -1
  68. package/dist/exec/bridge/human-answers.d.ts +1 -1
  69. package/dist/exec/bridge/human-answers.js +1 -1
  70. package/dist/exec/bridge/protocol.d.ts +1 -1
  71. package/dist/exec/bridge/server.js +1 -1
  72. package/dist/exec/events.d.ts +2 -2
  73. package/dist/exec/index.d.ts +1 -1
  74. package/dist/exec/index.js +1 -1
  75. package/dist/exec/permission.js +1 -1
  76. package/dist/exec/runner.d.ts +3 -3
  77. package/dist/exec/runner.js +2 -2
  78. package/dist/exec/threads/runtime.js +1 -1
  79. package/dist/fast/digest.d.ts +1 -1
  80. package/dist/fast/digest.js +1 -1
  81. package/dist/fast/frames.d.ts +1 -1
  82. package/dist/fast/frames.js +1 -1
  83. package/dist/fast/prompt.d.ts +1 -1
  84. package/dist/fast/prompt.js +1 -1
  85. package/dist/fast/review-call.js +1 -1
  86. package/dist/fast/reviewer.d.ts +3 -3
  87. package/dist/fast/reviewer.js +1 -1
  88. package/dist/fast/summary-call.d.ts +3 -3
  89. package/dist/fast/summary-call.js +2 -2
  90. package/dist/fast/summary-prompt.d.ts +1 -1
  91. package/dist/fast/summary-prompt.js +1 -1
  92. package/dist/fast/wiring.d.ts +4 -4
  93. package/dist/fast/wiring.js +1 -1
  94. package/dist/governance/card-normalize.d.ts +1 -1
  95. package/dist/governance/copy.d.ts +1 -1
  96. package/dist/governance/copy.js +2 -2
  97. package/dist/governance/engine/artifact-persist.d.ts +1 -1
  98. package/dist/governance/engine/budget.d.ts +1 -1
  99. package/dist/governance/engine/budget.js +1 -1
  100. package/dist/governance/engine/cards.d.ts +1 -1
  101. package/dist/governance/engine/digest.js +1 -1
  102. package/dist/governance/engine/engine-core.d.ts +5 -5
  103. package/dist/governance/engine/engine-core.js +1 -1
  104. package/dist/governance/engine/engine.d.ts +1 -1
  105. package/dist/governance/engine/engine.js +1 -1
  106. package/dist/governance/engine/estimate.d.ts +1 -1
  107. package/dist/governance/engine/estimate.js +1 -1
  108. package/dist/governance/engine/inspector.js +2 -2
  109. package/dist/governance/engine/integration.d.ts +1 -1
  110. package/dist/governance/engine/lifecycle.d.ts +1 -1
  111. package/dist/governance/engine/lifecycle.js +1 -1
  112. package/dist/governance/engine/phase-members.d.ts +1 -1
  113. package/dist/governance/engine/phase-planner.d.ts +1 -1
  114. package/dist/governance/engine/phase-planner.js +1 -1
  115. package/dist/governance/engine/rebuild.d.ts +1 -1
  116. package/dist/governance/engine/report.d.ts +1 -1
  117. package/dist/governance/engine/report.js +1 -1
  118. package/dist/governance/engine/run-digest.d.ts +1 -1
  119. package/dist/governance/engine/spec-builder.d.ts +2 -2
  120. package/dist/governance/engine/spec-builder.js +2 -2
  121. package/dist/governance/engine/stage-runner.js +2 -2
  122. package/dist/governance/engine/start-input.d.ts +1 -1
  123. package/dist/governance/engine/start-input.js +1 -1
  124. package/dist/governance/engine/state-machine.d.ts +1 -1
  125. package/dist/governance/engine/state-machine.js +3 -3
  126. package/dist/governance/engine/submission-queries.d.ts +1 -1
  127. package/dist/governance/engine/submission-render.d.ts +1 -1
  128. package/dist/governance/engine/submissions.d.ts +1 -1
  129. package/dist/governance/engine/submissions.js +1 -1
  130. package/dist/governance/engine/visibility.d.ts +1 -1
  131. package/dist/governance/engine/visibility.js +1 -1
  132. package/dist/governance/posture-transition.d.ts +2 -2
  133. package/dist/governance/posture-transition.js +1 -1
  134. package/dist/governance/profiles.d.ts +1 -1
  135. package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
  136. package/dist/governance/prompts/orchestrator-block.js +2 -2
  137. package/dist/governance/prompts/plan-addendum.d.ts +1 -1
  138. package/dist/governance/prompts/plan-addendum.js +1 -1
  139. package/dist/governance/prompts/role-blocks.d.ts +2 -2
  140. package/dist/governance/prompts/role-blocks.js +1 -1
  141. package/dist/governance/report-reader.js +1 -1
  142. package/dist/governance/roles.d.ts +1 -1
  143. package/dist/governance/rules/claims.d.ts +1 -1
  144. package/dist/governance/rules/claims.js +1 -1
  145. package/dist/governance/rules/elimination.d.ts +1 -1
  146. package/dist/governance/rules/elimination.js +1 -1
  147. package/dist/governance/rules/failure-analysis.d.ts +2 -2
  148. package/dist/governance/rules/failure-analysis.js +1 -1
  149. package/dist/governance/rules/ledger-replay.d.ts +1 -1
  150. package/dist/governance/rules/ledger-state.d.ts +1 -1
  151. package/dist/governance/rules/ledger-state.js +1 -1
  152. package/dist/governance/rules/ledger.d.ts +2 -2
  153. package/dist/governance/rules/ledger.js +2 -2
  154. package/dist/governance/rules/rca.d.ts +1 -1
  155. package/dist/governance/rules/rca.js +1 -1
  156. package/dist/governance/rules/settlement.d.ts +2 -2
  157. package/dist/governance/rules/settlement.js +2 -2
  158. package/dist/governance/rules/suspicion.d.ts +1 -1
  159. package/dist/governance/store/artifacts.d.ts +1 -1
  160. package/dist/governance/store/artifacts.js +1 -1
  161. package/dist/governance/store/events-log.d.ts +1 -1
  162. package/dist/governance/store/run-store.d.ts +1 -1
  163. package/dist/governance/store/run-store.js +1 -1
  164. package/dist/governance/store/scoreboard-export.d.ts +1 -1
  165. package/dist/governance/tools/child-tools.d.ts +1 -1
  166. package/dist/governance/tools/guard.d.ts +1 -1
  167. package/dist/governance/tools/guard.js +1 -1
  168. package/dist/governance/tools/inspector-tools.d.ts +2 -2
  169. package/dist/governance/tools/inspector-tools.js +2 -2
  170. package/dist/governance/tools/lead-tools.d.ts +1 -1
  171. package/dist/governance/tools/lead-tools.js +1 -1
  172. package/dist/governance/tools/normalize-util.js +1 -1
  173. package/dist/governance/tools/scan-incomplete.js +1 -1
  174. package/dist/governance/tools/shared-tools.d.ts +1 -1
  175. package/dist/governance/tools/shared-tools.js +1 -1
  176. package/dist/governance/tools/submit-normalizers.d.ts +1 -1
  177. package/dist/governance/tools/submit-normalizers.js +1 -1
  178. package/dist/governance/tools/submit-tools.d.ts +1 -1
  179. package/dist/logging/cli-commands.js +1 -1
  180. package/dist/logging/install.d.ts +1 -1
  181. package/dist/logging/install.js +3 -3
  182. package/dist/logging/logger.d.ts +2 -2
  183. package/dist/logging/logger.js +31 -2
  184. package/dist/proc/kill-tree.js +1 -1
  185. package/dist/proc/log-mirror.js +1 -1
  186. package/dist/proc/log-ring.js +2 -2
  187. package/dist/proc/notices.d.ts +1 -1
  188. package/dist/proc/notices.js +2 -2
  189. package/dist/proc/prompt.d.ts +1 -1
  190. package/dist/proc/prompt.js +8 -5
  191. package/dist/proc/readiness.js +1 -1
  192. package/dist/proc/supervisor.d.ts +1 -1
  193. package/dist/proc/supervisor.js +10 -4
  194. package/dist/proc/wait-plan.d.ts +39 -0
  195. package/dist/proc/wait-plan.js +77 -0
  196. package/dist/proc/wait.d.ts +37 -4
  197. package/dist/proc/wait.js +68 -5
  198. package/dist/prompts/command.d.ts +1 -1
  199. package/dist/prompts/command.js +1 -1
  200. package/dist/prompts/normalize.d.ts +1 -1
  201. package/dist/prompts/normalize.js +1 -1
  202. package/dist/prompts/resolve.d.ts +1 -1
  203. package/dist/prompts/store.d.ts +2 -12
  204. package/dist/prompts/store.js +6 -60
  205. package/dist/session/checkpoint.d.ts +2 -2
  206. package/dist/session/checkpoint.js +2 -0
  207. package/dist/session/clear-archive.d.ts +2 -2
  208. package/dist/session/persist.d.ts +2 -2
  209. package/dist/session/persist.js +20 -3
  210. package/dist/session/startup-session.d.ts +2 -2
  211. package/dist/session/validate-session.js +6 -3
  212. package/dist/skills/service.d.ts +2 -2
  213. package/dist/team/bus.d.ts +1 -1
  214. package/dist/team/bus.js +1 -1
  215. package/dist/team/child-reviewer.d.ts +2 -2
  216. package/dist/team/child-reviewer.js +1 -1
  217. package/dist/team/comm-tools.js +1 -1
  218. package/dist/team/dispatch-gate.js +1 -1
  219. package/dist/team/forced-dispatch.js +1 -1
  220. package/dist/team/forced-mode.d.ts +1 -1
  221. package/dist/team/forced-prompt.d.ts +1 -1
  222. package/dist/team/forced-prompt.js +1 -1
  223. package/dist/team/normalize.d.ts +1 -1
  224. package/dist/team/normalize.js +1 -1
  225. package/dist/team/overseer.d.ts +3 -3
  226. package/dist/team/overseer.js +3 -3
  227. package/dist/team/prompt.d.ts +1 -1
  228. package/dist/team/prompt.js +1 -1
  229. package/dist/team/report.d.ts +2 -2
  230. package/dist/team/report.js +2 -2
  231. package/dist/team/retry.d.ts +1 -1
  232. package/dist/team/retry.js +1 -1
  233. package/dist/team/runtime.d.ts +4 -4
  234. package/dist/team/runtime.js +2 -2
  235. package/dist/team/settled.d.ts +2 -2
  236. package/dist/team/subagent.d.ts +4 -4
  237. package/dist/team/subagent.js +5 -5
  238. package/dist/team/task-tool.d.ts +1 -1
  239. package/dist/team/task-tool.js +1 -1
  240. package/dist/todo/normalize.d.ts +1 -1
  241. package/dist/todo/normalize.js +1 -1
  242. package/dist/todo/prompt.d.ts +1 -1
  243. package/dist/todo/prompt.js +1 -1
  244. package/dist/todo/store.d.ts +1 -1
  245. package/dist/todo/store.js +2 -2
  246. package/dist/todo/todo-tool.d.ts +1 -1
  247. package/dist/todo/todo-tool.js +2 -2
  248. package/dist/tools/bash-tool.d.ts +1 -1
  249. package/dist/tools/bash-tool.js +2 -2
  250. package/dist/tools/diff.d.ts +1 -1
  251. package/dist/tools/diff.js +1 -1
  252. package/dist/tools/file-change-store.d.ts +1 -1
  253. package/dist/tools/fs-tools.d.ts +2 -2
  254. package/dist/tools/fs-tools.js +1 -1
  255. package/dist/tools/index.d.ts +3 -3
  256. package/dist/tools/index.js +1 -1
  257. package/dist/tools/job-tools.d.ts +14 -3
  258. package/dist/tools/job-tools.js +158 -35
  259. package/dist/tools/plan-tools.d.ts +1 -1
  260. package/dist/tools/plan-tools.js +1 -1
  261. package/dist/tools/proc-tools.d.ts +1 -1
  262. package/dist/tools/proc-tools.js +2 -2
  263. package/dist/update/classify-failure.d.ts +1 -1
  264. package/dist/update/install-lock.js +1 -1
  265. package/dist/update/install-source.d.ts +1 -1
  266. package/dist/update/installer.js +2 -2
  267. package/dist/update/npm-view.d.ts +1 -1
  268. package/dist/update/npm-view.js +1 -1
  269. package/dist/update/registry.d.ts +1 -1
  270. package/dist/update/registry.js +1 -1
  271. package/dist/update/service.d.ts +2 -2
  272. package/dist/update/service.js +2 -2
  273. package/package.json +7 -7
  274. package/dist/agent/agent-mode.d.ts +0 -108
  275. package/dist/agent/agent-mode.js +0 -121
  276. package/dist/agent/entry-limits.d.ts +0 -65
  277. package/dist/agent/entry-limits.js +0 -133
  278. package/dist/agent/governance-view.d.ts +0 -40
  279. package/dist/agent/governance-view.js +0 -40
  280. package/dist/agent/invocation-card.d.ts +0 -77
  281. package/dist/agent/invocation-card.js +0 -169
  282. package/dist/agent/model-probe-limits.d.ts +0 -39
  283. package/dist/agent/model-probe-limits.js +0 -25
  284. package/dist/agent/model-probe.d.ts +0 -104
  285. package/dist/agent/model-probe.js +0 -391
  286. package/dist/agent/queued-messages.d.ts +0 -23
  287. package/dist/agent/queued-messages.js +0 -49
  288. package/dist/agent/reducer.d.ts +0 -837
  289. package/dist/agent/reducer.js +0 -1617
  290. package/dist/agent/retry-view.d.ts +0 -68
  291. package/dist/agent/retry-view.js +0 -95
  292. package/dist/agent/usage.d.ts +0 -47
  293. package/dist/agent/usage.js +0 -84
  294. package/dist/compaction/limits.d.ts +0 -61
  295. package/dist/compaction/limits.js +0 -64
  296. package/dist/compaction/meter.d.ts +0 -276
  297. package/dist/compaction/meter.js +0 -512
  298. package/dist/compaction/pressure.d.ts +0 -163
  299. package/dist/compaction/pressure.js +0 -199
  300. package/dist/compaction/reason-text.d.ts +0 -36
  301. package/dist/compaction/reason-text.js +0 -78
  302. package/dist/compaction/types.d.ts +0 -360
  303. package/dist/compaction/types.js +0 -22
  304. package/dist/config/governance-config.d.ts +0 -125
  305. package/dist/config/governance-config.js +0 -164
  306. package/dist/config/kit-resolution.d.ts +0 -93
  307. package/dist/config/kit-resolution.js +0 -226
  308. package/dist/config/model-kits.d.ts +0 -225
  309. package/dist/config/model-kits.js +0 -302
  310. package/dist/config/model-profile-resolution.d.ts +0 -28
  311. package/dist/config/model-profile-resolution.js +0 -88
  312. package/dist/config/model-profiles.d.ts +0 -103
  313. package/dist/config/model-profiles.js +0 -188
  314. package/dist/config/schema.d.ts +0 -1645
  315. package/dist/config/schema.js +0 -1377
  316. package/dist/fast/limits.d.ts +0 -152
  317. package/dist/fast/limits.js +0 -152
  318. package/dist/fast/resolve.d.ts +0 -44
  319. package/dist/fast/resolve.js +0 -107
  320. package/dist/fast/task-summary-types.d.ts +0 -66
  321. package/dist/fast/task-summary-types.js +0 -17
  322. package/dist/fast/types.d.ts +0 -141
  323. package/dist/fast/types.js +0 -14
  324. package/dist/governance/governed-dispatch.d.ts +0 -19
  325. package/dist/governance/governed-dispatch.js +0 -17
  326. package/dist/governance/limits.d.ts +0 -107
  327. package/dist/governance/limits.js +0 -131
  328. package/dist/governance/posture.d.ts +0 -35
  329. package/dist/governance/posture.js +0 -59
  330. package/dist/governance/rules/events-table.d.ts +0 -46
  331. package/dist/governance/rules/events-table.js +0 -94
  332. package/dist/governance/types.d.ts +0 -661
  333. package/dist/governance/types.js +0 -27
  334. package/dist/input/control-sequences.d.ts +0 -71
  335. package/dist/input/control-sequences.js +0 -222
  336. package/dist/input/csiu-keys.d.ts +0 -66
  337. package/dist/input/csiu-keys.js +0 -181
  338. package/dist/input/cursor-report.d.ts +0 -61
  339. package/dist/input/cursor-report.js +0 -97
  340. package/dist/input/enter-sequences.d.ts +0 -64
  341. package/dist/input/enter-sequences.js +0 -153
  342. package/dist/input/interrupt-gesture.d.ts +0 -18
  343. package/dist/input/interrupt-gesture.js +0 -19
  344. package/dist/input/keyboard-enhancement.d.ts +0 -42
  345. package/dist/input/keyboard-enhancement.js +0 -65
  346. package/dist/input/keymap.d.ts +0 -20
  347. package/dist/input/keymap.js +0 -99
  348. package/dist/input/limits.d.ts +0 -118
  349. package/dist/input/limits.js +0 -109
  350. package/dist/input/mouse-events.d.ts +0 -87
  351. package/dist/input/mouse-events.js +0 -212
  352. package/dist/input/paste-parse.d.ts +0 -83
  353. package/dist/input/paste-parse.js +0 -107
  354. package/dist/input/pointer-router.d.ts +0 -11
  355. package/dist/input/pointer-router.js +0 -14
  356. package/dist/input/stdin-filter.d.ts +0 -112
  357. package/dist/input/stdin-filter.js +0 -657
  358. package/dist/input/win32-input-mode.d.ts +0 -61
  359. package/dist/input/win32-input-mode.js +0 -269
  360. package/dist/logging/levels.d.ts +0 -40
  361. package/dist/logging/levels.js +0 -59
  362. package/dist/logging/secret-registry.d.ts +0 -32
  363. package/dist/logging/secret-registry.js +0 -73
  364. package/dist/proc/limits.d.ts +0 -200
  365. package/dist/proc/limits.js +0 -207
  366. package/dist/proc/progress.d.ts +0 -40
  367. package/dist/proc/progress.js +0 -135
  368. package/dist/proc/types.d.ts +0 -263
  369. package/dist/proc/types.js +0 -15
  370. package/dist/prompts/copy.d.ts +0 -89
  371. package/dist/prompts/copy.js +0 -131
  372. package/dist/prompts/fill.d.ts +0 -51
  373. package/dist/prompts/fill.js +0 -46
  374. package/dist/prompts/limits.d.ts +0 -53
  375. package/dist/prompts/limits.js +0 -53
  376. package/dist/prompts/search.d.ts +0 -58
  377. package/dist/prompts/search.js +0 -146
  378. package/dist/prompts/types.d.ts +0 -204
  379. package/dist/prompts/types.js +0 -13
  380. package/dist/team/activity.d.ts +0 -67
  381. package/dist/team/activity.js +0 -130
  382. package/dist/team/limits.d.ts +0 -308
  383. package/dist/team/limits.js +0 -330
  384. package/dist/team/model.d.ts +0 -104
  385. package/dist/team/model.js +0 -150
  386. package/dist/team/panel-rows.d.ts +0 -48
  387. package/dist/team/panel-rows.js +0 -75
  388. package/dist/team/timeline.d.ts +0 -74
  389. package/dist/team/timeline.js +0 -101
  390. package/dist/team/types.d.ts +0 -354
  391. package/dist/team/types.js +0 -13
  392. package/dist/todo/acceptance.d.ts +0 -120
  393. package/dist/todo/acceptance.js +0 -399
  394. package/dist/todo/follow-through.d.ts +0 -138
  395. package/dist/todo/follow-through.js +0 -248
  396. package/dist/todo/limits.d.ts +0 -152
  397. package/dist/todo/limits.js +0 -152
  398. package/dist/todo/panel-rows.d.ts +0 -45
  399. package/dist/todo/panel-rows.js +0 -70
  400. package/dist/todo/plan-sections.d.ts +0 -60
  401. package/dist/todo/plan-sections.js +0 -108
  402. package/dist/todo/row-window.d.ts +0 -51
  403. package/dist/todo/row-window.js +0 -107
  404. package/dist/todo/types.d.ts +0 -124
  405. package/dist/todo/types.js +0 -12
  406. package/dist/tools/human-input.d.ts +0 -212
  407. package/dist/tools/human-input.js +0 -265
  408. package/dist/tools/patch.d.ts +0 -115
  409. package/dist/tools/patch.js +0 -453
  410. package/dist/tools/terminal-output.d.ts +0 -115
  411. package/dist/tools/terminal-output.js +0 -201
  412. package/dist/tools/tool-output-store.d.ts +0 -68
  413. package/dist/tools/tool-output-store.js +0 -102
  414. package/dist/ui/ActivityLine.d.ts +0 -26
  415. package/dist/ui/ActivityLine.js +0 -48
  416. package/dist/ui/AutocompletePopup.d.ts +0 -23
  417. package/dist/ui/AutocompletePopup.js +0 -17
  418. package/dist/ui/BottomStatusRow.d.ts +0 -10
  419. package/dist/ui/BottomStatusRow.js +0 -9
  420. package/dist/ui/Composer.d.ts +0 -115
  421. package/dist/ui/Composer.js +0 -64
  422. package/dist/ui/GovernancePanel.d.ts +0 -50
  423. package/dist/ui/GovernancePanel.js +0 -77
  424. package/dist/ui/GovernanceRun.d.ts +0 -18
  425. package/dist/ui/GovernanceRun.js +0 -11
  426. package/dist/ui/Header.d.ts +0 -48
  427. package/dist/ui/Header.js +0 -27
  428. package/dist/ui/Logo.d.ts +0 -32
  429. package/dist/ui/Logo.js +0 -65
  430. package/dist/ui/Markdown.d.ts +0 -29
  431. package/dist/ui/Markdown.js +0 -116
  432. package/dist/ui/PromptCaret.d.ts +0 -11
  433. package/dist/ui/PromptCaret.js +0 -31
  434. package/dist/ui/PromptInput.d.ts +0 -192
  435. package/dist/ui/PromptInput.js +0 -689
  436. package/dist/ui/QueuePanel.d.ts +0 -8
  437. package/dist/ui/QueuePanel.js +0 -9
  438. package/dist/ui/QueueStatusRow.d.ts +0 -24
  439. package/dist/ui/QueueStatusRow.js +0 -51
  440. package/dist/ui/ScrollbackShell.d.ts +0 -132
  441. package/dist/ui/ScrollbackShell.js +0 -26
  442. package/dist/ui/SessionOpener.d.ts +0 -30
  443. package/dist/ui/SessionOpener.js +0 -12
  444. package/dist/ui/StatusBar.d.ts +0 -129
  445. package/dist/ui/StatusBar.js +0 -61
  446. package/dist/ui/TeamPanel.d.ts +0 -76
  447. package/dist/ui/TeamPanel.js +0 -103
  448. package/dist/ui/ToastStack.d.ts +0 -8
  449. package/dist/ui/ToastStack.js +0 -31
  450. package/dist/ui/TodoPanel.d.ts +0 -52
  451. package/dist/ui/TodoPanel.js +0 -214
  452. package/dist/ui/Transcript.d.ts +0 -105
  453. package/dist/ui/Transcript.js +0 -251
  454. package/dist/ui/UpdateLine.d.ts +0 -44
  455. package/dist/ui/UpdateLine.js +0 -129
  456. package/dist/ui/activity-phrases.d.ts +0 -33
  457. package/dist/ui/activity-phrases.js +0 -50
  458. package/dist/ui/capabilities.d.ts +0 -27
  459. package/dist/ui/capabilities.js +0 -65
  460. package/dist/ui/clipboard-task.d.ts +0 -29
  461. package/dist/ui/clipboard-task.js +0 -66
  462. package/dist/ui/clipboard.d.ts +0 -31
  463. package/dist/ui/clipboard.js +0 -157
  464. package/dist/ui/color-runtime.d.ts +0 -5
  465. package/dist/ui/color-runtime.js +0 -29
  466. package/dist/ui/composer-input.d.ts +0 -38
  467. package/dist/ui/composer-input.js +0 -79
  468. package/dist/ui/composer-limits.d.ts +0 -30
  469. package/dist/ui/composer-limits.js +0 -45
  470. package/dist/ui/composer-rows.d.ts +0 -73
  471. package/dist/ui/composer-rows.js +0 -129
  472. package/dist/ui/console-bridge.d.ts +0 -19
  473. package/dist/ui/console-bridge.js +0 -52
  474. package/dist/ui/density.d.ts +0 -26
  475. package/dist/ui/density.js +0 -34
  476. package/dist/ui/display-tab.d.ts +0 -51
  477. package/dist/ui/display-tab.js +0 -82
  478. package/dist/ui/editor-navigation.d.ts +0 -55
  479. package/dist/ui/editor-navigation.js +0 -96
  480. package/dist/ui/editor-reducer.d.ts +0 -108
  481. package/dist/ui/editor-reducer.js +0 -187
  482. package/dist/ui/enter-frames.d.ts +0 -47
  483. package/dist/ui/enter-frames.js +0 -117
  484. package/dist/ui/entries/AssistantEntry.d.ts +0 -37
  485. package/dist/ui/entries/AssistantEntry.js +0 -43
  486. package/dist/ui/entries/CompactionCard.d.ts +0 -88
  487. package/dist/ui/entries/CompactionCard.js +0 -222
  488. package/dist/ui/entries/DiffView.d.ts +0 -61
  489. package/dist/ui/entries/DiffView.js +0 -103
  490. package/dist/ui/entries/EntryFrame.d.ts +0 -23
  491. package/dist/ui/entries/EntryFrame.js +0 -6
  492. package/dist/ui/entries/FastCard.d.ts +0 -53
  493. package/dist/ui/entries/FastCard.js +0 -105
  494. package/dist/ui/entries/GovernanceCard.d.ts +0 -30
  495. package/dist/ui/entries/GovernanceCard.js +0 -32
  496. package/dist/ui/entries/InvocationCard.d.ts +0 -20
  497. package/dist/ui/entries/InvocationCard.js +0 -32
  498. package/dist/ui/entries/QueuedEntry.d.ts +0 -27
  499. package/dist/ui/entries/QueuedEntry.js +0 -33
  500. package/dist/ui/entries/RetryCard.d.ts +0 -56
  501. package/dist/ui/entries/RetryCard.js +0 -60
  502. package/dist/ui/entries/ServiceCard.d.ts +0 -82
  503. package/dist/ui/entries/ServiceCard.js +0 -151
  504. package/dist/ui/entries/TeamCard.d.ts +0 -55
  505. package/dist/ui/entries/TeamCard.js +0 -94
  506. package/dist/ui/entries/TodoCard.d.ts +0 -54
  507. package/dist/ui/entries/TodoCard.js +0 -98
  508. package/dist/ui/entries/ToolCard.d.ts +0 -81
  509. package/dist/ui/entries/ToolCard.js +0 -160
  510. package/dist/ui/entries/ToolPreview.d.ts +0 -59
  511. package/dist/ui/entries/ToolPreview.js +0 -208
  512. package/dist/ui/entries/UserEntry.d.ts +0 -36
  513. package/dist/ui/entries/UserEntry.js +0 -57
  514. package/dist/ui/exit-snapshot.d.ts +0 -43
  515. package/dist/ui/exit-snapshot.js +0 -26
  516. package/dist/ui/frame-differ.d.ts +0 -166
  517. package/dist/ui/frame-differ.js +0 -354
  518. package/dist/ui/frame-observer.d.ts +0 -17
  519. package/dist/ui/frame-observer.js +0 -94
  520. package/dist/ui/frame-parser.d.ts +0 -7
  521. package/dist/ui/frame-parser.js +0 -18
  522. package/dist/ui/gauge.d.ts +0 -39
  523. package/dist/ui/gauge.js +0 -55
  524. package/dist/ui/glyphs.d.ts +0 -178
  525. package/dist/ui/glyphs.js +0 -165
  526. package/dist/ui/governance-copy.d.ts +0 -69
  527. package/dist/ui/governance-copy.js +0 -104
  528. package/dist/ui/governance-status.d.ts +0 -145
  529. package/dist/ui/governance-status.js +0 -326
  530. package/dist/ui/gradient.d.ts +0 -11
  531. package/dist/ui/gradient.js +0 -50
  532. package/dist/ui/ink-runtime.d.ts +0 -4
  533. package/dist/ui/ink-runtime.js +0 -51
  534. package/dist/ui/interaction-copy.d.ts +0 -82
  535. package/dist/ui/interaction-copy.js +0 -38
  536. package/dist/ui/interaction-hints.d.ts +0 -44
  537. package/dist/ui/interaction-hints.js +0 -97
  538. package/dist/ui/layout/AppShell.d.ts +0 -17
  539. package/dist/ui/layout/AppShell.js +0 -6
  540. package/dist/ui/layout/Gutter.d.ts +0 -67
  541. package/dist/ui/layout/Gutter.js +0 -42
  542. package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
  543. package/dist/ui/layout/MeasuredEntry.js +0 -30
  544. package/dist/ui/layout/OverlayFrame.d.ts +0 -73
  545. package/dist/ui/layout/OverlayFrame.js +0 -110
  546. package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
  547. package/dist/ui/layout/ScrollIndicator.js +0 -22
  548. package/dist/ui/layout/ScrollViewport.d.ts +0 -40
  549. package/dist/ui/layout/ScrollViewport.js +0 -222
  550. package/dist/ui/layout/agents-board.d.ts +0 -102
  551. package/dist/ui/layout/agents-board.js +0 -389
  552. package/dist/ui/layout/autocomplete.d.ts +0 -18
  553. package/dist/ui/layout/autocomplete.js +0 -26
  554. package/dist/ui/layout/budget.d.ts +0 -43
  555. package/dist/ui/layout/budget.js +0 -52
  556. package/dist/ui/layout/cells.d.ts +0 -61
  557. package/dist/ui/layout/cells.js +0 -156
  558. package/dist/ui/layout/document-layout.d.ts +0 -13
  559. package/dist/ui/layout/document-layout.js +0 -10
  560. package/dist/ui/layout/follow-state.d.ts +0 -138
  561. package/dist/ui/layout/follow-state.js +0 -148
  562. package/dist/ui/layout/frame.d.ts +0 -36
  563. package/dist/ui/layout/frame.js +0 -39
  564. package/dist/ui/layout/governance-board.d.ts +0 -121
  565. package/dist/ui/layout/governance-board.js +0 -382
  566. package/dist/ui/layout/governance-card.d.ts +0 -53
  567. package/dist/ui/layout/governance-card.js +0 -134
  568. package/dist/ui/layout/governance-chip.d.ts +0 -38
  569. package/dist/ui/layout/governance-chip.js +0 -64
  570. package/dist/ui/layout/governance-panel.d.ts +0 -85
  571. package/dist/ui/layout/governance-panel.js +0 -358
  572. package/dist/ui/layout/governance-roster.d.ts +0 -65
  573. package/dist/ui/layout/governance-roster.js +0 -275
  574. package/dist/ui/layout/header-hints.d.ts +0 -90
  575. package/dist/ui/layout/header-hints.js +0 -110
  576. package/dist/ui/layout/header-left.d.ts +0 -115
  577. package/dist/ui/layout/header-left.js +0 -206
  578. package/dist/ui/layout/invocation-card.d.ts +0 -41
  579. package/dist/ui/layout/invocation-card.js +0 -91
  580. package/dist/ui/layout/kit-chip.d.ts +0 -50
  581. package/dist/ui/layout/kit-chip.js +0 -81
  582. package/dist/ui/layout/overlay-window.d.ts +0 -43
  583. package/dist/ui/layout/overlay-window.js +0 -51
  584. package/dist/ui/layout/queue-layout.d.ts +0 -19
  585. package/dist/ui/layout/queue-layout.js +0 -26
  586. package/dist/ui/layout/rail.d.ts +0 -7
  587. package/dist/ui/layout/rail.js +0 -16
  588. package/dist/ui/layout/scroll-indicator.d.ts +0 -27
  589. package/dist/ui/layout/scroll-indicator.js +0 -36
  590. package/dist/ui/layout/scroll.d.ts +0 -37
  591. package/dist/ui/layout/scroll.js +0 -99
  592. package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
  593. package/dist/ui/layout/scrollbar-geometry.js +0 -13
  594. package/dist/ui/layout/session-chip.d.ts +0 -52
  595. package/dist/ui/layout/session-chip.js +0 -64
  596. package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
  597. package/dist/ui/layout/shortcut-panel-layout.js +0 -321
  598. package/dist/ui/layout/status-detail-layout.d.ts +0 -9
  599. package/dist/ui/layout/status-detail-layout.js +0 -79
  600. package/dist/ui/layout/status-layout.d.ts +0 -139
  601. package/dist/ui/layout/status-layout.js +0 -253
  602. package/dist/ui/layout/task-summary-cell.d.ts +0 -61
  603. package/dist/ui/layout/task-summary-cell.js +0 -65
  604. package/dist/ui/layout/team-panel.d.ts +0 -18
  605. package/dist/ui/layout/team-panel.js +0 -25
  606. package/dist/ui/layout/team-row.d.ts +0 -139
  607. package/dist/ui/layout/team-row.js +0 -246
  608. package/dist/ui/layout/todo-layout.d.ts +0 -62
  609. package/dist/ui/layout/todo-layout.js +0 -102
  610. package/dist/ui/layout/useTerminalSize.d.ts +0 -13
  611. package/dist/ui/layout/useTerminalSize.js +0 -50
  612. package/dist/ui/layout/viewport-geometry.d.ts +0 -29
  613. package/dist/ui/layout/viewport-geometry.js +0 -28
  614. package/dist/ui/layout/virtual-window.d.ts +0 -112
  615. package/dist/ui/layout/virtual-window.js +0 -488
  616. package/dist/ui/layout/wrap-rows.d.ts +0 -26
  617. package/dist/ui/layout/wrap-rows.js +0 -88
  618. package/dist/ui/live-clamp.d.ts +0 -14
  619. package/dist/ui/live-clamp.js +0 -46
  620. package/dist/ui/markdown-blocks.d.ts +0 -107
  621. package/dist/ui/markdown-blocks.js +0 -240
  622. package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
  623. package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
  624. package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
  625. package/dist/ui/overlays/ConfirmDialog.js +0 -44
  626. package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
  627. package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
  628. package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
  629. package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
  630. package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
  631. package/dist/ui/overlays/HelpOverlay.js +0 -232
  632. package/dist/ui/overlays/KitEditor.d.ts +0 -23
  633. package/dist/ui/overlays/KitEditor.js +0 -101
  634. package/dist/ui/overlays/KitManager.d.ts +0 -23
  635. package/dist/ui/overlays/KitManager.js +0 -104
  636. package/dist/ui/overlays/KitPicker.d.ts +0 -49
  637. package/dist/ui/overlays/KitPicker.js +0 -58
  638. package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
  639. package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
  640. package/dist/ui/overlays/ModelPicker.d.ts +0 -26
  641. package/dist/ui/overlays/ModelPicker.js +0 -63
  642. package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
  643. package/dist/ui/overlays/ModelProfileEditor.js +0 -168
  644. package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
  645. package/dist/ui/overlays/ModelProfilePicker.js +0 -231
  646. package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
  647. package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
  648. package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
  649. package/dist/ui/overlays/PromptEditorPage.js +0 -227
  650. package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
  651. package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
  652. package/dist/ui/overlays/PromptPicker.d.ts +0 -36
  653. package/dist/ui/overlays/PromptPicker.js +0 -129
  654. package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
  655. package/dist/ui/overlays/PromptTextArea.js +0 -141
  656. package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
  657. package/dist/ui/overlays/QuestionOverlay.js +0 -258
  658. package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
  659. package/dist/ui/overlays/QueueOverlay.js +0 -79
  660. package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
  661. package/dist/ui/overlays/SettingsScreen.js +0 -1037
  662. package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
  663. package/dist/ui/overlays/ShortcutPanel.js +0 -106
  664. package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
  665. package/dist/ui/overlays/TeamFanoutPage.js +0 -90
  666. package/dist/ui/overlays/governance-settings.d.ts +0 -79
  667. package/dist/ui/overlays/governance-settings.js +0 -140
  668. package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
  669. package/dist/ui/overlays/kit-picker-state.js +0 -136
  670. package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
  671. package/dist/ui/overlays/kit-settings-state.js +0 -268
  672. package/dist/ui/overlays/model-probe-view.d.ts +0 -128
  673. package/dist/ui/overlays/model-probe-view.js +0 -225
  674. package/dist/ui/overlays/model-profile-state.d.ts +0 -177
  675. package/dist/ui/overlays/model-profile-state.js +0 -301
  676. package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
  677. package/dist/ui/overlays/prompt-library-state.js +0 -335
  678. package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
  679. package/dist/ui/overlays/prompt-picker-state.js +0 -98
  680. package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
  681. package/dist/ui/overlays/team-fanout-state.js +0 -155
  682. package/dist/ui/overlays/use-model-probe.d.ts +0 -30
  683. package/dist/ui/overlays/use-model-probe.js +0 -109
  684. package/dist/ui/palettes.d.ts +0 -112
  685. package/dist/ui/palettes.js +0 -130
  686. package/dist/ui/paste-frames.d.ts +0 -91
  687. package/dist/ui/paste-frames.js +0 -117
  688. package/dist/ui/paste-tokens.d.ts +0 -90
  689. package/dist/ui/paste-tokens.js +0 -147
  690. package/dist/ui/render-cache.d.ts +0 -81
  691. package/dist/ui/render-cache.js +0 -196
  692. package/dist/ui/render-governor.d.ts +0 -54
  693. package/dist/ui/render-governor.js +0 -78
  694. package/dist/ui/run-metrics.d.ts +0 -23
  695. package/dist/ui/run-metrics.js +0 -27
  696. package/dist/ui/run-status-row.d.ts +0 -61
  697. package/dist/ui/run-status-row.js +0 -54
  698. package/dist/ui/screen.d.ts +0 -107
  699. package/dist/ui/screen.js +0 -234
  700. package/dist/ui/scrollback/LiveTail.d.ts +0 -115
  701. package/dist/ui/scrollback/LiveTail.js +0 -48
  702. package/dist/ui/scrollback/band.d.ts +0 -114
  703. package/dist/ui/scrollback/band.js +0 -143
  704. package/dist/ui/scrollback/budget.d.ts +0 -90
  705. package/dist/ui/scrollback/budget.js +0 -100
  706. package/dist/ui/scrollback/canvas.d.ts +0 -100
  707. package/dist/ui/scrollback/canvas.js +0 -114
  708. package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
  709. package/dist/ui/scrollback/cursor-probe.js +0 -133
  710. package/dist/ui/scrollback/drain.d.ts +0 -32
  711. package/dist/ui/scrollback/drain.js +0 -64
  712. package/dist/ui/scrollback/exit-summary.d.ts +0 -23
  713. package/dist/ui/scrollback/exit-summary.js +0 -25
  714. package/dist/ui/scrollback/limits.d.ts +0 -98
  715. package/dist/ui/scrollback/limits.js +0 -98
  716. package/dist/ui/scrollback/live-preview.d.ts +0 -34
  717. package/dist/ui/scrollback/live-preview.js +0 -118
  718. package/dist/ui/scrollback/overflow-print.d.ts +0 -108
  719. package/dist/ui/scrollback/overflow-print.js +0 -120
  720. package/dist/ui/scrollback/renderer.d.ts +0 -48
  721. package/dist/ui/scrollback/renderer.js +0 -186
  722. package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
  723. package/dist/ui/scrollback/scrollback-writer.js +0 -648
  724. package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
  725. package/dist/ui/scrollback/settled-boundary.js +0 -109
  726. package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
  727. package/dist/ui/scrollback/tail-anchor.js +0 -79
  728. package/dist/ui/scrollback/tail-window.d.ts +0 -73
  729. package/dist/ui/scrollback/tail-window.js +0 -89
  730. package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
  731. package/dist/ui/scrollback/use-scrollback-view.js +0 -601
  732. package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
  733. package/dist/ui/scrollback/writer-shapes.js +0 -159
  734. package/dist/ui/scrollbar-controller.d.ts +0 -30
  735. package/dist/ui/scrollbar-controller.js +0 -124
  736. package/dist/ui/selection/highlight.d.ts +0 -39
  737. package/dist/ui/selection/highlight.js +0 -64
  738. package/dist/ui/selection/screen-mirror.d.ts +0 -24
  739. package/dist/ui/selection/screen-mirror.js +0 -35
  740. package/dist/ui/selection/selection-controller.d.ts +0 -104
  741. package/dist/ui/selection/selection-controller.js +0 -372
  742. package/dist/ui/selection/selection.d.ts +0 -90
  743. package/dist/ui/selection/selection.js +0 -223
  744. package/dist/ui/shortcuts.d.ts +0 -81
  745. package/dist/ui/shortcuts.js +0 -221
  746. package/dist/ui/status-feedback.d.ts +0 -35
  747. package/dist/ui/status-feedback.js +0 -38
  748. package/dist/ui/stdout-frame-writer.d.ts +0 -74
  749. package/dist/ui/stdout-frame-writer.js +0 -155
  750. package/dist/ui/team-status.d.ts +0 -166
  751. package/dist/ui/team-status.js +0 -252
  752. package/dist/ui/terminal-plan.d.ts +0 -52
  753. package/dist/ui/terminal-plan.js +0 -49
  754. package/dist/ui/theme.d.ts +0 -96
  755. package/dist/ui/theme.js +0 -130
  756. package/dist/ui/transcript-text.d.ts +0 -41
  757. package/dist/ui/transcript-text.js +0 -282
  758. package/dist/ui/use-height-store.d.ts +0 -31
  759. package/dist/ui/use-height-store.js +0 -76
  760. package/dist/ui/use-render-governor.d.ts +0 -39
  761. package/dist/ui/use-render-governor.js +0 -57
  762. package/dist/ui/use-wheel-routing.d.ts +0 -57
  763. package/dist/ui/use-wheel-routing.js +0 -152
  764. package/dist/ui/win-vt-force.d.ts +0 -136
  765. package/dist/ui/win-vt-force.js +0 -237
  766. package/dist/ui/win-vt-input.d.ts +0 -57
  767. package/dist/ui/win-vt-input.js +0 -62
  768. package/dist/update/limits.d.ts +0 -111
  769. package/dist/update/limits.js +0 -111
  770. package/dist/update/semver.d.ts +0 -89
  771. package/dist/update/semver.js +0 -295
  772. package/dist/update/types.d.ts +0 -169
  773. package/dist/update/types.js +0 -68
  774. /package/dist/{ui → app}/session-bridge.d.ts +0 -0
  775. /package/dist/{ui → app}/session-bridge.js +0 -0
@@ -1,263 +0,0 @@
1
- /**
2
- * Runtime shapes for the process supervisor (background-service-supervision §6).
3
- *
4
- * ASCII ONLY: `src/proc/**` is inside the glyph scanner's scope.
5
- *
6
- * `ProcEvent` is CLI-LOCAL and is deliberately NOT a member of core's
7
- * `AgentEvent` union, exactly as `TeamEvent` and `TodoEvent` are not: core
8
- * freezes its runtime export list (`public-api.test.ts`) and forbids host
9
- * coupling (`no-host-coupling.test.ts`), so a new event member would break the
10
- * first and teach core about a host shape it has no business defining.
11
- */
12
- import type { JobProgress, ProgressKind } from './progress.js';
13
- /**
14
- * WHICH KIND OF JOB A RECORD DESCRIBES (long-task-jobs §4.2, D-1).
15
- *
16
- * - `service` never exits on its own and owes the caller a readiness signal;
17
- * - `task` always exits and is `running` from the spawn.
18
- *
19
- * The distinction is not cosmetic. Before it existed, an explicitly backgrounded
20
- * `python train.py` sat in `starting` for `readyTimeoutMs` (60s) and `bash` told
21
- * the model "not ready yet - still coming up" about a job that was already
22
- * working - which is what pushed it into starting a second copy or giving up.
23
- */
24
- export type JobKind = 'service' | 'task';
25
- /**
26
- * The progress subset a SNAPSHOT carries: the rendered line and its shape.
27
- *
28
- * `source` and `rowIndex` stay on the record. They exist for tests and debugging
29
- * (which row won, and did it come from a `\r` carry), and a card or a tool result
30
- * that started depending on them would be depending on an implementation detail
31
- * of the extraction table.
32
- */
33
- export interface ServiceSnapshotProgress {
34
- text: string;
35
- kind: ProgressKind;
36
- }
37
- export type ServiceStatus =
38
- /** Spawned, not yet ready, still alive. */
39
- 'starting'
40
- /** A loopback URL was printed, or the hinted port answered. */
41
- | 'ready'
42
- /**
43
- * Alive past `readyTimeoutMs` with nothing to detect.
44
- *
45
- * A REAL STATUS, NOT A FALLBACK (D-4). `tsc --watch` and `nodemon` listen on
46
- * nothing; calling them `ready` would be a lie and leaving them `starting`
47
- * forever would be worse — and worse in a way that costs, because `starting`
48
- * is the one status that blocks the transcript's settled boundary.
49
- */
50
- | 'running'
51
- /** The process ended on its own. */
52
- | 'exited'
53
- /** Spawn itself failed. */
54
- | 'failed'
55
- /** We killed it (Ctrl+C, `bash_kill`, `/bg stop`, exit). */
56
- | 'stopped';
57
- /** A status from which nothing further will happen. */
58
- export declare function isTerminalStatus(status: ServiceStatus): boolean;
59
- export interface ServiceRecord {
60
- /** `s1` (a service), `t3` (a task). Short because the model has to quote it back. */
61
- id: string;
62
- /**
63
- * WHICH KIND OF JOB THIS IS (long-task-jobs §4.2, D-1).
64
- *
65
- * A `service` never exits on its own and owes the caller a readiness signal; a
66
- * `task` always exits and is `running` from the spawn. The distinction is not
67
- * cosmetic: before it existed, an explicitly backgrounded `python train.py` sat
68
- * in `starting` for `readyTimeoutMs` (60s) and `bash` told the model "not ready
69
- * yet - still coming up" about a job that was already working.
70
- */
71
- kind: JobKind;
72
- /** The `bash` call that started it. */
73
- toolCallId: string;
74
- command: string;
75
- cwd: string;
76
- pid: number | undefined;
77
- status: ServiceStatus;
78
- startedAt: number;
79
- readyAt?: number;
80
- endedAt?: number;
81
- exitCode: number | null;
82
- signal: NodeJS.Signals | null;
83
- url?: string;
84
- port?: number;
85
- detectedBy?: 'url' | 'probe';
86
- /** The pre-flight probe already answered, so the port detector is disabled. */
87
- portPreoccupied?: boolean;
88
- /** Bounded, sanitised ring. */
89
- rows: readonly string[];
90
- /**
91
- * MONOTONIC row cursor, for `bash_output({ since })` AND for the transcript's
92
- * `entryRevision` term.
93
- *
94
- * NEVER `rows.length`: the ring evicts its oldest row while appending a new
95
- * one, so the joined length can be identical across two different tails. That
96
- * is verbatim the non-append mutation `virtual-window.ts::entryRevision`'s
97
- * I-L3-1 comment forbids leaving out — a length term would go on matching
98
- * while the card changed underneath it.
99
- */
100
- rowsSeen: number;
101
- /** The ring has dropped at least one row. */
102
- truncated: boolean;
103
- /** A stop reported the pid still alive afterwards (R-2 / P2-6). */
104
- killIncomplete?: boolean;
105
- /**
106
- * When output last arrived, updated on EVERY CHUNK rather than per completed
107
- * row (long-task-jobs §4.5).
108
- *
109
- * THE DISTINCTION IS LOAD-BEARING: a `\r`-rewritten progress bar (every
110
- * download tool there is) moves continuously while completing no row at all,
111
- * so a "last completed row" clock would declare a healthy download stalled
112
- * after `jobs.stallSeconds`.
113
- */
114
- lastOutputAt: number;
115
- /** Latest extracted progress line, recomputed on the coalesced output tick. */
116
- progress?: JobProgress;
117
- /** Where the optional on-disk mirror is writing this job's full log. */
118
- logPath?: string;
119
- }
120
- /**
121
- * The frozen, JSON-serialisable projection listeners receive.
122
- *
123
- * LISTENERS GET SNAPSHOTS, NEVER THE RECORD, so a render-side bug cannot mutate
124
- * supervisor state. `rows` carries only the last `PROC_LIMITS.cardTailRows`.
125
- *
126
- * `kind` AND `lastOutputAt` ARE REQUIRED ON PURPOSE (long-task-jobs RV-P1-8).
127
- * `snapshot()` is a hand-copied object literal, so a new optional field that is
128
- * forgotten there fails silently in five consumers at once. Required fields turn
129
- * that omission into a compile error instead.
130
- */
131
- export interface ServiceSnapshot {
132
- id: string;
133
- kind: JobKind;
134
- toolCallId: string;
135
- command: string;
136
- cwd: string;
137
- pid: number | undefined;
138
- status: ServiceStatus;
139
- startedAt: number;
140
- readyAt?: number;
141
- endedAt?: number;
142
- exitCode: number | null;
143
- signal: NodeJS.Signals | null;
144
- url?: string;
145
- port?: number;
146
- detectedBy?: 'url' | 'probe';
147
- portPreoccupied?: boolean;
148
- rows: readonly string[];
149
- rowsSeen: number;
150
- truncated: boolean;
151
- killIncomplete?: boolean;
152
- lastOutputAt: number;
153
- progress?: ServiceSnapshotProgress;
154
- /**
155
- * DERIVED, NOT STORED: `now - lastOutputAt > jobs.stallSeconds * 1000` on a
156
- * job that has not ended.
157
- *
158
- * A stored flag would need a timer to flip it, and the whole point is that any
159
- * render refreshes the judgement for free.
160
- */
161
- stalled?: boolean;
162
- logPath?: string;
163
- }
164
- export type ProcEvent = {
165
- type: 'started';
166
- service: ServiceSnapshot;
167
- }
168
- /** Coalesced at `PROC_LIMITS.outputCoalesceMs` inside the supervisor. */
169
- | {
170
- type: 'output';
171
- service: ServiceSnapshot;
172
- } | {
173
- type: 'ready';
174
- service: ServiceSnapshot;
175
- } | {
176
- type: 'exited';
177
- service: ServiceSnapshot;
178
- } | {
179
- type: 'stopped';
180
- service: ServiceSnapshot;
181
- };
182
- export type ProcEventListener = (event: ProcEvent) => void;
183
- export interface ServiceStartRequest {
184
- command: string;
185
- cwd: string;
186
- toolCallId: string;
187
- /**
188
- * Absent means `'service'`, which is what every pre-existing caller means and
189
- * what keeps `start()` backward compatible without a second method.
190
- */
191
- kind?: JobKind;
192
- }
193
- export interface ServiceStartResult {
194
- ok: boolean;
195
- /** Present when `ok`. */
196
- service?: ServiceSnapshot;
197
- /** Present when not `ok` — already model-facing prose. */
198
- error?: string;
199
- }
200
- /** What `bash_output({ service, since })` reads back. */
201
- export interface ServiceLogPage {
202
- rows: readonly string[];
203
- /** Cursor to pass as the next `since`. */
204
- cursor: number;
205
- /** Rows were evicted between `since` and what is returned. */
206
- truncated: boolean;
207
- /**
208
- * The not-yet-terminated line among `rows` (empty when the last chunk ended
209
- * with a newline).
210
- *
211
- * THE ONLY WAY TO TELL A REDRAWING PROGRESS BAR FROM A FINISHED ROW: `rows`
212
- * always ends with the carry line when one exists, so `job_wait` uses this to
213
- * keep an unchanged carriage-return-rewritten bar out of its incremental row
214
- * budget (RV-P1-5). Optional so a test double - and `bash_output`, which does
215
- * not care - can leave it out.
216
- */
217
- carryRow?: string;
218
- }
219
- /** What `job_wait` and the supervisor need from a log mirror; no filesystem here. */
220
- export interface JobLogMirrorPort {
221
- open(jobId: string): void;
222
- write(jobId: string, chunk: string): void;
223
- pathOf(jobId: string): string | undefined;
224
- }
225
- /**
226
- * The port `bash`, the tools, the controller and `/bg` see.
227
- *
228
- * A PORT RATHER THAN THE CLASS so `tools/` keeps no import edge into `proc/`'s
229
- * implementation, which is the same discipline `ToolDeps` already follows for
230
- * the diff and live-output side channels.
231
- */
232
- export interface ProcSupervisorPort {
233
- start(req: ServiceStartRequest): Promise<ServiceStartResult>;
234
- get(id: string): ServiceSnapshot | undefined;
235
- list(): ServiceSnapshot[];
236
- /** `id`, or `'all'`. Resolves once every target is terminal or the grace ran out. */
237
- stop(id: string): Promise<ServiceSnapshot[]>;
238
- read(id: string, since?: number): ServiceLogPage | undefined;
239
- subscribe(listener: ProcEventListener): () => void;
240
- /**
241
- * Track a FOREGROUND `bash` child so `forceStop()` can reach it.
242
- *
243
- * Returns a release function the tool calls from its own `settle`. One
244
- * registry, two lifetimes: splitting foreground children and services into two
245
- * registries is how a force-stop ends up killing the user's dev server, or how
246
- * a quit leaves it running (I-4).
247
- */
248
- trackForeground(pid: number | undefined): () => void;
249
- /** Hard-kill every tracked FOREGROUND child. Never touches services (I-4). */
250
- killForeground(reason: 'force'): number;
251
- /** Live services: `starting | ready | running`. */
252
- liveCount(): number;
253
- /**
254
- * SYNCHRONOUS, TOTAL reaper — the only thing a signal hook,
255
- * `process.on('exit')` or `handleFatal` may call (I-9).
256
- *
257
- * It neither awaits, spawns asynchronously, nor throws, and it is idempotent:
258
- * a normal quit calls it twice.
259
- */
260
- reapSync(): void;
261
- /** Release every timer/socket. Idempotent. */
262
- dispose(): void;
263
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * Runtime shapes for the process supervisor (background-service-supervision §6).
3
- *
4
- * ASCII ONLY: `src/proc/**` is inside the glyph scanner's scope.
5
- *
6
- * `ProcEvent` is CLI-LOCAL and is deliberately NOT a member of core's
7
- * `AgentEvent` union, exactly as `TeamEvent` and `TodoEvent` are not: core
8
- * freezes its runtime export list (`public-api.test.ts`) and forbids host
9
- * coupling (`no-host-coupling.test.ts`), so a new event member would break the
10
- * first and teach core about a host shape it has no business defining.
11
- */
12
- /** A status from which nothing further will happen. */
13
- export function isTerminalStatus(status) {
14
- return status === 'exited' || status === 'failed' || status === 'stopped';
15
- }
@@ -1,89 +0,0 @@
1
- /**
2
- * Chinese copy for the quick-prompt library (quick-prompt-library section 9.10).
3
- *
4
- * ASCII ONLY ON DISK. Every string below is written as `\uXXXX` escapes, the way
5
- * `ui/interaction-copy.ts` does it, because `src/prompts/**` and `src/ui/**` are
6
- * both inside `glyphs.test.ts::inScope` and that scanner rejects any raw non-ASCII
7
- * byte. The escapes are the point: the product speaks English in its chrome
8
- * (labels, footers, the overlays' own vocabulary) and the sentences that explain a
9
- * failure to THIS user are here, in one table, where a translator can find them
10
- * and where the API surfaces that build them cannot drift from each other.
11
- *
12
- * WHY ONE TABLE AND NOT STRINGS AT THE CALL SITES: the same failure is reported by
13
- * a toast, by a `/prompts` subcommand and by the editor's error row. Three copies
14
- * of one sentence is three wordings waiting to happen.
15
- */
16
- import type { PromptSortKey, PromptWriteError } from './types.js';
17
- /** `\u5df2\u586b\u5165\u300cx\u300d\uff088 \u884c\uff0c\u53ef\u7ee7\u7eed\u7f16\u8f91\uff09`. */
18
- export declare function promptFilledCopy(title: string, lines: number): string;
19
- /** `\u5df2\u63d2\u5165\u5230\u5149\u6807\u5904\uff0c\u539f\u5185\u5bb9\u4fdd\u7559\u3002` */
20
- export declare const PROMPT_INSERTED_COPY = "\u5DF2\u63D2\u5165\u5230\u5149\u6807\u5904\uFF0C\u539F\u5185\u5BB9\u4FDD\u7559\u3002";
21
- /** `\u5df2\u4fdd\u5b58\u300cx\u300d` */
22
- export declare function promptSavedCopy(title: string): string;
23
- /** `\u5df2\u5220\u9664\u300cx\u300d` */
24
- export declare function promptDeletedCopy(title: string): string;
25
- /** `\u5df2\u6536\u85cf\u300cx\u300d` / `\u5df2\u53d6\u6d88\u6536\u85cf\u300cx\u300d` */
26
- export declare function promptFavoriteCopy(title: string, favorite: boolean): string;
27
- /** `\u5df2\u628a\u300cx\u300d\u79fb\u52a8\u5230\u7b2c n \u4f4d\u3002` */
28
- export declare function promptMovedCopy(title: string, to: number): string;
29
- /** `\u5df2\u6309 name \u91cd\u6392\u5e76\u4fdd\u5b58\u3002` */
30
- export declare function promptSortedCopy(key: PromptSortKey): string;
31
- /** The kill switch's honest answer (D-19 / AC-30). */
32
- export declare const PROMPT_DISABLED_COPY = "\u63D0\u793A\u8BCD\u5E93\u5DF2\u5173\u95ED\uFF08prompts.enabled=false\uFF09\u3002";
33
- /** The port is absent - a test fixture or a build without the overlay. */
34
- export declare const PROMPT_UNAVAILABLE_COPY = "Prompt library is not available in this build.";
35
- /** `\u5e93\u6587\u4ef6\u635f\u574f\u2026\u4ee5\u7a7a\u5e93\u7ee7\u7eed` - the one-shot notice after a `.bak` repair (D-4). */
36
- export declare const PROMPT_CORRUPT_COPY = "\u5E93\u6587\u4EF6\u635F\u574F\u6216\u683C\u5F0F\u4E0D\u7B26\uFF0C\u5DF2\u5907\u4EFD\u4E3A quick-prompts.json.bak\uFF0C\u672C\u6B21\u4EE5\u7A7A\u5E93\u7EE7\u7EED\u3002";
37
- /** `\u5df2\u8df3\u8fc7 n \u6761\u65e0\u6cd5\u8bc6\u522b\u7684\u8bb0\u5f55\u3002` */
38
- export declare function promptSkippedCopy(count: number): string;
39
- /**
40
- * `\u5df2\u5e94\u7528\uff0c\u4f46\u5199\u5165\u78c1\u76d8\u5931\u8d25\uff1b\u9000\u51fa\u540e\u53ef\u80fd\u4e22\u5931\u3002` (D-4: never roll back memory).
41
- *
42
- * ONE SENTENCE for `write_failed`, and it says BOTH halves: that the change is in effect
43
- * and that it may not survive the process. A shorter "write failed" would read as
44
- * "nothing happened", which is the one thing this path does not do.
45
- */
46
- export declare const PROMPT_WRITE_FAILED_COPY = "\u5DF2\u5E94\u7528\uFF0C\u4F46\u5199\u5165\u78C1\u76D8\u5931\u8D25\uFF1B\u9000\u51FA\u540E\u53EF\u80FD\u4E22\u5931\u3002";
47
- /** `\u627e\u4e0d\u5230\u300cx\u300d\u5bf9\u5e94\u7684\u63d0\u793a\u8bcd\u3002` */
48
- export declare function promptNotFoundCopy(ref: string): string;
49
- /**
50
- * `\u300cx\u300d\u5339\u914d n \u6761\uff0c\u8bf7\u7528\u5e8f\u53f7\uff1a\u2026` (D-22).
51
- *
52
- * THE CANDIDATES ARE THE WHOLE POINT of this message: without them the user knows
53
- * only that their command failed, and the next thing they try is the same command.
54
- */
55
- export declare function promptAmbiguousCopy(ref: string, candidates: readonly string[]): string;
56
- /** Printed above a body that is about to enter the transcript (D-17). */
57
- export declare const PROMPT_SHOW_WARNING_COPY = "\u4EE5\u4E0B\u6B63\u6587\u5C06\u8FDB\u5165\u4F1A\u8BDD\u8BB0\u5F55\uFF08/save \u4F1A\u5BFC\u51FA\u5B83\uFF09\u3002";
58
- /** `\u5c06\u5220\u9664\u300cx\u300d\u2026\u786e\u8ba4\u8bf7\u518d\u6267\u884c\u4e00\u6b21\uff1a/prompts rm x --yes` (D-13). */
59
- export declare function promptRmConfirmCopy(title: string, ref: string): string;
60
- /** `\u76ee\u6807\u4f4d\u7f6e n \u8d85\u51fa\u8303\u56f4\uff081-m\uff09\u3002` */
61
- export declare function promptMoveRangeCopy(to: number, max: number): string;
62
- /** `\u65e0\u6548\u7684\u6392\u5e8f\u65b9\u5f0f\u300cx\u300d\uff0c\u53ef\u7528 name / recent / favorite\u3002` */
63
- export declare function promptInvalidSortCopy(raw: string): string;
64
- /** `\u63d0\u793a\u8bcd\u5e93\u4e3a\u7a7a\uff0c\u7528 /prompts add \u65b0\u5efa\u4e00\u6761\u3002` */
65
- export declare const PROMPT_LIST_EMPTY_COPY = "\u63D0\u793A\u8BCD\u5E93\u4E3A\u7A7A\uFF0C\u7528 /prompts add \u65B0\u5EFA\u4E00\u6761\u3002";
66
- /** The reminder that a body typed on a command line lands in `prompt-history`. */
67
- export declare const PROMPT_HISTORY_REMINDER_COPY = "\u63D0\u793A\uFF1A\u5199\u5728\u547D\u4EE4\u884C\u91CC\u7684\u6B63\u6587\u4F1A\u8FDB\u5165 prompt-history\uFF1B\u63A8\u8350\u7528 /prompts add \u540E\u5728\u7F16\u8F91\u5668\u91CC\u8F93\u5165\u3002";
68
- /** `\u5df2\u5220\u9664\u300cx\u300d` is reused for the `--yes` path; this is the "nothing happened" half. */
69
- export declare const PROMPT_UNKNOWN_SUBCOMMAND_COPY = "\u672A\u77E5\u5B50\u547D\u4EE4\u3002\u53EF\u7528\uFF1Alist / show / add / edit / rm / move / favorite / sort / manage\u3002";
70
- /**
71
- * The one-shot key-migration notice (D-20 / AC-32).
72
- *
73
- * `Ctrl+N` IS SPELLED OUT IN FULL, never `^N` (P1-7): `^N` is already this
74
- * product's word for "transcript line offset" (the header's scroll chip and the
75
- * help overlay's `^N` row), so the abbreviation would be a second meaning for the
76
- * same glyph in the same product.
77
- */
78
- export declare const PROMPT_KEY_NOTICE_COPY = "Ctrl+P \u73B0\u5728\u6253\u5F00\u63D0\u793A\u8BCD\u5E93\uFF1B\u5207\u6362 BUILD/PLAN \u8BF7\u7528 Shift+Tab \u6216 Ctrl+N\uFF08\u6216 /plan\uFF09\u3002";
79
- /** The library page's empty state (the list page draws this instead of nothing). */
80
- export declare const PROMPT_EMPTY_TITLE_COPY = "No prompts yet.";
81
- export declare const PROMPT_EMPTY_BODY_COPY = "Press a to create your first prompt.";
82
- /** `\uff08\u5171 n \u6761\uff09` suffix for `/prompts list`. */
83
- export declare function promptListFooterCopy(count: number): string;
84
- /**
85
- * One sentence per stable error code (D-12). THE CODE IS THE CONTRACT; this table is
86
- * the only place it becomes words, so the editor's title row, the list's toast and a
87
- * command's refusal cannot describe the same failure three different ways.
88
- */
89
- export declare function promptErrorCopy(code: PromptWriteError): string;
@@ -1,131 +0,0 @@
1
- /**
2
- * Chinese copy for the quick-prompt library (quick-prompt-library section 9.10).
3
- *
4
- * ASCII ONLY ON DISK. Every string below is written as `\uXXXX` escapes, the way
5
- * `ui/interaction-copy.ts` does it, because `src/prompts/**` and `src/ui/**` are
6
- * both inside `glyphs.test.ts::inScope` and that scanner rejects any raw non-ASCII
7
- * byte. The escapes are the point: the product speaks English in its chrome
8
- * (labels, footers, the overlays' own vocabulary) and the sentences that explain a
9
- * failure to THIS user are here, in one table, where a translator can find them
10
- * and where the API surfaces that build them cannot drift from each other.
11
- *
12
- * WHY ONE TABLE AND NOT STRINGS AT THE CALL SITES: the same failure is reported by
13
- * a toast, by a `/prompts` subcommand and by the editor's error row. Three copies
14
- * of one sentence is three wordings waiting to happen.
15
- */
16
- /** `\u5df2\u586b\u5165\u300cx\u300d\uff088 \u884c\uff0c\u53ef\u7ee7\u7eed\u7f16\u8f91\uff09`. */
17
- export function promptFilledCopy(title, lines) {
18
- return `\u5df2\u586b\u5165\u300c${title}\u300d\uff08${lines} \u884c\uff0c\u53ef\u7ee7\u7eed\u7f16\u8f91\uff09`;
19
- }
20
- /** `\u5df2\u63d2\u5165\u5230\u5149\u6807\u5904\uff0c\u539f\u5185\u5bb9\u4fdd\u7559\u3002` */
21
- export const PROMPT_INSERTED_COPY = '\u5df2\u63d2\u5165\u5230\u5149\u6807\u5904\uff0c\u539f\u5185\u5bb9\u4fdd\u7559\u3002';
22
- /** `\u5df2\u4fdd\u5b58\u300cx\u300d` */
23
- export function promptSavedCopy(title) {
24
- return `\u5df2\u4fdd\u5b58\u300c${title}\u300d`;
25
- }
26
- /** `\u5df2\u5220\u9664\u300cx\u300d` */
27
- export function promptDeletedCopy(title) {
28
- return `\u5df2\u5220\u9664\u300c${title}\u300d`;
29
- }
30
- /** `\u5df2\u6536\u85cf\u300cx\u300d` / `\u5df2\u53d6\u6d88\u6536\u85cf\u300cx\u300d` */
31
- export function promptFavoriteCopy(title, favorite) {
32
- return favorite
33
- ? `\u5df2\u6536\u85cf\u300c${title}\u300d`
34
- : `\u5df2\u53d6\u6d88\u6536\u85cf\u300c${title}\u300d`;
35
- }
36
- /** `\u5df2\u628a\u300cx\u300d\u79fb\u52a8\u5230\u7b2c n \u4f4d\u3002` */
37
- export function promptMovedCopy(title, to) {
38
- return `\u5df2\u628a\u300c${title}\u300d\u79fb\u52a8\u5230\u7b2c ${to} \u4f4d\u3002`;
39
- }
40
- /** `\u5df2\u6309 name \u91cd\u6392\u5e76\u4fdd\u5b58\u3002` */
41
- export function promptSortedCopy(key) {
42
- return `\u5df2\u6309 ${key} \u91cd\u6392\u5e76\u4fdd\u5b58\u3002`;
43
- }
44
- /** The kill switch's honest answer (D-19 / AC-30). */
45
- export const PROMPT_DISABLED_COPY = '\u63d0\u793a\u8bcd\u5e93\u5df2\u5173\u95ed\uff08prompts.enabled=false\uff09\u3002';
46
- /** The port is absent - a test fixture or a build without the overlay. */
47
- export const PROMPT_UNAVAILABLE_COPY = 'Prompt library is not available in this build.';
48
- /** `\u5e93\u6587\u4ef6\u635f\u574f\u2026\u4ee5\u7a7a\u5e93\u7ee7\u7eed` - the one-shot notice after a `.bak` repair (D-4). */
49
- export const PROMPT_CORRUPT_COPY = '\u5e93\u6587\u4ef6\u635f\u574f\u6216\u683c\u5f0f\u4e0d\u7b26\uff0c\u5df2\u5907\u4efd\u4e3a quick-prompts.json.bak\uff0c\u672c\u6b21\u4ee5\u7a7a\u5e93\u7ee7\u7eed\u3002';
50
- /** `\u5df2\u8df3\u8fc7 n \u6761\u65e0\u6cd5\u8bc6\u522b\u7684\u8bb0\u5f55\u3002` */
51
- export function promptSkippedCopy(count) {
52
- return `\u5df2\u8df3\u8fc7 ${count} \u6761\u65e0\u6cd5\u8bc6\u522b\u7684\u8bb0\u5f55\u3002`;
53
- }
54
- /**
55
- * `\u5df2\u5e94\u7528\uff0c\u4f46\u5199\u5165\u78c1\u76d8\u5931\u8d25\uff1b\u9000\u51fa\u540e\u53ef\u80fd\u4e22\u5931\u3002` (D-4: never roll back memory).
56
- *
57
- * ONE SENTENCE for `write_failed`, and it says BOTH halves: that the change is in effect
58
- * and that it may not survive the process. A shorter "write failed" would read as
59
- * "nothing happened", which is the one thing this path does not do.
60
- */
61
- export const PROMPT_WRITE_FAILED_COPY = '\u5df2\u5e94\u7528\uff0c\u4f46\u5199\u5165\u78c1\u76d8\u5931\u8d25\uff1b\u9000\u51fa\u540e\u53ef\u80fd\u4e22\u5931\u3002';
62
- /** `\u627e\u4e0d\u5230\u300cx\u300d\u5bf9\u5e94\u7684\u63d0\u793a\u8bcd\u3002` */
63
- export function promptNotFoundCopy(ref) {
64
- return `\u627e\u4e0d\u5230\u300c${ref}\u300d\u5bf9\u5e94\u7684\u63d0\u793a\u8bcd\u3002`;
65
- }
66
- /**
67
- * `\u300cx\u300d\u5339\u914d n \u6761\uff0c\u8bf7\u7528\u5e8f\u53f7\uff1a\u2026` (D-22).
68
- *
69
- * THE CANDIDATES ARE THE WHOLE POINT of this message: without them the user knows
70
- * only that their command failed, and the next thing they try is the same command.
71
- */
72
- export function promptAmbiguousCopy(ref, candidates) {
73
- const list = candidates.join('\u3001');
74
- return `\u300c${ref}\u300d\u5339\u914d ${candidates.length} \u6761\uff0c\u8bf7\u7528\u5e8f\u53f7\uff1a${list}`;
75
- }
76
- /** Printed above a body that is about to enter the transcript (D-17). */
77
- export const PROMPT_SHOW_WARNING_COPY = '\u4ee5\u4e0b\u6b63\u6587\u5c06\u8fdb\u5165\u4f1a\u8bdd\u8bb0\u5f55\uff08/save \u4f1a\u5bfc\u51fa\u5b83\uff09\u3002';
78
- /** `\u5c06\u5220\u9664\u300cx\u300d\u2026\u786e\u8ba4\u8bf7\u518d\u6267\u884c\u4e00\u6b21\uff1a/prompts rm x --yes` (D-13). */
79
- export function promptRmConfirmCopy(title, ref) {
80
- return `\u5c06\u5220\u9664\u300c${title}\u300d\u3002\u6b64\u64cd\u4f5c\u4e0d\u53ef\u64a4\u9500\uff1b\u786e\u8ba4\u8bf7\u518d\u6267\u884c\u4e00\u6b21\uff1a/prompts rm ${ref} --yes`;
81
- }
82
- /** `\u76ee\u6807\u4f4d\u7f6e n \u8d85\u51fa\u8303\u56f4\uff081-m\uff09\u3002` */
83
- export function promptMoveRangeCopy(to, max) {
84
- return `\u76ee\u6807\u4f4d\u7f6e ${to} \u8d85\u51fa\u8303\u56f4\uff081-${max}\uff09\u3002`;
85
- }
86
- /** `\u65e0\u6548\u7684\u6392\u5e8f\u65b9\u5f0f\u300cx\u300d\uff0c\u53ef\u7528 name / recent / favorite\u3002` */
87
- export function promptInvalidSortCopy(raw) {
88
- return `\u65e0\u6548\u7684\u6392\u5e8f\u65b9\u5f0f\u300c${raw}\u300d\uff0c\u53ef\u7528 name / recent / favorite\u3002`;
89
- }
90
- /** `\u63d0\u793a\u8bcd\u5e93\u4e3a\u7a7a\uff0c\u7528 /prompts add \u65b0\u5efa\u4e00\u6761\u3002` */
91
- export const PROMPT_LIST_EMPTY_COPY = '\u63d0\u793a\u8bcd\u5e93\u4e3a\u7a7a\uff0c\u7528 /prompts add \u65b0\u5efa\u4e00\u6761\u3002';
92
- /** The reminder that a body typed on a command line lands in `prompt-history`. */
93
- export const PROMPT_HISTORY_REMINDER_COPY = '\u63d0\u793a\uff1a\u5199\u5728\u547d\u4ee4\u884c\u91cc\u7684\u6b63\u6587\u4f1a\u8fdb\u5165 prompt-history\uff1b\u63a8\u8350\u7528 /prompts add \u540e\u5728\u7f16\u8f91\u5668\u91cc\u8f93\u5165\u3002';
94
- /** `\u5df2\u5220\u9664\u300cx\u300d` is reused for the `--yes` path; this is the "nothing happened" half. */
95
- export const PROMPT_UNKNOWN_SUBCOMMAND_COPY = '\u672a\u77e5\u5b50\u547d\u4ee4\u3002\u53ef\u7528\uff1alist / show / add / edit / rm / move / favorite / sort / manage\u3002';
96
- /**
97
- * The one-shot key-migration notice (D-20 / AC-32).
98
- *
99
- * `Ctrl+N` IS SPELLED OUT IN FULL, never `^N` (P1-7): `^N` is already this
100
- * product's word for "transcript line offset" (the header's scroll chip and the
101
- * help overlay's `^N` row), so the abbreviation would be a second meaning for the
102
- * same glyph in the same product.
103
- */
104
- export const PROMPT_KEY_NOTICE_COPY = 'Ctrl+P \u73b0\u5728\u6253\u5f00\u63d0\u793a\u8bcd\u5e93\uff1b\u5207\u6362 BUILD/PLAN \u8bf7\u7528 Shift+Tab \u6216 Ctrl+N\uff08\u6216 /plan\uff09\u3002';
105
- /** The library page's empty state (the list page draws this instead of nothing). */
106
- export const PROMPT_EMPTY_TITLE_COPY = 'No prompts yet.';
107
- export const PROMPT_EMPTY_BODY_COPY = 'Press a to create your first prompt.';
108
- /** `\uff08\u5171 n \u6761\uff09` suffix for `/prompts list`. */
109
- export function promptListFooterCopy(count) {
110
- return `\uff08\u5171 ${count} \u6761\uff09`;
111
- }
112
- /**
113
- * One sentence per stable error code (D-12). THE CODE IS THE CONTRACT; this table is
114
- * the only place it becomes words, so the editor's title row, the list's toast and a
115
- * command's refusal cannot describe the same failure three different ways.
116
- */
117
- export function promptErrorCopy(code) {
118
- switch (code) {
119
- case 'title_required': return '\u6807\u9898\u4e0d\u80fd\u4e3a\u7a7a';
120
- case 'content_required': return '\u6b63\u6587\u4e0d\u80fd\u4e3a\u7a7a';
121
- case 'title_too_long': return '\u6807\u9898\u8d85\u8fc7 80 \u5b57';
122
- case 'content_too_long': return '\u6b63\u6587\u8d85\u8fc7 8000 \u5b57';
123
- case 'description_too_long': return '\u63cf\u8ff0\u8d85\u8fc7 200 \u5b57';
124
- case 'tag_too_long': return '\u6807\u7b7e\u8d85\u8fc7 24 \u5b57';
125
- case 'too_many_tags': return '\u6807\u7b7e\u6700\u591a 6 \u4e2a';
126
- case 'too_many_prompts': return '\u6700\u591a 200 \u6761\uff0c\u8bf7\u5148\u5220\u9664';
127
- case 'not_found': return '\u627e\u4e0d\u5230\u8be5\u63d0\u793a\u8bcd';
128
- case 'ambiguous': return '\u5339\u914d\u5230\u591a\u6761\uff0c\u8bf7\u7528\u5e8f\u53f7';
129
- case 'write_failed': return PROMPT_WRITE_FAILED_COPY;
130
- }
131
- }
@@ -1,51 +0,0 @@
1
- /**
2
- * How a prompt lands in the composer (quick-prompt-library D-6 / §4.6).
3
- *
4
- * ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
5
- *
6
- * PURE, AND IT KNOWS NOTHING ABOUT THE DRAFT'S REAL SHAPE. It is handed the current
7
- * buffer and caret, and it answers "what should be inserted, or what should the new
8
- * buffer be". It deliberately does NOT return the resulting buffer: a draft may
9
- * hold paste-collapse TOKENS (`[Pasted text #1 +8 lines]` plus a payload map), so
10
- * "the buffer after applying this plan" is a fact only `editorReducer` can compute.
11
- * Recomputing it here would be a second authority, and the two would drift exactly
12
- * on the drafts this feature exists to append to.
13
- *
14
- * WHY `insert` IS THE DEFAULT (and why the decision lives here rather than in
15
- * `App`): the only place that knows what the draft currently holds is the editor
16
- * (the host has no copy of the text), and silently discarding what someone has
17
- * already typed is the one thing a "fill" gesture must never do.
18
- */
19
- export interface PromptFillInput {
20
- /** The current draft buffer. */
21
- draft: string;
22
- /** Caret offset into `draft`, in UTF-16 units. */
23
- cursor: number;
24
- /** The prompt body. */
25
- content: string;
26
- /** `insert` unless the user configured `prompts.insertMode = 'replace'` (D-19). */
27
- mode?: 'insert' | 'replace';
28
- }
29
- export interface PromptFillPlan {
30
- mode: 'replace' | 'insert';
31
- /**
32
- * `replace`: the new buffer in full.
33
- * `insert`: only the fragment to insert, separators included.
34
- */
35
- text: string;
36
- /**
37
- * `replace`: where the caret goes afterwards (past the body).
38
- * `insert`: ignored - the reducer owns the caret and the token snapping.
39
- */
40
- cursor: number;
41
- }
42
- /**
43
- * Decide between replacing and inserting, and build the fragment.
44
- *
45
- * A blank draft is replaced even in `insert` mode: "insert at the caret" into an
46
- * empty buffer and "replace the empty buffer" are the same edit, and saying so
47
- * keeps the caller from having to special-case it.
48
- */
49
- export declare function planPromptFill(input: PromptFillInput): PromptFillPlan;
50
- /** Lines a body occupies, for the "8 lines, editable" acknowledgement. */
51
- export declare function promptLineCount(content: string): number;
@@ -1,46 +0,0 @@
1
- /**
2
- * How a prompt lands in the composer (quick-prompt-library D-6 / §4.6).
3
- *
4
- * ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
5
- *
6
- * PURE, AND IT KNOWS NOTHING ABOUT THE DRAFT'S REAL SHAPE. It is handed the current
7
- * buffer and caret, and it answers "what should be inserted, or what should the new
8
- * buffer be". It deliberately does NOT return the resulting buffer: a draft may
9
- * hold paste-collapse TOKENS (`[Pasted text #1 +8 lines]` plus a payload map), so
10
- * "the buffer after applying this plan" is a fact only `editorReducer` can compute.
11
- * Recomputing it here would be a second authority, and the two would drift exactly
12
- * on the drafts this feature exists to append to.
13
- *
14
- * WHY `insert` IS THE DEFAULT (and why the decision lives here rather than in
15
- * `App`): the only place that knows what the draft currently holds is the editor
16
- * (the host has no copy of the text), and silently discarding what someone has
17
- * already typed is the one thing a "fill" gesture must never do.
18
- */
19
- /** Two newlines, so the typed text and the prompt read as two paragraphs. */
20
- const SEPARATOR = '\n\n';
21
- /**
22
- * Decide between replacing and inserting, and build the fragment.
23
- *
24
- * A blank draft is replaced even in `insert` mode: "insert at the caret" into an
25
- * empty buffer and "replace the empty buffer" are the same edit, and saying so
26
- * keeps the caller from having to special-case it.
27
- */
28
- export function planPromptFill(input) {
29
- const cursor = Math.max(0, Math.min(input.draft.length, Math.floor(input.cursor)));
30
- const blank = input.draft.trim().length === 0;
31
- if (input.mode === 'replace' || blank) {
32
- return { mode: 'replace', text: input.content, cursor: input.content.length };
33
- }
34
- const before = input.draft.slice(0, cursor);
35
- const after = input.draft.slice(cursor);
36
- // A SEPARATOR IS ADDED ONLY WHERE ONE IS MISSING, which is what keeps the plan
37
- // from producing three newlines when the caret already sits on a blank line.
38
- const lead = before.length > 0 && !before.endsWith(SEPARATOR) ? SEPARATOR : '';
39
- const trail = after.length > 0 && !after.startsWith(SEPARATOR) ? SEPARATOR : '';
40
- const text = `${lead}${input.content}${trail}`;
41
- return { mode: 'insert', text, cursor: cursor + lead.length };
42
- }
43
- /** Lines a body occupies, for the "8 lines, editable" acknowledgement. */
44
- export function promptLineCount(content) {
45
- return content.split('\n').length;
46
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * Structural bounds for the quick-prompt library (quick-prompt-library §5.1).
3
- *
4
- * ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
5
- *
6
- * STRUCTURE, NOT POLICY (index.md:52-56). Nothing here is user-tunable: these are
7
- * what an entry, the library and the picker's query can physically carry. The
8
- * three keys a user may actually change (`prompts.enabled`, `insertMode`, `hint`)
9
- * live in `config/schema.ts`, are clamped there, and are persisted there. Mixing
10
- * the two is how a "temporary" ceiling becomes a setting nobody clamps.
11
- *
12
- * EVERY NUMBER IS A CODE-POINT COUNT, not a byte count and not a UTF-16 length.
13
- * Titles and bodies are typed in Chinese by the users this feature exists for, so
14
- * a byte-based ceiling would silently allow a third of the characters a
15
- * Latin-alphabet user gets. `[...text].length` is the measurement everywhere in
16
- * this tree.
17
- */
18
- export declare const PROMPT_LIMITS: {
19
- /** Entries one library may hold. The 201st create is REFUSED, never truncated. */
20
- readonly maxPrompts: 200;
21
- /** Title, without surrounding whitespace. */
22
- readonly titleMaxChars: 80;
23
- /** Body. Large enough for a 40-line procedure, small enough to rewrite cheaply. */
24
- readonly contentMaxChars: 8000;
25
- /** Optional one-line note under the title. */
26
- readonly descriptionMaxChars: 200;
27
- /** Tags per entry. */
28
- readonly maxTags: 6;
29
- /** Characters per tag. */
30
- readonly tagMaxChars: 24;
31
- /** Body preview lines the list page's detail block may spend (read-only). */
32
- readonly detailPreviewLines: 3;
33
- /** Rows the list page's detail block may occupy, preview lines included. */
34
- readonly detailMaxLines: 6;
35
- /** Characters of a body shown on ONE preview line. */
36
- readonly previewLineChars: 72;
37
- };
38
- /**
39
- * The picker's own structural bounds.
40
- *
41
- * A SEPARATE OBJECT because the picker is a separate surface with a separate
42
- * budget: its rows carry an index and a title and nothing else, and its query is
43
- * a filter rather than content. Sharing one object would tie a future change to
44
- * the library's row height.
45
- */
46
- export declare const PROMPT_PICKER_LIMITS: {
47
- /** Longest query the filter accepts; further typing is ignored. */
48
- readonly queryMaxChars: 64;
49
- /** `1`-`9` pick directly, so nine. */
50
- readonly quickDigits: 9;
51
- /** Rows the picker's detail block may occupy. */
52
- readonly detailMaxLines: 4;
53
- };