@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,89 @@
1
+ import { z } from "zod";
2
+ import { StorageErrorCode } from "./error-codes.js";
3
+ import { ErrorScope, ErrorType } from "../errors/types.js";
4
+ const BaseBackendSchema = z.object({
5
+ maxConnections: z.number().int().positive().optional().describe("Maximum connections"),
6
+ idleTimeoutMillis: z.number().int().positive().optional().describe("Idle timeout in milliseconds"),
7
+ connectionTimeoutMillis: z.number().int().positive().optional().describe("Connection timeout in milliseconds"),
8
+ options: z.record(z.any()).optional().describe("Backend-specific options")
9
+ });
10
+ const InMemoryBackendSchema = BaseBackendSchema.extend({
11
+ type: z.literal("in-memory")
12
+ // In-memory backend doesn't need connection options, but inherits pool options for consistency
13
+ }).strict();
14
+ const RedisBackendSchema = BaseBackendSchema.extend({
15
+ type: z.literal("redis"),
16
+ url: z.string().optional().describe("Redis connection URL (redis://...)"),
17
+ host: z.string().optional().describe("Redis host"),
18
+ port: z.number().int().positive().optional().describe("Redis port"),
19
+ password: z.string().optional().describe("Redis password"),
20
+ database: z.number().int().nonnegative().optional().describe("Redis database number")
21
+ }).strict();
22
+ const SqliteBackendSchema = BaseBackendSchema.extend({
23
+ type: z.literal("sqlite"),
24
+ path: z.string().optional().describe(
25
+ "SQLite database file path (optional, will auto-detect using path resolver if not provided)"
26
+ ),
27
+ database: z.string().optional().describe("Database filename (default: dexto.db)")
28
+ }).strict();
29
+ const PostgresBackendSchema = BaseBackendSchema.extend({
30
+ type: z.literal("postgres"),
31
+ url: z.string().optional().describe("PostgreSQL connection URL (postgresql://...)"),
32
+ connectionString: z.string().optional().describe("PostgreSQL connection string"),
33
+ host: z.string().optional().describe("PostgreSQL host"),
34
+ port: z.number().int().positive().optional().describe("PostgreSQL port"),
35
+ database: z.string().optional().describe("PostgreSQL database name"),
36
+ password: z.string().optional().describe("PostgreSQL password")
37
+ }).strict();
38
+ const BackendConfigSchema = z.discriminatedUnion(
39
+ "type",
40
+ [InMemoryBackendSchema, RedisBackendSchema, SqliteBackendSchema, PostgresBackendSchema],
41
+ {
42
+ errorMap: (issue, ctx) => {
43
+ if (issue.code === z.ZodIssueCode.invalid_union_discriminator) {
44
+ return {
45
+ message: `Invalid backend type. Expected 'in-memory', 'redis', 'sqlite', or 'postgres'.`
46
+ };
47
+ }
48
+ return { message: ctx.defaultError };
49
+ }
50
+ }
51
+ ).describe("Backend configuration for storage system").superRefine((data, ctx) => {
52
+ if (data.type === "redis") {
53
+ if (!data.url && !data.host) {
54
+ ctx.addIssue({
55
+ code: z.ZodIssueCode.custom,
56
+ message: "Redis backend requires either 'url' or 'host' to be specified",
57
+ path: ["url"],
58
+ params: {
59
+ code: StorageErrorCode.CONNECTION_CONFIG_MISSING,
60
+ scope: ErrorScope.STORAGE,
61
+ type: ErrorType.USER
62
+ }
63
+ });
64
+ }
65
+ }
66
+ if (data.type === "postgres") {
67
+ if (!data.url && !data.connectionString && !data.host) {
68
+ ctx.addIssue({
69
+ code: z.ZodIssueCode.custom,
70
+ message: "PostgreSQL backend requires one of 'url', 'connectionString', or 'host' to be specified",
71
+ path: ["url"],
72
+ params: {
73
+ code: StorageErrorCode.CONNECTION_CONFIG_MISSING,
74
+ scope: ErrorScope.STORAGE,
75
+ type: ErrorType.USER
76
+ }
77
+ });
78
+ }
79
+ }
80
+ });
81
+ const StorageSchema = z.object({
82
+ cache: BackendConfigSchema.describe("Cache backend configuration (fast, ephemeral)"),
83
+ database: BackendConfigSchema.describe(
84
+ "Database backend configuration (persistent, reliable)"
85
+ )
86
+ }).strict().describe("Storage configuration with cache and database backends").brand();
87
+ export {
88
+ StorageSchema
89
+ };
@@ -0,0 +1,208 @@
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 storage_manager_exports = {};
30
+ __export(storage_manager_exports, {
31
+ StorageManager: () => StorageManager,
32
+ createStorageBackends: () => createStorageBackends
33
+ });
34
+ module.exports = __toCommonJS(storage_manager_exports);
35
+ var import_memory_backend = require("./backend/memory-backend.js");
36
+ var import_logger = require("../logger/index.js");
37
+ let SQLiteBackend;
38
+ let RedisBackend;
39
+ let PostgresBackend;
40
+ const HEALTH_CHECK_KEY = "storage_manager_health_check";
41
+ class StorageManager {
42
+ config;
43
+ cache;
44
+ database;
45
+ connected = false;
46
+ constructor(config) {
47
+ this.config = config;
48
+ }
49
+ async connect() {
50
+ if (this.connected) {
51
+ return {
52
+ cache: this.cache,
53
+ database: this.database
54
+ };
55
+ }
56
+ this.cache = await this.createCacheBackend();
57
+ await this.cache.connect();
58
+ this.database = await this.createDatabaseBackend();
59
+ await this.database.connect();
60
+ this.connected = true;
61
+ return {
62
+ cache: this.cache,
63
+ database: this.database
64
+ };
65
+ }
66
+ async disconnect() {
67
+ if (this.cache) {
68
+ await this.cache.disconnect();
69
+ delete this.cache;
70
+ }
71
+ if (this.database) {
72
+ await this.database.disconnect();
73
+ delete this.database;
74
+ }
75
+ this.connected = false;
76
+ }
77
+ isConnected() {
78
+ return this.connected && this.cache?.isConnected() === true && this.database?.isConnected() === true;
79
+ }
80
+ getBackends() {
81
+ if (!this.connected) return null;
82
+ return {
83
+ cache: this.cache,
84
+ database: this.database
85
+ };
86
+ }
87
+ async createCacheBackend() {
88
+ const cacheConfig = this.config.cache;
89
+ switch (cacheConfig.type) {
90
+ case "redis":
91
+ return this.createRedisBackend(cacheConfig);
92
+ case "in-memory":
93
+ default:
94
+ import_logger.logger.info("Using in-memory cache backend");
95
+ return new import_memory_backend.MemoryBackend();
96
+ }
97
+ }
98
+ async createDatabaseBackend() {
99
+ const dbConfig = this.config.database;
100
+ switch (dbConfig.type) {
101
+ case "postgres":
102
+ return this.createPostgresBackend(dbConfig);
103
+ case "sqlite":
104
+ return this.createSQLiteBackend(dbConfig);
105
+ case "in-memory":
106
+ default:
107
+ import_logger.logger.info("Using in-memory database backend");
108
+ return new import_memory_backend.MemoryBackend();
109
+ }
110
+ }
111
+ async createRedisBackend(config) {
112
+ try {
113
+ if (!RedisBackend) {
114
+ const module2 = await import("./backend/redis-backend.js");
115
+ RedisBackend = module2.RedisBackend;
116
+ }
117
+ import_logger.logger.info(`Connecting to Redis at ${config.host}:${config.port}`);
118
+ return new RedisBackend(config);
119
+ } catch (error) {
120
+ import_logger.logger.warn(`Redis not available, falling back to in-memory cache: ${error}`);
121
+ return new import_memory_backend.MemoryBackend();
122
+ }
123
+ }
124
+ async createPostgresBackend(config) {
125
+ try {
126
+ if (!PostgresBackend) {
127
+ const module2 = await import("./backend/postgres-backend.js");
128
+ PostgresBackend = module2.PostgresBackend;
129
+ }
130
+ import_logger.logger.info("Connecting to PostgreSQL database");
131
+ return new PostgresBackend(config);
132
+ } catch (error) {
133
+ import_logger.logger.warn(`PostgreSQL not available, falling back to in-memory database: ${error}`);
134
+ return new import_memory_backend.MemoryBackend();
135
+ }
136
+ }
137
+ async createSQLiteBackend(config) {
138
+ try {
139
+ if (!SQLiteBackend) {
140
+ const module2 = await import("./backend/sqlite-backend.js");
141
+ SQLiteBackend = module2.SQLiteBackend;
142
+ }
143
+ import_logger.logger.info(`Using SQLite database at ${config.path}`);
144
+ return new SQLiteBackend(config);
145
+ } catch (error) {
146
+ import_logger.logger.error(
147
+ `SQLite backend failed to load: ${error instanceof Error ? error.message : String(error)}`
148
+ );
149
+ import_logger.logger.error(`Full error details: ${JSON.stringify(error)}`);
150
+ import_logger.logger.warn("Falling back to in-memory database backend");
151
+ return new import_memory_backend.MemoryBackend();
152
+ }
153
+ }
154
+ // Utility methods
155
+ async getInfo() {
156
+ return {
157
+ cache: {
158
+ type: this.cache?.getBackendType() || "none",
159
+ connected: this.cache?.isConnected() || false
160
+ },
161
+ database: {
162
+ type: this.database?.getBackendType() || "none",
163
+ connected: this.database?.isConnected() || false
164
+ },
165
+ connected: this.connected
166
+ };
167
+ }
168
+ // Health check
169
+ async healthCheck() {
170
+ let cacheHealthy = false;
171
+ let databaseHealthy = false;
172
+ try {
173
+ if (this.cache?.isConnected()) {
174
+ await this.cache.set(HEALTH_CHECK_KEY, "ok", 10);
175
+ const result = await this.cache.get(HEALTH_CHECK_KEY);
176
+ cacheHealthy = result === "ok";
177
+ await this.cache.delete(HEALTH_CHECK_KEY);
178
+ }
179
+ } catch (error) {
180
+ import_logger.logger.warn(`Cache health check failed: ${error}`);
181
+ }
182
+ try {
183
+ if (this.database?.isConnected()) {
184
+ await this.database.set(HEALTH_CHECK_KEY, "ok");
185
+ const result = await this.database.get(HEALTH_CHECK_KEY);
186
+ databaseHealthy = result === "ok";
187
+ await this.database.delete(HEALTH_CHECK_KEY);
188
+ }
189
+ } catch (error) {
190
+ import_logger.logger.warn(`Database health check failed: ${error}`);
191
+ }
192
+ return {
193
+ cache: cacheHealthy,
194
+ database: databaseHealthy,
195
+ overall: cacheHealthy && databaseHealthy
196
+ };
197
+ }
198
+ }
199
+ async function createStorageBackends(config) {
200
+ const manager = new StorageManager(config);
201
+ const backends = await manager.connect();
202
+ return { manager, backends };
203
+ }
204
+ // Annotate the CommonJS export names for ESM import in node:
205
+ 0 && (module.exports = {
206
+ StorageManager,
207
+ createStorageBackends
208
+ });
@@ -0,0 +1,52 @@
1
+ import { StorageBackends } from './backend/types.cjs';
2
+ import { ValidatedStorageConfig } from './schemas.cjs';
3
+ import './backend/cache-backend.cjs';
4
+ import './backend/database-backend.cjs';
5
+ import 'zod';
6
+
7
+ /**
8
+ * Storage manager that initializes and manages storage backends.
9
+ * Handles both cache and database backends with automatic fallbacks.
10
+ */
11
+ declare class StorageManager {
12
+ private config;
13
+ private cache?;
14
+ private database?;
15
+ private connected;
16
+ constructor(config: ValidatedStorageConfig);
17
+ connect(): Promise<StorageBackends>;
18
+ disconnect(): Promise<void>;
19
+ isConnected(): boolean;
20
+ getBackends(): StorageBackends | null;
21
+ private createCacheBackend;
22
+ private createDatabaseBackend;
23
+ private createRedisBackend;
24
+ private createPostgresBackend;
25
+ private createSQLiteBackend;
26
+ getInfo(): Promise<{
27
+ cache: {
28
+ type: string;
29
+ connected: boolean;
30
+ };
31
+ database: {
32
+ type: string;
33
+ connected: boolean;
34
+ };
35
+ connected: boolean;
36
+ }>;
37
+ healthCheck(): Promise<{
38
+ cache: boolean;
39
+ database: boolean;
40
+ overall: boolean;
41
+ }>;
42
+ }
43
+ /**
44
+ * Create storage backends without using singleton pattern
45
+ * This allows multiple agent instances to have independent storage
46
+ */
47
+ declare function createStorageBackends(config: ValidatedStorageConfig): Promise<{
48
+ manager: StorageManager;
49
+ backends: StorageBackends;
50
+ }>;
51
+
52
+ export { StorageManager, createStorageBackends };
@@ -0,0 +1,52 @@
1
+ import { StorageBackends } from './backend/types.js';
2
+ import { ValidatedStorageConfig } from './schemas.js';
3
+ import './backend/cache-backend.js';
4
+ import './backend/database-backend.js';
5
+ import 'zod';
6
+
7
+ /**
8
+ * Storage manager that initializes and manages storage backends.
9
+ * Handles both cache and database backends with automatic fallbacks.
10
+ */
11
+ declare class StorageManager {
12
+ private config;
13
+ private cache?;
14
+ private database?;
15
+ private connected;
16
+ constructor(config: ValidatedStorageConfig);
17
+ connect(): Promise<StorageBackends>;
18
+ disconnect(): Promise<void>;
19
+ isConnected(): boolean;
20
+ getBackends(): StorageBackends | null;
21
+ private createCacheBackend;
22
+ private createDatabaseBackend;
23
+ private createRedisBackend;
24
+ private createPostgresBackend;
25
+ private createSQLiteBackend;
26
+ getInfo(): Promise<{
27
+ cache: {
28
+ type: string;
29
+ connected: boolean;
30
+ };
31
+ database: {
32
+ type: string;
33
+ connected: boolean;
34
+ };
35
+ connected: boolean;
36
+ }>;
37
+ healthCheck(): Promise<{
38
+ cache: boolean;
39
+ database: boolean;
40
+ overall: boolean;
41
+ }>;
42
+ }
43
+ /**
44
+ * Create storage backends without using singleton pattern
45
+ * This allows multiple agent instances to have independent storage
46
+ */
47
+ declare function createStorageBackends(config: ValidatedStorageConfig): Promise<{
48
+ manager: StorageManager;
49
+ backends: StorageBackends;
50
+ }>;
51
+
52
+ export { StorageManager, createStorageBackends };
@@ -0,0 +1,173 @@
1
+ import { MemoryBackend } from "./backend/memory-backend.js";
2
+ import { logger } from "../logger/index.js";
3
+ let SQLiteBackend;
4
+ let RedisBackend;
5
+ let PostgresBackend;
6
+ const HEALTH_CHECK_KEY = "storage_manager_health_check";
7
+ class StorageManager {
8
+ config;
9
+ cache;
10
+ database;
11
+ connected = false;
12
+ constructor(config) {
13
+ this.config = config;
14
+ }
15
+ async connect() {
16
+ if (this.connected) {
17
+ return {
18
+ cache: this.cache,
19
+ database: this.database
20
+ };
21
+ }
22
+ this.cache = await this.createCacheBackend();
23
+ await this.cache.connect();
24
+ this.database = await this.createDatabaseBackend();
25
+ await this.database.connect();
26
+ this.connected = true;
27
+ return {
28
+ cache: this.cache,
29
+ database: this.database
30
+ };
31
+ }
32
+ async disconnect() {
33
+ if (this.cache) {
34
+ await this.cache.disconnect();
35
+ delete this.cache;
36
+ }
37
+ if (this.database) {
38
+ await this.database.disconnect();
39
+ delete this.database;
40
+ }
41
+ this.connected = false;
42
+ }
43
+ isConnected() {
44
+ return this.connected && this.cache?.isConnected() === true && this.database?.isConnected() === true;
45
+ }
46
+ getBackends() {
47
+ if (!this.connected) return null;
48
+ return {
49
+ cache: this.cache,
50
+ database: this.database
51
+ };
52
+ }
53
+ async createCacheBackend() {
54
+ const cacheConfig = this.config.cache;
55
+ switch (cacheConfig.type) {
56
+ case "redis":
57
+ return this.createRedisBackend(cacheConfig);
58
+ case "in-memory":
59
+ default:
60
+ logger.info("Using in-memory cache backend");
61
+ return new MemoryBackend();
62
+ }
63
+ }
64
+ async createDatabaseBackend() {
65
+ const dbConfig = this.config.database;
66
+ switch (dbConfig.type) {
67
+ case "postgres":
68
+ return this.createPostgresBackend(dbConfig);
69
+ case "sqlite":
70
+ return this.createSQLiteBackend(dbConfig);
71
+ case "in-memory":
72
+ default:
73
+ logger.info("Using in-memory database backend");
74
+ return new MemoryBackend();
75
+ }
76
+ }
77
+ async createRedisBackend(config) {
78
+ try {
79
+ if (!RedisBackend) {
80
+ const module = await import("./backend/redis-backend.js");
81
+ RedisBackend = module.RedisBackend;
82
+ }
83
+ logger.info(`Connecting to Redis at ${config.host}:${config.port}`);
84
+ return new RedisBackend(config);
85
+ } catch (error) {
86
+ logger.warn(`Redis not available, falling back to in-memory cache: ${error}`);
87
+ return new MemoryBackend();
88
+ }
89
+ }
90
+ async createPostgresBackend(config) {
91
+ try {
92
+ if (!PostgresBackend) {
93
+ const module = await import("./backend/postgres-backend.js");
94
+ PostgresBackend = module.PostgresBackend;
95
+ }
96
+ logger.info("Connecting to PostgreSQL database");
97
+ return new PostgresBackend(config);
98
+ } catch (error) {
99
+ logger.warn(`PostgreSQL not available, falling back to in-memory database: ${error}`);
100
+ return new MemoryBackend();
101
+ }
102
+ }
103
+ async createSQLiteBackend(config) {
104
+ try {
105
+ if (!SQLiteBackend) {
106
+ const module = await import("./backend/sqlite-backend.js");
107
+ SQLiteBackend = module.SQLiteBackend;
108
+ }
109
+ logger.info(`Using SQLite database at ${config.path}`);
110
+ return new SQLiteBackend(config);
111
+ } catch (error) {
112
+ logger.error(
113
+ `SQLite backend failed to load: ${error instanceof Error ? error.message : String(error)}`
114
+ );
115
+ logger.error(`Full error details: ${JSON.stringify(error)}`);
116
+ logger.warn("Falling back to in-memory database backend");
117
+ return new MemoryBackend();
118
+ }
119
+ }
120
+ // Utility methods
121
+ async getInfo() {
122
+ return {
123
+ cache: {
124
+ type: this.cache?.getBackendType() || "none",
125
+ connected: this.cache?.isConnected() || false
126
+ },
127
+ database: {
128
+ type: this.database?.getBackendType() || "none",
129
+ connected: this.database?.isConnected() || false
130
+ },
131
+ connected: this.connected
132
+ };
133
+ }
134
+ // Health check
135
+ async healthCheck() {
136
+ let cacheHealthy = false;
137
+ let databaseHealthy = false;
138
+ try {
139
+ if (this.cache?.isConnected()) {
140
+ await this.cache.set(HEALTH_CHECK_KEY, "ok", 10);
141
+ const result = await this.cache.get(HEALTH_CHECK_KEY);
142
+ cacheHealthy = result === "ok";
143
+ await this.cache.delete(HEALTH_CHECK_KEY);
144
+ }
145
+ } catch (error) {
146
+ logger.warn(`Cache health check failed: ${error}`);
147
+ }
148
+ try {
149
+ if (this.database?.isConnected()) {
150
+ await this.database.set(HEALTH_CHECK_KEY, "ok");
151
+ const result = await this.database.get(HEALTH_CHECK_KEY);
152
+ databaseHealthy = result === "ok";
153
+ await this.database.delete(HEALTH_CHECK_KEY);
154
+ }
155
+ } catch (error) {
156
+ logger.warn(`Database health check failed: ${error}`);
157
+ }
158
+ return {
159
+ cache: cacheHealthy,
160
+ database: databaseHealthy,
161
+ overall: cacheHealthy && databaseHealthy
162
+ };
163
+ }
164
+ }
165
+ async function createStorageBackends(config) {
166
+ const manager = new StorageManager(config);
167
+ const backends = await manager.connect();
168
+ return { manager, backends };
169
+ }
170
+ export {
171
+ StorageManager,
172
+ createStorageBackends
173
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,5 @@
1
+ export { StorageBackends } from './backend/types.cjs';
2
+ export { CacheBackend } from './backend/cache-backend.cjs';
3
+ export { DatabaseBackend } from './backend/database-backend.cjs';
4
+ export { BackendConfig, StorageConfig } from './schemas.cjs';
5
+ import 'zod';
@@ -0,0 +1,5 @@
1
+ export { StorageBackends } from './backend/types.js';
2
+ export { CacheBackend } from './backend/cache-backend.js';
3
+ export { DatabaseBackend } from './backend/database-backend.js';
4
+ export { BackendConfig, StorageConfig } from './schemas.js';
5
+ import 'zod';
File without changes