@dexto/core 1.2.4 → 1.2.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 (551) hide show
  1. package/README.md +60 -0
  2. package/dist/agent/DextoAgent.cjs +579 -345
  3. package/dist/agent/DextoAgent.d.ts +131 -83
  4. package/dist/agent/DextoAgent.d.ts.map +1 -1
  5. package/dist/agent/DextoAgent.js +573 -336
  6. package/dist/agent/agentCard.cjs +4 -2
  7. package/dist/agent/agentCard.d.ts +0 -1
  8. package/dist/agent/agentCard.d.ts.map +1 -1
  9. package/dist/agent/agentCard.js +4 -2
  10. package/dist/agent/index.cjs +3 -7
  11. package/dist/agent/index.d.ts +3 -3
  12. package/dist/agent/index.d.ts.map +1 -1
  13. package/dist/agent/index.js +7 -6
  14. package/dist/agent/schemas.cjs +179 -75
  15. package/dist/agent/schemas.d.ts +2678 -586
  16. package/dist/agent/schemas.d.ts.map +1 -1
  17. package/dist/agent/schemas.js +172 -65
  18. package/dist/agent/state-manager.cjs +28 -23
  19. package/dist/agent/state-manager.d.ts +4 -1
  20. package/dist/agent/state-manager.d.ts.map +1 -1
  21. package/dist/agent/state-manager.js +28 -23
  22. package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
  23. package/dist/agent/types.d.ts +54 -0
  24. package/dist/agent/types.d.ts.map +1 -0
  25. package/dist/agent/types.js +0 -0
  26. package/dist/approval/errors.cjs +89 -8
  27. package/dist/approval/errors.d.ts +5 -3
  28. package/dist/approval/errors.d.ts.map +1 -1
  29. package/dist/approval/errors.js +89 -8
  30. package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
  31. package/dist/approval/factory.d.ts.map +1 -0
  32. package/dist/approval/{providers/factory.js → factory.js} +1 -1
  33. package/dist/approval/index.cjs +4 -6
  34. package/dist/approval/index.d.ts +3 -5
  35. package/dist/approval/index.d.ts.map +1 -1
  36. package/dist/approval/index.js +4 -5
  37. package/dist/approval/manager.cjs +140 -37
  38. package/dist/approval/manager.d.ts +56 -17
  39. package/dist/approval/manager.d.ts.map +1 -1
  40. package/dist/approval/manager.js +141 -38
  41. package/dist/approval/schemas.cjs +9 -1
  42. package/dist/approval/schemas.d.ts +120 -35
  43. package/dist/approval/schemas.d.ts.map +1 -1
  44. package/dist/approval/schemas.js +9 -2
  45. package/dist/approval/types.cjs +14 -2
  46. package/dist/approval/types.d.ts +64 -12
  47. package/dist/approval/types.d.ts.map +1 -1
  48. package/dist/approval/types.js +12 -1
  49. package/dist/context/compression/middle-removal.cjs +11 -11
  50. package/dist/context/compression/middle-removal.d.ts +3 -1
  51. package/dist/context/compression/middle-removal.d.ts.map +1 -1
  52. package/dist/context/compression/middle-removal.js +11 -11
  53. package/dist/context/compression/oldest-removal.cjs +18 -5
  54. package/dist/context/compression/oldest-removal.d.ts +3 -1
  55. package/dist/context/compression/oldest-removal.d.ts.map +1 -1
  56. package/dist/context/compression/oldest-removal.js +18 -5
  57. package/dist/context/manager.cjs +94 -67
  58. package/dist/context/manager.d.ts +13 -10
  59. package/dist/context/manager.d.ts.map +1 -1
  60. package/dist/context/manager.js +94 -67
  61. package/dist/context/utils.cjs +79 -65
  62. package/dist/context/utils.d.ts +15 -12
  63. package/dist/context/utils.d.ts.map +1 -1
  64. package/dist/context/utils.js +45 -31
  65. package/dist/errors/DextoRuntimeError.d.ts +5 -5
  66. package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
  67. package/dist/errors/result-bridge.cjs +2 -3
  68. package/dist/errors/result-bridge.d.ts +5 -3
  69. package/dist/errors/result-bridge.d.ts.map +1 -1
  70. package/dist/errors/result-bridge.js +1 -2
  71. package/dist/errors/types.cjs +1 -2
  72. package/dist/errors/types.d.ts +5 -8
  73. package/dist/errors/types.d.ts.map +1 -1
  74. package/dist/errors/types.js +1 -2
  75. package/dist/events/index.cjs +125 -55
  76. package/dist/events/index.d.ts +204 -97
  77. package/dist/events/index.d.ts.map +1 -1
  78. package/dist/events/index.js +123 -55
  79. package/dist/filesystem/filesystem-service.cjs +40 -30
  80. package/dist/filesystem/filesystem-service.d.ts +9 -1
  81. package/dist/filesystem/filesystem-service.d.ts.map +1 -1
  82. package/dist/filesystem/filesystem-service.js +40 -30
  83. package/dist/filesystem/path-validator.cjs +4 -3
  84. package/dist/filesystem/path-validator.d.ts +3 -1
  85. package/dist/filesystem/path-validator.d.ts.map +1 -1
  86. package/dist/filesystem/path-validator.js +4 -3
  87. package/dist/filesystem/types.d.ts +3 -3
  88. package/dist/filesystem/types.d.ts.map +1 -1
  89. package/dist/index.browser.cjs +7 -0
  90. package/dist/index.browser.d.ts +2 -0
  91. package/dist/index.browser.d.ts.map +1 -1
  92. package/dist/index.browser.js +4 -0
  93. package/dist/index.cjs +0 -7
  94. package/dist/index.d.ts +12 -3
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +0 -4
  97. package/dist/llm/formatters/anthropic.cjs +32 -21
  98. package/dist/llm/formatters/anthropic.d.ts +3 -0
  99. package/dist/llm/formatters/anthropic.d.ts.map +1 -1
  100. package/dist/llm/formatters/anthropic.js +32 -21
  101. package/dist/llm/formatters/factory.cjs +6 -7
  102. package/dist/llm/formatters/factory.d.ts +2 -1
  103. package/dist/llm/formatters/factory.d.ts.map +1 -1
  104. package/dist/llm/formatters/factory.js +4 -5
  105. package/dist/llm/formatters/openai.cjs +38 -9
  106. package/dist/llm/formatters/openai.d.ts +3 -0
  107. package/dist/llm/formatters/openai.d.ts.map +1 -1
  108. package/dist/llm/formatters/openai.js +38 -9
  109. package/dist/llm/formatters/vercel.cjs +49 -8
  110. package/dist/llm/formatters/vercel.d.ts +3 -0
  111. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  112. package/dist/llm/formatters/vercel.js +49 -8
  113. package/dist/llm/registry.cjs +153 -17
  114. package/dist/llm/registry.d.ts +5 -2
  115. package/dist/llm/registry.d.ts.map +1 -1
  116. package/dist/llm/registry.js +143 -7
  117. package/dist/llm/resolver.cjs +4 -4
  118. package/dist/llm/resolver.d.ts +3 -2
  119. package/dist/llm/resolver.d.ts.map +1 -1
  120. package/dist/llm/resolver.js +4 -4
  121. package/dist/llm/schemas.cjs +6 -3
  122. package/dist/llm/schemas.d.ts +51 -17
  123. package/dist/llm/schemas.d.ts.map +1 -1
  124. package/dist/llm/schemas.js +5 -3
  125. package/dist/llm/services/anthropic.cjs +216 -183
  126. package/dist/llm/services/anthropic.d.ts +3 -1
  127. package/dist/llm/services/anthropic.d.ts.map +1 -1
  128. package/dist/llm/services/anthropic.js +217 -184
  129. package/dist/llm/services/factory.cjs +15 -9
  130. package/dist/llm/services/factory.d.ts +2 -1
  131. package/dist/llm/services/factory.d.ts.map +1 -1
  132. package/dist/llm/services/factory.js +15 -9
  133. package/dist/llm/services/openai.cjs +262 -225
  134. package/dist/llm/services/openai.d.ts +3 -1
  135. package/dist/llm/services/openai.d.ts.map +1 -1
  136. package/dist/llm/services/openai.js +263 -226
  137. package/dist/llm/services/test-utils.integration.cjs +58 -12
  138. package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
  139. package/dist/llm/services/test-utils.integration.js +58 -12
  140. package/dist/llm/services/types.d.ts +9 -0
  141. package/dist/llm/services/types.d.ts.map +1 -1
  142. package/dist/llm/services/vercel.cjs +163 -111
  143. package/dist/llm/services/vercel.d.ts +3 -1
  144. package/dist/llm/services/vercel.d.ts.map +1 -1
  145. package/dist/llm/services/vercel.js +157 -105
  146. package/dist/llm/tokenizer/factory.cjs +2 -2
  147. package/dist/llm/tokenizer/factory.d.ts +3 -1
  148. package/dist/llm/tokenizer/factory.d.ts.map +1 -1
  149. package/dist/llm/tokenizer/factory.js +2 -2
  150. package/dist/llm/tokenizer/openai.cjs +16 -9
  151. package/dist/llm/tokenizer/openai.d.ts +4 -1
  152. package/dist/llm/tokenizer/openai.d.ts.map +1 -1
  153. package/dist/llm/tokenizer/openai.js +16 -9
  154. package/dist/llm/validation.cjs +8 -9
  155. package/dist/llm/validation.d.ts +3 -1
  156. package/dist/llm/validation.d.ts.map +1 -1
  157. package/dist/llm/validation.js +5 -6
  158. package/dist/logger/factory.cjs +54 -0
  159. package/dist/logger/factory.d.ts +36 -0
  160. package/dist/logger/factory.d.ts.map +1 -0
  161. package/dist/logger/factory.js +31 -0
  162. package/dist/logger/index.cjs +42 -3
  163. package/dist/logger/index.d.ts +17 -1
  164. package/dist/logger/index.d.ts.map +1 -1
  165. package/dist/logger/index.js +26 -1
  166. package/dist/logger/logger.cjs +30 -17
  167. package/dist/logger/logger.d.ts.map +1 -1
  168. package/dist/logger/logger.js +30 -17
  169. package/dist/logger/v2/dexto-logger.cjs +141 -0
  170. package/dist/logger/v2/dexto-logger.d.ts +54 -0
  171. package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
  172. package/dist/logger/v2/dexto-logger.js +118 -0
  173. package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
  174. package/dist/logger/v2/error-codes.d.ts +13 -0
  175. package/dist/logger/v2/error-codes.d.ts.map +1 -0
  176. package/dist/logger/v2/error-codes.js +13 -0
  177. package/dist/logger/v2/errors.cjs +107 -0
  178. package/dist/logger/v2/errors.d.ts +32 -0
  179. package/dist/logger/v2/errors.d.ts.map +1 -0
  180. package/dist/logger/v2/errors.js +84 -0
  181. package/dist/logger/v2/schemas.cjs +57 -0
  182. package/dist/logger/v2/schemas.d.ts +147 -0
  183. package/dist/logger/v2/schemas.d.ts.map +1 -0
  184. package/dist/logger/v2/schemas.js +33 -0
  185. package/dist/logger/v2/transport-factory.cjs +53 -0
  186. package/dist/logger/v2/transport-factory.d.ts +21 -0
  187. package/dist/logger/v2/transport-factory.d.ts.map +1 -0
  188. package/dist/logger/v2/transport-factory.js +29 -0
  189. package/dist/logger/v2/transports/console-transport.cjs +79 -0
  190. package/dist/logger/v2/transports/console-transport.d.ts +23 -0
  191. package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
  192. package/dist/logger/v2/transports/console-transport.js +46 -0
  193. package/dist/logger/v2/transports/file-transport.cjs +161 -0
  194. package/dist/logger/v2/transports/file-transport.d.ts +46 -0
  195. package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
  196. package/dist/logger/v2/transports/file-transport.js +128 -0
  197. package/dist/logger/v2/types.cjs +49 -0
  198. package/dist/logger/v2/types.d.ts +123 -0
  199. package/dist/logger/v2/types.d.ts.map +1 -0
  200. package/dist/logger/v2/types.js +26 -0
  201. package/dist/mcp/manager.cjs +88 -78
  202. package/dist/mcp/manager.d.ts +3 -1
  203. package/dist/mcp/manager.d.ts.map +1 -1
  204. package/dist/mcp/manager.js +88 -78
  205. package/dist/mcp/mcp-client.cjs +109 -79
  206. package/dist/mcp/mcp-client.d.ts +3 -0
  207. package/dist/mcp/mcp-client.d.ts.map +1 -1
  208. package/dist/mcp/mcp-client.js +102 -72
  209. package/dist/memory/index.cjs +2 -0
  210. package/dist/memory/index.d.ts +1 -1
  211. package/dist/memory/index.d.ts.map +1 -1
  212. package/dist/memory/index.js +3 -1
  213. package/dist/memory/manager.cjs +9 -7
  214. package/dist/memory/manager.d.ts +3 -1
  215. package/dist/memory/manager.d.ts.map +1 -1
  216. package/dist/memory/manager.js +9 -7
  217. package/dist/memory/schemas.cjs +10 -0
  218. package/dist/memory/schemas.d.ts +37 -8
  219. package/dist/memory/schemas.d.ts.map +1 -1
  220. package/dist/memory/schemas.js +9 -0
  221. package/dist/plugins/manager.cjs +21 -19
  222. package/dist/plugins/manager.d.ts +3 -1
  223. package/dist/plugins/manager.d.ts.map +1 -1
  224. package/dist/plugins/manager.js +21 -19
  225. package/dist/plugins/schemas.d.ts +9 -9
  226. package/dist/plugins/types.d.ts +2 -2
  227. package/dist/plugins/types.d.ts.map +1 -1
  228. package/dist/process/command-validator.cjs +30 -20
  229. package/dist/process/command-validator.d.ts +4 -1
  230. package/dist/process/command-validator.d.ts.map +1 -1
  231. package/dist/process/command-validator.js +30 -20
  232. package/dist/process/process-service.cjs +23 -21
  233. package/dist/process/process-service.d.ts +3 -1
  234. package/dist/process/process-service.d.ts.map +1 -1
  235. package/dist/process/process-service.js +23 -21
  236. package/dist/prompts/index.cjs +6 -8
  237. package/dist/prompts/index.d.ts +2 -4
  238. package/dist/prompts/index.d.ts.map +1 -1
  239. package/dist/prompts/index.js +4 -6
  240. package/dist/prompts/prompt-manager.cjs +25 -20
  241. package/dist/prompts/prompt-manager.d.ts +3 -1
  242. package/dist/prompts/prompt-manager.d.ts.map +1 -1
  243. package/dist/prompts/prompt-manager.js +25 -20
  244. package/dist/prompts/providers/config-prompt-provider.cjs +331 -0
  245. package/dist/prompts/providers/config-prompt-provider.d.ts +34 -0
  246. package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -0
  247. package/dist/prompts/providers/config-prompt-provider.js +308 -0
  248. package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
  249. package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
  250. package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
  251. package/dist/prompts/providers/custom-prompt-provider.js +11 -7
  252. package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
  253. package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
  254. package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
  255. package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
  256. package/dist/prompts/schemas.cjs +42 -23
  257. package/dist/prompts/schemas.d.ts +123 -14
  258. package/dist/prompts/schemas.d.ts.map +1 -1
  259. package/dist/prompts/schemas.js +39 -22
  260. package/dist/prompts/types.d.ts +1 -1
  261. package/dist/prompts/types.d.ts.map +1 -1
  262. package/dist/resources/handlers/blob-handler.cjs +15 -11
  263. package/dist/resources/handlers/blob-handler.d.ts +3 -1
  264. package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
  265. package/dist/resources/handlers/blob-handler.js +15 -11
  266. package/dist/resources/handlers/factory.cjs +3 -3
  267. package/dist/resources/handlers/factory.d.ts +2 -1
  268. package/dist/resources/handlers/factory.d.ts.map +1 -1
  269. package/dist/resources/handlers/factory.js +3 -3
  270. package/dist/resources/handlers/filesystem-handler.cjs +10 -8
  271. package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
  272. package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
  273. package/dist/resources/handlers/filesystem-handler.js +10 -8
  274. package/dist/resources/internal-provider.cjs +28 -20
  275. package/dist/resources/internal-provider.d.ts +3 -1
  276. package/dist/resources/internal-provider.d.ts.map +1 -1
  277. package/dist/resources/internal-provider.js +28 -20
  278. package/dist/resources/manager.cjs +34 -25
  279. package/dist/resources/manager.d.ts +3 -1
  280. package/dist/resources/manager.d.ts.map +1 -1
  281. package/dist/resources/manager.js +34 -25
  282. package/dist/resources/schemas.d.ts +6 -6
  283. package/dist/search/search-service.cjs +8 -6
  284. package/dist/search/search-service.d.ts +3 -1
  285. package/dist/search/search-service.d.ts.map +1 -1
  286. package/dist/search/search-service.js +8 -6
  287. package/dist/session/chat-session.cjs +40 -27
  288. package/dist/session/chat-session.d.ts +10 -7
  289. package/dist/session/chat-session.d.ts.map +1 -1
  290. package/dist/session/chat-session.js +40 -27
  291. package/dist/session/history/database.cjs +18 -11
  292. package/dist/session/history/database.d.ts +3 -1
  293. package/dist/session/history/database.d.ts.map +1 -1
  294. package/dist/session/history/database.js +18 -11
  295. package/dist/session/history/factory.cjs +2 -2
  296. package/dist/session/history/factory.d.ts +5 -1
  297. package/dist/session/history/factory.d.ts.map +1 -1
  298. package/dist/session/history/factory.js +2 -2
  299. package/dist/session/session-manager.cjs +37 -53
  300. package/dist/session/session-manager.d.ts +3 -17
  301. package/dist/session/session-manager.d.ts.map +1 -1
  302. package/dist/session/session-manager.js +37 -53
  303. package/dist/session/title-generator.cjs +3 -2
  304. package/dist/session/title-generator.d.ts +2 -1
  305. package/dist/session/title-generator.d.ts.map +1 -1
  306. package/dist/session/title-generator.js +3 -2
  307. package/dist/storage/blob/factory.cjs +9 -18
  308. package/dist/storage/blob/factory.d.ts +5 -4
  309. package/dist/storage/blob/factory.d.ts.map +1 -1
  310. package/dist/storage/blob/factory.js +8 -17
  311. package/dist/storage/blob/local-blob-store.cjs +25 -32
  312. package/dist/storage/blob/local-blob-store.d.ts +3 -2
  313. package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
  314. package/dist/storage/blob/local-blob-store.js +25 -32
  315. package/dist/storage/blob/memory-blob-store.cjs +326 -0
  316. package/dist/storage/blob/memory-blob-store.d.ts +66 -0
  317. package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
  318. package/dist/storage/blob/memory-blob-store.js +303 -0
  319. package/dist/storage/blob/schemas.cjs +3 -1
  320. package/dist/storage/blob/schemas.d.ts +6 -6
  321. package/dist/storage/blob/schemas.d.ts.map +1 -1
  322. package/dist/storage/blob/schemas.js +3 -1
  323. package/dist/storage/cache/factory.cjs +7 -8
  324. package/dist/storage/cache/factory.d.ts +4 -1
  325. package/dist/storage/cache/factory.d.ts.map +1 -1
  326. package/dist/storage/cache/factory.js +4 -5
  327. package/dist/storage/cache/redis-store.cjs +4 -1
  328. package/dist/storage/cache/redis-store.d.ts +3 -1
  329. package/dist/storage/cache/redis-store.d.ts.map +1 -1
  330. package/dist/storage/cache/redis-store.js +4 -1
  331. package/dist/storage/database/factory.cjs +13 -16
  332. package/dist/storage/database/factory.d.ts +5 -3
  333. package/dist/storage/database/factory.d.ts.map +1 -1
  334. package/dist/storage/database/factory.js +9 -12
  335. package/dist/storage/database/postgres-store.cjs +4 -1
  336. package/dist/storage/database/postgres-store.d.ts +3 -1
  337. package/dist/storage/database/postgres-store.d.ts.map +1 -1
  338. package/dist/storage/database/postgres-store.js +4 -1
  339. package/dist/storage/database/schemas.cjs +3 -4
  340. package/dist/storage/database/schemas.d.ts +8 -16
  341. package/dist/storage/database/schemas.d.ts.map +1 -1
  342. package/dist/storage/database/schemas.js +3 -4
  343. package/dist/storage/database/sqlite-store.cjs +17 -45
  344. package/dist/storage/database/sqlite-store.d.ts +3 -3
  345. package/dist/storage/database/sqlite-store.d.ts.map +1 -1
  346. package/dist/storage/database/sqlite-store.js +17 -45
  347. package/dist/storage/schemas.cjs +3 -1
  348. package/dist/storage/schemas.d.ts +16 -23
  349. package/dist/storage/schemas.d.ts.map +1 -1
  350. package/dist/storage/schemas.js +3 -1
  351. package/dist/storage/storage-manager.cjs +15 -15
  352. package/dist/storage/storage-manager.d.ts +6 -6
  353. package/dist/storage/storage-manager.d.ts.map +1 -1
  354. package/dist/storage/storage-manager.js +15 -15
  355. package/dist/systemPrompt/contributors.cjs +15 -15
  356. package/dist/systemPrompt/contributors.d.ts +5 -3
  357. package/dist/systemPrompt/contributors.d.ts.map +1 -1
  358. package/dist/systemPrompt/contributors.js +15 -15
  359. package/dist/systemPrompt/in-built-prompts.cjs +0 -5
  360. package/dist/systemPrompt/in-built-prompts.d.ts +1 -2
  361. package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
  362. package/dist/systemPrompt/in-built-prompts.js +0 -4
  363. package/dist/systemPrompt/manager.cjs +31 -23
  364. package/dist/systemPrompt/manager.d.ts +5 -3
  365. package/dist/systemPrompt/manager.d.ts.map +1 -1
  366. package/dist/systemPrompt/manager.js +31 -23
  367. package/dist/systemPrompt/registry.cjs +1 -2
  368. package/dist/systemPrompt/registry.d.ts +1 -1
  369. package/dist/systemPrompt/registry.d.ts.map +1 -1
  370. package/dist/systemPrompt/registry.js +1 -2
  371. package/dist/systemPrompt/schemas.cjs +24 -18
  372. package/dist/systemPrompt/schemas.d.ts +46 -222
  373. package/dist/systemPrompt/schemas.d.ts.map +1 -1
  374. package/dist/systemPrompt/schemas.js +14 -18
  375. package/dist/telemetry/decorators.cjs +54 -15
  376. package/dist/telemetry/decorators.d.ts.map +1 -1
  377. package/dist/telemetry/decorators.js +54 -15
  378. package/dist/telemetry/utils.cjs +21 -14
  379. package/dist/telemetry/utils.d.ts +7 -3
  380. package/dist/telemetry/utils.d.ts.map +1 -1
  381. package/dist/telemetry/utils.js +21 -14
  382. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
  383. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
  384. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
  385. package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
  386. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
  387. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
  388. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
  389. package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
  390. package/dist/tools/errors.cjs +2 -1
  391. package/dist/tools/errors.d.ts.map +1 -1
  392. package/dist/tools/errors.js +2 -1
  393. package/dist/tools/internal-tools/constants.cjs +2 -1
  394. package/dist/tools/internal-tools/constants.d.ts +1 -1
  395. package/dist/tools/internal-tools/constants.d.ts.map +1 -1
  396. package/dist/tools/internal-tools/constants.js +2 -1
  397. package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
  398. package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
  399. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
  400. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
  401. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
  402. package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
  403. package/dist/tools/internal-tools/provider.cjs +21 -17
  404. package/dist/tools/internal-tools/provider.d.ts +3 -1
  405. package/dist/tools/internal-tools/provider.d.ts.map +1 -1
  406. package/dist/tools/internal-tools/provider.js +21 -17
  407. package/dist/tools/internal-tools/registry.cjs +5 -0
  408. package/dist/tools/internal-tools/registry.d.ts.map +1 -1
  409. package/dist/tools/internal-tools/registry.js +5 -0
  410. package/dist/tools/schemas.cjs +16 -4
  411. package/dist/tools/schemas.d.ts +21 -9
  412. package/dist/tools/schemas.d.ts.map +1 -1
  413. package/dist/tools/schemas.js +15 -4
  414. package/dist/tools/tool-manager.cjs +64 -47
  415. package/dist/tools/tool-manager.d.ts +4 -2
  416. package/dist/tools/tool-manager.d.ts.map +1 -1
  417. package/dist/tools/tool-manager.js +61 -44
  418. package/dist/tools/types.d.ts +0 -4
  419. package/dist/tools/types.d.ts.map +1 -1
  420. package/dist/utils/env-file.cjs +118 -0
  421. package/dist/utils/env-file.d.ts +5 -0
  422. package/dist/utils/env-file.d.ts.map +1 -0
  423. package/dist/utils/env-file.js +85 -0
  424. package/dist/utils/error-conversion.cjs +23 -1
  425. package/dist/utils/error-conversion.d.ts +2 -1
  426. package/dist/utils/error-conversion.d.ts.map +1 -1
  427. package/dist/utils/error-conversion.js +23 -1
  428. package/dist/utils/execution-context.d.ts.map +1 -1
  429. package/dist/utils/fs-walk.d.ts.map +1 -1
  430. package/dist/utils/index.cjs +7 -9
  431. package/dist/utils/index.d.ts +3 -4
  432. package/dist/utils/index.d.ts.map +1 -1
  433. package/dist/utils/index.js +3 -4
  434. package/dist/utils/path.cjs +22 -57
  435. package/dist/utils/path.d.ts +8 -7
  436. package/dist/utils/path.d.ts.map +1 -1
  437. package/dist/utils/path.js +21 -54
  438. package/dist/utils/result.cjs +37 -14
  439. package/dist/utils/result.d.ts.map +1 -1
  440. package/dist/utils/result.js +37 -14
  441. package/dist/utils/schema.cjs +2 -3
  442. package/dist/utils/schema.d.ts +2 -1
  443. package/dist/utils/schema.d.ts.map +1 -1
  444. package/dist/utils/schema.js +1 -2
  445. package/dist/utils/service-initializer.cjs +88 -61
  446. package/dist/utils/service-initializer.d.ts +4 -2
  447. package/dist/utils/service-initializer.d.ts.map +1 -1
  448. package/dist/utils/service-initializer.js +70 -43
  449. package/package.json +7 -3
  450. package/dist/Dexto.cjs +0 -251
  451. package/dist/Dexto.d.ts +0 -191
  452. package/dist/Dexto.d.ts.map +0 -1
  453. package/dist/Dexto.js +0 -228
  454. package/dist/agent/registry/error-codes.cjs +0 -44
  455. package/dist/agent/registry/error-codes.d.ts +0 -21
  456. package/dist/agent/registry/error-codes.d.ts.map +0 -1
  457. package/dist/agent/registry/error-codes.js +0 -21
  458. package/dist/agent/registry/errors.cjs +0 -188
  459. package/dist/agent/registry/errors.d.ts +0 -63
  460. package/dist/agent/registry/errors.d.ts.map +0 -1
  461. package/dist/agent/registry/errors.js +0 -165
  462. package/dist/agent/registry/registry.cjs +0 -479
  463. package/dist/agent/registry/registry.d.ts +0 -130
  464. package/dist/agent/registry/registry.d.ts.map +0 -1
  465. package/dist/agent/registry/registry.js +0 -453
  466. package/dist/agent/registry/types.cjs +0 -74
  467. package/dist/agent/registry/types.d.ts +0 -142
  468. package/dist/agent/registry/types.d.ts.map +0 -1
  469. package/dist/agent/registry/types.js +0 -48
  470. package/dist/agent/registry/user-registry.cjs +0 -140
  471. package/dist/agent/registry/user-registry.d.ts +0 -34
  472. package/dist/agent/registry/user-registry.d.ts.map +0 -1
  473. package/dist/agent/registry/user-registry.js +0 -105
  474. package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
  475. package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
  476. package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
  477. package/dist/approval/providers/event-based-approval-provider.js +0 -133
  478. package/dist/approval/providers/factory.d.ts.map +0 -1
  479. package/dist/approval/providers/noop-approval-provider.cjs +0 -54
  480. package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
  481. package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
  482. package/dist/approval/providers/noop-approval-provider.js +0 -31
  483. package/dist/config/agent-resolver.cjs +0 -153
  484. package/dist/config/agent-resolver.d.ts +0 -14
  485. package/dist/config/agent-resolver.d.ts.map +0 -1
  486. package/dist/config/agent-resolver.js +0 -123
  487. package/dist/config/error-codes.cjs +0 -39
  488. package/dist/config/error-codes.d.ts +0 -16
  489. package/dist/config/error-codes.d.ts.map +0 -1
  490. package/dist/config/error-codes.js +0 -16
  491. package/dist/config/errors.cjs +0 -126
  492. package/dist/config/errors.d.ts +0 -34
  493. package/dist/config/errors.d.ts.map +0 -1
  494. package/dist/config/errors.js +0 -103
  495. package/dist/config/index.cjs +0 -26
  496. package/dist/config/index.d.ts +0 -4
  497. package/dist/config/index.d.ts.map +0 -1
  498. package/dist/config/index.js +0 -3
  499. package/dist/config/loader.cjs +0 -119
  500. package/dist/config/loader.d.ts +0 -16
  501. package/dist/config/loader.d.ts.map +0 -1
  502. package/dist/config/loader.js +0 -86
  503. package/dist/config/writer.cjs +0 -182
  504. package/dist/config/writer.d.ts +0 -35
  505. package/dist/config/writer.d.ts.map +0 -1
  506. package/dist/config/writer.js +0 -147
  507. package/dist/preferences/constants.d.ts +0 -2
  508. package/dist/preferences/constants.d.ts.map +0 -1
  509. package/dist/preferences/constants.js +0 -5
  510. package/dist/preferences/error-codes.d.ts +0 -8
  511. package/dist/preferences/error-codes.d.ts.map +0 -1
  512. package/dist/preferences/error-codes.js +0 -12
  513. package/dist/preferences/errors.cjs +0 -75
  514. package/dist/preferences/errors.d.ts +0 -18
  515. package/dist/preferences/errors.d.ts.map +0 -1
  516. package/dist/preferences/errors.js +0 -51
  517. package/dist/preferences/index.cjs +0 -55
  518. package/dist/preferences/index.d.ts +0 -6
  519. package/dist/preferences/index.d.ts.map +0 -1
  520. package/dist/preferences/index.js +0 -32
  521. package/dist/preferences/loader.cjs +0 -138
  522. package/dist/preferences/loader.d.ts +0 -51
  523. package/dist/preferences/loader.d.ts.map +0 -1
  524. package/dist/preferences/loader.js +0 -110
  525. package/dist/preferences/schemas.cjs +0 -75
  526. package/dist/preferences/schemas.d.ts +0 -110
  527. package/dist/preferences/schemas.d.ts.map +0 -1
  528. package/dist/preferences/schemas.js +0 -49
  529. package/dist/prompts/providers/file-prompt-provider.cjs +0 -399
  530. package/dist/prompts/providers/file-prompt-provider.d.ts +0 -47
  531. package/dist/prompts/providers/file-prompt-provider.d.ts.map +0 -1
  532. package/dist/prompts/providers/file-prompt-provider.js +0 -376
  533. package/dist/prompts/providers/starter-prompt-provider.cjs +0 -170
  534. package/dist/prompts/providers/starter-prompt-provider.d.ts +0 -45
  535. package/dist/prompts/providers/starter-prompt-provider.d.ts.map +0 -1
  536. package/dist/prompts/providers/starter-prompt-provider.js +0 -147
  537. package/dist/utils/api-key-store.cjs +0 -56
  538. package/dist/utils/api-key-store.d.ts +0 -24
  539. package/dist/utils/api-key-store.d.ts.map +0 -1
  540. package/dist/utils/api-key-store.js +0 -31
  541. package/dist/utils/env.cjs +0 -154
  542. package/dist/utils/env.d.ts +0 -28
  543. package/dist/utils/env.d.ts.map +0 -1
  544. package/dist/utils/env.js +0 -119
  545. package/dist/utils/port-utils.cjs +0 -37
  546. package/dist/utils/port-utils.d.ts +0 -10
  547. package/dist/utils/port-utils.d.ts.map +0 -1
  548. package/dist/utils/port-utils.js +0 -14
  549. package/dist/utils/port-utils.spec.cjs +0 -26
  550. package/dist/utils/port-utils.spec.js +0 -25
  551. /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
@@ -46,7 +46,6 @@ var import_errors = require("./errors.js");
46
46
  var import_error_codes = require("./error-codes.js");
47
47
  var import_DextoRuntimeError = require("../errors/DextoRuntimeError.js");
48
48
  var import_types = require("./types.js");
49
- var import_logger = require("../logger/index.js");
50
49
  const MIME_TYPE_TO_FILE_TYPE = {
51
50
  "application/pdf": "pdf",
52
51
  "audio/mp3": "audio",
@@ -72,6 +71,84 @@ const DEFAULT_MAX_INPUT_TOKENS = 128e3;
72
71
  const LLM_REGISTRY = {
73
72
  openai: {
74
73
  models: [
74
+ {
75
+ name: "gpt-5.1-chat-latest",
76
+ displayName: "GPT-5.1 Instant",
77
+ maxInputTokens: 4e5,
78
+ supportedFileTypes: ["pdf", "image"],
79
+ pricing: {
80
+ inputPerM: 1.25,
81
+ outputPerM: 10,
82
+ cacheReadPerM: 0.125,
83
+ currency: "USD",
84
+ unit: "per_million_tokens"
85
+ }
86
+ },
87
+ {
88
+ name: "gpt-5.1",
89
+ displayName: "GPT-5.1 Thinking",
90
+ maxInputTokens: 4e5,
91
+ supportedFileTypes: ["pdf", "image"],
92
+ pricing: {
93
+ inputPerM: 1.25,
94
+ outputPerM: 10,
95
+ cacheReadPerM: 0.125,
96
+ currency: "USD",
97
+ unit: "per_million_tokens"
98
+ }
99
+ },
100
+ {
101
+ name: "gpt-5.1-codex",
102
+ displayName: "GPT-5.1 Codex",
103
+ maxInputTokens: 4e5,
104
+ supportedFileTypes: ["pdf", "image"],
105
+ pricing: {
106
+ inputPerM: 1.25,
107
+ outputPerM: 10,
108
+ cacheReadPerM: 0.125,
109
+ currency: "USD",
110
+ unit: "per_million_tokens"
111
+ }
112
+ },
113
+ {
114
+ name: "gpt-5.1-codex-mini",
115
+ displayName: "GPT-5.1 Codex Mini",
116
+ maxInputTokens: 4e5,
117
+ supportedFileTypes: ["pdf", "image"],
118
+ pricing: {
119
+ inputPerM: 0.25,
120
+ outputPerM: 2,
121
+ cacheReadPerM: 0.025,
122
+ currency: "USD",
123
+ unit: "per_million_tokens"
124
+ }
125
+ },
126
+ // {
127
+ // name: 'gpt-5.1-codex-max',
128
+ // displayName: 'GPT-5.1 Codex Max',
129
+ // maxInputTokens: 400000,
130
+ // supportedFileTypes: ['pdf', 'image'],
131
+ // pricing: {
132
+ // inputPerM: 1.25,
133
+ // outputPerM: 10.0,
134
+ // cacheReadPerM: 0.125,
135
+ // currency: 'USD',
136
+ // unit: 'per_million_tokens',
137
+ // },
138
+ // },
139
+ {
140
+ name: "gpt-5-pro",
141
+ displayName: "GPT-5 Pro",
142
+ maxInputTokens: 4e5,
143
+ supportedFileTypes: ["pdf", "image"],
144
+ pricing: {
145
+ inputPerM: 15,
146
+ outputPerM: 120,
147
+ cacheReadPerM: 1.5,
148
+ currency: "USD",
149
+ unit: "per_million_tokens"
150
+ }
151
+ },
75
152
  {
76
153
  name: "gpt-5",
77
154
  displayName: "GPT-5",
@@ -112,6 +189,19 @@ const LLM_REGISTRY = {
112
189
  unit: "per_million_tokens"
113
190
  }
114
191
  },
192
+ {
193
+ name: "gpt-5-codex",
194
+ displayName: "GPT-5 Codex",
195
+ maxInputTokens: 4e5,
196
+ supportedFileTypes: ["pdf", "image"],
197
+ pricing: {
198
+ inputPerM: 1.25,
199
+ outputPerM: 10,
200
+ cacheReadPerM: 0.125,
201
+ currency: "USD",
202
+ unit: "per_million_tokens"
203
+ }
204
+ },
115
205
  {
116
206
  name: "gpt-4.1",
117
207
  displayName: "GPT-4.1",
@@ -286,6 +376,20 @@ const LLM_REGISTRY = {
286
376
  unit: "per_million_tokens"
287
377
  }
288
378
  },
379
+ {
380
+ name: "claude-opus-4-5-20251101",
381
+ displayName: "Claude 4.5 Opus",
382
+ maxInputTokens: 2e5,
383
+ supportedFileTypes: ["pdf", "image"],
384
+ pricing: {
385
+ inputPerM: 5,
386
+ outputPerM: 25,
387
+ cacheWritePerM: 6.25,
388
+ cacheReadPerM: 0.5,
389
+ currency: "USD",
390
+ unit: "per_million_tokens"
391
+ }
392
+ },
289
393
  {
290
394
  name: "claude-opus-4-1-20250805",
291
395
  displayName: "Claude 4.1 Opus",
@@ -378,6 +482,30 @@ const LLM_REGISTRY = {
378
482
  },
379
483
  google: {
380
484
  models: [
485
+ {
486
+ name: "gemini-3-pro-preview",
487
+ displayName: "Gemini 3 Pro Preview",
488
+ maxInputTokens: 1048576,
489
+ supportedFileTypes: ["pdf", "image", "audio"],
490
+ pricing: {
491
+ inputPerM: 2,
492
+ outputPerM: 12,
493
+ currency: "USD",
494
+ unit: "per_million_tokens"
495
+ }
496
+ },
497
+ {
498
+ name: "gemini-3-pro-image-preview",
499
+ displayName: "Gemini 3 Pro Image Preview",
500
+ maxInputTokens: 1048576,
501
+ supportedFileTypes: ["image"],
502
+ pricing: {
503
+ inputPerM: 2,
504
+ outputPerM: 120,
505
+ currency: "USD",
506
+ unit: "per_million_tokens"
507
+ }
508
+ },
381
509
  {
382
510
  name: "gemini-2.5-pro",
383
511
  displayName: "Gemini 2.5 Pro",
@@ -700,17 +828,17 @@ function getSupportedModels(provider) {
700
828
  const providerInfo = LLM_REGISTRY[provider];
701
829
  return providerInfo.models.map((m) => m.name);
702
830
  }
703
- function getMaxInputTokensForModel(provider, model) {
831
+ function getMaxInputTokensForModel(provider, model, logger) {
704
832
  const providerInfo = LLM_REGISTRY[provider];
705
833
  const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
706
834
  if (!modelInfo) {
707
835
  const supportedModels = getSupportedModels(provider).join(", ");
708
- import_logger.logger.error(
836
+ logger?.error(
709
837
  `Model '${model}' not found for provider '${provider}' in LLM registry. Supported models: ${supportedModels}`
710
838
  );
711
839
  throw import_errors.LLMError.unknownModel(provider, model);
712
840
  }
713
- import_logger.logger.debug(`Found max tokens for ${provider}/${model}: ${modelInfo.maxInputTokens}`);
841
+ logger?.debug(`Found max tokens for ${provider}/${model}: ${modelInfo.maxInputTokens}`);
714
842
  return modelInfo.maxInputTokens;
715
843
  }
716
844
  function isValidProviderModel(provider, model) {
@@ -816,36 +944,40 @@ function isRouterSupportedForProvider(provider, router) {
816
944
  const supportedRouters = getSupportedRoutersForProvider(provider);
817
945
  return supportedRouters.includes(router);
818
946
  }
819
- function getEffectiveMaxInputTokens(config) {
947
+ function getEffectiveMaxInputTokens(config, logger) {
820
948
  const configuredMaxInputTokens = config.maxInputTokens;
821
949
  if (configuredMaxInputTokens != null) {
822
950
  if (config.baseURL) {
823
- import_logger.logger.debug(
951
+ logger.debug(
824
952
  `Using maxInputTokens from configuration (with baseURL): ${configuredMaxInputTokens}`
825
953
  );
826
954
  return configuredMaxInputTokens;
827
955
  }
828
956
  try {
829
- const registryMaxInputTokens = getMaxInputTokensForModel(config.provider, config.model);
957
+ const registryMaxInputTokens = getMaxInputTokensForModel(
958
+ config.provider,
959
+ config.model,
960
+ logger
961
+ );
830
962
  if (configuredMaxInputTokens > registryMaxInputTokens) {
831
- import_logger.logger.warn(
963
+ logger.warn(
832
964
  `Provided maxInputTokens (${configuredMaxInputTokens}) for ${config.provider}/${config.model} exceeds the known limit (${registryMaxInputTokens}) for model ${config.model}. Capping to registry limit.`
833
965
  );
834
966
  return registryMaxInputTokens;
835
967
  } else {
836
- import_logger.logger.debug(
968
+ logger.debug(
837
969
  `Using valid maxInputTokens override from configuration: ${configuredMaxInputTokens} (Registry limit: ${registryMaxInputTokens})`
838
970
  );
839
971
  return configuredMaxInputTokens;
840
972
  }
841
973
  } catch (error) {
842
974
  if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
843
- import_logger.logger.warn(
975
+ logger.warn(
844
976
  `Registry lookup failed during maxInputTokens override check for ${config.provider}/${config.model}: ${error.message}. Proceeding with the provided maxInputTokens value (${configuredMaxInputTokens}), but it might be invalid.`
845
977
  );
846
978
  return configuredMaxInputTokens;
847
979
  } else {
848
- import_logger.logger.error(
980
+ logger.error(
849
981
  `Unexpected error during registry lookup for maxInputTokens override check: ${error}`
850
982
  );
851
983
  throw error;
@@ -853,31 +985,35 @@ function getEffectiveMaxInputTokens(config) {
853
985
  }
854
986
  }
855
987
  if (config.baseURL) {
856
- import_logger.logger.warn(
988
+ logger.warn(
857
989
  `baseURL is set but maxInputTokens is missing. Defaulting to ${DEFAULT_MAX_INPUT_TOKENS}. Provide 'maxInputTokens' in configuration to avoid default fallback.`
858
990
  );
859
991
  return DEFAULT_MAX_INPUT_TOKENS;
860
992
  }
861
993
  if (acceptsAnyModel(config.provider)) {
862
- import_logger.logger.debug(
994
+ logger.debug(
863
995
  `Provider ${config.provider} accepts any model, defaulting to ${DEFAULT_MAX_INPUT_TOKENS} tokens`
864
996
  );
865
997
  return DEFAULT_MAX_INPUT_TOKENS;
866
998
  }
867
999
  try {
868
- const registryMaxInputTokens = getMaxInputTokensForModel(config.provider, config.model);
869
- import_logger.logger.debug(
1000
+ const registryMaxInputTokens = getMaxInputTokensForModel(
1001
+ config.provider,
1002
+ config.model,
1003
+ logger
1004
+ );
1005
+ logger.debug(
870
1006
  `Using maxInputTokens from registry for ${config.provider}/${config.model}: ${registryMaxInputTokens}`
871
1007
  );
872
1008
  return registryMaxInputTokens;
873
1009
  } catch (error) {
874
1010
  if (error instanceof import_DextoRuntimeError.DextoRuntimeError && error.code === import_error_codes.LLMErrorCode.MODEL_UNKNOWN) {
875
- import_logger.logger.error(
1011
+ logger.error(
876
1012
  `Registry lookup failed for ${config.provider}/${config.model}: ${error.message}. Effective maxInputTokens cannot be determined.`
877
1013
  );
878
1014
  throw import_errors.LLMError.unknownModel(config.provider, config.model);
879
1015
  } else {
880
- import_logger.logger.error(`Unexpected error during registry lookup for maxInputTokens: ${error}`);
1016
+ logger.error(`Unexpected error during registry lookup for maxInputTokens: ${error}`);
881
1017
  throw error;
882
1018
  }
883
1019
  }
@@ -1,5 +1,6 @@
1
1
  import { LLMConfig } from './schemas.js';
2
2
  import { type LLMProvider, type LLMRouter, type SupportedFileType } from './types.js';
3
+ import type { IDextoLogger } from '../logger/v2/types.js';
3
4
  export interface ModelInfo {
4
5
  name: string;
5
6
  maxInputTokens: number;
@@ -57,10 +58,11 @@ export declare function getSupportedModels(provider: LLMProvider): string[];
57
58
  * Retrieves the maximum input token limit for a given provider and model from the registry.
58
59
  * @param provider The name of the provider (e.g., 'openai', 'anthropic', 'google').
59
60
  * @param model The specific model name.
61
+ * @param logger Optional logger instance for logging. Optional because it's used in zod schema
60
62
  * @returns The maximum input token limit for the model.
61
63
  * @throws {LLMError} If the model is not found in the registry.
62
64
  */
63
- export declare function getMaxInputTokensForModel(provider: LLMProvider, model: string): number;
65
+ export declare function getMaxInputTokensForModel(provider: LLMProvider, model: string, logger?: IDextoLogger): number;
64
66
  /**
65
67
  * Validates if a provider and model combination is supported.
66
68
  * Both parameters are required - structural validation (missing values) is handled by Zod schemas.
@@ -163,11 +165,12 @@ export declare function isRouterSupportedForProvider(provider: LLMProvider, rout
163
165
  * 2. Registry lookup for known provider/model.
164
166
  *
165
167
  * @param config The validated LLM configuration.
168
+ * @param logger Optional logger instance for logging.
166
169
  * @returns The effective maximum input token count for the LLM.
167
170
  * @throws {Error}
168
171
  * If `baseURL` is set but `maxInputTokens` is missing (indicating a Zod validation inconsistency).
169
172
  * Or if `baseURL` is not set, but model isn't found in registry.
170
173
  * TODO: make more readable
171
174
  */
172
- export declare function getEffectiveMaxInputTokens(config: LLMConfig): number;
175
+ export declare function getEffectiveMaxInputTokens(config: LLMConfig, logger: IDextoLogger): number;
173
176
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/llm/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/llm/registry.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import { DextoRuntimeError } from "../errors/DextoRuntimeError.js";
5
5
  import {
6
6
  LLM_PROVIDERS
7
7
  } from "./types.js";
8
- import { logger } from "../logger/index.js";
9
8
  const MIME_TYPE_TO_FILE_TYPE = {
10
9
  "application/pdf": "pdf",
11
10
  "audio/mp3": "audio",
@@ -31,6 +30,84 @@ const DEFAULT_MAX_INPUT_TOKENS = 128e3;
31
30
  const LLM_REGISTRY = {
32
31
  openai: {
33
32
  models: [
33
+ {
34
+ name: "gpt-5.1-chat-latest",
35
+ displayName: "GPT-5.1 Instant",
36
+ maxInputTokens: 4e5,
37
+ supportedFileTypes: ["pdf", "image"],
38
+ pricing: {
39
+ inputPerM: 1.25,
40
+ outputPerM: 10,
41
+ cacheReadPerM: 0.125,
42
+ currency: "USD",
43
+ unit: "per_million_tokens"
44
+ }
45
+ },
46
+ {
47
+ name: "gpt-5.1",
48
+ displayName: "GPT-5.1 Thinking",
49
+ maxInputTokens: 4e5,
50
+ supportedFileTypes: ["pdf", "image"],
51
+ pricing: {
52
+ inputPerM: 1.25,
53
+ outputPerM: 10,
54
+ cacheReadPerM: 0.125,
55
+ currency: "USD",
56
+ unit: "per_million_tokens"
57
+ }
58
+ },
59
+ {
60
+ name: "gpt-5.1-codex",
61
+ displayName: "GPT-5.1 Codex",
62
+ maxInputTokens: 4e5,
63
+ supportedFileTypes: ["pdf", "image"],
64
+ pricing: {
65
+ inputPerM: 1.25,
66
+ outputPerM: 10,
67
+ cacheReadPerM: 0.125,
68
+ currency: "USD",
69
+ unit: "per_million_tokens"
70
+ }
71
+ },
72
+ {
73
+ name: "gpt-5.1-codex-mini",
74
+ displayName: "GPT-5.1 Codex Mini",
75
+ maxInputTokens: 4e5,
76
+ supportedFileTypes: ["pdf", "image"],
77
+ pricing: {
78
+ inputPerM: 0.25,
79
+ outputPerM: 2,
80
+ cacheReadPerM: 0.025,
81
+ currency: "USD",
82
+ unit: "per_million_tokens"
83
+ }
84
+ },
85
+ // {
86
+ // name: 'gpt-5.1-codex-max',
87
+ // displayName: 'GPT-5.1 Codex Max',
88
+ // maxInputTokens: 400000,
89
+ // supportedFileTypes: ['pdf', 'image'],
90
+ // pricing: {
91
+ // inputPerM: 1.25,
92
+ // outputPerM: 10.0,
93
+ // cacheReadPerM: 0.125,
94
+ // currency: 'USD',
95
+ // unit: 'per_million_tokens',
96
+ // },
97
+ // },
98
+ {
99
+ name: "gpt-5-pro",
100
+ displayName: "GPT-5 Pro",
101
+ maxInputTokens: 4e5,
102
+ supportedFileTypes: ["pdf", "image"],
103
+ pricing: {
104
+ inputPerM: 15,
105
+ outputPerM: 120,
106
+ cacheReadPerM: 1.5,
107
+ currency: "USD",
108
+ unit: "per_million_tokens"
109
+ }
110
+ },
34
111
  {
35
112
  name: "gpt-5",
36
113
  displayName: "GPT-5",
@@ -71,6 +148,19 @@ const LLM_REGISTRY = {
71
148
  unit: "per_million_tokens"
72
149
  }
73
150
  },
151
+ {
152
+ name: "gpt-5-codex",
153
+ displayName: "GPT-5 Codex",
154
+ maxInputTokens: 4e5,
155
+ supportedFileTypes: ["pdf", "image"],
156
+ pricing: {
157
+ inputPerM: 1.25,
158
+ outputPerM: 10,
159
+ cacheReadPerM: 0.125,
160
+ currency: "USD",
161
+ unit: "per_million_tokens"
162
+ }
163
+ },
74
164
  {
75
165
  name: "gpt-4.1",
76
166
  displayName: "GPT-4.1",
@@ -245,6 +335,20 @@ const LLM_REGISTRY = {
245
335
  unit: "per_million_tokens"
246
336
  }
247
337
  },
338
+ {
339
+ name: "claude-opus-4-5-20251101",
340
+ displayName: "Claude 4.5 Opus",
341
+ maxInputTokens: 2e5,
342
+ supportedFileTypes: ["pdf", "image"],
343
+ pricing: {
344
+ inputPerM: 5,
345
+ outputPerM: 25,
346
+ cacheWritePerM: 6.25,
347
+ cacheReadPerM: 0.5,
348
+ currency: "USD",
349
+ unit: "per_million_tokens"
350
+ }
351
+ },
248
352
  {
249
353
  name: "claude-opus-4-1-20250805",
250
354
  displayName: "Claude 4.1 Opus",
@@ -337,6 +441,30 @@ const LLM_REGISTRY = {
337
441
  },
338
442
  google: {
339
443
  models: [
444
+ {
445
+ name: "gemini-3-pro-preview",
446
+ displayName: "Gemini 3 Pro Preview",
447
+ maxInputTokens: 1048576,
448
+ supportedFileTypes: ["pdf", "image", "audio"],
449
+ pricing: {
450
+ inputPerM: 2,
451
+ outputPerM: 12,
452
+ currency: "USD",
453
+ unit: "per_million_tokens"
454
+ }
455
+ },
456
+ {
457
+ name: "gemini-3-pro-image-preview",
458
+ displayName: "Gemini 3 Pro Image Preview",
459
+ maxInputTokens: 1048576,
460
+ supportedFileTypes: ["image"],
461
+ pricing: {
462
+ inputPerM: 2,
463
+ outputPerM: 120,
464
+ currency: "USD",
465
+ unit: "per_million_tokens"
466
+ }
467
+ },
340
468
  {
341
469
  name: "gemini-2.5-pro",
342
470
  displayName: "Gemini 2.5 Pro",
@@ -659,17 +787,17 @@ function getSupportedModels(provider) {
659
787
  const providerInfo = LLM_REGISTRY[provider];
660
788
  return providerInfo.models.map((m) => m.name);
661
789
  }
662
- function getMaxInputTokensForModel(provider, model) {
790
+ function getMaxInputTokensForModel(provider, model, logger) {
663
791
  const providerInfo = LLM_REGISTRY[provider];
664
792
  const modelInfo = providerInfo.models.find((m) => m.name.toLowerCase() === model.toLowerCase());
665
793
  if (!modelInfo) {
666
794
  const supportedModels = getSupportedModels(provider).join(", ");
667
- logger.error(
795
+ logger?.error(
668
796
  `Model '${model}' not found for provider '${provider}' in LLM registry. Supported models: ${supportedModels}`
669
797
  );
670
798
  throw LLMError.unknownModel(provider, model);
671
799
  }
672
- logger.debug(`Found max tokens for ${provider}/${model}: ${modelInfo.maxInputTokens}`);
800
+ logger?.debug(`Found max tokens for ${provider}/${model}: ${modelInfo.maxInputTokens}`);
673
801
  return modelInfo.maxInputTokens;
674
802
  }
675
803
  function isValidProviderModel(provider, model) {
@@ -775,7 +903,7 @@ function isRouterSupportedForProvider(provider, router) {
775
903
  const supportedRouters = getSupportedRoutersForProvider(provider);
776
904
  return supportedRouters.includes(router);
777
905
  }
778
- function getEffectiveMaxInputTokens(config) {
906
+ function getEffectiveMaxInputTokens(config, logger) {
779
907
  const configuredMaxInputTokens = config.maxInputTokens;
780
908
  if (configuredMaxInputTokens != null) {
781
909
  if (config.baseURL) {
@@ -785,7 +913,11 @@ function getEffectiveMaxInputTokens(config) {
785
913
  return configuredMaxInputTokens;
786
914
  }
787
915
  try {
788
- const registryMaxInputTokens = getMaxInputTokensForModel(config.provider, config.model);
916
+ const registryMaxInputTokens = getMaxInputTokensForModel(
917
+ config.provider,
918
+ config.model,
919
+ logger
920
+ );
789
921
  if (configuredMaxInputTokens > registryMaxInputTokens) {
790
922
  logger.warn(
791
923
  `Provided maxInputTokens (${configuredMaxInputTokens}) for ${config.provider}/${config.model} exceeds the known limit (${registryMaxInputTokens}) for model ${config.model}. Capping to registry limit.`
@@ -824,7 +956,11 @@ function getEffectiveMaxInputTokens(config) {
824
956
  return DEFAULT_MAX_INPUT_TOKENS;
825
957
  }
826
958
  try {
827
- const registryMaxInputTokens = getMaxInputTokensForModel(config.provider, config.model);
959
+ const registryMaxInputTokens = getMaxInputTokensForModel(
960
+ config.provider,
961
+ config.model,
962
+ logger
963
+ );
828
964
  logger.debug(
829
965
  `Using maxInputTokens from registry for ${config.provider}/${config.model}: ${registryMaxInputTokens}`
830
966
  );
@@ -29,8 +29,8 @@ var import_error_codes = require("./error-codes.js");
29
29
  var import_schemas2 = require("./schemas.js");
30
30
  var import_registry = require("./registry.js");
31
31
  var import_api_key_resolver = require("../utils/api-key-resolver.cjs");
32
- function resolveAndValidateLLMConfig(previous, updates) {
33
- const { candidate, warnings } = resolveLLMConfig(previous, updates);
32
+ function resolveAndValidateLLMConfig(previous, updates, logger) {
33
+ const { candidate, warnings } = resolveLLMConfig(previous, updates, logger);
34
34
  if ((0, import_result.hasErrors)(warnings)) {
35
35
  const { errors } = (0, import_result.splitIssues)(warnings);
36
36
  return (0, import_result.fail)(errors);
@@ -38,7 +38,7 @@ function resolveAndValidateLLMConfig(previous, updates) {
38
38
  const result = validateLLMConfig(candidate, warnings);
39
39
  return result;
40
40
  }
41
- function resolveLLMConfig(previous, updates) {
41
+ function resolveLLMConfig(previous, updates, logger) {
42
42
  const warnings = [];
43
43
  const provider = updates.provider ?? (updates.model ? (() => {
44
44
  try {
@@ -108,7 +108,7 @@ function resolveLLMConfig(previous, updates) {
108
108
  router = previous.router;
109
109
  }
110
110
  }
111
- const maxInputTokens = updates.maxInputTokens ?? (0, import_registry.getEffectiveMaxInputTokens)({ provider, model, apiKey: apiKey || previous.apiKey });
111
+ const maxInputTokens = updates.maxInputTokens ?? (0, import_registry.getEffectiveMaxInputTokens)({ provider, model, apiKey: apiKey || previous.apiKey }, logger);
112
112
  return {
113
113
  candidate: {
114
114
  provider,
@@ -2,17 +2,18 @@ import { Result } from '../utils/result.js';
2
2
  import { Issue } from '../errors/types.js';
3
3
  import { type ValidatedLLMConfig, type LLMUpdates, type LLMConfig } from './schemas.js';
4
4
  import type { LLMUpdateContext } from './types.js';
5
+ import type { IDextoLogger } from '../logger/v2/types.js';
5
6
  /**
6
7
  * Convenience function that combines resolveLLM and validateLLM
7
8
  */
8
- export declare function resolveAndValidateLLMConfig(previous: ValidatedLLMConfig, updates: LLMUpdates): Result<ValidatedLLMConfig, LLMUpdateContext>;
9
+ export declare function resolveAndValidateLLMConfig(previous: ValidatedLLMConfig, updates: LLMUpdates, logger: IDextoLogger): Result<ValidatedLLMConfig, LLMUpdateContext>;
9
10
  /**
10
11
  * Infers the LLM config from the provided updates
11
12
  * @param previous - The previous LLM config
12
13
  * @param updates - The updates to the LLM config
13
14
  * @returns The resolved LLM config
14
15
  */
15
- export declare function resolveLLMConfig(previous: ValidatedLLMConfig, updates: LLMUpdates): {
16
+ export declare function resolveLLMConfig(previous: ValidatedLLMConfig, updates: LLMUpdates, logger: IDextoLogger): {
16
17
  candidate: LLMConfig;
17
18
  warnings: Issue<LLMUpdateContext>[];
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/llm/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiD,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAyB,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAWxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,UAAU,GACpB,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAU9C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC5B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,UAAU,GACpB;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAA;CAAE,CAsH/D;AAGD,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,GACpC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CA2B9C"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/llm/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiD,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAyB,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAWxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,YAAY,GACrB,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAU9C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC5B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,YAAY,GACrB;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAA;CAAE,CAsH/D;AAGD,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,GACpC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CA2B9C"}
@@ -13,8 +13,8 @@ import {
13
13
  getEffectiveMaxInputTokens
14
14
  } from "./registry.js";
15
15
  import { resolveApiKeyForProvider } from "../utils/api-key-resolver.js";
16
- function resolveAndValidateLLMConfig(previous, updates) {
17
- const { candidate, warnings } = resolveLLMConfig(previous, updates);
16
+ function resolveAndValidateLLMConfig(previous, updates, logger) {
17
+ const { candidate, warnings } = resolveLLMConfig(previous, updates, logger);
18
18
  if (hasErrors(warnings)) {
19
19
  const { errors } = splitIssues(warnings);
20
20
  return fail(errors);
@@ -22,7 +22,7 @@ function resolveAndValidateLLMConfig(previous, updates) {
22
22
  const result = validateLLMConfig(candidate, warnings);
23
23
  return result;
24
24
  }
25
- function resolveLLMConfig(previous, updates) {
25
+ function resolveLLMConfig(previous, updates, logger) {
26
26
  const warnings = [];
27
27
  const provider = updates.provider ?? (updates.model ? (() => {
28
28
  try {
@@ -92,7 +92,7 @@ function resolveLLMConfig(previous, updates) {
92
92
  router = previous.router;
93
93
  }
94
94
  }
95
- const maxInputTokens = updates.maxInputTokens ?? getEffectiveMaxInputTokens({ provider, model, apiKey: apiKey || previous.apiKey });
95
+ const maxInputTokens = updates.maxInputTokens ?? getEffectiveMaxInputTokens({ provider, model, apiKey: apiKey || previous.apiKey }, logger);
96
96
  return {
97
97
  candidate: {
98
98
  provider,
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var schemas_exports = {};
20
20
  __export(schemas_exports, {
21
+ LLMConfigBaseSchema: () => LLMConfigBaseSchema,
21
22
  LLMConfigSchema: () => LLMConfigSchema,
22
23
  LLMUpdatesSchema: () => LLMUpdatesSchema
23
24
  });
@@ -49,7 +50,7 @@ const LLMConfigFields = {
49
50
  'MIME type patterns for media expansion (e.g., "image/*", "application/pdf"). If omitted, uses model capabilities from registry. Supports wildcards.'
50
51
  )
51
52
  };
52
- const LLMConfigSchema = import_zod.z.object({
53
+ const LLMConfigBaseSchema = import_zod.z.object({
53
54
  provider: LLMConfigFields.provider,
54
55
  model: LLMConfigFields.model,
55
56
  apiKey: LLMConfigFields.apiKey,
@@ -61,7 +62,8 @@ const LLMConfigSchema = import_zod.z.object({
61
62
  maxOutputTokens: LLMConfigFields.maxOutputTokens,
62
63
  temperature: LLMConfigFields.temperature,
63
64
  allowedMediaTypes: LLMConfigFields.allowedMediaTypes
64
- }).strict().superRefine((data, ctx) => {
65
+ }).strict();
66
+ const LLMConfigSchema = LLMConfigBaseSchema.superRefine((data, ctx) => {
65
67
  const baseURLIsSet = data.baseURL != null && data.baseURL.trim() !== "";
66
68
  const maxInputTokensIsSet = data.maxInputTokens != null;
67
69
  if (!data.apiKey?.trim()) {
@@ -176,7 +178,7 @@ const LLMConfigSchema = import_zod.z.object({
176
178
  });
177
179
  }
178
180
  }).brand();
179
- const LLMUpdatesSchema = import_zod.z.object({ ...LLMConfigFields }).partial().strict().superRefine((data, ctx) => {
181
+ const LLMUpdatesSchema = import_zod.z.object({ ...LLMConfigFields }).partial().superRefine((data, ctx) => {
180
182
  if (!data.model && !data.provider && !data.router) {
181
183
  ctx.addIssue({
182
184
  code: import_zod.z.ZodIssueCode.custom,
@@ -187,6 +189,7 @@ const LLMUpdatesSchema = import_zod.z.object({ ...LLMConfigFields }).partial().s
187
189
  });
188
190
  // Annotate the CommonJS export names for ESM import in node:
189
191
  0 && (module.exports = {
192
+ LLMConfigBaseSchema,
190
193
  LLMConfigSchema,
191
194
  LLMUpdatesSchema
192
195
  });