@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
@@ -22,23 +22,25 @@ __export(registry_exports, {
22
22
  LLM_REGISTRY: () => LLM_REGISTRY,
23
23
  MIME_TYPE_TO_FILE_TYPE: () => MIME_TYPE_TO_FILE_TYPE,
24
24
  acceptsAnyModel: () => acceptsAnyModel,
25
+ calculateCost: () => calculateCost,
25
26
  getAllSupportedModels: () => getAllSupportedModels,
26
27
  getAllowedMimeTypes: () => getAllowedMimeTypes,
27
28
  getDefaultModelForProvider: () => getDefaultModelForProvider,
28
29
  getEffectiveMaxInputTokens: () => getEffectiveMaxInputTokens,
29
30
  getMaxInputTokensForModel: () => getMaxInputTokensForModel,
31
+ getModelDisplayName: () => getModelDisplayName,
32
+ getModelPricing: () => getModelPricing,
30
33
  getProviderFromModel: () => getProviderFromModel,
31
34
  getSupportedFileTypesForModel: () => getSupportedFileTypesForModel,
32
35
  getSupportedModels: () => getSupportedModels,
33
36
  getSupportedProviders: () => getSupportedProviders,
34
- getSupportedRoutersForModel: () => getSupportedRoutersForModel,
35
- getSupportedRoutersForProvider: () => getSupportedRoutersForProvider,
36
- isRouterSupportedForModel: () => isRouterSupportedForModel,
37
- isRouterSupportedForProvider: () => isRouterSupportedForProvider,
38
37
  isValidProviderModel: () => isValidProviderModel,
39
38
  modelSupportsFileType: () => modelSupportsFileType,
39
+ requiresApiKey: () => requiresApiKey,
40
40
  requiresBaseURL: () => requiresBaseURL,
41
+ stripBedrockRegionPrefix: () => stripBedrockRegionPrefix,
41
42
  supportsBaseURL: () => supportsBaseURL,
43
+ supportsCustomModels: () => supportsCustomModels,
42
44
  validateModelFileSupport: () => validateModelFileSupport
43
45
  });
44
46
  module.exports = __toCommonJS(registry_exports);
@@ -46,6 +48,7 @@ var import_errors = require("./errors.js");
46
48
  var import_error_codes = require("./error-codes.js");
47
49
  var import_DextoRuntimeError = require("../errors/DextoRuntimeError.js");
48
50
  var import_types = require("./types.js");
51
+ var import_openrouter_model_registry = require("./providers/openrouter-model-registry.js");
49
52
  const MIME_TYPE_TO_FILE_TYPE = {
50
53
  "application/pdf": "pdf",
51
54
  "audio/mp3": "audio",
@@ -275,6 +278,7 @@ const LLM_REGISTRY = {
275
278
  pricing: {
276
279
  inputPerM: 2.5,
277
280
  outputPerM: 10,
281
+ cacheReadPerM: 1.25,
278
282
  currency: "USD",
279
283
  unit: "per_million_tokens"
280
284
  }
@@ -332,7 +336,6 @@ const LLM_REGISTRY = {
332
336
  }
333
337
  }
334
338
  ],
335
- supportedRouters: ["vercel", "in-built"],
336
339
  baseURLSupport: "none",
337
340
  supportedFileTypes: []
338
341
  // No defaults - models must explicitly specify support
@@ -340,10 +343,10 @@ const LLM_REGISTRY = {
340
343
  "openai-compatible": {
341
344
  models: [],
342
345
  // Empty - accepts any model name for custom endpoints
343
- supportedRouters: ["vercel", "in-built"],
344
346
  baseURLSupport: "required",
345
- supportedFileTypes: ["pdf", "image", "audio"]
347
+ supportedFileTypes: ["pdf", "image", "audio"],
346
348
  // Allow all types for custom endpoints - user assumes responsibility for model capabilities
349
+ supportsCustomModels: true
347
350
  },
348
351
  anthropic: {
349
352
  models: [
@@ -475,13 +478,26 @@ const LLM_REGISTRY = {
475
478
  }
476
479
  }
477
480
  ],
478
- supportedRouters: ["vercel", "in-built"],
479
481
  baseURLSupport: "none",
480
482
  supportedFileTypes: []
481
483
  // No defaults - models must explicitly specify support
482
484
  },
483
485
  google: {
484
486
  models: [
487
+ {
488
+ name: "gemini-3-flash-preview",
489
+ displayName: "Gemini 3 Flash Preview",
490
+ maxInputTokens: 1048576,
491
+ default: true,
492
+ supportedFileTypes: ["pdf", "image", "audio"],
493
+ pricing: {
494
+ inputPerM: 0.5,
495
+ outputPerM: 3,
496
+ cacheReadPerM: 0.05,
497
+ currency: "USD",
498
+ unit: "per_million_tokens"
499
+ }
500
+ },
485
501
  {
486
502
  name: "gemini-3-pro-preview",
487
503
  displayName: "Gemini 3 Pro Preview",
@@ -490,6 +506,7 @@ const LLM_REGISTRY = {
490
506
  pricing: {
491
507
  inputPerM: 2,
492
508
  outputPerM: 12,
509
+ cacheReadPerM: 0.2,
493
510
  currency: "USD",
494
511
  unit: "per_million_tokens"
495
512
  }
@@ -502,6 +519,7 @@ const LLM_REGISTRY = {
502
519
  pricing: {
503
520
  inputPerM: 2,
504
521
  outputPerM: 120,
522
+ cacheReadPerM: 0.2,
505
523
  currency: "USD",
506
524
  unit: "per_million_tokens"
507
525
  }
@@ -510,7 +528,6 @@ const LLM_REGISTRY = {
510
528
  name: "gemini-2.5-pro",
511
529
  displayName: "Gemini 2.5 Pro",
512
530
  maxInputTokens: 1048576,
513
- default: true,
514
531
  supportedFileTypes: ["pdf", "image", "audio"],
515
532
  pricing: {
516
533
  inputPerM: 1.25,
@@ -528,6 +545,7 @@ const LLM_REGISTRY = {
528
545
  pricing: {
529
546
  inputPerM: 0.3,
530
547
  outputPerM: 2.5,
548
+ cacheReadPerM: 0.03,
531
549
  currency: "USD",
532
550
  unit: "per_million_tokens"
533
551
  }
@@ -567,12 +585,12 @@ const LLM_REGISTRY = {
567
585
  pricing: {
568
586
  inputPerM: 0.075,
569
587
  outputPerM: 0.3,
588
+ cacheReadPerM: 0.01875,
570
589
  currency: "USD",
571
590
  unit: "per_million_tokens"
572
591
  }
573
592
  }
574
593
  ],
575
- supportedRouters: ["vercel"],
576
594
  baseURLSupport: "none",
577
595
  supportedFileTypes: []
578
596
  // No defaults - models must explicitly specify support
@@ -624,6 +642,7 @@ const LLM_REGISTRY = {
624
642
  pricing: {
625
643
  inputPerM: 1,
626
644
  outputPerM: 3,
645
+ cacheReadPerM: 0.5,
627
646
  currency: "USD",
628
647
  unit: "per_million_tokens"
629
648
  }
@@ -690,7 +709,6 @@ const LLM_REGISTRY = {
690
709
  }
691
710
  }
692
711
  ],
693
- supportedRouters: ["vercel"],
694
712
  baseURLSupport: "none",
695
713
  supportedFileTypes: []
696
714
  // Groq currently doesn't support file uploads
@@ -753,7 +771,6 @@ const LLM_REGISTRY = {
753
771
  }
754
772
  }
755
773
  ],
756
- supportedRouters: ["vercel"],
757
774
  baseURLSupport: "none",
758
775
  supportedFileTypes: []
759
776
  // XAI currently doesn't support file uploads
@@ -811,12 +828,465 @@ const LLM_REGISTRY = {
811
828
  }
812
829
  }
813
830
  ],
814
- supportedRouters: ["vercel"],
815
831
  baseURLSupport: "none",
816
832
  supportedFileTypes: []
817
833
  // Cohere currently doesn't support file uploads
834
+ },
835
+ // https://openrouter.ai/docs
836
+ // OpenRouter is a unified API gateway providing access to 100+ models from various providers.
837
+ // Model validation is handled dynamically via openrouter-model-registry.ts
838
+ openrouter: {
839
+ models: [],
840
+ // Empty - accepts any model name (validated against OpenRouter's catalog)
841
+ baseURLSupport: "none",
842
+ // Fixed endpoint - baseURL auto-injected in resolver, no user override allowed
843
+ supportedFileTypes: ["pdf", "image", "audio"],
844
+ // Allow all types - user assumes responsibility for model capabilities
845
+ supportsCustomModels: true
846
+ },
847
+ // https://docs.litellm.ai/
848
+ // LiteLLM is an OpenAI-compatible proxy that unifies 100+ LLM providers.
849
+ // User must host their own LiteLLM proxy and provide the baseURL.
850
+ litellm: {
851
+ models: [],
852
+ // Empty - accepts any model name (user's proxy determines available models)
853
+ baseURLSupport: "required",
854
+ // User must provide their LiteLLM proxy URL
855
+ supportedFileTypes: ["pdf", "image", "audio"],
856
+ // Allow all types - user assumes responsibility for model capabilities
857
+ supportsCustomModels: true
858
+ },
859
+ // https://glama.ai/
860
+ // Glama is an OpenAI-compatible gateway providing unified access to multiple LLM providers.
861
+ // Fixed endpoint: https://glama.ai/api/gateway/openai/v1
862
+ glama: {
863
+ models: [],
864
+ // Empty - accepts any model name (format: provider/model e.g., openai/gpt-4o)
865
+ baseURLSupport: "none",
866
+ // Fixed endpoint - baseURL auto-injected
867
+ supportedFileTypes: ["pdf", "image", "audio"],
868
+ // Allow all types - user assumes responsibility for model capabilities
869
+ supportsCustomModels: true
870
+ },
871
+ // https://cloud.google.com/vertex-ai
872
+ // Google Vertex AI - GCP-hosted gateway for Gemini and Claude models
873
+ // Supports both Google's Gemini models and Anthropic's Claude via partnership
874
+ //
875
+ // Setup instructions:
876
+ // 1. Create a Google Cloud account and project
877
+ // 2. Enable the Vertex AI API: gcloud services enable aiplatform.googleapis.com
878
+ // 3. Enable desired Claude models (requires Anthropic Model Garden)
879
+ // 4. Install Google Cloud CLI: https://cloud.google.com/sdk/docs/install
880
+ // 5. Configure ADC: gcloud auth application-default login
881
+ // 6. Set env vars: GOOGLE_VERTEX_PROJECT (required), GOOGLE_VERTEX_LOCATION (optional)
882
+ //
883
+ // TODO: Add dynamic model fetching via publishers.models.list API
884
+ // - Requires: projectId, region, ADC auth
885
+ // - Endpoints: GET projects/{project}/locations/{location}/publishers/{google,anthropic}/models
886
+ // - Note: API doesn't return aliases (e.g., gemini-2.0-flash), only versioned IDs
887
+ // - Docs: https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.models/list
888
+ // - Models: https://cloud.google.com/vertex-ai/generative-ai/docs/models
889
+ vertex: {
890
+ models: [
891
+ // Gemini 3 models on Vertex AI (Preview)
892
+ {
893
+ name: "gemini-3-flash-preview",
894
+ displayName: "Gemini 3 Flash (Vertex)",
895
+ maxInputTokens: 1048576,
896
+ default: true,
897
+ supportedFileTypes: ["pdf", "image", "audio"],
898
+ pricing: {
899
+ inputPerM: 0.5,
900
+ outputPerM: 3,
901
+ cacheReadPerM: 0.05,
902
+ currency: "USD",
903
+ unit: "per_million_tokens"
904
+ }
905
+ },
906
+ {
907
+ name: "gemini-3-pro-preview",
908
+ displayName: "Gemini 3 Pro (Vertex)",
909
+ maxInputTokens: 1048576,
910
+ supportedFileTypes: ["pdf", "image", "audio"],
911
+ pricing: {
912
+ inputPerM: 2,
913
+ outputPerM: 12,
914
+ cacheReadPerM: 0.2,
915
+ currency: "USD",
916
+ unit: "per_million_tokens"
917
+ }
918
+ },
919
+ // Gemini 2.x models on Vertex AI
920
+ {
921
+ name: "gemini-2.5-pro",
922
+ displayName: "Gemini 2.5 Pro (Vertex)",
923
+ maxInputTokens: 1048576,
924
+ supportedFileTypes: ["pdf", "image", "audio"],
925
+ pricing: {
926
+ inputPerM: 1.25,
927
+ outputPerM: 10,
928
+ cacheReadPerM: 0.31,
929
+ currency: "USD",
930
+ unit: "per_million_tokens"
931
+ }
932
+ },
933
+ {
934
+ name: "gemini-2.5-flash",
935
+ displayName: "Gemini 2.5 Flash (Vertex)",
936
+ maxInputTokens: 1048576,
937
+ supportedFileTypes: ["pdf", "image", "audio"],
938
+ pricing: {
939
+ inputPerM: 0.15,
940
+ outputPerM: 0.6,
941
+ cacheReadPerM: 0.0375,
942
+ currency: "USD",
943
+ unit: "per_million_tokens"
944
+ }
945
+ },
946
+ {
947
+ name: "gemini-2.0-flash",
948
+ displayName: "Gemini 2.0 Flash (Vertex)",
949
+ maxInputTokens: 1048576,
950
+ supportedFileTypes: ["pdf", "image", "audio"],
951
+ pricing: {
952
+ inputPerM: 0.1,
953
+ outputPerM: 0.4,
954
+ cacheReadPerM: 0.025,
955
+ currency: "USD",
956
+ unit: "per_million_tokens"
957
+ }
958
+ },
959
+ // Claude 4.5 models on Vertex AI (via Anthropic partnership)
960
+ // Note: Claude model IDs use @ suffix format on Vertex
961
+ {
962
+ name: "claude-opus-4-5@20251101",
963
+ displayName: "Claude 4.5 Opus (Vertex)",
964
+ maxInputTokens: 2e5,
965
+ supportedFileTypes: ["pdf", "image"],
966
+ pricing: {
967
+ inputPerM: 5,
968
+ outputPerM: 25,
969
+ cacheWritePerM: 6.25,
970
+ cacheReadPerM: 0.5,
971
+ currency: "USD",
972
+ unit: "per_million_tokens"
973
+ }
974
+ },
975
+ {
976
+ name: "claude-sonnet-4-5@20250929",
977
+ displayName: "Claude 4.5 Sonnet (Vertex)",
978
+ maxInputTokens: 2e5,
979
+ supportedFileTypes: ["pdf", "image"],
980
+ pricing: {
981
+ inputPerM: 3,
982
+ outputPerM: 15,
983
+ cacheWritePerM: 3.75,
984
+ cacheReadPerM: 0.3,
985
+ currency: "USD",
986
+ unit: "per_million_tokens"
987
+ }
988
+ },
989
+ {
990
+ name: "claude-haiku-4-5@20251001",
991
+ displayName: "Claude 4.5 Haiku (Vertex)",
992
+ maxInputTokens: 2e5,
993
+ supportedFileTypes: ["pdf", "image"],
994
+ pricing: {
995
+ inputPerM: 1,
996
+ outputPerM: 5,
997
+ cacheWritePerM: 1.25,
998
+ cacheReadPerM: 0.1,
999
+ currency: "USD",
1000
+ unit: "per_million_tokens"
1001
+ }
1002
+ },
1003
+ // Claude 4.1 and 4.0 models on Vertex AI
1004
+ {
1005
+ name: "claude-opus-4-1@20250805",
1006
+ displayName: "Claude 4.1 Opus (Vertex)",
1007
+ maxInputTokens: 2e5,
1008
+ supportedFileTypes: ["pdf", "image"],
1009
+ pricing: {
1010
+ inputPerM: 15,
1011
+ outputPerM: 75,
1012
+ cacheWritePerM: 18.75,
1013
+ cacheReadPerM: 1.5,
1014
+ currency: "USD",
1015
+ unit: "per_million_tokens"
1016
+ }
1017
+ },
1018
+ {
1019
+ name: "claude-opus-4@20250514",
1020
+ displayName: "Claude 4 Opus (Vertex)",
1021
+ maxInputTokens: 2e5,
1022
+ supportedFileTypes: ["pdf", "image"],
1023
+ pricing: {
1024
+ inputPerM: 15,
1025
+ outputPerM: 75,
1026
+ cacheWritePerM: 18.75,
1027
+ cacheReadPerM: 1.5,
1028
+ currency: "USD",
1029
+ unit: "per_million_tokens"
1030
+ }
1031
+ },
1032
+ {
1033
+ name: "claude-sonnet-4@20250514",
1034
+ displayName: "Claude 4 Sonnet (Vertex)",
1035
+ maxInputTokens: 2e5,
1036
+ supportedFileTypes: ["pdf", "image"],
1037
+ pricing: {
1038
+ inputPerM: 3,
1039
+ outputPerM: 15,
1040
+ cacheWritePerM: 3.75,
1041
+ cacheReadPerM: 0.3,
1042
+ currency: "USD",
1043
+ unit: "per_million_tokens"
1044
+ }
1045
+ },
1046
+ // Claude 3.x models on Vertex AI
1047
+ {
1048
+ name: "claude-3-7-sonnet@20250219",
1049
+ displayName: "Claude 3.7 Sonnet (Vertex)",
1050
+ maxInputTokens: 2e5,
1051
+ supportedFileTypes: ["pdf", "image"],
1052
+ pricing: {
1053
+ inputPerM: 3,
1054
+ outputPerM: 15,
1055
+ cacheWritePerM: 3.75,
1056
+ cacheReadPerM: 0.3,
1057
+ currency: "USD",
1058
+ unit: "per_million_tokens"
1059
+ }
1060
+ },
1061
+ {
1062
+ name: "claude-3-5-sonnet-v2@20241022",
1063
+ displayName: "Claude 3.5 Sonnet v2 (Vertex)",
1064
+ maxInputTokens: 2e5,
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: "claude-3-5-haiku@20241022",
1077
+ displayName: "Claude 3.5 Haiku (Vertex)",
1078
+ maxInputTokens: 2e5,
1079
+ supportedFileTypes: ["pdf", "image"],
1080
+ pricing: {
1081
+ inputPerM: 0.8,
1082
+ outputPerM: 4,
1083
+ cacheWritePerM: 1,
1084
+ cacheReadPerM: 0.08,
1085
+ currency: "USD",
1086
+ unit: "per_million_tokens"
1087
+ }
1088
+ }
1089
+ ],
1090
+ baseURLSupport: "none",
1091
+ // Auto-constructed from projectId and region
1092
+ supportedFileTypes: ["pdf", "image", "audio"]
1093
+ },
1094
+ // Amazon Bedrock - AWS-hosted gateway for Claude, Nova, and more
1095
+ // Auth: AWS credentials (env vars) or Bedrock API key (AWS_BEARER_TOKEN_BEDROCK)
1096
+ //
1097
+ // Cross-region inference: Auto-added for anthropic.* and amazon.* models
1098
+ // supportsCustomModels: true allows users to add custom model IDs beyond the fixed list
1099
+ bedrock: {
1100
+ supportsCustomModels: true,
1101
+ models: [
1102
+ // Claude 4.5 models (latest)
1103
+ {
1104
+ name: "anthropic.claude-sonnet-4-5-20250929-v1:0",
1105
+ displayName: "Claude 4.5 Sonnet",
1106
+ maxInputTokens: 2e5,
1107
+ default: true,
1108
+ supportedFileTypes: ["pdf", "image"],
1109
+ pricing: {
1110
+ inputPerM: 3,
1111
+ outputPerM: 15,
1112
+ cacheWritePerM: 3.75,
1113
+ cacheReadPerM: 0.3,
1114
+ currency: "USD",
1115
+ unit: "per_million_tokens"
1116
+ }
1117
+ },
1118
+ {
1119
+ name: "anthropic.claude-haiku-4-5-20251001-v1:0",
1120
+ displayName: "Claude 4.5 Haiku",
1121
+ maxInputTokens: 2e5,
1122
+ supportedFileTypes: ["pdf", "image"],
1123
+ pricing: {
1124
+ inputPerM: 1,
1125
+ outputPerM: 5,
1126
+ cacheWritePerM: 1.25,
1127
+ cacheReadPerM: 0.1,
1128
+ currency: "USD",
1129
+ unit: "per_million_tokens"
1130
+ }
1131
+ },
1132
+ {
1133
+ name: "anthropic.claude-opus-4-5-20251101-v1:0",
1134
+ displayName: "Claude 4.5 Opus",
1135
+ maxInputTokens: 2e5,
1136
+ supportedFileTypes: ["pdf", "image"],
1137
+ pricing: {
1138
+ inputPerM: 5,
1139
+ outputPerM: 25,
1140
+ cacheWritePerM: 6.25,
1141
+ cacheReadPerM: 0.5,
1142
+ currency: "USD",
1143
+ unit: "per_million_tokens"
1144
+ }
1145
+ },
1146
+ // Amazon Nova models
1147
+ {
1148
+ name: "amazon.nova-premier-v1:0",
1149
+ displayName: "Nova Premier",
1150
+ maxInputTokens: 1e6,
1151
+ supportedFileTypes: ["image"],
1152
+ pricing: {
1153
+ inputPerM: 2.5,
1154
+ outputPerM: 12.5,
1155
+ currency: "USD",
1156
+ unit: "per_million_tokens"
1157
+ }
1158
+ },
1159
+ {
1160
+ name: "amazon.nova-pro-v1:0",
1161
+ displayName: "Nova Pro",
1162
+ maxInputTokens: 3e5,
1163
+ supportedFileTypes: ["pdf", "image"],
1164
+ pricing: {
1165
+ inputPerM: 0.8,
1166
+ outputPerM: 3.2,
1167
+ cacheReadPerM: 0.2,
1168
+ currency: "USD",
1169
+ unit: "per_million_tokens"
1170
+ }
1171
+ },
1172
+ {
1173
+ name: "amazon.nova-lite-v1:0",
1174
+ displayName: "Nova Lite",
1175
+ maxInputTokens: 3e5,
1176
+ supportedFileTypes: ["pdf", "image"],
1177
+ pricing: {
1178
+ inputPerM: 0.06,
1179
+ outputPerM: 0.24,
1180
+ cacheReadPerM: 0.015,
1181
+ currency: "USD",
1182
+ unit: "per_million_tokens"
1183
+ }
1184
+ },
1185
+ {
1186
+ name: "amazon.nova-micro-v1:0",
1187
+ displayName: "Nova Micro",
1188
+ maxInputTokens: 128e3,
1189
+ supportedFileTypes: [],
1190
+ pricing: {
1191
+ inputPerM: 0.035,
1192
+ outputPerM: 0.14,
1193
+ cacheReadPerM: 875e-5,
1194
+ currency: "USD",
1195
+ unit: "per_million_tokens"
1196
+ }
1197
+ },
1198
+ // OpenAI GPT-OSS
1199
+ {
1200
+ name: "openai.gpt-oss-120b-1:0",
1201
+ displayName: "GPT-OSS 120B",
1202
+ maxInputTokens: 128e3,
1203
+ supportedFileTypes: [],
1204
+ pricing: {
1205
+ inputPerM: 0.15,
1206
+ outputPerM: 0.6,
1207
+ currency: "USD",
1208
+ unit: "per_million_tokens"
1209
+ }
1210
+ },
1211
+ {
1212
+ name: "openai.gpt-oss-20b-1:0",
1213
+ displayName: "GPT-OSS 20B",
1214
+ maxInputTokens: 128e3,
1215
+ supportedFileTypes: [],
1216
+ pricing: {
1217
+ inputPerM: 0.07,
1218
+ outputPerM: 0.3,
1219
+ currency: "USD",
1220
+ unit: "per_million_tokens"
1221
+ }
1222
+ },
1223
+ // Qwen
1224
+ {
1225
+ name: "qwen.qwen3-coder-30b-a3b-v1:0",
1226
+ displayName: "Qwen3 Coder 30B",
1227
+ maxInputTokens: 262144,
1228
+ supportedFileTypes: [],
1229
+ pricing: {
1230
+ inputPerM: 0.15,
1231
+ outputPerM: 0.6,
1232
+ currency: "USD",
1233
+ unit: "per_million_tokens"
1234
+ }
1235
+ },
1236
+ {
1237
+ name: "qwen.qwen3-coder-480b-a35b-v1:0",
1238
+ displayName: "Qwen3 Coder 480B",
1239
+ maxInputTokens: 262144,
1240
+ supportedFileTypes: [],
1241
+ pricing: {
1242
+ inputPerM: 0.22,
1243
+ outputPerM: 1.8,
1244
+ currency: "USD",
1245
+ unit: "per_million_tokens"
1246
+ }
1247
+ }
1248
+ ],
1249
+ baseURLSupport: "none",
1250
+ // Auto-constructed from region
1251
+ supportedFileTypes: ["pdf", "image"]
1252
+ },
1253
+ // Native local model execution via node-llama-cpp
1254
+ // Runs GGUF models directly on the machine using Metal/CUDA/Vulkan acceleration
1255
+ // Models are downloaded from HuggingFace and stored in ~/.dexto/models/
1256
+ local: {
1257
+ models: [],
1258
+ // Populated dynamically from local model registry
1259
+ baseURLSupport: "none",
1260
+ // No external server needed
1261
+ supportedFileTypes: ["image"],
1262
+ // Vision support depends on model capabilities
1263
+ supportsCustomModels: true
1264
+ // Allow any GGUF model path
1265
+ },
1266
+ // Ollama server integration
1267
+ // Uses Ollama's OpenAI-compatible API for local model inference
1268
+ // Requires Ollama to be installed and running (default: http://localhost:11434)
1269
+ ollama: {
1270
+ models: [],
1271
+ // Populated dynamically from Ollama API
1272
+ baseURLSupport: "optional",
1273
+ // Default: http://localhost:11434, can be customized
1274
+ supportedFileTypes: ["image"],
1275
+ // Vision support depends on model
1276
+ supportsCustomModels: true
1277
+ // Accept any Ollama model name
818
1278
  }
1279
+ // TODO: Add 'dexto' provider (similar to openrouter, uses https://api.dexto.ai/v1)
819
1280
  };
1281
+ function stripBedrockRegionPrefix(model) {
1282
+ if (model.startsWith("eu.") || model.startsWith("us.")) {
1283
+ return model.slice(3);
1284
+ }
1285
+ if (model.startsWith("global.")) {
1286
+ return model.slice(7);
1287
+ }
1288
+ return model;
1289
+ }
820
1290
  function getDefaultModelForProvider(provider) {
821
1291
  const providerInfo = LLM_REGISTRY[provider];
822
1292
  return providerInfo.models.find((m) => m.default)?.name || null;
@@ -830,7 +1300,8 @@ function getSupportedModels(provider) {
830
1300
  }
831
1301
  function getMaxInputTokensForModel(provider, model, logger) {
832
1302
  const providerInfo = LLM_REGISTRY[provider];
833
- const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
1303
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1304
+ const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
834
1305
  if (!modelInfo) {
835
1306
  const supportedModels = getSupportedModels(provider).join(", ");
836
1307
  logger?.error(
@@ -843,13 +1314,14 @@ function getMaxInputTokensForModel(provider, model, logger) {
843
1314
  }
844
1315
  function isValidProviderModel(provider, model) {
845
1316
  const providerInfo = LLM_REGISTRY[provider];
846
- return providerInfo.models.some((m) => m.name.toLowerCase() === model.toLowerCase());
1317
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1318
+ return providerInfo.models.some((m) => m.name.toLowerCase() === normalizedModel);
847
1319
  }
848
1320
  function getProviderFromModel(model) {
849
- const lowerModel = model.toLowerCase();
1321
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
850
1322
  for (const provider of import_types.LLM_PROVIDERS) {
851
1323
  const info = LLM_REGISTRY[provider];
852
- if (info.models.some((m) => m.name.toLowerCase() === lowerModel)) {
1324
+ if (info.models.some((m) => m.name.toLowerCase() === normalizedModel)) {
853
1325
  return provider;
854
1326
  }
855
1327
  }
@@ -858,10 +1330,6 @@ function getProviderFromModel(model) {
858
1330
  function getAllSupportedModels() {
859
1331
  return Object.values(LLM_REGISTRY).flatMap((info) => info.models.map((m) => m.name));
860
1332
  }
861
- function getSupportedRoutersForProvider(provider) {
862
- const providerInfo = LLM_REGISTRY[provider];
863
- return providerInfo.supportedRouters;
864
- }
865
1333
  function supportsBaseURL(provider) {
866
1334
  const providerInfo = LLM_REGISTRY[provider];
867
1335
  return providerInfo.baseURLSupport !== "none";
@@ -874,12 +1342,34 @@ function acceptsAnyModel(provider) {
874
1342
  const providerInfo = LLM_REGISTRY[provider];
875
1343
  return providerInfo.models.length === 0;
876
1344
  }
1345
+ function supportsCustomModels(provider) {
1346
+ const providerInfo = LLM_REGISTRY[provider];
1347
+ return providerInfo.supportsCustomModels === true;
1348
+ }
1349
+ const API_KEY_OPTIONAL_PROVIDERS = /* @__PURE__ */ new Set([
1350
+ "local",
1351
+ // Native node-llama-cpp execution - no auth needed
1352
+ "ollama",
1353
+ // Ollama server - no auth needed by default
1354
+ "openai-compatible",
1355
+ // vLLM, LocalAI - often no auth needed
1356
+ "litellm",
1357
+ // Self-hosted proxy - handles auth internally
1358
+ "vertex",
1359
+ // Uses Google Cloud ADC (Application Default Credentials)
1360
+ "bedrock"
1361
+ // Uses AWS credentials (access key + secret or IAM role)
1362
+ ]);
1363
+ function requiresApiKey(provider) {
1364
+ return !API_KEY_OPTIONAL_PROVIDERS.has(provider);
1365
+ }
877
1366
  function getSupportedFileTypesForModel(provider, model) {
878
1367
  const providerInfo = LLM_REGISTRY[provider];
879
1368
  if (acceptsAnyModel(provider)) {
880
1369
  return providerInfo.supportedFileTypes;
881
1370
  }
882
- const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
1371
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1372
+ const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
883
1373
  if (!modelInfo) {
884
1374
  throw import_errors.LLMError.unknownModel(provider, model);
885
1375
  }
@@ -918,32 +1408,6 @@ function validateModelFileSupport(provider, model, mimeType) {
918
1408
  };
919
1409
  }
920
1410
  }
921
- function isRouterSupportedForModel(provider, model, router) {
922
- const providerInfo = LLM_REGISTRY[provider];
923
- const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
924
- if (!modelInfo) {
925
- return isRouterSupportedForProvider(provider, router);
926
- }
927
- if (modelInfo.supportedRouters) {
928
- return modelInfo.supportedRouters.includes(router);
929
- }
930
- return isRouterSupportedForProvider(provider, router);
931
- }
932
- function getSupportedRoutersForModel(provider, model) {
933
- const providerInfo = LLM_REGISTRY[provider];
934
- const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
935
- if (!modelInfo) {
936
- return getSupportedRoutersForProvider(provider);
937
- }
938
- if (modelInfo.supportedRouters) {
939
- return modelInfo.supportedRouters;
940
- }
941
- return getSupportedRoutersForProvider(provider);
942
- }
943
- function isRouterSupportedForProvider(provider, router) {
944
- const supportedRouters = getSupportedRoutersForProvider(provider);
945
- return supportedRouters.includes(router);
946
- }
947
1411
  function getEffectiveMaxInputTokens(config, logger) {
948
1412
  const configuredMaxInputTokens = config.maxInputTokens;
949
1413
  if (configuredMaxInputTokens != null) {
@@ -984,6 +1448,19 @@ function getEffectiveMaxInputTokens(config, logger) {
984
1448
  }
985
1449
  }
986
1450
  }
1451
+ if (config.provider === "openrouter") {
1452
+ const contextLength = (0, import_openrouter_model_registry.getOpenRouterModelContextLength)(config.model);
1453
+ if (contextLength !== null) {
1454
+ logger.debug(
1455
+ `Using maxInputTokens from OpenRouter registry for ${config.model}: ${contextLength}`
1456
+ );
1457
+ return contextLength;
1458
+ }
1459
+ logger.warn(
1460
+ `OpenRouter model ${config.model} not found in cache, defaulting to ${DEFAULT_MAX_INPUT_TOKENS} tokens`
1461
+ );
1462
+ return DEFAULT_MAX_INPUT_TOKENS;
1463
+ }
987
1464
  if (config.baseURL) {
988
1465
  logger.warn(
989
1466
  `baseURL is set but maxInputTokens is missing. Defaulting to ${DEFAULT_MAX_INPUT_TOKENS}. Provide 'maxInputTokens' in configuration to avoid default fallback.`
@@ -1008,6 +1485,12 @@ function getEffectiveMaxInputTokens(config, logger) {
1008
1485
  return registryMaxInputTokens;
1009
1486
  } catch (error) {
1010
1487
  if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
1488
+ if (supportsCustomModels(config.provider)) {
1489
+ logger.debug(
1490
+ `Custom model ${config.model} not in ${config.provider} registry, defaulting to ${DEFAULT_MAX_INPUT_TOKENS} tokens`
1491
+ );
1492
+ return DEFAULT_MAX_INPUT_TOKENS;
1493
+ }
1011
1494
  logger.error(
1012
1495
  `Registry lookup failed for ${config.provider}/${config.model}: ${error.message}. Effective maxInputTokens cannot be determined.`
1013
1496
  );
@@ -1018,28 +1501,62 @@ function getEffectiveMaxInputTokens(config, logger) {
1018
1501
  }
1019
1502
  }
1020
1503
  }
1504
+ function getModelPricing(provider, model) {
1505
+ const providerInfo = LLM_REGISTRY[provider];
1506
+ if (acceptsAnyModel(provider)) {
1507
+ return void 0;
1508
+ }
1509
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1510
+ const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
1511
+ return modelInfo?.pricing;
1512
+ }
1513
+ function getModelDisplayName(model, provider) {
1514
+ let resolvedProvider;
1515
+ try {
1516
+ resolvedProvider = provider ?? getProviderFromModel(model);
1517
+ } catch {
1518
+ return model;
1519
+ }
1520
+ const providerInfo = LLM_REGISTRY[resolvedProvider];
1521
+ if (!providerInfo || acceptsAnyModel(resolvedProvider)) {
1522
+ return model;
1523
+ }
1524
+ const normalizedModel = stripBedrockRegionPrefix(model).toLowerCase();
1525
+ const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === normalizedModel);
1526
+ return modelInfo?.displayName ?? model;
1527
+ }
1528
+ function calculateCost(usage, pricing) {
1529
+ const inputCost = (usage.inputTokens ?? 0) * pricing.inputPerM / 1e6;
1530
+ const outputCost = (usage.outputTokens ?? 0) * pricing.outputPerM / 1e6;
1531
+ const cacheReadCost = (usage.cacheReadTokens ?? 0) * (pricing.cacheReadPerM ?? 0) / 1e6;
1532
+ const cacheWriteCost = (usage.cacheWriteTokens ?? 0) * (pricing.cacheWritePerM ?? 0) / 1e6;
1533
+ const reasoningCost = (usage.reasoningTokens ?? 0) * pricing.outputPerM / 1e6;
1534
+ return inputCost + outputCost + cacheReadCost + cacheWriteCost + reasoningCost;
1535
+ }
1021
1536
  // Annotate the CommonJS export names for ESM import in node:
1022
1537
  0 && (module.exports = {
1023
1538
  DEFAULT_MAX_INPUT_TOKENS,
1024
1539
  LLM_REGISTRY,
1025
1540
  MIME_TYPE_TO_FILE_TYPE,
1026
1541
  acceptsAnyModel,
1542
+ calculateCost,
1027
1543
  getAllSupportedModels,
1028
1544
  getAllowedMimeTypes,
1029
1545
  getDefaultModelForProvider,
1030
1546
  getEffectiveMaxInputTokens,
1031
1547
  getMaxInputTokensForModel,
1548
+ getModelDisplayName,
1549
+ getModelPricing,
1032
1550
  getProviderFromModel,
1033
1551
  getSupportedFileTypesForModel,
1034
1552
  getSupportedModels,
1035
1553
  getSupportedProviders,
1036
- getSupportedRoutersForModel,
1037
- getSupportedRoutersForProvider,
1038
- isRouterSupportedForModel,
1039
- isRouterSupportedForProvider,
1040
1554
  isValidProviderModel,
1041
1555
  modelSupportsFileType,
1556
+ requiresApiKey,
1042
1557
  requiresBaseURL,
1558
+ stripBedrockRegionPrefix,
1043
1559
  supportsBaseURL,
1560
+ supportsCustomModels,
1044
1561
  validateModelFileSupport
1045
1562
  });