@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,37 @@
1
+ import { PoolClient } from 'pg';
2
+ import { DatabaseBackend } from './database-backend.js';
3
+ import { PostgresBackendConfig } from '../schemas.js';
4
+ import 'zod';
5
+
6
+ /**
7
+ * PostgreSQL storage backend for production database operations.
8
+ * Implements the DatabaseBackend interface with connection pooling and JSONB support.
9
+ * EXPERIMENTAL - NOT FULLY TESTED YET
10
+ */
11
+ declare class PostgresBackend implements DatabaseBackend {
12
+ private config;
13
+ private pool;
14
+ private connected;
15
+ constructor(config: PostgresBackendConfig);
16
+ connect(): Promise<void>;
17
+ disconnect(): Promise<void>;
18
+ isConnected(): boolean;
19
+ getBackendType(): string;
20
+ get<T>(key: string): Promise<T | undefined>;
21
+ set<T>(key: string, value: T): Promise<void>;
22
+ delete(key: string): Promise<void>;
23
+ list(prefix: string): Promise<string[]>;
24
+ append<T>(key: string, item: T): Promise<void>;
25
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
26
+ private createTables;
27
+ private checkConnection;
28
+ transaction<T>(callback: (client: PoolClient) => Promise<T>): Promise<T>;
29
+ getStats(): Promise<{
30
+ kvCount: number;
31
+ listCount: number;
32
+ totalSize: string;
33
+ }>;
34
+ vacuum(): Promise<void>;
35
+ }
36
+
37
+ export { PostgresBackend };
@@ -1,15 +1,6 @@
1
- import {
2
- StorageError
3
- } from "./chunk-F2QFAECT.js";
4
- import "./chunk-TPERKLLN.js";
5
- import {
6
- init_esm_shims
7
- } from "./chunk-MVKLS3LM.js";
8
-
9
- // src/storage/backend/postgres-backend.ts
10
- init_esm_shims();
11
1
  import { Pool } from "pg";
12
- var PostgresBackend = class {
2
+ import { StorageError } from "../errors.js";
3
+ class PostgresBackend {
13
4
  constructor(config) {
14
5
  this.config = config;
15
6
  }
@@ -210,7 +201,7 @@ var PostgresBackend = class {
210
201
  client.release();
211
202
  }
212
203
  }
213
- };
204
+ }
214
205
  export {
215
206
  PostgresBackend
216
207
  };
@@ -0,0 +1,184 @@
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 redis_backend_exports = {};
20
+ __export(redis_backend_exports, {
21
+ RedisBackend: () => RedisBackend
22
+ });
23
+ module.exports = __toCommonJS(redis_backend_exports);
24
+ var import_ioredis = require("ioredis");
25
+ var import_errors = require("../errors.js");
26
+ class RedisBackend {
27
+ constructor(config) {
28
+ this.config = config;
29
+ }
30
+ redis = null;
31
+ connected = false;
32
+ async connect() {
33
+ if (this.connected) return;
34
+ this.redis = new import_ioredis.Redis({
35
+ ...this.config.host && { host: this.config.host },
36
+ ...this.config.port && { port: this.config.port },
37
+ ...this.config.password && { password: this.config.password },
38
+ db: this.config.database || 0,
39
+ family: 4,
40
+ // IPv4 by default
41
+ ...this.config.connectionTimeoutMillis && {
42
+ connectTimeout: this.config.connectionTimeoutMillis
43
+ },
44
+ ...this.config.connectionTimeoutMillis && {
45
+ commandTimeout: this.config.connectionTimeoutMillis
46
+ },
47
+ maxRetriesPerRequest: 3,
48
+ lazyConnect: true,
49
+ ...this.config.options
50
+ });
51
+ this.redis.on("error", (error) => {
52
+ console.error("Redis connection error:", error);
53
+ });
54
+ this.redis.on("connect", () => {
55
+ this.connected = true;
56
+ });
57
+ this.redis.on("close", () => {
58
+ this.connected = false;
59
+ });
60
+ await this.redis.connect();
61
+ }
62
+ async disconnect() {
63
+ if (this.redis) {
64
+ await this.redis.quit();
65
+ this.redis = null;
66
+ }
67
+ this.connected = false;
68
+ }
69
+ isConnected() {
70
+ return this.connected && this.redis?.status === "ready";
71
+ }
72
+ getBackendType() {
73
+ return "redis";
74
+ }
75
+ // Core operations
76
+ async get(key) {
77
+ this.checkConnection();
78
+ try {
79
+ const value = await this.redis.get(key);
80
+ return value ? JSON.parse(value) : void 0;
81
+ } catch (error) {
82
+ throw import_errors.StorageError.readFailed(
83
+ "get",
84
+ error instanceof Error ? error.message : String(error),
85
+ { key }
86
+ );
87
+ }
88
+ }
89
+ async set(key, value, ttlSeconds) {
90
+ this.checkConnection();
91
+ try {
92
+ const serialized = JSON.stringify(value);
93
+ if (ttlSeconds) {
94
+ await this.redis.setex(key, ttlSeconds, serialized);
95
+ } else {
96
+ await this.redis.set(key, serialized);
97
+ }
98
+ } catch (error) {
99
+ throw import_errors.StorageError.writeFailed(
100
+ "set",
101
+ error instanceof Error ? error.message : String(error),
102
+ { key }
103
+ );
104
+ }
105
+ }
106
+ async delete(key) {
107
+ this.checkConnection();
108
+ try {
109
+ await this.redis.del(key);
110
+ } catch (error) {
111
+ throw import_errors.StorageError.deleteFailed(
112
+ "delete",
113
+ error instanceof Error ? error.message : String(error),
114
+ { key }
115
+ );
116
+ }
117
+ }
118
+ // Redis-specific optimizations
119
+ async mget(keys) {
120
+ this.checkConnection();
121
+ if (keys.length === 0) return [];
122
+ const values = await this.redis.mget(...keys);
123
+ return values.map((value) => value ? JSON.parse(value) : void 0);
124
+ }
125
+ async mset(entries) {
126
+ this.checkConnection();
127
+ if (entries.length === 0) return;
128
+ const pipeline = this.redis.pipeline();
129
+ for (const [key, value] of entries) {
130
+ pipeline.set(key, JSON.stringify(value));
131
+ }
132
+ await pipeline.exec();
133
+ }
134
+ async exists(key) {
135
+ this.checkConnection();
136
+ const result = await this.redis.exists(key);
137
+ return result === 1;
138
+ }
139
+ async expire(key, ttlSeconds) {
140
+ this.checkConnection();
141
+ await this.redis.expire(key, ttlSeconds);
142
+ }
143
+ // Cache-specific operations
144
+ async increment(key, by = 1) {
145
+ this.checkConnection();
146
+ return await this.redis.incrby(key, by);
147
+ }
148
+ async decrement(key, by = 1) {
149
+ this.checkConnection();
150
+ return await this.redis.decrby(key, by);
151
+ }
152
+ // List operations (for compatibility with DatabaseBackend patterns)
153
+ async append(key, item) {
154
+ this.checkConnection();
155
+ await this.redis.rpush(key, JSON.stringify(item));
156
+ }
157
+ async getRange(key, start, count) {
158
+ this.checkConnection();
159
+ const items = await this.redis.lrange(key, start, start + count - 1);
160
+ return items.map((item) => JSON.parse(item));
161
+ }
162
+ async list(prefix) {
163
+ this.checkConnection();
164
+ return await this.redis.keys(`${prefix}*`);
165
+ }
166
+ checkConnection() {
167
+ if (!this.connected || !this.redis || this.redis.status !== "ready") {
168
+ throw import_errors.StorageError.notConnected("RedisBackend");
169
+ }
170
+ }
171
+ // Maintenance operations
172
+ async flushdb() {
173
+ this.checkConnection();
174
+ await this.redis.flushdb();
175
+ }
176
+ async info() {
177
+ this.checkConnection();
178
+ return await this.redis.info();
179
+ }
180
+ }
181
+ // Annotate the CommonJS export names for ESM import in node:
182
+ 0 && (module.exports = {
183
+ RedisBackend
184
+ });
@@ -0,0 +1,36 @@
1
+ import { CacheBackend } from './cache-backend.cjs';
2
+ import { RedisBackendConfig } from '../schemas.cjs';
3
+ import 'zod';
4
+
5
+ /**
6
+ * Redis storage backend for production cache operations.
7
+ * Implements the CacheBackend interface with connection pooling and optimizations.
8
+ * EXPERIMENTAL - NOT FULLY TESTED YET
9
+ */
10
+ declare class RedisBackend implements CacheBackend {
11
+ private config;
12
+ private redis;
13
+ private connected;
14
+ constructor(config: RedisBackendConfig);
15
+ connect(): Promise<void>;
16
+ disconnect(): Promise<void>;
17
+ isConnected(): boolean;
18
+ getBackendType(): string;
19
+ get<T>(key: string): Promise<T | undefined>;
20
+ set<T>(key: string, value: T, ttlSeconds?: number): Promise<void>;
21
+ delete(key: string): Promise<void>;
22
+ mget<T>(keys: string[]): Promise<(T | undefined)[]>;
23
+ mset<T>(entries: [string, T][]): Promise<void>;
24
+ exists(key: string): Promise<boolean>;
25
+ expire(key: string, ttlSeconds: number): Promise<void>;
26
+ increment(key: string, by?: number): Promise<number>;
27
+ decrement(key: string, by?: number): Promise<number>;
28
+ append<T>(key: string, item: T): Promise<void>;
29
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
30
+ list(prefix: string): Promise<string[]>;
31
+ private checkConnection;
32
+ flushdb(): Promise<void>;
33
+ info(): Promise<string>;
34
+ }
35
+
36
+ export { RedisBackend };
@@ -0,0 +1,36 @@
1
+ import { CacheBackend } from './cache-backend.js';
2
+ import { RedisBackendConfig } from '../schemas.js';
3
+ import 'zod';
4
+
5
+ /**
6
+ * Redis storage backend for production cache operations.
7
+ * Implements the CacheBackend interface with connection pooling and optimizations.
8
+ * EXPERIMENTAL - NOT FULLY TESTED YET
9
+ */
10
+ declare class RedisBackend implements CacheBackend {
11
+ private config;
12
+ private redis;
13
+ private connected;
14
+ constructor(config: RedisBackendConfig);
15
+ connect(): Promise<void>;
16
+ disconnect(): Promise<void>;
17
+ isConnected(): boolean;
18
+ getBackendType(): string;
19
+ get<T>(key: string): Promise<T | undefined>;
20
+ set<T>(key: string, value: T, ttlSeconds?: number): Promise<void>;
21
+ delete(key: string): Promise<void>;
22
+ mget<T>(keys: string[]): Promise<(T | undefined)[]>;
23
+ mset<T>(entries: [string, T][]): Promise<void>;
24
+ exists(key: string): Promise<boolean>;
25
+ expire(key: string, ttlSeconds: number): Promise<void>;
26
+ increment(key: string, by?: number): Promise<number>;
27
+ decrement(key: string, by?: number): Promise<number>;
28
+ append<T>(key: string, item: T): Promise<void>;
29
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
30
+ list(prefix: string): Promise<string[]>;
31
+ private checkConnection;
32
+ flushdb(): Promise<void>;
33
+ info(): Promise<string>;
34
+ }
35
+
36
+ export { RedisBackend };
@@ -1,15 +1,6 @@
1
- import {
2
- StorageError
3
- } from "./chunk-F2QFAECT.js";
4
- import "./chunk-TPERKLLN.js";
5
- import {
6
- init_esm_shims
7
- } from "./chunk-MVKLS3LM.js";
8
-
9
- // src/storage/backend/redis-backend.ts
10
- init_esm_shims();
11
1
  import { Redis } from "ioredis";
12
- var RedisBackend = class {
2
+ import { StorageError } from "../errors.js";
3
+ class RedisBackend {
13
4
  constructor(config) {
14
5
  this.config = config;
15
6
  }
@@ -163,7 +154,7 @@ var RedisBackend = class {
163
154
  this.checkConnection();
164
155
  return await this.redis.info();
165
156
  }
166
- };
157
+ }
167
158
  export {
168
159
  RedisBackend
169
160
  };
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var sqlite_backend_exports = {};
30
+ __export(sqlite_backend_exports, {
31
+ SQLiteBackend: () => SQLiteBackend
32
+ });
33
+ module.exports = __toCommonJS(sqlite_backend_exports);
34
+ var import_path = require("path");
35
+ var import_fs = require("fs");
36
+ var import_logger = require("../../logger/index.js");
37
+ var import_path2 = require("../../utils/path.js");
38
+ var path = __toESM(require("path"), 1);
39
+ var import_errors = require("../errors.js");
40
+ let Database;
41
+ class SQLiteBackend {
42
+ db;
43
+ // Database.Database
44
+ dbPath;
45
+ config;
46
+ constructor(config) {
47
+ this.config = config;
48
+ this.dbPath = "";
49
+ }
50
+ resolveDefaultPath(dbName) {
51
+ const storageDir = (0, import_path2.getDextoPath)("database");
52
+ const finalPath = path.join(storageDir, dbName);
53
+ import_logger.logger.info(`SQLite storage directory: ${storageDir}`);
54
+ import_logger.logger.debug(`SQLite database file: ${finalPath}`);
55
+ return finalPath;
56
+ }
57
+ initializeTables() {
58
+ import_logger.logger.debug("SQLite initializing database schema...");
59
+ try {
60
+ this.db.exec(`
61
+ CREATE TABLE IF NOT EXISTS kv_store (
62
+ key TEXT PRIMARY KEY,
63
+ value TEXT NOT NULL,
64
+ created_at INTEGER DEFAULT (strftime('%s', 'now')),
65
+ updated_at INTEGER DEFAULT (strftime('%s', 'now'))
66
+ )
67
+ `);
68
+ this.db.exec(`
69
+ CREATE TABLE IF NOT EXISTS list_store (
70
+ key TEXT NOT NULL,
71
+ value TEXT NOT NULL,
72
+ sequence INTEGER,
73
+ created_at INTEGER DEFAULT (strftime('%s', 'now')),
74
+ PRIMARY KEY (key, sequence)
75
+ )
76
+ `);
77
+ this.db.exec(`
78
+ CREATE INDEX IF NOT EXISTS idx_kv_store_key ON kv_store(key);
79
+ CREATE INDEX IF NOT EXISTS idx_list_store_key ON list_store(key);
80
+ CREATE INDEX IF NOT EXISTS idx_list_store_sequence ON list_store(key, sequence);
81
+ `);
82
+ import_logger.logger.debug(
83
+ "SQLite database schema initialized: kv_store, list_store tables with indexes"
84
+ );
85
+ } catch (error) {
86
+ throw import_errors.StorageError.migrationFailed(
87
+ error instanceof Error ? error.message : String(error),
88
+ {
89
+ operation: "table_initialization",
90
+ backend: "sqlite"
91
+ }
92
+ );
93
+ }
94
+ }
95
+ async connect() {
96
+ if (!Database) {
97
+ try {
98
+ const module2 = await import("better-sqlite3");
99
+ Database = module2.default || module2;
100
+ } catch (error) {
101
+ throw import_errors.StorageError.connectionFailed(
102
+ `Failed to import better-sqlite3: ${error instanceof Error ? error.message : String(error)}`
103
+ );
104
+ }
105
+ }
106
+ if (this.config.path) {
107
+ this.dbPath = this.config.path;
108
+ import_logger.logger.info(`SQLite using custom path: ${this.dbPath}`);
109
+ } else {
110
+ this.dbPath = this.resolveDefaultPath(this.config.database || "dexto.db");
111
+ }
112
+ const dir = (0, import_path.dirname)(this.dbPath);
113
+ import_logger.logger.debug(`SQLite ensuring directory exists: ${dir}`);
114
+ try {
115
+ (0, import_fs.mkdirSync)(dir, { recursive: true });
116
+ } catch (error) {
117
+ import_logger.logger.debug(`Directory creation result: ${error ? "exists" : "created"}`);
118
+ }
119
+ const sqliteOptions = this.config.options || {};
120
+ import_logger.logger.debug(`SQLite initializing database with config:`, {
121
+ readonly: sqliteOptions.readonly || false,
122
+ fileMustExist: sqliteOptions.fileMustExist || false,
123
+ timeout: sqliteOptions.timeout || 5e3
124
+ });
125
+ this.db = new Database(this.dbPath, {
126
+ readonly: sqliteOptions.readonly || false,
127
+ fileMustExist: sqliteOptions.fileMustExist || false,
128
+ timeout: sqliteOptions.timeout || 5e3,
129
+ verbose: sqliteOptions.verbose ? (message, ...additionalArgs) => {
130
+ import_logger.logger.debug(
131
+ typeof message === "string" || typeof message === "object" && message !== null ? message : String(message),
132
+ ...additionalArgs
133
+ );
134
+ } : void 0
135
+ });
136
+ this.db.pragma("journal_mode = WAL");
137
+ import_logger.logger.debug("SQLite enabled WAL mode for better concurrency");
138
+ this.initializeTables();
139
+ import_logger.logger.info(`\u2705 SQLite backend successfully connected to: ${this.dbPath}`);
140
+ }
141
+ async disconnect() {
142
+ if (this.db) {
143
+ this.db.close();
144
+ }
145
+ }
146
+ isConnected() {
147
+ return this.db !== null;
148
+ }
149
+ getBackendType() {
150
+ return "sqlite";
151
+ }
152
+ // Core operations
153
+ async get(key) {
154
+ this.checkConnection();
155
+ try {
156
+ const row = this.db.prepare("SELECT value FROM kv_store WHERE key = ?").get(key);
157
+ return row ? JSON.parse(row.value) : void 0;
158
+ } catch (error) {
159
+ throw import_errors.StorageError.readFailed(
160
+ "get",
161
+ error instanceof Error ? error.message : String(error),
162
+ { key }
163
+ );
164
+ }
165
+ }
166
+ async set(key, value) {
167
+ this.checkConnection();
168
+ try {
169
+ const serialized = JSON.stringify(value);
170
+ this.db.prepare(
171
+ "INSERT OR REPLACE INTO kv_store (key, value, updated_at) VALUES (?, ?, ?)"
172
+ ).run(key, serialized, Date.now());
173
+ } catch (error) {
174
+ throw import_errors.StorageError.writeFailed(
175
+ "set",
176
+ error instanceof Error ? error.message : String(error),
177
+ { key }
178
+ );
179
+ }
180
+ }
181
+ async delete(key) {
182
+ this.checkConnection();
183
+ try {
184
+ this.db.prepare("DELETE FROM kv_store WHERE key = ?").run(key);
185
+ this.db.prepare("DELETE FROM list_store WHERE key = ?").run(key);
186
+ } catch (error) {
187
+ throw import_errors.StorageError.deleteFailed(
188
+ "delete",
189
+ error instanceof Error ? error.message : String(error),
190
+ { key }
191
+ );
192
+ }
193
+ }
194
+ // List operations
195
+ async list(prefix) {
196
+ this.checkConnection();
197
+ try {
198
+ const kvKeys = this.db.prepare("SELECT key FROM kv_store WHERE key LIKE ?").all(`${prefix}%`);
199
+ const listKeys = this.db.prepare("SELECT DISTINCT key FROM list_store WHERE key LIKE ?").all(`${prefix}%`);
200
+ const allKeys = /* @__PURE__ */ new Set([
201
+ ...kvKeys.map((row) => row.key),
202
+ ...listKeys.map((row) => row.key)
203
+ ]);
204
+ return Array.from(allKeys).sort();
205
+ } catch (error) {
206
+ throw import_errors.StorageError.readFailed(
207
+ "list",
208
+ error instanceof Error ? error.message : String(error),
209
+ { prefix }
210
+ );
211
+ }
212
+ }
213
+ async append(key, item) {
214
+ this.checkConnection();
215
+ try {
216
+ const serialized = JSON.stringify(item);
217
+ this.db.prepare(
218
+ "INSERT INTO list_store (key, value, sequence) VALUES (?, ?, (SELECT COALESCE(MAX(sequence), 0) + 1 FROM list_store WHERE key = ?))"
219
+ ).run(key, serialized, key);
220
+ } catch (error) {
221
+ throw import_errors.StorageError.writeFailed(
222
+ "append",
223
+ error instanceof Error ? error.message : String(error),
224
+ { key }
225
+ );
226
+ }
227
+ }
228
+ async getRange(key, start, count) {
229
+ this.checkConnection();
230
+ try {
231
+ const rows = this.db.prepare(
232
+ "SELECT value FROM list_store WHERE key = ? ORDER BY sequence ASC LIMIT ? OFFSET ?"
233
+ ).all(key, count, start);
234
+ return rows.map((row) => JSON.parse(row.value));
235
+ } catch (error) {
236
+ throw import_errors.StorageError.readFailed(
237
+ "getRange",
238
+ error instanceof Error ? error.message : String(error),
239
+ { key, start, count }
240
+ );
241
+ }
242
+ }
243
+ // Schema management
244
+ checkConnection() {
245
+ if (!this.db) {
246
+ throw import_errors.StorageError.notConnected("SQLiteBackend");
247
+ }
248
+ }
249
+ // Maintenance operations
250
+ async vacuum() {
251
+ this.checkConnection();
252
+ this.db.exec("VACUUM");
253
+ }
254
+ async getStats() {
255
+ this.checkConnection();
256
+ const kvCount = this.db.prepare("SELECT COUNT(*) as count FROM kv_store").get();
257
+ const listCount = this.db.prepare("SELECT COUNT(*) as count FROM list_store").get();
258
+ const dbSize = this.db.prepare(
259
+ "SELECT page_count * page_size as size FROM pragma_page_count(), pragma_page_size()"
260
+ ).get();
261
+ return {
262
+ kvCount: kvCount.count,
263
+ listCount: listCount.count,
264
+ dbSize: dbSize.size
265
+ };
266
+ }
267
+ }
268
+ // Annotate the CommonJS export names for ESM import in node:
269
+ 0 && (module.exports = {
270
+ SQLiteBackend
271
+ });
@@ -0,0 +1,35 @@
1
+ import { DatabaseBackend } from './database-backend.cjs';
2
+ import { SqliteBackendConfig } from '../schemas.cjs';
3
+ import 'zod';
4
+
5
+ /**
6
+ * SQLite storage backend for local development and production.
7
+ * Implements the DatabaseBackend interface with proper schema and connection handling.
8
+ */
9
+ declare class SQLiteBackend implements DatabaseBackend {
10
+ private db;
11
+ private dbPath;
12
+ private config;
13
+ constructor(config: SqliteBackendConfig);
14
+ private resolveDefaultPath;
15
+ private initializeTables;
16
+ connect(): Promise<void>;
17
+ disconnect(): Promise<void>;
18
+ isConnected(): boolean;
19
+ getBackendType(): string;
20
+ get<T>(key: string): Promise<T | undefined>;
21
+ set<T>(key: string, value: T): Promise<void>;
22
+ delete(key: string): Promise<void>;
23
+ list(prefix: string): Promise<string[]>;
24
+ append<T>(key: string, item: T): Promise<void>;
25
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
26
+ private checkConnection;
27
+ vacuum(): Promise<void>;
28
+ getStats(): Promise<{
29
+ kvCount: number;
30
+ listCount: number;
31
+ dbSize: number;
32
+ }>;
33
+ }
34
+
35
+ export { SQLiteBackend };
@@ -0,0 +1,35 @@
1
+ import { DatabaseBackend } from './database-backend.js';
2
+ import { SqliteBackendConfig } from '../schemas.js';
3
+ import 'zod';
4
+
5
+ /**
6
+ * SQLite storage backend for local development and production.
7
+ * Implements the DatabaseBackend interface with proper schema and connection handling.
8
+ */
9
+ declare class SQLiteBackend implements DatabaseBackend {
10
+ private db;
11
+ private dbPath;
12
+ private config;
13
+ constructor(config: SqliteBackendConfig);
14
+ private resolveDefaultPath;
15
+ private initializeTables;
16
+ connect(): Promise<void>;
17
+ disconnect(): Promise<void>;
18
+ isConnected(): boolean;
19
+ getBackendType(): string;
20
+ get<T>(key: string): Promise<T | undefined>;
21
+ set<T>(key: string, value: T): Promise<void>;
22
+ delete(key: string): Promise<void>;
23
+ list(prefix: string): Promise<string[]>;
24
+ append<T>(key: string, item: T): Promise<void>;
25
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
26
+ private checkConnection;
27
+ vacuum(): Promise<void>;
28
+ getStats(): Promise<{
29
+ kvCount: number;
30
+ listCount: number;
31
+ dbSize: number;
32
+ }>;
33
+ }
34
+
35
+ export { SQLiteBackend };