@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,133 +0,0 @@
1
- "use strict";
2
- /**
3
- * DynamoDB filter expression builder utilities
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildFilterExpression = buildFilterExpression;
7
- const SUPPORTED_OPERATORS = ['$eq', '$ne', '$gt', '$gte', '$lt', '$lte', '$in', '$nin'];
8
- /**
9
- * Maximum array size for `$in` / `$nin` operators.
10
- *
11
- * DynamoDB caps the total ExpressionAttributeValues count at 100 per expression
12
- * and condition-/filter-expression length at 4 KB. 50 items per list keeps headroom
13
- * for other conditions in the same expression and produces predictable error
14
- * messages instead of the opaque `ValidationException` DynamoDB returns when the
15
- * expression limits are breached.
16
- */
17
- const MAX_IN_LIST_SIZE = 50;
18
- /**
19
- * Soft cap on the assembled FilterExpression string length. DynamoDB rejects
20
- * expressions longer than 4 KiB with a `ValidationException`. We check at 3.5 KiB
21
- * so we trip a clean, client-side error with actionable guidance before the
22
- * request burns a round trip.
23
- */
24
- const MAX_FILTER_EXPRESSION_BYTES = 3.5 * 1024;
25
- /**
26
- * Build DynamoDB filter expression from a filter object
27
- *
28
- * @param filter - Filter criteria object with field names and values
29
- * @param expressionAttributeNames - Object to populate with attribute name mappings
30
- * @param expressionAttributeValues - Object to populate with attribute value mappings
31
- * @returns Object containing the constructed filter expression
32
- */
33
- function buildFilterExpression(filter, expressionAttributeNames, expressionAttributeValues) {
34
- const filterExpressions = [];
35
- let nameCounter = Object.keys(expressionAttributeNames).length;
36
- let valueCounter = Object.keys(expressionAttributeValues).length;
37
- // Add #value for nested access if not present
38
- if (!expressionAttributeNames['#value']) {
39
- expressionAttributeNames['#value'] = 'value';
40
- }
41
- for (const [fieldKey, fieldValue] of Object.entries(filter)) {
42
- const attrName = `#attr${nameCounter++}`;
43
- const valuePath = `#value.${attrName}`;
44
- expressionAttributeNames[attrName] = fieldKey;
45
- // Handle operator-based filtering
46
- if (typeof fieldValue === 'object' && fieldValue !== null && !Array.isArray(fieldValue)) {
47
- // Surface typos / unsupported operators rather than silently dropping the filter
48
- const unknownOps = Object.keys(fieldValue).filter((k) => !SUPPORTED_OPERATORS.includes(k));
49
- if (unknownOps.length > 0) {
50
- throw new Error(`Unsupported filter operator(s) for field "${fieldKey}": ${unknownOps.join(', ')}. ` +
51
- `Supported: ${SUPPORTED_OPERATORS.join(', ')}`);
52
- }
53
- if (fieldValue.$eq !== undefined) {
54
- const valueKey = `:val${valueCounter++}`;
55
- expressionAttributeValues[valueKey] = fieldValue.$eq;
56
- filterExpressions.push(`${valuePath} = ${valueKey}`);
57
- }
58
- if (fieldValue.$ne !== undefined) {
59
- const valueKey = `:val${valueCounter++}`;
60
- expressionAttributeValues[valueKey] = fieldValue.$ne;
61
- filterExpressions.push(`${valuePath} <> ${valueKey}`);
62
- }
63
- if (fieldValue.$gt !== undefined) {
64
- const valueKey = `:val${valueCounter++}`;
65
- expressionAttributeValues[valueKey] = fieldValue.$gt;
66
- filterExpressions.push(`${valuePath} > ${valueKey}`);
67
- }
68
- if (fieldValue.$gte !== undefined) {
69
- const valueKey = `:val${valueCounter++}`;
70
- expressionAttributeValues[valueKey] = fieldValue.$gte;
71
- filterExpressions.push(`${valuePath} >= ${valueKey}`);
72
- }
73
- if (fieldValue.$lt !== undefined) {
74
- const valueKey = `:val${valueCounter++}`;
75
- expressionAttributeValues[valueKey] = fieldValue.$lt;
76
- filterExpressions.push(`${valuePath} < ${valueKey}`);
77
- }
78
- if (fieldValue.$lte !== undefined) {
79
- const valueKey = `:val${valueCounter++}`;
80
- expressionAttributeValues[valueKey] = fieldValue.$lte;
81
- filterExpressions.push(`${valuePath} <= ${valueKey}`);
82
- }
83
- if (fieldValue.$in !== undefined) {
84
- if (!Array.isArray(fieldValue.$in) || fieldValue.$in.length === 0) {
85
- throw new Error(`$in operator for "${fieldKey}" requires a non-empty array`);
86
- }
87
- if (fieldValue.$in.length > MAX_IN_LIST_SIZE) {
88
- throw new Error(`$in operator for "${fieldKey}" supports at most ${MAX_IN_LIST_SIZE} values ` +
89
- `(got ${fieldValue.$in.length}). Split the query or narrow the filter.`);
90
- }
91
- const placeholders = fieldValue.$in.map((v) => {
92
- const valueKey = `:val${valueCounter++}`;
93
- expressionAttributeValues[valueKey] = v;
94
- return valueKey;
95
- });
96
- filterExpressions.push(`${valuePath} IN (${placeholders.join(', ')})`);
97
- }
98
- if (fieldValue.$nin !== undefined) {
99
- if (!Array.isArray(fieldValue.$nin) || fieldValue.$nin.length === 0) {
100
- throw new Error(`$nin operator for "${fieldKey}" requires a non-empty array`);
101
- }
102
- if (fieldValue.$nin.length > MAX_IN_LIST_SIZE) {
103
- throw new Error(`$nin operator for "${fieldKey}" supports at most ${MAX_IN_LIST_SIZE} values ` +
104
- `(got ${fieldValue.$nin.length}). Split the query or narrow the filter.`);
105
- }
106
- const placeholders = fieldValue.$nin.map((v) => {
107
- const valueKey = `:val${valueCounter++}`;
108
- expressionAttributeValues[valueKey] = v;
109
- return valueKey;
110
- });
111
- filterExpressions.push(`NOT (${valuePath} IN (${placeholders.join(', ')}))`);
112
- }
113
- }
114
- else {
115
- // Direct equality comparison
116
- const valueKey = `:val${valueCounter++}`;
117
- expressionAttributeValues[valueKey] = fieldValue;
118
- filterExpressions.push(`${valuePath} = ${valueKey}`);
119
- }
120
- }
121
- const joined = filterExpressions.length > 0 ? filterExpressions.join(' AND ') : '';
122
- // Byte length — DynamoDB counts expression size in UTF-8 bytes, not JS code units.
123
- const byteLength = Buffer.byteLength(joined, 'utf8');
124
- if (byteLength > MAX_FILTER_EXPRESSION_BYTES) {
125
- throw new Error(`Filter expression is ${byteLength} bytes, exceeds DynamoDB's 4 KiB limit ` +
126
- `(checked against a ${MAX_FILTER_EXPRESSION_BYTES}-byte soft cap). ` +
127
- `Simplify the filter: fewer fields, shorter names, or drop deep nested paths.`);
128
- }
129
- return {
130
- filterExpression: joined,
131
- };
132
- }
133
- //# sourceMappingURL=filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/store/utils/filter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Store utilities
3
- */
4
- export * from './validation';
5
- export * from './filter';
6
- export { withDynamoDBRetry, withRetry, type RetryOptions } from '../../shared/utils';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- /**
3
- * Store utilities
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.withRetry = exports.withDynamoDBRetry = void 0;
21
- __exportStar(require("./validation"), exports);
22
- __exportStar(require("./filter"), exports);
23
- // Retry utilities re-exported from shared
24
- var utils_1 = require("../../shared/utils");
25
- Object.defineProperty(exports, "withDynamoDBRetry", { enumerable: true, get: function () { return utils_1.withDynamoDBRetry; } });
26
- Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return utils_1.withRetry; } });
27
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,2CAAyB;AACzB,0CAA0C;AAC1C,4CAAqF;AAA5E,0GAAA,iBAAiB,OAAA;AAAE,kGAAA,SAAS,OAAA"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Validation utilities for store operations
3
- */
4
- export declare class ValidationError extends Error {
5
- constructor(message: string);
6
- }
7
- /**
8
- * Validate namespace array.
9
- *
10
- * Enforces the same invariants as LangGraph's base `validateNamespace`
11
- * (`@langchain/langgraph-checkpoint/store/base.js:16-24`) plus the
12
- * separators we use internally for the DynamoDB sort-key composite.
13
- */
14
- export declare function validateNamespace(namespace: string[]): void;
15
- /**
16
- * Validate key string
17
- */
18
- export declare function validateKey(key: any): void;
19
- /**
20
- * Validate value size
21
- */
22
- export declare function validateValue(value: any): void;
23
- /**
24
- * Validate pagination parameters
25
- */
26
- export declare function validatePagination(limit?: any, offset?: any): void;
27
- /**
28
- * Validate TTL days (wraps shared validation with a store-specific error type)
29
- */
30
- export declare function validateTTL(ttlDays?: number): void;
31
- /**
32
- * Validate embeddings
33
- */
34
- export declare function validateEmbeddings(embeddings?: number[][]): void;
35
- /**
36
- * Validate user ID
37
- */
38
- export declare function validateUserId(userId: any): void;
39
- /**
40
- * Validate JSONPath expressions to prevent injection attacks
41
- */
42
- export declare function validateJSONPath(paths: string[]): void;
43
- /**
44
- * Validate maxDepth parameter
45
- */
46
- export declare function validateMaxDepth(maxDepth?: any): void;
47
- /**
48
- * Validate batch operations count
49
- */
50
- export declare function validateBatchSize(operationsCount: any): void;
51
- /**
52
- * Export constants for use in other modules
53
- */
54
- export declare const ValidationConstants: {
55
- readonly MAX_LOOP_ITERATIONS: 1000;
56
- readonly MAX_TOTAL_ITEMS_IN_MEMORY: 10000;
57
- readonly MAX_OFFSET: 10000;
58
- readonly MAX_DEPTH: 100;
59
- readonly MAX_BATCH_SIZE: 100;
60
- };
61
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/store/utils/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAyC3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAgB1C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAW9C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CA4BlE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAOlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAoChE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAYhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAmCtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAgBrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,GAAG,GAAG,IAAI,CAc5D;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC"}
@@ -1,260 +0,0 @@
1
- "use strict";
2
- /**
3
- * Validation utilities for store operations
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ValidationConstants = exports.ValidationError = void 0;
7
- exports.validateNamespace = validateNamespace;
8
- exports.validateKey = validateKey;
9
- exports.validateValue = validateValue;
10
- exports.validatePagination = validatePagination;
11
- exports.validateTTL = validateTTL;
12
- exports.validateEmbeddings = validateEmbeddings;
13
- exports.validateUserId = validateUserId;
14
- exports.validateJSONPath = validateJSONPath;
15
- exports.validateMaxDepth = validateMaxDepth;
16
- exports.validateBatchSize = validateBatchSize;
17
- const utils_1 = require("../../shared/utils");
18
- const MAX_KEY_LENGTH = 1024;
19
- const MAX_NAMESPACE_DEPTH = 20;
20
- const MAX_VALUE_SIZE = 400 * 1024; // 400KB (DynamoDB item size limit is 400KB)
21
- const MAX_EMBEDDING_DIMENSIONS = 10000;
22
- const MAX_EMBEDDINGS_PER_ITEM = 100;
23
- const MAX_LIST_LIMIT = 1000; // Maximum list/search limit
24
- const MAX_OFFSET = 10000; // Prevent resource exhaustion
25
- const MAX_DEPTH = 100; // Maximum depth for namespace listing
26
- const MAX_BATCH_SIZE = 100; // Maximum operations in a single batch
27
- const MAX_JSONPATH_LENGTH = 500; // Maximum length for JSONPath expressions
28
- class ValidationError extends Error {
29
- constructor(message) {
30
- super(message);
31
- this.name = 'ValidationError';
32
- }
33
- }
34
- exports.ValidationError = ValidationError;
35
- /**
36
- * Validate namespace array.
37
- *
38
- * Enforces the same invariants as LangGraph's base `validateNamespace`
39
- * (`@langchain/langgraph-checkpoint/store/base.js:16-24`) plus the
40
- * separators we use internally for the DynamoDB sort-key composite.
41
- */
42
- function validateNamespace(namespace) {
43
- if (!Array.isArray(namespace)) {
44
- throw new ValidationError('Namespace must be an array');
45
- }
46
- if (namespace.length === 0) {
47
- throw new ValidationError('Namespace cannot be empty');
48
- }
49
- if (namespace.length > MAX_NAMESPACE_DEPTH) {
50
- throw new ValidationError(`Namespace depth exceeds maximum of ${MAX_NAMESPACE_DEPTH} levels`);
51
- }
52
- // Reserved root label per LangGraph base-class contract
53
- if (namespace[0] === 'langgraph') {
54
- throw new ValidationError('Namespace root label "langgraph" is reserved');
55
- }
56
- for (const part of namespace) {
57
- if (typeof part !== 'string') {
58
- throw new ValidationError('Namespace parts must be strings');
59
- }
60
- if (part.length === 0) {
61
- throw new ValidationError('Namespace parts cannot be empty strings');
62
- }
63
- // Reserved characters per LangGraph base-class contract (".") and DynamoDB
64
- // sort-key separators we use internally ("#", "/").
65
- if (part.includes('.')) {
66
- throw new ValidationError('Namespace parts cannot contain "." character');
67
- }
68
- if (part.includes('#')) {
69
- throw new ValidationError('Namespace parts cannot contain "#" character');
70
- }
71
- if (part.includes('/')) {
72
- throw new ValidationError('Namespace parts cannot contain "/" character');
73
- }
74
- }
75
- }
76
- /**
77
- * Validate key string
78
- */
79
- function validateKey(key) {
80
- if (typeof key !== 'string') {
81
- throw new ValidationError('Key must be a string');
82
- }
83
- if (key.length === 0) {
84
- throw new ValidationError('Key cannot be empty');
85
- }
86
- if (key.length > MAX_KEY_LENGTH) {
87
- throw new ValidationError(`Key exceeds maximum length of ${MAX_KEY_LENGTH} characters`);
88
- }
89
- if (key.includes('#')) {
90
- throw new ValidationError('Key cannot contain "#" character');
91
- }
92
- }
93
- /**
94
- * Validate value size
95
- */
96
- function validateValue(value) {
97
- if (value === undefined) {
98
- throw new ValidationError('Value cannot be undefined');
99
- }
100
- const size = new TextEncoder().encode(JSON.stringify(value)).byteLength;
101
- if (size > MAX_VALUE_SIZE) {
102
- throw new ValidationError(`Value size (${size} bytes) exceeds maximum of ${MAX_VALUE_SIZE} bytes`);
103
- }
104
- }
105
- /**
106
- * Validate pagination parameters
107
- */
108
- function validatePagination(limit, offset) {
109
- if (limit !== undefined) {
110
- if (typeof limit !== 'number' || !Number.isInteger(limit)) {
111
- throw new ValidationError('Limit must be an integer');
112
- }
113
- if (limit < 0) {
114
- throw new ValidationError('Limit cannot be negative');
115
- }
116
- if (limit > MAX_LIST_LIMIT) {
117
- throw new ValidationError(`Limit cannot exceed ${MAX_LIST_LIMIT}`);
118
- }
119
- }
120
- if (offset !== undefined) {
121
- if (typeof offset !== 'number' || !Number.isInteger(offset)) {
122
- throw new ValidationError('Offset must be an integer');
123
- }
124
- if (offset < 0) {
125
- throw new ValidationError('Offset cannot be negative');
126
- }
127
- if (offset > MAX_OFFSET) {
128
- throw new ValidationError(`Offset cannot exceed ${MAX_OFFSET}`);
129
- }
130
- }
131
- }
132
- /**
133
- * Validate TTL days (wraps shared validation with a store-specific error type)
134
- */
135
- function validateTTL(ttlDays) {
136
- try {
137
- (0, utils_1.validateTTLDays)(ttlDays);
138
- }
139
- catch (error) {
140
- // eslint-disable-next-line no-instanceof/no-instanceof
141
- throw new ValidationError(error instanceof Error ? error.message : String(error));
142
- }
143
- }
144
- /**
145
- * Validate embeddings
146
- */
147
- function validateEmbeddings(embeddings) {
148
- if (!embeddings) {
149
- return;
150
- }
151
- if (!Array.isArray(embeddings)) {
152
- throw new ValidationError('Embeddings must be an array');
153
- }
154
- if (embeddings.length > MAX_EMBEDDINGS_PER_ITEM) {
155
- throw new ValidationError(`Number of embeddings (${embeddings.length}) exceeds maximum of ${MAX_EMBEDDINGS_PER_ITEM}`);
156
- }
157
- for (const embedding of embeddings) {
158
- if (!Array.isArray(embedding)) {
159
- throw new ValidationError('Each embedding must be an array of numbers');
160
- }
161
- if (embedding.length === 0) {
162
- throw new ValidationError('Embedding cannot be empty');
163
- }
164
- if (embedding.length > MAX_EMBEDDING_DIMENSIONS) {
165
- throw new ValidationError(`Embedding dimensions (${embedding.length}) exceed maximum of ${MAX_EMBEDDING_DIMENSIONS}`);
166
- }
167
- for (const value of embedding) {
168
- if (typeof value !== 'number' || !Number.isFinite(value)) {
169
- throw new ValidationError('Embedding values must be finite numbers');
170
- }
171
- }
172
- }
173
- }
174
- /**
175
- * Validate user ID
176
- */
177
- function validateUserId(userId) {
178
- if (typeof userId !== 'string') {
179
- throw new ValidationError('User ID must be a string');
180
- }
181
- if (userId.length === 0) {
182
- throw new ValidationError('User ID cannot be empty');
183
- }
184
- if (userId.length > 256) {
185
- throw new ValidationError('User ID exceeds maximum length of 256 characters');
186
- }
187
- }
188
- /**
189
- * Validate JSONPath expressions to prevent injection attacks
190
- */
191
- function validateJSONPath(paths) {
192
- if (!Array.isArray(paths)) {
193
- throw new ValidationError('JSONPath index must be an array');
194
- }
195
- if (paths.length === 0) {
196
- return;
197
- }
198
- if (paths.length > 50) {
199
- throw new ValidationError('Too many JSONPath expressions (maximum 50)');
200
- }
201
- for (const path of paths) {
202
- if (typeof path !== 'string') {
203
- throw new ValidationError('JSONPath expression must be a string');
204
- }
205
- if (path.length === 0) {
206
- throw new ValidationError('JSONPath expression cannot be empty');
207
- }
208
- if (path.length > MAX_JSONPATH_LENGTH) {
209
- throw new ValidationError(`JSONPath expression exceeds maximum length of ${MAX_JSONPATH_LENGTH} characters`);
210
- }
211
- // Block prototype-pollution-shaped access, but only when it's used as a
212
- // property step (preceded by `.` or `[`). Plain substrings like `$.constructors[0]`
213
- // or `$.data.prototyping` are legitimate paths and must pass through.
214
- if (/(?:^|\.|\[)(?:__proto__|constructor|prototype)(?:$|[.[\]])/.test(path)) {
215
- throw new ValidationError('JSONPath expression contains disallowed patterns');
216
- }
217
- }
218
- }
219
- /**
220
- * Validate maxDepth parameter
221
- */
222
- function validateMaxDepth(maxDepth) {
223
- if (maxDepth === undefined) {
224
- return;
225
- }
226
- if (typeof maxDepth !== 'number' || !Number.isInteger(maxDepth)) {
227
- throw new ValidationError('maxDepth must be an integer');
228
- }
229
- if (maxDepth < 1) {
230
- throw new ValidationError('maxDepth must be at least 1');
231
- }
232
- if (maxDepth > MAX_DEPTH) {
233
- throw new ValidationError(`maxDepth cannot exceed ${MAX_DEPTH}`);
234
- }
235
- }
236
- /**
237
- * Validate batch operations count
238
- */
239
- function validateBatchSize(operationsCount) {
240
- if (typeof operationsCount !== 'number' || !Number.isInteger(operationsCount)) {
241
- throw new ValidationError('Operations count must be an integer');
242
- }
243
- if (operationsCount < 1) {
244
- throw new ValidationError('Batch must contain at least one operation');
245
- }
246
- if (operationsCount > MAX_BATCH_SIZE) {
247
- throw new ValidationError(`Batch size (${operationsCount}) exceeds maximum of ${MAX_BATCH_SIZE} operations`);
248
- }
249
- }
250
- /**
251
- * Export constants for use in other modules
252
- */
253
- exports.ValidationConstants = {
254
- MAX_LOOP_ITERATIONS: utils_1.MAX_LOOP_ITERATIONS,
255
- MAX_TOTAL_ITEMS_IN_MEMORY: utils_1.MAX_TOTAL_ITEMS_IN_MEMORY,
256
- MAX_OFFSET,
257
- MAX_DEPTH,
258
- MAX_BATCH_SIZE,
259
- };
260
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/store/utils/validation.ts"],"names":[],"mappings":"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"}