@dexto/core 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/README.md +36 -0
  2. package/dist/agent/DextoAgent.cjs +22 -3
  3. package/dist/agent/DextoAgent.d.ts +19 -2
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +23 -4
  6. package/dist/agent/index.cjs +4 -1
  7. package/dist/agent/index.d.ts +1 -1
  8. package/dist/agent/index.d.ts.map +1 -1
  9. package/dist/agent/index.js +5 -1
  10. package/dist/agent/schemas.cjs +90 -71
  11. package/dist/agent/schemas.d.ts +5959 -96
  12. package/dist/agent/schemas.d.ts.map +1 -1
  13. package/dist/agent/schemas.js +87 -66
  14. package/dist/approval/manager.cjs +165 -1
  15. package/dist/approval/manager.d.ts +91 -2
  16. package/dist/approval/manager.d.ts.map +1 -1
  17. package/dist/approval/manager.js +155 -1
  18. package/dist/approval/schemas.cjs +39 -3
  19. package/dist/approval/schemas.d.ts +238 -1
  20. package/dist/approval/schemas.d.ts.map +1 -1
  21. package/dist/approval/schemas.js +35 -3
  22. package/dist/approval/types.cjs +1 -0
  23. package/dist/approval/types.d.ts +26 -1
  24. package/dist/approval/types.d.ts.map +1 -1
  25. package/dist/approval/types.js +1 -0
  26. package/dist/context/compaction/factory.cjs +57 -0
  27. package/dist/context/compaction/factory.d.ts +17 -0
  28. package/dist/context/compaction/factory.d.ts.map +1 -0
  29. package/dist/context/compaction/factory.js +34 -0
  30. package/dist/context/compaction/index.cjs +49 -0
  31. package/dist/context/compaction/index.d.ts +11 -0
  32. package/dist/context/compaction/index.d.ts.map +1 -0
  33. package/dist/context/compaction/index.js +19 -0
  34. package/dist/context/{compression → compaction}/overflow.cjs +3 -3
  35. package/dist/context/{compression → compaction}/overflow.d.ts +4 -4
  36. package/dist/context/compaction/overflow.d.ts.map +1 -0
  37. package/dist/context/{compression → compaction}/overflow.js +2 -2
  38. package/dist/context/compaction/provider.cjs +16 -0
  39. package/dist/context/compaction/provider.d.ts +48 -0
  40. package/dist/context/compaction/provider.d.ts.map +1 -0
  41. package/dist/context/compaction/providers/noop-provider.cjs +48 -0
  42. package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
  43. package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
  44. package/dist/context/compaction/providers/noop-provider.js +24 -0
  45. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
  46. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
  47. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
  48. package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
  49. package/dist/context/compaction/registry.cjs +39 -0
  50. package/dist/context/compaction/registry.d.ts +19 -0
  51. package/dist/context/compaction/registry.d.ts.map +1 -0
  52. package/dist/context/compaction/registry.js +16 -0
  53. package/dist/context/compaction/schemas.cjs +38 -0
  54. package/dist/context/compaction/schemas.d.ts +24 -0
  55. package/dist/context/compaction/schemas.d.ts.map +1 -0
  56. package/dist/context/compaction/schemas.js +14 -0
  57. package/dist/context/compaction/strategies/noop.cjs +36 -0
  58. package/dist/context/compaction/strategies/noop.d.ts +18 -0
  59. package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
  60. package/dist/context/compaction/strategies/noop.js +13 -0
  61. package/dist/context/{compression → compaction/strategies}/reactive-overflow.cjs +3 -3
  62. package/dist/context/{compression → compaction/strategies}/reactive-overflow.d.ts +6 -6
  63. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
  64. package/dist/context/{compression → compaction/strategies}/reactive-overflow.js +4 -4
  65. package/dist/context/{compression → compaction}/types.d.ts +4 -4
  66. package/dist/context/compaction/types.d.ts.map +1 -0
  67. package/dist/context/compaction/types.js +0 -0
  68. package/dist/context/error-codes.cjs +4 -0
  69. package/dist/context/error-codes.d.ts +4 -0
  70. package/dist/context/error-codes.d.ts.map +1 -1
  71. package/dist/context/error-codes.js +4 -0
  72. package/dist/context/errors.cjs +40 -0
  73. package/dist/context/errors.d.ts +14 -0
  74. package/dist/context/errors.d.ts.map +1 -1
  75. package/dist/context/errors.js +40 -0
  76. package/dist/context/index.cjs +3 -1
  77. package/dist/context/index.d.ts +1 -0
  78. package/dist/context/index.d.ts.map +1 -1
  79. package/dist/context/index.js +1 -0
  80. package/dist/context/types.d.ts +6 -0
  81. package/dist/context/types.d.ts.map +1 -1
  82. package/dist/context/utils.cjs +27 -7
  83. package/dist/context/utils.d.ts.map +1 -1
  84. package/dist/context/utils.js +27 -7
  85. package/dist/errors/result-bridge.cjs +2 -3
  86. package/dist/errors/result-bridge.d.ts.map +1 -1
  87. package/dist/errors/result-bridge.js +2 -3
  88. package/dist/events/index.cjs +6 -3
  89. package/dist/events/index.d.ts +35 -19
  90. package/dist/events/index.d.ts.map +1 -1
  91. package/dist/events/index.js +5 -3
  92. package/dist/filesystem/filesystem-service.cjs +39 -0
  93. package/dist/filesystem/filesystem-service.d.ts +32 -0
  94. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  95. package/dist/filesystem/filesystem-service.js +39 -0
  96. package/dist/filesystem/index.d.ts +1 -1
  97. package/dist/filesystem/index.d.ts.map +1 -1
  98. package/dist/filesystem/path-validator.cjs +69 -1
  99. package/dist/filesystem/path-validator.d.ts +43 -2
  100. package/dist/filesystem/path-validator.d.ts.map +1 -1
  101. package/dist/filesystem/path-validator.js +69 -1
  102. package/dist/image/define-image.cjs +146 -0
  103. package/dist/image/define-image.d.ts +71 -0
  104. package/dist/image/define-image.d.ts.map +1 -0
  105. package/dist/image/define-image.js +121 -0
  106. package/dist/image/index.cjs +32 -0
  107. package/dist/image/index.d.ts +53 -0
  108. package/dist/image/index.d.ts.map +1 -0
  109. package/dist/image/index.js +7 -0
  110. package/dist/image/types.cjs +16 -0
  111. package/dist/image/types.d.ts +231 -0
  112. package/dist/image/types.d.ts.map +1 -0
  113. package/dist/image/types.js +0 -0
  114. package/dist/index.cjs +5 -1
  115. package/dist/index.d.ts +2 -0
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +2 -0
  118. package/dist/llm/error-codes.cjs +1 -0
  119. package/dist/llm/error-codes.d.ts +1 -0
  120. package/dist/llm/error-codes.d.ts.map +1 -1
  121. package/dist/llm/error-codes.js +1 -0
  122. package/dist/llm/errors.cjs +24 -0
  123. package/dist/llm/errors.d.ts +19 -6
  124. package/dist/llm/errors.d.ts.map +1 -1
  125. package/dist/llm/errors.js +24 -0
  126. package/dist/llm/executor/provider-options.cjs +87 -0
  127. package/dist/llm/executor/provider-options.d.ts +49 -0
  128. package/dist/llm/executor/provider-options.d.ts.map +1 -0
  129. package/dist/llm/executor/provider-options.js +63 -0
  130. package/dist/llm/executor/stream-processor.cjs +22 -11
  131. package/dist/llm/executor/stream-processor.d.ts.map +1 -1
  132. package/dist/llm/executor/stream-processor.js +22 -11
  133. package/dist/llm/executor/turn-executor.cjs +60 -23
  134. package/dist/llm/executor/turn-executor.d.ts +7 -5
  135. package/dist/llm/executor/turn-executor.d.ts.map +1 -1
  136. package/dist/llm/executor/turn-executor.js +60 -23
  137. package/dist/llm/formatters/vercel.cjs +15 -3
  138. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  139. package/dist/llm/formatters/vercel.js +15 -3
  140. package/dist/llm/index.cjs +18 -1
  141. package/dist/llm/index.d.ts +2 -0
  142. package/dist/llm/index.d.ts.map +1 -1
  143. package/dist/llm/index.js +14 -0
  144. package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
  145. package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
  146. package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
  147. package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
  148. package/dist/llm/providers/local/downloader.cjs +291 -0
  149. package/dist/llm/providers/local/downloader.d.ts +82 -0
  150. package/dist/llm/providers/local/downloader.d.ts.map +1 -0
  151. package/dist/llm/providers/local/downloader.js +251 -0
  152. package/dist/llm/providers/local/error-codes.cjs +57 -0
  153. package/dist/llm/providers/local/error-codes.d.ts +66 -0
  154. package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
  155. package/dist/llm/providers/local/error-codes.js +34 -0
  156. package/dist/llm/providers/local/errors.cjs +240 -0
  157. package/dist/llm/providers/local/errors.d.ts +31 -0
  158. package/dist/llm/providers/local/errors.d.ts.map +1 -0
  159. package/dist/llm/providers/local/errors.js +217 -0
  160. package/dist/llm/providers/local/gpu-detector.cjs +214 -0
  161. package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
  162. package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
  163. package/dist/llm/providers/local/gpu-detector.js +178 -0
  164. package/dist/llm/providers/local/index.cjs +147 -0
  165. package/dist/llm/providers/local/index.d.ts +21 -0
  166. package/dist/llm/providers/local/index.d.ts.map +1 -0
  167. package/dist/llm/providers/local/index.js +126 -0
  168. package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
  169. package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
  170. package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
  171. package/dist/llm/providers/local/node-llama-provider.js +176 -0
  172. package/dist/llm/providers/local/ollama-provider.cjs +230 -0
  173. package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
  174. package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
  175. package/dist/llm/providers/local/ollama-provider.js +198 -0
  176. package/dist/llm/providers/local/registry.cjs +343 -0
  177. package/dist/llm/providers/local/registry.d.ts +51 -0
  178. package/dist/llm/providers/local/registry.d.ts.map +1 -0
  179. package/dist/llm/providers/local/registry.js +312 -0
  180. package/dist/llm/providers/local/schemas.cjs +169 -0
  181. package/dist/llm/providers/local/schemas.d.ts +395 -0
  182. package/dist/llm/providers/local/schemas.d.ts.map +1 -0
  183. package/dist/llm/providers/local/schemas.js +133 -0
  184. package/dist/llm/providers/local/types.cjs +16 -0
  185. package/dist/llm/providers/local/types.d.ts +219 -0
  186. package/dist/llm/providers/local/types.d.ts.map +1 -0
  187. package/dist/llm/providers/local/types.js +0 -0
  188. package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
  189. package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
  190. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
  191. package/dist/llm/providers/openrouter-model-registry.js +309 -0
  192. package/dist/llm/registry.cjs +604 -9
  193. package/dist/llm/registry.d.ts +35 -0
  194. package/dist/llm/registry.d.ts.map +1 -1
  195. package/dist/llm/registry.js +600 -9
  196. package/dist/llm/resolver.cjs +63 -5
  197. package/dist/llm/resolver.d.ts +3 -3
  198. package/dist/llm/resolver.d.ts.map +1 -1
  199. package/dist/llm/resolver.js +69 -6
  200. package/dist/llm/schemas.cjs +107 -81
  201. package/dist/llm/schemas.d.ts +181 -22
  202. package/dist/llm/schemas.d.ts.map +1 -1
  203. package/dist/llm/schemas.js +107 -81
  204. package/dist/llm/services/factory.cjs +87 -13
  205. package/dist/llm/services/factory.d.ts +4 -1
  206. package/dist/llm/services/factory.d.ts.map +1 -1
  207. package/dist/llm/services/factory.js +85 -12
  208. package/dist/llm/services/test-utils.integration.cjs +22 -2
  209. package/dist/llm/services/test-utils.integration.d.ts +7 -1
  210. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  211. package/dist/llm/services/test-utils.integration.js +26 -3
  212. package/dist/llm/services/vercel.cjs +8 -3
  213. package/dist/llm/services/vercel.d.ts +3 -2
  214. package/dist/llm/services/vercel.d.ts.map +1 -1
  215. package/dist/llm/services/vercel.js +8 -3
  216. package/dist/llm/types.cjs +11 -1
  217. package/dist/llm/types.d.ts +1 -1
  218. package/dist/llm/types.d.ts.map +1 -1
  219. package/dist/llm/types.js +11 -1
  220. package/dist/logger/logger.cjs +7 -3
  221. package/dist/logger/logger.d.ts.map +1 -1
  222. package/dist/logger/logger.js +7 -3
  223. package/dist/mcp/manager.cjs +8 -0
  224. package/dist/mcp/manager.d.ts +17 -0
  225. package/dist/mcp/manager.d.ts.map +1 -1
  226. package/dist/mcp/manager.js +8 -0
  227. package/dist/mcp/mcp-client.cjs +0 -3
  228. package/dist/mcp/mcp-client.d.ts.map +1 -1
  229. package/dist/mcp/mcp-client.js +0 -3
  230. package/dist/memory/schemas.d.ts +3 -3
  231. package/dist/plugins/error-codes.cjs +3 -0
  232. package/dist/plugins/error-codes.d.ts +7 -1
  233. package/dist/plugins/error-codes.d.ts.map +1 -1
  234. package/dist/plugins/error-codes.js +3 -0
  235. package/dist/plugins/index.cjs +7 -0
  236. package/dist/plugins/index.d.ts +4 -2
  237. package/dist/plugins/index.d.ts.map +1 -1
  238. package/dist/plugins/index.js +6 -1
  239. package/dist/plugins/manager.cjs +92 -7
  240. package/dist/plugins/manager.d.ts +10 -3
  241. package/dist/plugins/manager.d.ts.map +1 -1
  242. package/dist/plugins/manager.js +92 -7
  243. package/dist/plugins/registry.cjs +63 -0
  244. package/dist/plugins/registry.d.ts +101 -0
  245. package/dist/plugins/registry.d.ts.map +1 -0
  246. package/dist/plugins/registry.js +39 -0
  247. package/dist/plugins/schemas.cjs +17 -5
  248. package/dist/plugins/schemas.d.ts +62 -5
  249. package/dist/plugins/schemas.d.ts.map +1 -1
  250. package/dist/plugins/schemas.js +15 -4
  251. package/dist/providers/base-registry.cjs +147 -0
  252. package/dist/providers/base-registry.d.ts +147 -0
  253. package/dist/providers/base-registry.d.ts.map +1 -0
  254. package/dist/providers/base-registry.js +123 -0
  255. package/dist/providers/discovery.cjs +109 -0
  256. package/dist/providers/discovery.d.ts +96 -0
  257. package/dist/providers/discovery.d.ts.map +1 -0
  258. package/dist/providers/discovery.js +84 -0
  259. package/dist/providers/index.cjs +24 -0
  260. package/dist/providers/index.d.ts +32 -0
  261. package/dist/providers/index.d.ts.map +1 -0
  262. package/dist/providers/index.js +2 -0
  263. package/dist/resources/reference-parser.cjs +3 -3
  264. package/dist/resources/reference-parser.d.ts.map +1 -1
  265. package/dist/resources/reference-parser.js +3 -3
  266. package/dist/session/chat-session.cjs +20 -3
  267. package/dist/session/chat-session.d.ts.map +1 -1
  268. package/dist/session/chat-session.js +21 -4
  269. package/dist/session/history/database.cjs +49 -15
  270. package/dist/session/history/database.d.ts.map +1 -1
  271. package/dist/session/history/database.js +49 -15
  272. package/dist/session/session-manager.cjs +2 -1
  273. package/dist/session/session-manager.d.ts.map +1 -1
  274. package/dist/session/session-manager.js +2 -1
  275. package/dist/storage/blob/factory.cjs +8 -11
  276. package/dist/storage/blob/factory.d.ts +32 -6
  277. package/dist/storage/blob/factory.d.ts.map +1 -1
  278. package/dist/storage/blob/factory.js +8 -11
  279. package/dist/storage/blob/index.cjs +56 -0
  280. package/dist/storage/blob/index.d.ts +45 -0
  281. package/dist/storage/blob/index.d.ts.map +1 -0
  282. package/dist/storage/blob/index.js +30 -0
  283. package/dist/storage/blob/provider.cjs +16 -0
  284. package/dist/storage/blob/provider.d.ts +50 -0
  285. package/dist/storage/blob/provider.d.ts.map +1 -0
  286. package/dist/storage/blob/provider.js +0 -0
  287. package/dist/storage/blob/providers/index.cjs +31 -0
  288. package/dist/storage/blob/providers/index.d.ts +8 -0
  289. package/dist/storage/blob/providers/index.d.ts.map +1 -0
  290. package/dist/storage/blob/providers/index.js +7 -0
  291. package/dist/storage/blob/providers/local.cjs +39 -0
  292. package/dist/storage/blob/providers/local.d.ts +17 -0
  293. package/dist/storage/blob/providers/local.d.ts.map +1 -0
  294. package/dist/storage/blob/providers/local.js +16 -0
  295. package/dist/storage/blob/providers/memory.cjs +39 -0
  296. package/dist/storage/blob/providers/memory.d.ts +17 -0
  297. package/dist/storage/blob/providers/memory.d.ts.map +1 -0
  298. package/dist/storage/blob/providers/memory.js +16 -0
  299. package/dist/storage/blob/registry.cjs +50 -0
  300. package/dist/storage/blob/registry.d.ts +42 -0
  301. package/dist/storage/blob/registry.d.ts.map +1 -0
  302. package/dist/storage/blob/registry.js +26 -0
  303. package/dist/storage/blob/schemas.cjs +9 -12
  304. package/dist/storage/blob/schemas.d.ts +39 -34
  305. package/dist/storage/blob/schemas.d.ts.map +1 -1
  306. package/dist/storage/blob/schemas.js +6 -11
  307. package/dist/storage/cache/factory.cjs +8 -36
  308. package/dist/storage/cache/factory.d.ts +32 -7
  309. package/dist/storage/cache/factory.d.ts.map +1 -1
  310. package/dist/storage/cache/factory.js +8 -26
  311. package/dist/storage/cache/index.cjs +53 -0
  312. package/dist/storage/cache/index.d.ts +44 -0
  313. package/dist/storage/cache/index.d.ts.map +1 -0
  314. package/dist/storage/cache/index.js +28 -0
  315. package/dist/storage/cache/provider.cjs +16 -0
  316. package/dist/storage/cache/provider.d.ts +56 -0
  317. package/dist/storage/cache/provider.d.ts.map +1 -0
  318. package/dist/storage/cache/provider.js +0 -0
  319. package/dist/storage/cache/providers/index.cjs +31 -0
  320. package/dist/storage/cache/providers/index.d.ts +8 -0
  321. package/dist/storage/cache/providers/index.d.ts.map +1 -0
  322. package/dist/storage/cache/providers/index.js +7 -0
  323. package/dist/storage/cache/providers/memory.cjs +40 -0
  324. package/dist/storage/cache/providers/memory.d.ts +17 -0
  325. package/dist/storage/cache/providers/memory.d.ts.map +1 -0
  326. package/dist/storage/cache/providers/memory.js +17 -0
  327. package/dist/storage/cache/providers/redis.cjs +66 -0
  328. package/dist/storage/cache/providers/redis.d.ts +20 -0
  329. package/dist/storage/cache/providers/redis.d.ts.map +1 -0
  330. package/dist/storage/cache/providers/redis.js +33 -0
  331. package/dist/storage/cache/registry.cjs +50 -0
  332. package/dist/storage/cache/registry.d.ts +42 -0
  333. package/dist/storage/cache/registry.d.ts.map +1 -0
  334. package/dist/storage/cache/registry.js +26 -0
  335. package/dist/storage/cache/schemas.cjs +6 -2
  336. package/dist/storage/cache/schemas.d.ts +2 -3
  337. package/dist/storage/cache/schemas.d.ts.map +1 -1
  338. package/dist/storage/cache/schemas.js +3 -1
  339. package/dist/storage/database/factory.cjs +8 -47
  340. package/dist/storage/database/factory.d.ts +34 -8
  341. package/dist/storage/database/factory.d.ts.map +1 -1
  342. package/dist/storage/database/factory.js +8 -37
  343. package/dist/storage/database/index.cjs +58 -0
  344. package/dist/storage/database/index.d.ts +45 -0
  345. package/dist/storage/database/index.d.ts.map +1 -0
  346. package/dist/storage/database/index.js +37 -0
  347. package/dist/storage/database/postgres-store.cjs +174 -78
  348. package/dist/storage/database/postgres-store.d.ts +19 -0
  349. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  350. package/dist/storage/database/postgres-store.js +174 -78
  351. package/dist/storage/database/provider.cjs +16 -0
  352. package/dist/storage/database/provider.d.ts +56 -0
  353. package/dist/storage/database/provider.d.ts.map +1 -0
  354. package/dist/storage/database/provider.js +0 -0
  355. package/dist/storage/database/providers/index.cjs +34 -0
  356. package/dist/storage/database/providers/index.d.ts +9 -0
  357. package/dist/storage/database/providers/index.d.ts.map +1 -0
  358. package/dist/storage/database/providers/index.js +9 -0
  359. package/dist/storage/database/providers/memory.cjs +40 -0
  360. package/dist/storage/database/providers/memory.d.ts +16 -0
  361. package/dist/storage/database/providers/memory.d.ts.map +1 -0
  362. package/dist/storage/database/providers/memory.js +17 -0
  363. package/dist/storage/database/providers/postgres.cjs +62 -0
  364. package/dist/storage/database/providers/postgres.d.ts +19 -0
  365. package/dist/storage/database/providers/postgres.d.ts.map +1 -0
  366. package/dist/storage/database/providers/postgres.js +29 -0
  367. package/dist/storage/database/providers/sqlite.cjs +66 -0
  368. package/dist/storage/database/providers/sqlite.d.ts +20 -0
  369. package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
  370. package/dist/storage/database/providers/sqlite.js +33 -0
  371. package/dist/storage/database/registry.cjs +50 -0
  372. package/dist/storage/database/registry.d.ts +42 -0
  373. package/dist/storage/database/registry.d.ts.map +1 -0
  374. package/dist/storage/database/registry.js +26 -0
  375. package/dist/storage/database/schemas.cjs +12 -3
  376. package/dist/storage/database/schemas.d.ts +11 -4
  377. package/dist/storage/database/schemas.d.ts.map +1 -1
  378. package/dist/storage/database/schemas.js +8 -2
  379. package/dist/storage/error-codes.cjs +6 -0
  380. package/dist/storage/error-codes.d.ts +7 -1
  381. package/dist/storage/error-codes.d.ts.map +1 -1
  382. package/dist/storage/error-codes.js +6 -0
  383. package/dist/storage/errors.cjs +80 -0
  384. package/dist/storage/errors.d.ts +24 -0
  385. package/dist/storage/errors.d.ts.map +1 -1
  386. package/dist/storage/errors.js +80 -0
  387. package/dist/storage/index.cjs +47 -4
  388. package/dist/storage/index.d.ts +34 -8
  389. package/dist/storage/index.d.ts.map +1 -1
  390. package/dist/storage/index.js +32 -3
  391. package/dist/storage/schemas.cjs +4 -0
  392. package/dist/storage/schemas.d.ts +24 -50
  393. package/dist/storage/schemas.d.ts.map +1 -1
  394. package/dist/storage/schemas.js +5 -1
  395. package/dist/storage/storage-manager.cjs +6 -6
  396. package/dist/storage/storage-manager.d.ts.map +1 -1
  397. package/dist/storage/storage-manager.js +3 -3
  398. package/dist/systemPrompt/in-built-prompts.cjs +7 -6
  399. package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
  400. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  401. package/dist/systemPrompt/in-built-prompts.js +6 -5
  402. package/dist/systemPrompt/registry.cjs +2 -2
  403. package/dist/systemPrompt/registry.d.ts +1 -1
  404. package/dist/systemPrompt/registry.d.ts.map +1 -1
  405. package/dist/systemPrompt/registry.js +2 -2
  406. package/dist/systemPrompt/schemas.cjs +2 -2
  407. package/dist/systemPrompt/schemas.d.ts +13 -13
  408. package/dist/systemPrompt/schemas.js +2 -2
  409. package/dist/tools/custom-tool-registry.cjs +64 -0
  410. package/dist/tools/custom-tool-registry.d.ts +126 -0
  411. package/dist/tools/custom-tool-registry.d.ts.map +1 -0
  412. package/dist/tools/custom-tool-registry.js +40 -0
  413. package/dist/tools/custom-tool-schema-registry.cjs +164 -0
  414. package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
  415. package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
  416. package/dist/tools/custom-tool-schema-registry.js +140 -0
  417. package/dist/tools/error-codes.cjs +3 -0
  418. package/dist/tools/error-codes.d.ts +4 -1
  419. package/dist/tools/error-codes.d.ts.map +1 -1
  420. package/dist/tools/error-codes.js +3 -0
  421. package/dist/tools/errors.cjs +41 -0
  422. package/dist/tools/errors.d.ts +17 -0
  423. package/dist/tools/errors.d.ts.map +1 -1
  424. package/dist/tools/errors.js +41 -0
  425. package/dist/tools/index.cjs +13 -1
  426. package/dist/tools/index.d.ts +4 -0
  427. package/dist/tools/index.d.ts.map +1 -1
  428. package/dist/tools/index.js +11 -1
  429. package/dist/tools/internal-tools/constants.cjs +3 -9
  430. package/dist/tools/internal-tools/constants.d.ts +1 -1
  431. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  432. package/dist/tools/internal-tools/constants.js +3 -9
  433. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
  434. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
  435. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
  436. package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
  437. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
  438. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
  439. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
  440. package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
  441. package/dist/tools/internal-tools/provider.cjs +153 -23
  442. package/dist/tools/internal-tools/provider.d.ts +55 -10
  443. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  444. package/dist/tools/internal-tools/provider.js +153 -23
  445. package/dist/tools/internal-tools/registry.cjs +18 -43
  446. package/dist/tools/internal-tools/registry.d.ts +4 -4
  447. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  448. package/dist/tools/internal-tools/registry.js +18 -43
  449. package/dist/tools/schemas.cjs +20 -0
  450. package/dist/tools/schemas.d.ts +43 -1
  451. package/dist/tools/schemas.d.ts.map +1 -1
  452. package/dist/tools/schemas.js +16 -0
  453. package/dist/tools/tool-manager.cjs +140 -13
  454. package/dist/tools/tool-manager.d.ts +22 -3
  455. package/dist/tools/tool-manager.d.ts.map +1 -1
  456. package/dist/tools/tool-manager.js +140 -13
  457. package/dist/tools/types.d.ts +43 -0
  458. package/dist/tools/types.d.ts.map +1 -1
  459. package/dist/utils/api-key-resolver.cjs +19 -1
  460. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  461. package/dist/utils/api-key-resolver.js +19 -1
  462. package/dist/utils/index.cjs +0 -2
  463. package/dist/utils/index.d.ts +0 -1
  464. package/dist/utils/index.d.ts.map +1 -1
  465. package/dist/utils/index.js +0 -1
  466. package/dist/utils/redactor.cjs +18 -3
  467. package/dist/utils/redactor.d.ts +0 -7
  468. package/dist/utils/redactor.d.ts.map +1 -1
  469. package/dist/utils/redactor.js +18 -3
  470. package/dist/utils/service-initializer.cjs +9 -35
  471. package/dist/utils/service-initializer.d.ts.map +1 -1
  472. package/dist/utils/service-initializer.js +9 -35
  473. package/package.json +5 -2
  474. package/dist/context/compression/overflow.d.ts.map +0 -1
  475. package/dist/context/compression/reactive-overflow.d.ts.map +0 -1
  476. package/dist/context/compression/types.d.ts.map +0 -1
  477. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -130
  478. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
  479. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
  480. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -97
  481. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
  482. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
  483. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
  484. package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
  485. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -127
  486. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
  487. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
  488. package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -104
  489. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -70
  490. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
  491. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
  492. package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -47
  493. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -86
  494. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
  495. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
  496. package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -63
  497. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
  498. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
  499. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
  500. package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
  501. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -63
  502. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
  503. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
  504. package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -40
  505. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -124
  506. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
  507. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
  508. package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -103
  509. package/dist/utils/env-file.cjs +0 -118
  510. package/dist/utils/env-file.d.ts +0 -5
  511. package/dist/utils/env-file.d.ts.map +0 -1
  512. package/dist/utils/env-file.js +0 -85
  513. /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
  514. /package/dist/context/{compression → compaction}/types.cjs +0 -0
@@ -24,6 +24,15 @@ class LLMError {
24
24
  { provider }
25
25
  );
26
26
  }
27
+ static missingConfig(provider, configName) {
28
+ return new DextoRuntimeError(
29
+ LLMErrorCode.CONFIG_MISSING,
30
+ ErrorScope.LLM,
31
+ ErrorType.USER,
32
+ `Provider '${provider}' requires ${configName}`,
33
+ { provider, configName }
34
+ );
35
+ }
27
36
  static unsupportedProvider(provider) {
28
37
  const availableProviders = getSupportedProviders();
29
38
  return new DextoRuntimeError(
@@ -34,6 +43,21 @@ class LLMError {
34
43
  { provider, availableProviders }
35
44
  );
36
45
  }
46
+ /**
47
+ * Runtime error when API key is missing for a provider that requires it.
48
+ * This occurs when relaxed validation allowed the app to start without an API key,
49
+ * and the user then tries to use the LLM functionality.
50
+ */
51
+ static apiKeyMissing(provider, envVar) {
52
+ return new DextoRuntimeError(
53
+ LLMErrorCode.API_KEY_MISSING,
54
+ ErrorScope.LLM,
55
+ ErrorType.USER,
56
+ `API key required for provider '${provider}'`,
57
+ { provider, envVar },
58
+ `Set the ${envVar} environment variable or configure it in Settings`
59
+ );
60
+ }
37
61
  static modelProviderUnknown(model) {
38
62
  const availableProviders = getSupportedProviders();
39
63
  return new DextoRuntimeError(
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var provider_options_exports = {};
20
+ __export(provider_options_exports, {
21
+ buildProviderOptions: () => buildProviderOptions,
22
+ getDefaultReasoningEffort: () => getDefaultReasoningEffort
23
+ });
24
+ module.exports = __toCommonJS(provider_options_exports);
25
+ var import_registry = require("../registry.js");
26
+ function buildProviderOptions(config) {
27
+ const { provider, model, reasoningEffort } = config;
28
+ const modelLower = model.toLowerCase();
29
+ if (provider === "anthropic") {
30
+ return {
31
+ anthropic: {
32
+ // Enable prompt caching - saves money and improves latency
33
+ cacheControl: { type: "ephemeral" },
34
+ // Stream reasoning/thinking content when model supports it
35
+ sendReasoning: true
36
+ }
37
+ };
38
+ }
39
+ if (provider === "bedrock" && modelLower.includes("claude")) {
40
+ return {
41
+ bedrock: {
42
+ cacheControl: { type: "ephemeral" },
43
+ sendReasoning: true
44
+ }
45
+ };
46
+ }
47
+ if (provider === "vertex" && modelLower.includes("claude")) {
48
+ return {
49
+ "vertex-anthropic": {
50
+ cacheControl: { type: "ephemeral" },
51
+ sendReasoning: true
52
+ }
53
+ };
54
+ }
55
+ if (provider === "google" || provider === "vertex" && !modelLower.includes("claude")) {
56
+ return {
57
+ google: {
58
+ thinkingConfig: {
59
+ // Include thoughts in the response for transparency
60
+ includeThoughts: true
61
+ }
62
+ }
63
+ };
64
+ }
65
+ if (provider === "openai") {
66
+ const effectiveEffort = reasoningEffort ?? getDefaultReasoningEffort(model);
67
+ if (effectiveEffort) {
68
+ return {
69
+ openai: {
70
+ reasoningEffort: effectiveEffort
71
+ }
72
+ };
73
+ }
74
+ }
75
+ return void 0;
76
+ }
77
+ function getDefaultReasoningEffort(model) {
78
+ if ((0, import_registry.isReasoningCapableModel)(model)) {
79
+ return "medium";
80
+ }
81
+ return void 0;
82
+ }
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ buildProviderOptions,
86
+ getDefaultReasoningEffort
87
+ });
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Provider-specific options builder for Vercel AI SDK's streamText/generateText.
3
+ *
4
+ * Centralizes provider-specific configuration that requires explicit opt-in:
5
+ * - Anthropic: cacheControl for prompt caching, sendReasoning for extended thinking
6
+ * - Bedrock/Vertex Claude: Same as Anthropic (Claude models on these platforms)
7
+ * - Google: thinkingConfig for Gemini thinking models
8
+ * - OpenAI: reasoningEffort for o1/o3/codex/gpt-5 models
9
+ *
10
+ * Caching notes:
11
+ * - Anthropic: Requires explicit cacheControl option (we enable it)
12
+ * - OpenAI: Automatic for prompts ≥1024 tokens (no config needed)
13
+ * - Google: Implicit caching automatic for Gemini 2.5+ (≥1024 tokens for Flash,
14
+ * ≥2048 for Pro). Explicit caching requires pre-created cachedContent IDs.
15
+ * All providers return cached token counts in the response (cachedInputTokens).
16
+ */
17
+ import type { LLMProvider } from '../types.js';
18
+ export type ReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
19
+ export interface ProviderOptionsConfig {
20
+ provider: LLMProvider;
21
+ model: string;
22
+ reasoningEffort?: ReasoningEffort | undefined;
23
+ }
24
+ /**
25
+ * Build provider-specific options for streamText/generateText.
26
+ *
27
+ * @param config Provider, model, and optional reasoning effort configuration
28
+ * @returns Provider options object or undefined if no special options needed
29
+ */
30
+ export declare function buildProviderOptions(config: ProviderOptionsConfig): Record<string, Record<string, unknown>> | undefined;
31
+ /**
32
+ * Determine the default reasoning effort for OpenAI models.
33
+ *
34
+ * OpenAI reasoning effort levels (from lowest to highest):
35
+ * - 'none': No reasoning, fastest responses
36
+ * - 'low': Minimal reasoning, fast responses
37
+ * - 'medium': Balanced reasoning (OpenAI's recommended daily driver)
38
+ * - 'high': Thorough reasoning for complex tasks
39
+ * - 'xhigh': Extra high reasoning for quality-critical, non-latency-sensitive tasks
40
+ *
41
+ * Default strategy:
42
+ * - Reasoning-capable models (codex, o1, o3, gpt-5): 'medium' - OpenAI's recommended default
43
+ * - Other models: undefined (no reasoning effort needed)
44
+ *
45
+ * @param model The model name
46
+ * @returns Reasoning effort level or undefined if not applicable
47
+ */
48
+ export declare function getDefaultReasoningEffort(model: string): Exclude<ReasoningEffort, 'none'> | undefined;
49
+ //# sourceMappingURL=provider-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-options.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/provider-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACjD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,qBAAqB,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAgErD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,SAAS,CAS9C"}
@@ -0,0 +1,63 @@
1
+ import "../../chunk-PTJYTZNU.js";
2
+ import { isReasoningCapableModel } from "../registry.js";
3
+ function buildProviderOptions(config) {
4
+ const { provider, model, reasoningEffort } = config;
5
+ const modelLower = model.toLowerCase();
6
+ if (provider === "anthropic") {
7
+ return {
8
+ anthropic: {
9
+ // Enable prompt caching - saves money and improves latency
10
+ cacheControl: { type: "ephemeral" },
11
+ // Stream reasoning/thinking content when model supports it
12
+ sendReasoning: true
13
+ }
14
+ };
15
+ }
16
+ if (provider === "bedrock" && modelLower.includes("claude")) {
17
+ return {
18
+ bedrock: {
19
+ cacheControl: { type: "ephemeral" },
20
+ sendReasoning: true
21
+ }
22
+ };
23
+ }
24
+ if (provider === "vertex" && modelLower.includes("claude")) {
25
+ return {
26
+ "vertex-anthropic": {
27
+ cacheControl: { type: "ephemeral" },
28
+ sendReasoning: true
29
+ }
30
+ };
31
+ }
32
+ if (provider === "google" || provider === "vertex" && !modelLower.includes("claude")) {
33
+ return {
34
+ google: {
35
+ thinkingConfig: {
36
+ // Include thoughts in the response for transparency
37
+ includeThoughts: true
38
+ }
39
+ }
40
+ };
41
+ }
42
+ if (provider === "openai") {
43
+ const effectiveEffort = reasoningEffort ?? getDefaultReasoningEffort(model);
44
+ if (effectiveEffort) {
45
+ return {
46
+ openai: {
47
+ reasoningEffort: effectiveEffort
48
+ }
49
+ };
50
+ }
51
+ }
52
+ return void 0;
53
+ }
54
+ function getDefaultReasoningEffort(model) {
55
+ if (isReasoningCapableModel(model)) {
56
+ return "medium";
57
+ }
58
+ return void 0;
59
+ }
60
+ export {
61
+ buildProviderOptions,
62
+ getDefaultReasoningEffort
63
+ };
@@ -88,22 +88,30 @@ class StreamProcessor {
88
88
  });
89
89
  }
90
90
  break;
91
- case "tool-call":
91
+ case "tool-call": {
92
92
  if (!this.assistantMessageId) {
93
93
  this.assistantMessageId = await this.createAssistantMessage();
94
94
  }
95
- await this.contextManager.addToolCall(this.assistantMessageId, {
95
+ const toolCall = {
96
96
  id: event.toolCallId,
97
97
  type: "function",
98
98
  function: {
99
99
  name: event.toolName,
100
100
  arguments: JSON.stringify(event.input)
101
101
  }
102
- });
102
+ };
103
+ const shouldPersistProviderMetadata = this.config.provider === "google" || this.config.provider === "vertex";
104
+ if (shouldPersistProviderMetadata && event.providerMetadata) {
105
+ toolCall.providerOptions = {
106
+ ...event.providerMetadata
107
+ };
108
+ }
109
+ await this.contextManager.addToolCall(this.assistantMessageId, toolCall);
103
110
  this.pendingToolCalls.set(event.toolCallId, {
104
111
  toolName: event.toolName
105
112
  });
106
113
  break;
114
+ }
107
115
  case "tool-result": {
108
116
  const rawResult = event.output;
109
117
  this.logger.debug("Tool result received", {
@@ -150,8 +158,10 @@ class StreamProcessor {
150
158
  }
151
159
  case "finish-step":
152
160
  if (event.usage) {
153
- const cacheWriteTokens = event.providerMetadata?.["anthropic"]?.["cacheCreationInputTokens"] ?? // @ts-expect-error - Bedrock metadata typing not in Vercel SDK
154
- event.providerMetadata?.["bedrock"]?.["usage"]?.["cacheWriteInputTokens"] ?? 0;
161
+ const anthropicMeta = event.providerMetadata?.["anthropic"];
162
+ const bedrockMeta = event.providerMetadata?.["bedrock"];
163
+ const cacheWriteTokens = anthropicMeta?.["cacheCreationInputTokens"] ?? bedrockMeta?.usage?.["cacheWriteInputTokens"] ?? 0;
164
+ const cacheReadTokens = anthropicMeta?.["cacheReadInputTokens"] ?? bedrockMeta?.usage?.["cacheReadInputTokens"] ?? event.usage.cachedInputTokens ?? 0;
155
165
  this.actualTokens = {
156
166
  inputTokens: (this.actualTokens.inputTokens ?? 0) + (event.usage.inputTokens ?? 0),
157
167
  outputTokens: (this.actualTokens.outputTokens ?? 0) + (event.usage.outputTokens ?? 0),
@@ -160,16 +170,17 @@ class StreamProcessor {
160
170
  reasoningTokens: (this.actualTokens.reasoningTokens ?? 0) + event.usage.reasoningTokens
161
171
  },
162
172
  // Cache tokens
163
- cacheReadTokens: (this.actualTokens.cacheReadTokens ?? 0) + (event.usage.cachedInputTokens ?? 0),
173
+ cacheReadTokens: (this.actualTokens.cacheReadTokens ?? 0) + cacheReadTokens,
164
174
  cacheWriteTokens: (this.actualTokens.cacheWriteTokens ?? 0) + cacheWriteTokens
165
175
  };
166
176
  }
167
177
  break;
168
178
  case "finish": {
169
179
  this.finishReason = event.finishReason;
170
- const cachedInputTokens = event.totalUsage.cachedInputTokens ?? 0;
180
+ const cacheReadTokens = this.actualTokens.cacheReadTokens ?? event.totalUsage.cachedInputTokens ?? 0;
181
+ const cacheWriteTokens = this.actualTokens.cacheWriteTokens ?? 0;
171
182
  const providerExcludesCached = this.config.provider === "anthropic" || this.config.provider === "bedrock";
172
- const adjustedInputTokens = providerExcludesCached ? event.totalUsage.inputTokens ?? 0 : (event.totalUsage.inputTokens ?? 0) - cachedInputTokens;
183
+ const adjustedInputTokens = providerExcludesCached ? event.totalUsage.inputTokens ?? 0 : (event.totalUsage.inputTokens ?? 0) - cacheReadTokens;
173
184
  const usage = {
174
185
  inputTokens: adjustedInputTokens,
175
186
  outputTokens: event.totalUsage.outputTokens ?? 0,
@@ -178,9 +189,9 @@ class StreamProcessor {
178
189
  ...event.totalUsage.reasoningTokens !== void 0 && {
179
190
  reasoningTokens: event.totalUsage.reasoningTokens
180
191
  },
181
- // Cache tokens - read from totalUsage, write from accumulated finish-step events
182
- cacheReadTokens: cachedInputTokens,
183
- cacheWriteTokens: this.actualTokens.cacheWriteTokens ?? 0
192
+ // Cache tokens from accumulated finish-step events or totalUsage fallback
193
+ cacheReadTokens,
194
+ cacheWriteTokens
184
195
  };
185
196
  this.actualTokens = usage;
186
197
  this.logger.info("LLM response complete", {
@@ -1 +1 @@
1
- {"version":3,"file":"stream-processor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/stream-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IAwBpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,gBAAgB,CAAC;IA9B7B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,YAAY,CAAmE;IACvF,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,MAAM,CAAe;IAC7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAgD;IAExE;;;;;;;;;OASG;gBAES,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,qBAAqB,EACrC,MAAM,EAAE,YAAY,EACZ,SAAS,GAAE,OAAc,EACzB,gBAAgB,CAAC,EAAE,GAAG,CAC1B,MAAM,EACN;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,CACzE,YAAA;IAKC,OAAO,CACT,QAAQ,EAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,GACzD,OAAO,CAAC,qBAAqB,CAAC;YAmYnB,sBAAsB;YAKtB,gBAAgB;IAO9B;;;;OAIG;YACW,2BAA2B;CAmC5C"}
1
+ {"version":3,"file":"stream-processor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/stream-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IAwBpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,gBAAgB,CAAC;IA9B7B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,YAAY,CAAmE;IACvF,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,MAAM,CAAe;IAC7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAgD;IAExE;;;;;;;;;OASG;gBAES,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,qBAAqB,EACrC,MAAM,EAAE,YAAY,EACZ,SAAS,GAAE,OAAc,EACzB,gBAAgB,CAAC,EAAE,GAAG,CAC1B,MAAM,EACN;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,CACzE,YAAA;IAKC,OAAO,CACT,QAAQ,EAAE,MAAM,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,GACzD,OAAO,CAAC,qBAAqB,CAAC;YAmanB,sBAAsB;YAKtB,gBAAgB;IAO9B;;;;OAIG;YACW,2BAA2B;CAmC5C"}
@@ -66,22 +66,30 @@ class StreamProcessor {
66
66
  });
67
67
  }
68
68
  break;
69
- case "tool-call":
69
+ case "tool-call": {
70
70
  if (!this.assistantMessageId) {
71
71
  this.assistantMessageId = await this.createAssistantMessage();
72
72
  }
73
- await this.contextManager.addToolCall(this.assistantMessageId, {
73
+ const toolCall = {
74
74
  id: event.toolCallId,
75
75
  type: "function",
76
76
  function: {
77
77
  name: event.toolName,
78
78
  arguments: JSON.stringify(event.input)
79
79
  }
80
- });
80
+ };
81
+ const shouldPersistProviderMetadata = this.config.provider === "google" || this.config.provider === "vertex";
82
+ if (shouldPersistProviderMetadata && event.providerMetadata) {
83
+ toolCall.providerOptions = {
84
+ ...event.providerMetadata
85
+ };
86
+ }
87
+ await this.contextManager.addToolCall(this.assistantMessageId, toolCall);
81
88
  this.pendingToolCalls.set(event.toolCallId, {
82
89
  toolName: event.toolName
83
90
  });
84
91
  break;
92
+ }
85
93
  case "tool-result": {
86
94
  const rawResult = event.output;
87
95
  this.logger.debug("Tool result received", {
@@ -128,8 +136,10 @@ class StreamProcessor {
128
136
  }
129
137
  case "finish-step":
130
138
  if (event.usage) {
131
- const cacheWriteTokens = event.providerMetadata?.["anthropic"]?.["cacheCreationInputTokens"] ?? // @ts-expect-error - Bedrock metadata typing not in Vercel SDK
132
- event.providerMetadata?.["bedrock"]?.["usage"]?.["cacheWriteInputTokens"] ?? 0;
139
+ const anthropicMeta = event.providerMetadata?.["anthropic"];
140
+ const bedrockMeta = event.providerMetadata?.["bedrock"];
141
+ const cacheWriteTokens = anthropicMeta?.["cacheCreationInputTokens"] ?? bedrockMeta?.usage?.["cacheWriteInputTokens"] ?? 0;
142
+ const cacheReadTokens = anthropicMeta?.["cacheReadInputTokens"] ?? bedrockMeta?.usage?.["cacheReadInputTokens"] ?? event.usage.cachedInputTokens ?? 0;
133
143
  this.actualTokens = {
134
144
  inputTokens: (this.actualTokens.inputTokens ?? 0) + (event.usage.inputTokens ?? 0),
135
145
  outputTokens: (this.actualTokens.outputTokens ?? 0) + (event.usage.outputTokens ?? 0),
@@ -138,16 +148,17 @@ class StreamProcessor {
138
148
  reasoningTokens: (this.actualTokens.reasoningTokens ?? 0) + event.usage.reasoningTokens
139
149
  },
140
150
  // Cache tokens
141
- cacheReadTokens: (this.actualTokens.cacheReadTokens ?? 0) + (event.usage.cachedInputTokens ?? 0),
151
+ cacheReadTokens: (this.actualTokens.cacheReadTokens ?? 0) + cacheReadTokens,
142
152
  cacheWriteTokens: (this.actualTokens.cacheWriteTokens ?? 0) + cacheWriteTokens
143
153
  };
144
154
  }
145
155
  break;
146
156
  case "finish": {
147
157
  this.finishReason = event.finishReason;
148
- const cachedInputTokens = event.totalUsage.cachedInputTokens ?? 0;
158
+ const cacheReadTokens = this.actualTokens.cacheReadTokens ?? event.totalUsage.cachedInputTokens ?? 0;
159
+ const cacheWriteTokens = this.actualTokens.cacheWriteTokens ?? 0;
149
160
  const providerExcludesCached = this.config.provider === "anthropic" || this.config.provider === "bedrock";
150
- const adjustedInputTokens = providerExcludesCached ? event.totalUsage.inputTokens ?? 0 : (event.totalUsage.inputTokens ?? 0) - cachedInputTokens;
161
+ const adjustedInputTokens = providerExcludesCached ? event.totalUsage.inputTokens ?? 0 : (event.totalUsage.inputTokens ?? 0) - cacheReadTokens;
151
162
  const usage = {
152
163
  inputTokens: adjustedInputTokens,
153
164
  outputTokens: event.totalUsage.outputTokens ?? 0,
@@ -156,9 +167,9 @@ class StreamProcessor {
156
167
  ...event.totalUsage.reasoningTokens !== void 0 && {
157
168
  reasoningTokens: event.totalUsage.reasoningTokens
158
169
  },
159
- // Cache tokens - read from totalUsage, write from accumulated finish-step events
160
- cacheReadTokens: cachedInputTokens,
161
- cacheWriteTokens: this.actualTokens.cacheWriteTokens ?? 0
170
+ // Cache tokens from accumulated finish-step events or totalUsage fallback
171
+ cacheReadTokens,
172
+ cacheWriteTokens
162
173
  };
163
174
  this.actualTokens = usage;
164
175
  this.logger.info("LLM response complete", {
@@ -79,17 +79,19 @@ module.exports = __toCommonJS(turn_executor_exports);
79
79
  var import_ai = require("ai");
80
80
  var import_api = require("@opentelemetry/api");
81
81
  var import_stream_processor = require("./stream-processor.js");
82
+ var import_provider_options = require("./provider-options.js");
82
83
  var import_types4 = require("../../logger/v2/types.js");
83
84
  var import_defer = require("../../utils/defer.js");
84
85
  var import_DextoRuntimeError = require("../../errors/DextoRuntimeError.js");
85
86
  var import_types7 = require("../../errors/types.js");
86
87
  var import_error_codes = require("../error-codes.js");
87
88
  var import_error_conversion = require("../../utils/error-conversion.js");
88
- var import_overflow = require("../../context/compression/overflow.js");
89
- var import_reactive_overflow = require("../../context/compression/reactive-overflow.js");
89
+ var import_overflow = require("../../context/compaction/overflow.js");
90
+ var import_reactive_overflow = require("../../context/compaction/strategies/reactive-overflow.js");
90
91
  const toolSupportCache = /* @__PURE__ */ new Map();
92
+ const LOCAL_PROVIDERS = ["ollama", "local"];
91
93
  class TurnExecutor {
92
- constructor(model, toolManager, contextManager, eventBus, resourceManager, sessionId, config, llmContext, logger, messageQueue, modelLimits, externalSignal) {
94
+ constructor(model, toolManager, contextManager, eventBus, resourceManager, sessionId, config, llmContext, logger, messageQueue, modelLimits, externalSignal, compactionStrategy) {
93
95
  this.model = model;
94
96
  this.toolManager = toolManager;
95
97
  this.contextManager = contextManager;
@@ -103,8 +105,10 @@ class TurnExecutor {
103
105
  this.externalSignal = externalSignal;
104
106
  this.logger = logger.createChild(import_types4.DextoLogComponent.EXECUTOR);
105
107
  this.stepAbortController = new AbortController();
106
- if (modelLimits) {
107
- this.compressionStrategy = new import_reactive_overflow.ReactiveOverflowStrategy(model, {}, this.logger);
108
+ if (compactionStrategy !== void 0) {
109
+ this.compactionStrategy = compactionStrategy;
110
+ } else if (modelLimits) {
111
+ this.compactionStrategy = new import_reactive_overflow.ReactiveOverflowStrategy(model, {}, this.logger);
108
112
  }
109
113
  }
110
114
  logger;
@@ -113,8 +117,7 @@ class TurnExecutor {
113
117
  * This allows soft cancel (abort current step) while still continuing with queued messages.
114
118
  */
115
119
  stepAbortController;
116
- // TODO: improve compression configurability
117
- compressionStrategy = null;
120
+ compactionStrategy = null;
118
121
  /**
119
122
  * Map to track approval metadata by toolCallId.
120
123
  * Used to pass approval info from tool execution to result persistence.
@@ -147,6 +150,24 @@ class TurnExecutor {
147
150
  let lastText = "";
148
151
  this.eventBus.emit("llm:thinking");
149
152
  const supportsTools = await this.validateToolSupport();
153
+ if (!supportsTools) {
154
+ const modelKey = `${this.llmContext.provider}:${this.llmContext.model}`;
155
+ this.eventBus.emit("llm:unsupported-input", {
156
+ errors: [
157
+ `Model '${modelKey}' does not support tool calling.`,
158
+ "You can still chat, but the model will not be able to use tools or execute commands."
159
+ ],
160
+ provider: this.llmContext.provider,
161
+ model: this.llmContext.model,
162
+ details: {
163
+ feature: "tool-calling",
164
+ supported: false
165
+ }
166
+ });
167
+ this.logger.warn(
168
+ `Model ${modelKey} does not support tools - continuing without tool calling`
169
+ );
170
+ }
150
171
  let currentAbortHandler = null;
151
172
  try {
152
173
  while (true) {
@@ -183,6 +204,11 @@ class TurnExecutor {
183
204
  streaming,
184
205
  this.approvalMetadata
185
206
  );
207
+ const providerOptions = (0, import_provider_options.buildProviderOptions)({
208
+ provider: this.llmContext.provider,
209
+ model: this.llmContext.model,
210
+ reasoningEffort: this.config.reasoningEffort
211
+ });
186
212
  const result = await streamProcessor.process(
187
213
  () => (0, import_ai.streamText)({
188
214
  model: this.model,
@@ -196,6 +222,10 @@ class TurnExecutor {
196
222
  ...this.config.temperature !== void 0 && {
197
223
  temperature: this.config.temperature
198
224
  },
225
+ // Provider-specific options (caching, reasoning, etc.)
226
+ ...providerOptions !== void 0 && {
227
+ providerOptions
228
+ },
199
229
  // Log stream-level errors (tool errors, API errors during streaming)
200
230
  onError: (error) => {
201
231
  this.logger.error("Stream error", { error });
@@ -299,20 +329,25 @@ class TurnExecutor {
299
329
  * Validates if the current model supports tools.
300
330
  * Uses a static cache to avoid repeated validation calls.
301
331
  *
302
- * For models using custom baseURL endpoints, makes a test call to verify tool support.
303
- * Built-in providers without baseURL are assumed to support tools.
332
+ * For local providers (Ollama, local) and custom baseURL endpoints, makes a test call to verify tool support.
333
+ * Known cloud providers without baseURL are assumed to support tools.
304
334
  */
305
335
  async validateToolSupport() {
306
336
  const modelKey = `${this.llmContext.provider}:${this.llmContext.model}:${this.config.baseURL ?? ""}`;
307
337
  if (toolSupportCache.has(modelKey)) {
308
338
  return toolSupportCache.get(modelKey);
309
339
  }
310
- if (!this.config.baseURL) {
311
- this.logger.debug(`Skipping tool validation for ${modelKey} - no custom baseURL`);
340
+ const isLocalProvider = LOCAL_PROVIDERS.includes(this.llmContext.provider);
341
+ if (!this.config.baseURL && !isLocalProvider) {
342
+ this.logger.debug(
343
+ `Skipping tool validation for ${modelKey} - known cloud provider without custom baseURL`
344
+ );
312
345
  toolSupportCache.set(modelKey, true);
313
346
  return true;
314
347
  }
315
- this.logger.debug(`Testing tool support for custom endpoint model: ${modelKey}`);
348
+ this.logger.debug(
349
+ `Testing tool support for ${isLocalProvider ? "local provider" : "custom endpoint"} model: ${modelKey}`
350
+ );
316
351
  const testTool = {
317
352
  test_tool: {
318
353
  inputSchema: (0, import_ai.jsonSchema)({
@@ -342,7 +377,9 @@ class TurnExecutor {
342
377
  const errorMessage = error instanceof Error ? error.message : String(error);
343
378
  if (errorMessage.includes("does not support tools")) {
344
379
  toolSupportCache.set(modelKey, false);
345
- this.logger.debug(`Model ${modelKey} does not support tools`);
380
+ this.logger.debug(
381
+ `Detected that model ${modelKey} does not support tool calling - tool functionality will be disabled`
382
+ );
346
383
  return false;
347
384
  }
348
385
  this.logger.debug(
@@ -623,7 +660,7 @@ class TurnExecutor {
623
660
  * Check if context has overflowed based on actual token usage from API.
624
661
  */
625
662
  checkAndHandleOverflow(tokens) {
626
- if (!this.modelLimits || !this.compressionStrategy) {
663
+ if (!this.modelLimits || !this.compactionStrategy) {
627
664
  return false;
628
665
  }
629
666
  return (0, import_overflow.isOverflow)(tokens, this.modelLimits);
@@ -638,16 +675,16 @@ class TurnExecutor {
638
675
  * @param originalTokens The actual input token count from API that triggered overflow
639
676
  */
640
677
  async compress(originalTokens) {
641
- if (!this.compressionStrategy) {
678
+ if (!this.compactionStrategy) {
642
679
  return;
643
680
  }
644
681
  this.logger.info(
645
682
  `Context overflow detected (${originalTokens} tokens), running compression`
646
683
  );
647
684
  const history = await this.contextManager.getHistory();
648
- const summaryMessages = await this.compressionStrategy.compress(history);
685
+ const summaryMessages = await this.compactionStrategy.compact(history);
649
686
  if (summaryMessages.length === 0) {
650
- this.logger.debug("Compression returned no summary (history too short)");
687
+ this.logger.debug("Compaction returned no summary (history too short)");
651
688
  return;
652
689
  }
653
690
  for (const summary of summaryMessages) {
@@ -656,17 +693,17 @@ class TurnExecutor {
656
693
  const { filterCompacted, estimateMessagesTokens } = await import("../../context/utils.js");
657
694
  const updatedHistory = await this.contextManager.getHistory();
658
695
  const filteredHistory = filterCompacted(updatedHistory);
659
- const compressedTokens = estimateMessagesTokens(filteredHistory);
660
- this.eventBus.emit("context:compressed", {
696
+ const compactedTokens = estimateMessagesTokens(filteredHistory);
697
+ this.eventBus.emit("context:compacted", {
661
698
  originalTokens,
662
- compressedTokens,
699
+ compactedTokens,
663
700
  originalMessages: history.length,
664
- compressedMessages: filteredHistory.length,
665
- strategy: this.compressionStrategy.name,
701
+ compactedMessages: filteredHistory.length,
702
+ strategy: this.compactionStrategy.name,
666
703
  reason: "overflow"
667
704
  });
668
705
  this.logger.info(
669
- `Compression complete: ${originalTokens} \u2192 ~${compressedTokens} tokens (${history.length} \u2192 ${filteredHistory.length} messages after filtering)`
706
+ `Compaction complete: ${originalTokens} \u2192 ~${compactedTokens} tokens (${history.length} \u2192 ${filteredHistory.length} messages after filtering)`
670
707
  );
671
708
  }
672
709
  /**
@@ -8,7 +8,8 @@ import type { ResourceManager } from '../../resources/index.js';
8
8
  import { DynamicContributorContext } from '../../systemPrompt/types.js';
9
9
  import { LLMContext } from '../types.js';
10
10
  import type { MessageQueueService } from '../../session/message-queue.js';
11
- import { type ModelLimits } from '../../context/compression/overflow.js';
11
+ import { type ModelLimits } from '../../context/compaction/overflow.js';
12
+ import type { ICompactionStrategy } from '../../context/compaction/types.js';
12
13
  /**
13
14
  * TurnExecutor orchestrates the agent loop using `stopWhen: stepCountIs(1)`.
14
15
  *
@@ -39,7 +40,7 @@ export declare class TurnExecutor {
39
40
  * This allows soft cancel (abort current step) while still continuing with queued messages.
40
41
  */
41
42
  private stepAbortController;
42
- private compressionStrategy;
43
+ private compactionStrategy;
43
44
  /**
44
45
  * Map to track approval metadata by toolCallId.
45
46
  * Used to pass approval info from tool execution to result persistence.
@@ -50,7 +51,8 @@ export declare class TurnExecutor {
50
51
  maxOutputTokens?: number | undefined;
51
52
  temperature?: number | undefined;
52
53
  baseURL?: string | undefined;
53
- }, llmContext: LLMContext, logger: IDextoLogger, messageQueue: MessageQueueService, modelLimits?: ModelLimits | undefined, externalSignal?: AbortSignal | undefined);
54
+ reasoningEffort?: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | undefined;
55
+ }, llmContext: LLMContext, logger: IDextoLogger, messageQueue: MessageQueueService, modelLimits?: ModelLimits | undefined, externalSignal?: AbortSignal | undefined, compactionStrategy?: ICompactionStrategy | null);
54
56
  /**
55
57
  * Get StreamProcessor config from TurnExecutor state.
56
58
  */
@@ -77,8 +79,8 @@ export declare class TurnExecutor {
77
79
  * Validates if the current model supports tools.
78
80
  * Uses a static cache to avoid repeated validation calls.
79
81
  *
80
- * For models using custom baseURL endpoints, makes a test call to verify tool support.
81
- * Built-in providers without baseURL are assumed to support tools.
82
+ * For local providers (Ollama, local) and custom baseURL endpoints, makes a test call to verify tool support.
83
+ * Known cloud providers without baseURL are assumed to support tools.
82
84
  */
83
85
  private validateToolSupport;
84
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"turn-executor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/turn-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-executor.d.ts","sourceRoot":"","sources":["../../../src/llm/executor/turn-executor.ts"],"names":[],"mappings":"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"}