@farukada/aws-langgraph-dynamodb-ts 0.2.0 → 0.3.0

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 +226 -510
  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 +32 -30
  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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-search.d.ts","sourceRoot":"","sources":["../../../src/store/internal/semantic-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAYjE;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAOtF;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAK/B"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cosineSimilarity = cosineSimilarity;
4
+ exports.extractText = extractText;
5
+ exports.embedValue = embedValue;
6
+ const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
7
+ /** Cosine similarity of two equal-length vectors; 0 for zero/mismatched vectors. */
8
+ function cosineSimilarity(a, b) {
9
+ if (a.length !== b.length)
10
+ return 0;
11
+ let dot = 0;
12
+ let normA = 0;
13
+ let normB = 0;
14
+ for (let i = 0; i < a.length; i++) {
15
+ dot += a[i] * b[i];
16
+ normA += a[i] * a[i];
17
+ normB += b[i] * b[i];
18
+ }
19
+ if (normA === 0 || normB === 0)
20
+ return 0;
21
+ return dot / (Math.sqrt(normA) * Math.sqrt(normB));
22
+ }
23
+ /** Extract and join the indexable text of a value for the configured fields. */
24
+ function extractText(value, fields) {
25
+ const parts = [];
26
+ for (const field of fields) {
27
+ if (field === '$')
28
+ parts.push(JSON.stringify(value));
29
+ else
30
+ parts.push(...(0, langgraph_checkpoint_1.getTextAtPath)(value, field));
31
+ }
32
+ return parts.join(' ');
33
+ }
34
+ /**
35
+ * Embed a value for indexing, or undefined when indexing is off or the text is
36
+ * empty. `fieldsOverride` (from a put's `index` option) takes precedence over
37
+ * the store's configured fields.
38
+ */
39
+ async function embedValue(context, value, fieldsOverride) {
40
+ if (!context.index)
41
+ return undefined;
42
+ const text = extractText(value, fieldsOverride ?? context.index.fields ?? ['$']);
43
+ if (text.length === 0)
44
+ return undefined;
45
+ return context.index.embeddings.embedQuery(text);
46
+ }
47
+ //# sourceMappingURL=semantic-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../../src/store/internal/semantic-search.ts"],"names":[],"mappings":";;AAMA,4CAYC;AAGD,kCAOC;AAOD,gCASC;AA5CD,0EAAgE;AAKhE,oFAAoF;AACpF,SAAgB,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACvD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACzC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,SAAgB,WAAW,CAAC,KAAgC,EAAE,MAAgB;IAC5E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,KAAK,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;;YAChD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAA,oCAAa,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,UAAU,CAC9B,OAAqB,EACrB,KAAgC,EAChC,cAAyB;IAEzB,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { DynamoDBClient } from '@aws-sdk/client-dynamodb';
2
+ import type { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
3
+ import type { IndexConfig, SerializerProtocol } from '@langchain/langgraph-checkpoint';
4
+ import type { CompressionConfig } from '../../shared/codec/compression';
5
+ import { S3Offloader } from '../../shared/codec/s3/offloader';
6
+ import { type Logger } from '../../shared/logging/logger';
7
+ import type { TtlOption } from '../../shared/validation/ttl';
8
+ import type { DynamoDBStoreOptions } from '../types';
9
+ import type { VectorBackend } from '../vector-backend';
10
+ /** Resolved collaborators shared by every store action. */
11
+ export interface StoreContext {
12
+ client: DynamoDBDocument;
13
+ tableName: string;
14
+ serde: SerializerProtocol;
15
+ compression?: CompressionConfig;
16
+ offloader?: S3Offloader;
17
+ ttl?: TtlOption;
18
+ logger: Logger;
19
+ index?: IndexConfig;
20
+ vectorBackend?: VectorBackend;
21
+ maxSearchCandidates: number;
22
+ }
23
+ /** Result of wiring up a store from its options. */
24
+ export interface StoreSetup {
25
+ context: StoreContext;
26
+ ddbClient: DynamoDBClient | undefined;
27
+ ownsClient: boolean;
28
+ }
29
+ /** Resolve the client, optional S3 offloader, serializer, and index config. */
30
+ export declare function setUpStore(options: DynamoDBStoreOptions): StoreSetup;
31
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/store/internal/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAkBpE"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setUpStore = setUpStore;
4
+ const json_serde_1 = require("../../shared/codec/json-serde");
5
+ const offloader_1 = require("../../shared/codec/s3/offloader");
6
+ const constants_1 = require("../../shared/constants");
7
+ const client_1 = require("../../shared/dynamodb/client");
8
+ const logger_1 = require("../../shared/logging/logger");
9
+ /** Resolve the client, optional S3 offloader, serializer, and index config. */
10
+ function setUpStore(options) {
11
+ const resolved = (0, client_1.resolveDynamoDBClient)(options);
12
+ return {
13
+ context: {
14
+ client: resolved.client,
15
+ tableName: options.tableName,
16
+ serde: options.serde ?? json_serde_1.JSON_SERDE,
17
+ compression: options.compression,
18
+ offloader: options.s3 ? new offloader_1.S3Offloader(options.s3) : undefined,
19
+ ttl: options.ttl,
20
+ logger: (0, logger_1.resolveLogger)(options.logger),
21
+ index: options.index,
22
+ vectorBackend: options.vectorBackend,
23
+ maxSearchCandidates: options.maxSearchCandidates ?? constants_1.DEFAULT_MAX_SEARCH_CANDIDATES,
24
+ },
25
+ ddbClient: resolved.ddbClient,
26
+ ownsClient: resolved.ownsClient,
27
+ };
28
+ }
29
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/store/internal/setup.ts"],"names":[],"mappings":";;AAoCA,gCAkBC;AAjDD,8DAA2D;AAC3D,+DAA8D;AAC9D,sDAAuE;AACvE,yDAAqE;AACrE,wDAAyE;AA0BzE,+EAA+E;AAC/E,SAAgB,UAAU,CAAC,OAA6B;IACtD,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAChD,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,uBAAU;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,uBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/D,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,IAAA,sBAAa,EAAC,OAAO,CAAC,MAAM,CAAC;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,yCAA6B;SAClF;QACD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Validate search/listNamespaces paging is non-negative integers. */
2
+ export declare function validatePaging(offset: number, limit: number): void;
3
+ /** Validate the namespace is non-empty and each element is separator-free. */
4
+ export declare function validateNamespace(namespace: string[]): void;
5
+ /** Validate an item key is a non-empty, separator-free string. */
6
+ export declare function validateKey(key: string): void;
7
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/store/internal/validation.ts"],"names":[],"mappings":"AAQA,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGlE;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAM3D;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAG7C"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePaging = validatePaging;
4
+ exports.validateNamespace = validateNamespace;
5
+ exports.validateKey = validateKey;
6
+ const primitives_1 = require("../../shared/validation/primitives");
7
+ const keys_1 = require("./keys");
8
+ /** Validate search/listNamespaces paging is non-negative integers. */
9
+ function validatePaging(offset, limit) {
10
+ (0, primitives_1.validateInteger)(offset, 'offset', { min: 0 });
11
+ (0, primitives_1.validateInteger)(limit, 'limit', { min: 0 });
12
+ }
13
+ /** Validate the namespace is non-empty and each element is separator-free. */
14
+ function validateNamespace(namespace) {
15
+ (0, primitives_1.validateNonEmptyArray)(namespace, 'namespace');
16
+ for (const element of namespace) {
17
+ (0, primitives_1.validateNonEmptyString)(element, 'namespace element');
18
+ (0, primitives_1.assertNoSeparator)(element, keys_1.NAMESPACE_SEPARATOR, 'namespace element');
19
+ }
20
+ }
21
+ /** Validate an item key is a non-empty, separator-free string. */
22
+ function validateKey(key) {
23
+ (0, primitives_1.validateNonEmptyString)(key, 'key');
24
+ (0, primitives_1.assertNoSeparator)(key, keys_1.NAMESPACE_SEPARATOR, 'key');
25
+ }
26
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/store/internal/validation.ts"],"names":[],"mappings":";;AASA,wCAGC;AAGD,8CAMC;AAGD,kCAGC;AA3BD,mEAK4C;AAC5C,iCAA6C;AAE7C,sEAAsE;AACtE,SAAgB,cAAc,CAAC,MAAc,EAAE,KAAa;IAC1D,IAAA,4BAAe,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAA,4BAAe,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,8EAA8E;AAC9E,SAAgB,iBAAiB,CAAC,SAAmB;IACnD,IAAA,kCAAqB,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,IAAA,mCAAsB,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACrD,IAAA,8BAAiB,EAAC,OAAO,EAAE,0BAAmB,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAA,mCAAsB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,IAAA,8BAAiB,EAAC,GAAG,EAAE,0BAAmB,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { BaseStore, type Operation, type OperationResults } from '@langchain/langgraph-checkpoint';
2
+ import { type VectorReconcileResult } from './actions/reconcile-vector-index';
3
+ import type { DynamoDBStoreOptions } from './types';
4
+ /**
5
+ * DynamoDB-backed LangGraph store for long-term memory with optional semantic
6
+ * search. A thin orchestrator: the base class's get/put/search/delete/
7
+ * listNamespaces all funnel into {@link batch}, which dispatches each operation.
8
+ */
9
+ export declare class DynamoDBStore extends BaseStore {
10
+ private readonly context;
11
+ private readonly ownsClient;
12
+ private readonly ddbClient;
13
+ constructor(options: DynamoDBStoreOptions);
14
+ private dispatch;
15
+ batch<Op extends Operation[]>(operations: Op): Promise<OperationResults<Op>>;
16
+ /**
17
+ * Repair the configured vector backend against the canonical items under
18
+ * `namespacePrefix`. A maintenance tool; see {@link reconcileVectorIndex}.
19
+ */
20
+ reconcileVectorIndex(namespacePrefix: string[]): Promise<VectorReconcileResult>;
21
+ /** Release owned resources (the underlying client and any S3 client). */
22
+ destroy(): void;
23
+ }
24
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,KAAK,SAAS,EACd,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;gBAE3D,OAAO,EAAE,oBAAoB;IAQzC,OAAO,CAAC,QAAQ;IAOV,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAQlF;;;OAGG;IACH,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI/E,yEAAyE;IACzE,OAAO,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoDBStore = void 0;
4
+ const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
5
+ const get_1 = require("./actions/get");
6
+ const list_namespaces_1 = require("./actions/list-namespaces");
7
+ const put_1 = require("./actions/put");
8
+ const reconcile_vector_index_1 = require("./actions/reconcile-vector-index");
9
+ const search_1 = require("./actions/search");
10
+ const setup_1 = require("./internal/setup");
11
+ /**
12
+ * DynamoDB-backed LangGraph store for long-term memory with optional semantic
13
+ * search. A thin orchestrator: the base class's get/put/search/delete/
14
+ * listNamespaces all funnel into {@link batch}, which dispatches each operation.
15
+ */
16
+ class DynamoDBStore extends langgraph_checkpoint_1.BaseStore {
17
+ context;
18
+ ownsClient;
19
+ ddbClient;
20
+ constructor(options) {
21
+ super();
22
+ const setup = (0, setup_1.setUpStore)(options);
23
+ this.context = setup.context;
24
+ this.ownsClient = setup.ownsClient;
25
+ this.ddbClient = setup.ddbClient;
26
+ }
27
+ dispatch(operation) {
28
+ if ('namespacePrefix' in operation)
29
+ return (0, search_1.searchItems)(this.context, operation);
30
+ if ('value' in operation)
31
+ return (0, put_1.putItem)(this.context, operation);
32
+ if ('key' in operation)
33
+ return (0, get_1.getItem)(this.context, operation.namespace, operation.key);
34
+ return (0, list_namespaces_1.listNamespaces)(this.context, operation);
35
+ }
36
+ async batch(operations) {
37
+ const results = [];
38
+ for (const operation of operations) {
39
+ results.push(await this.dispatch(operation));
40
+ }
41
+ return results;
42
+ }
43
+ /**
44
+ * Repair the configured vector backend against the canonical items under
45
+ * `namespacePrefix`. A maintenance tool; see {@link reconcileVectorIndex}.
46
+ */
47
+ reconcileVectorIndex(namespacePrefix) {
48
+ return (0, reconcile_vector_index_1.reconcileVectorIndex)(this.context, namespacePrefix);
49
+ }
50
+ /** Release owned resources (the underlying client and any S3 client). */
51
+ destroy() {
52
+ this.context.offloader?.destroy();
53
+ if (this.ownsClient)
54
+ this.ddbClient?.destroy();
55
+ }
56
+ }
57
+ exports.DynamoDBStore = DynamoDBStore;
58
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":";;;AAAA,0EAMyC;AAEzC,uCAAwC;AACxC,+DAA2D;AAC3D,uCAAwC;AACxC,6EAG0C;AAC1C,6CAA+C;AAC/C,4CAAiE;AAKjE;;;;GAIG;AACH,MAAa,aAAc,SAAQ,gCAAS;IACzB,OAAO,CAAe;IACtB,UAAU,CAAU;IACpB,SAAS,CAA6C;IAEvE,YAAY,OAA6B;QACvC,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACnC,CAAC;IAEO,QAAQ,CAAC,SAAoB;QACnC,IAAI,iBAAiB,IAAI,SAAS;YAAE,OAAO,IAAA,oBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChF,IAAI,OAAO,IAAI,SAAS;YAAE,OAAO,IAAA,aAAO,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,SAAS;YAAE,OAAO,IAAA,aAAO,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACzF,OAAO,IAAA,gCAAc,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK,CAAyB,UAAc;QAChD,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,OAA+B,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,eAAyB;QAC5C,OAAO,IAAA,6CAA0B,EAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,yEAAyE;IACzE,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;CACF;AAzCD,sCAyCC"}
@@ -0,0 +1,28 @@
1
+ import type { IndexConfig, SerializerProtocol } from '@langchain/langgraph-checkpoint';
2
+ import type { PayloadDescriptor } from '../shared/codec/codec';
3
+ import type { BaseAdapterOptions, CodecOptions } from '../shared/options';
4
+ import type { VectorBackend } from './vector-backend';
5
+ /** Options for {@link DynamoDBStore}. */
6
+ export type DynamoDBStoreOptions = BaseAdapterOptions & CodecOptions & {
7
+ /** Optional semantic-search index configuration (embeddings + fields). */
8
+ index?: IndexConfig;
9
+ /** Optional serializer override (defaults to the JSON serializer). */
10
+ serde?: SerializerProtocol;
11
+ /** Optional external vector index; when set, similarity search delegates to it. */
12
+ vectorBackend?: VectorBackend;
13
+ /** Max candidates the in-DB ranker will score before erroring (default 1000). */
14
+ maxSearchCandidates?: number;
15
+ };
16
+ /** The DynamoDB item backing a single stored value. */
17
+ export interface StoreItemRecord {
18
+ PK: string;
19
+ SK: string;
20
+ namespace: string[];
21
+ key: string;
22
+ value: PayloadDescriptor;
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ embedding?: number[];
26
+ ttl?: number;
27
+ }
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GACnD,YAAY,GAAG;IACb,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,sEAAsE;IACtE,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,mFAAmF;IACnF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEJ,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ /** A vector-similarity match returned by an external {@link VectorBackend}. */
2
+ export interface VectorMatch {
3
+ namespace: string[];
4
+ key: string;
5
+ score: number;
6
+ }
7
+ /** A stored vector's location, returned by {@link VectorBackend.listKeys}. */
8
+ export interface VectorRef {
9
+ namespace: string[];
10
+ key: string;
11
+ }
12
+ /**
13
+ * Pluggable vector index. When provided to the store, embeddings live here and
14
+ * similarity search is delegated to it; DynamoDB still holds the canonical item.
15
+ */
16
+ export interface VectorBackend {
17
+ upsert(namespace: string[], key: string, vector: number[]): Promise<void>;
18
+ query(namespacePrefix: string[], queryVector: number[], topK: number): Promise<VectorMatch[]>;
19
+ delete(namespace: string[], key: string): Promise<void>;
20
+ /**
21
+ * Optionally enumerate every stored vector under `namespacePrefix`. Enables
22
+ * `reconcileVectorIndex` to prune vectors orphaned by a lost delete. Omit it
23
+ * when the backend cannot enumerate — reconciliation then re-pushes only.
24
+ */
25
+ listKeys?(namespacePrefix: string[]): Promise<VectorRef[]>;
26
+ }
27
+ //# sourceMappingURL=vector-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-backend.d.ts","sourceRoot":"","sources":["../../src/store/vector-backend.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9F,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CAC5D"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vector-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-backend.js","sourceRoot":"","sources":["../../src/store/vector-backend.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farukada/aws-langgraph-dynamodb-ts",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "description": "AWS DynamoDB implementation for LangGraph Memory Store and Checkpoint Saver in TypeScript",
6
6
  "keywords": [
@@ -37,14 +37,17 @@
37
37
  "scripts": {
38
38
  "build": "tsc",
39
39
  "typecheck": "tsc --noEmit",
40
- "lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\"",
41
- "lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix",
40
+ "lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"*.config.ts\" --no-error-on-unmatched-pattern",
41
+ "lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"*.config.ts\" --fix --no-error-on-unmatched-pattern",
42
42
  "test": "jest",
43
43
  "test:integration": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.integration.config.ts",
44
44
  "test:integration:up": "docker compose up -d",
45
45
  "test:integration:down": "docker compose down",
46
- "test:mutate": "stryker run",
47
- "test:mutate:quick": "stryker run --mutate src/shared/utils/retry.ts,src/shared/utils/compressor.ts,src/store/utils/filter.ts",
46
+ "test:conformance": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.conformance.config.ts",
47
+ "test:aws": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.aws.config.ts",
48
+ "test:static": "jest test/static",
49
+ "test:package-smoke": "node --test test/package-smoke/smoke.test.mjs",
50
+ "prepublishOnly": "npm run typecheck && npm run lint && npm run build && npm test",
48
51
  "docs": "typedoc",
49
52
  "docs:watch": "typedoc --watch",
50
53
  "unused": "knip",
@@ -54,16 +57,17 @@
54
57
  "cpd:test": "jscpd ./test --threshold 2 --min-lines 3 --reporters console --verbose --format typescript,javascript"
55
58
  },
56
59
  "dependencies": {
57
- "@aws-sdk/client-dynamodb": "^3.1031.0",
58
- "@aws-sdk/lib-dynamodb": "^3.1031.0",
59
- "@langchain/aws": "^1.3.5",
60
- "@langchain/core": "^1.1.40",
61
- "@langchain/langgraph": "^1.2.9",
62
- "@langchain/langgraph-checkpoint": "^1.0.1",
63
- "jsonpath-plus": "^10.4.0"
60
+ "@aws-sdk/client-dynamodb": "^3.1057.0",
61
+ "@aws-sdk/lib-dynamodb": "^3.1057.0",
62
+ "@langchain/core": "^1.1.48",
63
+ "@langchain/langgraph-checkpoint": "^1.0.3"
64
64
  },
65
65
  "peerDependencies": {
66
- "@aws-sdk/client-s3": "^3.900.0"
66
+ "@aws-sdk/client-s3": "^3.900.0",
67
+ "@langchain/langgraph": "^1.3.2"
68
+ },
69
+ "overrides": {
70
+ "uuid": ">=11.1.1"
67
71
  },
68
72
  "peerDependenciesMeta": {
69
73
  "@aws-sdk/client-s3": {
@@ -71,36 +75,34 @@
71
75
  }
72
76
  },
73
77
  "devDependencies": {
74
- "@aws-sdk/client-bedrock-runtime": "^3.1031.0",
75
- "@aws-sdk/client-s3": "^3.1031.0",
78
+ "@aws-sdk/client-s3": "^3.1057.0",
76
79
  "@eslint/js": "^10.0.1",
77
- "@stryker-mutator/core": "9.6.1",
78
- "@stryker-mutator/jest-runner": "9.6.1",
79
- "@stryker-mutator/typescript-checker": "9.6.1",
80
+ "@langchain/aws": "^1.3.9",
80
81
  "@types/jest": "^30.0.0",
81
- "@types/node": "^25.6.0",
82
+ "@types/node": "^25.9.1",
82
83
  "aws-sdk-client-mock": "^4.1.0",
83
84
  "depcheck": "^1.4.7",
84
- "eslint": "^10.2.0",
85
+ "eslint": "^10.4.1",
85
86
  "eslint-config-prettier": "^10.1.8",
86
87
  "eslint-plugin-no-instanceof": "^1.0.1",
87
- "eslint-plugin-perfectionist": "^5.8.0",
88
- "eslint-plugin-prettier": "^5.5.5",
88
+ "eslint-plugin-perfectionist": "^5.9.0",
89
+ "eslint-plugin-prettier": "^5.5.6",
89
90
  "eslint-plugin-unused-imports": "^4.4.1",
90
- "globals": "^17.5.0",
91
- "jest": "^30.3.0",
91
+ "expect-type": "^1.3.0",
92
+ "fast-check": "^4.8.0",
93
+ "jest": "^30.4.2",
92
94
  "jest-sonar": "^0.2.16",
93
- "jiti": "^2.6.1",
94
- "jscpd": "^4.0.9",
95
- "knip": "^6.4.1",
95
+ "jiti": "^2.7.0",
96
+ "jscpd": "^4.2.4",
97
+ "knip": "^6.14.2",
96
98
  "prettier": "^3.8.3",
97
- "ts-jest": "^29.4.9",
98
- "ts-loader": "^9.5.7",
99
+ "ts-jest": "^29.4.11",
99
100
  "ts-node": "^10.9.2",
100
101
  "typedoc": "^0.28.19",
101
102
  "typedoc-plugin-markdown": "^4.11.0",
102
103
  "typescript": "^6.0.3",
103
- "typescript-eslint": "^8.58.2"
104
+ "typescript-eslint": "^8.60.0",
105
+ "zod": "^4.3.6"
104
106
  },
105
107
  "prettier": {
106
108
  "semi": true,
@@ -1,5 +0,0 @@
1
- export * from './delete-thread';
2
- export * from './get-tuple';
3
- export * from './put';
4
- export * from './put-writes';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./delete-thread"), exports);
18
- __exportStar(require("./get-tuple"), exports);
19
- __exportStar(require("./put"), exports);
20
- __exportStar(require("./put-writes"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkpointer/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,8CAA4B;AAC5B,wCAAsB;AACtB,+CAA6B"}
@@ -1,10 +0,0 @@
1
- import { ValidatedConfigurable } from '../types';
2
- /**
3
- * Validate and extract configurable parameters
4
- *
5
- * @param configurable - Configurable object from RunnableConfig
6
- * @returns Validated configurable parameters
7
- * @throws CheckpointerValidationError if validation fails
8
- */
9
- export declare const validateConfigurable: (configurable: Record<string, unknown> | undefined) => ValidatedConfigurable;
10
- //# sourceMappingURL=validate-configurable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-configurable.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/actions/validate-configurable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAQjD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAChD,qBA8BF,CAAC"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateConfigurable = void 0;
4
- const utils_1 = require("../utils");
5
- /**
6
- * Validate and extract configurable parameters
7
- *
8
- * @param configurable - Configurable object from RunnableConfig
9
- * @returns Validated configurable parameters
10
- * @throws CheckpointerValidationError if validation fails
11
- */
12
- const validateConfigurable = (configurable) => {
13
- if (!configurable) {
14
- throw new utils_1.CheckpointerValidationError('Missing configurable');
15
- }
16
- const { thread_id, checkpoint_ns, checkpoint_id } = configurable;
17
- // Validate thread_id (required)
18
- if (typeof thread_id !== 'string') {
19
- throw new utils_1.CheckpointerValidationError('thread_id must be a string');
20
- }
21
- (0, utils_1.validateThreadId)(thread_id);
22
- // Validate checkpoint_ns (optional)
23
- if (checkpoint_ns !== undefined && typeof checkpoint_ns !== 'string') {
24
- throw new utils_1.CheckpointerValidationError('checkpoint_ns must be a string');
25
- }
26
- (0, utils_1.validateCheckpointNs)(checkpoint_ns);
27
- // Validate checkpoint_id (optional)
28
- if (checkpoint_id !== undefined && typeof checkpoint_id !== 'string') {
29
- throw new utils_1.CheckpointerValidationError('checkpoint_id must be a string');
30
- }
31
- (0, utils_1.validateCheckpointId)(checkpoint_id, false);
32
- return {
33
- thread_id,
34
- checkpoint_ns: checkpoint_ns ?? '',
35
- checkpoint_id: checkpoint_id,
36
- };
37
- };
38
- exports.validateConfigurable = validateConfigurable;
39
- //# sourceMappingURL=validate-configurable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-configurable.js","sourceRoot":"","sources":["../../../src/checkpointer/actions/validate-configurable.ts"],"names":[],"mappings":";;;AACA,oCAKkB;AAElB;;;;;;GAMG;AACI,MAAM,oBAAoB,GAAG,CAClC,YAAiD,EAC1B,EAAE;IACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,mCAA2B,CAAC,sBAAsB,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;IAEjE,gCAAgC;IAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,mCAA2B,CAAC,4BAA4B,CAAC,CAAC;IACtE,CAAC;IACD,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;IAE5B,oCAAoC;IACpC,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,mCAA2B,CAAC,gCAAgC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAA,4BAAoB,EAAC,aAAmC,CAAC,CAAC;IAE1D,oCAAoC;IACpC,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,mCAA2B,CAAC,gCAAgC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAA,4BAAoB,EAAC,aAAmC,EAAE,KAAK,CAAC,CAAC;IAEjE,OAAO;QACL,SAAS;QACT,aAAa,EAAG,aAAwB,IAAI,EAAE;QAC9C,aAAa,EAAE,aAAmC;KACnD,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,oBAAoB,wBAgC/B"}
@@ -1,52 +0,0 @@
1
- import { DynamoDBWriteItem, WriterProps } from '../types';
2
- /**
3
- * Writer class for managing pending writes in DynamoDB
4
- * Handles serialization and composite key management
5
- */
6
- export declare class Writer {
7
- /** Unique identifier for the conversation thread */
8
- readonly thread_id: string;
9
- /** Namespace for checkpoint isolation (default: '') */
10
- readonly checkpoint_ns: string;
11
- /** Unique identifier for the checkpoint */
12
- readonly checkpoint_id: string;
13
- /** Unique identifier for the task that created this write */
14
- readonly task_id: string;
15
- /** Index of the write within the task. Negative values correspond to
16
- * `WRITES_IDX_MAP` special-channel slots (__error__=-1, __scheduled__=-2,
17
- * __interrupt__=-3, __resume__=-4); non-negative values are positional. */
18
- readonly idx: number;
19
- /** Channel name for the write */
20
- readonly channel: string;
21
- /** Type identifier for deserialization */
22
- readonly type: string;
23
- /** Serialized value as binary data */
24
- readonly value: Uint8Array;
25
- constructor({ thread_id, checkpoint_ns, checkpoint_id, task_id, idx, channel, type, value, }: WriterProps);
26
- toDynamoDBItem(): DynamoDBWriteItem;
27
- /**
28
- * Deserialize a Writer instance from a DynamoDB item
29
- *
30
- * @param item - DynamoDB write item
31
- * @returns Writer instance
32
- * @throws Error if parsing fails or data is invalid
33
- */
34
- static fromDynamoDBItem({ thread_id_checkpoint_id_checkpoint_ns, task_id_idx, channel, type, value, }: DynamoDBWriteItem): Writer;
35
- /**
36
- * Generate a partition key for DynamoDB from thread, checkpoint, and namespace
37
- *
38
- * @param params - Thread ID, checkpoint ID, and namespace
39
- * @returns Composite partition key
40
- */
41
- static getPartitionKey({ thread_id, checkpoint_id, checkpoint_ns, }: {
42
- thread_id: string;
43
- checkpoint_id: string;
44
- checkpoint_ns: string;
45
- }): string;
46
- /**
47
- * Separator used for composite keys.
48
- * Note: input validation ensures this separator cannot appear in any component.
49
- */
50
- static readonly SEPARATOR = ":::";
51
- }
52
- //# sourceMappingURL=writer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/actions/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAS1D;;;GAGG;AACH,qBAAa,MAAM;IACjB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2CAA2C;IAC3C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;gFAE4E;IAC5E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;gBAEf,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,OAAO,EACP,GAAG,EACH,OAAO,EACP,IAAI,EACJ,KAAK,GACN,EAAE,WAAW;IAsBd,cAAc,IAAI,iBAAiB;IAcnC;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,EACtB,qCAAqC,EACrC,WAAW,EACX,OAAO,EACP,IAAI,EACJ,KAAK,GACN,EAAE,iBAAiB,GAAG,MAAM;IA8B7B;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,EACrB,SAAS,EACT,aAAa,EACb,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,MAAM;IAIV;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAS;CACnC"}