indusagi-coding-agent 0.1.38 → 0.1.40

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 (493) hide show
  1. package/CHANGELOG.md +22 -7
  2. package/{LICENSE.md → LICENSE} +0 -1
  3. package/README.md +2 -4
  4. package/dist/cli/args.d.ts +6 -128
  5. package/dist/cli/args.d.ts.map +1 -1
  6. package/dist/cli/args.js +277 -472
  7. package/dist/cli/args.js.map +1 -1
  8. package/dist/cli/config-selector.d.ts +9 -62
  9. package/dist/cli/config-selector.d.ts.map +1 -1
  10. package/dist/cli/config-selector.js +31 -146
  11. package/dist/cli/config-selector.js.map +1 -1
  12. package/dist/cli/file-processor.d.ts +1 -69
  13. package/dist/cli/file-processor.d.ts.map +1 -1
  14. package/dist/cli/file-processor.js +36 -267
  15. package/dist/cli/file-processor.js.map +1 -1
  16. package/dist/cli/list-models.d.ts +0 -60
  17. package/dist/cli/list-models.d.ts.map +1 -1
  18. package/dist/cli/list-models.js +53 -246
  19. package/dist/cli/list-models.js.map +1 -1
  20. package/dist/cli/session-picker.d.ts +1 -72
  21. package/dist/cli/session-picker.d.ts.map +1 -1
  22. package/dist/cli/session-picker.js +57 -231
  23. package/dist/cli/session-picker.js.map +1 -1
  24. package/dist/cli.js +25 -31
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config.d.ts +0 -42
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +62 -97
  29. package/dist/config.js.map +1 -1
  30. package/dist/core/agent-session.d.ts +26 -2
  31. package/dist/core/agent-session.d.ts.map +1 -1
  32. package/dist/core/agent-session.js +78 -66
  33. package/dist/core/agent-session.js.map +1 -1
  34. package/dist/core/auth-storage.d.ts +4 -95
  35. package/dist/core/auth-storage.d.ts.map +1 -1
  36. package/dist/core/auth-storage.js +233 -288
  37. package/dist/core/auth-storage.js.map +1 -1
  38. package/dist/core/bash-executor.d.ts +0 -323
  39. package/dist/core/bash-executor.d.ts.map +1 -1
  40. package/dist/core/bash-executor.js +126 -359
  41. package/dist/core/bash-executor.js.map +1 -1
  42. package/dist/core/compaction/branch-summarization.d.ts +3 -3
  43. package/dist/core/compaction/branch-summarization.js +16 -16
  44. package/dist/core/compaction/branch-summarization.js.map +1 -1
  45. package/dist/core/compaction/compaction.d.ts +3 -3
  46. package/dist/core/compaction/compaction.js +40 -40
  47. package/dist/core/compaction/compaction.js.map +1 -1
  48. package/dist/core/compaction/index.d.ts +32 -4
  49. package/dist/core/compaction/index.d.ts.map +1 -1
  50. package/dist/core/compaction/index.js +30 -4
  51. package/dist/core/compaction/index.js.map +1 -1
  52. package/dist/core/compaction/utils.d.ts +1 -19
  53. package/dist/core/compaction/utils.d.ts.map +1 -1
  54. package/dist/core/compaction/utils.js +92 -113
  55. package/dist/core/compaction/utils.js.map +1 -1
  56. package/dist/core/discover-packages.d.ts +0 -4
  57. package/dist/core/discover-packages.d.ts.map +1 -1
  58. package/dist/core/discover-packages.js +41 -44
  59. package/dist/core/discover-packages.js.map +1 -1
  60. package/dist/core/event-bus.d.ts +1 -147
  61. package/dist/core/event-bus.d.ts.map +1 -1
  62. package/dist/core/event-bus.js +17 -106
  63. package/dist/core/event-bus.js.map +1 -1
  64. package/dist/core/exec.d.ts +0 -16
  65. package/dist/core/exec.d.ts.map +1 -1
  66. package/dist/core/exec.js +18 -27
  67. package/dist/core/exec.js.map +1 -1
  68. package/dist/core/export-html/ansi-to-html.ts +262 -0
  69. package/dist/core/export-html/index.ts +433 -0
  70. package/dist/core/export-html/template.html +48 -26
  71. package/dist/core/export-html/tool-renderer.d.ts +0 -21
  72. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  73. package/dist/core/export-html/tool-renderer.js +35 -51
  74. package/dist/core/export-html/tool-renderer.js.map +1 -1
  75. package/dist/core/export-html/tool-renderer.ts +80 -0
  76. package/dist/core/export-html/vendor/highlight.min.js +401 -370
  77. package/dist/core/export-html/vendor/marked.min.js +71 -3
  78. package/dist/core/extensions/index.d.ts +7 -4
  79. package/dist/core/extensions/index.d.ts.map +1 -1
  80. package/dist/core/extensions/index.js +17 -3
  81. package/dist/core/extensions/index.js.map +1 -1
  82. package/dist/core/extensions/loader.d.ts +0 -6
  83. package/dist/core/extensions/loader.d.ts.map +1 -1
  84. package/dist/core/extensions/loader.js +60 -56
  85. package/dist/core/extensions/loader.js.map +1 -1
  86. package/dist/core/extensions/runner.d.ts +3 -0
  87. package/dist/core/extensions/runner.d.ts.map +1 -1
  88. package/dist/core/extensions/runner.js +48 -80
  89. package/dist/core/extensions/runner.js.map +1 -1
  90. package/dist/core/extensions/types.d.ts +50 -23
  91. package/dist/core/extensions/types.d.ts.map +1 -1
  92. package/dist/core/footer-data-provider.d.ts +2 -15
  93. package/dist/core/footer-data-provider.d.ts.map +1 -1
  94. package/dist/core/footer-data-provider.js +21 -33
  95. package/dist/core/footer-data-provider.js.map +1 -1
  96. package/dist/core/hooks/loader.js +2 -2
  97. package/dist/core/hooks/loader.js.map +1 -1
  98. package/dist/core/index.d.ts +29 -10
  99. package/dist/core/index.d.ts.map +1 -1
  100. package/dist/core/index.js +29 -10
  101. package/dist/core/index.js.map +1 -1
  102. package/dist/core/keybindings.d.ts +2 -179
  103. package/dist/core/keybindings.d.ts.map +1 -1
  104. package/dist/core/keybindings.js +64 -238
  105. package/dist/core/keybindings.js.map +1 -1
  106. package/dist/core/model-registry.d.ts +26 -181
  107. package/dist/core/model-registry.d.ts.map +1 -1
  108. package/dist/core/model-registry.js +228 -407
  109. package/dist/core/model-registry.js.map +1 -1
  110. package/dist/core/model-resolver.d.ts +0 -139
  111. package/dist/core/model-resolver.d.ts.map +1 -1
  112. package/dist/core/model-resolver.js +34 -215
  113. package/dist/core/model-resolver.js.map +1 -1
  114. package/dist/core/package-manager.d.ts +25 -57
  115. package/dist/core/package-manager.d.ts.map +1 -1
  116. package/dist/core/package-manager.js +326 -964
  117. package/dist/core/package-manager.js.map +1 -1
  118. package/dist/core/prompt-templates.d.ts +2 -34
  119. package/dist/core/prompt-templates.d.ts.map +1 -1
  120. package/dist/core/prompt-templates.js +122 -170
  121. package/dist/core/prompt-templates.js.map +1 -1
  122. package/dist/core/resource-loader.d.ts +19 -12
  123. package/dist/core/resource-loader.d.ts.map +1 -1
  124. package/dist/core/resource-loader.js +353 -467
  125. package/dist/core/resource-loader.js.map +1 -1
  126. package/dist/core/sdk.d.ts +2 -61
  127. package/dist/core/sdk.d.ts.map +1 -1
  128. package/dist/core/sdk.js +184 -252
  129. package/dist/core/sdk.js.map +1 -1
  130. package/dist/core/session-manager.d.ts +447 -1
  131. package/dist/core/session-manager.d.ts.map +1 -1
  132. package/dist/core/session-manager.js +1176 -1
  133. package/dist/core/session-manager.js.map +1 -1
  134. package/dist/core/settings-manager.d.ts +9 -12
  135. package/dist/core/settings-manager.d.ts.map +1 -1
  136. package/dist/core/settings-manager.js +170 -398
  137. package/dist/core/settings-manager.js.map +1 -1
  138. package/dist/core/skills.d.ts +2 -27
  139. package/dist/core/skills.d.ts.map +1 -1
  140. package/dist/core/skills.js +149 -212
  141. package/dist/core/skills.js.map +1 -1
  142. package/dist/core/subagents.d.ts +2 -2
  143. package/dist/core/subagents.d.ts.map +1 -1
  144. package/dist/core/subagents.js +21 -14
  145. package/dist/core/subagents.js.map +1 -1
  146. package/dist/core/system-prompt.d.ts +0 -11
  147. package/dist/core/system-prompt.d.ts.map +1 -1
  148. package/dist/core/system-prompt.js +168 -139
  149. package/dist/core/system-prompt.js.map +1 -1
  150. package/dist/core/timings.d.ts +1 -4
  151. package/dist/core/timings.d.ts.map +1 -1
  152. package/dist/core/timings.js +34 -18
  153. package/dist/core/timings.js.map +1 -1
  154. package/dist/core/todo-store.d.ts +20 -0
  155. package/dist/core/todo-store.d.ts.map +1 -0
  156. package/dist/core/todo-store.js +60 -0
  157. package/dist/core/todo-store.js.map +1 -0
  158. package/dist/core/tools/bash.d.ts +2 -0
  159. package/dist/core/tools/bash.d.ts.map +1 -0
  160. package/dist/core/tools/bash.js +2 -0
  161. package/dist/core/tools/bash.js.map +1 -0
  162. package/dist/core/tools/bg-process.d.ts +1 -6
  163. package/dist/core/tools/bg-process.d.ts.map +1 -1
  164. package/dist/core/tools/bg-process.js +4 -18
  165. package/dist/core/tools/bg-process.js.map +1 -1
  166. package/dist/core/tools/edit-diff.d.ts +9 -0
  167. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  168. package/dist/core/tools/edit-diff.js +2 -0
  169. package/dist/core/tools/edit-diff.js.map +1 -0
  170. package/dist/core/tools/edit.d.ts +2 -0
  171. package/dist/core/tools/edit.d.ts.map +1 -0
  172. package/dist/core/tools/edit.js +2 -0
  173. package/dist/core/tools/edit.js.map +1 -0
  174. package/dist/core/tools/find.d.ts +2 -0
  175. package/dist/core/tools/find.d.ts.map +1 -0
  176. package/dist/core/tools/find.js +2 -0
  177. package/dist/core/tools/find.js.map +1 -0
  178. package/dist/core/tools/grep.d.ts +2 -0
  179. package/dist/core/tools/grep.d.ts.map +1 -0
  180. package/dist/core/tools/grep.js +2 -0
  181. package/dist/core/tools/grep.js.map +1 -0
  182. package/dist/core/tools/index.d.ts +8 -2
  183. package/dist/core/tools/index.d.ts.map +1 -1
  184. package/dist/core/tools/ls.d.ts +2 -0
  185. package/dist/core/tools/ls.d.ts.map +1 -0
  186. package/dist/core/tools/ls.js +2 -0
  187. package/dist/core/tools/ls.js.map +1 -0
  188. package/dist/core/tools/memory.d.ts +50 -1
  189. package/dist/core/tools/memory.d.ts.map +1 -1
  190. package/dist/core/tools/memory.js +11 -7
  191. package/dist/core/tools/memory.js.map +1 -1
  192. package/dist/core/tools/path-utils.d.ts +2 -0
  193. package/dist/core/tools/path-utils.d.ts.map +1 -0
  194. package/dist/core/tools/path-utils.js +2 -0
  195. package/dist/core/tools/path-utils.js.map +1 -0
  196. package/dist/core/tools/read.d.ts +2 -0
  197. package/dist/core/tools/read.d.ts.map +1 -0
  198. package/dist/core/tools/read.js +2 -0
  199. package/dist/core/tools/read.js.map +1 -0
  200. package/dist/core/tools/registry.d.ts +0 -15
  201. package/dist/core/tools/registry.d.ts.map +1 -1
  202. package/dist/core/tools/registry.js +13 -37
  203. package/dist/core/tools/registry.js.map +1 -1
  204. package/dist/core/tools/task.d.ts +17 -23
  205. package/dist/core/tools/task.d.ts.map +1 -1
  206. package/dist/core/tools/task.js +43 -82
  207. package/dist/core/tools/task.js.map +1 -1
  208. package/dist/core/tools/todo.d.ts +17 -20
  209. package/dist/core/tools/todo.d.ts.map +1 -1
  210. package/dist/core/tools/todo.js +79 -58
  211. package/dist/core/tools/todo.js.map +1 -1
  212. package/dist/core/tools/truncate.d.ts +2 -0
  213. package/dist/core/tools/truncate.d.ts.map +1 -0
  214. package/dist/core/tools/truncate.js +2 -0
  215. package/dist/core/tools/truncate.js.map +1 -0
  216. package/dist/core/tools/webfetch.d.ts +2 -0
  217. package/dist/core/tools/webfetch.d.ts.map +1 -0
  218. package/dist/core/tools/webfetch.js +2 -0
  219. package/dist/core/tools/webfetch.js.map +1 -0
  220. package/dist/core/tools/websearch.d.ts +2 -0
  221. package/dist/core/tools/websearch.d.ts.map +1 -0
  222. package/dist/core/tools/websearch.js +2 -0
  223. package/dist/core/tools/websearch.js.map +1 -0
  224. package/dist/core/tools/write.d.ts +2 -0
  225. package/dist/core/tools/write.d.ts.map +1 -0
  226. package/dist/core/tools/write.js +2 -0
  227. package/dist/core/tools/write.js.map +1 -0
  228. package/dist/index.d.ts +35 -29
  229. package/dist/index.d.ts.map +1 -1
  230. package/dist/index.js +33 -41
  231. package/dist/index.js.map +1 -1
  232. package/dist/main.d.ts.map +1 -1
  233. package/dist/main.js +237 -225
  234. package/dist/main.js.map +1 -1
  235. package/dist/migrations.d.ts +0 -25
  236. package/dist/migrations.d.ts.map +1 -1
  237. package/dist/migrations.js +129 -180
  238. package/dist/migrations.js.map +1 -1
  239. package/dist/modes/index.d.ts +13 -6
  240. package/dist/modes/index.d.ts.map +1 -1
  241. package/dist/modes/index.js +11 -5
  242. package/dist/modes/index.js.map +1 -1
  243. package/dist/modes/interactive/components/armin.d.ts +8 -23
  244. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  245. package/dist/modes/interactive/components/armin.js +217 -266
  246. package/dist/modes/interactive/components/armin.js.map +1 -1
  247. package/dist/modes/interactive/components/assistant-message.d.ts +2 -168
  248. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  249. package/dist/modes/interactive/components/assistant-message.js +61 -216
  250. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  251. package/dist/modes/interactive/components/bash-execution.d.ts +6 -313
  252. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  253. package/dist/modes/interactive/components/bash-execution.js +86 -403
  254. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  255. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -3
  256. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  257. package/dist/modes/interactive/components/bordered-loader.js +59 -29
  258. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  259. package/dist/modes/interactive/components/branch-summary-message.d.ts +3 -3
  260. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  261. package/dist/modes/interactive/components/branch-summary-message.js +30 -17
  262. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  263. package/dist/modes/interactive/components/compaction-summary-message.d.ts +3 -3
  264. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  265. package/dist/modes/interactive/components/compaction-summary-message.js +35 -18
  266. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  267. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  268. package/dist/modes/interactive/components/config-selector.js +60 -68
  269. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  270. package/dist/modes/interactive/components/countdown-timer.d.ts +2 -6
  271. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  272. package/dist/modes/interactive/components/countdown-timer.js +32 -18
  273. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  274. package/dist/modes/interactive/components/custom-editor.d.ts +1 -5
  275. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  276. package/dist/modes/interactive/components/custom-editor.js +45 -37
  277. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  278. package/dist/modes/interactive/components/custom-message.d.ts +5 -6
  279. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  280. package/dist/modes/interactive/components/custom-message.js +43 -53
  281. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  282. package/dist/modes/interactive/components/diff.d.ts +0 -3
  283. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  284. package/dist/modes/interactive/components/diff.js +101 -108
  285. package/dist/modes/interactive/components/diff.js.map +1 -1
  286. package/dist/modes/interactive/components/dynamic-border.d.ts +7 -2
  287. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  288. package/dist/modes/interactive/components/dynamic-border.js +24 -4
  289. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  290. package/dist/modes/interactive/components/extension-editor.d.ts +5 -9
  291. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  292. package/dist/modes/interactive/components/extension-editor.js +43 -46
  293. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  294. package/dist/modes/interactive/components/extension-input.d.ts +4 -9
  295. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  296. package/dist/modes/interactive/components/extension-input.js +45 -28
  297. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  298. package/dist/modes/interactive/components/extension-selector.d.ts +7 -12
  299. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  300. package/dist/modes/interactive/components/extension-selector.js +54 -32
  301. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  302. package/dist/modes/interactive/components/footer.d.ts +2 -11
  303. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  304. package/dist/modes/interactive/components/footer.js +135 -183
  305. package/dist/modes/interactive/components/footer.js.map +1 -1
  306. package/dist/modes/interactive/components/index.d.ts +79 -30
  307. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  308. package/dist/modes/interactive/components/index.js +73 -31
  309. package/dist/modes/interactive/components/index.js.map +1 -1
  310. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -18
  311. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  312. package/dist/modes/interactive/components/keybinding-hints.js +24 -31
  313. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  314. package/dist/modes/interactive/components/login-dialog.d.ts +11 -24
  315. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  316. package/dist/modes/interactive/components/login-dialog.js +89 -86
  317. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  318. package/dist/modes/interactive/components/model-selector.d.ts +15 -19
  319. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  320. package/dist/modes/interactive/components/model-selector.js +104 -157
  321. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  322. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  323. package/dist/modes/interactive/components/oauth-selector.js +5 -5
  324. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  325. package/dist/modes/interactive/components/scoped-models-selector.d.ts +12 -22
  326. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  327. package/dist/modes/interactive/components/scoped-models-selector.js +111 -132
  328. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  329. package/dist/modes/interactive/components/session-selector-search.d.ts +3 -3
  330. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  331. package/dist/modes/interactive/components/session-selector-search.js +92 -103
  332. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  333. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  334. package/dist/modes/interactive/components/session-selector.js +28 -39
  335. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  336. package/dist/modes/interactive/components/settings-selector.d.ts +1 -1
  337. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  338. package/dist/modes/interactive/components/settings-selector.js +111 -203
  339. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  340. package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
  341. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  342. package/dist/modes/interactive/components/show-images-selector.js +17 -19
  343. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  344. package/dist/modes/interactive/components/skill-invocation-message.d.ts +3 -3
  345. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  346. package/dist/modes/interactive/components/skill-invocation-message.js +29 -19
  347. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  348. package/dist/modes/interactive/components/theme-selector.d.ts +2 -2
  349. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  350. package/dist/modes/interactive/components/theme-selector.js +20 -25
  351. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  352. package/dist/modes/interactive/components/thinking-selector.d.ts +1 -1
  353. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  354. package/dist/modes/interactive/components/thinking-selector.js +19 -20
  355. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  356. package/dist/modes/interactive/components/tool-execution.d.ts +12 -10
  357. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  358. package/dist/modes/interactive/components/tool-execution.js +14 -8
  359. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  360. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  361. package/dist/modes/interactive/components/tree-selector.js +53 -60
  362. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  363. package/dist/modes/interactive/components/user-message-selector.d.ts +3 -9
  364. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  365. package/dist/modes/interactive/components/user-message-selector.js +57 -68
  366. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  367. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -12
  368. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  369. package/dist/modes/interactive/components/visual-truncate.js +14 -22
  370. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  371. package/dist/modes/interactive/interactive-mode.d.ts +6 -0
  372. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  373. package/dist/modes/interactive/interactive-mode.js +118 -113
  374. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  375. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  376. package/dist/modes/interactive/theme/theme.js +189 -39
  377. package/dist/modes/interactive/theme/theme.js.map +1 -1
  378. package/dist/modes/rpc/rpc-client.d.ts +8 -1
  379. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  380. package/dist/modes/rpc/rpc-client.js +88 -59
  381. package/dist/modes/rpc/rpc-client.js.map +1 -1
  382. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  383. package/dist/modes/rpc/rpc-mode.js +24 -46
  384. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  385. package/dist/modes/rpc/rpc-types.d.ts +75 -409
  386. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  387. package/dist/modes/rpc/rpc-types.js +21 -360
  388. package/dist/modes/rpc/rpc-types.js.map +1 -1
  389. package/dist/observability/core/config.d.ts +28 -0
  390. package/dist/observability/core/config.d.ts.map +1 -0
  391. package/dist/observability/core/config.js +150 -0
  392. package/dist/observability/core/config.js.map +1 -0
  393. package/dist/observability/core/event-bus.d.ts +15 -0
  394. package/dist/observability/core/event-bus.d.ts.map +1 -0
  395. package/dist/observability/core/event-bus.js +37 -0
  396. package/dist/observability/core/event-bus.js.map +1 -0
  397. package/dist/observability/core/index.d.ts +12 -0
  398. package/dist/observability/core/index.d.ts.map +1 -0
  399. package/dist/observability/core/index.js +14 -0
  400. package/dist/observability/core/index.js.map +1 -0
  401. package/dist/observability/core/observability.d.ts +63 -0
  402. package/dist/observability/core/observability.d.ts.map +1 -0
  403. package/dist/observability/core/observability.js +127 -0
  404. package/dist/observability/core/observability.js.map +1 -0
  405. package/dist/observability/core/span.d.ts +37 -0
  406. package/dist/observability/core/span.d.ts.map +1 -0
  407. package/dist/observability/core/span.js +90 -0
  408. package/dist/observability/core/span.js.map +1 -0
  409. package/dist/observability/core/tracer.d.ts +22 -0
  410. package/dist/observability/core/tracer.d.ts.map +1 -0
  411. package/dist/observability/core/tracer.js +79 -0
  412. package/dist/observability/core/tracer.js.map +1 -0
  413. package/dist/observability/core/types.d.ts +155 -0
  414. package/dist/observability/core/types.d.ts.map +1 -0
  415. package/dist/observability/core/types.js +38 -0
  416. package/dist/observability/core/types.js.map +1 -0
  417. package/dist/observability/exporters/base-exporter.d.ts +16 -0
  418. package/dist/observability/exporters/base-exporter.d.ts.map +1 -0
  419. package/dist/observability/exporters/base-exporter.js +26 -0
  420. package/dist/observability/exporters/base-exporter.js.map +1 -0
  421. package/dist/observability/exporters/console-exporter.d.ts +22 -0
  422. package/dist/observability/exporters/console-exporter.d.ts.map +1 -0
  423. package/dist/observability/exporters/console-exporter.js +80 -0
  424. package/dist/observability/exporters/console-exporter.js.map +1 -0
  425. package/dist/observability/exporters/file-exporter.d.ts +31 -0
  426. package/dist/observability/exporters/file-exporter.d.ts.map +1 -0
  427. package/dist/observability/exporters/file-exporter.js +120 -0
  428. package/dist/observability/exporters/file-exporter.js.map +1 -0
  429. package/dist/observability/exporters/index.d.ts +12 -0
  430. package/dist/observability/exporters/index.d.ts.map +1 -0
  431. package/dist/observability/exporters/index.js +11 -0
  432. package/dist/observability/exporters/index.js.map +1 -0
  433. package/dist/observability/exporters/langfuse-exporter.d.ts +27 -0
  434. package/dist/observability/exporters/langfuse-exporter.d.ts.map +1 -0
  435. package/dist/observability/exporters/langfuse-exporter.js +146 -0
  436. package/dist/observability/exporters/langfuse-exporter.js.map +1 -0
  437. package/dist/observability/exporters/sentry-exporter.d.ts +22 -0
  438. package/dist/observability/exporters/sentry-exporter.d.ts.map +1 -0
  439. package/dist/observability/exporters/sentry-exporter.js +121 -0
  440. package/dist/observability/exporters/sentry-exporter.js.map +1 -0
  441. package/dist/observability/index.d.ts +3 -0
  442. package/dist/observability/index.d.ts.map +1 -0
  443. package/dist/observability/index.js +3 -0
  444. package/dist/observability/index.js.map +1 -0
  445. package/dist/utils/changelog.d.ts +1 -2
  446. package/dist/utils/changelog.d.ts.map +1 -1
  447. package/dist/utils/changelog.js +53 -61
  448. package/dist/utils/changelog.js.map +1 -1
  449. package/dist/utils/clipboard-image.d.ts.map +1 -1
  450. package/dist/utils/clipboard-image.js +77 -83
  451. package/dist/utils/clipboard-image.js.map +1 -1
  452. package/dist/utils/clipboard.d.ts.map +1 -1
  453. package/dist/utils/clipboard.js +62 -49
  454. package/dist/utils/clipboard.js.map +1 -1
  455. package/dist/utils/image-convert.d.ts +6 -6
  456. package/dist/utils/image-convert.d.ts.map +1 -1
  457. package/dist/utils/image-convert.js +29 -23
  458. package/dist/utils/image-convert.js.map +1 -1
  459. package/dist/utils/image-resize.d.ts +0 -17
  460. package/dist/utils/image-resize.d.ts.map +1 -1
  461. package/dist/utils/image-resize.js +100 -138
  462. package/dist/utils/image-resize.js.map +1 -1
  463. package/dist/utils/mime.d.ts +1 -0
  464. package/dist/utils/mime.d.ts.map +1 -1
  465. package/dist/utils/mime.js +35 -15
  466. package/dist/utils/mime.js.map +1 -1
  467. package/dist/utils/photon.d.ts +4 -15
  468. package/dist/utils/photon.d.ts.map +1 -1
  469. package/dist/utils/photon.js +71 -60
  470. package/dist/utils/photon.js.map +1 -1
  471. package/dist/utils/shell.d.ts +4 -21
  472. package/dist/utils/shell.d.ts.map +1 -1
  473. package/dist/utils/shell.js +101 -124
  474. package/dist/utils/shell.js.map +1 -1
  475. package/dist/utils/sleep.d.ts +1 -1
  476. package/dist/utils/sleep.d.ts.map +1 -1
  477. package/dist/utils/sleep.js +32 -8
  478. package/dist/utils/sleep.js.map +1 -1
  479. package/dist/utils/tools-manager.d.ts +4 -2
  480. package/dist/utils/tools-manager.d.ts.map +1 -1
  481. package/dist/utils/tools-manager.js +96 -122
  482. package/dist/utils/tools-manager.js.map +1 -1
  483. package/docs/PI_MONO_MIT_REMOVAL_GUIDE.md +2132 -0
  484. package/docs/SAME_TO_SAME_PARITY_REPORT.md +312 -0
  485. package/examples/README.md +12 -0
  486. package/package.json +62 -88
  487. package/dist/modes/interactive/theme/dark.json +0 -85
  488. package/dist/modes/interactive/theme/light.json +0 -84
  489. package/dist/modes/interactive/theme/theme-schema.json +0 -335
  490. package/docs/FEATURES.md +0 -306
  491. package/docs/MCP.md +0 -341
  492. package/docs/MEMORY.md +0 -443
  493. package/examples/mcp-servers.example.json +0 -50
package/dist/core/sdk.js CHANGED
@@ -1,5 +1,5 @@
1
- import { join } from "node:path";
2
1
  import { existsSync } from "node:fs";
2
+ import { join } from "node:path";
3
3
  import { Agent } from "indusagi/agent";
4
4
  import { streamSimple } from "indusagi/ai";
5
5
  import { getAgentDir, getDocsPath, getMCPConfigPath } from "../config.js";
@@ -12,95 +12,61 @@ import { DefaultResourceLoader } from "./resource-loader.js";
12
12
  import { SessionManager } from "./session-manager.js";
13
13
  import { SettingsManager } from "./settings-manager.js";
14
14
  import { time } from "./timings.js";
15
- import { allTools, bashTool, codingTools, createBashTool, createCodingTools, createEditTool, createFindTool, createGrepTool, createLsTool, createReadOnlyTools, createReadTool, createTaskTool, createTodoReadTool, createTodoWriteTool, createWriteTool, editTool, findTool, grepTool, lsTool, readOnlyTools, readTool, taskTool, todoReadTool, todoWriteTool, writeTool,
16
- // MCP imports
17
- createMCPTools,
18
- // Memory imports
19
- createMemoryTools, createMemory, DEFAULT_WORKING_MEMORY_TEMPLATE, } from "./tools/index.js";
20
- export {
21
- // Pre-built tools (use process.cwd())
22
- readTool, bashTool, editTool, writeTool, grepTool, findTool, lsTool, taskTool, todoReadTool, todoWriteTool, codingTools, readOnlyTools, allTools as allBuiltInTools,
23
- // Tool factories (for custom cwd)
24
- createCodingTools, createReadOnlyTools, createReadTool, createBashTool, createEditTool, createWriteTool, createGrepTool, createFindTool, createLsTool, createTaskTool, createTodoReadTool, createTodoWriteTool, };
25
- // Helper Functions
26
- function getDefaultAgentDir() {
27
- return getAgentDir();
15
+ import { allTools, bashTool, codingTools, createBashTool, createCodingTools, createEditTool, createFindTool, createGrepTool, createLsTool, createMCPTools, createMemory, createMemoryTools, createReadOnlyTools, createReadTool, createTaskTool, createTodoReadTool, createTodoWriteTool, createWriteTool, DEFAULT_WORKING_MEMORY_TEMPLATE, editTool, findTool, grepTool, lsTool, readOnlyTools, readTool, taskTool, todoReadTool, todoWriteTool, writeTool, } from "./tools/index.js";
16
+ export { readTool, bashTool, editTool, writeTool, grepTool, findTool, lsTool, taskTool, todoReadTool, todoWriteTool, codingTools, readOnlyTools, allTools as allBuiltInTools, createCodingTools, createReadOnlyTools, createReadTool, createBashTool, createEditTool, createWriteTool, createGrepTool, createFindTool, createLsTool, createTaskTool, createTodoReadTool, createTodoWriteTool, };
17
+ function createDefaultAuthStorage(agentDir, provided) {
18
+ return provided ?? new AuthStorage(join(agentDir, "auth.json"));
28
19
  }
29
- /**
30
- * Create an AgentSession with the specified options.
31
- *
32
- * @example
33
- * ```typescript
34
- * // Minimal - uses defaults
35
- * const { session } = await createAgentSession();
36
- *
37
- * // With explicit model
38
- * import { getModel } from 'indusagi/ai';
39
- * const { session } = await createAgentSession({
40
- * model: getModel('anthropic', 'claude-opus-4-5'),
41
- * thinkingLevel: 'high',
42
- * });
43
- *
44
- * // Continue previous session
45
- * const { session, modelFallbackMessage } = await createAgentSession({
46
- * continueSession: true,
47
- * });
48
- *
49
- * // Full control
50
- * const loader = new DefaultResourceLoader({
51
- * cwd: process.cwd(),
52
- * agentDir: getAgentDir(),
53
- * settingsManager: SettingsManager.create(),
54
- * });
55
- * await loader.reload();
56
- * const { session } = await createAgentSession({
57
- * model: myModel,
58
- * tools: [readTool, bashTool],
59
- * resourceLoader: loader,
60
- * sessionManager: SessionManager.inMemory(),
61
- * });
62
- * ```
63
- */
64
- export async function createAgentSession(options = {}) {
65
- const cwd = options.cwd ?? process.cwd();
66
- const agentDir = options.agentDir ?? getDefaultAgentDir();
67
- let resourceLoader = options.resourceLoader;
68
- // Use provided or create AuthStorage and ModelRegistry
69
- const authPath = options.agentDir ? join(agentDir, "auth.json") : undefined;
70
- const modelsPath = options.agentDir ? join(agentDir, "models.json") : undefined;
71
- const authStorage = options.authStorage ?? new AuthStorage(authPath);
72
- const modelRegistry = options.modelRegistry ?? new ModelRegistry(authStorage, modelsPath);
73
- const settingsManager = options.settingsManager ?? SettingsManager.create(cwd, agentDir);
74
- const sessionManager = options.sessionManager ?? SessionManager.create(cwd);
75
- if (!resourceLoader) {
76
- resourceLoader = new DefaultResourceLoader({ cwd, agentDir, settingsManager });
77
- await resourceLoader.reload();
78
- time("resourceLoader.reload");
20
+ function createDefaultRegistry(agentDir, authStorage, provided) {
21
+ return provided ?? new ModelRegistry(authStorage, join(agentDir, "models.json"));
22
+ }
23
+ function createDefaultSettingsManager(cwd, agentDir, provided) {
24
+ return provided ?? SettingsManager.create(cwd, agentDir);
25
+ }
26
+ function createDefaultSessionManager(cwd, provided) {
27
+ return provided ?? SessionManager.create(cwd);
28
+ }
29
+ async function createDefaultResourceLoader(cwd, agentDir, settingsManager, provided) {
30
+ if (provided) {
31
+ return provided;
79
32
  }
80
- // Check if session has existing data to restore
81
- const existingSession = sessionManager.buildSessionContext();
33
+ const loader = new DefaultResourceLoader({ cwd, agentDir, settingsManager });
34
+ await loader.reload();
35
+ time("resourceLoader.reload");
36
+ return loader;
37
+ }
38
+ async function bootstrapSessionDependencies(options) {
39
+ const cwd = options.cwd ?? process.cwd();
40
+ const agentDir = options.agentDir ?? getAgentDir();
41
+ const authStorage = createDefaultAuthStorage(agentDir, options.authStorage);
42
+ const modelRegistry = createDefaultRegistry(agentDir, authStorage, options.modelRegistry);
43
+ const settingsManager = createDefaultSettingsManager(cwd, agentDir, options.settingsManager);
44
+ const sessionManager = createDefaultSessionManager(cwd, options.sessionManager);
45
+ const resourceLoader = await createDefaultResourceLoader(cwd, agentDir, settingsManager, options.resourceLoader);
46
+ return { cwd, agentDir, authStorage, modelRegistry, settingsManager, sessionManager, resourceLoader };
47
+ }
48
+ async function resolveInitialModel(options, bootstrap) {
49
+ const existingSession = bootstrap.sessionManager.buildSessionContext();
82
50
  const hasExistingSession = existingSession.messages.length > 0;
83
51
  let model = options.model;
84
52
  let modelFallbackMessage;
85
- // If session has data, try to restore model from it
86
53
  if (!model && hasExistingSession && existingSession.model) {
87
- const restoredModel = modelRegistry.find(existingSession.model.provider, existingSession.model.modelId);
88
- if (restoredModel && (await modelRegistry.getApiKey(restoredModel))) {
54
+ const restoredModel = bootstrap.modelRegistry.find(existingSession.model.provider, existingSession.model.modelId);
55
+ if (restoredModel && (await bootstrap.modelRegistry.getApiKey(restoredModel))) {
89
56
  model = restoredModel;
90
57
  }
91
- if (!model) {
58
+ else {
92
59
  modelFallbackMessage = `Could not restore model ${existingSession.model.provider}/${existingSession.model.modelId}`;
93
60
  }
94
61
  }
95
- // If still no model, use findInitialModel (checks settings default, then provider defaults)
96
62
  if (!model) {
97
63
  const result = await findInitialModel({
98
64
  scopedModels: [],
99
65
  isContinuing: hasExistingSession,
100
- defaultProvider: settingsManager.getDefaultProvider(),
101
- defaultModelId: settingsManager.getDefaultModel(),
102
- defaultThinkingLevel: settingsManager.getDefaultThinkingLevel(),
103
- modelRegistry,
66
+ defaultProvider: bootstrap.settingsManager.getDefaultProvider(),
67
+ defaultModelId: bootstrap.settingsManager.getDefaultModel(),
68
+ defaultThinkingLevel: bootstrap.settingsManager.getDefaultThinkingLevel(),
69
+ modelRegistry: bootstrap.modelRegistry,
104
70
  });
105
71
  model = result.model;
106
72
  if (!model) {
@@ -111,66 +77,50 @@ export async function createAgentSession(options = {}) {
111
77
  }
112
78
  }
113
79
  let thinkingLevel = options.thinkingLevel;
114
- // If session has data, restore thinking level from it
115
80
  if (thinkingLevel === undefined && hasExistingSession) {
116
81
  thinkingLevel = existingSession.thinkingLevel;
117
82
  }
118
- // Fall back to settings default
119
83
  if (thinkingLevel === undefined) {
120
- thinkingLevel = settingsManager.getDefaultThinkingLevel() ?? "off";
84
+ thinkingLevel = bootstrap.settingsManager.getDefaultThinkingLevel() ?? "off";
121
85
  }
122
- // Clamp to model capabilities
123
86
  if (!model || !model.reasoning) {
124
87
  thinkingLevel = "off";
125
88
  }
126
- const defaultActiveToolNames = [
127
- "read",
128
- "bash",
129
- "edit",
130
- "write",
131
- "task",
132
- "todoread",
133
- "todowrite",
134
- "webfetch",
135
- "websearch",
136
- ];
137
- const initialActiveToolNames = options.tools
138
- ? options.tools.map((t) => t.name).filter((n) => n in allTools)
139
- : defaultActiveToolNames;
140
- let agent;
141
- // Create convertToLlm wrapper that filters images if blockImages is enabled (defense-in-depth)
142
- const convertToLlmWithBlockImages = (messages) => {
89
+ if (!hasExistingSession) {
90
+ if (model) {
91
+ bootstrap.sessionManager.appendModelChange(model.provider, model.id);
92
+ }
93
+ bootstrap.sessionManager.appendThinkingLevelChange(thinkingLevel);
94
+ }
95
+ return { model, thinkingLevel, modelFallbackMessage };
96
+ }
97
+ function createConvertToLlm(settingsManager) {
98
+ return (messages) => {
143
99
  const converted = convertToLlm(messages);
144
- // Check setting dynamically so mid-session changes take effect
145
100
  if (!settingsManager.getBlockImages()) {
146
101
  return converted;
147
102
  }
148
- // Filter out ImageContent from all messages, replacing with text placeholder
149
- return converted.map((msg) => {
150
- if (msg.role === "user" || msg.role === "toolResult") {
151
- const content = msg.content;
152
- if (Array.isArray(content)) {
153
- const hasImages = content.some((c) => c.type === "image");
154
- if (hasImages) {
155
- const filteredContent = content
156
- .map((c) => c.type === "image" ? { type: "text", text: "Image reading is disabled." } : c)
157
- .filter((c, i, arr) =>
158
- // Dedupe consecutive "Image reading is disabled." texts
159
- !(c.type === "text" &&
160
- c.text === "Image reading is disabled." &&
161
- i > 0 &&
162
- arr[i - 1].type === "text" &&
163
- arr[i - 1].text === "Image reading is disabled."));
164
- return { ...msg, content: filteredContent };
165
- }
166
- }
103
+ return converted.map((message) => {
104
+ if (message.role !== "user" && message.role !== "toolResult") {
105
+ return message;
167
106
  }
168
- return msg;
107
+ if (!Array.isArray(message.content)) {
108
+ return message;
109
+ }
110
+ const content = message.content
111
+ .map((block) => (block.type === "image" ? { type: "text", text: "Image reading is disabled." } : block))
112
+ .filter((block, index, blocks) => {
113
+ if (block.type !== "text" || block.text !== "Image reading is disabled." || index === 0)
114
+ return true;
115
+ const previous = blocks[index - 1];
116
+ return previous.type !== "text" || previous.text !== "Image reading is disabled.";
117
+ });
118
+ return { ...message, content };
169
119
  });
170
120
  };
171
- const extensionRunnerRef = {};
172
- const hookRunnerRef = {};
173
- const streamWithHooks = async (model, context, options) => {
121
+ }
122
+ function createStreamWithHooks(sessionManager, hookRunnerRef) {
123
+ return async (model, context, options) => {
174
124
  const hookRunner = hookRunnerRef.current;
175
125
  if (!hookRunner) {
176
126
  return streamSimple(model, context, options);
@@ -184,12 +134,14 @@ export async function createAgentSession(options = {}) {
184
134
  systemPrompt = output.system;
185
135
  }
186
136
  if (hookRunner.hasHandlers("tool.definition") && tools) {
187
- const updatedTools = await Promise.all(tools.map(async (tool) => {
188
- const output = { description: tool.description, parameters: tool.parameters };
137
+ tools = await Promise.all(tools.map(async (tool) => {
138
+ const output = {
139
+ description: tool.description,
140
+ parameters: tool.parameters,
141
+ };
189
142
  await hookRunner.trigger("tool.definition", { toolId: tool.name }, output);
190
143
  return { ...tool, description: output.description, parameters: output.parameters };
191
144
  }));
192
- tools = updatedTools;
193
145
  }
194
146
  let streamOptions = { ...(options ?? {}) };
195
147
  if (hookRunner.hasHandlers("chat.params")) {
@@ -205,168 +157,148 @@ export async function createAgentSession(options = {}) {
205
157
  headers: { ...(streamOptions.headers ?? {}), ...headersOutput.headers },
206
158
  };
207
159
  }
208
- return streamSimple(model, {
209
- ...context,
210
- systemPrompt,
211
- tools,
212
- }, streamOptions);
160
+ return streamSimple(model, { ...context, systemPrompt, tools }, streamOptions);
213
161
  };
162
+ }
163
+ function createAgentInstance(bootstrap, resolvedModel, thinkingLevel, extensionRunnerRef, hookRunnerRef) {
164
+ let agent;
214
165
  agent = new Agent({
215
- initialState: {
216
- systemPrompt: "",
217
- model,
218
- thinkingLevel,
219
- tools: [],
220
- },
221
- convertToLlm: convertToLlmWithBlockImages,
222
- sessionId: sessionManager.getSessionId(),
166
+ initialState: { systemPrompt: "", model: resolvedModel, thinkingLevel, tools: [] },
167
+ convertToLlm: createConvertToLlm(bootstrap.settingsManager),
168
+ sessionId: bootstrap.sessionManager.getSessionId(),
223
169
  transformContext: async (messages) => {
224
170
  let currentMessages = messages;
225
- const runner = extensionRunnerRef.current;
226
- if (runner) {
227
- currentMessages = await runner.emitContext(currentMessages);
171
+ const extensionRunner = extensionRunnerRef.current;
172
+ if (extensionRunner) {
173
+ currentMessages = await extensionRunner.emitContext(currentMessages);
228
174
  }
229
175
  const hookRunner = hookRunnerRef.current;
230
176
  if (hookRunner?.hasHandlers("experimental.chat.messages.transform")) {
231
177
  const output = { messages: currentMessages };
232
- await hookRunner.trigger("experimental.chat.messages.transform", { sessionId: sessionManager.getSessionId() }, output);
178
+ await hookRunner.trigger("experimental.chat.messages.transform", { sessionId: bootstrap.sessionManager.getSessionId() }, output);
233
179
  currentMessages = output.messages;
234
180
  }
235
181
  return currentMessages;
236
182
  },
237
- streamFn: streamWithHooks,
238
- steeringMode: settingsManager.getSteeringMode(),
239
- followUpMode: settingsManager.getFollowUpMode(),
240
- thinkingBudgets: settingsManager.getThinkingBudgets(),
183
+ streamFn: createStreamWithHooks(bootstrap.sessionManager, hookRunnerRef),
184
+ steeringMode: bootstrap.settingsManager.getSteeringMode(),
185
+ followUpMode: bootstrap.settingsManager.getFollowUpMode(),
186
+ thinkingBudgets: bootstrap.settingsManager.getThinkingBudgets(),
241
187
  getApiKey: async (provider) => {
242
- // Use the provider argument from the in-flight request;
243
- // agent.state.model may already be switched mid-turn.
244
188
  const resolvedProvider = provider || agent.state.model?.provider;
245
- if (!resolvedProvider) {
189
+ if (!resolvedProvider)
246
190
  throw new Error("No model selected");
191
+ const accountId = bootstrap.authStorage.getDefaultAccount(resolvedProvider);
192
+ const key = await bootstrap.modelRegistry.getApiKeyForProvider(resolvedProvider, accountId);
193
+ if (key)
194
+ return key;
195
+ const model = agent.state.model;
196
+ const accounts = bootstrap.modelRegistry.getAccounts(resolvedProvider);
197
+ if (accounts.length > 1) {
198
+ throw new Error(`Multiple accounts found for "${resolvedProvider}". Use '--account <name>' to specify which account to use. Available accounts: ${accounts.map((entry) => entry.credential.accountName || entry.accountId).join(", ")}`);
247
199
  }
248
- // Get default account for provider (set via --account flag or login)
249
- const accountId = authStorage.getDefaultAccount(resolvedProvider);
250
- const key = await modelRegistry.getApiKeyForProvider(resolvedProvider, accountId);
251
- if (!key) {
252
- const model = agent.state.model;
253
- const isOAuth = model && modelRegistry.isUsingOAuth(model);
254
- const accounts = modelRegistry.getAccounts(resolvedProvider);
255
- if (accounts.length > 1) {
256
- // Multiple accounts exist - prompt user to select
257
- throw new Error(`Multiple accounts found for "${resolvedProvider}". ` +
258
- `Use '--account <name>' to specify which account to use. ` +
259
- `Available accounts: ${accounts.map(a => a.credential.accountName || a.accountId).join(', ')}`);
260
- }
261
- if (isOAuth) {
262
- throw new Error(`Authentication failed for "${resolvedProvider}". ` +
263
- `Credentials may have expired or network is unavailable. ` +
264
- `Run '/login ${resolvedProvider}' to re-authenticate.`);
265
- }
266
- throw new Error(`No API key found for "${resolvedProvider}". ` +
267
- `Set an API key environment variable or run '/login ${resolvedProvider}'.`);
200
+ if (model && bootstrap.modelRegistry.isUsingOAuth(model)) {
201
+ throw new Error(`Authentication failed for "${resolvedProvider}". Credentials may have expired or network is unavailable. Run '/login ${resolvedProvider}' to re-authenticate.`);
268
202
  }
269
- return key;
203
+ throw new Error(`No API key found for "${resolvedProvider}". Set an API key environment variable or run '/login ${resolvedProvider}'.`);
270
204
  },
271
205
  });
272
- // Restore messages if session has existing data
273
- if (hasExistingSession) {
274
- agent.replaceMessages(existingSession.messages);
206
+ return agent;
207
+ }
208
+ function createBaseTools(options, defaultToolNames) {
209
+ return options.tools
210
+ ? options.tools.map((tool) => tool.name).filter((name) => name in allTools)
211
+ : defaultToolNames;
212
+ }
213
+ async function attachOptionalMcpTools(session, bootstrap, options) {
214
+ const configPath = options.mcp?.configPath ?? getMCPConfigPath();
215
+ const enabled = options.mcp?.enabled !== false && bootstrap.settingsManager.getMCPEnabled() && existsSync(configPath);
216
+ if (!enabled || !bootstrap.settingsManager.getMCPAutoConnect()) {
217
+ return undefined;
275
218
  }
276
- else {
277
- // Save initial model and thinking level for new sessions so they can be restored on resume
278
- if (model) {
279
- sessionManager.appendModelChange(model.provider, model.id);
219
+ createMCPTools(configPath, { timeout: bootstrap.settingsManager.getMCPTimeout() })
220
+ .then((result) => {
221
+ if (result.tools.length > 0) {
222
+ session.registerMCPTools(result.tools, result.pool);
223
+ }
224
+ })
225
+ .catch((error) => {
226
+ console.warn("MCP initialization failed:", error);
227
+ });
228
+ return undefined;
229
+ }
230
+ async function attachOptionalMemoryTools(session, bootstrap, options) {
231
+ const memoryEnabled = options.memory?.enabled === true
232
+ ? true
233
+ : options.memory?.enabled === false
234
+ ? false
235
+ : bootstrap.settingsManager.getMemoryEnabled() && bootstrap.settingsManager.getMemoryAutoConnect();
236
+ if (!memoryEnabled) {
237
+ return undefined;
238
+ }
239
+ try {
240
+ const openaiKey = await bootstrap.modelRegistry.getApiKeyForProvider("openai");
241
+ if (!openaiKey) {
242
+ console.warn("Memory: OpenAI API key not found, memory disabled. Set OPENAI_API_KEY to enable memory.");
243
+ return undefined;
244
+ }
245
+ const memory = await createMemory({
246
+ apiKey: openaiKey,
247
+ lastMessages: bootstrap.settingsManager.getMemoryLastMessages(),
248
+ workingMemory: bootstrap.settingsManager.getMemoryWorkingMemoryEnabled()
249
+ ? { enabled: true, scope: "resource", template: DEFAULT_WORKING_MEMORY_TEMPLATE }
250
+ : undefined,
251
+ semanticRecall: bootstrap.settingsManager.getMemorySemanticRecallEnabled() ? { topK: 5, messageRange: 2 } : undefined,
252
+ observationalMemory: bootstrap.settingsManager.getMemoryObservationalMemoryEnabled()
253
+ ? { enabled: true, scope: "thread" }
254
+ : undefined,
255
+ });
256
+ const tools = createMemoryTools(memory, {
257
+ threadId: bootstrap.sessionManager.getSessionId(),
258
+ resourceId: "default-user",
259
+ });
260
+ if (tools.length > 0) {
261
+ session.registerMemoryTools(tools, memory);
262
+ return { tools, memory };
280
263
  }
281
- sessionManager.appendThinkingLevelChange(thinkingLevel);
264
+ }
265
+ catch (error) {
266
+ console.warn("Memory initialization failed:", error);
267
+ }
268
+ return undefined;
269
+ }
270
+ export async function createAgentSession(options = {}) {
271
+ const bootstrap = await bootstrapSessionDependencies(options);
272
+ const extensionRunnerRef = {};
273
+ const hookRunnerRef = {};
274
+ const resolvedModel = await resolveInitialModel(options, bootstrap);
275
+ const defaultActiveToolNames = ["read", "bash", "edit", "write", "task", "todoread", "todowrite", "webfetch", "websearch"];
276
+ const initialActiveToolNames = createBaseTools(options, defaultActiveToolNames);
277
+ const agent = createAgentInstance(bootstrap, resolvedModel.model, resolvedModel.thinkingLevel, extensionRunnerRef, hookRunnerRef);
278
+ if (bootstrap.sessionManager.buildSessionContext().messages.length > 0) {
279
+ agent.replaceMessages(bootstrap.sessionManager.buildSessionContext().messages);
282
280
  }
283
281
  const session = new AgentSession({
284
282
  agent,
285
- sessionManager,
286
- settingsManager,
287
- cwd,
288
- agentDir,
283
+ sessionManager: bootstrap.sessionManager,
284
+ settingsManager: bootstrap.settingsManager,
285
+ cwd: bootstrap.cwd,
286
+ agentDir: bootstrap.agentDir,
289
287
  scopedModels: options.scopedModels,
290
- resourceLoader,
288
+ resourceLoader: bootstrap.resourceLoader,
291
289
  customTools: options.customTools,
292
- modelRegistry,
290
+ modelRegistry: bootstrap.modelRegistry,
293
291
  initialActiveToolNames,
294
292
  extensionRunnerRef,
295
293
  hookRunnerRef,
296
294
  });
297
- const extensionsResult = resourceLoader.getExtensions();
298
- // Initialize MCP tools if enabled
299
- // NOTE: MCP is loaded asynchronously in background to not block CLI startup
300
- let mcpResult;
301
- const mcpConfigPath = options.mcp?.configPath ?? getMCPConfigPath();
302
- const mcpEnabled = options.mcp?.enabled !== false && settingsManager.getMCPEnabled() && existsSync(mcpConfigPath);
303
- if (mcpEnabled && settingsManager.getMCPAutoConnect()) {
304
- // Load MCP in background without awaiting - don't block startup
305
- createMCPTools(mcpConfigPath, {
306
- timeout: settingsManager.getMCPTimeout(),
307
- })
308
- .then((result) => {
309
- // Register MCP tools with the session
310
- if (result.tools.length > 0) {
311
- session.registerMCPTools(result.tools, result.pool);
312
- }
313
- })
314
- .catch((err) => {
315
- console.warn("MCP initialization failed:", err);
316
- });
317
- }
318
- // Initialize Memory system if enabled
319
- let memoryResult;
320
- const memoryEnabled = options.memory?.enabled === true
321
- ? true
322
- : options.memory?.enabled === false
323
- ? false
324
- : settingsManager.getMemoryEnabled() && settingsManager.getMemoryAutoConnect();
325
- if (memoryEnabled) {
326
- try {
327
- // Get OpenAI API key for embedder (memory requires embeddings)
328
- const openaiKey = await modelRegistry.getApiKeyForProvider("openai");
329
- if (!openaiKey) {
330
- console.warn("Memory: OpenAI API key not found, memory disabled. Set OPENAI_API_KEY to enable memory.");
331
- }
332
- else {
333
- // Create memory instance with settings
334
- const memory = await createMemory({
335
- apiKey: openaiKey,
336
- lastMessages: settingsManager.getMemoryLastMessages(),
337
- workingMemory: settingsManager.getMemoryWorkingMemoryEnabled()
338
- ? { enabled: true, scope: "resource", template: DEFAULT_WORKING_MEMORY_TEMPLATE }
339
- : undefined,
340
- semanticRecall: settingsManager.getMemorySemanticRecallEnabled()
341
- ? { topK: 5, messageRange: 2 }
342
- : undefined,
343
- observationalMemory: settingsManager.getMemoryObservationalMemoryEnabled()
344
- ? { enabled: true, scope: "thread" }
345
- : undefined,
346
- });
347
- // Create memory tools
348
- const memoryTools = createMemoryTools(memory, {
349
- threadId: sessionManager.getSessionId(),
350
- resourceId: "default-user",
351
- });
352
- if (memoryTools.length > 0) {
353
- // Register memory tools with the session
354
- session.registerMemoryTools(memoryTools, memory);
355
- memoryResult = {
356
- tools: memoryTools,
357
- memory,
358
- };
359
- }
360
- }
361
- }
362
- catch (err) {
363
- console.warn("Memory initialization failed:", err);
364
- }
365
- }
295
+ const extensionsResult = bootstrap.resourceLoader.getExtensions();
296
+ const mcpResult = await attachOptionalMcpTools(session, bootstrap, options);
297
+ const memoryResult = await attachOptionalMemoryTools(session, bootstrap, options);
366
298
  return {
367
299
  session,
368
300
  extensionsResult,
369
- modelFallbackMessage,
301
+ modelFallbackMessage: resolvedModel.modelFallbackMessage,
370
302
  mcpResult,
371
303
  memoryResult,
372
304
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/core/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/core/sdk.ts"],"names":[],"mappings":"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"}