@dexto/core 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/README.md +125 -0
  2. package/dist/agent/DextoAgent.cjs +793 -0
  3. package/dist/agent/DextoAgent.d.cts +473 -0
  4. package/dist/agent/DextoAgent.d.ts +473 -0
  5. package/dist/agent/DextoAgent.js +774 -0
  6. package/dist/agent/agentCard.cjs +44 -0
  7. package/dist/agent/agentCard.d.cts +20 -0
  8. package/dist/agent/agentCard.d.ts +20 -0
  9. package/dist/agent/agentCard.js +20 -0
  10. package/dist/agent/error-codes.cjs +35 -0
  11. package/dist/agent/error-codes.d.cts +14 -0
  12. package/dist/agent/error-codes.d.ts +14 -0
  13. package/dist/agent/error-codes.js +11 -0
  14. package/dist/agent/errors.cjs +84 -0
  15. package/dist/agent/errors.d.cts +40 -0
  16. package/dist/agent/errors.d.ts +40 -0
  17. package/dist/agent/errors.js +60 -0
  18. package/dist/agent/index.cjs +44 -0
  19. package/dist/agent/index.d.cts +60 -0
  20. package/dist/agent/index.d.ts +60 -0
  21. package/dist/agent/index.js +13 -0
  22. package/dist/agent/registry/error-codes.cjs +42 -0
  23. package/dist/agent/registry/error-codes.d.cts +20 -0
  24. package/dist/agent/registry/error-codes.d.ts +20 -0
  25. package/dist/agent/registry/error-codes.js +18 -0
  26. package/dist/agent/registry/errors.cjs +158 -0
  27. package/dist/agent/registry/errors.d.cts +67 -0
  28. package/dist/agent/registry/errors.d.ts +67 -0
  29. package/dist/{chunk-PI6XFMEW.js → agent/registry/errors.js} +43 -50
  30. package/dist/agent/registry/registry.cjs +291 -0
  31. package/dist/agent/registry/registry.d.cts +67 -0
  32. package/dist/agent/registry/registry.d.ts +67 -0
  33. package/dist/agent/registry/registry.js +256 -0
  34. package/dist/agent/registry/types.cjs +41 -0
  35. package/dist/agent/registry/types.d.cts +100 -0
  36. package/dist/agent/registry/types.d.ts +100 -0
  37. package/dist/agent/registry/types.js +16 -0
  38. package/dist/agent/schemas.cjs +113 -0
  39. package/dist/agent/schemas.d.cts +1502 -0
  40. package/dist/agent/schemas.d.ts +1502 -0
  41. package/dist/agent/schemas.js +88 -0
  42. package/dist/agent/state-manager.cjs +214 -0
  43. package/dist/agent/state-manager.d.cts +97 -0
  44. package/dist/agent/state-manager.d.ts +97 -0
  45. package/dist/agent/state-manager.js +190 -0
  46. package/dist/config/agent-resolver.cjs +153 -0
  47. package/dist/config/agent-resolver.d.cts +15 -0
  48. package/dist/config/agent-resolver.d.ts +15 -0
  49. package/dist/config/agent-resolver.js +122 -0
  50. package/dist/config/error-codes.cjs +39 -0
  51. package/dist/config/error-codes.d.cts +17 -0
  52. package/dist/config/error-codes.d.ts +17 -0
  53. package/dist/config/error-codes.js +15 -0
  54. package/dist/config/errors.cjs +126 -0
  55. package/dist/config/errors.d.cts +49 -0
  56. package/dist/config/errors.d.ts +49 -0
  57. package/dist/config/errors.js +102 -0
  58. package/dist/config/index.cjs +26 -0
  59. package/dist/config/index.d.cts +7 -0
  60. package/dist/config/index.d.ts +7 -0
  61. package/dist/config/index.js +3 -0
  62. package/dist/config/loader.cjs +119 -0
  63. package/dist/config/loader.d.cts +19 -0
  64. package/dist/config/loader.d.ts +19 -0
  65. package/dist/config/loader.js +85 -0
  66. package/dist/config/writer.cjs +182 -0
  67. package/dist/config/writer.d.cts +38 -0
  68. package/dist/config/writer.d.ts +38 -0
  69. package/dist/config/writer.js +146 -0
  70. package/dist/context/compression/middle-removal.cjs +95 -0
  71. package/dist/context/compression/middle-removal.d.cts +48 -0
  72. package/dist/context/compression/middle-removal.d.ts +48 -0
  73. package/dist/context/compression/middle-removal.js +71 -0
  74. package/dist/context/compression/oldest-removal.cjs +70 -0
  75. package/dist/context/compression/oldest-removal.d.cts +43 -0
  76. package/dist/context/compression/oldest-removal.d.ts +43 -0
  77. package/dist/context/compression/oldest-removal.js +46 -0
  78. package/dist/context/compression/types.cjs +16 -0
  79. package/dist/context/compression/types.d.cts +21 -0
  80. package/dist/context/compression/types.d.ts +21 -0
  81. package/dist/context/compression/types.js +0 -0
  82. package/dist/context/error-codes.cjs +41 -0
  83. package/dist/context/error-codes.d.cts +19 -0
  84. package/dist/context/error-codes.d.ts +19 -0
  85. package/dist/context/error-codes.js +17 -0
  86. package/dist/context/errors.cjs +146 -0
  87. package/dist/context/errors.d.cts +36 -0
  88. package/dist/context/errors.d.ts +36 -0
  89. package/dist/context/errors.js +122 -0
  90. package/dist/context/index.cjs +24 -0
  91. package/dist/context/index.d.cts +19 -0
  92. package/dist/context/index.d.ts +19 -0
  93. package/dist/context/index.js +2 -0
  94. package/dist/context/manager.cjs +516 -0
  95. package/dist/context/manager.d.cts +254 -0
  96. package/dist/context/manager.d.ts +254 -0
  97. package/dist/context/manager.js +492 -0
  98. package/dist/context/types.cjs +16 -0
  99. package/dist/context/types.d.cts +113 -0
  100. package/dist/context/types.d.ts +113 -0
  101. package/dist/context/types.js +0 -0
  102. package/dist/context/utils.cjs +406 -0
  103. package/dist/context/utils.d.cts +79 -0
  104. package/dist/context/utils.d.ts +79 -0
  105. package/dist/context/utils.js +374 -0
  106. package/dist/errors/DextoBaseError.cjs +36 -0
  107. package/dist/errors/DextoBaseError.d.cts +15 -0
  108. package/dist/errors/DextoBaseError.d.ts +15 -0
  109. package/dist/errors/DextoBaseError.js +12 -0
  110. package/dist/errors/DextoRuntimeError.cjs +50 -0
  111. package/dist/errors/DextoRuntimeError.d.cts +37 -0
  112. package/dist/errors/DextoRuntimeError.d.ts +37 -0
  113. package/dist/errors/DextoRuntimeError.js +26 -0
  114. package/dist/errors/DextoValidationError.cjs +118 -0
  115. package/dist/errors/DextoValidationError.d.cts +65 -0
  116. package/dist/errors/DextoValidationError.d.ts +65 -0
  117. package/dist/{chunk-XFQLRBHE.js → errors/DextoValidationError.js} +4 -32
  118. package/dist/errors/index.cjs +42 -0
  119. package/dist/errors/index.d.cts +18 -0
  120. package/dist/errors/index.d.ts +18 -0
  121. package/dist/errors/index.js +13 -0
  122. package/dist/errors/result-bridge.cjs +38 -0
  123. package/dist/errors/result-bridge.d.cts +39 -0
  124. package/dist/errors/result-bridge.d.ts +39 -0
  125. package/dist/errors/result-bridge.js +14 -0
  126. package/dist/errors/types.cjs +54 -0
  127. package/dist/errors/types.d.cts +62 -0
  128. package/dist/errors/types.d.ts +62 -0
  129. package/dist/errors/types.js +29 -0
  130. package/dist/events/index.cjs +169 -0
  131. package/dist/events/index.d.cts +272 -0
  132. package/dist/events/index.d.ts +272 -0
  133. package/dist/events/index.js +136 -0
  134. package/dist/index.browser.cjs +9 -220
  135. package/dist/index.browser.d.cts +53 -379
  136. package/dist/index.browser.d.ts +53 -379
  137. package/dist/index.browser.js +4 -210
  138. package/dist/index.cjs +31 -15266
  139. package/dist/index.d.cts +89 -6842
  140. package/dist/index.d.ts +89 -6842
  141. package/dist/index.js +14 -9914
  142. package/dist/llm/error-codes.cjs +48 -0
  143. package/dist/llm/error-codes.d.cts +26 -0
  144. package/dist/llm/error-codes.d.ts +26 -0
  145. package/dist/llm/error-codes.js +24 -0
  146. package/dist/llm/errors.cjs +108 -0
  147. package/dist/llm/errors.d.cts +58 -0
  148. package/dist/llm/errors.d.ts +58 -0
  149. package/dist/llm/errors.js +84 -0
  150. package/dist/llm/formatters/anthropic.cjs +246 -0
  151. package/dist/llm/formatters/anthropic.d.cts +45 -0
  152. package/dist/llm/formatters/anthropic.d.ts +45 -0
  153. package/dist/llm/formatters/anthropic.js +227 -0
  154. package/dist/llm/formatters/factory.cjs +51 -0
  155. package/dist/llm/formatters/factory.d.cts +12 -0
  156. package/dist/llm/formatters/factory.d.ts +12 -0
  157. package/dist/llm/formatters/factory.js +27 -0
  158. package/dist/llm/formatters/openai.cjs +167 -0
  159. package/dist/llm/formatters/openai.d.cts +38 -0
  160. package/dist/llm/formatters/openai.d.ts +38 -0
  161. package/dist/llm/formatters/openai.js +147 -0
  162. package/dist/llm/formatters/types.cjs +16 -0
  163. package/dist/llm/formatters/types.d.cts +43 -0
  164. package/dist/llm/formatters/types.d.ts +43 -0
  165. package/dist/llm/formatters/types.js +0 -0
  166. package/dist/llm/formatters/vercel.cjs +411 -0
  167. package/dist/llm/formatters/vercel.d.cts +48 -0
  168. package/dist/llm/formatters/vercel.d.ts +48 -0
  169. package/dist/llm/formatters/vercel.js +387 -0
  170. package/dist/llm/index.cjs +34 -0
  171. package/dist/llm/index.d.cts +39 -0
  172. package/dist/llm/index.d.ts +39 -0
  173. package/dist/llm/index.js +7 -0
  174. package/dist/llm/registry.cjs +881 -0
  175. package/dist/llm/registry.d.cts +176 -0
  176. package/dist/llm/registry.d.ts +176 -0
  177. package/dist/{chunk-J6AXCN3H.js → llm/registry.js} +25 -455
  178. package/dist/llm/resolver.cjs +154 -0
  179. package/dist/llm/resolver.d.cts +34 -0
  180. package/dist/llm/resolver.d.ts +34 -0
  181. package/dist/llm/resolver.js +136 -0
  182. package/dist/llm/schemas.cjs +188 -0
  183. package/dist/llm/schemas.d.cts +111 -0
  184. package/dist/llm/schemas.d.ts +111 -0
  185. package/dist/llm/schemas.js +172 -0
  186. package/dist/llm/services/anthropic.cjs +398 -0
  187. package/dist/llm/services/anthropic.d.cts +65 -0
  188. package/dist/llm/services/anthropic.d.ts +65 -0
  189. package/dist/llm/services/anthropic.js +374 -0
  190. package/dist/llm/services/factory.cjs +164 -0
  191. package/dist/llm/services/factory.d.cts +39 -0
  192. package/dist/llm/services/factory.d.ts +39 -0
  193. package/dist/llm/services/factory.js +130 -0
  194. package/dist/llm/services/index.cjs +22 -0
  195. package/dist/llm/services/index.d.cts +21 -0
  196. package/dist/llm/services/index.d.ts +21 -0
  197. package/dist/llm/services/index.js +1 -0
  198. package/dist/llm/services/openai.cjs +470 -0
  199. package/dist/llm/services/openai.d.cts +65 -0
  200. package/dist/llm/services/openai.d.ts +65 -0
  201. package/dist/llm/services/openai.js +446 -0
  202. package/dist/llm/services/test-utils.integration.cjs +169 -0
  203. package/dist/llm/services/test-utils.integration.d.cts +83 -0
  204. package/dist/llm/services/test-utils.integration.d.ts +83 -0
  205. package/dist/llm/services/test-utils.integration.js +142 -0
  206. package/dist/llm/services/types.cjs +16 -0
  207. package/dist/llm/services/types.d.cts +56 -0
  208. package/dist/llm/services/types.d.ts +56 -0
  209. package/dist/llm/services/types.js +0 -0
  210. package/dist/llm/services/vercel.cjs +525 -0
  211. package/dist/llm/services/vercel.d.cts +72 -0
  212. package/dist/llm/services/vercel.d.ts +72 -0
  213. package/dist/llm/services/vercel.js +506 -0
  214. package/dist/llm/tokenizer/anthropic.cjs +43 -0
  215. package/dist/llm/tokenizer/anthropic.d.cts +21 -0
  216. package/dist/llm/tokenizer/anthropic.d.ts +21 -0
  217. package/dist/llm/tokenizer/anthropic.js +19 -0
  218. package/dist/llm/tokenizer/default.cjs +41 -0
  219. package/dist/llm/tokenizer/default.d.cts +16 -0
  220. package/dist/llm/tokenizer/default.d.ts +16 -0
  221. package/dist/llm/tokenizer/default.js +17 -0
  222. package/dist/llm/tokenizer/factory.cjs +44 -0
  223. package/dist/llm/tokenizer/factory.d.cts +12 -0
  224. package/dist/llm/tokenizer/factory.d.ts +12 -0
  225. package/dist/llm/tokenizer/factory.js +20 -0
  226. package/dist/llm/tokenizer/google.cjs +52 -0
  227. package/dist/llm/tokenizer/google.d.cts +31 -0
  228. package/dist/llm/tokenizer/google.d.ts +31 -0
  229. package/dist/llm/tokenizer/google.js +28 -0
  230. package/dist/llm/tokenizer/openai.cjs +108 -0
  231. package/dist/llm/tokenizer/openai.d.cts +32 -0
  232. package/dist/llm/tokenizer/openai.d.ts +32 -0
  233. package/dist/llm/tokenizer/openai.js +83 -0
  234. package/dist/llm/tokenizer/types.cjs +33 -0
  235. package/dist/llm/tokenizer/types.d.cts +19 -0
  236. package/dist/llm/tokenizer/types.d.ts +19 -0
  237. package/dist/llm/tokenizer/types.js +9 -0
  238. package/dist/llm/types.cjs +42 -0
  239. package/dist/llm/types.d.cts +29 -0
  240. package/dist/llm/types.d.ts +29 -0
  241. package/dist/llm/types.js +16 -0
  242. package/dist/llm/validation.cjs +162 -0
  243. package/dist/llm/validation.d.cts +60 -0
  244. package/dist/llm/validation.d.ts +60 -0
  245. package/dist/llm/validation.js +138 -0
  246. package/dist/logger/browser.cjs +86 -0
  247. package/dist/logger/browser.d.cts +29 -0
  248. package/dist/logger/browser.d.ts +29 -0
  249. package/dist/logger/browser.js +61 -0
  250. package/dist/logger/index.cjs +22 -0
  251. package/dist/logger/index.d.cts +1 -0
  252. package/dist/logger/index.d.ts +1 -0
  253. package/dist/logger/index.js +1 -0
  254. package/dist/logger/logger.cjs +362 -0
  255. package/dist/logger/logger.d.cts +52 -0
  256. package/dist/logger/logger.d.ts +52 -0
  257. package/dist/logger/logger.js +327 -0
  258. package/dist/mcp/error-codes.cjs +38 -0
  259. package/dist/mcp/error-codes.d.cts +16 -0
  260. package/dist/mcp/error-codes.d.ts +16 -0
  261. package/dist/mcp/error-codes.js +14 -0
  262. package/dist/mcp/errors.cjs +131 -0
  263. package/dist/mcp/errors.d.cts +72 -0
  264. package/dist/mcp/errors.d.ts +72 -0
  265. package/dist/mcp/errors.js +107 -0
  266. package/dist/mcp/index.cjs +34 -0
  267. package/dist/mcp/index.d.cts +26 -0
  268. package/dist/mcp/index.d.ts +26 -0
  269. package/dist/mcp/index.js +7 -0
  270. package/dist/mcp/manager.cjs +473 -0
  271. package/dist/mcp/manager.d.cts +163 -0
  272. package/dist/mcp/manager.d.ts +163 -0
  273. package/dist/mcp/manager.js +449 -0
  274. package/dist/mcp/mcp-client.cjs +420 -0
  275. package/dist/mcp/mcp-client.d.cts +108 -0
  276. package/dist/mcp/mcp-client.d.ts +108 -0
  277. package/dist/mcp/mcp-client.js +396 -0
  278. package/dist/mcp/resolver.cjs +78 -0
  279. package/dist/mcp/resolver.d.cts +22 -0
  280. package/dist/mcp/resolver.d.ts +22 -0
  281. package/dist/mcp/resolver.js +56 -0
  282. package/dist/mcp/schemas.cjs +82 -0
  283. package/dist/mcp/schemas.d.cts +266 -0
  284. package/dist/mcp/schemas.d.ts +266 -0
  285. package/dist/mcp/schemas.js +54 -0
  286. package/dist/mcp/types.cjs +16 -0
  287. package/dist/mcp/types.d.cts +21 -0
  288. package/dist/mcp/types.d.ts +21 -0
  289. package/dist/mcp/types.js +0 -0
  290. package/dist/preferences/constants.cjs +28 -0
  291. package/dist/preferences/constants.d.cts +3 -0
  292. package/dist/preferences/constants.d.ts +3 -0
  293. package/dist/preferences/constants.js +4 -0
  294. package/dist/preferences/error-codes.cjs +35 -0
  295. package/dist/preferences/error-codes.d.cts +9 -0
  296. package/dist/preferences/error-codes.d.ts +9 -0
  297. package/dist/preferences/error-codes.js +11 -0
  298. package/dist/preferences/errors.cjs +75 -0
  299. package/dist/preferences/errors.d.cts +33 -0
  300. package/dist/preferences/errors.d.ts +33 -0
  301. package/dist/preferences/errors.js +50 -0
  302. package/dist/preferences/index.cjs +55 -0
  303. package/dist/preferences/index.d.cts +21 -0
  304. package/dist/preferences/index.d.ts +21 -0
  305. package/dist/preferences/index.js +31 -0
  306. package/dist/preferences/loader.cjs +136 -0
  307. package/dist/preferences/loader.d.cts +45 -0
  308. package/dist/preferences/loader.d.ts +45 -0
  309. package/dist/preferences/loader.js +107 -0
  310. package/dist/preferences/schemas.cjs +74 -0
  311. package/dist/preferences/schemas.d.cts +104 -0
  312. package/dist/preferences/schemas.d.ts +104 -0
  313. package/dist/preferences/schemas.js +47 -0
  314. package/dist/search/index.cjs +28 -0
  315. package/dist/search/index.d.cts +5 -0
  316. package/dist/search/index.d.ts +5 -0
  317. package/dist/search/index.js +4 -0
  318. package/dist/search/search-service.cjs +245 -0
  319. package/dist/search/search-service.d.cts +47 -0
  320. package/dist/search/search-service.d.ts +47 -0
  321. package/dist/search/search-service.js +221 -0
  322. package/dist/search/types.cjs +16 -0
  323. package/dist/search/types.d.cts +78 -0
  324. package/dist/search/types.d.ts +78 -0
  325. package/dist/search/types.js +0 -0
  326. package/dist/session/chat-session.cjs +354 -0
  327. package/dist/session/chat-session.d.cts +284 -0
  328. package/dist/session/chat-session.d.ts +284 -0
  329. package/dist/session/chat-session.js +333 -0
  330. package/dist/session/error-codes.cjs +35 -0
  331. package/dist/session/error-codes.d.cts +13 -0
  332. package/dist/session/error-codes.d.ts +13 -0
  333. package/dist/session/error-codes.js +11 -0
  334. package/dist/session/errors.cjs +93 -0
  335. package/dist/session/errors.d.cts +58 -0
  336. package/dist/session/errors.d.ts +58 -0
  337. package/dist/session/errors.js +69 -0
  338. package/dist/session/history/database.cjs +95 -0
  339. package/dist/session/history/database.d.cts +28 -0
  340. package/dist/session/history/database.d.ts +28 -0
  341. package/dist/session/history/database.js +71 -0
  342. package/dist/session/history/factory.cjs +31 -0
  343. package/dist/session/history/factory.d.cts +11 -0
  344. package/dist/session/history/factory.d.ts +11 -0
  345. package/dist/session/history/factory.js +7 -0
  346. package/dist/session/history/types.cjs +16 -0
  347. package/dist/session/history/types.d.cts +17 -0
  348. package/dist/session/history/types.d.ts +17 -0
  349. package/dist/session/history/types.js +0 -0
  350. package/dist/session/index.cjs +37 -0
  351. package/dist/session/index.d.cts +53 -0
  352. package/dist/session/index.d.ts +53 -0
  353. package/dist/session/index.js +10 -0
  354. package/dist/session/schemas.cjs +32 -0
  355. package/dist/session/schemas.d.cts +16 -0
  356. package/dist/session/schemas.d.ts +16 -0
  357. package/dist/session/schemas.js +8 -0
  358. package/dist/session/session-manager.cjs +481 -0
  359. package/dist/session/session-manager.d.cts +219 -0
  360. package/dist/session/session-manager.d.ts +219 -0
  361. package/dist/session/session-manager.js +457 -0
  362. package/dist/storage/backend/cache-backend.cjs +16 -0
  363. package/dist/storage/backend/cache-backend.d.cts +15 -0
  364. package/dist/storage/backend/cache-backend.d.ts +15 -0
  365. package/dist/storage/backend/cache-backend.js +0 -0
  366. package/dist/storage/backend/database-backend.cjs +16 -0
  367. package/dist/storage/backend/database-backend.d.cts +19 -0
  368. package/dist/storage/backend/database-backend.d.ts +19 -0
  369. package/dist/storage/backend/database-backend.js +0 -0
  370. package/dist/storage/backend/memory-backend.cjs +140 -0
  371. package/dist/storage/backend/memory-backend.d.cts +34 -0
  372. package/dist/storage/backend/memory-backend.d.ts +34 -0
  373. package/dist/storage/backend/memory-backend.js +116 -0
  374. package/dist/storage/backend/postgres-backend.cjs +231 -0
  375. package/dist/storage/backend/postgres-backend.d.cts +37 -0
  376. package/dist/storage/backend/postgres-backend.d.ts +37 -0
  377. package/dist/{postgres-backend-WMWS7RAT.js → storage/backend/postgres-backend.js} +3 -12
  378. package/dist/storage/backend/redis-backend.cjs +184 -0
  379. package/dist/storage/backend/redis-backend.d.cts +36 -0
  380. package/dist/storage/backend/redis-backend.d.ts +36 -0
  381. package/dist/{redis-backend-BNLN3XHX.js → storage/backend/redis-backend.js} +3 -12
  382. package/dist/storage/backend/sqlite-backend.cjs +271 -0
  383. package/dist/storage/backend/sqlite-backend.d.cts +35 -0
  384. package/dist/storage/backend/sqlite-backend.d.ts +35 -0
  385. package/dist/{sqlite-backend-AR6XNK2Q.js → storage/backend/sqlite-backend.js} +6 -17
  386. package/dist/storage/backend/types.cjs +16 -0
  387. package/dist/storage/backend/types.d.cts +14 -0
  388. package/dist/storage/backend/types.d.ts +14 -0
  389. package/dist/storage/backend/types.js +0 -0
  390. package/dist/storage/error-codes.cjs +36 -0
  391. package/dist/storage/error-codes.d.cts +14 -0
  392. package/dist/storage/error-codes.d.ts +14 -0
  393. package/dist/storage/error-codes.js +12 -0
  394. package/dist/storage/errors.cjs +104 -0
  395. package/dist/storage/errors.d.cts +63 -0
  396. package/dist/storage/errors.d.ts +63 -0
  397. package/dist/{chunk-F2QFAECT.js → storage/errors.js} +23 -30
  398. package/dist/storage/index.cjs +33 -0
  399. package/dist/storage/index.d.cts +7 -0
  400. package/dist/storage/index.d.ts +7 -0
  401. package/dist/storage/index.js +7 -0
  402. package/dist/storage/schemas.cjs +113 -0
  403. package/dist/storage/schemas.d.cts +856 -0
  404. package/dist/storage/schemas.d.ts +856 -0
  405. package/dist/storage/schemas.js +89 -0
  406. package/dist/storage/storage-manager.cjs +208 -0
  407. package/dist/storage/storage-manager.d.cts +52 -0
  408. package/dist/storage/storage-manager.d.ts +52 -0
  409. package/dist/storage/storage-manager.js +173 -0
  410. package/dist/storage/types.cjs +16 -0
  411. package/dist/storage/types.d.cts +5 -0
  412. package/dist/storage/types.d.ts +5 -0
  413. package/dist/storage/types.js +0 -0
  414. package/dist/systemPrompt/contributors.cjs +146 -0
  415. package/dist/systemPrompt/contributors.d.cts +44 -0
  416. package/dist/systemPrompt/contributors.d.ts +44 -0
  417. package/dist/systemPrompt/contributors.js +120 -0
  418. package/dist/systemPrompt/error-codes.cjs +35 -0
  419. package/dist/systemPrompt/error-codes.d.cts +13 -0
  420. package/dist/systemPrompt/error-codes.d.ts +13 -0
  421. package/dist/systemPrompt/error-codes.js +11 -0
  422. package/dist/systemPrompt/errors.cjs +93 -0
  423. package/dist/systemPrompt/errors.d.cts +55 -0
  424. package/dist/systemPrompt/errors.d.ts +55 -0
  425. package/dist/systemPrompt/errors.js +69 -0
  426. package/dist/systemPrompt/in-built-prompts.cjs +68 -0
  427. package/dist/systemPrompt/in-built-prompts.d.cts +28 -0
  428. package/dist/systemPrompt/in-built-prompts.d.ts +28 -0
  429. package/dist/systemPrompt/in-built-prompts.js +42 -0
  430. package/dist/systemPrompt/index.cjs +30 -0
  431. package/dist/systemPrompt/index.d.cts +14 -0
  432. package/dist/systemPrompt/index.d.ts +14 -0
  433. package/dist/systemPrompt/index.js +5 -0
  434. package/dist/systemPrompt/manager.cjs +93 -0
  435. package/dist/systemPrompt/manager.d.cts +31 -0
  436. package/dist/systemPrompt/manager.d.ts +31 -0
  437. package/dist/systemPrompt/manager.js +69 -0
  438. package/dist/systemPrompt/registry.cjs +51 -0
  439. package/dist/systemPrompt/registry.d.cts +20 -0
  440. package/dist/systemPrompt/registry.d.ts +20 -0
  441. package/dist/systemPrompt/registry.js +15 -0
  442. package/dist/systemPrompt/schemas.cjs +107 -0
  443. package/dist/systemPrompt/schemas.d.cts +401 -0
  444. package/dist/systemPrompt/schemas.d.ts +401 -0
  445. package/dist/systemPrompt/schemas.js +81 -0
  446. package/dist/systemPrompt/types.cjs +16 -0
  447. package/dist/systemPrompt/types.d.cts +19 -0
  448. package/dist/systemPrompt/types.d.ts +19 -0
  449. package/dist/systemPrompt/types.js +0 -0
  450. package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +44 -0
  451. package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +19 -0
  452. package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +19 -0
  453. package/dist/tools/confirmation/allowed-tools-provider/factory.js +20 -0
  454. package/dist/tools/confirmation/allowed-tools-provider/in-memory.cjs +62 -0
  455. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +17 -0
  456. package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +17 -0
  457. package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +38 -0
  458. package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +68 -0
  459. package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +26 -0
  460. package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +26 -0
  461. package/dist/tools/confirmation/allowed-tools-provider/storage.js +44 -0
  462. package/dist/tools/confirmation/allowed-tools-provider/types.cjs +16 -0
  463. package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +35 -0
  464. package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +35 -0
  465. package/dist/tools/confirmation/allowed-tools-provider/types.js +0 -0
  466. package/dist/tools/confirmation/event-based-confirmation-provider.cjs +158 -0
  467. package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +41 -0
  468. package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +41 -0
  469. package/dist/tools/confirmation/event-based-confirmation-provider.js +134 -0
  470. package/dist/tools/confirmation/factory.cjs +52 -0
  471. package/dist/tools/confirmation/factory.d.cts +37 -0
  472. package/dist/tools/confirmation/factory.d.ts +37 -0
  473. package/dist/tools/confirmation/factory.js +28 -0
  474. package/dist/tools/confirmation/noop-confirmation-provider.cjs +49 -0
  475. package/dist/tools/confirmation/noop-confirmation-provider.d.cts +22 -0
  476. package/dist/tools/confirmation/noop-confirmation-provider.d.ts +22 -0
  477. package/dist/tools/confirmation/noop-confirmation-provider.js +25 -0
  478. package/dist/tools/confirmation/types.cjs +16 -0
  479. package/dist/tools/confirmation/types.d.cts +46 -0
  480. package/dist/tools/confirmation/types.d.ts +46 -0
  481. package/dist/tools/confirmation/types.js +0 -0
  482. package/dist/tools/error-codes.cjs +40 -0
  483. package/dist/tools/error-codes.d.cts +18 -0
  484. package/dist/tools/error-codes.d.ts +18 -0
  485. package/dist/tools/error-codes.js +16 -0
  486. package/dist/tools/errors.cjs +164 -0
  487. package/dist/tools/errors.d.cts +97 -0
  488. package/dist/tools/errors.d.ts +97 -0
  489. package/dist/tools/errors.js +140 -0
  490. package/dist/tools/index.cjs +37 -0
  491. package/dist/tools/index.d.cts +19 -0
  492. package/dist/tools/index.d.ts +19 -0
  493. package/dist/tools/index.js +8 -0
  494. package/dist/tools/internal-tools/implementations/search-history-tool.cjs +61 -0
  495. package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +15 -0
  496. package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +15 -0
  497. package/dist/tools/internal-tools/implementations/search-history-tool.js +37 -0
  498. package/dist/tools/internal-tools/index.cjs +24 -0
  499. package/dist/tools/internal-tools/index.d.cts +13 -0
  500. package/dist/tools/internal-tools/index.d.ts +13 -0
  501. package/dist/tools/internal-tools/index.js +2 -0
  502. package/dist/tools/internal-tools/provider.cjs +159 -0
  503. package/dist/tools/internal-tools/provider.d.cts +66 -0
  504. package/dist/tools/internal-tools/provider.d.ts +66 -0
  505. package/dist/tools/internal-tools/provider.js +135 -0
  506. package/dist/tools/internal-tools/registry.cjs +43 -0
  507. package/dist/tools/internal-tools/registry.d.cts +45 -0
  508. package/dist/tools/internal-tools/registry.d.ts +45 -0
  509. package/dist/tools/internal-tools/registry.js +17 -0
  510. package/dist/tools/schemas.cjs +45 -0
  511. package/dist/tools/schemas.d.cts +21 -0
  512. package/dist/tools/schemas.d.ts +21 -0
  513. package/dist/tools/schemas.js +20 -0
  514. package/dist/tools/tool-manager.cjs +275 -0
  515. package/dist/tools/tool-manager.d.cts +106 -0
  516. package/dist/tools/tool-manager.d.ts +106 -0
  517. package/dist/tools/tool-manager.js +251 -0
  518. package/dist/tools/types.cjs +16 -0
  519. package/dist/tools/types.d.cts +66 -0
  520. package/dist/tools/types.d.ts +66 -0
  521. package/dist/tools/types.js +0 -0
  522. package/dist/utils/api-key-resolver.cjs +62 -0
  523. package/dist/utils/api-key-resolver.d.cts +23 -0
  524. package/dist/utils/api-key-resolver.d.ts +23 -0
  525. package/dist/utils/api-key-resolver.js +36 -0
  526. package/dist/utils/api-key-store.cjs +56 -0
  527. package/dist/utils/api-key-store.d.cts +26 -0
  528. package/dist/utils/api-key-store.d.ts +26 -0
  529. package/dist/utils/api-key-store.js +30 -0
  530. package/dist/utils/env.cjs +154 -0
  531. package/dist/utils/env.d.cts +29 -0
  532. package/dist/utils/env.d.ts +29 -0
  533. package/dist/utils/env.js +118 -0
  534. package/dist/utils/error-conversion.cjs +53 -0
  535. package/dist/utils/error-conversion.d.cts +13 -0
  536. package/dist/utils/error-conversion.d.ts +13 -0
  537. package/dist/utils/error-conversion.js +29 -0
  538. package/dist/utils/execution-context.cjs +85 -0
  539. package/dist/utils/execution-context.d.cts +21 -0
  540. package/dist/utils/execution-context.d.ts +21 -0
  541. package/dist/utils/execution-context.js +49 -0
  542. package/dist/{chunk-MVKLS3LM.js → utils/fs-walk.cjs} +27 -18
  543. package/dist/utils/fs-walk.d.cts +9 -0
  544. package/dist/utils/fs-walk.d.ts +9 -0
  545. package/dist/utils/fs-walk.js +18 -0
  546. package/dist/utils/index.cjs +44 -0
  547. package/dist/utils/index.d.cts +63 -0
  548. package/dist/utils/index.d.ts +63 -0
  549. package/dist/utils/index.js +12 -0
  550. package/dist/utils/path.cjs +197 -0
  551. package/dist/utils/path.d.cts +54 -0
  552. package/dist/utils/path.d.ts +54 -0
  553. package/dist/utils/path.js +159 -0
  554. package/dist/utils/port-utils.cjs +37 -0
  555. package/dist/utils/port-utils.d.cts +11 -0
  556. package/dist/utils/port-utils.d.ts +11 -0
  557. package/dist/utils/port-utils.js +13 -0
  558. package/dist/utils/port-utils.spec.cjs +26 -0
  559. package/dist/utils/port-utils.spec.d.cts +2 -0
  560. package/dist/utils/port-utils.spec.d.ts +2 -0
  561. package/dist/utils/port-utils.spec.js +25 -0
  562. package/dist/utils/redactor.cjs +105 -0
  563. package/dist/utils/redactor.d.cts +18 -0
  564. package/dist/utils/redactor.d.ts +18 -0
  565. package/dist/utils/redactor.js +81 -0
  566. package/dist/utils/result.cjs +115 -0
  567. package/dist/utils/result.d.cts +180 -0
  568. package/dist/utils/result.d.ts +180 -0
  569. package/dist/utils/result.js +82 -0
  570. package/dist/utils/safe-stringify.cjs +57 -0
  571. package/dist/utils/safe-stringify.d.cts +7 -0
  572. package/dist/utils/safe-stringify.d.ts +7 -0
  573. package/dist/utils/safe-stringify.js +33 -0
  574. package/dist/utils/schema.cjs +42 -0
  575. package/dist/utils/schema.d.cts +6 -0
  576. package/dist/utils/schema.d.ts +6 -0
  577. package/dist/utils/schema.js +18 -0
  578. package/dist/utils/service-initializer.cjs +119 -0
  579. package/dist/utils/service-initializer.d.cts +63 -0
  580. package/dist/utils/service-initializer.d.ts +63 -0
  581. package/dist/utils/service-initializer.js +95 -0
  582. package/dist/utils/user-info.cjs +30 -0
  583. package/dist/utils/user-info.d.cts +3 -0
  584. package/dist/utils/user-info.d.ts +3 -0
  585. package/dist/utils/user-info.js +6 -0
  586. package/dist/utils/zod-schema-converter.cjs +112 -0
  587. package/dist/utils/zod-schema-converter.d.cts +13 -0
  588. package/dist/utils/zod-schema-converter.d.ts +13 -0
  589. package/dist/utils/zod-schema-converter.js +87 -0
  590. package/package.json +2 -2
  591. package/dist/chunk-D62MHQBE.js +0 -2203
  592. package/dist/chunk-FCJVTIBV.js +0 -535
  593. package/dist/chunk-TPERKLLN.js +0 -75
  594. package/dist/errors-ZZ4Z3FKB.js +0 -10
  595. package/dist/loader-HBNEYPQZ.js +0 -20
  596. package/dist/path-TP7WBDED.js +0 -21
  597. package/dist/registry-Z4DFXODW.js +0 -14
@@ -0,0 +1,169 @@
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 test_utils_integration_exports = {};
20
+ __export(test_utils_integration_exports, {
21
+ TestConfigs: () => TestConfigs,
22
+ cleanupTestEnvironment: () => cleanupTestEnvironment,
23
+ createTestEnvironment: () => createTestEnvironment,
24
+ requiresApiKey: () => requiresApiKey
25
+ });
26
+ module.exports = __toCommonJS(test_utils_integration_exports);
27
+ var import_DextoAgent = require("../../agent/DextoAgent.js");
28
+ var import_api_key_resolver = require("../../utils/api-key-resolver.js");
29
+ async function createTestEnvironment(config, sessionId = "test-session") {
30
+ const agent = new import_DextoAgent.DextoAgent(config);
31
+ await agent.start();
32
+ return {
33
+ agent,
34
+ sessionId,
35
+ cleanup: async () => {
36
+ if (agent.isStarted()) {
37
+ await new Promise((resolve) => setTimeout(resolve, 100));
38
+ await agent.stop();
39
+ }
40
+ }
41
+ };
42
+ }
43
+ const TestConfigs = {
44
+ /**
45
+ * Creates OpenAI test config
46
+ */
47
+ createOpenAIConfig() {
48
+ const provider = "openai";
49
+ const apiKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
50
+ if (!apiKey) {
51
+ throw new Error(
52
+ `${(0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider)} environment variable is required for OpenAI integration tests`
53
+ );
54
+ }
55
+ return {
56
+ systemPrompt: "You are a helpful assistant for testing purposes.",
57
+ llm: {
58
+ provider,
59
+ model: "gpt-5-nano",
60
+ // Use cheapest model for testing
61
+ apiKey,
62
+ maxOutputTokens: 100,
63
+ // Keep costs low
64
+ temperature: 0,
65
+ // Deterministic responses
66
+ maxIterations: 1
67
+ // Minimal tool iterations
68
+ },
69
+ mcpServers: {},
70
+ storage: {
71
+ cache: { type: "in-memory" },
72
+ database: { type: "in-memory" }
73
+ },
74
+ sessions: {
75
+ maxSessions: 10,
76
+ sessionTTL: 100
77
+ // 100ms for fast testing
78
+ }
79
+ };
80
+ },
81
+ /**
82
+ * Creates Anthropic test config
83
+ */
84
+ createAnthropicConfig() {
85
+ const provider = "anthropic";
86
+ const apiKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
87
+ if (!apiKey) {
88
+ throw new Error(
89
+ `${(0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider)} environment variable is required for Anthropic integration tests`
90
+ );
91
+ }
92
+ return {
93
+ systemPrompt: "You are a helpful assistant for testing purposes.",
94
+ llm: {
95
+ provider,
96
+ model: "claude-3-5-haiku-20241022",
97
+ // Use cheapest model for testing
98
+ apiKey,
99
+ maxOutputTokens: 100,
100
+ temperature: 0,
101
+ maxIterations: 1
102
+ },
103
+ mcpServers: {},
104
+ storage: {
105
+ cache: { type: "in-memory" },
106
+ database: { type: "in-memory" }
107
+ },
108
+ sessions: {
109
+ maxSessions: 10,
110
+ sessionTTL: 100
111
+ }
112
+ };
113
+ },
114
+ /**
115
+ * Creates Vercel test config - parametric for different providers/models
116
+ */
117
+ createVercelConfig(provider = "openai", model) {
118
+ const apiKey = (0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
119
+ if (!apiKey) {
120
+ throw new Error(
121
+ `${(0, import_api_key_resolver.getPrimaryApiKeyEnvVar)(provider)} environment variable is required for Vercel integration tests with ${provider}`
122
+ );
123
+ }
124
+ const defaultModels = {
125
+ openai: "gpt-5-nano",
126
+ anthropic: "claude-3-5-haiku-20241022",
127
+ google: "gemini-2.0-flash",
128
+ groq: "llama-3.1-8b-instant",
129
+ xai: "grok-beta",
130
+ cohere: "command-r",
131
+ "openai-compatible": "gpt-4o-mini"
132
+ };
133
+ return {
134
+ systemPrompt: "You are a helpful assistant for testing purposes.",
135
+ llm: {
136
+ router: "vercel",
137
+ // This is the key difference - uses Vercel router
138
+ provider,
139
+ model: model || defaultModels[provider],
140
+ apiKey,
141
+ maxOutputTokens: 100,
142
+ temperature: 0,
143
+ maxIterations: 1
144
+ },
145
+ mcpServers: {},
146
+ storage: {
147
+ cache: { type: "in-memory" },
148
+ database: { type: "in-memory" }
149
+ },
150
+ sessions: {
151
+ maxSessions: 10,
152
+ sessionTTL: 100
153
+ }
154
+ };
155
+ }
156
+ };
157
+ function requiresApiKey(provider) {
158
+ return !!(0, import_api_key_resolver.resolveApiKeyForProvider)(provider);
159
+ }
160
+ async function cleanupTestEnvironment(_env) {
161
+ await _env.cleanup();
162
+ }
163
+ // Annotate the CommonJS export names for ESM import in node:
164
+ 0 && (module.exports = {
165
+ TestConfigs,
166
+ cleanupTestEnvironment,
167
+ createTestEnvironment,
168
+ requiresApiKey
169
+ });
@@ -0,0 +1,83 @@
1
+ import { DextoAgent } from '../../agent/DextoAgent.cjs';
2
+ import { LLMProvider } from '../types.cjs';
3
+ import { AgentConfig } from '../../agent/schemas.cjs';
4
+ import '../../events/index.cjs';
5
+ import 'events';
6
+ import 'zod';
7
+ import '../registry.cjs';
8
+ import '../schemas.cjs';
9
+ import '../../context/types.cjs';
10
+ import '../../tools/types.cjs';
11
+ import 'json-schema';
12
+ import '../../mcp/manager.cjs';
13
+ import '../../mcp/schemas.cjs';
14
+ import '../../mcp/types.cjs';
15
+ import '@modelcontextprotocol/sdk/client/index.js';
16
+ import '@modelcontextprotocol/sdk/types.js';
17
+ import '../../systemPrompt/manager.cjs';
18
+ import '../../systemPrompt/schemas.cjs';
19
+ import '../../systemPrompt/types.cjs';
20
+ import '../../search/types.cjs';
21
+ import '../../session/chat-session.cjs';
22
+ import '../../context/manager.cjs';
23
+ import '../formatters/types.cjs';
24
+ import '../tokenizer/types.cjs';
25
+ import '../../context/compression/types.cjs';
26
+ import '../../session/history/types.cjs';
27
+ import './types.cjs';
28
+ import 'ai';
29
+ import '../../tools/tool-manager.cjs';
30
+ import '../../tools/internal-tools/registry.cjs';
31
+ import '../../search/search-service.cjs';
32
+ import '../../storage/backend/database-backend.cjs';
33
+ import '../../tools/schemas.cjs';
34
+ import '../../tools/confirmation/types.cjs';
35
+ import '../../tools/confirmation/allowed-tools-provider/types.cjs';
36
+ import '../../agent/state-manager.cjs';
37
+ import '../../storage/backend/types.cjs';
38
+ import '../../storage/backend/cache-backend.cjs';
39
+ import '../../storage/schemas.cjs';
40
+ import '../../session/session-manager.cjs';
41
+ import '../../utils/service-initializer.cjs';
42
+ import '../../storage/storage-manager.cjs';
43
+
44
+ /**
45
+ * Shared utilities for LLM service integration tests
46
+ */
47
+ interface TestEnvironment {
48
+ agent: DextoAgent;
49
+ sessionId: string;
50
+ cleanup: () => Promise<void>;
51
+ }
52
+ /**
53
+ * Creates a test environment with real dependencies (no mocks)
54
+ * Uses DextoAgent to handle complex initialization properly
55
+ */
56
+ declare function createTestEnvironment(config: AgentConfig, sessionId?: string): Promise<TestEnvironment>;
57
+ /**
58
+ * Test configuration helpers that create full AgentConfig objects
59
+ */
60
+ declare const TestConfigs: {
61
+ /**
62
+ * Creates OpenAI test config
63
+ */
64
+ readonly createOpenAIConfig: () => AgentConfig;
65
+ /**
66
+ * Creates Anthropic test config
67
+ */
68
+ readonly createAnthropicConfig: () => AgentConfig;
69
+ /**
70
+ * Creates Vercel test config - parametric for different providers/models
71
+ */
72
+ readonly createVercelConfig: (provider?: LLMProvider, model?: string) => AgentConfig;
73
+ };
74
+ /**
75
+ * Helper to skip tests if API keys are not available
76
+ */
77
+ declare function requiresApiKey(provider: LLMProvider): boolean;
78
+ /**
79
+ * Cleanup helper
80
+ */
81
+ declare function cleanupTestEnvironment(_env: TestEnvironment): Promise<void>;
82
+
83
+ export { TestConfigs, type TestEnvironment, cleanupTestEnvironment, createTestEnvironment, requiresApiKey };
@@ -0,0 +1,83 @@
1
+ import { DextoAgent } from '../../agent/DextoAgent.js';
2
+ import { LLMProvider } from '../types.js';
3
+ import { AgentConfig } from '../../agent/schemas.js';
4
+ import '../../events/index.js';
5
+ import 'events';
6
+ import 'zod';
7
+ import '../registry.js';
8
+ import '../schemas.js';
9
+ import '../../context/types.js';
10
+ import '../../tools/types.js';
11
+ import 'json-schema';
12
+ import '../../mcp/manager.js';
13
+ import '../../mcp/schemas.js';
14
+ import '../../mcp/types.js';
15
+ import '@modelcontextprotocol/sdk/client/index.js';
16
+ import '@modelcontextprotocol/sdk/types.js';
17
+ import '../../systemPrompt/manager.js';
18
+ import '../../systemPrompt/schemas.js';
19
+ import '../../systemPrompt/types.js';
20
+ import '../../search/types.js';
21
+ import '../../session/chat-session.js';
22
+ import '../../context/manager.js';
23
+ import '../formatters/types.js';
24
+ import '../tokenizer/types.js';
25
+ import '../../context/compression/types.js';
26
+ import '../../session/history/types.js';
27
+ import './types.js';
28
+ import 'ai';
29
+ import '../../tools/tool-manager.js';
30
+ import '../../tools/internal-tools/registry.js';
31
+ import '../../search/search-service.js';
32
+ import '../../storage/backend/database-backend.js';
33
+ import '../../tools/schemas.js';
34
+ import '../../tools/confirmation/types.js';
35
+ import '../../tools/confirmation/allowed-tools-provider/types.js';
36
+ import '../../agent/state-manager.js';
37
+ import '../../storage/backend/types.js';
38
+ import '../../storage/backend/cache-backend.js';
39
+ import '../../storage/schemas.js';
40
+ import '../../session/session-manager.js';
41
+ import '../../utils/service-initializer.js';
42
+ import '../../storage/storage-manager.js';
43
+
44
+ /**
45
+ * Shared utilities for LLM service integration tests
46
+ */
47
+ interface TestEnvironment {
48
+ agent: DextoAgent;
49
+ sessionId: string;
50
+ cleanup: () => Promise<void>;
51
+ }
52
+ /**
53
+ * Creates a test environment with real dependencies (no mocks)
54
+ * Uses DextoAgent to handle complex initialization properly
55
+ */
56
+ declare function createTestEnvironment(config: AgentConfig, sessionId?: string): Promise<TestEnvironment>;
57
+ /**
58
+ * Test configuration helpers that create full AgentConfig objects
59
+ */
60
+ declare const TestConfigs: {
61
+ /**
62
+ * Creates OpenAI test config
63
+ */
64
+ readonly createOpenAIConfig: () => AgentConfig;
65
+ /**
66
+ * Creates Anthropic test config
67
+ */
68
+ readonly createAnthropicConfig: () => AgentConfig;
69
+ /**
70
+ * Creates Vercel test config - parametric for different providers/models
71
+ */
72
+ readonly createVercelConfig: (provider?: LLMProvider, model?: string) => AgentConfig;
73
+ };
74
+ /**
75
+ * Helper to skip tests if API keys are not available
76
+ */
77
+ declare function requiresApiKey(provider: LLMProvider): boolean;
78
+ /**
79
+ * Cleanup helper
80
+ */
81
+ declare function cleanupTestEnvironment(_env: TestEnvironment): Promise<void>;
82
+
83
+ export { TestConfigs, type TestEnvironment, cleanupTestEnvironment, createTestEnvironment, requiresApiKey };
@@ -0,0 +1,142 @@
1
+ import { DextoAgent } from "../../agent/DextoAgent.js";
2
+ import { resolveApiKeyForProvider, getPrimaryApiKeyEnvVar } from "../../utils/api-key-resolver.js";
3
+ async function createTestEnvironment(config, sessionId = "test-session") {
4
+ const agent = new DextoAgent(config);
5
+ await agent.start();
6
+ return {
7
+ agent,
8
+ sessionId,
9
+ cleanup: async () => {
10
+ if (agent.isStarted()) {
11
+ await new Promise((resolve) => setTimeout(resolve, 100));
12
+ await agent.stop();
13
+ }
14
+ }
15
+ };
16
+ }
17
+ const TestConfigs = {
18
+ /**
19
+ * Creates OpenAI test config
20
+ */
21
+ createOpenAIConfig() {
22
+ const provider = "openai";
23
+ const apiKey = resolveApiKeyForProvider(provider);
24
+ if (!apiKey) {
25
+ throw new Error(
26
+ `${getPrimaryApiKeyEnvVar(provider)} environment variable is required for OpenAI integration tests`
27
+ );
28
+ }
29
+ return {
30
+ systemPrompt: "You are a helpful assistant for testing purposes.",
31
+ llm: {
32
+ provider,
33
+ model: "gpt-5-nano",
34
+ // Use cheapest model for testing
35
+ apiKey,
36
+ maxOutputTokens: 100,
37
+ // Keep costs low
38
+ temperature: 0,
39
+ // Deterministic responses
40
+ maxIterations: 1
41
+ // Minimal tool iterations
42
+ },
43
+ mcpServers: {},
44
+ storage: {
45
+ cache: { type: "in-memory" },
46
+ database: { type: "in-memory" }
47
+ },
48
+ sessions: {
49
+ maxSessions: 10,
50
+ sessionTTL: 100
51
+ // 100ms for fast testing
52
+ }
53
+ };
54
+ },
55
+ /**
56
+ * Creates Anthropic test config
57
+ */
58
+ createAnthropicConfig() {
59
+ const provider = "anthropic";
60
+ const apiKey = resolveApiKeyForProvider(provider);
61
+ if (!apiKey) {
62
+ throw new Error(
63
+ `${getPrimaryApiKeyEnvVar(provider)} environment variable is required for Anthropic integration tests`
64
+ );
65
+ }
66
+ return {
67
+ systemPrompt: "You are a helpful assistant for testing purposes.",
68
+ llm: {
69
+ provider,
70
+ model: "claude-3-5-haiku-20241022",
71
+ // Use cheapest model for testing
72
+ apiKey,
73
+ maxOutputTokens: 100,
74
+ temperature: 0,
75
+ maxIterations: 1
76
+ },
77
+ mcpServers: {},
78
+ storage: {
79
+ cache: { type: "in-memory" },
80
+ database: { type: "in-memory" }
81
+ },
82
+ sessions: {
83
+ maxSessions: 10,
84
+ sessionTTL: 100
85
+ }
86
+ };
87
+ },
88
+ /**
89
+ * Creates Vercel test config - parametric for different providers/models
90
+ */
91
+ createVercelConfig(provider = "openai", model) {
92
+ const apiKey = resolveApiKeyForProvider(provider);
93
+ if (!apiKey) {
94
+ throw new Error(
95
+ `${getPrimaryApiKeyEnvVar(provider)} environment variable is required for Vercel integration tests with ${provider}`
96
+ );
97
+ }
98
+ const defaultModels = {
99
+ openai: "gpt-5-nano",
100
+ anthropic: "claude-3-5-haiku-20241022",
101
+ google: "gemini-2.0-flash",
102
+ groq: "llama-3.1-8b-instant",
103
+ xai: "grok-beta",
104
+ cohere: "command-r",
105
+ "openai-compatible": "gpt-4o-mini"
106
+ };
107
+ return {
108
+ systemPrompt: "You are a helpful assistant for testing purposes.",
109
+ llm: {
110
+ router: "vercel",
111
+ // This is the key difference - uses Vercel router
112
+ provider,
113
+ model: model || defaultModels[provider],
114
+ apiKey,
115
+ maxOutputTokens: 100,
116
+ temperature: 0,
117
+ maxIterations: 1
118
+ },
119
+ mcpServers: {},
120
+ storage: {
121
+ cache: { type: "in-memory" },
122
+ database: { type: "in-memory" }
123
+ },
124
+ sessions: {
125
+ maxSessions: 10,
126
+ sessionTTL: 100
127
+ }
128
+ };
129
+ }
130
+ };
131
+ function requiresApiKey(provider) {
132
+ return !!resolveApiKeyForProvider(provider);
133
+ }
134
+ async function cleanupTestEnvironment(_env) {
135
+ await _env.cleanup();
136
+ }
137
+ export {
138
+ TestConfigs,
139
+ cleanupTestEnvironment,
140
+ createTestEnvironment,
141
+ requiresApiKey
142
+ };
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,56 @@
1
+ import { LanguageModel } from 'ai';
2
+ import { ToolSet } from '../../tools/types.cjs';
3
+ import { ImageData, FileData } from '../../context/types.cjs';
4
+ import { LLMRouter, LLMProvider } from '../types.cjs';
5
+ import { ContextManager } from '../../context/manager.cjs';
6
+ import 'json-schema';
7
+ import 'zod';
8
+ import '../formatters/types.cjs';
9
+ import '../tokenizer/types.cjs';
10
+ import '../../context/compression/types.cjs';
11
+ import '../../systemPrompt/types.cjs';
12
+ import '../../mcp/manager.cjs';
13
+ import '../../mcp/schemas.cjs';
14
+ import '../../mcp/types.cjs';
15
+ import '@modelcontextprotocol/sdk/client/index.js';
16
+ import '@modelcontextprotocol/sdk/types.js';
17
+ import '../../systemPrompt/manager.cjs';
18
+ import '../../systemPrompt/schemas.cjs';
19
+ import '../../session/history/types.cjs';
20
+ import '../schemas.cjs';
21
+
22
+ /**
23
+ * Core interface for LLM service implementations
24
+ */
25
+ interface ILLMService {
26
+ /**
27
+ * Process a user's task (e.g., text input, potentially with image or file data)
28
+ * and return the final AI response.
29
+ * Handles potential tool calls and conversation management internally.
30
+ *
31
+ * @param textInput The primary text input from the user.
32
+ * @param options Options object with signal for cancellation. Always passed from chat session.
33
+ * @param imageData Optional image data associated with the user input.
34
+ * @param fileData Optional file data associated with the user input.
35
+ * @param stream Optional flag to enable streaming response.
36
+ * @returns A promise that resolves with the final text response from the AI.
37
+ */
38
+ completeTask(textInput: string, options: {
39
+ signal?: AbortSignal;
40
+ }, imageData?: ImageData, fileData?: FileData, stream?: boolean): Promise<string>;
41
+ getAllTools(): Promise<ToolSet>;
42
+ getConfig(): LLMServiceConfig;
43
+ getContextManager(): ContextManager<unknown>;
44
+ }
45
+ /**
46
+ * Configuration object returned by LLMService.getConfig()
47
+ */
48
+ type LLMServiceConfig = {
49
+ router: LLMRouter;
50
+ provider: LLMProvider;
51
+ model: LanguageModel;
52
+ configuredMaxInputTokens?: number | null;
53
+ modelMaxInputTokens?: number | null;
54
+ };
55
+
56
+ export type { ILLMService, LLMServiceConfig };
@@ -0,0 +1,56 @@
1
+ import { LanguageModel } from 'ai';
2
+ import { ToolSet } from '../../tools/types.js';
3
+ import { ImageData, FileData } from '../../context/types.js';
4
+ import { LLMRouter, LLMProvider } from '../types.js';
5
+ import { ContextManager } from '../../context/manager.js';
6
+ import 'json-schema';
7
+ import 'zod';
8
+ import '../formatters/types.js';
9
+ import '../tokenizer/types.js';
10
+ import '../../context/compression/types.js';
11
+ import '../../systemPrompt/types.js';
12
+ import '../../mcp/manager.js';
13
+ import '../../mcp/schemas.js';
14
+ import '../../mcp/types.js';
15
+ import '@modelcontextprotocol/sdk/client/index.js';
16
+ import '@modelcontextprotocol/sdk/types.js';
17
+ import '../../systemPrompt/manager.js';
18
+ import '../../systemPrompt/schemas.js';
19
+ import '../../session/history/types.js';
20
+ import '../schemas.js';
21
+
22
+ /**
23
+ * Core interface for LLM service implementations
24
+ */
25
+ interface ILLMService {
26
+ /**
27
+ * Process a user's task (e.g., text input, potentially with image or file data)
28
+ * and return the final AI response.
29
+ * Handles potential tool calls and conversation management internally.
30
+ *
31
+ * @param textInput The primary text input from the user.
32
+ * @param options Options object with signal for cancellation. Always passed from chat session.
33
+ * @param imageData Optional image data associated with the user input.
34
+ * @param fileData Optional file data associated with the user input.
35
+ * @param stream Optional flag to enable streaming response.
36
+ * @returns A promise that resolves with the final text response from the AI.
37
+ */
38
+ completeTask(textInput: string, options: {
39
+ signal?: AbortSignal;
40
+ }, imageData?: ImageData, fileData?: FileData, stream?: boolean): Promise<string>;
41
+ getAllTools(): Promise<ToolSet>;
42
+ getConfig(): LLMServiceConfig;
43
+ getContextManager(): ContextManager<unknown>;
44
+ }
45
+ /**
46
+ * Configuration object returned by LLMService.getConfig()
47
+ */
48
+ type LLMServiceConfig = {
49
+ router: LLMRouter;
50
+ provider: LLMProvider;
51
+ model: LanguageModel;
52
+ configuredMaxInputTokens?: number | null;
53
+ modelMaxInputTokens?: number | null;
54
+ };
55
+
56
+ export type { ILLMService, LLMServiceConfig };
File without changes