@dexto/core 1.5.8 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. package/README.md +19 -8
  2. package/dist/agent/DextoAgent.cjs +318 -159
  3. package/dist/agent/DextoAgent.d.ts +94 -56
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +315 -156
  6. package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
  7. package/dist/agent/agent-options.d.ts +53 -0
  8. package/dist/agent/agent-options.d.ts.map +1 -0
  9. package/dist/agent/agentCard.cjs +1 -1
  10. package/dist/agent/errors.cjs +2 -2
  11. package/dist/agent/errors.d.ts.map +1 -1
  12. package/dist/agent/index.cjs +1 -6
  13. package/dist/agent/index.d.ts +3 -2
  14. package/dist/agent/index.d.ts.map +1 -1
  15. package/dist/agent/index.js +1 -7
  16. package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
  17. package/dist/agent/runtime-config.d.ts +53 -0
  18. package/dist/agent/runtime-config.d.ts.map +1 -0
  19. package/dist/agent/schemas.cjs +2 -104
  20. package/dist/agent/schemas.d.ts +8 -9197
  21. package/dist/agent/schemas.d.ts.map +1 -1
  22. package/dist/agent/schemas.js +1 -109
  23. package/dist/agent/state-manager.d.ts +5 -5
  24. package/dist/agent/state-manager.d.ts.map +1 -1
  25. package/dist/approval/error-codes.cjs +1 -1
  26. package/dist/approval/error-codes.d.ts +1 -1
  27. package/dist/approval/error-codes.d.ts.map +1 -1
  28. package/dist/approval/error-codes.js +1 -1
  29. package/dist/approval/errors.cjs +5 -5
  30. package/dist/approval/errors.d.ts +2 -2
  31. package/dist/approval/errors.d.ts.map +1 -1
  32. package/dist/approval/errors.js +5 -5
  33. package/dist/approval/index.cjs +8 -8
  34. package/dist/approval/index.d.ts +2 -2
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +8 -8
  37. package/dist/approval/manager.cjs +163 -83
  38. package/dist/approval/manager.d.ts +50 -43
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +161 -81
  41. package/dist/approval/schemas.cjs +47 -32
  42. package/dist/approval/schemas.d.ts +291 -97
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +43 -28
  45. package/dist/approval/types.cjs +1 -1
  46. package/dist/approval/types.d.ts +14 -14
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +1 -1
  49. package/dist/context/compaction/index.cjs +2 -23
  50. package/dist/context/compaction/index.d.ts +1 -7
  51. package/dist/context/compaction/index.d.ts.map +1 -1
  52. package/dist/context/compaction/index.js +1 -16
  53. package/dist/context/compaction/strategies/noop.cjs +19 -1
  54. package/dist/context/compaction/strategies/noop.d.ts +13 -3
  55. package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
  56. package/dist/context/compaction/strategies/noop.js +19 -1
  57. package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
  58. package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
  59. package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
  60. package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
  61. package/dist/context/compaction/types.d.ts +40 -8
  62. package/dist/context/compaction/types.d.ts.map +1 -1
  63. package/dist/context/manager.cjs +4 -2
  64. package/dist/context/manager.d.ts +5 -3
  65. package/dist/context/manager.d.ts.map +1 -1
  66. package/dist/context/manager.js +4 -2
  67. package/dist/context/types.d.ts +3 -0
  68. package/dist/context/types.d.ts.map +1 -1
  69. package/dist/context/utils.cjs +2 -2
  70. package/dist/context/utils.d.ts +14 -14
  71. package/dist/context/utils.d.ts.map +1 -1
  72. package/dist/errors/result-bridge.d.ts +2 -2
  73. package/dist/errors/result-bridge.d.ts.map +1 -1
  74. package/dist/errors/types.cjs +1 -1
  75. package/dist/errors/types.d.ts +3 -3
  76. package/dist/errors/types.d.ts.map +1 -1
  77. package/dist/errors/types.js +1 -1
  78. package/dist/events/index.cjs +11 -1
  79. package/dist/events/index.d.ts +48 -7
  80. package/dist/events/index.d.ts.map +1 -1
  81. package/dist/events/index.js +11 -1
  82. package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
  83. package/dist/hooks/builtins/content-policy.d.ts +24 -0
  84. package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
  85. package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
  86. package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
  87. package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
  88. package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
  89. package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
  90. package/dist/hooks/error-codes.cjs +43 -0
  91. package/dist/hooks/error-codes.d.ts +34 -0
  92. package/dist/hooks/error-codes.d.ts.map +1 -0
  93. package/dist/hooks/error-codes.js +20 -0
  94. package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
  95. package/dist/hooks/index.d.ts +14 -0
  96. package/dist/hooks/index.d.ts.map +1 -0
  97. package/dist/hooks/index.js +11 -0
  98. package/dist/hooks/manager.cjs +354 -0
  99. package/dist/hooks/manager.d.ts +103 -0
  100. package/dist/hooks/manager.d.ts.map +1 -0
  101. package/dist/hooks/manager.js +331 -0
  102. package/dist/{plugins → hooks}/types.d.ts +26 -45
  103. package/dist/hooks/types.d.ts.map +1 -0
  104. package/dist/index.browser.cjs +13 -12
  105. package/dist/index.browser.d.ts +5 -5
  106. package/dist/index.browser.d.ts.map +1 -1
  107. package/dist/index.browser.js +8 -7
  108. package/dist/index.cjs +5 -7
  109. package/dist/index.d.ts +2 -3
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +2 -3
  112. package/dist/llm/errors.cjs +1 -1
  113. package/dist/llm/executor/stream-processor.cjs +131 -11
  114. package/dist/llm/executor/stream-processor.d.ts +8 -5
  115. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  116. package/dist/llm/executor/stream-processor.js +131 -11
  117. package/dist/llm/executor/turn-executor.cjs +49 -54
  118. package/dist/llm/executor/turn-executor.d.ts +7 -8
  119. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  120. package/dist/llm/executor/turn-executor.js +49 -54
  121. package/dist/llm/formatters/vercel.cjs +2 -2
  122. package/dist/llm/formatters/vercel.d.ts +2 -2
  123. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  124. package/dist/llm/providers/local/schemas.d.ts +12 -12
  125. package/dist/llm/registry/auto-update.d.ts +2 -2
  126. package/dist/llm/registry/auto-update.d.ts.map +1 -1
  127. package/dist/llm/registry/index.d.ts +3 -3
  128. package/dist/llm/registry/index.d.ts.map +1 -1
  129. package/dist/llm/resolver.cjs +2 -2
  130. package/dist/llm/resolver.d.ts +4 -4
  131. package/dist/llm/resolver.d.ts.map +1 -1
  132. package/dist/llm/schemas.cjs +67 -104
  133. package/dist/llm/schemas.d.ts +10 -149
  134. package/dist/llm/schemas.d.ts.map +1 -1
  135. package/dist/llm/schemas.js +64 -101
  136. package/dist/llm/services/factory.cjs +2 -3
  137. package/dist/llm/services/factory.d.ts +3 -4
  138. package/dist/llm/services/factory.d.ts.map +1 -1
  139. package/dist/llm/services/factory.js +2 -3
  140. package/dist/llm/services/vercel.cjs +8 -15
  141. package/dist/llm/services/vercel.d.ts +6 -7
  142. package/dist/llm/services/vercel.d.ts.map +1 -1
  143. package/dist/llm/services/vercel.js +8 -15
  144. package/dist/llm/validation.cjs +1 -1
  145. package/dist/llm/validation.d.ts +2 -2
  146. package/dist/llm/validation.d.ts.map +1 -1
  147. package/dist/logger/browser.cjs +4 -4
  148. package/dist/logger/browser.d.ts +4 -4
  149. package/dist/logger/browser.d.ts.map +1 -1
  150. package/dist/logger/browser.js +3 -3
  151. package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
  152. package/dist/logger/default-logger-factory.d.ts +301 -0
  153. package/dist/logger/default-logger-factory.d.ts.map +1 -0
  154. package/dist/logger/default-logger-factory.js +18 -0
  155. package/dist/logger/factory.d.ts +2 -2
  156. package/dist/logger/factory.d.ts.map +1 -1
  157. package/dist/logger/index.cjs +7 -2
  158. package/dist/logger/index.d.ts +5 -3
  159. package/dist/logger/index.d.ts.map +1 -1
  160. package/dist/logger/index.js +8 -2
  161. package/dist/logger/logger.cjs +4 -4
  162. package/dist/logger/logger.d.ts +4 -4
  163. package/dist/logger/logger.d.ts.map +1 -1
  164. package/dist/logger/logger.js +3 -3
  165. package/dist/logger/v2/dexto-logger.cjs +35 -0
  166. package/dist/logger/v2/dexto-logger.d.ts +22 -3
  167. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  168. package/dist/logger/v2/dexto-logger.js +35 -0
  169. package/dist/logger/v2/schemas.d.ts +6 -6
  170. package/dist/logger/v2/test-utils.cjs +2 -0
  171. package/dist/logger/v2/test-utils.d.ts +5 -5
  172. package/dist/logger/v2/test-utils.d.ts.map +1 -1
  173. package/dist/logger/v2/test-utils.js +2 -0
  174. package/dist/logger/v2/transport-factory.d.ts +3 -3
  175. package/dist/logger/v2/transport-factory.d.ts.map +1 -1
  176. package/dist/logger/v2/transports/console-transport.d.ts +2 -2
  177. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
  178. package/dist/logger/v2/transports/file-transport.d.ts +2 -2
  179. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
  180. package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
  181. package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
  182. package/dist/logger/v2/types.cjs +1 -1
  183. package/dist/logger/v2/types.d.ts +22 -9
  184. package/dist/logger/v2/types.d.ts.map +1 -1
  185. package/dist/logger/v2/types.js +1 -1
  186. package/dist/mcp/errors.cjs +2 -2
  187. package/dist/mcp/errors.d.ts.map +1 -1
  188. package/dist/mcp/manager.cjs +16 -11
  189. package/dist/mcp/manager.d.ts +16 -13
  190. package/dist/mcp/manager.d.ts.map +1 -1
  191. package/dist/mcp/manager.js +17 -12
  192. package/dist/mcp/mcp-client.cjs +25 -20
  193. package/dist/mcp/mcp-client.d.ts +5 -5
  194. package/dist/mcp/mcp-client.d.ts.map +1 -1
  195. package/dist/mcp/mcp-client.js +20 -15
  196. package/dist/mcp/resolver.cjs +1 -1
  197. package/dist/mcp/schemas.cjs +5 -5
  198. package/dist/mcp/schemas.d.ts +19 -19
  199. package/dist/mcp/schemas.js +2 -2
  200. package/dist/mcp/types.d.ts +7 -7
  201. package/dist/mcp/types.d.ts.map +1 -1
  202. package/dist/memory/manager.d.ts +2 -2
  203. package/dist/memory/manager.d.ts.map +1 -1
  204. package/dist/memory/schemas.d.ts +2 -2
  205. package/dist/prompts/errors.cjs +3 -3
  206. package/dist/prompts/errors.d.ts.map +1 -1
  207. package/dist/prompts/prompt-manager.d.ts +3 -3
  208. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  209. package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
  210. package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
  211. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  212. package/dist/prompts/providers/config-prompt-provider.js +15 -29
  213. package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
  214. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  215. package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
  216. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  217. package/dist/prompts/schemas.d.ts +7 -7
  218. package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
  219. package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
  220. package/dist/resources/agent-resources-provider.d.ts.map +1 -0
  221. package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
  222. package/dist/resources/errors.cjs +2 -2
  223. package/dist/resources/errors.d.ts.map +1 -1
  224. package/dist/resources/handlers/blob-handler.d.ts +2 -2
  225. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  226. package/dist/resources/handlers/factory.d.ts +3 -3
  227. package/dist/resources/handlers/factory.d.ts.map +1 -1
  228. package/dist/resources/handlers/filesystem-handler.d.ts +2 -2
  229. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  230. package/dist/resources/index.cjs +7 -9
  231. package/dist/resources/index.d.ts +3 -3
  232. package/dist/resources/index.d.ts.map +1 -1
  233. package/dist/resources/index.js +5 -10
  234. package/dist/resources/manager.cjs +77 -74
  235. package/dist/resources/manager.d.ts +16 -7
  236. package/dist/resources/manager.d.ts.map +1 -1
  237. package/dist/resources/manager.js +77 -74
  238. package/dist/resources/schemas.cjs +6 -26
  239. package/dist/resources/schemas.d.ts +8 -100
  240. package/dist/resources/schemas.d.ts.map +1 -1
  241. package/dist/resources/schemas.js +4 -23
  242. package/dist/search/search-service.d.ts +2 -2
  243. package/dist/search/search-service.d.ts.map +1 -1
  244. package/dist/session/chat-session.cjs +15 -25
  245. package/dist/session/chat-session.d.ts +7 -5
  246. package/dist/session/chat-session.d.ts.map +1 -1
  247. package/dist/session/chat-session.js +16 -26
  248. package/dist/session/errors.cjs +2 -2
  249. package/dist/session/errors.d.ts.map +1 -1
  250. package/dist/session/history/database.cjs +1 -1
  251. package/dist/session/history/database.d.ts +4 -4
  252. package/dist/session/history/database.d.ts.map +1 -1
  253. package/dist/session/history/factory.d.ts +3 -3
  254. package/dist/session/history/factory.d.ts.map +1 -1
  255. package/dist/session/history/memory.d.ts +4 -4
  256. package/dist/session/history/memory.d.ts.map +1 -1
  257. package/dist/session/history/types.d.ts +2 -2
  258. package/dist/session/history/types.d.ts.map +1 -1
  259. package/dist/session/index.cjs +3 -0
  260. package/dist/session/index.d.ts +2 -0
  261. package/dist/session/index.d.ts.map +1 -1
  262. package/dist/session/index.js +2 -0
  263. package/dist/session/message-queue.d.ts +2 -2
  264. package/dist/session/message-queue.d.ts.map +1 -1
  265. package/dist/session/session-manager.cjs +67 -9
  266. package/dist/session/session-manager.d.ts +46 -7
  267. package/dist/session/session-manager.d.ts.map +1 -1
  268. package/dist/session/session-manager.js +67 -9
  269. package/dist/session/title-generator.cjs +2 -2
  270. package/dist/session/title-generator.d.ts +2 -2
  271. package/dist/session/title-generator.d.ts.map +1 -1
  272. package/dist/storage/blob/index.cjs +0 -40
  273. package/dist/storage/blob/index.d.ts +2 -44
  274. package/dist/storage/blob/index.d.ts.map +1 -1
  275. package/dist/storage/blob/index.js +0 -30
  276. package/dist/storage/cache/index.cjs +0 -37
  277. package/dist/storage/cache/index.d.ts +0 -42
  278. package/dist/storage/cache/index.d.ts.map +1 -1
  279. package/dist/storage/cache/index.js +0 -28
  280. package/dist/storage/database/index.cjs +0 -42
  281. package/dist/storage/database/index.d.ts +0 -43
  282. package/dist/storage/database/index.d.ts.map +1 -1
  283. package/dist/storage/database/index.js +0 -37
  284. package/dist/storage/error-codes.cjs +1 -6
  285. package/dist/storage/error-codes.d.ts +2 -7
  286. package/dist/storage/error-codes.d.ts.map +1 -1
  287. package/dist/storage/error-codes.js +1 -6
  288. package/dist/storage/errors.cjs +18 -82
  289. package/dist/storage/errors.d.ts +4 -24
  290. package/dist/storage/errors.d.ts.map +1 -1
  291. package/dist/storage/errors.js +16 -80
  292. package/dist/storage/index.cjs +8 -69
  293. package/dist/storage/index.d.ts +11 -66
  294. package/dist/storage/index.d.ts.map +1 -1
  295. package/dist/storage/index.js +6 -50
  296. package/dist/storage/storage-manager.cjs +9 -25
  297. package/dist/storage/storage-manager.d.ts +11 -15
  298. package/dist/storage/storage-manager.d.ts.map +1 -1
  299. package/dist/storage/storage-manager.js +8 -23
  300. package/dist/storage/types.d.ts +0 -1
  301. package/dist/storage/types.d.ts.map +1 -1
  302. package/dist/systemPrompt/contributors.d.ts +4 -4
  303. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  304. package/dist/systemPrompt/errors.cjs +2 -2
  305. package/dist/systemPrompt/errors.d.ts.map +1 -1
  306. package/dist/systemPrompt/in-built-prompts.cjs +5 -5
  307. package/dist/systemPrompt/in-built-prompts.d.ts +1 -1
  308. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  309. package/dist/systemPrompt/in-built-prompts.js +5 -5
  310. package/dist/systemPrompt/manager.cjs +1 -5
  311. package/dist/systemPrompt/manager.d.ts +2 -3
  312. package/dist/systemPrompt/manager.d.ts.map +1 -1
  313. package/dist/systemPrompt/manager.js +1 -5
  314. package/dist/systemPrompt/schemas.d.ts +5 -5
  315. package/dist/systemPrompt/types.d.ts +11 -0
  316. package/dist/systemPrompt/types.d.ts.map +1 -1
  317. package/dist/telemetry/index.cjs +3 -0
  318. package/dist/telemetry/index.d.ts +2 -0
  319. package/dist/telemetry/index.d.ts.map +1 -1
  320. package/dist/telemetry/index.js +2 -0
  321. package/dist/telemetry/utils.d.ts +4 -4
  322. package/dist/telemetry/utils.d.ts.map +1 -1
  323. package/dist/test-utils/in-memory-storage.cjs +288 -0
  324. package/dist/test-utils/in-memory-storage.js +252 -0
  325. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
  326. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  327. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
  328. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
  329. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
  330. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  331. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
  332. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
  333. package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
  334. package/dist/tools/define-tool.d.ts +11 -0
  335. package/dist/tools/define-tool.d.ts.map +1 -0
  336. package/dist/tools/define-tool.js +7 -0
  337. package/dist/tools/display-types.d.ts +10 -0
  338. package/dist/tools/display-types.d.ts.map +1 -1
  339. package/dist/tools/error-codes.cjs +2 -2
  340. package/dist/tools/error-codes.d.ts +2 -2
  341. package/dist/tools/error-codes.d.ts.map +1 -1
  342. package/dist/tools/error-codes.js +2 -2
  343. package/dist/tools/errors.cjs +11 -23
  344. package/dist/tools/errors.d.ts +4 -10
  345. package/dist/tools/errors.d.ts.map +1 -1
  346. package/dist/tools/errors.js +9 -21
  347. package/dist/tools/index.cjs +6 -9
  348. package/dist/tools/index.d.ts +3 -4
  349. package/dist/tools/index.d.ts.map +1 -1
  350. package/dist/tools/index.js +3 -7
  351. package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
  352. package/dist/tools/pattern-utils.d.ts +20 -0
  353. package/dist/tools/pattern-utils.d.ts.map +1 -0
  354. package/dist/tools/pattern-utils.js +10 -0
  355. package/dist/{storage/cache/factory.cjs → tools/presentation.cjs} +26 -15
  356. package/dist/tools/presentation.d.ts +11 -0
  357. package/dist/tools/presentation.d.ts.map +1 -0
  358. package/dist/tools/presentation.js +24 -0
  359. package/dist/tools/schemas.cjs +14 -40
  360. package/dist/tools/schemas.d.ts +6 -50
  361. package/dist/tools/schemas.d.ts.map +1 -1
  362. package/dist/tools/schemas.js +11 -32
  363. package/dist/tools/tool-call-metadata.cjs +3 -3
  364. package/dist/tools/tool-call-metadata.d.ts +1 -1
  365. package/dist/tools/tool-call-metadata.d.ts.map +1 -1
  366. package/dist/tools/tool-call-metadata.js +3 -3
  367. package/dist/tools/tool-manager.cjs +608 -392
  368. package/dist/tools/tool-manager.d.ts +79 -98
  369. package/dist/tools/tool-manager.d.ts.map +1 -1
  370. package/dist/tools/tool-manager.js +608 -396
  371. package/dist/tools/types.d.ts +223 -45
  372. package/dist/tools/types.d.ts.map +1 -1
  373. package/dist/utils/error-conversion.d.ts +2 -2
  374. package/dist/utils/error-conversion.d.ts.map +1 -1
  375. package/dist/utils/path.cjs +10 -1
  376. package/dist/utils/path.d.ts +7 -4
  377. package/dist/utils/path.d.ts.map +1 -1
  378. package/dist/utils/path.js +10 -1
  379. package/dist/utils/result.cjs +1 -1
  380. package/dist/utils/result.d.ts.map +1 -1
  381. package/dist/utils/schema.cjs +9 -5
  382. package/dist/utils/schema.d.ts +4 -2
  383. package/dist/utils/schema.d.ts.map +1 -1
  384. package/dist/utils/schema.js +9 -5
  385. package/dist/utils/service-initializer.cjs +51 -56
  386. package/dist/utils/service-initializer.d.ts +17 -14
  387. package/dist/utils/service-initializer.d.ts.map +1 -1
  388. package/dist/utils/service-initializer.js +51 -56
  389. package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
  390. package/dist/workspace/error-codes.d.ts +5 -0
  391. package/dist/workspace/error-codes.d.ts.map +1 -0
  392. package/dist/workspace/error-codes.js +7 -0
  393. package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
  394. package/dist/workspace/errors.d.ts +5 -0
  395. package/dist/workspace/errors.d.ts.map +1 -0
  396. package/dist/workspace/errors.js +21 -0
  397. package/dist/{image → workspace}/index.cjs +12 -10
  398. package/dist/workspace/index.d.ts +5 -0
  399. package/dist/workspace/index.d.ts.map +1 -0
  400. package/dist/workspace/index.js +9 -0
  401. package/dist/workspace/manager.cjs +113 -0
  402. package/dist/workspace/manager.d.ts +18 -0
  403. package/dist/workspace/manager.d.ts.map +1 -0
  404. package/dist/workspace/manager.js +90 -0
  405. package/dist/workspace/types.d.ts +14 -0
  406. package/dist/workspace/types.d.ts.map +1 -0
  407. package/package.json +2 -2
  408. package/dist/context/compaction/factory.cjs +0 -57
  409. package/dist/context/compaction/factory.d.ts +0 -17
  410. package/dist/context/compaction/factory.d.ts.map +0 -1
  411. package/dist/context/compaction/factory.js +0 -34
  412. package/dist/context/compaction/provider.d.ts +0 -48
  413. package/dist/context/compaction/provider.d.ts.map +0 -1
  414. package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
  415. package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
  416. package/dist/context/compaction/providers/noop-provider.js +0 -24
  417. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
  418. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
  419. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
  420. package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
  421. package/dist/context/compaction/registry.cjs +0 -39
  422. package/dist/context/compaction/registry.d.ts +0 -19
  423. package/dist/context/compaction/registry.d.ts.map +0 -1
  424. package/dist/context/compaction/registry.js +0 -16
  425. package/dist/context/compaction/schemas.cjs +0 -58
  426. package/dist/context/compaction/schemas.d.ts +0 -69
  427. package/dist/context/compaction/schemas.d.ts.map +0 -1
  428. package/dist/context/compaction/schemas.js +0 -34
  429. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
  430. package/dist/image/define-image.cjs +0 -146
  431. package/dist/image/define-image.d.ts +0 -71
  432. package/dist/image/define-image.d.ts.map +0 -1
  433. package/dist/image/define-image.js +0 -121
  434. package/dist/image/index.d.ts +0 -53
  435. package/dist/image/index.d.ts.map +0 -1
  436. package/dist/image/index.js +0 -7
  437. package/dist/image/types.d.ts +0 -246
  438. package/dist/image/types.d.ts.map +0 -1
  439. package/dist/llm/services/test-utils.integration.cjs +0 -237
  440. package/dist/llm/services/test-utils.integration.d.ts +0 -48
  441. package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
  442. package/dist/llm/services/test-utils.integration.js +0 -214
  443. package/dist/plugins/builtins/content-policy.d.ts +0 -26
  444. package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
  445. package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
  446. package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
  447. package/dist/plugins/error-codes.cjs +0 -43
  448. package/dist/plugins/error-codes.d.ts +0 -34
  449. package/dist/plugins/error-codes.d.ts.map +0 -1
  450. package/dist/plugins/error-codes.js +0 -20
  451. package/dist/plugins/index.cjs +0 -61
  452. package/dist/plugins/index.d.ts +0 -21
  453. package/dist/plugins/index.d.ts.map +0 -1
  454. package/dist/plugins/index.js +0 -30
  455. package/dist/plugins/loader.cjs +0 -171
  456. package/dist/plugins/loader.d.ts +0 -30
  457. package/dist/plugins/loader.d.ts.map +0 -1
  458. package/dist/plugins/loader.js +0 -145
  459. package/dist/plugins/manager.cjs +0 -473
  460. package/dist/plugins/manager.d.ts +0 -106
  461. package/dist/plugins/manager.d.ts.map +0 -1
  462. package/dist/plugins/manager.js +0 -450
  463. package/dist/plugins/registrations/builtins.cjs +0 -51
  464. package/dist/plugins/registrations/builtins.d.ts +0 -17
  465. package/dist/plugins/registrations/builtins.d.ts.map +0 -1
  466. package/dist/plugins/registrations/builtins.js +0 -28
  467. package/dist/plugins/registry.cjs +0 -63
  468. package/dist/plugins/registry.d.ts +0 -101
  469. package/dist/plugins/registry.d.ts.map +0 -1
  470. package/dist/plugins/registry.js +0 -39
  471. package/dist/plugins/schemas.cjs +0 -73
  472. package/dist/plugins/schemas.d.ts +0 -195
  473. package/dist/plugins/schemas.d.ts.map +0 -1
  474. package/dist/plugins/schemas.js +0 -47
  475. package/dist/plugins/types.d.ts.map +0 -1
  476. package/dist/providers/base-registry.cjs +0 -147
  477. package/dist/providers/base-registry.d.ts +0 -147
  478. package/dist/providers/base-registry.d.ts.map +0 -1
  479. package/dist/providers/base-registry.js +0 -123
  480. package/dist/providers/discovery.cjs +0 -109
  481. package/dist/providers/discovery.d.ts +0 -96
  482. package/dist/providers/discovery.d.ts.map +0 -1
  483. package/dist/providers/discovery.js +0 -84
  484. package/dist/providers/index.cjs +0 -24
  485. package/dist/providers/index.d.ts +0 -32
  486. package/dist/providers/index.d.ts.map +0 -1
  487. package/dist/providers/index.js +0 -2
  488. package/dist/resources/internal-provider.d.ts.map +0 -1
  489. package/dist/storage/blob/factory.d.ts +0 -37
  490. package/dist/storage/blob/factory.d.ts.map +0 -1
  491. package/dist/storage/blob/factory.js +0 -15
  492. package/dist/storage/blob/local-blob-store.cjs +0 -496
  493. package/dist/storage/blob/local-blob-store.d.ts +0 -58
  494. package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
  495. package/dist/storage/blob/local-blob-store.js +0 -463
  496. package/dist/storage/blob/memory-blob-store.cjs +0 -326
  497. package/dist/storage/blob/memory-blob-store.d.ts +0 -66
  498. package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
  499. package/dist/storage/blob/memory-blob-store.js +0 -303
  500. package/dist/storage/blob/provider.d.ts +0 -50
  501. package/dist/storage/blob/provider.d.ts.map +0 -1
  502. package/dist/storage/blob/providers/index.d.ts +0 -8
  503. package/dist/storage/blob/providers/index.d.ts.map +0 -1
  504. package/dist/storage/blob/providers/index.js +0 -7
  505. package/dist/storage/blob/providers/local.cjs +0 -39
  506. package/dist/storage/blob/providers/local.d.ts +0 -17
  507. package/dist/storage/blob/providers/local.d.ts.map +0 -1
  508. package/dist/storage/blob/providers/local.js +0 -16
  509. package/dist/storage/blob/providers/memory.cjs +0 -39
  510. package/dist/storage/blob/providers/memory.d.ts +0 -17
  511. package/dist/storage/blob/providers/memory.d.ts.map +0 -1
  512. package/dist/storage/blob/providers/memory.js +0 -16
  513. package/dist/storage/blob/registry.cjs +0 -50
  514. package/dist/storage/blob/registry.d.ts +0 -42
  515. package/dist/storage/blob/registry.d.ts.map +0 -1
  516. package/dist/storage/blob/registry.js +0 -26
  517. package/dist/storage/blob/schemas.cjs +0 -52
  518. package/dist/storage/blob/schemas.d.ts +0 -85
  519. package/dist/storage/blob/schemas.d.ts.map +0 -1
  520. package/dist/storage/blob/schemas.js +0 -26
  521. package/dist/storage/cache/factory.d.ts +0 -37
  522. package/dist/storage/cache/factory.d.ts.map +0 -1
  523. package/dist/storage/cache/factory.js +0 -15
  524. package/dist/storage/cache/memory-cache-store.cjs +0 -107
  525. package/dist/storage/cache/memory-cache-store.d.ts +0 -26
  526. package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
  527. package/dist/storage/cache/memory-cache-store.js +0 -84
  528. package/dist/storage/cache/provider.cjs +0 -16
  529. package/dist/storage/cache/provider.d.ts +0 -56
  530. package/dist/storage/cache/provider.d.ts.map +0 -1
  531. package/dist/storage/cache/provider.js +0 -0
  532. package/dist/storage/cache/providers/index.d.ts +0 -8
  533. package/dist/storage/cache/providers/index.d.ts.map +0 -1
  534. package/dist/storage/cache/providers/index.js +0 -7
  535. package/dist/storage/cache/providers/memory.d.ts +0 -17
  536. package/dist/storage/cache/providers/memory.d.ts.map +0 -1
  537. package/dist/storage/cache/providers/memory.js +0 -17
  538. package/dist/storage/cache/providers/redis.cjs +0 -66
  539. package/dist/storage/cache/providers/redis.d.ts +0 -20
  540. package/dist/storage/cache/providers/redis.d.ts.map +0 -1
  541. package/dist/storage/cache/providers/redis.js +0 -33
  542. package/dist/storage/cache/redis-store.cjs +0 -173
  543. package/dist/storage/cache/redis-store.d.ts +0 -32
  544. package/dist/storage/cache/redis-store.d.ts.map +0 -1
  545. package/dist/storage/cache/redis-store.js +0 -150
  546. package/dist/storage/cache/registry.cjs +0 -50
  547. package/dist/storage/cache/registry.d.ts +0 -42
  548. package/dist/storage/cache/registry.d.ts.map +0 -1
  549. package/dist/storage/cache/registry.js +0 -26
  550. package/dist/storage/cache/schemas.cjs +0 -81
  551. package/dist/storage/cache/schemas.d.ts +0 -150
  552. package/dist/storage/cache/schemas.d.ts.map +0 -1
  553. package/dist/storage/cache/schemas.js +0 -55
  554. package/dist/storage/database/factory.cjs +0 -38
  555. package/dist/storage/database/factory.d.ts +0 -39
  556. package/dist/storage/database/factory.d.ts.map +0 -1
  557. package/dist/storage/database/factory.js +0 -15
  558. package/dist/storage/database/memory-database-store.cjs +0 -122
  559. package/dist/storage/database/memory-database-store.d.ts +0 -29
  560. package/dist/storage/database/memory-database-store.d.ts.map +0 -1
  561. package/dist/storage/database/memory-database-store.js +0 -99
  562. package/dist/storage/database/postgres-store.cjs +0 -342
  563. package/dist/storage/database/postgres-store.d.ts +0 -55
  564. package/dist/storage/database/postgres-store.d.ts.map +0 -1
  565. package/dist/storage/database/postgres-store.js +0 -319
  566. package/dist/storage/database/provider.cjs +0 -16
  567. package/dist/storage/database/provider.d.ts +0 -56
  568. package/dist/storage/database/provider.d.ts.map +0 -1
  569. package/dist/storage/database/provider.js +0 -0
  570. package/dist/storage/database/providers/index.cjs +0 -34
  571. package/dist/storage/database/providers/index.d.ts +0 -9
  572. package/dist/storage/database/providers/index.d.ts.map +0 -1
  573. package/dist/storage/database/providers/index.js +0 -9
  574. package/dist/storage/database/providers/memory.cjs +0 -40
  575. package/dist/storage/database/providers/memory.d.ts +0 -16
  576. package/dist/storage/database/providers/memory.d.ts.map +0 -1
  577. package/dist/storage/database/providers/memory.js +0 -17
  578. package/dist/storage/database/providers/postgres.cjs +0 -62
  579. package/dist/storage/database/providers/postgres.d.ts +0 -19
  580. package/dist/storage/database/providers/postgres.d.ts.map +0 -1
  581. package/dist/storage/database/providers/postgres.js +0 -29
  582. package/dist/storage/database/providers/sqlite.cjs +0 -66
  583. package/dist/storage/database/providers/sqlite.d.ts +0 -20
  584. package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
  585. package/dist/storage/database/providers/sqlite.js +0 -33
  586. package/dist/storage/database/registry.cjs +0 -50
  587. package/dist/storage/database/registry.d.ts +0 -42
  588. package/dist/storage/database/registry.d.ts.map +0 -1
  589. package/dist/storage/database/registry.js +0 -26
  590. package/dist/storage/database/schemas.cjs +0 -97
  591. package/dist/storage/database/schemas.d.ts +0 -226
  592. package/dist/storage/database/schemas.d.ts.map +0 -1
  593. package/dist/storage/database/schemas.js +0 -70
  594. package/dist/storage/database/sqlite-store.cjs +0 -270
  595. package/dist/storage/database/sqlite-store.d.ts +0 -33
  596. package/dist/storage/database/sqlite-store.d.ts.map +0 -1
  597. package/dist/storage/database/sqlite-store.js +0 -237
  598. package/dist/storage/schemas.cjs +0 -57
  599. package/dist/storage/schemas.d.ts +0 -347
  600. package/dist/storage/schemas.d.ts.map +0 -1
  601. package/dist/storage/schemas.js +0 -37
  602. package/dist/tools/bash-pattern-utils.cjs +0 -91
  603. package/dist/tools/bash-pattern-utils.d.ts +0 -58
  604. package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
  605. package/dist/tools/bash-pattern-utils.js +0 -64
  606. package/dist/tools/custom-tool-registry.cjs +0 -64
  607. package/dist/tools/custom-tool-registry.d.ts +0 -126
  608. package/dist/tools/custom-tool-registry.d.ts.map +0 -1
  609. package/dist/tools/custom-tool-registry.js +0 -40
  610. package/dist/tools/custom-tool-schema-registry.cjs +0 -164
  611. package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
  612. package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
  613. package/dist/tools/custom-tool-schema-registry.js +0 -140
  614. package/dist/tools/internal-tools/constants.d.ts +0 -12
  615. package/dist/tools/internal-tools/constants.d.ts.map +0 -1
  616. package/dist/tools/internal-tools/constants.js +0 -12
  617. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
  618. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
  619. package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
  620. package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
  621. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
  622. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
  623. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
  624. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
  625. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
  626. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
  627. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
  628. package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
  629. package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
  630. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
  631. package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
  632. package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
  633. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
  634. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
  635. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
  636. package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
  637. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
  638. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
  639. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
  640. package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
  641. package/dist/tools/internal-tools/index.cjs +0 -26
  642. package/dist/tools/internal-tools/index.d.ts +0 -4
  643. package/dist/tools/internal-tools/index.d.ts.map +0 -1
  644. package/dist/tools/internal-tools/index.js +0 -3
  645. package/dist/tools/internal-tools/provider.cjs +0 -324
  646. package/dist/tools/internal-tools/provider.d.ts +0 -116
  647. package/dist/tools/internal-tools/provider.d.ts.map +0 -1
  648. package/dist/tools/internal-tools/provider.js +0 -301
  649. package/dist/tools/internal-tools/registry.cjs +0 -71
  650. package/dist/tools/internal-tools/registry.d.ts +0 -91
  651. package/dist/tools/internal-tools/registry.d.ts.map +0 -1
  652. package/dist/tools/internal-tools/registry.js +0 -47
  653. /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
  654. /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
  655. /package/dist/{image → hooks}/types.cjs +0 -0
  656. /package/dist/{plugins → hooks}/types.js +0 -0
  657. /package/dist/{plugins → workspace}/types.cjs +0 -0
  658. /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
@@ -80,13 +80,11 @@ var import_events = require("events");
80
80
  var import_contributors = require("../systemPrompt/contributors.js");
81
81
  var import_resources = require("../resources/index.js");
82
82
  var import_utils = require("../context/utils.js");
83
+ var import_storage = require("../storage/index.js");
83
84
  var import_prompts = require("../prompts/index.js");
84
85
  var import_session = require("../session/index.js");
85
- var import_factory = require("../logger/factory.js");
86
- var import_types = require("../logger/v2/types.js");
87
86
  var import_decorators = require("../telemetry/decorators.js");
88
87
  var import_api = require("@opentelemetry/api");
89
- var import_schemas = require("../llm/schemas.cjs");
90
88
  var import_resolver = require("../llm/resolver.js");
91
89
  var import_validation = require("../llm/validation.js");
92
90
  var import_errors = require("../llm/errors.js");
@@ -95,14 +93,23 @@ var import_errors3 = require("../mcp/errors.js");
95
93
  var import_error_codes = require("../mcp/error-codes.js");
96
94
  var import_DextoRuntimeError = require("../errors/DextoRuntimeError.js");
97
95
  var import_DextoValidationError = require("../errors/DextoValidationError.js");
98
- var import_result_bridge = require("../errors/result-bridge.cjs");
99
- var import_result = require("../utils/result.cjs");
96
+ var import_result_bridge = require("../errors/result-bridge.js");
97
+ var import_result = require("../utils/result.js");
100
98
  var import_resolver2 = require("../mcp/resolver.js");
101
99
  var import_registry = require("../llm/registry/index.js");
102
100
  var import_service_initializer2 = require("../utils/service-initializer.js");
103
- var import_schemas2 = require("./schemas.js");
101
+ var import_schemas = require("../llm/schemas.js");
102
+ var import_schemas2 = require("../mcp/schemas.js");
103
+ var import_schemas3 = require("../memory/schemas.js");
104
+ var import_schemas4 = require("../prompts/schemas.js");
105
+ var import_schemas5 = require("../resources/schemas.js");
106
+ var import_schemas6 = require("../session/schemas.js");
107
+ var import_schemas7 = require("../systemPrompt/schemas.js");
108
+ var import_schemas8 = require("../tools/schemas.js");
109
+ var import_schemas9 = require("../telemetry/schemas.js");
110
+ var import_schemas10 = require("./schemas.js");
104
111
  var import_events2 = require("../events/index.js");
105
- var import_safe_stringify = require("../utils/safe-stringify.cjs");
112
+ var import_safe_stringify = require("../utils/safe-stringify.js");
106
113
  var import_title_generator = require("../session/title-generator.js");
107
114
  var _DextoAgent_decorators, _init;
108
115
  const requiredServices = [
@@ -112,6 +119,7 @@ const requiredServices = [
112
119
  "agentEventBus",
113
120
  "stateManager",
114
121
  "sessionManager",
122
+ "workspaceManager",
115
123
  "searchService",
116
124
  "memoryManager"
117
125
  ];
@@ -123,50 +131,14 @@ _DextoAgent_decorators = [(0, import_decorators.InstrumentClass)({
123
131
  "getConfig",
124
132
  "getEffectiveConfig",
125
133
  "registerSubscriber",
134
+ "on",
135
+ "once",
136
+ "off",
137
+ "emit",
126
138
  "ensureStarted"
127
139
  ]
128
140
  })];
129
- class DextoAgent {
130
- /**
131
- * Creates a DextoAgent instance.
132
- *
133
- * @param config - Agent configuration (validated and enriched)
134
- * @param configPath - Optional path to config file (for relative path resolution)
135
- * @param options - Validation options
136
- * @param options.strict - When true (default), enforces API key and baseURL requirements.
137
- * When false, allows missing credentials for interactive configuration.
138
- */
139
- constructor(config, configPath, options) {
140
- this.configPath = configPath;
141
- const schema = options?.strict === false ? (0, import_schemas2.createAgentConfigSchema)({ strict: false }) : import_schemas2.AgentConfigSchema;
142
- this.config = schema.parse(config);
143
- this.logger = (0, import_factory.createLogger)({
144
- config: this.config.logger,
145
- agentId: this.config.agentId,
146
- component: import_types.DextoLogComponent.AGENT
147
- });
148
- const serviceOverrides = {};
149
- if (options?.sessionLoggerFactory) {
150
- serviceOverrides.sessionLoggerFactory = options.sessionLoggerFactory;
151
- }
152
- if (options && "mcpAuthProviderFactory" in options) {
153
- serviceOverrides.mcpAuthProviderFactory = options.mcpAuthProviderFactory ?? null;
154
- }
155
- if (options?.toolManager) {
156
- serviceOverrides.toolManager = options.toolManager;
157
- }
158
- if (options?.toolManagerFactory) {
159
- serviceOverrides.toolManagerFactory = options.toolManagerFactory;
160
- }
161
- if (Object.keys(serviceOverrides).length > 0) {
162
- this.serviceOverrides = serviceOverrides;
163
- }
164
- if (options?.mcpAuthProviderFactory) {
165
- this.mcpAuthProviderFactory = options.mcpAuthProviderFactory;
166
- }
167
- this.agentEventBus = new import_events2.AgentEventBus();
168
- this.logger.info("DextoAgent created.");
169
- }
141
+ let _DextoAgent = class _DextoAgent {
170
142
  /**
171
143
  * These services are public for use by the outside world
172
144
  * This gives users the option to use methods of the services directly if they know what they are doing
@@ -178,6 +150,7 @@ class DextoAgent {
178
150
  promptManager;
179
151
  stateManager;
180
152
  sessionManager;
153
+ workspaceManager;
181
154
  toolManager;
182
155
  resourceManager;
183
156
  memoryManager;
@@ -200,9 +173,87 @@ class DextoAgent {
200
173
  // Active stream controllers per session - allows cancel() to abort iterators
201
174
  activeStreamControllers = /* @__PURE__ */ new Map();
202
175
  // Host overrides for service initialization (e.g. session logger factory)
203
- serviceOverrides;
176
+ overrides;
177
+ // DI-provided local tools.
178
+ tools;
179
+ compactionStrategy;
204
180
  // Logger instance for this agent (dependency injection)
205
181
  logger;
182
+ /**
183
+ * Validate + normalize runtime settings.
184
+ *
185
+ * This is the single validation boundary for programmatic (code-first) construction.
186
+ * Host layers may validate earlier (e.g. YAML parsing), but core always normalizes
187
+ * runtime settings before use.
188
+ */
189
+ static validateConfig(options) {
190
+ return {
191
+ agentId: options.agentId,
192
+ llm: import_schemas.LLMConfigSchema.parse(options.llm),
193
+ systemPrompt: import_schemas7.SystemPromptConfigSchema.parse(options.systemPrompt),
194
+ mcpServers: import_schemas2.ServersConfigSchema.parse(options.mcpServers ?? {}),
195
+ sessions: import_schemas6.SessionConfigSchema.parse(options.sessions ?? {}),
196
+ permissions: import_schemas8.PermissionsConfigSchema.parse(options.permissions ?? {}),
197
+ elicitation: import_schemas8.ElicitationConfigSchema.parse(options.elicitation ?? {}),
198
+ resources: import_schemas5.ResourcesConfigSchema.parse(options.resources ?? []),
199
+ prompts: import_schemas4.PromptsSchema.parse(options.prompts),
200
+ ...options.agentCard !== void 0 && {
201
+ agentCard: import_schemas10.AgentCardSchema.parse(options.agentCard)
202
+ },
203
+ ...options.greeting !== void 0 && { greeting: options.greeting },
204
+ ...options.telemetry !== void 0 && {
205
+ telemetry: import_schemas9.OtelConfigurationSchema.parse(options.telemetry)
206
+ },
207
+ ...options.memories !== void 0 && {
208
+ memories: import_schemas3.MemoriesConfigSchema.parse(options.memories)
209
+ }
210
+ };
211
+ }
212
+ /**
213
+ * Creates a DextoAgent instance.
214
+ *
215
+ * Constructor options are DI-first:
216
+ * - runtime settings (validated + defaulted by core)
217
+ * - concrete services (logger/tools/hooks/storage backends)
218
+ * - optional internal service overrides (session logging, auth factories, etc.)
219
+ */
220
+ constructor(options) {
221
+ const {
222
+ logger,
223
+ storage,
224
+ tools: toolsInput,
225
+ hooks: hooksInput,
226
+ compaction,
227
+ overrides: overridesInput,
228
+ ...runtimeSettings
229
+ } = options;
230
+ const tools = toolsInput ?? [];
231
+ const hooks = hooksInput ?? [];
232
+ this.config = _DextoAgent.validateConfig(runtimeSettings);
233
+ this.logger = logger;
234
+ this.tools = tools;
235
+ this.compactionStrategy = compaction ?? null;
236
+ const overrides = { ...overridesInput ?? {} };
237
+ if (overrides.storageManager === void 0) {
238
+ overrides.storageManager = new import_storage.StorageManager(
239
+ {
240
+ cache: storage.cache,
241
+ database: storage.database,
242
+ blobStore: storage.blob
243
+ },
244
+ this.logger
245
+ );
246
+ }
247
+ if (overrides.hooks === void 0) {
248
+ overrides.hooks = hooks;
249
+ }
250
+ this.overrides = overrides;
251
+ if (overrides.mcpAuthProviderFactory !== void 0) {
252
+ this.mcpAuthProviderFactory = overrides.mcpAuthProviderFactory;
253
+ }
254
+ this.agentEventBus = new import_events2.AgentEventBus();
255
+ this.logger.info("DextoAgent created.");
256
+ }
206
257
  /**
207
258
  * Starts the agent by initializing all async services.
208
259
  * This method handles storage backends, MCP connections, session manager initialization, and other async operations.
@@ -218,10 +269,10 @@ class DextoAgent {
218
269
  this.logger.info("Starting DextoAgent...");
219
270
  const services = await (0, import_service_initializer2.createAgentServices)(
220
271
  this.config,
221
- this.configPath,
222
272
  this.logger,
223
273
  this.agentEventBus,
224
- this.serviceOverrides
274
+ this.overrides,
275
+ this.compactionStrategy
225
276
  );
226
277
  if (this.mcpAuthProviderFactory) {
227
278
  services.mcpManager.setAuthProviderFactory(this.mcpAuthProviderFactory);
@@ -233,11 +284,11 @@ class DextoAgent {
233
284
  );
234
285
  }
235
286
  }
236
- const needsHandler = this.config.toolConfirmation.mode === "manual" || this.config.elicitation.enabled;
287
+ const needsHandler = this.config.permissions.mode === "manual" || this.config.elicitation.enabled;
237
288
  if (needsHandler && !this.approvalHandler) {
238
289
  const reasons = [];
239
- if (this.config.toolConfirmation.mode === "manual") {
240
- reasons.push('tool confirmation mode is "manual"');
290
+ if (this.config.permissions.mode === "manual") {
291
+ reasons.push('permissions mode is "manual"');
241
292
  }
242
293
  if (this.config.elicitation.enabled) {
243
294
  reasons.push("elicitation is enabled");
@@ -246,7 +297,7 @@ class DextoAgent {
246
297
  `An approval handler is required but not configured (${reasons.join(" and ")}).
247
298
  Either:
248
299
  \u2022 Call agent.setApprovalHandler() before starting
249
- \u2022 Set toolConfirmation: { mode: "auto-approve" } or { mode: "auto-deny" }
300
+ \u2022 Set permissions: { mode: "auto-approve" } or { mode: "auto-deny" }
250
301
  \u2022 Disable elicitation: { enabled: false }`
251
302
  );
252
303
  }
@@ -260,6 +311,7 @@ Either:
260
311
  systemPromptManager: services.systemPromptManager,
261
312
  stateManager: services.stateManager,
262
313
  sessionManager: services.sessionManager,
314
+ workspaceManager: services.workspaceManager,
263
315
  memoryManager: services.memoryManager,
264
316
  services
265
317
  });
@@ -273,9 +325,27 @@ Either:
273
325
  );
274
326
  await promptManager.initialize();
275
327
  Object.assign(this, { promptManager });
276
- services.toolManager.setAgent(this);
277
- services.toolManager.setPromptManager(promptManager);
278
- if (this.config.internalTools?.includes("invoke_skill")) {
328
+ const toolExecutionStorage = {
329
+ blob: services.storageManager.getBlobStore(),
330
+ database: services.storageManager.getDatabase(),
331
+ cache: services.storageManager.getCache()
332
+ };
333
+ const toolExecutionServices = {
334
+ approval: services.approvalManager,
335
+ search: services.searchService,
336
+ resources: services.resourceManager,
337
+ prompts: promptManager,
338
+ mcp: services.mcpManager,
339
+ taskForker: null
340
+ };
341
+ services.toolManager.setToolExecutionContextFactory((baseContext) => ({
342
+ ...baseContext,
343
+ agent: this,
344
+ storage: toolExecutionStorage,
345
+ services: toolExecutionServices
346
+ }));
347
+ const agentTools = this.tools;
348
+ if (agentTools.some((t) => t.id === "invoke_skill")) {
279
349
  const skillsContributor = new import_contributors.SkillsContributor(
280
350
  "skills",
281
351
  50,
@@ -286,6 +356,7 @@ Either:
286
356
  services.systemPromptManager.addContributor(skillsContributor);
287
357
  this.logger.debug("Added SkillsContributor to system prompt");
288
358
  }
359
+ services.toolManager.setTools(agentTools);
289
360
  await services.toolManager.initialize();
290
361
  this.searchService = services.searchService;
291
362
  this._isStarted = true;
@@ -329,13 +400,22 @@ Either:
329
400
  shutdownErrors.push(new Error(`SessionManager cleanup failed: ${err.message}`));
330
401
  }
331
402
  try {
332
- if (this.services?.pluginManager) {
333
- await this.services.pluginManager.cleanup();
334
- this.logger.debug("PluginManager cleaned up successfully");
403
+ if (this.toolManager) {
404
+ await this.toolManager.cleanup();
405
+ this.logger.debug("ToolManager cleaned up successfully");
335
406
  }
336
407
  } catch (error) {
337
408
  const err = error instanceof Error ? error : new Error(String(error));
338
- shutdownErrors.push(new Error(`PluginManager cleanup failed: ${err.message}`));
409
+ shutdownErrors.push(new Error(`ToolManager cleanup failed: ${err.message}`));
410
+ }
411
+ try {
412
+ if (this.services?.hookManager) {
413
+ await this.services.hookManager.cleanup();
414
+ this.logger.debug("HookManager cleaned up successfully");
415
+ }
416
+ } catch (error) {
417
+ const err = error instanceof Error ? error : new Error(String(error));
418
+ shutdownErrors.push(new Error(`HookManager cleanup failed: ${err.message}`));
339
419
  }
340
420
  try {
341
421
  if (this.mcpManager) {
@@ -346,6 +426,15 @@ Either:
346
426
  const err = error instanceof Error ? error : new Error(String(error));
347
427
  shutdownErrors.push(new Error(`MCPManager disconnect failed: ${err.message}`));
348
428
  }
429
+ try {
430
+ if (this.resourceManager) {
431
+ this.resourceManager.cleanup();
432
+ this.logger.debug("ResourceManager cleaned up successfully");
433
+ }
434
+ } catch (error) {
435
+ const err = error instanceof Error ? error : new Error(String(error));
436
+ shutdownErrors.push(new Error(`ResourceManager cleanup failed: ${err.message}`));
437
+ }
349
438
  try {
350
439
  if (this.services?.storageManager) {
351
440
  await this.services.storageManager.disconnect();
@@ -384,6 +473,26 @@ Either:
384
473
  subscriber.subscribe(this.agentEventBus);
385
474
  }
386
475
  }
476
+ /**
477
+ * Convenience event subscription APIs (typed delegates to {@link AgentEventBus}).
478
+ *
479
+ * Prefer these over reaching into the internal event bus directly.
480
+ */
481
+ on(event, listener, options) {
482
+ this.agentEventBus.on(event, listener, options);
483
+ return this;
484
+ }
485
+ once(event, listener, options) {
486
+ this.agentEventBus.once(event, listener, options);
487
+ return this;
488
+ }
489
+ off(event, listener) {
490
+ this.agentEventBus.off(event, listener);
491
+ return this;
492
+ }
493
+ emit(event, ...args) {
494
+ return this.agentEventBus.emit(event, ...args);
495
+ }
387
496
  /**
388
497
  * Restart the agent by stopping and starting it.
389
498
  * Automatically re-subscribes all registered event subscribers to the new event bus.
@@ -636,6 +745,14 @@ Either:
636
745
  };
637
746
  this.agentEventBus.on("llm:tool-call", toolCallListener, { signal: cleanupSignal });
638
747
  listeners.push({ event: "llm:tool-call", listener: toolCallListener });
748
+ const toolCallPartialListener = (data) => {
749
+ if (data.sessionId !== sessionId) return;
750
+ eventQueue.push({ name: "llm:tool-call-partial", ...data });
751
+ };
752
+ this.agentEventBus.on("llm:tool-call-partial", toolCallPartialListener, {
753
+ signal: cleanupSignal
754
+ });
755
+ listeners.push({ event: "llm:tool-call-partial", listener: toolCallPartialListener });
639
756
  const toolResultListener = (data) => {
640
757
  if (data.sessionId !== sessionId) return;
641
758
  eventQueue.push({ name: "llm:tool-result", ...data });
@@ -1013,6 +1130,36 @@ Either:
1013
1130
  }
1014
1131
  return !!streamController;
1015
1132
  }
1133
+ // ============= WORKSPACE MANAGEMENT =============
1134
+ /**
1135
+ * Sets the active workspace for this runtime.
1136
+ * The workspace context is persisted and emitted via the agent event bus.
1137
+ */
1138
+ async setWorkspace(input) {
1139
+ this.ensureStarted();
1140
+ return await this.workspaceManager.setWorkspace(input);
1141
+ }
1142
+ /**
1143
+ * Gets the currently active workspace, if any.
1144
+ */
1145
+ async getWorkspace() {
1146
+ this.ensureStarted();
1147
+ return await this.workspaceManager.getWorkspace();
1148
+ }
1149
+ /**
1150
+ * Clears the active workspace for this runtime.
1151
+ */
1152
+ async clearWorkspace() {
1153
+ this.ensureStarted();
1154
+ await this.workspaceManager.clearWorkspace();
1155
+ }
1156
+ /**
1157
+ * Lists all known workspaces in storage.
1158
+ */
1159
+ async listWorkspaces() {
1160
+ this.ensureStarted();
1161
+ return await this.workspaceManager.listWorkspaces();
1162
+ }
1016
1163
  // ============= SESSION MANAGEMENT =============
1017
1164
  /**
1018
1165
  * Creates a new chat session or returns an existing one.
@@ -1040,6 +1187,28 @@ Either:
1040
1187
  this.ensureStarted();
1041
1188
  return await this.sessionManager.listSessions();
1042
1189
  }
1190
+ /**
1191
+ * Sets the log level for this agent.
1192
+ *
1193
+ * Note: In some hosts (e.g. interactive CLI), session logs may be written by
1194
+ * session-scoped file loggers rather than the base agent logger. When a sessionId
1195
+ * is provided, this also updates the in-memory session logger so file logs reflect
1196
+ * the new level immediately.
1197
+ */
1198
+ async setLogLevel(level, options) {
1199
+ this.ensureStarted();
1200
+ this.logger.setLevel(level);
1201
+ const sessionId = options?.sessionId;
1202
+ if (!sessionId) {
1203
+ return;
1204
+ }
1205
+ const session = await this.sessionManager.getSession(sessionId, false);
1206
+ if (!session) {
1207
+ return;
1208
+ }
1209
+ session.logger.setLevel(level);
1210
+ session.logger.debug(`Log level changed to '${level}'`);
1211
+ }
1043
1212
  /**
1044
1213
  * Ends a session by removing it from memory without deleting conversation history.
1045
1214
  * Used for cleanup, agent shutdown, and session expiry.
@@ -1285,7 +1454,7 @@ Either:
1285
1454
  this.logger.debug(`Compaction skipped for session ${sessionId} - history too short`);
1286
1455
  return null;
1287
1456
  }
1288
- const contributorContext = { mcpManager: this.mcpManager };
1457
+ const contributorContext = await this.toolManager.buildContributorContext();
1289
1458
  const tools = await llmService.getEnabledTools();
1290
1459
  const beforeEstimate = await contextManager.getContextTokenEstimate(
1291
1460
  contributorContext,
@@ -1297,7 +1466,11 @@ Either:
1297
1466
  estimatedTokens: originalTokens,
1298
1467
  sessionId
1299
1468
  });
1300
- const summaryMessages = await compactionStrategy.compact(history);
1469
+ const summaryMessages = await compactionStrategy.compact(history, {
1470
+ sessionId,
1471
+ model: llmService.getLanguageModel(),
1472
+ logger: session.logger
1473
+ });
1301
1474
  if (summaryMessages.length === 0) {
1302
1475
  this.logger.debug(`Compaction skipped for session ${sessionId} - nothing to compact`);
1303
1476
  this.agentEventBus.emit("context:compacted", {
@@ -1359,7 +1532,7 @@ Either:
1359
1532
  throw import_session.SessionError.notFound(sessionId);
1360
1533
  }
1361
1534
  const contextManager = session.getContextManager();
1362
- const contributorContext = { mcpManager: this.mcpManager };
1535
+ const contributorContext = await this.toolManager.buildContributorContext();
1363
1536
  const llmService = session.getLLMService();
1364
1537
  const tools = await llmService.getEnabledTools();
1365
1538
  const tokenEstimate = await contextManager.getContextTokenEstimate(
@@ -1368,16 +1541,12 @@ Either:
1368
1541
  );
1369
1542
  const history = await contextManager.getHistory();
1370
1543
  const runtimeConfig = this.stateManager.getRuntimeConfig(sessionId);
1371
- const compactionConfig = runtimeConfig.compaction;
1372
1544
  const modelContextWindow = contextManager.getMaxInputTokens();
1373
- let maxContextTokens = modelContextWindow;
1374
- if (compactionConfig?.maxContextTokens !== void 0) {
1375
- maxContextTokens = Math.min(maxContextTokens, compactionConfig.maxContextTokens);
1376
- }
1377
- const thresholdPercent = compactionConfig?.thresholdPercent ?? 0.9;
1378
- if (thresholdPercent < 1) {
1379
- maxContextTokens = Math.floor(maxContextTokens * thresholdPercent);
1380
- }
1545
+ const compactionStrategy = this.compactionStrategy;
1546
+ const compactionSettings = compactionStrategy?.getSettings();
1547
+ const thresholdPercent = compactionSettings && compactionSettings.enabled ? compactionSettings.thresholdPercent : 1;
1548
+ const modelLimits = compactionStrategy ? compactionStrategy.getModelLimits(modelContextWindow) : { contextWindow: modelContextWindow };
1549
+ const maxContextTokens = thresholdPercent < 1 ? Math.floor(modelLimits.contextWindow * thresholdPercent) : modelLimits.contextWindow;
1381
1550
  const hasSummary = history.some(
1382
1551
  (msg) => msg.metadata?.isSummary === true || msg.metadata?.isSessionSummary === true
1383
1552
  );
@@ -1659,6 +1828,70 @@ Either:
1659
1828
  throw import_errors3.MCPError.connectionFailed(name, errorMessage);
1660
1829
  }
1661
1830
  }
1831
+ /**
1832
+ * Updates an existing MCP server configuration and reconnects if needed.
1833
+ * This is used when editing server params (timeout, headers, env, etc.).
1834
+ *
1835
+ * @param name The name of the server to update.
1836
+ * @param config The updated configuration object.
1837
+ * @throws MCPError if validation fails or reconnect fails.
1838
+ */
1839
+ async updateMcpServer(name, config) {
1840
+ this.ensureStarted();
1841
+ const currentConfig = this.stateManager.getRuntimeConfig().mcpServers[name];
1842
+ if (!currentConfig) {
1843
+ throw import_errors3.MCPError.serverNotFound(name);
1844
+ }
1845
+ const existingServerNames = Object.keys(this.stateManager.getRuntimeConfig().mcpServers);
1846
+ const validation = (0, import_resolver2.resolveAndValidateMcpServerConfig)(name, config, existingServerNames);
1847
+ const validatedConfig = (0, import_result_bridge.ensureOk)(validation, this.logger);
1848
+ this.stateManager.setMcpServer(name, validatedConfig);
1849
+ const shouldEnable = validatedConfig.enabled !== false;
1850
+ const hasClient = this.mcpManager.getClients().has(name);
1851
+ if (!shouldEnable) {
1852
+ if (hasClient) {
1853
+ await this.mcpManager.removeClient(name);
1854
+ await this.toolManager.refresh();
1855
+ }
1856
+ this.logger.info(`MCP server '${name}' updated (disabled)`);
1857
+ return;
1858
+ }
1859
+ try {
1860
+ if (hasClient) {
1861
+ await this.mcpManager.removeClient(name);
1862
+ }
1863
+ await this.mcpManager.connectServer(name, validatedConfig);
1864
+ await this.toolManager.refresh();
1865
+ this.agentEventBus.emit("mcp:server-connected", { name, success: true });
1866
+ this.agentEventBus.emit("tools:available-updated", {
1867
+ tools: Object.keys(await this.toolManager.getAllTools()),
1868
+ source: "mcp"
1869
+ });
1870
+ this.logger.info(`MCP server '${name}' updated and reconnected successfully`);
1871
+ const warnings = validation.issues.filter((i) => i.severity === "warning");
1872
+ if (warnings.length > 0) {
1873
+ this.logger.warn(
1874
+ `MCP server updated with warnings: ${warnings.map((w) => w.message).join(", ")}`
1875
+ );
1876
+ }
1877
+ } catch (error) {
1878
+ const errorMessage = error instanceof Error ? error.message : String(error);
1879
+ this.logger.error(`Failed to update MCP server '${name}': ${errorMessage}`);
1880
+ this.stateManager.setMcpServer(name, currentConfig);
1881
+ if (currentConfig.enabled !== false) {
1882
+ try {
1883
+ await this.mcpManager.connectServer(name, currentConfig);
1884
+ await this.toolManager.refresh();
1885
+ } catch (reconnectError) {
1886
+ const reconnectMsg = reconnectError instanceof Error ? reconnectError.message : String(reconnectError);
1887
+ this.logger.error(
1888
+ `Failed to restore MCP server '${name}' after update error: ${reconnectMsg}`
1889
+ );
1890
+ }
1891
+ }
1892
+ throw import_errors3.MCPError.connectionFailed(name, errorMessage);
1893
+ }
1894
+ }
1662
1895
  /**
1663
1896
  * @deprecated Use `addMcpServer` instead. This method will be removed in a future version.
1664
1897
  */
@@ -2066,9 +2299,7 @@ Either:
2066
2299
  */
2067
2300
  async getSystemPrompt() {
2068
2301
  this.ensureStarted();
2069
- const context2 = {
2070
- mcpManager: this.mcpManager
2071
- };
2302
+ const context2 = await this.toolManager.buildContributorContext();
2072
2303
  return await this.systemPromptManager.build(context2);
2073
2304
  }
2074
2305
  /**
@@ -2166,90 +2397,17 @@ Either:
2166
2397
  this.ensureStarted();
2167
2398
  return sessionId ? this.stateManager.getRuntimeConfig(sessionId) : this.stateManager.getRuntimeConfig();
2168
2399
  }
2169
- /**
2170
- * Gets the file path of the agent configuration currently in use.
2171
- * This returns the source agent file path, not session-specific overrides.
2172
- * @returns The path to the agent configuration file
2173
- * @throws AgentError if no config path is available
2174
- */
2175
- getAgentFilePath() {
2176
- if (!this.configPath) {
2177
- throw import_errors2.AgentError.noConfigPath();
2178
- }
2179
- return this.configPath;
2180
- }
2181
- /**
2182
- * Reloads the agent configuration with a new config object.
2183
- * Validates the new config, detects what changed, and automatically
2184
- * restarts the agent if necessary to apply the changes.
2185
- *
2186
- * @param newConfig The new agent configuration to apply
2187
- * @returns Object containing whether agent was restarted and list of changes applied
2188
- * @throws Error if config is invalid or restart fails
2189
- *
2190
- * TODO: improve hot reload capabilites so that we don't always require a restart
2191
- */
2192
- async reload(newConfig) {
2193
- this.logger.info("Reloading agent configuration");
2194
- const oldConfig = this.config;
2195
- const validated = import_schemas2.AgentConfigSchema.parse(newConfig);
2196
- const changesApplied = this.detectConfigChanges(oldConfig, validated);
2197
- this.config = validated;
2198
- let restarted = false;
2199
- if (changesApplied.length > 0) {
2200
- this.logger.info(
2201
- `Configuration changed. Restarting agent to apply: ${changesApplied.join(", ")}`
2202
- );
2203
- await this.restart();
2204
- restarted = true;
2205
- this.logger.info("Agent restarted successfully with new configuration");
2206
- } else {
2207
- this.logger.info("Agent configuration reloaded successfully (no changes detected)");
2208
- }
2209
- return {
2210
- restarted,
2211
- changesApplied
2212
- };
2213
- }
2214
- /**
2215
- * Detects configuration changes that require a full agent restart.
2216
- * Pure comparison logic - no file I/O.
2217
- * Returns an array of change descriptions.
2218
- *
2219
- * @param oldConfig Previous validated configuration
2220
- * @param newConfig New validated configuration
2221
- * @returns Array of restart-required change descriptions
2222
- */
2223
- detectConfigChanges(oldConfig, newConfig) {
2224
- const changes = [];
2225
- if (JSON.stringify(oldConfig.storage) !== JSON.stringify(newConfig.storage)) {
2226
- changes.push("Storage backend");
2227
- }
2228
- if (JSON.stringify(oldConfig.sessions) !== JSON.stringify(newConfig.sessions)) {
2229
- changes.push("Session configuration");
2230
- }
2231
- if (JSON.stringify(oldConfig.systemPrompt) !== JSON.stringify(newConfig.systemPrompt)) {
2232
- changes.push("System prompt");
2233
- }
2234
- if (JSON.stringify(oldConfig.toolConfirmation) !== JSON.stringify(newConfig.toolConfirmation)) {
2235
- changes.push("Tool confirmation");
2236
- }
2237
- if (JSON.stringify(oldConfig.internalTools) !== JSON.stringify(newConfig.internalTools)) {
2238
- changes.push("Internal tools");
2239
- }
2240
- if (JSON.stringify(oldConfig.mcpServers) !== JSON.stringify(newConfig.mcpServers)) {
2241
- changes.push("MCP servers");
2242
- }
2243
- if (oldConfig.llm.provider !== newConfig.llm.provider || oldConfig.llm.model !== newConfig.llm.model || oldConfig.llm.apiKey !== newConfig.llm.apiKey) {
2244
- changes.push("LLM configuration");
2245
- }
2246
- return changes;
2400
+ getMcpServerConfig(name) {
2401
+ this.ensureStarted();
2402
+ const config = this.stateManager.getRuntimeConfig().mcpServers[name];
2403
+ if (config) return config;
2404
+ return this.mcpManager.getServerConfig(name);
2247
2405
  }
2248
2406
  // ============= APPROVAL HANDLER API =============
2249
2407
  /**
2250
2408
  * Set a custom approval handler for manual approval mode.
2251
2409
  *
2252
- * When `toolConfirmation.mode` is set to 'manual', an approval handler must be
2410
+ * When `permissions.mode` is set to 'manual', an approval handler must be
2253
2411
  * provided to process tool confirmation requests. The handler will be called
2254
2412
  * whenever a tool execution requires user approval.
2255
2413
  *
@@ -2322,10 +2480,11 @@ Either:
2322
2480
  // - Memory and context management across sessions
2323
2481
  // - Tool chaining and workflow automation
2324
2482
  // - Agent collaboration and delegation
2325
- }
2483
+ };
2326
2484
  _init = __decoratorStart(null);
2327
- DextoAgent = __decorateElement(_init, 0, "DextoAgent", _DextoAgent_decorators, DextoAgent);
2328
- __runInitializers(_init, 1, DextoAgent);
2485
+ _DextoAgent = __decorateElement(_init, 0, "DextoAgent", _DextoAgent_decorators, _DextoAgent);
2486
+ __runInitializers(_init, 1, _DextoAgent);
2487
+ let DextoAgent = _DextoAgent;
2329
2488
  // Annotate the CommonJS export names for ESM import in node:
2330
2489
  0 && (module.exports = {
2331
2490
  DextoAgent