@sayknow-cli/coding-agent 0.3.11 → 0.3.13

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 (1161) hide show
  1. package/CHANGELOG.md +0 -21
  2. package/package.json +116 -117
  3. package/scripts/build-binary.ts +2 -43
  4. package/scripts/compile-args.ts +106 -0
  5. package/scripts/g004-tmux-smoke.ts +196 -36
  6. package/scripts/generate-docs-index.ts +3 -0
  7. package/src/build-metadata.ts +104 -0
  8. package/src/capability/mcp.ts +3 -1
  9. package/src/cli/daemon-cli.ts +19 -29
  10. package/src/cli/malloc-env-guard.test.ts +104 -0
  11. package/src/cli/malloc-env-guard.ts +149 -0
  12. package/src/cli/mcp-cli.ts +108 -26
  13. package/src/cli/notify-cli.ts +78 -14
  14. package/src/cli/session-picker.ts +23 -40
  15. package/src/cli/update-cli.ts +56 -37
  16. package/src/cli.ts +71 -10
  17. package/src/commands/daemon.ts +19 -5
  18. package/src/commands/harness.ts +515 -47
  19. package/src/commands/launch.ts +11 -3
  20. package/src/commands/mcp.ts +8 -8
  21. package/src/commands/notify.ts +5 -1
  22. package/src/commands/session.ts +6 -1
  23. package/src/commands/stats.ts +6 -2
  24. package/src/config/keybindings.ts +7 -2
  25. package/src/config/mcp-schema.json +21 -17
  26. package/src/config/model-profile-activation.ts +1 -1
  27. package/src/config/model-profiles.ts +23 -23
  28. package/src/config/settings-schema.ts +41 -1
  29. package/src/coordinator-mcp/model-preset.ts +100 -0
  30. package/src/coordinator-mcp/server.ts +2735 -435
  31. package/src/daemon/control-types.ts +11 -0
  32. package/src/daemon/operator-contract.ts +121 -0
  33. package/src/defaults/skc/extensions/grok-cli-vendor/src/models/catalog.ts +57 -17
  34. package/src/defaults/skc/extensions/grok-cli-vendor/src/payload/sanitize.ts +15 -2
  35. package/src/defaults/skc/extensions/grok-cli-vendor/src/provider/register.ts +5 -1
  36. package/src/discovery/builtin.ts +14 -0
  37. package/src/discovery/mcp-json.ts +14 -0
  38. package/src/eval/js/executor.ts +7 -1
  39. package/src/internal-urls/docs-index.generated.ts +10 -9
  40. package/src/internal-urls/local-protocol.ts +29 -10
  41. package/src/internal-urls/skc-protocol.ts +14 -1
  42. package/src/main.ts +298 -75
  43. package/src/modes/acp/acp-agent.ts +800 -114
  44. package/src/modes/acp/acp-client-bridge.ts +27 -5
  45. package/src/modes/acp/acp-event-mapper.ts +39 -1
  46. package/src/modes/acp/acp-mode.ts +29 -2
  47. package/src/modes/components/assistant-message.ts +33 -4
  48. package/src/modes/components/bash-execution.ts +43 -13
  49. package/src/modes/components/custom-editor.ts +5 -0
  50. package/src/modes/components/hook-selector.ts +16 -0
  51. package/src/modes/components/irc-sidebar.ts +206 -0
  52. package/src/modes/components/model-selector.ts +17 -6
  53. package/src/modes/components/pet-selector.ts +55 -0
  54. package/src/modes/components/sayknow-pet-widget.ts +360 -0
  55. package/src/modes/components/session-selector.ts +223 -222
  56. package/src/modes/components/settings-selector.ts +10 -0
  57. package/src/modes/components/status-line/presets.ts +5 -19
  58. package/src/modes/components/status-line/segments.ts +14 -0
  59. package/src/modes/components/status-line/types.ts +6 -0
  60. package/src/modes/components/status-line.ts +13 -6
  61. package/src/modes/components/tool-execution.ts +48 -7
  62. package/src/modes/components/user-message.ts +26 -9
  63. package/src/modes/components/welcome.ts +4 -1
  64. package/src/modes/controllers/command-controller.ts +29 -3
  65. package/src/modes/controllers/event-controller.ts +168 -45
  66. package/src/modes/controllers/extension-ui-controller.ts +36 -17
  67. package/src/modes/controllers/input-controller.ts +16 -4
  68. package/src/modes/controllers/selector-controller.ts +69 -18
  69. package/src/modes/interactive-mode.ts +194 -10
  70. package/src/modes/irc-observation-ledger.ts +127 -0
  71. package/src/modes/rpc/rpc-client.ts +30 -6
  72. package/src/modes/shared/agent-wire/deep-interview-gate.ts +45 -2
  73. package/src/modes/shared/agent-wire/unattended-session.ts +288 -1
  74. package/src/modes/shared/agent-wire/workflow-gate-broker.ts +130 -20
  75. package/src/modes/types.ts +34 -2
  76. package/src/modes/utils/hotkeys-markdown.ts +1 -0
  77. package/src/modes/utils/irc-message.ts +138 -0
  78. package/src/modes/utils/ui-helpers.ts +368 -80
  79. package/src/notifications/config.ts +44 -0
  80. package/src/notifications/daemon-paths.ts +8 -0
  81. package/src/notifications/index.ts +535 -75
  82. package/src/notifications/lifecycle-control-runtime.ts +930 -77
  83. package/src/notifications/notification-service.ts +710 -0
  84. package/src/notifications/rate-limit-pool.ts +46 -12
  85. package/src/notifications/telegram-daemon-control.ts +27 -2
  86. package/src/notifications/telegram-daemon.ts +663 -96
  87. package/src/notifications/telegram-reference.ts +73 -13
  88. package/src/notifications/topic-registry.ts +86 -9
  89. package/src/prompts/system/irc-peer-roster.md +1 -0
  90. package/src/prompts/system/subagent-system-prompt.md +1 -0
  91. package/src/prompts/system/system-prompt.md +1 -0
  92. package/src/prompts/tools/irc.md +1 -1
  93. package/src/prompts/tools/skill.md +2 -2
  94. package/src/registry/agent-registry.ts +3 -0
  95. package/src/runtime-mcp/config-writer.ts +4 -3
  96. package/src/runtime-mcp/config.ts +1 -0
  97. package/src/runtime-mcp/types.ts +4 -3
  98. package/src/sdk.ts +52 -1
  99. package/src/secrets/obfuscator.ts +4 -2
  100. package/src/session/agent-session.ts +513 -148
  101. package/src/session/cache-economics.ts +275 -0
  102. package/src/session/provider-safety-stop.ts +9 -0
  103. package/src/session/session-dump-format.ts +6 -0
  104. package/src/session/session-manager.ts +877 -79
  105. package/src/session/session-storage.ts +582 -38
  106. package/src/skc-runtime/session-state-sidecar.ts +756 -135
  107. package/src/skc-runtime/state-runtime.ts +105 -12
  108. package/src/skc-runtime/tmux-common.ts +26 -7
  109. package/src/skc-runtime/tmux-gc.ts +52 -9
  110. package/src/skc-runtime/tmux-owner-isolation-cli.ts +185 -0
  111. package/src/skc-runtime/tmux-owner-isolation.ts +2060 -0
  112. package/src/skc-runtime/tmux-sessions.ts +871 -68
  113. package/src/skc-runtime/workflow-manifest.generated.json +4 -28
  114. package/src/skc-runtime/workflow-manifest.ts +1 -7
  115. package/src/slash-commands/builtin-registry.ts +152 -13
  116. package/src/task/executor.ts +12 -3
  117. package/src/task/index.ts +8 -0
  118. package/src/task/receipt.ts +7 -2
  119. package/src/task/types.ts +26 -0
  120. package/src/tools/ask-answer-registry.ts +25 -0
  121. package/src/tools/bash-interactive.ts +9 -4
  122. package/src/tools/browser/readable.ts +2 -2
  123. package/src/tools/browser/tab-supervisor.ts +63 -6
  124. package/src/tools/browser.ts +8 -3
  125. package/src/tools/fetch.ts +5 -5
  126. package/src/tools/index.ts +81 -6
  127. package/src/tools/skill.ts +14 -11
  128. package/src/tools/sqlite-reader.ts +8 -4
  129. package/src/tui/output-block.ts +18 -6
  130. package/src/utils/external-editor.ts +6 -1
  131. package/src/utils/linkedom.ts +14 -0
  132. package/src/utils/pasted-image-path.ts +23 -9
  133. package/src/web/scrapers/arxiv.ts +2 -2
  134. package/src/web/scrapers/go-pkg.ts +2 -2
  135. package/src/web/scrapers/iacr.ts +2 -2
  136. package/src/web/scrapers/readthedocs.ts +2 -2
  137. package/src/web/scrapers/twitter.ts +3 -2
  138. package/src/web/scrapers/wikipedia.ts +2 -2
  139. package/dist/types/append-only-mode.d.ts +0 -31
  140. package/dist/types/async/index.d.ts +0 -2
  141. package/dist/types/async/job-manager.d.ts +0 -328
  142. package/dist/types/async/support.d.ts +0 -2
  143. package/dist/types/autoresearch/dashboard.d.ts +0 -4
  144. package/dist/types/autoresearch/git.d.ts +0 -36
  145. package/dist/types/autoresearch/helpers.d.ts +0 -24
  146. package/dist/types/autoresearch/index.d.ts +0 -2
  147. package/dist/types/autoresearch/state.d.ts +0 -17
  148. package/dist/types/autoresearch/storage.d.ts +0 -142
  149. package/dist/types/autoresearch/tools/init-experiment.d.ts +0 -31
  150. package/dist/types/autoresearch/tools/log-experiment.d.ts +0 -23
  151. package/dist/types/autoresearch/tools/run-experiment.d.ts +0 -8
  152. package/dist/types/autoresearch/tools/update-notes.d.ts +0 -12
  153. package/dist/types/autoresearch/types.d.ts +0 -154
  154. package/dist/types/capability/context-file.d.ts +0 -17
  155. package/dist/types/capability/extension-module.d.ts +0 -15
  156. package/dist/types/capability/extension.d.ts +0 -28
  157. package/dist/types/capability/fs.d.ts +0 -20
  158. package/dist/types/capability/hook.d.ts +0 -19
  159. package/dist/types/capability/index.d.ts +0 -80
  160. package/dist/types/capability/instruction.d.ts +0 -17
  161. package/dist/types/capability/mcp.d.ts +0 -47
  162. package/dist/types/capability/prompt.d.ts +0 -15
  163. package/dist/types/capability/rule.d.ts +0 -69
  164. package/dist/types/capability/settings.d.ts +0 -15
  165. package/dist/types/capability/skill.d.ts +0 -36
  166. package/dist/types/capability/slash-command.d.ts +0 -17
  167. package/dist/types/capability/ssh.d.ts +0 -23
  168. package/dist/types/capability/system-prompt.d.ts +0 -15
  169. package/dist/types/capability/tool.d.ts +0 -19
  170. package/dist/types/capability/types.d.ts +0 -154
  171. package/dist/types/cli/agents-cli.d.ts +0 -12
  172. package/dist/types/cli/args.d.ts +0 -57
  173. package/dist/types/cli/auth-broker-cli.d.ts +0 -25
  174. package/dist/types/cli/auth-gateway-cli.d.ts +0 -18
  175. package/dist/types/cli/classify-install-target.d.ts +0 -18
  176. package/dist/types/cli/commands/init-xdg.d.ts +0 -1
  177. package/dist/types/cli/completion-cli.d.ts +0 -41
  178. package/dist/types/cli/config-cli.d.ts +0 -23
  179. package/dist/types/cli/daemon-cli.d.ts +0 -25
  180. package/dist/types/cli/fast-help.d.ts +0 -1
  181. package/dist/types/cli/file-processor.d.ts +0 -11
  182. package/dist/types/cli/fixture-report.d.ts +0 -20
  183. package/dist/types/cli/fixture-report.test.d.ts +0 -1
  184. package/dist/types/cli/grep-cli.d.ts +0 -17
  185. package/dist/types/cli/initial-message.d.ts +0 -17
  186. package/dist/types/cli/list-models.d.ts +0 -36
  187. package/dist/types/cli/local-provider-smoke.d.ts +0 -59
  188. package/dist/types/cli/mcp-cli.d.ts +0 -25
  189. package/dist/types/cli/migrate-cli.d.ts +0 -20
  190. package/dist/types/cli/nofile-limit.d.ts +0 -11
  191. package/dist/types/cli/notify-cli.d.ts +0 -37
  192. package/dist/types/cli/plugin-cli.d.ts +0 -34
  193. package/dist/types/cli/read-cli.d.ts +0 -4
  194. package/dist/types/cli/session-picker.d.ts +0 -3
  195. package/dist/types/cli/setup-cli.d.ts +0 -73
  196. package/dist/types/cli/shell-cli.d.ts +0 -8
  197. package/dist/types/cli/skills-cli.d.ts +0 -9
  198. package/dist/types/cli/ssh-cli.d.ts +0 -21
  199. package/dist/types/cli/stats-cli.d.ts +0 -17
  200. package/dist/types/cli/telegram-cli.d.ts +0 -13
  201. package/dist/types/cli/update-cli.d.ts +0 -89
  202. package/dist/types/cli/web-search-cli.d.ts +0 -32
  203. package/dist/types/cli/worktree-cli.d.ts +0 -26
  204. package/dist/types/cli.d.ts +0 -135
  205. package/dist/types/commands/acp.d.ts +0 -12
  206. package/dist/types/commands/agents.d.ts +0 -34
  207. package/dist/types/commands/auth-broker.d.ts +0 -54
  208. package/dist/types/commands/auth-gateway.d.ts +0 -32
  209. package/dist/types/commands/codex-native-hook.d.ts +0 -6
  210. package/dist/types/commands/commit.d.ts +0 -27
  211. package/dist/types/commands/completion.d.ts +0 -29
  212. package/dist/types/commands/config.d.ts +0 -33
  213. package/dist/types/commands/contribution-prep.d.ts +0 -18
  214. package/dist/types/commands/coordinator.d.ts +0 -19
  215. package/dist/types/commands/daemon.d.ts +0 -41
  216. package/dist/types/commands/deep-interview.d.ts +0 -54
  217. package/dist/types/commands/gc.d.ts +0 -26
  218. package/dist/types/commands/grep.d.ts +0 -42
  219. package/dist/types/commands/harness.d.ts +0 -43
  220. package/dist/types/commands/launch.d.ts +0 -130
  221. package/dist/types/commands/local-provider.d.ts +0 -34
  222. package/dist/types/commands/mcp-serve.d.ts +0 -24
  223. package/dist/types/commands/mcp.d.ts +0 -70
  224. package/dist/types/commands/migrate.d.ts +0 -33
  225. package/dist/types/commands/notify.d.ts +0 -41
  226. package/dist/types/commands/plugin.d.ts +0 -58
  227. package/dist/types/commands/ralplan.d.ts +0 -7
  228. package/dist/types/commands/read.d.ts +0 -15
  229. package/dist/types/commands/rlm.d.ts +0 -10
  230. package/dist/types/commands/session.d.ts +0 -30
  231. package/dist/types/commands/setup.d.ts +0 -105
  232. package/dist/types/commands/shell.d.ts +0 -21
  233. package/dist/types/commands/skills.d.ts +0 -26
  234. package/dist/types/commands/ssh.d.ts +0 -48
  235. package/dist/types/commands/state.d.ts +0 -7
  236. package/dist/types/commands/stats.d.ts +0 -25
  237. package/dist/types/commands/team.d.ts +0 -24
  238. package/dist/types/commands/telegram.d.ts +0 -22
  239. package/dist/types/commands/ultragoal.d.ts +0 -8
  240. package/dist/types/commands/update.d.ts +0 -20
  241. package/dist/types/commands/web-search.d.ts +0 -87
  242. package/dist/types/commands/worktree.d.ts +0 -34
  243. package/dist/types/commit/agentic/agent.d.ts +0 -31
  244. package/dist/types/commit/agentic/fallback.d.ts +0 -5
  245. package/dist/types/commit/agentic/index.d.ts +0 -2
  246. package/dist/types/commit/agentic/state.d.ts +0 -58
  247. package/dist/types/commit/agentic/tools/analyze-file.d.ts +0 -19
  248. package/dist/types/commit/agentic/tools/git-file-diff.d.ts +0 -10
  249. package/dist/types/commit/agentic/tools/git-hunk.d.ts +0 -9
  250. package/dist/types/commit/agentic/tools/git-overview.d.ts +0 -9
  251. package/dist/types/commit/agentic/tools/index.d.ts +0 -16
  252. package/dist/types/commit/agentic/tools/propose-changelog.d.ts +0 -28
  253. package/dist/types/commit/agentic/tools/propose-commit.d.ts +0 -36
  254. package/dist/types/commit/agentic/tools/recent-commits.d.ts +0 -7
  255. package/dist/types/commit/agentic/tools/schemas.d.ts +0 -27
  256. package/dist/types/commit/agentic/tools/split-commit.d.ts +0 -53
  257. package/dist/types/commit/agentic/topo-sort.d.ts +0 -4
  258. package/dist/types/commit/agentic/trivial.d.ts +0 -7
  259. package/dist/types/commit/agentic/validation.d.ts +0 -20
  260. package/dist/types/commit/analysis/conventional.d.ts +0 -22
  261. package/dist/types/commit/analysis/index.d.ts +0 -4
  262. package/dist/types/commit/analysis/scope.d.ts +0 -6
  263. package/dist/types/commit/analysis/summary.d.ts +0 -19
  264. package/dist/types/commit/analysis/validation.d.ts +0 -8
  265. package/dist/types/commit/changelog/detect.d.ts +0 -2
  266. package/dist/types/commit/changelog/generate.d.ts +0 -30
  267. package/dist/types/commit/changelog/index.d.ts +0 -30
  268. package/dist/types/commit/changelog/parse.d.ts +0 -2
  269. package/dist/types/commit/cli.d.ts +0 -3
  270. package/dist/types/commit/git/diff.d.ts +0 -5
  271. package/dist/types/commit/index.d.ts +0 -4
  272. package/dist/types/commit/map-reduce/index.d.ts +0 -28
  273. package/dist/types/commit/map-reduce/map-phase.d.ts +0 -17
  274. package/dist/types/commit/map-reduce/reduce-phase.d.ts +0 -13
  275. package/dist/types/commit/map-reduce/utils.d.ts +0 -2
  276. package/dist/types/commit/message.d.ts +0 -2
  277. package/dist/types/commit/model-selection.d.ts +0 -15
  278. package/dist/types/commit/pipeline.d.ts +0 -5
  279. package/dist/types/commit/shared-llm.d.ts +0 -54
  280. package/dist/types/commit/types.d.ts +0 -78
  281. package/dist/types/commit/utils/exclusions.d.ts +0 -4
  282. package/dist/types/commit/utils.d.ts +0 -20
  283. package/dist/types/config/config-file.d.ts +0 -58
  284. package/dist/types/config/file-lock-gc.d.ts +0 -5
  285. package/dist/types/config/file-lock.d.ts +0 -36
  286. package/dist/types/config/keybindings.d.ts +0 -359
  287. package/dist/types/config/model-equivalence.d.ts +0 -24
  288. package/dist/types/config/model-profile-activation.d.ts +0 -64
  289. package/dist/types/config/model-profiles.d.ts +0 -39
  290. package/dist/types/config/model-registry.d.ts +0 -473
  291. package/dist/types/config/model-resolver.d.ts +0 -217
  292. package/dist/types/config/models-config-schema.d.ts +0 -700
  293. package/dist/types/config/prompt-templates.d.ts +0 -32
  294. package/dist/types/config/resolve-config-value.d.ts +0 -17
  295. package/dist/types/config/settings-schema.d.ts +0 -4183
  296. package/dist/types/config/settings.d.ts +0 -156
  297. package/dist/types/config/skill-settings-defaults.d.ts +0 -14
  298. package/dist/types/config/telegram-autostart.d.ts +0 -14
  299. package/dist/types/config/telegram-env-bridge.d.ts +0 -18
  300. package/dist/types/config.d.ts +0 -66
  301. package/dist/types/coordinator/contract.d.ts +0 -4
  302. package/dist/types/coordinator-mcp/policy.d.ts +0 -24
  303. package/dist/types/coordinator-mcp/safety.d.ts +0 -26
  304. package/dist/types/coordinator-mcp/server.d.ts +0 -66
  305. package/dist/types/cursor.d.ts +0 -24
  306. package/dist/types/daemon/builtin.d.ts +0 -20
  307. package/dist/types/daemon/control-types.d.ts +0 -57
  308. package/dist/types/daemon/runtime.d.ts +0 -25
  309. package/dist/types/dap/client.d.ts +0 -39
  310. package/dist/types/dap/config.d.ts +0 -6
  311. package/dist/types/dap/index.d.ts +0 -4
  312. package/dist/types/dap/session.d.ts +0 -108
  313. package/dist/types/dap/types.d.ts +0 -524
  314. package/dist/types/debug/crash-diagnostics.d.ts +0 -45
  315. package/dist/types/debug/index.d.ts +0 -15
  316. package/dist/types/debug/log-formatting.d.ts +0 -4
  317. package/dist/types/debug/log-viewer.d.ts +0 -68
  318. package/dist/types/debug/profiler.d.ts +0 -24
  319. package/dist/types/debug/raw-sse-buffer.d.ts +0 -44
  320. package/dist/types/debug/raw-sse.d.ts +0 -16
  321. package/dist/types/debug/report-bundle.d.ts +0 -55
  322. package/dist/types/debug/runtime-gauges.d.ts +0 -6
  323. package/dist/types/debug/system-info.d.ts +0 -26
  324. package/dist/types/deep-interview/plaintext-gate-guard.d.ts +0 -11
  325. package/dist/types/deep-interview/render-middleware.d.ts +0 -6
  326. package/dist/types/defaults/skc/extensions/grok-build/index.d.ts +0 -1
  327. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/index.d.ts +0 -1
  328. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/models/catalog.d.ts +0 -25
  329. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/payload/sanitize.d.ts +0 -27
  330. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/provider/billing.d.ts +0 -8
  331. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/provider/register.d.ts +0 -5
  332. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/provider/stream.d.ts +0 -10
  333. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/provider/usage.d.ts +0 -2
  334. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/shared/base-url.d.ts +0 -2
  335. package/dist/types/defaults/skc/extensions/grok-cli-vendor/src/shared/errors.d.ts +0 -38
  336. package/dist/types/defaults/skc-defaults.d.ts +0 -64
  337. package/dist/types/defaults/skc-grok-cli.d.ts +0 -5
  338. package/dist/types/discovery/agents-md.d.ts +0 -1
  339. package/dist/types/discovery/agents.d.ts +0 -12
  340. package/dist/types/discovery/builtin.d.ts +0 -1
  341. package/dist/types/discovery/claude-plugins.d.ts +0 -1
  342. package/dist/types/discovery/claude.d.ts +0 -1
  343. package/dist/types/discovery/cline.d.ts +0 -1
  344. package/dist/types/discovery/codex.d.ts +0 -1
  345. package/dist/types/discovery/cursor.d.ts +0 -19
  346. package/dist/types/discovery/gemini.d.ts +0 -1
  347. package/dist/types/discovery/github.d.ts +0 -1
  348. package/dist/types/discovery/helpers.d.ts +0 -271
  349. package/dist/types/discovery/index.d.ts +0 -48
  350. package/dist/types/discovery/mcp-json.d.ts +0 -1
  351. package/dist/types/discovery/opencode.d.ts +0 -1
  352. package/dist/types/discovery/plugin-dir-roots.d.ts +0 -15
  353. package/dist/types/discovery/ssh.d.ts +0 -1
  354. package/dist/types/discovery/substitute-plugin-root.d.ts +0 -5
  355. package/dist/types/discovery/vscode.d.ts +0 -1
  356. package/dist/types/discovery/windsurf.d.ts +0 -15
  357. package/dist/types/edit/apply-patch/index.d.ts +0 -35
  358. package/dist/types/edit/apply-patch/parser.d.ts +0 -34
  359. package/dist/types/edit/diff.d.ts +0 -75
  360. package/dist/types/edit/file-read-cache.d.ts +0 -25
  361. package/dist/types/edit/index.d.ts +0 -58
  362. package/dist/types/edit/modes/apply-patch.d.ts +0 -24
  363. package/dist/types/edit/modes/patch.d.ts +0 -99
  364. package/dist/types/edit/modes/replace.d.ts +0 -149
  365. package/dist/types/edit/normalize.d.ts +0 -43
  366. package/dist/types/edit/notebook.d.ts +0 -26
  367. package/dist/types/edit/read-file.d.ts +0 -8
  368. package/dist/types/edit/renderer.d.ts +0 -110
  369. package/dist/types/edit/streaming.d.ts +0 -66
  370. package/dist/types/eval/backend.d.ts +0 -40
  371. package/dist/types/eval/index.d.ts +0 -4
  372. package/dist/types/eval/js/context-manager.d.ts +0 -27
  373. package/dist/types/eval/js/executor.d.ts +0 -29
  374. package/dist/types/eval/js/index.d.ts +0 -10
  375. package/dist/types/eval/js/shared/helpers.d.ts +0 -38
  376. package/dist/types/eval/js/shared/indirect-eval.d.ts +0 -14
  377. package/dist/types/eval/js/shared/prelude.d.ts +0 -1
  378. package/dist/types/eval/js/shared/rewrite-imports.d.ts +0 -6
  379. package/dist/types/eval/js/shared/runtime.d.ts +0 -47
  380. package/dist/types/eval/js/shared/types.d.ts +0 -24
  381. package/dist/types/eval/js/tool-bridge.d.ts +0 -18
  382. package/dist/types/eval/js/worker-core.d.ts +0 -5
  383. package/dist/types/eval/js/worker-entry.d.ts +0 -1
  384. package/dist/types/eval/js/worker-protocol.d.ts +0 -77
  385. package/dist/types/eval/py/display.d.ts +0 -25
  386. package/dist/types/eval/py/executor.d.ts +0 -88
  387. package/dist/types/eval/py/index.d.ts +0 -10
  388. package/dist/types/eval/py/kernel.d.ts +0 -65
  389. package/dist/types/eval/py/prelude.d.ts +0 -1
  390. package/dist/types/eval/py/runtime.d.ts +0 -29
  391. package/dist/types/eval/py/tool-bridge.d.ts +0 -20
  392. package/dist/types/eval/types.d.ts +0 -52
  393. package/dist/types/exa/factory.d.ts +0 -13
  394. package/dist/types/exa/index.d.ts +0 -20
  395. package/dist/types/exa/mcp-client.d.ts +0 -45
  396. package/dist/types/exa/render.d.ts +0 -19
  397. package/dist/types/exa/researcher.d.ts +0 -9
  398. package/dist/types/exa/search.d.ts +0 -9
  399. package/dist/types/exa/types.d.ts +0 -155
  400. package/dist/types/exa/websets.d.ts +0 -9
  401. package/dist/types/exec/bash-executor.d.ts +0 -64
  402. package/dist/types/exec/exec.d.ts +0 -25
  403. package/dist/types/exec/idle-timeout-watchdog.d.ts +0 -18
  404. package/dist/types/exec/non-interactive-env.d.ts +0 -1
  405. package/dist/types/export/custom-share.d.ts +0 -20
  406. package/dist/types/export/html/index.d.ts +0 -10
  407. package/dist/types/export/html/template.generated.d.ts +0 -1
  408. package/dist/types/export/html/template.macro.d.ts +0 -5
  409. package/dist/types/export/ttsr.d.ts +0 -55
  410. package/dist/types/extensibility/custom-commands/bundled/ci-green/index.d.ts +0 -9
  411. package/dist/types/extensibility/custom-commands/index.d.ts +0 -2
  412. package/dist/types/extensibility/custom-commands/loader.d.ts +0 -29
  413. package/dist/types/extensibility/custom-commands/types.d.ts +0 -106
  414. package/dist/types/extensibility/custom-tools/index.d.ts +0 -6
  415. package/dist/types/extensibility/custom-tools/loader.d.ts +0 -69
  416. package/dist/types/extensibility/custom-tools/types.d.ts +0 -229
  417. package/dist/types/extensibility/custom-tools/wrapper.d.ts +0 -24
  418. package/dist/types/extensibility/extensions/compact-handler.d.ts +0 -26
  419. package/dist/types/extensibility/extensions/get-commands-handler.d.ts +0 -29
  420. package/dist/types/extensibility/extensions/index.d.ts +0 -9
  421. package/dist/types/extensibility/extensions/loader.d.ts +0 -43
  422. package/dist/types/extensibility/extensions/prefix-command-bridge.d.ts +0 -35
  423. package/dist/types/extensibility/extensions/runner.d.ts +0 -135
  424. package/dist/types/extensibility/extensions/types.d.ts +0 -918
  425. package/dist/types/extensibility/extensions/wrapper.d.ts +0 -55
  426. package/dist/types/extensibility/hooks/index.d.ts +0 -5
  427. package/dist/types/extensibility/hooks/loader.d.ts +0 -89
  428. package/dist/types/extensibility/hooks/runner.d.ts +0 -126
  429. package/dist/types/extensibility/hooks/tool-wrapper.d.ts +0 -25
  430. package/dist/types/extensibility/hooks/types.d.ts +0 -431
  431. package/dist/types/extensibility/plugins/doctor.d.ts +0 -3
  432. package/dist/types/extensibility/plugins/git-url.d.ts +0 -34
  433. package/dist/types/extensibility/plugins/index.d.ts +0 -8
  434. package/dist/types/extensibility/plugins/installer.d.ts +0 -5
  435. package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +0 -2
  436. package/dist/types/extensibility/plugins/loader.d.ts +0 -31
  437. package/dist/types/extensibility/plugins/manager.d.ts +0 -65
  438. package/dist/types/extensibility/plugins/marketplace/cache.d.ts +0 -41
  439. package/dist/types/extensibility/plugins/marketplace/fetcher.d.ts +0 -48
  440. package/dist/types/extensibility/plugins/marketplace/index.d.ts +0 -6
  441. package/dist/types/extensibility/plugins/marketplace/manager.d.ts +0 -57
  442. package/dist/types/extensibility/plugins/marketplace/registry.d.ts +0 -34
  443. package/dist/types/extensibility/plugins/marketplace/source-resolver.d.ts +0 -28
  444. package/dist/types/extensibility/plugins/marketplace/types.d.ts +0 -130
  445. package/dist/types/extensibility/plugins/parser.d.ts +0 -52
  446. package/dist/types/extensibility/plugins/security-scanner.d.ts +0 -31
  447. package/dist/types/extensibility/plugins/types.d.ts +0 -149
  448. package/dist/types/extensibility/runtime-skill-discovery.d.ts +0 -20
  449. package/dist/types/extensibility/shared-events.d.ts +0 -281
  450. package/dist/types/extensibility/skc-plugins/activation.d.ts +0 -14
  451. package/dist/types/extensibility/skc-plugins/compiler.d.ts +0 -19
  452. package/dist/types/extensibility/skc-plugins/constrained-hooks.d.ts +0 -29
  453. package/dist/types/extensibility/skc-plugins/index.d.ts +0 -18
  454. package/dist/types/extensibility/skc-plugins/injection.d.ts +0 -40
  455. package/dist/types/extensibility/skc-plugins/installer.d.ts +0 -13
  456. package/dist/types/extensibility/skc-plugins/loader.d.ts +0 -3
  457. package/dist/types/extensibility/skc-plugins/mcp-policy.d.ts +0 -26
  458. package/dist/types/extensibility/skc-plugins/observability.d.ts +0 -27
  459. package/dist/types/extensibility/skc-plugins/paths.d.ts +0 -8
  460. package/dist/types/extensibility/skc-plugins/prompt-appendix.d.ts +0 -16
  461. package/dist/types/extensibility/skc-plugins/registry.d.ts +0 -32
  462. package/dist/types/extensibility/skc-plugins/runtime-adapters.d.ts +0 -64
  463. package/dist/types/extensibility/skc-plugins/schema.d.ts +0 -3
  464. package/dist/types/extensibility/skc-plugins/session-validation.d.ts +0 -42
  465. package/dist/types/extensibility/skc-plugins/state.d.ts +0 -9
  466. package/dist/types/extensibility/skc-plugins/tools.d.ts +0 -8
  467. package/dist/types/extensibility/skc-plugins/types.d.ts +0 -220
  468. package/dist/types/extensibility/skc-plugins/validation.d.ts +0 -11
  469. package/dist/types/extensibility/skills.d.ts +0 -82
  470. package/dist/types/extensibility/slash-commands.d.ts +0 -48
  471. package/dist/types/extensibility/tool-proxy.d.ts +0 -4
  472. package/dist/types/extensibility/typebox.d.ts +0 -155
  473. package/dist/types/extensibility/utils.d.ts +0 -12
  474. package/dist/types/goals/index.d.ts +0 -3
  475. package/dist/types/goals/runtime.d.ts +0 -63
  476. package/dist/types/goals/state.d.ts +0 -32
  477. package/dist/types/goals/tools/goal-tool.d.ts +0 -62
  478. package/dist/types/harness-control-plane/classifier.d.ts +0 -13
  479. package/dist/types/harness-control-plane/control-endpoint.d.ts +0 -31
  480. package/dist/types/harness-control-plane/finalize.d.ts +0 -60
  481. package/dist/types/harness-control-plane/gc-adapter.d.ts +0 -3
  482. package/dist/types/harness-control-plane/operate.d.ts +0 -35
  483. package/dist/types/harness-control-plane/owner.d.ts +0 -53
  484. package/dist/types/harness-control-plane/phase-rollup.d.ts +0 -23
  485. package/dist/types/harness-control-plane/preserve.d.ts +0 -19
  486. package/dist/types/harness-control-plane/receipt-ingest.d.ts +0 -19
  487. package/dist/types/harness-control-plane/receipt-spool.d.ts +0 -19
  488. package/dist/types/harness-control-plane/receipts.d.ts +0 -149
  489. package/dist/types/harness-control-plane/rpc-adapter.d.ts +0 -69
  490. package/dist/types/harness-control-plane/seams.d.ts +0 -21
  491. package/dist/types/harness-control-plane/session-lease.d.ts +0 -65
  492. package/dist/types/harness-control-plane/state-machine.d.ts +0 -24
  493. package/dist/types/harness-control-plane/storage.d.ts +0 -81
  494. package/dist/types/harness-control-plane/types.d.ts +0 -187
  495. package/dist/types/hashline/anchors.d.ts +0 -20
  496. package/dist/types/hashline/apply.d.ts +0 -14
  497. package/dist/types/hashline/constants.d.ts +0 -19
  498. package/dist/types/hashline/diff-preview.d.ts +0 -2
  499. package/dist/types/hashline/diff.d.ts +0 -17
  500. package/dist/types/hashline/execute.d.ts +0 -4
  501. package/dist/types/hashline/hash.d.ts +0 -123
  502. package/dist/types/hashline/index.d.ts +0 -13
  503. package/dist/types/hashline/input.d.ts +0 -11
  504. package/dist/types/hashline/parser.d.ts +0 -7
  505. package/dist/types/hashline/prefixes.d.ts +0 -7
  506. package/dist/types/hashline/recovery.d.ts +0 -27
  507. package/dist/types/hashline/stream.d.ts +0 -2
  508. package/dist/types/hashline/types.d.ts +0 -77
  509. package/dist/types/hindsight/backend.d.ts +0 -13
  510. package/dist/types/hindsight/bank.d.ts +0 -54
  511. package/dist/types/hindsight/client.d.ts +0 -224
  512. package/dist/types/hindsight/config.d.ts +0 -51
  513. package/dist/types/hindsight/content.d.ts +0 -70
  514. package/dist/types/hindsight/index.d.ts +0 -8
  515. package/dist/types/hindsight/mental-models.d.ts +0 -125
  516. package/dist/types/hindsight/state.d.ts +0 -99
  517. package/dist/types/hindsight/transcript.d.ts +0 -28
  518. package/dist/types/hooks/codex-native-hooks-config.d.ts +0 -29
  519. package/dist/types/hooks/native-skill-hook.d.ts +0 -28
  520. package/dist/types/hooks/skill-keywords.d.ts +0 -18
  521. package/dist/types/hooks/skill-state.d.ts +0 -93
  522. package/dist/types/i18n/index.d.ts +0 -38
  523. package/dist/types/i18n/messages/de.d.ts +0 -2
  524. package/dist/types/i18n/messages/de.messages.d.ts +0 -1
  525. package/dist/types/i18n/messages/de.settings.d.ts +0 -1
  526. package/dist/types/i18n/messages/en.d.ts +0 -81
  527. package/dist/types/i18n/messages/es.d.ts +0 -2
  528. package/dist/types/i18n/messages/es.messages.d.ts +0 -1
  529. package/dist/types/i18n/messages/es.settings.d.ts +0 -1
  530. package/dist/types/i18n/messages/fr.d.ts +0 -2
  531. package/dist/types/i18n/messages/fr.messages.d.ts +0 -1
  532. package/dist/types/i18n/messages/fr.settings.d.ts +0 -1
  533. package/dist/types/i18n/messages/ja.d.ts +0 -2
  534. package/dist/types/i18n/messages/ja.messages.d.ts +0 -1
  535. package/dist/types/i18n/messages/ja.settings.d.ts +0 -1
  536. package/dist/types/i18n/messages/ko.d.ts +0 -2
  537. package/dist/types/i18n/messages/ko.messages.d.ts +0 -1
  538. package/dist/types/i18n/messages/ko.settings.d.ts +0 -1
  539. package/dist/types/i18n/messages/zh.d.ts +0 -2
  540. package/dist/types/i18n/messages/zh.messages.d.ts +0 -1
  541. package/dist/types/i18n/messages/zh.settings.d.ts +0 -1
  542. package/dist/types/index.d.ts +0 -33
  543. package/dist/types/internal-urls/agent-protocol.d.ts +0 -12
  544. package/dist/types/internal-urls/artifact-protocol.d.ts +0 -6
  545. package/dist/types/internal-urls/docs-index.generated.d.ts +0 -2
  546. package/dist/types/internal-urls/index.d.ts +0 -20
  547. package/dist/types/internal-urls/issue-pr-protocol.d.ts +0 -17
  548. package/dist/types/internal-urls/json-query.d.ts +0 -30
  549. package/dist/types/internal-urls/local-protocol.d.ts +0 -39
  550. package/dist/types/internal-urls/mcp-protocol.d.ts +0 -12
  551. package/dist/types/internal-urls/memory-protocol.d.ts +0 -23
  552. package/dist/types/internal-urls/parse.d.ts +0 -19
  553. package/dist/types/internal-urls/registry-helpers.d.ts +0 -11
  554. package/dist/types/internal-urls/router.d.ts +0 -14
  555. package/dist/types/internal-urls/rule-protocol.d.ts +0 -6
  556. package/dist/types/internal-urls/skc-protocol.d.ts +0 -12
  557. package/dist/types/internal-urls/skill-protocol.d.ts +0 -13
  558. package/dist/types/internal-urls/types.d.ts +0 -109
  559. package/dist/types/lsp/client.d.ts +0 -66
  560. package/dist/types/lsp/clients/biome-client.d.ts +0 -16
  561. package/dist/types/lsp/clients/index.d.ts +0 -19
  562. package/dist/types/lsp/clients/lsp-linter-client.d.ts +0 -16
  563. package/dist/types/lsp/clients/swiftlint-client.d.ts +0 -20
  564. package/dist/types/lsp/config.d.ts +0 -65
  565. package/dist/types/lsp/edits.d.ts +0 -23
  566. package/dist/types/lsp/index.d.ts +0 -130
  567. package/dist/types/lsp/lspmux.d.ts +0 -58
  568. package/dist/types/lsp/render.d.ts +0 -32
  569. package/dist/types/lsp/startup-events.d.ts +0 -12
  570. package/dist/types/lsp/types.d.ts +0 -306
  571. package/dist/types/lsp/utils.d.ts +0 -108
  572. package/dist/types/main.d.ts +0 -75
  573. package/dist/types/memories/index.d.ts +0 -28
  574. package/dist/types/memories/storage.d.ts +0 -110
  575. package/dist/types/memory-backend/index.d.ts +0 -4
  576. package/dist/types/memory-backend/local-backend.d.ts +0 -9
  577. package/dist/types/memory-backend/off-backend.d.ts +0 -7
  578. package/dist/types/memory-backend/resolve.d.ts +0 -15
  579. package/dist/types/memory-backend/types.d.ts +0 -61
  580. package/dist/types/migrate/action-planner.d.ts +0 -11
  581. package/dist/types/migrate/adapters/claude-code.d.ts +0 -2
  582. package/dist/types/migrate/adapters/codex.d.ts +0 -5
  583. package/dist/types/migrate/adapters/index.d.ts +0 -45
  584. package/dist/types/migrate/adapters/opencode.d.ts +0 -2
  585. package/dist/types/migrate/executor.d.ts +0 -2
  586. package/dist/types/migrate/mcp-mapper.d.ts +0 -20
  587. package/dist/types/migrate/report.d.ts +0 -18
  588. package/dist/types/migrate/skill-normalizer.d.ts +0 -27
  589. package/dist/types/migrate/types.d.ts +0 -126
  590. package/dist/types/modes/acp/acp-agent.d.ts +0 -61
  591. package/dist/types/modes/acp/acp-client-bridge.d.ts +0 -9
  592. package/dist/types/modes/acp/acp-event-mapper.d.ts +0 -34
  593. package/dist/types/modes/acp/acp-mode.d.ts +0 -5
  594. package/dist/types/modes/acp/index.d.ts +0 -2
  595. package/dist/types/modes/acp/terminal-auth.d.ts +0 -6
  596. package/dist/types/modes/bridge/auth.d.ts +0 -12
  597. package/dist/types/modes/bridge/bridge-client-bridge.d.ts +0 -9
  598. package/dist/types/modes/bridge/bridge-mode.d.ts +0 -47
  599. package/dist/types/modes/bridge/bridge-ui-context.d.ts +0 -88
  600. package/dist/types/modes/bridge/event-stream.d.ts +0 -8
  601. package/dist/types/modes/components/agent-dashboard.d.ts +0 -21
  602. package/dist/types/modes/components/assistant-message.d.ts +0 -20
  603. package/dist/types/modes/components/bash-execution.d.ts +0 -29
  604. package/dist/types/modes/components/bordered-loader.d.ts +0 -11
  605. package/dist/types/modes/components/branch-summary-message.d.ts +0 -13
  606. package/dist/types/modes/components/btw-panel.d.ts +0 -16
  607. package/dist/types/modes/components/compaction-summary-message.d.ts +0 -13
  608. package/dist/types/modes/components/countdown-timer.d.ts +0 -14
  609. package/dist/types/modes/components/custom-editor.d.ts +0 -67
  610. package/dist/types/modes/components/custom-message.d.ts +0 -15
  611. package/dist/types/modes/components/custom-model-preset-wizard.d.ts +0 -12
  612. package/dist/types/modes/components/custom-provider-wizard.d.ts +0 -10
  613. package/dist/types/modes/components/diff.d.ts +0 -11
  614. package/dist/types/modes/components/dynamic-border.d.ts +0 -14
  615. package/dist/types/modes/components/eval-execution.d.ts +0 -23
  616. package/dist/types/modes/components/execution-shared.d.ts +0 -46
  617. package/dist/types/modes/components/extensions/extension-dashboard.d.ts +0 -26
  618. package/dist/types/modes/components/extensions/extension-list.d.ts +0 -39
  619. package/dist/types/modes/components/extensions/index.d.ts +0 -8
  620. package/dist/types/modes/components/extensions/inspector-panel.d.ts +0 -8
  621. package/dist/types/modes/components/extensions/state-manager.d.ts +0 -50
  622. package/dist/types/modes/components/extensions/types.d.ts +0 -151
  623. package/dist/types/modes/components/footer.d.ts +0 -30
  624. package/dist/types/modes/components/history-search.d.ts +0 -7
  625. package/dist/types/modes/components/hook-editor.d.ts +0 -18
  626. package/dist/types/modes/components/hook-input.d.ts +0 -15
  627. package/dist/types/modes/components/hook-message.d.ts +0 -15
  628. package/dist/types/modes/components/hook-selector.d.ts +0 -53
  629. package/dist/types/modes/components/index.d.ts +0 -35
  630. package/dist/types/modes/components/jobs-overlay-model.d.ts +0 -31
  631. package/dist/types/modes/components/jobs-overlay.d.ts +0 -30
  632. package/dist/types/modes/components/keybinding-hints.d.ts +0 -40
  633. package/dist/types/modes/components/login-dialog.d.ts +0 -32
  634. package/dist/types/modes/components/message-frame.d.ts +0 -42
  635. package/dist/types/modes/components/model-selector.d.ts +0 -60
  636. package/dist/types/modes/components/oauth-selector.d.ts +0 -17
  637. package/dist/types/modes/components/plugin-selector.d.ts +0 -26
  638. package/dist/types/modes/components/plugin-settings.d.ts +0 -66
  639. package/dist/types/modes/components/provider-onboarding-selector.d.ts +0 -7
  640. package/dist/types/modes/components/queue-mode-selector.d.ts +0 -9
  641. package/dist/types/modes/components/queued-message-selector.d.ts +0 -12
  642. package/dist/types/modes/components/read-tool-group.d.ts +0 -30
  643. package/dist/types/modes/components/runtime-mcp-add-wizard.d.ts +0 -26
  644. package/dist/types/modes/components/session-observer-overlay.d.ts +0 -11
  645. package/dist/types/modes/components/session-selector.d.ts +0 -30
  646. package/dist/types/modes/components/settings-defs.d.ts +0 -50
  647. package/dist/types/modes/components/settings-selector.d.ts +0 -62
  648. package/dist/types/modes/components/show-images-selector.d.ts +0 -9
  649. package/dist/types/modes/components/skill-hud/render.d.ts +0 -2
  650. package/dist/types/modes/components/skill-message.d.ts +0 -10
  651. package/dist/types/modes/components/status-line/context-thresholds.d.ts +0 -4
  652. package/dist/types/modes/components/status-line/git-utils.d.ts +0 -28
  653. package/dist/types/modes/components/status-line/index.d.ts +0 -4
  654. package/dist/types/modes/components/status-line/presets.d.ts +0 -3
  655. package/dist/types/modes/components/status-line/segments.d.ts +0 -5
  656. package/dist/types/modes/components/status-line/separators.d.ts +0 -3
  657. package/dist/types/modes/components/status-line/token-rate.d.ts +0 -10
  658. package/dist/types/modes/components/status-line/types.d.ts +0 -77
  659. package/dist/types/modes/components/status-line.d.ts +0 -103
  660. package/dist/types/modes/components/theme-selector.d.ts +0 -10
  661. package/dist/types/modes/components/thinking-selector.d.ts +0 -15
  662. package/dist/types/modes/components/todo-reminder.d.ts +0 -13
  663. package/dist/types/modes/components/tool-execution.d.ts +0 -54
  664. package/dist/types/modes/components/tree-selector.d.ts +0 -31
  665. package/dist/types/modes/components/ttsr-notification.d.ts +0 -13
  666. package/dist/types/modes/components/two-column-body.d.ts +0 -9
  667. package/dist/types/modes/components/user-message-selector.d.ts +0 -28
  668. package/dist/types/modes/components/user-message.d.ts +0 -7
  669. package/dist/types/modes/components/visual-truncate.d.ts +0 -19
  670. package/dist/types/modes/components/welcome.d.ts +0 -45
  671. package/dist/types/modes/controllers/btw-controller.d.ts +0 -10
  672. package/dist/types/modes/controllers/command-controller-shared.d.ts +0 -47
  673. package/dist/types/modes/controllers/command-controller.d.ts +0 -40
  674. package/dist/types/modes/controllers/event-controller.d.ts +0 -17
  675. package/dist/types/modes/controllers/extension-ui-controller.d.ts +0 -80
  676. package/dist/types/modes/controllers/input-controller.d.ts +0 -42
  677. package/dist/types/modes/controllers/runtime-mcp-command-controller.d.ts +0 -10
  678. package/dist/types/modes/controllers/selector-controller.d.ts +0 -67
  679. package/dist/types/modes/controllers/ssh-command-controller.d.ts +0 -10
  680. package/dist/types/modes/controllers/todo-command-controller.d.ts +0 -7
  681. package/dist/types/modes/emoji-autocomplete.d.ts +0 -16
  682. package/dist/types/modes/index.d.ts +0 -10
  683. package/dist/types/modes/interactive-mode.d.ts +0 -275
  684. package/dist/types/modes/jobs-observer.d.ts +0 -57
  685. package/dist/types/modes/oauth-manual-input.d.ts +0 -8
  686. package/dist/types/modes/print-mode.d.ts +0 -45
  687. package/dist/types/modes/prompt-action-autocomplete.d.ts +0 -50
  688. package/dist/types/modes/rpc/host-tools.d.ts +0 -1
  689. package/dist/types/modes/rpc/host-uris.d.ts +0 -1
  690. package/dist/types/modes/rpc/rpc-client.d.ts +0 -288
  691. package/dist/types/modes/rpc/rpc-mode.d.ts +0 -85
  692. package/dist/types/modes/rpc/rpc-socket-security.d.ts +0 -10
  693. package/dist/types/modes/rpc/rpc-types.d.ts +0 -794
  694. package/dist/types/modes/runtime-init.d.ts +0 -21
  695. package/dist/types/modes/session-observer-registry.d.ts +0 -26
  696. package/dist/types/modes/shared/agent-wire/approval-gate.d.ts +0 -57
  697. package/dist/types/modes/shared/agent-wire/command-contract.d.ts +0 -18
  698. package/dist/types/modes/shared/agent-wire/command-dispatch.d.ts +0 -37
  699. package/dist/types/modes/shared/agent-wire/command-validation.d.ts +0 -2
  700. package/dist/types/modes/shared/agent-wire/deep-interview-gate.d.ts +0 -94
  701. package/dist/types/modes/shared/agent-wire/event-contract.d.ts +0 -103
  702. package/dist/types/modes/shared/agent-wire/event-envelope.d.ts +0 -60
  703. package/dist/types/modes/shared/agent-wire/event-observation.d.ts +0 -37
  704. package/dist/types/modes/shared/agent-wire/handshake.d.ts +0 -56
  705. package/dist/types/modes/shared/agent-wire/host-tool-bridge.d.ts +0 -16
  706. package/dist/types/modes/shared/agent-wire/host-uri-bridge.d.ts +0 -17
  707. package/dist/types/modes/shared/agent-wire/protocol.d.ts +0 -25
  708. package/dist/types/modes/shared/agent-wire/responses.d.ts +0 -4
  709. package/dist/types/modes/shared/agent-wire/scopes.d.ts +0 -18
  710. package/dist/types/modes/shared/agent-wire/session-registry.d.ts +0 -25
  711. package/dist/types/modes/shared/agent-wire/ui-request-broker.d.ts +0 -42
  712. package/dist/types/modes/shared/agent-wire/ui-result.d.ts +0 -27
  713. package/dist/types/modes/shared/agent-wire/unattended-action-policy.d.ts +0 -29
  714. package/dist/types/modes/shared/agent-wire/unattended-audit.d.ts +0 -68
  715. package/dist/types/modes/shared/agent-wire/unattended-run-controller.d.ts +0 -161
  716. package/dist/types/modes/shared/agent-wire/unattended-session.d.ts +0 -82
  717. package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +0 -114
  718. package/dist/types/modes/shared/agent-wire/workflow-gate-schema.d.ts +0 -39
  719. package/dist/types/modes/shared.d.ts +0 -15
  720. package/dist/types/modes/slash-command-visibility.d.ts +0 -1
  721. package/dist/types/modes/theme/defaults/index.d.ts +0 -652
  722. package/dist/types/modes/theme/mermaid-cache.d.ts +0 -9
  723. package/dist/types/modes/theme/shimmer.d.ts +0 -38
  724. package/dist/types/modes/theme/theme.d.ts +0 -275
  725. package/dist/types/modes/tmux-scroll.d.ts +0 -18
  726. package/dist/types/modes/types.d.ts +0 -292
  727. package/dist/types/modes/utils/abort-message.d.ts +0 -4
  728. package/dist/types/modes/utils/context-usage.d.ts +0 -51
  729. package/dist/types/modes/utils/hotkeys-markdown.d.ts +0 -5
  730. package/dist/types/modes/utils/injected-user-submission.d.ts +0 -52
  731. package/dist/types/modes/utils/keybinding-matchers.d.ts +0 -10
  732. package/dist/types/modes/utils/terminal-bell.d.ts +0 -3
  733. package/dist/types/modes/utils/tools-markdown.d.ts +0 -5
  734. package/dist/types/modes/utils/ui-helpers.d.ts +0 -54
  735. package/dist/types/notifications/attachment-registry.d.ts +0 -17
  736. package/dist/types/notifications/chat-adapters.d.ts +0 -9
  737. package/dist/types/notifications/config-commands.d.ts +0 -64
  738. package/dist/types/notifications/config.d.ts +0 -98
  739. package/dist/types/notifications/daemon-paths.d.ts +0 -10
  740. package/dist/types/notifications/engine.d.ts +0 -59
  741. package/dist/types/notifications/helpers.d.ts +0 -55
  742. package/dist/types/notifications/html-format.d.ts +0 -75
  743. package/dist/types/notifications/index.d.ts +0 -192
  744. package/dist/types/notifications/lifecycle-commands.d.ts +0 -69
  745. package/dist/types/notifications/lifecycle-control-runtime.d.ts +0 -99
  746. package/dist/types/notifications/lifecycle-orchestrator.d.ts +0 -144
  747. package/dist/types/notifications/managed-daemon.d.ts +0 -48
  748. package/dist/types/notifications/operator-runtime.d.ts +0 -52
  749. package/dist/types/notifications/rate-limit-pool.d.ts +0 -95
  750. package/dist/types/notifications/recent-activity.d.ts +0 -39
  751. package/dist/types/notifications/reply-sent-store.d.ts +0 -53
  752. package/dist/types/notifications/rich-draft.d.ts +0 -68
  753. package/dist/types/notifications/rich-render.d.ts +0 -90
  754. package/dist/types/notifications/telegram-cli.d.ts +0 -19
  755. package/dist/types/notifications/telegram-daemon-cli.d.ts +0 -28
  756. package/dist/types/notifications/telegram-daemon-control.d.ts +0 -64
  757. package/dist/types/notifications/telegram-daemon.d.ts +0 -429
  758. package/dist/types/notifications/telegram-reference.d.ts +0 -119
  759. package/dist/types/notifications/threaded-inbound.d.ts +0 -77
  760. package/dist/types/notifications/threaded-render.d.ts +0 -88
  761. package/dist/types/notifications/topic-registry.d.ts +0 -69
  762. package/dist/types/plan-mode/approved-plan.d.ts +0 -49
  763. package/dist/types/plan-mode/state.d.ts +0 -6
  764. package/dist/types/registry/agent-registry.d.ts +0 -62
  765. package/dist/types/reminders/star-reminder.d.ts +0 -115
  766. package/dist/types/research-plan/index.d.ts +0 -1
  767. package/dist/types/research-plan/ledger.d.ts +0 -33
  768. package/dist/types/rlm/artifacts.d.ts +0 -9
  769. package/dist/types/rlm/complete-research-tool.d.ts +0 -35
  770. package/dist/types/rlm/data-context.d.ts +0 -6
  771. package/dist/types/rlm/index.d.ts +0 -47
  772. package/dist/types/rlm/notebook.d.ts +0 -12
  773. package/dist/types/rlm/preset.d.ts +0 -23
  774. package/dist/types/rlm/python-tool.d.ts +0 -16
  775. package/dist/types/rlm/report.d.ts +0 -14
  776. package/dist/types/rlm/types.d.ts +0 -37
  777. package/dist/types/runtime/process-lifecycle.d.ts +0 -108
  778. package/dist/types/runtime-api-key.d.ts +0 -7
  779. package/dist/types/runtime-credential-selector.d.ts +0 -7
  780. package/dist/types/runtime-mcp/client.d.ts +0 -74
  781. package/dist/types/runtime-mcp/config-writer.d.ts +0 -88
  782. package/dist/types/runtime-mcp/config.d.ts +0 -77
  783. package/dist/types/runtime-mcp/discoverable-tool-metadata.d.ts +0 -7
  784. package/dist/types/runtime-mcp/index.d.ts +0 -18
  785. package/dist/types/runtime-mcp/json-rpc.d.ts +0 -22
  786. package/dist/types/runtime-mcp/loader.d.ts +0 -45
  787. package/dist/types/runtime-mcp/manager.d.ts +0 -195
  788. package/dist/types/runtime-mcp/oauth-discovery.d.ts +0 -40
  789. package/dist/types/runtime-mcp/oauth-flow.d.ts +0 -59
  790. package/dist/types/runtime-mcp/render.d.ts +0 -25
  791. package/dist/types/runtime-mcp/smithery-auth.d.ts +0 -16
  792. package/dist/types/runtime-mcp/smithery-connect.d.ts +0 -38
  793. package/dist/types/runtime-mcp/smithery-registry.d.ts +0 -51
  794. package/dist/types/runtime-mcp/tool-bridge.d.ts +0 -86
  795. package/dist/types/runtime-mcp/tool-cache.d.ts +0 -8
  796. package/dist/types/runtime-mcp/transports/http.d.ts +0 -36
  797. package/dist/types/runtime-mcp/transports/index.d.ts +0 -5
  798. package/dist/types/runtime-mcp/transports/stdio.d.ts +0 -29
  799. package/dist/types/runtime-mcp/types.d.ts +0 -348
  800. package/dist/types/sdk.d.ts +0 -254
  801. package/dist/types/secrets/index.d.ts +0 -9
  802. package/dist/types/secrets/obfuscator.d.ts +0 -23
  803. package/dist/types/secrets/regex.d.ts +0 -2
  804. package/dist/types/session/agent-session.d.ts +0 -1185
  805. package/dist/types/session/agent-storage.d.ts +0 -101
  806. package/dist/types/session/artifacts.d.ts +0 -64
  807. package/dist/types/session/auth-broker-config.d.ts +0 -13
  808. package/dist/types/session/auth-storage.d.ts +0 -6
  809. package/dist/types/session/blob-store.d.ts +0 -160
  810. package/dist/types/session/client-bridge.d.ts +0 -88
  811. package/dist/types/session/contribution-prep.d.ts +0 -47
  812. package/dist/types/session/file-mention-pruning.d.ts +0 -8
  813. package/dist/types/session/history-storage.d.ts +0 -16
  814. package/dist/types/session/messages.d.ts +0 -169
  815. package/dist/types/session/session-dump-format.d.ts +0 -22
  816. package/dist/types/session/session-manager.d.ts +0 -660
  817. package/dist/types/session/session-storage.d.ts +0 -88
  818. package/dist/types/session/streaming-output.d.ts +0 -209
  819. package/dist/types/session/tool-choice-queue.d.ts +0 -84
  820. package/dist/types/session/yield-queue.d.ts +0 -24
  821. package/dist/types/setup/credential-auto-import.d.ts +0 -63
  822. package/dist/types/setup/credential-import.d.ts +0 -82
  823. package/dist/types/setup/hermes-setup.d.ts +0 -78
  824. package/dist/types/setup/host-plugin-setup.d.ts +0 -39
  825. package/dist/types/setup/model-onboarding-guidance.d.ts +0 -9
  826. package/dist/types/setup/provider-onboarding.d.ts +0 -52
  827. package/dist/types/skc-runtime/cli-write-receipt.d.ts +0 -24
  828. package/dist/types/skc-runtime/deep-interview-ambiguity.d.ts +0 -39
  829. package/dist/types/skc-runtime/deep-interview-recorder.d.ts +0 -114
  830. package/dist/types/skc-runtime/deep-interview-runtime.d.ts +0 -36
  831. package/dist/types/skc-runtime/deep-interview-state.d.ts +0 -127
  832. package/dist/types/skc-runtime/gc-render.d.ts +0 -6
  833. package/dist/types/skc-runtime/gc-runtime.d.ts +0 -134
  834. package/dist/types/skc-runtime/goal-mode-request.d.ts +0 -53
  835. package/dist/types/skc-runtime/launch-tmux.d.ts +0 -78
  836. package/dist/types/skc-runtime/launch-worktree.d.ts +0 -46
  837. package/dist/types/skc-runtime/ledger-event-renderer.d.ts +0 -68
  838. package/dist/types/skc-runtime/psmux-detect.d.ts +0 -78
  839. package/dist/types/skc-runtime/ralplan-runtime.d.ts +0 -26
  840. package/dist/types/skc-runtime/restricted-role-agent-bash.d.ts +0 -3
  841. package/dist/types/skc-runtime/session-layout.d.ts +0 -59
  842. package/dist/types/skc-runtime/session-resolution.d.ts +0 -47
  843. package/dist/types/skc-runtime/session-state-sidecar.d.ts +0 -39
  844. package/dist/types/skc-runtime/state-graph.d.ts +0 -4
  845. package/dist/types/skc-runtime/state-migrations.d.ts +0 -33
  846. package/dist/types/skc-runtime/state-renderer.d.ts +0 -70
  847. package/dist/types/skc-runtime/state-runtime.d.ts +0 -38
  848. package/dist/types/skc-runtime/state-schema.d.ts +0 -319
  849. package/dist/types/skc-runtime/state-validation.d.ts +0 -6
  850. package/dist/types/skc-runtime/state-writer.d.ts +0 -244
  851. package/dist/types/skc-runtime/team-gc.d.ts +0 -7
  852. package/dist/types/skc-runtime/team-runtime.d.ts +0 -355
  853. package/dist/types/skc-runtime/tmux-common.d.ts +0 -105
  854. package/dist/types/skc-runtime/tmux-gc.d.ts +0 -7
  855. package/dist/types/skc-runtime/tmux-sessions.d.ts +0 -62
  856. package/dist/types/skc-runtime/ultragoal-guard.d.ts +0 -93
  857. package/dist/types/skc-runtime/ultragoal-receipt-freshness.d.ts +0 -42
  858. package/dist/types/skc-runtime/ultragoal-runtime.d.ts +0 -410
  859. package/dist/types/skc-runtime/workflow-command-ref.d.ts +0 -43
  860. package/dist/types/skc-runtime/workflow-manifest.d.ts +0 -54
  861. package/dist/types/skill-state/active-state.d.ts +0 -126
  862. package/dist/types/skill-state/canonical-skills.d.ts +0 -3
  863. package/dist/types/skill-state/deep-interview-mutation-guard.d.ts +0 -38
  864. package/dist/types/skill-state/initial-phase.d.ts +0 -12
  865. package/dist/types/skill-state/workflow-hud.d.ts +0 -83
  866. package/dist/types/skill-state/workflow-state-contract.d.ts +0 -57
  867. package/dist/types/skill-state/workflow-state-version.d.ts +0 -3
  868. package/dist/types/slash-commands/acp-builtins.d.ts +0 -18
  869. package/dist/types/slash-commands/builtin-registry.d.ts +0 -24
  870. package/dist/types/slash-commands/helpers/context-report.d.ts +0 -7
  871. package/dist/types/slash-commands/helpers/fast-status-report.d.ts +0 -82
  872. package/dist/types/slash-commands/helpers/format.d.ts +0 -10
  873. package/dist/types/slash-commands/helpers/mcp.d.ts +0 -3
  874. package/dist/types/slash-commands/helpers/parse.d.ts +0 -33
  875. package/dist/types/slash-commands/helpers/ssh.d.ts +0 -3
  876. package/dist/types/slash-commands/helpers/todo.d.ts +0 -3
  877. package/dist/types/slash-commands/helpers/usage-report.d.ts +0 -7
  878. package/dist/types/slash-commands/types.d.ts +0 -120
  879. package/dist/types/ssh/config-writer.d.ts +0 -49
  880. package/dist/types/ssh/connection-manager.d.ts +0 -33
  881. package/dist/types/ssh/ssh-executor.d.ts +0 -37
  882. package/dist/types/ssh/sshfs-mount.d.ts +0 -6
  883. package/dist/types/ssh/utils.d.ts +0 -2
  884. package/dist/types/stt/downloader.d.ts +0 -9
  885. package/dist/types/stt/index.d.ts +0 -3
  886. package/dist/types/stt/recorder.d.ts +0 -13
  887. package/dist/types/stt/setup.d.ts +0 -18
  888. package/dist/types/stt/stt-controller.d.ts +0 -16
  889. package/dist/types/stt/transcriber.d.ts +0 -16
  890. package/dist/types/system-prompt.d.ts +0 -118
  891. package/dist/types/task/agents.d.ts +0 -28
  892. package/dist/types/task/commands.d.ts +0 -35
  893. package/dist/types/task/discovery.d.ts +0 -19
  894. package/dist/types/task/executor.d.ts +0 -124
  895. package/dist/types/task/fork-context-advisory.d.ts +0 -13
  896. package/dist/types/task/fork-context-budget.d.ts +0 -7
  897. package/dist/types/task/id.d.ts +0 -7
  898. package/dist/types/task/index.d.ts +0 -43
  899. package/dist/types/task/name-generator.d.ts +0 -16
  900. package/dist/types/task/output-manager.d.ts +0 -36
  901. package/dist/types/task/parallel.d.ts +0 -34
  902. package/dist/types/task/receipt.d.ts +0 -87
  903. package/dist/types/task/render.d.ts +0 -28
  904. package/dist/types/task/roi-reconciliation.d.ts +0 -27
  905. package/dist/types/task/simple-mode.d.ts +0 -8
  906. package/dist/types/task/skc-command.d.ts +0 -7
  907. package/dist/types/task/spawn-gate.d.ts +0 -29
  908. package/dist/types/task/subprocess-tool-registry.d.ts +0 -72
  909. package/dist/types/task/token-log.d.ts +0 -30
  910. package/dist/types/task/token-log.test.d.ts +0 -1
  911. package/dist/types/task/types.d.ts +0 -508
  912. package/dist/types/task/worktree.d.ts +0 -94
  913. package/dist/types/thinking-metadata.d.ts +0 -16
  914. package/dist/types/thinking.d.ts +0 -22
  915. package/dist/types/tool-discovery/tool-index.d.ts +0 -112
  916. package/dist/types/tools/archive-reader.d.ts +0 -40
  917. package/dist/types/tools/ask-answer-registry.d.ts +0 -13
  918. package/dist/types/tools/ask.d.ts +0 -123
  919. package/dist/types/tools/ast-edit.d.ts +0 -77
  920. package/dist/types/tools/ast-grep.d.ts +0 -69
  921. package/dist/types/tools/auto-generated-guard.d.ts +0 -17
  922. package/dist/types/tools/bash-allowed-prefixes.d.ts +0 -10
  923. package/dist/types/tools/bash-command-fixup.d.ts +0 -11
  924. package/dist/types/tools/bash-interactive.d.ts +0 -16
  925. package/dist/types/tools/bash-interceptor.d.ts +0 -24
  926. package/dist/types/tools/bash-pty-selection.d.ts +0 -7
  927. package/dist/types/tools/bash-skill-urls.d.ts +0 -31
  928. package/dist/types/tools/bash.d.ts +0 -157
  929. package/dist/types/tools/bisect.d.ts +0 -81
  930. package/dist/types/tools/browser/actions.d.ts +0 -54
  931. package/dist/types/tools/browser/attach.d.ts +0 -50
  932. package/dist/types/tools/browser/launch.d.ts +0 -62
  933. package/dist/types/tools/browser/readable.d.ts +0 -17
  934. package/dist/types/tools/browser/registry.d.ts +0 -57
  935. package/dist/types/tools/browser/render.d.ts +0 -53
  936. package/dist/types/tools/browser/tab-protocol.d.ts +0 -144
  937. package/dist/types/tools/browser/tab-supervisor.d.ts +0 -103
  938. package/dist/types/tools/browser/tab-worker-entry.d.ts +0 -1
  939. package/dist/types/tools/browser/tab-worker.d.ts +0 -19
  940. package/dist/types/tools/browser.d.ts +0 -211
  941. package/dist/types/tools/calculator.d.ts +0 -76
  942. package/dist/types/tools/checkpoint.d.ts +0 -63
  943. package/dist/types/tools/composer-bash-policy.d.ts +0 -14
  944. package/dist/types/tools/computer/render.d.ts +0 -17
  945. package/dist/types/tools/computer-gc.d.ts +0 -23
  946. package/dist/types/tools/computer.d.ts +0 -465
  947. package/dist/types/tools/conflict-detect.d.ts +0 -205
  948. package/dist/types/tools/context.d.ts +0 -19
  949. package/dist/types/tools/cron.d.ts +0 -91
  950. package/dist/types/tools/debug.d.ts +0 -209
  951. package/dist/types/tools/eval.d.ts +0 -108
  952. package/dist/types/tools/fetch.d.ts +0 -84
  953. package/dist/types/tools/file-recorder.d.ts +0 -13
  954. package/dist/types/tools/find.d.ts +0 -95
  955. package/dist/types/tools/fs-cache-invalidation.d.ts +0 -15
  956. package/dist/types/tools/gh-format.d.ts +0 -6
  957. package/dist/types/tools/gh-renderer.d.ts +0 -25
  958. package/dist/types/tools/gh.d.ts +0 -356
  959. package/dist/types/tools/github-cache.d.ts +0 -103
  960. package/dist/types/tools/grouped-file-output.d.ts +0 -36
  961. package/dist/types/tools/hindsight-recall.d.ts +0 -21
  962. package/dist/types/tools/hindsight-reflect.d.ts +0 -23
  963. package/dist/types/tools/hindsight-retain.d.ts +0 -27
  964. package/dist/types/tools/image-gen.d.ts +0 -79
  965. package/dist/types/tools/index.d.ts +0 -319
  966. package/dist/types/tools/irc.d.ts +0 -79
  967. package/dist/types/tools/job.d.ts +0 -78
  968. package/dist/types/tools/json-tree.d.ts +0 -23
  969. package/dist/types/tools/jtd-to-json-schema.d.ts +0 -29
  970. package/dist/types/tools/jtd-to-typescript.d.ts +0 -26
  971. package/dist/types/tools/jtd-utils.d.ts +0 -42
  972. package/dist/types/tools/list-limit.d.ts +0 -12
  973. package/dist/types/tools/match-line-format.d.ts +0 -11
  974. package/dist/types/tools/monitor.d.ts +0 -54
  975. package/dist/types/tools/output-meta.d.ts +0 -204
  976. package/dist/types/tools/path-utils.d.ts +0 -147
  977. package/dist/types/tools/plan-mode-guard.d.ts +0 -18
  978. package/dist/types/tools/read.d.ts +0 -85
  979. package/dist/types/tools/recipe/index.d.ts +0 -45
  980. package/dist/types/tools/recipe/render.d.ts +0 -36
  981. package/dist/types/tools/recipe/runner.d.ts +0 -60
  982. package/dist/types/tools/recipe/runners/cargo.d.ts +0 -16
  983. package/dist/types/tools/recipe/runners/index.d.ts +0 -2
  984. package/dist/types/tools/recipe/runners/just.d.ts +0 -2
  985. package/dist/types/tools/recipe/runners/make.d.ts +0 -2
  986. package/dist/types/tools/recipe/runners/pkg.d.ts +0 -2
  987. package/dist/types/tools/recipe/runners/task.d.ts +0 -2
  988. package/dist/types/tools/render-mermaid.d.ts +0 -37
  989. package/dist/types/tools/render-utils.d.ts +0 -158
  990. package/dist/types/tools/renderers.d.ts +0 -26
  991. package/dist/types/tools/resolve.d.ts +0 -80
  992. package/dist/types/tools/resource-gc.d.ts +0 -54
  993. package/dist/types/tools/review.d.ts +0 -63
  994. package/dist/types/tools/search-tool-bm25.d.ts +0 -65
  995. package/dist/types/tools/search.d.ts +0 -93
  996. package/dist/types/tools/skill-discovery.d.ts +0 -40
  997. package/dist/types/tools/skill.d.ts +0 -47
  998. package/dist/types/tools/sqlite-reader.d.ts +0 -94
  999. package/dist/types/tools/ssh.d.ts +0 -67
  1000. package/dist/types/tools/subagent-render.d.ts +0 -31
  1001. package/dist/types/tools/subagent.d.ts +0 -117
  1002. package/dist/types/tools/telegram-send.d.ts +0 -32
  1003. package/dist/types/tools/todo-write.d.ts +0 -120
  1004. package/dist/types/tools/tool-errors.d.ts +0 -33
  1005. package/dist/types/tools/tool-result.d.ts +0 -30
  1006. package/dist/types/tools/tool-timeouts.d.ts +0 -56
  1007. package/dist/types/tools/ultragoal-ask-guard.d.ts +0 -12
  1008. package/dist/types/tools/vim.d.ts +0 -58
  1009. package/dist/types/tools/write.d.ts +0 -59
  1010. package/dist/types/tools/yield.d.ts +0 -25
  1011. package/dist/types/tui/code-cell.d.ts +0 -32
  1012. package/dist/types/tui/file-list.d.ts +0 -22
  1013. package/dist/types/tui/hyperlink.d.ts +0 -42
  1014. package/dist/types/tui/index.d.ts +0 -11
  1015. package/dist/types/tui/output-block.d.ts +0 -28
  1016. package/dist/types/tui/status-line.d.ts +0 -18
  1017. package/dist/types/tui/tree-list.d.ts +0 -19
  1018. package/dist/types/tui/types.d.ts +0 -13
  1019. package/dist/types/tui/utils.d.ts +0 -36
  1020. package/dist/types/utils/changelog.d.ts +0 -37
  1021. package/dist/types/utils/clipboard.d.ts +0 -22
  1022. package/dist/types/utils/cmux-workspace.d.ts +0 -52
  1023. package/dist/types/utils/command-args.d.ts +0 -9
  1024. package/dist/types/utils/commit-message-generator.d.ts +0 -7
  1025. package/dist/types/utils/edit-mode.d.ts +0 -13
  1026. package/dist/types/utils/event-bus.d.ts +0 -6
  1027. package/dist/types/utils/external-editor.d.ts +0 -17
  1028. package/dist/types/utils/file-display-mode.d.ts +0 -27
  1029. package/dist/types/utils/file-mentions.d.ts +0 -25
  1030. package/dist/types/utils/git.d.ts +0 -393
  1031. package/dist/types/utils/image-loading.d.ts +0 -26
  1032. package/dist/types/utils/image-resize.d.ts +0 -39
  1033. package/dist/types/utils/lang-from-path.d.ts +0 -8
  1034. package/dist/types/utils/markit.d.ts +0 -7
  1035. package/dist/types/utils/open.d.ts +0 -2
  1036. package/dist/types/utils/pasted-image-path.d.ts +0 -30
  1037. package/dist/types/utils/session-color.d.ts +0 -10
  1038. package/dist/types/utils/shell-snapshot.d.ts +0 -5
  1039. package/dist/types/utils/sixel.d.ts +0 -21
  1040. package/dist/types/utils/title-generator.d.ts +0 -31
  1041. package/dist/types/utils/tool-choice.d.ts +0 -20
  1042. package/dist/types/utils/tools-manager.d.ts +0 -9
  1043. package/dist/types/vim/buffer.d.ts +0 -41
  1044. package/dist/types/vim/commands.d.ts +0 -6
  1045. package/dist/types/vim/engine.d.ts +0 -47
  1046. package/dist/types/vim/parser.d.ts +0 -3
  1047. package/dist/types/vim/render.d.ts +0 -25
  1048. package/dist/types/vim/types.d.ts +0 -182
  1049. package/dist/types/web/insane/bridge.d.ts +0 -103
  1050. package/dist/types/web/insane/url-guard.d.ts +0 -25
  1051. package/dist/types/web/kagi.d.ts +0 -23
  1052. package/dist/types/web/parallel.d.ts +0 -58
  1053. package/dist/types/web/scrapers/artifacthub.d.ts +0 -6
  1054. package/dist/types/web/scrapers/arxiv.d.ts +0 -5
  1055. package/dist/types/web/scrapers/aur.d.ts +0 -5
  1056. package/dist/types/web/scrapers/biorxiv.d.ts +0 -5
  1057. package/dist/types/web/scrapers/bluesky.d.ts +0 -5
  1058. package/dist/types/web/scrapers/brew.d.ts +0 -5
  1059. package/dist/types/web/scrapers/cheatsh.d.ts +0 -8
  1060. package/dist/types/web/scrapers/chocolatey.d.ts +0 -5
  1061. package/dist/types/web/scrapers/choosealicense.d.ts +0 -2
  1062. package/dist/types/web/scrapers/cisa-kev.d.ts +0 -5
  1063. package/dist/types/web/scrapers/clojars.d.ts +0 -5
  1064. package/dist/types/web/scrapers/coingecko.d.ts +0 -5
  1065. package/dist/types/web/scrapers/crates-io.d.ts +0 -5
  1066. package/dist/types/web/scrapers/crossref.d.ts +0 -2
  1067. package/dist/types/web/scrapers/devto.d.ts +0 -5
  1068. package/dist/types/web/scrapers/discogs.d.ts +0 -8
  1069. package/dist/types/web/scrapers/discourse.d.ts +0 -5
  1070. package/dist/types/web/scrapers/dockerhub.d.ts +0 -5
  1071. package/dist/types/web/scrapers/docs-rs.d.ts +0 -2
  1072. package/dist/types/web/scrapers/fdroid.d.ts +0 -5
  1073. package/dist/types/web/scrapers/firefox-addons.d.ts +0 -2
  1074. package/dist/types/web/scrapers/flathub.d.ts +0 -2
  1075. package/dist/types/web/scrapers/github-gist.d.ts +0 -5
  1076. package/dist/types/web/scrapers/github.d.ts +0 -12
  1077. package/dist/types/web/scrapers/gitlab.d.ts +0 -5
  1078. package/dist/types/web/scrapers/go-pkg.d.ts +0 -5
  1079. package/dist/types/web/scrapers/hackage.d.ts +0 -5
  1080. package/dist/types/web/scrapers/hackernews.d.ts +0 -2
  1081. package/dist/types/web/scrapers/hex.d.ts +0 -5
  1082. package/dist/types/web/scrapers/huggingface.d.ts +0 -2
  1083. package/dist/types/web/scrapers/iacr.d.ts +0 -5
  1084. package/dist/types/web/scrapers/index.d.ts +0 -84
  1085. package/dist/types/web/scrapers/jetbrains-marketplace.d.ts +0 -2
  1086. package/dist/types/web/scrapers/lemmy.d.ts +0 -2
  1087. package/dist/types/web/scrapers/lobsters.d.ts +0 -5
  1088. package/dist/types/web/scrapers/mastodon.d.ts +0 -5
  1089. package/dist/types/web/scrapers/maven.d.ts +0 -6
  1090. package/dist/types/web/scrapers/mdn.d.ts +0 -2
  1091. package/dist/types/web/scrapers/metacpan.d.ts +0 -5
  1092. package/dist/types/web/scrapers/musicbrainz.d.ts +0 -5
  1093. package/dist/types/web/scrapers/npm.d.ts +0 -5
  1094. package/dist/types/web/scrapers/nuget.d.ts +0 -5
  1095. package/dist/types/web/scrapers/nvd.d.ts +0 -5
  1096. package/dist/types/web/scrapers/ollama.d.ts +0 -2
  1097. package/dist/types/web/scrapers/open-vsx.d.ts +0 -5
  1098. package/dist/types/web/scrapers/opencorporates.d.ts +0 -5
  1099. package/dist/types/web/scrapers/openlibrary.d.ts +0 -5
  1100. package/dist/types/web/scrapers/orcid.d.ts +0 -5
  1101. package/dist/types/web/scrapers/osv.d.ts +0 -5
  1102. package/dist/types/web/scrapers/packagist.d.ts +0 -5
  1103. package/dist/types/web/scrapers/pub-dev.d.ts +0 -5
  1104. package/dist/types/web/scrapers/pubmed.d.ts +0 -5
  1105. package/dist/types/web/scrapers/pypi.d.ts +0 -5
  1106. package/dist/types/web/scrapers/rawg.d.ts +0 -2
  1107. package/dist/types/web/scrapers/readthedocs.d.ts +0 -2
  1108. package/dist/types/web/scrapers/reddit.d.ts +0 -5
  1109. package/dist/types/web/scrapers/repology.d.ts +0 -5
  1110. package/dist/types/web/scrapers/rfc.d.ts +0 -5
  1111. package/dist/types/web/scrapers/rubygems.d.ts +0 -5
  1112. package/dist/types/web/scrapers/searchcode.d.ts +0 -2
  1113. package/dist/types/web/scrapers/sec-edgar.d.ts +0 -5
  1114. package/dist/types/web/scrapers/semantic-scholar.d.ts +0 -2
  1115. package/dist/types/web/scrapers/snapcraft.d.ts +0 -2
  1116. package/dist/types/web/scrapers/sourcegraph.d.ts +0 -2
  1117. package/dist/types/web/scrapers/spdx.d.ts +0 -5
  1118. package/dist/types/web/scrapers/spotify.d.ts +0 -8
  1119. package/dist/types/web/scrapers/stackoverflow.d.ts +0 -6
  1120. package/dist/types/web/scrapers/terraform.d.ts +0 -5
  1121. package/dist/types/web/scrapers/tldr.d.ts +0 -7
  1122. package/dist/types/web/scrapers/twitter.d.ts +0 -5
  1123. package/dist/types/web/scrapers/types.d.ts +0 -83
  1124. package/dist/types/web/scrapers/utils.d.ts +0 -32
  1125. package/dist/types/web/scrapers/vimeo.d.ts +0 -5
  1126. package/dist/types/web/scrapers/vscode-marketplace.d.ts +0 -5
  1127. package/dist/types/web/scrapers/w3c.d.ts +0 -2
  1128. package/dist/types/web/scrapers/wikidata.d.ts +0 -5
  1129. package/dist/types/web/scrapers/wikipedia.d.ts +0 -5
  1130. package/dist/types/web/scrapers/youtube.d.ts +0 -13
  1131. package/dist/types/web/search/index.d.ts +0 -118
  1132. package/dist/types/web/search/provider.d.ts +0 -55
  1133. package/dist/types/web/search/providers/anthropic.d.ts +0 -32
  1134. package/dist/types/web/search/providers/base.d.ts +0 -90
  1135. package/dist/types/web/search/providers/brave.d.ts +0 -27
  1136. package/dist/types/web/search/providers/codex.d.ts +0 -35
  1137. package/dist/types/web/search/providers/duckduckgo.d.ts +0 -57
  1138. package/dist/types/web/search/providers/exa.d.ts +0 -52
  1139. package/dist/types/web/search/providers/gemini.d.ts +0 -57
  1140. package/dist/types/web/search/providers/insane.d.ts +0 -53
  1141. package/dist/types/web/search/providers/jina.d.ts +0 -26
  1142. package/dist/types/web/search/providers/kagi.d.ts +0 -24
  1143. package/dist/types/web/search/providers/kimi.d.ts +0 -27
  1144. package/dist/types/web/search/providers/openai-compatible.d.ts +0 -9
  1145. package/dist/types/web/search/providers/parallel.d.ts +0 -15
  1146. package/dist/types/web/search/providers/perplexity.d.ts +0 -38
  1147. package/dist/types/web/search/providers/searxng.d.ts +0 -44
  1148. package/dist/types/web/search/providers/synthetic.d.ts +0 -21
  1149. package/dist/types/web/search/providers/tavily.d.ts +0 -29
  1150. package/dist/types/web/search/providers/text-citations.d.ts +0 -23
  1151. package/dist/types/web/search/providers/utils.d.ts +0 -88
  1152. package/dist/types/web/search/providers/xai.d.ts +0 -64
  1153. package/dist/types/web/search/providers/zai.d.ts +0 -28
  1154. package/dist/types/web/search/render.d.ts +0 -36
  1155. package/dist/types/web/search/types.d.ts +0 -372
  1156. package/dist/types/web/search/utils.d.ts +0 -4
  1157. package/dist/types/workflow/workflow-intent-diff.d.ts +0 -25
  1158. package/dist/types/workflow/workflow-intent-report-consumer.d.ts +0 -50
  1159. package/dist/types/workflow/workflow-intent-report-schema.d.ts +0 -2
  1160. package/dist/types/workflow/workflow-intent-report.d.ts +0 -48
  1161. package/dist/types/workspace-tree.d.ts +0 -42
@@ -1,14 +1,84 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as fsp from "node:fs/promises";
3
3
  import * as path from "node:path";
4
- import { isEnoent, peekFile, toError } from "@sayknow-cli/utils";
4
+ import { isEnoent, pathIsWithin, peekFile, toError } from "@sayknow-cli/utils";
5
5
 
6
6
  const utf8Decoder = new TextDecoder("utf-8");
7
7
 
8
8
  export interface SessionStorageStat {
9
+ dev: bigint;
10
+ ino: bigint;
11
+
9
12
  size: number;
10
13
  mtimeMs: number;
14
+ mtimeNs: bigint;
11
15
  mtime: Date;
16
+ isFile: boolean;
17
+ }
18
+
19
+ /** Exact bytes and identity captured from one opened regular-file descriptor. */
20
+ export interface SessionStorageSnapshot {
21
+ bytes: Uint8Array;
22
+ stat: SessionStorageStat;
23
+ }
24
+
25
+ function statFromNode(stats: fs.BigIntStats): SessionStorageStat {
26
+ return {
27
+ dev: stats.dev,
28
+ ino: stats.ino,
29
+
30
+ size: Number(stats.size),
31
+ mtimeMs: Number(stats.mtimeMs),
32
+ mtimeNs: stats.mtimeNs,
33
+ mtime: stats.mtime,
34
+ isFile: stats.isFile(),
35
+ };
36
+ }
37
+
38
+ // =============================================================================
39
+ // Certainty-aware writer close contract (ACP fail-closed deletion foundation)
40
+ // =============================================================================
41
+ /**
42
+ * Four-state writer close lifecycle. Only a successful underlying close confirms
43
+ * `closed`. A failure certified to have happened BEFORE the OS close was dispatched
44
+ * is `close_failed_retryable` (ownership of the numeric fd is still proven, so a
45
+ * later retry/finalizer close is safe). Any exception from an actually dispatched
46
+ * close call is terminal `close_unknown`: the numeric fd cannot be safely retried
47
+ * or finalizer-closed, and the writer blocks strict deletion.
48
+ */
49
+ export type SessionStorageWriterCloseState = "open" | "close_failed_retryable" | "close_unknown" | "closed";
50
+
51
+ /**
52
+ * Thrown by a {@link SessionStorageWriterCloseAdapter} to certify that a close
53
+ * failure occurred BEFORE the real OS close (`fs.closeSync`-equivalent) was ever
54
+ * dispatched. Because no OS close ran, the numeric fd is still owned and a retry
55
+ * is safe. Any other thrown value is treated as a dispatched close failure
56
+ * (`close_unknown`) and forbids retry/finalizer close of that fd.
57
+ */
58
+ export class SessionStorageWriterRetryableCloseError extends Error {
59
+ override readonly name = "SessionStorageWriterRetryableCloseError";
60
+ constructor(message?: string, options?: ErrorOptions) {
61
+ super(message ?? "Certified pre-dispatch writer close failure", options);
62
+ }
63
+ }
64
+
65
+ /**
66
+ * Injectable dispatcher for the numeric-fd OS close. The default implementation
67
+ * calls `fs.closeSync(fd)`. Tests inject adapters that throw
68
+ * {@link SessionStorageWriterRetryableCloseError} to certify a pre-dispatch
69
+ * failure, or that call the real close and throw to simulate a dispatched
70
+ * failure (`close_unknown`).
71
+ */
72
+ export interface SessionStorageWriterCloseAdapter {
73
+ close(fd: number): void;
74
+ }
75
+
76
+ /** Options for opening a {@link SessionStorageWriter}. */
77
+ export interface SessionStorageWriterOpenOptions {
78
+ flags?: "a" | "w";
79
+ onError?: (err: Error) => void;
80
+ /** Injectable OS-close dispatcher; defaults to `fs.closeSync`. */
81
+ closeAdapter?: SessionStorageWriterCloseAdapter;
12
82
  }
13
83
 
14
84
  export interface SessionStorageWriter {
@@ -24,7 +94,18 @@ export interface SessionStorageWriter {
24
94
  flush(): Promise<void>;
25
95
  fsync(): Promise<void>;
26
96
  close(): Promise<void>;
97
+ /**
98
+ * Synchronously close the underlying descriptor. The certainty-aware close
99
+ * state is updated synchronously and any close failure throws before this
100
+ * returns, so sync callers (atomic rewrite) can observe a close failure
101
+ * before proceeding to rename. Mirrors {@link close} semantics exactly.
102
+ */
103
+ closeSync(): void;
27
104
  getError(): Error | undefined;
105
+ /** Current certainty-aware close lifecycle state. */
106
+ getCloseState(): SessionStorageWriterCloseState;
107
+ /** Stored error for non-success close states (`close_failed_retryable`/`close_unknown`). */
108
+ getCloseError(): Error | undefined;
28
109
  }
29
110
 
30
111
  export interface SessionStorage {
@@ -32,8 +113,17 @@ export interface SessionStorage {
32
113
  existsSync(path: string): boolean;
33
114
  writeTextSync(path: string, content: string): void;
34
115
  readTextSync(path: string): string;
116
+ /** Exact on-disk bytes for strict read-only session inspection. */
117
+ readBytesSync?(path: string): Uint8Array;
118
+ /** Exact bytes and descriptor-bound identity captured from one opened regular file. */
119
+ readSnapshotSync?(path: string): SessionStorageSnapshot;
35
120
  statSync(path: string): SessionStorageStat;
36
121
  listFilesSync(dir: string, pattern: string): string[];
122
+ /**
123
+ * Strict directory scan that never suppresses scan/root errors. Used by strict
124
+ * authorization inventory; the forgiving {@link listFilesSync} stays display-only.
125
+ */
126
+ listFilesStrictSync?(dir: string, pattern: string): string[];
37
127
 
38
128
  exists(path: string): Promise<boolean>;
39
129
  readText(path: string): Promise<string>;
@@ -44,9 +134,108 @@ export interface SessionStorage {
44
134
  unlink(path: string): Promise<void>;
45
135
  unlinkSync(path: string): void;
46
136
  deleteSessionWithArtifacts(sessionPath: string): Promise<void>;
47
- openWriter(path: string, options?: { flags?: "a" | "w"; onError?: (err: Error) => void }): SessionStorageWriter;
137
+ /**
138
+ * Verified hard delete bound to exact identity evidence. Removes the verified
139
+ * artifact directory first, revalidates, and unlinks the transcript last. Returns
140
+ * typed partial-cleanup evidence for exact-identity retry; never returns success
141
+ * for a partial deletion.
142
+ */
143
+ deleteSessionVerified?(target: VerifiedSessionDeleteTarget): Promise<VerifiedSessionDeleteResult>;
144
+ openWriter(path: string, options?: SessionStorageWriterOpenOptions): SessionStorageWriter;
48
145
  }
49
146
 
147
+ // =============================================================================
148
+ // Verified hard-delete identity + typed partial-cleanup evidence
149
+ // =============================================================================
150
+
151
+ /** Exact (dev, ino) identity fields used for ACP authorization binding. */
152
+ export interface SessionStorageFileIdentity {
153
+ dev: bigint;
154
+ ino: bigint;
155
+ }
156
+
157
+ /** Kind of verification failure surfaced by {@link deleteSessionVerified}. */
158
+ export type VerifiedDeleteFailureKind =
159
+ | "containment"
160
+ | "symlink"
161
+ | "stat"
162
+ | "identity"
163
+ | "header"
164
+ | "cwd"
165
+ | "artifacts";
166
+
167
+ /**
168
+ * Thrown by {@link deleteSessionVerified} when canonical containment, transcript
169
+ * non-symlink/identity, header id/cwd, parent identity, or artifact identity
170
+ * verification fails. These are visible, sanitized failures: they never mutate
171
+ * the transcript or artifacts and grant zero authority.
172
+ */
173
+ export class SessionDeleteVerificationError extends Error {
174
+ readonly kind: VerifiedDeleteFailureKind;
175
+ constructor(kind: VerifiedDeleteFailureKind, message: string, options?: ErrorOptions) {
176
+ super(message, options);
177
+ this.name = "SessionDeleteVerificationError";
178
+ this.kind = kind;
179
+ }
180
+ }
181
+
182
+ /**
183
+ * Exact identity evidence a verified hard delete binds to. All fields are captured
184
+ * at authorization time; delete revalidates each one before any mutation. Retry
185
+ * after a partial cleanup supplies the recorded artifact identity via
186
+ * {@link expectedArtifactsIdentity}.
187
+ */
188
+ export interface VerifiedSessionDeleteTarget {
189
+ /** Canonical sessions root; the transcript must be contained within it. */
190
+ sessionsRoot: string;
191
+ /** Canonical transcript path (absolute `*.jsonl`). */
192
+ transcriptPath: string;
193
+ /** Expected session id parsed from the header. */
194
+ sessionId: string;
195
+ /** Expected canonical cwd parsed from the header. */
196
+ cwd: string;
197
+ /** Expected transcript file `(dev, ino)` captured at authorization. */
198
+ transcriptIdentity: SessionStorageFileIdentity;
199
+ /**
200
+ * For retry after an `artifacts` `cleanup_pending`: the recorded artifact
201
+ * directory identity to re-accept. A replacement/different artifact directory
202
+ * fails closed. Omit on first attempt or to accept recorded absence.
203
+ */
204
+ expectedArtifactsIdentity?: SessionStorageFileIdentity;
205
+ }
206
+
207
+ /**
208
+ * Outcome of a verified hard delete. Artifact removal happens first; only after
209
+ * revalidation is the transcript unlinked last. A partial deletion returns
210
+ * `cleanup_pending` with exact evidence for same-connection retry — never
211
+ * `deleted` and never `{}`.
212
+ */
213
+ export type VerifiedSessionDeleteResult =
214
+ | { kind: "deleted" }
215
+ | {
216
+ kind: "cleanup_pending";
217
+ phase: "artifacts";
218
+ error: Error;
219
+ /** Artifact directory identity at failure time; undefined when absent. */
220
+ artifactsIdentity: SessionStorageFileIdentity | undefined;
221
+ /** Transcript identity (unchanged) for retry binding. */
222
+ transcriptIdentity: SessionStorageFileIdentity;
223
+ }
224
+ | {
225
+ kind: "cleanup_pending";
226
+ phase: "transcript";
227
+ error: Error;
228
+ /** Transcript identity at failure time for retry binding. */
229
+ transcriptIdentity: SessionStorageFileIdentity;
230
+ };
231
+
232
+ /** Default OS-close dispatcher: a direct `fs.closeSync`. */
233
+ const defaultCloseAdapter: SessionStorageWriterCloseAdapter = {
234
+ close(fd: number): void {
235
+ fs.closeSync(fd);
236
+ },
237
+ };
238
+
50
239
  // FinalizationRegistry to clean up leaked file descriptors
51
240
  const writerRegistry = new FinalizationRegistry<number>(fd => {
52
241
  try {
@@ -58,12 +247,15 @@ const writerRegistry = new FinalizationRegistry<number>(fd => {
58
247
 
59
248
  class FileSessionStorageWriter implements SessionStorageWriter {
60
249
  #fd: number;
61
- #closed = false;
250
+ #closeState: SessionStorageWriterCloseState = "open";
251
+ #closeError: Error | undefined;
62
252
  #error: Error | undefined;
63
253
  #onError: ((err: Error) => void) | undefined;
254
+ #closeAdapter: SessionStorageWriterCloseAdapter;
64
255
 
65
- constructor(fpath: string, options?: { flags?: "a" | "w"; onError?: (err: Error) => void }) {
256
+ constructor(fpath: string, options?: SessionStorageWriterOpenOptions) {
66
257
  this.#onError = options?.onError;
258
+ this.#closeAdapter = options?.closeAdapter ?? defaultCloseAdapter;
67
259
  const flags = options?.flags ?? "a";
68
260
  // Ensure parent directory exists
69
261
  const dir = path.dirname(fpath);
@@ -83,8 +275,22 @@ class FileSessionStorageWriter implements SessionStorageWriter {
83
275
  return error;
84
276
  }
85
277
 
278
+ /** Deterministic error for any non-open state: writes/flush reject without append/reopen. */
279
+ #nonOpenWriteError(): Error {
280
+ switch (this.#closeState) {
281
+ case "closed":
282
+ return new Error("Writer closed");
283
+ case "close_unknown":
284
+ return this.#closeError ?? new Error("Writer close outcome is unknown; descriptor quarantined");
285
+ case "close_failed_retryable":
286
+ return this.#closeError ?? new Error("Writer close failed before dispatch (retryable); writes rejected");
287
+ default:
288
+ return new Error("Writer closed");
289
+ }
290
+ }
291
+
86
292
  writeLineSync(line: string): void {
87
- if (this.#closed) throw new Error("Writer closed");
293
+ if (this.#closeState !== "open") throw this.#nonOpenWriteError();
88
294
  if (this.#error) throw this.#error;
89
295
  try {
90
296
  const buf = Buffer.from(line, "utf-8");
@@ -106,12 +312,13 @@ class FileSessionStorageWriter implements SessionStorageWriter {
106
312
  }
107
313
 
108
314
  async flush(): Promise<void> {
315
+ if (this.#closeState !== "open") throw this.#nonOpenWriteError();
109
316
  if (this.#error) throw this.#error;
110
317
  // OS buffers are flushed on fsync, nothing to do here
111
318
  }
112
319
 
113
320
  async fsync(): Promise<void> {
114
- if (this.#closed) throw new Error("Writer closed");
321
+ if (this.#closeState !== "open") throw this.#nonOpenWriteError();
115
322
  if (this.#error) throw this.#error;
116
323
  try {
117
324
  fs.fsyncSync(this.#fd);
@@ -120,21 +327,55 @@ class FileSessionStorageWriter implements SessionStorageWriter {
120
327
  }
121
328
  }
122
329
 
123
- async close(): Promise<void> {
124
- if (this.#closed) return;
125
- this.#closed = true;
126
- // Unregister from finalization - we're closing properly
127
- writerRegistry.unregister(this);
330
+ closeSync(): void {
331
+ // Repeated close after success is a harmless idempotent no-op.
332
+ if (this.#closeState === "closed") return;
333
+ // Dispatched close already threw: outcome is uncertain. Never dispatch OS close
334
+ // for this numeric fd again; surface the stored non-quiescent error.
335
+ if (this.#closeState === "close_unknown") throw this.#closeError!;
336
+ // State is "open" or "close_failed_retryable": a close may be dispatched.
128
337
  try {
129
- fs.closeSync(this.#fd);
130
- } catch {
131
- // Ignore close errors
338
+ this.#closeAdapter.close(this.#fd);
339
+ } catch (err) {
340
+ if (err instanceof SessionStorageWriterRetryableCloseError) {
341
+ // Certified pre-dispatch failure: no OS close ran, ownership remains proven.
342
+ // Keep the FinalizationRegistry registration so an abandoned retryable writer
343
+ // can still be finalizer-closed.
344
+ this.#closeState = "close_failed_retryable";
345
+ this.#closeError = toError(err);
346
+ throw this.#closeError;
347
+ }
348
+ // An actual close was dispatched then threw (or the adapter threw after
349
+ // dispatching): ownership/outcome of the numeric fd is uncertain. Quarantine
350
+ // the fd and suppress finalizer close so a reused fd is never closed twice.
351
+ this.#closeState = "close_unknown";
352
+ this.#closeError = toError(err);
353
+ writerRegistry.unregister(this);
354
+ throw this.#closeError;
132
355
  }
356
+ // Successful underlying close confirms closed.
357
+ this.#closeState = "closed";
358
+ this.#closeError = undefined;
359
+ writerRegistry.unregister(this);
360
+ }
361
+
362
+ async close(): Promise<void> {
363
+ // The synchronous dispatch above has no internal await; delegating keeps the
364
+ // async and sync close contracts observationally identical.
365
+ this.closeSync();
133
366
  }
134
367
 
135
368
  getError(): Error | undefined {
136
369
  return this.#error;
137
370
  }
371
+
372
+ getCloseState(): SessionStorageWriterCloseState {
373
+ return this.#closeState;
374
+ }
375
+
376
+ getCloseError(): Error | undefined {
377
+ return this.#closeError;
378
+ }
138
379
  }
139
380
 
140
381
  export class FileSessionStorage implements SessionStorage {
@@ -157,9 +398,25 @@ export class FileSessionStorage implements SessionStorage {
157
398
  return fs.readFileSync(fpath, "utf-8");
158
399
  }
159
400
 
401
+ readBytesSync(fpath: string): Uint8Array {
402
+ return this.readSnapshotSync(fpath).bytes;
403
+ }
404
+
405
+ readSnapshotSync(fpath: string): SessionStorageSnapshot {
406
+ const flags = fs.constants.O_RDONLY | fs.constants.O_NONBLOCK | (fs.constants.O_NOFOLLOW ?? 0);
407
+ const fd = fs.openSync(fpath, flags);
408
+ try {
409
+ const stat = statFromNode(fs.fstatSync(fd, { bigint: true }));
410
+
411
+ if (!stat.isFile) throw new Error(`Not a regular file: ${fpath}`);
412
+ return { bytes: fs.readFileSync(fd), stat };
413
+ } finally {
414
+ fs.closeSync(fd);
415
+ }
416
+ }
417
+
160
418
  statSync(path: string): SessionStorageStat {
161
- const stats = fs.statSync(path);
162
- return { size: stats.size, mtimeMs: stats.mtimeMs, mtime: stats.mtime };
419
+ return statFromNode(fs.statSync(path, { bigint: true }));
163
420
  }
164
421
 
165
422
  listFilesSync(dir: string, pattern: string): string[] {
@@ -170,6 +427,12 @@ export class FileSessionStorage implements SessionStorage {
170
427
  }
171
428
  }
172
429
 
430
+ listFilesStrictSync(dir: string, pattern: string): string[] {
431
+ // Strict: never suppress scan/root errors. Authorization inventory depends on
432
+ // a complete enumeration; a swallowed error here would grant partial authority.
433
+ return Array.from(new Bun.Glob(pattern).scanSync(dir)).map(name => path.join(dir, name));
434
+ }
435
+
173
436
  async exists(path: string): Promise<boolean> {
174
437
  try {
175
438
  await fs.promises.access(path);
@@ -216,7 +479,7 @@ export class FileSessionStorage implements SessionStorage {
216
479
  fs.unlinkSync(path);
217
480
  }
218
481
 
219
- openWriter(path: string, options?: { flags?: "a" | "w"; onError?: (err: Error) => void }): SessionStorageWriter {
482
+ openWriter(path: string, options?: SessionStorageWriterOpenOptions): SessionStorageWriter {
220
483
  return new FileSessionStorageWriter(path, options);
221
484
  }
222
485
 
@@ -245,6 +508,169 @@ export class FileSessionStorage implements SessionStorage {
245
508
  );
246
509
  }
247
510
  }
511
+ /**
512
+ * Verified hard delete bound to exact identity evidence. Artifact directory first,
513
+ * revalidate, transcript last. Partial deletion returns typed cleanup_pending
514
+ * evidence; identity/symlink/containment/header/cwd mismatch throws.
515
+ */
516
+ async deleteSessionVerified(target: VerifiedSessionDeleteTarget): Promise<VerifiedSessionDeleteResult> {
517
+ const { sessionsRoot, transcriptPath, sessionId, cwd, transcriptIdentity, expectedArtifactsIdentity } = target;
518
+ if (!transcriptPath.endsWith(".jsonl")) {
519
+ throw new SessionDeleteVerificationError("containment", "Transcript path is not a .jsonl file");
520
+ }
521
+ if (!pathIsWithin(sessionsRoot, transcriptPath)) {
522
+ throw new SessionDeleteVerificationError("containment", "Transcript is outside the sessions root");
523
+ }
524
+ const initial = this.#verifiedReadAndHeader(transcriptPath, sessionId, cwd);
525
+ const initialStat = initial.snapshot.stat;
526
+ if (initialStat.dev !== transcriptIdentity.dev || initialStat.ino !== transcriptIdentity.ino) {
527
+ throw new SessionDeleteVerificationError("identity", "Transcript identity does not match authorization");
528
+ }
529
+ const parentIdentity = this.#directoryIdentity(path.dirname(transcriptPath));
530
+
531
+ const artifactsDir = transcriptPath.slice(0, -6);
532
+ const artifactsIdentity = this.#optionalDirectoryIdentity(artifactsDir);
533
+ if (artifactsIdentity) {
534
+ if (
535
+ expectedArtifactsIdentity &&
536
+ (artifactsIdentity.dev !== expectedArtifactsIdentity.dev ||
537
+ artifactsIdentity.ino !== expectedArtifactsIdentity.ino)
538
+ ) {
539
+ throw new SessionDeleteVerificationError(
540
+ "artifacts",
541
+ "Artifact directory identity does not match recorded cleanup evidence",
542
+ );
543
+ }
544
+ try {
545
+ await fsp.rm(artifactsDir, { recursive: true, force: true });
546
+ } catch (err) {
547
+ return {
548
+ kind: "cleanup_pending",
549
+ phase: "artifacts",
550
+ error: toError(err),
551
+ artifactsIdentity,
552
+ transcriptIdentity: { dev: initialStat.dev, ino: initialStat.ino },
553
+ };
554
+ }
555
+ }
556
+
557
+ const revalidate = this.#verifiedReadAndHeader(transcriptPath, sessionId, cwd);
558
+ const revalidateStat = revalidate.snapshot.stat;
559
+ if (revalidateStat.dev !== initialStat.dev || revalidateStat.ino !== initialStat.ino) {
560
+ throw new SessionDeleteVerificationError(
561
+ "identity",
562
+ "Transcript identity changed after artifact removal (replacement detected)",
563
+ );
564
+ }
565
+ const parentIdentityNow = this.#directoryIdentity(path.dirname(transcriptPath));
566
+ if (parentIdentityNow.dev !== parentIdentity.dev || parentIdentityNow.ino !== parentIdentity.ino) {
567
+ throw new SessionDeleteVerificationError("identity", "Parent directory identity changed during deletion");
568
+ }
569
+
570
+ try {
571
+ await this.unlink(transcriptPath);
572
+ } catch (err) {
573
+ if (isEnoent(err)) return { kind: "deleted" };
574
+ return {
575
+ kind: "cleanup_pending",
576
+ phase: "transcript",
577
+ error: toError(err),
578
+ transcriptIdentity: { dev: revalidateStat.dev, ino: revalidateStat.ino },
579
+ };
580
+ }
581
+ return { kind: "deleted" };
582
+ }
583
+
584
+ #verifiedReadAndHeader(
585
+ transcriptPath: string,
586
+ expectedSessionId: string,
587
+ expectedCwd: string,
588
+ ): { snapshot: SessionStorageSnapshot } {
589
+ let snapshot: SessionStorageSnapshot;
590
+ try {
591
+ snapshot = this.readSnapshotSync(transcriptPath);
592
+ } catch (err) {
593
+ const code = (err as NodeJS.ErrnoException)?.code;
594
+ if (code === "ELOOP" || code === "SYMLINK") {
595
+ throw new SessionDeleteVerificationError("symlink", "Transcript path is a symlink");
596
+ }
597
+ throw new SessionDeleteVerificationError("stat", "Transcript could not be opened or read", {
598
+ cause: toError(err),
599
+ });
600
+ }
601
+ if (!snapshot.stat.isFile) {
602
+ throw new SessionDeleteVerificationError("symlink", "Transcript is not a regular file");
603
+ }
604
+ const header = parseFirstJsonlLine(snapshot.bytes);
605
+ if (!header) {
606
+ throw new SessionDeleteVerificationError("header", "Transcript header is missing or unreadable");
607
+ }
608
+ if (header.type !== "session" || typeof header.id !== "string") {
609
+ throw new SessionDeleteVerificationError("header", "Transcript header is not a valid session header");
610
+ }
611
+ if (header.id !== expectedSessionId) {
612
+ throw new SessionDeleteVerificationError("identity", "Transcript header id does not match authorization");
613
+ }
614
+ if (typeof header.cwd !== "string") {
615
+ throw new SessionDeleteVerificationError("cwd", "Transcript header is missing a cwd");
616
+ }
617
+ if (path.resolve(header.cwd) !== path.resolve(expectedCwd)) {
618
+ throw new SessionDeleteVerificationError("cwd", "Transcript header cwd does not match authorization");
619
+ }
620
+ return { snapshot };
621
+ }
622
+
623
+ #directoryIdentity(dirPath: string): SessionStorageFileIdentity {
624
+ let stat: fs.BigIntStats;
625
+ try {
626
+ stat = fs.lstatSync(dirPath, { bigint: true });
627
+ } catch (err) {
628
+ throw new SessionDeleteVerificationError("stat", "Directory could not be inspected", { cause: toError(err) });
629
+ }
630
+ if (stat.isSymbolicLink() || !stat.isDirectory()) {
631
+ throw new SessionDeleteVerificationError("symlink", "Directory is a symlink or not a directory");
632
+ }
633
+ return { dev: stat.dev, ino: stat.ino };
634
+ }
635
+
636
+ #optionalDirectoryIdentity(dirPath: string): SessionStorageFileIdentity | undefined {
637
+ let stat: fs.BigIntStats;
638
+ try {
639
+ stat = fs.lstatSync(dirPath, { bigint: true });
640
+ } catch (err) {
641
+ if (isEnoent(err)) return undefined;
642
+ throw new SessionDeleteVerificationError("artifacts", "Artifact directory could not be inspected", {
643
+ cause: toError(err),
644
+ });
645
+ }
646
+ if (stat.isSymbolicLink()) {
647
+ throw new SessionDeleteVerificationError("symlink", "Artifact directory is a symlink");
648
+ }
649
+ if (!stat.isDirectory()) {
650
+ // A non-directory artifact sibling (regular file, socket, device, ...) must
651
+ // not be silently treated as an absent artifacts directory: doing so would
652
+ // let the verified delete report success while a foreign artifact remains.
653
+ // Fail closed before any mutation.
654
+ throw new SessionDeleteVerificationError("artifacts", "Artifact path exists but is not a directory");
655
+ }
656
+ return { dev: stat.dev, ino: stat.ino };
657
+ }
658
+ }
659
+
660
+ /** Parse the first JSONL line as a generic record; returns undefined on parse failure. */
661
+ function parseFirstJsonlLine(bytes: Uint8Array): Record<string, unknown> | undefined {
662
+ const NL = 0x0a;
663
+ const end = bytes.indexOf(NL);
664
+ const firstLine = end === -1 ? bytes : bytes.subarray(0, end);
665
+ if (firstLine.length === 0) return undefined;
666
+ try {
667
+ const text = utf8Decoder.decode(firstLine).trim();
668
+ if (!text) return undefined;
669
+ const value: unknown = JSON.parse(text);
670
+ return typeof value === "object" && value !== null ? (value as Record<string, unknown>) : undefined;
671
+ } catch {
672
+ return undefined;
673
+ }
248
674
  }
249
675
 
250
676
  function matchesPattern(name: string, pattern: string): boolean {
@@ -258,18 +684,18 @@ function matchesPattern(name: string, pattern: string): boolean {
258
684
  class MemorySessionStorageWriter implements SessionStorageWriter {
259
685
  #storage: MemorySessionStorage;
260
686
  #path: string;
261
- #closed = false;
687
+ #closeState: SessionStorageWriterCloseState = "open";
688
+ #closeError: Error | undefined;
262
689
  #error: Error | undefined;
263
690
  #onError: ((err: Error) => void) | undefined;
264
691
 
265
- constructor(
266
- storage: MemorySessionStorage,
267
- path: string,
268
- options?: { flags?: "a" | "w"; onError?: (err: Error) => void },
269
- ) {
692
+ #closeAdapter: SessionStorageWriterCloseAdapter | undefined;
693
+
694
+ constructor(storage: MemorySessionStorage, path: string, options?: SessionStorageWriterOpenOptions) {
270
695
  this.#storage = storage;
271
696
  this.#path = path;
272
697
  this.#onError = options?.onError;
698
+ this.#closeAdapter = options?.closeAdapter;
273
699
  if ((options?.flags ?? "a") === "w") {
274
700
  this.#storage.writeTextSync(path, "");
275
701
  }
@@ -283,7 +709,7 @@ class MemorySessionStorageWriter implements SessionStorageWriter {
283
709
  }
284
710
 
285
711
  writeLineSync(line: string): void {
286
- if (this.#closed) throw new Error("Writer closed");
712
+ if (this.#closeState !== "open") throw new Error("Writer closed");
287
713
  if (this.#error) throw this.#error;
288
714
  try {
289
715
  const existing = this.#storage.existsSync(this.#path) ? this.#storage.readTextSync(this.#path) : "";
@@ -298,26 +724,73 @@ class MemorySessionStorageWriter implements SessionStorageWriter {
298
724
  }
299
725
 
300
726
  async flush(): Promise<void> {
727
+ if (this.#closeState !== "open") throw new Error("Writer closed");
301
728
  if (this.#error) throw this.#error;
302
729
  }
303
730
 
304
731
  async fsync(): Promise<void> {
305
732
  // No-op for in-memory storage
733
+ if (this.#closeState !== "open") throw new Error("Writer closed");
306
734
  if (this.#error) throw this.#error;
307
735
  }
308
736
 
737
+ closeSync(): void {
738
+ // In-memory close has no numeric fd. When a close adapter is injected it
739
+ // controls the certainty-aware lifecycle (used to exercise retryable /
740
+ // quarantined close paths end-to-end); without one the close always
741
+ // succeeds. The sentinel fd (-1) signals "no real descriptor".
742
+ if (this.#closeState === "closed") return;
743
+ if (this.#closeState === "close_unknown") throw this.#closeError!;
744
+ if (this.#closeAdapter) {
745
+ try {
746
+ this.#closeAdapter.close(-1);
747
+ } catch (err) {
748
+ if (err instanceof SessionStorageWriterRetryableCloseError) {
749
+ this.#closeState = "close_failed_retryable";
750
+ this.#closeError = toError(err);
751
+ throw this.#closeError;
752
+ }
753
+ this.#closeState = "close_unknown";
754
+ this.#closeError = toError(err);
755
+ throw this.#closeError;
756
+ }
757
+ }
758
+ this.#closeState = "closed";
759
+ this.#closeError = undefined;
760
+ }
761
+
309
762
  async close(): Promise<void> {
310
- if (this.#closed) return;
311
- this.#closed = true;
763
+ this.closeSync();
312
764
  }
313
765
 
314
766
  getError(): Error | undefined {
315
767
  return this.#error;
316
768
  }
769
+
770
+ getCloseState(): SessionStorageWriterCloseState {
771
+ return this.#closeState;
772
+ }
773
+
774
+ getCloseError(): Error | undefined {
775
+ return this.#closeError;
776
+ }
317
777
  }
318
778
 
319
779
  export class MemorySessionStorage implements SessionStorage {
320
- #files = new Map<string, { content: string; mtimeMs: number }>();
780
+ #files = new Map<string, { content: Buffer; mtimeMs: number; ino: bigint }>();
781
+ #nextInode = 1n;
782
+
783
+ #statFor(entry: { content: Buffer; mtimeMs: number; ino: bigint }): SessionStorageStat {
784
+ return {
785
+ dev: 0n,
786
+ ino: entry.ino,
787
+ size: entry.content.byteLength,
788
+ mtimeMs: entry.mtimeMs,
789
+ mtimeNs: BigInt(entry.mtimeMs) * 1_000_000n,
790
+ mtime: new Date(entry.mtimeMs),
791
+ isFile: true,
792
+ };
793
+ }
321
794
 
322
795
  ensureDirSync(_dir: string): void {
323
796
  // No-op for in-memory storage.
@@ -328,23 +801,34 @@ export class MemorySessionStorage implements SessionStorage {
328
801
  }
329
802
 
330
803
  writeTextSync(path: string, content: string): void {
331
- this.#files.set(path, { content, mtimeMs: Date.now() });
804
+ const existing = this.#files.get(path);
805
+ this.#files.set(path, {
806
+ content: Buffer.from(content, "utf-8"),
807
+ mtimeMs: Date.now(),
808
+ ino: existing?.ino ?? this.#nextInode++,
809
+ });
332
810
  }
333
811
 
334
812
  readTextSync(path: string): string {
335
813
  const entry = this.#files.get(path);
336
814
  if (!entry) throw new Error(`File not found: ${path}`);
337
- return entry.content;
815
+ return entry.content.toString("utf-8");
816
+ }
817
+
818
+ readBytesSync(path: string): Uint8Array {
819
+ return this.readSnapshotSync(path).bytes;
820
+ }
821
+
822
+ readSnapshotSync(path: string): SessionStorageSnapshot {
823
+ const entry = this.#files.get(path);
824
+ if (!entry) throw new Error(`File not found: ${path}`);
825
+ return { bytes: Buffer.from(entry.content), stat: this.#statFor(entry) };
338
826
  }
339
827
 
340
828
  statSync(path: string): SessionStorageStat {
341
829
  const entry = this.#files.get(path);
342
830
  if (!entry) throw new Error(`File not found: ${path}`);
343
- return {
344
- size: entry.content.length,
345
- mtimeMs: entry.mtimeMs,
346
- mtime: new Date(entry.mtimeMs),
347
- };
831
+ return this.#statFor(entry);
348
832
  }
349
833
 
350
834
  listFilesSync(dir: string, pattern: string): string[] {
@@ -359,6 +843,10 @@ export class MemorySessionStorage implements SessionStorage {
359
843
  }
360
844
  return files;
361
845
  }
846
+ listFilesStrictSync(dir: string, pattern: string): string[] {
847
+ // In-memory scan never suppresses; identical to the display scan.
848
+ return this.listFilesSync(dir, pattern);
849
+ }
362
850
 
363
851
  exists(path: string): Promise<boolean> {
364
852
  return Promise.resolve(this.existsSync(path));
@@ -367,13 +855,13 @@ export class MemorySessionStorage implements SessionStorage {
367
855
  readText(path: string): Promise<string> {
368
856
  const entry = this.#files.get(path);
369
857
  if (!entry) return Promise.reject(new Error(`File not found: ${path}`));
370
- return Promise.resolve(entry.content);
858
+ return Promise.resolve(entry.content.toString("utf-8"));
371
859
  }
372
860
 
373
861
  readTextPrefix(path: string, maxBytes: number): Promise<string> {
374
862
  const entry = this.#files.get(path);
375
863
  if (!entry) return Promise.reject(new Error(`File not found: ${path}`));
376
- return Promise.resolve(entry.content.slice(0, maxBytes));
864
+ return Promise.resolve(entry.content.subarray(0, maxBytes).toString("utf-8"));
377
865
  }
378
866
 
379
867
  writeText(path: string, content: string): Promise<void> {
@@ -405,11 +893,67 @@ export class MemorySessionStorage implements SessionStorage {
405
893
  this.#files.delete(path);
406
894
  }
407
895
 
408
- deleteSessionWithArtifacts(_sessionPath: string): Promise<void> {
896
+ deleteSessionWithArtifacts(sessionPath: string): Promise<void> {
897
+ this.#files.delete(sessionPath);
409
898
  return Promise.resolve();
410
899
  }
411
900
 
412
- openWriter(path: string, options?: { flags?: "a" | "w"; onError?: (err: Error) => void }): SessionStorageWriter {
901
+ deleteSessionVerified(target: VerifiedSessionDeleteTarget): Promise<VerifiedSessionDeleteResult> {
902
+ const { sessionsRoot, transcriptPath, sessionId, cwd, transcriptIdentity } = target;
903
+ // Canonical containment: same gate as the file backend so the memory backend
904
+ // cannot grant deletion authority outside the sessions root.
905
+ if (!transcriptPath.endsWith(".jsonl")) {
906
+ return Promise.reject(
907
+ new SessionDeleteVerificationError("containment", "Transcript path is not a .jsonl file"),
908
+ );
909
+ }
910
+ if (!pathIsWithin(sessionsRoot, transcriptPath)) {
911
+ return Promise.reject(
912
+ new SessionDeleteVerificationError("containment", "Transcript is outside the sessions root"),
913
+ );
914
+ }
915
+ const entry = this.#files.get(transcriptPath);
916
+ if (!entry) return Promise.resolve({ kind: "deleted" });
917
+ const snapshot = this.readSnapshotSync(transcriptPath);
918
+ if (snapshot.stat.dev !== transcriptIdentity.dev || snapshot.stat.ino !== transcriptIdentity.ino) {
919
+ return Promise.reject(new SessionDeleteVerificationError("identity", "Transcript identity mismatch"));
920
+ }
921
+ const header = parseFirstJsonlLine(snapshot.bytes);
922
+ if (!header) {
923
+ return Promise.reject(
924
+ new SessionDeleteVerificationError("header", "Transcript header is missing or unreadable"),
925
+ );
926
+ }
927
+ // Require the typed session header exactly like the file backend: a memory
928
+ // backend must not accept a non-session artifact as a deletable transcript.
929
+ if (header.type !== "session" || typeof header.id !== "string") {
930
+ return Promise.reject(
931
+ new SessionDeleteVerificationError("header", "Transcript header is not a valid session header"),
932
+ );
933
+ }
934
+ if (header.id !== sessionId) {
935
+ return Promise.reject(new SessionDeleteVerificationError("identity", "Transcript header id mismatch"));
936
+ }
937
+ if (typeof header.cwd !== "string") {
938
+ return Promise.reject(new SessionDeleteVerificationError("cwd", "Transcript header is missing a cwd"));
939
+ }
940
+ if (path.resolve(header.cwd) !== path.resolve(cwd)) {
941
+ return Promise.reject(new SessionDeleteVerificationError("cwd", "Transcript header cwd mismatch"));
942
+ }
943
+ // Compatible artifact semantics: the memory backend models no directories, so
944
+ // a key at the artifact path is a non-directory sibling that must fail closed
945
+ // rather than be silently treated as an absent artifacts directory.
946
+ const artifactsPath = transcriptPath.slice(0, -6);
947
+ if (artifactsPath !== transcriptPath && this.#files.has(artifactsPath)) {
948
+ return Promise.reject(
949
+ new SessionDeleteVerificationError("artifacts", "Artifact path exists but is not a directory"),
950
+ );
951
+ }
952
+ this.#files.delete(transcriptPath);
953
+ return Promise.resolve({ kind: "deleted" });
954
+ }
955
+
956
+ openWriter(path: string, options?: SessionStorageWriterOpenOptions): SessionStorageWriter {
413
957
  return new MemorySessionStorageWriter(this, path, options);
414
958
  }
415
959
  }