@eminent337/aery 0.1.43 → 0.1.52

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 (684) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/README.md +0 -0
  3. package/docs/compaction.md +18 -18
  4. package/docs/custom-provider.md +21 -21
  5. package/docs/development.md +0 -0
  6. package/docs/extensions.md +104 -102
  7. package/docs/images/doom-extension.png +0 -0
  8. package/docs/images/exy.png +0 -0
  9. package/docs/images/interactive-mode.png +0 -0
  10. package/docs/images/tree-view.png +0 -0
  11. package/docs/json.md +5 -5
  12. package/docs/keybindings.md +3 -3
  13. package/docs/models.md +2 -2
  14. package/docs/packages.md +21 -21
  15. package/docs/prompt-templates.md +1 -1
  16. package/docs/providers.md +3 -1
  17. package/docs/rpc.md +1 -1
  18. package/docs/sdk.md +7 -5
  19. package/docs/session.md +4 -4
  20. package/docs/settings.md +0 -0
  21. package/docs/shell-aliases.md +0 -0
  22. package/docs/skills.md +2 -2
  23. package/docs/terminal-setup.md +1 -1
  24. package/docs/termux.md +0 -0
  25. package/docs/themes.md +1 -1
  26. package/docs/tmux.md +0 -0
  27. package/docs/tree.md +1 -1
  28. package/docs/tui.md +7 -7
  29. package/docs/windows.md +0 -0
  30. package/examples/README.md +0 -0
  31. package/examples/extensions/README.md +0 -0
  32. package/examples/extensions/antigravity-image-gen.ts +0 -0
  33. package/examples/extensions/auto-commit-on-exit.ts +0 -0
  34. package/examples/extensions/bash-spawn-hook.ts +0 -0
  35. package/examples/extensions/bookmark.ts +0 -0
  36. package/examples/extensions/built-in-tool-renderer.ts +0 -0
  37. package/examples/extensions/claude-rules.ts +0 -0
  38. package/examples/extensions/commands.ts +0 -0
  39. package/examples/extensions/confirm-destructive.ts +0 -0
  40. package/examples/extensions/custom-compaction.ts +0 -0
  41. package/examples/extensions/custom-footer.ts +0 -0
  42. package/examples/extensions/custom-header.ts +0 -0
  43. package/examples/extensions/custom-provider-anthropic/index.ts +0 -0
  44. package/examples/extensions/custom-provider-anthropic/package-lock.json +0 -0
  45. package/examples/extensions/custom-provider-anthropic/package.json +0 -0
  46. package/examples/extensions/custom-provider-gitlab-duo/index.ts +0 -0
  47. package/examples/extensions/custom-provider-gitlab-duo/package.json +0 -0
  48. package/examples/extensions/custom-provider-gitlab-duo/test.ts +0 -0
  49. package/examples/extensions/custom-provider-qwen-cli/index.ts +0 -0
  50. package/examples/extensions/custom-provider-qwen-cli/package.json +0 -0
  51. package/examples/extensions/dirty-repo-guard.ts +0 -0
  52. package/examples/extensions/doom-overlay/README.md +0 -0
  53. package/examples/extensions/doom-overlay/doom/build/doom.js +0 -0
  54. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -0
  55. package/examples/extensions/doom-overlay/doom-component.ts +0 -0
  56. package/examples/extensions/doom-overlay/doom-engine.ts +0 -0
  57. package/examples/extensions/doom-overlay/doom-keys.ts +0 -0
  58. package/examples/extensions/doom-overlay/index.ts +0 -0
  59. package/examples/extensions/doom-overlay/wad-finder.ts +0 -0
  60. package/examples/extensions/dynamic-resources/SKILL.md +0 -0
  61. package/examples/extensions/dynamic-resources/dynamic.json +0 -0
  62. package/examples/extensions/dynamic-resources/dynamic.md +0 -0
  63. package/examples/extensions/dynamic-resources/index.ts +0 -0
  64. package/examples/extensions/dynamic-tools.ts +0 -0
  65. package/examples/extensions/event-bus.ts +0 -0
  66. package/examples/extensions/file-trigger.ts +0 -0
  67. package/examples/extensions/git-checkpoint.ts +0 -0
  68. package/examples/extensions/handoff.ts +0 -0
  69. package/examples/extensions/hello.ts +0 -0
  70. package/examples/extensions/hidden-thinking-label.ts +0 -0
  71. package/examples/extensions/inline-bash.ts +0 -0
  72. package/examples/extensions/input-transform.ts +0 -0
  73. package/examples/extensions/interactive-shell.ts +0 -0
  74. package/examples/extensions/mac-system-theme.ts +0 -0
  75. package/examples/extensions/message-renderer.ts +0 -0
  76. package/examples/extensions/minimal-mode.ts +0 -0
  77. package/examples/extensions/modal-editor.ts +0 -0
  78. package/examples/extensions/model-status.ts +0 -0
  79. package/examples/extensions/notify.ts +0 -0
  80. package/examples/extensions/overlay-qa-tests.ts +0 -0
  81. package/examples/extensions/overlay-test.ts +0 -0
  82. package/examples/extensions/permission-gate.ts +0 -0
  83. package/examples/extensions/pirate.ts +0 -0
  84. package/examples/extensions/plan-mode/README.md +0 -0
  85. package/examples/extensions/plan-mode/index.ts +0 -0
  86. package/examples/extensions/plan-mode/utils.ts +0 -0
  87. package/examples/extensions/preset.ts +0 -0
  88. package/examples/extensions/protected-paths.ts +0 -0
  89. package/examples/extensions/provider-payload.ts +0 -0
  90. package/examples/extensions/qna.ts +0 -0
  91. package/examples/extensions/question.ts +0 -0
  92. package/examples/extensions/questionnaire.ts +0 -0
  93. package/examples/extensions/rainbow-editor.ts +0 -0
  94. package/examples/extensions/reload-runtime.ts +0 -0
  95. package/examples/extensions/rpc-demo.ts +0 -0
  96. package/examples/extensions/sandbox/index.ts +0 -0
  97. package/examples/extensions/sandbox/package-lock.json +0 -0
  98. package/examples/extensions/sandbox/package.json +0 -0
  99. package/examples/extensions/send-user-message.ts +0 -0
  100. package/examples/extensions/session-name.ts +0 -0
  101. package/examples/extensions/shutdown-command.ts +0 -0
  102. package/examples/extensions/snake.ts +0 -0
  103. package/examples/extensions/space-invaders.ts +0 -0
  104. package/examples/extensions/ssh.ts +0 -0
  105. package/examples/extensions/status-line.ts +0 -0
  106. package/examples/extensions/subagent/README.md +0 -0
  107. package/examples/extensions/subagent/agents/planner.md +0 -0
  108. package/examples/extensions/subagent/agents/reviewer.md +0 -0
  109. package/examples/extensions/subagent/agents/scout.md +0 -0
  110. package/examples/extensions/subagent/agents/worker.md +0 -0
  111. package/examples/extensions/subagent/agents.ts +0 -0
  112. package/examples/extensions/subagent/index.ts +0 -0
  113. package/examples/extensions/subagent/prompts/implement-and-review.md +0 -0
  114. package/examples/extensions/subagent/prompts/implement.md +0 -0
  115. package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -0
  116. package/examples/extensions/summarize.ts +0 -0
  117. package/examples/extensions/system-prompt-header.ts +0 -0
  118. package/examples/extensions/tic-tac-toe.ts +0 -0
  119. package/examples/extensions/timed-confirm.ts +0 -0
  120. package/examples/extensions/titlebar-spinner.ts +0 -0
  121. package/examples/extensions/todo.ts +0 -0
  122. package/examples/extensions/tool-override.ts +0 -0
  123. package/examples/extensions/tools.ts +0 -0
  124. package/examples/extensions/trigger-compact.ts +0 -0
  125. package/examples/extensions/truncated-tool.ts +0 -0
  126. package/examples/extensions/widget-placement.ts +0 -0
  127. package/examples/extensions/with-deps/index.ts +0 -0
  128. package/examples/extensions/with-deps/package-lock.json +0 -0
  129. package/examples/extensions/with-deps/package.json +0 -0
  130. package/examples/extensions/working-indicator.ts +0 -0
  131. package/examples/rpc-extension-ui.ts +0 -0
  132. package/examples/sdk/01-minimal.ts +0 -0
  133. package/examples/sdk/02-custom-model.ts +0 -0
  134. package/examples/sdk/03-custom-prompt.ts +0 -0
  135. package/examples/sdk/04-skills.ts +0 -0
  136. package/examples/sdk/05-tools.ts +0 -0
  137. package/examples/sdk/06-extensions.ts +0 -0
  138. package/examples/sdk/07-context-files.ts +0 -0
  139. package/examples/sdk/08-prompt-templates.ts +0 -0
  140. package/examples/sdk/09-api-keys-and-oauth.ts +0 -0
  141. package/examples/sdk/10-settings.ts +0 -0
  142. package/examples/sdk/11-sessions.ts +0 -0
  143. package/examples/sdk/12-full-control.ts +0 -0
  144. package/examples/sdk/13-session-runtime.ts +0 -0
  145. package/examples/sdk/README.md +0 -0
  146. package/package.json +4 -4
  147. package/dist/bun/cli.d.ts +0 -3
  148. package/dist/bun/cli.d.ts.map +0 -1
  149. package/dist/bun/cli.js +0 -7
  150. package/dist/bun/cli.js.map +0 -1
  151. package/dist/bun/register-bedrock.d.ts +0 -2
  152. package/dist/bun/register-bedrock.d.ts.map +0 -1
  153. package/dist/bun/register-bedrock.js +0 -4
  154. package/dist/bun/register-bedrock.js.map +0 -1
  155. package/dist/cli/args.d.ts +0 -52
  156. package/dist/cli/args.d.ts.map +0 -1
  157. package/dist/cli/args.js +0 -321
  158. package/dist/cli/args.js.map +0 -1
  159. package/dist/cli/config-selector.d.ts +0 -14
  160. package/dist/cli/config-selector.d.ts.map +0 -1
  161. package/dist/cli/config-selector.js +0 -31
  162. package/dist/cli/config-selector.js.map +0 -1
  163. package/dist/cli/file-processor.d.ts +0 -15
  164. package/dist/cli/file-processor.d.ts.map +0 -1
  165. package/dist/cli/file-processor.js +0 -83
  166. package/dist/cli/file-processor.js.map +0 -1
  167. package/dist/cli/initial-message.d.ts +0 -18
  168. package/dist/cli/initial-message.d.ts.map +0 -1
  169. package/dist/cli/initial-message.js +0 -22
  170. package/dist/cli/initial-message.js.map +0 -1
  171. package/dist/cli/list-models.d.ts +0 -9
  172. package/dist/cli/list-models.d.ts.map +0 -1
  173. package/dist/cli/list-models.js +0 -97
  174. package/dist/cli/list-models.js.map +0 -1
  175. package/dist/cli/session-picker.d.ts +0 -9
  176. package/dist/cli/session-picker.d.ts.map +0 -1
  177. package/dist/cli/session-picker.js +0 -35
  178. package/dist/cli/session-picker.js.map +0 -1
  179. package/dist/cli.d.ts +0 -3
  180. package/dist/cli.d.ts.map +0 -1
  181. package/dist/cli.js +0 -15
  182. package/dist/cli.js.map +0 -1
  183. package/dist/config.d.ts +0 -77
  184. package/dist/config.d.ts.map +0 -1
  185. package/dist/config.js +0 -221
  186. package/dist/config.js.map +0 -1
  187. package/dist/core/agent-session-runtime.d.ts +0 -99
  188. package/dist/core/agent-session-runtime.d.ts.map +0 -1
  189. package/dist/core/agent-session-runtime.js +0 -261
  190. package/dist/core/agent-session-runtime.js.map +0 -1
  191. package/dist/core/agent-session-services.d.ts +0 -85
  192. package/dist/core/agent-session-services.d.ts.map +0 -1
  193. package/dist/core/agent-session-services.js +0 -116
  194. package/dist/core/agent-session-services.js.map +0 -1
  195. package/dist/core/agent-session.d.ts +0 -590
  196. package/dist/core/agent-session.d.ts.map +0 -1
  197. package/dist/core/agent-session.js +0 -2505
  198. package/dist/core/agent-session.js.map +0 -1
  199. package/dist/core/auth-storage.d.ts +0 -132
  200. package/dist/core/auth-storage.d.ts.map +0 -1
  201. package/dist/core/auth-storage.js +0 -422
  202. package/dist/core/auth-storage.js.map +0 -1
  203. package/dist/core/bash-executor.d.ts +0 -32
  204. package/dist/core/bash-executor.d.ts.map +0 -1
  205. package/dist/core/bash-executor.js +0 -108
  206. package/dist/core/bash-executor.js.map +0 -1
  207. package/dist/core/compaction/branch-summarization.d.ts +0 -88
  208. package/dist/core/compaction/branch-summarization.d.ts.map +0 -1
  209. package/dist/core/compaction/branch-summarization.js +0 -243
  210. package/dist/core/compaction/branch-summarization.js.map +0 -1
  211. package/dist/core/compaction/compaction.d.ts +0 -121
  212. package/dist/core/compaction/compaction.d.ts.map +0 -1
  213. package/dist/core/compaction/compaction.js +0 -615
  214. package/dist/core/compaction/compaction.js.map +0 -1
  215. package/dist/core/compaction/index.d.ts +0 -7
  216. package/dist/core/compaction/index.d.ts.map +0 -1
  217. package/dist/core/compaction/index.js +0 -7
  218. package/dist/core/compaction/index.js.map +0 -1
  219. package/dist/core/compaction/utils.d.ts +0 -38
  220. package/dist/core/compaction/utils.d.ts.map +0 -1
  221. package/dist/core/compaction/utils.js +0 -153
  222. package/dist/core/compaction/utils.js.map +0 -1
  223. package/dist/core/defaults.d.ts +0 -3
  224. package/dist/core/defaults.d.ts.map +0 -1
  225. package/dist/core/defaults.js +0 -2
  226. package/dist/core/defaults.js.map +0 -1
  227. package/dist/core/diagnostics.d.ts +0 -15
  228. package/dist/core/diagnostics.d.ts.map +0 -1
  229. package/dist/core/diagnostics.js +0 -2
  230. package/dist/core/diagnostics.js.map +0 -1
  231. package/dist/core/event-bus.d.ts +0 -9
  232. package/dist/core/event-bus.d.ts.map +0 -1
  233. package/dist/core/event-bus.js +0 -25
  234. package/dist/core/event-bus.js.map +0 -1
  235. package/dist/core/exec.d.ts +0 -29
  236. package/dist/core/exec.d.ts.map +0 -1
  237. package/dist/core/exec.js +0 -75
  238. package/dist/core/exec.js.map +0 -1
  239. package/dist/core/export-html/ansi-to-html.d.ts +0 -22
  240. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  241. package/dist/core/export-html/ansi-to-html.js +0 -249
  242. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  243. package/dist/core/export-html/index.d.ts +0 -37
  244. package/dist/core/export-html/index.d.ts.map +0 -1
  245. package/dist/core/export-html/index.js +0 -224
  246. package/dist/core/export-html/index.js.map +0 -1
  247. package/dist/core/export-html/template.css +0 -1017
  248. package/dist/core/export-html/template.html +0 -55
  249. package/dist/core/export-html/template.js +0 -1729
  250. package/dist/core/export-html/tool-renderer.d.ts +0 -40
  251. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  252. package/dist/core/export-html/tool-renderer.js +0 -95
  253. package/dist/core/export-html/tool-renderer.js.map +0 -1
  254. package/dist/core/export-html/vendor/highlight.min.js +0 -1213
  255. package/dist/core/export-html/vendor/marked.min.js +0 -6
  256. package/dist/core/extensions/index.d.ts +0 -12
  257. package/dist/core/extensions/index.d.ts.map +0 -1
  258. package/dist/core/extensions/index.js +0 -9
  259. package/dist/core/extensions/index.js.map +0 -1
  260. package/dist/core/extensions/loader.d.ts +0 -25
  261. package/dist/core/extensions/loader.d.ts.map +0 -1
  262. package/dist/core/extensions/loader.js +0 -436
  263. package/dist/core/extensions/loader.js.map +0 -1
  264. package/dist/core/extensions/runner.d.ts +0 -150
  265. package/dist/core/extensions/runner.d.ts.map +0 -1
  266. package/dist/core/extensions/runner.js +0 -706
  267. package/dist/core/extensions/runner.js.map +0 -1
  268. package/dist/core/extensions/types.d.ts +0 -1111
  269. package/dist/core/extensions/types.d.ts.map +0 -1
  270. package/dist/core/extensions/types.js +0 -45
  271. package/dist/core/extensions/types.js.map +0 -1
  272. package/dist/core/extensions/wrapper.d.ts +0 -20
  273. package/dist/core/extensions/wrapper.d.ts.map +0 -1
  274. package/dist/core/extensions/wrapper.js +0 -22
  275. package/dist/core/extensions/wrapper.js.map +0 -1
  276. package/dist/core/footer-data-provider.d.ts +0 -48
  277. package/dist/core/footer-data-provider.d.ts.map +0 -1
  278. package/dist/core/footer-data-provider.js +0 -314
  279. package/dist/core/footer-data-provider.js.map +0 -1
  280. package/dist/core/index.d.ts +0 -12
  281. package/dist/core/index.d.ts.map +0 -1
  282. package/dist/core/index.js +0 -12
  283. package/dist/core/index.js.map +0 -1
  284. package/dist/core/keybindings.d.ts +0 -353
  285. package/dist/core/keybindings.d.ts.map +0 -1
  286. package/dist/core/keybindings.js +0 -295
  287. package/dist/core/keybindings.js.map +0 -1
  288. package/dist/core/messages.d.ts +0 -77
  289. package/dist/core/messages.d.ts.map +0 -1
  290. package/dist/core/messages.js +0 -123
  291. package/dist/core/messages.js.map +0 -1
  292. package/dist/core/model-registry.d.ts +0 -132
  293. package/dist/core/model-registry.d.ts.map +0 -1
  294. package/dist/core/model-registry.js +0 -635
  295. package/dist/core/model-registry.js.map +0 -1
  296. package/dist/core/model-resolver.d.ts +0 -110
  297. package/dist/core/model-resolver.d.ts.map +0 -1
  298. package/dist/core/model-resolver.js +0 -486
  299. package/dist/core/model-resolver.js.map +0 -1
  300. package/dist/core/output-guard.d.ts +0 -6
  301. package/dist/core/output-guard.d.ts.map +0 -1
  302. package/dist/core/output-guard.js +0 -59
  303. package/dist/core/output-guard.js.map +0 -1
  304. package/dist/core/package-manager.d.ts +0 -194
  305. package/dist/core/package-manager.d.ts.map +0 -1
  306. package/dist/core/package-manager.js +0 -1882
  307. package/dist/core/package-manager.js.map +0 -1
  308. package/dist/core/prompt-templates.d.ts +0 -52
  309. package/dist/core/prompt-templates.d.ts.map +0 -1
  310. package/dist/core/prompt-templates.js +0 -250
  311. package/dist/core/prompt-templates.js.map +0 -1
  312. package/dist/core/resolve-config-value.d.ts +0 -23
  313. package/dist/core/resolve-config-value.d.ts.map +0 -1
  314. package/dist/core/resolve-config-value.js +0 -126
  315. package/dist/core/resolve-config-value.js.map +0 -1
  316. package/dist/core/resource-loader.d.ts +0 -194
  317. package/dist/core/resource-loader.d.ts.map +0 -1
  318. package/dist/core/resource-loader.js +0 -726
  319. package/dist/core/resource-loader.js.map +0 -1
  320. package/dist/core/sdk.d.ts +0 -99
  321. package/dist/core/sdk.d.ts.map +0 -1
  322. package/dist/core/sdk.js +0 -261
  323. package/dist/core/sdk.js.map +0 -1
  324. package/dist/core/session-cwd.d.ts +0 -19
  325. package/dist/core/session-cwd.d.ts.map +0 -1
  326. package/dist/core/session-cwd.js +0 -38
  327. package/dist/core/session-cwd.js.map +0 -1
  328. package/dist/core/session-manager.d.ts +0 -333
  329. package/dist/core/session-manager.d.ts.map +0 -1
  330. package/dist/core/session-manager.js +0 -1109
  331. package/dist/core/session-manager.js.map +0 -1
  332. package/dist/core/settings-manager.d.ts +0 -240
  333. package/dist/core/settings-manager.d.ts.map +0 -1
  334. package/dist/core/settings-manager.js +0 -711
  335. package/dist/core/settings-manager.js.map +0 -1
  336. package/dist/core/skills.d.ts +0 -60
  337. package/dist/core/skills.d.ts.map +0 -1
  338. package/dist/core/skills.js +0 -409
  339. package/dist/core/skills.js.map +0 -1
  340. package/dist/core/slash-commands.d.ts +0 -14
  341. package/dist/core/slash-commands.d.ts.map +0 -1
  342. package/dist/core/slash-commands.js +0 -24
  343. package/dist/core/slash-commands.js.map +0 -1
  344. package/dist/core/source-info.d.ts +0 -18
  345. package/dist/core/source-info.d.ts.map +0 -1
  346. package/dist/core/source-info.js +0 -19
  347. package/dist/core/source-info.js.map +0 -1
  348. package/dist/core/system-prompt.d.ts +0 -28
  349. package/dist/core/system-prompt.d.ts.map +0 -1
  350. package/dist/core/system-prompt.js +0 -120
  351. package/dist/core/system-prompt.js.map +0 -1
  352. package/dist/core/telemetry.d.ts +0 -3
  353. package/dist/core/telemetry.d.ts.map +0 -1
  354. package/dist/core/telemetry.js +0 -9
  355. package/dist/core/telemetry.js.map +0 -1
  356. package/dist/core/timings.d.ts +0 -8
  357. package/dist/core/timings.d.ts.map +0 -1
  358. package/dist/core/timings.js +0 -31
  359. package/dist/core/timings.js.map +0 -1
  360. package/dist/core/tools/bash.d.ts +0 -64
  361. package/dist/core/tools/bash.d.ts.map +0 -1
  362. package/dist/core/tools/bash.js +0 -355
  363. package/dist/core/tools/bash.js.map +0 -1
  364. package/dist/core/tools/edit-diff.d.ts +0 -85
  365. package/dist/core/tools/edit-diff.d.ts.map +0 -1
  366. package/dist/core/tools/edit-diff.js +0 -337
  367. package/dist/core/tools/edit-diff.js.map +0 -1
  368. package/dist/core/tools/edit.d.ts +0 -49
  369. package/dist/core/tools/edit.d.ts.map +0 -1
  370. package/dist/core/tools/edit.js +0 -323
  371. package/dist/core/tools/edit.js.map +0 -1
  372. package/dist/core/tools/file-mutation-queue.d.ts +0 -6
  373. package/dist/core/tools/file-mutation-queue.d.ts.map +0 -1
  374. package/dist/core/tools/file-mutation-queue.js +0 -37
  375. package/dist/core/tools/file-mutation-queue.js.map +0 -1
  376. package/dist/core/tools/find.d.ts +0 -35
  377. package/dist/core/tools/find.d.ts.map +0 -1
  378. package/dist/core/tools/find.js +0 -298
  379. package/dist/core/tools/find.js.map +0 -1
  380. package/dist/core/tools/grep.d.ts +0 -37
  381. package/dist/core/tools/grep.d.ts.map +0 -1
  382. package/dist/core/tools/grep.js +0 -304
  383. package/dist/core/tools/grep.js.map +0 -1
  384. package/dist/core/tools/index.d.ts +0 -40
  385. package/dist/core/tools/index.d.ts.map +0 -1
  386. package/dist/core/tools/index.js +0 -112
  387. package/dist/core/tools/index.js.map +0 -1
  388. package/dist/core/tools/ls.d.ts +0 -37
  389. package/dist/core/tools/ls.d.ts.map +0 -1
  390. package/dist/core/tools/ls.js +0 -169
  391. package/dist/core/tools/ls.js.map +0 -1
  392. package/dist/core/tools/path-utils.d.ts +0 -8
  393. package/dist/core/tools/path-utils.d.ts.map +0 -1
  394. package/dist/core/tools/path-utils.js +0 -81
  395. package/dist/core/tools/path-utils.js.map +0 -1
  396. package/dist/core/tools/read.d.ts +0 -35
  397. package/dist/core/tools/read.d.ts.map +0 -1
  398. package/dist/core/tools/read.js +0 -232
  399. package/dist/core/tools/read.js.map +0 -1
  400. package/dist/core/tools/render-utils.d.ts +0 -21
  401. package/dist/core/tools/render-utils.d.ts.map +0 -1
  402. package/dist/core/tools/render-utils.js +0 -49
  403. package/dist/core/tools/render-utils.js.map +0 -1
  404. package/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
  405. package/dist/core/tools/tool-definition-wrapper.d.ts.map +0 -1
  406. package/dist/core/tools/tool-definition-wrapper.js +0 -34
  407. package/dist/core/tools/tool-definition-wrapper.js.map +0 -1
  408. package/dist/core/tools/truncate.d.ts +0 -70
  409. package/dist/core/tools/truncate.d.ts.map +0 -1
  410. package/dist/core/tools/truncate.js +0 -205
  411. package/dist/core/tools/truncate.js.map +0 -1
  412. package/dist/core/tools/write.d.ts +0 -26
  413. package/dist/core/tools/write.d.ts.map +0 -1
  414. package/dist/core/tools/write.js +0 -213
  415. package/dist/core/tools/write.js.map +0 -1
  416. package/dist/index.d.ts +0 -28
  417. package/dist/index.d.ts.map +0 -1
  418. package/dist/index.js +0 -41
  419. package/dist/index.js.map +0 -1
  420. package/dist/main.d.ts +0 -12
  421. package/dist/main.d.ts.map +0 -1
  422. package/dist/main.js +0 -589
  423. package/dist/main.js.map +0 -1
  424. package/dist/migrations.d.ts +0 -33
  425. package/dist/migrations.d.ts.map +0 -1
  426. package/dist/migrations.js +0 -281
  427. package/dist/migrations.js.map +0 -1
  428. package/dist/modes/index.d.ts +0 -9
  429. package/dist/modes/index.d.ts.map +0 -1
  430. package/dist/modes/index.js +0 -8
  431. package/dist/modes/index.js.map +0 -1
  432. package/dist/modes/interactive/assets/clankolas.png +0 -0
  433. package/dist/modes/interactive/components/aery-splash.d.ts +0 -18
  434. package/dist/modes/interactive/components/aery-splash.d.ts.map +0 -1
  435. package/dist/modes/interactive/components/aery-splash.js +0 -60
  436. package/dist/modes/interactive/components/aery-splash.js.map +0 -1
  437. package/dist/modes/interactive/components/armin.d.ts +0 -34
  438. package/dist/modes/interactive/components/armin.d.ts.map +0 -1
  439. package/dist/modes/interactive/components/armin.js +0 -333
  440. package/dist/modes/interactive/components/armin.js.map +0 -1
  441. package/dist/modes/interactive/components/assistant-message.d.ts +0 -20
  442. package/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
  443. package/dist/modes/interactive/components/assistant-message.js +0 -121
  444. package/dist/modes/interactive/components/assistant-message.js.map +0 -1
  445. package/dist/modes/interactive/components/bash-execution.d.ts +0 -34
  446. package/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
  447. package/dist/modes/interactive/components/bash-execution.js +0 -175
  448. package/dist/modes/interactive/components/bash-execution.js.map +0 -1
  449. package/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  450. package/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
  451. package/dist/modes/interactive/components/bordered-loader.js +0 -54
  452. package/dist/modes/interactive/components/bordered-loader.js.map +0 -1
  453. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  454. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
  455. package/dist/modes/interactive/components/branch-summary-message.js +0 -44
  456. package/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
  457. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  458. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
  459. package/dist/modes/interactive/components/compaction-summary-message.js +0 -45
  460. package/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
  461. package/dist/modes/interactive/components/config-selector.d.ts +0 -71
  462. package/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
  463. package/dist/modes/interactive/components/config-selector.js +0 -479
  464. package/dist/modes/interactive/components/config-selector.js.map +0 -1
  465. package/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  466. package/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
  467. package/dist/modes/interactive/components/countdown-timer.js +0 -33
  468. package/dist/modes/interactive/components/countdown-timer.js.map +0 -1
  469. package/dist/modes/interactive/components/custom-editor.d.ts +0 -21
  470. package/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
  471. package/dist/modes/interactive/components/custom-editor.js +0 -70
  472. package/dist/modes/interactive/components/custom-editor.js.map +0 -1
  473. package/dist/modes/interactive/components/custom-message.d.ts +0 -20
  474. package/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
  475. package/dist/modes/interactive/components/custom-message.js +0 -79
  476. package/dist/modes/interactive/components/custom-message.js.map +0 -1
  477. package/dist/modes/interactive/components/daxnuts.d.ts +0 -23
  478. package/dist/modes/interactive/components/daxnuts.d.ts.map +0 -1
  479. package/dist/modes/interactive/components/daxnuts.js +0 -140
  480. package/dist/modes/interactive/components/daxnuts.js.map +0 -1
  481. package/dist/modes/interactive/components/diff.d.ts +0 -12
  482. package/dist/modes/interactive/components/diff.d.ts.map +0 -1
  483. package/dist/modes/interactive/components/diff.js +0 -133
  484. package/dist/modes/interactive/components/diff.js.map +0 -1
  485. package/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  486. package/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
  487. package/dist/modes/interactive/components/dynamic-border.js +0 -21
  488. package/dist/modes/interactive/components/dynamic-border.js.map +0 -1
  489. package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  490. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +0 -1
  491. package/dist/modes/interactive/components/earendil-announcement.js +0 -40
  492. package/dist/modes/interactive/components/earendil-announcement.js.map +0 -1
  493. package/dist/modes/interactive/components/extension-editor.d.ts +0 -20
  494. package/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
  495. package/dist/modes/interactive/components/extension-editor.js +0 -111
  496. package/dist/modes/interactive/components/extension-editor.js.map +0 -1
  497. package/dist/modes/interactive/components/extension-input.d.ts +0 -23
  498. package/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
  499. package/dist/modes/interactive/components/extension-input.js +0 -61
  500. package/dist/modes/interactive/components/extension-input.js.map +0 -1
  501. package/dist/modes/interactive/components/extension-selector.d.ts +0 -24
  502. package/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
  503. package/dist/modes/interactive/components/extension-selector.js +0 -78
  504. package/dist/modes/interactive/components/extension-selector.js.map +0 -1
  505. package/dist/modes/interactive/components/footer.d.ts +0 -27
  506. package/dist/modes/interactive/components/footer.d.ts.map +0 -1
  507. package/dist/modes/interactive/components/footer.js +0 -201
  508. package/dist/modes/interactive/components/footer.js.map +0 -1
  509. package/dist/modes/interactive/components/index.d.ts +0 -32
  510. package/dist/modes/interactive/components/index.d.ts.map +0 -1
  511. package/dist/modes/interactive/components/index.js +0 -33
  512. package/dist/modes/interactive/components/index.js.map +0 -1
  513. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -8
  514. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
  515. package/dist/modes/interactive/components/keybinding-hints.js +0 -22
  516. package/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
  517. package/dist/modes/interactive/components/login-dialog.d.ts +0 -42
  518. package/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
  519. package/dist/modes/interactive/components/login-dialog.js +0 -145
  520. package/dist/modes/interactive/components/login-dialog.js.map +0 -1
  521. package/dist/modes/interactive/components/model-selector.d.ts +0 -47
  522. package/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
  523. package/dist/modes/interactive/components/model-selector.js +0 -278
  524. package/dist/modes/interactive/components/model-selector.js.map +0 -1
  525. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -19
  526. package/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
  527. package/dist/modes/interactive/components/oauth-selector.js +0 -97
  528. package/dist/modes/interactive/components/oauth-selector.js.map +0 -1
  529. package/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -42
  530. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
  531. package/dist/modes/interactive/components/scoped-models-selector.js +0 -290
  532. package/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
  533. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  534. package/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
  535. package/dist/modes/interactive/components/session-selector-search.js +0 -155
  536. package/dist/modes/interactive/components/session-selector-search.js.map +0 -1
  537. package/dist/modes/interactive/components/session-selector.d.ts +0 -96
  538. package/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
  539. package/dist/modes/interactive/components/session-selector.js +0 -865
  540. package/dist/modes/interactive/components/session-selector.js.map +0 -1
  541. package/dist/modes/interactive/components/settings-selector.d.ts +0 -60
  542. package/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
  543. package/dist/modes/interactive/components/settings-selector.js +0 -311
  544. package/dist/modes/interactive/components/settings-selector.js.map +0 -1
  545. package/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  546. package/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
  547. package/dist/modes/interactive/components/show-images-selector.js +0 -39
  548. package/dist/modes/interactive/components/show-images-selector.js.map +0 -1
  549. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  550. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
  551. package/dist/modes/interactive/components/skill-invocation-message.js +0 -47
  552. package/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
  553. package/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  554. package/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
  555. package/dist/modes/interactive/components/theme-selector.js +0 -50
  556. package/dist/modes/interactive/components/theme-selector.js.map +0 -1
  557. package/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
  558. package/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
  559. package/dist/modes/interactive/components/thinking-selector.js +0 -51
  560. package/dist/modes/interactive/components/thinking-selector.js.map +0 -1
  561. package/dist/modes/interactive/components/tool-execution.d.ts +0 -60
  562. package/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
  563. package/dist/modes/interactive/components/tool-execution.js +0 -289
  564. package/dist/modes/interactive/components/tool-execution.js.map +0 -1
  565. package/dist/modes/interactive/components/tree-selector.d.ts +0 -89
  566. package/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
  567. package/dist/modes/interactive/components/tree-selector.js +0 -1092
  568. package/dist/modes/interactive/components/tree-selector.js.map +0 -1
  569. package/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  570. package/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
  571. package/dist/modes/interactive/components/user-message-selector.js +0 -114
  572. package/dist/modes/interactive/components/user-message-selector.js.map +0 -1
  573. package/dist/modes/interactive/components/user-message.d.ts +0 -10
  574. package/dist/modes/interactive/components/user-message.d.ts.map +0 -1
  575. package/dist/modes/interactive/components/user-message.js +0 -29
  576. package/dist/modes/interactive/components/user-message.js.map +0 -1
  577. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
  578. package/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
  579. package/dist/modes/interactive/components/visual-truncate.js +0 -33
  580. package/dist/modes/interactive/components/visual-truncate.js.map +0 -1
  581. package/dist/modes/interactive/interactive-mode.d.ts +0 -344
  582. package/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
  583. package/dist/modes/interactive/interactive-mode.js +0 -4352
  584. package/dist/modes/interactive/interactive-mode.js.map +0 -1
  585. package/dist/modes/interactive/theme/aery.json +0 -84
  586. package/dist/modes/interactive/theme/catppuccin-mocha.json +0 -81
  587. package/dist/modes/interactive/theme/dark.json +0 -85
  588. package/dist/modes/interactive/theme/dracula.json +0 -81
  589. package/dist/modes/interactive/theme/light.json +0 -84
  590. package/dist/modes/interactive/theme/nord.json +0 -81
  591. package/dist/modes/interactive/theme/theme-schema.json +0 -335
  592. package/dist/modes/interactive/theme/theme.d.ts +0 -81
  593. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  594. package/dist/modes/interactive/theme/theme.js +0 -979
  595. package/dist/modes/interactive/theme/theme.js.map +0 -1
  596. package/dist/modes/interactive/theme/tokyo-night.json +0 -81
  597. package/dist/modes/print-mode.d.ts +0 -28
  598. package/dist/modes/print-mode.d.ts.map +0 -1
  599. package/dist/modes/print-mode.js +0 -141
  600. package/dist/modes/print-mode.js.map +0 -1
  601. package/dist/modes/rpc/jsonl.d.ts +0 -17
  602. package/dist/modes/rpc/jsonl.d.ts.map +0 -1
  603. package/dist/modes/rpc/jsonl.js +0 -49
  604. package/dist/modes/rpc/jsonl.js.map +0 -1
  605. package/dist/modes/rpc/rpc-client.d.ts +0 -224
  606. package/dist/modes/rpc/rpc-client.d.ts.map +0 -1
  607. package/dist/modes/rpc/rpc-client.js +0 -410
  608. package/dist/modes/rpc/rpc-client.js.map +0 -1
  609. package/dist/modes/rpc/rpc-mode.d.ts +0 -20
  610. package/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
  611. package/dist/modes/rpc/rpc-mode.js +0 -601
  612. package/dist/modes/rpc/rpc-mode.js.map +0 -1
  613. package/dist/modes/rpc/rpc-types.d.ts +0 -419
  614. package/dist/modes/rpc/rpc-types.d.ts.map +0 -1
  615. package/dist/modes/rpc/rpc-types.js +0 -8
  616. package/dist/modes/rpc/rpc-types.js.map +0 -1
  617. package/dist/package-manager-cli.d.ts +0 -4
  618. package/dist/package-manager-cli.d.ts.map +0 -1
  619. package/dist/package-manager-cli.js +0 -234
  620. package/dist/package-manager-cli.js.map +0 -1
  621. package/dist/utils/changelog.d.ts +0 -21
  622. package/dist/utils/changelog.d.ts.map +0 -1
  623. package/dist/utils/changelog.js +0 -87
  624. package/dist/utils/changelog.js.map +0 -1
  625. package/dist/utils/child-process.d.ts +0 -11
  626. package/dist/utils/child-process.d.ts.map +0 -1
  627. package/dist/utils/child-process.js +0 -78
  628. package/dist/utils/child-process.js.map +0 -1
  629. package/dist/utils/clipboard-image.d.ts +0 -11
  630. package/dist/utils/clipboard-image.d.ts.map +0 -1
  631. package/dist/utils/clipboard-image.js +0 -245
  632. package/dist/utils/clipboard-image.js.map +0 -1
  633. package/dist/utils/clipboard-native.d.ts +0 -8
  634. package/dist/utils/clipboard-native.d.ts.map +0 -1
  635. package/dist/utils/clipboard-native.js +0 -14
  636. package/dist/utils/clipboard-native.js.map +0 -1
  637. package/dist/utils/clipboard.d.ts +0 -2
  638. package/dist/utils/clipboard.d.ts.map +0 -1
  639. package/dist/utils/clipboard.js +0 -78
  640. package/dist/utils/clipboard.js.map +0 -1
  641. package/dist/utils/exif-orientation.d.ts +0 -5
  642. package/dist/utils/exif-orientation.d.ts.map +0 -1
  643. package/dist/utils/exif-orientation.js +0 -158
  644. package/dist/utils/exif-orientation.js.map +0 -1
  645. package/dist/utils/frontmatter.d.ts +0 -8
  646. package/dist/utils/frontmatter.d.ts.map +0 -1
  647. package/dist/utils/frontmatter.js +0 -26
  648. package/dist/utils/frontmatter.js.map +0 -1
  649. package/dist/utils/git.d.ts +0 -26
  650. package/dist/utils/git.d.ts.map +0 -1
  651. package/dist/utils/git.js +0 -163
  652. package/dist/utils/git.js.map +0 -1
  653. package/dist/utils/image-convert.d.ts +0 -9
  654. package/dist/utils/image-convert.d.ts.map +0 -1
  655. package/dist/utils/image-convert.js +0 -39
  656. package/dist/utils/image-convert.js.map +0 -1
  657. package/dist/utils/image-resize.d.ts +0 -36
  658. package/dist/utils/image-resize.d.ts.map +0 -1
  659. package/dist/utils/image-resize.js +0 -137
  660. package/dist/utils/image-resize.js.map +0 -1
  661. package/dist/utils/mime.d.ts +0 -2
  662. package/dist/utils/mime.d.ts.map +0 -1
  663. package/dist/utils/mime.js +0 -26
  664. package/dist/utils/mime.js.map +0 -1
  665. package/dist/utils/paths.d.ts +0 -7
  666. package/dist/utils/paths.d.ts.map +0 -1
  667. package/dist/utils/paths.js +0 -19
  668. package/dist/utils/paths.js.map +0 -1
  669. package/dist/utils/photon.d.ts +0 -21
  670. package/dist/utils/photon.d.ts.map +0 -1
  671. package/dist/utils/photon.js +0 -121
  672. package/dist/utils/photon.js.map +0 -1
  673. package/dist/utils/shell.d.ts +0 -29
  674. package/dist/utils/shell.d.ts.map +0 -1
  675. package/dist/utils/shell.js +0 -203
  676. package/dist/utils/shell.js.map +0 -1
  677. package/dist/utils/sleep.d.ts +0 -5
  678. package/dist/utils/sleep.d.ts.map +0 -1
  679. package/dist/utils/sleep.js +0 -17
  680. package/dist/utils/sleep.js.map +0 -1
  681. package/dist/utils/tools-manager.d.ts +0 -3
  682. package/dist/utils/tools-manager.d.ts.map +0 -1
  683. package/dist/utils/tools-manager.js +0 -252
  684. package/dist/utils/tools-manager.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-session-runtime.js","sourceRoot":"","sources":["../../src/core/agent-session-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { copyFileSync, existsSync, mkdirSync } from \"node:fs\";\nimport { basename, join, resolve } from \"node:path\";\nimport type { AgentSession } from \"./agent-session.js\";\nimport type { AgentSessionRuntimeDiagnostic, AgentSessionServices } from \"./agent-session-services.js\";\nimport type { SessionStartEvent } from \"./extensions/index.js\";\nimport { emitSessionShutdownEvent } from \"./extensions/runner.js\";\nimport type { CreateAgentSessionResult } from \"./sdk.js\";\nimport { assertSessionCwdExists } from \"./session-cwd.js\";\nimport { SessionManager } from \"./session-manager.js\";\n\n/**\n * Result returned by runtime creation.\n *\n * The caller gets the created session, its cwd-bound services, and all\n * diagnostics collected during setup.\n */\nexport interface CreateAgentSessionRuntimeResult extends CreateAgentSessionResult {\n\tservices: AgentSessionServices;\n\tdiagnostics: AgentSessionRuntimeDiagnostic[];\n}\n\n/**\n * Creates a full runtime for a target cwd and session manager.\n *\n * The factory closes over process-global fixed inputs, recreates cwd-bound\n * services for the effective cwd, resolves session options against those\n * services, and finally creates the AgentSession.\n */\nexport type CreateAgentSessionRuntimeFactory = (options: {\n\tcwd: string;\n\tagentDir: string;\n\tsessionManager: SessionManager;\n\tsessionStartEvent?: SessionStartEvent;\n}) => Promise<CreateAgentSessionRuntimeResult>;\n\n/**\n * Thrown when /import references a JSONL file path that does not exist.\n */\nexport class SessionImportFileNotFoundError extends Error {\n\treadonly filePath: string;\n\n\tconstructor(filePath: string) {\n\t\tsuper(`File not found: ${filePath}`);\n\t\tthis.name = \"SessionImportFileNotFoundError\";\n\t\tthis.filePath = filePath;\n\t}\n}\n\nfunction extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string {\n\tif (typeof content === \"string\") {\n\t\treturn content;\n\t}\n\n\treturn content\n\t\t.filter((part): part is { type: \"text\"; text: string } => part.type === \"text\" && typeof part.text === \"string\")\n\t\t.map((part) => part.text)\n\t\t.join(\"\");\n}\n\n/**\n * Owns the current AgentSession plus its cwd-bound services.\n *\n * Session replacement methods tear down the current runtime first, then create\n * and apply the next runtime. If creation fails, the error is propagated to the\n * caller. The caller is responsible for user-facing error handling.\n */\nexport class AgentSessionRuntime {\n\tconstructor(\n\t\tprivate _session: AgentSession,\n\t\tprivate _services: AgentSessionServices,\n\t\tprivate readonly createRuntime: CreateAgentSessionRuntimeFactory,\n\t\tprivate _diagnostics: AgentSessionRuntimeDiagnostic[] = [],\n\t\tprivate _modelFallbackMessage?: string,\n\t) {}\n\n\tget services(): AgentSessionServices {\n\t\treturn this._services;\n\t}\n\n\tget session(): AgentSession {\n\t\treturn this._session;\n\t}\n\n\tget cwd(): string {\n\t\treturn this._services.cwd;\n\t}\n\n\tget diagnostics(): readonly AgentSessionRuntimeDiagnostic[] {\n\t\treturn this._diagnostics;\n\t}\n\n\tget modelFallbackMessage(): string | undefined {\n\t\treturn this._modelFallbackMessage;\n\t}\n\n\tprivate async emitBeforeSwitch(\n\t\treason: \"new\" | \"resume\",\n\t\ttargetSessionFile?: string,\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_switch\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_switch\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async emitBeforeFork(\n\t\tentryId: string,\n\t\toptions: { position: \"before\" | \"at\" },\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_fork\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_fork\",\n\t\t\tentryId,\n\t\t\t...options,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async teardownCurrent(): Promise<void> {\n\t\tawait emitSessionShutdownEvent(this.session.extensionRunner);\n\t\tthis.session.dispose();\n\t}\n\n\tprivate apply(result: CreateAgentSessionRuntimeResult): void {\n\t\tthis._session = result.session;\n\t\tthis._services = result.services;\n\t\tthis._diagnostics = result.diagnostics;\n\t\tthis._modelFallbackMessage = result.modelFallbackMessage;\n\t}\n\n\tasync switchSession(sessionPath: string, cwdOverride?: string): Promise<{ cancelled: boolean }> {\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", sessionPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionManager = SessionManager.open(sessionPath, undefined, cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\tawait this.teardownCurrent();\n\t\tthis.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t}),\n\t\t);\n\t\treturn { cancelled: false };\n\t}\n\n\tasync newSession(options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\t}): Promise<{ cancelled: boolean }> {\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"new\");\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tconst sessionManager = SessionManager.create(this.cwd, sessionDir);\n\t\tif (options?.parentSession) {\n\t\t\tsessionManager.newSession({ parentSession: options.parentSession });\n\t\t}\n\n\t\tawait this.teardownCurrent();\n\t\tthis.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"new\", previousSessionFile },\n\t\t\t}),\n\t\t);\n\t\tif (options?.setup) {\n\t\t\tawait options.setup(this.session.sessionManager);\n\t\t\tthis.session.agent.state.messages = this.session.sessionManager.buildSessionContext().messages;\n\t\t}\n\t\treturn { cancelled: false };\n\t}\n\n\tasync fork(\n\t\tentryId: string,\n\t\toptions?: { position?: \"before\" | \"at\" },\n\t): Promise<{ cancelled: boolean; selectedText?: string }> {\n\t\tconst position = options?.position ?? \"before\";\n\t\tconst beforeResult = await this.emitBeforeFork(entryId, { position });\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn { cancelled: true };\n\t\t}\n\t\tlet targetLeafId: string | null;\n\t\tlet selectedText: string | undefined;\n\n\t\tconst selectedEntry = this.session.sessionManager.getEntry(entryId);\n\t\tif (!selectedEntry) {\n\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t}\n\n\t\tif (position === \"at\") {\n\t\t\ttargetLeafId = selectedEntry.id;\n\t\t} else {\n\t\t\tif (selectedEntry.type !== \"message\" || selectedEntry.message.role !== \"user\") {\n\t\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t\t}\n\t\t\ttargetLeafId = selectedEntry.parentId;\n\t\t\tselectedText = extractUserMessageText(selectedEntry.message.content);\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tif (this.session.sessionManager.isPersisted()) {\n\t\t\tconst currentSessionFile = this.session.sessionFile;\n\t\t\tif (!currentSessionFile) {\n\t\t\t\tthrow new Error(\"Persisted session is missing a session file\");\n\t\t\t}\n\t\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\t\tif (!targetLeafId) {\n\t\t\t\tconst sessionManager = SessionManager.create(this.cwd, sessionDir);\n\t\t\t\tsessionManager.newSession({ parentSession: currentSessionFile });\n\t\t\t\tawait this.teardownCurrent();\n\t\t\t\tthis.apply(\n\t\t\t\t\tawait this.createRuntime({\n\t\t\t\t\t\tcwd: this.cwd,\n\t\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\treturn { cancelled: false, selectedText };\n\t\t\t}\n\n\t\t\tconst sourceManager = SessionManager.open(currentSessionFile, sessionDir);\n\t\t\tconst forkedSessionPath = sourceManager.createBranchedSession(targetLeafId);\n\t\t\tif (!forkedSessionPath) {\n\t\t\t\tthrow new Error(\"Failed to create forked session\");\n\t\t\t}\n\t\t\tconst sessionManager = SessionManager.open(forkedSessionPath, sessionDir);\n\t\t\tawait this.teardownCurrent();\n\t\t\tthis.apply(\n\t\t\t\tawait this.createRuntime({\n\t\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\tsessionManager,\n\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t}),\n\t\t\t);\n\t\t\treturn { cancelled: false, selectedText };\n\t\t}\n\n\t\tconst sessionManager = this.session.sessionManager;\n\t\tif (!targetLeafId) {\n\t\t\tsessionManager.newSession({ parentSession: this.session.sessionFile });\n\t\t} else {\n\t\t\tsessionManager.createBranchedSession(targetLeafId);\n\t\t}\n\t\tawait this.teardownCurrent();\n\t\tthis.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t}),\n\t\t);\n\t\treturn { cancelled: false, selectedText };\n\t}\n\n\t/**\n\t * Import a session JSONL file and switch runtime state to the imported session.\n\t *\n\t * @returns `{ cancelled: true }` when cancelled by `session_before_switch`, otherwise `{ cancelled: false }`.\n\t * @throws {SessionImportFileNotFoundError} When the input path does not exist.\n\t * @throws {MissingSessionCwdError} When the imported session cwd cannot be resolved and no override is provided.\n\t */\n\tasync importFromJsonl(inputPath: string, cwdOverride?: string): Promise<{ cancelled: boolean }> {\n\t\tconst resolvedPath = resolve(inputPath);\n\t\tif (!existsSync(resolvedPath)) {\n\t\t\tthrow new SessionImportFileNotFoundError(resolvedPath);\n\t\t}\n\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tif (!existsSync(sessionDir)) {\n\t\t\tmkdirSync(sessionDir, { recursive: true });\n\t\t}\n\n\t\tconst destinationPath = join(sessionDir, basename(resolvedPath));\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", destinationPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tif (resolve(destinationPath) !== resolvedPath) {\n\t\t\tcopyFileSync(resolvedPath, destinationPath);\n\t\t}\n\n\t\tconst sessionManager = SessionManager.open(destinationPath, sessionDir, cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\tawait this.teardownCurrent();\n\t\tthis.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t}),\n\t\t);\n\t\treturn { cancelled: false };\n\t}\n\n\tasync dispose(): Promise<void> {\n\t\tawait emitSessionShutdownEvent(this.session.extensionRunner);\n\t\tthis.session.dispose();\n\t}\n}\n\n/**\n * Create the initial runtime from a runtime factory and initial session target.\n *\n * The same factory is stored on the returned AgentSessionRuntime and reused for\n * later /new, /resume, /fork, and import flows.\n */\nexport async function createAgentSessionRuntime(\n\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\toptions: {\n\t\tcwd: string;\n\t\tagentDir: string;\n\t\tsessionManager: SessionManager;\n\t\tsessionStartEvent?: SessionStartEvent;\n\t},\n): Promise<AgentSessionRuntime> {\n\tassertSessionCwdExists(options.sessionManager, options.cwd);\n\tconst result = await createRuntime(options);\n\treturn new AgentSessionRuntime(\n\t\tresult.session,\n\t\tresult.services,\n\t\tcreateRuntime,\n\t\tresult.diagnostics,\n\t\tresult.modelFallbackMessage,\n\t);\n}\n\nexport {\n\ttype AgentSessionRuntimeDiagnostic,\n\ttype AgentSessionServices,\n\ttype CreateAgentSessionFromServicesOptions,\n\ttype CreateAgentSessionServicesOptions,\n\tcreateAgentSessionFromServices,\n\tcreateAgentSessionServices,\n} from \"./agent-session-services.js\";\n"]}
@@ -1,85 +0,0 @@
1
- import type { ThinkingLevel } from "@eminent337/aery-core";
2
- import type { Model } from "@eminent337/aery-ai";
3
- import { AuthStorage } from "./auth-storage.js";
4
- import type { SessionStartEvent, ToolDefinition } from "./extensions/index.js";
5
- import { ModelRegistry } from "./model-registry.js";
6
- import { type DefaultResourceLoaderOptions, type ResourceLoader } from "./resource-loader.js";
7
- import { type CreateAgentSessionResult } from "./sdk.js";
8
- import type { SessionManager } from "./session-manager.js";
9
- import { SettingsManager } from "./settings-manager.js";
10
- /**
11
- * Non-fatal issues collected while creating services or sessions.
12
- *
13
- * Runtime creation returns diagnostics to the caller instead of printing or
14
- * exiting. The app layer decides whether warnings should be shown and whether
15
- * errors should abort startup.
16
- */
17
- export interface AgentSessionRuntimeDiagnostic {
18
- type: "info" | "warning" | "error";
19
- message: string;
20
- }
21
- /**
22
- * Inputs for creating cwd-bound runtime services.
23
- *
24
- * These services are recreated whenever the effective session cwd changes.
25
- * CLI-provided resource paths should be resolved to absolute paths before they
26
- * reach this function, so later cwd switches do not reinterpret them.
27
- */
28
- export interface CreateAgentSessionServicesOptions {
29
- cwd: string;
30
- agentDir?: string;
31
- authStorage?: AuthStorage;
32
- settingsManager?: SettingsManager;
33
- modelRegistry?: ModelRegistry;
34
- extensionFlagValues?: Map<string, boolean | string>;
35
- resourceLoaderOptions?: Omit<DefaultResourceLoaderOptions, "cwd" | "agentDir" | "settingsManager">;
36
- }
37
- /**
38
- * Inputs for creating an AgentSession from already-created services.
39
- *
40
- * Use this after services exist and any cwd-bound model/tool/session options
41
- * have been resolved against those services.
42
- */
43
- export interface CreateAgentSessionFromServicesOptions {
44
- services: AgentSessionServices;
45
- sessionManager: SessionManager;
46
- sessionStartEvent?: SessionStartEvent;
47
- model?: Model<any>;
48
- thinkingLevel?: ThinkingLevel;
49
- scopedModels?: Array<{
50
- model: Model<any>;
51
- thinkingLevel?: ThinkingLevel;
52
- }>;
53
- tools?: string[];
54
- customTools?: ToolDefinition[];
55
- }
56
- /**
57
- * Coherent cwd-bound runtime services for one effective session cwd.
58
- *
59
- * This is infrastructure only. The AgentSession itself is created separately so
60
- * session options can be resolved against these services first.
61
- */
62
- export interface AgentSessionServices {
63
- cwd: string;
64
- agentDir: string;
65
- authStorage: AuthStorage;
66
- settingsManager: SettingsManager;
67
- modelRegistry: ModelRegistry;
68
- resourceLoader: ResourceLoader;
69
- diagnostics: AgentSessionRuntimeDiagnostic[];
70
- }
71
- /**
72
- * Create cwd-bound runtime services.
73
- *
74
- * Returns services plus diagnostics. It does not create an AgentSession.
75
- */
76
- export declare function createAgentSessionServices(options: CreateAgentSessionServicesOptions): Promise<AgentSessionServices>;
77
- /**
78
- * Create an AgentSession from previously created services.
79
- *
80
- * This keeps session creation separate from service creation so callers can
81
- * resolve model, thinking, tools, and other session inputs against the target
82
- * cwd before constructing the session.
83
- */
84
- export declare function createAgentSessionFromServices(options: CreateAgentSessionFromServicesOptions): Promise<CreateAgentSessionResult>;
85
- //# sourceMappingURL=agent-session-services.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-session-services.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-services.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAyB,KAAK,4BAA4B,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,KAAK,wBAAwB,EAAsB,MAAM,UAAU,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC7C,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iCAAiC;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IACpD,qBAAqB,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,KAAK,GAAG,UAAU,GAAG,iBAAiB,CAAC,CAAC;CACnG;AAED;;;;;GAKG;AACH,MAAM,WAAW,qCAAqC;IACrD,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,6BAA6B,EAAE,CAAC;CAC7C;AAkDD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC/C,OAAO,EAAE,iCAAiC,GACxC,OAAO,CAAC,oBAAoB,CAAC,CAuC/B;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CACnD,OAAO,EAAE,qCAAqC,GAC5C,OAAO,CAAC,wBAAwB,CAAC,CAgBnC","sourcesContent":["import { join } from \"node:path\";\nimport type { ThinkingLevel } from \"@eminent337/aery-core\";\nimport type { Model } from \"@eminent337/aery-ai\";\nimport { getAgentDir } from \"../config.js\";\nimport { AuthStorage } from \"./auth-storage.js\";\nimport type { SessionStartEvent, ToolDefinition } from \"./extensions/index.js\";\nimport { ModelRegistry } from \"./model-registry.js\";\nimport { DefaultResourceLoader, type DefaultResourceLoaderOptions, type ResourceLoader } from \"./resource-loader.js\";\nimport { type CreateAgentSessionResult, createAgentSession } from \"./sdk.js\";\nimport type { SessionManager } from \"./session-manager.js\";\nimport { SettingsManager } from \"./settings-manager.js\";\n\n/**\n * Non-fatal issues collected while creating services or sessions.\n *\n * Runtime creation returns diagnostics to the caller instead of printing or\n * exiting. The app layer decides whether warnings should be shown and whether\n * errors should abort startup.\n */\nexport interface AgentSessionRuntimeDiagnostic {\n\ttype: \"info\" | \"warning\" | \"error\";\n\tmessage: string;\n}\n\n/**\n * Inputs for creating cwd-bound runtime services.\n *\n * These services are recreated whenever the effective session cwd changes.\n * CLI-provided resource paths should be resolved to absolute paths before they\n * reach this function, so later cwd switches do not reinterpret them.\n */\nexport interface CreateAgentSessionServicesOptions {\n\tcwd: string;\n\tagentDir?: string;\n\tauthStorage?: AuthStorage;\n\tsettingsManager?: SettingsManager;\n\tmodelRegistry?: ModelRegistry;\n\textensionFlagValues?: Map<string, boolean | string>;\n\tresourceLoaderOptions?: Omit<DefaultResourceLoaderOptions, \"cwd\" | \"agentDir\" | \"settingsManager\">;\n}\n\n/**\n * Inputs for creating an AgentSession from already-created services.\n *\n * Use this after services exist and any cwd-bound model/tool/session options\n * have been resolved against those services.\n */\nexport interface CreateAgentSessionFromServicesOptions {\n\tservices: AgentSessionServices;\n\tsessionManager: SessionManager;\n\tsessionStartEvent?: SessionStartEvent;\n\tmodel?: Model<any>;\n\tthinkingLevel?: ThinkingLevel;\n\tscopedModels?: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel }>;\n\ttools?: string[];\n\tcustomTools?: ToolDefinition[];\n}\n\n/**\n * Coherent cwd-bound runtime services for one effective session cwd.\n *\n * This is infrastructure only. The AgentSession itself is created separately so\n * session options can be resolved against these services first.\n */\nexport interface AgentSessionServices {\n\tcwd: string;\n\tagentDir: string;\n\tauthStorage: AuthStorage;\n\tsettingsManager: SettingsManager;\n\tmodelRegistry: ModelRegistry;\n\tresourceLoader: ResourceLoader;\n\tdiagnostics: AgentSessionRuntimeDiagnostic[];\n}\n\nfunction applyExtensionFlagValues(\n\tresourceLoader: ResourceLoader,\n\textensionFlagValues: Map<string, boolean | string> | undefined,\n): AgentSessionRuntimeDiagnostic[] {\n\tif (!extensionFlagValues) {\n\t\treturn [];\n\t}\n\n\tconst diagnostics: AgentSessionRuntimeDiagnostic[] = [];\n\tconst extensionsResult = resourceLoader.getExtensions();\n\tconst registeredFlags = new Map<string, { type: \"boolean\" | \"string\" }>();\n\tfor (const extension of extensionsResult.extensions) {\n\t\tfor (const [name, flag] of extension.flags) {\n\t\t\tregisteredFlags.set(name, { type: flag.type });\n\t\t}\n\t}\n\n\tconst unknownFlags: string[] = [];\n\tfor (const [name, value] of extensionFlagValues) {\n\t\tconst flag = registeredFlags.get(name);\n\t\tif (!flag) {\n\t\t\tunknownFlags.push(name);\n\t\t\tcontinue;\n\t\t}\n\t\tif (flag.type === \"boolean\") {\n\t\t\textensionsResult.runtime.flagValues.set(name, true);\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof value === \"string\") {\n\t\t\textensionsResult.runtime.flagValues.set(name, value);\n\t\t\tcontinue;\n\t\t}\n\t\tdiagnostics.push({\n\t\t\ttype: \"error\",\n\t\t\tmessage: `Extension flag \"--${name}\" requires a value`,\n\t\t});\n\t}\n\n\tif (unknownFlags.length > 0) {\n\t\tdiagnostics.push({\n\t\t\ttype: \"error\",\n\t\t\tmessage: `Unknown option${unknownFlags.length === 1 ? \"\" : \"s\"}: ${unknownFlags.map((name) => `--${name}`).join(\", \")}`,\n\t\t});\n\t}\n\n\treturn diagnostics;\n}\n\n/**\n * Create cwd-bound runtime services.\n *\n * Returns services plus diagnostics. It does not create an AgentSession.\n */\nexport async function createAgentSessionServices(\n\toptions: CreateAgentSessionServicesOptions,\n): Promise<AgentSessionServices> {\n\tconst cwd = options.cwd;\n\tconst agentDir = options.agentDir ?? getAgentDir();\n\tconst authStorage = options.authStorage ?? AuthStorage.create(join(agentDir, \"auth.json\"));\n\tconst settingsManager = options.settingsManager ?? SettingsManager.create(cwd, agentDir);\n\tconst modelRegistry = options.modelRegistry ?? ModelRegistry.create(authStorage, join(agentDir, \"models.json\"));\n\tconst resourceLoader = new DefaultResourceLoader({\n\t\t...(options.resourceLoaderOptions ?? {}),\n\t\tcwd,\n\t\tagentDir,\n\t\tsettingsManager,\n\t});\n\tawait resourceLoader.reload();\n\n\tconst diagnostics: AgentSessionRuntimeDiagnostic[] = [];\n\tconst extensionsResult = resourceLoader.getExtensions();\n\tfor (const { name, config, extensionPath } of extensionsResult.runtime.pendingProviderRegistrations) {\n\t\ttry {\n\t\t\tmodelRegistry.registerProvider(name, config);\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tdiagnostics.push({\n\t\t\t\ttype: \"error\",\n\t\t\t\tmessage: `Extension \"${extensionPath}\" error: ${message}`,\n\t\t\t});\n\t\t}\n\t}\n\textensionsResult.runtime.pendingProviderRegistrations = [];\n\tdiagnostics.push(...applyExtensionFlagValues(resourceLoader, options.extensionFlagValues));\n\n\treturn {\n\t\tcwd,\n\t\tagentDir,\n\t\tauthStorage,\n\t\tsettingsManager,\n\t\tmodelRegistry,\n\t\tresourceLoader,\n\t\tdiagnostics,\n\t};\n}\n\n/**\n * Create an AgentSession from previously created services.\n *\n * This keeps session creation separate from service creation so callers can\n * resolve model, thinking, tools, and other session inputs against the target\n * cwd before constructing the session.\n */\nexport async function createAgentSessionFromServices(\n\toptions: CreateAgentSessionFromServicesOptions,\n): Promise<CreateAgentSessionResult> {\n\treturn createAgentSession({\n\t\tcwd: options.services.cwd,\n\t\tagentDir: options.services.agentDir,\n\t\tauthStorage: options.services.authStorage,\n\t\tsettingsManager: options.services.settingsManager,\n\t\tmodelRegistry: options.services.modelRegistry,\n\t\tresourceLoader: options.services.resourceLoader,\n\t\tsessionManager: options.sessionManager,\n\t\tmodel: options.model,\n\t\tthinkingLevel: options.thinkingLevel,\n\t\tscopedModels: options.scopedModels,\n\t\ttools: options.tools,\n\t\tcustomTools: options.customTools,\n\t\tsessionStartEvent: options.sessionStartEvent,\n\t});\n}\n"]}
@@ -1,116 +0,0 @@
1
- import { join } from "node:path";
2
- import { getAgentDir } from "../config.js";
3
- import { AuthStorage } from "./auth-storage.js";
4
- import { ModelRegistry } from "./model-registry.js";
5
- import { DefaultResourceLoader } from "./resource-loader.js";
6
- import { createAgentSession } from "./sdk.js";
7
- import { SettingsManager } from "./settings-manager.js";
8
- function applyExtensionFlagValues(resourceLoader, extensionFlagValues) {
9
- if (!extensionFlagValues) {
10
- return [];
11
- }
12
- const diagnostics = [];
13
- const extensionsResult = resourceLoader.getExtensions();
14
- const registeredFlags = new Map();
15
- for (const extension of extensionsResult.extensions) {
16
- for (const [name, flag] of extension.flags) {
17
- registeredFlags.set(name, { type: flag.type });
18
- }
19
- }
20
- const unknownFlags = [];
21
- for (const [name, value] of extensionFlagValues) {
22
- const flag = registeredFlags.get(name);
23
- if (!flag) {
24
- unknownFlags.push(name);
25
- continue;
26
- }
27
- if (flag.type === "boolean") {
28
- extensionsResult.runtime.flagValues.set(name, true);
29
- continue;
30
- }
31
- if (typeof value === "string") {
32
- extensionsResult.runtime.flagValues.set(name, value);
33
- continue;
34
- }
35
- diagnostics.push({
36
- type: "error",
37
- message: `Extension flag "--${name}" requires a value`,
38
- });
39
- }
40
- if (unknownFlags.length > 0) {
41
- diagnostics.push({
42
- type: "error",
43
- message: `Unknown option${unknownFlags.length === 1 ? "" : "s"}: ${unknownFlags.map((name) => `--${name}`).join(", ")}`,
44
- });
45
- }
46
- return diagnostics;
47
- }
48
- /**
49
- * Create cwd-bound runtime services.
50
- *
51
- * Returns services plus diagnostics. It does not create an AgentSession.
52
- */
53
- export async function createAgentSessionServices(options) {
54
- const cwd = options.cwd;
55
- const agentDir = options.agentDir ?? getAgentDir();
56
- const authStorage = options.authStorage ?? AuthStorage.create(join(agentDir, "auth.json"));
57
- const settingsManager = options.settingsManager ?? SettingsManager.create(cwd, agentDir);
58
- const modelRegistry = options.modelRegistry ?? ModelRegistry.create(authStorage, join(agentDir, "models.json"));
59
- const resourceLoader = new DefaultResourceLoader({
60
- ...(options.resourceLoaderOptions ?? {}),
61
- cwd,
62
- agentDir,
63
- settingsManager,
64
- });
65
- await resourceLoader.reload();
66
- const diagnostics = [];
67
- const extensionsResult = resourceLoader.getExtensions();
68
- for (const { name, config, extensionPath } of extensionsResult.runtime.pendingProviderRegistrations) {
69
- try {
70
- modelRegistry.registerProvider(name, config);
71
- }
72
- catch (error) {
73
- const message = error instanceof Error ? error.message : String(error);
74
- diagnostics.push({
75
- type: "error",
76
- message: `Extension "${extensionPath}" error: ${message}`,
77
- });
78
- }
79
- }
80
- extensionsResult.runtime.pendingProviderRegistrations = [];
81
- diagnostics.push(...applyExtensionFlagValues(resourceLoader, options.extensionFlagValues));
82
- return {
83
- cwd,
84
- agentDir,
85
- authStorage,
86
- settingsManager,
87
- modelRegistry,
88
- resourceLoader,
89
- diagnostics,
90
- };
91
- }
92
- /**
93
- * Create an AgentSession from previously created services.
94
- *
95
- * This keeps session creation separate from service creation so callers can
96
- * resolve model, thinking, tools, and other session inputs against the target
97
- * cwd before constructing the session.
98
- */
99
- export async function createAgentSessionFromServices(options) {
100
- return createAgentSession({
101
- cwd: options.services.cwd,
102
- agentDir: options.services.agentDir,
103
- authStorage: options.services.authStorage,
104
- settingsManager: options.services.settingsManager,
105
- modelRegistry: options.services.modelRegistry,
106
- resourceLoader: options.services.resourceLoader,
107
- sessionManager: options.sessionManager,
108
- model: options.model,
109
- thinkingLevel: options.thinkingLevel,
110
- scopedModels: options.scopedModels,
111
- tools: options.tools,
112
- customTools: options.customTools,
113
- sessionStartEvent: options.sessionStartEvent,
114
- });
115
- }
116
- //# sourceMappingURL=agent-session-services.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-session-services.js","sourceRoot":"","sources":["../../src/core/agent-session-services.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from \"node:path\";\nimport type { ThinkingLevel } from \"@eminent337/aery-core\";\nimport type { Model } from \"@eminent337/aery-ai\";\nimport { getAgentDir } from \"../config.js\";\nimport { AuthStorage } from \"./auth-storage.js\";\nimport type { SessionStartEvent, ToolDefinition } from \"./extensions/index.js\";\nimport { ModelRegistry } from \"./model-registry.js\";\nimport { DefaultResourceLoader, type DefaultResourceLoaderOptions, type ResourceLoader } from \"./resource-loader.js\";\nimport { type CreateAgentSessionResult, createAgentSession } from \"./sdk.js\";\nimport type { SessionManager } from \"./session-manager.js\";\nimport { SettingsManager } from \"./settings-manager.js\";\n\n/**\n * Non-fatal issues collected while creating services or sessions.\n *\n * Runtime creation returns diagnostics to the caller instead of printing or\n * exiting. The app layer decides whether warnings should be shown and whether\n * errors should abort startup.\n */\nexport interface AgentSessionRuntimeDiagnostic {\n\ttype: \"info\" | \"warning\" | \"error\";\n\tmessage: string;\n}\n\n/**\n * Inputs for creating cwd-bound runtime services.\n *\n * These services are recreated whenever the effective session cwd changes.\n * CLI-provided resource paths should be resolved to absolute paths before they\n * reach this function, so later cwd switches do not reinterpret them.\n */\nexport interface CreateAgentSessionServicesOptions {\n\tcwd: string;\n\tagentDir?: string;\n\tauthStorage?: AuthStorage;\n\tsettingsManager?: SettingsManager;\n\tmodelRegistry?: ModelRegistry;\n\textensionFlagValues?: Map<string, boolean | string>;\n\tresourceLoaderOptions?: Omit<DefaultResourceLoaderOptions, \"cwd\" | \"agentDir\" | \"settingsManager\">;\n}\n\n/**\n * Inputs for creating an AgentSession from already-created services.\n *\n * Use this after services exist and any cwd-bound model/tool/session options\n * have been resolved against those services.\n */\nexport interface CreateAgentSessionFromServicesOptions {\n\tservices: AgentSessionServices;\n\tsessionManager: SessionManager;\n\tsessionStartEvent?: SessionStartEvent;\n\tmodel?: Model<any>;\n\tthinkingLevel?: ThinkingLevel;\n\tscopedModels?: Array<{ model: Model<any>; thinkingLevel?: ThinkingLevel }>;\n\ttools?: string[];\n\tcustomTools?: ToolDefinition[];\n}\n\n/**\n * Coherent cwd-bound runtime services for one effective session cwd.\n *\n * This is infrastructure only. The AgentSession itself is created separately so\n * session options can be resolved against these services first.\n */\nexport interface AgentSessionServices {\n\tcwd: string;\n\tagentDir: string;\n\tauthStorage: AuthStorage;\n\tsettingsManager: SettingsManager;\n\tmodelRegistry: ModelRegistry;\n\tresourceLoader: ResourceLoader;\n\tdiagnostics: AgentSessionRuntimeDiagnostic[];\n}\n\nfunction applyExtensionFlagValues(\n\tresourceLoader: ResourceLoader,\n\textensionFlagValues: Map<string, boolean | string> | undefined,\n): AgentSessionRuntimeDiagnostic[] {\n\tif (!extensionFlagValues) {\n\t\treturn [];\n\t}\n\n\tconst diagnostics: AgentSessionRuntimeDiagnostic[] = [];\n\tconst extensionsResult = resourceLoader.getExtensions();\n\tconst registeredFlags = new Map<string, { type: \"boolean\" | \"string\" }>();\n\tfor (const extension of extensionsResult.extensions) {\n\t\tfor (const [name, flag] of extension.flags) {\n\t\t\tregisteredFlags.set(name, { type: flag.type });\n\t\t}\n\t}\n\n\tconst unknownFlags: string[] = [];\n\tfor (const [name, value] of extensionFlagValues) {\n\t\tconst flag = registeredFlags.get(name);\n\t\tif (!flag) {\n\t\t\tunknownFlags.push(name);\n\t\t\tcontinue;\n\t\t}\n\t\tif (flag.type === \"boolean\") {\n\t\t\textensionsResult.runtime.flagValues.set(name, true);\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof value === \"string\") {\n\t\t\textensionsResult.runtime.flagValues.set(name, value);\n\t\t\tcontinue;\n\t\t}\n\t\tdiagnostics.push({\n\t\t\ttype: \"error\",\n\t\t\tmessage: `Extension flag \"--${name}\" requires a value`,\n\t\t});\n\t}\n\n\tif (unknownFlags.length > 0) {\n\t\tdiagnostics.push({\n\t\t\ttype: \"error\",\n\t\t\tmessage: `Unknown option${unknownFlags.length === 1 ? \"\" : \"s\"}: ${unknownFlags.map((name) => `--${name}`).join(\", \")}`,\n\t\t});\n\t}\n\n\treturn diagnostics;\n}\n\n/**\n * Create cwd-bound runtime services.\n *\n * Returns services plus diagnostics. It does not create an AgentSession.\n */\nexport async function createAgentSessionServices(\n\toptions: CreateAgentSessionServicesOptions,\n): Promise<AgentSessionServices> {\n\tconst cwd = options.cwd;\n\tconst agentDir = options.agentDir ?? getAgentDir();\n\tconst authStorage = options.authStorage ?? AuthStorage.create(join(agentDir, \"auth.json\"));\n\tconst settingsManager = options.settingsManager ?? SettingsManager.create(cwd, agentDir);\n\tconst modelRegistry = options.modelRegistry ?? ModelRegistry.create(authStorage, join(agentDir, \"models.json\"));\n\tconst resourceLoader = new DefaultResourceLoader({\n\t\t...(options.resourceLoaderOptions ?? {}),\n\t\tcwd,\n\t\tagentDir,\n\t\tsettingsManager,\n\t});\n\tawait resourceLoader.reload();\n\n\tconst diagnostics: AgentSessionRuntimeDiagnostic[] = [];\n\tconst extensionsResult = resourceLoader.getExtensions();\n\tfor (const { name, config, extensionPath } of extensionsResult.runtime.pendingProviderRegistrations) {\n\t\ttry {\n\t\t\tmodelRegistry.registerProvider(name, config);\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tdiagnostics.push({\n\t\t\t\ttype: \"error\",\n\t\t\t\tmessage: `Extension \"${extensionPath}\" error: ${message}`,\n\t\t\t});\n\t\t}\n\t}\n\textensionsResult.runtime.pendingProviderRegistrations = [];\n\tdiagnostics.push(...applyExtensionFlagValues(resourceLoader, options.extensionFlagValues));\n\n\treturn {\n\t\tcwd,\n\t\tagentDir,\n\t\tauthStorage,\n\t\tsettingsManager,\n\t\tmodelRegistry,\n\t\tresourceLoader,\n\t\tdiagnostics,\n\t};\n}\n\n/**\n * Create an AgentSession from previously created services.\n *\n * This keeps session creation separate from service creation so callers can\n * resolve model, thinking, tools, and other session inputs against the target\n * cwd before constructing the session.\n */\nexport async function createAgentSessionFromServices(\n\toptions: CreateAgentSessionFromServicesOptions,\n): Promise<CreateAgentSessionResult> {\n\treturn createAgentSession({\n\t\tcwd: options.services.cwd,\n\t\tagentDir: options.services.agentDir,\n\t\tauthStorage: options.services.authStorage,\n\t\tsettingsManager: options.services.settingsManager,\n\t\tmodelRegistry: options.services.modelRegistry,\n\t\tresourceLoader: options.services.resourceLoader,\n\t\tsessionManager: options.sessionManager,\n\t\tmodel: options.model,\n\t\tthinkingLevel: options.thinkingLevel,\n\t\tscopedModels: options.scopedModels,\n\t\ttools: options.tools,\n\t\tcustomTools: options.customTools,\n\t\tsessionStartEvent: options.sessionStartEvent,\n\t});\n}\n"]}