@greppleai/grip 0.0.0-stage → 0.0.1

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 (1057) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +725 -2
  3. package/dist/bun/cli.d.ts +3 -0
  4. package/dist/bun/cli.d.ts.map +1 -0
  5. package/dist/bun/cli.js +11 -0
  6. package/dist/bun/cli.js.map +1 -0
  7. package/dist/bun/register-bedrock.d.ts +2 -0
  8. package/dist/bun/register-bedrock.d.ts.map +1 -0
  9. package/dist/bun/register-bedrock.js +4 -0
  10. package/dist/bun/register-bedrock.js.map +1 -0
  11. package/dist/bun/restore-sandbox-env.d.ts +13 -0
  12. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  13. package/dist/bun/restore-sandbox-env.js +32 -0
  14. package/dist/bun/restore-sandbox-env.js.map +1 -0
  15. package/dist/cli/args.d.ts +70 -0
  16. package/dist/cli/args.d.ts.map +1 -0
  17. package/dist/cli/args.js +441 -0
  18. package/dist/cli/args.js.map +1 -0
  19. package/dist/cli/config-selector.d.ts +14 -0
  20. package/dist/cli/config-selector.d.ts.map +1 -0
  21. package/dist/cli/config-selector.js +31 -0
  22. package/dist/cli/config-selector.js.map +1 -0
  23. package/dist/cli/file-processor.d.ts +15 -0
  24. package/dist/cli/file-processor.d.ts.map +1 -0
  25. package/dist/cli/file-processor.js +60 -0
  26. package/dist/cli/file-processor.js.map +1 -0
  27. package/dist/cli/initial-message.d.ts +18 -0
  28. package/dist/cli/initial-message.d.ts.map +1 -0
  29. package/dist/cli/initial-message.js +22 -0
  30. package/dist/cli/initial-message.js.map +1 -0
  31. package/dist/cli/list-models.d.ts +9 -0
  32. package/dist/cli/list-models.d.ts.map +1 -0
  33. package/dist/cli/list-models.js +98 -0
  34. package/dist/cli/list-models.js.map +1 -0
  35. package/dist/cli/session-picker.d.ts +9 -0
  36. package/dist/cli/session-picker.d.ts.map +1 -0
  37. package/dist/cli/session-picker.js +35 -0
  38. package/dist/cli/session-picker.js.map +1 -0
  39. package/dist/cli.d.ts +3 -0
  40. package/dist/cli.d.ts.map +1 -0
  41. package/dist/cli.js +14 -0
  42. package/dist/cli.js.map +1 -0
  43. package/dist/config.d.ts +82 -0
  44. package/dist/config.d.ts.map +1 -0
  45. package/dist/config.js +406 -0
  46. package/dist/config.js.map +1 -0
  47. package/dist/core/agent-session.d.ts +970 -0
  48. package/dist/core/agent-session.d.ts.map +1 -0
  49. package/dist/core/agent-session.js +5176 -0
  50. package/dist/core/agent-session.js.map +1 -0
  51. package/dist/core/auth-guidance.d.ts +5 -0
  52. package/dist/core/auth-guidance.d.ts.map +1 -0
  53. package/dist/core/auth-guidance.js +21 -0
  54. package/dist/core/auth-guidance.js.map +1 -0
  55. package/dist/core/auth-storage.d.ts +150 -0
  56. package/dist/core/auth-storage.d.ts.map +1 -0
  57. package/dist/core/auth-storage.js +557 -0
  58. package/dist/core/auth-storage.js.map +1 -0
  59. package/dist/core/bash-executor.d.ts +26 -0
  60. package/dist/core/bash-executor.d.ts.map +1 -0
  61. package/dist/core/bash-executor.js +99 -0
  62. package/dist/core/bash-executor.js.map +1 -0
  63. package/dist/core/compaction/branch-summarization.d.ts +83 -0
  64. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  65. package/dist/core/compaction/branch-summarization.js +220 -0
  66. package/dist/core/compaction/branch-summarization.js.map +1 -0
  67. package/dist/core/compaction/compaction.d.ts +65 -0
  68. package/dist/core/compaction/compaction.d.ts.map +1 -0
  69. package/dist/core/compaction/compaction.js +550 -0
  70. package/dist/core/compaction/compaction.js.map +1 -0
  71. package/dist/core/compaction/compression-detection-ledger.d.ts +34 -0
  72. package/dist/core/compaction/compression-detection-ledger.d.ts.map +1 -0
  73. package/dist/core/compaction/compression-detection-ledger.js +52 -0
  74. package/dist/core/compaction/compression-detection-ledger.js.map +1 -0
  75. package/dist/core/compaction/compression-detector.d.ts +71 -0
  76. package/dist/core/compaction/compression-detector.d.ts.map +1 -0
  77. package/dist/core/compaction/compression-detector.js +407 -0
  78. package/dist/core/compaction/compression-detector.js.map +1 -0
  79. package/dist/core/compaction/compression-economics.d.ts +55 -0
  80. package/dist/core/compaction/compression-economics.d.ts.map +1 -0
  81. package/dist/core/compaction/compression-economics.js +151 -0
  82. package/dist/core/compaction/compression-economics.js.map +1 -0
  83. package/dist/core/compaction/utils.d.ts +28 -0
  84. package/dist/core/compaction/utils.d.ts.map +1 -0
  85. package/dist/core/compaction/utils.js +165 -0
  86. package/dist/core/compaction/utils.js.map +1 -0
  87. package/dist/core/defaults.d.ts +3 -0
  88. package/dist/core/defaults.d.ts.map +1 -0
  89. package/dist/core/defaults.js +2 -0
  90. package/dist/core/defaults.js.map +1 -0
  91. package/dist/core/diagnostics.d.ts +18 -0
  92. package/dist/core/diagnostics.d.ts.map +1 -0
  93. package/dist/core/diagnostics.js +2 -0
  94. package/dist/core/diagnostics.js.map +1 -0
  95. package/dist/core/event-bus.d.ts +9 -0
  96. package/dist/core/event-bus.d.ts.map +1 -0
  97. package/dist/core/event-bus.js +25 -0
  98. package/dist/core/event-bus.js.map +1 -0
  99. package/dist/core/exec.d.ts +29 -0
  100. package/dist/core/exec.d.ts.map +1 -0
  101. package/dist/core/exec.js +75 -0
  102. package/dist/core/exec.js.map +1 -0
  103. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  104. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  105. package/dist/core/export-html/ansi-to-html.js +245 -0
  106. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  107. package/dist/core/export-html/index.d.ts +21 -0
  108. package/dist/core/export-html/index.d.ts.map +1 -0
  109. package/dist/core/export-html/index.js +230 -0
  110. package/dist/core/export-html/index.js.map +1 -0
  111. package/dist/core/export-html/template.css +1066 -0
  112. package/dist/core/export-html/template.html +55 -0
  113. package/dist/core/export-html/template.js +1864 -0
  114. package/dist/core/export-html/tool-renderer.d.ts +32 -0
  115. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  116. package/dist/core/export-html/tool-renderer.js +108 -0
  117. package/dist/core/export-html/tool-renderer.js.map +1 -0
  118. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  119. package/dist/core/export-html/vendor/marked.min.js +78 -0
  120. package/dist/core/extensions/loader.d.ts +24 -0
  121. package/dist/core/extensions/loader.d.ts.map +1 -0
  122. package/dist/core/extensions/loader.js +613 -0
  123. package/dist/core/extensions/loader.js.map +1 -0
  124. package/dist/core/extensions/runner.d.ts +160 -0
  125. package/dist/core/extensions/runner.d.ts.map +1 -0
  126. package/dist/core/extensions/runner.js +962 -0
  127. package/dist/core/extensions/runner.js.map +1 -0
  128. package/dist/core/extensions/types.d.ts +1311 -0
  129. package/dist/core/extensions/types.d.ts.map +1 -0
  130. package/dist/core/extensions/types.js +51 -0
  131. package/dist/core/extensions/types.js.map +1 -0
  132. package/dist/core/extensions/wrapper.d.ts +20 -0
  133. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  134. package/dist/core/extensions/wrapper.js +22 -0
  135. package/dist/core/extensions/wrapper.js.map +1 -0
  136. package/dist/core/footer-data-provider.d.ts +52 -0
  137. package/dist/core/footer-data-provider.d.ts.map +1 -0
  138. package/dist/core/footer-data-provider.js +318 -0
  139. package/dist/core/footer-data-provider.js.map +1 -0
  140. package/dist/core/grip-agent.d.ts +240 -0
  141. package/dist/core/grip-agent.d.ts.map +1 -0
  142. package/dist/core/grip-agent.js +1243 -0
  143. package/dist/core/grip-agent.js.map +1 -0
  144. package/dist/core/grip-manifest.d.ts +9 -0
  145. package/dist/core/grip-manifest.d.ts.map +1 -0
  146. package/dist/core/grip-manifest.js +25 -0
  147. package/dist/core/grip-manifest.js.map +1 -0
  148. package/dist/core/hooks/aggregate.d.ts +5 -0
  149. package/dist/core/hooks/aggregate.d.ts.map +1 -0
  150. package/dist/core/hooks/aggregate.js +226 -0
  151. package/dist/core/hooks/aggregate.js.map +1 -0
  152. package/dist/core/hooks/config.d.ts +14 -0
  153. package/dist/core/hooks/config.d.ts.map +1 -0
  154. package/dist/core/hooks/config.js +372 -0
  155. package/dist/core/hooks/config.js.map +1 -0
  156. package/dist/core/hooks/executor.d.ts +12 -0
  157. package/dist/core/hooks/executor.d.ts.map +1 -0
  158. package/dist/core/hooks/executor.js +708 -0
  159. package/dist/core/hooks/executor.js.map +1 -0
  160. package/dist/core/hooks/index.d.ts +9 -0
  161. package/dist/core/hooks/index.d.ts.map +1 -0
  162. package/dist/core/hooks/index.js +14 -0
  163. package/dist/core/hooks/index.js.map +1 -0
  164. package/dist/core/hooks/matcher.d.ts +10 -0
  165. package/dist/core/hooks/matcher.d.ts.map +1 -0
  166. package/dist/core/hooks/matcher.js +70 -0
  167. package/dist/core/hooks/matcher.js.map +1 -0
  168. package/dist/core/hooks/trust-store.d.ts +38 -0
  169. package/dist/core/hooks/trust-store.d.ts.map +1 -0
  170. package/dist/core/hooks/trust-store.js +167 -0
  171. package/dist/core/hooks/trust-store.js.map +1 -0
  172. package/dist/core/hooks/types.d.ts +234 -0
  173. package/dist/core/hooks/types.d.ts.map +1 -0
  174. package/dist/core/hooks/types.js +52 -0
  175. package/dist/core/hooks/types.js.map +1 -0
  176. package/dist/core/http-dispatcher.d.ts +21 -0
  177. package/dist/core/http-dispatcher.d.ts.map +1 -0
  178. package/dist/core/http-dispatcher.js +82 -0
  179. package/dist/core/http-dispatcher.js.map +1 -0
  180. package/dist/core/instruction-resource-loader.d.ts +81 -0
  181. package/dist/core/instruction-resource-loader.d.ts.map +1 -0
  182. package/dist/core/instruction-resource-loader.js +574 -0
  183. package/dist/core/instruction-resource-loader.js.map +1 -0
  184. package/dist/core/keybindings.d.ts +399 -0
  185. package/dist/core/keybindings.d.ts.map +1 -0
  186. package/dist/core/keybindings.js +299 -0
  187. package/dist/core/keybindings.js.map +1 -0
  188. package/dist/core/lsp/abort.d.ts +3 -0
  189. package/dist/core/lsp/abort.d.ts.map +1 -0
  190. package/dist/core/lsp/abort.js +28 -0
  191. package/dist/core/lsp/abort.js.map +1 -0
  192. package/dist/core/lsp/client.d.ts +108 -0
  193. package/dist/core/lsp/client.d.ts.map +1 -0
  194. package/dist/core/lsp/client.js +586 -0
  195. package/dist/core/lsp/client.js.map +1 -0
  196. package/dist/core/lsp/config-loader.d.ts +44 -0
  197. package/dist/core/lsp/config-loader.d.ts.map +1 -0
  198. package/dist/core/lsp/config-loader.js +223 -0
  199. package/dist/core/lsp/config-loader.js.map +1 -0
  200. package/dist/core/lsp/config.d.ts +134 -0
  201. package/dist/core/lsp/config.d.ts.map +1 -0
  202. package/dist/core/lsp/config.js +682 -0
  203. package/dist/core/lsp/config.js.map +1 -0
  204. package/dist/core/lsp/diagnostics.d.ts +18 -0
  205. package/dist/core/lsp/diagnostics.d.ts.map +1 -0
  206. package/dist/core/lsp/diagnostics.js +311 -0
  207. package/dist/core/lsp/diagnostics.js.map +1 -0
  208. package/dist/core/lsp/file-sync.d.ts +58 -0
  209. package/dist/core/lsp/file-sync.d.ts.map +1 -0
  210. package/dist/core/lsp/file-sync.js +432 -0
  211. package/dist/core/lsp/file-sync.js.map +1 -0
  212. package/dist/core/lsp/integration.d.ts +62 -0
  213. package/dist/core/lsp/integration.d.ts.map +1 -0
  214. package/dist/core/lsp/integration.js +145 -0
  215. package/dist/core/lsp/integration.js.map +1 -0
  216. package/dist/core/lsp/language-map.d.ts +54 -0
  217. package/dist/core/lsp/language-map.d.ts.map +1 -0
  218. package/dist/core/lsp/language-map.js +300 -0
  219. package/dist/core/lsp/language-map.js.map +1 -0
  220. package/dist/core/lsp/manager.d.ts +120 -0
  221. package/dist/core/lsp/manager.d.ts.map +1 -0
  222. package/dist/core/lsp/manager.js +636 -0
  223. package/dist/core/lsp/manager.js.map +1 -0
  224. package/dist/core/lsp/navigation.d.ts +32 -0
  225. package/dist/core/lsp/navigation.d.ts.map +1 -0
  226. package/dist/core/lsp/navigation.js +327 -0
  227. package/dist/core/lsp/navigation.js.map +1 -0
  228. package/dist/core/lsp/portable-path.d.ts +18 -0
  229. package/dist/core/lsp/portable-path.d.ts.map +1 -0
  230. package/dist/core/lsp/portable-path.js +83 -0
  231. package/dist/core/lsp/portable-path.js.map +1 -0
  232. package/dist/core/lsp/refactor.d.ts +32 -0
  233. package/dist/core/lsp/refactor.d.ts.map +1 -0
  234. package/dist/core/lsp/refactor.js +519 -0
  235. package/dist/core/lsp/refactor.js.map +1 -0
  236. package/dist/core/lsp/transport.d.ts +39 -0
  237. package/dist/core/lsp/transport.d.ts.map +1 -0
  238. package/dist/core/lsp/transport.js +261 -0
  239. package/dist/core/lsp/transport.js.map +1 -0
  240. package/dist/core/messages.d.ts +34 -0
  241. package/dist/core/messages.d.ts.map +1 -0
  242. package/dist/core/messages.js +140 -0
  243. package/dist/core/messages.js.map +1 -0
  244. package/dist/core/model-registry.d.ts +148 -0
  245. package/dist/core/model-registry.d.ts.map +1 -0
  246. package/dist/core/model-registry.js +812 -0
  247. package/dist/core/model-registry.js.map +1 -0
  248. package/dist/core/model-resolver.d.ts +115 -0
  249. package/dist/core/model-resolver.d.ts.map +1 -0
  250. package/dist/core/model-resolver.js +498 -0
  251. package/dist/core/model-resolver.js.map +1 -0
  252. package/dist/core/output-guard.d.ts +7 -0
  253. package/dist/core/output-guard.d.ts.map +1 -0
  254. package/dist/core/output-guard.js +89 -0
  255. package/dist/core/output-guard.js.map +1 -0
  256. package/dist/core/package-manager.d.ts +209 -0
  257. package/dist/core/package-manager.d.ts.map +1 -0
  258. package/dist/core/package-manager.js +2341 -0
  259. package/dist/core/package-manager.js.map +1 -0
  260. package/dist/core/prompt-templates.d.ts +57 -0
  261. package/dist/core/prompt-templates.d.ts.map +1 -0
  262. package/dist/core/prompt-templates.js +353 -0
  263. package/dist/core/prompt-templates.js.map +1 -0
  264. package/dist/core/provider-display-names.d.ts +2 -0
  265. package/dist/core/provider-display-names.d.ts.map +1 -0
  266. package/dist/core/provider-display-names.js +33 -0
  267. package/dist/core/provider-display-names.js.map +1 -0
  268. package/dist/core/remote-workspace-protocol/contract.d.ts +456 -0
  269. package/dist/core/remote-workspace-protocol/contract.d.ts.map +1 -0
  270. package/dist/core/remote-workspace-protocol/contract.js +809 -0
  271. package/dist/core/remote-workspace-protocol/contract.js.map +1 -0
  272. package/dist/core/remote-workspace-protocol/session.d.ts +247 -0
  273. package/dist/core/remote-workspace-protocol/session.d.ts.map +1 -0
  274. package/dist/core/remote-workspace-protocol/session.js +1839 -0
  275. package/dist/core/remote-workspace-protocol/session.js.map +1 -0
  276. package/dist/core/resolve-config-value.d.ts +32 -0
  277. package/dist/core/resolve-config-value.d.ts.map +1 -0
  278. package/dist/core/resolve-config-value.js +257 -0
  279. package/dist/core/resolve-config-value.js.map +1 -0
  280. package/dist/core/resource-loader.d.ts +200 -0
  281. package/dist/core/resource-loader.d.ts.map +1 -0
  282. package/dist/core/resource-loader.js +1209 -0
  283. package/dist/core/resource-loader.js.map +1 -0
  284. package/dist/core/rules.d.ts +40 -0
  285. package/dist/core/rules.d.ts.map +1 -0
  286. package/dist/core/rules.js +57 -0
  287. package/dist/core/rules.js.map +1 -0
  288. package/dist/core/sandbox/command.d.ts +27 -0
  289. package/dist/core/sandbox/command.d.ts.map +1 -0
  290. package/dist/core/sandbox/command.js +124 -0
  291. package/dist/core/sandbox/command.js.map +1 -0
  292. package/dist/core/sandbox/docker.d.ts +169 -0
  293. package/dist/core/sandbox/docker.d.ts.map +1 -0
  294. package/dist/core/sandbox/docker.js +633 -0
  295. package/dist/core/sandbox/docker.js.map +1 -0
  296. package/dist/core/sandbox/lima.d.ts +38 -0
  297. package/dist/core/sandbox/lima.d.ts.map +1 -0
  298. package/dist/core/sandbox/lima.js +324 -0
  299. package/dist/core/sandbox/lima.js.map +1 -0
  300. package/dist/core/session/constants.d.ts +2 -0
  301. package/dist/core/session/constants.d.ts.map +1 -0
  302. package/dist/core/session/constants.js +2 -0
  303. package/dist/core/session/constants.js.map +1 -0
  304. package/dist/core/session/context-metadata.d.ts +5 -0
  305. package/dist/core/session/context-metadata.d.ts.map +1 -0
  306. package/dist/core/session/context-metadata.js +55 -0
  307. package/dist/core/session/context-metadata.js.map +1 -0
  308. package/dist/core/session/context.d.ts +14 -0
  309. package/dist/core/session/context.d.ts.map +1 -0
  310. package/dist/core/session/context.js +117 -0
  311. package/dist/core/session/context.js.map +1 -0
  312. package/dist/core/session/ids.d.ts +9 -0
  313. package/dist/core/session/ids.d.ts.map +1 -0
  314. package/dist/core/session/ids.js +21 -0
  315. package/dist/core/session/ids.js.map +1 -0
  316. package/dist/core/session/in-memory-session-manager.d.ts +17 -0
  317. package/dist/core/session/in-memory-session-manager.d.ts.map +1 -0
  318. package/dist/core/session/in-memory-session-manager.js +40 -0
  319. package/dist/core/session/in-memory-session-manager.js.map +1 -0
  320. package/dist/core/session/in-memory-session.d.ts +7 -0
  321. package/dist/core/session/in-memory-session.d.ts.map +1 -0
  322. package/dist/core/session/in-memory-session.js +11 -0
  323. package/dist/core/session/in-memory-session.js.map +1 -0
  324. package/dist/core/session/jsonl-errors.d.ts +36 -0
  325. package/dist/core/session/jsonl-errors.d.ts.map +1 -0
  326. package/dist/core/session/jsonl-errors.js +49 -0
  327. package/dist/core/session/jsonl-errors.js.map +1 -0
  328. package/dist/core/session/jsonl-helpers.d.ts +20 -0
  329. package/dist/core/session/jsonl-helpers.d.ts.map +1 -0
  330. package/dist/core/session/jsonl-helpers.js +21 -0
  331. package/dist/core/session/jsonl-helpers.js.map +1 -0
  332. package/dist/core/session/local-session-manager.d.ts +30 -0
  333. package/dist/core/session/local-session-manager.d.ts.map +1 -0
  334. package/dist/core/session/local-session-manager.js +205 -0
  335. package/dist/core/session/local-session-manager.js.map +1 -0
  336. package/dist/core/session/local-session.d.ts +9 -0
  337. package/dist/core/session/local-session.d.ts.map +1 -0
  338. package/dist/core/session/local-session.js +15 -0
  339. package/dist/core/session/local-session.js.map +1 -0
  340. package/dist/core/session/migrations.d.ts +11 -0
  341. package/dist/core/session/migrations.d.ts.map +1 -0
  342. package/dist/core/session/migrations.js +78 -0
  343. package/dist/core/session/migrations.js.map +1 -0
  344. package/dist/core/session/remote-session-client.d.ts +83 -0
  345. package/dist/core/session/remote-session-client.d.ts.map +1 -0
  346. package/dist/core/session/remote-session-client.js +224 -0
  347. package/dist/core/session/remote-session-client.js.map +1 -0
  348. package/dist/core/session/remote-session-manager.d.ts +32 -0
  349. package/dist/core/session/remote-session-manager.d.ts.map +1 -0
  350. package/dist/core/session/remote-session-manager.js +124 -0
  351. package/dist/core/session/remote-session-manager.js.map +1 -0
  352. package/dist/core/session/remote-session.d.ts +20 -0
  353. package/dist/core/session/remote-session.d.ts.map +1 -0
  354. package/dist/core/session/remote-session.js +33 -0
  355. package/dist/core/session/remote-session.js.map +1 -0
  356. package/dist/core/session/session-manager.d.ts +18 -0
  357. package/dist/core/session/session-manager.d.ts.map +1 -0
  358. package/dist/core/session/session-manager.js +2 -0
  359. package/dist/core/session/session-manager.js.map +1 -0
  360. package/dist/core/session/session.d.ts +140 -0
  361. package/dist/core/session/session.d.ts.map +1 -0
  362. package/dist/core/session/session.js +461 -0
  363. package/dist/core/session/session.js.map +1 -0
  364. package/dist/core/session/stores/in-memory-session-store.d.ts +39 -0
  365. package/dist/core/session/stores/in-memory-session-store.d.ts.map +1 -0
  366. package/dist/core/session/stores/in-memory-session-store.js +168 -0
  367. package/dist/core/session/stores/in-memory-session-store.js.map +1 -0
  368. package/dist/core/session/stores/jsonl-session-store.d.ts +97 -0
  369. package/dist/core/session/stores/jsonl-session-store.d.ts.map +1 -0
  370. package/dist/core/session/stores/jsonl-session-store.js +1140 -0
  371. package/dist/core/session/stores/jsonl-session-store.js.map +1 -0
  372. package/dist/core/session/stores/remote-session-store.d.ts +44 -0
  373. package/dist/core/session/stores/remote-session-store.d.ts.map +1 -0
  374. package/dist/core/session/stores/remote-session-store.js +159 -0
  375. package/dist/core/session/stores/remote-session-store.js.map +1 -0
  376. package/dist/core/session/stores/session-store.d.ts +42 -0
  377. package/dist/core/session/stores/session-store.d.ts.map +1 -0
  378. package/dist/core/session/stores/session-store.js +2 -0
  379. package/dist/core/session/stores/session-store.js.map +1 -0
  380. package/dist/core/session/types.d.ts +141 -0
  381. package/dist/core/session/types.d.ts.map +1 -0
  382. package/dist/core/session/types.js +2 -0
  383. package/dist/core/session/types.js.map +1 -0
  384. package/dist/core/session/usage-ledger.d.ts +18 -0
  385. package/dist/core/session/usage-ledger.d.ts.map +1 -0
  386. package/dist/core/session/usage-ledger.js +68 -0
  387. package/dist/core/session/usage-ledger.js.map +1 -0
  388. package/dist/core/session-cwd.d.ts +19 -0
  389. package/dist/core/session-cwd.d.ts.map +1 -0
  390. package/dist/core/session-cwd.js +38 -0
  391. package/dist/core/session-cwd.js.map +1 -0
  392. package/dist/core/settings-manager.d.ts +318 -0
  393. package/dist/core/settings-manager.d.ts.map +1 -0
  394. package/dist/core/settings-manager.js +991 -0
  395. package/dist/core/settings-manager.js.map +1 -0
  396. package/dist/core/skills.d.ts +40 -0
  397. package/dist/core/skills.d.ts.map +1 -0
  398. package/dist/core/skills.js +57 -0
  399. package/dist/core/skills.js.map +1 -0
  400. package/dist/core/slash-commands.d.ts +15 -0
  401. package/dist/core/slash-commands.d.ts.map +1 -0
  402. package/dist/core/slash-commands.js +36 -0
  403. package/dist/core/slash-commands.js.map +1 -0
  404. package/dist/core/source-info.d.ts +26 -0
  405. package/dist/core/source-info.d.ts.map +1 -0
  406. package/dist/core/source-info.js +27 -0
  407. package/dist/core/source-info.js.map +1 -0
  408. package/dist/core/system-prompt.d.ts +32 -0
  409. package/dist/core/system-prompt.d.ts.map +1 -0
  410. package/dist/core/system-prompt.js +131 -0
  411. package/dist/core/system-prompt.js.map +1 -0
  412. package/dist/core/telemetry.d.ts +3 -0
  413. package/dist/core/telemetry.d.ts.map +1 -0
  414. package/dist/core/telemetry.js +9 -0
  415. package/dist/core/telemetry.js.map +1 -0
  416. package/dist/core/timings.d.ts +10 -0
  417. package/dist/core/timings.d.ts.map +1 -0
  418. package/dist/core/timings.js +41 -0
  419. package/dist/core/timings.js.map +1 -0
  420. package/dist/core/tools/bash.d.ts +51 -0
  421. package/dist/core/tools/bash.d.ts.map +1 -0
  422. package/dist/core/tools/bash.js +310 -0
  423. package/dist/core/tools/bash.js.map +1 -0
  424. package/dist/core/tools/compress-context.d.ts +27 -0
  425. package/dist/core/tools/compress-context.d.ts.map +1 -0
  426. package/dist/core/tools/compress-context.js +142 -0
  427. package/dist/core/tools/compress-context.js.map +1 -0
  428. package/dist/core/tools/edit-diff.d.ts +82 -0
  429. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  430. package/dist/core/tools/edit-diff.js +327 -0
  431. package/dist/core/tools/edit-diff.js.map +1 -0
  432. package/dist/core/tools/edit.d.ts +50 -0
  433. package/dist/core/tools/edit.d.ts.map +1 -0
  434. package/dist/core/tools/edit.js +324 -0
  435. package/dist/core/tools/edit.js.map +1 -0
  436. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  437. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  438. package/dist/core/tools/file-mutation-queue.js +60 -0
  439. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  440. package/dist/core/tools/find.d.ts +22 -0
  441. package/dist/core/tools/find.d.ts.map +1 -0
  442. package/dist/core/tools/find.js +268 -0
  443. package/dist/core/tools/find.js.map +1 -0
  444. package/dist/core/tools/grep.d.ts +27 -0
  445. package/dist/core/tools/grep.d.ts.map +1 -0
  446. package/dist/core/tools/grep.js +332 -0
  447. package/dist/core/tools/grep.js.map +1 -0
  448. package/dist/core/tools/hash-store.d.ts +12 -0
  449. package/dist/core/tools/hash-store.d.ts.map +1 -0
  450. package/dist/core/tools/hash-store.js +48 -0
  451. package/dist/core/tools/hash-store.js.map +1 -0
  452. package/dist/core/tools/hashline/apply.d.ts +40 -0
  453. package/dist/core/tools/hashline/apply.d.ts.map +1 -0
  454. package/dist/core/tools/hashline/apply.js +261 -0
  455. package/dist/core/tools/hashline/apply.js.map +1 -0
  456. package/dist/core/tools/hashline/hash.d.ts +56 -0
  457. package/dist/core/tools/hashline/hash.d.ts.map +1 -0
  458. package/dist/core/tools/hashline/hash.js +196 -0
  459. package/dist/core/tools/hashline/hash.js.map +1 -0
  460. package/dist/core/tools/hashline/parse.d.ts +8 -0
  461. package/dist/core/tools/hashline/parse.d.ts.map +1 -0
  462. package/dist/core/tools/hashline/parse.js +41 -0
  463. package/dist/core/tools/hashline/parse.js.map +1 -0
  464. package/dist/core/tools/hashline/resolve.d.ts +51 -0
  465. package/dist/core/tools/hashline/resolve.d.ts.map +1 -0
  466. package/dist/core/tools/hashline/resolve.js +187 -0
  467. package/dist/core/tools/hashline/resolve.js.map +1 -0
  468. package/dist/core/tools/hashline-utils.d.ts +6 -0
  469. package/dist/core/tools/hashline-utils.d.ts.map +1 -0
  470. package/dist/core/tools/hashline-utils.js +23 -0
  471. package/dist/core/tools/hashline-utils.js.map +1 -0
  472. package/dist/core/tools/index.d.ts +36 -0
  473. package/dist/core/tools/index.d.ts.map +1 -0
  474. package/dist/core/tools/index.js +141 -0
  475. package/dist/core/tools/index.js.map +1 -0
  476. package/dist/core/tools/ls.d.ts +21 -0
  477. package/dist/core/tools/ls.d.ts.map +1 -0
  478. package/dist/core/tools/ls.js +156 -0
  479. package/dist/core/tools/ls.js.map +1 -0
  480. package/dist/core/tools/operations.d.ts +201 -0
  481. package/dist/core/tools/operations.d.ts.map +1 -0
  482. package/dist/core/tools/operations.js +697 -0
  483. package/dist/core/tools/operations.js.map +1 -0
  484. package/dist/core/tools/output-accumulator.d.ts +54 -0
  485. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  486. package/dist/core/tools/output-accumulator.js +184 -0
  487. package/dist/core/tools/output-accumulator.js.map +1 -0
  488. package/dist/core/tools/path-utils.d.ts +9 -0
  489. package/dist/core/tools/path-utils.d.ts.map +1 -0
  490. package/dist/core/tools/path-utils.js +99 -0
  491. package/dist/core/tools/path-utils.js.map +1 -0
  492. package/dist/core/tools/read.d.ts +32 -0
  493. package/dist/core/tools/read.d.ts.map +1 -0
  494. package/dist/core/tools/read.js +318 -0
  495. package/dist/core/tools/read.js.map +1 -0
  496. package/dist/core/tools/render-utils.d.ts +33 -0
  497. package/dist/core/tools/render-utils.d.ts.map +1 -0
  498. package/dist/core/tools/render-utils.js +61 -0
  499. package/dist/core/tools/render-utils.js.map +1 -0
  500. package/dist/core/tools/replace-diff.d.ts +16 -0
  501. package/dist/core/tools/replace-diff.d.ts.map +1 -0
  502. package/dist/core/tools/replace-diff.js +117 -0
  503. package/dist/core/tools/replace-diff.js.map +1 -0
  504. package/dist/core/tools/replace-normalize.d.ts +2 -0
  505. package/dist/core/tools/replace-normalize.d.ts.map +1 -0
  506. package/dist/core/tools/replace-normalize.js +73 -0
  507. package/dist/core/tools/replace-normalize.js.map +1 -0
  508. package/dist/core/tools/replace-render.d.ts +51 -0
  509. package/dist/core/tools/replace-render.d.ts.map +1 -0
  510. package/dist/core/tools/replace-render.js +162 -0
  511. package/dist/core/tools/replace-render.js.map +1 -0
  512. package/dist/core/tools/runtime.d.ts +2 -0
  513. package/dist/core/tools/runtime.d.ts.map +1 -0
  514. package/dist/core/tools/runtime.js +6 -0
  515. package/dist/core/tools/runtime.js.map +1 -0
  516. package/dist/core/tools/session-history.d.ts +55 -0
  517. package/dist/core/tools/session-history.d.ts.map +1 -0
  518. package/dist/core/tools/session-history.js +649 -0
  519. package/dist/core/tools/session-history.js.map +1 -0
  520. package/dist/core/tools/subagent-agents.d.ts +29 -0
  521. package/dist/core/tools/subagent-agents.d.ts.map +1 -0
  522. package/dist/core/tools/subagent-agents.js +223 -0
  523. package/dist/core/tools/subagent-agents.js.map +1 -0
  524. package/dist/core/tools/subagent.d.ts +185 -0
  525. package/dist/core/tools/subagent.d.ts.map +1 -0
  526. package/dist/core/tools/subagent.js +1309 -0
  527. package/dist/core/tools/subagent.js.map +1 -0
  528. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  529. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  530. package/dist/core/tools/tool-definition-wrapper.js +34 -0
  531. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  532. package/dist/core/tools/truncate.d.ts +39 -0
  533. package/dist/core/tools/truncate.d.ts.map +1 -0
  534. package/dist/core/tools/truncate.js +215 -0
  535. package/dist/core/tools/truncate.js.map +1 -0
  536. package/dist/core/tools/websearch.d.ts +33 -0
  537. package/dist/core/tools/websearch.d.ts.map +1 -0
  538. package/dist/core/tools/websearch.js +341 -0
  539. package/dist/core/tools/websearch.js.map +1 -0
  540. package/dist/core/tools/workspace-tool-host.d.ts +102 -0
  541. package/dist/core/tools/workspace-tool-host.d.ts.map +1 -0
  542. package/dist/core/tools/workspace-tool-host.js +348 -0
  543. package/dist/core/tools/workspace-tool-host.js.map +1 -0
  544. package/dist/core/tools/write.d.ts +16 -0
  545. package/dist/core/tools/write.d.ts.map +1 -0
  546. package/dist/core/tools/write.js +204 -0
  547. package/dist/core/tools/write.js.map +1 -0
  548. package/dist/core/workspace-identity.d.ts +7 -0
  549. package/dist/core/workspace-identity.d.ts.map +1 -0
  550. package/dist/core/workspace-identity.js +2 -0
  551. package/dist/core/workspace-identity.js.map +1 -0
  552. package/dist/daemon/command.d.ts +6 -0
  553. package/dist/daemon/command.d.ts.map +1 -0
  554. package/dist/daemon/command.js +58 -0
  555. package/dist/daemon/command.js.map +1 -0
  556. package/dist/daemon/config.d.ts +43 -0
  557. package/dist/daemon/config.d.ts.map +1 -0
  558. package/dist/daemon/config.js +304 -0
  559. package/dist/daemon/config.js.map +1 -0
  560. package/dist/daemon/help.d.ts +2 -0
  561. package/dist/daemon/help.d.ts.map +1 -0
  562. package/dist/daemon/help.js +42 -0
  563. package/dist/daemon/help.js.map +1 -0
  564. package/dist/daemon/lsp-config.d.ts +4 -0
  565. package/dist/daemon/lsp-config.d.ts.map +1 -0
  566. package/dist/daemon/lsp-config.js +155 -0
  567. package/dist/daemon/lsp-config.js.map +1 -0
  568. package/dist/daemon/security.d.ts +19 -0
  569. package/dist/daemon/security.d.ts.map +1 -0
  570. package/dist/daemon/security.js +175 -0
  571. package/dist/daemon/security.js.map +1 -0
  572. package/dist/daemon/server.d.ts +20 -0
  573. package/dist/daemon/server.d.ts.map +1 -0
  574. package/dist/daemon/server.js +400 -0
  575. package/dist/daemon/server.js.map +1 -0
  576. package/dist/daemon/workspace-runtime.d.ts +46 -0
  577. package/dist/daemon/workspace-runtime.d.ts.map +1 -0
  578. package/dist/daemon/workspace-runtime.js +673 -0
  579. package/dist/daemon/workspace-runtime.js.map +1 -0
  580. package/dist/index.d.ts +109 -0
  581. package/dist/index.d.ts.map +1 -0
  582. package/dist/index.js +107 -0
  583. package/dist/index.js.map +1 -0
  584. package/dist/main.d.ts +39 -0
  585. package/dist/main.d.ts.map +1 -0
  586. package/dist/main.js +763 -0
  587. package/dist/main.js.map +1 -0
  588. package/dist/migrations.d.ts +35 -0
  589. package/dist/migrations.d.ts.map +1 -0
  590. package/dist/migrations.js +412 -0
  591. package/dist/migrations.js.map +1 -0
  592. package/dist/modes/interactive/components/assistant-message.d.ts +29 -0
  593. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  594. package/dist/modes/interactive/components/assistant-message.js +149 -0
  595. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  596. package/dist/modes/interactive/components/bash-execution.d.ts +36 -0
  597. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  598. package/dist/modes/interactive/components/bash-execution.js +173 -0
  599. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  600. package/dist/modes/interactive/components/bordered-loader.d.ts +18 -0
  601. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  602. package/dist/modes/interactive/components/bordered-loader.js +54 -0
  603. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  604. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  605. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  606. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  607. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  608. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  609. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  610. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  611. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  612. package/dist/modes/interactive/components/config-selector.d.ts +74 -0
  613. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  614. package/dist/modes/interactive/components/config-selector.js +514 -0
  615. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  616. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  617. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  618. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  619. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  620. package/dist/modes/interactive/components/custom-editor.d.ts +25 -0
  621. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  622. package/dist/modes/interactive/components/custom-editor.js +85 -0
  623. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  624. package/dist/modes/interactive/components/custom-message.d.ts +20 -0
  625. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  626. package/dist/modes/interactive/components/custom-message.js +80 -0
  627. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  628. package/dist/modes/interactive/components/diff.d.ts +12 -0
  629. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  630. package/dist/modes/interactive/components/diff.js +118 -0
  631. package/dist/modes/interactive/components/diff.js.map +1 -0
  632. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  633. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  634. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  635. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  636. package/dist/modes/interactive/components/extension-editor.d.ts +22 -0
  637. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  638. package/dist/modes/interactive/components/extension-editor.js +128 -0
  639. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  640. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  641. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  642. package/dist/modes/interactive/components/extension-input.js +61 -0
  643. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  644. package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  645. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  646. package/dist/modes/interactive/components/extension-selector.js +83 -0
  647. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  648. package/dist/modes/interactive/components/footer.d.ts +36 -0
  649. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  650. package/dist/modes/interactive/components/footer.js +227 -0
  651. package/dist/modes/interactive/components/footer.js.map +1 -0
  652. package/dist/modes/interactive/components/hook-execution.d.ts +19 -0
  653. package/dist/modes/interactive/components/hook-execution.d.ts.map +1 -0
  654. package/dist/modes/interactive/components/hook-execution.js +184 -0
  655. package/dist/modes/interactive/components/hook-execution.js.map +1 -0
  656. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  657. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  658. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  659. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  660. package/dist/modes/interactive/components/login-dialog.d.ts +55 -0
  661. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  662. package/dist/modes/interactive/components/login-dialog.js +176 -0
  663. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  664. package/dist/modes/interactive/components/markdown-transform.d.ts +4 -0
  665. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
  666. package/dist/modes/interactive/components/markdown-transform.js +19 -0
  667. package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
  668. package/dist/modes/interactive/components/mermaid.d.ts +14 -0
  669. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
  670. package/dist/modes/interactive/components/mermaid.js +228 -0
  671. package/dist/modes/interactive/components/mermaid.js.map +1 -0
  672. package/dist/modes/interactive/components/model-selector.d.ts +52 -0
  673. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  674. package/dist/modes/interactive/components/model-selector.js +296 -0
  675. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  676. package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  677. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  678. package/dist/modes/interactive/components/oauth-selector.js +165 -0
  679. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  680. package/dist/modes/interactive/components/scoped-models-selector.d.ts +50 -0
  681. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  682. package/dist/modes/interactive/components/scoped-models-selector.js +300 -0
  683. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  684. package/dist/modes/interactive/components/session-selector-search.d.ts +22 -0
  685. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  686. package/dist/modes/interactive/components/session-selector-search.js +144 -0
  687. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  688. package/dist/modes/interactive/components/session-selector.d.ts +108 -0
  689. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  690. package/dist/modes/interactive/components/session-selector.js +835 -0
  691. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  692. package/dist/modes/interactive/components/settings-selector.d.ts +81 -0
  693. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  694. package/dist/modes/interactive/components/settings-selector.js +455 -0
  695. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  696. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  697. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  698. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  699. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  700. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  701. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  702. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  703. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  704. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  705. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  706. package/dist/modes/interactive/components/theme-selector.js +50 -0
  707. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  708. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  709. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  710. package/dist/modes/interactive/components/thinking-selector.js +51 -0
  711. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  712. package/dist/modes/interactive/components/tool-execution.d.ts +67 -0
  713. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  714. package/dist/modes/interactive/components/tool-execution.js +306 -0
  715. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  716. package/dist/modes/interactive/components/tree-selector.d.ts +127 -0
  717. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  718. package/dist/modes/interactive/components/tree-selector.js +1098 -0
  719. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  720. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  721. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  722. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  723. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  724. package/dist/modes/interactive/components/user-message.d.ts +16 -0
  725. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  726. package/dist/modes/interactive/components/user-message.js +49 -0
  727. package/dist/modes/interactive/components/user-message.js.map +1 -0
  728. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  729. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  730. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  731. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  732. package/dist/modes/interactive/interactive-mode.d.ts +557 -0
  733. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  734. package/dist/modes/interactive/interactive-mode.js +5859 -0
  735. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  736. package/dist/modes/interactive/theme/dark.json +86 -0
  737. package/dist/modes/interactive/theme/light.json +85 -0
  738. package/dist/modes/interactive/theme/theme-schema.json +335 -0
  739. package/dist/modes/interactive/theme/theme.d.ts +106 -0
  740. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  741. package/dist/modes/interactive/theme/theme.js +1030 -0
  742. package/dist/modes/interactive/theme/theme.js.map +1 -0
  743. package/dist/modes/json-event.d.ts +28 -0
  744. package/dist/modes/json-event.d.ts.map +1 -0
  745. package/dist/modes/json-event.js +12 -0
  746. package/dist/modes/json-event.js.map +1 -0
  747. package/dist/modes/print-mode.d.ts +29 -0
  748. package/dist/modes/print-mode.d.ts.map +1 -0
  749. package/dist/modes/print-mode.js +142 -0
  750. package/dist/modes/print-mode.js.map +1 -0
  751. package/dist/modes/rpc/jsonl.d.ts +17 -0
  752. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  753. package/dist/modes/rpc/jsonl.js +49 -0
  754. package/dist/modes/rpc/jsonl.js.map +1 -0
  755. package/dist/modes/rpc/rpc-client.d.ts +321 -0
  756. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  757. package/dist/modes/rpc/rpc-client.js +755 -0
  758. package/dist/modes/rpc/rpc-client.js.map +1 -0
  759. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  760. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  761. package/dist/modes/rpc/rpc-mode.js +963 -0
  762. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  763. package/dist/modes/rpc/rpc-types.d.ts +652 -0
  764. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  765. package/dist/modes/rpc/rpc-types.js +8 -0
  766. package/dist/modes/rpc/rpc-types.js.map +1 -0
  767. package/dist/package-manager-cli.d.ts +4 -0
  768. package/dist/package-manager-cli.d.ts.map +1 -0
  769. package/dist/package-manager-cli.js +488 -0
  770. package/dist/package-manager-cli.js.map +1 -0
  771. package/dist/utils/ansi.d.ts +2 -0
  772. package/dist/utils/ansi.d.ts.map +1 -0
  773. package/dist/utils/ansi.js +25 -0
  774. package/dist/utils/ansi.js.map +1 -0
  775. package/dist/utils/changelog.d.ts +23 -0
  776. package/dist/utils/changelog.d.ts.map +1 -0
  777. package/dist/utils/changelog.js +74 -0
  778. package/dist/utils/changelog.js.map +1 -0
  779. package/dist/utils/child-process.d.ts +15 -0
  780. package/dist/utils/child-process.d.ts.map +1 -0
  781. package/dist/utils/child-process.js +88 -0
  782. package/dist/utils/child-process.js.map +1 -0
  783. package/dist/utils/clipboard-image.d.ts +13 -0
  784. package/dist/utils/clipboard-image.d.ts.map +1 -0
  785. package/dist/utils/clipboard-image.js +248 -0
  786. package/dist/utils/clipboard-image.js.map +1 -0
  787. package/dist/utils/clipboard-native.d.ts +11 -0
  788. package/dist/utils/clipboard-native.d.ts.map +1 -0
  789. package/dist/utils/clipboard-native.js +20 -0
  790. package/dist/utils/clipboard-native.js.map +1 -0
  791. package/dist/utils/clipboard.d.ts +4 -0
  792. package/dist/utils/clipboard.d.ts.map +1 -0
  793. package/dist/utils/clipboard.js +171 -0
  794. package/dist/utils/clipboard.js.map +1 -0
  795. package/dist/utils/deprecation.d.ts +4 -0
  796. package/dist/utils/deprecation.d.ts.map +1 -0
  797. package/dist/utils/deprecation.js +13 -0
  798. package/dist/utils/deprecation.js.map +1 -0
  799. package/dist/utils/directory-completions.d.ts +5 -0
  800. package/dist/utils/directory-completions.d.ts.map +1 -0
  801. package/dist/utils/directory-completions.js +64 -0
  802. package/dist/utils/directory-completions.js.map +1 -0
  803. package/dist/utils/exif-orientation.d.ts +6 -0
  804. package/dist/utils/exif-orientation.d.ts.map +1 -0
  805. package/dist/utils/exif-orientation.js +166 -0
  806. package/dist/utils/exif-orientation.js.map +1 -0
  807. package/dist/utils/frontmatter.d.ts +8 -0
  808. package/dist/utils/frontmatter.d.ts.map +1 -0
  809. package/dist/utils/frontmatter.js +26 -0
  810. package/dist/utils/frontmatter.js.map +1 -0
  811. package/dist/utils/fs-watch.d.ts +5 -0
  812. package/dist/utils/fs-watch.d.ts.map +1 -0
  813. package/dist/utils/fs-watch.js +25 -0
  814. package/dist/utils/fs-watch.js.map +1 -0
  815. package/dist/utils/git.d.ts +27 -0
  816. package/dist/utils/git.d.ts.map +1 -0
  817. package/dist/utils/git.js +237 -0
  818. package/dist/utils/git.js.map +1 -0
  819. package/dist/utils/grip-user-agent.d.ts +2 -0
  820. package/dist/utils/grip-user-agent.d.ts.map +1 -0
  821. package/dist/utils/grip-user-agent.js +5 -0
  822. package/dist/utils/grip-user-agent.js.map +1 -0
  823. package/dist/utils/html.d.ts +7 -0
  824. package/dist/utils/html.d.ts.map +1 -0
  825. package/dist/utils/html.js +40 -0
  826. package/dist/utils/html.js.map +1 -0
  827. package/dist/utils/image-convert.d.ts +12 -0
  828. package/dist/utils/image-convert.d.ts.map +1 -0
  829. package/dist/utils/image-convert.js +43 -0
  830. package/dist/utils/image-convert.js.map +1 -0
  831. package/dist/utils/image-process.d.ts +18 -0
  832. package/dist/utils/image-process.d.ts.map +1 -0
  833. package/dist/utils/image-process.js +83 -0
  834. package/dist/utils/image-process.js.map +1 -0
  835. package/dist/utils/image-resize-core.d.ts +30 -0
  836. package/dist/utils/image-resize-core.d.ts.map +1 -0
  837. package/dist/utils/image-resize-core.js +133 -0
  838. package/dist/utils/image-resize-core.js.map +1 -0
  839. package/dist/utils/image-resize-worker.d.ts +2 -0
  840. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  841. package/dist/utils/image-resize-worker.js +31 -0
  842. package/dist/utils/image-resize-worker.js.map +1 -0
  843. package/dist/utils/image-resize.d.ts +19 -0
  844. package/dist/utils/image-resize.d.ts.map +1 -0
  845. package/dist/utils/image-resize.js +81 -0
  846. package/dist/utils/image-resize.js.map +1 -0
  847. package/dist/utils/json.d.ts +3 -0
  848. package/dist/utils/json.d.ts.map +1 -0
  849. package/dist/utils/json.js +7 -0
  850. package/dist/utils/json.js.map +1 -0
  851. package/dist/utils/mime.d.ts +3 -0
  852. package/dist/utils/mime.d.ts.map +1 -0
  853. package/dist/utils/mime.js +110 -0
  854. package/dist/utils/mime.js.map +1 -0
  855. package/dist/utils/open-browser.d.ts +9 -0
  856. package/dist/utils/open-browser.d.ts.map +1 -0
  857. package/dist/utils/open-browser.js +22 -0
  858. package/dist/utils/open-browser.js.map +1 -0
  859. package/dist/utils/paths.d.ts +31 -0
  860. package/dist/utils/paths.d.ts.map +1 -0
  861. package/dist/utils/paths.js +87 -0
  862. package/dist/utils/paths.js.map +1 -0
  863. package/dist/utils/photon.d.ts +22 -0
  864. package/dist/utils/photon.d.ts.map +1 -0
  865. package/dist/utils/photon.js +125 -0
  866. package/dist/utils/photon.js.map +1 -0
  867. package/dist/utils/shell.d.ts +28 -0
  868. package/dist/utils/shell.d.ts.map +1 -0
  869. package/dist/utils/shell.js +188 -0
  870. package/dist/utils/shell.js.map +1 -0
  871. package/dist/utils/sleep.d.ts +5 -0
  872. package/dist/utils/sleep.d.ts.map +1 -0
  873. package/dist/utils/sleep.js +17 -0
  874. package/dist/utils/sleep.js.map +1 -0
  875. package/dist/utils/syntax-highlight.d.ts +12 -0
  876. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  877. package/dist/utils/syntax-highlight.js +125 -0
  878. package/dist/utils/syntax-highlight.js.map +1 -0
  879. package/dist/utils/tools-manager.d.ts +5 -0
  880. package/dist/utils/tools-manager.d.ts.map +1 -0
  881. package/dist/utils/tools-manager.js +329 -0
  882. package/dist/utils/tools-manager.js.map +1 -0
  883. package/dist/utils/version-check.d.ts +14 -0
  884. package/dist/utils/version-check.d.ts.map +1 -0
  885. package/dist/utils/version-check.js +91 -0
  886. package/dist/utils/version-check.js.map +1 -0
  887. package/dist/utils/windows-self-update.d.ts +3 -0
  888. package/dist/utils/windows-self-update.d.ts.map +1 -0
  889. package/dist/utils/windows-self-update.js +77 -0
  890. package/dist/utils/windows-self-update.js.map +1 -0
  891. package/docs/compaction.md +408 -0
  892. package/docs/custom-provider.md +714 -0
  893. package/docs/daemon-architecture.md +399 -0
  894. package/docs/daemon.md +110 -0
  895. package/docs/development.md +72 -0
  896. package/docs/docs.json +164 -0
  897. package/docs/extensions.md +2745 -0
  898. package/docs/hooks.md +85 -0
  899. package/docs/images/doom-extension.png +0 -0
  900. package/docs/images/exy.png +0 -0
  901. package/docs/images/interactive-mode.png +0 -0
  902. package/docs/images/tree-view.png +0 -0
  903. package/docs/index.md +81 -0
  904. package/docs/json.md +89 -0
  905. package/docs/keybindings.md +230 -0
  906. package/docs/lsp.md +499 -0
  907. package/docs/migrating-to-grip.md +18 -0
  908. package/docs/models.md +496 -0
  909. package/docs/packages.md +228 -0
  910. package/docs/prompt-templates.md +88 -0
  911. package/docs/providers.md +251 -0
  912. package/docs/quickstart.md +167 -0
  913. package/docs/rpc.md +1492 -0
  914. package/docs/rules.md +117 -0
  915. package/docs/sandbox.md +181 -0
  916. package/docs/sdk.md +360 -0
  917. package/docs/session-format.md +414 -0
  918. package/docs/sessions.md +137 -0
  919. package/docs/settings.md +371 -0
  920. package/docs/shell-aliases.md +13 -0
  921. package/docs/skills.md +246 -0
  922. package/docs/terminal-setup.md +112 -0
  923. package/docs/termux.md +129 -0
  924. package/docs/themes.md +295 -0
  925. package/docs/tmux.md +61 -0
  926. package/docs/tui.md +918 -0
  927. package/docs/usage.md +304 -0
  928. package/docs/windows.md +17 -0
  929. package/examples/README.md +31 -0
  930. package/examples/daemon-docker/Dockerfile +43 -0
  931. package/examples/daemon-docker/README.md +45 -0
  932. package/examples/extensions/README.md +208 -0
  933. package/examples/extensions/auto-commit-on-exit.ts +46 -0
  934. package/examples/extensions/bash-spawn-hook.ts +30 -0
  935. package/examples/extensions/bookmark.ts +50 -0
  936. package/examples/extensions/border-status-editor.ts +145 -0
  937. package/examples/extensions/built-in-tool-renderer.ts +259 -0
  938. package/examples/extensions/claude-rules.ts +86 -0
  939. package/examples/extensions/commands.ts +82 -0
  940. package/examples/extensions/confirm-destructive.ts +59 -0
  941. package/examples/extensions/custom-compaction.ts +131 -0
  942. package/examples/extensions/custom-footer.ts +79 -0
  943. package/examples/extensions/custom-header.ts +73 -0
  944. package/examples/extensions/custom-provider-anthropic/index.ts +707 -0
  945. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  946. package/examples/extensions/custom-provider-anthropic/package.json +19 -0
  947. package/examples/extensions/custom-provider-gitlab-duo/index.ts +402 -0
  948. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  949. package/examples/extensions/custom-provider-gitlab-duo/test.ts +104 -0
  950. package/examples/extensions/dirty-repo-guard.ts +59 -0
  951. package/examples/extensions/doom-overlay/README.md +46 -0
  952. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  953. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  954. package/examples/extensions/doom-overlay/doom/build.sh +152 -0
  955. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  956. package/examples/extensions/doom-overlay/doom-component.ts +133 -0
  957. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  958. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  959. package/examples/extensions/doom-overlay/index.ts +74 -0
  960. package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
  961. package/examples/extensions/dynamic-resources/RULES.md +8 -0
  962. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  963. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  964. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  965. package/examples/extensions/dynamic-resources/index.ts +16 -0
  966. package/examples/extensions/dynamic-tools.ts +74 -0
  967. package/examples/extensions/event-bus.ts +43 -0
  968. package/examples/extensions/file-trigger.ts +41 -0
  969. package/examples/extensions/git-checkpoint.ts +53 -0
  970. package/examples/extensions/git-merge-and-resolve.ts +125 -0
  971. package/examples/extensions/github-issue-autocomplete.ts +191 -0
  972. package/examples/extensions/handoff.ts +191 -0
  973. package/examples/extensions/hello.ts +26 -0
  974. package/examples/extensions/hidden-thinking-label.ts +53 -0
  975. package/examples/extensions/inline-bash.ts +104 -0
  976. package/examples/extensions/input-transform.ts +43 -0
  977. package/examples/extensions/interactive-shell.ts +194 -0
  978. package/examples/extensions/mac-system-theme.ts +47 -0
  979. package/examples/extensions/message-renderer.ts +59 -0
  980. package/examples/extensions/minimal-mode.ts +428 -0
  981. package/examples/extensions/modal-editor.ts +86 -0
  982. package/examples/extensions/model-status.ts +31 -0
  983. package/examples/extensions/notify.ts +55 -0
  984. package/examples/extensions/overlay-qa-tests.ts +1374 -0
  985. package/examples/extensions/overlay-test.ts +171 -0
  986. package/examples/extensions/permission-gate.ts +34 -0
  987. package/examples/extensions/pirate.ts +47 -0
  988. package/examples/extensions/plan-mode/README.md +65 -0
  989. package/examples/extensions/plan-mode/index.ts +346 -0
  990. package/examples/extensions/plan-mode/utils.ts +172 -0
  991. package/examples/extensions/preset.ts +426 -0
  992. package/examples/extensions/prompt-customizer.ts +97 -0
  993. package/examples/extensions/protected-paths.ts +29 -0
  994. package/examples/extensions/provider-payload.ts +18 -0
  995. package/examples/extensions/qna.ts +125 -0
  996. package/examples/extensions/question.ts +294 -0
  997. package/examples/extensions/questionnaire.ts +459 -0
  998. package/examples/extensions/rainbow-editor.ts +88 -0
  999. package/examples/extensions/reload-runtime.ts +37 -0
  1000. package/examples/extensions/rpc-demo.ts +118 -0
  1001. package/examples/extensions/sandbox/index.ts +320 -0
  1002. package/examples/extensions/sandbox/package-lock.json +92 -0
  1003. package/examples/extensions/sandbox/package.json +19 -0
  1004. package/examples/extensions/send-user-message.ts +97 -0
  1005. package/examples/extensions/session-name.ts +27 -0
  1006. package/examples/extensions/shutdown-command.ts +63 -0
  1007. package/examples/extensions/snake.ts +381 -0
  1008. package/examples/extensions/space-invaders.ts +597 -0
  1009. package/examples/extensions/status-line.ts +32 -0
  1010. package/examples/extensions/structured-output.ts +65 -0
  1011. package/examples/extensions/subagent/README.md +175 -0
  1012. package/examples/extensions/subagent/agents/planner.md +37 -0
  1013. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  1014. package/examples/extensions/subagent/agents/scout.md +50 -0
  1015. package/examples/extensions/subagent/agents/worker.md +24 -0
  1016. package/examples/extensions/subagent/agents.ts +126 -0
  1017. package/examples/extensions/subagent/index.ts +1083 -0
  1018. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  1019. package/examples/extensions/subagent/prompts/implement.md +10 -0
  1020. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  1021. package/examples/extensions/summarize.ts +186 -0
  1022. package/examples/extensions/system-prompt-header.ts +17 -0
  1023. package/examples/extensions/tic-tac-toe.ts +1091 -0
  1024. package/examples/extensions/timed-confirm.ts +70 -0
  1025. package/examples/extensions/titlebar-spinner.ts +58 -0
  1026. package/examples/extensions/todo.ts +306 -0
  1027. package/examples/extensions/tool-override.ts +144 -0
  1028. package/examples/extensions/tools.ts +141 -0
  1029. package/examples/extensions/trigger-compact.ts +50 -0
  1030. package/examples/extensions/truncated-tool.ts +200 -0
  1031. package/examples/extensions/widget-placement.ts +9 -0
  1032. package/examples/extensions/with-deps/index.ts +32 -0
  1033. package/examples/extensions/with-deps/package-lock.json +31 -0
  1034. package/examples/extensions/with-deps/package.json +22 -0
  1035. package/examples/extensions/working-indicator.ts +123 -0
  1036. package/examples/extensions/working-message-test.ts +25 -0
  1037. package/examples/remote-session-server/README.md +71 -0
  1038. package/examples/remote-session-server/server.ts +353 -0
  1039. package/examples/rpc-extension-ui.ts +642 -0
  1040. package/examples/sandbox-docker/Dockerfile +274 -0
  1041. package/examples/sandbox-docker/README.md +88 -0
  1042. package/examples/sdk/01-minimal.ts +27 -0
  1043. package/examples/sdk/02-custom-model.ts +54 -0
  1044. package/examples/sdk/03-custom-prompt.ts +76 -0
  1045. package/examples/sdk/04-skills.ts +60 -0
  1046. package/examples/sdk/05-tools.ts +55 -0
  1047. package/examples/sdk/06-extensions.ts +94 -0
  1048. package/examples/sdk/07-context-files.ts +47 -0
  1049. package/examples/sdk/08-prompt-templates.ts +56 -0
  1050. package/examples/sdk/09-api-keys-and-oauth.ts +50 -0
  1051. package/examples/sdk/10-settings.ts +58 -0
  1052. package/examples/sdk/11-sessions.ts +54 -0
  1053. package/examples/sdk/12-full-control.ts +79 -0
  1054. package/examples/sdk/13-session-runtime.ts +49 -0
  1055. package/examples/sdk/README.md +94 -0
  1056. package/npm-shrinkwrap.json +1878 -0
  1057. package/package.json +102 -5
@@ -0,0 +1,970 @@
1
+ /**
2
+ * AgentSession - Core abstraction for agent lifecycle and session management.
3
+ *
4
+ * This class is shared between all run modes (interactive, print, rpc).
5
+ * It encapsulates:
6
+ * - Agent state access
7
+ * - Event subscription with automatic session persistence
8
+ * - Model and thinking level management
9
+ * - Compaction (manual and auto)
10
+ * - Bash execution
11
+ * - Tree navigation and branching
12
+ *
13
+ * Modes use this class and add their own I/O layer on top.
14
+ */
15
+ import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, QueueMode, ThinkingLevel } from "@greppleai/grip-agent-core";
16
+ import type { AssistantMessage, ImageContent, Model, TextContent } from "@greppleai/grip-ai";
17
+ import { type Static, type TSchema } from "typebox";
18
+ import { type BashResult } from "./bash-executor.ts";
19
+ import { type CompactionResult } from "./compaction/compaction.ts";
20
+ import { type CompressionDetectionCounts, type CompressionDetectionVerdict } from "./compaction/compression-detector.ts";
21
+ import { type ExtensionErrorListener, ExtensionRunner, type ShutdownHandler } from "./extensions/runner.ts";
22
+ import type { ContextUsage, ExtensionCommandContextActions, ExtensionNavigateTreeOptions, ExtensionSendMessageOptions, ExtensionUIContext, InputSource, ReplacedSessionContext, SessionStartEvent, StreamingBehavior, ToolDefinition, ToolInfo } from "./extensions/types.ts";
23
+ import type { HookDiagnostic, HookExecutionActivityListener, HookExecutionListener, HookRunOptions, JsonObject, LoadedHooks, SessionEndReason } from "./hooks/types.ts";
24
+ import { type LspConfigurationLayer, type ResolvedLspConfiguration } from "./lsp/config.ts";
25
+ import { type LoadLspConfigurationResult, type LspConfigurationSourceDiagnostic } from "./lsp/config-loader.ts";
26
+ import { type LspSessionStatus } from "./lsp/integration.ts";
27
+ import type { LspConnectionFactoryRegistry } from "./lsp/transport.ts";
28
+ import { type CustomMessage } from "./messages.ts";
29
+ import type { ModelRegistry } from "./model-registry.ts";
30
+ import type { ScopedModel } from "./model-resolver.ts";
31
+ import { type PromptTemplate } from "./prompt-templates.ts";
32
+ import type { ResourceLoader } from "./resource-loader.ts";
33
+ import type { Rule } from "./rules.ts";
34
+ import type { Session } from "./session/session.ts";
35
+ import type { BranchSummaryEntry } from "./session/types.ts";
36
+ import type { SettingsManager } from "./settings-manager.ts";
37
+ import type { Skill } from "./skills.ts";
38
+ import { type SourceInfo } from "./source-info.ts";
39
+ import { type ToolBackendInfo, type ToolOperations } from "./tools/operations.ts";
40
+ import { type SubagentConfigRegistry, type SubagentRunner, type SubagentRunRegistry } from "./tools/subagent.ts";
41
+ export declare const SUBAGENT_TOOL_NAMES: readonly ["subagent", "subagent_runs", "create_subagent"];
42
+ export declare const DEFAULT_ACTIVE_TOOL_NAMES: readonly ["read", "bash", "edit", "write", "websearch", "session_search", "session_entry_get"];
43
+ export declare function getDefaultActiveToolNames(enableSubagents?: boolean, enableLspTools?: boolean): string[];
44
+ /** Parsed skill block from a user message */
45
+ export interface ParsedSkillBlock {
46
+ name: string;
47
+ location: string;
48
+ content: string;
49
+ userMessage: string | undefined;
50
+ }
51
+ /**
52
+ * Parse a skill block from message text.
53
+ * Returns null if the text doesn't contain a skill block.
54
+ */
55
+ export declare function parseSkillBlock(text: string): ParsedSkillBlock | null;
56
+ /** Session-specific events that extend the core AgentEvent */
57
+ export type AgentSessionEvent = Exclude<AgentEvent, {
58
+ type: "agent_end";
59
+ }> | {
60
+ type: "agent_end";
61
+ messages: AgentMessage[];
62
+ willRetry: boolean;
63
+ } | {
64
+ type: "queue_update";
65
+ steering: readonly string[];
66
+ followUp: readonly string[];
67
+ } | {
68
+ type: "compaction_start";
69
+ reason: "manual" | "threshold" | "overflow";
70
+ } | {
71
+ type: "state_compressed";
72
+ } | {
73
+ type: "compression_detection_activity";
74
+ active: boolean;
75
+ } | {
76
+ type: "compression_detection_result";
77
+ verdict: CompressionDetectionVerdict;
78
+ } | {
79
+ type: "session_info_changed";
80
+ name: string | undefined;
81
+ } | {
82
+ type: "thinking_level_changed";
83
+ level: ThinkingLevel;
84
+ } | {
85
+ type: "compaction_end";
86
+ reason: "manual" | "threshold" | "overflow";
87
+ result: CompactionResult | undefined;
88
+ aborted: boolean;
89
+ willRetry: boolean;
90
+ errorMessage?: string;
91
+ } | {
92
+ type: "agent_settled";
93
+ } | {
94
+ type: "auto_retry_start";
95
+ attempt: number;
96
+ maxAttempts: number;
97
+ delayMs: number;
98
+ errorMessage: string;
99
+ } | {
100
+ type: "auto_retry_end";
101
+ success: boolean;
102
+ attempt: number;
103
+ finalError?: string;
104
+ } | {
105
+ type: "summarization_retry_scheduled";
106
+ attempt: number;
107
+ maxAttempts: number;
108
+ delayMs: number;
109
+ errorMessage: string;
110
+ } | {
111
+ type: "summarization_retry_attempt_start";
112
+ source: "branchSummary";
113
+ } | {
114
+ type: "summarization_retry_attempt_start";
115
+ source: "compaction";
116
+ reason: "manual" | "threshold" | "overflow";
117
+ } | {
118
+ type: "summarization_retry_finished";
119
+ };
120
+ /** Listener function for agent session events */
121
+ export type AgentSessionEventListener = (event: AgentSessionEvent) => void;
122
+ export interface ExtensionRunnerRef {
123
+ current?: ExtensionRunner;
124
+ }
125
+ export interface SessionStatsTokenTotals {
126
+ input: number;
127
+ output: number;
128
+ cacheRead: number;
129
+ cacheWrite: number;
130
+ total: number;
131
+ }
132
+ export interface AgentSessionConfig {
133
+ agent: Agent;
134
+ session: Session;
135
+ settingsManager: SettingsManager;
136
+ cwd: string;
137
+ /** Models to cycle through with Ctrl+P (from --models flag) */
138
+ scopedModels?: ScopedModel[];
139
+ /** Resource loader for skills, rules, prompts, themes, context files, system prompt */
140
+ resourceLoader: ResourceLoader;
141
+ /** SDK custom tools registered outside extensions */
142
+ customTools?: ToolDefinition[];
143
+ /** Tool operation backend used by built-in tools. */
144
+ toolOperations?: ToolOperations;
145
+ /** Model registry for API key resolution and model discovery */
146
+ modelRegistry: ModelRegistry;
147
+ /** Initial active built-in tool names. Defaults to DEFAULT_ACTIVE_TOOL_NAMES. */
148
+ initialActiveToolNames?: string[];
149
+ /** CLI/SDK override for exposing configured LSP tools by default; explicit tool allowlists remain authoritative. */
150
+ enableLspTools?: boolean;
151
+ /** Optional allowlist of tool names. When provided, only these tool names are exposed. */
152
+ allowedToolNames?: string[];
153
+ /** Tool names that must never be exposed in this session. */
154
+ excludedToolNames?: string[];
155
+ /**
156
+ * Override base tools (useful for custom runtimes).
157
+ *
158
+ * These are synthesized into minimal ToolDefinitions internally so AgentSession can keep
159
+ * a definition-first registry even when callers provide plain AgentTool instances.
160
+ */
161
+ baseToolsOverride?: Record<string, AgentTool>;
162
+ /** Mutable ref used by Agent to access the current ExtensionRunner */
163
+ extensionRunnerRef?: ExtensionRunnerRef;
164
+ /** Runner used to create isolated subagent sessions. */
165
+ subagentRunner?: SubagentRunner;
166
+ subagentRunRegistry?: SubagentRunRegistry;
167
+ subagentConfigRegistry?: SubagentConfigRegistry;
168
+ /** Host-controlled trust grant for project-local subagent presets. */
169
+ trustProjectAgents?: boolean;
170
+ /** Validated configuration for the AgentSession-owned LSP runtime. */
171
+ lspConfiguration?: ResolvedLspConfiguration;
172
+ /** Host-provided factories referenced by LSP transports with type `connection`. */
173
+ lspConnectionFactories?: LspConnectionFactoryRegistry;
174
+ /** Re-resolves settings/file-backed LSP configuration after settings reload. */
175
+ resolveLspConfiguration?: () => Promise<LoadLspConfigurationResult>;
176
+ /** Receives current source-attributed diagnostics after each LSP configuration re-resolution. */
177
+ onLspConfigurationDiagnostics?: (diagnostics: readonly LspConfigurationSourceDiagnostic[]) => void;
178
+ /** Session start event metadata emitted when extensions bind to this runtime. */
179
+ sessionStartEvent?: SessionStartEvent;
180
+ /** Immutable Claude-compatible hook configuration snapshot for this session. */
181
+ loadedHooks?: LoadedHooks;
182
+ /** Re-resolves file-backed hook configuration after settings reload. */
183
+ resolveHooks?: () => Promise<LoadedHooks | undefined>;
184
+ /** Receives nonfatal hook execution/runtime diagnostics. */
185
+ onHookDiagnostic?: (diagnostic: HookDiagnostic) => void;
186
+ /** Host restrictions applied to hook execution. */
187
+ hookRunOptions?: Pick<HookRunOptions, "allowedHttpHookUrls" | "httpHookAllowedEnvVars">;
188
+ }
189
+ export interface ExtensionBindings {
190
+ uiContext?: ExtensionUIContext;
191
+ commandContextActions?: ExtensionCommandContextActions;
192
+ abortHandler?: () => void;
193
+ shutdownHandler?: ShutdownHandler;
194
+ onError?: ExtensionErrorListener;
195
+ }
196
+ export interface AgentSessionReloadResult {
197
+ lsp?: LoadLspConfigurationResult;
198
+ }
199
+ /** Options for AgentSession.prompt() */
200
+ export interface PromptOptions {
201
+ /** Whether to expand file-based prompt templates (default: true) */
202
+ expandPromptTemplates?: boolean;
203
+ /** Image attachments */
204
+ images?: ImageContent[];
205
+ /** When streaming, how to queue the message: "steer" (interrupt) or "followUp" (wait). Required if streaming. */
206
+ streamingBehavior?: StreamingBehavior;
207
+ /** Source of input for extension input event handlers. Defaults to "interactive". */
208
+ source?: InputSource;
209
+ /** Internal hook used by RPC mode to observe prompt preflight acceptance or rejection. */
210
+ preflightResult?: (success: boolean) => void;
211
+ }
212
+ export type StructuredResponseScope = "latest" | "conversation";
213
+ export type StructuredResponseSource = "json" | "tool";
214
+ export interface StructuredResponseOptions<TSchemaValue extends TSchema> {
215
+ /** TypeBox object schema for the structured response. */
216
+ schema: TSchemaValue;
217
+ /** Schema/tool name shown to the model. Defaults to "structured_output". */
218
+ name?: string;
219
+ /** Optional description for the temporary structured output tool. */
220
+ description?: string;
221
+ /** Maximum correction calls after an invalid response. Defaults to 2. */
222
+ maxCorrections?: number;
223
+ /** Source context for extraction. Defaults to the latest assistant answer. */
224
+ scope?: StructuredResponseScope;
225
+ }
226
+ export interface StructuredResponse<T> {
227
+ output: T;
228
+ attempts: number;
229
+ source: StructuredResponseSource;
230
+ message: AssistantMessage;
231
+ }
232
+ /** Direction used when cycling through configured models. */
233
+ export type ModelCycleDirection = "forward" | "backward";
234
+ /** Result from cycleModel() */
235
+ export interface ModelCycleResult {
236
+ model: Model<any>;
237
+ thinkingLevel: ThinkingLevel;
238
+ /** Whether cycling through scoped models (--models flag) or all available */
239
+ isScoped: boolean;
240
+ }
241
+ /** Session statistics for /session command */
242
+ export interface SessionStats {
243
+ sessionFile: string | undefined;
244
+ sessionId: string;
245
+ userMessages: number;
246
+ assistantMessages: number;
247
+ toolCalls: number;
248
+ toolResults: number;
249
+ totalMessages: number;
250
+ tokens: SessionStatsTokenTotals;
251
+ cost: number;
252
+ contextUsage?: ContextUsage;
253
+ }
254
+ export interface ConfigureRemoteSandboxOptions {
255
+ type: "daemon";
256
+ url: string;
257
+ token?: string;
258
+ }
259
+ export interface ActivateSandboxDaemonOptions {
260
+ url: string;
261
+ token: string;
262
+ expectedCwd: string;
263
+ }
264
+ export type SessionSkillRegistration = Omit<Skill, "sourceInfo" | "baseDir"> & {
265
+ baseDir?: string;
266
+ sourceInfo?: SourceInfo;
267
+ };
268
+ export type SessionRuleRegistration = Omit<Rule, "sourceInfo" | "baseDir"> & {
269
+ baseDir?: string;
270
+ sourceInfo?: SourceInfo;
271
+ };
272
+ export interface RegisterSessionToolOptions {
273
+ lazy?: boolean;
274
+ sourceInfo?: SourceInfo;
275
+ }
276
+ export type SendCustomMessageOptions = ExtensionSendMessageOptions;
277
+ export interface SendUserMessageOptions {
278
+ deliverAs?: StreamingBehavior;
279
+ }
280
+ export interface QueuedMessages {
281
+ steering: string[];
282
+ followUp: string[];
283
+ }
284
+ export interface ExecuteBashOptions {
285
+ excludeFromContext?: boolean;
286
+ operations?: ToolOperations;
287
+ record?: boolean;
288
+ truncate?: boolean;
289
+ }
290
+ export interface RecordBashResultOptions {
291
+ excludeFromContext?: boolean;
292
+ }
293
+ export type NavigateTreeOptions = ExtensionNavigateTreeOptions;
294
+ export interface NavigateTreeResult {
295
+ editorText?: string;
296
+ cancelled: boolean;
297
+ aborted?: boolean;
298
+ summaryEntry?: BranchSummaryEntry;
299
+ }
300
+ export interface ForkableUserMessage {
301
+ entryId: string;
302
+ text: string;
303
+ }
304
+ export type HookPathFlavor = "posix" | "windows";
305
+ export declare function classifyStopFailure(errorMessage: string): string;
306
+ /** Adapt grip's file-tool arguments to Claude's absolute, backend-lexical file_path shape. */
307
+ export declare function adaptFileToolInputForClaudeHook(toolName: string, input: JsonObject, cwd: string, flavor: HookPathFlavor, home?: string | null): JsonObject;
308
+ /** Reverse a Claude file_path replacement to grip's path field before schema validation. */
309
+ export declare function adaptFileToolUpdatedInputFromClaudeHook(toolName: string, input: JsonObject, cwd: string, flavor: HookPathFlavor, home?: string | null): JsonObject;
310
+ export declare class AgentSession {
311
+ readonly agent: Agent;
312
+ readonly session: Session;
313
+ readonly settingsManager: SettingsManager;
314
+ private _scopedModels;
315
+ private _unsubscribeAgent?;
316
+ private _eventListeners;
317
+ private _disposePromise?;
318
+ private _shutdownPreparationPromise?;
319
+ private _disposed;
320
+ /** Tracks pending steering messages for UI display. Removed when delivered. */
321
+ private _steeringMessages;
322
+ /** Tracks pending follow-up messages for UI display. Removed when delivered. */
323
+ private _followUpMessages;
324
+ /** Messages queued to be included with the next user prompt as context ("asides"). */
325
+ private _pendingNextTurnMessages;
326
+ private _compactionInFlight?;
327
+ private _compactionAbortController;
328
+ private _autoCompactionAbortController;
329
+ private _extensionCompactionQueue;
330
+ private _extensionCompactionTimer;
331
+ private _extensionCompactionActivity?;
332
+ private _extensionCompactionRunning;
333
+ private _overflowRecoveryAttempted;
334
+ private _branchSummaryAbortController;
335
+ private _retryAbortController;
336
+ private _retryAttempt;
337
+ private readonly _bashAbortControllers;
338
+ private _pendingBashMessages;
339
+ private _extensionRunner;
340
+ private readonly _extensionLspOwnership;
341
+ private _turnIndex;
342
+ private _resourceLoader;
343
+ private _customTools;
344
+ private _baseToolDefinitions;
345
+ private _workspaceToolHost?;
346
+ private _retiredWorkspaceToolHosts;
347
+ private _cwd;
348
+ private _extensionRunnerRef?;
349
+ private _initialActiveToolNames?;
350
+ private readonly _enableLspTools?;
351
+ private _allowedToolNames?;
352
+ private _excludedToolNames;
353
+ private _baseToolsOverride?;
354
+ private _toolOperations?;
355
+ private _runtimeToolOperations?;
356
+ private _subagentRunner?;
357
+ private _subagentRunRegistry?;
358
+ private _subagentConfigRegistry?;
359
+ private _trustProjectAgents;
360
+ private _localResourceToolOperations?;
361
+ private _sandboxToolOperations?;
362
+ private _preSandboxToolOperations?;
363
+ private _lspRuntimeState?;
364
+ private _lspConfiguration;
365
+ private readonly _lspConnectionFactories;
366
+ private readonly _resolveLspConfiguration?;
367
+ private readonly _onLspConfigurationDiagnostics?;
368
+ private _runtimeLifecycleQueue;
369
+ private _sandboxTransitionQueue;
370
+ private readonly _runtimeLifecycleContext;
371
+ private readonly _activities;
372
+ private _activityGeneration;
373
+ private _activeCycle;
374
+ private _settlementScheduled;
375
+ private _settlementRunning;
376
+ private readonly _idleWaiters;
377
+ private readonly _barrierOwnerContext;
378
+ private _sessionStartEvent;
379
+ private _extensionUIContext?;
380
+ private _extensionCommandContextActions?;
381
+ private _extensionAbortHandler?;
382
+ private _extensionShutdownHandler?;
383
+ private _extensionErrorListener?;
384
+ private _extensionErrorUnsubscriber?;
385
+ private _loadedHooks?;
386
+ private readonly _resolveHooks?;
387
+ private _hooksEnabled;
388
+ private readonly _onHookDiagnostic?;
389
+ private readonly _hookExecutionListeners;
390
+ private readonly _hookExecutionActivityListeners;
391
+ private readonly _hookRunOptions;
392
+ private readonly _hookAbortController;
393
+ private _hookSessionStartPromise?;
394
+ private _hookSessionStartTerminationReason?;
395
+ private _pendingHookSessionStartContext?;
396
+ private _hookSessionEnded;
397
+ private _activePromptId;
398
+ private _stopHookContinuations;
399
+ private _stopHookProgress;
400
+ private readonly _queuedPromptIds;
401
+ private readonly _toolStartedAt;
402
+ private readonly _preToolHookContext;
403
+ private readonly _compressionDetector;
404
+ private _contextCompressionEnabledOverride?;
405
+ private _compressionDetectionEnabled;
406
+ private _agentRunEnding;
407
+ private _waitingForDetectorAtRequest;
408
+ private _pendingContextCompression?;
409
+ private _stateCompressionApplied;
410
+ private _modelRegistry;
411
+ private _toolRegistry;
412
+ private _toolDefinitions;
413
+ private _sessionTools;
414
+ private _sessionSkills;
415
+ private _sessionRules;
416
+ private _toolPromptSnippets;
417
+ private _toolPromptGuidelines;
418
+ private _baseSystemPrompt;
419
+ private _baseSystemPromptOptions;
420
+ private _systemPromptOverride?;
421
+ constructor(config: AgentSessionConfig);
422
+ /** Model registry for API key resolution and model discovery */
423
+ get modelRegistry(): ModelRegistry;
424
+ getToolOperations(): ToolOperations;
425
+ /** Snapshot of the sole AgentSession-owned LSP runtime and its configured/instantiated servers. */
426
+ getLspStatus(): LspSessionStatus;
427
+ /** Validate and replace the AgentSession-owned LSP configuration. Relative paths resolve from the session cwd. */
428
+ configureLsp(configuration: LspConfigurationLayer): Promise<ResolvedLspConfiguration>;
429
+ getToolBackendInfo(): ToolBackendInfo;
430
+ supportsDirectoryChange(): boolean;
431
+ private _getLocalResourceToolOperations;
432
+ private _getReadOperationsForPath;
433
+ configureRemoteSandbox(options: ConfigureRemoteSandboxOptions): Promise<ToolBackendInfo>;
434
+ activateSandboxDaemon(options: ActivateSandboxDaemonOptions): Promise<ToolBackendInfo>;
435
+ private _activateSessionRemoteOperations;
436
+ clearRemoteSandbox(): Promise<void>;
437
+ private _enqueueSandboxTransition;
438
+ uploadFile(sourcePath: string, destinationPath: string): Promise<void>;
439
+ downloadFile(sourcePath: string, destinationPath: string): Promise<void>;
440
+ private applyToolOperationsBackendChange;
441
+ private _getRequiredRequestAuth;
442
+ private _getCompactionRequestAuth;
443
+ private _hookCommon;
444
+ private _emitHookExecution;
445
+ private _emitHookExecutionActivity;
446
+ private _runHook;
447
+ private _hasMatchingToolHook;
448
+ private _hookContextMessage;
449
+ private _ensureHookSessionStarted;
450
+ private _reportHookDiagnostic;
451
+ private _adaptPreToolHookInput;
452
+ private _resolvePreToolHookPolicy;
453
+ private _applyPreToolHookInputUpdate;
454
+ private _emitExtensionToolCall;
455
+ private _handleBeforeToolCall;
456
+ private _applyExtensionToolResult;
457
+ private _runPostToolHook;
458
+ private _applyPostToolOutputUpdate;
459
+ private _finalizePostToolHookResult;
460
+ private _handleAfterToolCall;
461
+ /**
462
+ * Install tool hooks once on the Agent instance.
463
+ *
464
+ * The callbacks read `this._extensionRunner` at execution time, so extension reload swaps in the
465
+ * new runner without reinstalling hooks. Extension-specific tool wrappers are still used to adapt
466
+ * registered tool execution to the extension context. Tool call and tool result interception now
467
+ * happens here instead of in wrappers.
468
+ */
469
+ private _installAgentToolHooks;
470
+ private _beginActivity;
471
+ private _endActivity;
472
+ private _runActivity;
473
+ private _runSynchronousActivity;
474
+ private _runAsyncBarrierCallback;
475
+ private _runBarrierCallback;
476
+ private _isSettledPredicate;
477
+ private _scheduleSettlementCheck;
478
+ private _isCurrentSettlementGeneration;
479
+ private _finishSettledAgentCycle;
480
+ private _drainSettlement;
481
+ private _runRuntimeLifecycleOperation;
482
+ private _enqueueRuntimeLifecycle;
483
+ private _syncLspToolResult;
484
+ private _loadAssociatedInstructionTools;
485
+ private _loadAssociatedToolsForReadToolCall;
486
+ private _installAgentTurnPreparation;
487
+ private _createCompressionAdvisory;
488
+ /** Add model-only entry ID notices without persisting them. */
489
+ private _installContextMetadata;
490
+ private _buildCurrentAgentContext;
491
+ /** Emit an event to all listeners */
492
+ private _emit;
493
+ private _emitAgentSettled;
494
+ private _emitQueueUpdate;
495
+ private _lastAssistantMessage;
496
+ private _consumeStartedQueuedMessage;
497
+ private _persistCompletedMessage;
498
+ private _applyPendingContextCompression;
499
+ private _recordCompressionEconomics;
500
+ private _restoreCompressionContextState;
501
+ private _updateRetryStateAfterAssistantMessage;
502
+ /** Internal handler for agent events - shared by subscribe and reconnect */
503
+ private _handleAgentEvent;
504
+ private _willRetryAfterAgentEnd;
505
+ /** Extract text content from a message */
506
+ private _getUserMessageText;
507
+ /** Find the last assistant message in agent state (including aborted ones) */
508
+ private _findLastAssistantMessage;
509
+ private _replaceMessageInPlace;
510
+ private _emitExtensionEvent;
511
+ /**
512
+ * Subscribe to agent events.
513
+ * Session persistence is handled internally (saves messages on message_end).
514
+ * Multiple listeners can be added. Returns unsubscribe function for this listener.
515
+ */
516
+ subscribe(listener: AgentSessionEventListener): () => void;
517
+ /** Subscribe to completed hook executions for host UI rendering. Notices are not persisted or added to model context. */
518
+ subscribeToHookExecutions(listener: HookExecutionListener): () => void;
519
+ /** Subscribe to active hook execution changes for host UI rendering. */
520
+ subscribeToHookExecutionActivity(listener: HookExecutionActivityListener): () => void;
521
+ /** Whether this session will dispatch subsequent configured hook events. */
522
+ get hooksEnabled(): boolean;
523
+ /** Enable or disable subsequent hook dispatches for this session. Active hook executions are not cancelled. */
524
+ setHooksEnabled(enabled: boolean): void;
525
+ /** Disconnect from agent events during disposal. */
526
+ private _disconnectFromAgent;
527
+ /** Emit the bounded host-local SessionEnd hook once before replacement/disposal. */
528
+ emitHookSessionEnd(reason: SessionEndReason): Promise<void>;
529
+ /**
530
+ * Remove all listeners and disconnect from agent.
531
+ * Call this when completely done with the session.
532
+ */
533
+ dispose(): Promise<void>;
534
+ /** Stop new prompt admission, abort active work, and wait for the session boundary. */
535
+ prepareForShutdown(): Promise<void>;
536
+ private _prepareForShutdown;
537
+ private _dispose;
538
+ /** Full agent state */
539
+ get state(): AgentState;
540
+ /** Current model (may be undefined if not yet selected) */
541
+ get model(): Model<any> | undefined;
542
+ /** Current thinking level */
543
+ get thinkingLevel(): ThinkingLevel;
544
+ /** Whether the underlying Agent is currently streaming a response. */
545
+ get isStreaming(): boolean;
546
+ private get _hasActiveAgentRun();
547
+ private _hasPromptAdmission;
548
+ private get _isAgentRunActive();
549
+ /** Whether all session-owned work and settlement callbacks have completed. */
550
+ get isIdle(): boolean;
551
+ /** Current effective system prompt (includes any per-turn extension modifications) */
552
+ get systemPrompt(): string;
553
+ /** Current retry attempt (0 if not retrying) */
554
+ get retryAttempt(): number;
555
+ /**
556
+ * Get the names of currently active tools.
557
+ * Returns the names of tools currently set on the agent.
558
+ */
559
+ getActiveToolNames(): string[];
560
+ /**
561
+ * Get all configured tools with name, description, parameter schema, and source metadata.
562
+ */
563
+ getAllTools(): ToolInfo[];
564
+ getToolDefinition(name: string): ToolDefinition | undefined;
565
+ getRegisteredSkills(): Skill[];
566
+ getRegisteredRules(): Rule[];
567
+ registerSessionSkill(skill: SessionSkillRegistration): void;
568
+ unregisterSessionSkill(name: string): boolean;
569
+ registerSessionRule(rule: SessionRuleRegistration): void;
570
+ unregisterSessionRule(name: string): boolean;
571
+ registerSessionTool(definition: ToolDefinition, options?: RegisterSessionToolOptions): void;
572
+ unregisterSessionTool(name: string): boolean;
573
+ loadSessionTool(name: string): boolean;
574
+ private _loadSessionTool;
575
+ unloadSessionTool(name: string): boolean;
576
+ private _unloadSessionTool;
577
+ getAvailableSessionTools(): ToolInfo[];
578
+ /**
579
+ * Set active tools by name.
580
+ * Only tools in the registry can be enabled. Unknown tool names are ignored.
581
+ * Also rebuilds the system prompt to reflect the new tool set.
582
+ * Changes take effect on the next agent turn.
583
+ */
584
+ setActiveToolsByName(toolNames: string[]): void;
585
+ /** Whether compaction or branch summarization is currently running */
586
+ get isCompacting(): boolean;
587
+ /** All messages including custom types like BashExecutionMessage */
588
+ get messages(): AgentMessage[];
589
+ /** Current steering mode */
590
+ get steeringMode(): QueueMode;
591
+ /** Current follow-up mode */
592
+ get followUpMode(): QueueMode;
593
+ /** Current session reference, or undefined for ephemeral sessions. */
594
+ get sessionReference(): string | undefined;
595
+ /** Current local session file path, or undefined for non-file-backed sessions. Prefer sessionReference for backend-neutral code. */
596
+ get sessionFile(): string | undefined;
597
+ /** Current session ID */
598
+ get sessionId(): string;
599
+ /** Current session display name, if set */
600
+ get sessionName(): string | undefined;
601
+ /** Scoped models for cycling (from --models flag) */
602
+ get scopedModels(): ReadonlyArray<ScopedModel>;
603
+ /** Update scoped models for cycling */
604
+ setScopedModels(scopedModels: ScopedModel[]): void;
605
+ /** File-based prompt templates */
606
+ get promptTemplates(): ReadonlyArray<PromptTemplate>;
607
+ private _normalizePromptSnippet;
608
+ private _normalizePromptGuidelines;
609
+ private _rebuildSystemPrompt;
610
+ private _buildAvailableToolsPrompt;
611
+ private _refreshBaseSystemPrompt;
612
+ private _getSubagentModels;
613
+ private _resolveSubagentModelHint;
614
+ private _refreshModelDependentRuntime;
615
+ private _continueAgentIfReady;
616
+ private _runAgentPrompt;
617
+ private _finishFailedRetry;
618
+ private _resetStopHookContinuationState;
619
+ private _recordStopHookProgress;
620
+ private _runStopFailureHook;
621
+ private _runStopHook;
622
+ private _handlePostAgentRun;
623
+ getStructuredResponse<TSchemaValue extends TSchema>(options: StructuredResponseOptions<TSchemaValue>): Promise<StructuredResponse<Static<TSchemaValue>>>;
624
+ private _requireStructuredResponseModel;
625
+ private _getStructuredResponse;
626
+ private _evaluateStructuredResponseAttempt;
627
+ private _buildStructuredResponseMessages;
628
+ private _tryParseStructuredAssistantText;
629
+ private _validateStructuredArguments;
630
+ private _appendStructuredInternalEntry;
631
+ private _formatStructuredAssistantLog;
632
+ private _runPromptAdmission;
633
+ private _interceptPromptInput;
634
+ private _expandPromptInput;
635
+ private _queuePromptIntoActiveRun;
636
+ private _validatePromptModelAuthentication;
637
+ private _resumeAfterPromptCompaction;
638
+ private _buildPromptMessages;
639
+ private _preparePrompt;
640
+ /**
641
+ * Send a prompt to the agent.
642
+ * - Handles extension commands (registered via the extension API's registerCommand) immediately, even during streaming, when no compaction is active
643
+ * - Expands file-based prompt templates by default
644
+ * - During streaming, queues via steer() or followUp() based on streamingBehavior option
645
+ * - Validates model and API key before sending (when not streaming)
646
+ * @throws Error if streaming and no streamingBehavior specified
647
+ * @throws Error if no model selected or no API key available (when not streaming)
648
+ * @throws Error if manual or extension-requested compaction is in progress
649
+ */
650
+ prompt(text: string, options?: PromptOptions): Promise<void>;
651
+ private _tryExecuteExtensionCommand;
652
+ /**
653
+ * Expand skill commands (/skill:name args) to their full content.
654
+ * Returns the expanded text, or the original text if not a skill command or skill not found.
655
+ * Emits errors via extension runner if file read fails.
656
+ */
657
+ private _expandSkillCommand;
658
+ private _expandRuleCommand;
659
+ /**
660
+ * Queue a steering message while the agent is running.
661
+ * Delivered after the current assistant turn finishes executing its tool calls,
662
+ * before the next LLM call.
663
+ * Expands skill/rule commands and prompt templates. Errors on extension commands.
664
+ * @param images Optional image attachments to include with the message
665
+ * @throws Error if text is an extension command
666
+ */
667
+ steer(text: string, images?: ImageContent[]): Promise<void>;
668
+ /**
669
+ * Queue a follow-up message to be processed after the agent finishes.
670
+ * Delivered only when agent has no more tool calls or steering messages.
671
+ * Expands skill/rule commands and prompt templates. Errors on extension commands.
672
+ * @param images Optional image attachments to include with the message
673
+ * @throws Error if text is an extension command
674
+ */
675
+ followUp(text: string, images?: ImageContent[]): Promise<void>;
676
+ private _queueSteer;
677
+ private _queueFollowUp;
678
+ /**
679
+ * Throw an error if the text is an extension command.
680
+ */
681
+ private _throwIfExtensionCommand;
682
+ /**
683
+ * Send a custom message to the session. Creates a CustomMessageEntry.
684
+ *
685
+ * Handles three cases:
686
+ * - Streaming: queues message, processed when loop pulls from queue
687
+ * - Not streaming + triggerTurn: appends to state/session, starts new turn
688
+ * - Not streaming + no trigger: appends to state/session, no turn
689
+ *
690
+ * @param message Custom message with customType, content, display, details
691
+ * @param options.triggerTurn If true and not streaming, triggers a new LLM turn
692
+ * @param options.deliverAs Delivery mode: "steer", "followUp", or "nextTurn"
693
+ */
694
+ sendCustomMessage<T = unknown>(message: Pick<CustomMessage<T>, "customType" | "content" | "display" | "details">, options?: SendCustomMessageOptions): Promise<void>;
695
+ private _sendCustomMessage;
696
+ /**
697
+ * Send a user message to the agent. Always triggers a turn.
698
+ * When the agent is streaming, use deliverAs to specify how to queue the message.
699
+ *
700
+ * @param content User message content (string or content array)
701
+ * @param options.deliverAs Delivery mode when streaming: "steer" or "followUp"
702
+ */
703
+ sendUserMessage(content: string | (TextContent | ImageContent)[], options?: SendUserMessageOptions): Promise<void>;
704
+ /**
705
+ * Clear all queued messages and return them.
706
+ * Useful for restoring to editor when user aborts.
707
+ * @returns Object with steering and followUp arrays
708
+ */
709
+ clearQueue(): QueuedMessages;
710
+ /** Number of pending messages (includes both steering and follow-up) */
711
+ get pendingMessageCount(): number;
712
+ /** Get pending steering messages (read-only) */
713
+ getSteeringMessages(): readonly string[];
714
+ /** Get pending follow-up messages (read-only) */
715
+ getFollowUpMessages(): readonly string[];
716
+ get resourceLoader(): ResourceLoader;
717
+ /**
718
+ * Abort current operation and wait for agent to become idle.
719
+ */
720
+ abort(): Promise<void>;
721
+ private _abortAgentAndDrain;
722
+ /** Wait for the full AgentSession lifecycle to settle. */
723
+ waitForIdle(): Promise<void>;
724
+ private _emitModelSelect;
725
+ /** Whether agent-initiated context compression is active in this session. */
726
+ get contextCompressionEnabled(): boolean;
727
+ /** Toggle compression for this session without changing global settings. */
728
+ setContextCompressionEnabled(enabled: boolean): void;
729
+ /** Detection requires both its session opt-in and an active compression tool. */
730
+ get compressionDetectionEnabled(): boolean;
731
+ setCompressionDetectionEnabled(enabled: boolean): void;
732
+ /** Save the detector model and opt in for this session only, without changing the primary model. */
733
+ setCompressionDetectionModel(reference: string | undefined): void;
734
+ /**
735
+ * Set model directly.
736
+ * Validates that auth is configured, saves to session and settings.
737
+ * @throws Error if no auth is configured for the model
738
+ */
739
+ setModel(model: Model<any>): Promise<void>;
740
+ /**
741
+ * Cycle to next/previous model.
742
+ * Uses scoped models (from --models flag) if available, otherwise all available models.
743
+ * @param direction - "forward" (default) or "backward"
744
+ * @returns The new model info, or undefined if only one model available
745
+ */
746
+ cycleModel(direction?: ModelCycleDirection): Promise<ModelCycleResult | undefined>;
747
+ private _cycleScopedModel;
748
+ private _cycleAvailableModel;
749
+ /**
750
+ * Set thinking level.
751
+ * Clamps to model capabilities based on available thinking levels.
752
+ * Saves to session and settings only if the level actually changes.
753
+ */
754
+ setThinkingLevel(level: ThinkingLevel): void;
755
+ /**
756
+ * Cycle to next thinking level.
757
+ * @returns New level, or undefined if model doesn't support thinking
758
+ */
759
+ cycleThinkingLevel(): ThinkingLevel | undefined;
760
+ /**
761
+ * Get available thinking levels for current model.
762
+ * The provider will clamp to what the specific model supports internally.
763
+ */
764
+ getAvailableThinkingLevels(): ThinkingLevel[];
765
+ /**
766
+ * Check if current model supports thinking/reasoning.
767
+ */
768
+ supportsThinking(): boolean;
769
+ private _getThinkingLevelForModelSwitch;
770
+ private _clampThinkingLevel;
771
+ /**
772
+ * Set steering message mode.
773
+ * Saves to settings.
774
+ */
775
+ setSteeringMode(mode: QueueMode): void;
776
+ /**
777
+ * Set follow-up message mode.
778
+ * Saves to settings.
779
+ */
780
+ setFollowUpMode(mode: QueueMode): void;
781
+ /** Queue extension-triggered compaction outside the currently active agent turn. */
782
+ private _requestExtensionCompaction;
783
+ private _scheduleExtensionCompactions;
784
+ private _drainExtensionCompactionQueue;
785
+ private _runRequestedExtensionCompaction;
786
+ /**
787
+ * Manually compact the session context.
788
+ * Aborts current agent operation first.
789
+ * @param customInstructions Optional instructions for the compaction summary
790
+ */
791
+ compact(customInstructions?: string): Promise<CompactionResult>;
792
+ private _runWithCompactionGuard;
793
+ private _compactSession;
794
+ private _prepareForManualCompaction;
795
+ private _buildManualCompactionPlan;
796
+ private _runManualCompactionInterceptors;
797
+ private _resolveManualCompaction;
798
+ private _commitManualCompaction;
799
+ private _compactSessionUnlocked;
800
+ /**
801
+ * Cancel in-progress compaction (manual or auto).
802
+ */
803
+ abortCompaction(): void;
804
+ /**
805
+ * Cancel in-progress branch summarization.
806
+ */
807
+ abortBranchSummary(): void;
808
+ private _isAtOrBeforeCompactionBoundary;
809
+ private _runOverflowCompactionRecovery;
810
+ private _resolveCompactionThresholdTokens;
811
+ private _checkCompaction;
812
+ /**
813
+ * Internal: Run auto-compaction with events.
814
+ */
815
+ private _runAutoCompaction;
816
+ private _emitAutoCompactionWithoutResult;
817
+ private _buildAutoCompactionPlan;
818
+ private _runAutoCompactionInterceptors;
819
+ private _resolveAutoCompaction;
820
+ private _commitAutoCompaction;
821
+ private _runAutoCompactionUnlocked;
822
+ /**
823
+ * Toggle auto-compaction setting.
824
+ */
825
+ setAutoCompactionEnabled(enabled: boolean): void;
826
+ /** Whether auto-compaction is enabled */
827
+ get autoCompactionEnabled(): boolean;
828
+ /** Whether built-in subagent tools are enabled by default. */
829
+ get subagentsEnabled(): boolean;
830
+ /** Persist and immediately apply built-in subagent tool activation. */
831
+ setSubagentsEnabled(enabled: boolean): void;
832
+ bindExtensions(bindings: ExtensionBindings): Promise<void>;
833
+ private _bindExtensions;
834
+ private extendResourcesFromExtensions;
835
+ private buildExtensionResourcePaths;
836
+ private getExtensionSourceLabel;
837
+ private _applyExtensionBindings;
838
+ private _refreshCurrentModelFromRegistry;
839
+ private _updateCurrentRunnerLspOwnership;
840
+ private _bindExtensionCore;
841
+ private _createLoadToolDefinition;
842
+ private _createUnloadToolDefinition;
843
+ private _resolveRefreshedActiveToolNames;
844
+ private _refreshToolRegistry;
845
+ private _registerLspToolDefinitions;
846
+ private _replaceLspRuntime;
847
+ private _createWorkspaceToolHost;
848
+ private _refreshRemoteWorkspaceToolCatalog;
849
+ private _captureRuntimeBuildSnapshot;
850
+ private _createRuntimeBaseToolDefinitions;
851
+ private _initializeRuntimeLsp;
852
+ private _restoreRuntimeBuildSnapshot;
853
+ private _buildRuntime;
854
+ private _withCurrentDefaultTools;
855
+ private _isToolPermitted;
856
+ reload(): Promise<AgentSessionReloadResult>;
857
+ private _reload;
858
+ /**
859
+ * Check if an error is retryable (overloaded, rate limit, server errors).
860
+ * Context overflow errors are NOT retryable (handled by compaction instead).
861
+ */
862
+ private _isRetryableError;
863
+ private _summarizationRetryCallbacks;
864
+ private _prepareRetry;
865
+ /**
866
+ * Cancel in-progress retry.
867
+ */
868
+ abortRetry(): void;
869
+ /** Whether auto-retry is currently in progress */
870
+ get isRetrying(): boolean;
871
+ /** Whether auto-retry is enabled */
872
+ get autoRetryEnabled(): boolean;
873
+ /**
874
+ * Toggle auto-retry setting.
875
+ */
876
+ setAutoRetryEnabled(enabled: boolean): void;
877
+ /**
878
+ * Execute a bash command.
879
+ * Adds result to agent context and session unless options.record is false.
880
+ * @param command The bash command to execute
881
+ * @param onChunk Optional streaming callback for output
882
+ * @param options.excludeFromContext If true, command output won't be sent to LLM (!! prefix)
883
+ * @param options.operations Custom ToolOperations for remote execution
884
+ * @param options.record If false, result won't be stored in agent state or session history
885
+ * @param options.truncate If false, returned output won't be truncated
886
+ */
887
+ executeBash(command: string, onChunk?: (chunk: string) => void, options?: ExecuteBashOptions): Promise<BashResult>;
888
+ /**
889
+ * Record a bash execution result in session history.
890
+ * Used by executeBash and by extensions that handle bash execution themselves.
891
+ */
892
+ recordBashResult(command: string, result: BashResult, options?: RecordBashResultOptions): void;
893
+ private _recordBashResult;
894
+ /**
895
+ * Cancel running bash command.
896
+ */
897
+ abortBash(): void;
898
+ /** Whether a bash command is currently running */
899
+ get isBashRunning(): boolean;
900
+ /** Whether there are pending bash messages waiting to be flushed */
901
+ get hasPendingBashMessages(): boolean;
902
+ /**
903
+ * Flush pending bash messages to agent state and session.
904
+ * Called after agent turn completes to maintain proper message ordering.
905
+ */
906
+ private _flushPendingBashMessages;
907
+ private _prepareTreeNavigation;
908
+ private _resolveTreeSummary;
909
+ private _resolveTreeTarget;
910
+ private _switchTreeLeaf;
911
+ /**
912
+ * Set a display name for the current session.
913
+ */
914
+ setSessionName(name: string): void;
915
+ /**
916
+ * Navigate to a different node in the session tree.
917
+ * Unlike fork() which creates a new session file, this stays in the same file.
918
+ *
919
+ * @param targetId The entry ID to navigate to
920
+ * @param options.summarize Whether user wants to summarize abandoned branch
921
+ * @param options.customInstructions Custom instructions for summarizer
922
+ * @param options.replaceInstructions If true, customInstructions replaces the default prompt
923
+ * @param options.label Label to attach to the branch summary entry
924
+ * @returns Result with editorText (if user message) and cancelled status
925
+ */
926
+ navigateTree(targetId: string, options?: NavigateTreeOptions): Promise<NavigateTreeResult>;
927
+ private _navigateTree;
928
+ /**
929
+ * Get all user messages from session for fork selector.
930
+ */
931
+ getUserMessagesForForking(): ForkableUserMessage[];
932
+ private _extractUserMessageText;
933
+ /**
934
+ * Get session statistics.
935
+ */
936
+ getSessionStats(): SessionStats;
937
+ private _hasUsableAssistantUsageAfterBoundary;
938
+ getCompressionDetectionCounts(): CompressionDetectionCounts;
939
+ getCompressionDetectionCost(): number;
940
+ getContextUsage(): ContextUsage | undefined;
941
+ /**
942
+ * Export session to HTML.
943
+ * @param outputPath Optional output path (defaults to session directory)
944
+ * @returns Path to exported file
945
+ */
946
+ exportToHtml(outputPath?: string): Promise<string>;
947
+ /**
948
+ * Export the current session branch to a JSONL file.
949
+ * Writes the session header followed by all entries on the current branch path.
950
+ * @param outputPath Target file path. If omitted, generates a timestamped file in cwd.
951
+ * @returns The resolved output file path.
952
+ */
953
+ exportToJsonl(outputPath?: string): string;
954
+ /**
955
+ * Get text content of last assistant message.
956
+ * Useful for /copy command.
957
+ * @returns Text content, or undefined if no assistant message exists
958
+ */
959
+ getLastAssistantText(): string | undefined;
960
+ createReplacedSessionContext(): ReplacedSessionContext;
961
+ /**
962
+ * Check if extensions have handlers for a specific event type.
963
+ */
964
+ hasExtensionHandlers(eventType: string): boolean;
965
+ /**
966
+ * Get the extension runner (for setting UI context and error handlers).
967
+ */
968
+ get extensionRunner(): ExtensionRunner;
969
+ }
970
+ //# sourceMappingURL=agent-session.d.ts.map