@dexto/core 1.1.10 → 1.2.0

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 (1005) hide show
  1. package/README.md +24 -4
  2. package/dist/Dexto.cjs +251 -0
  3. package/dist/Dexto.d.ts +191 -0
  4. package/dist/Dexto.d.ts.map +1 -0
  5. package/dist/Dexto.js +228 -0
  6. package/dist/agent/DextoAgent.cjs +520 -126
  7. package/dist/agent/DextoAgent.d.ts +182 -106
  8. package/dist/agent/DextoAgent.d.ts.map +1 -0
  9. package/dist/agent/DextoAgent.js +480 -126
  10. package/dist/agent/agentCard.d.ts +4 -7
  11. package/dist/agent/agentCard.d.ts.map +1 -0
  12. package/dist/agent/agentCard.js +1 -0
  13. package/dist/agent/error-codes.cjs +3 -0
  14. package/dist/agent/error-codes.d.ts +5 -3
  15. package/dist/agent/error-codes.d.ts.map +1 -0
  16. package/dist/agent/error-codes.js +4 -0
  17. package/dist/agent/errors.cjs +26 -0
  18. package/dist/agent/errors.d.ts +10 -17
  19. package/dist/agent/errors.d.ts.map +1 -0
  20. package/dist/agent/errors.js +27 -0
  21. package/dist/agent/index.cjs +3 -0
  22. package/dist/agent/index.d.ts +6 -57
  23. package/dist/agent/index.d.ts.map +1 -0
  24. package/dist/agent/index.js +3 -0
  25. package/dist/agent/registry/error-codes.cjs +2 -0
  26. package/dist/agent/registry/error-codes.d.ts +4 -3
  27. package/dist/agent/registry/error-codes.d.ts.map +1 -0
  28. package/dist/agent/registry/error-codes.js +3 -0
  29. package/dist/agent/registry/errors.cjs +58 -28
  30. package/dist/agent/registry/errors.d.ts +32 -36
  31. package/dist/agent/registry/errors.d.ts.map +1 -0
  32. package/dist/agent/registry/errors.js +59 -28
  33. package/dist/agent/registry/registry.cjs +242 -54
  34. package/dist/agent/registry/registry.d.ts +84 -21
  35. package/dist/agent/registry/registry.d.ts.map +1 -0
  36. package/dist/agent/registry/registry.js +252 -55
  37. package/dist/agent/registry/types.cjs +36 -3
  38. package/dist/agent/registry/types.d.ts +66 -24
  39. package/dist/agent/registry/types.d.ts.map +1 -0
  40. package/dist/agent/registry/types.js +34 -2
  41. package/dist/agent/registry/user-registry.cjs +140 -0
  42. package/dist/agent/registry/user-registry.d.ts +34 -0
  43. package/dist/agent/registry/user-registry.d.ts.map +1 -0
  44. package/dist/agent/registry/user-registry.js +105 -0
  45. package/dist/agent/schemas.cjs +22 -3
  46. package/dist/agent/schemas.d.ts +811 -479
  47. package/dist/agent/schemas.d.ts.map +1 -0
  48. package/dist/agent/schemas.js +23 -3
  49. package/dist/agent/state-manager.d.ts +7 -12
  50. package/dist/agent/state-manager.d.ts.map +1 -0
  51. package/dist/agent/state-manager.js +1 -0
  52. package/dist/approval/error-codes.cjs +44 -0
  53. package/dist/approval/error-codes.d.ts +21 -0
  54. package/dist/approval/error-codes.d.ts.map +1 -0
  55. package/dist/approval/error-codes.js +21 -0
  56. package/dist/approval/errors.cjs +251 -0
  57. package/dist/approval/errors.d.ts +110 -0
  58. package/dist/approval/errors.d.ts.map +1 -0
  59. package/dist/approval/errors.js +228 -0
  60. package/dist/approval/index.cjs +84 -0
  61. package/dist/approval/index.d.ts +12 -0
  62. package/dist/approval/index.d.ts.map +1 -0
  63. package/dist/approval/index.js +56 -0
  64. package/dist/approval/manager.cjs +189 -0
  65. package/dist/approval/manager.d.ts +131 -0
  66. package/dist/approval/manager.d.ts.map +1 -0
  67. package/dist/approval/manager.js +166 -0
  68. package/dist/approval/providers/event-based-approval-provider.cjs +156 -0
  69. package/dist/approval/providers/event-based-approval-provider.d.ts +39 -0
  70. package/dist/approval/providers/event-based-approval-provider.d.ts.map +1 -0
  71. package/dist/approval/providers/event-based-approval-provider.js +133 -0
  72. package/dist/approval/providers/factory.cjs +38 -0
  73. package/dist/approval/providers/factory.d.ts +12 -0
  74. package/dist/approval/providers/factory.d.ts.map +1 -0
  75. package/dist/approval/providers/factory.js +15 -0
  76. package/dist/approval/providers/noop-approval-provider.cjs +54 -0
  77. package/dist/approval/providers/noop-approval-provider.d.ts +18 -0
  78. package/dist/approval/providers/noop-approval-provider.d.ts.map +1 -0
  79. package/dist/approval/providers/noop-approval-provider.js +31 -0
  80. package/dist/approval/schemas.cjs +204 -0
  81. package/dist/approval/schemas.d.ts +775 -0
  82. package/dist/approval/schemas.d.ts.map +1 -0
  83. package/dist/approval/schemas.js +159 -0
  84. package/dist/approval/types.cjs +42 -0
  85. package/dist/approval/types.d.ts +166 -0
  86. package/dist/approval/types.d.ts.map +1 -0
  87. package/dist/approval/types.js +18 -0
  88. package/dist/chunk-C6A6W6XS.js +53 -0
  89. package/dist/config/agent-resolver.d.ts +3 -4
  90. package/dist/config/agent-resolver.d.ts.map +1 -0
  91. package/dist/config/agent-resolver.js +1 -0
  92. package/dist/config/error-codes.d.ts +2 -3
  93. package/dist/config/error-codes.d.ts.map +1 -0
  94. package/dist/config/error-codes.js +1 -0
  95. package/dist/config/errors.d.ts +3 -18
  96. package/dist/config/errors.d.ts.map +1 -0
  97. package/dist/config/errors.js +1 -0
  98. package/dist/config/index.d.ts +4 -7
  99. package/dist/config/index.d.ts.map +1 -0
  100. package/dist/config/loader.d.ts +2 -5
  101. package/dist/config/loader.d.ts.map +1 -0
  102. package/dist/config/loader.js +1 -0
  103. package/dist/config/writer.d.ts +8 -11
  104. package/dist/config/writer.d.ts.map +1 -0
  105. package/dist/config/writer.js +1 -0
  106. package/dist/context/compression/middle-removal.d.ts +3 -6
  107. package/dist/context/compression/middle-removal.d.ts.map +1 -0
  108. package/dist/context/compression/middle-removal.js +1 -0
  109. package/dist/context/compression/oldest-removal.d.ts +3 -6
  110. package/dist/context/compression/oldest-removal.d.ts.map +1 -0
  111. package/dist/context/compression/oldest-removal.js +1 -0
  112. package/dist/context/compression/types.d.ts +2 -5
  113. package/dist/context/compression/types.d.ts.map +1 -0
  114. package/dist/context/error-codes.d.ts +2 -3
  115. package/dist/context/error-codes.d.ts.map +1 -0
  116. package/dist/context/error-codes.js +1 -0
  117. package/dist/context/errors.d.ts +3 -18
  118. package/dist/context/errors.d.ts.map +1 -0
  119. package/dist/context/errors.js +1 -0
  120. package/dist/context/index.cjs +11 -0
  121. package/dist/context/index.d.ts +4 -19
  122. package/dist/context/index.d.ts.map +1 -0
  123. package/dist/context/index.js +6 -0
  124. package/dist/context/manager.cjs +156 -24
  125. package/dist/context/manager.d.ts +28 -20
  126. package/dist/context/manager.d.ts.map +1 -0
  127. package/dist/context/manager.js +153 -25
  128. package/dist/context/media-helpers.cjs +40 -0
  129. package/dist/context/media-helpers.d.ts +15 -0
  130. package/dist/context/media-helpers.d.ts.map +1 -0
  131. package/dist/context/media-helpers.js +16 -0
  132. package/dist/context/types.d.ts +27 -10
  133. package/dist/context/types.d.ts.map +1 -0
  134. package/dist/context/utils.cjs +907 -71
  135. package/dist/context/utils.d.ts +111 -15
  136. package/dist/context/utils.d.ts.map +1 -0
  137. package/dist/context/utils.js +896 -70
  138. package/dist/errors/DextoBaseError.d.ts +2 -3
  139. package/dist/errors/DextoBaseError.d.ts.map +1 -0
  140. package/dist/errors/DextoBaseError.js +1 -0
  141. package/dist/errors/DextoRuntimeError.d.ts +5 -16
  142. package/dist/errors/DextoRuntimeError.d.ts.map +1 -0
  143. package/dist/errors/DextoRuntimeError.js +1 -0
  144. package/dist/errors/DextoValidationError.d.ts +3 -16
  145. package/dist/errors/DextoValidationError.d.ts.map +1 -0
  146. package/dist/errors/DextoValidationError.js +1 -0
  147. package/dist/errors/index.d.ts +7 -14
  148. package/dist/errors/index.d.ts.map +1 -0
  149. package/dist/errors/index.js +1 -0
  150. package/dist/errors/result-bridge.d.ts +3 -18
  151. package/dist/errors/result-bridge.d.ts.map +1 -0
  152. package/dist/errors/result-bridge.js +1 -0
  153. package/dist/errors/types.cjs +7 -0
  154. package/dist/errors/types.d.ts +32 -20
  155. package/dist/errors/types.d.ts.map +1 -0
  156. package/dist/errors/types.js +8 -0
  157. package/dist/events/index.cjs +9 -3
  158. package/dist/events/index.d.ts +67 -35
  159. package/dist/events/index.d.ts.map +1 -0
  160. package/dist/events/index.js +10 -3
  161. package/dist/filesystem/error-codes.cjs +53 -0
  162. package/dist/filesystem/error-codes.d.ts +31 -0
  163. package/dist/filesystem/error-codes.d.ts.map +1 -0
  164. package/dist/filesystem/error-codes.js +30 -0
  165. package/dist/filesystem/errors.cjs +303 -0
  166. package/dist/filesystem/errors.d.ts +109 -0
  167. package/dist/filesystem/errors.d.ts.map +1 -0
  168. package/dist/filesystem/errors.js +280 -0
  169. package/dist/filesystem/filesystem-service.cjs +482 -0
  170. package/dist/filesystem/filesystem-service.d.ts +57 -0
  171. package/dist/filesystem/filesystem-service.d.ts.map +1 -0
  172. package/dist/filesystem/filesystem-service.js +449 -0
  173. package/dist/filesystem/index.cjs +37 -0
  174. package/dist/filesystem/index.d.ts +11 -0
  175. package/dist/filesystem/index.d.ts.map +1 -0
  176. package/dist/filesystem/index.js +11 -0
  177. package/dist/filesystem/path-validator.cjs +172 -0
  178. package/dist/filesystem/path-validator.d.ts +53 -0
  179. package/dist/filesystem/path-validator.d.ts.map +1 -0
  180. package/dist/filesystem/path-validator.js +139 -0
  181. package/dist/filesystem/types.d.ts +171 -0
  182. package/dist/filesystem/types.d.ts.map +1 -0
  183. package/dist/index.browser.cjs +36 -0
  184. package/dist/index.browser.d.ts +24 -51
  185. package/dist/index.browser.d.ts.map +1 -0
  186. package/dist/index.browser.js +35 -1
  187. package/dist/index.cjs +29 -1
  188. package/dist/index.d.ts +34 -89
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +15 -0
  191. package/dist/llm/error-codes.d.ts +2 -3
  192. package/dist/llm/error-codes.d.ts.map +1 -0
  193. package/dist/llm/error-codes.js +1 -0
  194. package/dist/llm/errors.d.ts +3 -18
  195. package/dist/llm/errors.d.ts.map +1 -0
  196. package/dist/llm/errors.js +1 -0
  197. package/dist/llm/formatters/anthropic.d.ts +2 -4
  198. package/dist/llm/formatters/anthropic.d.ts.map +1 -0
  199. package/dist/llm/formatters/anthropic.js +1 -0
  200. package/dist/llm/formatters/factory.d.ts +3 -6
  201. package/dist/llm/formatters/factory.d.ts.map +1 -0
  202. package/dist/llm/formatters/factory.js +1 -0
  203. package/dist/llm/formatters/openai.d.ts +2 -4
  204. package/dist/llm/formatters/openai.d.ts.map +1 -0
  205. package/dist/llm/formatters/openai.js +1 -0
  206. package/dist/llm/formatters/types.d.ts +2 -4
  207. package/dist/llm/formatters/types.d.ts.map +1 -0
  208. package/dist/llm/formatters/vercel.d.ts +6 -7
  209. package/dist/llm/formatters/vercel.d.ts.map +1 -0
  210. package/dist/llm/formatters/vercel.js +1 -0
  211. package/dist/llm/index.d.ts +8 -39
  212. package/dist/llm/index.d.ts.map +1 -0
  213. package/dist/llm/registry.cjs +30 -16
  214. package/dist/llm/registry.d.ts +27 -30
  215. package/dist/llm/registry.d.ts.map +1 -0
  216. package/dist/llm/registry.js +31 -16
  217. package/dist/llm/resolver.d.ts +6 -20
  218. package/dist/llm/resolver.d.ts.map +1 -0
  219. package/dist/llm/resolver.js +1 -0
  220. package/dist/llm/schemas.cjs +6 -2
  221. package/dist/llm/schemas.d.ts +25 -17
  222. package/dist/llm/schemas.d.ts.map +1 -0
  223. package/dist/llm/schemas.js +7 -2
  224. package/dist/llm/services/anthropic.cjs +91 -11
  225. package/dist/llm/services/anthropic.d.ts +13 -32
  226. package/dist/llm/services/anthropic.d.ts.map +1 -0
  227. package/dist/llm/services/anthropic.js +51 -11
  228. package/dist/llm/services/factory.cjs +21 -15
  229. package/dist/llm/services/factory.d.ts +5 -32
  230. package/dist/llm/services/factory.d.ts.map +1 -0
  231. package/dist/llm/services/factory.js +22 -15
  232. package/dist/llm/services/index.d.ts +2 -21
  233. package/dist/llm/services/index.d.ts.map +1 -0
  234. package/dist/llm/services/openai.cjs +120 -16
  235. package/dist/llm/services/openai.d.ts +13 -32
  236. package/dist/llm/services/openai.d.ts.map +1 -0
  237. package/dist/llm/services/openai.js +80 -16
  238. package/dist/llm/services/test-utils.integration.cjs +3 -3
  239. package/dist/llm/services/test-utils.integration.d.ts +8 -49
  240. package/dist/llm/services/test-utils.integration.d.ts.map +1 -0
  241. package/dist/llm/services/test-utils.integration.js +4 -3
  242. package/dist/llm/services/types.d.ts +5 -22
  243. package/dist/llm/services/types.d.ts.map +1 -0
  244. package/dist/llm/services/vercel.cjs +152 -74
  245. package/dist/llm/services/vercel.d.ts +18 -36
  246. package/dist/llm/services/vercel.d.ts.map +1 -0
  247. package/dist/llm/services/vercel.js +113 -75
  248. package/dist/llm/tokenizer/anthropic.d.ts +2 -4
  249. package/dist/llm/tokenizer/anthropic.d.ts.map +1 -0
  250. package/dist/llm/tokenizer/anthropic.js +1 -0
  251. package/dist/llm/tokenizer/default.d.ts +2 -4
  252. package/dist/llm/tokenizer/default.d.ts.map +1 -0
  253. package/dist/llm/tokenizer/default.js +1 -0
  254. package/dist/llm/tokenizer/factory.d.ts +3 -5
  255. package/dist/llm/tokenizer/factory.d.ts.map +1 -0
  256. package/dist/llm/tokenizer/factory.js +1 -0
  257. package/dist/llm/tokenizer/google.d.ts +2 -4
  258. package/dist/llm/tokenizer/google.d.ts.map +1 -0
  259. package/dist/llm/tokenizer/google.js +1 -0
  260. package/dist/llm/tokenizer/openai.cjs +1 -1
  261. package/dist/llm/tokenizer/openai.d.ts +3 -5
  262. package/dist/llm/tokenizer/openai.d.ts.map +1 -0
  263. package/dist/llm/tokenizer/openai.js +2 -1
  264. package/dist/llm/tokenizer/types.d.ts +3 -4
  265. package/dist/llm/tokenizer/types.d.ts.map +1 -0
  266. package/dist/llm/tokenizer/types.js +1 -0
  267. package/dist/llm/types.d.ts +11 -12
  268. package/dist/llm/types.d.ts.map +1 -0
  269. package/dist/llm/types.js +1 -0
  270. package/dist/llm/validation.d.ts +8 -23
  271. package/dist/llm/validation.d.ts.map +1 -0
  272. package/dist/llm/validation.js +1 -0
  273. package/dist/logger/browser.d.ts +4 -5
  274. package/dist/logger/browser.d.ts.map +1 -0
  275. package/dist/logger/browser.js +1 -0
  276. package/dist/logger/index.d.ts +2 -1
  277. package/dist/logger/index.d.ts.map +1 -0
  278. package/dist/logger/logger.cjs +35 -7
  279. package/dist/logger/logger.d.ts +47 -5
  280. package/dist/logger/logger.d.ts.map +1 -0
  281. package/dist/logger/logger.js +36 -7
  282. package/dist/mcp/error-codes.cjs +1 -0
  283. package/dist/mcp/error-codes.d.ts +3 -3
  284. package/dist/mcp/error-codes.d.ts.map +1 -0
  285. package/dist/mcp/error-codes.js +2 -0
  286. package/dist/mcp/errors.cjs +12 -0
  287. package/dist/mcp/errors.d.ts +9 -17
  288. package/dist/mcp/errors.d.ts.map +1 -0
  289. package/dist/mcp/errors.js +13 -0
  290. package/dist/mcp/index.d.ts +8 -26
  291. package/dist/mcp/index.d.ts.map +1 -0
  292. package/dist/mcp/manager.cjs +528 -130
  293. package/dist/mcp/manager.d.ts +124 -58
  294. package/dist/mcp/manager.d.ts.map +1 -0
  295. package/dist/mcp/manager.js +529 -130
  296. package/dist/mcp/mcp-client.cjs +172 -10
  297. package/dist/mcp/mcp-client.d.ts +36 -14
  298. package/dist/mcp/mcp-client.d.ts.map +1 -0
  299. package/dist/mcp/mcp-client.js +177 -10
  300. package/dist/mcp/resolver.d.ts +5 -20
  301. package/dist/mcp/resolver.d.ts.map +1 -0
  302. package/dist/mcp/resolver.js +1 -0
  303. package/dist/mcp/schemas.cjs +13 -5
  304. package/dist/mcp/schemas.d.ts +31 -28
  305. package/dist/mcp/schemas.d.ts.map +1 -0
  306. package/dist/mcp/schemas.js +11 -5
  307. package/dist/mcp/types.d.ts +19 -11
  308. package/dist/mcp/types.d.ts.map +1 -0
  309. package/dist/memory/error-codes.cjs +39 -0
  310. package/dist/memory/error-codes.d.ts +15 -0
  311. package/dist/memory/error-codes.d.ts.map +1 -0
  312. package/dist/memory/error-codes.js +16 -0
  313. package/dist/memory/errors.cjs +112 -0
  314. package/dist/memory/errors.d.ts +16 -0
  315. package/dist/memory/errors.d.ts.map +1 -0
  316. package/dist/memory/errors.js +89 -0
  317. package/dist/memory/index.cjs +43 -0
  318. package/dist/memory/index.d.ts +6 -0
  319. package/dist/memory/index.d.ts.map +1 -0
  320. package/dist/memory/index.js +19 -0
  321. package/dist/memory/manager.cjs +214 -0
  322. package/dist/memory/manager.d.ts +56 -0
  323. package/dist/memory/manager.d.ts.map +1 -0
  324. package/dist/memory/manager.js +196 -0
  325. package/dist/memory/schemas.cjs +82 -0
  326. package/dist/memory/schemas.d.ts +129 -0
  327. package/dist/memory/schemas.d.ts.map +1 -0
  328. package/dist/memory/schemas.js +54 -0
  329. package/dist/memory/types.d.ts +76 -0
  330. package/dist/memory/types.d.ts.map +1 -0
  331. package/dist/plugins/builtins/content-policy.cjs +112 -0
  332. package/dist/plugins/builtins/content-policy.d.ts +26 -0
  333. package/dist/plugins/builtins/content-policy.d.ts.map +1 -0
  334. package/dist/plugins/builtins/content-policy.js +89 -0
  335. package/dist/plugins/builtins/response-sanitizer.cjs +102 -0
  336. package/dist/plugins/builtins/response-sanitizer.d.ts +25 -0
  337. package/dist/plugins/builtins/response-sanitizer.d.ts.map +1 -0
  338. package/dist/plugins/builtins/response-sanitizer.js +79 -0
  339. package/dist/plugins/error-codes.cjs +39 -0
  340. package/dist/plugins/error-codes.d.ts +26 -0
  341. package/dist/plugins/error-codes.d.ts.map +1 -0
  342. package/dist/plugins/error-codes.js +16 -0
  343. package/dist/plugins/index.cjs +54 -0
  344. package/dist/plugins/index.d.ts +19 -0
  345. package/dist/plugins/index.d.ts.map +1 -0
  346. package/dist/plugins/index.js +25 -0
  347. package/dist/plugins/loader.cjs +151 -0
  348. package/dist/plugins/loader.d.ts +30 -0
  349. package/dist/plugins/loader.d.ts.map +1 -0
  350. package/dist/plugins/loader.js +125 -0
  351. package/dist/plugins/manager.cjs +386 -0
  352. package/dist/plugins/manager.d.ts +97 -0
  353. package/dist/plugins/manager.d.ts.map +1 -0
  354. package/dist/plugins/manager.js +363 -0
  355. package/dist/plugins/registrations/builtins.cjs +51 -0
  356. package/dist/plugins/registrations/builtins.d.ts +17 -0
  357. package/dist/plugins/registrations/builtins.d.ts.map +1 -0
  358. package/dist/plugins/registrations/builtins.js +28 -0
  359. package/dist/plugins/schemas.cjs +61 -0
  360. package/dist/plugins/schemas.d.ts +138 -0
  361. package/dist/plugins/schemas.d.ts.map +1 -0
  362. package/dist/plugins/schemas.js +36 -0
  363. package/dist/{storage/backend/cache-backend.cjs → plugins/types.cjs} +2 -2
  364. package/dist/plugins/types.d.ts +152 -0
  365. package/dist/plugins/types.d.ts.map +1 -0
  366. package/dist/preferences/constants.d.ts +2 -3
  367. package/dist/preferences/constants.d.ts.map +1 -0
  368. package/dist/preferences/constants.js +1 -0
  369. package/dist/preferences/error-codes.d.ts +2 -3
  370. package/dist/preferences/error-codes.d.ts.map +1 -0
  371. package/dist/preferences/error-codes.js +1 -0
  372. package/dist/preferences/errors.d.ts +4 -19
  373. package/dist/preferences/errors.d.ts.map +1 -0
  374. package/dist/preferences/errors.js +1 -0
  375. package/dist/preferences/index.d.ts +5 -20
  376. package/dist/preferences/index.d.ts.map +1 -0
  377. package/dist/preferences/index.js +1 -0
  378. package/dist/preferences/loader.cjs +3 -1
  379. package/dist/preferences/loader.d.ts +18 -12
  380. package/dist/preferences/loader.d.ts.map +1 -0
  381. package/dist/preferences/loader.js +4 -1
  382. package/dist/preferences/schemas.cjs +2 -1
  383. package/dist/preferences/schemas.d.ts +27 -21
  384. package/dist/preferences/schemas.d.ts.map +1 -0
  385. package/dist/preferences/schemas.js +3 -1
  386. package/dist/process/command-validator.cjs +544 -0
  387. package/dist/process/command-validator.d.ts +46 -0
  388. package/dist/process/command-validator.d.ts.map +1 -0
  389. package/dist/process/command-validator.js +521 -0
  390. package/dist/process/error-codes.cjs +47 -0
  391. package/dist/process/error-codes.d.ts +25 -0
  392. package/dist/process/error-codes.d.ts.map +1 -0
  393. package/dist/process/error-codes.js +24 -0
  394. package/dist/process/errors.cjs +244 -0
  395. package/dist/process/errors.d.ts +87 -0
  396. package/dist/process/errors.d.ts.map +1 -0
  397. package/dist/process/errors.js +221 -0
  398. package/dist/process/index.cjs +37 -0
  399. package/dist/process/index.d.ts +11 -0
  400. package/dist/process/index.d.ts.map +1 -0
  401. package/dist/process/index.js +11 -0
  402. package/dist/process/process-service.cjs +443 -0
  403. package/dist/process/process-service.d.ts +62 -0
  404. package/dist/process/process-service.d.ts.map +1 -0
  405. package/dist/process/process-service.js +410 -0
  406. package/dist/{storage/backend/database-backend.cjs → process/types.cjs} +2 -2
  407. package/dist/process/types.d.ts +107 -0
  408. package/dist/process/types.d.ts.map +1 -0
  409. package/dist/prompts/error-codes.cjs +38 -0
  410. package/dist/prompts/error-codes.d.ts +15 -0
  411. package/dist/prompts/error-codes.d.ts.map +1 -0
  412. package/dist/prompts/error-codes.js +15 -0
  413. package/dist/prompts/errors.cjs +144 -0
  414. package/dist/prompts/errors.d.ts +45 -0
  415. package/dist/prompts/errors.d.ts.map +1 -0
  416. package/dist/prompts/errors.js +121 -0
  417. package/dist/prompts/index.cjs +53 -0
  418. package/dist/prompts/index.d.ts +13 -0
  419. package/dist/prompts/index.d.ts.map +1 -0
  420. package/dist/prompts/index.js +21 -0
  421. package/dist/prompts/name-validation.cjs +45 -0
  422. package/dist/prompts/name-validation.d.ts +9 -0
  423. package/dist/prompts/name-validation.d.ts.map +1 -0
  424. package/dist/prompts/name-validation.js +19 -0
  425. package/dist/prompts/prompt-manager.cjs +374 -0
  426. package/dist/prompts/prompt-manager.d.ts +74 -0
  427. package/dist/prompts/prompt-manager.d.ts.map +1 -0
  428. package/dist/prompts/prompt-manager.js +353 -0
  429. package/dist/prompts/providers/custom-prompt-provider.cjs +283 -0
  430. package/dist/prompts/providers/custom-prompt-provider.d.ts +36 -0
  431. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -0
  432. package/dist/prompts/providers/custom-prompt-provider.js +260 -0
  433. package/dist/prompts/providers/file-prompt-provider.cjs +399 -0
  434. package/dist/prompts/providers/file-prompt-provider.d.ts +47 -0
  435. package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -0
  436. package/dist/prompts/providers/file-prompt-provider.js +376 -0
  437. package/dist/prompts/providers/mcp-prompt-provider.cjs +102 -0
  438. package/dist/prompts/providers/mcp-prompt-provider.d.ts +35 -0
  439. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -0
  440. package/dist/prompts/providers/mcp-prompt-provider.js +79 -0
  441. package/dist/prompts/providers/starter-prompt-provider.cjs +170 -0
  442. package/dist/prompts/providers/starter-prompt-provider.d.ts +45 -0
  443. package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -0
  444. package/dist/prompts/providers/starter-prompt-provider.js +147 -0
  445. package/dist/prompts/schemas.cjs +54 -0
  446. package/dist/prompts/schemas.d.ts +65 -0
  447. package/dist/prompts/schemas.d.ts.map +1 -0
  448. package/dist/prompts/schemas.js +31 -0
  449. package/dist/prompts/types.cjs +16 -0
  450. package/dist/prompts/types.d.ts +64 -0
  451. package/dist/prompts/types.d.ts.map +1 -0
  452. package/dist/prompts/types.js +0 -0
  453. package/dist/prompts/utils.cjs +176 -0
  454. package/dist/prompts/utils.d.ts +32 -0
  455. package/dist/prompts/utils.d.ts.map +1 -0
  456. package/dist/prompts/utils.js +150 -0
  457. package/dist/resources/error-codes.cjs +38 -0
  458. package/dist/resources/error-codes.d.ts +13 -0
  459. package/dist/resources/error-codes.d.ts.map +1 -0
  460. package/dist/resources/error-codes.js +15 -0
  461. package/dist/resources/errors.cjs +155 -0
  462. package/dist/resources/errors.d.ts +48 -0
  463. package/dist/resources/errors.d.ts.map +1 -0
  464. package/dist/resources/errors.js +132 -0
  465. package/dist/resources/handlers/blob-handler.cjs +230 -0
  466. package/dist/resources/handlers/blob-handler.d.ts +38 -0
  467. package/dist/resources/handlers/blob-handler.d.ts.map +1 -0
  468. package/dist/resources/handlers/blob-handler.js +207 -0
  469. package/dist/resources/handlers/factory.cjs +50 -0
  470. package/dist/resources/handlers/factory.d.ts +11 -0
  471. package/dist/resources/handlers/factory.d.ts.map +1 -0
  472. package/dist/resources/handlers/factory.js +26 -0
  473. package/dist/resources/handlers/filesystem-handler.cjs +385 -0
  474. package/dist/resources/handlers/filesystem-handler.d.ts +35 -0
  475. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -0
  476. package/dist/resources/handlers/filesystem-handler.js +352 -0
  477. package/dist/resources/handlers/types.cjs +16 -0
  478. package/dist/resources/handlers/types.d.ts +15 -0
  479. package/dist/resources/handlers/types.d.ts.map +1 -0
  480. package/dist/resources/handlers/types.js +0 -0
  481. package/dist/resources/index.cjs +58 -0
  482. package/dist/resources/index.d.ts +39 -0
  483. package/dist/resources/index.d.ts.map +1 -0
  484. package/dist/resources/index.js +35 -0
  485. package/dist/resources/internal-provider.cjs +141 -0
  486. package/dist/resources/internal-provider.d.ts +19 -0
  487. package/dist/resources/internal-provider.d.ts.map +1 -0
  488. package/dist/resources/internal-provider.js +118 -0
  489. package/dist/resources/manager.cjs +221 -0
  490. package/dist/resources/manager.d.ts +29 -0
  491. package/dist/resources/manager.d.ts.map +1 -0
  492. package/dist/resources/manager.js +198 -0
  493. package/dist/resources/reference-parser.cjs +217 -0
  494. package/dist/resources/reference-parser.d.ts +33 -0
  495. package/dist/resources/reference-parser.d.ts.map +1 -0
  496. package/dist/resources/reference-parser.js +191 -0
  497. package/dist/resources/schemas.cjs +98 -0
  498. package/dist/resources/schemas.d.ts +212 -0
  499. package/dist/resources/schemas.d.ts.map +1 -0
  500. package/dist/resources/schemas.js +73 -0
  501. package/dist/resources/types.cjs +16 -0
  502. package/dist/resources/types.d.ts +57 -0
  503. package/dist/resources/types.d.ts.map +1 -0
  504. package/dist/resources/types.js +0 -0
  505. package/dist/search/index.d.ts +2 -4
  506. package/dist/search/index.d.ts.map +1 -0
  507. package/dist/search/index.js +1 -0
  508. package/dist/search/search-service.d.ts +5 -9
  509. package/dist/search/search-service.d.ts.map +1 -0
  510. package/dist/search/search-service.js +1 -0
  511. package/dist/search/types.d.ts +7 -10
  512. package/dist/search/types.d.ts.map +1 -0
  513. package/dist/session/chat-session.cjs +105 -12
  514. package/dist/session/chat-session.d.ts +32 -43
  515. package/dist/session/chat-session.d.ts.map +1 -0
  516. package/dist/session/chat-session.js +106 -12
  517. package/dist/session/error-codes.d.ts +2 -3
  518. package/dist/session/error-codes.d.ts.map +1 -0
  519. package/dist/session/error-codes.js +1 -0
  520. package/dist/session/errors.d.ts +2 -17
  521. package/dist/session/errors.d.ts.map +1 -0
  522. package/dist/session/errors.js +1 -0
  523. package/dist/session/history/database.d.ts +6 -9
  524. package/dist/session/history/database.d.ts.map +1 -0
  525. package/dist/session/history/database.js +1 -0
  526. package/dist/session/history/factory.d.ts +4 -8
  527. package/dist/session/history/factory.d.ts.map +1 -0
  528. package/dist/session/history/factory.js +1 -0
  529. package/dist/session/history/memory.cjs +39 -0
  530. package/dist/session/history/memory.d.ts +14 -0
  531. package/dist/session/history/memory.d.ts.map +1 -0
  532. package/dist/session/history/memory.js +16 -0
  533. package/dist/session/history/types.d.ts +3 -6
  534. package/dist/session/history/types.d.ts.map +1 -0
  535. package/dist/session/index.d.ts +3 -50
  536. package/dist/session/index.d.ts.map +1 -0
  537. package/dist/session/index.js +1 -0
  538. package/dist/session/schemas.d.ts +4 -6
  539. package/dist/session/schemas.d.ts.map +1 -0
  540. package/dist/session/schemas.js +1 -0
  541. package/dist/session/session-manager.cjs +63 -29
  542. package/dist/session/session-manager.d.ts +33 -43
  543. package/dist/session/session-manager.d.ts.map +1 -0
  544. package/dist/session/session-manager.js +64 -29
  545. package/dist/session/title-generator.cjs +140 -0
  546. package/dist/session/title-generator.d.ts +22 -0
  547. package/dist/session/title-generator.d.ts.map +1 -0
  548. package/dist/session/title-generator.js +116 -0
  549. package/dist/storage/blob/factory.cjs +50 -0
  550. package/dist/storage/blob/factory.d.ts +10 -0
  551. package/dist/storage/blob/factory.d.ts.map +1 -0
  552. package/dist/storage/blob/factory.js +27 -0
  553. package/dist/storage/blob/local-blob-store.cjs +503 -0
  554. package/dist/storage/blob/local-blob-store.d.ts +57 -0
  555. package/dist/storage/blob/local-blob-store.d.ts.map +1 -0
  556. package/dist/storage/blob/local-blob-store.js +470 -0
  557. package/dist/storage/blob/schemas.cjs +53 -0
  558. package/dist/storage/blob/schemas.d.ts +80 -0
  559. package/dist/storage/blob/schemas.d.ts.map +1 -0
  560. package/dist/storage/blob/schemas.js +29 -0
  561. package/dist/storage/blob/types.cjs +16 -0
  562. package/dist/storage/blob/types.d.ts +154 -0
  563. package/dist/storage/blob/types.d.ts.map +1 -0
  564. package/dist/storage/blob/types.js +0 -0
  565. package/dist/storage/cache/factory.cjs +63 -0
  566. package/dist/storage/cache/factory.d.ts +8 -0
  567. package/dist/storage/cache/factory.d.ts.map +1 -0
  568. package/dist/storage/cache/factory.js +30 -0
  569. package/dist/storage/cache/memory-cache-store.cjs +107 -0
  570. package/dist/storage/cache/memory-cache-store.d.ts +26 -0
  571. package/dist/storage/cache/memory-cache-store.d.ts.map +1 -0
  572. package/dist/storage/cache/memory-cache-store.js +84 -0
  573. package/dist/storage/{backend/redis-backend.cjs → cache/redis-store.cjs} +8 -22
  574. package/dist/storage/{backend/redis-backend.d.ts → cache/redis-store.d.ts} +8 -14
  575. package/dist/storage/cache/redis-store.d.ts.map +1 -0
  576. package/dist/storage/{backend/redis-backend.js → cache/redis-store.js} +5 -18
  577. package/dist/storage/cache/schemas.cjs +77 -0
  578. package/dist/storage/cache/schemas.d.ts +151 -0
  579. package/dist/storage/cache/schemas.d.ts.map +1 -0
  580. package/dist/storage/cache/schemas.js +53 -0
  581. package/dist/storage/cache/types.cjs +16 -0
  582. package/dist/storage/{backend/cache-backend.d.cts → cache/types.d.ts} +3 -4
  583. package/dist/storage/cache/types.d.ts.map +1 -0
  584. package/dist/storage/cache/types.js +0 -0
  585. package/dist/storage/database/factory.cjs +86 -0
  586. package/dist/storage/database/factory.d.ts +10 -0
  587. package/dist/storage/database/factory.d.ts.map +1 -0
  588. package/dist/storage/database/factory.js +53 -0
  589. package/dist/storage/{backend/memory-backend.cjs → database/memory-database-store.cjs} +10 -28
  590. package/dist/storage/{backend/memory-backend.d.ts → database/memory-database-store.d.ts} +7 -12
  591. package/dist/storage/database/memory-database-store.d.ts.map +1 -0
  592. package/dist/storage/{backend/memory-backend.js → database/memory-database-store.js} +7 -24
  593. package/dist/storage/{backend/postgres-backend.cjs → database/postgres-store.cjs} +11 -11
  594. package/dist/storage/{backend/postgres-backend.d.ts → database/postgres-store.d.ts} +8 -11
  595. package/dist/storage/database/postgres-store.d.ts.map +1 -0
  596. package/dist/storage/{backend/postgres-backend.js → database/postgres-store.js} +8 -7
  597. package/dist/storage/database/schemas.cjs +89 -0
  598. package/dist/storage/database/schemas.d.ts +227 -0
  599. package/dist/storage/database/schemas.d.ts.map +1 -0
  600. package/dist/storage/database/schemas.js +65 -0
  601. package/dist/storage/{backend/sqlite-backend.cjs → database/sqlite-store.cjs} +35 -16
  602. package/dist/storage/{backend/sqlite-backend.d.cts → database/sqlite-store.d.ts} +9 -11
  603. package/dist/storage/database/sqlite-store.d.ts.map +1 -0
  604. package/dist/storage/{backend/sqlite-backend.js → database/sqlite-store.js} +32 -12
  605. package/dist/storage/database/types.cjs +16 -0
  606. package/dist/storage/{backend/database-backend.d.cts → database/types.d.ts} +3 -4
  607. package/dist/storage/database/types.d.ts.map +1 -0
  608. package/dist/storage/database/types.js +0 -0
  609. package/dist/storage/error-codes.cjs +16 -0
  610. package/dist/storage/error-codes.d.ts +20 -5
  611. package/dist/storage/error-codes.d.ts.map +1 -0
  612. package/dist/storage/error-codes.js +17 -0
  613. package/dist/storage/errors.cjs +210 -7
  614. package/dist/storage/errors.d.ts +75 -19
  615. package/dist/storage/errors.d.ts.map +1 -0
  616. package/dist/storage/errors.js +205 -1
  617. package/dist/storage/index.cjs +24 -5
  618. package/dist/storage/index.d.ts +48 -7
  619. package/dist/storage/index.d.ts.map +1 -0
  620. package/dist/storage/index.js +21 -4
  621. package/dist/storage/schemas.cjs +22 -84
  622. package/dist/storage/schemas.d.ts +98 -574
  623. package/dist/storage/schemas.d.ts.map +1 -0
  624. package/dist/storage/schemas.js +26 -84
  625. package/dist/storage/storage-manager.cjs +135 -118
  626. package/dist/storage/storage-manager.d.ts +55 -26
  627. package/dist/storage/storage-manager.d.ts.map +1 -0
  628. package/dist/storage/storage-manager.js +135 -107
  629. package/dist/storage/types.d.ts +7 -5
  630. package/dist/storage/types.d.ts.map +1 -0
  631. package/dist/systemPrompt/contributors.cjs +54 -0
  632. package/dist/systemPrompt/contributors.d.ts +30 -15
  633. package/dist/systemPrompt/contributors.d.ts.map +1 -0
  634. package/dist/systemPrompt/contributors.js +54 -0
  635. package/dist/systemPrompt/error-codes.d.ts +2 -3
  636. package/dist/systemPrompt/error-codes.d.ts.map +1 -0
  637. package/dist/systemPrompt/error-codes.js +1 -0
  638. package/dist/systemPrompt/errors.d.ts +2 -17
  639. package/dist/systemPrompt/errors.d.ts.map +1 -0
  640. package/dist/systemPrompt/errors.js +1 -0
  641. package/dist/systemPrompt/in-built-prompts.cjs +13 -15
  642. package/dist/systemPrompt/in-built-prompts.d.ts +4 -14
  643. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -0
  644. package/dist/systemPrompt/in-built-prompts.js +14 -15
  645. package/dist/systemPrompt/index.cjs +11 -0
  646. package/dist/systemPrompt/index.d.ts +7 -14
  647. package/dist/systemPrompt/index.d.ts.map +1 -0
  648. package/dist/systemPrompt/index.js +9 -0
  649. package/dist/systemPrompt/manager.cjs +24 -6
  650. package/dist/systemPrompt/manager.d.ts +8 -16
  651. package/dist/systemPrompt/manager.d.ts.map +1 -0
  652. package/dist/systemPrompt/manager.js +25 -6
  653. package/dist/systemPrompt/registry.d.ts +6 -16
  654. package/dist/systemPrompt/registry.d.ts.map +1 -0
  655. package/dist/systemPrompt/registry.js +1 -0
  656. package/dist/systemPrompt/schemas.cjs +17 -3
  657. package/dist/systemPrompt/schemas.d.ts +204 -30
  658. package/dist/systemPrompt/schemas.d.ts.map +1 -0
  659. package/dist/systemPrompt/schemas.js +18 -3
  660. package/dist/systemPrompt/types.d.ts +3 -12
  661. package/dist/systemPrompt/types.d.ts.map +1 -0
  662. package/dist/telemetry/decorators.cjs +175 -0
  663. package/dist/telemetry/decorators.d.ts +17 -0
  664. package/dist/telemetry/decorators.d.ts.map +1 -0
  665. package/dist/telemetry/decorators.js +157 -0
  666. package/dist/telemetry/exporters.cjs +108 -0
  667. package/dist/telemetry/exporters.d.ts +29 -0
  668. package/dist/telemetry/exporters.d.ts.map +1 -0
  669. package/dist/telemetry/exporters.js +85 -0
  670. package/dist/telemetry/index.cjs +28 -0
  671. package/dist/telemetry/index.d.ts +2 -0
  672. package/dist/telemetry/index.d.ts.map +1 -0
  673. package/dist/telemetry/index.js +5 -0
  674. package/dist/telemetry/schemas.cjs +71 -0
  675. package/dist/telemetry/schemas.d.ts +54 -0
  676. package/dist/telemetry/schemas.d.ts.map +1 -0
  677. package/dist/telemetry/schemas.js +48 -0
  678. package/dist/telemetry/telemetry.cjs +228 -0
  679. package/dist/telemetry/telemetry.d.ts +74 -0
  680. package/dist/telemetry/telemetry.d.ts.map +1 -0
  681. package/dist/telemetry/telemetry.js +205 -0
  682. package/dist/telemetry/types.cjs +16 -0
  683. package/dist/telemetry/types.d.ts +22 -0
  684. package/dist/telemetry/types.d.ts.map +1 -0
  685. package/dist/telemetry/types.js +0 -0
  686. package/dist/telemetry/utils.cjs +87 -0
  687. package/dist/telemetry/utils.d.ts +21 -0
  688. package/dist/telemetry/utils.d.ts.map +1 -0
  689. package/dist/telemetry/utils.js +62 -0
  690. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +1 -1
  691. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +6 -12
  692. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -0
  693. package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -1
  694. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +3 -5
  695. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -0
  696. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
  697. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +9 -9
  698. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +7 -13
  699. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -0
  700. package/dist/tools/confirmation/allowed-tools-provider/storage.js +10 -9
  701. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -3
  702. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -0
  703. package/dist/tools/error-codes.d.ts +2 -3
  704. package/dist/tools/error-codes.d.ts.map +1 -0
  705. package/dist/tools/error-codes.js +1 -0
  706. package/dist/tools/errors.d.ts +2 -17
  707. package/dist/tools/errors.d.ts.map +1 -0
  708. package/dist/tools/errors.js +1 -0
  709. package/dist/tools/index.cjs +0 -2
  710. package/dist/tools/index.d.ts +11 -19
  711. package/dist/tools/index.d.ts.map +1 -0
  712. package/dist/tools/index.js +1 -1
  713. package/dist/tools/internal-tools/constants.cjs +39 -0
  714. package/dist/tools/internal-tools/constants.d.ts +12 -0
  715. package/dist/tools/internal-tools/constants.d.ts.map +1 -0
  716. package/dist/tools/internal-tools/constants.js +16 -0
  717. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +57 -0
  718. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +18 -0
  719. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +1 -0
  720. package/dist/tools/internal-tools/implementations/ask-user-tool.js +34 -0
  721. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
  722. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
  723. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
  724. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
  725. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
  726. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
  727. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
  728. package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
  729. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
  730. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
  731. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
  732. package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
  733. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
  734. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
  735. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
  736. package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
  737. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
  738. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
  739. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
  740. package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
  741. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
  742. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
  743. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
  744. package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
  745. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
  746. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
  747. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
  748. package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
  749. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +3 -11
  750. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +1 -0
  751. package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
  752. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
  753. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
  754. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
  755. package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
  756. package/dist/tools/internal-tools/index.cjs +3 -1
  757. package/dist/tools/internal-tools/index.d.ts +4 -13
  758. package/dist/tools/internal-tools/index.d.ts.map +1 -0
  759. package/dist/tools/internal-tools/index.js +1 -0
  760. package/dist/tools/internal-tools/provider.cjs +9 -11
  761. package/dist/tools/internal-tools/provider.d.ts +6 -20
  762. package/dist/tools/internal-tools/provider.d.ts.map +1 -0
  763. package/dist/tools/internal-tools/provider.js +10 -11
  764. package/dist/tools/internal-tools/registry.cjs +45 -4
  765. package/dist/tools/internal-tools/registry.d.ts +13 -22
  766. package/dist/tools/internal-tools/registry.d.ts.map +1 -0
  767. package/dist/tools/internal-tools/registry.js +46 -3
  768. package/dist/tools/schemas.cjs +32 -7
  769. package/dist/tools/schemas.d.ts +41 -8
  770. package/dist/tools/schemas.d.ts.map +1 -0
  771. package/dist/tools/schemas.js +25 -4
  772. package/dist/tools/tool-manager.cjs +329 -30
  773. package/dist/tools/tool-manager.d.ts +94 -22
  774. package/dist/tools/tool-manager.d.ts.map +1 -0
  775. package/dist/tools/tool-manager.js +289 -30
  776. package/dist/tools/types.d.ts +9 -11
  777. package/dist/tools/types.d.ts.map +1 -0
  778. package/dist/utils/api-key-resolver.d.ts +5 -7
  779. package/dist/utils/api-key-resolver.d.ts.map +1 -0
  780. package/dist/utils/api-key-resolver.js +1 -0
  781. package/dist/utils/api-key-store.d.ts +5 -7
  782. package/dist/utils/api-key-store.d.ts.map +1 -0
  783. package/dist/utils/api-key-store.js +1 -0
  784. package/dist/utils/async-context.cjs +51 -0
  785. package/dist/utils/async-context.d.ts +68 -0
  786. package/dist/utils/async-context.d.ts.map +1 -0
  787. package/dist/utils/async-context.js +25 -0
  788. package/dist/utils/debug.cjs +40 -0
  789. package/dist/utils/debug.d.ts +2 -0
  790. package/dist/utils/debug.d.ts.map +1 -0
  791. package/dist/utils/debug.js +17 -0
  792. package/dist/utils/env.d.ts +4 -5
  793. package/dist/utils/env.d.ts.map +1 -0
  794. package/dist/utils/env.js +1 -0
  795. package/dist/utils/error-conversion.d.ts +2 -3
  796. package/dist/utils/error-conversion.d.ts.map +1 -0
  797. package/dist/utils/error-conversion.js +1 -0
  798. package/dist/utils/execution-context.d.ts +5 -6
  799. package/dist/utils/execution-context.d.ts.map +1 -0
  800. package/dist/utils/execution-context.js +1 -0
  801. package/dist/utils/fs-walk.d.ts +2 -3
  802. package/dist/utils/fs-walk.d.ts.map +1 -0
  803. package/dist/utils/fs-walk.js +1 -0
  804. package/dist/utils/index.cjs +3 -1
  805. package/dist/utils/index.d.ts +14 -63
  806. package/dist/utils/index.d.ts.map +1 -0
  807. package/dist/utils/index.js +1 -0
  808. package/dist/utils/path.d.ts +9 -10
  809. package/dist/utils/path.d.ts.map +1 -0
  810. package/dist/utils/path.js +1 -0
  811. package/dist/utils/port-utils.d.ts +2 -3
  812. package/dist/utils/port-utils.d.ts.map +1 -0
  813. package/dist/utils/port-utils.js +1 -0
  814. package/dist/utils/redactor.d.ts +2 -3
  815. package/dist/utils/redactor.d.ts.map +1 -0
  816. package/dist/utils/redactor.js +1 -0
  817. package/dist/utils/result.d.ts +14 -27
  818. package/dist/utils/result.d.ts.map +1 -0
  819. package/dist/utils/result.js +1 -0
  820. package/dist/utils/safe-stringify.d.ts +2 -3
  821. package/dist/utils/safe-stringify.d.ts.map +1 -0
  822. package/dist/utils/safe-stringify.js +1 -0
  823. package/dist/utils/schema-metadata.cjs +235 -0
  824. package/dist/utils/schema-metadata.d.ts +82 -0
  825. package/dist/utils/schema-metadata.d.ts.map +1 -0
  826. package/dist/utils/schema-metadata.js +208 -0
  827. package/dist/utils/schema.d.ts +2 -3
  828. package/dist/utils/schema.d.ts.map +1 -0
  829. package/dist/utils/schema.js +1 -0
  830. package/dist/utils/service-initializer.cjs +110 -35
  831. package/dist/utils/service-initializer.d.ts +19 -43
  832. package/dist/utils/service-initializer.d.ts.map +1 -0
  833. package/dist/utils/service-initializer.js +101 -35
  834. package/dist/utils/user-info.d.ts +2 -3
  835. package/dist/utils/user-info.d.ts.map +1 -0
  836. package/dist/utils/user-info.js +1 -0
  837. package/dist/utils/zod-schema-converter.d.ts +3 -5
  838. package/dist/utils/zod-schema-converter.d.ts.map +1 -0
  839. package/dist/utils/zod-schema-converter.js +1 -0
  840. package/package.json +16 -4
  841. package/dist/agent/DextoAgent.d.cts +0 -541
  842. package/dist/agent/agentCard.d.cts +0 -20
  843. package/dist/agent/error-codes.d.cts +0 -14
  844. package/dist/agent/errors.d.cts +0 -44
  845. package/dist/agent/index.d.cts +0 -60
  846. package/dist/agent/registry/error-codes.d.cts +0 -20
  847. package/dist/agent/registry/errors.d.cts +0 -67
  848. package/dist/agent/registry/registry.d.cts +0 -67
  849. package/dist/agent/registry/types.d.cts +0 -100
  850. package/dist/agent/schemas.d.cts +0 -1502
  851. package/dist/agent/state-manager.d.cts +0 -97
  852. package/dist/config/agent-resolver.d.cts +0 -15
  853. package/dist/config/error-codes.d.cts +0 -17
  854. package/dist/config/errors.d.cts +0 -49
  855. package/dist/config/index.d.cts +0 -7
  856. package/dist/config/loader.d.cts +0 -19
  857. package/dist/config/writer.d.cts +0 -38
  858. package/dist/context/compression/middle-removal.d.cts +0 -48
  859. package/dist/context/compression/oldest-removal.d.cts +0 -43
  860. package/dist/context/compression/types.d.cts +0 -21
  861. package/dist/context/error-codes.d.cts +0 -19
  862. package/dist/context/errors.d.cts +0 -36
  863. package/dist/context/index.d.cts +0 -19
  864. package/dist/context/manager.d.cts +0 -254
  865. package/dist/context/types.d.cts +0 -113
  866. package/dist/context/utils.d.cts +0 -79
  867. package/dist/errors/DextoBaseError.d.cts +0 -15
  868. package/dist/errors/DextoRuntimeError.d.cts +0 -37
  869. package/dist/errors/DextoValidationError.d.cts +0 -65
  870. package/dist/errors/index.d.cts +0 -18
  871. package/dist/errors/result-bridge.d.cts +0 -39
  872. package/dist/errors/types.d.cts +0 -62
  873. package/dist/events/index.d.cts +0 -272
  874. package/dist/index.browser.d.cts +0 -53
  875. package/dist/index.d.cts +0 -89
  876. package/dist/llm/error-codes.d.cts +0 -26
  877. package/dist/llm/errors.d.cts +0 -58
  878. package/dist/llm/formatters/anthropic.d.cts +0 -45
  879. package/dist/llm/formatters/factory.d.cts +0 -12
  880. package/dist/llm/formatters/openai.d.cts +0 -38
  881. package/dist/llm/formatters/types.d.cts +0 -43
  882. package/dist/llm/formatters/vercel.d.cts +0 -48
  883. package/dist/llm/index.d.cts +0 -39
  884. package/dist/llm/registry.d.cts +0 -176
  885. package/dist/llm/resolver.d.cts +0 -34
  886. package/dist/llm/schemas.d.cts +0 -111
  887. package/dist/llm/services/anthropic.d.cts +0 -65
  888. package/dist/llm/services/factory.d.cts +0 -39
  889. package/dist/llm/services/index.d.cts +0 -21
  890. package/dist/llm/services/openai.d.cts +0 -65
  891. package/dist/llm/services/test-utils.integration.d.cts +0 -83
  892. package/dist/llm/services/types.d.cts +0 -56
  893. package/dist/llm/services/vercel.d.cts +0 -72
  894. package/dist/llm/tokenizer/anthropic.d.cts +0 -21
  895. package/dist/llm/tokenizer/default.d.cts +0 -16
  896. package/dist/llm/tokenizer/factory.d.cts +0 -12
  897. package/dist/llm/tokenizer/google.d.cts +0 -31
  898. package/dist/llm/tokenizer/openai.d.cts +0 -32
  899. package/dist/llm/tokenizer/types.d.cts +0 -19
  900. package/dist/llm/types.d.cts +0 -29
  901. package/dist/llm/validation.d.cts +0 -60
  902. package/dist/logger/browser.d.cts +0 -29
  903. package/dist/logger/index.d.cts +0 -1
  904. package/dist/logger/logger.d.cts +0 -52
  905. package/dist/mcp/error-codes.d.cts +0 -16
  906. package/dist/mcp/errors.d.cts +0 -72
  907. package/dist/mcp/index.d.cts +0 -26
  908. package/dist/mcp/manager.d.cts +0 -163
  909. package/dist/mcp/mcp-client.d.cts +0 -108
  910. package/dist/mcp/resolver.d.cts +0 -22
  911. package/dist/mcp/schemas.d.cts +0 -266
  912. package/dist/mcp/types.d.cts +0 -21
  913. package/dist/preferences/constants.d.cts +0 -3
  914. package/dist/preferences/error-codes.d.cts +0 -9
  915. package/dist/preferences/errors.d.cts +0 -33
  916. package/dist/preferences/index.d.cts +0 -21
  917. package/dist/preferences/loader.d.cts +0 -45
  918. package/dist/preferences/schemas.d.cts +0 -104
  919. package/dist/search/index.d.cts +0 -5
  920. package/dist/search/search-service.d.cts +0 -47
  921. package/dist/search/types.d.cts +0 -78
  922. package/dist/session/chat-session.d.cts +0 -284
  923. package/dist/session/error-codes.d.cts +0 -13
  924. package/dist/session/errors.d.cts +0 -58
  925. package/dist/session/history/database.d.cts +0 -28
  926. package/dist/session/history/factory.d.cts +0 -11
  927. package/dist/session/history/types.d.cts +0 -17
  928. package/dist/session/index.d.cts +0 -53
  929. package/dist/session/schemas.d.cts +0 -16
  930. package/dist/session/session-manager.d.cts +0 -219
  931. package/dist/storage/backend/cache-backend.d.ts +0 -15
  932. package/dist/storage/backend/database-backend.d.ts +0 -19
  933. package/dist/storage/backend/memory-backend.d.cts +0 -34
  934. package/dist/storage/backend/postgres-backend.d.cts +0 -37
  935. package/dist/storage/backend/redis-backend.d.cts +0 -36
  936. package/dist/storage/backend/sqlite-backend.d.ts +0 -35
  937. package/dist/storage/backend/types.d.cts +0 -14
  938. package/dist/storage/backend/types.d.ts +0 -14
  939. package/dist/storage/error-codes.d.cts +0 -14
  940. package/dist/storage/errors.d.cts +0 -63
  941. package/dist/storage/index.d.cts +0 -7
  942. package/dist/storage/schemas.d.cts +0 -856
  943. package/dist/storage/storage-manager.d.cts +0 -52
  944. package/dist/storage/types.d.cts +0 -5
  945. package/dist/systemPrompt/contributors.d.cts +0 -44
  946. package/dist/systemPrompt/error-codes.d.cts +0 -13
  947. package/dist/systemPrompt/errors.d.cts +0 -55
  948. package/dist/systemPrompt/in-built-prompts.d.cts +0 -28
  949. package/dist/systemPrompt/index.d.cts +0 -14
  950. package/dist/systemPrompt/manager.d.cts +0 -31
  951. package/dist/systemPrompt/registry.d.cts +0 -20
  952. package/dist/systemPrompt/schemas.d.cts +0 -401
  953. package/dist/systemPrompt/types.d.cts +0 -19
  954. package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +0 -19
  955. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +0 -17
  956. package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +0 -26
  957. package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +0 -35
  958. package/dist/tools/confirmation/event-based-confirmation-provider.cjs +0 -158
  959. package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +0 -41
  960. package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +0 -41
  961. package/dist/tools/confirmation/event-based-confirmation-provider.js +0 -134
  962. package/dist/tools/confirmation/factory.cjs +0 -52
  963. package/dist/tools/confirmation/factory.d.cts +0 -37
  964. package/dist/tools/confirmation/factory.d.ts +0 -37
  965. package/dist/tools/confirmation/factory.js +0 -28
  966. package/dist/tools/confirmation/noop-confirmation-provider.cjs +0 -49
  967. package/dist/tools/confirmation/noop-confirmation-provider.d.cts +0 -22
  968. package/dist/tools/confirmation/noop-confirmation-provider.d.ts +0 -22
  969. package/dist/tools/confirmation/noop-confirmation-provider.js +0 -25
  970. package/dist/tools/confirmation/types.d.cts +0 -46
  971. package/dist/tools/confirmation/types.d.ts +0 -46
  972. package/dist/tools/error-codes.d.cts +0 -18
  973. package/dist/tools/errors.d.cts +0 -97
  974. package/dist/tools/index.d.cts +0 -19
  975. package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +0 -15
  976. package/dist/tools/internal-tools/index.d.cts +0 -13
  977. package/dist/tools/internal-tools/provider.d.cts +0 -66
  978. package/dist/tools/internal-tools/registry.d.cts +0 -45
  979. package/dist/tools/schemas.d.cts +0 -21
  980. package/dist/tools/tool-manager.d.cts +0 -106
  981. package/dist/tools/types.d.cts +0 -66
  982. package/dist/utils/api-key-resolver.d.cts +0 -23
  983. package/dist/utils/api-key-store.d.cts +0 -26
  984. package/dist/utils/env.d.cts +0 -29
  985. package/dist/utils/error-conversion.d.cts +0 -13
  986. package/dist/utils/execution-context.d.cts +0 -21
  987. package/dist/utils/fs-walk.d.cts +0 -9
  988. package/dist/utils/index.d.cts +0 -63
  989. package/dist/utils/path.d.cts +0 -54
  990. package/dist/utils/port-utils.d.cts +0 -11
  991. package/dist/utils/port-utils.spec.d.cts +0 -2
  992. package/dist/utils/port-utils.spec.d.ts +0 -2
  993. package/dist/utils/redactor.d.cts +0 -18
  994. package/dist/utils/result.d.cts +0 -180
  995. package/dist/utils/safe-stringify.d.cts +0 -7
  996. package/dist/utils/schema.d.cts +0 -6
  997. package/dist/utils/service-initializer.d.cts +0 -63
  998. package/dist/utils/user-info.d.cts +0 -3
  999. package/dist/utils/zod-schema-converter.d.cts +0 -13
  1000. /package/dist/{storage/backend → filesystem}/types.cjs +0 -0
  1001. /package/dist/{storage/backend → filesystem}/types.js +0 -0
  1002. /package/dist/{tools/confirmation → memory}/types.cjs +0 -0
  1003. /package/dist/{tools/confirmation → memory}/types.js +0 -0
  1004. /package/dist/{storage/backend/cache-backend.js → plugins/types.js} +0 -0
  1005. /package/dist/{storage/backend/database-backend.js → process/types.js} +0 -0
@@ -1,8 +1,15 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
8
+ var __typeError = (msg) => {
9
+ throw TypeError(msg);
10
+ };
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
13
  var __export = (target, all) => {
7
14
  for (var name in all)
8
15
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,13 +23,55 @@ var __copyProps = (to, from, except, desc) => {
16
23
  return to;
17
24
  };
18
25
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
27
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
28
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
29
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
30
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
31
+ var __runInitializers = (array, flags, self, value) => {
32
+ for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
33
+ return value;
34
+ };
35
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
36
+ var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
37
+ var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
38
+ var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
39
+ var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
40
+ return __privateGet(this, extra);
41
+ }, set [name](x) {
42
+ return __privateSet(this, extra, x);
43
+ } }, name));
44
+ k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
45
+ for (var i = decorators.length - 1; i >= 0; i--) {
46
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
47
+ if (k) {
48
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
49
+ if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
50
+ if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
51
+ }
52
+ it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
53
+ if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
54
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
55
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
56
+ }
57
+ return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
58
+ };
59
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
60
+ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
61
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
62
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
63
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
19
64
  var DextoAgent_exports = {};
20
65
  __export(DextoAgent_exports, {
21
66
  DextoAgent: () => DextoAgent
22
67
  });
23
68
  module.exports = __toCommonJS(DextoAgent_exports);
69
+ var import_resources = require("../resources/index.js");
70
+ var import_utils = require("../context/utils.js");
71
+ var import_prompts = require("../prompts/index.js");
24
72
  var import_session = require("../session/index.js");
25
73
  var import_logger = require("../logger/index.js");
74
+ var import_decorators = require("../telemetry/decorators.js");
26
75
  var import_schemas = require("../llm/schemas.cjs");
27
76
  var import_resolver = require("../llm/resolver.js");
28
77
  var import_validation = require("../llm/validation.js");
@@ -30,23 +79,39 @@ var import_errors = require("./errors.js");
30
79
  var import_errors2 = require("../mcp/errors.js");
31
80
  var import_result_bridge = require("../errors/result-bridge.cjs");
32
81
  var import_result = require("../utils/result.cjs");
82
+ var import_DextoValidationError = require("../errors/DextoValidationError.cjs");
33
83
  var import_resolver2 = require("../mcp/resolver.js");
34
84
  var import_registry = require("../llm/registry.js");
35
85
  var import_service_initializer2 = require("../utils/service-initializer.js");
36
86
  var import_schemas2 = require("./schemas.js");
37
87
  var import_path = require("../utils/path.js");
38
88
  var import_safe_stringify = require("../utils/safe-stringify.cjs");
39
- var import_registry2 = require("./registry/registry.js");
40
89
  var import_loader = require("../config/loader.js");
90
+ var import_fs = require("fs");
91
+ var import_yaml = require("yaml");
92
+ var import_title_generator = require("../session/title-generator.js");
93
+ var _DextoAgent_decorators, _init;
41
94
  const requiredServices = [
42
95
  "mcpManager",
43
96
  "toolManager",
44
- "promptManager",
97
+ "systemPromptManager",
45
98
  "agentEventBus",
46
99
  "stateManager",
47
100
  "sessionManager",
48
- "searchService"
101
+ "searchService",
102
+ "memoryManager"
49
103
  ];
104
+ _DextoAgent_decorators = [(0, import_decorators.InstrumentClass)({
105
+ prefix: "agent",
106
+ excludeMethods: [
107
+ "isStarted",
108
+ "isStopped",
109
+ "getConfig",
110
+ "getEffectiveConfig",
111
+ "registerSubscriber",
112
+ "ensureStarted"
113
+ ]
114
+ })];
50
115
  class DextoAgent {
51
116
  constructor(config, configPath) {
52
117
  this.configPath = configPath;
@@ -59,11 +124,14 @@ class DextoAgent {
59
124
  * But the main recommended entry points/functions would still be the wrapper methods we define below
60
125
  */
61
126
  mcpManager;
62
- promptManager;
127
+ systemPromptManager;
63
128
  agentEventBus;
129
+ promptManager;
64
130
  stateManager;
65
131
  sessionManager;
66
132
  toolManager;
133
+ resourceManager;
134
+ memoryManager;
67
135
  services;
68
136
  // Search service for conversation search
69
137
  searchService;
@@ -76,6 +144,10 @@ class DextoAgent {
76
144
  _isStopped = false;
77
145
  // Store config for async initialization
78
146
  config;
147
+ // Event subscribers (e.g., WebSocket, Webhook handlers)
148
+ eventSubscribers = /* @__PURE__ */ new Set();
149
+ // Telemetry instance for distributed tracing
150
+ telemetry;
79
151
  /**
80
152
  * Starts the agent by initializing all async services.
81
153
  * This method handles storage backends, MCP connections, session manager initialization, and other async operations.
@@ -100,15 +172,30 @@ class DextoAgent {
100
172
  Object.assign(this, {
101
173
  mcpManager: services.mcpManager,
102
174
  toolManager: services.toolManager,
103
- promptManager: services.promptManager,
175
+ resourceManager: services.resourceManager,
176
+ systemPromptManager: services.systemPromptManager,
104
177
  agentEventBus: services.agentEventBus,
105
178
  stateManager: services.stateManager,
106
179
  sessionManager: services.sessionManager,
180
+ memoryManager: services.memoryManager,
107
181
  services
108
182
  });
109
183
  this.searchService = services.searchService;
184
+ const promptManager = new import_prompts.PromptManager(
185
+ this.mcpManager,
186
+ this.resourceManager,
187
+ this.config,
188
+ this.agentEventBus,
189
+ services.storageManager.getDatabase()
190
+ );
191
+ await promptManager.initialize();
192
+ Object.assign(this, { promptManager });
110
193
  this._isStarted = true;
194
+ this._isStopped = false;
111
195
  import_logger.logger.info("DextoAgent started successfully.");
196
+ for (const subscriber of this.eventSubscribers) {
197
+ subscriber.subscribe(this.agentEventBus);
198
+ }
112
199
  const logPath = (0, import_path.getDextoPath)("logs", "dexto.log");
113
200
  console.log(`\u{1F4CB} Logs available at: ${logPath}`);
114
201
  } catch (error) {
@@ -143,6 +230,15 @@ class DextoAgent {
143
230
  const err = error instanceof Error ? error : new Error(String(error));
144
231
  shutdownErrors.push(new Error(`SessionManager cleanup failed: ${err.message}`));
145
232
  }
233
+ try {
234
+ if (this.services?.pluginManager) {
235
+ await this.services.pluginManager.cleanup();
236
+ import_logger.logger.debug("PluginManager cleaned up successfully");
237
+ }
238
+ } catch (error) {
239
+ const err = error instanceof Error ? error : new Error(String(error));
240
+ shutdownErrors.push(new Error(`PluginManager cleanup failed: ${err.message}`));
241
+ }
146
242
  try {
147
243
  if (this.mcpManager) {
148
244
  await this.mcpManager.disconnectAll();
@@ -174,6 +270,30 @@ class DextoAgent {
174
270
  throw error;
175
271
  }
176
272
  }
273
+ /**
274
+ * Register an event subscriber that will be automatically re-subscribed on agent restart.
275
+ * Subscribers are typically API layer components (WebSocket, Webhook handlers) that need
276
+ * to receive agent events. If the agent is already started, the subscriber is immediately subscribed.
277
+ *
278
+ * @param subscriber - Object implementing AgentEventSubscriber interface
279
+ */
280
+ registerSubscriber(subscriber) {
281
+ this.eventSubscribers.add(subscriber);
282
+ if (this._isStarted) {
283
+ subscriber.subscribe(this.agentEventBus);
284
+ }
285
+ }
286
+ /**
287
+ * Restart the agent by stopping and starting it.
288
+ * Automatically re-subscribes all registered event subscribers to the new event bus.
289
+ * This is useful when configuration changes require a full agent restart.
290
+ *
291
+ * @throws Error if restart fails during stop or start phases
292
+ */
293
+ async restart() {
294
+ await this.stop();
295
+ await this.start();
296
+ }
177
297
  /**
178
298
  * Checks if the agent has been started.
179
299
  * @returns true if agent is started, false otherwise
@@ -238,7 +358,56 @@ class DextoAgent {
238
358
  imageDataInput
239
359
  )}, hasFile=${Boolean(fileDataInput)}`
240
360
  );
241
- const response = await session.run(textInput, imageDataInput, fileDataInput, stream);
361
+ let finalText = textInput;
362
+ let finalImageData = imageDataInput;
363
+ if (textInput && textInput.includes("@")) {
364
+ try {
365
+ const resources = await this.resourceManager.list();
366
+ const expansion = await (0, import_resources.expandMessageReferences)(
367
+ textInput,
368
+ resources,
369
+ (uri) => this.resourceManager.read(uri)
370
+ );
371
+ if (expansion.unresolvedReferences.length > 0) {
372
+ const unresolvedNames = expansion.unresolvedReferences.map((ref) => ref.originalRef).join(", ");
373
+ import_logger.logger.warn(
374
+ `Could not resolve ${expansion.unresolvedReferences.length} resource reference(s): ${unresolvedNames}`
375
+ );
376
+ }
377
+ const MAX_EXPANDED_SIZE = 5 * 1024 * 1024;
378
+ const expandedSize = Buffer.byteLength(expansion.expandedMessage, "utf-8");
379
+ if (expandedSize > MAX_EXPANDED_SIZE) {
380
+ import_logger.logger.warn(
381
+ `Expanded message size (${(expandedSize / 1024 / 1024).toFixed(2)}MB) exceeds limit (${MAX_EXPANDED_SIZE / 1024 / 1024}MB). Content may be truncated.`
382
+ );
383
+ }
384
+ finalText = expansion.expandedMessage;
385
+ if (expansion.extractedImages.length > 0 && !imageDataInput) {
386
+ const firstImage = expansion.extractedImages[0];
387
+ if (firstImage) {
388
+ finalImageData = {
389
+ image: firstImage.image,
390
+ mimeType: firstImage.mimeType
391
+ };
392
+ import_logger.logger.debug(
393
+ `Using extracted image: ${firstImage.name} (${firstImage.mimeType})`
394
+ );
395
+ }
396
+ }
397
+ } catch (error) {
398
+ import_logger.logger.error(
399
+ `Failed to expand resource references: ${error instanceof Error ? error.message : String(error)}. Continuing with original message.`
400
+ );
401
+ }
402
+ }
403
+ if (!finalText.trim() && !finalImageData && !fileDataInput) {
404
+ import_logger.logger.warn(
405
+ "Resource expansion resulted in empty content. Using original message."
406
+ );
407
+ finalText = textInput;
408
+ }
409
+ void this.maybeGenerateTitle(targetSessionId, finalText, llmConfig);
410
+ const response = await session.run(finalText, finalImageData, fileDataInput, stream);
242
411
  this.sessionManager.incrementMessageCount(session.id).catch(
243
412
  (error) => import_logger.logger.warn(
244
413
  `Failed to increment message count: ${error instanceof Error ? error.message : String(error)}`
@@ -330,6 +499,82 @@ class DextoAgent {
330
499
  this.ensureStarted();
331
500
  return await this.sessionManager.getSessionMetadata(sessionId);
332
501
  }
502
+ /**
503
+ * Sets a human-friendly title for the given session.
504
+ */
505
+ async setSessionTitle(sessionId, title) {
506
+ this.ensureStarted();
507
+ await this.sessionManager.setSessionTitle(sessionId, title);
508
+ }
509
+ /**
510
+ * Gets the human-friendly title for the given session, if any.
511
+ */
512
+ async getSessionTitle(sessionId) {
513
+ this.ensureStarted();
514
+ return await this.sessionManager.getSessionTitle(sessionId);
515
+ }
516
+ /**
517
+ * Background task: generate and persist a session title using the same LLM.
518
+ * Runs only for the first user message (messageCount === 0 and no existing title).
519
+ * Never throws; timeboxed in the generator.
520
+ */
521
+ async maybeGenerateTitle(sessionId, userText, llmConfig) {
522
+ try {
523
+ const metadata = await this.sessionManager.getSessionMetadata(sessionId);
524
+ if (!metadata) {
525
+ import_logger.logger.debug(
526
+ `[SessionTitle] No session metadata available for ${sessionId}, skipping title generation`
527
+ );
528
+ return;
529
+ }
530
+ if (metadata.title) {
531
+ import_logger.logger.debug(
532
+ `[SessionTitle] Session ${sessionId} already has title '${metadata.title}', skipping`
533
+ );
534
+ return;
535
+ }
536
+ if (!userText || !userText.trim()) {
537
+ import_logger.logger.debug(
538
+ `[SessionTitle] User text empty for session ${sessionId}, skipping title generation`
539
+ );
540
+ return;
541
+ }
542
+ import_logger.logger.debug(
543
+ `[SessionTitle] Checking title generation preconditions for session ${sessionId}`
544
+ );
545
+ const result = await (0, import_title_generator.generateSessionTitle)(
546
+ llmConfig,
547
+ llmConfig.router,
548
+ this.toolManager,
549
+ this.systemPromptManager,
550
+ this.resourceManager,
551
+ userText
552
+ );
553
+ if (result.error) {
554
+ import_logger.logger.debug(
555
+ `[SessionTitle] LLM title generation failed for ${sessionId}: ${result.error}${result.timedOut ? " (timeout)" : ""}`
556
+ );
557
+ }
558
+ let title = result.title;
559
+ if (!title) {
560
+ title = (0, import_title_generator.deriveHeuristicTitle)(userText);
561
+ if (title) {
562
+ import_logger.logger.info(`[SessionTitle] Using heuristic title for ${sessionId}: ${title}`);
563
+ } else {
564
+ import_logger.logger.debug(
565
+ `[SessionTitle] No suitable title derived for session ${sessionId}`
566
+ );
567
+ return;
568
+ }
569
+ } else {
570
+ import_logger.logger.info(`[SessionTitle] Generated LLM title for ${sessionId}: ${title}`);
571
+ }
572
+ await this.sessionManager.setSessionTitle(sessionId, title, { ifUnsetOnly: true });
573
+ this.agentEventBus.emit("dexto:sessionTitleUpdated", { sessionId, title });
574
+ } catch (err) {
575
+ import_logger.logger.silly(`Title generation skipped/failed for ${sessionId}: ${String(err)}`);
576
+ }
577
+ }
333
578
  /**
334
579
  * Gets the conversation history for a specific session.
335
580
  * @param sessionId The session ID
@@ -342,7 +587,23 @@ class DextoAgent {
342
587
  if (!session) {
343
588
  throw import_session.SessionError.notFound(sessionId);
344
589
  }
345
- return await session.getHistory();
590
+ const history = await session.getHistory();
591
+ if (!this.resourceManager) {
592
+ return history;
593
+ }
594
+ return await Promise.all(
595
+ history.map(async (message) => ({
596
+ ...message,
597
+ content: await (0, import_utils.expandBlobReferences)(message.content, this.resourceManager).catch(
598
+ (error) => {
599
+ import_logger.logger.warn(
600
+ `Failed to expand blob references in message: ${error instanceof Error ? error.message : String(error)}`
601
+ );
602
+ return message.content;
603
+ }
604
+ )
605
+ }))
606
+ );
346
607
  }
347
608
  /**
348
609
  * Search for messages across all sessions or within a specific session
@@ -487,7 +748,7 @@ class DextoAgent {
487
748
  * @example
488
749
  * ```typescript
489
750
  * // Switch to a different model (provider will be inferred, API key auto-resolved)
490
- * await agent.switchLLM({ model: 'gpt-4o' });
751
+ * await agent.switchLLM({ model: 'gpt-5' });
491
752
  *
492
753
  * // Switch to a different provider with explicit API key
493
754
  * await agent.switchLLM({ provider: 'anthropic', model: 'claude-4-sonnet-20250514', apiKey: 'sk-ant-...' });
@@ -496,7 +757,7 @@ class DextoAgent {
496
757
  * await agent.switchLLM({ provider: 'anthropic', model: 'claude-4-sonnet-20250514', router: 'in-built' }, 'user-123');
497
758
  *
498
759
  * // Switch for all sessions
499
- * await agent.switchLLM({ model: 'gpt-4o' }, '*');
760
+ * await agent.switchLLM({ model: 'gpt-5' }, '*');
500
761
  * ```
501
762
  */
502
763
  async switchLLM(llmUpdates, sessionId) {
@@ -624,7 +885,7 @@ class DextoAgent {
624
885
  *
625
886
  * @example
626
887
  * ```typescript
627
- * const provider = agent.inferProviderFromModel('gpt-4o');
888
+ * const provider = agent.inferProviderFromModel('gpt-5');
628
889
  * console.log(provider); // 'openai'
629
890
  *
630
891
  * const provider2 = agent.inferProviderFromModel('claude-4-sonnet-20250514');
@@ -658,6 +919,7 @@ class DextoAgent {
658
919
  this.stateManager.addMcpServer(name, validatedConfig);
659
920
  try {
660
921
  await this.mcpManager.connectServer(name, validatedConfig);
922
+ await this.toolManager.refresh();
661
923
  this.agentEventBus.emit("dexto:mcpServerConnected", {
662
924
  name,
663
925
  success: true
@@ -693,6 +955,33 @@ class DextoAgent {
693
955
  this.ensureStarted();
694
956
  await this.mcpManager.removeClient(name);
695
957
  this.stateManager.removeMcpServer(name);
958
+ await this.toolManager.refresh();
959
+ }
960
+ /**
961
+ * Restarts an MCP server by disconnecting and reconnecting with its original configuration.
962
+ * This is useful for recovering from server errors or applying configuration changes.
963
+ * @param name The name of the server to restart.
964
+ * @throws MCPError if server is not found or restart fails
965
+ */
966
+ async restartMcpServer(name) {
967
+ this.ensureStarted();
968
+ try {
969
+ import_logger.logger.info(`DextoAgent: Restarting MCP server '${name}'...`);
970
+ await this.mcpManager.restartServer(name);
971
+ await this.toolManager.refresh();
972
+ this.agentEventBus.emit("dexto:mcpServerRestarted", {
973
+ serverName: name
974
+ });
975
+ this.agentEventBus.emit("dexto:availableToolsUpdated", {
976
+ tools: Object.keys(await this.toolManager.getAllTools()),
977
+ source: "mcp"
978
+ });
979
+ import_logger.logger.info(`DextoAgent: Successfully restarted MCP server '${name}'.`);
980
+ } catch (error) {
981
+ const errorMessage = error instanceof Error ? error.message : String(error);
982
+ import_logger.logger.error(`DextoAgent: Failed to restart MCP server '${name}': ${errorMessage}`);
983
+ throw error;
984
+ }
696
985
  }
697
986
  /**
698
987
  * Executes a tool from any source (MCP servers, custom tools, or internal tools).
@@ -741,6 +1030,43 @@ class DextoAgent {
741
1030
  this.ensureStarted();
742
1031
  return this.mcpManager.getFailedConnections();
743
1032
  }
1033
+ // ============= RESOURCE MANAGEMENT =============
1034
+ /**
1035
+ * Lists all available resources with their info.
1036
+ * This includes resources from MCP servers and any custom resource providers.
1037
+ */
1038
+ async listResources() {
1039
+ this.ensureStarted();
1040
+ return await this.resourceManager.list();
1041
+ }
1042
+ /**
1043
+ * Checks if a resource exists by URI.
1044
+ */
1045
+ async hasResource(uri) {
1046
+ this.ensureStarted();
1047
+ return await this.resourceManager.has(uri);
1048
+ }
1049
+ /**
1050
+ * Reads the content of a specific resource by URI.
1051
+ */
1052
+ async readResource(uri) {
1053
+ this.ensureStarted();
1054
+ return await this.resourceManager.read(uri);
1055
+ }
1056
+ /**
1057
+ * Lists resources for a specific MCP server.
1058
+ */
1059
+ async listResourcesForServer(serverId) {
1060
+ this.ensureStarted();
1061
+ const allResources = await this.resourceManager.list();
1062
+ const serverResources = Object.values(allResources).filter((resource) => resource.serverName === serverId).map((resource) => {
1063
+ const original = resource.metadata?.originalUri ?? resource.uri;
1064
+ const name = resource.name ?? resource.uri.split("/").pop() ?? resource.uri;
1065
+ const serverName = resource.serverName ?? serverId;
1066
+ return { uri: original, name, originalUri: original, serverName };
1067
+ });
1068
+ return serverResources;
1069
+ }
744
1070
  // ============= PROMPT MANAGEMENT =============
745
1071
  /**
746
1072
  * Gets the current system prompt with all dynamic content resolved.
@@ -771,7 +1097,75 @@ class DextoAgent {
771
1097
  const context = {
772
1098
  mcpManager: this.mcpManager
773
1099
  };
774
- return await this.promptManager.build(context);
1100
+ return await this.systemPromptManager.build(context);
1101
+ }
1102
+ /**
1103
+ * Lists all available prompts from all providers (MCP, internal, starter, custom).
1104
+ * @returns Promise resolving to a PromptSet with all available prompts
1105
+ */
1106
+ async listPrompts() {
1107
+ this.ensureStarted();
1108
+ return await this.promptManager.list();
1109
+ }
1110
+ /**
1111
+ * Gets the definition of a specific prompt by name.
1112
+ * @param name The name of the prompt
1113
+ * @returns Promise resolving to the prompt definition or null if not found
1114
+ */
1115
+ async getPromptDefinition(name) {
1116
+ this.ensureStarted();
1117
+ return await this.promptManager.getPromptDefinition(name);
1118
+ }
1119
+ /**
1120
+ * Checks if a prompt exists.
1121
+ * @param name The name of the prompt to check
1122
+ * @returns Promise resolving to true if the prompt exists, false otherwise
1123
+ */
1124
+ async hasPrompt(name) {
1125
+ this.ensureStarted();
1126
+ return await this.promptManager.has(name);
1127
+ }
1128
+ /**
1129
+ * Gets a prompt with its messages.
1130
+ * @param name The name of the prompt
1131
+ * @param args Optional arguments to pass to the prompt
1132
+ * @returns Promise resolving to the prompt result with messages
1133
+ */
1134
+ async getPrompt(name, args) {
1135
+ this.ensureStarted();
1136
+ return await this.promptManager.getPrompt(name, args);
1137
+ }
1138
+ /**
1139
+ * Creates a new custom prompt.
1140
+ * @param input The prompt creation input
1141
+ * @returns Promise resolving to the created prompt info
1142
+ */
1143
+ async createCustomPrompt(input) {
1144
+ this.ensureStarted();
1145
+ return await this.promptManager.createCustomPrompt(input);
1146
+ }
1147
+ /**
1148
+ * Deletes a custom prompt by name.
1149
+ * @param name The name of the custom prompt to delete
1150
+ */
1151
+ async deleteCustomPrompt(name) {
1152
+ this.ensureStarted();
1153
+ return await this.promptManager.deleteCustomPrompt(name);
1154
+ }
1155
+ /**
1156
+ * Resolves a prompt to its text content with all arguments applied.
1157
+ * This is a high-level method that handles:
1158
+ * - Prompt key resolution (resolving aliases)
1159
+ * - Argument normalization (including special _context field)
1160
+ * - Prompt execution and flattening
1161
+ *
1162
+ * @param name The prompt name or alias
1163
+ * @param options Optional configuration for prompt resolution
1164
+ * @returns Promise resolving to the resolved text and resource URIs
1165
+ */
1166
+ async resolvePrompt(name, options = {}) {
1167
+ this.ensureStarted();
1168
+ return await this.promptManager.resolvePrompt(name, options);
775
1169
  }
776
1170
  // ============= CONFIGURATION ACCESS =============
777
1171
  /**
@@ -783,144 +1177,144 @@ class DextoAgent {
783
1177
  this.ensureStarted();
784
1178
  return sessionId ? this.stateManager.getRuntimeConfig(sessionId) : this.stateManager.getRuntimeConfig();
785
1179
  }
786
- // ============= AGENT MANAGEMENT =============
787
1180
  /**
788
- * Lists available and installed agents from the registry.
789
- * Returns a structured object containing both installed and available agents,
790
- * along with metadata like descriptions, authors, and tags.
791
- *
792
- * @returns Promise resolving to object with installed and available agent lists
793
- *
794
- * @example
795
- * ```typescript
796
- * const agents = await agent.listAgents();
797
- * console.log(agents.installed); // ['default', 'my-custom-agent']
798
- * console.log(agents.available); // [{ name: 'productivity', description: '...', ... }]
799
- * console.log(agents.current?.name); // 'default'
800
- * ```
1181
+ * Gets the file path of the agent configuration currently in use.
1182
+ * This returns the source agent file path, not session-specific overrides.
1183
+ * @returns The path to the agent configuration file
1184
+ * @throws AgentError if no config path is available
801
1185
  */
802
- async listAgents() {
803
- const agentRegistry = (0, import_registry2.getAgentRegistry)();
804
- const availableMap = agentRegistry.getAvailableAgents();
805
- const installedNames = await agentRegistry.getInstalledAgents();
806
- const installed = await Promise.all(
807
- installedNames.map(async (name) => {
808
- const registryEntry = availableMap[name];
809
- if (registryEntry) {
810
- return {
811
- name,
812
- description: registryEntry.description,
813
- author: registryEntry.author,
814
- tags: registryEntry.tags
815
- };
816
- } else {
817
- try {
818
- const config = await (0, import_loader.loadAgentConfig)(name);
819
- const author = config.agentCard?.provider?.organization;
820
- const result = {
821
- name,
822
- description: config.agentCard?.description || "Local agent",
823
- tags: []
824
- };
825
- if (author) {
826
- result.author = author;
827
- }
828
- return result;
829
- } catch {
830
- return {
831
- name,
832
- description: "Local agent (config unavailable)",
833
- tags: []
834
- };
835
- }
836
- }
837
- })
838
- );
839
- const available = Object.entries(availableMap).filter(([name]) => !installedNames.includes(name)).map(([name, entry]) => ({
840
- name,
841
- description: entry.description,
842
- author: entry.author,
843
- tags: entry.tags
844
- }));
845
- return {
846
- installed,
847
- available,
848
- current: { name: null }
849
- // TODO: Track current agent name
850
- };
1186
+ getAgentFilePath() {
1187
+ if (!this.configPath) {
1188
+ throw import_errors.AgentError.noConfigPath();
1189
+ }
1190
+ return this.configPath;
851
1191
  }
852
1192
  /**
853
- * Installs an agent from the registry.
854
- * Downloads and sets up the specified agent, making it available for use.
1193
+ * Reloads the agent configuration from disk.
1194
+ * This will re-read the config file, validate it, and detect what changed.
1195
+ * Most configuration changes require a full agent restart to take effect.
855
1196
  *
856
- * @param agentName The name of the agent to install from the registry
857
- * @returns Promise that resolves when installation is complete
1197
+ * To apply changes: stop the agent and start it again with the new config.
858
1198
  *
859
- * @throws {AgentError} When agent is not found in registry or installation fails
1199
+ * @returns Object containing list of changes that require restart
1200
+ * @throws Error if config file cannot be read or is invalid
860
1201
  *
861
- * @example
862
- * ```typescript
863
- * await agent.installAgent('productivity');
864
- * console.log('Productivity agent installed successfully');
865
- * ```
1202
+ * TODO: improve hot reload capabilites so that we don't always require a restart
866
1203
  */
867
- async installAgent(agentName) {
868
- const agentRegistry = (0, import_registry2.getAgentRegistry)();
869
- if (!agentRegistry.hasAgent(agentName)) {
870
- throw import_errors.AgentError.apiValidationError(`Agent '${agentName}' not found in registry`);
1204
+ async reloadConfig() {
1205
+ if (!this.configPath) {
1206
+ throw import_errors.AgentError.noConfigPath();
871
1207
  }
872
- try {
873
- await agentRegistry.installAgent(agentName, true);
874
- import_logger.logger.info(`Successfully installed agent: ${agentName}`);
875
- } catch (error) {
876
- import_logger.logger.error(`Failed to install agent ${agentName}:`, error);
877
- throw import_errors.AgentError.apiValidationError(
878
- `Installation failed for agent '${agentName}'`,
879
- error
1208
+ import_logger.logger.info(`Reloading agent configuration from: ${this.configPath}`);
1209
+ const oldConfig = this.config;
1210
+ const newConfig = await (0, import_loader.loadAgentConfig)(this.configPath);
1211
+ const validated = import_schemas2.AgentConfigSchema.parse(newConfig);
1212
+ const restartRequired = this.detectRestartRequiredChanges(oldConfig, validated);
1213
+ this.config = validated;
1214
+ if (restartRequired.length > 0) {
1215
+ import_logger.logger.warn(
1216
+ `Configuration updated. Restart required to apply: ${restartRequired.join(", ")}`
880
1217
  );
1218
+ } else {
1219
+ import_logger.logger.info("Agent configuration reloaded successfully (no changes detected)");
881
1220
  }
1221
+ return {
1222
+ restartRequired
1223
+ };
882
1224
  }
883
1225
  /**
884
- * Creates a new agent instance for the specified agent name.
885
- * This method resolves the agent (installing if needed), loads its configuration,
886
- * and returns a new DextoAgent instance ready to be started.
887
- *
888
- * This is a factory method that doesn't affect the current agent instance.
889
- * The caller is responsible for managing the lifecycle of the returned agent.
890
- *
891
- * @param agentName The name of the agent to create
892
- * @returns Promise resolving to a new DextoAgent instance (not started)
893
- *
894
- * @throws {AgentError} When agent is not found or creation fails
1226
+ * Updates and saves the agent configuration to disk.
1227
+ * This merges the updates with the raw config from disk, validates, and writes to file.
1228
+ * IMPORTANT: This preserves environment variable placeholders (e.g., $OPENAI_API_KEY)
1229
+ * to avoid leaking secrets into the config file.
1230
+ * @param updates Partial configuration updates to apply
1231
+ * @param targetPath Optional path to save to (defaults to current config path)
1232
+ * @returns Object containing list of changes that require restart
1233
+ * @throws Error if validation fails or file cannot be written
1234
+ */
1235
+ async updateAndSaveConfig(updates, targetPath) {
1236
+ const path = targetPath || this.configPath;
1237
+ if (!path) {
1238
+ throw import_errors.AgentError.noConfigPath();
1239
+ }
1240
+ import_logger.logger.info(`Updating and saving agent configuration to: ${path}`);
1241
+ const rawYaml = await import_fs.promises.readFile(path, "utf-8");
1242
+ const doc = (0, import_yaml.parseDocument)(rawYaml);
1243
+ const rawConfig = doc.toJSON();
1244
+ const updatedRawConfig = { ...rawConfig, ...updates };
1245
+ const parsed = import_schemas2.AgentConfigSchema.safeParse(updatedRawConfig);
1246
+ if (!parsed.success) {
1247
+ const result = (0, import_result.fail)((0, import_result.zodToIssues)(parsed.error, "error"));
1248
+ throw new import_DextoValidationError.DextoValidationError(result.issues);
1249
+ }
1250
+ for (const [key, value] of Object.entries(updates)) {
1251
+ doc.set(key, value);
1252
+ }
1253
+ const yamlContent = String(doc);
1254
+ const tmpPath = `${path}.tmp`;
1255
+ await import_fs.promises.writeFile(tmpPath, yamlContent, "utf-8");
1256
+ await import_fs.promises.rename(tmpPath, path);
1257
+ const reloadResult = await this.reloadConfig();
1258
+ import_logger.logger.info(`Agent configuration saved to: ${path}`);
1259
+ return reloadResult;
1260
+ }
1261
+ /**
1262
+ * Detects configuration changes that require a full agent restart.
1263
+ * Returns an array of change descriptions.
895
1264
  *
896
- * @example
897
- * ```typescript
898
- * const newAgent = await DextoAgent.createAgent('productivity');
899
- * await newAgent.start();
900
- * ```
1265
+ * @param oldConfig Previous validated configuration
1266
+ * @param newConfig New validated configuration
1267
+ * @returns Array of restart-required change descriptions
1268
+ * @private
901
1269
  */
902
- static async createAgent(agentName) {
903
- const agentRegistry = (0, import_registry2.getAgentRegistry)();
904
- try {
905
- const agentPath = await agentRegistry.resolveAgent(agentName, true, true);
906
- const config = await (0, import_loader.loadAgentConfig)(agentPath);
907
- import_logger.logger.info(`Creating agent: ${agentName}`);
908
- const newAgent = new DextoAgent(config, agentPath);
909
- import_logger.logger.info(`Successfully created agent: ${agentName}`);
910
- return newAgent;
911
- } catch (error) {
912
- import_logger.logger.error(
913
- `Failed to create agent '${agentName}': ${error instanceof Error ? error.message : String(error)}`
914
- );
915
- throw import_errors.AgentError.apiValidationError(`Failed to create agent '${agentName}'`, error);
1270
+ detectRestartRequiredChanges(oldConfig, newConfig) {
1271
+ const changes = [];
1272
+ if (JSON.stringify(oldConfig.storage) !== JSON.stringify(newConfig.storage)) {
1273
+ changes.push("Storage backend");
1274
+ }
1275
+ if (JSON.stringify(oldConfig.sessions) !== JSON.stringify(newConfig.sessions)) {
1276
+ changes.push("Session configuration");
1277
+ }
1278
+ if (JSON.stringify(oldConfig.systemPrompt) !== JSON.stringify(newConfig.systemPrompt)) {
1279
+ changes.push("System prompt");
916
1280
  }
1281
+ if (JSON.stringify(oldConfig.toolConfirmation) !== JSON.stringify(newConfig.toolConfirmation)) {
1282
+ changes.push("Tool confirmation");
1283
+ }
1284
+ if (JSON.stringify(oldConfig.internalTools) !== JSON.stringify(newConfig.internalTools)) {
1285
+ changes.push("Internal tools");
1286
+ }
1287
+ if (JSON.stringify(oldConfig.mcpServers) !== JSON.stringify(newConfig.mcpServers)) {
1288
+ changes.push("MCP servers");
1289
+ }
1290
+ if (oldConfig.llm.provider !== newConfig.llm.provider || oldConfig.llm.model !== newConfig.llm.model || oldConfig.llm.apiKey !== newConfig.llm.apiKey) {
1291
+ changes.push("LLM configuration");
1292
+ }
1293
+ return changes;
917
1294
  }
1295
+ // ============= AGENT MANAGEMENT =============
1296
+ // Note: Agent management methods have been moved to the Dexto orchestrator class.
1297
+ // See: /packages/core/src/Dexto.ts
1298
+ //
1299
+ // For agent lifecycle operations (list, install, uninstall, create), use:
1300
+ // ```typescript
1301
+ // await Dexto.listAgents(); // Static
1302
+ // await Dexto.installAgent(name); // Static
1303
+ // await Dexto.installCustomAgent(name, path, metadata); // Static
1304
+ // await Dexto.uninstallAgent(name); // Static
1305
+ //
1306
+ // const dexto = new Dexto();
1307
+ // await dexto.createAgent(name); // Instance method
1308
+ // ```
918
1309
  // Future methods could encapsulate more complex agent behaviors:
919
1310
  // - Multi-step task execution with progress tracking
920
1311
  // - Memory and context management across sessions
921
1312
  // - Tool chaining and workflow automation
922
1313
  // - Agent collaboration and delegation
923
1314
  }
1315
+ _init = __decoratorStart(null);
1316
+ DextoAgent = __decorateElement(_init, 0, "DextoAgent", _DextoAgent_decorators, DextoAgent);
1317
+ __runInitializers(_init, 1, DextoAgent);
924
1318
  // Annotate the CommonJS export names for ESM import in node:
925
1319
  0 && (module.exports = {
926
1320
  DextoAgent