@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,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
- };
@@ -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 const PROMPT_LIMITS = {
19
- /** Entries one library may hold. The 201st create is REFUSED, never truncated. */
20
- maxPrompts: 200,
21
- /** Title, without surrounding whitespace. */
22
- titleMaxChars: 80,
23
- /** Body. Large enough for a 40-line procedure, small enough to rewrite cheaply. */
24
- contentMaxChars: 8000,
25
- /** Optional one-line note under the title. */
26
- descriptionMaxChars: 200,
27
- /** Tags per entry. */
28
- maxTags: 6,
29
- /** Characters per tag. */
30
- tagMaxChars: 24,
31
- /** Body preview lines the list page's detail block may spend (read-only). */
32
- detailPreviewLines: 3,
33
- /** Rows the list page's detail block may occupy, preview lines included. */
34
- detailMaxLines: 6,
35
- /** Characters of a body shown on ONE preview line. */
36
- 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 const PROMPT_PICKER_LIMITS = {
47
- /** Longest query the filter accepts; further typing is ignored. */
48
- queryMaxChars: 64,
49
- /** `1`-`9` pick directly, so nine. */
50
- quickDigits: 9,
51
- /** Rows the picker's detail block may occupy. */
52
- detailMaxLines: 4,
53
- };
@@ -1,58 +0,0 @@
1
- /**
2
- * Filtering and view ordering for the picker (quick-prompt-library D-9 / D-10).
3
- *
4
- * ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
5
- *
6
- * SUBSEQUENCE MATCHING, NOT SUBSTRING MATCHING. `clr` should find `clean code
7
- * review`, and Chinese titles make the same demand in a different shape: the
8
- * characters a user remembers are rarely contiguous. The query is matched
9
- * case-insensitively against the title, then the tags, then the description, and
10
- * the FIELD a match landed in is a stronger signal than how good the match was.
11
- *
12
- * NO CHARACTER HIGHLIGHTING (D-10). Colouring the matched characters would mean
13
- * splitting a row into styled runs, and every row in this package is one
14
- * `wrap="truncate"` `<Text>` precisely so its height is exactly one row. The
15
- * detail block answers "why did this match" instead.
16
- */
17
- import type { QuickPrompt, PromptSortView } from './types.js';
18
- /**
19
- * Greedy subsequence match; `null` when `query` is not a subsequence of `text`.
20
- *
21
- * The score is LOWER-is-better and is built from what a reader would actually
22
- * call a good match: how early the first hit is, how tightly the hits cluster,
23
- * and how many characters had to be skipped between them.
24
- */
25
- export declare function subsequenceScore(text: string, query: string): number | null;
26
- /**
27
- * Filter, but NEVER REORDER BEYOND WHAT THE QUERY EARNS.
28
- *
29
- * Ties keep the library's own order, because a filter that reshuffles entries with
30
- * equal scores makes the list move under the user's arrow keys while they type.
31
- * Favourites win ties, which is the only preference the picker states.
32
- */
33
- export declare function searchPrompts(prompts: readonly QuickPrompt[], query: string): {
34
- prompt: QuickPrompt;
35
- score: number;
36
- }[];
37
- /**
38
- * The three presentations (D-9).
39
- *
40
- * `manual` is the only persisted order; the other two are VANISHING views. The one
41
- * that rearranges is `favorite` - `recent` sorts by `lastUsedAt` only, so an entry
42
- * that has never been used keeps its place at the tail instead of jumping around
43
- * while the user watches.
44
- */
45
- export declare function viewOrder(prompts: readonly QuickPrompt[], view: PromptSortView): QuickPrompt[];
46
- /** The next view in the `Ctrl+S` cycle (manual -> recent -> favorite -> manual). */
47
- export declare function nextView(view: PromptSortView): PromptSortView;
48
- /**
49
- * Title order, for the `/prompts sort name` write.
50
- *
51
- * A TOTAL order (title, then id): a sort the user asked for has to be reproducible, and
52
- * two entries sharing a title would otherwise swap places between runs - a "sorted"
53
- * library that reorders itself on every read is worse than an unsorted one. Code-unit
54
- * comparison rather than `localeCompare`, because the file is written on one machine and
55
- * read on the next, and a locale-dependent order would silently rewrite the user's
56
- * sequence on a different machine for no reason they could see.
57
- */
58
- export declare function sortedPromptTitleOrder(prompts: readonly QuickPrompt[]): QuickPrompt[];
@@ -1,146 +0,0 @@
1
- /**
2
- * Filtering and view ordering for the picker (quick-prompt-library D-9 / D-10).
3
- *
4
- * ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
5
- *
6
- * SUBSEQUENCE MATCHING, NOT SUBSTRING MATCHING. `clr` should find `clean code
7
- * review`, and Chinese titles make the same demand in a different shape: the
8
- * characters a user remembers are rarely contiguous. The query is matched
9
- * case-insensitively against the title, then the tags, then the description, and
10
- * the FIELD a match landed in is a stronger signal than how good the match was.
11
- *
12
- * NO CHARACTER HIGHLIGHTING (D-10). Colouring the matched characters would mean
13
- * splitting a row into styled runs, and every row in this package is one
14
- * `wrap="truncate"` `<Text>` precisely so its height is exactly one row. The
15
- * detail block answers "why did this match" instead.
16
- */
17
- /** How much worse a match in tags, or in the description, is than in the title. */
18
- const TAG_PENALTY = 1_000;
19
- const DESCRIPTION_PENALTY = 2_000;
20
- /**
21
- * Greedy subsequence match; `null` when `query` is not a subsequence of `text`.
22
- *
23
- * The score is LOWER-is-better and is built from what a reader would actually
24
- * call a good match: how early the first hit is, how tightly the hits cluster,
25
- * and how many characters had to be skipped between them.
26
- */
27
- export function subsequenceScore(text, query) {
28
- if (query.length === 0)
29
- return 0;
30
- const haystack = text.toLowerCase();
31
- const needle = query.toLowerCase();
32
- let at = 0;
33
- let first = -1;
34
- let last = -1;
35
- let gaps = 0;
36
- for (const char of needle) {
37
- const hit = haystack.indexOf(char, at);
38
- if (hit === -1)
39
- return null;
40
- if (first === -1)
41
- first = hit;
42
- else if (hit > last + 1)
43
- gaps += hit - last - 1;
44
- last = hit;
45
- at = hit + 1;
46
- }
47
- const span = last - first + 1;
48
- return first * 4 + gaps * 2 + (span - needle.length);
49
- }
50
- function fieldScore(prompt, query) {
51
- const title = subsequenceScore(prompt.title, query);
52
- if (title !== null)
53
- return title;
54
- let best = null;
55
- for (const tag of prompt.tags ?? []) {
56
- const score = subsequenceScore(tag, query);
57
- if (score !== null && (best === null || score < best))
58
- best = score;
59
- }
60
- if (best !== null)
61
- return TAG_PENALTY + best;
62
- const description = prompt.description;
63
- if (description === undefined)
64
- return null;
65
- const score = subsequenceScore(description, query);
66
- return score === null ? null : DESCRIPTION_PENALTY + score;
67
- }
68
- /**
69
- * Filter, but NEVER REORDER BEYOND WHAT THE QUERY EARNS.
70
- *
71
- * Ties keep the library's own order, because a filter that reshuffles entries with
72
- * equal scores makes the list move under the user's arrow keys while they type.
73
- * Favourites win ties, which is the only preference the picker states.
74
- */
75
- export function searchPrompts(prompts, query) {
76
- const trimmed = query.trim();
77
- if (trimmed.length === 0)
78
- return prompts.map((prompt) => ({ prompt, score: 0 }));
79
- const hits = [];
80
- for (let at = 0; at < prompts.length; at += 1) {
81
- const prompt = prompts[at];
82
- const score = fieldScore(prompt, trimmed);
83
- if (score !== null)
84
- hits.push({ prompt, score, at });
85
- }
86
- hits.sort((a, b) => {
87
- const favourite = (b.prompt.favorite === true ? 1 : 0) - (a.prompt.favorite === true ? 1 : 0);
88
- if (favourite !== 0)
89
- return favourite;
90
- if (a.score !== b.score)
91
- return a.score - b.score;
92
- return a.at - b.at;
93
- });
94
- return hits.map(({ prompt, score }) => ({ prompt, score }));
95
- }
96
- /**
97
- * The three presentations (D-9).
98
- *
99
- * `manual` is the only persisted order; the other two are VANISHING views. The one
100
- * that rearranges is `favorite` - `recent` sorts by `lastUsedAt` only, so an entry
101
- * that has never been used keeps its place at the tail instead of jumping around
102
- * while the user watches.
103
- */
104
- export function viewOrder(prompts, view) {
105
- if (view === 'manual')
106
- return [...prompts];
107
- const indexed = prompts.map((prompt, at) => ({ prompt, at }));
108
- if (view === 'favorite') {
109
- indexed.sort((a, b) => {
110
- const favourite = (b.prompt.favorite === true ? 1 : 0) - (a.prompt.favorite === true ? 1 : 0);
111
- return favourite !== 0 ? favourite : a.at - b.at;
112
- });
113
- return indexed.map(({ prompt }) => prompt);
114
- }
115
- indexed.sort((a, b) => {
116
- const recent = (b.prompt.lastUsedAt ?? 0) - (a.prompt.lastUsedAt ?? 0);
117
- return recent !== 0 ? recent : a.at - b.at;
118
- });
119
- return indexed.map(({ prompt }) => prompt);
120
- }
121
- /** The next view in the `Ctrl+S` cycle (manual -> recent -> favorite -> manual). */
122
- export function nextView(view) {
123
- if (view === 'manual')
124
- return 'recent';
125
- if (view === 'recent')
126
- return 'favorite';
127
- return 'manual';
128
- }
129
- /**
130
- * Title order, for the `/prompts sort name` write.
131
- *
132
- * A TOTAL order (title, then id): a sort the user asked for has to be reproducible, and
133
- * two entries sharing a title would otherwise swap places between runs - a "sorted"
134
- * library that reorders itself on every read is worse than an unsorted one. Code-unit
135
- * comparison rather than `localeCompare`, because the file is written on one machine and
136
- * read on the next, and a locale-dependent order would silently rewrite the user's
137
- * sequence on a different machine for no reason they could see.
138
- */
139
- export function sortedPromptTitleOrder(prompts) {
140
- const compare = (a, b) => {
141
- if (a.title !== b.title)
142
- return a.title < b.title ? -1 : 1;
143
- return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
144
- };
145
- return [...prompts].sort(compare);
146
- }
@@ -1,204 +0,0 @@
1
- /**
2
- * The quick-prompt library's data model (quick-prompt-library §6.1).
3
- *
4
- * ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`. Chinese copy
5
- * lives in `copy.ts` as `\uXXXX` escapes, never as literal text in this tree.
6
- *
7
- * THE DISK SHAPE IS THE ONLY TRUTH (D-3 / I-6). `App` holds a `PromptLibrary`
8
- * snapshot for rendering, every mutation goes through `store.ts`, and the store
9
- * hands the new snapshot back. No component computes an optimistic library of its
10
- * own, because "the UI says it was added and the disk disagrees" is a failure
11
- * mode with no error message.
12
- */
13
- /**
14
- * One entry.
15
- *
16
- * `useCount` / `createdAt` / `updatedAt` are ALWAYS present: a missing number
17
- * would make every consumer write `?? 0` and one of them would eventually forget.
18
- * `description` / `tags` / `favorite` / `lastUsedAt` are optional because "absent"
19
- * is their honest state.
20
- */
21
- export interface QuickPrompt {
22
- /** `randomUUID()`. Never shown in full; the list uses an 8-character prefix. */
23
- id: string;
24
- /** 1..80 code points, trimmed, no control characters. Never empty (I-5). */
25
- title: string;
26
- /** 1..8000 code points. Original newlines preserved; `\r\n` normalised to `\n`. */
27
- content: string;
28
- /** 0..200 code points. */
29
- description?: string;
30
- /** 0..6 tags, each 0..24 code points. */
31
- tags?: string[];
32
- favorite?: boolean;
33
- /** Monotonic per entry (I-4). */
34
- useCount: number;
35
- /** Epoch ms. */
36
- createdAt: number;
37
- updatedAt: number;
38
- lastUsedAt?: number;
39
- }
40
- /**
41
- * The whole library.
42
- *
43
- * `prompts` IS the manual order (I-1): index 0 is what the list shows first and
44
- * what `Ctrl+Up/Down` rearranges. There is no `order` field, because a second
45
- * ordering authority is a second thing that can disagree with the first.
46
- */
47
- export interface PromptLibrary {
48
- schema: 1;
49
- prompts: QuickPrompt[];
50
- /** Epoch ms of the last successful write; strictly increasing (I-3). */
51
- updatedAt: number;
52
- }
53
- /**
54
- * The persistent re-orderings `/prompts sort <key>` can name (D-9).
55
- *
56
- * A WRITE key, not a view: `PromptSortView` is what the picker renders and never
57
- * persists, this is what the user may ask to have rewritten on disk. They overlap by two
58
- * words and are deliberately separate types, because "sort by recent" and "show me the
59
- * recent order for a moment" are different promises.
60
- */
61
- export type PromptSortKey = 'name' | 'recent' | 'favorite';
62
- /** The picker's three presentations. A VIEW: never persisted (D-9). */
63
- export type PromptSortView = 'manual' | 'recent' | 'favorite';
64
- /**
65
- * Why a write or a lookup failed. A stable code, never a sentence: the sentence
66
- * comes from `copy.ts`, so the same failure has one wording on every surface.
67
- */
68
- export type PromptWriteError = 'title_required' | 'content_required' | 'title_too_long' | 'content_too_long' | 'description_too_long' | 'tag_too_long' | 'too_many_tags' | 'too_many_prompts' | 'not_found' | 'ambiguous' | 'write_failed';
69
- /**
70
- * The result of one mutation.
71
- *
72
- * THE LIBRARY TRAVELS WITH THE FAILURE TOO, and that is deliberate: a
73
- * `write_failed` still applied in memory (D-4), so the caller has to be able to
74
- * render what the user just created rather than pretending nothing happened.
75
- */
76
- export type PromptMutationResult = {
77
- ok: true;
78
- library: PromptLibrary;
79
- id?: string;
80
- } | {
81
- ok: false;
82
- code: PromptWriteError;
83
- library: PromptLibrary;
84
- };
85
- /**
86
- * A one-shot hand-off into the manager overlay (D-21).
87
- *
88
- * `App` never edits the overlay's state directly; it hands over an intent, and the
89
- * overlay consumes it exactly once by nonce. That is what makes `/prompts edit 2`
90
- * land in the editor with a prefilled draft instead of on row 0 of the list.
91
- */
92
- export type PromptLibraryEntry = {
93
- kind: 'list';
94
- focusId?: string;
95
- } | {
96
- kind: 'create';
97
- seed?: {
98
- title?: string;
99
- content?: string;
100
- };
101
- } | {
102
- kind: 'edit';
103
- id: string;
104
- } | {
105
- kind: 'delete';
106
- id: string;
107
- };
108
- /** `nonce` is monotonic; the same value is consumed at most once (I-8). */
109
- export interface PromptLibraryIntent {
110
- nonce: number;
111
- entry: PromptLibraryEntry;
112
- }
113
- /**
114
- * `<n|title>` resolved to an entry (D-22).
115
- *
116
- * `ambiguous` CARRIES ITS CANDIDATES. Titles may repeat (I-2), and a lookup that
117
- * failed without saying which entries matched would leave the user with nothing
118
- * to type next - which is exactly how `/prompts rm <title>` deletes the wrong
119
- * prompt, and there is no recycle bin (D-13).
120
- */
121
- export type PromptRefResolution = {
122
- ok: true;
123
- prompt: QuickPrompt;
124
- } | {
125
- ok: false;
126
- code: 'not_found';
127
- } | {
128
- ok: false;
129
- code: 'ambiguous';
130
- candidates: QuickPrompt[];
131
- };
132
- /**
133
- * The editable form of one entry.
134
- *
135
- * `id: null` means "not saved yet". `tags` is the RAW field text: parsing it on
136
- * every keystroke would rewrite what the user is typing as they type it.
137
- */
138
- export interface PromptEditorDraft {
139
- id: string | null;
140
- title: string;
141
- content: string;
142
- description: string;
143
- tags: string;
144
- favorite: boolean;
145
- }
146
- /** The three things the manager overlay may ask the store to do (P2-1: idempotent). */
147
- export type PromptLibraryMutation = {
148
- kind: 'create';
149
- draft: PromptEditorDraft;
150
- } | {
151
- kind: 'update';
152
- id: string;
153
- draft: PromptEditorDraft;
154
- } | {
155
- kind: 'delete';
156
- id: string;
157
- } | {
158
- kind: 'move';
159
- id: string;
160
- delta: -1 | 1;
161
- } | {
162
- kind: 'favorite';
163
- id: string;
164
- favorite: boolean;
165
- };
166
- /**
167
- * What a command (or the picker) may ask the host to do (§6.3 / P1-3).
168
- *
169
- * THREE METHODS, and each one is something the command layer genuinely cannot do
170
- * itself: open a surface, hand that surface a payload, or read the library through
171
- * the same resolver the user's typing is interpreted with. Everything else
172
- * (notifications, toasts, overlays in general) already exists on `CommandContext`
173
- * and is not repeated here.
174
- */
175
- export interface PromptCommandPort {
176
- /** Open the picker (`overlay: 'prompt-pick'`). */
177
- openPicker(): void;
178
- /** Open the manager on a specific page, with an optional prefilled draft. */
179
- openManager(entry: PromptLibraryEntry): void;
180
- /** `<n|title>` -> entry, through `resolvePromptRef` (D-22). */
181
- resolve(ref: string): PromptRefResolution;
182
- }
183
- /** A validated draft, ready for the store. Produced by `finishPromptEditor`. */
184
- export interface PromptDraftInput {
185
- title: string;
186
- content: string;
187
- description?: string;
188
- tags?: string[];
189
- favorite?: boolean;
190
- }
191
- /**
192
- * The verdict of validating a draft (§4.4 / D-12).
193
- *
194
- * `field` is the row that should own focus after a refusal, so the editor can jump
195
- * there instead of leaving the user staring at a footer with an error code in it.
196
- */
197
- export type PromptDraftVerdict = {
198
- ok: true;
199
- input: PromptDraftInput;
200
- } | {
201
- ok: false;
202
- code: PromptWriteError;
203
- field: 'title' | 'content' | 'description' | 'tags';
204
- };
@@ -1,13 +0,0 @@
1
- /**
2
- * The quick-prompt library's data model (quick-prompt-library §6.1).
3
- *
4
- * ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`. Chinese copy
5
- * lives in `copy.ts` as `\uXXXX` escapes, never as literal text in this tree.
6
- *
7
- * THE DISK SHAPE IS THE ONLY TRUTH (D-3 / I-6). `App` holds a `PromptLibrary`
8
- * snapshot for rendering, every mutation goes through `store.ts`, and the store
9
- * hands the new snapshot back. No component computes an optimistic library of its
10
- * own, because "the UI says it was added and the disk disagrees" is a failure
11
- * mode with no error message.
12
- */
13
- export {};