@dexto/core 1.2.4 → 1.2.5

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 (523) hide show
  1. package/README.md +60 -0
  2. package/dist/agent/DextoAgent.cjs +579 -345
  3. package/dist/agent/DextoAgent.d.ts +131 -83
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +573 -336
  6. package/dist/agent/agentCard.cjs +4 -2
  7. package/dist/agent/agentCard.d.ts +0 -1
  8. package/dist/agent/agentCard.d.ts.map +1 -1
  9. package/dist/agent/agentCard.js +4 -2
  10. package/dist/agent/index.cjs +3 -7
  11. package/dist/agent/index.d.ts +3 -3
  12. package/dist/agent/index.d.ts.map +1 -1
  13. package/dist/agent/index.js +7 -6
  14. package/dist/agent/schemas.cjs +164 -64
  15. package/dist/agent/schemas.d.ts +2605 -517
  16. package/dist/agent/schemas.d.ts.map +1 -1
  17. package/dist/agent/schemas.js +167 -64
  18. package/dist/agent/state-manager.cjs +28 -23
  19. package/dist/agent/state-manager.d.ts +4 -1
  20. package/dist/agent/state-manager.d.ts.map +1 -1
  21. package/dist/agent/state-manager.js +28 -23
  22. package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
  23. package/dist/agent/types.d.ts +54 -0
  24. package/dist/agent/types.d.ts.map +1 -0
  25. package/dist/agent/types.js +0 -0
  26. package/dist/approval/errors.cjs +89 -8
  27. package/dist/approval/errors.d.ts +5 -3
  28. package/dist/approval/errors.d.ts.map +1 -1
  29. package/dist/approval/errors.js +89 -8
  30. package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
  31. package/dist/approval/factory.d.ts.map +1 -0
  32. package/dist/approval/{providers/factory.js → factory.js} +1 -1
  33. package/dist/approval/index.cjs +4 -6
  34. package/dist/approval/index.d.ts +3 -5
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +4 -5
  37. package/dist/approval/manager.cjs +140 -37
  38. package/dist/approval/manager.d.ts +56 -17
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +141 -38
  41. package/dist/approval/schemas.cjs +9 -1
  42. package/dist/approval/schemas.d.ts +120 -35
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +9 -2
  45. package/dist/approval/types.cjs +14 -2
  46. package/dist/approval/types.d.ts +64 -12
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +12 -1
  49. package/dist/context/compression/middle-removal.cjs +11 -11
  50. package/dist/context/compression/middle-removal.d.ts +3 -1
  51. package/dist/context/compression/middle-removal.d.ts.map +1 -1
  52. package/dist/context/compression/middle-removal.js +11 -11
  53. package/dist/context/compression/oldest-removal.cjs +18 -5
  54. package/dist/context/compression/oldest-removal.d.ts +3 -1
  55. package/dist/context/compression/oldest-removal.d.ts.map +1 -1
  56. package/dist/context/compression/oldest-removal.js +18 -5
  57. package/dist/context/manager.cjs +94 -67
  58. package/dist/context/manager.d.ts +13 -10
  59. package/dist/context/manager.d.ts.map +1 -1
  60. package/dist/context/manager.js +94 -67
  61. package/dist/context/utils.cjs +79 -65
  62. package/dist/context/utils.d.ts +15 -12
  63. package/dist/context/utils.d.ts.map +1 -1
  64. package/dist/context/utils.js +45 -31
  65. package/dist/errors/DextoRuntimeError.d.ts +5 -5
  66. package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
  67. package/dist/errors/result-bridge.cjs +2 -3
  68. package/dist/errors/result-bridge.d.ts +5 -3
  69. package/dist/errors/result-bridge.d.ts.map +1 -1
  70. package/dist/errors/result-bridge.js +1 -2
  71. package/dist/errors/types.cjs +1 -2
  72. package/dist/errors/types.d.ts +5 -8
  73. package/dist/errors/types.d.ts.map +1 -1
  74. package/dist/errors/types.js +1 -2
  75. package/dist/events/index.cjs +125 -55
  76. package/dist/events/index.d.ts +204 -97
  77. package/dist/events/index.d.ts.map +1 -1
  78. package/dist/events/index.js +123 -55
  79. package/dist/filesystem/filesystem-service.cjs +40 -30
  80. package/dist/filesystem/filesystem-service.d.ts +9 -1
  81. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  82. package/dist/filesystem/filesystem-service.js +40 -30
  83. package/dist/filesystem/path-validator.cjs +4 -3
  84. package/dist/filesystem/path-validator.d.ts +3 -1
  85. package/dist/filesystem/path-validator.d.ts.map +1 -1
  86. package/dist/filesystem/path-validator.js +4 -3
  87. package/dist/filesystem/types.d.ts +3 -3
  88. package/dist/filesystem/types.d.ts.map +1 -1
  89. package/dist/index.browser.cjs +7 -0
  90. package/dist/index.browser.d.ts +2 -0
  91. package/dist/index.browser.d.ts.map +1 -1
  92. package/dist/index.browser.js +4 -0
  93. package/dist/index.cjs +0 -7
  94. package/dist/index.d.ts +12 -3
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +0 -4
  97. package/dist/llm/formatters/anthropic.cjs +32 -21
  98. package/dist/llm/formatters/anthropic.d.ts +3 -0
  99. package/dist/llm/formatters/anthropic.d.ts.map +1 -1
  100. package/dist/llm/formatters/anthropic.js +32 -21
  101. package/dist/llm/formatters/factory.cjs +6 -7
  102. package/dist/llm/formatters/factory.d.ts +2 -1
  103. package/dist/llm/formatters/factory.d.ts.map +1 -1
  104. package/dist/llm/formatters/factory.js +4 -5
  105. package/dist/llm/formatters/openai.cjs +38 -9
  106. package/dist/llm/formatters/openai.d.ts +3 -0
  107. package/dist/llm/formatters/openai.d.ts.map +1 -1
  108. package/dist/llm/formatters/openai.js +38 -9
  109. package/dist/llm/formatters/vercel.cjs +49 -8
  110. package/dist/llm/formatters/vercel.d.ts +3 -0
  111. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  112. package/dist/llm/formatters/vercel.js +49 -8
  113. package/dist/llm/registry.cjs +153 -17
  114. package/dist/llm/registry.d.ts +5 -2
  115. package/dist/llm/registry.d.ts.map +1 -1
  116. package/dist/llm/registry.js +143 -7
  117. package/dist/llm/resolver.cjs +4 -4
  118. package/dist/llm/resolver.d.ts +3 -2
  119. package/dist/llm/resolver.d.ts.map +1 -1
  120. package/dist/llm/resolver.js +4 -4
  121. package/dist/llm/schemas.cjs +6 -3
  122. package/dist/llm/schemas.d.ts +51 -17
  123. package/dist/llm/schemas.d.ts.map +1 -1
  124. package/dist/llm/schemas.js +5 -3
  125. package/dist/llm/services/anthropic.cjs +216 -183
  126. package/dist/llm/services/anthropic.d.ts +3 -1
  127. package/dist/llm/services/anthropic.d.ts.map +1 -1
  128. package/dist/llm/services/anthropic.js +217 -184
  129. package/dist/llm/services/factory.cjs +15 -9
  130. package/dist/llm/services/factory.d.ts +2 -1
  131. package/dist/llm/services/factory.d.ts.map +1 -1
  132. package/dist/llm/services/factory.js +15 -9
  133. package/dist/llm/services/openai.cjs +262 -225
  134. package/dist/llm/services/openai.d.ts +3 -1
  135. package/dist/llm/services/openai.d.ts.map +1 -1
  136. package/dist/llm/services/openai.js +263 -226
  137. package/dist/llm/services/test-utils.integration.cjs +58 -12
  138. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  139. package/dist/llm/services/test-utils.integration.js +58 -12
  140. package/dist/llm/services/types.d.ts +9 -0
  141. package/dist/llm/services/types.d.ts.map +1 -1
  142. package/dist/llm/services/vercel.cjs +163 -111
  143. package/dist/llm/services/vercel.d.ts +3 -1
  144. package/dist/llm/services/vercel.d.ts.map +1 -1
  145. package/dist/llm/services/vercel.js +157 -105
  146. package/dist/llm/tokenizer/factory.cjs +2 -2
  147. package/dist/llm/tokenizer/factory.d.ts +3 -1
  148. package/dist/llm/tokenizer/factory.d.ts.map +1 -1
  149. package/dist/llm/tokenizer/factory.js +2 -2
  150. package/dist/llm/tokenizer/openai.cjs +16 -9
  151. package/dist/llm/tokenizer/openai.d.ts +4 -1
  152. package/dist/llm/tokenizer/openai.d.ts.map +1 -1
  153. package/dist/llm/tokenizer/openai.js +16 -9
  154. package/dist/llm/validation.cjs +8 -9
  155. package/dist/llm/validation.d.ts +3 -1
  156. package/dist/llm/validation.d.ts.map +1 -1
  157. package/dist/llm/validation.js +5 -6
  158. package/dist/logger/factory.cjs +54 -0
  159. package/dist/logger/factory.d.ts +36 -0
  160. package/dist/logger/factory.d.ts.map +1 -0
  161. package/dist/logger/factory.js +31 -0
  162. package/dist/logger/index.cjs +42 -3
  163. package/dist/logger/index.d.ts +17 -1
  164. package/dist/logger/index.d.ts.map +1 -1
  165. package/dist/logger/index.js +26 -1
  166. package/dist/logger/logger.cjs +30 -17
  167. package/dist/logger/logger.d.ts.map +1 -1
  168. package/dist/logger/logger.js +30 -17
  169. package/dist/logger/v2/dexto-logger.cjs +141 -0
  170. package/dist/logger/v2/dexto-logger.d.ts +54 -0
  171. package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
  172. package/dist/logger/v2/dexto-logger.js +118 -0
  173. package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
  174. package/dist/logger/v2/error-codes.d.ts +13 -0
  175. package/dist/logger/v2/error-codes.d.ts.map +1 -0
  176. package/dist/logger/v2/error-codes.js +13 -0
  177. package/dist/logger/v2/errors.cjs +107 -0
  178. package/dist/logger/v2/errors.d.ts +32 -0
  179. package/dist/logger/v2/errors.d.ts.map +1 -0
  180. package/dist/logger/v2/errors.js +84 -0
  181. package/dist/logger/v2/schemas.cjs +57 -0
  182. package/dist/logger/v2/schemas.d.ts +147 -0
  183. package/dist/logger/v2/schemas.d.ts.map +1 -0
  184. package/dist/logger/v2/schemas.js +33 -0
  185. package/dist/logger/v2/transport-factory.cjs +53 -0
  186. package/dist/logger/v2/transport-factory.d.ts +21 -0
  187. package/dist/logger/v2/transport-factory.d.ts.map +1 -0
  188. package/dist/logger/v2/transport-factory.js +29 -0
  189. package/dist/logger/v2/transports/console-transport.cjs +79 -0
  190. package/dist/logger/v2/transports/console-transport.d.ts +23 -0
  191. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
  192. package/dist/logger/v2/transports/console-transport.js +46 -0
  193. package/dist/logger/v2/transports/file-transport.cjs +161 -0
  194. package/dist/logger/v2/transports/file-transport.d.ts +46 -0
  195. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
  196. package/dist/logger/v2/transports/file-transport.js +128 -0
  197. package/dist/logger/v2/types.cjs +49 -0
  198. package/dist/logger/v2/types.d.ts +123 -0
  199. package/dist/logger/v2/types.d.ts.map +1 -0
  200. package/dist/logger/v2/types.js +26 -0
  201. package/dist/mcp/manager.cjs +88 -78
  202. package/dist/mcp/manager.d.ts +3 -1
  203. package/dist/mcp/manager.d.ts.map +1 -1
  204. package/dist/mcp/manager.js +88 -78
  205. package/dist/mcp/mcp-client.cjs +109 -79
  206. package/dist/mcp/mcp-client.d.ts +3 -0
  207. package/dist/mcp/mcp-client.d.ts.map +1 -1
  208. package/dist/mcp/mcp-client.js +102 -72
  209. package/dist/memory/manager.cjs +9 -7
  210. package/dist/memory/manager.d.ts +3 -1
  211. package/dist/memory/manager.d.ts.map +1 -1
  212. package/dist/memory/manager.js +9 -7
  213. package/dist/memory/schemas.d.ts +6 -6
  214. package/dist/plugins/manager.cjs +21 -19
  215. package/dist/plugins/manager.d.ts +3 -1
  216. package/dist/plugins/manager.d.ts.map +1 -1
  217. package/dist/plugins/manager.js +21 -19
  218. package/dist/plugins/schemas.d.ts +9 -9
  219. package/dist/plugins/types.d.ts +2 -2
  220. package/dist/plugins/types.d.ts.map +1 -1
  221. package/dist/process/command-validator.cjs +30 -20
  222. package/dist/process/command-validator.d.ts +4 -1
  223. package/dist/process/command-validator.d.ts.map +1 -1
  224. package/dist/process/command-validator.js +30 -20
  225. package/dist/process/process-service.cjs +23 -21
  226. package/dist/process/process-service.d.ts +3 -1
  227. package/dist/process/process-service.d.ts.map +1 -1
  228. package/dist/process/process-service.js +23 -21
  229. package/dist/prompts/prompt-manager.cjs +25 -18
  230. package/dist/prompts/prompt-manager.d.ts +3 -1
  231. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  232. package/dist/prompts/prompt-manager.js +25 -18
  233. package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
  234. package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
  235. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  236. package/dist/prompts/providers/custom-prompt-provider.js +11 -7
  237. package/dist/prompts/providers/file-prompt-provider.cjs +14 -12
  238. package/dist/prompts/providers/file-prompt-provider.d.ts +3 -1
  239. package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -1
  240. package/dist/prompts/providers/file-prompt-provider.js +14 -12
  241. package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
  242. package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
  243. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  244. package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
  245. package/dist/prompts/providers/starter-prompt-provider.cjs +7 -5
  246. package/dist/prompts/providers/starter-prompt-provider.d.ts +3 -1
  247. package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -1
  248. package/dist/prompts/providers/starter-prompt-provider.js +7 -5
  249. package/dist/prompts/schemas.d.ts +3 -3
  250. package/dist/resources/handlers/blob-handler.cjs +15 -11
  251. package/dist/resources/handlers/blob-handler.d.ts +3 -1
  252. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  253. package/dist/resources/handlers/blob-handler.js +15 -11
  254. package/dist/resources/handlers/factory.cjs +3 -3
  255. package/dist/resources/handlers/factory.d.ts +2 -1
  256. package/dist/resources/handlers/factory.d.ts.map +1 -1
  257. package/dist/resources/handlers/factory.js +3 -3
  258. package/dist/resources/handlers/filesystem-handler.cjs +10 -8
  259. package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
  260. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  261. package/dist/resources/handlers/filesystem-handler.js +10 -8
  262. package/dist/resources/internal-provider.cjs +28 -20
  263. package/dist/resources/internal-provider.d.ts +3 -1
  264. package/dist/resources/internal-provider.d.ts.map +1 -1
  265. package/dist/resources/internal-provider.js +28 -20
  266. package/dist/resources/manager.cjs +34 -25
  267. package/dist/resources/manager.d.ts +3 -1
  268. package/dist/resources/manager.d.ts.map +1 -1
  269. package/dist/resources/manager.js +34 -25
  270. package/dist/resources/schemas.d.ts +6 -6
  271. package/dist/search/search-service.cjs +8 -6
  272. package/dist/search/search-service.d.ts +3 -1
  273. package/dist/search/search-service.d.ts.map +1 -1
  274. package/dist/search/search-service.js +8 -6
  275. package/dist/session/chat-session.cjs +40 -27
  276. package/dist/session/chat-session.d.ts +10 -7
  277. package/dist/session/chat-session.d.ts.map +1 -1
  278. package/dist/session/chat-session.js +40 -27
  279. package/dist/session/history/database.cjs +18 -11
  280. package/dist/session/history/database.d.ts +3 -1
  281. package/dist/session/history/database.d.ts.map +1 -1
  282. package/dist/session/history/database.js +18 -11
  283. package/dist/session/history/factory.cjs +2 -2
  284. package/dist/session/history/factory.d.ts +5 -1
  285. package/dist/session/history/factory.d.ts.map +1 -1
  286. package/dist/session/history/factory.js +2 -2
  287. package/dist/session/session-manager.cjs +37 -53
  288. package/dist/session/session-manager.d.ts +3 -17
  289. package/dist/session/session-manager.d.ts.map +1 -1
  290. package/dist/session/session-manager.js +37 -53
  291. package/dist/session/title-generator.cjs +3 -2
  292. package/dist/session/title-generator.d.ts +2 -1
  293. package/dist/session/title-generator.d.ts.map +1 -1
  294. package/dist/session/title-generator.js +3 -2
  295. package/dist/storage/blob/factory.cjs +9 -18
  296. package/dist/storage/blob/factory.d.ts +5 -4
  297. package/dist/storage/blob/factory.d.ts.map +1 -1
  298. package/dist/storage/blob/factory.js +8 -17
  299. package/dist/storage/blob/local-blob-store.cjs +25 -32
  300. package/dist/storage/blob/local-blob-store.d.ts +3 -2
  301. package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
  302. package/dist/storage/blob/local-blob-store.js +25 -32
  303. package/dist/storage/blob/memory-blob-store.cjs +326 -0
  304. package/dist/storage/blob/memory-blob-store.d.ts +66 -0
  305. package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
  306. package/dist/storage/blob/memory-blob-store.js +303 -0
  307. package/dist/storage/blob/schemas.cjs +3 -1
  308. package/dist/storage/blob/schemas.d.ts +6 -6
  309. package/dist/storage/blob/schemas.d.ts.map +1 -1
  310. package/dist/storage/blob/schemas.js +3 -1
  311. package/dist/storage/cache/factory.cjs +7 -8
  312. package/dist/storage/cache/factory.d.ts +4 -1
  313. package/dist/storage/cache/factory.d.ts.map +1 -1
  314. package/dist/storage/cache/factory.js +4 -5
  315. package/dist/storage/cache/redis-store.cjs +4 -1
  316. package/dist/storage/cache/redis-store.d.ts +3 -1
  317. package/dist/storage/cache/redis-store.d.ts.map +1 -1
  318. package/dist/storage/cache/redis-store.js +4 -1
  319. package/dist/storage/database/factory.cjs +13 -16
  320. package/dist/storage/database/factory.d.ts +5 -3
  321. package/dist/storage/database/factory.d.ts.map +1 -1
  322. package/dist/storage/database/factory.js +9 -12
  323. package/dist/storage/database/postgres-store.cjs +4 -1
  324. package/dist/storage/database/postgres-store.d.ts +3 -1
  325. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  326. package/dist/storage/database/postgres-store.js +4 -1
  327. package/dist/storage/database/schemas.cjs +3 -4
  328. package/dist/storage/database/schemas.d.ts +8 -16
  329. package/dist/storage/database/schemas.d.ts.map +1 -1
  330. package/dist/storage/database/schemas.js +3 -4
  331. package/dist/storage/database/sqlite-store.cjs +17 -45
  332. package/dist/storage/database/sqlite-store.d.ts +3 -3
  333. package/dist/storage/database/sqlite-store.d.ts.map +1 -1
  334. package/dist/storage/database/sqlite-store.js +17 -45
  335. package/dist/storage/schemas.cjs +3 -1
  336. package/dist/storage/schemas.d.ts +16 -23
  337. package/dist/storage/schemas.d.ts.map +1 -1
  338. package/dist/storage/schemas.js +3 -1
  339. package/dist/storage/storage-manager.cjs +15 -15
  340. package/dist/storage/storage-manager.d.ts +6 -6
  341. package/dist/storage/storage-manager.d.ts.map +1 -1
  342. package/dist/storage/storage-manager.js +15 -15
  343. package/dist/systemPrompt/contributors.cjs +15 -15
  344. package/dist/systemPrompt/contributors.d.ts +5 -3
  345. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  346. package/dist/systemPrompt/contributors.js +15 -15
  347. package/dist/systemPrompt/manager.cjs +11 -8
  348. package/dist/systemPrompt/manager.d.ts +4 -2
  349. package/dist/systemPrompt/manager.d.ts.map +1 -1
  350. package/dist/systemPrompt/manager.js +11 -8
  351. package/dist/systemPrompt/schemas.cjs +21 -1
  352. package/dist/systemPrompt/schemas.d.ts +53 -53
  353. package/dist/systemPrompt/schemas.d.ts.map +1 -1
  354. package/dist/systemPrompt/schemas.js +11 -1
  355. package/dist/telemetry/decorators.cjs +54 -15
  356. package/dist/telemetry/decorators.d.ts.map +1 -1
  357. package/dist/telemetry/decorators.js +54 -15
  358. package/dist/telemetry/utils.cjs +21 -14
  359. package/dist/telemetry/utils.d.ts +7 -3
  360. package/dist/telemetry/utils.d.ts.map +1 -1
  361. package/dist/telemetry/utils.js +21 -14
  362. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
  363. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
  364. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  365. package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
  366. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
  367. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
  368. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  369. package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
  370. package/dist/tools/errors.cjs +2 -1
  371. package/dist/tools/errors.d.ts.map +1 -1
  372. package/dist/tools/errors.js +2 -1
  373. package/dist/tools/internal-tools/constants.cjs +2 -1
  374. package/dist/tools/internal-tools/constants.d.ts +1 -1
  375. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  376. package/dist/tools/internal-tools/constants.js +2 -1
  377. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
  378. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
  379. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
  380. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
  381. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
  382. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
  383. package/dist/tools/internal-tools/provider.cjs +21 -17
  384. package/dist/tools/internal-tools/provider.d.ts +3 -1
  385. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  386. package/dist/tools/internal-tools/provider.js +21 -17
  387. package/dist/tools/internal-tools/registry.cjs +5 -0
  388. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  389. package/dist/tools/internal-tools/registry.js +5 -0
  390. package/dist/tools/schemas.cjs +16 -4
  391. package/dist/tools/schemas.d.ts +21 -9
  392. package/dist/tools/schemas.d.ts.map +1 -1
  393. package/dist/tools/schemas.js +15 -4
  394. package/dist/tools/tool-manager.cjs +64 -47
  395. package/dist/tools/tool-manager.d.ts +4 -2
  396. package/dist/tools/tool-manager.d.ts.map +1 -1
  397. package/dist/tools/tool-manager.js +61 -44
  398. package/dist/tools/types.d.ts +0 -4
  399. package/dist/tools/types.d.ts.map +1 -1
  400. package/dist/utils/env-file.cjs +118 -0
  401. package/dist/utils/env-file.d.ts +5 -0
  402. package/dist/utils/env-file.d.ts.map +1 -0
  403. package/dist/utils/env-file.js +85 -0
  404. package/dist/utils/error-conversion.cjs +23 -1
  405. package/dist/utils/error-conversion.d.ts +2 -1
  406. package/dist/utils/error-conversion.d.ts.map +1 -1
  407. package/dist/utils/error-conversion.js +23 -1
  408. package/dist/utils/execution-context.d.ts.map +1 -1
  409. package/dist/utils/fs-walk.d.ts.map +1 -1
  410. package/dist/utils/index.cjs +7 -9
  411. package/dist/utils/index.d.ts +3 -4
  412. package/dist/utils/index.d.ts.map +1 -1
  413. package/dist/utils/index.js +3 -4
  414. package/dist/utils/path.cjs +22 -57
  415. package/dist/utils/path.d.ts +8 -7
  416. package/dist/utils/path.d.ts.map +1 -1
  417. package/dist/utils/path.js +21 -54
  418. package/dist/utils/result.cjs +37 -14
  419. package/dist/utils/result.d.ts.map +1 -1
  420. package/dist/utils/result.js +37 -14
  421. package/dist/utils/schema.cjs +2 -3
  422. package/dist/utils/schema.d.ts +2 -1
  423. package/dist/utils/schema.d.ts.map +1 -1
  424. package/dist/utils/schema.js +1 -2
  425. package/dist/utils/service-initializer.cjs +87 -61
  426. package/dist/utils/service-initializer.d.ts +4 -2
  427. package/dist/utils/service-initializer.d.ts.map +1 -1
  428. package/dist/utils/service-initializer.js +69 -43
  429. package/package.json +7 -3
  430. package/dist/Dexto.cjs +0 -251
  431. package/dist/Dexto.d.ts +0 -191
  432. package/dist/Dexto.d.ts.map +0 -1
  433. package/dist/Dexto.js +0 -228
  434. package/dist/agent/registry/error-codes.cjs +0 -44
  435. package/dist/agent/registry/error-codes.d.ts +0 -21
  436. package/dist/agent/registry/error-codes.d.ts.map +0 -1
  437. package/dist/agent/registry/error-codes.js +0 -21
  438. package/dist/agent/registry/errors.cjs +0 -188
  439. package/dist/agent/registry/errors.d.ts +0 -63
  440. package/dist/agent/registry/errors.d.ts.map +0 -1
  441. package/dist/agent/registry/errors.js +0 -165
  442. package/dist/agent/registry/registry.cjs +0 -479
  443. package/dist/agent/registry/registry.d.ts +0 -130
  444. package/dist/agent/registry/registry.d.ts.map +0 -1
  445. package/dist/agent/registry/registry.js +0 -453
  446. package/dist/agent/registry/types.cjs +0 -74
  447. package/dist/agent/registry/types.d.ts +0 -142
  448. package/dist/agent/registry/types.d.ts.map +0 -1
  449. package/dist/agent/registry/types.js +0 -48
  450. package/dist/agent/registry/user-registry.cjs +0 -140
  451. package/dist/agent/registry/user-registry.d.ts +0 -34
  452. package/dist/agent/registry/user-registry.d.ts.map +0 -1
  453. package/dist/agent/registry/user-registry.js +0 -105
  454. package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
  455. package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
  456. package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
  457. package/dist/approval/providers/event-based-approval-provider.js +0 -133
  458. package/dist/approval/providers/factory.d.ts.map +0 -1
  459. package/dist/approval/providers/noop-approval-provider.cjs +0 -54
  460. package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
  461. package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
  462. package/dist/approval/providers/noop-approval-provider.js +0 -31
  463. package/dist/config/agent-resolver.cjs +0 -153
  464. package/dist/config/agent-resolver.d.ts +0 -14
  465. package/dist/config/agent-resolver.d.ts.map +0 -1
  466. package/dist/config/agent-resolver.js +0 -123
  467. package/dist/config/error-codes.cjs +0 -39
  468. package/dist/config/error-codes.d.ts +0 -16
  469. package/dist/config/error-codes.d.ts.map +0 -1
  470. package/dist/config/error-codes.js +0 -16
  471. package/dist/config/errors.cjs +0 -126
  472. package/dist/config/errors.d.ts +0 -34
  473. package/dist/config/errors.d.ts.map +0 -1
  474. package/dist/config/errors.js +0 -103
  475. package/dist/config/index.cjs +0 -26
  476. package/dist/config/index.d.ts +0 -4
  477. package/dist/config/index.d.ts.map +0 -1
  478. package/dist/config/index.js +0 -3
  479. package/dist/config/loader.cjs +0 -119
  480. package/dist/config/loader.d.ts +0 -16
  481. package/dist/config/loader.d.ts.map +0 -1
  482. package/dist/config/loader.js +0 -86
  483. package/dist/config/writer.cjs +0 -182
  484. package/dist/config/writer.d.ts +0 -35
  485. package/dist/config/writer.d.ts.map +0 -1
  486. package/dist/config/writer.js +0 -147
  487. package/dist/preferences/constants.d.ts +0 -2
  488. package/dist/preferences/constants.d.ts.map +0 -1
  489. package/dist/preferences/constants.js +0 -5
  490. package/dist/preferences/error-codes.d.ts +0 -8
  491. package/dist/preferences/error-codes.d.ts.map +0 -1
  492. package/dist/preferences/error-codes.js +0 -12
  493. package/dist/preferences/errors.cjs +0 -75
  494. package/dist/preferences/errors.d.ts +0 -18
  495. package/dist/preferences/errors.d.ts.map +0 -1
  496. package/dist/preferences/errors.js +0 -51
  497. package/dist/preferences/index.cjs +0 -55
  498. package/dist/preferences/index.d.ts +0 -6
  499. package/dist/preferences/index.d.ts.map +0 -1
  500. package/dist/preferences/index.js +0 -32
  501. package/dist/preferences/loader.cjs +0 -138
  502. package/dist/preferences/loader.d.ts +0 -51
  503. package/dist/preferences/loader.d.ts.map +0 -1
  504. package/dist/preferences/loader.js +0 -110
  505. package/dist/preferences/schemas.cjs +0 -75
  506. package/dist/preferences/schemas.d.ts +0 -110
  507. package/dist/preferences/schemas.d.ts.map +0 -1
  508. package/dist/preferences/schemas.js +0 -49
  509. package/dist/utils/api-key-store.cjs +0 -56
  510. package/dist/utils/api-key-store.d.ts +0 -24
  511. package/dist/utils/api-key-store.d.ts.map +0 -1
  512. package/dist/utils/api-key-store.js +0 -31
  513. package/dist/utils/env.cjs +0 -154
  514. package/dist/utils/env.d.ts +0 -28
  515. package/dist/utils/env.d.ts.map +0 -1
  516. package/dist/utils/env.js +0 -119
  517. package/dist/utils/port-utils.cjs +0 -37
  518. package/dist/utils/port-utils.d.ts +0 -10
  519. package/dist/utils/port-utils.d.ts.map +0 -1
  520. package/dist/utils/port-utils.js +0 -14
  521. package/dist/utils/port-utils.spec.cjs +0 -26
  522. package/dist/utils/port-utils.spec.js +0 -25
  523. /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
@@ -4,14 +4,14 @@ import {
4
4
  __runInitializers
5
5
  } from "../../chunk-C6A6W6XS.js";
6
6
  var _AnthropicService_decorators, _init;
7
- import { logger } from "../../logger/index.js";
7
+ import { DextoLogComponent } from "../../logger/v2/types.js";
8
8
  import { ContextManager } from "../../context/manager.js";
9
9
  import { getMaxInputTokensForModel, getEffectiveMaxInputTokens } from "../registry.js";
10
10
  import { AnthropicMessageFormatter } from "../formatters/anthropic.js";
11
11
  import { createTokenizer } from "../tokenizer/factory.js";
12
12
  import { shouldIncludeRawToolResult } from "../../utils/debug.js";
13
13
  import { InstrumentClass } from "../../telemetry/decorators.js";
14
- import { trace } from "@opentelemetry/api";
14
+ import { trace, context, propagation } from "@opentelemetry/api";
15
15
  _AnthropicService_decorators = [InstrumentClass({
16
16
  prefix: "llm.anthropic",
17
17
  excludeMethods: ["getAllTools", "formatToolsForClaude", "getConfig", "getContextManager"]
@@ -23,15 +23,17 @@ class AnthropicService {
23
23
  contextManager;
24
24
  sessionEventBus;
25
25
  sessionId;
26
- constructor(toolManager, anthropic, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager) {
26
+ logger;
27
+ constructor(toolManager, anthropic, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger) {
28
+ this.logger = logger.createChild(DextoLogComponent.LLM);
27
29
  this.config = config;
28
30
  this.anthropic = anthropic;
29
31
  this.toolManager = toolManager;
30
32
  this.sessionEventBus = sessionEventBus;
31
33
  this.sessionId = sessionId;
32
- const formatter = new AnthropicMessageFormatter();
33
- const tokenizer = createTokenizer(config.provider, config.model);
34
- const maxInputTokens = getEffectiveMaxInputTokens(config);
34
+ const formatter = new AnthropicMessageFormatter(this.logger);
35
+ const tokenizer = createTokenizer(config.provider, config.model, this.logger);
36
+ const maxInputTokens = getEffectiveMaxInputTokens(config, this.logger);
35
37
  this.contextManager = new ContextManager(
36
38
  config,
37
39
  formatter,
@@ -40,7 +42,8 @@ class AnthropicService {
40
42
  tokenizer,
41
43
  historyProvider,
42
44
  sessionId,
43
- resourceManager
45
+ resourceManager,
46
+ this.logger
44
47
  // compressionStrategies uses default
45
48
  );
46
49
  }
@@ -48,189 +51,218 @@ class AnthropicService {
48
51
  return this.toolManager.getAllTools();
49
52
  }
50
53
  async completeTask(textInput, options, imageData, fileData, stream) {
51
- await this.contextManager.addUserMessage(textInput, imageData, fileData);
52
- const rawTools = await this.toolManager.getAllTools();
53
- const formattedTools = this.formatToolsForClaude(rawTools);
54
- logger.silly(`Formatted tools: ${JSON.stringify(formattedTools, null, 2)}`);
55
- this.sessionEventBus.emit("llmservice:thinking");
56
- let iterationCount = 0;
57
- let fullResponse = "";
58
- let totalTokens = 0;
59
- try {
60
- while (iterationCount < this.config.maxIterations) {
61
- if (options?.signal?.aborted) {
62
- throw Object.assign(new Error("Aborted"), {
63
- name: "AbortError",
64
- aborted: true
65
- });
66
- }
67
- iterationCount++;
68
- logger.debug(`Iteration ${iterationCount}`);
69
- const contributorContext = {
70
- mcpManager: this.toolManager.getMcpManager()
71
- };
72
- const llmContext = {
73
- provider: this.config.provider,
74
- model: this.config.model
75
- };
76
- const {
77
- formattedMessages,
78
- systemPrompt: _systemPrompt,
79
- tokensUsed
80
- } = await this.contextManager.getFormattedMessagesWithCompression(
81
- contributorContext,
82
- llmContext
83
- );
84
- const formattedSystemPrompt = await this.contextManager.getFormattedSystemPrompt(contributorContext);
85
- logger.debug(`Messages: ${JSON.stringify(formattedMessages, null, 2)}`);
86
- logger.debug(`Estimated tokens being sent to Anthropic: ${tokensUsed}`);
87
- const { message, usage } = stream ? await this.getAnthropicStreamingResponse(
88
- formattedMessages,
89
- formattedSystemPrompt || null,
90
- formattedTools,
91
- options?.signal
92
- ) : await this.getAnthropicResponse(
93
- formattedMessages,
94
- formattedSystemPrompt || null,
95
- formattedTools,
96
- options?.signal
97
- );
98
- if (usage) {
99
- totalTokens += usage.input_tokens + usage.output_tokens;
100
- }
101
- let textContent = "";
102
- const toolUses = [];
103
- for (const content of message.content) {
104
- if (content.type === "text") {
105
- textContent += content.text;
106
- } else if (content.type === "tool_use") {
107
- toolUses.push(content);
108
- }
109
- }
110
- if (toolUses.length > 0) {
111
- const formattedToolCalls = toolUses.map((toolUse) => ({
112
- id: toolUse.id,
113
- type: "function",
114
- function: {
115
- name: toolUse.name,
116
- arguments: JSON.stringify(toolUse.input)
117
- }
118
- }));
119
- await this.contextManager.addAssistantMessage(textContent, formattedToolCalls, {
120
- tokenUsage: totalTokens > 0 ? { totalTokens } : void 0
121
- });
122
- } else {
123
- await this.contextManager.addAssistantMessage(textContent, void 0, {
124
- tokenUsage: totalTokens > 0 ? { totalTokens } : void 0
125
- });
126
- }
127
- if (toolUses.length === 0) {
128
- fullResponse += textContent;
129
- if (totalTokens > 0) {
130
- this.contextManager.updateActualTokenCount(totalTokens);
131
- }
132
- this.sessionEventBus.emit("llmservice:response", {
133
- content: fullResponse,
134
- provider: this.config.provider,
135
- model: this.config.model,
136
- router: "in-built",
137
- ...totalTokens > 0 && { tokenUsage: { totalTokens } }
138
- });
139
- const activeSpan2 = trace.getActiveSpan();
140
- if (activeSpan2 && totalTokens > 0) {
141
- activeSpan2.setAttributes({
142
- "gen_ai.usage.total_tokens": totalTokens
143
- });
144
- }
145
- return fullResponse;
146
- }
147
- if (textContent) {
148
- fullResponse += textContent + "\n";
149
- }
150
- for (const toolUse of toolUses) {
54
+ const activeSpan = trace.getActiveSpan();
55
+ const currentContext = context.active();
56
+ const provider = this.config.provider;
57
+ const model = this.config.model;
58
+ if (activeSpan) {
59
+ activeSpan.setAttribute("llm.provider", provider);
60
+ activeSpan.setAttribute("llm.model", model);
61
+ }
62
+ const existingBaggage = propagation.getBaggage(currentContext);
63
+ const baggageEntries = {};
64
+ if (existingBaggage) {
65
+ existingBaggage.getAllEntries().forEach(([key, entry]) => {
66
+ baggageEntries[key] = entry;
67
+ });
68
+ }
69
+ baggageEntries["llm.provider"] = { value: provider };
70
+ baggageEntries["llm.model"] = { value: model };
71
+ const updatedContext = propagation.setBaggage(
72
+ currentContext,
73
+ propagation.createBaggage(baggageEntries)
74
+ );
75
+ return await context.with(updatedContext, async () => {
76
+ await this.contextManager.addUserMessage(textInput, imageData, fileData);
77
+ const rawTools = await this.toolManager.getAllTools();
78
+ const formattedTools = this.formatToolsForClaude(rawTools);
79
+ this.logger.silly(`Formatted tools: ${JSON.stringify(formattedTools, null, 2)}`);
80
+ this.sessionEventBus.emit("llm:thinking");
81
+ let iterationCount = 0;
82
+ let fullResponse = "";
83
+ let totalTokens = 0;
84
+ try {
85
+ while (iterationCount < this.config.maxIterations) {
151
86
  if (options?.signal?.aborted) {
152
87
  throw Object.assign(new Error("Aborted"), {
153
88
  name: "AbortError",
154
89
  aborted: true
155
90
  });
156
91
  }
157
- const toolName = toolUse.name;
158
- const args = toolUse.input;
159
- const toolUseId = toolUse.id;
160
- this.sessionEventBus.emit("llmservice:toolCall", {
161
- toolName,
162
- args,
163
- callId: toolUseId
164
- });
165
- try {
166
- const result = await this.toolManager.executeTool(
167
- toolName,
168
- args,
169
- this.sessionId
170
- );
171
- const sanitized = await this.contextManager.addToolResult(
172
- toolUseId,
173
- toolName,
174
- result,
175
- { success: true }
92
+ iterationCount++;
93
+ this.logger.debug(`Iteration ${iterationCount}`);
94
+ const contributorContext = {
95
+ mcpManager: this.toolManager.getMcpManager()
96
+ };
97
+ const llmContext = {
98
+ provider: this.config.provider,
99
+ model: this.config.model
100
+ };
101
+ const {
102
+ formattedMessages,
103
+ systemPrompt: _systemPrompt,
104
+ tokensUsed
105
+ } = await this.contextManager.getFormattedMessagesWithCompression(
106
+ contributorContext,
107
+ llmContext
108
+ );
109
+ const formattedSystemPrompt = await this.contextManager.getFormattedSystemPrompt(contributorContext);
110
+ this.logger.debug(`Messages: ${JSON.stringify(formattedMessages, null, 2)}`);
111
+ this.logger.debug(`Estimated tokens being sent to Anthropic: ${tokensUsed}`);
112
+ const { message, usage } = stream ? await this.getAnthropicStreamingResponse(
113
+ formattedMessages,
114
+ formattedSystemPrompt || null,
115
+ formattedTools,
116
+ options?.signal
117
+ ) : await this.getAnthropicResponse(
118
+ formattedMessages,
119
+ formattedSystemPrompt || null,
120
+ formattedTools,
121
+ options?.signal
122
+ );
123
+ if (usage) {
124
+ totalTokens += usage.input_tokens + usage.output_tokens;
125
+ }
126
+ let textContent = "";
127
+ const toolUses = [];
128
+ for (const content of message.content) {
129
+ if (content.type === "text") {
130
+ textContent += content.text;
131
+ } else if (content.type === "tool_use") {
132
+ toolUses.push(content);
133
+ }
134
+ }
135
+ if (toolUses.length > 0) {
136
+ const formattedToolCalls = toolUses.map((toolUse) => ({
137
+ id: toolUse.id,
138
+ type: "function",
139
+ function: {
140
+ name: toolUse.name,
141
+ arguments: JSON.stringify(toolUse.input)
142
+ }
143
+ }));
144
+ await this.contextManager.addAssistantMessage(
145
+ textContent,
146
+ formattedToolCalls,
147
+ {
148
+ tokenUsage: totalTokens > 0 ? { totalTokens } : void 0
149
+ }
176
150
  );
177
- this.sessionEventBus.emit("llmservice:toolResult", {
178
- toolName,
179
- callId: toolUseId,
180
- success: true,
181
- sanitized,
182
- ...shouldIncludeRawToolResult() ? { rawResult: result } : {}
151
+ } else {
152
+ await this.contextManager.addAssistantMessage(textContent, void 0, {
153
+ tokenUsage: totalTokens > 0 ? { totalTokens } : void 0
183
154
  });
184
- } catch (error) {
185
- const errorMessage = error instanceof Error ? error.message : String(error);
186
- logger.error(`Tool execution error for ${toolName}: ${errorMessage}`);
187
- const sanitized = await this.contextManager.addToolResult(
188
- toolUseId,
189
- toolName,
190
- { error: errorMessage },
191
- { success: false }
192
- );
193
- this.sessionEventBus.emit("llmservice:toolResult", {
155
+ }
156
+ if (toolUses.length === 0) {
157
+ fullResponse += textContent;
158
+ if (totalTokens > 0) {
159
+ this.contextManager.updateActualTokenCount(totalTokens);
160
+ }
161
+ this.sessionEventBus.emit("llm:response", {
162
+ content: fullResponse,
163
+ provider: this.config.provider,
164
+ model: this.config.model,
165
+ router: "in-built",
166
+ ...totalTokens > 0 && { tokenUsage: { totalTokens } }
167
+ });
168
+ const activeSpan3 = trace.getActiveSpan();
169
+ if (activeSpan3 && totalTokens > 0) {
170
+ activeSpan3.setAttribute("gen_ai.usage.total_tokens", totalTokens);
171
+ }
172
+ return fullResponse;
173
+ }
174
+ if (textContent) {
175
+ fullResponse += textContent + "\n";
176
+ }
177
+ for (const toolUse of toolUses) {
178
+ if (options?.signal?.aborted) {
179
+ throw Object.assign(new Error("Aborted"), {
180
+ name: "AbortError",
181
+ aborted: true
182
+ });
183
+ }
184
+ const toolName = toolUse.name;
185
+ const args = toolUse.input;
186
+ const toolUseId = toolUse.id;
187
+ this.sessionEventBus.emit("llm:tool-call", {
194
188
  toolName,
195
- callId: toolUseId,
196
- success: false,
197
- sanitized,
198
- ...shouldIncludeRawToolResult() ? { rawResult: { error: errorMessage } } : {}
189
+ args,
190
+ callId: toolUseId
199
191
  });
192
+ try {
193
+ const result = await this.toolManager.executeTool(
194
+ toolName,
195
+ args,
196
+ this.sessionId
197
+ );
198
+ const sanitized = await this.contextManager.addToolResult(
199
+ toolUseId,
200
+ toolName,
201
+ result,
202
+ { success: true }
203
+ );
204
+ this.sessionEventBus.emit("llm:tool-result", {
205
+ toolName,
206
+ callId: toolUseId,
207
+ success: true,
208
+ sanitized,
209
+ ...shouldIncludeRawToolResult() ? { rawResult: result } : {}
210
+ });
211
+ } catch (error) {
212
+ const errorMessage = error instanceof Error ? error.message : String(error);
213
+ this.logger.error(
214
+ `Tool execution error for ${toolName}: ${errorMessage}`
215
+ );
216
+ const sanitized = await this.contextManager.addToolResult(
217
+ toolUseId,
218
+ toolName,
219
+ { error: errorMessage },
220
+ { success: false }
221
+ );
222
+ this.sessionEventBus.emit("llm:tool-result", {
223
+ toolName,
224
+ callId: toolUseId,
225
+ success: false,
226
+ sanitized,
227
+ ...shouldIncludeRawToolResult() ? { rawResult: { error: errorMessage } } : {}
228
+ });
229
+ }
200
230
  }
201
231
  }
202
- }
203
- logger.warn(`Reached maximum iterations (${this.config.maxIterations}) for task.`);
204
- if (totalTokens > 0) {
205
- this.contextManager.updateActualTokenCount(totalTokens);
206
- }
207
- this.sessionEventBus.emit("llmservice:response", {
208
- content: fullResponse,
209
- provider: this.config.provider,
210
- model: this.config.model,
211
- router: "in-built",
212
- ...totalTokens > 0 && { tokenUsage: { totalTokens } }
213
- });
214
- const activeSpan = trace.getActiveSpan();
215
- if (activeSpan && totalTokens > 0) {
216
- activeSpan.setAttributes({
217
- "gen_ai.usage.total_tokens": totalTokens
232
+ this.logger.warn(
233
+ `Reached maximum iterations (${this.config.maxIterations}) for task.`
234
+ );
235
+ if (totalTokens > 0) {
236
+ this.contextManager.updateActualTokenCount(totalTokens);
237
+ }
238
+ this.sessionEventBus.emit("llm:response", {
239
+ content: fullResponse,
240
+ provider: this.config.provider,
241
+ model: this.config.model,
242
+ router: "in-built",
243
+ ...totalTokens > 0 && { tokenUsage: { totalTokens } }
218
244
  });
245
+ const activeSpan2 = trace.getActiveSpan();
246
+ if (activeSpan2 && totalTokens > 0) {
247
+ activeSpan2.setAttribute("gen_ai.usage.total_tokens", totalTokens);
248
+ }
249
+ return fullResponse || "Reached maximum number of tool call iterations without a final response.";
250
+ } catch (error) {
251
+ if (error instanceof Error && (error.name === "AbortError" || error.aborted === true)) {
252
+ throw error;
253
+ }
254
+ const errorMessage = error instanceof Error ? error.message : String(error);
255
+ this.logger.error(`Error in Anthropic service API call: ${errorMessage}`, {
256
+ error
257
+ });
258
+ this.sessionEventBus.emit("llm:error", {
259
+ error: error instanceof Error ? error : new Error(errorMessage),
260
+ context: "Anthropic API call",
261
+ recoverable: false
262
+ });
263
+ return `Error processing request: ${errorMessage}`;
219
264
  }
220
- return fullResponse || "Reached maximum number of tool call iterations without a final response.";
221
- } catch (error) {
222
- if (error instanceof Error && (error.name === "AbortError" || error.aborted === true)) {
223
- throw error;
224
- }
225
- const errorMessage = error instanceof Error ? error.message : String(error);
226
- logger.error(`Error in Anthropic service API call: ${errorMessage}`, { error });
227
- this.sessionEventBus.emit("llmservice:error", {
228
- error: error instanceof Error ? error : new Error(errorMessage),
229
- context: "Anthropic API call",
230
- recoverable: false
231
- });
232
- return `Error processing request: ${errorMessage}`;
233
- }
265
+ });
234
266
  }
235
267
  /**
236
268
  * Get configuration information about the LLM service
@@ -240,7 +272,8 @@ class AnthropicService {
240
272
  const configuredMaxInputTokens = this.contextManager.getMaxInputTokens();
241
273
  const modelMaxInputTokens = getMaxInputTokensForModel(
242
274
  this.config.provider,
243
- this.config.model
275
+ this.config.model,
276
+ this.logger
244
277
  );
245
278
  return {
246
279
  router: "in-built",
@@ -265,13 +298,13 @@ class AnthropicService {
265
298
  input_schema.required = jsonSchemaParams.required;
266
299
  }
267
300
  } else {
268
- logger.warn(
301
+ this.logger.warn(
269
302
  `Unexpected parameters format for tool ${toolName}:`,
270
303
  jsonSchemaParams
271
304
  );
272
305
  }
273
306
  } else {
274
- logger.debug(`Tool ${toolName} has no defined parameters.`);
307
+ this.logger.debug(`Tool ${toolName} has no defined parameters.`);
275
308
  }
276
309
  return {
277
310
  name: toolName,
@@ -329,8 +362,8 @@ class AnthropicService {
329
362
  } else if (chunk.type === "content_block_delta") {
330
363
  if (chunk.delta.type === "text_delta") {
331
364
  textAccumulator += chunk.delta.text;
332
- this.sessionEventBus.emit("llmservice:chunk", {
333
- type: "text",
365
+ this.sessionEventBus.emit("llm:chunk", {
366
+ chunkType: "text",
334
367
  content: chunk.delta.text,
335
368
  isComplete: false
336
369
  });
@@ -352,7 +385,7 @@ class AnthropicService {
352
385
  toolContent.input = JSON.parse(jsonStr);
353
386
  }
354
387
  } catch {
355
- logger.debug(
388
+ this.logger.debug(
356
389
  `Accumulating JSON for tool ${toolContent.name}: ${jsonAccumulators[blockIndex]}`
357
390
  );
358
391
  }
@@ -373,8 +406,8 @@ class AnthropicService {
373
406
  }
374
407
  }
375
408
  if (textAccumulator) {
376
- this.sessionEventBus.emit("llmservice:chunk", {
377
- type: "text",
409
+ this.sessionEventBus.emit("llm:chunk", {
410
+ chunkType: "text",
378
411
  content: "",
379
412
  isComplete: true
380
413
  });
@@ -43,7 +43,7 @@ var import_anthropic2 = require("./anthropic.js");
43
43
  var import_cohere = require("@ai-sdk/cohere");
44
44
  var import_openai3 = __toESM(require("openai"), 1);
45
45
  var import_sdk = __toESM(require("@anthropic-ai/sdk"), 1);
46
- function _createInBuiltLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager) {
46
+ function _createInBuiltLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger) {
47
47
  const apiKey = config.apiKey;
48
48
  switch (config.provider.toLowerCase()) {
49
49
  case "openai": {
@@ -56,7 +56,8 @@ function _createInBuiltLLMService(config, toolManager, systemPromptManager, hist
56
56
  sessionEventBus,
57
57
  config,
58
58
  sessionId,
59
- resourceManager
59
+ resourceManager,
60
+ logger
60
61
  );
61
62
  }
62
63
  case "openai-compatible": {
@@ -70,7 +71,8 @@ function _createInBuiltLLMService(config, toolManager, systemPromptManager, hist
70
71
  sessionEventBus,
71
72
  config,
72
73
  sessionId,
73
- resourceManager
74
+ resourceManager,
75
+ logger
74
76
  );
75
77
  }
76
78
  case "anthropic": {
@@ -83,7 +85,8 @@ function _createInBuiltLLMService(config, toolManager, systemPromptManager, hist
83
85
  sessionEventBus,
84
86
  config,
85
87
  sessionId,
86
- resourceManager
88
+ resourceManager,
89
+ logger
87
90
  );
88
91
  }
89
92
  default:
@@ -128,7 +131,7 @@ function getOpenAICompatibleBaseURL(llmConfig) {
128
131
  }
129
132
  return "";
130
133
  }
131
- function _createVercelLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager) {
134
+ function _createVercelLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger) {
132
135
  const model = _createVercelModel(config);
133
136
  return new import_vercel.VercelLLMService(
134
137
  toolManager,
@@ -138,10 +141,11 @@ function _createVercelLLMService(config, toolManager, systemPromptManager, histo
138
141
  sessionEventBus,
139
142
  config,
140
143
  sessionId,
141
- resourceManager
144
+ resourceManager,
145
+ logger
142
146
  );
143
147
  }
144
- function createLLMService(config, router, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager) {
148
+ function createLLMService(config, router, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger) {
145
149
  if (router === "vercel") {
146
150
  return _createVercelLLMService(
147
151
  config,
@@ -150,7 +154,8 @@ function createLLMService(config, router, toolManager, systemPromptManager, hist
150
154
  historyProvider,
151
155
  sessionEventBus,
152
156
  sessionId,
153
- resourceManager
157
+ resourceManager,
158
+ logger
154
159
  );
155
160
  } else {
156
161
  return _createInBuiltLLMService(
@@ -160,7 +165,8 @@ function createLLMService(config, router, toolManager, systemPromptManager, hist
160
165
  historyProvider,
161
166
  sessionEventBus,
162
167
  sessionId,
163
- resourceManager
168
+ resourceManager,
169
+ logger
164
170
  );
165
171
  }
166
172
  }
@@ -5,8 +5,9 @@ import { SessionEventBus } from '../../events/index.js';
5
5
  import type { LLMRouter } from '../types.js';
6
6
  import type { IConversationHistoryProvider } from '../../session/history/types.js';
7
7
  import type { SystemPromptManager } from '../../systemPrompt/manager.js';
8
+ import type { IDextoLogger } from '../../logger/v2/types.js';
8
9
  /**
9
10
  * Enum/type for LLM routing backend selection.
10
11
  */
11
- export declare function createLLMService(config: ValidatedLLMConfig, router: LLMRouter, toolManager: ToolManager, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager): ILLMService;
12
+ export declare function createLLMService(config: ValidatedLLMConfig, router: LLMRouter, toolManager: ToolManager, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager, logger: IDextoLogger): ILLMService;
12
13
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/llm/services/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAWnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAkJzE;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,OAAO,0BAA0B,EAAE,eAAe,GACpE,WAAW,CAsBb"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/llm/services/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAWnD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAyJ7D;;GAEG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,OAAO,0BAA0B,EAAE,eAAe,EACnE,MAAM,EAAE,YAAY,GACrB,WAAW,CAwBb"}
@@ -11,7 +11,7 @@ import { AnthropicService } from "./anthropic.js";
11
11
  import { createCohere } from "@ai-sdk/cohere";
12
12
  import OpenAI from "openai";
13
13
  import Anthropic from "@anthropic-ai/sdk";
14
- function _createInBuiltLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager) {
14
+ function _createInBuiltLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger) {
15
15
  const apiKey = config.apiKey;
16
16
  switch (config.provider.toLowerCase()) {
17
17
  case "openai": {
@@ -24,7 +24,8 @@ function _createInBuiltLLMService(config, toolManager, systemPromptManager, hist
24
24
  sessionEventBus,
25
25
  config,
26
26
  sessionId,
27
- resourceManager
27
+ resourceManager,
28
+ logger
28
29
  );
29
30
  }
30
31
  case "openai-compatible": {
@@ -38,7 +39,8 @@ function _createInBuiltLLMService(config, toolManager, systemPromptManager, hist
38
39
  sessionEventBus,
39
40
  config,
40
41
  sessionId,
41
- resourceManager
42
+ resourceManager,
43
+ logger
42
44
  );
43
45
  }
44
46
  case "anthropic": {
@@ -51,7 +53,8 @@ function _createInBuiltLLMService(config, toolManager, systemPromptManager, hist
51
53
  sessionEventBus,
52
54
  config,
53
55
  sessionId,
54
- resourceManager
56
+ resourceManager,
57
+ logger
55
58
  );
56
59
  }
57
60
  default:
@@ -96,7 +99,7 @@ function getOpenAICompatibleBaseURL(llmConfig) {
96
99
  }
97
100
  return "";
98
101
  }
99
- function _createVercelLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager) {
102
+ function _createVercelLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger) {
100
103
  const model = _createVercelModel(config);
101
104
  return new VercelLLMService(
102
105
  toolManager,
@@ -106,10 +109,11 @@ function _createVercelLLMService(config, toolManager, systemPromptManager, histo
106
109
  sessionEventBus,
107
110
  config,
108
111
  sessionId,
109
- resourceManager
112
+ resourceManager,
113
+ logger
110
114
  );
111
115
  }
112
- function createLLMService(config, router, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager) {
116
+ function createLLMService(config, router, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger) {
113
117
  if (router === "vercel") {
114
118
  return _createVercelLLMService(
115
119
  config,
@@ -118,7 +122,8 @@ function createLLMService(config, router, toolManager, systemPromptManager, hist
118
122
  historyProvider,
119
123
  sessionEventBus,
120
124
  sessionId,
121
- resourceManager
125
+ resourceManager,
126
+ logger
122
127
  );
123
128
  } else {
124
129
  return _createInBuiltLLMService(
@@ -128,7 +133,8 @@ function createLLMService(config, router, toolManager, systemPromptManager, hist
128
133
  historyProvider,
129
134
  sessionEventBus,
130
135
  sessionId,
131
- resourceManager
136
+ resourceManager,
137
+ logger
132
138
  );
133
139
  }
134
140
  }