@dexto/core 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/README.md +125 -0
  2. package/dist/agent/DextoAgent.cjs +793 -0
  3. package/dist/agent/DextoAgent.d.cts +473 -0
  4. package/dist/agent/DextoAgent.d.ts +473 -0
  5. package/dist/agent/DextoAgent.js +774 -0
  6. package/dist/agent/agentCard.cjs +44 -0
  7. package/dist/agent/agentCard.d.cts +20 -0
  8. package/dist/agent/agentCard.d.ts +20 -0
  9. package/dist/agent/agentCard.js +20 -0
  10. package/dist/agent/error-codes.cjs +35 -0
  11. package/dist/agent/error-codes.d.cts +14 -0
  12. package/dist/agent/error-codes.d.ts +14 -0
  13. package/dist/agent/error-codes.js +11 -0
  14. package/dist/agent/errors.cjs +84 -0
  15. package/dist/agent/errors.d.cts +40 -0
  16. package/dist/agent/errors.d.ts +40 -0
  17. package/dist/agent/errors.js +60 -0
  18. package/dist/agent/index.cjs +44 -0
  19. package/dist/agent/index.d.cts +60 -0
  20. package/dist/agent/index.d.ts +60 -0
  21. package/dist/agent/index.js +13 -0
  22. package/dist/agent/registry/error-codes.cjs +42 -0
  23. package/dist/agent/registry/error-codes.d.cts +20 -0
  24. package/dist/agent/registry/error-codes.d.ts +20 -0
  25. package/dist/agent/registry/error-codes.js +18 -0
  26. package/dist/agent/registry/errors.cjs +158 -0
  27. package/dist/agent/registry/errors.d.cts +67 -0
  28. package/dist/agent/registry/errors.d.ts +67 -0
  29. package/dist/{chunk-PI6XFMEW.js → agent/registry/errors.js} +43 -50
  30. package/dist/agent/registry/registry.cjs +291 -0
  31. package/dist/agent/registry/registry.d.cts +67 -0
  32. package/dist/agent/registry/registry.d.ts +67 -0
  33. package/dist/agent/registry/registry.js +256 -0
  34. package/dist/agent/registry/types.cjs +41 -0
  35. package/dist/agent/registry/types.d.cts +100 -0
  36. package/dist/agent/registry/types.d.ts +100 -0
  37. package/dist/agent/registry/types.js +16 -0
  38. package/dist/agent/schemas.cjs +113 -0
  39. package/dist/agent/schemas.d.cts +1502 -0
  40. package/dist/agent/schemas.d.ts +1502 -0
  41. package/dist/agent/schemas.js +88 -0
  42. package/dist/agent/state-manager.cjs +214 -0
  43. package/dist/agent/state-manager.d.cts +97 -0
  44. package/dist/agent/state-manager.d.ts +97 -0
  45. package/dist/agent/state-manager.js +190 -0
  46. package/dist/config/agent-resolver.cjs +153 -0
  47. package/dist/config/agent-resolver.d.cts +15 -0
  48. package/dist/config/agent-resolver.d.ts +15 -0
  49. package/dist/config/agent-resolver.js +122 -0
  50. package/dist/config/error-codes.cjs +39 -0
  51. package/dist/config/error-codes.d.cts +17 -0
  52. package/dist/config/error-codes.d.ts +17 -0
  53. package/dist/config/error-codes.js +15 -0
  54. package/dist/config/errors.cjs +126 -0
  55. package/dist/config/errors.d.cts +49 -0
  56. package/dist/config/errors.d.ts +49 -0
  57. package/dist/config/errors.js +102 -0
  58. package/dist/config/index.cjs +26 -0
  59. package/dist/config/index.d.cts +7 -0
  60. package/dist/config/index.d.ts +7 -0
  61. package/dist/config/index.js +3 -0
  62. package/dist/config/loader.cjs +119 -0
  63. package/dist/config/loader.d.cts +19 -0
  64. package/dist/config/loader.d.ts +19 -0
  65. package/dist/config/loader.js +85 -0
  66. package/dist/config/writer.cjs +182 -0
  67. package/dist/config/writer.d.cts +38 -0
  68. package/dist/config/writer.d.ts +38 -0
  69. package/dist/config/writer.js +146 -0
  70. package/dist/context/compression/middle-removal.cjs +95 -0
  71. package/dist/context/compression/middle-removal.d.cts +48 -0
  72. package/dist/context/compression/middle-removal.d.ts +48 -0
  73. package/dist/context/compression/middle-removal.js +71 -0
  74. package/dist/context/compression/oldest-removal.cjs +70 -0
  75. package/dist/context/compression/oldest-removal.d.cts +43 -0
  76. package/dist/context/compression/oldest-removal.d.ts +43 -0
  77. package/dist/context/compression/oldest-removal.js +46 -0
  78. package/dist/context/compression/types.cjs +16 -0
  79. package/dist/context/compression/types.d.cts +21 -0
  80. package/dist/context/compression/types.d.ts +21 -0
  81. package/dist/context/compression/types.js +0 -0
  82. package/dist/context/error-codes.cjs +41 -0
  83. package/dist/context/error-codes.d.cts +19 -0
  84. package/dist/context/error-codes.d.ts +19 -0
  85. package/dist/context/error-codes.js +17 -0
  86. package/dist/context/errors.cjs +146 -0
  87. package/dist/context/errors.d.cts +36 -0
  88. package/dist/context/errors.d.ts +36 -0
  89. package/dist/context/errors.js +122 -0
  90. package/dist/context/index.cjs +24 -0
  91. package/dist/context/index.d.cts +19 -0
  92. package/dist/context/index.d.ts +19 -0
  93. package/dist/context/index.js +2 -0
  94. package/dist/context/manager.cjs +516 -0
  95. package/dist/context/manager.d.cts +254 -0
  96. package/dist/context/manager.d.ts +254 -0
  97. package/dist/context/manager.js +492 -0
  98. package/dist/context/types.cjs +16 -0
  99. package/dist/context/types.d.cts +113 -0
  100. package/dist/context/types.d.ts +113 -0
  101. package/dist/context/types.js +0 -0
  102. package/dist/context/utils.cjs +406 -0
  103. package/dist/context/utils.d.cts +79 -0
  104. package/dist/context/utils.d.ts +79 -0
  105. package/dist/context/utils.js +374 -0
  106. package/dist/errors/DextoBaseError.cjs +36 -0
  107. package/dist/errors/DextoBaseError.d.cts +15 -0
  108. package/dist/errors/DextoBaseError.d.ts +15 -0
  109. package/dist/errors/DextoBaseError.js +12 -0
  110. package/dist/errors/DextoRuntimeError.cjs +50 -0
  111. package/dist/errors/DextoRuntimeError.d.cts +37 -0
  112. package/dist/errors/DextoRuntimeError.d.ts +37 -0
  113. package/dist/errors/DextoRuntimeError.js +26 -0
  114. package/dist/errors/DextoValidationError.cjs +118 -0
  115. package/dist/errors/DextoValidationError.d.cts +65 -0
  116. package/dist/errors/DextoValidationError.d.ts +65 -0
  117. package/dist/{chunk-XFQLRBHE.js → errors/DextoValidationError.js} +4 -32
  118. package/dist/errors/index.cjs +42 -0
  119. package/dist/errors/index.d.cts +18 -0
  120. package/dist/errors/index.d.ts +18 -0
  121. package/dist/errors/index.js +13 -0
  122. package/dist/errors/result-bridge.cjs +38 -0
  123. package/dist/errors/result-bridge.d.cts +39 -0
  124. package/dist/errors/result-bridge.d.ts +39 -0
  125. package/dist/errors/result-bridge.js +14 -0
  126. package/dist/errors/types.cjs +54 -0
  127. package/dist/errors/types.d.cts +62 -0
  128. package/dist/errors/types.d.ts +62 -0
  129. package/dist/errors/types.js +29 -0
  130. package/dist/events/index.cjs +169 -0
  131. package/dist/events/index.d.cts +272 -0
  132. package/dist/events/index.d.ts +272 -0
  133. package/dist/events/index.js +136 -0
  134. package/dist/index.browser.cjs +9 -220
  135. package/dist/index.browser.d.cts +53 -379
  136. package/dist/index.browser.d.ts +53 -379
  137. package/dist/index.browser.js +4 -210
  138. package/dist/index.cjs +31 -15266
  139. package/dist/index.d.cts +89 -6842
  140. package/dist/index.d.ts +89 -6842
  141. package/dist/index.js +14 -9914
  142. package/dist/llm/error-codes.cjs +48 -0
  143. package/dist/llm/error-codes.d.cts +26 -0
  144. package/dist/llm/error-codes.d.ts +26 -0
  145. package/dist/llm/error-codes.js +24 -0
  146. package/dist/llm/errors.cjs +108 -0
  147. package/dist/llm/errors.d.cts +58 -0
  148. package/dist/llm/errors.d.ts +58 -0
  149. package/dist/llm/errors.js +84 -0
  150. package/dist/llm/formatters/anthropic.cjs +246 -0
  151. package/dist/llm/formatters/anthropic.d.cts +45 -0
  152. package/dist/llm/formatters/anthropic.d.ts +45 -0
  153. package/dist/llm/formatters/anthropic.js +227 -0
  154. package/dist/llm/formatters/factory.cjs +51 -0
  155. package/dist/llm/formatters/factory.d.cts +12 -0
  156. package/dist/llm/formatters/factory.d.ts +12 -0
  157. package/dist/llm/formatters/factory.js +27 -0
  158. package/dist/llm/formatters/openai.cjs +167 -0
  159. package/dist/llm/formatters/openai.d.cts +38 -0
  160. package/dist/llm/formatters/openai.d.ts +38 -0
  161. package/dist/llm/formatters/openai.js +147 -0
  162. package/dist/llm/formatters/types.cjs +16 -0
  163. package/dist/llm/formatters/types.d.cts +43 -0
  164. package/dist/llm/formatters/types.d.ts +43 -0
  165. package/dist/llm/formatters/types.js +0 -0
  166. package/dist/llm/formatters/vercel.cjs +411 -0
  167. package/dist/llm/formatters/vercel.d.cts +48 -0
  168. package/dist/llm/formatters/vercel.d.ts +48 -0
  169. package/dist/llm/formatters/vercel.js +387 -0
  170. package/dist/llm/index.cjs +34 -0
  171. package/dist/llm/index.d.cts +39 -0
  172. package/dist/llm/index.d.ts +39 -0
  173. package/dist/llm/index.js +7 -0
  174. package/dist/llm/registry.cjs +881 -0
  175. package/dist/llm/registry.d.cts +176 -0
  176. package/dist/llm/registry.d.ts +176 -0
  177. package/dist/{chunk-J6AXCN3H.js → llm/registry.js} +25 -455
  178. package/dist/llm/resolver.cjs +154 -0
  179. package/dist/llm/resolver.d.cts +34 -0
  180. package/dist/llm/resolver.d.ts +34 -0
  181. package/dist/llm/resolver.js +136 -0
  182. package/dist/llm/schemas.cjs +188 -0
  183. package/dist/llm/schemas.d.cts +111 -0
  184. package/dist/llm/schemas.d.ts +111 -0
  185. package/dist/llm/schemas.js +172 -0
  186. package/dist/llm/services/anthropic.cjs +398 -0
  187. package/dist/llm/services/anthropic.d.cts +65 -0
  188. package/dist/llm/services/anthropic.d.ts +65 -0
  189. package/dist/llm/services/anthropic.js +374 -0
  190. package/dist/llm/services/factory.cjs +164 -0
  191. package/dist/llm/services/factory.d.cts +39 -0
  192. package/dist/llm/services/factory.d.ts +39 -0
  193. package/dist/llm/services/factory.js +130 -0
  194. package/dist/llm/services/index.cjs +22 -0
  195. package/dist/llm/services/index.d.cts +21 -0
  196. package/dist/llm/services/index.d.ts +21 -0
  197. package/dist/llm/services/index.js +1 -0
  198. package/dist/llm/services/openai.cjs +470 -0
  199. package/dist/llm/services/openai.d.cts +65 -0
  200. package/dist/llm/services/openai.d.ts +65 -0
  201. package/dist/llm/services/openai.js +446 -0
  202. package/dist/llm/services/test-utils.integration.cjs +169 -0
  203. package/dist/llm/services/test-utils.integration.d.cts +83 -0
  204. package/dist/llm/services/test-utils.integration.d.ts +83 -0
  205. package/dist/llm/services/test-utils.integration.js +142 -0
  206. package/dist/llm/services/types.cjs +16 -0
  207. package/dist/llm/services/types.d.cts +56 -0
  208. package/dist/llm/services/types.d.ts +56 -0
  209. package/dist/llm/services/types.js +0 -0
  210. package/dist/llm/services/vercel.cjs +525 -0
  211. package/dist/llm/services/vercel.d.cts +72 -0
  212. package/dist/llm/services/vercel.d.ts +72 -0
  213. package/dist/llm/services/vercel.js +506 -0
  214. package/dist/llm/tokenizer/anthropic.cjs +43 -0
  215. package/dist/llm/tokenizer/anthropic.d.cts +21 -0
  216. package/dist/llm/tokenizer/anthropic.d.ts +21 -0
  217. package/dist/llm/tokenizer/anthropic.js +19 -0
  218. package/dist/llm/tokenizer/default.cjs +41 -0
  219. package/dist/llm/tokenizer/default.d.cts +16 -0
  220. package/dist/llm/tokenizer/default.d.ts +16 -0
  221. package/dist/llm/tokenizer/default.js +17 -0
  222. package/dist/llm/tokenizer/factory.cjs +44 -0
  223. package/dist/llm/tokenizer/factory.d.cts +12 -0
  224. package/dist/llm/tokenizer/factory.d.ts +12 -0
  225. package/dist/llm/tokenizer/factory.js +20 -0
  226. package/dist/llm/tokenizer/google.cjs +52 -0
  227. package/dist/llm/tokenizer/google.d.cts +31 -0
  228. package/dist/llm/tokenizer/google.d.ts +31 -0
  229. package/dist/llm/tokenizer/google.js +28 -0
  230. package/dist/llm/tokenizer/openai.cjs +108 -0
  231. package/dist/llm/tokenizer/openai.d.cts +32 -0
  232. package/dist/llm/tokenizer/openai.d.ts +32 -0
  233. package/dist/llm/tokenizer/openai.js +83 -0
  234. package/dist/llm/tokenizer/types.cjs +33 -0
  235. package/dist/llm/tokenizer/types.d.cts +19 -0
  236. package/dist/llm/tokenizer/types.d.ts +19 -0
  237. package/dist/llm/tokenizer/types.js +9 -0
  238. package/dist/llm/types.cjs +42 -0
  239. package/dist/llm/types.d.cts +29 -0
  240. package/dist/llm/types.d.ts +29 -0
  241. package/dist/llm/types.js +16 -0
  242. package/dist/llm/validation.cjs +162 -0
  243. package/dist/llm/validation.d.cts +60 -0
  244. package/dist/llm/validation.d.ts +60 -0
  245. package/dist/llm/validation.js +138 -0
  246. package/dist/logger/browser.cjs +86 -0
  247. package/dist/logger/browser.d.cts +29 -0
  248. package/dist/logger/browser.d.ts +29 -0
  249. package/dist/logger/browser.js +61 -0
  250. package/dist/logger/index.cjs +22 -0
  251. package/dist/logger/index.d.cts +1 -0
  252. package/dist/logger/index.d.ts +1 -0
  253. package/dist/logger/index.js +1 -0
  254. package/dist/logger/logger.cjs +362 -0
  255. package/dist/logger/logger.d.cts +52 -0
  256. package/dist/logger/logger.d.ts +52 -0
  257. package/dist/logger/logger.js +327 -0
  258. package/dist/mcp/error-codes.cjs +38 -0
  259. package/dist/mcp/error-codes.d.cts +16 -0
  260. package/dist/mcp/error-codes.d.ts +16 -0
  261. package/dist/mcp/error-codes.js +14 -0
  262. package/dist/mcp/errors.cjs +131 -0
  263. package/dist/mcp/errors.d.cts +72 -0
  264. package/dist/mcp/errors.d.ts +72 -0
  265. package/dist/mcp/errors.js +107 -0
  266. package/dist/mcp/index.cjs +34 -0
  267. package/dist/mcp/index.d.cts +26 -0
  268. package/dist/mcp/index.d.ts +26 -0
  269. package/dist/mcp/index.js +7 -0
  270. package/dist/mcp/manager.cjs +473 -0
  271. package/dist/mcp/manager.d.cts +163 -0
  272. package/dist/mcp/manager.d.ts +163 -0
  273. package/dist/mcp/manager.js +449 -0
  274. package/dist/mcp/mcp-client.cjs +420 -0
  275. package/dist/mcp/mcp-client.d.cts +108 -0
  276. package/dist/mcp/mcp-client.d.ts +108 -0
  277. package/dist/mcp/mcp-client.js +396 -0
  278. package/dist/mcp/resolver.cjs +78 -0
  279. package/dist/mcp/resolver.d.cts +22 -0
  280. package/dist/mcp/resolver.d.ts +22 -0
  281. package/dist/mcp/resolver.js +56 -0
  282. package/dist/mcp/schemas.cjs +82 -0
  283. package/dist/mcp/schemas.d.cts +266 -0
  284. package/dist/mcp/schemas.d.ts +266 -0
  285. package/dist/mcp/schemas.js +54 -0
  286. package/dist/mcp/types.cjs +16 -0
  287. package/dist/mcp/types.d.cts +21 -0
  288. package/dist/mcp/types.d.ts +21 -0
  289. package/dist/mcp/types.js +0 -0
  290. package/dist/preferences/constants.cjs +28 -0
  291. package/dist/preferences/constants.d.cts +3 -0
  292. package/dist/preferences/constants.d.ts +3 -0
  293. package/dist/preferences/constants.js +4 -0
  294. package/dist/preferences/error-codes.cjs +35 -0
  295. package/dist/preferences/error-codes.d.cts +9 -0
  296. package/dist/preferences/error-codes.d.ts +9 -0
  297. package/dist/preferences/error-codes.js +11 -0
  298. package/dist/preferences/errors.cjs +75 -0
  299. package/dist/preferences/errors.d.cts +33 -0
  300. package/dist/preferences/errors.d.ts +33 -0
  301. package/dist/preferences/errors.js +50 -0
  302. package/dist/preferences/index.cjs +55 -0
  303. package/dist/preferences/index.d.cts +21 -0
  304. package/dist/preferences/index.d.ts +21 -0
  305. package/dist/preferences/index.js +31 -0
  306. package/dist/preferences/loader.cjs +136 -0
  307. package/dist/preferences/loader.d.cts +45 -0
  308. package/dist/preferences/loader.d.ts +45 -0
  309. package/dist/preferences/loader.js +107 -0
  310. package/dist/preferences/schemas.cjs +74 -0
  311. package/dist/preferences/schemas.d.cts +104 -0
  312. package/dist/preferences/schemas.d.ts +104 -0
  313. package/dist/preferences/schemas.js +47 -0
  314. package/dist/search/index.cjs +28 -0
  315. package/dist/search/index.d.cts +5 -0
  316. package/dist/search/index.d.ts +5 -0
  317. package/dist/search/index.js +4 -0
  318. package/dist/search/search-service.cjs +245 -0
  319. package/dist/search/search-service.d.cts +47 -0
  320. package/dist/search/search-service.d.ts +47 -0
  321. package/dist/search/search-service.js +221 -0
  322. package/dist/search/types.cjs +16 -0
  323. package/dist/search/types.d.cts +78 -0
  324. package/dist/search/types.d.ts +78 -0
  325. package/dist/search/types.js +0 -0
  326. package/dist/session/chat-session.cjs +354 -0
  327. package/dist/session/chat-session.d.cts +284 -0
  328. package/dist/session/chat-session.d.ts +284 -0
  329. package/dist/session/chat-session.js +333 -0
  330. package/dist/session/error-codes.cjs +35 -0
  331. package/dist/session/error-codes.d.cts +13 -0
  332. package/dist/session/error-codes.d.ts +13 -0
  333. package/dist/session/error-codes.js +11 -0
  334. package/dist/session/errors.cjs +93 -0
  335. package/dist/session/errors.d.cts +58 -0
  336. package/dist/session/errors.d.ts +58 -0
  337. package/dist/session/errors.js +69 -0
  338. package/dist/session/history/database.cjs +95 -0
  339. package/dist/session/history/database.d.cts +28 -0
  340. package/dist/session/history/database.d.ts +28 -0
  341. package/dist/session/history/database.js +71 -0
  342. package/dist/session/history/factory.cjs +31 -0
  343. package/dist/session/history/factory.d.cts +11 -0
  344. package/dist/session/history/factory.d.ts +11 -0
  345. package/dist/session/history/factory.js +7 -0
  346. package/dist/session/history/types.cjs +16 -0
  347. package/dist/session/history/types.d.cts +17 -0
  348. package/dist/session/history/types.d.ts +17 -0
  349. package/dist/session/history/types.js +0 -0
  350. package/dist/session/index.cjs +37 -0
  351. package/dist/session/index.d.cts +53 -0
  352. package/dist/session/index.d.ts +53 -0
  353. package/dist/session/index.js +10 -0
  354. package/dist/session/schemas.cjs +32 -0
  355. package/dist/session/schemas.d.cts +16 -0
  356. package/dist/session/schemas.d.ts +16 -0
  357. package/dist/session/schemas.js +8 -0
  358. package/dist/session/session-manager.cjs +481 -0
  359. package/dist/session/session-manager.d.cts +219 -0
  360. package/dist/session/session-manager.d.ts +219 -0
  361. package/dist/session/session-manager.js +457 -0
  362. package/dist/storage/backend/cache-backend.cjs +16 -0
  363. package/dist/storage/backend/cache-backend.d.cts +15 -0
  364. package/dist/storage/backend/cache-backend.d.ts +15 -0
  365. package/dist/storage/backend/cache-backend.js +0 -0
  366. package/dist/storage/backend/database-backend.cjs +16 -0
  367. package/dist/storage/backend/database-backend.d.cts +19 -0
  368. package/dist/storage/backend/database-backend.d.ts +19 -0
  369. package/dist/storage/backend/database-backend.js +0 -0
  370. package/dist/storage/backend/memory-backend.cjs +140 -0
  371. package/dist/storage/backend/memory-backend.d.cts +34 -0
  372. package/dist/storage/backend/memory-backend.d.ts +34 -0
  373. package/dist/storage/backend/memory-backend.js +116 -0
  374. package/dist/storage/backend/postgres-backend.cjs +231 -0
  375. package/dist/storage/backend/postgres-backend.d.cts +37 -0
  376. package/dist/storage/backend/postgres-backend.d.ts +37 -0
  377. package/dist/{postgres-backend-WMWS7RAT.js → storage/backend/postgres-backend.js} +3 -12
  378. package/dist/storage/backend/redis-backend.cjs +184 -0
  379. package/dist/storage/backend/redis-backend.d.cts +36 -0
  380. package/dist/storage/backend/redis-backend.d.ts +36 -0
  381. package/dist/{redis-backend-BNLN3XHX.js → storage/backend/redis-backend.js} +3 -12
  382. package/dist/storage/backend/sqlite-backend.cjs +271 -0
  383. package/dist/storage/backend/sqlite-backend.d.cts +35 -0
  384. package/dist/storage/backend/sqlite-backend.d.ts +35 -0
  385. package/dist/{sqlite-backend-AR6XNK2Q.js → storage/backend/sqlite-backend.js} +6 -17
  386. package/dist/storage/backend/types.cjs +16 -0
  387. package/dist/storage/backend/types.d.cts +14 -0
  388. package/dist/storage/backend/types.d.ts +14 -0
  389. package/dist/storage/backend/types.js +0 -0
  390. package/dist/storage/error-codes.cjs +36 -0
  391. package/dist/storage/error-codes.d.cts +14 -0
  392. package/dist/storage/error-codes.d.ts +14 -0
  393. package/dist/storage/error-codes.js +12 -0
  394. package/dist/storage/errors.cjs +104 -0
  395. package/dist/storage/errors.d.cts +63 -0
  396. package/dist/storage/errors.d.ts +63 -0
  397. package/dist/{chunk-F2QFAECT.js → storage/errors.js} +23 -30
  398. package/dist/storage/index.cjs +33 -0
  399. package/dist/storage/index.d.cts +7 -0
  400. package/dist/storage/index.d.ts +7 -0
  401. package/dist/storage/index.js +7 -0
  402. package/dist/storage/schemas.cjs +113 -0
  403. package/dist/storage/schemas.d.cts +856 -0
  404. package/dist/storage/schemas.d.ts +856 -0
  405. package/dist/storage/schemas.js +89 -0
  406. package/dist/storage/storage-manager.cjs +208 -0
  407. package/dist/storage/storage-manager.d.cts +52 -0
  408. package/dist/storage/storage-manager.d.ts +52 -0
  409. package/dist/storage/storage-manager.js +173 -0
  410. package/dist/storage/types.cjs +16 -0
  411. package/dist/storage/types.d.cts +5 -0
  412. package/dist/storage/types.d.ts +5 -0
  413. package/dist/storage/types.js +0 -0
  414. package/dist/systemPrompt/contributors.cjs +146 -0
  415. package/dist/systemPrompt/contributors.d.cts +44 -0
  416. package/dist/systemPrompt/contributors.d.ts +44 -0
  417. package/dist/systemPrompt/contributors.js +120 -0
  418. package/dist/systemPrompt/error-codes.cjs +35 -0
  419. package/dist/systemPrompt/error-codes.d.cts +13 -0
  420. package/dist/systemPrompt/error-codes.d.ts +13 -0
  421. package/dist/systemPrompt/error-codes.js +11 -0
  422. package/dist/systemPrompt/errors.cjs +93 -0
  423. package/dist/systemPrompt/errors.d.cts +55 -0
  424. package/dist/systemPrompt/errors.d.ts +55 -0
  425. package/dist/systemPrompt/errors.js +69 -0
  426. package/dist/systemPrompt/in-built-prompts.cjs +68 -0
  427. package/dist/systemPrompt/in-built-prompts.d.cts +28 -0
  428. package/dist/systemPrompt/in-built-prompts.d.ts +28 -0
  429. package/dist/systemPrompt/in-built-prompts.js +42 -0
  430. package/dist/systemPrompt/index.cjs +30 -0
  431. package/dist/systemPrompt/index.d.cts +14 -0
  432. package/dist/systemPrompt/index.d.ts +14 -0
  433. package/dist/systemPrompt/index.js +5 -0
  434. package/dist/systemPrompt/manager.cjs +93 -0
  435. package/dist/systemPrompt/manager.d.cts +31 -0
  436. package/dist/systemPrompt/manager.d.ts +31 -0
  437. package/dist/systemPrompt/manager.js +69 -0
  438. package/dist/systemPrompt/registry.cjs +51 -0
  439. package/dist/systemPrompt/registry.d.cts +20 -0
  440. package/dist/systemPrompt/registry.d.ts +20 -0
  441. package/dist/systemPrompt/registry.js +15 -0
  442. package/dist/systemPrompt/schemas.cjs +107 -0
  443. package/dist/systemPrompt/schemas.d.cts +401 -0
  444. package/dist/systemPrompt/schemas.d.ts +401 -0
  445. package/dist/systemPrompt/schemas.js +81 -0
  446. package/dist/systemPrompt/types.cjs +16 -0
  447. package/dist/systemPrompt/types.d.cts +19 -0
  448. package/dist/systemPrompt/types.d.ts +19 -0
  449. package/dist/systemPrompt/types.js +0 -0
  450. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +44 -0
  451. package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +19 -0
  452. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +19 -0
  453. package/dist/tools/confirmation/allowed-tools-provider/factory.js +20 -0
  454. package/dist/tools/confirmation/allowed-tools-provider/in-memory.cjs +62 -0
  455. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +17 -0
  456. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +17 -0
  457. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +38 -0
  458. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +68 -0
  459. package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +26 -0
  460. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +26 -0
  461. package/dist/tools/confirmation/allowed-tools-provider/storage.js +44 -0
  462. package/dist/tools/confirmation/allowed-tools-provider/types.cjs +16 -0
  463. package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +35 -0
  464. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +35 -0
  465. package/dist/tools/confirmation/allowed-tools-provider/types.js +0 -0
  466. package/dist/tools/confirmation/event-based-confirmation-provider.cjs +158 -0
  467. package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +41 -0
  468. package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +41 -0
  469. package/dist/tools/confirmation/event-based-confirmation-provider.js +134 -0
  470. package/dist/tools/confirmation/factory.cjs +52 -0
  471. package/dist/tools/confirmation/factory.d.cts +37 -0
  472. package/dist/tools/confirmation/factory.d.ts +37 -0
  473. package/dist/tools/confirmation/factory.js +28 -0
  474. package/dist/tools/confirmation/noop-confirmation-provider.cjs +49 -0
  475. package/dist/tools/confirmation/noop-confirmation-provider.d.cts +22 -0
  476. package/dist/tools/confirmation/noop-confirmation-provider.d.ts +22 -0
  477. package/dist/tools/confirmation/noop-confirmation-provider.js +25 -0
  478. package/dist/tools/confirmation/types.cjs +16 -0
  479. package/dist/tools/confirmation/types.d.cts +46 -0
  480. package/dist/tools/confirmation/types.d.ts +46 -0
  481. package/dist/tools/confirmation/types.js +0 -0
  482. package/dist/tools/error-codes.cjs +40 -0
  483. package/dist/tools/error-codes.d.cts +18 -0
  484. package/dist/tools/error-codes.d.ts +18 -0
  485. package/dist/tools/error-codes.js +16 -0
  486. package/dist/tools/errors.cjs +164 -0
  487. package/dist/tools/errors.d.cts +97 -0
  488. package/dist/tools/errors.d.ts +97 -0
  489. package/dist/tools/errors.js +140 -0
  490. package/dist/tools/index.cjs +37 -0
  491. package/dist/tools/index.d.cts +19 -0
  492. package/dist/tools/index.d.ts +19 -0
  493. package/dist/tools/index.js +8 -0
  494. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +61 -0
  495. package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +15 -0
  496. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +15 -0
  497. package/dist/tools/internal-tools/implementations/search-history-tool.js +37 -0
  498. package/dist/tools/internal-tools/index.cjs +24 -0
  499. package/dist/tools/internal-tools/index.d.cts +13 -0
  500. package/dist/tools/internal-tools/index.d.ts +13 -0
  501. package/dist/tools/internal-tools/index.js +2 -0
  502. package/dist/tools/internal-tools/provider.cjs +159 -0
  503. package/dist/tools/internal-tools/provider.d.cts +66 -0
  504. package/dist/tools/internal-tools/provider.d.ts +66 -0
  505. package/dist/tools/internal-tools/provider.js +135 -0
  506. package/dist/tools/internal-tools/registry.cjs +43 -0
  507. package/dist/tools/internal-tools/registry.d.cts +45 -0
  508. package/dist/tools/internal-tools/registry.d.ts +45 -0
  509. package/dist/tools/internal-tools/registry.js +17 -0
  510. package/dist/tools/schemas.cjs +45 -0
  511. package/dist/tools/schemas.d.cts +21 -0
  512. package/dist/tools/schemas.d.ts +21 -0
  513. package/dist/tools/schemas.js +20 -0
  514. package/dist/tools/tool-manager.cjs +275 -0
  515. package/dist/tools/tool-manager.d.cts +106 -0
  516. package/dist/tools/tool-manager.d.ts +106 -0
  517. package/dist/tools/tool-manager.js +251 -0
  518. package/dist/tools/types.cjs +16 -0
  519. package/dist/tools/types.d.cts +66 -0
  520. package/dist/tools/types.d.ts +66 -0
  521. package/dist/tools/types.js +0 -0
  522. package/dist/utils/api-key-resolver.cjs +62 -0
  523. package/dist/utils/api-key-resolver.d.cts +23 -0
  524. package/dist/utils/api-key-resolver.d.ts +23 -0
  525. package/dist/utils/api-key-resolver.js +36 -0
  526. package/dist/utils/api-key-store.cjs +56 -0
  527. package/dist/utils/api-key-store.d.cts +26 -0
  528. package/dist/utils/api-key-store.d.ts +26 -0
  529. package/dist/utils/api-key-store.js +30 -0
  530. package/dist/utils/env.cjs +154 -0
  531. package/dist/utils/env.d.cts +29 -0
  532. package/dist/utils/env.d.ts +29 -0
  533. package/dist/utils/env.js +118 -0
  534. package/dist/utils/error-conversion.cjs +53 -0
  535. package/dist/utils/error-conversion.d.cts +13 -0
  536. package/dist/utils/error-conversion.d.ts +13 -0
  537. package/dist/utils/error-conversion.js +29 -0
  538. package/dist/utils/execution-context.cjs +85 -0
  539. package/dist/utils/execution-context.d.cts +21 -0
  540. package/dist/utils/execution-context.d.ts +21 -0
  541. package/dist/utils/execution-context.js +49 -0
  542. package/dist/{chunk-MVKLS3LM.js → utils/fs-walk.cjs} +27 -18
  543. package/dist/utils/fs-walk.d.cts +9 -0
  544. package/dist/utils/fs-walk.d.ts +9 -0
  545. package/dist/utils/fs-walk.js +18 -0
  546. package/dist/utils/index.cjs +44 -0
  547. package/dist/utils/index.d.cts +63 -0
  548. package/dist/utils/index.d.ts +63 -0
  549. package/dist/utils/index.js +12 -0
  550. package/dist/utils/path.cjs +197 -0
  551. package/dist/utils/path.d.cts +54 -0
  552. package/dist/utils/path.d.ts +54 -0
  553. package/dist/utils/path.js +159 -0
  554. package/dist/utils/port-utils.cjs +37 -0
  555. package/dist/utils/port-utils.d.cts +11 -0
  556. package/dist/utils/port-utils.d.ts +11 -0
  557. package/dist/utils/port-utils.js +13 -0
  558. package/dist/utils/port-utils.spec.cjs +26 -0
  559. package/dist/utils/port-utils.spec.d.cts +2 -0
  560. package/dist/utils/port-utils.spec.d.ts +2 -0
  561. package/dist/utils/port-utils.spec.js +25 -0
  562. package/dist/utils/redactor.cjs +105 -0
  563. package/dist/utils/redactor.d.cts +18 -0
  564. package/dist/utils/redactor.d.ts +18 -0
  565. package/dist/utils/redactor.js +81 -0
  566. package/dist/utils/result.cjs +115 -0
  567. package/dist/utils/result.d.cts +180 -0
  568. package/dist/utils/result.d.ts +180 -0
  569. package/dist/utils/result.js +82 -0
  570. package/dist/utils/safe-stringify.cjs +57 -0
  571. package/dist/utils/safe-stringify.d.cts +7 -0
  572. package/dist/utils/safe-stringify.d.ts +7 -0
  573. package/dist/utils/safe-stringify.js +33 -0
  574. package/dist/utils/schema.cjs +42 -0
  575. package/dist/utils/schema.d.cts +6 -0
  576. package/dist/utils/schema.d.ts +6 -0
  577. package/dist/utils/schema.js +18 -0
  578. package/dist/utils/service-initializer.cjs +119 -0
  579. package/dist/utils/service-initializer.d.cts +63 -0
  580. package/dist/utils/service-initializer.d.ts +63 -0
  581. package/dist/utils/service-initializer.js +95 -0
  582. package/dist/utils/user-info.cjs +30 -0
  583. package/dist/utils/user-info.d.cts +3 -0
  584. package/dist/utils/user-info.d.ts +3 -0
  585. package/dist/utils/user-info.js +6 -0
  586. package/dist/utils/zod-schema-converter.cjs +112 -0
  587. package/dist/utils/zod-schema-converter.d.cts +13 -0
  588. package/dist/utils/zod-schema-converter.d.ts +13 -0
  589. package/dist/utils/zod-schema-converter.js +87 -0
  590. package/package.json +2 -2
  591. package/dist/chunk-D62MHQBE.js +0 -2203
  592. package/dist/chunk-FCJVTIBV.js +0 -535
  593. package/dist/chunk-TPERKLLN.js +0 -75
  594. package/dist/errors-ZZ4Z3FKB.js +0 -10
  595. package/dist/loader-HBNEYPQZ.js +0 -20
  596. package/dist/path-TP7WBDED.js +0 -21
  597. package/dist/registry-Z4DFXODW.js +0 -14
@@ -0,0 +1,176 @@
1
+ import { LLMConfig } from './schemas.cjs';
2
+ import { SupportedFileType, LLMRouter, LLMProvider } from './types.cjs';
3
+ import 'zod';
4
+
5
+ interface ModelInfo {
6
+ name: string;
7
+ maxInputTokens: number;
8
+ default?: boolean;
9
+ supportedFileTypes: SupportedFileType[];
10
+ supportedRouters?: LLMRouter[];
11
+ displayName?: string;
12
+ pricing?: {
13
+ inputPerM: number;
14
+ outputPerM: number;
15
+ cacheReadPerM?: number;
16
+ cacheWritePerM?: number;
17
+ currency?: 'USD';
18
+ unit?: 'per_million_tokens';
19
+ };
20
+ }
21
+ declare const MIME_TYPE_TO_FILE_TYPE: Record<string, SupportedFileType>;
22
+ declare function getAllowedMimeTypes(): string[];
23
+ interface ProviderInfo {
24
+ models: ModelInfo[];
25
+ supportedRouters: LLMRouter[];
26
+ baseURLSupport: 'none' | 'optional' | 'required';
27
+ supportedFileTypes: SupportedFileType[];
28
+ }
29
+ /** Fallback when we cannot determine the model's input-token limit */
30
+ declare const DEFAULT_MAX_INPUT_TOKENS = 128000;
31
+ /**
32
+ * LLM Model Registry - Single Source of Truth for Supported models and their capabilities
33
+ *
34
+ * IMPORTANT: supportedFileTypes is the SINGLE SOURCE OF TRUTH for file upload capabilities:
35
+ * - Empty array [] = Model does NOT support file uploads (UI will hide all attach buttons)
36
+ * - Specific types ['image', 'pdf'] = Model supports ONLY those file types
37
+ * - DO NOT use empty arrays as "unknown" - research the model's actual capabilities
38
+ * - The web UI directly reflects these capabilities without fallback logic
39
+ */
40
+ declare const LLM_REGISTRY: Record<LLMProvider, ProviderInfo>;
41
+ /**
42
+ * Gets the default model for a given provider from the registry.
43
+ * @param provider The name of the provider.
44
+ * @returns The default model for the provider, or null if no default model is found.
45
+ */
46
+ declare function getDefaultModelForProvider(provider: LLMProvider): string | null;
47
+ /**
48
+ * Gets the list of supported providers.
49
+ * @returns An array of supported provider names.
50
+ */
51
+ declare function getSupportedProviders(): LLMProvider[];
52
+ /**
53
+ * Gets the list of supported models for a given provider.
54
+ * @param provider The name of the provider.
55
+ * @returns An array of supported model names for the provider.
56
+ */
57
+ declare function getSupportedModels(provider: LLMProvider): string[];
58
+ /**
59
+ * Retrieves the maximum input token limit for a given provider and model from the registry.
60
+ * @param provider The name of the provider (e.g., 'openai', 'anthropic', 'google').
61
+ * @param model The specific model name.
62
+ * @returns The maximum input token limit for the model.
63
+ * @throws {LLMError} If the model is not found in the registry.
64
+ */
65
+ declare function getMaxInputTokensForModel(provider: LLMProvider, model: string): number;
66
+ /**
67
+ * Validates if a provider and model combination is supported.
68
+ * Both parameters are required - structural validation (missing values) is handled by Zod schemas.
69
+ * @param provider The provider name.
70
+ * @param model The model name.
71
+ * @returns True if the combination is valid, false otherwise.
72
+ */
73
+ declare function isValidProviderModel(provider: LLMProvider, model: string): boolean;
74
+ /**
75
+ * Infers the LLM provider from the model name by searching the registry.
76
+ * Matches the model name (case-insensitive) against all registered models.
77
+ * Returns the provider name if found, or 'unknown' if not found.
78
+ *
79
+ * @param model The model name (e.g., 'gpt-4o-mini', 'claude-3-7-sonnet-20250219')
80
+ * @returns The inferred provider name ('openai', 'anthropic', etc.), or 'unknown' if no match is found.
81
+ */
82
+ declare function getProviderFromModel(model: string): LLMProvider;
83
+ /**
84
+ * Returns a flat array of all supported model names from all providers.
85
+ */
86
+ declare function getAllSupportedModels(): string[];
87
+ /**
88
+ * Gets the supported routers for a given provider.
89
+ * @param provider The name of the provider.
90
+ * @returns An array of supported router names for the provider
91
+ */
92
+ declare function getSupportedRoutersForProvider(provider: LLMProvider): LLMRouter[];
93
+ /**
94
+ * Checks if a provider supports custom baseURL.
95
+ * @param provider The name of the provider.
96
+ * @returns True if the provider supports custom baseURL, false otherwise.
97
+ */
98
+ declare function supportsBaseURL(provider: LLMProvider): boolean;
99
+ /**
100
+ * Checks if a provider requires a custom baseURL.
101
+ * @param provider The name of the provider.
102
+ * @returns True if the provider requires a custom baseURL, false otherwise.
103
+ */
104
+ declare function requiresBaseURL(provider: LLMProvider): boolean;
105
+ /**
106
+ * Checks if a provider accepts any model name (i.e., has empty models list).
107
+ * @param provider The name of the provider.
108
+ * @returns True if the provider accepts any model name, false otherwise.
109
+ */
110
+ declare function acceptsAnyModel(provider: LLMProvider): boolean;
111
+ /**
112
+ * Gets the supported file types for a specific model.
113
+ * @param provider The name of the provider.
114
+ * @param model The name of the model.
115
+ * @returns Array of supported file types for the model.
116
+ * @throws {Error} If the model is not found in the registry.
117
+ */
118
+ declare function getSupportedFileTypesForModel(provider: LLMProvider, model: string): SupportedFileType[];
119
+ /**
120
+ * Checks if a specific model supports a specific file type.
121
+ * @param provider The name of the provider.
122
+ * @param model The name of the model.
123
+ * @param fileType The file type to check support for.
124
+ * @returns True if the model supports the file type, false otherwise.
125
+ */
126
+ declare function modelSupportsFileType(provider: LLMProvider, model: string, fileType: SupportedFileType): boolean;
127
+ /**
128
+ * Validates if file data is supported by a specific model by checking the mimetype
129
+ * @param provider The LLM provider name.
130
+ * @param model The model name.
131
+ * @param mimeType The MIME type of the file to validate.
132
+ * @returns Object containing validation result and details.
133
+ */
134
+ declare function validateModelFileSupport(provider: LLMProvider, model: string, mimeType: string): {
135
+ isSupported: boolean;
136
+ fileType?: SupportedFileType;
137
+ error?: string;
138
+ };
139
+ /**
140
+ * Checks if a specific model supports a specific router.
141
+ * @param provider The name of the provider.
142
+ * @param model The name of the model.
143
+ * @param router The router name to check.
144
+ * @returns True if the model supports the router, false otherwise.
145
+ */
146
+ declare function isRouterSupportedForModel(provider: LLMProvider, model: string, router: LLMRouter): boolean;
147
+ /**
148
+ * Gets the supported routers for a specific model.
149
+ * @param provider The name of the provider.
150
+ * @param model The name of the model.
151
+ * @returns An array of supported router names for the model.
152
+ */
153
+ declare function getSupportedRoutersForModel(provider: LLMProvider, model: string): LLMRouter[];
154
+ /**
155
+ * Checks if a provider supports a specific router.
156
+ * @param provider The name of the provider.
157
+ * @param router The router name to check.
158
+ * @returns True if the provider supports the router, false otherwise.
159
+ */
160
+ declare function isRouterSupportedForProvider(provider: LLMProvider, router: LLMRouter): boolean;
161
+ /**
162
+ * Determines the effective maximum input token limit based on configuration.
163
+ * Priority:
164
+ * 1. Explicit `maxInputTokens` in config
165
+ * 2. Registry lookup for known provider/model.
166
+ *
167
+ * @param config The validated LLM configuration.
168
+ * @returns The effective maximum input token count for the LLM.
169
+ * @throws {Error}
170
+ * If `baseURL` is set but `maxInputTokens` is missing (indicating a Zod validation inconsistency).
171
+ * Or if `baseURL` is not set, but model isn't found in registry.
172
+ * TODO: make more readable
173
+ */
174
+ declare function getEffectiveMaxInputTokens(config: LLMConfig): number;
175
+
176
+ export { DEFAULT_MAX_INPUT_TOKENS, LLM_REGISTRY, MIME_TYPE_TO_FILE_TYPE, type ModelInfo, type ProviderInfo, acceptsAnyModel, getAllSupportedModels, getAllowedMimeTypes, getDefaultModelForProvider, getEffectiveMaxInputTokens, getMaxInputTokensForModel, getProviderFromModel, getSupportedFileTypesForModel, getSupportedModels, getSupportedProviders, getSupportedRoutersForModel, getSupportedRoutersForProvider, isRouterSupportedForModel, isRouterSupportedForProvider, isValidProviderModel, modelSupportsFileType, requiresBaseURL, supportsBaseURL, validateModelFileSupport };
@@ -0,0 +1,176 @@
1
+ import { LLMConfig } from './schemas.js';
2
+ import { SupportedFileType, LLMRouter, LLMProvider } from './types.js';
3
+ import 'zod';
4
+
5
+ interface ModelInfo {
6
+ name: string;
7
+ maxInputTokens: number;
8
+ default?: boolean;
9
+ supportedFileTypes: SupportedFileType[];
10
+ supportedRouters?: LLMRouter[];
11
+ displayName?: string;
12
+ pricing?: {
13
+ inputPerM: number;
14
+ outputPerM: number;
15
+ cacheReadPerM?: number;
16
+ cacheWritePerM?: number;
17
+ currency?: 'USD';
18
+ unit?: 'per_million_tokens';
19
+ };
20
+ }
21
+ declare const MIME_TYPE_TO_FILE_TYPE: Record<string, SupportedFileType>;
22
+ declare function getAllowedMimeTypes(): string[];
23
+ interface ProviderInfo {
24
+ models: ModelInfo[];
25
+ supportedRouters: LLMRouter[];
26
+ baseURLSupport: 'none' | 'optional' | 'required';
27
+ supportedFileTypes: SupportedFileType[];
28
+ }
29
+ /** Fallback when we cannot determine the model's input-token limit */
30
+ declare const DEFAULT_MAX_INPUT_TOKENS = 128000;
31
+ /**
32
+ * LLM Model Registry - Single Source of Truth for Supported models and their capabilities
33
+ *
34
+ * IMPORTANT: supportedFileTypes is the SINGLE SOURCE OF TRUTH for file upload capabilities:
35
+ * - Empty array [] = Model does NOT support file uploads (UI will hide all attach buttons)
36
+ * - Specific types ['image', 'pdf'] = Model supports ONLY those file types
37
+ * - DO NOT use empty arrays as "unknown" - research the model's actual capabilities
38
+ * - The web UI directly reflects these capabilities without fallback logic
39
+ */
40
+ declare const LLM_REGISTRY: Record<LLMProvider, ProviderInfo>;
41
+ /**
42
+ * Gets the default model for a given provider from the registry.
43
+ * @param provider The name of the provider.
44
+ * @returns The default model for the provider, or null if no default model is found.
45
+ */
46
+ declare function getDefaultModelForProvider(provider: LLMProvider): string | null;
47
+ /**
48
+ * Gets the list of supported providers.
49
+ * @returns An array of supported provider names.
50
+ */
51
+ declare function getSupportedProviders(): LLMProvider[];
52
+ /**
53
+ * Gets the list of supported models for a given provider.
54
+ * @param provider The name of the provider.
55
+ * @returns An array of supported model names for the provider.
56
+ */
57
+ declare function getSupportedModels(provider: LLMProvider): string[];
58
+ /**
59
+ * Retrieves the maximum input token limit for a given provider and model from the registry.
60
+ * @param provider The name of the provider (e.g., 'openai', 'anthropic', 'google').
61
+ * @param model The specific model name.
62
+ * @returns The maximum input token limit for the model.
63
+ * @throws {LLMError} If the model is not found in the registry.
64
+ */
65
+ declare function getMaxInputTokensForModel(provider: LLMProvider, model: string): number;
66
+ /**
67
+ * Validates if a provider and model combination is supported.
68
+ * Both parameters are required - structural validation (missing values) is handled by Zod schemas.
69
+ * @param provider The provider name.
70
+ * @param model The model name.
71
+ * @returns True if the combination is valid, false otherwise.
72
+ */
73
+ declare function isValidProviderModel(provider: LLMProvider, model: string): boolean;
74
+ /**
75
+ * Infers the LLM provider from the model name by searching the registry.
76
+ * Matches the model name (case-insensitive) against all registered models.
77
+ * Returns the provider name if found, or 'unknown' if not found.
78
+ *
79
+ * @param model The model name (e.g., 'gpt-4o-mini', 'claude-3-7-sonnet-20250219')
80
+ * @returns The inferred provider name ('openai', 'anthropic', etc.), or 'unknown' if no match is found.
81
+ */
82
+ declare function getProviderFromModel(model: string): LLMProvider;
83
+ /**
84
+ * Returns a flat array of all supported model names from all providers.
85
+ */
86
+ declare function getAllSupportedModels(): string[];
87
+ /**
88
+ * Gets the supported routers for a given provider.
89
+ * @param provider The name of the provider.
90
+ * @returns An array of supported router names for the provider
91
+ */
92
+ declare function getSupportedRoutersForProvider(provider: LLMProvider): LLMRouter[];
93
+ /**
94
+ * Checks if a provider supports custom baseURL.
95
+ * @param provider The name of the provider.
96
+ * @returns True if the provider supports custom baseURL, false otherwise.
97
+ */
98
+ declare function supportsBaseURL(provider: LLMProvider): boolean;
99
+ /**
100
+ * Checks if a provider requires a custom baseURL.
101
+ * @param provider The name of the provider.
102
+ * @returns True if the provider requires a custom baseURL, false otherwise.
103
+ */
104
+ declare function requiresBaseURL(provider: LLMProvider): boolean;
105
+ /**
106
+ * Checks if a provider accepts any model name (i.e., has empty models list).
107
+ * @param provider The name of the provider.
108
+ * @returns True if the provider accepts any model name, false otherwise.
109
+ */
110
+ declare function acceptsAnyModel(provider: LLMProvider): boolean;
111
+ /**
112
+ * Gets the supported file types for a specific model.
113
+ * @param provider The name of the provider.
114
+ * @param model The name of the model.
115
+ * @returns Array of supported file types for the model.
116
+ * @throws {Error} If the model is not found in the registry.
117
+ */
118
+ declare function getSupportedFileTypesForModel(provider: LLMProvider, model: string): SupportedFileType[];
119
+ /**
120
+ * Checks if a specific model supports a specific file type.
121
+ * @param provider The name of the provider.
122
+ * @param model The name of the model.
123
+ * @param fileType The file type to check support for.
124
+ * @returns True if the model supports the file type, false otherwise.
125
+ */
126
+ declare function modelSupportsFileType(provider: LLMProvider, model: string, fileType: SupportedFileType): boolean;
127
+ /**
128
+ * Validates if file data is supported by a specific model by checking the mimetype
129
+ * @param provider The LLM provider name.
130
+ * @param model The model name.
131
+ * @param mimeType The MIME type of the file to validate.
132
+ * @returns Object containing validation result and details.
133
+ */
134
+ declare function validateModelFileSupport(provider: LLMProvider, model: string, mimeType: string): {
135
+ isSupported: boolean;
136
+ fileType?: SupportedFileType;
137
+ error?: string;
138
+ };
139
+ /**
140
+ * Checks if a specific model supports a specific router.
141
+ * @param provider The name of the provider.
142
+ * @param model The name of the model.
143
+ * @param router The router name to check.
144
+ * @returns True if the model supports the router, false otherwise.
145
+ */
146
+ declare function isRouterSupportedForModel(provider: LLMProvider, model: string, router: LLMRouter): boolean;
147
+ /**
148
+ * Gets the supported routers for a specific model.
149
+ * @param provider The name of the provider.
150
+ * @param model The name of the model.
151
+ * @returns An array of supported router names for the model.
152
+ */
153
+ declare function getSupportedRoutersForModel(provider: LLMProvider, model: string): LLMRouter[];
154
+ /**
155
+ * Checks if a provider supports a specific router.
156
+ * @param provider The name of the provider.
157
+ * @param router The router name to check.
158
+ * @returns True if the provider supports the router, false otherwise.
159
+ */
160
+ declare function isRouterSupportedForProvider(provider: LLMProvider, router: LLMRouter): boolean;
161
+ /**
162
+ * Determines the effective maximum input token limit based on configuration.
163
+ * Priority:
164
+ * 1. Explicit `maxInputTokens` in config
165
+ * 2. Registry lookup for known provider/model.
166
+ *
167
+ * @param config The validated LLM configuration.
168
+ * @returns The effective maximum input token count for the LLM.
169
+ * @throws {Error}
170
+ * If `baseURL` is set but `maxInputTokens` is missing (indicating a Zod validation inconsistency).
171
+ * Or if `baseURL` is not set, but model isn't found in registry.
172
+ * TODO: make more readable
173
+ */
174
+ declare function getEffectiveMaxInputTokens(config: LLMConfig): number;
175
+
176
+ export { DEFAULT_MAX_INPUT_TOKENS, LLM_REGISTRY, MIME_TYPE_TO_FILE_TYPE, type ModelInfo, type ProviderInfo, acceptsAnyModel, getAllSupportedModels, getAllowedMimeTypes, getDefaultModelForProvider, getEffectiveMaxInputTokens, getMaxInputTokensForModel, getProviderFromModel, getSupportedFileTypesForModel, getSupportedModels, getSupportedProviders, getSupportedRoutersForModel, getSupportedRoutersForProvider, isRouterSupportedForModel, isRouterSupportedForProvider, isValidProviderModel, modelSupportsFileType, requiresBaseURL, supportsBaseURL, validateModelFileSupport };