@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
@@ -1,151 +1,11 @@
1
+ import { LLMError } from "./errors.js";
2
+ import { LLMErrorCode } from "./error-codes.js";
3
+ import { DextoRuntimeError } from "../errors/DextoRuntimeError.js";
1
4
  import {
2
- DextoValidationError
3
- } from "./chunk-XFQLRBHE.js";
4
- import {
5
- getDextoGlobalPath,
6
- logger
7
- } from "./chunk-D62MHQBE.js";
8
- import {
9
- DextoRuntimeError
10
- } from "./chunk-TPERKLLN.js";
11
- import {
12
- init_esm_shims
13
- } from "./chunk-MVKLS3LM.js";
14
-
15
- // src/preferences/loader.ts
16
- init_esm_shims();
17
- import { existsSync } from "fs";
18
- import { promises as fs } from "fs";
19
- import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
20
-
21
- // src/preferences/schemas.ts
22
- init_esm_shims();
23
- import { z as z2 } from "zod";
24
-
25
- // src/llm/registry.ts
26
- init_esm_shims();
27
-
28
- // src/llm/errors.ts
29
- init_esm_shims();
30
-
31
- // src/llm/error-codes.ts
32
- init_esm_shims();
33
- var LLMErrorCode = /* @__PURE__ */ ((LLMErrorCode2) => {
34
- LLMErrorCode2["API_KEY_MISSING"] = "llm_api_key_missing";
35
- LLMErrorCode2["API_KEY_INVALID"] = "llm_api_key_invalid";
36
- LLMErrorCode2["API_KEY_CANDIDATE_MISSING"] = "llm_api_key_candidate_missing";
37
- LLMErrorCode2["BASE_URL_MISSING"] = "llm_base_url_missing";
38
- LLMErrorCode2["BASE_URL_INVALID"] = "llm_base_url_invalid";
39
- LLMErrorCode2["MODEL_INCOMPATIBLE"] = "llm_model_incompatible";
40
- LLMErrorCode2["MODEL_UNKNOWN"] = "llm_model_unknown";
41
- LLMErrorCode2["PROVIDER_UNSUPPORTED"] = "llm_provider_unsupported";
42
- LLMErrorCode2["ROUTER_UNSUPPORTED"] = "llm_router_unsupported";
43
- LLMErrorCode2["INPUT_FILE_UNSUPPORTED"] = "llm_input_file_unsupported";
44
- LLMErrorCode2["INPUT_IMAGE_UNSUPPORTED"] = "llm_input_image_unsupported";
45
- LLMErrorCode2["INPUT_TEXT_INVALID"] = "llm_input_text_invalid";
46
- LLMErrorCode2["TOKENS_EXCEEDED"] = "llm_tokens_exceeded";
47
- LLMErrorCode2["RATE_LIMIT_EXCEEDED"] = "llm_rate_limit_exceeded";
48
- LLMErrorCode2["SWITCH_FAILED"] = "llm_switch_failed";
49
- LLMErrorCode2["GENERATION_FAILED"] = "llm_generation_failed";
50
- LLMErrorCode2["SWITCH_INPUT_MISSING"] = "llm_switch_input_missing";
51
- LLMErrorCode2["REQUEST_INVALID_SCHEMA"] = "llm_request_invalid_schema";
52
- return LLMErrorCode2;
53
- })(LLMErrorCode || {});
54
-
55
- // src/llm/errors.ts
56
- var LLMError = class {
57
- // Runtime model/provider lookup errors
58
- static unknownModel(provider, model) {
59
- return new DextoRuntimeError(
60
- "llm_model_unknown" /* MODEL_UNKNOWN */,
61
- "llm" /* LLM */,
62
- "user" /* USER */,
63
- `Unknown model '${model}' for provider '${provider}'`,
64
- { provider, model }
65
- );
66
- }
67
- static baseUrlMissing(provider) {
68
- return new DextoRuntimeError(
69
- "llm_base_url_missing" /* BASE_URL_MISSING */,
70
- "llm" /* LLM */,
71
- "user" /* USER */,
72
- `Provider '${provider}' requires a baseURL (set config.baseURL or OPENAI_BASE_URL environment variable)`,
73
- { provider }
74
- );
75
- }
76
- static modelProviderUnknown(model) {
77
- const availableProviders = getSupportedProviders();
78
- return new DextoRuntimeError(
79
- "llm_model_unknown" /* MODEL_UNKNOWN */,
80
- "llm" /* LLM */,
81
- "user" /* USER */,
82
- `Unknown model '${model}' - could not infer provider. Available providers: ${availableProviders.join(", ")}`,
83
- { model, availableProviders },
84
- "Specify the provider explicitly or use a recognized model name"
85
- );
86
- }
87
- static unsupportedRouter(router, provider) {
88
- const supportedRouters = getSupportedRoutersForProvider(provider).map((r) => r);
89
- return new DextoRuntimeError(
90
- "llm_router_unsupported" /* ROUTER_UNSUPPORTED */,
91
- "llm" /* LLM */,
92
- "user" /* USER */,
93
- `Router '${router}' not supported for provider '${provider}'. Supported: ${supportedRouters.join(", ")}`,
94
- { router, provider, supportedRouters }
95
- );
96
- }
97
- // Runtime service errors
98
- static rateLimitExceeded(provider, retryAfter) {
99
- return new DextoRuntimeError(
100
- "llm_rate_limit_exceeded" /* RATE_LIMIT_EXCEEDED */,
101
- "llm" /* LLM */,
102
- "rate_limit" /* RATE_LIMIT */,
103
- `Rate limit exceeded for ${provider}`,
104
- {
105
- details: { provider, retryAfter },
106
- recovery: retryAfter ? `Wait ${retryAfter} seconds before retrying` : "Wait before retrying or upgrade your plan"
107
- }
108
- );
109
- }
110
- // Runtime operation errors
111
- static generationFailed(error, provider, model) {
112
- return new DextoRuntimeError(
113
- "llm_generation_failed" /* GENERATION_FAILED */,
114
- "llm" /* LLM */,
115
- "third_party" /* THIRD_PARTY */,
116
- `Generation failed: ${error}`,
117
- { details: { error, provider, model } }
118
- );
119
- }
120
- // Switch operation errors (runtime checks not covered by Zod)
121
- static switchInputMissing() {
122
- return new DextoRuntimeError(
123
- "llm_switch_input_missing" /* SWITCH_INPUT_MISSING */,
124
- "llm" /* LLM */,
125
- "user" /* USER */,
126
- "At least model or provider must be specified for LLM switch",
127
- {},
128
- "Provide either a model name, provider, or both"
129
- );
130
- }
131
- };
132
-
133
- // src/llm/types.ts
134
- init_esm_shims();
135
- var LLM_PROVIDERS = [
136
- "openai",
137
- "openai-compatible",
138
- "anthropic",
139
- "google",
140
- "groq",
141
- "xai",
142
- "cohere"
143
- ];
144
- var LLM_ROUTERS = ["vercel", "in-built"];
145
- var SUPPORTED_FILE_TYPES = ["pdf", "image", "audio"];
146
-
147
- // src/llm/registry.ts
148
- var MIME_TYPE_TO_FILE_TYPE = {
5
+ LLM_PROVIDERS
6
+ } from "./types.js";
7
+ import { logger } from "../logger/index.js";
8
+ const MIME_TYPE_TO_FILE_TYPE = {
149
9
  "application/pdf": "pdf",
150
10
  "audio/mp3": "audio",
151
11
  "audio/mpeg": "audio",
@@ -166,8 +26,8 @@ var MIME_TYPE_TO_FILE_TYPE = {
166
26
  function getAllowedMimeTypes() {
167
27
  return Object.keys(MIME_TYPE_TO_FILE_TYPE);
168
28
  }
169
- var DEFAULT_MAX_INPUT_TOKENS = 128e3;
170
- var LLM_REGISTRY = {
29
+ const DEFAULT_MAX_INPUT_TOKENS = 128e3;
30
+ const LLM_REGISTRY = {
171
31
  openai: {
172
32
  models: [
173
33
  {
@@ -909,7 +769,7 @@ function getEffectiveMaxInputTokens(config) {
909
769
  return configuredMaxInputTokens;
910
770
  }
911
771
  } catch (error) {
912
- if (error instanceof DextoRuntimeError && error.code === "llm_model_unknown" /* MODEL_UNKNOWN */) {
772
+ if (error instanceof DextoRuntimeError && error.code === LLMErrorCode.MODEL_UNKNOWN) {
913
773
  logger.warn(
914
774
  `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.`
915
775
  );
@@ -941,7 +801,7 @@ function getEffectiveMaxInputTokens(config) {
941
801
  );
942
802
  return registryMaxInputTokens;
943
803
  } catch (error) {
944
- if (error instanceof DextoRuntimeError && error.code === "llm_model_unknown" /* MODEL_UNKNOWN */) {
804
+ if (error instanceof DextoRuntimeError && error.code === LLMErrorCode.MODEL_UNKNOWN) {
945
805
  logger.error(
946
806
  `Registry lookup failed for ${config.provider}/${config.model}: ${error.message}. Effective maxInputTokens cannot be determined.`
947
807
  );
@@ -952,317 +812,27 @@ function getEffectiveMaxInputTokens(config) {
952
812
  }
953
813
  }
954
814
  }
955
-
956
- // src/utils/result.ts
957
- init_esm_shims();
958
- import { z } from "zod";
959
- var NonEmptyTrimmed = z.string().transform((s) => s.trim()).refine((s) => s.length > 0, { message: "Required" });
960
- function isValidUrl(s) {
961
- try {
962
- const u = new URL(s);
963
- return u.protocol === "http:" || u.protocol === "https:";
964
- } catch {
965
- return false;
966
- }
967
- }
968
- var OptionalURL = z.string().transform((s) => s.trim()).refine((s) => s === "" || isValidUrl(s), { message: "Invalid URL" }).transform((s) => s === "" ? void 0 : s).optional();
969
- var EnvExpandedString = (env) => z.string().transform((input) => {
970
- if (typeof input !== "string") return "";
971
- const envToUse = env ?? process.env;
972
- const out = input.replace(
973
- /\$([A-Z_][A-Z0-9_]*)|\${([A-Z_][A-Z0-9_]*)}/gi,
974
- (_, a, b) => envToUse[a || b] ?? ""
975
- );
976
- return out.trim();
977
- });
978
- var NonEmptyEnvExpandedString = (env) => EnvExpandedString(env).refine((s) => s.length > 0, {
979
- message: "Value is required"
980
- });
981
- var RequiredEnvURL = (env) => EnvExpandedString(env).refine(
982
- (s) => {
983
- try {
984
- const u = new URL(s);
985
- return u.protocol === "http:" || u.protocol === "https:";
986
- } catch {
987
- return false;
988
- }
989
- },
990
- { message: "Invalid URL" }
991
- );
992
- var ok = (data, issues = []) => ({
993
- ok: true,
994
- data,
995
- issues
996
- // warnings live alongside errors here
997
- });
998
- var fail = (issues) => ({
999
- ok: false,
1000
- issues
1001
- });
1002
- function hasErrors(issues) {
1003
- return issues.some((i) => i.severity !== "warning");
1004
- }
1005
- function splitIssues(issues) {
1006
- return {
1007
- errors: issues.filter((i) => i.severity !== "warning"),
1008
- warnings: issues.filter((i) => i.severity === "warning")
1009
- };
1010
- }
1011
- function zodToIssues(err, severity = "error") {
1012
- return err.errors.map((e) => {
1013
- const params = e.params || {};
1014
- return {
1015
- code: params.code ?? "schema_validation",
1016
- message: e.message,
1017
- scope: params.scope ?? "agent" /* AGENT */,
1018
- // Fallback for non-custom Zod errors
1019
- // Treat plain Zod schema failures as USER errors by default
1020
- type: params.type ?? "user" /* USER */,
1021
- path: e.path,
1022
- severity,
1023
- context: params
1024
- };
1025
- });
1026
- }
1027
-
1028
- // src/preferences/error-codes.ts
1029
- init_esm_shims();
1030
- var PreferenceErrorCode = /* @__PURE__ */ ((PreferenceErrorCode2) => {
1031
- PreferenceErrorCode2["FILE_NOT_FOUND"] = "preference_file_not_found";
1032
- PreferenceErrorCode2["FILE_READ_ERROR"] = "preference_file_read_error";
1033
- PreferenceErrorCode2["FILE_WRITE_ERROR"] = "preference_file_write_error";
1034
- PreferenceErrorCode2["VALIDATION_ERROR"] = "preference_validation_error";
1035
- PreferenceErrorCode2["MODEL_INCOMPATIBLE"] = "preference_model_incompatible";
1036
- return PreferenceErrorCode2;
1037
- })(PreferenceErrorCode || {});
1038
-
1039
- // src/preferences/schemas.ts
1040
- var PreferenceLLMSchema = z2.object({
1041
- provider: z2.enum(LLM_PROVIDERS).describe("LLM provider (openai, anthropic, google, etc.)"),
1042
- model: NonEmptyTrimmed.describe("Model name for the provider"),
1043
- apiKey: z2.string().regex(
1044
- /^\$[A-Z_][A-Z0-9_]*$/,
1045
- "Must be environment variable reference (e.g., $OPENAI_API_KEY)"
1046
- ).describe("Environment variable reference for API key")
1047
- }).strict().superRefine((data, ctx) => {
1048
- if (!isValidProviderModel(data.provider, data.model)) {
1049
- const supportedModels = getSupportedModels(data.provider);
1050
- ctx.addIssue({
1051
- code: z2.ZodIssueCode.custom,
1052
- path: ["model"],
1053
- message: `Model '${data.model}' is not supported by provider '${data.provider}'. Supported models: ${supportedModels.join(", ")}`,
1054
- params: {
1055
- code: "preference_model_incompatible" /* MODEL_INCOMPATIBLE */,
1056
- scope: "preference" /* PREFERENCE */,
1057
- type: "user" /* USER */
1058
- }
1059
- });
1060
- }
1061
- });
1062
- var PreferenceDefaultsSchema = z2.object({
1063
- defaultAgent: z2.string().min(1).describe("Default agent name for global CLI usage (required)")
1064
- }).strict();
1065
- var PreferenceSetupSchema = z2.object({
1066
- completed: z2.boolean().default(false).describe("Whether initial setup has been completed")
1067
- }).strict();
1068
- var GlobalPreferencesSchema = z2.object({
1069
- llm: PreferenceLLMSchema.describe("LLM configuration preferences"),
1070
- defaults: PreferenceDefaultsSchema.describe("Default behavior preferences (required)"),
1071
- setup: PreferenceSetupSchema.default({ completed: false }).describe(
1072
- "Setup completion tracking"
1073
- )
1074
- }).strict();
1075
-
1076
- // src/preferences/constants.ts
1077
- init_esm_shims();
1078
- var PREFERENCES_FILE = "preferences.yml";
1079
-
1080
- // src/preferences/errors.ts
1081
- init_esm_shims();
1082
- var PreferenceError = class {
1083
- static fileNotFound(preferencesPath) {
1084
- return new DextoRuntimeError(
1085
- "preference_file_not_found" /* FILE_NOT_FOUND */,
1086
- "preference" /* PREFERENCE */,
1087
- "user" /* USER */,
1088
- `Preferences file not found: ${preferencesPath}`,
1089
- { preferencesPath },
1090
- "Run `dexto setup` to create preferences"
1091
- );
1092
- }
1093
- static fileReadError(preferencesPath, cause) {
1094
- return new DextoRuntimeError(
1095
- "preference_file_read_error" /* FILE_READ_ERROR */,
1096
- "preference" /* PREFERENCE */,
1097
- "system" /* SYSTEM */,
1098
- `Failed to read preferences: ${cause}`,
1099
- { preferencesPath, cause },
1100
- "Check file permissions and ensure the file is not corrupted"
1101
- );
1102
- }
1103
- static fileWriteError(preferencesPath, cause) {
1104
- return new DextoRuntimeError(
1105
- "preference_file_write_error" /* FILE_WRITE_ERROR */,
1106
- "preference" /* PREFERENCE */,
1107
- "system" /* SYSTEM */,
1108
- `Failed to save preferences: ${cause}`,
1109
- { preferencesPath, cause },
1110
- "Check file permissions and available disk space"
1111
- );
1112
- }
1113
- static validationFailed(zodError) {
1114
- const issues = zodError.issues.map((issue) => ({
1115
- code: "preference_validation_error" /* VALIDATION_ERROR */,
1116
- message: `${issue.path.join(".")}: ${issue.message}`,
1117
- scope: "preference" /* PREFERENCE */,
1118
- type: "user" /* USER */,
1119
- severity: "error"
1120
- }));
1121
- return new DextoValidationError(issues);
1122
- }
1123
- };
1124
-
1125
- // src/preferences/loader.ts
1126
- async function loadGlobalPreferences() {
1127
- const preferencesPath = getDextoGlobalPath(PREFERENCES_FILE);
1128
- if (!existsSync(preferencesPath)) {
1129
- throw PreferenceError.fileNotFound(preferencesPath);
1130
- }
1131
- try {
1132
- const fileContent = await fs.readFile(preferencesPath, "utf-8");
1133
- const rawPreferences = parseYaml(fileContent);
1134
- const validation = GlobalPreferencesSchema.safeParse(rawPreferences);
1135
- if (!validation.success) {
1136
- throw PreferenceError.validationFailed(validation.error);
1137
- }
1138
- logger.debug(`Loaded global preferences from: ${preferencesPath}`);
1139
- return validation.data;
1140
- } catch (error) {
1141
- if (error instanceof DextoValidationError || error instanceof DextoRuntimeError) {
1142
- throw error;
1143
- }
1144
- throw PreferenceError.fileReadError(
1145
- preferencesPath,
1146
- error instanceof Error ? error.message : String(error)
1147
- );
1148
- }
1149
- }
1150
- async function saveGlobalPreferences(preferences) {
1151
- const preferencesPath = getDextoGlobalPath(PREFERENCES_FILE);
1152
- const validation = GlobalPreferencesSchema.safeParse(preferences);
1153
- if (!validation.success) {
1154
- throw PreferenceError.validationFailed(validation.error);
1155
- }
1156
- try {
1157
- logger.info(`Saving global preferences to: ${preferencesPath}`);
1158
- const dextoDir = getDextoGlobalPath("");
1159
- await fs.mkdir(dextoDir, { recursive: true });
1160
- const yamlContent = stringifyYaml(preferences, {
1161
- indent: 2,
1162
- lineWidth: 100,
1163
- minContentWidth: 20
1164
- });
1165
- await fs.writeFile(preferencesPath, yamlContent, "utf-8");
1166
- logger.info(
1167
- `\u2713 Saved global preferences ${JSON.stringify(preferences)} to: ${preferencesPath}`
1168
- );
1169
- } catch (error) {
1170
- throw PreferenceError.fileWriteError(
1171
- preferencesPath,
1172
- error instanceof Error ? error.message : String(error)
1173
- );
1174
- }
1175
- }
1176
- function globalPreferencesExist() {
1177
- const preferencesPath = getDextoGlobalPath(PREFERENCES_FILE);
1178
- return existsSync(preferencesPath);
1179
- }
1180
- function getGlobalPreferencesPath() {
1181
- return getDextoGlobalPath(PREFERENCES_FILE);
1182
- }
1183
- function createInitialPreferences(provider, model, apiKeyVar, defaultAgent = "default-agent") {
1184
- return {
1185
- llm: {
1186
- provider,
1187
- model,
1188
- apiKey: `$${apiKeyVar}`
1189
- },
1190
- defaults: {
1191
- defaultAgent
1192
- },
1193
- setup: {
1194
- completed: true
1195
- }
1196
- };
1197
- }
1198
- async function updateGlobalPreferences(updates) {
1199
- const existing = await loadGlobalPreferences();
1200
- const merged = {
1201
- ...existing,
1202
- ...updates,
1203
- // LLM section requires complete replacement (high coherence - provider/model/apiKey must match)
1204
- llm: updates.llm || existing.llm,
1205
- // Defaults and setup sections allow partial updates (low coherence - independent fields)
1206
- defaults: updates.defaults ? { ...existing.defaults, ...updates.defaults } : existing.defaults,
1207
- setup: updates.setup ? { ...existing.setup, ...updates.setup } : existing.setup
1208
- };
1209
- const validation = GlobalPreferencesSchema.safeParse(merged);
1210
- if (!validation.success) {
1211
- throw PreferenceError.validationFailed(validation.error);
1212
- }
1213
- await saveGlobalPreferences(validation.data);
1214
- return validation.data;
1215
- }
1216
-
1217
815
  export {
1218
- LLMErrorCode,
1219
- LLM_PROVIDERS,
1220
- LLM_ROUTERS,
1221
- SUPPORTED_FILE_TYPES,
1222
- MIME_TYPE_TO_FILE_TYPE,
1223
- getAllowedMimeTypes,
1224
816
  DEFAULT_MAX_INPUT_TOKENS,
1225
817
  LLM_REGISTRY,
818
+ MIME_TYPE_TO_FILE_TYPE,
819
+ acceptsAnyModel,
820
+ getAllSupportedModels,
821
+ getAllowedMimeTypes,
1226
822
  getDefaultModelForProvider,
1227
- getSupportedProviders,
1228
- getSupportedModels,
823
+ getEffectiveMaxInputTokens,
1229
824
  getMaxInputTokensForModel,
1230
- isValidProviderModel,
1231
825
  getProviderFromModel,
1232
- getAllSupportedModels,
1233
- getSupportedRoutersForProvider,
1234
- supportsBaseURL,
1235
- requiresBaseURL,
1236
- acceptsAnyModel,
1237
826
  getSupportedFileTypesForModel,
1238
- modelSupportsFileType,
1239
- validateModelFileSupport,
1240
- isRouterSupportedForModel,
827
+ getSupportedModels,
828
+ getSupportedProviders,
1241
829
  getSupportedRoutersForModel,
830
+ getSupportedRoutersForProvider,
831
+ isRouterSupportedForModel,
1242
832
  isRouterSupportedForProvider,
1243
- getEffectiveMaxInputTokens,
1244
- LLMError,
1245
- NonEmptyTrimmed,
1246
- OptionalURL,
1247
- EnvExpandedString,
1248
- NonEmptyEnvExpandedString,
1249
- RequiredEnvURL,
1250
- ok,
1251
- fail,
1252
- hasErrors,
1253
- splitIssues,
1254
- zodToIssues,
1255
- PreferenceErrorCode,
1256
- PreferenceLLMSchema,
1257
- PreferenceDefaultsSchema,
1258
- PreferenceSetupSchema,
1259
- GlobalPreferencesSchema,
1260
- PREFERENCES_FILE,
1261
- PreferenceError,
1262
- loadGlobalPreferences,
1263
- saveGlobalPreferences,
1264
- globalPreferencesExist,
1265
- getGlobalPreferencesPath,
1266
- createInitialPreferences,
1267
- updateGlobalPreferences
833
+ isValidProviderModel,
834
+ modelSupportsFileType,
835
+ requiresBaseURL,
836
+ supportsBaseURL,
837
+ validateModelFileSupport
1268
838
  };
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var resolver_exports = {};
20
+ __export(resolver_exports, {
21
+ resolveAndValidateLLMConfig: () => resolveAndValidateLLMConfig,
22
+ resolveLLMConfig: () => resolveLLMConfig,
23
+ validateLLMConfig: () => validateLLMConfig
24
+ });
25
+ module.exports = __toCommonJS(resolver_exports);
26
+ var import_result = require("../utils/result.js");
27
+ var import_types = require("../errors/types.cjs");
28
+ var import_error_codes = require("./error-codes.js");
29
+ var import_schemas2 = require("./schemas.js");
30
+ var import_registry = require("./registry.js");
31
+ var import_api_key_resolver = require("../utils/api-key-resolver.cjs");
32
+ function resolveAndValidateLLMConfig(previous, updates) {
33
+ const { candidate, warnings } = resolveLLMConfig(previous, updates);
34
+ if ((0, import_result.hasErrors)(warnings)) {
35
+ const { errors } = (0, import_result.splitIssues)(warnings);
36
+ return (0, import_result.fail)(errors);
37
+ }
38
+ const result = validateLLMConfig(candidate, warnings);
39
+ return result;
40
+ }
41
+ function resolveLLMConfig(previous, updates) {
42
+ const warnings = [];
43
+ const provider = updates.provider ?? (updates.model ? (() => {
44
+ try {
45
+ return (0, import_registry.getProviderFromModel)(updates.model);
46
+ } catch {
47
+ return previous.provider;
48
+ }
49
+ })() : previous.provider);
50
+ const envKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
51
+ const apiKey = updates.apiKey ?? (provider !== previous.provider ? envKey : previous.apiKey) ?? "";
52
+ if (!apiKey) {
53
+ warnings.push({
54
+ code: import_error_codes.LLMErrorCode.API_KEY_CANDIDATE_MISSING,
55
+ message: "API key not provided or found in environment",
56
+ severity: "warning",
57
+ scope: import_types.ErrorScope.LLM,
58
+ type: import_types.ErrorType.USER,
59
+ context: { provider }
60
+ });
61
+ } else if (typeof apiKey === "string" && apiKey.length < 10) {
62
+ warnings.push({
63
+ code: import_error_codes.LLMErrorCode.API_KEY_INVALID,
64
+ message: "API key looks unusually short",
65
+ severity: "warning",
66
+ scope: import_types.ErrorScope.LLM,
67
+ type: import_types.ErrorType.USER,
68
+ context: { provider }
69
+ });
70
+ }
71
+ let model = updates.model ?? previous.model;
72
+ if (provider !== previous.provider && !(0, import_registry.acceptsAnyModel)(provider) && !(0, import_registry.isValidProviderModel)(provider, model)) {
73
+ model = (0, import_registry.getDefaultModelForProvider)(provider) ?? previous.model;
74
+ warnings.push({
75
+ code: import_error_codes.LLMErrorCode.MODEL_INCOMPATIBLE,
76
+ message: `Model set to default '${model}' for provider '${provider}'`,
77
+ severity: "warning",
78
+ scope: import_types.ErrorScope.LLM,
79
+ type: import_types.ErrorType.USER,
80
+ context: { provider, model }
81
+ });
82
+ }
83
+ let router = updates.router;
84
+ if (!router) {
85
+ if (provider !== previous.provider && !(0, import_registry.isRouterSupportedForModel)(provider, model, previous.router)) {
86
+ const supported = (0, import_registry.getSupportedRoutersForModel)(provider, model);
87
+ if (supported.length === 0) {
88
+ warnings.push({
89
+ code: import_error_codes.LLMErrorCode.ROUTER_UNSUPPORTED,
90
+ message: `No routers supported for model '${model}' (${provider})`,
91
+ severity: "error",
92
+ scope: import_types.ErrorScope.LLM,
93
+ type: import_types.ErrorType.USER,
94
+ context: router ? { provider, model, router } : { provider, model }
95
+ });
96
+ } else {
97
+ router = supported.includes("vercel") ? "vercel" : supported[0];
98
+ warnings.push({
99
+ code: import_error_codes.LLMErrorCode.ROUTER_UNSUPPORTED,
100
+ message: `Router changed to '${router}' for model '${model}' (${provider})`,
101
+ severity: "warning",
102
+ scope: import_types.ErrorScope.LLM,
103
+ type: import_types.ErrorType.USER,
104
+ context: { provider, model, router }
105
+ });
106
+ }
107
+ } else {
108
+ router = previous.router;
109
+ }
110
+ }
111
+ const maxInputTokens = updates.maxInputTokens ?? (0, import_registry.getEffectiveMaxInputTokens)({ provider, model, apiKey: apiKey || previous.apiKey });
112
+ return {
113
+ candidate: {
114
+ provider,
115
+ model,
116
+ apiKey,
117
+ router,
118
+ baseURL: updates.baseURL ?? previous.baseURL,
119
+ maxIterations: updates.maxIterations ?? previous.maxIterations,
120
+ maxInputTokens,
121
+ maxOutputTokens: updates.maxOutputTokens ?? previous.maxOutputTokens,
122
+ temperature: updates.temperature ?? previous.temperature
123
+ },
124
+ warnings
125
+ };
126
+ }
127
+ function validateLLMConfig(candidate, warnings) {
128
+ const parsed = import_schemas2.LLMConfigSchema.safeParse(candidate);
129
+ if (!parsed.success) {
130
+ return (0, import_result.fail)((0, import_result.zodToIssues)(parsed.error, "error"));
131
+ }
132
+ if (parsed.data.apiKey && parsed.data.apiKey.length < 10) {
133
+ warnings.push({
134
+ code: import_error_codes.LLMErrorCode.API_KEY_INVALID,
135
+ message: "API key seems too short - please verify it is correct",
136
+ path: ["apiKey"],
137
+ severity: "warning",
138
+ scope: import_types.ErrorScope.LLM,
139
+ type: import_types.ErrorType.USER,
140
+ context: {
141
+ provider: candidate.provider,
142
+ model: candidate.model,
143
+ ...candidate.router && { router: candidate.router }
144
+ }
145
+ });
146
+ }
147
+ return (0, import_result.ok)(parsed.data, warnings);
148
+ }
149
+ // Annotate the CommonJS export names for ESM import in node:
150
+ 0 && (module.exports = {
151
+ resolveAndValidateLLMConfig,
152
+ resolveLLMConfig,
153
+ validateLLMConfig
154
+ });