@dexto/core 1.2.3 → 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
@@ -66,7 +66,7 @@ __export(openai_exports, {
66
66
  OpenAIService: () => OpenAIService
67
67
  });
68
68
  module.exports = __toCommonJS(openai_exports);
69
- var import_logger = require("../../logger/index.js");
69
+ var import_types3 = require("../../logger/v2/types.js");
70
70
  var import_manager = require("../../context/manager.js");
71
71
  var import_registry = require("../registry.js");
72
72
  var import_DextoRuntimeError = require("../../errors/DextoRuntimeError.js");
@@ -88,15 +88,17 @@ class OpenAIService {
88
88
  contextManager;
89
89
  sessionEventBus;
90
90
  sessionId;
91
- constructor(toolManager, openai, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager) {
91
+ logger;
92
+ constructor(toolManager, openai, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger) {
93
+ this.logger = logger.createChild(import_types3.DextoLogComponent.LLM);
92
94
  this.config = config;
93
95
  this.openai = openai;
94
96
  this.toolManager = toolManager;
95
97
  this.sessionEventBus = sessionEventBus;
96
98
  this.sessionId = sessionId;
97
- const formatter = new import_openai2.OpenAIMessageFormatter();
98
- const tokenizer = (0, import_factory.createTokenizer)(config.provider, config.model);
99
- const maxInputTokens = (0, import_registry.getEffectiveMaxInputTokens)(config);
99
+ const formatter = new import_openai2.OpenAIMessageFormatter(this.logger);
100
+ const tokenizer = (0, import_factory.createTokenizer)(config.provider, config.model, this.logger);
101
+ const maxInputTokens = (0, import_registry.getEffectiveMaxInputTokens)(config, this.logger);
100
102
  this.contextManager = new import_manager.ContextManager(
101
103
  config,
102
104
  formatter,
@@ -105,7 +107,8 @@ class OpenAIService {
105
107
  tokenizer,
106
108
  historyProvider,
107
109
  sessionId,
108
- resourceManager
110
+ resourceManager,
111
+ this.logger
109
112
  // compressionStrategies uses default
110
113
  );
111
114
  }
@@ -113,222 +116,256 @@ class OpenAIService {
113
116
  return this.toolManager.getAllTools();
114
117
  }
115
118
  async completeTask(textInput, options, imageData, fileData, stream) {
116
- await this.contextManager.addUserMessage(textInput, imageData, fileData);
117
- const rawTools = await this.toolManager.getAllTools();
118
- const formattedTools = this.formatToolsForOpenAI(rawTools);
119
- import_logger.logger.silly(`Formatted tools: ${JSON.stringify(formattedTools, null, 2)}`);
120
- this.sessionEventBus.emit("llmservice:thinking");
121
- let iterationCount = 0;
122
- let totalTokens = 0;
123
- let inputTokens = 0;
124
- let outputTokens = 0;
125
- let reasoningTokens = 0;
126
- let fullResponse = "";
127
- const context = stream ? "OpenAI streaming API call" : "OpenAI API call";
128
- try {
129
- while (iterationCount < this.config.maxIterations) {
130
- if (options?.signal?.aborted) {
131
- throw Object.assign(new Error("Aborted"), {
132
- name: "AbortError",
133
- aborted: true
134
- });
135
- }
136
- iterationCount++;
137
- const { message, usage } = stream ? await this.getAIStreamingResponseWithRetries(formattedTools, options?.signal) : await this.getAIResponseWithRetries(formattedTools, options?.signal);
138
- if (usage) {
139
- totalTokens += usage.total_tokens ?? 0;
140
- inputTokens += usage.prompt_tokens ?? 0;
141
- outputTokens += usage.completion_tokens ?? 0;
142
- reasoningTokens += usage.completion_tokens_details?.reasoning_tokens ?? 0;
143
- }
144
- if (!message.tool_calls || message.tool_calls.length === 0) {
145
- const responseText = message.content || "";
146
- const finalContent = stream ? fullResponse + responseText : responseText;
147
- await this.contextManager.addAssistantMessage(finalContent, void 0, {
148
- tokenUsage: totalTokens > 0 ? {
149
- totalTokens,
150
- inputTokens,
151
- outputTokens,
152
- reasoningTokens
153
- } : void 0
154
- });
155
- if (totalTokens > 0) {
156
- this.contextManager.updateActualTokenCount(totalTokens);
157
- }
158
- this.sessionEventBus.emit("llmservice:response", {
159
- content: finalContent,
160
- provider: this.config.provider,
161
- model: this.config.model,
162
- router: "in-built",
163
- tokenUsage: { totalTokens, inputTokens, outputTokens, reasoningTokens }
164
- });
165
- const activeSpan2 = import_api.trace.getActiveSpan();
166
- if (activeSpan2 && totalTokens > 0) {
167
- const attributes = {
168
- "gen_ai.usage.total_tokens": totalTokens
169
- };
170
- if (inputTokens > 0) {
171
- attributes["gen_ai.usage.input_tokens"] = inputTokens;
172
- }
173
- if (outputTokens > 0) {
174
- attributes["gen_ai.usage.output_tokens"] = outputTokens;
175
- }
176
- if (reasoningTokens > 0) {
177
- attributes["gen_ai.usage.reasoning_tokens"] = reasoningTokens;
178
- }
179
- activeSpan2.setAttributes(attributes);
180
- }
181
- return finalContent;
182
- }
183
- const functionToolCalls = message.tool_calls.filter(
184
- (toolCall) => {
185
- import_logger.logger.debug(`Tool call type received: ${toolCall.type}`);
186
- return toolCall.type === "function";
187
- }
188
- );
189
- if (message.tool_calls.length > functionToolCalls.length) {
190
- import_logger.logger.warn(
191
- `Filtered out ${message.tool_calls.length - functionToolCalls.length} non-function tool calls`
192
- );
193
- }
194
- await this.contextManager.addAssistantMessage(
195
- message.content,
196
- functionToolCalls.length > 0 ? functionToolCalls : void 0,
197
- {}
198
- );
199
- if (stream && message.content) {
200
- fullResponse += message.content;
201
- }
202
- for (const toolCall of functionToolCalls) {
119
+ const activeSpan = import_api.trace.getActiveSpan();
120
+ const currentContext = import_api.context.active();
121
+ const provider = this.config.provider;
122
+ const model = this.config.model;
123
+ if (activeSpan) {
124
+ activeSpan.setAttribute("llm.provider", provider);
125
+ activeSpan.setAttribute("llm.model", model);
126
+ }
127
+ const existingBaggage = import_api.propagation.getBaggage(currentContext);
128
+ const baggageEntries = {};
129
+ if (existingBaggage) {
130
+ existingBaggage.getAllEntries().forEach(([key, entry]) => {
131
+ baggageEntries[key] = entry;
132
+ });
133
+ }
134
+ baggageEntries["llm.provider"] = { value: provider };
135
+ baggageEntries["llm.model"] = { value: model };
136
+ const updatedContext = import_api.propagation.setBaggage(
137
+ currentContext,
138
+ import_api.propagation.createBaggage(baggageEntries)
139
+ );
140
+ return await import_api.context.with(updatedContext, async () => {
141
+ await this.contextManager.addUserMessage(textInput, imageData, fileData);
142
+ const rawTools = await this.toolManager.getAllTools();
143
+ const formattedTools = this.formatToolsForOpenAI(rawTools);
144
+ this.logger.silly(`Formatted tools: ${JSON.stringify(formattedTools, null, 2)}`);
145
+ this.sessionEventBus.emit("llm:thinking");
146
+ let iterationCount = 0;
147
+ let totalTokens = 0;
148
+ let inputTokens = 0;
149
+ let outputTokens = 0;
150
+ let reasoningTokens = 0;
151
+ let fullResponse = "";
152
+ const contextStr = stream ? "OpenAI streaming API call" : "OpenAI API call";
153
+ try {
154
+ while (iterationCount < this.config.maxIterations) {
203
155
  if (options?.signal?.aborted) {
204
156
  throw Object.assign(new Error("Aborted"), {
205
157
  name: "AbortError",
206
158
  aborted: true
207
159
  });
208
160
  }
209
- import_logger.logger.debug(`Tool call initiated - Type: ${toolCall.type}`);
210
- import_logger.logger.debug(`Tool call details: ${JSON.stringify(toolCall, null, 2)}`);
211
- const toolName = toolCall.function.name;
212
- let args = {};
213
- try {
214
- args = JSON.parse(toolCall.function.arguments);
215
- } catch (e) {
216
- import_logger.logger.error(`Error parsing arguments for ${toolName}:`, e);
217
- const sanitized = await this.contextManager.addToolResult(
218
- toolCall.id,
219
- toolName,
220
- { error: `Failed to parse arguments: ${e}` },
221
- { success: false }
222
- );
223
- this.sessionEventBus.emit("llmservice:toolResult", {
224
- toolName,
225
- callId: toolCall.id,
226
- success: false,
227
- sanitized,
228
- ...(0, import_debug.shouldIncludeRawToolResult)() ? { rawResult: { error: `Failed to parse arguments: ${e}` } } : {}
161
+ iterationCount++;
162
+ const { message, usage } = stream ? await this.getAIStreamingResponseWithRetries(
163
+ formattedTools,
164
+ options?.signal
165
+ ) : await this.getAIResponseWithRetries(formattedTools, options?.signal);
166
+ if (usage) {
167
+ totalTokens += usage.total_tokens ?? 0;
168
+ inputTokens += usage.prompt_tokens ?? 0;
169
+ outputTokens += usage.completion_tokens ?? 0;
170
+ reasoningTokens += usage.completion_tokens_details?.reasoning_tokens ?? 0;
171
+ }
172
+ if (!message.tool_calls || message.tool_calls.length === 0) {
173
+ const responseText = message.content || "";
174
+ const finalContent = stream ? fullResponse + responseText : responseText;
175
+ await this.contextManager.addAssistantMessage(finalContent, void 0, {
176
+ tokenUsage: totalTokens > 0 ? {
177
+ totalTokens,
178
+ inputTokens,
179
+ outputTokens,
180
+ reasoningTokens
181
+ } : void 0
229
182
  });
230
- continue;
183
+ if (totalTokens > 0) {
184
+ this.contextManager.updateActualTokenCount(totalTokens);
185
+ }
186
+ this.sessionEventBus.emit("llm:response", {
187
+ content: finalContent,
188
+ provider: this.config.provider,
189
+ model: this.config.model,
190
+ router: "in-built",
191
+ tokenUsage: { totalTokens, inputTokens, outputTokens, reasoningTokens }
192
+ });
193
+ const activeSpan3 = import_api.trace.getActiveSpan();
194
+ if (activeSpan3 && totalTokens > 0) {
195
+ const attributes = {
196
+ "gen_ai.usage.total_tokens": totalTokens
197
+ };
198
+ if (inputTokens > 0) {
199
+ attributes["gen_ai.usage.input_tokens"] = inputTokens;
200
+ }
201
+ if (outputTokens > 0) {
202
+ attributes["gen_ai.usage.output_tokens"] = outputTokens;
203
+ }
204
+ if (reasoningTokens > 0) {
205
+ attributes["gen_ai.usage.reasoning_tokens"] = reasoningTokens;
206
+ }
207
+ activeSpan3.setAttributes(attributes);
208
+ }
209
+ return finalContent;
231
210
  }
232
- this.sessionEventBus.emit("llmservice:toolCall", {
233
- toolName,
234
- args,
235
- callId: toolCall.id
236
- });
237
- try {
238
- const result = await this.toolManager.executeTool(
239
- toolName,
240
- args,
241
- this.sessionId
242
- );
243
- const sanitized = await this.contextManager.addToolResult(
244
- toolCall.id,
245
- toolName,
246
- result,
247
- { success: true }
211
+ const functionToolCalls = message.tool_calls.filter(
212
+ (toolCall) => {
213
+ this.logger.debug(`Tool call type received: ${toolCall.type}`);
214
+ return toolCall.type === "function";
215
+ }
216
+ );
217
+ if (message.tool_calls.length > functionToolCalls.length) {
218
+ this.logger.warn(
219
+ `Filtered out ${message.tool_calls.length - functionToolCalls.length} non-function tool calls`
248
220
  );
249
- this.sessionEventBus.emit("llmservice:toolResult", {
250
- toolName,
251
- callId: toolCall.id,
252
- success: true,
253
- sanitized,
254
- ...(0, import_debug.shouldIncludeRawToolResult)() ? { rawResult: result } : {}
255
- });
256
- } catch (error) {
257
- const errorMessage = error instanceof Error ? error.message : String(error);
258
- import_logger.logger.error(`Tool execution error for ${toolName}: ${errorMessage}`);
259
- const sanitized = await this.contextManager.addToolResult(
260
- toolCall.id,
261
- toolName,
262
- { error: errorMessage },
263
- { success: false }
221
+ }
222
+ await this.contextManager.addAssistantMessage(
223
+ message.content,
224
+ functionToolCalls.length > 0 ? functionToolCalls : void 0,
225
+ {}
226
+ );
227
+ if (stream && message.content) {
228
+ fullResponse += message.content;
229
+ }
230
+ for (const toolCall of functionToolCalls) {
231
+ if (options?.signal?.aborted) {
232
+ throw Object.assign(new Error("Aborted"), {
233
+ name: "AbortError",
234
+ aborted: true
235
+ });
236
+ }
237
+ this.logger.debug(`Tool call initiated - Type: ${toolCall.type}`);
238
+ this.logger.debug(
239
+ `Tool call details: ${JSON.stringify(toolCall, null, 2)}`
264
240
  );
265
- this.sessionEventBus.emit("llmservice:toolResult", {
241
+ const toolName = toolCall.function.name;
242
+ let args = {};
243
+ try {
244
+ args = JSON.parse(toolCall.function.arguments);
245
+ } catch (e) {
246
+ this.logger.error(`Error parsing arguments for ${toolName}:`, {
247
+ error: e instanceof Error ? e.message : String(e)
248
+ });
249
+ const sanitized = await this.contextManager.addToolResult(
250
+ toolCall.id,
251
+ toolName,
252
+ { error: `Failed to parse arguments: ${e}` },
253
+ { success: false }
254
+ );
255
+ this.sessionEventBus.emit("llm:tool-result", {
256
+ toolName,
257
+ callId: toolCall.id,
258
+ success: false,
259
+ sanitized,
260
+ ...(0, import_debug.shouldIncludeRawToolResult)() ? { rawResult: { error: `Failed to parse arguments: ${e}` } } : {}
261
+ });
262
+ continue;
263
+ }
264
+ this.sessionEventBus.emit("llm:tool-call", {
266
265
  toolName,
267
- callId: toolCall.id,
268
- success: false,
269
- sanitized,
270
- ...(0, import_debug.shouldIncludeRawToolResult)() ? { rawResult: { error: errorMessage } } : {}
266
+ args,
267
+ callId: toolCall.id
271
268
  });
269
+ try {
270
+ const result = await this.toolManager.executeTool(
271
+ toolName,
272
+ args,
273
+ this.sessionId
274
+ );
275
+ const sanitized = await this.contextManager.addToolResult(
276
+ toolCall.id,
277
+ toolName,
278
+ result,
279
+ { success: true }
280
+ );
281
+ this.sessionEventBus.emit("llm:tool-result", {
282
+ toolName,
283
+ callId: toolCall.id,
284
+ success: true,
285
+ sanitized,
286
+ ...(0, import_debug.shouldIncludeRawToolResult)() ? { rawResult: result } : {}
287
+ });
288
+ } catch (error) {
289
+ const errorMessage = error instanceof Error ? error.message : String(error);
290
+ this.logger.error(
291
+ `Tool execution error for ${toolName}: ${errorMessage}`
292
+ );
293
+ const sanitized = await this.contextManager.addToolResult(
294
+ toolCall.id,
295
+ toolName,
296
+ { error: errorMessage },
297
+ { success: false }
298
+ );
299
+ this.sessionEventBus.emit("llm:tool-result", {
300
+ toolName,
301
+ callId: toolCall.id,
302
+ success: false,
303
+ sanitized,
304
+ ...(0, import_debug.shouldIncludeRawToolResult)() ? { rawResult: { error: errorMessage } } : {}
305
+ });
306
+ }
272
307
  }
273
308
  }
274
- }
275
- import_logger.logger.warn(`Reached maximum iterations (${this.config.maxIterations}) for task.`);
276
- const finalResponse = fullResponse || "Task completed but reached maximum tool call iterations.";
277
- await this.contextManager.addAssistantMessage(finalResponse, void 0, {
278
- tokenUsage: totalTokens > 0 ? {
279
- totalTokens,
280
- inputTokens,
281
- outputTokens,
282
- reasoningTokens
283
- } : void 0
284
- });
285
- if (totalTokens > 0) {
286
- this.contextManager.updateActualTokenCount(totalTokens);
287
- }
288
- this.sessionEventBus.emit("llmservice:response", {
289
- content: finalResponse,
290
- provider: this.config.provider,
291
- model: this.config.model,
292
- router: "in-built",
293
- tokenUsage: { totalTokens, inputTokens, outputTokens, reasoningTokens }
294
- });
295
- const activeSpan = import_api.trace.getActiveSpan();
296
- if (activeSpan && totalTokens > 0) {
297
- const attributes = {
298
- "gen_ai.usage.total_tokens": totalTokens
299
- };
300
- if (inputTokens > 0) {
301
- attributes["gen_ai.usage.input_tokens"] = inputTokens;
309
+ this.logger.warn(
310
+ `Reached maximum iterations (${this.config.maxIterations}) for task.`
311
+ );
312
+ const finalResponse = fullResponse || "Task completed but reached maximum tool call iterations.";
313
+ await this.contextManager.addAssistantMessage(finalResponse, void 0, {
314
+ tokenUsage: totalTokens > 0 ? {
315
+ totalTokens,
316
+ inputTokens,
317
+ outputTokens,
318
+ reasoningTokens
319
+ } : void 0
320
+ });
321
+ if (totalTokens > 0) {
322
+ this.contextManager.updateActualTokenCount(totalTokens);
302
323
  }
303
- if (outputTokens > 0) {
304
- attributes["gen_ai.usage.output_tokens"] = outputTokens;
324
+ this.sessionEventBus.emit("llm:response", {
325
+ content: finalResponse,
326
+ provider: this.config.provider,
327
+ model: this.config.model,
328
+ router: "in-built",
329
+ tokenUsage: { totalTokens, inputTokens, outputTokens, reasoningTokens }
330
+ });
331
+ const activeSpan2 = import_api.trace.getActiveSpan();
332
+ if (activeSpan2 && totalTokens > 0) {
333
+ const attributes = {
334
+ "gen_ai.usage.total_tokens": totalTokens
335
+ };
336
+ if (inputTokens > 0) {
337
+ attributes["gen_ai.usage.input_tokens"] = inputTokens;
338
+ }
339
+ if (outputTokens > 0) {
340
+ attributes["gen_ai.usage.output_tokens"] = outputTokens;
341
+ }
342
+ if (reasoningTokens > 0) {
343
+ attributes["gen_ai.usage.reasoning_tokens"] = reasoningTokens;
344
+ }
345
+ activeSpan2.setAttributes(attributes);
305
346
  }
306
- if (reasoningTokens > 0) {
307
- attributes["gen_ai.usage.reasoning_tokens"] = reasoningTokens;
347
+ return finalResponse;
348
+ } catch (error) {
349
+ if (error instanceof Error && (error.name === "AbortError" || error.aborted === true)) {
350
+ throw error;
308
351
  }
309
- activeSpan.setAttributes(attributes);
310
- }
311
- return finalResponse;
312
- } catch (error) {
313
- if (error instanceof Error && (error.name === "AbortError" || error.aborted === true)) {
314
- throw error;
315
- }
316
- const errorMessage = error instanceof Error ? error.message : String(error);
317
- import_logger.logger.error(`Error in ${context}: ${errorMessage}`, { error });
318
- if (!stream) {
319
- import_logger.logger.warn(
320
- `If this error is due to token overflow, consider configuring 'maxInputTokens' in your LLMConfig.`
321
- );
352
+ const errorMessage = error instanceof Error ? error.message : String(error);
353
+ this.logger.error(`Error in ${contextStr}: ${errorMessage}`, { error });
354
+ if (!stream) {
355
+ this.logger.warn(
356
+ `If this error is due to token overflow, consider configuring 'maxInputTokens' in your LLMConfig.`
357
+ );
358
+ }
359
+ this.sessionEventBus.emit("llm:error", {
360
+ error: error instanceof Error ? error : new Error(errorMessage),
361
+ context: contextStr,
362
+ recoverable: false
363
+ });
364
+ const errorResponse = `Error processing ${stream ? "streaming " : ""}request: ${errorMessage}`;
365
+ await this.contextManager.addAssistantMessage(errorResponse, void 0, {});
366
+ return errorResponse;
322
367
  }
323
- this.sessionEventBus.emit("llmservice:error", {
324
- error: error instanceof Error ? error : new Error(errorMessage),
325
- context,
326
- recoverable: false
327
- });
328
- const errorResponse = `Error processing ${stream ? "streaming " : ""}request: ${errorMessage}`;
329
- await this.contextManager.addAssistantMessage(errorResponse, void 0, {});
330
- return errorResponse;
331
- }
368
+ });
332
369
  }
333
370
  /**
334
371
  * Get configuration information about the LLM service
@@ -340,12 +377,13 @@ class OpenAIService {
340
377
  try {
341
378
  modelMaxInputTokens = (0, import_registry.getMaxInputTokensForModel)(
342
379
  this.config.provider,
343
- this.config.model
380
+ this.config.model,
381
+ this.logger
344
382
  );
345
383
  } catch (error) {
346
384
  if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
347
385
  modelMaxInputTokens = configuredMaxInputTokens;
348
- import_logger.logger.debug(
386
+ this.logger.debug(
349
387
  `Could not find model ${this.config.model} in LLM registry to get max tokens. Using configured max tokens: ${configuredMaxInputTokens}.`
350
388
  );
351
389
  } else {
@@ -364,7 +402,7 @@ class OpenAIService {
364
402
  async getAIResponseWithRetries(tools, signal) {
365
403
  let attempts = 0;
366
404
  const MAX_ATTEMPTS = 3;
367
- import_logger.logger.debug(`Tools size in getAIResponseWithRetries: ${tools.length}`);
405
+ this.logger.debug(`Tools size in getAIResponseWithRetries: ${tools.length}`);
368
406
  while (attempts < MAX_ATTEMPTS) {
369
407
  attempts++;
370
408
  try {
@@ -376,10 +414,10 @@ class OpenAIService {
376
414
  { mcpManager: this.toolManager.getMcpManager() },
377
415
  { provider: this.config.provider, model: this.config.model }
378
416
  );
379
- import_logger.logger.silly(
417
+ this.logger.silly(
380
418
  `Message history (potentially compressed) in getAIResponseWithRetries: ${JSON.stringify(formattedMessages, null, 2)}`
381
419
  );
382
- import_logger.logger.debug(`Estimated tokens being sent to OpenAI: ${tokensUsed}`);
420
+ this.logger.debug(`Estimated tokens being sent to OpenAI: ${tokensUsed}`);
383
421
  const response = await this.openai.chat.completions.create(
384
422
  {
385
423
  model: this.config.model,
@@ -391,9 +429,8 @@ class OpenAIService {
391
429
  },
392
430
  signal ? { signal } : void 0
393
431
  );
394
- import_logger.logger.silly(
395
- "OPENAI CHAT COMPLETION RESPONSE: ",
396
- JSON.stringify(response, null, 2)
432
+ this.logger.silly(
433
+ `OPENAI CHAT COMPLETION RESPONSE: ${JSON.stringify(response, null, 2)}`
397
434
  );
398
435
  const message = response.choices[0]?.message;
399
436
  if (!message) {
@@ -406,17 +443,17 @@ class OpenAIService {
406
443
  throw error;
407
444
  }
408
445
  const apiError = error;
409
- import_logger.logger.error(
446
+ this.logger.error(
410
447
  `Error in OpenAI API call (Attempt ${attempts}/${MAX_ATTEMPTS}): ${apiError.message || JSON.stringify(apiError, null, 2)}`,
411
448
  { status: apiError.status, headers: apiError.headers }
412
449
  );
413
450
  if (apiError.status === 400 && apiError.code === "context_length_exceeded") {
414
- import_logger.logger.warn(
451
+ this.logger.warn(
415
452
  `Context length exceeded. ContextManager compression might not be sufficient. Error details: ${JSON.stringify(apiError.error)}`
416
453
  );
417
454
  }
418
455
  if (attempts >= MAX_ATTEMPTS) {
419
- import_logger.logger.error(
456
+ this.logger.error(
420
457
  `Failed to get response from OpenAI after ${MAX_ATTEMPTS} attempts.`
421
458
  );
422
459
  throw error;
@@ -440,10 +477,10 @@ class OpenAIService {
440
477
  { mcpManager: this.toolManager.getMcpManager() },
441
478
  { provider: this.config.provider, model: this.config.model }
442
479
  );
443
- import_logger.logger.silly(
480
+ this.logger.silly(
444
481
  `Streaming message history (potentially compressed): ${JSON.stringify(formattedMessages, null, 2)}`
445
482
  );
446
- import_logger.logger.debug(`Estimated tokens being sent to OpenAI streaming: ${tokensUsed}`);
483
+ this.logger.debug(`Estimated tokens being sent to OpenAI streaming: ${tokensUsed}`);
447
484
  const stream = await this.openai.chat.completions.create(
448
485
  {
449
486
  model: this.config.model,
@@ -472,8 +509,8 @@ class OpenAIService {
472
509
  const delta = chunk.choices[0]?.delta;
473
510
  if (delta?.content) {
474
511
  content += delta.content;
475
- this.sessionEventBus.emit("llmservice:chunk", {
476
- type: "text",
512
+ this.sessionEventBus.emit("llm:chunk", {
513
+ chunkType: "text",
477
514
  content: delta.content,
478
515
  isComplete: false
479
516
  });
@@ -510,8 +547,8 @@ class OpenAIService {
510
547
  }
511
548
  }
512
549
  if (content) {
513
- this.sessionEventBus.emit("llmservice:chunk", {
514
- type: "text",
550
+ this.sessionEventBus.emit("llm:chunk", {
551
+ chunkType: "text",
515
552
  content: "",
516
553
  isComplete: true
517
554
  });
@@ -522,21 +559,21 @@ class OpenAIService {
522
559
  refusal: null,
523
560
  ...toolCalls.length > 0 && { tool_calls: toolCalls }
524
561
  };
525
- import_logger.logger.debug(`OpenAI streaming completed. Usage info: ${usage}`);
562
+ this.logger.debug(`OpenAI streaming completed. Usage info: ${usage}`);
526
563
  return { message, ...usage && { usage } };
527
564
  } catch (error) {
528
565
  const apiError = error;
529
- import_logger.logger.error(
566
+ this.logger.error(
530
567
  `Error in OpenAI streaming API call (Attempt ${attempts}/${MAX_ATTEMPTS}): ${apiError.message || JSON.stringify(apiError, null, 2)}`,
531
568
  { status: apiError.status, headers: apiError.headers }
532
569
  );
533
570
  if (apiError.status === 400 && apiError.message?.includes("maximum context length")) {
534
- import_logger.logger.warn(
571
+ this.logger.warn(
535
572
  `Context length exceeded in streaming. ContextManager compression might not be sufficient. Error details: ${JSON.stringify(apiError.error)}`
536
573
  );
537
574
  }
538
575
  if (attempts >= MAX_ATTEMPTS) {
539
- import_logger.logger.error(
576
+ this.logger.error(
540
577
  `Failed to get streaming response from OpenAI after ${MAX_ATTEMPTS} attempts.`
541
578
  );
542
579
  throw error;
@@ -2,6 +2,7 @@ import OpenAI from 'openai';
2
2
  import { ToolManager } from '../../tools/tool-manager.js';
3
3
  import { ILLMService, LLMServiceConfig } from './types.js';
4
4
  import { ToolSet } from '../../tools/types.js';
5
+ import type { IDextoLogger } from '../../logger/v2/types.js';
5
6
  import { ContextManager } from '../../context/manager.js';
6
7
  import { ImageData, FileData } from '../../context/types.js';
7
8
  import type { SessionEventBus } from '../../events/index.js';
@@ -25,7 +26,8 @@ export declare class OpenAIService implements ILLMService {
25
26
  private contextManager;
26
27
  private sessionEventBus;
27
28
  private readonly sessionId;
28
- constructor(toolManager: ToolManager, openai: OpenAI, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager);
29
+ private logger;
30
+ constructor(toolManager: ToolManager, openai: OpenAI, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: import('../../resources/index.js').ResourceManager, logger: IDextoLogger);
29
31
  getAllTools(): Promise<ToolSet>;
30
32
  completeTask(textInput: string, options: {
31
33
  signal?: AbortSignal;
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/llm/services/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAoB,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,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;AAKxD;;;;;;;;;GASG;AACH,qBAIa,aAAc,YAAW,WAAW;IAC7C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAG/B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,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;IA0BvE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,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;IA8SlB;;;OAGG;IACH,SAAS,IAAI,gBAAgB;YAkCf,wBAAwB;YA2FxB,iCAAiC;IAqK/C,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;CAG/C"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/llm/services/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAoB,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,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;AAKxD;;;;;;;;;GASG;AACH,qBAIa,aAAc,YAAW,WAAW;IAC7C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAe;gBAGzB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,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;IA4BxB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzB,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;IAgWlB;;;OAGG;IACH,SAAS,IAAI,gBAAgB;YAmCf,wBAAwB;YA0FxB,iCAAiC;IAqK/C,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;CAG/C"}