@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,374 @@
1
+ import { logger } from "../logger/index.js";
2
+ import { validateModelFileSupport } from "../llm/registry.js";
3
+ import { ContextError } from "./errors.js";
4
+ import { safeStringify } from "../utils/safe-stringify.js";
5
+ const DEFAULT_OVERHEAD_PER_MESSAGE = 4;
6
+ const MIN_BASE64_HEURISTIC_LENGTH = 512;
7
+ const MAX_TOOL_TEXT_CHARS = 8e3;
8
+ function countMessagesTokens(history, tokenizer, overheadPerMessage = DEFAULT_OVERHEAD_PER_MESSAGE) {
9
+ let total = 0;
10
+ logger.debug(`Counting tokens for ${history.length} messages`);
11
+ try {
12
+ for (const message of history) {
13
+ if (message.content) {
14
+ if (typeof message.content === "string") {
15
+ total += tokenizer.countTokens(message.content);
16
+ } else if (Array.isArray(message.content)) {
17
+ message.content.forEach((part) => {
18
+ if (part.type === "text" && typeof part.text === "string") {
19
+ total += tokenizer.countTokens(part.text);
20
+ } else if (part.type === "image") {
21
+ if (typeof part.image === "string") {
22
+ if (isDataUri(part.image)) {
23
+ const base64Payload = extractBase64FromDataUri(part.image);
24
+ const byteLength = base64LengthToBytes(base64Payload.length);
25
+ total += Math.ceil(byteLength / 1024);
26
+ } else {
27
+ total += estimateTextTokens(part.image);
28
+ }
29
+ } else if (part.image instanceof Uint8Array || part.image instanceof Buffer || part.image instanceof ArrayBuffer) {
30
+ const bytes = part.image instanceof ArrayBuffer ? part.image.byteLength : part.image.length;
31
+ total += Math.ceil(bytes / 1024);
32
+ }
33
+ } else if (part.type === "file") {
34
+ if (typeof part.data === "string") {
35
+ if (isDataUri(part.data)) {
36
+ const base64Payload = extractBase64FromDataUri(part.data);
37
+ const byteLength = base64LengthToBytes(base64Payload.length);
38
+ total += Math.ceil(byteLength / 1024);
39
+ } else {
40
+ total += estimateTextTokens(part.data);
41
+ }
42
+ } else if (part.data instanceof Uint8Array || part.data instanceof Buffer || part.data instanceof ArrayBuffer) {
43
+ const bytes = part.data instanceof ArrayBuffer ? part.data.byteLength : part.data.length;
44
+ total += Math.ceil(bytes / 1024);
45
+ }
46
+ }
47
+ });
48
+ }
49
+ }
50
+ if (message.toolCalls) {
51
+ for (const call of message.toolCalls) {
52
+ if (call.function?.name) {
53
+ total += tokenizer.countTokens(call.function.name);
54
+ }
55
+ if (call.function?.arguments) {
56
+ total += tokenizer.countTokens(call.function.arguments);
57
+ }
58
+ }
59
+ }
60
+ total += overheadPerMessage;
61
+ }
62
+ } catch (error) {
63
+ logger.error(
64
+ `countMessagesTokens failed: ${error instanceof Error ? error.message : String(error)}`
65
+ );
66
+ throw ContextError.tokenCountFailed(error instanceof Error ? error.message : String(error));
67
+ }
68
+ return total;
69
+ }
70
+ function getImageData(imagePart) {
71
+ const { image } = imagePart;
72
+ if (typeof image === "string") {
73
+ return image;
74
+ } else if (image instanceof Buffer) {
75
+ return image.toString("base64");
76
+ } else if (image instanceof Uint8Array) {
77
+ return Buffer.from(image).toString("base64");
78
+ } else if (image instanceof ArrayBuffer) {
79
+ return Buffer.from(new Uint8Array(image)).toString("base64");
80
+ } else if (image instanceof URL) {
81
+ return image.toString();
82
+ }
83
+ logger.warn(`Unexpected image data type in getImageData: ${typeof image}`);
84
+ return "";
85
+ }
86
+ function getFileData(filePart) {
87
+ const { data } = filePart;
88
+ if (typeof data === "string") {
89
+ return data;
90
+ } else if (data instanceof Buffer) {
91
+ return data.toString("base64");
92
+ } else if (data instanceof Uint8Array) {
93
+ return Buffer.from(data).toString("base64");
94
+ } else if (data instanceof ArrayBuffer) {
95
+ return Buffer.from(new Uint8Array(data)).toString("base64");
96
+ } else if (data instanceof URL) {
97
+ return data.toString();
98
+ }
99
+ logger.warn(`Unexpected file data type in getFileData: ${typeof data}`);
100
+ return "";
101
+ }
102
+ function filterMessagesByLLMCapabilities(messages, config) {
103
+ try {
104
+ return messages.map((message) => {
105
+ if (message.role !== "user" || !Array.isArray(message.content)) {
106
+ return message;
107
+ }
108
+ const filteredContent = message.content.filter((part) => {
109
+ if (part.type === "text" || part.type === "image") {
110
+ return true;
111
+ }
112
+ if (part.type === "file" && part.mimeType) {
113
+ const validation = validateModelFileSupport(
114
+ config.provider,
115
+ config.model,
116
+ part.mimeType
117
+ );
118
+ return validation.isSupported;
119
+ }
120
+ return true;
121
+ });
122
+ if (filteredContent.length === 0) {
123
+ filteredContent.push({
124
+ type: "text",
125
+ text: `[File attachment removed - not supported by ${config.model}]`
126
+ });
127
+ }
128
+ return {
129
+ ...message,
130
+ content: filteredContent
131
+ };
132
+ });
133
+ } catch (error) {
134
+ logger.warn(`Failed to filter messages by LLM capabilities: ${String(error)}`);
135
+ return messages;
136
+ }
137
+ }
138
+ function isLikelyBase64String(value, minLength = MIN_BASE64_HEURISTIC_LENGTH) {
139
+ if (!value || value.length < minLength) return false;
140
+ if (value.startsWith("data:") && value.includes(";base64,")) return true;
141
+ const b64Regex = /^[A-Za-z0-9+/=\r\n]+$/;
142
+ if (!b64Regex.test(value)) return false;
143
+ const nonWordRatio = (value.match(/[^A-Za-z0-9+/=]/g)?.length || 0) / value.length;
144
+ return nonWordRatio < 0.01;
145
+ }
146
+ function parseDataUri(value) {
147
+ if (!value.startsWith("data:")) return null;
148
+ const commaIdx = value.indexOf(",");
149
+ if (commaIdx === -1) return null;
150
+ const meta = value.slice(5, commaIdx);
151
+ if (!/;base64$/i.test(meta)) return null;
152
+ const mediaType = meta.replace(/;base64$/i, "") || "application/octet-stream";
153
+ const base64 = value.slice(commaIdx + 1);
154
+ return { mediaType, base64 };
155
+ }
156
+ function sanitizeDeepObject(obj) {
157
+ if (obj == null) return obj;
158
+ if (typeof obj === "string") {
159
+ if (isLikelyBase64String(obj)) {
160
+ const approxBytes = Math.floor(obj.length * 3 / 4);
161
+ logger.debug(
162
+ `sanitizeDeepObject: replaced large base64 string (~${approxBytes} bytes) with placeholder`
163
+ );
164
+ return `[binary data omitted ~${approxBytes} bytes]`;
165
+ }
166
+ return obj;
167
+ }
168
+ if (Array.isArray(obj)) return obj.map((x) => sanitizeDeepObject(x));
169
+ if (typeof obj === "object") {
170
+ const out = {};
171
+ for (const [k, v] of Object.entries(obj)) {
172
+ out[k] = sanitizeDeepObject(v);
173
+ }
174
+ return out;
175
+ }
176
+ return obj;
177
+ }
178
+ function sanitizeToolResultToContent(result) {
179
+ try {
180
+ if (typeof result === "string") {
181
+ const dataUri = parseDataUri(result);
182
+ if (dataUri) {
183
+ const mediaType = dataUri.mediaType;
184
+ logger.debug(
185
+ `sanitizeToolResultToContent: detected data URI (${mediaType}), converting to media part`
186
+ );
187
+ if (mediaType.startsWith("image/")) {
188
+ return [{ type: "image", image: dataUri.base64, mimeType: mediaType }];
189
+ }
190
+ return [{ type: "file", data: dataUri.base64, mimeType: mediaType }];
191
+ }
192
+ if (isLikelyBase64String(result)) {
193
+ logger.debug(
194
+ "sanitizeToolResultToContent: detected base64-like string, converting to file part"
195
+ );
196
+ return [
197
+ {
198
+ type: "file",
199
+ data: result,
200
+ mimeType: "application/octet-stream",
201
+ filename: "tool-output.bin"
202
+ }
203
+ ];
204
+ }
205
+ if (result.length > MAX_TOOL_TEXT_CHARS) {
206
+ const head = result.slice(0, 4e3);
207
+ const tail = result.slice(-1e3);
208
+ logger.debug(
209
+ `sanitizeToolResultToContent: truncating long text tool output (len=${result.length})`
210
+ );
211
+ return `${head}
212
+ ... [${result.length - 5e3} chars omitted] ...
213
+ ${tail}`;
214
+ }
215
+ return result;
216
+ }
217
+ if (Array.isArray(result)) {
218
+ const parts = [];
219
+ for (const item of result) {
220
+ if (item == null) continue;
221
+ if (typeof item === "string") {
222
+ const dataUri = parseDataUri(item);
223
+ if (dataUri) {
224
+ const mt = dataUri.mediaType;
225
+ if (mt.startsWith("image/"))
226
+ parts.push({ type: "image", image: dataUri.base64, mimeType: mt });
227
+ else parts.push({ type: "file", data: dataUri.base64, mimeType: mt });
228
+ continue;
229
+ }
230
+ if (isLikelyBase64String(item)) {
231
+ parts.push({
232
+ type: "file",
233
+ data: item,
234
+ mimeType: "application/octet-stream",
235
+ filename: "tool-output.bin"
236
+ });
237
+ continue;
238
+ }
239
+ parts.push({ type: "text", text: item });
240
+ continue;
241
+ }
242
+ if (typeof item === "object") {
243
+ const obj = item;
244
+ if (obj.type === "text" && typeof obj.text === "string") {
245
+ parts.push({ type: "text", text: obj.text });
246
+ continue;
247
+ }
248
+ if (obj.type === "image" && obj.image !== void 0 || "image" in obj) {
249
+ parts.push({
250
+ type: "image",
251
+ image: getImageData({ image: obj.image }),
252
+ mimeType: obj.mimeType || "image/jpeg"
253
+ });
254
+ continue;
255
+ }
256
+ if (obj.type === "file" && obj.data !== void 0) {
257
+ parts.push({
258
+ type: "file",
259
+ data: getFileData({ data: obj.data }),
260
+ mimeType: obj.mimeType || "application/octet-stream",
261
+ filename: obj.filename
262
+ });
263
+ continue;
264
+ }
265
+ if ("data" in obj && (typeof obj.mimeType === "string" || obj.filename)) {
266
+ parts.push({
267
+ type: "file",
268
+ data: getFileData({ data: obj.data }),
269
+ mimeType: obj.mimeType || "application/octet-stream",
270
+ filename: obj.filename
271
+ });
272
+ continue;
273
+ }
274
+ const cleaned = sanitizeDeepObject(obj);
275
+ parts.push({ type: "text", text: safeStringify(cleaned) });
276
+ continue;
277
+ }
278
+ parts.push({ type: "text", text: String(item) });
279
+ }
280
+ return parts;
281
+ }
282
+ if (result && typeof result === "object") {
283
+ const anyObj = result;
284
+ if ("image" in anyObj) {
285
+ return [
286
+ {
287
+ type: "image",
288
+ image: getImageData({ image: anyObj.image }),
289
+ mimeType: anyObj.mimeType || "image/jpeg"
290
+ }
291
+ ];
292
+ }
293
+ if ("data" in anyObj && anyObj.mimeType) {
294
+ return [
295
+ {
296
+ type: "file",
297
+ data: getFileData({ data: anyObj.data }),
298
+ mimeType: anyObj.mimeType,
299
+ filename: anyObj.filename
300
+ }
301
+ ];
302
+ }
303
+ const cleaned = sanitizeDeepObject(anyObj);
304
+ return safeStringify(cleaned);
305
+ }
306
+ return safeStringify(result ?? "");
307
+ } catch (err) {
308
+ logger.warn(`sanitizeToolResultToContent failed, falling back to string: ${String(err)}`);
309
+ try {
310
+ return safeStringify(result ?? "");
311
+ } catch {
312
+ return String(result ?? "");
313
+ }
314
+ }
315
+ }
316
+ function summarizeToolContentForText(content) {
317
+ if (!Array.isArray(content)) return String(content || "");
318
+ const parts = [];
319
+ for (const p of content) {
320
+ if (p.type === "text") {
321
+ parts.push(p.text);
322
+ } else if (p.type === "image") {
323
+ let bytes = 0;
324
+ if (typeof p.image === "string") bytes = Math.floor(p.image.length * 3 / 4);
325
+ else if (p.image instanceof ArrayBuffer) bytes = p.image.byteLength;
326
+ else if (p.image instanceof Uint8Array) bytes = p.image.length;
327
+ else if (p.image instanceof Buffer) bytes = p.image.length;
328
+ parts.push(`[image ${p.mimeType || "image"} ~${Math.ceil(bytes / 1024)}KB]`);
329
+ } else if (p.type === "file") {
330
+ let bytes = 0;
331
+ if (typeof p.data === "string") bytes = Math.floor(p.data.length * 3 / 4);
332
+ else if (p.data instanceof ArrayBuffer) bytes = p.data.byteLength;
333
+ else if (p.data instanceof Uint8Array) bytes = p.data.length;
334
+ else if (p.data instanceof Buffer) bytes = p.data.length;
335
+ const label = p.filename ? `${p.filename}` : `${p.mimeType || "file"}`;
336
+ parts.push(`[file ${label} ~${Math.ceil(bytes / 1024)}KB]`);
337
+ }
338
+ }
339
+ const summary = parts.join("\n");
340
+ return summary.slice(0, 4e3);
341
+ }
342
+ function base64LengthToBytes(charLength) {
343
+ return Math.floor(charLength * 3 / 4);
344
+ }
345
+ function isDataUri(str) {
346
+ return str.startsWith("data:") && str.includes(";base64,");
347
+ }
348
+ function extractBase64FromDataUri(dataUri) {
349
+ const commaIndex = dataUri.indexOf(",");
350
+ return commaIndex !== -1 ? dataUri.substring(commaIndex + 1) : "";
351
+ }
352
+ function estimateTextTokens(text) {
353
+ return Math.ceil(text.length / 4);
354
+ }
355
+ function toTextForToolMessage(content) {
356
+ if (Array.isArray(content)) {
357
+ return summarizeToolContentForText(content);
358
+ }
359
+ if (typeof content === "string") {
360
+ return isLikelyBase64String(content) ? "[binary data omitted]" : content;
361
+ }
362
+ return String(content ?? "");
363
+ }
364
+ export {
365
+ countMessagesTokens,
366
+ filterMessagesByLLMCapabilities,
367
+ getFileData,
368
+ getImageData,
369
+ isLikelyBase64String,
370
+ parseDataUri,
371
+ sanitizeToolResultToContent,
372
+ summarizeToolContentForText,
373
+ toTextForToolMessage
374
+ };
@@ -0,0 +1,36 @@
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 DextoBaseError_exports = {};
20
+ __export(DextoBaseError_exports, {
21
+ DextoBaseError: () => DextoBaseError
22
+ });
23
+ module.exports = __toCommonJS(DextoBaseError_exports);
24
+ var import_crypto = require("crypto");
25
+ class DextoBaseError extends Error {
26
+ traceId;
27
+ constructor(message, traceId) {
28
+ super(message);
29
+ this.traceId = traceId || (0, import_crypto.randomUUID)();
30
+ this.name = this.constructor.name;
31
+ }
32
+ }
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ DextoBaseError
36
+ });
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Abstract base class for all Dexto errors
3
+ * Provides common functionality like trace ID generation and JSON serialization
4
+ */
5
+ declare abstract class DextoBaseError extends Error {
6
+ readonly traceId: string;
7
+ constructor(message: string, traceId?: string);
8
+ /**
9
+ * Convert error to JSON representation
10
+ * Must be implemented by subclasses
11
+ */
12
+ abstract toJSON(): Record<string, any>;
13
+ }
14
+
15
+ export { DextoBaseError };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Abstract base class for all Dexto errors
3
+ * Provides common functionality like trace ID generation and JSON serialization
4
+ */
5
+ declare abstract class DextoBaseError extends Error {
6
+ readonly traceId: string;
7
+ constructor(message: string, traceId?: string);
8
+ /**
9
+ * Convert error to JSON representation
10
+ * Must be implemented by subclasses
11
+ */
12
+ abstract toJSON(): Record<string, any>;
13
+ }
14
+
15
+ export { DextoBaseError };
@@ -0,0 +1,12 @@
1
+ import { randomUUID } from "crypto";
2
+ class DextoBaseError extends Error {
3
+ traceId;
4
+ constructor(message, traceId) {
5
+ super(message);
6
+ this.traceId = traceId || randomUUID();
7
+ this.name = this.constructor.name;
8
+ }
9
+ }
10
+ export {
11
+ DextoBaseError
12
+ };
@@ -0,0 +1,50 @@
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 DextoRuntimeError_exports = {};
20
+ __export(DextoRuntimeError_exports, {
21
+ DextoRuntimeError: () => DextoRuntimeError
22
+ });
23
+ module.exports = __toCommonJS(DextoRuntimeError_exports);
24
+ var import_DextoBaseError = require("./DextoBaseError.js");
25
+ class DextoRuntimeError extends import_DextoBaseError.DextoBaseError {
26
+ constructor(code, scope, type, message, context, recovery, traceId) {
27
+ super(message, traceId);
28
+ this.code = code;
29
+ this.scope = scope;
30
+ this.type = type;
31
+ this.context = context;
32
+ this.recovery = recovery;
33
+ this.name = "DextoRuntimeError";
34
+ }
35
+ toJSON() {
36
+ return {
37
+ code: this.code,
38
+ message: this.message,
39
+ scope: this.scope,
40
+ type: this.type,
41
+ context: this.context,
42
+ recovery: this.recovery,
43
+ traceId: this.traceId
44
+ };
45
+ }
46
+ }
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ DextoRuntimeError
50
+ });
@@ -0,0 +1,37 @@
1
+ import { DextoBaseError } from './DextoBaseError.cjs';
2
+ import { DextoErrorCode, ErrorScope, ErrorType } from './types.cjs';
3
+ import '../agent/error-codes.cjs';
4
+ import '../config/error-codes.cjs';
5
+ import '../context/error-codes.cjs';
6
+ import '../llm/error-codes.cjs';
7
+ import '../mcp/error-codes.cjs';
8
+ import '../session/error-codes.cjs';
9
+ import '../storage/error-codes.cjs';
10
+ import '../systemPrompt/error-codes.cjs';
11
+ import '../tools/error-codes.cjs';
12
+ import '../preferences/error-codes.cjs';
13
+ import '../agent/registry/error-codes.cjs';
14
+
15
+ /**
16
+ * Runtime error class for single-issue errors
17
+ * Provides structured error information with scope, type, and recovery guidance
18
+ */
19
+ declare class DextoRuntimeError<C = unknown> extends DextoBaseError {
20
+ readonly code: DextoErrorCode;
21
+ readonly scope: ErrorScope;
22
+ readonly type: ErrorType;
23
+ readonly context?: C | undefined;
24
+ readonly recovery?: string | string[] | undefined;
25
+ constructor(code: DextoErrorCode, scope: ErrorScope, type: ErrorType, message: string, context?: C | undefined, recovery?: string | string[] | undefined, traceId?: string);
26
+ toJSON(): {
27
+ code: DextoErrorCode;
28
+ message: string;
29
+ scope: ErrorScope;
30
+ type: ErrorType;
31
+ context: C | undefined;
32
+ recovery: string | string[] | undefined;
33
+ traceId: string;
34
+ };
35
+ }
36
+
37
+ export { DextoRuntimeError };
@@ -0,0 +1,37 @@
1
+ import { DextoBaseError } from './DextoBaseError.js';
2
+ import { DextoErrorCode, ErrorScope, ErrorType } from './types.js';
3
+ import '../agent/error-codes.js';
4
+ import '../config/error-codes.js';
5
+ import '../context/error-codes.js';
6
+ import '../llm/error-codes.js';
7
+ import '../mcp/error-codes.js';
8
+ import '../session/error-codes.js';
9
+ import '../storage/error-codes.js';
10
+ import '../systemPrompt/error-codes.js';
11
+ import '../tools/error-codes.js';
12
+ import '../preferences/error-codes.js';
13
+ import '../agent/registry/error-codes.js';
14
+
15
+ /**
16
+ * Runtime error class for single-issue errors
17
+ * Provides structured error information with scope, type, and recovery guidance
18
+ */
19
+ declare class DextoRuntimeError<C = unknown> extends DextoBaseError {
20
+ readonly code: DextoErrorCode;
21
+ readonly scope: ErrorScope;
22
+ readonly type: ErrorType;
23
+ readonly context?: C | undefined;
24
+ readonly recovery?: string | string[] | undefined;
25
+ constructor(code: DextoErrorCode, scope: ErrorScope, type: ErrorType, message: string, context?: C | undefined, recovery?: string | string[] | undefined, traceId?: string);
26
+ toJSON(): {
27
+ code: DextoErrorCode;
28
+ message: string;
29
+ scope: ErrorScope;
30
+ type: ErrorType;
31
+ context: C | undefined;
32
+ recovery: string | string[] | undefined;
33
+ traceId: string;
34
+ };
35
+ }
36
+
37
+ export { DextoRuntimeError };
@@ -0,0 +1,26 @@
1
+ import { DextoBaseError } from "./DextoBaseError.js";
2
+ class DextoRuntimeError extends DextoBaseError {
3
+ constructor(code, scope, type, message, context, recovery, traceId) {
4
+ super(message, traceId);
5
+ this.code = code;
6
+ this.scope = scope;
7
+ this.type = type;
8
+ this.context = context;
9
+ this.recovery = recovery;
10
+ this.name = "DextoRuntimeError";
11
+ }
12
+ toJSON() {
13
+ return {
14
+ code: this.code,
15
+ message: this.message,
16
+ scope: this.scope,
17
+ type: this.type,
18
+ context: this.context,
19
+ recovery: this.recovery,
20
+ traceId: this.traceId
21
+ };
22
+ }
23
+ }
24
+ export {
25
+ DextoRuntimeError
26
+ };