@farukada/aws-langgraph-dynamodb-ts 1.0.0-rc.1 → 1.0.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 (608) hide show
  1. package/README.md +1820 -290
  2. package/dist/cjs/backfill/backfill.d.ts +171 -0
  3. package/dist/cjs/backfill/backfill.js +177 -0
  4. package/dist/cjs/checkpointer/actions/delete-thread.d.ts +50 -0
  5. package/dist/cjs/checkpointer/actions/delete-thread.js +26 -0
  6. package/dist/cjs/checkpointer/actions/get-tuple.d.ts +36 -0
  7. package/dist/cjs/checkpointer/actions/get-tuple.js +22 -0
  8. package/dist/cjs/checkpointer/actions/list.d.ts +55 -0
  9. package/dist/cjs/checkpointer/actions/list.js +70 -0
  10. package/dist/cjs/checkpointer/actions/put-writes.d.ts +49 -0
  11. package/dist/cjs/checkpointer/actions/put-writes.js +21 -0
  12. package/dist/cjs/checkpointer/actions/put.d.ts +95 -0
  13. package/dist/cjs/checkpointer/actions/put.js +79 -0
  14. package/dist/cjs/checkpointer/internal/delta-history.d.ts +124 -0
  15. package/dist/cjs/checkpointer/internal/delta-history.js +131 -0
  16. package/dist/cjs/checkpointer/internal/listing.d.ts +149 -0
  17. package/dist/cjs/checkpointer/internal/listing.js +104 -0
  18. package/dist/cjs/checkpointer/internal/parse.d.ts +298 -0
  19. package/dist/cjs/checkpointer/internal/parse.js +184 -0
  20. package/dist/cjs/checkpointer/internal/pending-writes.d.ts +314 -0
  21. package/dist/cjs/checkpointer/internal/pending-writes.js +241 -0
  22. package/dist/cjs/checkpointer/internal/read.d.ts +135 -0
  23. package/dist/cjs/checkpointer/internal/read.js +132 -0
  24. package/dist/cjs/checkpointer/internal/rows.d.ts +644 -0
  25. package/dist/cjs/checkpointer/internal/rows.js +356 -0
  26. package/dist/cjs/checkpointer/internal/setup.d.ts +47 -0
  27. package/dist/cjs/checkpointer/internal/setup.js +25 -0
  28. package/dist/cjs/checkpointer/saver.d.ts +306 -0
  29. package/dist/cjs/checkpointer/saver.js +56 -0
  30. package/dist/cjs/checkpointer/types.d.ts +51 -0
  31. package/dist/cjs/factory/factory.d.ts +154 -0
  32. package/dist/cjs/factory/factory.js +137 -0
  33. package/dist/{factory → cjs/factory}/types.d.ts +33 -14
  34. package/dist/cjs/history/actions/add-messages.d.ts +51 -0
  35. package/dist/cjs/history/actions/add-messages.js +17 -0
  36. package/dist/cjs/history/actions/clear.d.ts +52 -0
  37. package/dist/cjs/history/actions/clear.js +29 -0
  38. package/dist/cjs/history/actions/get-messages.d.ts +60 -0
  39. package/dist/cjs/history/actions/get-messages.js +58 -0
  40. package/dist/cjs/history/actions/list-sessions.d.ts +55 -0
  41. package/dist/cjs/history/actions/list-sessions.js +67 -0
  42. package/dist/cjs/history/actions/reconcile-count.d.ts +49 -0
  43. package/dist/cjs/history/actions/reconcile-count.js +8 -0
  44. package/dist/cjs/history/chat-message-history.d.ts +267 -0
  45. package/dist/cjs/history/chat-message-history.js +61 -0
  46. package/dist/cjs/history/internal/append.d.ts +244 -0
  47. package/dist/cjs/history/internal/append.js +267 -0
  48. package/dist/cjs/history/internal/message-read.d.ts +84 -0
  49. package/dist/cjs/history/internal/message-read.js +93 -0
  50. package/dist/cjs/history/internal/parse.d.ts +153 -0
  51. package/dist/cjs/history/internal/parse.js +113 -0
  52. package/dist/cjs/history/internal/rows.d.ts +196 -0
  53. package/dist/cjs/history/internal/rows.js +96 -0
  54. package/dist/cjs/history/internal/session.d.ts +350 -0
  55. package/dist/cjs/history/internal/session.js +296 -0
  56. package/dist/cjs/history/internal/setup.d.ts +64 -0
  57. package/dist/cjs/history/internal/setup.js +60 -0
  58. package/dist/cjs/history/session-adapter.d.ts +112 -0
  59. package/dist/cjs/history/session-adapter.js +38 -0
  60. package/dist/cjs/history/types.d.ts +102 -0
  61. package/dist/cjs/index.d.ts +53 -0
  62. package/dist/cjs/index.js +25 -0
  63. package/dist/cjs/package.json +1 -0
  64. package/dist/cjs/shared/adapter.d.ts +146 -0
  65. package/dist/cjs/shared/adapter.js +70 -0
  66. package/dist/cjs/shared/clock.d.ts +52 -0
  67. package/dist/cjs/shared/clock.js +14 -0
  68. package/dist/cjs/shared/codec/codec.d.ts +336 -0
  69. package/dist/cjs/shared/codec/codec.js +162 -0
  70. package/dist/cjs/shared/codec/compression.d.ts +66 -0
  71. package/dist/cjs/shared/codec/compression.js +45 -0
  72. package/dist/cjs/shared/codec/json-serde.d.ts +80 -0
  73. package/dist/cjs/shared/codec/json-serde.js +58 -0
  74. package/dist/{shared → cjs/shared}/codec/s3/client-types.d.ts +22 -2
  75. package/dist/{shared → cjs/shared}/codec/s3/client-types.js +0 -1
  76. package/dist/cjs/shared/codec/s3/client.d.ts +63 -0
  77. package/dist/cjs/shared/codec/s3/client.js +78 -0
  78. package/dist/cjs/shared/codec/s3/config.d.ts +260 -0
  79. package/dist/cjs/shared/codec/s3/config.js +92 -0
  80. package/dist/cjs/shared/codec/s3/lifecycle.d.ts +220 -0
  81. package/dist/cjs/shared/codec/s3/lifecycle.js +223 -0
  82. package/dist/cjs/shared/codec/s3/offloader.d.ts +428 -0
  83. package/dist/cjs/shared/codec/s3/offloader.js +289 -0
  84. package/dist/cjs/shared/concurrency.d.ts +43 -0
  85. package/dist/{shared → cjs/shared}/concurrency.js +10 -9
  86. package/dist/cjs/shared/dynamodb/abort.d.ts +47 -0
  87. package/dist/cjs/shared/dynamodb/abort.js +16 -0
  88. package/dist/cjs/shared/dynamodb/batch-write.d.ts +86 -0
  89. package/dist/cjs/shared/dynamodb/batch-write.js +79 -0
  90. package/dist/cjs/shared/dynamodb/cancellation.d.ts +124 -0
  91. package/dist/cjs/shared/dynamodb/cancellation.js +37 -0
  92. package/dist/cjs/shared/dynamodb/client.d.ts +177 -0
  93. package/dist/{shared → cjs/shared}/dynamodb/client.js +12 -14
  94. package/dist/cjs/shared/dynamodb/idempotent-write.d.ts +596 -0
  95. package/dist/cjs/shared/dynamodb/idempotent-write.js +173 -0
  96. package/dist/cjs/shared/dynamodb/paginate.d.ts +111 -0
  97. package/dist/cjs/shared/dynamodb/paginate.js +90 -0
  98. package/dist/cjs/shared/dynamodb/partition-delete.d.ts +204 -0
  99. package/dist/cjs/shared/dynamodb/partition-delete.js +177 -0
  100. package/dist/cjs/shared/dynamodb/recency-index.d.ts +243 -0
  101. package/dist/cjs/shared/dynamodb/recency-index.js +146 -0
  102. package/dist/cjs/shared/dynamodb/retry.d.ts +317 -0
  103. package/dist/cjs/shared/dynamodb/retry.js +193 -0
  104. package/dist/cjs/shared/dynamodb/row-size.d.ts +33 -0
  105. package/dist/cjs/shared/dynamodb/row-size.js +30 -0
  106. package/dist/cjs/shared/dynamodb/table-schema.d.ts +199 -0
  107. package/dist/cjs/shared/dynamodb/table-schema.js +52 -0
  108. package/dist/cjs/shared/errors/base-error.d.ts +231 -0
  109. package/dist/cjs/shared/errors/base-error.js +73 -0
  110. package/dist/cjs/shared/errors/boundary.d.ts +86 -0
  111. package/dist/cjs/shared/errors/boundary.js +61 -0
  112. package/dist/cjs/shared/errors/classify.d.ts +206 -0
  113. package/dist/cjs/shared/errors/classify.js +232 -0
  114. package/dist/cjs/shared/errors/error-code.d.ts +95 -0
  115. package/dist/{shared → cjs/shared}/errors/error-code.js +12 -2
  116. package/dist/cjs/shared/errors/errors.d.ts +233 -0
  117. package/dist/cjs/shared/errors/errors.js +123 -0
  118. package/dist/cjs/shared/logging/logger.d.ts +80 -0
  119. package/dist/cjs/shared/logging/logger.js +30 -0
  120. package/dist/cjs/shared/logging/redaction.d.ts +123 -0
  121. package/dist/cjs/shared/logging/redaction.js +145 -0
  122. package/dist/cjs/shared/logging/secret-patterns.d.ts +227 -0
  123. package/dist/cjs/shared/logging/secret-patterns.js +93 -0
  124. package/dist/cjs/shared/logging/truncate.d.ts +197 -0
  125. package/dist/cjs/shared/logging/truncate.js +31 -0
  126. package/dist/cjs/shared/options.d.ts +100 -0
  127. package/dist/cjs/shared/ulid.d.ts +80 -0
  128. package/dist/{shared → cjs/shared}/ulid.js +7 -21
  129. package/dist/cjs/shared/validation/collaborators.d.ts +160 -0
  130. package/dist/cjs/shared/validation/collaborators.js +79 -0
  131. package/dist/cjs/shared/validation/option-shape.d.ts +91 -0
  132. package/dist/cjs/shared/validation/option-shape.js +31 -0
  133. package/dist/cjs/shared/validation/options.d.ts +145 -0
  134. package/dist/cjs/shared/validation/options.js +166 -0
  135. package/dist/cjs/shared/validation/primitives.d.ts +292 -0
  136. package/dist/cjs/shared/validation/primitives.js +114 -0
  137. package/dist/cjs/shared/validation/ttl.d.ts +94 -0
  138. package/dist/cjs/shared/validation/ttl.js +52 -0
  139. package/dist/cjs/store/actions/list-namespaces.d.ts +79 -0
  140. package/dist/cjs/store/actions/list-namespaces.js +92 -0
  141. package/dist/cjs/store/actions/put.d.ts +43 -0
  142. package/dist/cjs/store/actions/put.js +49 -0
  143. package/dist/cjs/store/actions/reconcile-vector-index.d.ts +38 -0
  144. package/dist/cjs/store/actions/reconcile-vector-index.js +13 -0
  145. package/dist/cjs/store/actions/search.d.ts +38 -0
  146. package/dist/cjs/store/actions/search.js +26 -0
  147. package/dist/cjs/store/internal/batch-plan.d.ts +56 -0
  148. package/dist/cjs/store/internal/batch-plan.js +32 -0
  149. package/dist/cjs/store/internal/filter.d.ts +43 -0
  150. package/dist/cjs/store/internal/filter.js +64 -0
  151. package/dist/cjs/store/internal/get-item.d.ts +77 -0
  152. package/dist/cjs/store/internal/get-item.js +58 -0
  153. package/dist/cjs/store/internal/item-write.d.ts +270 -0
  154. package/dist/cjs/store/internal/item-write.js +181 -0
  155. package/dist/cjs/store/internal/parse.d.ts +230 -0
  156. package/dist/cjs/store/internal/parse.js +180 -0
  157. package/dist/cjs/store/internal/rows.d.ts +359 -0
  158. package/dist/cjs/store/internal/rows.js +166 -0
  159. package/dist/cjs/store/internal/semantic-search.d.ts +168 -0
  160. package/dist/{store/internal/text-path.js → cjs/store/internal/semantic-search.js} +92 -28
  161. package/dist/cjs/store/internal/setup.d.ts +96 -0
  162. package/dist/cjs/store/internal/setup.js +103 -0
  163. package/dist/cjs/store/internal/table-search.d.ts +100 -0
  164. package/dist/cjs/store/internal/table-search.js +123 -0
  165. package/dist/cjs/store/internal/vector-index.d.ts +258 -0
  166. package/dist/cjs/store/internal/vector-index.js +269 -0
  167. package/dist/cjs/store/store.d.ts +329 -0
  168. package/dist/cjs/store/store.js +97 -0
  169. package/dist/cjs/store/types.d.ts +111 -0
  170. package/dist/cjs/store/vector-backend.d.ts +104 -0
  171. package/dist/cjs/store/vector-backend.js +4 -0
  172. package/dist/esm/backfill/backfill.d.ts +171 -0
  173. package/dist/esm/backfill/backfill.js +170 -0
  174. package/dist/esm/checkpointer/actions/delete-thread.d.ts +50 -0
  175. package/dist/esm/checkpointer/actions/delete-thread.js +23 -0
  176. package/dist/esm/checkpointer/actions/get-tuple.d.ts +36 -0
  177. package/dist/esm/checkpointer/actions/get-tuple.js +19 -0
  178. package/dist/esm/checkpointer/actions/list.d.ts +55 -0
  179. package/dist/esm/checkpointer/actions/list.js +67 -0
  180. package/dist/esm/checkpointer/actions/put-writes.d.ts +49 -0
  181. package/dist/esm/checkpointer/actions/put-writes.js +18 -0
  182. package/dist/esm/checkpointer/actions/put.d.ts +95 -0
  183. package/dist/esm/checkpointer/actions/put.js +75 -0
  184. package/dist/esm/checkpointer/internal/delta-history.d.ts +124 -0
  185. package/dist/esm/checkpointer/internal/delta-history.js +126 -0
  186. package/dist/esm/checkpointer/internal/listing.d.ts +149 -0
  187. package/dist/esm/checkpointer/internal/listing.js +95 -0
  188. package/dist/esm/checkpointer/internal/parse.d.ts +298 -0
  189. package/dist/esm/checkpointer/internal/parse.js +169 -0
  190. package/dist/esm/checkpointer/internal/pending-writes.d.ts +314 -0
  191. package/dist/esm/checkpointer/internal/pending-writes.js +229 -0
  192. package/dist/esm/checkpointer/internal/read.d.ts +135 -0
  193. package/dist/esm/checkpointer/internal/read.js +125 -0
  194. package/dist/esm/checkpointer/internal/rows.d.ts +644 -0
  195. package/dist/esm/checkpointer/internal/rows.js +323 -0
  196. package/dist/esm/checkpointer/internal/setup.d.ts +47 -0
  197. package/dist/esm/checkpointer/internal/setup.js +21 -0
  198. package/dist/esm/checkpointer/saver.d.ts +306 -0
  199. package/dist/esm/checkpointer/saver.js +52 -0
  200. package/dist/esm/checkpointer/types.d.ts +51 -0
  201. package/dist/esm/checkpointer/types.js +1 -0
  202. package/dist/esm/factory/factory.d.ts +154 -0
  203. package/dist/esm/factory/factory.js +133 -0
  204. package/dist/esm/factory/types.d.ts +76 -0
  205. package/dist/esm/factory/types.js +1 -0
  206. package/dist/esm/history/actions/add-messages.d.ts +51 -0
  207. package/dist/esm/history/actions/add-messages.js +14 -0
  208. package/dist/esm/history/actions/clear.d.ts +52 -0
  209. package/dist/esm/history/actions/clear.js +26 -0
  210. package/dist/esm/history/actions/get-messages.d.ts +60 -0
  211. package/dist/esm/history/actions/get-messages.js +55 -0
  212. package/dist/esm/history/actions/list-sessions.d.ts +55 -0
  213. package/dist/esm/history/actions/list-sessions.js +64 -0
  214. package/dist/esm/history/actions/reconcile-count.d.ts +49 -0
  215. package/dist/esm/history/actions/reconcile-count.js +5 -0
  216. package/dist/esm/history/chat-message-history.d.ts +267 -0
  217. package/dist/esm/history/chat-message-history.js +57 -0
  218. package/dist/esm/history/internal/append.d.ts +244 -0
  219. package/dist/esm/history/internal/append.js +259 -0
  220. package/dist/esm/history/internal/message-read.d.ts +84 -0
  221. package/dist/esm/history/internal/message-read.js +89 -0
  222. package/dist/esm/history/internal/parse.d.ts +153 -0
  223. package/dist/esm/history/internal/parse.js +105 -0
  224. package/dist/esm/history/internal/rows.d.ts +196 -0
  225. package/dist/esm/history/internal/rows.js +83 -0
  226. package/dist/esm/history/internal/session.d.ts +350 -0
  227. package/dist/esm/history/internal/session.js +285 -0
  228. package/dist/esm/history/internal/setup.d.ts +64 -0
  229. package/dist/esm/history/internal/setup.js +56 -0
  230. package/dist/esm/history/session-adapter.d.ts +112 -0
  231. package/dist/esm/history/session-adapter.js +34 -0
  232. package/dist/esm/history/types.d.ts +102 -0
  233. package/dist/esm/history/types.js +1 -0
  234. package/dist/esm/index.d.ts +53 -0
  235. package/dist/esm/index.js +10 -0
  236. package/dist/esm/shared/adapter.d.ts +146 -0
  237. package/dist/esm/shared/adapter.js +65 -0
  238. package/dist/esm/shared/clock.d.ts +52 -0
  239. package/dist/esm/shared/clock.js +9 -0
  240. package/dist/esm/shared/codec/codec.d.ts +336 -0
  241. package/dist/esm/shared/codec/codec.js +150 -0
  242. package/dist/esm/shared/codec/compression.d.ts +66 -0
  243. package/dist/esm/shared/codec/compression.js +40 -0
  244. package/dist/esm/shared/codec/json-serde.d.ts +80 -0
  245. package/dist/esm/shared/codec/json-serde.js +54 -0
  246. package/dist/esm/shared/codec/s3/client-types.d.ts +54 -0
  247. package/dist/esm/shared/codec/s3/client-types.js +3 -0
  248. package/dist/esm/shared/codec/s3/client.d.ts +63 -0
  249. package/dist/esm/shared/codec/s3/client.js +40 -0
  250. package/dist/esm/shared/codec/s3/config.d.ts +260 -0
  251. package/dist/esm/shared/codec/s3/config.js +79 -0
  252. package/dist/esm/shared/codec/s3/lifecycle.d.ts +220 -0
  253. package/dist/esm/shared/codec/s3/lifecycle.js +214 -0
  254. package/dist/esm/shared/codec/s3/offloader.d.ts +428 -0
  255. package/dist/esm/shared/codec/s3/offloader.js +278 -0
  256. package/dist/esm/shared/concurrency.d.ts +43 -0
  257. package/dist/esm/shared/concurrency.js +27 -0
  258. package/dist/esm/shared/dynamodb/abort.d.ts +47 -0
  259. package/dist/esm/shared/dynamodb/abort.js +12 -0
  260. package/dist/esm/shared/dynamodb/batch-write.d.ts +86 -0
  261. package/dist/esm/shared/dynamodb/batch-write.js +74 -0
  262. package/dist/esm/shared/dynamodb/cancellation.d.ts +124 -0
  263. package/dist/esm/shared/dynamodb/cancellation.js +30 -0
  264. package/dist/esm/shared/dynamodb/client.d.ts +177 -0
  265. package/dist/esm/shared/dynamodb/client.js +35 -0
  266. package/dist/esm/shared/dynamodb/idempotent-write.d.ts +596 -0
  267. package/dist/esm/shared/dynamodb/idempotent-write.js +153 -0
  268. package/dist/esm/shared/dynamodb/paginate.d.ts +111 -0
  269. package/dist/esm/shared/dynamodb/paginate.js +84 -0
  270. package/dist/esm/shared/dynamodb/partition-delete.d.ts +204 -0
  271. package/dist/esm/shared/dynamodb/partition-delete.js +171 -0
  272. package/dist/esm/shared/dynamodb/recency-index.d.ts +243 -0
  273. package/dist/esm/shared/dynamodb/recency-index.js +136 -0
  274. package/dist/esm/shared/dynamodb/retry.d.ts +317 -0
  275. package/dist/esm/shared/dynamodb/retry.js +180 -0
  276. package/dist/esm/shared/dynamodb/row-size.d.ts +33 -0
  277. package/dist/esm/shared/dynamodb/row-size.js +26 -0
  278. package/dist/esm/shared/dynamodb/table-schema.d.ts +199 -0
  279. package/dist/esm/shared/dynamodb/table-schema.js +43 -0
  280. package/dist/esm/shared/errors/base-error.d.ts +231 -0
  281. package/dist/esm/shared/errors/base-error.js +64 -0
  282. package/dist/esm/shared/errors/boundary.d.ts +86 -0
  283. package/dist/esm/shared/errors/boundary.js +54 -0
  284. package/dist/esm/shared/errors/classify.d.ts +206 -0
  285. package/dist/esm/shared/errors/classify.js +220 -0
  286. package/dist/esm/shared/errors/error-code.d.ts +95 -0
  287. package/dist/esm/shared/errors/error-code.js +24 -0
  288. package/dist/esm/shared/errors/errors.d.ts +233 -0
  289. package/dist/esm/shared/errors/errors.js +110 -0
  290. package/dist/esm/shared/logging/logger.d.ts +80 -0
  291. package/dist/esm/shared/logging/logger.js +25 -0
  292. package/dist/esm/shared/logging/redaction.d.ts +123 -0
  293. package/dist/esm/shared/logging/redaction.js +140 -0
  294. package/dist/esm/shared/logging/secret-patterns.d.ts +227 -0
  295. package/dist/esm/shared/logging/secret-patterns.js +83 -0
  296. package/dist/esm/shared/logging/truncate.d.ts +197 -0
  297. package/dist/esm/shared/logging/truncate.js +25 -0
  298. package/dist/esm/shared/options.d.ts +100 -0
  299. package/dist/esm/shared/options.js +1 -0
  300. package/dist/esm/shared/ulid.d.ts +80 -0
  301. package/dist/esm/shared/ulid.js +77 -0
  302. package/dist/esm/shared/validation/collaborators.d.ts +160 -0
  303. package/dist/esm/shared/validation/collaborators.js +70 -0
  304. package/dist/esm/shared/validation/option-shape.d.ts +91 -0
  305. package/dist/esm/shared/validation/option-shape.js +24 -0
  306. package/dist/esm/shared/validation/options.d.ts +145 -0
  307. package/dist/esm/shared/validation/options.js +156 -0
  308. package/dist/esm/shared/validation/primitives.d.ts +292 -0
  309. package/dist/esm/shared/validation/primitives.js +100 -0
  310. package/dist/esm/shared/validation/ttl.d.ts +94 -0
  311. package/dist/esm/shared/validation/ttl.js +46 -0
  312. package/dist/esm/store/actions/list-namespaces.d.ts +79 -0
  313. package/dist/esm/store/actions/list-namespaces.js +86 -0
  314. package/dist/esm/store/actions/put.d.ts +43 -0
  315. package/dist/esm/store/actions/put.js +46 -0
  316. package/dist/esm/store/actions/reconcile-vector-index.d.ts +38 -0
  317. package/dist/esm/store/actions/reconcile-vector-index.js +10 -0
  318. package/dist/esm/store/actions/search.d.ts +38 -0
  319. package/dist/esm/store/actions/search.js +23 -0
  320. package/dist/esm/store/internal/batch-plan.d.ts +56 -0
  321. package/dist/esm/store/internal/batch-plan.js +28 -0
  322. package/dist/esm/store/internal/filter.d.ts +43 -0
  323. package/dist/esm/store/internal/filter.js +60 -0
  324. package/dist/esm/store/internal/get-item.d.ts +77 -0
  325. package/dist/esm/store/internal/get-item.js +54 -0
  326. package/dist/esm/store/internal/item-write.d.ts +270 -0
  327. package/dist/esm/store/internal/item-write.js +173 -0
  328. package/dist/esm/store/internal/parse.d.ts +230 -0
  329. package/dist/esm/store/internal/parse.js +169 -0
  330. package/dist/esm/store/internal/rows.d.ts +359 -0
  331. package/dist/esm/store/internal/rows.js +147 -0
  332. package/dist/esm/store/internal/semantic-search.d.ts +168 -0
  333. package/dist/esm/store/internal/semantic-search.js +200 -0
  334. package/dist/esm/store/internal/setup.d.ts +96 -0
  335. package/dist/esm/store/internal/setup.js +98 -0
  336. package/dist/esm/store/internal/table-search.d.ts +100 -0
  337. package/dist/esm/store/internal/table-search.js +119 -0
  338. package/dist/esm/store/internal/vector-index.d.ts +258 -0
  339. package/dist/esm/store/internal/vector-index.js +256 -0
  340. package/dist/esm/store/store.d.ts +329 -0
  341. package/dist/esm/store/store.js +93 -0
  342. package/dist/esm/store/types.d.ts +111 -0
  343. package/dist/esm/store/types.js +1 -0
  344. package/dist/esm/store/vector-backend.d.ts +104 -0
  345. package/dist/esm/store/vector-backend.js +1 -0
  346. package/package.json +68 -46
  347. package/dist/checkpointer/actions/delete-thread.d.ts +0 -10
  348. package/dist/checkpointer/actions/delete-thread.js +0 -38
  349. package/dist/checkpointer/actions/get-tuple.d.ts +0 -11
  350. package/dist/checkpointer/actions/get-tuple.js +0 -25
  351. package/dist/checkpointer/actions/list.d.ts +0 -20
  352. package/dist/checkpointer/actions/list.js +0 -113
  353. package/dist/checkpointer/actions/put-writes.d.ts +0 -15
  354. package/dist/checkpointer/actions/put-writes.js +0 -62
  355. package/dist/checkpointer/actions/put.d.ts +0 -17
  356. package/dist/checkpointer/actions/put.js +0 -73
  357. package/dist/checkpointer/internal/assemble.d.ts +0 -17
  358. package/dist/checkpointer/internal/assemble.js +0 -38
  359. package/dist/checkpointer/internal/checkpoint-write-verify.d.ts +0 -24
  360. package/dist/checkpointer/internal/checkpoint-write-verify.js +0 -67
  361. package/dist/checkpointer/internal/configurable.d.ts +0 -12
  362. package/dist/checkpointer/internal/configurable.js +0 -24
  363. package/dist/checkpointer/internal/fetch.d.ts +0 -19
  364. package/dist/checkpointer/internal/fetch.js +0 -88
  365. package/dist/checkpointer/internal/filter-match.d.ts +0 -13
  366. package/dist/checkpointer/internal/filter-match.js +0 -15
  367. package/dist/checkpointer/internal/item-reader.d.ts +0 -66
  368. package/dist/checkpointer/internal/item-reader.js +0 -113
  369. package/dist/checkpointer/internal/item-writer.d.ts +0 -35
  370. package/dist/checkpointer/internal/item-writer.js +0 -107
  371. package/dist/checkpointer/internal/keys.d.ts +0 -41
  372. package/dist/checkpointer/internal/keys.js +0 -117
  373. package/dist/checkpointer/internal/list-scope.d.ts +0 -61
  374. package/dist/checkpointer/internal/list-scope.js +0 -108
  375. package/dist/checkpointer/internal/pending-sends.d.ts +0 -13
  376. package/dist/checkpointer/internal/pending-sends.js +0 -29
  377. package/dist/checkpointer/internal/query.d.ts +0 -21
  378. package/dist/checkpointer/internal/query.js +0 -42
  379. package/dist/checkpointer/internal/regular-write.d.ts +0 -28
  380. package/dist/checkpointer/internal/regular-write.js +0 -66
  381. package/dist/checkpointer/internal/setup.d.ts +0 -33
  382. package/dist/checkpointer/internal/setup.js +0 -38
  383. package/dist/checkpointer/internal/special-write-cas.d.ts +0 -29
  384. package/dist/checkpointer/internal/special-write-cas.js +0 -104
  385. package/dist/checkpointer/internal/special-write-cleanup.d.ts +0 -23
  386. package/dist/checkpointer/internal/special-write-cleanup.js +0 -50
  387. package/dist/checkpointer/internal/special-write-verify.d.ts +0 -53
  388. package/dist/checkpointer/internal/special-write-verify.js +0 -80
  389. package/dist/checkpointer/internal/stored-channels.d.ts +0 -31
  390. package/dist/checkpointer/internal/stored-channels.js +0 -70
  391. package/dist/checkpointer/internal/validation.d.ts +0 -18
  392. package/dist/checkpointer/internal/validation.js +0 -40
  393. package/dist/checkpointer/internal/write-guard.d.ts +0 -20
  394. package/dist/checkpointer/internal/write-guard.js +0 -48
  395. package/dist/checkpointer/internal/write-index.d.ts +0 -36
  396. package/dist/checkpointer/internal/write-index.js +0 -41
  397. package/dist/checkpointer/saver.d.ts +0 -70
  398. package/dist/checkpointer/saver.js +0 -105
  399. package/dist/checkpointer/types.d.ts +0 -58
  400. package/dist/factory/factory.d.ts +0 -40
  401. package/dist/factory/factory.js +0 -87
  402. package/dist/history/actions/add-messages.d.ts +0 -15
  403. package/dist/history/actions/add-messages.js +0 -77
  404. package/dist/history/actions/clear.d.ts +0 -10
  405. package/dist/history/actions/clear.js +0 -34
  406. package/dist/history/actions/get-messages.d.ts +0 -17
  407. package/dist/history/actions/get-messages.js +0 -79
  408. package/dist/history/actions/list-sessions.d.ts +0 -13
  409. package/dist/history/actions/list-sessions.js +0 -53
  410. package/dist/history/actions/reconcile-count.d.ts +0 -12
  411. package/dist/history/actions/reconcile-count.js +0 -64
  412. package/dist/history/chat-message-history.d.ts +0 -73
  413. package/dist/history/chat-message-history.js +0 -111
  414. package/dist/history/internal/append-saga.d.ts +0 -25
  415. package/dist/history/internal/append-saga.js +0 -79
  416. package/dist/history/internal/compensation.d.ts +0 -25
  417. package/dist/history/internal/compensation.js +0 -92
  418. package/dist/history/internal/item-mapper.d.ts +0 -9
  419. package/dist/history/internal/item-mapper.js +0 -27
  420. package/dist/history/internal/keys.d.ts +0 -16
  421. package/dist/history/internal/keys.js +0 -48
  422. package/dist/history/internal/message-chunker.d.ts +0 -13
  423. package/dist/history/internal/message-chunker.js +0 -67
  424. package/dist/history/internal/message-transaction.d.ts +0 -25
  425. package/dist/history/internal/message-transaction.js +0 -61
  426. package/dist/history/internal/message-window.d.ts +0 -17
  427. package/dist/history/internal/message-window.js +0 -49
  428. package/dist/history/internal/query.d.ts +0 -23
  429. package/dist/history/internal/query.js +0 -39
  430. package/dist/history/internal/session-count.d.ts +0 -47
  431. package/dist/history/internal/session-count.js +0 -115
  432. package/dist/history/internal/session-title.d.ts +0 -19
  433. package/dist/history/internal/session-title.js +0 -43
  434. package/dist/history/internal/session-update.d.ts +0 -27
  435. package/dist/history/internal/session-update.js +0 -69
  436. package/dist/history/internal/setup.d.ts +0 -31
  437. package/dist/history/internal/setup.js +0 -43
  438. package/dist/history/internal/title-generator.d.ts +0 -12
  439. package/dist/history/internal/title-generator.js +0 -41
  440. package/dist/history/internal/ttl-anchor.d.ts +0 -24
  441. package/dist/history/internal/ttl-anchor.js +0 -38
  442. package/dist/history/internal/validation.d.ts +0 -25
  443. package/dist/history/internal/validation.js +0 -53
  444. package/dist/history/session-adapter.d.ts +0 -29
  445. package/dist/history/session-adapter.js +0 -35
  446. package/dist/history/types.d.ts +0 -69
  447. package/dist/index.d.ts +0 -29
  448. package/dist/index.js +0 -32
  449. package/dist/shared/clock.d.ts +0 -8
  450. package/dist/shared/clock.js +0 -16
  451. package/dist/shared/codec/codec.d.ts +0 -53
  452. package/dist/shared/codec/codec.js +0 -66
  453. package/dist/shared/codec/compression.d.ts +0 -24
  454. package/dist/shared/codec/compression.js +0 -48
  455. package/dist/shared/codec/descriptor-keys.d.ts +0 -12
  456. package/dist/shared/codec/descriptor-keys.js +0 -14
  457. package/dist/shared/codec/encode.d.ts +0 -13
  458. package/dist/shared/codec/encode.js +0 -43
  459. package/dist/shared/codec/json-serde.d.ts +0 -7
  460. package/dist/shared/codec/json-serde.js +0 -17
  461. package/dist/shared/codec/payload-loss.d.ts +0 -12
  462. package/dist/shared/codec/payload-loss.js +0 -38
  463. package/dist/shared/codec/s3/adapter-config.d.ts +0 -13
  464. package/dist/shared/codec/s3/adapter-config.js +0 -22
  465. package/dist/shared/codec/s3/bounded-body.d.ts +0 -14
  466. package/dist/shared/codec/s3/bounded-body.js +0 -47
  467. package/dist/shared/codec/s3/client.d.ts +0 -18
  468. package/dist/shared/codec/s3/client.js +0 -46
  469. package/dist/shared/codec/s3/config.d.ts +0 -51
  470. package/dist/shared/codec/s3/config.js +0 -58
  471. package/dist/shared/codec/s3/delete.d.ts +0 -7
  472. package/dist/shared/codec/s3/delete.js +0 -28
  473. package/dist/shared/codec/s3/key-scope.d.ts +0 -23
  474. package/dist/shared/codec/s3/key-scope.js +0 -44
  475. package/dist/shared/codec/s3/lifecycle.d.ts +0 -14
  476. package/dist/shared/codec/s3/lifecycle.js +0 -63
  477. package/dist/shared/codec/s3/offloader.d.ts +0 -44
  478. package/dist/shared/codec/s3/offloader.js +0 -118
  479. package/dist/shared/codec/s3/orphans.d.ts +0 -23
  480. package/dist/shared/codec/s3/orphans.js +0 -71
  481. package/dist/shared/codec/s3/read-write.d.ts +0 -18
  482. package/dist/shared/codec/s3/read-write.js +0 -51
  483. package/dist/shared/codec/s3/retry.d.ts +0 -5
  484. package/dist/shared/codec/s3/retry.js +0 -22
  485. package/dist/shared/concurrency.d.ts +0 -6
  486. package/dist/shared/constants.d.ts +0 -112
  487. package/dist/shared/constants.js +0 -115
  488. package/dist/shared/dynamodb/abort.d.ts +0 -9
  489. package/dist/shared/dynamodb/abort.js +0 -27
  490. package/dist/shared/dynamodb/backoff.d.ts +0 -15
  491. package/dist/shared/dynamodb/backoff.js +0 -48
  492. package/dist/shared/dynamodb/batch-write.d.ts +0 -22
  493. package/dist/shared/dynamodb/batch-write.js +0 -53
  494. package/dist/shared/dynamodb/cancellation.d.ts +0 -6
  495. package/dist/shared/dynamodb/cancellation.js +0 -7
  496. package/dist/shared/dynamodb/client.d.ts +0 -28
  497. package/dist/shared/dynamodb/conditional-put.d.ts +0 -67
  498. package/dist/shared/dynamodb/conditional-put.js +0 -76
  499. package/dist/shared/dynamodb/drain-unprocessed.d.ts +0 -21
  500. package/dist/shared/dynamodb/drain-unprocessed.js +0 -43
  501. package/dist/shared/dynamodb/expiry.d.ts +0 -16
  502. package/dist/shared/dynamodb/expiry.js +0 -29
  503. package/dist/shared/dynamodb/paginate-core.d.ts +0 -24
  504. package/dist/shared/dynamodb/paginate-core.js +0 -82
  505. package/dist/shared/dynamodb/paginate.d.ts +0 -14
  506. package/dist/shared/dynamodb/paginate.js +0 -19
  507. package/dist/shared/dynamodb/partition-delete.d.ts +0 -39
  508. package/dist/shared/dynamodb/partition-delete.js +0 -71
  509. package/dist/shared/dynamodb/retry-classifier.d.ts +0 -17
  510. package/dist/shared/dynamodb/retry-classifier.js +0 -118
  511. package/dist/shared/dynamodb/retry-policy.d.ts +0 -26
  512. package/dist/shared/dynamodb/retry-policy.js +0 -22
  513. package/dist/shared/dynamodb/retry.d.ts +0 -31
  514. package/dist/shared/dynamodb/retry.js +0 -57
  515. package/dist/shared/dynamodb/scan.d.ts +0 -14
  516. package/dist/shared/dynamodb/scan.js +0 -19
  517. package/dist/shared/dynamodb/types.d.ts +0 -23
  518. package/dist/shared/errors/base-error.d.ts +0 -30
  519. package/dist/shared/errors/base-error.js +0 -27
  520. package/dist/shared/errors/boundary.d.ts +0 -18
  521. package/dist/shared/errors/boundary.js +0 -46
  522. package/dist/shared/errors/error-code.d.ts +0 -13
  523. package/dist/shared/errors/errors.d.ts +0 -68
  524. package/dist/shared/errors/errors.js +0 -114
  525. package/dist/shared/errors/upstream-error.d.ts +0 -16
  526. package/dist/shared/errors/upstream-error.js +0 -27
  527. package/dist/shared/errors/wrap-error.d.ts +0 -7
  528. package/dist/shared/errors/wrap-error.js +0 -15
  529. package/dist/shared/logging/logger.d.ts +0 -18
  530. package/dist/shared/logging/logger.js +0 -15
  531. package/dist/shared/logging/redaction-walk.d.ts +0 -23
  532. package/dist/shared/logging/redaction-walk.js +0 -112
  533. package/dist/shared/logging/redaction.d.ts +0 -39
  534. package/dist/shared/logging/redaction.js +0 -75
  535. package/dist/shared/logging/secret-patterns.d.ts +0 -92
  536. package/dist/shared/logging/secret-patterns.js +0 -133
  537. package/dist/shared/options.d.ts +0 -37
  538. package/dist/shared/ulid.d.ts +0 -23
  539. package/dist/shared/validation/options.d.ts +0 -8
  540. package/dist/shared/validation/options.js +0 -90
  541. package/dist/shared/validation/primitives.d.ts +0 -29
  542. package/dist/shared/validation/primitives.js +0 -82
  543. package/dist/shared/validation/ttl.d.ts +0 -28
  544. package/dist/shared/validation/ttl.js +0 -52
  545. package/dist/store/actions/get.d.ts +0 -13
  546. package/dist/store/actions/get.js +0 -73
  547. package/dist/store/actions/list-namespaces.d.ts +0 -8
  548. package/dist/store/actions/list-namespaces.js +0 -59
  549. package/dist/store/actions/put.d.ts +0 -10
  550. package/dist/store/actions/put.js +0 -96
  551. package/dist/store/actions/reconcile-vector-index.d.ts +0 -18
  552. package/dist/store/actions/reconcile-vector-index.js +0 -26
  553. package/dist/store/actions/search.d.ts +0 -9
  554. package/dist/store/actions/search.js +0 -34
  555. package/dist/store/internal/backend-search.d.ts +0 -4
  556. package/dist/store/internal/backend-search.js +0 -74
  557. package/dist/store/internal/batch-plan.d.ts +0 -11
  558. package/dist/store/internal/batch-plan.js +0 -52
  559. package/dist/store/internal/candidates.d.ts +0 -23
  560. package/dist/store/internal/candidates.js +0 -94
  561. package/dist/store/internal/filter.d.ts +0 -9
  562. package/dist/store/internal/filter.js +0 -85
  563. package/dist/store/internal/index-reconcile.d.ts +0 -21
  564. package/dist/store/internal/index-reconcile.js +0 -118
  565. package/dist/store/internal/index-sync.d.ts +0 -10
  566. package/dist/store/internal/index-sync.js +0 -25
  567. package/dist/store/internal/item-mapper.d.ts +0 -27
  568. package/dist/store/internal/item-mapper.js +0 -61
  569. package/dist/store/internal/keys.d.ts +0 -17
  570. package/dist/store/internal/keys.js +0 -41
  571. package/dist/store/internal/namespace-match.d.ts +0 -11
  572. package/dist/store/internal/namespace-match.js +0 -40
  573. package/dist/store/internal/option-validation.d.ts +0 -13
  574. package/dist/store/internal/option-validation.js +0 -77
  575. package/dist/store/internal/overwrite-swap.d.ts +0 -32
  576. package/dist/store/internal/overwrite-swap.js +0 -68
  577. package/dist/store/internal/persist.d.ts +0 -28
  578. package/dist/store/internal/persist.js +0 -64
  579. package/dist/store/internal/query.d.ts +0 -11
  580. package/dist/store/internal/query.js +0 -48
  581. package/dist/store/internal/ranker.d.ts +0 -18
  582. package/dist/store/internal/ranker.js +0 -39
  583. package/dist/store/internal/read-existing.d.ts +0 -23
  584. package/dist/store/internal/read-existing.js +0 -41
  585. package/dist/store/internal/score-direction.d.ts +0 -31
  586. package/dist/store/internal/score-direction.js +0 -38
  587. package/dist/store/internal/search-filter.d.ts +0 -3
  588. package/dist/store/internal/search-filter.js +0 -10
  589. package/dist/store/internal/semantic-search.d.ts +0 -34
  590. package/dist/store/internal/semantic-search.js +0 -87
  591. package/dist/store/internal/setup.d.ts +0 -36
  592. package/dist/store/internal/setup.js +0 -40
  593. package/dist/store/internal/text-path.d.ts +0 -17
  594. package/dist/store/internal/validation.d.ts +0 -18
  595. package/dist/store/internal/validation.js +0 -51
  596. package/dist/store/internal/write-verify.d.ts +0 -42
  597. package/dist/store/internal/write-verify.js +0 -71
  598. package/dist/store/store.d.ts +0 -61
  599. package/dist/store/store.js +0 -107
  600. package/dist/store/types.d.ts +0 -50
  601. package/dist/store/types.js +0 -2
  602. package/dist/store/vector-backend.d.ts +0 -43
  603. package/dist/store/vector-backend.js +0 -2
  604. /package/dist/{checkpointer → cjs/checkpointer}/types.js +0 -0
  605. /package/dist/{factory → cjs/factory}/types.js +0 -0
  606. /package/dist/{history → cjs/history}/types.js +0 -0
  607. /package/dist/{shared → cjs/shared}/options.js +0 -0
  608. /package/dist/{shared/dynamodb → cjs/store}/types.js +0 -0
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MIN_ENCODABLE_WRITE_INDEX = exports.WRITE_GROUP_ATTRIBUTE = void 0;
4
+ exports.checkpointerPartitionPrefix = checkpointerPartitionPrefix;
5
+ exports.partitionKey = partitionKey;
6
+ exports.metaSortKey = metaSortKey;
7
+ exports.metaSortKeyPrefix = metaSortKeyPrefix;
8
+ exports.metaAnyNamespacePrefix = metaAnyNamespacePrefix;
9
+ exports.payloadSortKey = payloadSortKey;
10
+ exports.writeSortKey = writeSortKey;
11
+ exports.writeSortKeyBytes = writeSortKeyBytes;
12
+ exports.isCheckpointerSortKey = isCheckpointerSortKey;
13
+ exports.writeSortKeyPrefix = writeSortKeyPrefix;
14
+ exports.metaRowKey = metaRowKey;
15
+ exports.payloadRowKey = payloadRowKey;
16
+ exports.partitionQuery = partitionQuery;
17
+ exports.beginsWithQuery = beginsWithQuery;
18
+ exports.buildCheckpointRows = buildCheckpointRows;
19
+ exports.buildWriteRows = buildWriteRows;
20
+ exports.parseMetaRow = parseMetaRow;
21
+ exports.parseWriteRow = parseWriteRow;
22
+ exports.parseHeadRow = parseHeadRow;
23
+ exports.readCheckpoint = readCheckpoint;
24
+ exports.readMetadata = readMetadata;
25
+ exports.compareByCodePoint = compareByCodePoint;
26
+ exports.compareWriteOrder = compareWriteOrder;
27
+ exports.toPendingWrites = toPendingWrites;
28
+ exports.resolveWriteIndices = resolveWriteIndices;
29
+ exports.dropSupersededWrites = dropSupersededWrites;
30
+ exports.checkpointRowDescriptors = checkpointRowDescriptors;
31
+ exports.checkpointRowUnit = checkpointRowUnit;
32
+ exports.checkpointRowKind = checkpointRowKind;
33
+ exports.checkpointIndexTarget = checkpointIndexTarget;
34
+ const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
35
+ const clock_js_1 = require("../../shared/clock.js");
36
+ const codec_js_1 = require("../../shared/codec/codec.js");
37
+ const offloader_js_1 = require("../../shared/codec/s3/offloader.js");
38
+ const concurrency_js_1 = require("../../shared/concurrency.js");
39
+ const partition_delete_js_1 = require("../../shared/dynamodb/partition-delete.js");
40
+ const recency_index_js_1 = require("../../shared/dynamodb/recency-index.js");
41
+ const table_schema_js_1 = require("../../shared/dynamodb/table-schema.js");
42
+ const errors_js_1 = require("../../shared/errors/errors.js");
43
+ const truncate_js_1 = require("../../shared/logging/truncate.js");
44
+ const ulid_js_1 = require("../../shared/ulid.js");
45
+ exports.WRITE_GROUP_ATTRIBUTE = 'writeGroup';
46
+ const WRITE_INDEX_PAD_WIDTH = 10;
47
+ const WRITE_INDEX_OFFSET = 8;
48
+ exports.MIN_ENCODABLE_WRITE_INDEX = -WRITE_INDEX_OFFSET;
49
+ var CheckpointRowKind;
50
+ (function (CheckpointRowKind) {
51
+ CheckpointRowKind["META"] = "META";
52
+ CheckpointRowKind["PAYLOAD"] = "PAYLOAD";
53
+ CheckpointRowKind["WRITE"] = "WRITE";
54
+ })(CheckpointRowKind || (CheckpointRowKind = {}));
55
+ const ADAPTER_PARTITION_PREFIX = `${table_schema_js_1.ADAPTER_TAGS.checkpointer}${table_schema_js_1.KEY_SEPARATOR}`;
56
+ function checkpointerPartitionPrefix() {
57
+ return ADAPTER_PARTITION_PREFIX;
58
+ }
59
+ function partitionKey(threadId) {
60
+ return `${ADAPTER_PARTITION_PREFIX}${threadId}`;
61
+ }
62
+ function metaSortKey(checkpointNs, checkpointId) {
63
+ return `${CheckpointRowKind.META}${table_schema_js_1.KEY_SEPARATOR}${checkpointNs}${table_schema_js_1.KEY_SEPARATOR}${checkpointId}`;
64
+ }
65
+ function metaSortKeyPrefix(checkpointNs) {
66
+ return `${CheckpointRowKind.META}${table_schema_js_1.KEY_SEPARATOR}${checkpointNs}${table_schema_js_1.KEY_SEPARATOR}`;
67
+ }
68
+ function metaAnyNamespacePrefix() {
69
+ return `${CheckpointRowKind.META}${table_schema_js_1.KEY_SEPARATOR}`;
70
+ }
71
+ function payloadSortKey(checkpointNs, checkpointId) {
72
+ return `${CheckpointRowKind.PAYLOAD}${table_schema_js_1.KEY_SEPARATOR}${checkpointNs}${table_schema_js_1.KEY_SEPARATOR}${checkpointId}`;
73
+ }
74
+ function writeSortKey(at) {
75
+ const offsetIndex = at.index + WRITE_INDEX_OFFSET;
76
+ if (!Number.isInteger(offsetIndex) ||
77
+ offsetIndex < 0 ||
78
+ offsetIndex.toString().length > WRITE_INDEX_PAD_WIDTH) {
79
+ throw (0, errors_js_1.validationError)(`write index ${at.index} is not an integer encodable at offset ${WRITE_INDEX_OFFSET} ` +
80
+ `with ${WRITE_INDEX_PAD_WIDTH} digits`, 'index');
81
+ }
82
+ const paddedIndex = offsetIndex.toString().padStart(WRITE_INDEX_PAD_WIDTH, '0');
83
+ return [
84
+ CheckpointRowKind.WRITE,
85
+ at.checkpointNs,
86
+ at.checkpointId,
87
+ at.taskId,
88
+ paddedIndex,
89
+ at.channel,
90
+ ].join(table_schema_js_1.KEY_SEPARATOR);
91
+ }
92
+ function writeSortKeyBytes(at) {
93
+ return Buffer.byteLength(writeSortKey({ ...at, index: 0 }), 'utf8');
94
+ }
95
+ function isCheckpointerSortKey(sortKey) {
96
+ return Object.values(CheckpointRowKind).some((kind) => sortKey.startsWith(`${kind}${table_schema_js_1.KEY_SEPARATOR}`));
97
+ }
98
+ function writeSortKeyPrefix(checkpointNs, checkpointId) {
99
+ return `${CheckpointRowKind.WRITE}${table_schema_js_1.KEY_SEPARATOR}${checkpointNs}${table_schema_js_1.KEY_SEPARATOR}${checkpointId}${table_schema_js_1.KEY_SEPARATOR}`;
100
+ }
101
+ function metaRowKey(at) {
102
+ return { PK: partitionKey(at.threadId), SK: metaSortKey(at.checkpointNs, at.checkpointId) };
103
+ }
104
+ function payloadRowKey(at) {
105
+ return { PK: partitionKey(at.threadId), SK: payloadSortKey(at.checkpointNs, at.checkpointId) };
106
+ }
107
+ function partitionQuery(tableName, partition, options = {}) {
108
+ const params = {
109
+ TableName: tableName,
110
+ KeyConditionExpression: '#pk = :pk',
111
+ ExpressionAttributeNames: { '#pk': table_schema_js_1.PARTITION_KEY_ATTRIBUTE },
112
+ ExpressionAttributeValues: { ':pk': partition },
113
+ };
114
+ if (options.consistent)
115
+ params.ConsistentRead = true;
116
+ return params;
117
+ }
118
+ function beginsWithQuery(tableName, partition, skPrefix, options = {}) {
119
+ const bounded = options.beforeSortKey !== undefined;
120
+ const params = {
121
+ TableName: tableName,
122
+ KeyConditionExpression: bounded
123
+ ? '#pk = :pk AND #sk BETWEEN :skPrefix AND :before'
124
+ : '#pk = :pk AND begins_with(#sk, :skPrefix)',
125
+ ExpressionAttributeNames: { '#pk': table_schema_js_1.PARTITION_KEY_ATTRIBUTE, '#sk': table_schema_js_1.SORT_KEY_ATTRIBUTE },
126
+ ExpressionAttributeValues: {
127
+ ':pk': partition,
128
+ ':skPrefix': skPrefix,
129
+ ...(bounded ? { ':before': options.beforeSortKey } : {}),
130
+ },
131
+ ScanIndexForward: options.ascending ?? false,
132
+ };
133
+ if (options.limit !== undefined && options.limit >= 1)
134
+ params.Limit = options.limit;
135
+ if (options.consistent)
136
+ params.ConsistentRead = true;
137
+ return params;
138
+ }
139
+ function withTtl(item, ttlTimestamp) {
140
+ if (ttlTimestamp !== undefined)
141
+ item.ttl = ttlTimestamp;
142
+ return item;
143
+ }
144
+ async function releaseUploads(context, uploaded, operation) {
145
+ if (!context.offloader)
146
+ return;
147
+ await (0, offloader_js_1.cleanUpS3Orphans)(context.offloader, {
148
+ keys: (0, codec_js_1.collectS3Keys)(uploaded),
149
+ operation,
150
+ logger: context.logger,
151
+ });
152
+ }
153
+ const nextPutObjectId = (0, ulid_js_1.createUlidFactory)();
154
+ async function buildCheckpointRows(context, request, ttlTimestamp) {
155
+ const { threadId, checkpointNs, checkpointId } = request.address;
156
+ const deps = (0, codec_js_1.codecDepsOf)(context, request.signal);
157
+ const pk = partitionKey(threadId);
158
+ const objectId = nextPutObjectId();
159
+ const checkpointDescriptor = await (0, codec_js_1.encodePayload)(request.checkpoint, deps, {
160
+ keyParts: [threadId, checkpointNs, checkpointId, 'checkpoint'],
161
+ objectId,
162
+ row: { pk, sk: payloadSortKey(checkpointNs, checkpointId) },
163
+ });
164
+ let metadataDescriptor;
165
+ try {
166
+ metadataDescriptor = await (0, codec_js_1.encodePayload)(request.metadata, deps, {
167
+ keyParts: [threadId, checkpointNs, checkpointId, 'metadata'],
168
+ objectId,
169
+ row: { pk, sk: metaSortKey(checkpointNs, checkpointId) },
170
+ });
171
+ }
172
+ catch (error) {
173
+ await releaseUploads(context, [checkpointDescriptor], 'put.encode');
174
+ throw error;
175
+ }
176
+ const index = (0, recency_index_js_1.indexKeys)('CHKPT', checkpointId, (0, clock_js_1.nowIso)(), context.indexShards ?? recency_index_js_1.DEFAULT_INDEX_SHARDS);
177
+ const meta = {
178
+ PK: pk,
179
+ SK: metaSortKey(checkpointNs, checkpointId),
180
+ v: table_schema_js_1.ROW_FORMAT_VERSION,
181
+ ...index,
182
+ threadId,
183
+ checkpointNs,
184
+ checkpointId,
185
+ metadata: metadataDescriptor,
186
+ };
187
+ if (request.parentCheckpointId !== undefined)
188
+ meta.parentCheckpointId = request.parentCheckpointId;
189
+ const payload = {
190
+ PK: pk,
191
+ SK: payloadSortKey(checkpointNs, checkpointId),
192
+ v: table_schema_js_1.ROW_FORMAT_VERSION,
193
+ checkpoint: checkpointDescriptor,
194
+ };
195
+ return { meta: withTtl(meta, ttlTimestamp), payload: withTtl(payload, ttlTimestamp) };
196
+ }
197
+ async function buildWriteRows(context, request, writeGroup, ttlTimestamp) {
198
+ const { threadId, checkpointNs, checkpointId } = request.address;
199
+ const { taskId, taskPath } = request;
200
+ const deps = (0, codec_js_1.codecDepsOf)(context, request.signal);
201
+ const pk = partitionKey(threadId);
202
+ const items = [];
203
+ try {
204
+ for (const { channel, value, index, occurrence } of resolveWriteIndices(request.writes)) {
205
+ const sk = writeSortKey({ checkpointNs, checkpointId, taskId, index, channel });
206
+ const descriptor = await (0, codec_js_1.encodePayload)(value, deps, {
207
+ keyParts: [threadId, checkpointNs, checkpointId, taskId, `write-${index}`, channel],
208
+ objectId: writeGroup,
209
+ row: { pk, sk },
210
+ });
211
+ const item = {
212
+ PK: pk,
213
+ SK: sk,
214
+ v: table_schema_js_1.ROW_FORMAT_VERSION,
215
+ taskId,
216
+ index,
217
+ channel,
218
+ ...(taskPath === undefined ? {} : { taskPath }),
219
+ writeGroup,
220
+ occurrence,
221
+ value: descriptor,
222
+ };
223
+ items.push(withTtl(item, ttlTimestamp));
224
+ }
225
+ }
226
+ catch (error) {
227
+ await releaseUploads(context, items.map((item) => item.value), 'putWrites.encode');
228
+ throw error;
229
+ }
230
+ return items;
231
+ }
232
+ function parseMetaRow(raw) {
233
+ (0, table_schema_js_1.assertReadableRow)(raw, 'checkpoint');
234
+ const isCheckpoint = typeof raw.threadId === 'string' &&
235
+ typeof raw.checkpointId === 'string' &&
236
+ typeof raw.checkpointNs === 'string' &&
237
+ typeof raw.metadata === 'object' &&
238
+ raw.metadata !== null;
239
+ if (!isCheckpoint)
240
+ return undefined;
241
+ const item = raw;
242
+ const consistent = item.PK === partitionKey(item.threadId) &&
243
+ item.SK === metaSortKey(item.checkpointNs, item.checkpointId);
244
+ return consistent ? item : undefined;
245
+ }
246
+ function parseWriteRow(raw) {
247
+ (0, table_schema_js_1.assertReadableRow)(raw, 'pending write');
248
+ const isWrite = typeof raw.taskId === 'string' &&
249
+ typeof raw.channel === 'string' &&
250
+ (raw.taskPath === undefined || typeof raw.taskPath === 'string') &&
251
+ typeof raw.value === 'object' &&
252
+ raw.value !== null;
253
+ return isWrite ? raw : undefined;
254
+ }
255
+ function parseHeadRow(context, raw, reader) {
256
+ if (raw === undefined)
257
+ return undefined;
258
+ const meta = parseMetaRow(raw);
259
+ if (!meta) {
260
+ context.logger.warn(`${reader}: skipped a row that is not a checkpoint meta item`, {
261
+ sortKey: (0, truncate_js_1.truncateForLog)(raw.SK),
262
+ });
263
+ }
264
+ return meta;
265
+ }
266
+ async function readCheckpoint(context, item, threadId, signal) {
267
+ return (0, codec_js_1.decodePayload)(item.checkpoint, (0, codec_js_1.codecDepsOf)(context, signal), [threadId]);
268
+ }
269
+ async function readMetadata(context, item, threadId, signal) {
270
+ return (0, codec_js_1.decodePayload)(item.metadata, (0, codec_js_1.codecDepsOf)(context, signal), [threadId]);
271
+ }
272
+ function compareByCodePoint(a, b) {
273
+ let i = 0;
274
+ let j = 0;
275
+ while (i < a.length && j < b.length) {
276
+ const left = a.codePointAt(i);
277
+ const right = b.codePointAt(j);
278
+ if (left !== right)
279
+ return left < right ? -1 : 1;
280
+ i += left > 0xffff ? 2 : 1;
281
+ j += right > 0xffff ? 2 : 1;
282
+ }
283
+ if (i >= a.length && j >= b.length)
284
+ return 0;
285
+ return i >= a.length ? -1 : 1;
286
+ }
287
+ function compareWriteOrder(a, b) {
288
+ return (compareByCodePoint(a.taskPath ?? '', b.taskPath ?? '') ||
289
+ compareByCodePoint(a.taskId, b.taskId) ||
290
+ a.index - b.index ||
291
+ compareByCodePoint(a.channel, b.channel));
292
+ }
293
+ async function toPendingWrites(context, items, threadId, signal) {
294
+ const deps = (0, codec_js_1.codecDepsOf)(context, signal);
295
+ const live = [...dropSupersededWrites(items)].sort(compareWriteOrder);
296
+ const values = await (0, concurrency_js_1.mapWithConcurrency)(live, context.readConcurrency ?? concurrency_js_1.DEFAULT_READ_CONCURRENCY, (item) => (0, codec_js_1.decodePayload)(item.value, deps, [threadId]));
297
+ return live.map((item, index) => [
298
+ item.taskId,
299
+ item.channel,
300
+ values[index],
301
+ ]);
302
+ }
303
+ function resolveWriteIndices(writes) {
304
+ const bySpecialIndex = new Map();
305
+ const regular = [];
306
+ const occurrences = new Map();
307
+ writes.forEach(([channel, value], positional) => {
308
+ if (Object.hasOwn(langgraph_checkpoint_1.WRITES_IDX_MAP, channel)) {
309
+ const index = langgraph_checkpoint_1.WRITES_IDX_MAP[channel];
310
+ bySpecialIndex.set(index, { channel, value, index, occurrence: 0 });
311
+ return;
312
+ }
313
+ const occurrence = occurrences.get(channel) ?? 0;
314
+ occurrences.set(channel, occurrence + 1);
315
+ regular.push({ channel, value, index: positional, occurrence });
316
+ });
317
+ return [...bySpecialIndex.values(), ...regular];
318
+ }
319
+ function dropSupersededWrites(items) {
320
+ const identity = (item) => JSON.stringify([item.taskId, item.channel, item.occurrence ?? 0]);
321
+ const groupOf = (item) => item.writeGroup ?? '';
322
+ const earliestGroup = new Map();
323
+ for (const item of items) {
324
+ const id = identity(item);
325
+ const seen = earliestGroup.get(id);
326
+ const group = groupOf(item);
327
+ if (seen === undefined || group < seen)
328
+ earliestGroup.set(id, group);
329
+ }
330
+ return items.filter((item) => earliestGroup.get(identity(item)) === groupOf(item));
331
+ }
332
+ const PAYLOAD_ATTRIBUTES = ['metadata', 'checkpoint', 'value'];
333
+ function checkpointRowDescriptors(row) {
334
+ const named = [];
335
+ for (const attribute of PAYLOAD_ATTRIBUTES) {
336
+ const entry = (0, partition_delete_js_1.namedDescriptor)(row, attribute);
337
+ if (entry !== undefined)
338
+ named.push(entry);
339
+ }
340
+ return named;
341
+ }
342
+ function checkpointRowUnit(row) {
343
+ return row.SK.split(table_schema_js_1.KEY_SEPARATOR).slice(1, 3).join(table_schema_js_1.KEY_SEPARATOR);
344
+ }
345
+ function checkpointRowKind(row) {
346
+ return row.SK.split(table_schema_js_1.KEY_SEPARATOR)[0];
347
+ }
348
+ function checkpointIndexTarget(row) {
349
+ const pk = typeof row.PK === 'string' ? row.PK : '';
350
+ const sk = typeof row.SK === 'string' ? row.SK : '';
351
+ if (!pk.startsWith(ADAPTER_PARTITION_PREFIX))
352
+ return undefined;
353
+ return sk.startsWith(metaAnyNamespacePrefix()) && typeof row.checkpointId === 'string'
354
+ ? { tag: 'CHKPT', id: row.checkpointId, at: recency_index_js_1.BACKFILLED_AT }
355
+ : undefined;
356
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Hides which options the saver accepts, and how the saver is assembled from
3
+ * them.
4
+ *
5
+ * The exhaustive key list of the constructor's options lives here,
6
+ * compiler-checked against its type, beside the code that resolves those
7
+ * options into the context every action receives. `list`'s and
8
+ * `getDeltaChannelHistory`'s options have no list: LangGraph defines them, so
9
+ * a key it adds is ignored rather than refused (decision record 28).
10
+ */
11
+ import type { SerializerProtocol } from '@langchain/langgraph-checkpoint';
12
+ import { type AdapterCore, type AdapterShell } from '../../shared/adapter.js';
13
+ import type { DynamoDBSaverOptions } from '../types.js';
14
+ /**
15
+ * The keys of the saver's constructor options, exhaustive in both directions:
16
+ * `allKeysOf<T>` makes omitting or inventing one a compile error, so the list
17
+ * cannot rot away from the type it guards. It lives with the feature because
18
+ * the type it is checked against does; `shared/` knows no feature.
19
+ */
20
+ export declare const SAVER_KEYS: readonly string[];
21
+ /** Resolved collaborators shared by every checkpointer action. */
22
+ export interface CheckpointerContext extends AdapterCore {
23
+ serde: SerializerProtocol;
24
+ }
25
+ /** Result of wiring up a checkpointer from its options. */
26
+ export interface CheckpointerSetup {
27
+ context: CheckpointerContext;
28
+ shell: AdapterShell;
29
+ }
30
+ /**
31
+ * Check the options, then resolve the client, offloader and serializer.
32
+ *
33
+ * Accepts: `options` — already held to the saver's key list by its constructor,
34
+ * which must read `serde` before anything else runs; checked here before
35
+ * anything is built, so no half-built saver exists when one is wrong. `serde` —
36
+ * the serializer the base class resolved, which is the caller's own serializer
37
+ * when they gave one.
38
+ *
39
+ * Returns: the context every action receives, and the shell that releases what
40
+ * it holds — a client the caller passed in is never destroyed by `destroy()`.
41
+ *
42
+ * Throws: `VALIDATION` for an option or collaborator that fails a check,
43
+ * naming the offending option.
44
+ *
45
+ * Guarantees: constructing a saver performs no I/O.
46
+ */
47
+ export declare function setUpCheckpointer(options: DynamoDBSaverOptions, serde: SerializerProtocol): CheckpointerSetup;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SAVER_KEYS = void 0;
4
+ exports.setUpCheckpointer = setUpCheckpointer;
5
+ const adapter_js_1 = require("../../shared/adapter.js");
6
+ const option_shape_js_1 = require("../../shared/validation/option-shape.js");
7
+ exports.SAVER_KEYS = (0, option_shape_js_1.allKeysOf)({
8
+ tableName: 'tableName',
9
+ client: 'client',
10
+ clientConfig: 'clientConfig',
11
+ createClient: 'createClient',
12
+ ttl: 'ttl',
13
+ logger: 'logger',
14
+ retry: 'retry',
15
+ indexShards: 'indexShards',
16
+ indexName: 'indexName',
17
+ readConcurrency: 'readConcurrency',
18
+ compression: 'compression',
19
+ s3: 's3',
20
+ serde: 'serde',
21
+ });
22
+ function setUpCheckpointer(options, serde) {
23
+ const shell = (0, adapter_js_1.openAdapter)(options, 'checkpointer');
24
+ return { shell, context: { ...shell.core, serde } };
25
+ }