@dexto/core 1.2.4 → 1.2.6

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 (551) 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 +179 -75
  15. package/dist/agent/schemas.d.ts +2678 -586
  16. package/dist/agent/schemas.d.ts.map +1 -1
  17. package/dist/agent/schemas.js +172 -65
  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/index.cjs +2 -0
  210. package/dist/memory/index.d.ts +1 -1
  211. package/dist/memory/index.d.ts.map +1 -1
  212. package/dist/memory/index.js +3 -1
  213. package/dist/memory/manager.cjs +9 -7
  214. package/dist/memory/manager.d.ts +3 -1
  215. package/dist/memory/manager.d.ts.map +1 -1
  216. package/dist/memory/manager.js +9 -7
  217. package/dist/memory/schemas.cjs +10 -0
  218. package/dist/memory/schemas.d.ts +37 -8
  219. package/dist/memory/schemas.d.ts.map +1 -1
  220. package/dist/memory/schemas.js +9 -0
  221. package/dist/plugins/manager.cjs +21 -19
  222. package/dist/plugins/manager.d.ts +3 -1
  223. package/dist/plugins/manager.d.ts.map +1 -1
  224. package/dist/plugins/manager.js +21 -19
  225. package/dist/plugins/schemas.d.ts +9 -9
  226. package/dist/plugins/types.d.ts +2 -2
  227. package/dist/plugins/types.d.ts.map +1 -1
  228. package/dist/process/command-validator.cjs +30 -20
  229. package/dist/process/command-validator.d.ts +4 -1
  230. package/dist/process/command-validator.d.ts.map +1 -1
  231. package/dist/process/command-validator.js +30 -20
  232. package/dist/process/process-service.cjs +23 -21
  233. package/dist/process/process-service.d.ts +3 -1
  234. package/dist/process/process-service.d.ts.map +1 -1
  235. package/dist/process/process-service.js +23 -21
  236. package/dist/prompts/index.cjs +6 -8
  237. package/dist/prompts/index.d.ts +2 -4
  238. package/dist/prompts/index.d.ts.map +1 -1
  239. package/dist/prompts/index.js +4 -6
  240. package/dist/prompts/prompt-manager.cjs +25 -20
  241. package/dist/prompts/prompt-manager.d.ts +3 -1
  242. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  243. package/dist/prompts/prompt-manager.js +25 -20
  244. package/dist/prompts/providers/config-prompt-provider.cjs +331 -0
  245. package/dist/prompts/providers/config-prompt-provider.d.ts +34 -0
  246. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -0
  247. package/dist/prompts/providers/config-prompt-provider.js +308 -0
  248. package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
  249. package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
  250. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  251. package/dist/prompts/providers/custom-prompt-provider.js +11 -7
  252. package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
  253. package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
  254. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  255. package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
  256. package/dist/prompts/schemas.cjs +42 -23
  257. package/dist/prompts/schemas.d.ts +123 -14
  258. package/dist/prompts/schemas.d.ts.map +1 -1
  259. package/dist/prompts/schemas.js +39 -22
  260. package/dist/prompts/types.d.ts +1 -1
  261. package/dist/prompts/types.d.ts.map +1 -1
  262. package/dist/resources/handlers/blob-handler.cjs +15 -11
  263. package/dist/resources/handlers/blob-handler.d.ts +3 -1
  264. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  265. package/dist/resources/handlers/blob-handler.js +15 -11
  266. package/dist/resources/handlers/factory.cjs +3 -3
  267. package/dist/resources/handlers/factory.d.ts +2 -1
  268. package/dist/resources/handlers/factory.d.ts.map +1 -1
  269. package/dist/resources/handlers/factory.js +3 -3
  270. package/dist/resources/handlers/filesystem-handler.cjs +10 -8
  271. package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
  272. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  273. package/dist/resources/handlers/filesystem-handler.js +10 -8
  274. package/dist/resources/internal-provider.cjs +28 -20
  275. package/dist/resources/internal-provider.d.ts +3 -1
  276. package/dist/resources/internal-provider.d.ts.map +1 -1
  277. package/dist/resources/internal-provider.js +28 -20
  278. package/dist/resources/manager.cjs +34 -25
  279. package/dist/resources/manager.d.ts +3 -1
  280. package/dist/resources/manager.d.ts.map +1 -1
  281. package/dist/resources/manager.js +34 -25
  282. package/dist/resources/schemas.d.ts +6 -6
  283. package/dist/search/search-service.cjs +8 -6
  284. package/dist/search/search-service.d.ts +3 -1
  285. package/dist/search/search-service.d.ts.map +1 -1
  286. package/dist/search/search-service.js +8 -6
  287. package/dist/session/chat-session.cjs +40 -27
  288. package/dist/session/chat-session.d.ts +10 -7
  289. package/dist/session/chat-session.d.ts.map +1 -1
  290. package/dist/session/chat-session.js +40 -27
  291. package/dist/session/history/database.cjs +18 -11
  292. package/dist/session/history/database.d.ts +3 -1
  293. package/dist/session/history/database.d.ts.map +1 -1
  294. package/dist/session/history/database.js +18 -11
  295. package/dist/session/history/factory.cjs +2 -2
  296. package/dist/session/history/factory.d.ts +5 -1
  297. package/dist/session/history/factory.d.ts.map +1 -1
  298. package/dist/session/history/factory.js +2 -2
  299. package/dist/session/session-manager.cjs +37 -53
  300. package/dist/session/session-manager.d.ts +3 -17
  301. package/dist/session/session-manager.d.ts.map +1 -1
  302. package/dist/session/session-manager.js +37 -53
  303. package/dist/session/title-generator.cjs +3 -2
  304. package/dist/session/title-generator.d.ts +2 -1
  305. package/dist/session/title-generator.d.ts.map +1 -1
  306. package/dist/session/title-generator.js +3 -2
  307. package/dist/storage/blob/factory.cjs +9 -18
  308. package/dist/storage/blob/factory.d.ts +5 -4
  309. package/dist/storage/blob/factory.d.ts.map +1 -1
  310. package/dist/storage/blob/factory.js +8 -17
  311. package/dist/storage/blob/local-blob-store.cjs +25 -32
  312. package/dist/storage/blob/local-blob-store.d.ts +3 -2
  313. package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
  314. package/dist/storage/blob/local-blob-store.js +25 -32
  315. package/dist/storage/blob/memory-blob-store.cjs +326 -0
  316. package/dist/storage/blob/memory-blob-store.d.ts +66 -0
  317. package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
  318. package/dist/storage/blob/memory-blob-store.js +303 -0
  319. package/dist/storage/blob/schemas.cjs +3 -1
  320. package/dist/storage/blob/schemas.d.ts +6 -6
  321. package/dist/storage/blob/schemas.d.ts.map +1 -1
  322. package/dist/storage/blob/schemas.js +3 -1
  323. package/dist/storage/cache/factory.cjs +7 -8
  324. package/dist/storage/cache/factory.d.ts +4 -1
  325. package/dist/storage/cache/factory.d.ts.map +1 -1
  326. package/dist/storage/cache/factory.js +4 -5
  327. package/dist/storage/cache/redis-store.cjs +4 -1
  328. package/dist/storage/cache/redis-store.d.ts +3 -1
  329. package/dist/storage/cache/redis-store.d.ts.map +1 -1
  330. package/dist/storage/cache/redis-store.js +4 -1
  331. package/dist/storage/database/factory.cjs +13 -16
  332. package/dist/storage/database/factory.d.ts +5 -3
  333. package/dist/storage/database/factory.d.ts.map +1 -1
  334. package/dist/storage/database/factory.js +9 -12
  335. package/dist/storage/database/postgres-store.cjs +4 -1
  336. package/dist/storage/database/postgres-store.d.ts +3 -1
  337. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  338. package/dist/storage/database/postgres-store.js +4 -1
  339. package/dist/storage/database/schemas.cjs +3 -4
  340. package/dist/storage/database/schemas.d.ts +8 -16
  341. package/dist/storage/database/schemas.d.ts.map +1 -1
  342. package/dist/storage/database/schemas.js +3 -4
  343. package/dist/storage/database/sqlite-store.cjs +17 -45
  344. package/dist/storage/database/sqlite-store.d.ts +3 -3
  345. package/dist/storage/database/sqlite-store.d.ts.map +1 -1
  346. package/dist/storage/database/sqlite-store.js +17 -45
  347. package/dist/storage/schemas.cjs +3 -1
  348. package/dist/storage/schemas.d.ts +16 -23
  349. package/dist/storage/schemas.d.ts.map +1 -1
  350. package/dist/storage/schemas.js +3 -1
  351. package/dist/storage/storage-manager.cjs +15 -15
  352. package/dist/storage/storage-manager.d.ts +6 -6
  353. package/dist/storage/storage-manager.d.ts.map +1 -1
  354. package/dist/storage/storage-manager.js +15 -15
  355. package/dist/systemPrompt/contributors.cjs +15 -15
  356. package/dist/systemPrompt/contributors.d.ts +5 -3
  357. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  358. package/dist/systemPrompt/contributors.js +15 -15
  359. package/dist/systemPrompt/in-built-prompts.cjs +0 -5
  360. package/dist/systemPrompt/in-built-prompts.d.ts +1 -2
  361. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  362. package/dist/systemPrompt/in-built-prompts.js +0 -4
  363. package/dist/systemPrompt/manager.cjs +31 -23
  364. package/dist/systemPrompt/manager.d.ts +5 -3
  365. package/dist/systemPrompt/manager.d.ts.map +1 -1
  366. package/dist/systemPrompt/manager.js +31 -23
  367. package/dist/systemPrompt/registry.cjs +1 -2
  368. package/dist/systemPrompt/registry.d.ts +1 -1
  369. package/dist/systemPrompt/registry.d.ts.map +1 -1
  370. package/dist/systemPrompt/registry.js +1 -2
  371. package/dist/systemPrompt/schemas.cjs +24 -18
  372. package/dist/systemPrompt/schemas.d.ts +46 -222
  373. package/dist/systemPrompt/schemas.d.ts.map +1 -1
  374. package/dist/systemPrompt/schemas.js +14 -18
  375. package/dist/telemetry/decorators.cjs +54 -15
  376. package/dist/telemetry/decorators.d.ts.map +1 -1
  377. package/dist/telemetry/decorators.js +54 -15
  378. package/dist/telemetry/utils.cjs +21 -14
  379. package/dist/telemetry/utils.d.ts +7 -3
  380. package/dist/telemetry/utils.d.ts.map +1 -1
  381. package/dist/telemetry/utils.js +21 -14
  382. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
  383. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
  384. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  385. package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
  386. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
  387. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
  388. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  389. package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
  390. package/dist/tools/errors.cjs +2 -1
  391. package/dist/tools/errors.d.ts.map +1 -1
  392. package/dist/tools/errors.js +2 -1
  393. package/dist/tools/internal-tools/constants.cjs +2 -1
  394. package/dist/tools/internal-tools/constants.d.ts +1 -1
  395. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  396. package/dist/tools/internal-tools/constants.js +2 -1
  397. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
  398. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
  399. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
  400. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
  401. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
  402. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
  403. package/dist/tools/internal-tools/provider.cjs +21 -17
  404. package/dist/tools/internal-tools/provider.d.ts +3 -1
  405. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  406. package/dist/tools/internal-tools/provider.js +21 -17
  407. package/dist/tools/internal-tools/registry.cjs +5 -0
  408. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  409. package/dist/tools/internal-tools/registry.js +5 -0
  410. package/dist/tools/schemas.cjs +16 -4
  411. package/dist/tools/schemas.d.ts +21 -9
  412. package/dist/tools/schemas.d.ts.map +1 -1
  413. package/dist/tools/schemas.js +15 -4
  414. package/dist/tools/tool-manager.cjs +64 -47
  415. package/dist/tools/tool-manager.d.ts +4 -2
  416. package/dist/tools/tool-manager.d.ts.map +1 -1
  417. package/dist/tools/tool-manager.js +61 -44
  418. package/dist/tools/types.d.ts +0 -4
  419. package/dist/tools/types.d.ts.map +1 -1
  420. package/dist/utils/env-file.cjs +118 -0
  421. package/dist/utils/env-file.d.ts +5 -0
  422. package/dist/utils/env-file.d.ts.map +1 -0
  423. package/dist/utils/env-file.js +85 -0
  424. package/dist/utils/error-conversion.cjs +23 -1
  425. package/dist/utils/error-conversion.d.ts +2 -1
  426. package/dist/utils/error-conversion.d.ts.map +1 -1
  427. package/dist/utils/error-conversion.js +23 -1
  428. package/dist/utils/execution-context.d.ts.map +1 -1
  429. package/dist/utils/fs-walk.d.ts.map +1 -1
  430. package/dist/utils/index.cjs +7 -9
  431. package/dist/utils/index.d.ts +3 -4
  432. package/dist/utils/index.d.ts.map +1 -1
  433. package/dist/utils/index.js +3 -4
  434. package/dist/utils/path.cjs +22 -57
  435. package/dist/utils/path.d.ts +8 -7
  436. package/dist/utils/path.d.ts.map +1 -1
  437. package/dist/utils/path.js +21 -54
  438. package/dist/utils/result.cjs +37 -14
  439. package/dist/utils/result.d.ts.map +1 -1
  440. package/dist/utils/result.js +37 -14
  441. package/dist/utils/schema.cjs +2 -3
  442. package/dist/utils/schema.d.ts +2 -1
  443. package/dist/utils/schema.d.ts.map +1 -1
  444. package/dist/utils/schema.js +1 -2
  445. package/dist/utils/service-initializer.cjs +88 -61
  446. package/dist/utils/service-initializer.d.ts +4 -2
  447. package/dist/utils/service-initializer.d.ts.map +1 -1
  448. package/dist/utils/service-initializer.js +70 -43
  449. package/package.json +7 -3
  450. package/dist/Dexto.cjs +0 -251
  451. package/dist/Dexto.d.ts +0 -191
  452. package/dist/Dexto.d.ts.map +0 -1
  453. package/dist/Dexto.js +0 -228
  454. package/dist/agent/registry/error-codes.cjs +0 -44
  455. package/dist/agent/registry/error-codes.d.ts +0 -21
  456. package/dist/agent/registry/error-codes.d.ts.map +0 -1
  457. package/dist/agent/registry/error-codes.js +0 -21
  458. package/dist/agent/registry/errors.cjs +0 -188
  459. package/dist/agent/registry/errors.d.ts +0 -63
  460. package/dist/agent/registry/errors.d.ts.map +0 -1
  461. package/dist/agent/registry/errors.js +0 -165
  462. package/dist/agent/registry/registry.cjs +0 -479
  463. package/dist/agent/registry/registry.d.ts +0 -130
  464. package/dist/agent/registry/registry.d.ts.map +0 -1
  465. package/dist/agent/registry/registry.js +0 -453
  466. package/dist/agent/registry/types.cjs +0 -74
  467. package/dist/agent/registry/types.d.ts +0 -142
  468. package/dist/agent/registry/types.d.ts.map +0 -1
  469. package/dist/agent/registry/types.js +0 -48
  470. package/dist/agent/registry/user-registry.cjs +0 -140
  471. package/dist/agent/registry/user-registry.d.ts +0 -34
  472. package/dist/agent/registry/user-registry.d.ts.map +0 -1
  473. package/dist/agent/registry/user-registry.js +0 -105
  474. package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
  475. package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
  476. package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
  477. package/dist/approval/providers/event-based-approval-provider.js +0 -133
  478. package/dist/approval/providers/factory.d.ts.map +0 -1
  479. package/dist/approval/providers/noop-approval-provider.cjs +0 -54
  480. package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
  481. package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
  482. package/dist/approval/providers/noop-approval-provider.js +0 -31
  483. package/dist/config/agent-resolver.cjs +0 -153
  484. package/dist/config/agent-resolver.d.ts +0 -14
  485. package/dist/config/agent-resolver.d.ts.map +0 -1
  486. package/dist/config/agent-resolver.js +0 -123
  487. package/dist/config/error-codes.cjs +0 -39
  488. package/dist/config/error-codes.d.ts +0 -16
  489. package/dist/config/error-codes.d.ts.map +0 -1
  490. package/dist/config/error-codes.js +0 -16
  491. package/dist/config/errors.cjs +0 -126
  492. package/dist/config/errors.d.ts +0 -34
  493. package/dist/config/errors.d.ts.map +0 -1
  494. package/dist/config/errors.js +0 -103
  495. package/dist/config/index.cjs +0 -26
  496. package/dist/config/index.d.ts +0 -4
  497. package/dist/config/index.d.ts.map +0 -1
  498. package/dist/config/index.js +0 -3
  499. package/dist/config/loader.cjs +0 -119
  500. package/dist/config/loader.d.ts +0 -16
  501. package/dist/config/loader.d.ts.map +0 -1
  502. package/dist/config/loader.js +0 -86
  503. package/dist/config/writer.cjs +0 -182
  504. package/dist/config/writer.d.ts +0 -35
  505. package/dist/config/writer.d.ts.map +0 -1
  506. package/dist/config/writer.js +0 -147
  507. package/dist/preferences/constants.d.ts +0 -2
  508. package/dist/preferences/constants.d.ts.map +0 -1
  509. package/dist/preferences/constants.js +0 -5
  510. package/dist/preferences/error-codes.d.ts +0 -8
  511. package/dist/preferences/error-codes.d.ts.map +0 -1
  512. package/dist/preferences/error-codes.js +0 -12
  513. package/dist/preferences/errors.cjs +0 -75
  514. package/dist/preferences/errors.d.ts +0 -18
  515. package/dist/preferences/errors.d.ts.map +0 -1
  516. package/dist/preferences/errors.js +0 -51
  517. package/dist/preferences/index.cjs +0 -55
  518. package/dist/preferences/index.d.ts +0 -6
  519. package/dist/preferences/index.d.ts.map +0 -1
  520. package/dist/preferences/index.js +0 -32
  521. package/dist/preferences/loader.cjs +0 -138
  522. package/dist/preferences/loader.d.ts +0 -51
  523. package/dist/preferences/loader.d.ts.map +0 -1
  524. package/dist/preferences/loader.js +0 -110
  525. package/dist/preferences/schemas.cjs +0 -75
  526. package/dist/preferences/schemas.d.ts +0 -110
  527. package/dist/preferences/schemas.d.ts.map +0 -1
  528. package/dist/preferences/schemas.js +0 -49
  529. package/dist/prompts/providers/file-prompt-provider.cjs +0 -399
  530. package/dist/prompts/providers/file-prompt-provider.d.ts +0 -47
  531. package/dist/prompts/providers/file-prompt-provider.d.ts.map +0 -1
  532. package/dist/prompts/providers/file-prompt-provider.js +0 -376
  533. package/dist/prompts/providers/starter-prompt-provider.cjs +0 -170
  534. package/dist/prompts/providers/starter-prompt-provider.d.ts +0 -45
  535. package/dist/prompts/providers/starter-prompt-provider.d.ts.map +0 -1
  536. package/dist/prompts/providers/starter-prompt-provider.js +0 -147
  537. package/dist/utils/api-key-store.cjs +0 -56
  538. package/dist/utils/api-key-store.d.ts +0 -24
  539. package/dist/utils/api-key-store.d.ts.map +0 -1
  540. package/dist/utils/api-key-store.js +0 -31
  541. package/dist/utils/env.cjs +0 -154
  542. package/dist/utils/env.d.ts +0 -28
  543. package/dist/utils/env.d.ts.map +0 -1
  544. package/dist/utils/env.js +0 -119
  545. package/dist/utils/port-utils.cjs +0 -37
  546. package/dist/utils/port-utils.d.ts +0 -10
  547. package/dist/utils/port-utils.d.ts.map +0 -1
  548. package/dist/utils/port-utils.js +0 -14
  549. package/dist/utils/port-utils.spec.cjs +0 -26
  550. package/dist/utils/port-utils.spec.js +0 -25
  551. /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
@@ -67,7 +67,7 @@ __export(vercel_exports, {
67
67
  });
68
68
  module.exports = __toCommonJS(vercel_exports);
69
69
  var import_ai = require("ai");
70
- var import_logger = require("../../logger/index.js");
70
+ var import_types2 = require("../../logger/v2/types.js");
71
71
  var import_ai2 = require("ai");
72
72
  var import_manager = require("../../context/manager.js");
73
73
  var import_utils = require("../../context/utils.js");
@@ -75,7 +75,7 @@ var import_debug = require("../../utils/debug.js");
75
75
  var import_registry = require("../registry.js");
76
76
  var import_DextoRuntimeError = require("../../errors/DextoRuntimeError.js");
77
77
  var import_error_codes = require("../error-codes.js");
78
- var import_types4 = require("../../errors/types.js");
78
+ var import_types5 = require("../../errors/types.js");
79
79
  var import_error_conversion = require("../../utils/error-conversion.js");
80
80
  var import_error_codes2 = require("../../tools/error-codes.js");
81
81
  var import_vercel = require("../formatters/vercel.js");
@@ -95,21 +95,23 @@ class VercelLLMService {
95
95
  sessionEventBus;
96
96
  sessionId;
97
97
  toolSupportCache = /* @__PURE__ */ new Map();
98
+ logger;
98
99
  /**
99
100
  * Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
100
101
  */
101
102
  getModelId() {
102
103
  return typeof this.model === "string" ? this.model : this.model.modelId;
103
104
  }
104
- constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager) {
105
+ constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger) {
106
+ this.logger = logger.createChild(import_types2.DextoLogComponent.LLM);
105
107
  this.model = model;
106
108
  this.config = config;
107
109
  this.toolManager = toolManager;
108
110
  this.sessionEventBus = sessionEventBus;
109
111
  this.sessionId = sessionId;
110
- const formatter = new import_vercel.VercelMessageFormatter();
111
- const tokenizer = (0, import_factory.createTokenizer)(config.provider, this.getModelId());
112
- const maxInputTokens = (0, import_registry.getEffectiveMaxInputTokens)(config);
112
+ const formatter = new import_vercel.VercelMessageFormatter(this.logger);
113
+ const tokenizer = (0, import_factory.createTokenizer)(config.provider, this.getModelId(), this.logger);
114
+ const maxInputTokens = (0, import_registry.getEffectiveMaxInputTokens)(config, this.logger);
113
115
  this.contextManager = new import_manager.ContextManager(
114
116
  config,
115
117
  formatter,
@@ -118,10 +120,11 @@ class VercelLLMService {
118
120
  tokenizer,
119
121
  historyProvider,
120
122
  sessionId,
121
- resourceManager
123
+ resourceManager,
124
+ this.logger
122
125
  // compressionStrategies uses default
123
126
  );
124
- import_logger.logger.debug(
127
+ this.logger.debug(
125
128
  `[VercelLLMService] Initialized for model: ${this.getModelId()}, provider: ${this.config.provider}, temperature: ${this.config.temperature}, maxOutputTokens: ${this.config.maxOutputTokens}`
126
129
  );
127
130
  }
@@ -129,7 +132,7 @@ class VercelLLMService {
129
132
  return this.toolManager.getAllTools();
130
133
  }
131
134
  formatTools(tools) {
132
- import_logger.logger.debug(`Formatting tools for vercel`);
135
+ this.logger.debug(`Formatting tools for vercel`);
133
136
  return Object.keys(tools).reduce((acc, toolName) => {
134
137
  const tool = tools[toolName];
135
138
  if (tool) {
@@ -138,10 +141,10 @@ class VercelLLMService {
138
141
  execute: async (args, options) => {
139
142
  const callId = options.toolCallId;
140
143
  try {
141
- import_logger.logger.debug(
144
+ this.logger.debug(
142
145
  `[vercel] Emitting toolCall event for ${toolName} with callId ${callId}`
143
146
  );
144
- this.sessionEventBus.emit("llmservice:toolCall", {
147
+ this.sessionEventBus.emit("llm:tool-call", {
145
148
  toolName,
146
149
  args,
147
150
  callId
@@ -157,10 +160,10 @@ class VercelLLMService {
157
160
  rawResult,
158
161
  { success: true }
159
162
  );
160
- import_logger.logger.debug(
163
+ this.logger.debug(
161
164
  `[vercel] Emitting toolResult event for ${toolName} with callId ${callId}`
162
165
  );
163
- this.sessionEventBus.emit("llmservice:toolResult", {
166
+ this.sessionEventBus.emit("llm:tool-result", {
164
167
  toolName,
165
168
  callId,
166
169
  success: true,
@@ -189,7 +192,7 @@ class VercelLLMService {
189
192
  errorResult,
190
193
  { success: false }
191
194
  );
192
- this.sessionEventBus.emit("llmservice:toolResult", {
195
+ this.sessionEventBus.emit("llm:tool-result", {
193
196
  toolName,
194
197
  callId,
195
198
  success: false,
@@ -197,7 +200,7 @@ class VercelLLMService {
197
200
  ...(0, import_debug.shouldIncludeRawToolResult)() ? { rawResult: errorResult } : {}
198
201
  });
199
202
  } catch (persistErr) {
200
- import_logger.logger.error(
203
+ this.logger.error(
201
204
  `Failed to persist error result for ${toolName}: ${String(persistErr)}`
202
205
  );
203
206
  }
@@ -216,11 +219,11 @@ class VercelLLMService {
216
219
  return this.toolSupportCache.get(modelKey);
217
220
  }
218
221
  if (!this.config.baseURL) {
219
- import_logger.logger.debug(`Skipping tool validation for ${modelKey} - no custom baseURL`);
222
+ this.logger.debug(`Skipping tool validation for ${modelKey} - no custom baseURL`);
220
223
  this.toolSupportCache.set(modelKey, true);
221
224
  return true;
222
225
  }
223
- import_logger.logger.debug(`Testing tool support for custom endpoint model: ${modelKey}`);
226
+ this.logger.debug(`Testing tool support for custom endpoint model: ${modelKey}`);
224
227
  const testTool = {
225
228
  test_tool: {
226
229
  inputSchema: (0, import_ai2.jsonSchema)({
@@ -239,16 +242,16 @@ class VercelLLMService {
239
242
  stopWhen: (0, import_ai.stepCountIs)(1)
240
243
  });
241
244
  this.toolSupportCache.set(modelKey, true);
242
- import_logger.logger.debug(`Model ${modelKey} supports tools`);
245
+ this.logger.debug(`Model ${modelKey} supports tools`);
243
246
  return true;
244
247
  } catch (error) {
245
248
  const errorMessage = error instanceof Error ? error.message : String(error);
246
249
  if (errorMessage.includes("does not support tools")) {
247
250
  this.toolSupportCache.set(modelKey, false);
248
- import_logger.logger.debug(`Model ${modelKey} does not support tools`);
251
+ this.logger.debug(`Model ${modelKey} does not support tools`);
249
252
  return false;
250
253
  }
251
- import_logger.logger.debug(
254
+ this.logger.debug(
252
255
  `Tool validation error for ${modelKey}, assuming supported: ${errorMessage}`
253
256
  );
254
257
  this.toolSupportCache.set(modelKey, true);
@@ -256,57 +259,80 @@ class VercelLLMService {
256
259
  }
257
260
  }
258
261
  async completeTask(textInput, options, imageData, fileData, stream) {
259
- import_logger.logger.debug(
260
- `[VercelLLMService] addUserMessage(text ~${textInput.length} chars, image=${Boolean(
261
- imageData
262
- )}, file=${Boolean(fileData)})`
263
- );
264
- await this.contextManager.addUserMessage(textInput, imageData, fileData);
265
- const tools = await this.toolManager.getAllTools();
266
- import_logger.logger.silly(
267
- `[VercelLLMService] Tools before formatting: ${JSON.stringify(tools, null, 2)}`
268
- );
269
- const formattedTools = this.formatTools(tools);
270
- import_logger.logger.silly(
271
- `[VercelLLMService] Formatted tools: ${JSON.stringify(formattedTools, null, 2)}`
272
- );
273
- let fullResponse = "";
274
- this.sessionEventBus.emit("llmservice:thinking");
275
- const prepared = await this.contextManager.getFormattedMessagesWithCompression(
276
- { mcpManager: this.toolManager.getMcpManager() },
277
- { provider: this.config.provider, model: this.getModelId() }
278
- );
279
- const formattedMessages = prepared.formattedMessages;
280
- const tokensUsed = prepared.tokensUsed;
281
- import_logger.logger.silly(
282
- `Messages (potentially compressed): ${JSON.stringify(formattedMessages, null, 2)}`
262
+ const activeSpan = import_api.trace.getActiveSpan();
263
+ const currentContext = import_api.context.active();
264
+ const provider = this.config.provider;
265
+ const model = this.getModelId();
266
+ if (activeSpan) {
267
+ activeSpan.setAttribute("llm.provider", provider);
268
+ activeSpan.setAttribute("llm.model", model);
269
+ }
270
+ const existingBaggage = import_api.propagation.getBaggage(currentContext);
271
+ const baggageEntries = {};
272
+ if (existingBaggage) {
273
+ existingBaggage.getAllEntries().forEach(([key, entry]) => {
274
+ baggageEntries[key] = entry;
275
+ });
276
+ }
277
+ baggageEntries["llm.provider"] = { value: provider };
278
+ baggageEntries["llm.model"] = { value: model };
279
+ const updatedContext = import_api.propagation.setBaggage(
280
+ currentContext,
281
+ import_api.propagation.createBaggage(baggageEntries)
283
282
  );
284
- import_logger.logger.silly(`Tools: ${JSON.stringify(formattedTools, null, 2)}`);
285
- import_logger.logger.debug(`Estimated tokens being sent to Vercel provider: ${tokensUsed}`);
286
- if (stream) {
287
- fullResponse = await this.streamText(
288
- formattedMessages,
289
- formattedTools,
290
- this.config.maxIterations,
291
- options?.signal
283
+ return await import_api.context.with(updatedContext, async () => {
284
+ await this.contextManager.addUserMessage(textInput, imageData, fileData);
285
+ const tools = await this.toolManager.getAllTools();
286
+ this.logger.silly(
287
+ `[VercelLLMService] Tools before formatting: ${JSON.stringify(tools, null, 2)}`
292
288
  );
293
- } else {
294
- fullResponse = await this.generateText(
295
- formattedMessages,
296
- formattedTools,
297
- this.config.maxIterations,
298
- options?.signal
289
+ const formattedTools = this.formatTools(tools);
290
+ this.logger.silly(
291
+ `[VercelLLMService] Formatted tools: ${JSON.stringify(formattedTools, null, 2)}`
299
292
  );
300
- }
301
- if (options?.signal?.aborted) {
302
- return fullResponse;
303
- }
304
- return fullResponse || `Reached maximum number of steps (${this.config.maxIterations}) without a final response.`;
293
+ let fullResponse = "";
294
+ this.sessionEventBus.emit("llm:thinking");
295
+ const prepared = await this.contextManager.getFormattedMessagesWithCompression(
296
+ { mcpManager: this.toolManager.getMcpManager() },
297
+ { provider: this.config.provider, model: this.getModelId() }
298
+ );
299
+ const formattedMessages = prepared.formattedMessages;
300
+ const tokensUsed = prepared.tokensUsed;
301
+ this.logger.silly(
302
+ `Messages (potentially compressed): ${JSON.stringify(formattedMessages, null, 2)}`
303
+ );
304
+ this.logger.silly(`Tools: ${JSON.stringify(formattedTools, null, 2)}`);
305
+ this.logger.debug(`Estimated tokens being sent to Vercel provider: ${tokensUsed}`);
306
+ if (stream) {
307
+ fullResponse = await this.streamText(
308
+ formattedMessages,
309
+ formattedTools,
310
+ this.config.maxIterations,
311
+ options?.signal
312
+ );
313
+ } else {
314
+ fullResponse = await this.generateText(
315
+ formattedMessages,
316
+ formattedTools,
317
+ this.config.maxIterations,
318
+ options?.signal
319
+ );
320
+ }
321
+ if (options?.signal?.aborted) {
322
+ return fullResponse;
323
+ }
324
+ return fullResponse || `Reached maximum number of steps (${this.config.maxIterations}) without a final response.`;
325
+ });
305
326
  }
306
327
  async generateText(messages, tools, maxSteps = 50, signal) {
328
+ const activeSpan = import_api.trace.getActiveSpan();
329
+ if (activeSpan) {
330
+ activeSpan.setAttribute("llm.provider", this.config.provider);
331
+ activeSpan.setAttribute("llm.model", this.getModelId());
332
+ }
307
333
  let stepIteration = 0;
308
334
  const estimatedTokens = Math.ceil(JSON.stringify(messages, null, 2).length / 4);
309
- import_logger.logger.debug(
335
+ this.logger.debug(
310
336
  `vercel generateText:Generating text with messages (${estimatedTokens} estimated tokens)`
311
337
  );
312
338
  const temperature = this.config.temperature;
@@ -314,7 +340,7 @@ class VercelLLMService {
314
340
  const supportsTools = await this.validateToolSupport();
315
341
  const effectiveTools = supportsTools ? tools : {};
316
342
  if (!supportsTools && Object.keys(tools).length > 0) {
317
- import_logger.logger.debug(
343
+ this.logger.debug(
318
344
  `Model ${this.getModelId()} does not support tools, using empty tools object for generation`
319
345
  );
320
346
  }
@@ -326,13 +352,13 @@ class VercelLLMService {
326
352
  tools: effectiveTools,
327
353
  ...signal ? { abortSignal: signal } : {},
328
354
  onStepFinish: async (step) => {
329
- import_logger.logger.debug(`Step iteration: ${stepIteration}`);
355
+ this.logger.debug(`Step iteration: ${stepIteration}`);
330
356
  stepIteration++;
331
- import_logger.logger.debug(`Step finished, text: ${step.text}`);
332
- import_logger.logger.debug(
357
+ this.logger.debug(`Step finished, text: ${step.text}`);
358
+ this.logger.debug(
333
359
  `Step finished, step tool calls: ${JSON.stringify(step.toolCalls, null, 2)}`
334
360
  );
335
- import_logger.logger.debug(
361
+ this.logger.debug(
336
362
  `Step finished, step tool results: ${JSON.stringify(step.toolResults, null, 2)}`
337
363
  );
338
364
  },
@@ -340,7 +366,7 @@ class VercelLLMService {
340
366
  ...includeMaxOutputTokens ? { maxOutputTokens } : {},
341
367
  ...temperature !== void 0 && { temperature }
342
368
  });
343
- this.sessionEventBus.emit("llmservice:response", {
369
+ this.sessionEventBus.emit("llm:response", {
344
370
  content: response.text,
345
371
  ...response.reasoningText && { reasoning: response.reasoningText },
346
372
  provider: this.config.provider,
@@ -361,8 +387,8 @@ class VercelLLMService {
361
387
  }
362
388
  }
363
389
  });
364
- const activeSpan = import_api.trace.getActiveSpan();
365
- if (activeSpan) {
390
+ const activeSpan2 = import_api.trace.getActiveSpan();
391
+ if (activeSpan2) {
366
392
  const attributes = {};
367
393
  if (response.totalUsage.inputTokens !== void 0) {
368
394
  attributes["gen_ai.usage.input_tokens"] = response.totalUsage.inputTokens;
@@ -376,7 +402,7 @@ class VercelLLMService {
376
402
  if (response.totalUsage.reasoningTokens !== void 0) {
377
403
  attributes["gen_ai.usage.reasoning_tokens"] = response.totalUsage.reasoningTokens;
378
404
  }
379
- activeSpan.setAttributes(attributes);
405
+ activeSpan2.setAttributes(attributes);
380
406
  }
381
407
  await this.contextManager.processLLMResponse(response);
382
408
  if (typeof response.totalUsage.totalTokens === "number") {
@@ -384,20 +410,27 @@ class VercelLLMService {
384
410
  }
385
411
  return response.text;
386
412
  } catch (err) {
387
- this.mapProviderError(err, "generate");
413
+ const error = this.mapProviderError(err, "generate");
414
+ this.sessionEventBus.emit("llm:error", {
415
+ error,
416
+ context: "generateText",
417
+ recoverable: false
418
+ });
419
+ return "";
388
420
  }
389
421
  }
390
422
  mapProviderError(err, phase) {
391
423
  if (import_ai.APICallError.isInstance?.(err)) {
424
+ this.logger.error(`APICallError in mapProviderError: ${JSON.stringify(err, null, 2)}`);
392
425
  const status = err.statusCode;
393
426
  const headers = err.responseHeaders || {};
394
427
  const retryAfter = headers["retry-after"] ? Number(headers["retry-after"]) : void 0;
395
428
  const body = typeof err.responseBody === "string" ? err.responseBody : JSON.stringify(err.responseBody ?? "");
396
429
  if (status === 429) {
397
- throw new import_DextoRuntimeError.DextoRuntimeError(
430
+ return new import_DextoRuntimeError.DextoRuntimeError(
398
431
  import_error_codes.LLMErrorCode.RATE_LIMIT_EXCEEDED,
399
- import_types4.ErrorScope.LLM,
400
- import_types4.ErrorType.RATE_LIMIT,
432
+ import_types5.ErrorScope.LLM,
433
+ import_types5.ErrorType.RATE_LIMIT,
401
434
  `Rate limit exceeded${body ? ` - ${body}` : ""}`,
402
435
  {
403
436
  sessionId: this.sessionId,
@@ -411,10 +444,10 @@ class VercelLLMService {
411
444
  );
412
445
  }
413
446
  if (status === 408) {
414
- throw new import_DextoRuntimeError.DextoRuntimeError(
447
+ return new import_DextoRuntimeError.DextoRuntimeError(
415
448
  import_error_codes.LLMErrorCode.GENERATION_FAILED,
416
- import_types4.ErrorScope.LLM,
417
- import_types4.ErrorType.TIMEOUT,
449
+ import_types5.ErrorScope.LLM,
450
+ import_types5.ErrorType.TIMEOUT,
418
451
  `Provider timed out${body ? ` - ${body}` : ""}`,
419
452
  {
420
453
  sessionId: this.sessionId,
@@ -426,10 +459,10 @@ class VercelLLMService {
426
459
  }
427
460
  );
428
461
  }
429
- throw new import_DextoRuntimeError.DextoRuntimeError(
462
+ return new import_DextoRuntimeError.DextoRuntimeError(
430
463
  import_error_codes.LLMErrorCode.GENERATION_FAILED,
431
- import_types4.ErrorScope.LLM,
432
- import_types4.ErrorType.THIRD_PARTY,
464
+ import_types5.ErrorScope.LLM,
465
+ import_types5.ErrorType.THIRD_PARTY,
433
466
  `Provider error ${status}${body ? ` - ${body}` : ""}`,
434
467
  {
435
468
  sessionId: this.sessionId,
@@ -441,38 +474,44 @@ class VercelLLMService {
441
474
  }
442
475
  );
443
476
  }
444
- throw err;
477
+ return (0, import_error_conversion.toError)(err, this.logger);
445
478
  }
446
479
  // Updated streamText to behave like generateText - returns string and handles message processing internally
447
480
  async streamText(messages, tools, maxSteps = 10, signal) {
481
+ const activeSpan = import_api.trace.getActiveSpan();
482
+ if (activeSpan) {
483
+ activeSpan.setAttribute("llm.provider", this.config.provider);
484
+ activeSpan.setAttribute("llm.model", this.getModelId());
485
+ }
448
486
  let stepIteration = 0;
449
487
  const temperature = this.config.temperature;
450
488
  const maxOutputTokens = this.config.maxOutputTokens;
451
489
  const supportsTools = await this.validateToolSupport();
452
490
  const effectiveTools = supportsTools ? tools : {};
453
491
  if (!supportsTools && Object.keys(tools).length > 0) {
454
- import_logger.logger.debug(
492
+ this.logger.debug(
455
493
  `Model ${this.getModelId()} does not support tools, using empty tools object for streaming`
456
494
  );
457
495
  }
458
496
  let streamErr;
459
497
  const includeMaxOutputTokens = typeof maxOutputTokens === "number";
460
- const response = (0, import_ai.streamText)({
498
+ let response;
499
+ response = (0, import_ai.streamText)({
461
500
  model: this.model,
462
501
  messages,
463
502
  tools: effectiveTools,
464
503
  ...signal ? { abortSignal: signal } : {},
465
504
  onChunk: (chunk) => {
466
- import_logger.logger.debug(`Chunk type: ${chunk.chunk.type}`);
505
+ this.logger.debug(`Chunk type: ${chunk.chunk.type}`);
467
506
  if (chunk.chunk.type === "text-delta") {
468
- this.sessionEventBus.emit("llmservice:chunk", {
469
- type: "text",
507
+ this.sessionEventBus.emit("llm:chunk", {
508
+ chunkType: "text",
470
509
  content: chunk.chunk.text,
471
510
  isComplete: false
472
511
  });
473
512
  } else if (chunk.chunk.type === "reasoning-delta") {
474
- this.sessionEventBus.emit("llmservice:chunk", {
475
- type: "reasoning",
513
+ this.sessionEventBus.emit("llm:chunk", {
514
+ chunkType: "reasoning",
476
515
  content: chunk.chunk.text,
477
516
  isComplete: false
478
517
  });
@@ -482,9 +521,9 @@ class VercelLLMService {
482
521
  // Vercel triggers onAbort instead of onError for cancelled streams.
483
522
  // This is where cancellation logic should be handled properly.
484
523
  onError: (error) => {
485
- const err = (0, import_error_conversion.toError)(error);
486
- import_logger.logger.error(`Error in streamText: ${err?.stack ?? err}`, null, "red");
487
- this.sessionEventBus.emit("llmservice:error", {
524
+ const err = this.mapProviderError(error, "stream");
525
+ this.logger.error(`Error in streamText after parsing: ${err.toString()}`);
526
+ this.sessionEventBus.emit("llm:error", {
488
527
  error: err,
489
528
  context: "streamText",
490
529
  recoverable: false
@@ -492,13 +531,13 @@ class VercelLLMService {
492
531
  streamErr = error;
493
532
  },
494
533
  onStepFinish: async (step) => {
495
- import_logger.logger.debug(`Step iteration: ${stepIteration}`);
534
+ this.logger.debug(`Step iteration: ${stepIteration}`);
496
535
  stepIteration++;
497
- import_logger.logger.debug(`Step finished, text: ${step.text}`);
498
- import_logger.logger.debug(
536
+ this.logger.debug(`Step finished, text: ${step.text}`);
537
+ this.logger.debug(
499
538
  `Step finished, step tool calls: ${JSON.stringify(step.toolCalls, null, 2)}`
500
539
  );
501
- import_logger.logger.debug(
540
+ this.logger.debug(
502
541
  `Step finished, step tool results: ${JSON.stringify(step.toolResults, null, 2)}`
503
542
  );
504
543
  },
@@ -507,16 +546,28 @@ class VercelLLMService {
507
546
  ...includeMaxOutputTokens ? { maxOutputTokens } : {},
508
547
  ...temperature !== void 0 && { temperature }
509
548
  });
510
- const [finalText, usage, reasoningText] = await Promise.all([
511
- response.text,
512
- response.totalUsage,
513
- response.reasoningText
514
- ]);
515
- response.totalUsage;
516
549
  if (streamErr) {
517
550
  return "";
518
551
  }
519
- this.sessionEventBus.emit("llmservice:response", {
552
+ let finalText;
553
+ let usage;
554
+ let reasoningText;
555
+ try {
556
+ [finalText, usage, reasoningText] = await Promise.all([
557
+ response.text,
558
+ response.totalUsage,
559
+ response.reasoningText
560
+ ]);
561
+ } catch (_error) {
562
+ this.logger.debug(
563
+ `streamText finalization failed while awaiting text/usage/reasoning: ${String(_error)}`
564
+ );
565
+ return "";
566
+ }
567
+ this.logger.debug(`streamText finalText: ${finalText}`);
568
+ this.logger.debug(`streamText usage: ${JSON.stringify(usage, null, 2)}`);
569
+ this.logger.debug(`streamText reasoningText: ${reasoningText}`);
570
+ this.sessionEventBus.emit("llm:response", {
520
571
  content: finalText,
521
572
  ...reasoningText && { reasoning: reasoningText },
522
573
  provider: this.config.provider,
@@ -531,8 +582,8 @@ class VercelLLMService {
531
582
  ...usage.totalTokens !== void 0 && { totalTokens: usage.totalTokens }
532
583
  }
533
584
  });
534
- const activeSpan = import_api.trace.getActiveSpan();
535
- if (activeSpan) {
585
+ const activeSpan2 = import_api.trace.getActiveSpan();
586
+ if (activeSpan2) {
536
587
  const attributes = {};
537
588
  if (usage.inputTokens !== void 0) {
538
589
  attributes["gen_ai.usage.input_tokens"] = usage.inputTokens;
@@ -546,13 +597,13 @@ class VercelLLMService {
546
597
  if (usage.reasoningTokens !== void 0) {
547
598
  attributes["gen_ai.usage.reasoning_tokens"] = usage.reasoningTokens;
548
599
  }
549
- activeSpan.setAttributes(attributes);
600
+ activeSpan2.setAttributes(attributes);
550
601
  }
551
602
  if (typeof usage.totalTokens === "number") {
552
603
  this.contextManager.updateActualTokenCount(usage.totalTokens);
553
604
  }
554
605
  await this.contextManager.processLLMStreamResponse(response);
555
- import_logger.logger.silly(`streamText response object: ${JSON.stringify(response, null, 2)}`);
606
+ this.logger.silly(`streamText response object: ${JSON.stringify(response, null, 2)}`);
556
607
  return finalText;
557
608
  }
558
609
  /**
@@ -566,12 +617,13 @@ class VercelLLMService {
566
617
  modelMaxInputTokens = (0, import_registry.getMaxInputTokensForModel)(
567
618
  this.config.provider,
568
619
  // Use our internal provider name
569
- this.getModelId()
620
+ this.getModelId(),
621
+ this.logger
570
622
  );
571
623
  } catch (error) {
572
624
  if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
573
625
  modelMaxInputTokens = configuredMaxTokens;
574
- import_logger.logger.debug(
626
+ this.logger.debug(
575
627
  `Could not find model ${this.getModelId()} in LLM registry to get max tokens. Using configured max tokens: ${configuredMaxTokens}.`
576
628
  );
577
629
  } else {
@@ -1,6 +1,7 @@
1
1
  import { LanguageModel, type ModelMessage } from 'ai';
2
2
  import { ToolManager } from '../../tools/tool-manager.js';
3
3
  import { ILLMService, LLMServiceConfig } from './types.js';
4
+ import type { IDextoLogger } from '../../logger/v2/types.js';
4
5
  import { ToolSet } from '../../tools/types.js';
5
6
  import { ToolSet as VercelToolSet } from 'ai';
6
7
  import { ContextManager } from '../../context/manager.js';
@@ -27,11 +28,12 @@ export declare class VercelLLMService implements ILLMService {
27
28
  private sessionEventBus;
28
29
  private readonly sessionId;
29
30
  private toolSupportCache;
31
+ private logger;
30
32
  /**
31
33
  * Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
32
34
  */
33
35
  private getModelId;
34
- constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager);
36
+ constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager, logger: IDextoLogger);
35
37
  getAllTools(): Promise<ToolSet>;
36
38
  formatTools(tools: ToolSet): VercelToolSet;
37
39
  private validateToolSupport;
@@ -1 +1 @@
1
- {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,KAAK,YAAY,EAGpB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAc,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD;;;;;;;;;GASG;AACH,qBAIa,gBAAiB,YAAW,WAAW;IAChD,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAmC;IAE3D;;OAEG;IACH,OAAO,CAAC,UAAU;gBAKd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,OAAO,0BAA0B,EAAE,eAAe;IAgCvE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa;YA6G5B,mBAAmB;IA4D3B,YAAY,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,EACjC,SAAS,CAAC,EAAE,SAAS,EACrB,QAAQ,CAAC,EAAE,QAAQ,EACnB,MAAM,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC;IAgEZ,YAAY,CACd,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,MAAW,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC;IAuGlB,OAAO,CAAC,gBAAgB;IAgElB,UAAU,CACZ,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,MAAW,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC;IA8IlB;;;OAGG;IACH,SAAS,IAAI,gBAAgB;IAgC7B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;CAG/C"}
1
+ {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,KAAK,YAAY,EAGpB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAc,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD;;;;;;;;;GASG;AACH,qBAIa,gBAAiB,YAAW,WAAW;IAChD,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,MAAM,CAAe;IAE7B;;OAEG;IACH,OAAO,CAAC,UAAU;gBAKd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,OAAO,0BAA0B,EAAE,eAAe,EACnE,MAAM,EAAE,YAAY;IAkCxB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa;YA6G5B,mBAAmB;IA4D3B,YAAY,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,EACjC,SAAS,CAAC,EAAE,SAAS,EACrB,QAAQ,CAAC,EAAE,QAAQ,EACnB,MAAM,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC;IA+FZ,YAAY,CACd,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,MAAW,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC;IAqHlB,OAAO,CAAC,gBAAgB;IAkElB,UAAU,CACZ,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAE,MAAW,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC;IA8LlB;;;OAGG;IACH,SAAS,IAAI,gBAAgB;IAiC7B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;CAG/C"}