@farukada/aws-langgraph-dynamodb-ts 0.2.2 → 0.3.1

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 (517) hide show
  1. package/README.md +224 -512
  2. package/dist/checkpointer/actions/delete-thread.d.ts +7 -6
  3. package/dist/checkpointer/actions/delete-thread.d.ts.map +1 -1
  4. package/dist/checkpointer/actions/delete-thread.js +47 -152
  5. package/dist/checkpointer/actions/delete-thread.js.map +1 -1
  6. package/dist/checkpointer/actions/get-tuple.d.ts +6 -14
  7. package/dist/checkpointer/actions/get-tuple.d.ts.map +1 -1
  8. package/dist/checkpointer/actions/get-tuple.js +13 -166
  9. package/dist/checkpointer/actions/get-tuple.js.map +1 -1
  10. package/dist/checkpointer/actions/list.d.ts +10 -0
  11. package/dist/checkpointer/actions/list.d.ts.map +1 -0
  12. package/dist/checkpointer/actions/list.js +51 -0
  13. package/dist/checkpointer/actions/list.js.map +1 -0
  14. package/dist/checkpointer/actions/put-writes.d.ts +6 -6
  15. package/dist/checkpointer/actions/put-writes.d.ts.map +1 -1
  16. package/dist/checkpointer/actions/put-writes.js +26 -75
  17. package/dist/checkpointer/actions/put-writes.js.map +1 -1
  18. package/dist/checkpointer/actions/put.d.ts +6 -11
  19. package/dist/checkpointer/actions/put.d.ts.map +1 -1
  20. package/dist/checkpointer/actions/put.js +29 -161
  21. package/dist/checkpointer/actions/put.js.map +1 -1
  22. package/dist/checkpointer/internal/assemble.d.ts +10 -0
  23. package/dist/checkpointer/internal/assemble.d.ts.map +1 -0
  24. package/dist/checkpointer/internal/assemble.js +37 -0
  25. package/dist/checkpointer/internal/assemble.js.map +1 -0
  26. package/dist/checkpointer/internal/configurable.d.ts +13 -0
  27. package/dist/checkpointer/internal/configurable.d.ts.map +1 -0
  28. package/dist/checkpointer/internal/configurable.js +23 -0
  29. package/dist/checkpointer/internal/configurable.js.map +1 -0
  30. package/dist/checkpointer/internal/fetch.d.ts +10 -0
  31. package/dist/checkpointer/internal/fetch.d.ts.map +1 -0
  32. package/dist/checkpointer/internal/fetch.js +46 -0
  33. package/dist/checkpointer/internal/fetch.js.map +1 -0
  34. package/dist/checkpointer/internal/filter-match.d.ts +12 -0
  35. package/dist/checkpointer/internal/filter-match.d.ts.map +1 -0
  36. package/dist/checkpointer/internal/filter-match.js +14 -0
  37. package/dist/checkpointer/internal/filter-match.js.map +1 -0
  38. package/dist/checkpointer/internal/item-reader.d.ts +10 -0
  39. package/dist/checkpointer/internal/item-reader.d.ts.map +1 -0
  40. package/dist/checkpointer/internal/item-reader.js +26 -0
  41. package/dist/checkpointer/internal/item-reader.js.map +1 -0
  42. package/dist/checkpointer/internal/item-writer.d.ts +14 -0
  43. package/dist/checkpointer/internal/item-writer.d.ts.map +1 -0
  44. package/dist/checkpointer/internal/item-writer.js +68 -0
  45. package/dist/checkpointer/internal/item-writer.js.map +1 -0
  46. package/dist/checkpointer/internal/keys.d.ts +15 -0
  47. package/dist/checkpointer/internal/keys.d.ts.map +1 -0
  48. package/dist/checkpointer/internal/keys.js +52 -0
  49. package/dist/checkpointer/internal/keys.js.map +1 -0
  50. package/dist/checkpointer/internal/query.d.ts +16 -0
  51. package/dist/checkpointer/internal/query.d.ts.map +1 -0
  52. package/dist/checkpointer/internal/query.js +33 -0
  53. package/dist/checkpointer/internal/query.js.map +1 -0
  54. package/dist/checkpointer/internal/setup.d.ts +31 -0
  55. package/dist/checkpointer/internal/setup.d.ts.map +1 -0
  56. package/dist/checkpointer/internal/setup.js +29 -0
  57. package/dist/checkpointer/internal/setup.js.map +1 -0
  58. package/dist/checkpointer/internal/validation.d.ts +9 -0
  59. package/dist/checkpointer/internal/validation.d.ts.map +1 -0
  60. package/dist/checkpointer/internal/validation.js +28 -0
  61. package/dist/checkpointer/internal/validation.js.map +1 -0
  62. package/dist/checkpointer/saver.d.ts +21 -0
  63. package/dist/checkpointer/saver.d.ts.map +1 -0
  64. package/dist/checkpointer/saver.js +49 -0
  65. package/dist/checkpointer/saver.js.map +1 -0
  66. package/dist/checkpointer/types.d.ts +43 -0
  67. package/dist/checkpointer/types.d.ts.map +1 -0
  68. package/dist/{store/types/index.js → checkpointer/types.js} +1 -1
  69. package/dist/checkpointer/types.js.map +1 -0
  70. package/dist/factory/factory.d.ts +41 -0
  71. package/dist/factory/factory.d.ts.map +1 -0
  72. package/dist/factory/factory.js +49 -0
  73. package/dist/factory/factory.js.map +1 -0
  74. package/dist/history/actions/add-messages.d.ts +12 -7
  75. package/dist/history/actions/add-messages.d.ts.map +1 -1
  76. package/dist/history/actions/add-messages.js +50 -48
  77. package/dist/history/actions/add-messages.js.map +1 -1
  78. package/dist/history/actions/clear.d.ts +5 -11
  79. package/dist/history/actions/clear.d.ts.map +1 -1
  80. package/dist/history/actions/clear.js +28 -62
  81. package/dist/history/actions/clear.js.map +1 -1
  82. package/dist/history/actions/get-messages.d.ts +6 -13
  83. package/dist/history/actions/get-messages.d.ts.map +1 -1
  84. package/dist/history/actions/get-messages.js +23 -59
  85. package/dist/history/actions/get-messages.js.map +1 -1
  86. package/dist/history/actions/list-sessions.d.ts +6 -22
  87. package/dist/history/actions/list-sessions.d.ts.map +1 -1
  88. package/dist/history/actions/list-sessions.js +26 -69
  89. package/dist/history/actions/list-sessions.js.map +1 -1
  90. package/dist/history/actions/reconcile-count.d.ts +10 -0
  91. package/dist/history/actions/reconcile-count.d.ts.map +1 -0
  92. package/dist/history/actions/reconcile-count.js +39 -0
  93. package/dist/history/actions/reconcile-count.js.map +1 -0
  94. package/dist/history/chat-message-history.d.ts +36 -0
  95. package/dist/history/chat-message-history.d.ts.map +1 -0
  96. package/dist/history/chat-message-history.js +67 -0
  97. package/dist/history/chat-message-history.js.map +1 -0
  98. package/dist/history/internal/append-saga.d.ts +17 -0
  99. package/dist/history/internal/append-saga.d.ts.map +1 -0
  100. package/dist/history/internal/append-saga.js +94 -0
  101. package/dist/history/internal/append-saga.js.map +1 -0
  102. package/dist/history/internal/item-mapper.d.ts +12 -0
  103. package/dist/history/internal/item-mapper.d.ts.map +1 -0
  104. package/dist/history/internal/item-mapper.js +33 -0
  105. package/dist/history/internal/item-mapper.js.map +1 -0
  106. package/dist/history/internal/keys.d.ts +9 -0
  107. package/dist/history/internal/keys.d.ts.map +1 -0
  108. package/dist/history/internal/keys.js +22 -0
  109. package/dist/history/internal/keys.js.map +1 -0
  110. package/dist/history/internal/message-chunker.d.ts +14 -0
  111. package/dist/history/internal/message-chunker.d.ts.map +1 -0
  112. package/dist/history/internal/message-chunker.js +60 -0
  113. package/dist/history/internal/message-chunker.js.map +1 -0
  114. package/dist/history/internal/message-transaction.d.ts +17 -0
  115. package/dist/history/internal/message-transaction.d.ts.map +1 -0
  116. package/dist/history/internal/message-transaction.js +27 -0
  117. package/dist/history/internal/message-transaction.js.map +1 -0
  118. package/dist/history/internal/query.d.ts +6 -0
  119. package/dist/history/internal/query.d.ts.map +1 -0
  120. package/dist/history/internal/query.js +28 -0
  121. package/dist/history/internal/query.js.map +1 -0
  122. package/dist/history/internal/session-update.d.ts +20 -0
  123. package/dist/history/internal/session-update.d.ts.map +1 -0
  124. package/dist/history/internal/session-update.js +46 -0
  125. package/dist/history/internal/session-update.js.map +1 -0
  126. package/dist/history/internal/setup.d.ts +28 -0
  127. package/dist/history/internal/setup.d.ts.map +1 -0
  128. package/dist/history/internal/setup.js +27 -0
  129. package/dist/history/internal/setup.js.map +1 -0
  130. package/dist/history/internal/title-generator.d.ts +7 -0
  131. package/dist/history/internal/title-generator.d.ts.map +1 -0
  132. package/dist/history/internal/title-generator.js +16 -0
  133. package/dist/history/internal/title-generator.js.map +1 -0
  134. package/dist/history/internal/ttl-anchor.d.ts +12 -0
  135. package/dist/history/internal/ttl-anchor.d.ts.map +1 -0
  136. package/dist/history/internal/ttl-anchor.js +26 -0
  137. package/dist/history/internal/ttl-anchor.js.map +1 -0
  138. package/dist/history/session-adapter.d.ts +10 -26
  139. package/dist/history/session-adapter.d.ts.map +1 -1
  140. package/dist/history/session-adapter.js +15 -57
  141. package/dist/history/session-adapter.js.map +1 -1
  142. package/dist/history/types.d.ts +36 -0
  143. package/dist/history/types.d.ts.map +1 -0
  144. package/dist/history/types.js +3 -0
  145. package/dist/history/types.js.map +1 -0
  146. package/dist/index.d.ts +18 -10
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +24 -16
  149. package/dist/index.js.map +1 -1
  150. package/dist/shared/clock.d.ts +3 -0
  151. package/dist/shared/clock.d.ts.map +1 -0
  152. package/dist/shared/clock.js +8 -0
  153. package/dist/shared/clock.js.map +1 -0
  154. package/dist/shared/codec/codec.d.ts +44 -0
  155. package/dist/shared/codec/codec.d.ts.map +1 -0
  156. package/dist/shared/codec/codec.js +44 -0
  157. package/dist/shared/codec/codec.js.map +1 -0
  158. package/dist/shared/codec/compression.d.ts +25 -0
  159. package/dist/shared/codec/compression.d.ts.map +1 -0
  160. package/dist/shared/codec/compression.js +49 -0
  161. package/dist/shared/codec/compression.js.map +1 -0
  162. package/dist/shared/codec/descriptor-keys.d.ts +4 -0
  163. package/dist/shared/codec/descriptor-keys.d.ts.map +1 -0
  164. package/dist/shared/codec/descriptor-keys.js +14 -0
  165. package/dist/shared/codec/descriptor-keys.js.map +1 -0
  166. package/dist/shared/codec/json-serde.d.ts +8 -0
  167. package/dist/shared/codec/json-serde.d.ts.map +1 -0
  168. package/dist/shared/codec/json-serde.js +18 -0
  169. package/dist/shared/codec/json-serde.js.map +1 -0
  170. package/dist/shared/codec/s3/client.d.ts +6 -0
  171. package/dist/shared/codec/s3/client.d.ts.map +1 -0
  172. package/dist/shared/codec/s3/client.js +18 -0
  173. package/dist/shared/codec/s3/client.js.map +1 -0
  174. package/dist/shared/codec/s3/config.d.ts +16 -0
  175. package/dist/shared/codec/s3/config.d.ts.map +1 -0
  176. package/dist/shared/codec/s3/config.js +14 -0
  177. package/dist/shared/codec/s3/config.js.map +1 -0
  178. package/dist/shared/codec/s3/delete.d.ts +8 -0
  179. package/dist/shared/codec/s3/delete.d.ts.map +1 -0
  180. package/dist/shared/codec/s3/delete.js +29 -0
  181. package/dist/shared/codec/s3/delete.js.map +1 -0
  182. package/dist/shared/codec/s3/lifecycle.d.ts +8 -0
  183. package/dist/shared/codec/s3/lifecycle.d.ts.map +1 -0
  184. package/dist/shared/codec/s3/lifecycle.js +47 -0
  185. package/dist/shared/codec/s3/lifecycle.js.map +1 -0
  186. package/dist/shared/codec/s3/offloader.d.ts +33 -0
  187. package/dist/shared/codec/s3/offloader.d.ts.map +1 -0
  188. package/dist/shared/codec/s3/offloader.js +80 -0
  189. package/dist/shared/codec/s3/offloader.js.map +1 -0
  190. package/dist/shared/codec/s3/orphans.d.ts +16 -0
  191. package/dist/shared/codec/s3/orphans.d.ts.map +1 -0
  192. package/dist/shared/codec/s3/orphans.js +73 -0
  193. package/dist/shared/codec/s3/orphans.js.map +1 -0
  194. package/dist/shared/codec/s3/read-write.d.ts +14 -0
  195. package/dist/shared/codec/s3/read-write.d.ts.map +1 -0
  196. package/dist/shared/codec/s3/read-write.js +42 -0
  197. package/dist/shared/codec/s3/read-write.js.map +1 -0
  198. package/dist/shared/constants.d.ts +37 -0
  199. package/dist/shared/constants.d.ts.map +1 -0
  200. package/dist/shared/constants.js +40 -0
  201. package/dist/shared/constants.js.map +1 -0
  202. package/dist/shared/dynamodb/backoff.d.ts +15 -0
  203. package/dist/shared/dynamodb/backoff.d.ts.map +1 -0
  204. package/dist/shared/dynamodb/backoff.js +48 -0
  205. package/dist/shared/dynamodb/backoff.js.map +1 -0
  206. package/dist/shared/dynamodb/batch-write.d.ts +10 -0
  207. package/dist/shared/dynamodb/batch-write.d.ts.map +1 -0
  208. package/dist/shared/dynamodb/batch-write.js +17 -0
  209. package/dist/shared/dynamodb/batch-write.js.map +1 -0
  210. package/dist/shared/dynamodb/client.d.ts +21 -0
  211. package/dist/shared/dynamodb/client.d.ts.map +1 -0
  212. package/dist/shared/dynamodb/client.js +19 -0
  213. package/dist/shared/dynamodb/client.js.map +1 -0
  214. package/dist/shared/dynamodb/drain-unprocessed.d.ts +15 -0
  215. package/dist/shared/dynamodb/drain-unprocessed.d.ts.map +1 -0
  216. package/dist/shared/dynamodb/drain-unprocessed.js +35 -0
  217. package/dist/shared/dynamodb/drain-unprocessed.js.map +1 -0
  218. package/dist/shared/dynamodb/paginate-core.d.ts +22 -0
  219. package/dist/shared/dynamodb/paginate-core.d.ts.map +1 -0
  220. package/dist/shared/dynamodb/paginate-core.js +52 -0
  221. package/dist/shared/dynamodb/paginate-core.js.map +1 -0
  222. package/dist/shared/dynamodb/paginate.d.ts +15 -0
  223. package/dist/shared/dynamodb/paginate.d.ts.map +1 -0
  224. package/dist/shared/dynamodb/paginate.js +20 -0
  225. package/dist/shared/dynamodb/paginate.js.map +1 -0
  226. package/dist/shared/dynamodb/retry-classifier.d.ts +9 -0
  227. package/dist/shared/dynamodb/retry-classifier.d.ts.map +1 -0
  228. package/dist/shared/dynamodb/retry-classifier.js +75 -0
  229. package/dist/shared/dynamodb/retry-classifier.js.map +1 -0
  230. package/dist/shared/dynamodb/retry.d.ts +18 -0
  231. package/dist/shared/dynamodb/retry.d.ts.map +1 -0
  232. package/dist/shared/dynamodb/retry.js +53 -0
  233. package/dist/shared/dynamodb/retry.js.map +1 -0
  234. package/dist/shared/dynamodb/scan.d.ts +15 -0
  235. package/dist/shared/dynamodb/scan.d.ts.map +1 -0
  236. package/dist/shared/dynamodb/scan.js +20 -0
  237. package/dist/shared/dynamodb/scan.js.map +1 -0
  238. package/dist/shared/dynamodb/types.d.ts +24 -0
  239. package/dist/shared/dynamodb/types.d.ts.map +1 -0
  240. package/dist/shared/dynamodb/types.js +3 -0
  241. package/dist/shared/dynamodb/types.js.map +1 -0
  242. package/dist/shared/errors/base-error.d.ts +22 -0
  243. package/dist/shared/errors/base-error.d.ts.map +1 -0
  244. package/dist/shared/errors/base-error.js +28 -0
  245. package/dist/shared/errors/base-error.js.map +1 -0
  246. package/dist/shared/errors/error-code.d.ts +13 -0
  247. package/dist/shared/errors/error-code.d.ts.map +1 -0
  248. package/dist/shared/errors/error-code.js +17 -0
  249. package/dist/shared/errors/error-code.js.map +1 -0
  250. package/dist/shared/errors/errors.d.ts +47 -0
  251. package/dist/shared/errors/errors.d.ts.map +1 -0
  252. package/dist/shared/errors/errors.js +82 -0
  253. package/dist/shared/errors/errors.js.map +1 -0
  254. package/dist/shared/errors/wrap-error.d.ts +16 -0
  255. package/dist/shared/errors/wrap-error.d.ts.map +1 -0
  256. package/dist/shared/errors/wrap-error.js +30 -0
  257. package/dist/shared/errors/wrap-error.js.map +1 -0
  258. package/dist/shared/logging/logger.d.ts +14 -0
  259. package/dist/shared/logging/logger.d.ts.map +1 -0
  260. package/dist/shared/logging/logger.js +16 -0
  261. package/dist/shared/logging/logger.js.map +1 -0
  262. package/dist/shared/logging/redaction.d.ts +19 -0
  263. package/dist/shared/logging/redaction.d.ts.map +1 -0
  264. package/dist/shared/logging/redaction.js +67 -0
  265. package/dist/shared/logging/redaction.js.map +1 -0
  266. package/dist/shared/options.d.ts +32 -0
  267. package/dist/shared/options.d.ts.map +1 -0
  268. package/dist/shared/options.js +3 -0
  269. package/dist/shared/options.js.map +1 -0
  270. package/dist/shared/ulid.d.ts +10 -0
  271. package/dist/shared/ulid.d.ts.map +1 -0
  272. package/dist/shared/ulid.js +65 -0
  273. package/dist/shared/ulid.js.map +1 -0
  274. package/dist/shared/validation/primitives.d.ts +17 -0
  275. package/dist/shared/validation/primitives.d.ts.map +1 -0
  276. package/dist/shared/validation/primitives.js +71 -0
  277. package/dist/shared/validation/primitives.js.map +1 -0
  278. package/dist/shared/validation/ttl.d.ts +16 -0
  279. package/dist/shared/validation/ttl.d.ts.map +1 -0
  280. package/dist/shared/validation/ttl.js +26 -0
  281. package/dist/shared/validation/ttl.js.map +1 -0
  282. package/dist/store/actions/get.d.ts +5 -0
  283. package/dist/store/actions/get.d.ts.map +1 -0
  284. package/dist/store/actions/get.js +21 -0
  285. package/dist/store/actions/get.js.map +1 -0
  286. package/dist/store/actions/list-namespaces.d.ts +9 -0
  287. package/dist/store/actions/list-namespaces.d.ts.map +1 -0
  288. package/dist/store/actions/list-namespaces.js +46 -0
  289. package/dist/store/actions/list-namespaces.js.map +1 -0
  290. package/dist/store/actions/put.d.ts +11 -0
  291. package/dist/store/actions/put.d.ts.map +1 -0
  292. package/dist/store/actions/put.js +81 -0
  293. package/dist/store/actions/put.js.map +1 -0
  294. package/dist/store/actions/reconcile-vector-index.d.ts +17 -0
  295. package/dist/store/actions/reconcile-vector-index.d.ts.map +1 -0
  296. package/dist/store/actions/reconcile-vector-index.js +27 -0
  297. package/dist/store/actions/reconcile-vector-index.js.map +1 -0
  298. package/dist/store/actions/search.d.ts +10 -0
  299. package/dist/store/actions/search.d.ts.map +1 -0
  300. package/dist/store/actions/search.js +72 -0
  301. package/dist/store/actions/search.js.map +1 -0
  302. package/dist/store/internal/filter.d.ts +10 -0
  303. package/dist/store/internal/filter.d.ts.map +1 -0
  304. package/dist/store/internal/filter.js +37 -0
  305. package/dist/store/internal/filter.js.map +1 -0
  306. package/dist/store/internal/index-reconcile.d.ts +22 -0
  307. package/dist/store/internal/index-reconcile.d.ts.map +1 -0
  308. package/dist/store/internal/index-reconcile.js +68 -0
  309. package/dist/store/internal/index-reconcile.js.map +1 -0
  310. package/dist/store/internal/index-sync.d.ts +11 -0
  311. package/dist/store/internal/index-sync.d.ts.map +1 -0
  312. package/dist/store/internal/index-sync.js +26 -0
  313. package/dist/store/internal/index-sync.js.map +1 -0
  314. package/dist/store/internal/item-mapper.d.ts +23 -0
  315. package/dist/store/internal/item-mapper.d.ts.map +1 -0
  316. package/dist/store/internal/item-mapper.js +51 -0
  317. package/dist/store/internal/item-mapper.js.map +1 -0
  318. package/dist/store/internal/keys.d.ts +18 -0
  319. package/dist/store/internal/keys.d.ts.map +1 -0
  320. package/dist/store/internal/keys.js +36 -0
  321. package/dist/store/internal/keys.js.map +1 -0
  322. package/dist/store/internal/namespace-match.d.ts +12 -0
  323. package/dist/store/internal/namespace-match.d.ts.map +1 -0
  324. package/dist/store/internal/namespace-match.js +41 -0
  325. package/dist/store/internal/namespace-match.js.map +1 -0
  326. package/dist/store/internal/query.d.ts +6 -0
  327. package/dist/store/internal/query.d.ts.map +1 -0
  328. package/dist/store/internal/query.js +32 -0
  329. package/dist/store/internal/query.js.map +1 -0
  330. package/dist/store/internal/ranker.d.ts +13 -0
  331. package/dist/store/internal/ranker.d.ts.map +1 -0
  332. package/dist/store/internal/ranker.js +29 -0
  333. package/dist/store/internal/ranker.js.map +1 -0
  334. package/dist/store/internal/semantic-search.d.ts +13 -0
  335. package/dist/store/internal/semantic-search.d.ts.map +1 -0
  336. package/dist/store/internal/semantic-search.js +47 -0
  337. package/dist/store/internal/semantic-search.js.map +1 -0
  338. package/dist/store/internal/setup.d.ts +31 -0
  339. package/dist/store/internal/setup.d.ts.map +1 -0
  340. package/dist/store/internal/setup.js +29 -0
  341. package/dist/store/internal/setup.js.map +1 -0
  342. package/dist/store/internal/validation.d.ts +7 -0
  343. package/dist/store/internal/validation.d.ts.map +1 -0
  344. package/dist/store/internal/validation.js +26 -0
  345. package/dist/store/internal/validation.js.map +1 -0
  346. package/dist/store/store.d.ts +24 -0
  347. package/dist/store/store.d.ts.map +1 -0
  348. package/dist/store/store.js +58 -0
  349. package/dist/store/store.js.map +1 -0
  350. package/dist/store/types.d.ts +28 -0
  351. package/dist/store/types.d.ts.map +1 -0
  352. package/dist/store/types.js +3 -0
  353. package/dist/store/types.js.map +1 -0
  354. package/dist/store/vector-backend.d.ts +27 -0
  355. package/dist/store/vector-backend.d.ts.map +1 -0
  356. package/dist/store/vector-backend.js +3 -0
  357. package/dist/store/vector-backend.js.map +1 -0
  358. package/package.json +21 -22
  359. package/dist/checkpointer/actions/index.d.ts +0 -5
  360. package/dist/checkpointer/actions/index.d.ts.map +0 -1
  361. package/dist/checkpointer/actions/index.js +0 -21
  362. package/dist/checkpointer/actions/index.js.map +0 -1
  363. package/dist/checkpointer/actions/validate-configurable.d.ts +0 -10
  364. package/dist/checkpointer/actions/validate-configurable.d.ts.map +0 -1
  365. package/dist/checkpointer/actions/validate-configurable.js +0 -39
  366. package/dist/checkpointer/actions/validate-configurable.js.map +0 -1
  367. package/dist/checkpointer/actions/writer.d.ts +0 -52
  368. package/dist/checkpointer/actions/writer.d.ts.map +0 -1
  369. package/dist/checkpointer/actions/writer.js +0 -109
  370. package/dist/checkpointer/actions/writer.js.map +0 -1
  371. package/dist/checkpointer/index.d.ts +0 -118
  372. package/dist/checkpointer/index.d.ts.map +0 -1
  373. package/dist/checkpointer/index.js +0 -393
  374. package/dist/checkpointer/index.js.map +0 -1
  375. package/dist/checkpointer/types/index.d.ts +0 -232
  376. package/dist/checkpointer/types/index.d.ts.map +0 -1
  377. package/dist/checkpointer/types/index.js +0 -13
  378. package/dist/checkpointer/types/index.js.map +0 -1
  379. package/dist/checkpointer/utils/deserialization.d.ts +0 -20
  380. package/dist/checkpointer/utils/deserialization.d.ts.map +0 -1
  381. package/dist/checkpointer/utils/deserialization.js +0 -81
  382. package/dist/checkpointer/utils/deserialization.js.map +0 -1
  383. package/dist/checkpointer/utils/index.d.ts +0 -7
  384. package/dist/checkpointer/utils/index.d.ts.map +0 -1
  385. package/dist/checkpointer/utils/index.js +0 -27
  386. package/dist/checkpointer/utils/index.js.map +0 -1
  387. package/dist/checkpointer/utils/validation.d.ts +0 -48
  388. package/dist/checkpointer/utils/validation.d.ts.map +0 -1
  389. package/dist/checkpointer/utils/validation.js +0 -235
  390. package/dist/checkpointer/utils/validation.js.map +0 -1
  391. package/dist/factory.d.ts +0 -153
  392. package/dist/factory.d.ts.map +0 -1
  393. package/dist/factory.js +0 -206
  394. package/dist/factory.js.map +0 -1
  395. package/dist/history/actions/add-message.d.ts +0 -10
  396. package/dist/history/actions/add-message.d.ts.map +0 -1
  397. package/dist/history/actions/add-message.js +0 -24
  398. package/dist/history/actions/add-message.js.map +0 -1
  399. package/dist/history/actions/index.d.ts +0 -9
  400. package/dist/history/actions/index.d.ts.map +0 -1
  401. package/dist/history/actions/index.js +0 -17
  402. package/dist/history/actions/index.js.map +0 -1
  403. package/dist/history/index.d.ts +0 -118
  404. package/dist/history/index.d.ts.map +0 -1
  405. package/dist/history/index.js +0 -179
  406. package/dist/history/index.js.map +0 -1
  407. package/dist/history/types/index.d.ts +0 -184
  408. package/dist/history/types/index.d.ts.map +0 -1
  409. package/dist/history/types/index.js +0 -7
  410. package/dist/history/types/index.js.map +0 -1
  411. package/dist/history/utils/index.d.ts +0 -9
  412. package/dist/history/utils/index.d.ts.map +0 -1
  413. package/dist/history/utils/index.js +0 -27
  414. package/dist/history/utils/index.js.map +0 -1
  415. package/dist/history/utils/optimistic-retry.d.ts +0 -31
  416. package/dist/history/utils/optimistic-retry.d.ts.map +0 -1
  417. package/dist/history/utils/optimistic-retry.js +0 -74
  418. package/dist/history/utils/optimistic-retry.js.map +0 -1
  419. package/dist/history/utils/title-generator.d.ts +0 -12
  420. package/dist/history/utils/title-generator.d.ts.map +0 -1
  421. package/dist/history/utils/title-generator.js +0 -57
  422. package/dist/history/utils/title-generator.js.map +0 -1
  423. package/dist/history/utils/update-expression-builder.d.ts +0 -55
  424. package/dist/history/utils/update-expression-builder.d.ts.map +0 -1
  425. package/dist/history/utils/update-expression-builder.js +0 -112
  426. package/dist/history/utils/update-expression-builder.js.map +0 -1
  427. package/dist/history/utils/validation.d.ts +0 -68
  428. package/dist/history/utils/validation.d.ts.map +0 -1
  429. package/dist/history/utils/validation.js +0 -213
  430. package/dist/history/utils/validation.js.map +0 -1
  431. package/dist/shared/index.d.ts +0 -5
  432. package/dist/shared/index.d.ts.map +0 -1
  433. package/dist/shared/index.js +0 -21
  434. package/dist/shared/index.js.map +0 -1
  435. package/dist/shared/utils/batch-write.d.ts +0 -74
  436. package/dist/shared/utils/batch-write.d.ts.map +0 -1
  437. package/dist/shared/utils/batch-write.js +0 -110
  438. package/dist/shared/utils/batch-write.js.map +0 -1
  439. package/dist/shared/utils/client-factory.d.ts +0 -25
  440. package/dist/shared/utils/client-factory.d.ts.map +0 -1
  441. package/dist/shared/utils/client-factory.js +0 -23
  442. package/dist/shared/utils/client-factory.js.map +0 -1
  443. package/dist/shared/utils/compressor.d.ts +0 -66
  444. package/dist/shared/utils/compressor.d.ts.map +0 -1
  445. package/dist/shared/utils/compressor.js +0 -133
  446. package/dist/shared/utils/compressor.js.map +0 -1
  447. package/dist/shared/utils/constants.d.ts +0 -13
  448. package/dist/shared/utils/constants.d.ts.map +0 -1
  449. package/dist/shared/utils/constants.js +0 -35
  450. package/dist/shared/utils/constants.js.map +0 -1
  451. package/dist/shared/utils/index.d.ts +0 -14
  452. package/dist/shared/utils/index.d.ts.map +0 -1
  453. package/dist/shared/utils/index.js +0 -30
  454. package/dist/shared/utils/index.js.map +0 -1
  455. package/dist/shared/utils/logger.d.ts +0 -75
  456. package/dist/shared/utils/logger.d.ts.map +0 -1
  457. package/dist/shared/utils/logger.js +0 -148
  458. package/dist/shared/utils/logger.js.map +0 -1
  459. package/dist/shared/utils/retry.d.ts +0 -26
  460. package/dist/shared/utils/retry.d.ts.map +0 -1
  461. package/dist/shared/utils/retry.js +0 -169
  462. package/dist/shared/utils/retry.js.map +0 -1
  463. package/dist/shared/utils/s3-offloader.d.ts +0 -153
  464. package/dist/shared/utils/s3-offloader.d.ts.map +0 -1
  465. package/dist/shared/utils/s3-offloader.js +0 -281
  466. package/dist/shared/utils/s3-offloader.js.map +0 -1
  467. package/dist/shared/utils/s3-orphans.d.ts +0 -16
  468. package/dist/shared/utils/s3-orphans.d.ts.map +0 -1
  469. package/dist/shared/utils/s3-orphans.js +0 -79
  470. package/dist/shared/utils/s3-orphans.js.map +0 -1
  471. package/dist/shared/utils/sleep.d.ts +0 -48
  472. package/dist/shared/utils/sleep.d.ts.map +0 -1
  473. package/dist/shared/utils/sleep.js +0 -82
  474. package/dist/shared/utils/sleep.js.map +0 -1
  475. package/dist/shared/utils/ttl.d.ts +0 -24
  476. package/dist/shared/utils/ttl.d.ts.map +0 -1
  477. package/dist/shared/utils/ttl.js +0 -43
  478. package/dist/shared/utils/ttl.js.map +0 -1
  479. package/dist/store/actions/get-operation.d.ts +0 -11
  480. package/dist/store/actions/get-operation.d.ts.map +0 -1
  481. package/dist/store/actions/get-operation.js +0 -42
  482. package/dist/store/actions/get-operation.js.map +0 -1
  483. package/dist/store/actions/index.d.ts +0 -5
  484. package/dist/store/actions/index.d.ts.map +0 -1
  485. package/dist/store/actions/index.js +0 -21
  486. package/dist/store/actions/index.js.map +0 -1
  487. package/dist/store/actions/list-namespaces-operation.d.ts +0 -10
  488. package/dist/store/actions/list-namespaces-operation.d.ts.map +0 -1
  489. package/dist/store/actions/list-namespaces-operation.js +0 -227
  490. package/dist/store/actions/list-namespaces-operation.js.map +0 -1
  491. package/dist/store/actions/put-operation.d.ts +0 -9
  492. package/dist/store/actions/put-operation.d.ts.map +0 -1
  493. package/dist/store/actions/put-operation.js +0 -107
  494. package/dist/store/actions/put-operation.js.map +0 -1
  495. package/dist/store/actions/search-operation.d.ts +0 -17
  496. package/dist/store/actions/search-operation.d.ts.map +0 -1
  497. package/dist/store/actions/search-operation.js +0 -203
  498. package/dist/store/actions/search-operation.js.map +0 -1
  499. package/dist/store/index.d.ts +0 -82
  500. package/dist/store/index.d.ts.map +0 -1
  501. package/dist/store/index.js +0 -172
  502. package/dist/store/index.js.map +0 -1
  503. package/dist/store/types/index.d.ts +0 -131
  504. package/dist/store/types/index.d.ts.map +0 -1
  505. package/dist/store/types/index.js.map +0 -1
  506. package/dist/store/utils/filter.d.ts +0 -16
  507. package/dist/store/utils/filter.d.ts.map +0 -1
  508. package/dist/store/utils/filter.js +0 -133
  509. package/dist/store/utils/filter.js.map +0 -1
  510. package/dist/store/utils/index.d.ts +0 -7
  511. package/dist/store/utils/index.d.ts.map +0 -1
  512. package/dist/store/utils/index.js +0 -27
  513. package/dist/store/utils/index.js.map +0 -1
  514. package/dist/store/utils/validation.d.ts +0 -61
  515. package/dist/store/utils/validation.d.ts.map +0 -1
  516. package/dist/store/utils/validation.js +0 -260
  517. package/dist/store/utils/validation.js.map +0 -1
@@ -1,203 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.searchOperationAction = void 0;
4
- const utils_1 = require("../../shared/utils");
5
- const utils_2 = require("../utils");
6
- /**
7
- * Search for memory items in DynamoDB
8
- *
9
- * @remarks
10
- * **Pagination trade-off:** DynamoDB does not support native offset-based pagination.
11
- * When `offset` is used, `limit + offset` items are loaded into memory and sliced.
12
- * For large offsets (up to 10,000), this can be memory-intensive.
13
- * Consider cursor-based pagination for high-offset use cases.
14
- *
15
- * @param params - Parameters for the search operation
16
- * @returns Array of matching items with optional similarity scores
17
- * @throws Error if the operation fails or validation fails
18
- */
19
- const searchOperationAction = async (params) => {
20
- const { client, embedding, memoryTableName, userId, op, fallbackToLexicalOnEmbeddingFailure = false, signal, } = params;
21
- const limit = op.limit ?? 100;
22
- const offset = op.offset ?? 0;
23
- // Validate inputs
24
- (0, utils_2.validateUserId)(userId);
25
- // Allow empty namespace prefix to search all namespaces
26
- if (op.namespacePrefix.length > 0) {
27
- (0, utils_2.validateNamespace)(op.namespacePrefix);
28
- }
29
- (0, utils_2.validatePagination)(limit, offset);
30
- const namespacePrefix = op.namespacePrefix.join('/');
31
- const queryParams = {
32
- TableName: memoryTableName,
33
- };
34
- // Build ExpressionAttributeValues and ExpressionAttributeNames
35
- const expressionAttributeValues = {
36
- ':uid': userId,
37
- };
38
- const expressionAttributeNames = {};
39
- // Build KeyConditionExpression
40
- let keyConditionExpression = 'user_id = :uid';
41
- if (namespacePrefix) {
42
- // Use begins_with on namespace_key for hierarchical search. NOTE: we do NOT
43
- // append a separator — `namespace_key` is `<nsPath>#<key>`, so appending "#"
44
- // would miss sub-namespaces ("users/alice#x" doesn't begin with "users#"),
45
- // and appending "/" would miss exact matches. Raw prefix is over-inclusive
46
- // (`users` also matches `users_v2`) but the in-memory ordering guarantees
47
- // correctness; the spurious rows are negligible in practice.
48
- expressionAttributeValues[':nsp'] = namespacePrefix;
49
- keyConditionExpression += ' AND begins_with(namespace_key, :nsp)';
50
- }
51
- queryParams.KeyConditionExpression = keyConditionExpression;
52
- queryParams.ExpressionAttributeValues = expressionAttributeValues;
53
- // Build filter expression if provided
54
- if (op.filter && Object.keys(op.filter).length > 0) {
55
- const filterResult = (0, utils_2.buildFilterExpression)(op.filter, expressionAttributeNames, expressionAttributeValues);
56
- if (filterResult.filterExpression) {
57
- queryParams.FilterExpression = filterResult.filterExpression;
58
- queryParams.ExpressionAttributeNames = expressionAttributeNames;
59
- queryParams.ExpressionAttributeValues = expressionAttributeValues;
60
- }
61
- }
62
- // When semantic search is requested, we must fetch ALL matching items so that
63
- // cosine similarity ranking operates on the full corpus — not just an arbitrary
64
- // DynamoDB page. For non-semantic queries we keep the original capped fetch.
65
- const isSemanticSearch = !!op.query && !!embedding;
66
- const fetchTarget = isSemanticSearch ? undefined : limit + offset;
67
- if (op.query && !embedding) {
68
- // User asked for text search but no embedding is configured — the query is
69
- // effectively dropped. Warn so callers aren't surprised by unfiltered results.
70
- (0, utils_1.getLogger)().warn('search operation received `query` but no embedding is configured on the store; ' +
71
- 'text search is skipped and results reflect only filter/namespace matches');
72
- }
73
- const items = [];
74
- let lastEvaluatedKey;
75
- let iterationCount = 0;
76
- // Execute a query with retry logic and safety limits
77
- do {
78
- // Prevent infinite loops
79
- iterationCount++;
80
- if (iterationCount > utils_2.ValidationConstants.MAX_LOOP_ITERATIONS) {
81
- throw new Error('Search operation exceeded maximum iteration limit');
82
- }
83
- // Size each page based on items still needed (items.length, not ScannedCount).
84
- // ScannedCount grows even for filtered-out rows, so gating by it can terminate
85
- // the loop early when a FilterExpression is active.
86
- queryParams.Limit = fetchTarget ? Math.max(1, fetchTarget - items.length) : undefined;
87
- if (lastEvaluatedKey) {
88
- queryParams.ExclusiveStartKey = lastEvaluatedKey;
89
- }
90
- const response = await (0, utils_2.withDynamoDBRetry)(async () => {
91
- return await client.query(queryParams);
92
- }, { signal });
93
- if (response.Items && response.Items.length > 0) {
94
- // Memory cap: non-semantic search throws (hard fail, surfaces to caller).
95
- // Semantic search logs a warning and returns a partial (possibly suboptimal)
96
- // ranked corpus instead — better than nothing for a best-effort relevance feature.
97
- if (items.length + response.Items.length > utils_2.ValidationConstants.MAX_TOTAL_ITEMS_IN_MEMORY) {
98
- if (isSemanticSearch) {
99
- (0, utils_1.getLogger)().warn(`Semantic search corpus truncated at ${utils_2.ValidationConstants.MAX_TOTAL_ITEMS_IN_MEMORY} items — ` +
100
- `results may not include the most relevant matches`);
101
- const remaining = utils_2.ValidationConstants.MAX_TOTAL_ITEMS_IN_MEMORY - items.length;
102
- if (remaining > 0)
103
- items.push(...response.Items.slice(0, remaining));
104
- break;
105
- }
106
- throw new Error('Search operation exceeded maximum items in memory limit');
107
- }
108
- items.push(...response.Items);
109
- }
110
- lastEvaluatedKey = response.LastEvaluatedKey;
111
- if (!lastEvaluatedKey)
112
- break;
113
- if (fetchTarget && items.length >= fetchTarget)
114
- break;
115
- } while (lastEvaluatedKey);
116
- if (items.length > 0) {
117
- let paginatedItems;
118
- if (isSemanticSearch) {
119
- // Rank the ENTIRE corpus by similarity, then paginate
120
- const ranked = await applySemanticSearch(items, op.query, embedding, fallbackToLexicalOnEmbeddingFailure);
121
- paginatedItems = ranked.slice(offset, offset + limit);
122
- }
123
- else {
124
- paginatedItems = items.slice(offset, offset + limit);
125
- }
126
- return paginatedItems.map((item) => ({
127
- namespace: item.namespace.split('/'),
128
- key: item.key,
129
- value: item.value,
130
- createdAt: new Date(item.createdAt),
131
- updatedAt: new Date(item.updatedAt),
132
- score: item.score,
133
- }));
134
- }
135
- return [];
136
- };
137
- exports.searchOperationAction = searchOperationAction;
138
- /**
139
- * Apply semantic search using vector embeddings and cosine similarity.
140
- *
141
- * Fail-closed by default: an `embedQuery()` failure propagates to the caller so
142
- * they know the returned ranking is not what was requested. Pass
143
- * `fallbackToLexical = true` to opt in to the legacy fail-open behavior where
144
- * embedding errors are logged and the raw, unranked items are returned.
145
- */
146
- async function applySemanticSearch(items, query, embedding, fallbackToLexical) {
147
- let queryEmbedding;
148
- try {
149
- queryEmbedding = await embedding.embedQuery(query);
150
- }
151
- catch (error) {
152
- if (!fallbackToLexical) {
153
- // Fail-closed: surface the failure so the caller can retry or degrade explicitly.
154
- throw error;
155
- }
156
- (0, utils_1.getLogger)().warn('Semantic search embedding failed — returning unranked results (fallbackToLexicalOnEmbeddingFailure=true):', error);
157
- return items;
158
- }
159
- try {
160
- const itemsWithScores = items
161
- .map((item) => {
162
- if (!item.embedding || !Array.isArray(item.embedding) || item.embedding.length === 0) {
163
- // Items without embeddings get score 0
164
- return { item: { ...item, score: 0 }, score: 0 };
165
- }
166
- // Calculate similarity for each embedding (multiple fields can be embedded)
167
- // Take the maximum similarity across all embeddings
168
- const similarities = item.embedding.map((emb) => cosineSimilarity(queryEmbedding, emb));
169
- const maxSimilarity = Math.max(...similarities);
170
- return {
171
- item: { ...item, score: maxSimilarity },
172
- score: maxSimilarity,
173
- };
174
- })
175
- .filter((result) => result.score > 0); // Only include items with embeddings
176
- // Sort by similarity score (highest first)
177
- itemsWithScores.sort((a, b) => b.score - a.score);
178
- return itemsWithScores.map((result) => result.item);
179
- }
180
- catch (error) {
181
- if (!fallbackToLexical) {
182
- throw error;
183
- }
184
- (0, utils_1.getLogger)().warn('Semantic search ranking failed — returning unranked results (fallbackToLexicalOnEmbeddingFailure=true):', error);
185
- return items;
186
- }
187
- }
188
- /**
189
- * Calculate cosine similarity between two vectors
190
- */
191
- function cosineSimilarity(vecA, vecB) {
192
- if (!vecA || !vecB || vecA.length !== vecB.length || vecA.length === 0) {
193
- return 0;
194
- }
195
- const dotProduct = vecA.reduce((sum, a, i) => sum + a * vecB[i], 0);
196
- const magnitudeA = Math.sqrt(vecA.reduce((sum, a) => sum + a * a, 0));
197
- const magnitudeB = Math.sqrt(vecB.reduce((sum, b) => sum + b * b, 0));
198
- if (magnitudeA === 0 || magnitudeB === 0) {
199
- return 0;
200
- }
201
- return dotProduct / (magnitudeA * magnitudeB);
202
- }
203
- //# sourceMappingURL=search-operation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-operation.js","sourceRoot":"","sources":["../../../src/store/actions/search-operation.ts"],"names":[],"mappings":";;;AAIA,8CAA+C;AAE/C,oCAOkB;AAElB;;;;;;;;;;;;GAYG;AACI,MAAM,qBAAqB,GAAG,KAAK,EACxC,MAAmC,EACZ,EAAE;IACzB,MAAM,EACJ,MAAM,EACN,SAAS,EACT,eAAe,EACf,MAAM,EACN,EAAE,EACF,mCAAmC,GAAG,KAAK,EAC3C,MAAM,GACP,GAAG,MAAM,CAAC;IAEX,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;IAE9B,kBAAkB;IAClB,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACvB,wDAAwD;IACxD,IAAI,EAAE,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,IAAA,yBAAiB,EAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,IAAA,0BAAkB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAElC,MAAM,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErD,MAAM,WAAW,GAAsB;QACrC,SAAS,EAAE,eAAe;KAC3B,CAAC;IAEF,+DAA+D;IAC/D,MAAM,yBAAyB,GAAwB;QACrD,MAAM,EAAE,MAAM;KACf,CAAC;IACF,MAAM,wBAAwB,GAA2B,EAAE,CAAC;IAE5D,+BAA+B;IAC/B,IAAI,sBAAsB,GAAG,gBAAgB,CAAC;IAE9C,IAAI,eAAe,EAAE,CAAC;QACpB,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,6DAA6D;QAC7D,yBAAyB,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC;QACpD,sBAAsB,IAAI,uCAAuC,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IAC5D,WAAW,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;IAElE,sCAAsC;IACtC,IAAI,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG,IAAA,6BAAqB,EACxC,EAAE,CAAC,MAAM,EACT,wBAAwB,EACxB,yBAAyB,CAC1B,CAAC;QAEF,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAClC,WAAW,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;YAC7D,WAAW,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;YAChE,WAAW,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;QACpE,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,gFAAgF;IAChF,8EAA8E;IAC9E,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC;IACnD,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;IAElE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,2EAA2E;QAC3E,+EAA+E;QAC/E,IAAA,iBAAS,GAAE,CAAC,IAAI,CACd,iFAAiF;YAC/E,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAU,EAAE,CAAC;IACxB,IAAI,gBAAiD,CAAC;IACtD,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,qDAAqD;IACrD,GAAG,CAAC;QACF,yBAAyB;QACzB,cAAc,EAAE,CAAC;QACjB,IAAI,cAAc,GAAG,2BAAmB,CAAC,mBAAmB,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,+EAA+E;QAC/E,+EAA+E;QAC/E,oDAAoD;QACpD,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtF,IAAI,gBAAgB,EAAE,CAAC;YACrB,WAAW,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAiB,EACtC,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC,EACD,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,0EAA0E;YAC1E,6EAA6E;YAC7E,mFAAmF;YACnF,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,2BAAmB,CAAC,yBAAyB,EAAE,CAAC;gBACzF,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAA,iBAAS,GAAE,CAAC,IAAI,CACd,uCAAuC,2BAAmB,CAAC,yBAAyB,WAAW;wBAC7F,mDAAmD,CACtD,CAAC;oBACF,MAAM,SAAS,GAAG,2BAAmB,CAAC,yBAAyB,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC/E,IAAI,SAAS,GAAG,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC7E,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QAE7C,IAAI,CAAC,gBAAgB;YAAE,MAAM;QAC7B,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,IAAI,WAAW;YAAE,MAAM;IACxD,CAAC,QAAQ,gBAAgB,EAAE;IAE3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,cAAqB,CAAC;QAC1B,IAAI,gBAAgB,EAAE,CAAC;YACrB,sDAAsD;YACtD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,KAAK,EACL,EAAE,CAAC,KAAM,EACT,SAAU,EACV,mCAAmC,CACpC,CAAC;YACF,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,CACvB,CAAC,IAAI,EAAc,EAAE,CAAC,CAAC;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACnC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAnKW,QAAA,qBAAqB,yBAmKhC;AAEF;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB,CAChC,KAAY,EACZ,KAAa,EACb,SAA8B,EAC9B,iBAA0B;IAE1B,IAAI,cAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,kFAAkF;YAClF,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAA,iBAAS,GAAE,CAAC,IAAI,CACd,2GAA2G,EAC3G,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,KAAK;aAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrF,uCAAuC;gBACvC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;YAED,4EAA4E;YAC5E,oDAAoD;YACpD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAa,EAAE,EAAE,CACxD,gBAAgB,CAAC,cAAc,EAAE,GAAG,CAAC,CACtC,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;YAEhD,OAAO;gBACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE;gBACvC,KAAK,EAAE,aAAa;aACrB,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,qCAAqC;QAE9E,2CAA2C;QAC3C,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAA,iBAAS,GAAE,CAAC,IAAI,CACd,yGAAyG,EACzG,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAc,EAAE,IAAc;IACtD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtE,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,UAAU,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;AAChD,CAAC"}
@@ -1,82 +0,0 @@
1
- /**
2
- * DynamoDB-based store implementation for LangGraph
3
- * Provides persistent storage for memory items with optional semantic search via embeddings
4
- */
5
- import type { RunnableConfig } from '@langchain/core/runnables';
6
- import { BaseStore, type Operation, type OperationResults } from '@langchain/langgraph';
7
- import type { DynamoDBStoreOptions } from './types';
8
- export declare class DynamoDBStore extends BaseStore {
9
- private readonly ddbClient;
10
- private readonly client;
11
- private readonly memoryTableName;
12
- private readonly embedding?;
13
- private readonly ttlDays?;
14
- private readonly fallbackToLexicalOnEmbeddingFailure;
15
- private readonly ownsClient;
16
- /**
17
- * Create a new DynamoDB store instance
18
- *
19
- * @param options - Configuration options for the store
20
- * @param options.memoryTableName - Name of the DynamoDB table to use
21
- * @param options.embedding - Optional embeddings for semantic search (any LangChain Embeddings provider)
22
- * @param options.clientConfig - Optional DynamoDB client configuration
23
- * @param options.client - Optional pre-built DynamoDBDocument client (takes precedence over clientConfig)
24
- * @param options.ttlDays - Optional TTL in days for stored items
25
- */
26
- constructor(options: DynamoDBStoreOptions);
27
- /**
28
- * Release underlying DynamoDB client resources.
29
- * Call this when the store is no longer needed to prevent resource leaks.
30
- * Skips cleanup if a shared client was injected via options.
31
- */
32
- destroy(): void;
33
- /**
34
- * Extract and validate user ID from config
35
- *
36
- * @param config - Runnable configuration
37
- * @returns User ID string
38
- * @throws Error if user_id is not provided or invalid
39
- */
40
- private getUserId;
41
- /**
42
- * Execute a batch of operations in parallel
43
- *
44
- * @param operations - Array of operations to execute
45
- * @param config - Runnable configuration containing user_id
46
- * @returns Array of results corresponding to each operation
47
- * @throws Error if user_id is not provided in config or if any operation fails
48
- */
49
- batch<Op extends Operation[]>(operations: Op, config?: RunnableConfig): Promise<OperationResults<Op>>;
50
- /**
51
- * Get a single item from the store
52
- *
53
- * @param userId - User ID for the item
54
- * @param op - Get operation parameters
55
- * @returns The item if found, null otherwise
56
- */
57
- private getOperation;
58
- /**
59
- * Put an item into the store
60
- *
61
- * @param userId - User ID for the item
62
- * @param op - Put operation parameters
63
- */
64
- private putOperation;
65
- /**
66
- * Search for items in the store with optional semantic search
67
- *
68
- * @param userId - User ID for filtering items
69
- * @param op - Search operation parameters
70
- * @returns Array of matching items with optional similarity scores
71
- */
72
- private searchOperation;
73
- /**
74
- * List unique namespaces in the store
75
- *
76
- * @param userId - User ID for filtering namespaces
77
- * @param op - List namespaces operation parameters
78
- * @returns Array of namespace paths
79
- */
80
- private listNamespacesOperation;
81
- }
82
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,SAAS,EAMT,KAAK,SAAS,EACd,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpD,qBAAa,aAAc,SAAQ,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAU;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IAErC;;;;;;;;;OASG;gBACS,OAAO,EAAE,oBAAoB;IAazC;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAMf;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAQjB;;;;;;;OAOG;IACG,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,EAChC,UAAU,EAAE,EAAE,EACd,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAmChC;;;;;;OAMG;YACW,YAAY;IAc1B;;;;;OAKG;YACW,YAAY;IAgB1B;;;;;;OAMG;YACW,eAAe;IAgB7B;;;;;;OAMG;YACW,uBAAuB;CAatC"}
@@ -1,172 +0,0 @@
1
- "use strict";
2
- /**
3
- * DynamoDB-based store implementation for LangGraph
4
- * Provides persistent storage for memory items with optional semantic search via embeddings
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.DynamoDBStore = void 0;
8
- const langgraph_1 = require("@langchain/langgraph");
9
- const shared_1 = require("../shared");
10
- const actions_1 = require("./actions");
11
- const utils_1 = require("./utils");
12
- class DynamoDBStore extends langgraph_1.BaseStore {
13
- ddbClient;
14
- client;
15
- memoryTableName;
16
- embedding;
17
- ttlDays;
18
- fallbackToLexicalOnEmbeddingFailure;
19
- ownsClient;
20
- /**
21
- * Create a new DynamoDB store instance
22
- *
23
- * @param options - Configuration options for the store
24
- * @param options.memoryTableName - Name of the DynamoDB table to use
25
- * @param options.embedding - Optional embeddings for semantic search (any LangChain Embeddings provider)
26
- * @param options.clientConfig - Optional DynamoDB client configuration
27
- * @param options.client - Optional pre-built DynamoDBDocument client (takes precedence over clientConfig)
28
- * @param options.ttlDays - Optional TTL in days for stored items
29
- */
30
- constructor(options) {
31
- super();
32
- this.memoryTableName = options.memoryTableName;
33
- ({
34
- ddbClient: this.ddbClient,
35
- client: this.client,
36
- ownsClient: this.ownsClient,
37
- } = (0, shared_1.resolveDynamoDBClient)(options));
38
- this.embedding = options.embedding;
39
- this.ttlDays = options.ttlDays;
40
- this.fallbackToLexicalOnEmbeddingFailure = options.fallbackToLexicalOnEmbeddingFailure ?? false;
41
- }
42
- /**
43
- * Release underlying DynamoDB client resources.
44
- * Call this when the store is no longer needed to prevent resource leaks.
45
- * Skips cleanup if a shared client was injected via options.
46
- */
47
- destroy() {
48
- if (this.ownsClient && this.ddbClient) {
49
- this.ddbClient.destroy();
50
- }
51
- }
52
- /**
53
- * Extract and validate user ID from config
54
- *
55
- * @param config - Runnable configuration
56
- * @returns User ID string
57
- * @throws Error if user_id is not provided or invalid
58
- */
59
- getUserId(config) {
60
- const userId = config?.configurable?.user_id;
61
- if (!userId || typeof userId !== 'string') {
62
- throw new Error('Field user_id is required in the RunnableConfig for DynamoDBStore.');
63
- }
64
- return userId;
65
- }
66
- /**
67
- * Execute a batch of operations in parallel
68
- *
69
- * @param operations - Array of operations to execute
70
- * @param config - Runnable configuration containing user_id
71
- * @returns Array of results corresponding to each operation
72
- * @throws Error if user_id is not provided in config or if any operation fails
73
- */
74
- async batch(operations, config) {
75
- const userId = this.getUserId(config);
76
- // Validate batch size to prevent resource exhaustion
77
- (0, utils_1.validateBatchSize)(operations.length);
78
- // Honor LangChain's RunnableConfig.signal — aborted signals reject every op.
79
- const signal = config?.signal;
80
- signal?.throwIfAborted();
81
- // Operation type dispatch — relies on LangGraph's Operation union discriminating
82
- // properties: GetOperation has {namespace, key}, PutOperation adds {value},
83
- // SearchOperation has {namespacePrefix}, ListNamespacesOperation has {limit, offset}
84
- // without {namespacePrefix} or {key}. This mirrors the official LangGraph stores.
85
- const promises = operations.map(async (op, index) => {
86
- if ('key' in op && !('value' in op)) {
87
- return await this.getOperation(userId, op, signal);
88
- }
89
- if ('key' in op && 'value' in op) {
90
- return await this.putOperation(userId, op, signal);
91
- }
92
- if ('namespacePrefix' in op) {
93
- return await this.searchOperation(userId, op, signal);
94
- }
95
- if (!('namespacePrefix' in op) && 'limit' in op && 'offset' in op) {
96
- return await this.listNamespacesOperation(userId, op, signal);
97
- }
98
- // Unrecognized operation - sanitized error message to prevent information disclosure
99
- throw new Error(`Unrecognized operation type at index ${index}`);
100
- });
101
- return (await Promise.all(promises));
102
- }
103
- /**
104
- * Get a single item from the store
105
- *
106
- * @param userId - User ID for the item
107
- * @param op - Get operation parameters
108
- * @returns The item if found, null otherwise
109
- */
110
- async getOperation(userId, op, signal) {
111
- return await (0, actions_1.getOperationAction)({
112
- client: this.client,
113
- memoryTableName: this.memoryTableName,
114
- userId,
115
- op,
116
- signal,
117
- });
118
- }
119
- /**
120
- * Put an item into the store
121
- *
122
- * @param userId - User ID for the item
123
- * @param op - Put operation parameters
124
- */
125
- async putOperation(userId, op, signal) {
126
- await (0, actions_1.putOperationAction)({
127
- client: this.client,
128
- memoryTableName: this.memoryTableName,
129
- userId,
130
- op,
131
- embedding: this.embedding,
132
- ttlDays: this.ttlDays,
133
- signal,
134
- });
135
- }
136
- /**
137
- * Search for items in the store with optional semantic search
138
- *
139
- * @param userId - User ID for filtering items
140
- * @param op - Search operation parameters
141
- * @returns Array of matching items with optional similarity scores
142
- */
143
- async searchOperation(userId, op, signal) {
144
- return await (0, actions_1.searchOperationAction)({
145
- client: this.client,
146
- memoryTableName: this.memoryTableName,
147
- userId,
148
- op,
149
- embedding: this.embedding,
150
- fallbackToLexicalOnEmbeddingFailure: this.fallbackToLexicalOnEmbeddingFailure,
151
- signal,
152
- });
153
- }
154
- /**
155
- * List unique namespaces in the store
156
- *
157
- * @param userId - User ID for filtering namespaces
158
- * @param op - List namespaces operation parameters
159
- * @returns Array of namespace paths
160
- */
161
- async listNamespacesOperation(userId, op, signal) {
162
- return await (0, actions_1.listNamespacesOperationAction)({
163
- client: this.client,
164
- memoryTableName: this.memoryTableName,
165
- userId,
166
- op,
167
- signal,
168
- });
169
- }
170
- }
171
- exports.DynamoDBStore = DynamoDBStore;
172
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"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"}
@@ -1,131 +0,0 @@
1
- import { DynamoDBClientConfig } from '@aws-sdk/client-dynamodb';
2
- import { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
3
- import type { EmbeddingsInterface } from '@langchain/core/embeddings';
4
- import { GetOperation, type ListNamespacesOperation, type PutOperation, type SearchOperation } from '@langchain/langgraph';
5
- /**
6
- * Namespace path - array of strings with optional wildcards
7
- */
8
- export type NamespacePath = (string | '*')[];
9
- /**
10
- * Configuration options for DynamoDBStore
11
- */
12
- export interface DynamoDBStoreOptions {
13
- /** Name of the DynamoDB table to use for storage */
14
- memoryTableName: string;
15
- /** Optional embeddings for semantic search (any LangChain Embeddings provider) */
16
- embedding?: EmbeddingsInterface;
17
- /** Optional DynamoDB client configuration */
18
- clientConfig?: DynamoDBClientConfig;
19
- /** Optional TTL in days for stored items (1-1825 days) */
20
- ttlDays?: number;
21
- /** Optional pre-built DynamoDBDocument client (takes precedence over clientConfig) */
22
- client?: DynamoDBDocument;
23
- /**
24
- * Controls behavior when a semantic-search embedding call (e.g. `embedding.embedQuery`)
25
- * fails — for example because Bedrock is rate-limited or unreachable.
26
- *
27
- * - `false` (default, **fail-closed**): the error propagates to the caller so
28
- * semantic search never silently degrades to unranked results. Recommended
29
- * for production to preserve the caller's trust that "a result ranked by
30
- * similarity" is what was actually returned.
31
- * - `true` (fail-open): the error is logged and the raw (unranked) DynamoDB
32
- * result set is returned instead. Only set this if your application has
33
- * explicit, user-visible handling for degraded search quality.
34
- */
35
- fallbackToLexicalOnEmbeddingFailure?: boolean;
36
- }
37
- /**
38
- * Parameters for put operation action
39
- */
40
- export interface PutOperationActionParams {
41
- /** DynamoDB document client */
42
- client: DynamoDBDocument;
43
- /** Name of the memory table */
44
- memoryTableName: string;
45
- /** User ID for the operation */
46
- userId: string;
47
- /** Put operation parameters */
48
- op: PutOperation;
49
- /** Optional embeddings for semantic search */
50
- embedding?: EmbeddingsInterface;
51
- /** Optional TTL in days */
52
- ttlDays?: number;
53
- /** Optional AbortSignal — cancels in-flight retries */
54
- signal?: AbortSignal;
55
- }
56
- /**
57
- * Parameters for get operation action
58
- */
59
- export interface GetOperationActionParams {
60
- /** DynamoDB document client */
61
- client: DynamoDBDocument;
62
- /** Name of the memory table */
63
- memoryTableName: string;
64
- /** User ID for the operation */
65
- userId: string;
66
- /** Get operation parameters */
67
- op: GetOperation;
68
- /** Optional AbortSignal — cancels in-flight retries */
69
- signal?: AbortSignal;
70
- }
71
- /**
72
- * Parameters for search operation action
73
- */
74
- export interface SearchOperationActionParams {
75
- /** DynamoDB document client */
76
- client: DynamoDBDocument;
77
- /** Name of the memory table */
78
- memoryTableName: string;
79
- /** User ID for the operation */
80
- userId: string;
81
- /** Search operation parameters */
82
- op: SearchOperation;
83
- /** Optional embeddings for semantic search */
84
- embedding?: EmbeddingsInterface;
85
- /**
86
- * When true, embedding failures log a warning and return lexical (unranked)
87
- * results instead of throwing. Defaults to false (fail-closed).
88
- */
89
- fallbackToLexicalOnEmbeddingFailure?: boolean;
90
- /** Optional AbortSignal — cancels in-flight retries */
91
- signal?: AbortSignal;
92
- }
93
- /**
94
- * Parameters for list namespaces operation action
95
- */
96
- export interface ListNamespacesOperationActionParams {
97
- /** DynamoDB document client */
98
- client: DynamoDBDocument;
99
- /** Name of the memory table */
100
- memoryTableName: string;
101
- /** User ID for the operation */
102
- userId: string;
103
- /** List namespaces operation parameters */
104
- op: ListNamespacesOperation;
105
- /** Optional AbortSignal — cancels in-flight retries */
106
- signal?: AbortSignal;
107
- }
108
- /**
109
- * Filter value with comparison operators.
110
- * Matches the operator set implemented by LangGraph's reference InMemoryStore
111
- * (`@langchain/langgraph-checkpoint/store/utils.js:62`).
112
- */
113
- export type FilterValue = {
114
- /** Equal to */
115
- $eq?: any;
116
- /** Not equal to */
117
- $ne?: any;
118
- /** Greater than */
119
- $gt?: number;
120
- /** Greater than or equal to */
121
- $gte?: number;
122
- /** Less than */
123
- $lt?: number;
124
- /** Less than or equal to */
125
- $lte?: number;
126
- /** In a list of values */
127
- $in?: any[];
128
- /** Not in a list of values */
129
- $nin?: any[];
130
- };
131
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/types/index.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- /**
2
- * DynamoDB filter expression builder utilities
3
- */
4
- import { FilterValue } from '../types';
5
- /**
6
- * Build DynamoDB filter expression from a filter object
7
- *
8
- * @param filter - Filter criteria object with field names and values
9
- * @param expressionAttributeNames - Object to populate with attribute name mappings
10
- * @param expressionAttributeValues - Object to populate with attribute value mappings
11
- * @returns Object containing the constructed filter expression
12
- */
13
- export declare function buildFilterExpression(filter: Record<string, FilterValue | any>, expressionAttributeNames: Record<string, string>, expressionAttributeValues: Record<string, any>): {
14
- filterExpression: string;
15
- };
16
- //# sourceMappingURL=filter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/store/utils/filter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAuBvC;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,EACzC,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChD,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7C;IACD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CA0HA"}