@dexto/core 1.3.0 → 1.5.0

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 (781) hide show
  1. package/README.md +53 -9
  2. package/dist/agent/DextoAgent.cjs +570 -210
  3. package/dist/agent/DextoAgent.d.ts +175 -35
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +568 -208
  6. package/dist/agent/agentCard.js +1 -1
  7. package/dist/agent/error-codes.cjs +1 -0
  8. package/dist/agent/error-codes.d.ts +2 -1
  9. package/dist/agent/error-codes.d.ts.map +1 -1
  10. package/dist/agent/error-codes.js +2 -1
  11. package/dist/agent/errors.cjs +13 -0
  12. package/dist/agent/errors.d.ts +4 -0
  13. package/dist/agent/errors.d.ts.map +1 -1
  14. package/dist/agent/errors.js +14 -1
  15. package/dist/agent/index.cjs +4 -1
  16. package/dist/agent/index.d.ts +2 -2
  17. package/dist/agent/index.d.ts.map +1 -1
  18. package/dist/agent/index.js +6 -2
  19. package/dist/agent/schemas.cjs +90 -68
  20. package/dist/agent/schemas.d.ts +5998 -146
  21. package/dist/agent/schemas.d.ts.map +1 -1
  22. package/dist/agent/schemas.js +90 -65
  23. package/dist/agent/state-manager.cjs +5 -5
  24. package/dist/agent/state-manager.d.ts +4 -4
  25. package/dist/agent/state-manager.js +6 -6
  26. package/dist/agent/types.d.ts +24 -10
  27. package/dist/agent/types.d.ts.map +1 -1
  28. package/dist/approval/error-codes.js +1 -1
  29. package/dist/approval/errors.js +1 -1
  30. package/dist/approval/factory.js +1 -1
  31. package/dist/approval/index.js +1 -1
  32. package/dist/approval/manager.cjs +234 -4
  33. package/dist/approval/manager.d.ts +131 -4
  34. package/dist/approval/manager.d.ts.map +1 -1
  35. package/dist/approval/manager.js +225 -5
  36. package/dist/approval/schemas.cjs +57 -7
  37. package/dist/approval/schemas.d.ts +344 -33
  38. package/dist/approval/schemas.d.ts.map +1 -1
  39. package/dist/approval/schemas.js +54 -8
  40. package/dist/approval/types.cjs +1 -0
  41. package/dist/approval/types.d.ts +32 -1
  42. package/dist/approval/types.d.ts.map +1 -1
  43. package/dist/approval/types.js +2 -1
  44. package/dist/{chunk-C6A6W6XS.js → chunk-PTJYTZNU.js} +44 -1
  45. package/dist/context/compaction/factory.cjs +57 -0
  46. package/dist/context/compaction/factory.d.ts +17 -0
  47. package/dist/context/compaction/factory.d.ts.map +1 -0
  48. package/dist/context/compaction/factory.js +34 -0
  49. package/dist/context/compaction/index.cjs +49 -0
  50. package/dist/context/compaction/index.d.ts +11 -0
  51. package/dist/context/compaction/index.d.ts.map +1 -0
  52. package/dist/context/compaction/index.js +19 -0
  53. package/dist/context/compaction/overflow.cjs +43 -0
  54. package/dist/context/compaction/overflow.d.ts +33 -0
  55. package/dist/context/compaction/overflow.d.ts.map +1 -0
  56. package/dist/context/compaction/overflow.js +19 -0
  57. package/dist/context/compaction/provider.cjs +16 -0
  58. package/dist/context/compaction/provider.d.ts +48 -0
  59. package/dist/context/compaction/provider.d.ts.map +1 -0
  60. package/dist/context/compaction/providers/noop-provider.cjs +48 -0
  61. package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
  62. package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
  63. package/dist/context/compaction/providers/noop-provider.js +24 -0
  64. package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
  65. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
  66. package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
  67. package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
  68. package/dist/{llm/tokenizer/factory.cjs → context/compaction/registry.cjs} +15 -20
  69. package/dist/context/compaction/registry.d.ts +19 -0
  70. package/dist/context/compaction/registry.d.ts.map +1 -0
  71. package/dist/context/compaction/registry.js +16 -0
  72. package/dist/context/compaction/schemas.cjs +38 -0
  73. package/dist/context/compaction/schemas.d.ts +24 -0
  74. package/dist/context/compaction/schemas.d.ts.map +1 -0
  75. package/dist/context/compaction/schemas.js +14 -0
  76. package/dist/{llm/tokenizer/types.cjs → context/compaction/strategies/noop.cjs} +12 -9
  77. package/dist/context/compaction/strategies/noop.d.ts +18 -0
  78. package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
  79. package/dist/context/compaction/strategies/noop.js +13 -0
  80. package/dist/context/compaction/strategies/reactive-overflow.cjs +201 -0
  81. package/dist/context/compaction/strategies/reactive-overflow.d.ts +81 -0
  82. package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
  83. package/dist/context/compaction/strategies/reactive-overflow.js +178 -0
  84. package/dist/context/compaction/types.d.ts +20 -0
  85. package/dist/context/compaction/types.d.ts.map +1 -0
  86. package/dist/context/error-codes.cjs +7 -0
  87. package/dist/context/error-codes.d.ts +8 -1
  88. package/dist/context/error-codes.d.ts.map +1 -1
  89. package/dist/context/error-codes.js +8 -1
  90. package/dist/context/errors.cjs +68 -0
  91. package/dist/context/errors.d.ts +21 -0
  92. package/dist/context/errors.d.ts.map +1 -1
  93. package/dist/context/errors.js +69 -1
  94. package/dist/context/index.cjs +3 -1
  95. package/dist/context/index.d.ts +1 -0
  96. package/dist/context/index.d.ts.map +1 -1
  97. package/dist/context/index.js +2 -1
  98. package/dist/context/manager.cjs +280 -323
  99. package/dist/context/manager.d.ts +65 -111
  100. package/dist/context/manager.d.ts.map +1 -1
  101. package/dist/context/manager.js +280 -328
  102. package/dist/context/media-helpers.js +1 -1
  103. package/dist/context/types.cjs +49 -0
  104. package/dist/context/types.d.ts +187 -72
  105. package/dist/context/types.d.ts.map +1 -1
  106. package/dist/context/types.js +35 -0
  107. package/dist/context/utils.cjs +293 -290
  108. package/dist/context/utils.d.ts +32 -18
  109. package/dist/context/utils.d.ts.map +1 -1
  110. package/dist/context/utils.js +293 -290
  111. package/dist/errors/DextoBaseError.js +1 -1
  112. package/dist/errors/DextoRuntimeError.js +1 -1
  113. package/dist/errors/DextoValidationError.js +1 -1
  114. package/dist/errors/index.js +1 -1
  115. package/dist/errors/result-bridge.cjs +2 -3
  116. package/dist/errors/result-bridge.d.ts.map +1 -1
  117. package/dist/errors/result-bridge.js +3 -4
  118. package/dist/errors/types.js +1 -1
  119. package/dist/events/index.cjs +18 -1
  120. package/dist/events/index.d.ts +149 -12
  121. package/dist/events/index.d.ts.map +1 -1
  122. package/dist/events/index.js +19 -2
  123. package/dist/filesystem/error-codes.js +1 -1
  124. package/dist/filesystem/errors.js +1 -1
  125. package/dist/filesystem/filesystem-service.cjs +39 -0
  126. package/dist/filesystem/filesystem-service.d.ts +32 -0
  127. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  128. package/dist/filesystem/filesystem-service.js +40 -1
  129. package/dist/filesystem/index.d.ts +1 -1
  130. package/dist/filesystem/index.d.ts.map +1 -1
  131. package/dist/filesystem/index.js +1 -1
  132. package/dist/filesystem/path-validator.cjs +69 -1
  133. package/dist/filesystem/path-validator.d.ts +43 -2
  134. package/dist/filesystem/path-validator.d.ts.map +1 -1
  135. package/dist/filesystem/path-validator.js +70 -2
  136. package/dist/image/define-image.cjs +146 -0
  137. package/dist/image/define-image.d.ts +71 -0
  138. package/dist/image/define-image.d.ts.map +1 -0
  139. package/dist/image/define-image.js +121 -0
  140. package/dist/{llm/tokenizer/default.cjs → image/index.cjs} +10 -19
  141. package/dist/image/index.d.ts +53 -0
  142. package/dist/image/index.d.ts.map +1 -0
  143. package/dist/image/index.js +7 -0
  144. package/dist/image/types.d.ts +231 -0
  145. package/dist/image/types.d.ts.map +1 -0
  146. package/dist/image/types.js +0 -0
  147. package/dist/index.browser.cjs +23 -8
  148. package/dist/index.browser.d.ts +4 -3
  149. package/dist/index.browser.d.ts.map +1 -1
  150. package/dist/index.browser.js +20 -3
  151. package/dist/index.cjs +5 -1
  152. package/dist/index.d.ts +2 -0
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +3 -1
  155. package/dist/llm/error-codes.cjs +1 -1
  156. package/dist/llm/error-codes.d.ts +1 -1
  157. package/dist/llm/error-codes.d.ts.map +1 -1
  158. package/dist/llm/error-codes.js +2 -2
  159. package/dist/llm/errors.cjs +34 -10
  160. package/dist/llm/errors.d.ts +23 -11
  161. package/dist/llm/errors.d.ts.map +1 -1
  162. package/dist/llm/errors.js +36 -12
  163. package/dist/llm/executor/stream-processor.cjs +375 -0
  164. package/dist/llm/executor/stream-processor.d.ts +55 -0
  165. package/dist/llm/executor/stream-processor.d.ts.map +1 -0
  166. package/dist/llm/executor/stream-processor.js +352 -0
  167. package/dist/llm/executor/tool-output-truncator.cjs +75 -0
  168. package/dist/llm/executor/tool-output-truncator.d.ts +27 -0
  169. package/dist/llm/executor/tool-output-truncator.d.ts.map +1 -0
  170. package/dist/llm/executor/tool-output-truncator.js +48 -0
  171. package/dist/llm/executor/turn-executor.cjs +780 -0
  172. package/dist/llm/executor/turn-executor.d.ts +167 -0
  173. package/dist/llm/executor/turn-executor.d.ts.map +1 -0
  174. package/dist/llm/executor/turn-executor.js +711 -0
  175. package/dist/llm/executor/types.cjs +16 -0
  176. package/dist/llm/executor/types.d.ts +27 -0
  177. package/dist/llm/executor/types.d.ts.map +1 -0
  178. package/dist/llm/executor/types.js +0 -0
  179. package/dist/llm/formatters/vercel.cjs +26 -188
  180. package/dist/llm/formatters/vercel.d.ts +2 -14
  181. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  182. package/dist/llm/formatters/vercel.js +25 -187
  183. package/dist/llm/index.cjs +18 -1
  184. package/dist/llm/index.d.ts +2 -0
  185. package/dist/llm/index.d.ts.map +1 -1
  186. package/dist/llm/index.js +14 -0
  187. package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
  188. package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
  189. package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
  190. package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
  191. package/dist/llm/providers/local/downloader.cjs +291 -0
  192. package/dist/llm/providers/local/downloader.d.ts +82 -0
  193. package/dist/llm/providers/local/downloader.d.ts.map +1 -0
  194. package/dist/llm/providers/local/downloader.js +251 -0
  195. package/dist/llm/providers/local/error-codes.cjs +57 -0
  196. package/dist/llm/providers/local/error-codes.d.ts +66 -0
  197. package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
  198. package/dist/llm/providers/local/error-codes.js +34 -0
  199. package/dist/llm/providers/local/errors.cjs +240 -0
  200. package/dist/llm/providers/local/errors.d.ts +31 -0
  201. package/dist/llm/providers/local/errors.d.ts.map +1 -0
  202. package/dist/llm/providers/local/errors.js +217 -0
  203. package/dist/llm/providers/local/gpu-detector.cjs +214 -0
  204. package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
  205. package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
  206. package/dist/llm/providers/local/gpu-detector.js +178 -0
  207. package/dist/llm/providers/local/index.cjs +147 -0
  208. package/dist/llm/providers/local/index.d.ts +21 -0
  209. package/dist/llm/providers/local/index.d.ts.map +1 -0
  210. package/dist/llm/providers/local/index.js +126 -0
  211. package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
  212. package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
  213. package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
  214. package/dist/llm/providers/local/node-llama-provider.js +176 -0
  215. package/dist/llm/providers/local/ollama-provider.cjs +230 -0
  216. package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
  217. package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
  218. package/dist/llm/providers/local/ollama-provider.js +198 -0
  219. package/dist/llm/providers/local/registry.cjs +343 -0
  220. package/dist/llm/providers/local/registry.d.ts +51 -0
  221. package/dist/llm/providers/local/registry.d.ts.map +1 -0
  222. package/dist/llm/providers/local/registry.js +312 -0
  223. package/dist/llm/providers/local/schemas.cjs +169 -0
  224. package/dist/llm/providers/local/schemas.d.ts +395 -0
  225. package/dist/llm/providers/local/schemas.d.ts.map +1 -0
  226. package/dist/llm/providers/local/schemas.js +133 -0
  227. package/dist/llm/providers/local/types.cjs +16 -0
  228. package/dist/llm/providers/local/types.d.ts +219 -0
  229. package/dist/llm/providers/local/types.d.ts.map +1 -0
  230. package/dist/llm/providers/local/types.js +0 -0
  231. package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
  232. package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
  233. package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
  234. package/dist/llm/providers/openrouter-model-registry.js +309 -0
  235. package/dist/llm/registry.cjs +569 -52
  236. package/dist/llm/registry.d.ts +79 -39
  237. package/dist/llm/registry.d.ts.map +1 -1
  238. package/dist/llm/registry.js +564 -49
  239. package/dist/llm/resolver.cjs +62 -34
  240. package/dist/llm/resolver.d.ts +3 -3
  241. package/dist/llm/resolver.d.ts.map +1 -1
  242. package/dist/llm/resolver.js +69 -38
  243. package/dist/llm/schemas.cjs +92 -97
  244. package/dist/llm/schemas.d.ts +162 -39
  245. package/dist/llm/schemas.d.ts.map +1 -1
  246. package/dist/llm/schemas.js +93 -100
  247. package/dist/llm/services/factory.cjs +88 -103
  248. package/dist/llm/services/factory.d.ts +17 -4
  249. package/dist/llm/services/factory.d.ts.map +1 -1
  250. package/dist/llm/services/factory.js +87 -93
  251. package/dist/llm/services/test-utils.integration.cjs +28 -10
  252. package/dist/llm/services/test-utils.integration.d.ts +7 -1
  253. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  254. package/dist/llm/services/test-utils.integration.js +33 -12
  255. package/dist/llm/services/types.d.ts +1 -28
  256. package/dist/llm/services/types.d.ts.map +1 -1
  257. package/dist/llm/services/vercel.cjs +58 -469
  258. package/dist/llm/services/vercel.d.ts +39 -21
  259. package/dist/llm/services/vercel.d.ts.map +1 -1
  260. package/dist/llm/services/vercel.js +60 -476
  261. package/dist/llm/types.cjs +11 -4
  262. package/dist/llm/types.d.ts +9 -9
  263. package/dist/llm/types.d.ts.map +1 -1
  264. package/dist/llm/types.js +12 -4
  265. package/dist/llm/validation.js +1 -1
  266. package/dist/logger/browser.js +1 -1
  267. package/dist/logger/factory.js +1 -1
  268. package/dist/logger/index.js +1 -1
  269. package/dist/logger/logger.js +1 -1
  270. package/dist/logger/v2/dexto-logger.cjs +34 -6
  271. package/dist/logger/v2/dexto-logger.d.ts +20 -2
  272. package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
  273. package/dist/logger/v2/dexto-logger.js +35 -7
  274. package/dist/logger/v2/error-codes.js +1 -1
  275. package/dist/logger/v2/errors.js +1 -1
  276. package/dist/logger/v2/schemas.js +1 -1
  277. package/dist/logger/v2/test-utils.cjs +70 -0
  278. package/dist/logger/v2/test-utils.d.ts +17 -0
  279. package/dist/logger/v2/test-utils.d.ts.map +1 -0
  280. package/dist/logger/v2/test-utils.js +46 -0
  281. package/dist/logger/v2/transport-factory.js +1 -1
  282. package/dist/logger/v2/transports/console-transport.js +1 -1
  283. package/dist/logger/v2/transports/file-transport.cjs +6 -0
  284. package/dist/logger/v2/transports/file-transport.d.ts +4 -0
  285. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
  286. package/dist/logger/v2/transports/file-transport.js +7 -1
  287. package/dist/logger/v2/types.cjs +1 -0
  288. package/dist/logger/v2/types.d.ts +18 -2
  289. package/dist/logger/v2/types.d.ts.map +1 -1
  290. package/dist/logger/v2/types.js +2 -1
  291. package/dist/mcp/error-codes.cjs +1 -0
  292. package/dist/mcp/error-codes.d.ts +1 -0
  293. package/dist/mcp/error-codes.d.ts.map +1 -1
  294. package/dist/mcp/error-codes.js +2 -1
  295. package/dist/mcp/errors.cjs +13 -0
  296. package/dist/mcp/errors.d.ts +7 -0
  297. package/dist/mcp/errors.d.ts.map +1 -1
  298. package/dist/mcp/errors.js +14 -1
  299. package/dist/mcp/manager.cjs +12 -0
  300. package/dist/mcp/manager.d.ts +17 -0
  301. package/dist/mcp/manager.d.ts.map +1 -1
  302. package/dist/mcp/manager.js +13 -1
  303. package/dist/mcp/mcp-client.cjs +0 -3
  304. package/dist/mcp/mcp-client.d.ts.map +1 -1
  305. package/dist/mcp/mcp-client.js +1 -4
  306. package/dist/mcp/resolver.js +1 -1
  307. package/dist/mcp/schemas.cjs +6 -0
  308. package/dist/mcp/schemas.d.ts +52 -0
  309. package/dist/mcp/schemas.d.ts.map +1 -1
  310. package/dist/mcp/schemas.js +6 -1
  311. package/dist/memory/error-codes.js +1 -1
  312. package/dist/memory/errors.js +1 -1
  313. package/dist/memory/index.js +1 -1
  314. package/dist/memory/manager.js +1 -1
  315. package/dist/memory/schemas.d.ts +3 -3
  316. package/dist/memory/schemas.js +1 -1
  317. package/dist/plugins/builtins/content-policy.js +1 -1
  318. package/dist/plugins/builtins/response-sanitizer.js +1 -1
  319. package/dist/plugins/error-codes.cjs +3 -0
  320. package/dist/plugins/error-codes.d.ts +7 -1
  321. package/dist/plugins/error-codes.d.ts.map +1 -1
  322. package/dist/plugins/error-codes.js +4 -1
  323. package/dist/plugins/index.cjs +7 -0
  324. package/dist/plugins/index.d.ts +4 -2
  325. package/dist/plugins/index.d.ts.map +1 -1
  326. package/dist/plugins/index.js +7 -2
  327. package/dist/plugins/loader.js +1 -1
  328. package/dist/plugins/manager.cjs +92 -7
  329. package/dist/plugins/manager.d.ts +10 -3
  330. package/dist/plugins/manager.d.ts.map +1 -1
  331. package/dist/plugins/manager.js +93 -8
  332. package/dist/plugins/registrations/builtins.js +1 -1
  333. package/dist/plugins/registry.cjs +63 -0
  334. package/dist/plugins/registry.d.ts +101 -0
  335. package/dist/plugins/registry.d.ts.map +1 -0
  336. package/dist/plugins/registry.js +39 -0
  337. package/dist/plugins/schemas.cjs +17 -5
  338. package/dist/plugins/schemas.d.ts +65 -8
  339. package/dist/plugins/schemas.d.ts.map +1 -1
  340. package/dist/plugins/schemas.js +16 -5
  341. package/dist/plugins/types.d.ts +0 -1
  342. package/dist/plugins/types.d.ts.map +1 -1
  343. package/dist/process/command-validator.js +1 -1
  344. package/dist/process/error-codes.js +1 -1
  345. package/dist/process/errors.js +1 -1
  346. package/dist/process/index.js +1 -1
  347. package/dist/process/process-service.cjs +78 -26
  348. package/dist/process/process-service.d.ts +6 -1
  349. package/dist/process/process-service.d.ts.map +1 -1
  350. package/dist/process/process-service.js +79 -27
  351. package/dist/process/types.d.ts +2 -2
  352. package/dist/process/types.d.ts.map +1 -1
  353. package/dist/prompts/error-codes.cjs +1 -0
  354. package/dist/prompts/error-codes.d.ts +2 -1
  355. package/dist/prompts/error-codes.d.ts.map +1 -1
  356. package/dist/prompts/error-codes.js +2 -1
  357. package/dist/prompts/errors.cjs +15 -0
  358. package/dist/prompts/errors.d.ts +4 -0
  359. package/dist/prompts/errors.d.ts.map +1 -1
  360. package/dist/prompts/errors.js +16 -1
  361. package/dist/prompts/index.js +1 -1
  362. package/dist/prompts/name-validation.js +1 -1
  363. package/dist/prompts/prompt-manager.cjs +13 -2
  364. package/dist/prompts/prompt-manager.d.ts +7 -0
  365. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  366. package/dist/prompts/prompt-manager.js +14 -3
  367. package/dist/prompts/providers/config-prompt-provider.cjs +12 -3
  368. package/dist/prompts/providers/config-prompt-provider.d.ts +2 -1
  369. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
  370. package/dist/prompts/providers/config-prompt-provider.js +13 -4
  371. package/dist/prompts/providers/custom-prompt-provider.js +1 -1
  372. package/dist/prompts/providers/mcp-prompt-provider.js +1 -1
  373. package/dist/prompts/schemas.d.ts +12 -0
  374. package/dist/prompts/schemas.d.ts.map +1 -1
  375. package/dist/prompts/schemas.js +1 -1
  376. package/dist/prompts/types.d.ts +2 -0
  377. package/dist/prompts/types.d.ts.map +1 -1
  378. package/dist/prompts/utils.js +1 -1
  379. package/dist/providers/base-registry.cjs +147 -0
  380. package/dist/providers/base-registry.d.ts +147 -0
  381. package/dist/providers/base-registry.d.ts.map +1 -0
  382. package/dist/providers/base-registry.js +123 -0
  383. package/dist/providers/discovery.cjs +95 -0
  384. package/dist/providers/discovery.d.ts +94 -0
  385. package/dist/providers/discovery.d.ts.map +1 -0
  386. package/dist/providers/discovery.js +70 -0
  387. package/dist/providers/index.cjs +24 -0
  388. package/dist/providers/index.d.ts +32 -0
  389. package/dist/providers/index.d.ts.map +1 -0
  390. package/dist/providers/index.js +2 -0
  391. package/dist/resources/error-codes.js +1 -1
  392. package/dist/resources/errors.js +1 -1
  393. package/dist/resources/handlers/blob-handler.js +1 -1
  394. package/dist/resources/handlers/factory.js +1 -1
  395. package/dist/resources/handlers/filesystem-handler.js +1 -1
  396. package/dist/resources/index.js +1 -1
  397. package/dist/resources/internal-provider.js +1 -1
  398. package/dist/resources/manager.js +1 -1
  399. package/dist/resources/reference-parser.cjs +3 -3
  400. package/dist/resources/reference-parser.d.ts.map +1 -1
  401. package/dist/resources/reference-parser.js +4 -4
  402. package/dist/resources/schemas.js +1 -1
  403. package/dist/search/index.js +1 -1
  404. package/dist/search/search-service.js +1 -1
  405. package/dist/session/chat-session.cjs +169 -54
  406. package/dist/session/chat-session.d.ts +69 -29
  407. package/dist/session/chat-session.d.ts.map +1 -1
  408. package/dist/session/chat-session.js +171 -56
  409. package/dist/session/error-codes.js +1 -1
  410. package/dist/session/errors.js +1 -1
  411. package/dist/session/history/database.cjs +134 -21
  412. package/dist/session/history/database.d.ts +37 -8
  413. package/dist/session/history/database.d.ts.map +1 -1
  414. package/dist/session/history/database.js +135 -22
  415. package/dist/session/history/factory.js +1 -1
  416. package/dist/session/history/memory.cjs +18 -0
  417. package/dist/session/history/memory.d.ts +8 -0
  418. package/dist/session/history/memory.d.ts.map +1 -1
  419. package/dist/session/history/memory.js +19 -1
  420. package/dist/session/history/types.d.ts +13 -1
  421. package/dist/session/history/types.d.ts.map +1 -1
  422. package/dist/session/index.cjs +3 -0
  423. package/dist/session/index.d.ts +3 -0
  424. package/dist/session/index.d.ts.map +1 -1
  425. package/dist/session/index.js +3 -1
  426. package/dist/session/message-queue.cjs +201 -0
  427. package/dist/session/message-queue.d.ts +114 -0
  428. package/dist/session/message-queue.d.ts.map +1 -0
  429. package/dist/session/message-queue.js +178 -0
  430. package/dist/session/schemas.js +1 -1
  431. package/dist/session/session-manager.cjs +57 -7
  432. package/dist/session/session-manager.d.ts +18 -0
  433. package/dist/session/session-manager.d.ts.map +1 -1
  434. package/dist/session/session-manager.js +58 -8
  435. package/dist/session/title-generator.cjs +4 -8
  436. package/dist/session/title-generator.d.ts +1 -2
  437. package/dist/session/title-generator.d.ts.map +1 -1
  438. package/dist/session/title-generator.js +5 -9
  439. package/dist/session/types.cjs +16 -0
  440. package/dist/session/types.d.ts +14 -0
  441. package/dist/session/types.d.ts.map +1 -0
  442. package/dist/session/types.js +0 -0
  443. package/dist/storage/blob/factory.cjs +8 -11
  444. package/dist/storage/blob/factory.d.ts +32 -6
  445. package/dist/storage/blob/factory.d.ts.map +1 -1
  446. package/dist/storage/blob/factory.js +9 -12
  447. package/dist/storage/blob/index.cjs +56 -0
  448. package/dist/storage/blob/index.d.ts +45 -0
  449. package/dist/storage/blob/index.d.ts.map +1 -0
  450. package/dist/storage/blob/index.js +30 -0
  451. package/dist/storage/blob/local-blob-store.js +1 -1
  452. package/dist/storage/blob/memory-blob-store.js +1 -1
  453. package/dist/storage/blob/provider.cjs +16 -0
  454. package/dist/storage/blob/provider.d.ts +50 -0
  455. package/dist/storage/blob/provider.d.ts.map +1 -0
  456. package/dist/storage/blob/provider.js +0 -0
  457. package/dist/storage/blob/providers/index.cjs +31 -0
  458. package/dist/storage/blob/providers/index.d.ts +8 -0
  459. package/dist/storage/blob/providers/index.d.ts.map +1 -0
  460. package/dist/storage/blob/providers/index.js +7 -0
  461. package/dist/storage/blob/providers/local.cjs +39 -0
  462. package/dist/storage/blob/providers/local.d.ts +17 -0
  463. package/dist/storage/blob/providers/local.d.ts.map +1 -0
  464. package/dist/storage/blob/providers/local.js +16 -0
  465. package/dist/storage/blob/providers/memory.cjs +39 -0
  466. package/dist/storage/blob/providers/memory.d.ts +17 -0
  467. package/dist/storage/blob/providers/memory.d.ts.map +1 -0
  468. package/dist/storage/blob/providers/memory.js +16 -0
  469. package/dist/storage/blob/registry.cjs +50 -0
  470. package/dist/storage/blob/registry.d.ts +42 -0
  471. package/dist/storage/blob/registry.d.ts.map +1 -0
  472. package/dist/storage/blob/registry.js +26 -0
  473. package/dist/storage/blob/schemas.cjs +9 -12
  474. package/dist/storage/blob/schemas.d.ts +39 -34
  475. package/dist/storage/blob/schemas.d.ts.map +1 -1
  476. package/dist/storage/blob/schemas.js +7 -12
  477. package/dist/storage/cache/factory.cjs +8 -36
  478. package/dist/storage/cache/factory.d.ts +32 -7
  479. package/dist/storage/cache/factory.d.ts.map +1 -1
  480. package/dist/storage/cache/factory.js +9 -27
  481. package/dist/storage/cache/index.cjs +53 -0
  482. package/dist/storage/cache/index.d.ts +44 -0
  483. package/dist/storage/cache/index.d.ts.map +1 -0
  484. package/dist/storage/cache/index.js +28 -0
  485. package/dist/storage/cache/memory-cache-store.js +1 -1
  486. package/dist/storage/cache/provider.cjs +16 -0
  487. package/dist/storage/cache/provider.d.ts +56 -0
  488. package/dist/storage/cache/provider.d.ts.map +1 -0
  489. package/dist/storage/cache/provider.js +0 -0
  490. package/dist/storage/cache/providers/index.cjs +31 -0
  491. package/dist/storage/cache/providers/index.d.ts +8 -0
  492. package/dist/storage/cache/providers/index.d.ts.map +1 -0
  493. package/dist/storage/cache/providers/index.js +7 -0
  494. package/dist/storage/cache/providers/memory.cjs +40 -0
  495. package/dist/storage/cache/providers/memory.d.ts +17 -0
  496. package/dist/storage/cache/providers/memory.d.ts.map +1 -0
  497. package/dist/storage/cache/providers/memory.js +17 -0
  498. package/dist/storage/cache/providers/redis.cjs +66 -0
  499. package/dist/storage/cache/providers/redis.d.ts +20 -0
  500. package/dist/storage/cache/providers/redis.d.ts.map +1 -0
  501. package/dist/storage/cache/providers/redis.js +33 -0
  502. package/dist/storage/cache/redis-store.js +1 -1
  503. package/dist/{llm/tokenizer/google.cjs → storage/cache/registry.cjs} +23 -25
  504. package/dist/storage/cache/registry.d.ts +42 -0
  505. package/dist/storage/cache/registry.d.ts.map +1 -0
  506. package/dist/storage/cache/registry.js +26 -0
  507. package/dist/storage/cache/schemas.cjs +6 -2
  508. package/dist/storage/cache/schemas.d.ts +2 -3
  509. package/dist/storage/cache/schemas.d.ts.map +1 -1
  510. package/dist/storage/cache/schemas.js +4 -2
  511. package/dist/storage/database/factory.cjs +8 -47
  512. package/dist/storage/database/factory.d.ts +34 -8
  513. package/dist/storage/database/factory.d.ts.map +1 -1
  514. package/dist/storage/database/factory.js +9 -38
  515. package/dist/storage/database/index.cjs +58 -0
  516. package/dist/storage/database/index.d.ts +45 -0
  517. package/dist/storage/database/index.d.ts.map +1 -0
  518. package/dist/storage/database/index.js +37 -0
  519. package/dist/storage/database/memory-database-store.js +1 -1
  520. package/dist/storage/database/postgres-store.cjs +12 -0
  521. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  522. package/dist/storage/database/postgres-store.js +13 -1
  523. package/dist/storage/database/provider.cjs +16 -0
  524. package/dist/storage/database/provider.d.ts +56 -0
  525. package/dist/storage/database/provider.d.ts.map +1 -0
  526. package/dist/storage/database/provider.js +0 -0
  527. package/dist/storage/database/providers/index.cjs +34 -0
  528. package/dist/storage/database/providers/index.d.ts +9 -0
  529. package/dist/storage/database/providers/index.d.ts.map +1 -0
  530. package/dist/storage/database/providers/index.js +9 -0
  531. package/dist/storage/database/providers/memory.cjs +40 -0
  532. package/dist/storage/database/providers/memory.d.ts +16 -0
  533. package/dist/storage/database/providers/memory.d.ts.map +1 -0
  534. package/dist/storage/database/providers/memory.js +17 -0
  535. package/dist/storage/database/providers/postgres.cjs +62 -0
  536. package/dist/storage/database/providers/postgres.d.ts +19 -0
  537. package/dist/storage/database/providers/postgres.d.ts.map +1 -0
  538. package/dist/storage/database/providers/postgres.js +29 -0
  539. package/dist/storage/database/providers/sqlite.cjs +66 -0
  540. package/dist/storage/database/providers/sqlite.d.ts +20 -0
  541. package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
  542. package/dist/storage/database/providers/sqlite.js +33 -0
  543. package/dist/storage/database/registry.cjs +50 -0
  544. package/dist/storage/database/registry.d.ts +42 -0
  545. package/dist/storage/database/registry.d.ts.map +1 -0
  546. package/dist/storage/database/registry.js +26 -0
  547. package/dist/storage/database/schemas.cjs +8 -2
  548. package/dist/storage/database/schemas.d.ts +3 -4
  549. package/dist/storage/database/schemas.d.ts.map +1 -1
  550. package/dist/storage/database/schemas.js +5 -2
  551. package/dist/storage/database/sqlite-store.js +1 -1
  552. package/dist/storage/error-codes.cjs +6 -0
  553. package/dist/storage/error-codes.d.ts +7 -1
  554. package/dist/storage/error-codes.d.ts.map +1 -1
  555. package/dist/storage/error-codes.js +7 -1
  556. package/dist/storage/errors.cjs +80 -0
  557. package/dist/storage/errors.d.ts +24 -0
  558. package/dist/storage/errors.d.ts.map +1 -1
  559. package/dist/storage/errors.js +81 -1
  560. package/dist/storage/index.cjs +47 -4
  561. package/dist/storage/index.d.ts +34 -8
  562. package/dist/storage/index.d.ts.map +1 -1
  563. package/dist/storage/index.js +33 -4
  564. package/dist/storage/schemas.cjs +4 -0
  565. package/dist/storage/schemas.d.ts +17 -50
  566. package/dist/storage/schemas.d.ts.map +1 -1
  567. package/dist/storage/schemas.js +6 -2
  568. package/dist/storage/storage-manager.cjs +6 -6
  569. package/dist/storage/storage-manager.d.ts.map +1 -1
  570. package/dist/storage/storage-manager.js +4 -4
  571. package/dist/systemPrompt/contributors.js +1 -1
  572. package/dist/systemPrompt/error-codes.js +1 -1
  573. package/dist/systemPrompt/errors.js +1 -1
  574. package/dist/systemPrompt/in-built-prompts.cjs +7 -6
  575. package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
  576. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  577. package/dist/systemPrompt/in-built-prompts.js +7 -6
  578. package/dist/systemPrompt/index.js +1 -1
  579. package/dist/systemPrompt/manager.js +1 -1
  580. package/dist/systemPrompt/registry.cjs +2 -2
  581. package/dist/systemPrompt/registry.d.ts +1 -1
  582. package/dist/systemPrompt/registry.d.ts.map +1 -1
  583. package/dist/systemPrompt/registry.js +3 -3
  584. package/dist/systemPrompt/schemas.cjs +2 -2
  585. package/dist/systemPrompt/schemas.d.ts +18 -18
  586. package/dist/systemPrompt/schemas.js +3 -3
  587. package/dist/telemetry/decorators.js +1 -1
  588. package/dist/telemetry/error-codes.js +1 -1
  589. package/dist/telemetry/errors.js +1 -1
  590. package/dist/telemetry/exporters.js +1 -1
  591. package/dist/telemetry/index.js +1 -1
  592. package/dist/telemetry/schemas.js +1 -1
  593. package/dist/telemetry/telemetry.js +1 -1
  594. package/dist/telemetry/utils.js +1 -1
  595. package/dist/tools/bash-pattern-utils.cjs +91 -0
  596. package/dist/tools/bash-pattern-utils.d.ts +58 -0
  597. package/dist/tools/bash-pattern-utils.d.ts.map +1 -0
  598. package/dist/tools/bash-pattern-utils.js +64 -0
  599. package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -1
  600. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -1
  601. package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -1
  602. package/dist/tools/custom-tool-registry.cjs +64 -0
  603. package/dist/tools/custom-tool-registry.d.ts +120 -0
  604. package/dist/tools/custom-tool-registry.d.ts.map +1 -0
  605. package/dist/tools/custom-tool-registry.js +40 -0
  606. package/dist/tools/custom-tool-schema-registry.cjs +164 -0
  607. package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
  608. package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
  609. package/dist/tools/custom-tool-schema-registry.js +140 -0
  610. package/dist/tools/display-types.cjs +60 -0
  611. package/dist/tools/display-types.d.ts +133 -0
  612. package/dist/tools/display-types.d.ts.map +1 -0
  613. package/dist/tools/display-types.js +32 -0
  614. package/dist/tools/error-codes.cjs +5 -0
  615. package/dist/tools/error-codes.d.ts +6 -1
  616. package/dist/tools/error-codes.d.ts.map +1 -1
  617. package/dist/tools/error-codes.js +6 -1
  618. package/dist/tools/errors.cjs +71 -0
  619. package/dist/tools/errors.d.ts +33 -0
  620. package/dist/tools/errors.d.ts.map +1 -1
  621. package/dist/tools/errors.js +72 -1
  622. package/dist/tools/index.cjs +15 -1
  623. package/dist/tools/index.d.ts +5 -0
  624. package/dist/tools/index.d.ts.map +1 -1
  625. package/dist/tools/index.js +13 -2
  626. package/dist/tools/internal-tools/constants.cjs +3 -9
  627. package/dist/tools/internal-tools/constants.d.ts +1 -1
  628. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  629. package/dist/tools/internal-tools/constants.js +4 -10
  630. package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +1 -1
  631. package/dist/tools/internal-tools/implementations/ask-user-tool.js +2 -2
  632. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +1 -1
  633. package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
  634. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
  635. package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
  636. package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
  637. package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
  638. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
  639. package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
  640. package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
  641. package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -1
  642. package/dist/tools/internal-tools/provider.cjs +175 -31
  643. package/dist/tools/internal-tools/provider.d.ts +62 -14
  644. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  645. package/dist/tools/internal-tools/provider.js +176 -32
  646. package/dist/tools/internal-tools/registry.cjs +19 -43
  647. package/dist/tools/internal-tools/registry.d.ts +32 -11
  648. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  649. package/dist/tools/internal-tools/registry.js +20 -44
  650. package/dist/tools/schemas.cjs +36 -6
  651. package/dist/tools/schemas.d.ts +74 -5
  652. package/dist/tools/schemas.d.ts.map +1 -1
  653. package/dist/tools/schemas.js +30 -6
  654. package/dist/tools/tool-manager.cjs +279 -30
  655. package/dist/tools/tool-manager.d.ts +45 -4
  656. package/dist/tools/tool-manager.d.ts.map +1 -1
  657. package/dist/tools/tool-manager.js +284 -31
  658. package/dist/tools/types.d.ts +63 -0
  659. package/dist/tools/types.d.ts.map +1 -1
  660. package/dist/utils/api-key-resolver.cjs +19 -1
  661. package/dist/utils/api-key-resolver.d.ts.map +1 -1
  662. package/dist/utils/api-key-resolver.js +20 -2
  663. package/dist/utils/async-context.js +1 -1
  664. package/dist/utils/debug.js +1 -1
  665. package/dist/{llm/tokenizer/anthropic.cjs → utils/defer.cjs} +19 -20
  666. package/dist/utils/defer.d.ts +63 -0
  667. package/dist/utils/defer.d.ts.map +1 -0
  668. package/dist/utils/defer.js +19 -0
  669. package/dist/utils/error-conversion.js +1 -1
  670. package/dist/utils/execution-context.js +1 -1
  671. package/dist/utils/fs-walk.js +1 -1
  672. package/dist/utils/index.cjs +3 -3
  673. package/dist/utils/index.d.ts +1 -1
  674. package/dist/utils/index.d.ts.map +1 -1
  675. package/dist/utils/index.js +1 -1
  676. package/dist/utils/path.js +1 -1
  677. package/dist/utils/redactor.cjs +18 -3
  678. package/dist/utils/redactor.d.ts +0 -7
  679. package/dist/utils/redactor.d.ts.map +1 -1
  680. package/dist/utils/redactor.js +19 -4
  681. package/dist/utils/result.js +1 -1
  682. package/dist/utils/safe-stringify.js +1 -1
  683. package/dist/utils/schema-metadata.js +1 -1
  684. package/dist/utils/schema.js +1 -1
  685. package/dist/utils/service-initializer.cjs +15 -37
  686. package/dist/utils/service-initializer.d.ts.map +1 -1
  687. package/dist/utils/service-initializer.js +16 -38
  688. package/dist/utils/user-info.js +1 -1
  689. package/dist/utils/zod-schema-converter.js +1 -1
  690. package/package.json +10 -8
  691. package/dist/context/compression/middle-removal.cjs +0 -95
  692. package/dist/context/compression/middle-removal.d.ts +0 -47
  693. package/dist/context/compression/middle-removal.d.ts.map +0 -1
  694. package/dist/context/compression/middle-removal.js +0 -72
  695. package/dist/context/compression/oldest-removal.cjs +0 -83
  696. package/dist/context/compression/oldest-removal.d.ts +0 -42
  697. package/dist/context/compression/oldest-removal.d.ts.map +0 -1
  698. package/dist/context/compression/oldest-removal.js +0 -60
  699. package/dist/context/compression/types.d.ts +0 -18
  700. package/dist/context/compression/types.d.ts.map +0 -1
  701. package/dist/llm/formatters/anthropic.cjs +0 -257
  702. package/dist/llm/formatters/anthropic.d.ts +0 -46
  703. package/dist/llm/formatters/anthropic.d.ts.map +0 -1
  704. package/dist/llm/formatters/anthropic.js +0 -239
  705. package/dist/llm/formatters/factory.cjs +0 -50
  706. package/dist/llm/formatters/factory.d.ts +0 -10
  707. package/dist/llm/formatters/factory.d.ts.map +0 -1
  708. package/dist/llm/formatters/factory.js +0 -27
  709. package/dist/llm/formatters/openai.cjs +0 -203
  710. package/dist/llm/formatters/openai.d.ts +0 -39
  711. package/dist/llm/formatters/openai.d.ts.map +0 -1
  712. package/dist/llm/formatters/openai.js +0 -184
  713. package/dist/llm/formatters/types.d.ts +0 -41
  714. package/dist/llm/formatters/types.d.ts.map +0 -1
  715. package/dist/llm/services/anthropic.cjs +0 -511
  716. package/dist/llm/services/anthropic.d.ts +0 -48
  717. package/dist/llm/services/anthropic.d.ts.map +0 -1
  718. package/dist/llm/services/anthropic.js +0 -447
  719. package/dist/llm/services/openai.cjs +0 -611
  720. package/dist/llm/services/openai.d.ts +0 -48
  721. package/dist/llm/services/openai.d.ts.map +0 -1
  722. package/dist/llm/services/openai.js +0 -547
  723. package/dist/llm/tokenizer/anthropic.d.ts +0 -19
  724. package/dist/llm/tokenizer/anthropic.d.ts.map +0 -1
  725. package/dist/llm/tokenizer/anthropic.js +0 -20
  726. package/dist/llm/tokenizer/default.d.ts +0 -14
  727. package/dist/llm/tokenizer/default.d.ts.map +0 -1
  728. package/dist/llm/tokenizer/default.js +0 -18
  729. package/dist/llm/tokenizer/factory.d.ts +0 -12
  730. package/dist/llm/tokenizer/factory.d.ts.map +0 -1
  731. package/dist/llm/tokenizer/factory.js +0 -21
  732. package/dist/llm/tokenizer/google.d.ts +0 -29
  733. package/dist/llm/tokenizer/google.d.ts.map +0 -1
  734. package/dist/llm/tokenizer/google.js +0 -29
  735. package/dist/llm/tokenizer/openai.cjs +0 -115
  736. package/dist/llm/tokenizer/openai.d.ts +0 -41
  737. package/dist/llm/tokenizer/openai.d.ts.map +0 -1
  738. package/dist/llm/tokenizer/openai.js +0 -91
  739. package/dist/llm/tokenizer/types.d.ts +0 -18
  740. package/dist/llm/tokenizer/types.d.ts.map +0 -1
  741. package/dist/llm/tokenizer/types.js +0 -10
  742. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -106
  743. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
  744. package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
  745. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -73
  746. package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
  747. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
  748. package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
  749. package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
  750. package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -62
  751. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
  752. package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
  753. package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -39
  754. package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -57
  755. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
  756. package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
  757. package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -34
  758. package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -71
  759. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
  760. package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
  761. package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -48
  762. package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
  763. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
  764. package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
  765. package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
  766. package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -55
  767. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
  768. package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
  769. package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -32
  770. package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -56
  771. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
  772. package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
  773. package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -33
  774. package/dist/utils/env-file.cjs +0 -118
  775. package/dist/utils/env-file.d.ts +0 -5
  776. package/dist/utils/env-file.d.ts.map +0 -1
  777. package/dist/utils/env-file.js +0 -85
  778. /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
  779. /package/dist/context/{compression → compaction}/types.cjs +0 -0
  780. /package/dist/{llm/formatters → context/compaction}/types.js +0 -0
  781. /package/dist/{llm/formatters → image}/types.cjs +0 -0
@@ -1,10 +1,11 @@
1
- import "../chunk-C6A6W6XS.js";
1
+ import "../chunk-PTJYTZNU.js";
2
2
  import { LLMError } from "./errors.js";
3
3
  import { LLMErrorCode } from "./error-codes.js";
4
4
  import { DextoRuntimeError } from "../errors/DextoRuntimeError.js";
5
5
  import {
6
6
  LLM_PROVIDERS
7
7
  } from "./types.js";
8
+ import { getOpenRouterModelContextLength } from "./providers/openrouter-model-registry.js";
8
9
  const MIME_TYPE_TO_FILE_TYPE = {
9
10
  "application/pdf": "pdf",
10
11
  "audio/mp3": "audio",
@@ -234,6 +235,7 @@ const LLM_REGISTRY = {
234
235
  pricing: {
235
236
  inputPerM: 2.5,
236
237
  outputPerM: 10,
238
+ cacheReadPerM: 1.25,
237
239
  currency: "USD",
238
240
  unit: "per_million_tokens"
239
241
  }
@@ -291,7 +293,6 @@ const LLM_REGISTRY = {
291
293
  }
292
294
  }
293
295
  ],
294
- supportedRouters: ["vercel", "in-built"],
295
296
  baseURLSupport: "none",
296
297
  supportedFileTypes: []
297
298
  // No defaults - models must explicitly specify support
@@ -299,10 +300,10 @@ const LLM_REGISTRY = {
299
300
  "openai-compatible": {
300
301
  models: [],
301
302
  // Empty - accepts any model name for custom endpoints
302
- supportedRouters: ["vercel", "in-built"],
303
303
  baseURLSupport: "required",
304
- supportedFileTypes: ["pdf", "image", "audio"]
304
+ supportedFileTypes: ["pdf", "image", "audio"],
305
305
  // Allow all types for custom endpoints - user assumes responsibility for model capabilities
306
+ supportsCustomModels: true
306
307
  },
307
308
  anthropic: {
308
309
  models: [
@@ -434,13 +435,26 @@ const LLM_REGISTRY = {
434
435
  }
435
436
  }
436
437
  ],
437
- supportedRouters: ["vercel", "in-built"],
438
438
  baseURLSupport: "none",
439
439
  supportedFileTypes: []
440
440
  // No defaults - models must explicitly specify support
441
441
  },
442
442
  google: {
443
443
  models: [
444
+ {
445
+ name: "gemini-3-flash-preview",
446
+ displayName: "Gemini 3 Flash Preview",
447
+ maxInputTokens: 1048576,
448
+ default: true,
449
+ supportedFileTypes: ["pdf", "image", "audio"],
450
+ pricing: {
451
+ inputPerM: 0.5,
452
+ outputPerM: 3,
453
+ cacheReadPerM: 0.05,
454
+ currency: "USD",
455
+ unit: "per_million_tokens"
456
+ }
457
+ },
444
458
  {
445
459
  name: "gemini-3-pro-preview",
446
460
  displayName: "Gemini 3 Pro Preview",
@@ -449,6 +463,7 @@ const LLM_REGISTRY = {
449
463
  pricing: {
450
464
  inputPerM: 2,
451
465
  outputPerM: 12,
466
+ cacheReadPerM: 0.2,
452
467
  currency: "USD",
453
468
  unit: "per_million_tokens"
454
469
  }
@@ -461,6 +476,7 @@ const LLM_REGISTRY = {
461
476
  pricing: {
462
477
  inputPerM: 2,
463
478
  outputPerM: 120,
479
+ cacheReadPerM: 0.2,
464
480
  currency: "USD",
465
481
  unit: "per_million_tokens"
466
482
  }
@@ -469,7 +485,6 @@ const LLM_REGISTRY = {
469
485
  name: "gemini-2.5-pro",
470
486
  displayName: "Gemini 2.5 Pro",
471
487
  maxInputTokens: 1048576,
472
- default: true,
473
488
  supportedFileTypes: ["pdf", "image", "audio"],
474
489
  pricing: {
475
490
  inputPerM: 1.25,
@@ -487,6 +502,7 @@ const LLM_REGISTRY = {
487
502
  pricing: {
488
503
  inputPerM: 0.3,
489
504
  outputPerM: 2.5,
505
+ cacheReadPerM: 0.03,
490
506
  currency: "USD",
491
507
  unit: "per_million_tokens"
492
508
  }
@@ -526,12 +542,12 @@ const LLM_REGISTRY = {
526
542
  pricing: {
527
543
  inputPerM: 0.075,
528
544
  outputPerM: 0.3,
545
+ cacheReadPerM: 0.01875,
529
546
  currency: "USD",
530
547
  unit: "per_million_tokens"
531
548
  }
532
549
  }
533
550
  ],
534
- supportedRouters: ["vercel"],
535
551
  baseURLSupport: "none",
536
552
  supportedFileTypes: []
537
553
  // No defaults - models must explicitly specify support
@@ -583,6 +599,7 @@ const LLM_REGISTRY = {
583
599
  pricing: {
584
600
  inputPerM: 1,
585
601
  outputPerM: 3,
602
+ cacheReadPerM: 0.5,
586
603
  currency: "USD",
587
604
  unit: "per_million_tokens"
588
605
  }
@@ -649,7 +666,6 @@ const LLM_REGISTRY = {
649
666
  }
650
667
  }
651
668
  ],
652
- supportedRouters: ["vercel"],
653
669
  baseURLSupport: "none",
654
670
  supportedFileTypes: []
655
671
  // Groq currently doesn't support file uploads
@@ -712,7 +728,6 @@ const LLM_REGISTRY = {
712
728
  }
713
729
  }
714
730
  ],
715
- supportedRouters: ["vercel"],
716
731
  baseURLSupport: "none",
717
732
  supportedFileTypes: []
718
733
  // XAI currently doesn't support file uploads
@@ -770,12 +785,465 @@ const LLM_REGISTRY = {
770
785
  }
771
786
  }
772
787
  ],
773
- supportedRouters: ["vercel"],
774
788
  baseURLSupport: "none",
775
789
  supportedFileTypes: []
776
790
  // Cohere currently doesn't support file uploads
791
+ },
792
+ // https://openrouter.ai/docs
793
+ // OpenRouter is a unified API gateway providing access to 100+ models from various providers.
794
+ // Model validation is handled dynamically via openrouter-model-registry.ts
795
+ openrouter: {
796
+ models: [],
797
+ // Empty - accepts any model name (validated against OpenRouter's catalog)
798
+ baseURLSupport: "none",
799
+ // Fixed endpoint - baseURL auto-injected in resolver, no user override allowed
800
+ supportedFileTypes: ["pdf", "image", "audio"],
801
+ // Allow all types - user assumes responsibility for model capabilities
802
+ supportsCustomModels: true
803
+ },
804
+ // https://docs.litellm.ai/
805
+ // LiteLLM is an OpenAI-compatible proxy that unifies 100+ LLM providers.
806
+ // User must host their own LiteLLM proxy and provide the baseURL.
807
+ litellm: {
808
+ models: [],
809
+ // Empty - accepts any model name (user's proxy determines available models)
810
+ baseURLSupport: "required",
811
+ // User must provide their LiteLLM proxy URL
812
+ supportedFileTypes: ["pdf", "image", "audio"],
813
+ // Allow all types - user assumes responsibility for model capabilities
814
+ supportsCustomModels: true
815
+ },
816
+ // https://glama.ai/
817
+ // Glama is an OpenAI-compatible gateway providing unified access to multiple LLM providers.
818
+ // Fixed endpoint: https://glama.ai/api/gateway/openai/v1
819
+ glama: {
820
+ models: [],
821
+ // Empty - accepts any model name (format: provider/model e.g., openai/gpt-4o)
822
+ baseURLSupport: "none",
823
+ // Fixed endpoint - baseURL auto-injected
824
+ supportedFileTypes: ["pdf", "image", "audio"],
825
+ // Allow all types - user assumes responsibility for model capabilities
826
+ supportsCustomModels: true
827
+ },
828
+ // https://cloud.google.com/vertex-ai
829
+ // Google Vertex AI - GCP-hosted gateway for Gemini and Claude models
830
+ // Supports both Google's Gemini models and Anthropic's Claude via partnership
831
+ //
832
+ // Setup instructions:
833
+ // 1. Create a Google Cloud account and project
834
+ // 2. Enable the Vertex AI API: gcloud services enable aiplatform.googleapis.com
835
+ // 3. Enable desired Claude models (requires Anthropic Model Garden)
836
+ // 4. Install Google Cloud CLI: https://cloud.google.com/sdk/docs/install
837
+ // 5. Configure ADC: gcloud auth application-default login
838
+ // 6. Set env vars: GOOGLE_VERTEX_PROJECT (required), GOOGLE_VERTEX_LOCATION (optional)
839
+ //
840
+ // TODO: Add dynamic model fetching via publishers.models.list API
841
+ // - Requires: projectId, region, ADC auth
842
+ // - Endpoints: GET projects/{project}/locations/{location}/publishers/{google,anthropic}/models
843
+ // - Note: API doesn't return aliases (e.g., gemini-2.0-flash), only versioned IDs
844
+ // - Docs: https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.models/list
845
+ // - Models: https://cloud.google.com/vertex-ai/generative-ai/docs/models
846
+ vertex: {
847
+ models: [
848
+ // Gemini 3 models on Vertex AI (Preview)
849
+ {
850
+ name: "gemini-3-flash-preview",
851
+ displayName: "Gemini 3 Flash (Vertex)",
852
+ maxInputTokens: 1048576,
853
+ default: true,
854
+ supportedFileTypes: ["pdf", "image", "audio"],
855
+ pricing: {
856
+ inputPerM: 0.5,
857
+ outputPerM: 3,
858
+ cacheReadPerM: 0.05,
859
+ currency: "USD",
860
+ unit: "per_million_tokens"
861
+ }
862
+ },
863
+ {
864
+ name: "gemini-3-pro-preview",
865
+ displayName: "Gemini 3 Pro (Vertex)",
866
+ maxInputTokens: 1048576,
867
+ supportedFileTypes: ["pdf", "image", "audio"],
868
+ pricing: {
869
+ inputPerM: 2,
870
+ outputPerM: 12,
871
+ cacheReadPerM: 0.2,
872
+ currency: "USD",
873
+ unit: "per_million_tokens"
874
+ }
875
+ },
876
+ // Gemini 2.x models on Vertex AI
877
+ {
878
+ name: "gemini-2.5-pro",
879
+ displayName: "Gemini 2.5 Pro (Vertex)",
880
+ maxInputTokens: 1048576,
881
+ supportedFileTypes: ["pdf", "image", "audio"],
882
+ pricing: {
883
+ inputPerM: 1.25,
884
+ outputPerM: 10,
885
+ cacheReadPerM: 0.31,
886
+ currency: "USD",
887
+ unit: "per_million_tokens"
888
+ }
889
+ },
890
+ {
891
+ name: "gemini-2.5-flash",
892
+ displayName: "Gemini 2.5 Flash (Vertex)",
893
+ maxInputTokens: 1048576,
894
+ supportedFileTypes: ["pdf", "image", "audio"],
895
+ pricing: {
896
+ inputPerM: 0.15,
897
+ outputPerM: 0.6,
898
+ cacheReadPerM: 0.0375,
899
+ currency: "USD",
900
+ unit: "per_million_tokens"
901
+ }
902
+ },
903
+ {
904
+ name: "gemini-2.0-flash",
905
+ displayName: "Gemini 2.0 Flash (Vertex)",
906
+ maxInputTokens: 1048576,
907
+ supportedFileTypes: ["pdf", "image", "audio"],
908
+ pricing: {
909
+ inputPerM: 0.1,
910
+ outputPerM: 0.4,
911
+ cacheReadPerM: 0.025,
912
+ currency: "USD",
913
+ unit: "per_million_tokens"
914
+ }
915
+ },
916
+ // Claude 4.5 models on Vertex AI (via Anthropic partnership)
917
+ // Note: Claude model IDs use @ suffix format on Vertex
918
+ {
919
+ name: "claude-opus-4-5@20251101",
920
+ displayName: "Claude 4.5 Opus (Vertex)",
921
+ maxInputTokens: 2e5,
922
+ supportedFileTypes: ["pdf", "image"],
923
+ pricing: {
924
+ inputPerM: 5,
925
+ outputPerM: 25,
926
+ cacheWritePerM: 6.25,
927
+ cacheReadPerM: 0.5,
928
+ currency: "USD",
929
+ unit: "per_million_tokens"
930
+ }
931
+ },
932
+ {
933
+ name: "claude-sonnet-4-5@20250929",
934
+ displayName: "Claude 4.5 Sonnet (Vertex)",
935
+ maxInputTokens: 2e5,
936
+ supportedFileTypes: ["pdf", "image"],
937
+ pricing: {
938
+ inputPerM: 3,
939
+ outputPerM: 15,
940
+ cacheWritePerM: 3.75,
941
+ cacheReadPerM: 0.3,
942
+ currency: "USD",
943
+ unit: "per_million_tokens"
944
+ }
945
+ },
946
+ {
947
+ name: "claude-haiku-4-5@20251001",
948
+ displayName: "Claude 4.5 Haiku (Vertex)",
949
+ maxInputTokens: 2e5,
950
+ supportedFileTypes: ["pdf", "image"],
951
+ pricing: {
952
+ inputPerM: 1,
953
+ outputPerM: 5,
954
+ cacheWritePerM: 1.25,
955
+ cacheReadPerM: 0.1,
956
+ currency: "USD",
957
+ unit: "per_million_tokens"
958
+ }
959
+ },
960
+ // Claude 4.1 and 4.0 models on Vertex AI
961
+ {
962
+ name: "claude-opus-4-1@20250805",
963
+ displayName: "Claude 4.1 Opus (Vertex)",
964
+ maxInputTokens: 2e5,
965
+ supportedFileTypes: ["pdf", "image"],
966
+ pricing: {
967
+ inputPerM: 15,
968
+ outputPerM: 75,
969
+ cacheWritePerM: 18.75,
970
+ cacheReadPerM: 1.5,
971
+ currency: "USD",
972
+ unit: "per_million_tokens"
973
+ }
974
+ },
975
+ {
976
+ name: "claude-opus-4@20250514",
977
+ displayName: "Claude 4 Opus (Vertex)",
978
+ maxInputTokens: 2e5,
979
+ supportedFileTypes: ["pdf", "image"],
980
+ pricing: {
981
+ inputPerM: 15,
982
+ outputPerM: 75,
983
+ cacheWritePerM: 18.75,
984
+ cacheReadPerM: 1.5,
985
+ currency: "USD",
986
+ unit: "per_million_tokens"
987
+ }
988
+ },
989
+ {
990
+ name: "claude-sonnet-4@20250514",
991
+ displayName: "Claude 4 Sonnet (Vertex)",
992
+ maxInputTokens: 2e5,
993
+ supportedFileTypes: ["pdf", "image"],
994
+ pricing: {
995
+ inputPerM: 3,
996
+ outputPerM: 15,
997
+ cacheWritePerM: 3.75,
998
+ cacheReadPerM: 0.3,
999
+ currency: "USD",
1000
+ unit: "per_million_tokens"
1001
+ }
1002
+ },
1003
+ // Claude 3.x models on Vertex AI
1004
+ {
1005
+ name: "claude-3-7-sonnet@20250219",
1006
+ displayName: "Claude 3.7 Sonnet (Vertex)",
1007
+ maxInputTokens: 2e5,
1008
+ supportedFileTypes: ["pdf", "image"],
1009
+ pricing: {
1010
+ inputPerM: 3,
1011
+ outputPerM: 15,
1012
+ cacheWritePerM: 3.75,
1013
+ cacheReadPerM: 0.3,
1014
+ currency: "USD",
1015
+ unit: "per_million_tokens"
1016
+ }
1017
+ },
1018
+ {
1019
+ name: "claude-3-5-sonnet-v2@20241022",
1020
+ displayName: "Claude 3.5 Sonnet v2 (Vertex)",
1021
+ maxInputTokens: 2e5,
1022
+ supportedFileTypes: ["pdf", "image"],
1023
+ pricing: {
1024
+ inputPerM: 3,
1025
+ outputPerM: 15,
1026
+ cacheWritePerM: 3.75,
1027
+ cacheReadPerM: 0.3,
1028
+ currency: "USD",
1029
+ unit: "per_million_tokens"
1030
+ }
1031
+ },
1032
+ {
1033
+ name: "claude-3-5-haiku@20241022",
1034
+ displayName: "Claude 3.5 Haiku (Vertex)",
1035
+ maxInputTokens: 2e5,
1036
+ supportedFileTypes: ["pdf", "image"],
1037
+ pricing: {
1038
+ inputPerM: 0.8,
1039
+ outputPerM: 4,
1040
+ cacheWritePerM: 1,
1041
+ cacheReadPerM: 0.08,
1042
+ currency: "USD",
1043
+ unit: "per_million_tokens"
1044
+ }
1045
+ }
1046
+ ],
1047
+ baseURLSupport: "none",
1048
+ // Auto-constructed from projectId and region
1049
+ supportedFileTypes: ["pdf", "image", "audio"]
1050
+ },
1051
+ // Amazon Bedrock - AWS-hosted gateway for Claude, Nova, and more
1052
+ // Auth: AWS credentials (env vars) or Bedrock API key (AWS_BEARER_TOKEN_BEDROCK)
1053
+ //
1054
+ // Cross-region inference: Auto-added for anthropic.* and amazon.* models
1055
+ // supportsCustomModels: true allows users to add custom model IDs beyond the fixed list
1056
+ bedrock: {
1057
+ supportsCustomModels: true,
1058
+ models: [
1059
+ // Claude 4.5 models (latest)
1060
+ {
1061
+ name: "anthropic.claude-sonnet-4-5-20250929-v1:0",
1062
+ displayName: "Claude 4.5 Sonnet",
1063
+ maxInputTokens: 2e5,
1064
+ default: true,
1065
+ supportedFileTypes: ["pdf", "image"],
1066
+ pricing: {
1067
+ inputPerM: 3,
1068
+ outputPerM: 15,
1069
+ cacheWritePerM: 3.75,
1070
+ cacheReadPerM: 0.3,
1071
+ currency: "USD",
1072
+ unit: "per_million_tokens"
1073
+ }
1074
+ },
1075
+ {
1076
+ name: "anthropic.claude-haiku-4-5-20251001-v1:0",
1077
+ displayName: "Claude 4.5 Haiku",
1078
+ maxInputTokens: 2e5,
1079
+ supportedFileTypes: ["pdf", "image"],
1080
+ pricing: {
1081
+ inputPerM: 1,
1082
+ outputPerM: 5,
1083
+ cacheWritePerM: 1.25,
1084
+ cacheReadPerM: 0.1,
1085
+ currency: "USD",
1086
+ unit: "per_million_tokens"
1087
+ }
1088
+ },
1089
+ {
1090
+ name: "anthropic.claude-opus-4-5-20251101-v1:0",
1091
+ displayName: "Claude 4.5 Opus",
1092
+ maxInputTokens: 2e5,
1093
+ supportedFileTypes: ["pdf", "image"],
1094
+ pricing: {
1095
+ inputPerM: 5,
1096
+ outputPerM: 25,
1097
+ cacheWritePerM: 6.25,
1098
+ cacheReadPerM: 0.5,
1099
+ currency: "USD",
1100
+ unit: "per_million_tokens"
1101
+ }
1102
+ },
1103
+ // Amazon Nova models
1104
+ {
1105
+ name: "amazon.nova-premier-v1:0",
1106
+ displayName: "Nova Premier",
1107
+ maxInputTokens: 1e6,
1108
+ supportedFileTypes: ["image"],
1109
+ pricing: {
1110
+ inputPerM: 2.5,
1111
+ outputPerM: 12.5,
1112
+ currency: "USD",
1113
+ unit: "per_million_tokens"
1114
+ }
1115
+ },
1116
+ {
1117
+ name: "amazon.nova-pro-v1:0",
1118
+ displayName: "Nova Pro",
1119
+ maxInputTokens: 3e5,
1120
+ supportedFileTypes: ["pdf", "image"],
1121
+ pricing: {
1122
+ inputPerM: 0.8,
1123
+ outputPerM: 3.2,
1124
+ cacheReadPerM: 0.2,
1125
+ currency: "USD",
1126
+ unit: "per_million_tokens"
1127
+ }
1128
+ },
1129
+ {
1130
+ name: "amazon.nova-lite-v1:0",
1131
+ displayName: "Nova Lite",
1132
+ maxInputTokens: 3e5,
1133
+ supportedFileTypes: ["pdf", "image"],
1134
+ pricing: {
1135
+ inputPerM: 0.06,
1136
+ outputPerM: 0.24,
1137
+ cacheReadPerM: 0.015,
1138
+ currency: "USD",
1139
+ unit: "per_million_tokens"
1140
+ }
1141
+ },
1142
+ {
1143
+ name: "amazon.nova-micro-v1:0",
1144
+ displayName: "Nova Micro",
1145
+ maxInputTokens: 128e3,
1146
+ supportedFileTypes: [],
1147
+ pricing: {
1148
+ inputPerM: 0.035,
1149
+ outputPerM: 0.14,
1150
+ cacheReadPerM: 875e-5,
1151
+ currency: "USD",
1152
+ unit: "per_million_tokens"
1153
+ }
1154
+ },
1155
+ // OpenAI GPT-OSS
1156
+ {
1157
+ name: "openai.gpt-oss-120b-1:0",
1158
+ displayName: "GPT-OSS 120B",
1159
+ maxInputTokens: 128e3,
1160
+ supportedFileTypes: [],
1161
+ pricing: {
1162
+ inputPerM: 0.15,
1163
+ outputPerM: 0.6,
1164
+ currency: "USD",
1165
+ unit: "per_million_tokens"
1166
+ }
1167
+ },
1168
+ {
1169
+ name: "openai.gpt-oss-20b-1:0",
1170
+ displayName: "GPT-OSS 20B",
1171
+ maxInputTokens: 128e3,
1172
+ supportedFileTypes: [],
1173
+ pricing: {
1174
+ inputPerM: 0.07,
1175
+ outputPerM: 0.3,
1176
+ currency: "USD",
1177
+ unit: "per_million_tokens"
1178
+ }
1179
+ },
1180
+ // Qwen
1181
+ {
1182
+ name: "qwen.qwen3-coder-30b-a3b-v1:0",
1183
+ displayName: "Qwen3 Coder 30B",
1184
+ maxInputTokens: 262144,
1185
+ supportedFileTypes: [],
1186
+ pricing: {
1187
+ inputPerM: 0.15,
1188
+ outputPerM: 0.6,
1189
+ currency: "USD",
1190
+ unit: "per_million_tokens"
1191
+ }
1192
+ },
1193
+ {
1194
+ name: "qwen.qwen3-coder-480b-a35b-v1:0",
1195
+ displayName: "Qwen3 Coder 480B",
1196
+ maxInputTokens: 262144,
1197
+ supportedFileTypes: [],
1198
+ pricing: {
1199
+ inputPerM: 0.22,
1200
+ outputPerM: 1.8,
1201
+ currency: "USD",
1202
+ unit: "per_million_tokens"
1203
+ }
1204
+ }
1205
+ ],
1206
+ baseURLSupport: "none",
1207
+ // Auto-constructed from region
1208
+ supportedFileTypes: ["pdf", "image"]
1209
+ },
1210
+ // Native local model execution via node-llama-cpp
1211
+ // Runs GGUF models directly on the machine using Metal/CUDA/Vulkan acceleration
1212
+ // Models are downloaded from HuggingFace and stored in ~/.dexto/models/
1213
+ local: {
1214
+ models: [],
1215
+ // Populated dynamically from local model registry
1216
+ baseURLSupport: "none",
1217
+ // No external server needed
1218
+ supportedFileTypes: ["image"],
1219
+ // Vision support depends on model capabilities
1220
+ supportsCustomModels: true
1221
+ // Allow any GGUF model path
1222
+ },
1223
+ // Ollama server integration
1224
+ // Uses Ollama's OpenAI-compatible API for local model inference
1225
+ // Requires Ollama to be installed and running (default: http://localhost:11434)
1226
+ ollama: {
1227
+ models: [],
1228
+ // Populated dynamically from Ollama API
1229
+ baseURLSupport: "optional",
1230
+ // Default: http://localhost:11434, can be customized
1231
+ supportedFileTypes: ["image"],
1232
+ // Vision support depends on model
1233
+ supportsCustomModels: true
1234
+ // Accept any Ollama model name
777
1235
  }
1236
+ // TODO: Add 'dexto' provider (similar to openrouter, uses https://api.dexto.ai/v1)
778
1237
  };
1238
+ function stripBedrockRegionPrefix(model) {
1239
+ if (model.startsWith("eu.") || model.startsWith("us.")) {
1240
+ return model.slice(3);
1241
+ }
1242
+ if (model.startsWith("global.")) {
1243
+ return model.slice(7);
1244
+ }
1245
+ return model;
1246
+ }
779
1247
  function getDefaultModelForProvider(provider) {
780
1248
  const providerInfo = LLM_REGISTRY[provider];
781
1249
  return providerInfo.models.find((m) => m.default)?.name || null;
@@ -789,7 +1257,8 @@ function getSupportedModels(provider) {
789
1257
  }
790
1258
  function getMaxInputTokensForModel(provider, model, logger) {
791
1259
  const providerInfo = LLM_REGISTRY[provider];
792
- const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
1260
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1261
+ const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
793
1262
  if (!modelInfo) {
794
1263
  const supportedModels = getSupportedModels(provider).join(", ");
795
1264
  logger?.error(
@@ -802,13 +1271,14 @@ function getMaxInputTokensForModel(provider, model, logger) {
802
1271
  }
803
1272
  function isValidProviderModel(provider, model) {
804
1273
  const providerInfo = LLM_REGISTRY[provider];
805
- return providerInfo.models.some((m) => m.name.toLowerCase() === model.toLowerCase());
1274
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1275
+ return providerInfo.models.some((m) => m.name.toLowerCase() === normalizedModel);
806
1276
  }
807
1277
  function getProviderFromModel(model) {
808
- const lowerModel = model.toLowerCase();
1278
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
809
1279
  for (const provider of LLM_PROVIDERS) {
810
1280
  const info = LLM_REGISTRY[provider];
811
- if (info.models.some((m) => m.name.toLowerCase() === lowerModel)) {
1281
+ if (info.models.some((m) => m.name.toLowerCase() === normalizedModel)) {
812
1282
  return provider;
813
1283
  }
814
1284
  }
@@ -817,10 +1287,6 @@ function getProviderFromModel(model) {
817
1287
  function getAllSupportedModels() {
818
1288
  return Object.values(LLM_REGISTRY).flatMap((info) => info.models.map((m) => m.name));
819
1289
  }
820
- function getSupportedRoutersForProvider(provider) {
821
- const providerInfo = LLM_REGISTRY[provider];
822
- return providerInfo.supportedRouters;
823
- }
824
1290
  function supportsBaseURL(provider) {
825
1291
  const providerInfo = LLM_REGISTRY[provider];
826
1292
  return providerInfo.baseURLSupport !== "none";
@@ -833,12 +1299,34 @@ function acceptsAnyModel(provider) {
833
1299
  const providerInfo = LLM_REGISTRY[provider];
834
1300
  return providerInfo.models.length === 0;
835
1301
  }
1302
+ function supportsCustomModels(provider) {
1303
+ const providerInfo = LLM_REGISTRY[provider];
1304
+ return providerInfo.supportsCustomModels === true;
1305
+ }
1306
+ const API_KEY_OPTIONAL_PROVIDERS = /* @__PURE__ */ new Set([
1307
+ "local",
1308
+ // Native node-llama-cpp execution - no auth needed
1309
+ "ollama",
1310
+ // Ollama server - no auth needed by default
1311
+ "openai-compatible",
1312
+ // vLLM, LocalAI - often no auth needed
1313
+ "litellm",
1314
+ // Self-hosted proxy - handles auth internally
1315
+ "vertex",
1316
+ // Uses Google Cloud ADC (Application Default Credentials)
1317
+ "bedrock"
1318
+ // Uses AWS credentials (access key + secret or IAM role)
1319
+ ]);
1320
+ function requiresApiKey(provider) {
1321
+ return !API_KEY_OPTIONAL_PROVIDERS.has(provider);
1322
+ }
836
1323
  function getSupportedFileTypesForModel(provider, model) {
837
1324
  const providerInfo = LLM_REGISTRY[provider];
838
1325
  if (acceptsAnyModel(provider)) {
839
1326
  return providerInfo.supportedFileTypes;
840
1327
  }
841
- const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
1328
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1329
+ const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
842
1330
  if (!modelInfo) {
843
1331
  throw LLMError.unknownModel(provider, model);
844
1332
  }
@@ -877,32 +1365,6 @@ function validateModelFileSupport(provider, model, mimeType) {
877
1365
  };
878
1366
  }
879
1367
  }
880
- function isRouterSupportedForModel(provider, model, router) {
881
- const providerInfo = LLM_REGISTRY[provider];
882
- const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
883
- if (!modelInfo) {
884
- return isRouterSupportedForProvider(provider, router);
885
- }
886
- if (modelInfo.supportedRouters) {
887
- return modelInfo.supportedRouters.includes(router);
888
- }
889
- return isRouterSupportedForProvider(provider, router);
890
- }
891
- function getSupportedRoutersForModel(provider, model) {
892
- const providerInfo = LLM_REGISTRY[provider];
893
- const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
894
- if (!modelInfo) {
895
- return getSupportedRoutersForProvider(provider);
896
- }
897
- if (modelInfo.supportedRouters) {
898
- return modelInfo.supportedRouters;
899
- }
900
- return getSupportedRoutersForProvider(provider);
901
- }
902
- function isRouterSupportedForProvider(provider, router) {
903
- const supportedRouters = getSupportedRoutersForProvider(provider);
904
- return supportedRouters.includes(router);
905
- }
906
1368
  function getEffectiveMaxInputTokens(config, logger) {
907
1369
  const configuredMaxInputTokens = config.maxInputTokens;
908
1370
  if (configuredMaxInputTokens != null) {
@@ -943,6 +1405,19 @@ function getEffectiveMaxInputTokens(config, logger) {
943
1405
  }
944
1406
  }
945
1407
  }
1408
+ if (config.provider === "openrouter") {
1409
+ const contextLength = getOpenRouterModelContextLength(config.model);
1410
+ if (contextLength !== null) {
1411
+ logger.debug(
1412
+ `Using maxInputTokens from OpenRouter registry for ${config.model}: ${contextLength}`
1413
+ );
1414
+ return contextLength;
1415
+ }
1416
+ logger.warn(
1417
+ `OpenRouter model ${config.model} not found in cache, defaulting to ${DEFAULT_MAX_INPUT_TOKENS} tokens`
1418
+ );
1419
+ return DEFAULT_MAX_INPUT_TOKENS;
1420
+ }
946
1421
  if (config.baseURL) {
947
1422
  logger.warn(
948
1423
  `baseURL is set but maxInputTokens is missing. Defaulting to ${DEFAULT_MAX_INPUT_TOKENS}. Provide 'maxInputTokens' in configuration to avoid default fallback.`
@@ -967,6 +1442,12 @@ function getEffectiveMaxInputTokens(config, logger) {
967
1442
  return registryMaxInputTokens;
968
1443
  } catch (error) {
969
1444
  if (error instanceof DextoRuntimeError && error.code === LLMErrorCode.MODEL_UNKNOWN) {
1445
+ if (supportsCustomModels(config.provider)) {
1446
+ logger.debug(
1447
+ `Custom model ${config.model} not in ${config.provider} registry, defaulting to ${DEFAULT_MAX_INPUT_TOKENS} tokens`
1448
+ );
1449
+ return DEFAULT_MAX_INPUT_TOKENS;
1450
+ }
970
1451
  logger.error(
971
1452
  `Registry lookup failed for ${config.provider}/${config.model}: ${error.message}. Effective maxInputTokens cannot be determined.`
972
1453
  );
@@ -977,27 +1458,61 @@ function getEffectiveMaxInputTokens(config, logger) {
977
1458
  }
978
1459
  }
979
1460
  }
1461
+ function getModelPricing(provider, model) {
1462
+ const providerInfo = LLM_REGISTRY[provider];
1463
+ if (acceptsAnyModel(provider)) {
1464
+ return void 0;
1465
+ }
1466
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1467
+ const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
1468
+ return modelInfo?.pricing;
1469
+ }
1470
+ function getModelDisplayName(model, provider) {
1471
+ let resolvedProvider;
1472
+ try {
1473
+ resolvedProvider = provider ?? getProviderFromModel(model);
1474
+ } catch {
1475
+ return model;
1476
+ }
1477
+ const providerInfo = LLM_REGISTRY[resolvedProvider];
1478
+ if (!providerInfo || acceptsAnyModel(resolvedProvider)) {
1479
+ return model;
1480
+ }
1481
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1482
+ const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
1483
+ return modelInfo?.displayName ?? model;
1484
+ }
1485
+ function calculateCost(usage, pricing) {
1486
+ const inputCost = (usage.inputTokens ?? 0) * pricing.inputPerM / 1e6;
1487
+ const outputCost = (usage.outputTokens ?? 0) * pricing.outputPerM / 1e6;
1488
+ const cacheReadCost = (usage.cacheReadTokens ?? 0) * (pricing.cacheReadPerM ?? 0) / 1e6;
1489
+ const cacheWriteCost = (usage.cacheWriteTokens ?? 0) * (pricing.cacheWritePerM ?? 0) / 1e6;
1490
+ const reasoningCost = (usage.reasoningTokens ?? 0) * pricing.outputPerM / 1e6;
1491
+ return inputCost + outputCost + cacheReadCost + cacheWriteCost + reasoningCost;
1492
+ }
980
1493
  export {
981
1494
  DEFAULT_MAX_INPUT_TOKENS,
982
1495
  LLM_REGISTRY,
983
1496
  MIME_TYPE_TO_FILE_TYPE,
984
1497
  acceptsAnyModel,
1498
+ calculateCost,
985
1499
  getAllSupportedModels,
986
1500
  getAllowedMimeTypes,
987
1501
  getDefaultModelForProvider,
988
1502
  getEffectiveMaxInputTokens,
989
1503
  getMaxInputTokensForModel,
1504
+ getModelDisplayName,
1505
+ getModelPricing,
990
1506
  getProviderFromModel,
991
1507
  getSupportedFileTypesForModel,
992
1508
  getSupportedModels,
993
1509
  getSupportedProviders,
994
- getSupportedRoutersForModel,
995
- getSupportedRoutersForProvider,
996
- isRouterSupportedForModel,
997
- isRouterSupportedForProvider,
998
1510
  isValidProviderModel,
999
1511
  modelSupportsFileType,
1512
+ requiresApiKey,
1000
1513
  requiresBaseURL,
1514
+ stripBedrockRegionPrefix,
1001
1515
  supportsBaseURL,
1516
+ supportsCustomModels,
1002
1517
  validateModelFileSupport
1003
1518
  };