@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,17 @@
1
+ class DefaultTokenizer {
2
+ /**
3
+ * Assumes roughly 4 characters per token.
4
+ * @param text Text content to count tokens for
5
+ * @returns Approximate number of tokens
6
+ */
7
+ countTokens(text) {
8
+ if (!text) return 0;
9
+ return Math.ceil(text.length / 4);
10
+ }
11
+ getProviderName() {
12
+ return "default";
13
+ }
14
+ }
15
+ export {
16
+ DefaultTokenizer
17
+ };
@@ -0,0 +1,44 @@
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 factory_exports = {};
20
+ __export(factory_exports, {
21
+ createTokenizer: () => createTokenizer
22
+ });
23
+ module.exports = __toCommonJS(factory_exports);
24
+ var import_openai = require("./openai.js");
25
+ var import_anthropic = require("./anthropic.js");
26
+ var import_google = require("./google.js");
27
+ var import_default = require("./default.js");
28
+ function createTokenizer(provider, model) {
29
+ switch (provider) {
30
+ case "openai":
31
+ return new import_openai.OpenAITokenizer(model);
32
+ case "anthropic":
33
+ return new import_anthropic.AnthropicTokenizer();
34
+ case "google":
35
+ return new import_google.GoogleTokenizer(model);
36
+ // Add cases for other providers here
37
+ default:
38
+ return new import_default.DefaultTokenizer();
39
+ }
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ createTokenizer
44
+ });
@@ -0,0 +1,12 @@
1
+ import { ITokenizer } from './types.cjs';
2
+ import { LLMProvider } from '../types.cjs';
3
+
4
+ /**
5
+ * Creates the appropriate tokenizer for the specified provider and model
6
+ * @param provider The LLM provider name (case-insensitive)
7
+ * @param model The specific model name (used by some tokenizers)
8
+ * @returns An appropriate tokenizer implementation, or DefaultTokenizer if no specific implementation exists
9
+ */
10
+ declare function createTokenizer(provider: LLMProvider, model: string): ITokenizer;
11
+
12
+ export { createTokenizer };
@@ -0,0 +1,12 @@
1
+ import { ITokenizer } from './types.js';
2
+ import { LLMProvider } from '../types.js';
3
+
4
+ /**
5
+ * Creates the appropriate tokenizer for the specified provider and model
6
+ * @param provider The LLM provider name (case-insensitive)
7
+ * @param model The specific model name (used by some tokenizers)
8
+ * @returns An appropriate tokenizer implementation, or DefaultTokenizer if no specific implementation exists
9
+ */
10
+ declare function createTokenizer(provider: LLMProvider, model: string): ITokenizer;
11
+
12
+ export { createTokenizer };
@@ -0,0 +1,20 @@
1
+ import { OpenAITokenizer } from "./openai.js";
2
+ import { AnthropicTokenizer } from "./anthropic.js";
3
+ import { GoogleTokenizer } from "./google.js";
4
+ import { DefaultTokenizer } from "./default.js";
5
+ function createTokenizer(provider, model) {
6
+ switch (provider) {
7
+ case "openai":
8
+ return new OpenAITokenizer(model);
9
+ case "anthropic":
10
+ return new AnthropicTokenizer();
11
+ case "google":
12
+ return new GoogleTokenizer(model);
13
+ // Add cases for other providers here
14
+ default:
15
+ return new DefaultTokenizer();
16
+ }
17
+ }
18
+ export {
19
+ createTokenizer
20
+ };
@@ -0,0 +1,52 @@
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 google_exports = {};
20
+ __export(google_exports, {
21
+ GoogleTokenizer: () => GoogleTokenizer
22
+ });
23
+ module.exports = __toCommonJS(google_exports);
24
+ class GoogleTokenizer {
25
+ modelName;
26
+ /**
27
+ * Initializes the tokenizer for a specific Google Gemini model.
28
+ * Currently, the model name is not used due to the approximation.
29
+ * @param model The Google model name (e.g., 'gemini-pro')
30
+ */
31
+ constructor(model) {
32
+ this.modelName = model;
33
+ }
34
+ /**
35
+ * Approximates the token count for Google Gemini models.
36
+ * Uses a rough guess based on character count (similar to Anthropic's approximation).
37
+ * IMPORTANT: This is NOT accurate for Gemini models.
38
+ * @param text Text content to count tokens for
39
+ * @returns Approximate number of tokens
40
+ */
41
+ countTokens(text) {
42
+ if (!text) return 0;
43
+ return Math.ceil(text.length / 4);
44
+ }
45
+ getProviderName() {
46
+ return "google";
47
+ }
48
+ }
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ GoogleTokenizer
52
+ });
@@ -0,0 +1,31 @@
1
+ import { ITokenizer } from './types.cjs';
2
+
3
+ /**
4
+ * Tokenizer for Google Gemini models - CURRENTLY USING APPROXIMATION.
5
+ *
6
+ * TODO: Replace this with a proper token counting implementation.
7
+ * The official `@google/generative-ai` library's `countTokens` function
8
+ * is asynchronous, which complicates synchronous use cases.
9
+ * Consider using a WASM-based tokenizer or re-evaluating the need
10
+ * for synchronous counting if a more accurate method is required.
11
+ */
12
+ declare class GoogleTokenizer implements ITokenizer {
13
+ private modelName;
14
+ /**
15
+ * Initializes the tokenizer for a specific Google Gemini model.
16
+ * Currently, the model name is not used due to the approximation.
17
+ * @param model The Google model name (e.g., 'gemini-pro')
18
+ */
19
+ constructor(model: string);
20
+ /**
21
+ * Approximates the token count for Google Gemini models.
22
+ * Uses a rough guess based on character count (similar to Anthropic's approximation).
23
+ * IMPORTANT: This is NOT accurate for Gemini models.
24
+ * @param text Text content to count tokens for
25
+ * @returns Approximate number of tokens
26
+ */
27
+ countTokens(text: string): number;
28
+ getProviderName(): string;
29
+ }
30
+
31
+ export { GoogleTokenizer };
@@ -0,0 +1,31 @@
1
+ import { ITokenizer } from './types.js';
2
+
3
+ /**
4
+ * Tokenizer for Google Gemini models - CURRENTLY USING APPROXIMATION.
5
+ *
6
+ * TODO: Replace this with a proper token counting implementation.
7
+ * The official `@google/generative-ai` library's `countTokens` function
8
+ * is asynchronous, which complicates synchronous use cases.
9
+ * Consider using a WASM-based tokenizer or re-evaluating the need
10
+ * for synchronous counting if a more accurate method is required.
11
+ */
12
+ declare class GoogleTokenizer implements ITokenizer {
13
+ private modelName;
14
+ /**
15
+ * Initializes the tokenizer for a specific Google Gemini model.
16
+ * Currently, the model name is not used due to the approximation.
17
+ * @param model The Google model name (e.g., 'gemini-pro')
18
+ */
19
+ constructor(model: string);
20
+ /**
21
+ * Approximates the token count for Google Gemini models.
22
+ * Uses a rough guess based on character count (similar to Anthropic's approximation).
23
+ * IMPORTANT: This is NOT accurate for Gemini models.
24
+ * @param text Text content to count tokens for
25
+ * @returns Approximate number of tokens
26
+ */
27
+ countTokens(text: string): number;
28
+ getProviderName(): string;
29
+ }
30
+
31
+ export { GoogleTokenizer };
@@ -0,0 +1,28 @@
1
+ class GoogleTokenizer {
2
+ modelName;
3
+ /**
4
+ * Initializes the tokenizer for a specific Google Gemini model.
5
+ * Currently, the model name is not used due to the approximation.
6
+ * @param model The Google model name (e.g., 'gemini-pro')
7
+ */
8
+ constructor(model) {
9
+ this.modelName = model;
10
+ }
11
+ /**
12
+ * Approximates the token count for Google Gemini models.
13
+ * Uses a rough guess based on character count (similar to Anthropic's approximation).
14
+ * IMPORTANT: This is NOT accurate for Gemini models.
15
+ * @param text Text content to count tokens for
16
+ * @returns Approximate number of tokens
17
+ */
18
+ countTokens(text) {
19
+ if (!text) return 0;
20
+ return Math.ceil(text.length / 4);
21
+ }
22
+ getProviderName() {
23
+ return "google";
24
+ }
25
+ }
26
+ export {
27
+ GoogleTokenizer
28
+ };
@@ -0,0 +1,108 @@
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 openai_exports = {};
20
+ __export(openai_exports, {
21
+ OpenAITokenizer: () => OpenAITokenizer
22
+ });
23
+ module.exports = __toCommonJS(openai_exports);
24
+ var import_types = require("./types.js");
25
+ var import_module = require("module");
26
+ var import_logger = require("../../logger/index.js");
27
+ const import_meta = {};
28
+ const FALLBACK_ENCODING = "cl100k_base";
29
+ class OpenAITokenizer {
30
+ modelName;
31
+ // Store original model name for context/logging
32
+ encoding;
33
+ // Tiktoken encoding instance
34
+ /**
35
+ * Initializes the tokenizer for a specific OpenAI model or compatible model.
36
+ * @param model The OpenAI model name (e.g., 'gpt-4o') or a custom model name.
37
+ * @throws TokenizationError if tiktoken initialization fails for both specific model and fallback.
38
+ */
39
+ constructor(model) {
40
+ this.modelName = model;
41
+ try {
42
+ const { encoding_for_model } = loadTiktoken();
43
+ this.encoding = encoding_for_model(model);
44
+ import_logger.logger.debug(`Initialized tiktoken with specific encoding for model: ${model}`);
45
+ } catch (error) {
46
+ import_logger.logger.warn(
47
+ `Could not get specific encoding for model '${this.modelName}'. Falling back to '${FALLBACK_ENCODING}'. Error: ${error instanceof Error ? error.message : String(error)}`
48
+ );
49
+ try {
50
+ const { get_encoding } = loadTiktoken();
51
+ this.encoding = get_encoding(FALLBACK_ENCODING);
52
+ import_logger.logger.debug(`Initialized tiktoken with fallback encoding: ${FALLBACK_ENCODING}`);
53
+ } catch (fallbackError) {
54
+ import_logger.logger.error(
55
+ `Failed to initialize tiktoken with specific model '${this.modelName}' or fallback '${FALLBACK_ENCODING}'.`,
56
+ fallbackError
57
+ );
58
+ throw new import_types.TokenizationError(
59
+ `Failed to initialize tiktoken for model '${this.modelName}' using specific or fallback encoding ('${FALLBACK_ENCODING}'): ${fallbackError instanceof Error ? fallbackError.message : String(fallbackError)}`
60
+ );
61
+ }
62
+ }
63
+ }
64
+ /**
65
+ * Counts the tokens in the text using the determined encoding.
66
+ * @param text Text content to count tokens for
67
+ * @returns Number of tokens
68
+ * @throws TokenizationError if encoding fails during counting.
69
+ */
70
+ countTokens(text) {
71
+ if (!text) return 0;
72
+ try {
73
+ const tokens = this.encoding.encode(text);
74
+ return tokens.length;
75
+ } catch (error) {
76
+ import_logger.logger.error(
77
+ `Tiktoken encoding failed for model ${this.modelName} (using encoding: ${this.encoding.name}):`,
78
+ error
79
+ );
80
+ throw new import_types.TokenizationError(
81
+ `Encoding failed for text snippet using model ${this.modelName}.`
82
+ );
83
+ }
84
+ }
85
+ /**
86
+ * Cleans up the tiktoken encoding instance when done.
87
+ * Recommended by tiktoken library.
88
+ */
89
+ free() {
90
+ if (this.encoding) {
91
+ this.encoding.free();
92
+ }
93
+ }
94
+ getProviderName() {
95
+ return "openai";
96
+ }
97
+ }
98
+ let _tiktoken = null;
99
+ function loadTiktoken() {
100
+ if (_tiktoken) return _tiktoken;
101
+ const req = (0, import_module.createRequire)(import_meta.url);
102
+ _tiktoken = req("tiktoken");
103
+ return _tiktoken;
104
+ }
105
+ // Annotate the CommonJS export names for ESM import in node:
106
+ 0 && (module.exports = {
107
+ OpenAITokenizer
108
+ });
@@ -0,0 +1,32 @@
1
+ import { ITokenizer } from './types.cjs';
2
+
3
+ /**
4
+ * Tokenizer for OpenAI models using the tiktoken library.
5
+ * Attempts to use the specific model's encoding, falls back to a common base encoding ('cl100k_base')
6
+ * for unknown or custom model names (often used with custom baseURLs).
7
+ */
8
+ declare class OpenAITokenizer implements ITokenizer {
9
+ private modelName;
10
+ private encoding;
11
+ /**
12
+ * Initializes the tokenizer for a specific OpenAI model or compatible model.
13
+ * @param model The OpenAI model name (e.g., 'gpt-4o') or a custom model name.
14
+ * @throws TokenizationError if tiktoken initialization fails for both specific model and fallback.
15
+ */
16
+ constructor(model: string);
17
+ /**
18
+ * Counts the tokens in the text using the determined encoding.
19
+ * @param text Text content to count tokens for
20
+ * @returns Number of tokens
21
+ * @throws TokenizationError if encoding fails during counting.
22
+ */
23
+ countTokens(text: string): number;
24
+ /**
25
+ * Cleans up the tiktoken encoding instance when done.
26
+ * Recommended by tiktoken library.
27
+ */
28
+ free(): void;
29
+ getProviderName(): string;
30
+ }
31
+
32
+ export { OpenAITokenizer };
@@ -0,0 +1,32 @@
1
+ import { ITokenizer } from './types.js';
2
+
3
+ /**
4
+ * Tokenizer for OpenAI models using the tiktoken library.
5
+ * Attempts to use the specific model's encoding, falls back to a common base encoding ('cl100k_base')
6
+ * for unknown or custom model names (often used with custom baseURLs).
7
+ */
8
+ declare class OpenAITokenizer implements ITokenizer {
9
+ private modelName;
10
+ private encoding;
11
+ /**
12
+ * Initializes the tokenizer for a specific OpenAI model or compatible model.
13
+ * @param model The OpenAI model name (e.g., 'gpt-4o') or a custom model name.
14
+ * @throws TokenizationError if tiktoken initialization fails for both specific model and fallback.
15
+ */
16
+ constructor(model: string);
17
+ /**
18
+ * Counts the tokens in the text using the determined encoding.
19
+ * @param text Text content to count tokens for
20
+ * @returns Number of tokens
21
+ * @throws TokenizationError if encoding fails during counting.
22
+ */
23
+ countTokens(text: string): number;
24
+ /**
25
+ * Cleans up the tiktoken encoding instance when done.
26
+ * Recommended by tiktoken library.
27
+ */
28
+ free(): void;
29
+ getProviderName(): string;
30
+ }
31
+
32
+ export { OpenAITokenizer };
@@ -0,0 +1,83 @@
1
+ import { TokenizationError } from "./types.js";
2
+ import { createRequire } from "module";
3
+ import { logger } from "../../logger/index.js";
4
+ const FALLBACK_ENCODING = "cl100k_base";
5
+ class OpenAITokenizer {
6
+ modelName;
7
+ // Store original model name for context/logging
8
+ encoding;
9
+ // Tiktoken encoding instance
10
+ /**
11
+ * Initializes the tokenizer for a specific OpenAI model or compatible model.
12
+ * @param model The OpenAI model name (e.g., 'gpt-4o') or a custom model name.
13
+ * @throws TokenizationError if tiktoken initialization fails for both specific model and fallback.
14
+ */
15
+ constructor(model) {
16
+ this.modelName = model;
17
+ try {
18
+ const { encoding_for_model } = loadTiktoken();
19
+ this.encoding = encoding_for_model(model);
20
+ logger.debug(`Initialized tiktoken with specific encoding for model: ${model}`);
21
+ } catch (error) {
22
+ logger.warn(
23
+ `Could not get specific encoding for model '${this.modelName}'. Falling back to '${FALLBACK_ENCODING}'. Error: ${error instanceof Error ? error.message : String(error)}`
24
+ );
25
+ try {
26
+ const { get_encoding } = loadTiktoken();
27
+ this.encoding = get_encoding(FALLBACK_ENCODING);
28
+ logger.debug(`Initialized tiktoken with fallback encoding: ${FALLBACK_ENCODING}`);
29
+ } catch (fallbackError) {
30
+ logger.error(
31
+ `Failed to initialize tiktoken with specific model '${this.modelName}' or fallback '${FALLBACK_ENCODING}'.`,
32
+ fallbackError
33
+ );
34
+ throw new TokenizationError(
35
+ `Failed to initialize tiktoken for model '${this.modelName}' using specific or fallback encoding ('${FALLBACK_ENCODING}'): ${fallbackError instanceof Error ? fallbackError.message : String(fallbackError)}`
36
+ );
37
+ }
38
+ }
39
+ }
40
+ /**
41
+ * Counts the tokens in the text using the determined encoding.
42
+ * @param text Text content to count tokens for
43
+ * @returns Number of tokens
44
+ * @throws TokenizationError if encoding fails during counting.
45
+ */
46
+ countTokens(text) {
47
+ if (!text) return 0;
48
+ try {
49
+ const tokens = this.encoding.encode(text);
50
+ return tokens.length;
51
+ } catch (error) {
52
+ logger.error(
53
+ `Tiktoken encoding failed for model ${this.modelName} (using encoding: ${this.encoding.name}):`,
54
+ error
55
+ );
56
+ throw new TokenizationError(
57
+ `Encoding failed for text snippet using model ${this.modelName}.`
58
+ );
59
+ }
60
+ }
61
+ /**
62
+ * Cleans up the tiktoken encoding instance when done.
63
+ * Recommended by tiktoken library.
64
+ */
65
+ free() {
66
+ if (this.encoding) {
67
+ this.encoding.free();
68
+ }
69
+ }
70
+ getProviderName() {
71
+ return "openai";
72
+ }
73
+ }
74
+ let _tiktoken = null;
75
+ function loadTiktoken() {
76
+ if (_tiktoken) return _tiktoken;
77
+ const req = createRequire(import.meta.url);
78
+ _tiktoken = req("tiktoken");
79
+ return _tiktoken;
80
+ }
81
+ export {
82
+ OpenAITokenizer
83
+ };
@@ -0,0 +1,33 @@
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 types_exports = {};
20
+ __export(types_exports, {
21
+ TokenizationError: () => TokenizationError
22
+ });
23
+ module.exports = __toCommonJS(types_exports);
24
+ class TokenizationError extends Error {
25
+ constructor(message) {
26
+ super(message);
27
+ this.name = "TokenizationError";
28
+ }
29
+ }
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ TokenizationError
33
+ });
@@ -0,0 +1,19 @@
1
+ interface ITokenizer {
2
+ /**
3
+ * Counts the number of tokens in the provided text according
4
+ * to the specific LLM provider's tokenization rules
5
+ * @param text Text content to count tokens for
6
+ * @returns Number of tokens in the text
7
+ */
8
+ countTokens(text: string): number;
9
+ /**
10
+ * Gets the name of the LLM provider this tokenizer is for
11
+ * @returns Provider name (e.g., "openai", "anthropic")
12
+ */
13
+ getProviderName(): string;
14
+ }
15
+ declare class TokenizationError extends Error {
16
+ constructor(message: string);
17
+ }
18
+
19
+ export { type ITokenizer, TokenizationError };
@@ -0,0 +1,19 @@
1
+ interface ITokenizer {
2
+ /**
3
+ * Counts the number of tokens in the provided text according
4
+ * to the specific LLM provider's tokenization rules
5
+ * @param text Text content to count tokens for
6
+ * @returns Number of tokens in the text
7
+ */
8
+ countTokens(text: string): number;
9
+ /**
10
+ * Gets the name of the LLM provider this tokenizer is for
11
+ * @returns Provider name (e.g., "openai", "anthropic")
12
+ */
13
+ getProviderName(): string;
14
+ }
15
+ declare class TokenizationError extends Error {
16
+ constructor(message: string);
17
+ }
18
+
19
+ export { type ITokenizer, TokenizationError };
@@ -0,0 +1,9 @@
1
+ class TokenizationError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "TokenizationError";
5
+ }
6
+ }
7
+ export {
8
+ TokenizationError
9
+ };
@@ -0,0 +1,42 @@
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 types_exports = {};
20
+ __export(types_exports, {
21
+ LLM_PROVIDERS: () => LLM_PROVIDERS,
22
+ LLM_ROUTERS: () => LLM_ROUTERS,
23
+ SUPPORTED_FILE_TYPES: () => SUPPORTED_FILE_TYPES
24
+ });
25
+ module.exports = __toCommonJS(types_exports);
26
+ const LLM_PROVIDERS = [
27
+ "openai",
28
+ "openai-compatible",
29
+ "anthropic",
30
+ "google",
31
+ "groq",
32
+ "xai",
33
+ "cohere"
34
+ ];
35
+ const LLM_ROUTERS = ["vercel", "in-built"];
36
+ const SUPPORTED_FILE_TYPES = ["pdf", "image", "audio"];
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ LLM_PROVIDERS,
40
+ LLM_ROUTERS,
41
+ SUPPORTED_FILE_TYPES
42
+ });
@@ -0,0 +1,29 @@
1
+ declare const LLM_PROVIDERS: readonly ["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere"];
2
+ type LLMProvider = (typeof LLM_PROVIDERS)[number];
3
+ declare const LLM_ROUTERS: readonly ["vercel", "in-built"];
4
+ type LLMRouter = (typeof LLM_ROUTERS)[number];
5
+ declare const SUPPORTED_FILE_TYPES: readonly ["pdf", "image", "audio"];
6
+ type SupportedFileType = (typeof SUPPORTED_FILE_TYPES)[number];
7
+ /**
8
+ * LLMRouter defines the routing backend for LLM service instantiation.
9
+ * 'vercel' = use Vercel LLM service, 'in-built' = use in-built LLM service
10
+ * This type is now defined in the registry as the source of truth.
11
+ */
12
+ /**
13
+ * Context interface for message formatters.
14
+ * Provides runtime information for model-aware processing.
15
+ */
16
+ interface LLMContext {
17
+ /** LLM provider name (e.g., 'google.generative-ai', 'openai') */
18
+ provider: LLMProvider;
19
+ /** Specific LLM model name (e.g., 'gemini-2.5-flash', 'gpt-4') */
20
+ model: string;
21
+ }
22
+ interface LLMUpdateContext {
23
+ provider?: LLMProvider;
24
+ model?: string;
25
+ router?: LLMRouter;
26
+ suggestedAction?: string;
27
+ }
28
+
29
+ export { type LLMContext, type LLMProvider, type LLMRouter, type LLMUpdateContext, LLM_PROVIDERS, LLM_ROUTERS, SUPPORTED_FILE_TYPES, type SupportedFileType };