@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,15 @@
1
+ /**
2
+ * Fast, ephemeral storage for temporary data and performance optimization.
3
+ * Supports TTL for automatic cleanup of temporary data.
4
+ */
5
+ interface CacheBackend {
6
+ get<T>(key: string): Promise<T | undefined>;
7
+ set<T>(key: string, value: T, ttlSeconds?: number): Promise<void>;
8
+ delete(key: string): Promise<void>;
9
+ connect(): Promise<void>;
10
+ disconnect(): Promise<void>;
11
+ isConnected(): boolean;
12
+ getBackendType(): string;
13
+ }
14
+
15
+ export type { CacheBackend };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Fast, ephemeral storage for temporary data and performance optimization.
3
+ * Supports TTL for automatic cleanup of temporary data.
4
+ */
5
+ interface CacheBackend {
6
+ get<T>(key: string): Promise<T | undefined>;
7
+ set<T>(key: string, value: T, ttlSeconds?: number): Promise<void>;
8
+ delete(key: string): Promise<void>;
9
+ connect(): Promise<void>;
10
+ disconnect(): Promise<void>;
11
+ isConnected(): boolean;
12
+ getBackendType(): string;
13
+ }
14
+
15
+ export type { CacheBackend };
File without changes
@@ -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 database_backend_exports = {};
16
+ module.exports = __toCommonJS(database_backend_exports);
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Persistent, reliable storage for important data with list operations for message history.
3
+ * Data survives restarts and supports enumeration for settings management.
4
+ */
5
+ interface DatabaseBackend {
6
+ get<T>(key: string): Promise<T | undefined>;
7
+ set<T>(key: string, value: T): Promise<void>;
8
+ delete(key: string): Promise<void>;
9
+ list(prefix: string): Promise<string[]>;
10
+ append<T>(key: string, item: T): Promise<void>;
11
+ /** Get a range of items in chronological order (oldest first, matching insertion order) */
12
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
13
+ connect(): Promise<void>;
14
+ disconnect(): Promise<void>;
15
+ isConnected(): boolean;
16
+ getBackendType(): string;
17
+ }
18
+
19
+ export type { DatabaseBackend };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Persistent, reliable storage for important data with list operations for message history.
3
+ * Data survives restarts and supports enumeration for settings management.
4
+ */
5
+ interface DatabaseBackend {
6
+ get<T>(key: string): Promise<T | undefined>;
7
+ set<T>(key: string, value: T): Promise<void>;
8
+ delete(key: string): Promise<void>;
9
+ list(prefix: string): Promise<string[]>;
10
+ append<T>(key: string, item: T): Promise<void>;
11
+ /** Get a range of items in chronological order (oldest first, matching insertion order) */
12
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
13
+ connect(): Promise<void>;
14
+ disconnect(): Promise<void>;
15
+ isConnected(): boolean;
16
+ getBackendType(): string;
17
+ }
18
+
19
+ export type { DatabaseBackend };
File without changes
@@ -0,0 +1,140 @@
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 memory_backend_exports = {};
20
+ __export(memory_backend_exports, {
21
+ MemoryBackend: () => MemoryBackend
22
+ });
23
+ module.exports = __toCommonJS(memory_backend_exports);
24
+ var import_errors = require("../errors.js");
25
+ class MemoryBackend {
26
+ data = /* @__PURE__ */ new Map();
27
+ lists = /* @__PURE__ */ new Map();
28
+ ttls = /* @__PURE__ */ new Map();
29
+ connected = false;
30
+ constructor() {
31
+ }
32
+ async connect() {
33
+ this.connected = true;
34
+ }
35
+ async disconnect() {
36
+ this.connected = false;
37
+ this.data.clear();
38
+ this.lists.clear();
39
+ this.ttls.clear();
40
+ }
41
+ isConnected() {
42
+ return this.connected;
43
+ }
44
+ getBackendType() {
45
+ return "memory";
46
+ }
47
+ // Core operations
48
+ async get(key) {
49
+ this.checkConnection();
50
+ try {
51
+ this.checkTTL(key);
52
+ return this.data.get(key);
53
+ } catch (error) {
54
+ throw import_errors.StorageError.readFailed(
55
+ "get",
56
+ error instanceof Error ? error.message : String(error),
57
+ { key }
58
+ );
59
+ }
60
+ }
61
+ async set(key, value, ttlSeconds) {
62
+ this.checkConnection();
63
+ try {
64
+ this.data.set(key, value);
65
+ if (ttlSeconds) {
66
+ this.ttls.set(key, Date.now() + ttlSeconds * 1e3);
67
+ } else {
68
+ this.ttls.delete(key);
69
+ }
70
+ } catch (error) {
71
+ throw import_errors.StorageError.writeFailed(
72
+ "set",
73
+ error instanceof Error ? error.message : String(error),
74
+ { key }
75
+ );
76
+ }
77
+ }
78
+ async delete(key) {
79
+ this.checkConnection();
80
+ this.data.delete(key);
81
+ this.lists.delete(key);
82
+ this.ttls.delete(key);
83
+ }
84
+ // List operations (DatabaseBackend)
85
+ async list(prefix) {
86
+ const keys = [];
87
+ for (const key of Array.from(this.data.keys())) {
88
+ if (key.startsWith(prefix)) {
89
+ keys.push(key);
90
+ }
91
+ }
92
+ for (const key of Array.from(this.lists.keys())) {
93
+ if (key.startsWith(prefix)) {
94
+ keys.push(key);
95
+ }
96
+ }
97
+ return Array.from(new Set(keys)).sort();
98
+ }
99
+ async append(key, item) {
100
+ this.checkConnection();
101
+ if (!this.lists.has(key)) {
102
+ this.lists.set(key, []);
103
+ }
104
+ this.lists.get(key).push(item);
105
+ }
106
+ async getRange(key, start, count) {
107
+ this.checkConnection();
108
+ const list = this.lists.get(key) || [];
109
+ return list.slice(start, start + count);
110
+ }
111
+ // Helper methods
112
+ checkConnection() {
113
+ if (!this.connected) {
114
+ throw import_errors.StorageError.notConnected("MemoryBackend");
115
+ }
116
+ }
117
+ checkTTL(key) {
118
+ const expiry = this.ttls.get(key);
119
+ if (expiry && Date.now() > expiry) {
120
+ this.data.delete(key);
121
+ this.ttls.delete(key);
122
+ }
123
+ }
124
+ // Development helpers
125
+ async clear() {
126
+ this.data.clear();
127
+ this.lists.clear();
128
+ this.ttls.clear();
129
+ }
130
+ async dump() {
131
+ return {
132
+ data: Object.fromEntries(this.data.entries()),
133
+ lists: Object.fromEntries(this.lists.entries())
134
+ };
135
+ }
136
+ }
137
+ // Annotate the CommonJS export names for ESM import in node:
138
+ 0 && (module.exports = {
139
+ MemoryBackend
140
+ });
@@ -0,0 +1,34 @@
1
+ import { CacheBackend } from './cache-backend.cjs';
2
+ import { DatabaseBackend } from './database-backend.cjs';
3
+
4
+ /**
5
+ * In-memory storage backend for development and testing.
6
+ * Implements both CacheBackend and DatabaseBackend interfaces.
7
+ * Data is lost when the process restarts.
8
+ */
9
+ declare class MemoryBackend implements CacheBackend, DatabaseBackend {
10
+ private data;
11
+ private lists;
12
+ private ttls;
13
+ private connected;
14
+ constructor();
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
+ list(prefix: string): Promise<string[]>;
23
+ append<T>(key: string, item: T): Promise<void>;
24
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
25
+ private checkConnection;
26
+ private checkTTL;
27
+ clear(): Promise<void>;
28
+ dump(): Promise<{
29
+ data: Record<string, any>;
30
+ lists: Record<string, any[]>;
31
+ }>;
32
+ }
33
+
34
+ export { MemoryBackend };
@@ -0,0 +1,34 @@
1
+ import { CacheBackend } from './cache-backend.js';
2
+ import { DatabaseBackend } from './database-backend.js';
3
+
4
+ /**
5
+ * In-memory storage backend for development and testing.
6
+ * Implements both CacheBackend and DatabaseBackend interfaces.
7
+ * Data is lost when the process restarts.
8
+ */
9
+ declare class MemoryBackend implements CacheBackend, DatabaseBackend {
10
+ private data;
11
+ private lists;
12
+ private ttls;
13
+ private connected;
14
+ constructor();
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
+ list(prefix: string): Promise<string[]>;
23
+ append<T>(key: string, item: T): Promise<void>;
24
+ getRange<T>(key: string, start: number, count: number): Promise<T[]>;
25
+ private checkConnection;
26
+ private checkTTL;
27
+ clear(): Promise<void>;
28
+ dump(): Promise<{
29
+ data: Record<string, any>;
30
+ lists: Record<string, any[]>;
31
+ }>;
32
+ }
33
+
34
+ export { MemoryBackend };
@@ -0,0 +1,116 @@
1
+ import { StorageError } from "../errors.js";
2
+ class MemoryBackend {
3
+ data = /* @__PURE__ */ new Map();
4
+ lists = /* @__PURE__ */ new Map();
5
+ ttls = /* @__PURE__ */ new Map();
6
+ connected = false;
7
+ constructor() {
8
+ }
9
+ async connect() {
10
+ this.connected = true;
11
+ }
12
+ async disconnect() {
13
+ this.connected = false;
14
+ this.data.clear();
15
+ this.lists.clear();
16
+ this.ttls.clear();
17
+ }
18
+ isConnected() {
19
+ return this.connected;
20
+ }
21
+ getBackendType() {
22
+ return "memory";
23
+ }
24
+ // Core operations
25
+ async get(key) {
26
+ this.checkConnection();
27
+ try {
28
+ this.checkTTL(key);
29
+ return this.data.get(key);
30
+ } catch (error) {
31
+ throw StorageError.readFailed(
32
+ "get",
33
+ error instanceof Error ? error.message : String(error),
34
+ { key }
35
+ );
36
+ }
37
+ }
38
+ async set(key, value, ttlSeconds) {
39
+ this.checkConnection();
40
+ try {
41
+ this.data.set(key, value);
42
+ if (ttlSeconds) {
43
+ this.ttls.set(key, Date.now() + ttlSeconds * 1e3);
44
+ } else {
45
+ this.ttls.delete(key);
46
+ }
47
+ } catch (error) {
48
+ throw StorageError.writeFailed(
49
+ "set",
50
+ error instanceof Error ? error.message : String(error),
51
+ { key }
52
+ );
53
+ }
54
+ }
55
+ async delete(key) {
56
+ this.checkConnection();
57
+ this.data.delete(key);
58
+ this.lists.delete(key);
59
+ this.ttls.delete(key);
60
+ }
61
+ // List operations (DatabaseBackend)
62
+ async list(prefix) {
63
+ const keys = [];
64
+ for (const key of Array.from(this.data.keys())) {
65
+ if (key.startsWith(prefix)) {
66
+ keys.push(key);
67
+ }
68
+ }
69
+ for (const key of Array.from(this.lists.keys())) {
70
+ if (key.startsWith(prefix)) {
71
+ keys.push(key);
72
+ }
73
+ }
74
+ return Array.from(new Set(keys)).sort();
75
+ }
76
+ async append(key, item) {
77
+ this.checkConnection();
78
+ if (!this.lists.has(key)) {
79
+ this.lists.set(key, []);
80
+ }
81
+ this.lists.get(key).push(item);
82
+ }
83
+ async getRange(key, start, count) {
84
+ this.checkConnection();
85
+ const list = this.lists.get(key) || [];
86
+ return list.slice(start, start + count);
87
+ }
88
+ // Helper methods
89
+ checkConnection() {
90
+ if (!this.connected) {
91
+ throw StorageError.notConnected("MemoryBackend");
92
+ }
93
+ }
94
+ checkTTL(key) {
95
+ const expiry = this.ttls.get(key);
96
+ if (expiry && Date.now() > expiry) {
97
+ this.data.delete(key);
98
+ this.ttls.delete(key);
99
+ }
100
+ }
101
+ // Development helpers
102
+ async clear() {
103
+ this.data.clear();
104
+ this.lists.clear();
105
+ this.ttls.clear();
106
+ }
107
+ async dump() {
108
+ return {
109
+ data: Object.fromEntries(this.data.entries()),
110
+ lists: Object.fromEntries(this.lists.entries())
111
+ };
112
+ }
113
+ }
114
+ export {
115
+ MemoryBackend
116
+ };
@@ -0,0 +1,231 @@
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 postgres_backend_exports = {};
20
+ __export(postgres_backend_exports, {
21
+ PostgresBackend: () => PostgresBackend
22
+ });
23
+ module.exports = __toCommonJS(postgres_backend_exports);
24
+ var import_pg = require("pg");
25
+ var import_errors = require("../errors.js");
26
+ class PostgresBackend {
27
+ constructor(config) {
28
+ this.config = config;
29
+ }
30
+ pool = null;
31
+ connected = false;
32
+ async connect() {
33
+ if (this.connected) return;
34
+ this.pool = new import_pg.Pool({
35
+ connectionString: this.config.connectionString || this.config.url,
36
+ max: this.config.maxConnections || 20,
37
+ idleTimeoutMillis: this.config.idleTimeoutMillis || 3e4,
38
+ connectionTimeoutMillis: this.config.connectionTimeoutMillis || 2e3,
39
+ ...this.config.options
40
+ });
41
+ const client = await this.pool.connect();
42
+ try {
43
+ await client.query("SELECT NOW()");
44
+ await this.createTables(client);
45
+ this.connected = true;
46
+ } finally {
47
+ client.release();
48
+ }
49
+ }
50
+ async disconnect() {
51
+ if (this.pool) {
52
+ await this.pool.end();
53
+ this.pool = null;
54
+ }
55
+ this.connected = false;
56
+ }
57
+ isConnected() {
58
+ return this.connected && this.pool !== null;
59
+ }
60
+ getBackendType() {
61
+ return "postgres";
62
+ }
63
+ // Core operations
64
+ async get(key) {
65
+ this.checkConnection();
66
+ const client = await this.pool.connect();
67
+ try {
68
+ const result = await client.query("SELECT value FROM kv WHERE key = $1", [key]);
69
+ return result.rows[0] ? result.rows[0].value : void 0;
70
+ } catch (error) {
71
+ throw import_errors.StorageError.readFailed(
72
+ "get",
73
+ error instanceof Error ? error.message : String(error),
74
+ { key }
75
+ );
76
+ } finally {
77
+ client.release();
78
+ }
79
+ }
80
+ async set(key, value) {
81
+ this.checkConnection();
82
+ const client = await this.pool.connect();
83
+ try {
84
+ await client.query(
85
+ "INSERT INTO kv (key, value, updated_at) VALUES ($1, $2, $3) ON CONFLICT (key) DO UPDATE SET value = $2, updated_at = $3",
86
+ [key, JSON.stringify(value), /* @__PURE__ */ new Date()]
87
+ );
88
+ } finally {
89
+ client.release();
90
+ }
91
+ }
92
+ async delete(key) {
93
+ this.checkConnection();
94
+ const client = await this.pool.connect();
95
+ try {
96
+ await client.query("BEGIN");
97
+ await client.query("DELETE FROM kv WHERE key = $1", [key]);
98
+ await client.query("DELETE FROM lists WHERE key = $1", [key]);
99
+ await client.query("COMMIT");
100
+ } catch (error) {
101
+ await client.query("ROLLBACK");
102
+ throw error;
103
+ } finally {
104
+ client.release();
105
+ }
106
+ }
107
+ // List operations
108
+ async list(prefix) {
109
+ this.checkConnection();
110
+ const client = await this.pool.connect();
111
+ try {
112
+ const kvResult = await client.query("SELECT key FROM kv WHERE key LIKE $1", [
113
+ `${prefix}%`
114
+ ]);
115
+ const listResult = await client.query(
116
+ "SELECT DISTINCT key FROM lists WHERE key LIKE $1",
117
+ [`${prefix}%`]
118
+ );
119
+ const allKeys = /* @__PURE__ */ new Set([
120
+ ...kvResult.rows.map((row) => row.key),
121
+ ...listResult.rows.map((row) => row.key)
122
+ ]);
123
+ return Array.from(allKeys).sort();
124
+ } finally {
125
+ client.release();
126
+ }
127
+ }
128
+ async append(key, item) {
129
+ this.checkConnection();
130
+ const client = await this.pool.connect();
131
+ try {
132
+ await client.query("INSERT INTO lists (key, item, created_at) VALUES ($1, $2, $3)", [
133
+ key,
134
+ JSON.stringify(item),
135
+ /* @__PURE__ */ new Date()
136
+ ]);
137
+ } finally {
138
+ client.release();
139
+ }
140
+ }
141
+ async getRange(key, start, count) {
142
+ this.checkConnection();
143
+ const client = await this.pool.connect();
144
+ try {
145
+ const result = await client.query(
146
+ "SELECT item FROM lists WHERE key = $1 ORDER BY created_at ASC LIMIT $2 OFFSET $3",
147
+ [key, count, start]
148
+ );
149
+ return result.rows.map((row) => JSON.parse(row.item));
150
+ } finally {
151
+ client.release();
152
+ }
153
+ }
154
+ // Schema management
155
+ async createTables(client) {
156
+ await client.query(`
157
+ CREATE TABLE IF NOT EXISTS kv (
158
+ key VARCHAR(255) PRIMARY KEY,
159
+ value JSONB NOT NULL,
160
+ updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
161
+ )
162
+ `);
163
+ await client.query(`
164
+ CREATE TABLE IF NOT EXISTS lists (
165
+ id BIGSERIAL PRIMARY KEY,
166
+ key VARCHAR(255) NOT NULL,
167
+ item JSONB NOT NULL,
168
+ created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
169
+ )
170
+ `);
171
+ await client.query("CREATE INDEX IF NOT EXISTS idx_kv_key ON kv(key)");
172
+ await client.query("CREATE INDEX IF NOT EXISTS idx_lists_key ON lists(key)");
173
+ await client.query(
174
+ "CREATE INDEX IF NOT EXISTS idx_lists_created_at ON lists(key, created_at DESC)"
175
+ );
176
+ }
177
+ checkConnection() {
178
+ if (!this.connected || !this.pool) {
179
+ throw import_errors.StorageError.notConnected("PostgresBackend");
180
+ }
181
+ }
182
+ // Advanced operations
183
+ async transaction(callback) {
184
+ this.checkConnection();
185
+ const client = await this.pool.connect();
186
+ try {
187
+ await client.query("BEGIN");
188
+ const result = await callback(client);
189
+ await client.query("COMMIT");
190
+ return result;
191
+ } catch (error) {
192
+ await client.query("ROLLBACK");
193
+ throw error;
194
+ } finally {
195
+ client.release();
196
+ }
197
+ }
198
+ async getStats() {
199
+ this.checkConnection();
200
+ const client = await this.pool.connect();
201
+ try {
202
+ const kvResult = await client.query("SELECT COUNT(*) as count FROM kv");
203
+ const listResult = await client.query("SELECT COUNT(*) as count FROM lists");
204
+ const sizeResult = await client.query(
205
+ "SELECT pg_size_pretty(pg_total_relation_size($1)) as size",
206
+ ["kv"]
207
+ );
208
+ return {
209
+ kvCount: parseInt(kvResult.rows[0].count),
210
+ listCount: parseInt(listResult.rows[0].count),
211
+ totalSize: sizeResult.rows[0].size
212
+ };
213
+ } finally {
214
+ client.release();
215
+ }
216
+ }
217
+ // Maintenance operations
218
+ async vacuum() {
219
+ this.checkConnection();
220
+ const client = await this.pool.connect();
221
+ try {
222
+ await client.query("VACUUM ANALYZE kv, lists");
223
+ } finally {
224
+ client.release();
225
+ }
226
+ }
227
+ }
228
+ // Annotate the CommonJS export names for ESM import in node:
229
+ 0 && (module.exports = {
230
+ PostgresBackend
231
+ });
@@ -0,0 +1,37 @@
1
+ import { PoolClient } from 'pg';
2
+ import { DatabaseBackend } from './database-backend.cjs';
3
+ import { PostgresBackendConfig } from '../schemas.cjs';
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 };