@farukada/aws-langgraph-dynamodb-ts 0.9.0 → 1.0.0-rc.2

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 (512) hide show
  1. package/README.md +1720 -154
  2. package/dist/backfill/backfill.d.ts +168 -0
  3. package/dist/backfill/backfill.js +393 -0
  4. package/dist/checkpointer/actions/delete-thread.d.ts +47 -6
  5. package/dist/checkpointer/actions/delete-thread.js +58 -21
  6. package/dist/checkpointer/actions/get-tuple.d.ts +29 -4
  7. package/dist/checkpointer/actions/get-tuple.js +44 -10
  8. package/dist/checkpointer/actions/list.d.ts +46 -4
  9. package/dist/checkpointer/actions/list.js +121 -66
  10. package/dist/checkpointer/actions/put-writes.d.ts +41 -9
  11. package/dist/checkpointer/actions/put-writes.js +62 -77
  12. package/dist/checkpointer/actions/put.d.ts +83 -4
  13. package/dist/checkpointer/actions/put.js +177 -25
  14. package/dist/checkpointer/internal/delta-history.d.ts +112 -0
  15. package/dist/checkpointer/internal/delta-history.js +252 -0
  16. package/dist/checkpointer/internal/listing.d.ts +149 -0
  17. package/dist/checkpointer/internal/listing.js +245 -0
  18. package/dist/checkpointer/internal/parse.d.ts +262 -0
  19. package/dist/checkpointer/internal/parse.js +372 -0
  20. package/dist/checkpointer/internal/pending-writes.d.ts +275 -0
  21. package/dist/checkpointer/internal/pending-writes.js +588 -0
  22. package/dist/checkpointer/internal/read.d.ts +130 -0
  23. package/dist/checkpointer/internal/read.js +264 -0
  24. package/dist/checkpointer/internal/rows.d.ts +571 -0
  25. package/dist/checkpointer/internal/rows.js +834 -0
  26. package/dist/checkpointer/internal/setup.d.ts +42 -19
  27. package/dist/checkpointer/internal/setup.js +65 -29
  28. package/dist/checkpointer/saver.d.ts +256 -16
  29. package/dist/checkpointer/saver.js +275 -29
  30. package/dist/checkpointer/types.d.ts +39 -39
  31. package/dist/checkpointer/types.js +10 -1
  32. package/dist/factory/factory.d.ts +134 -28
  33. package/dist/factory/factory.js +240 -21
  34. package/dist/factory/types.d.ts +76 -0
  35. package/dist/factory/types.js +10 -0
  36. package/dist/history/actions/add-messages.d.ts +31 -4
  37. package/dist/history/actions/add-messages.js +38 -58
  38. package/dist/history/actions/clear.d.ts +49 -6
  39. package/dist/history/actions/clear.js +66 -14
  40. package/dist/history/actions/get-messages.d.ts +54 -6
  41. package/dist/history/actions/get-messages.js +126 -43
  42. package/dist/history/actions/list-sessions.d.ts +52 -10
  43. package/dist/history/actions/list-sessions.js +139 -40
  44. package/dist/history/actions/reconcile-count.d.ts +42 -10
  45. package/dist/history/actions/reconcile-count.js +45 -45
  46. package/dist/history/chat-message-history.d.ts +220 -33
  47. package/dist/history/chat-message-history.js +240 -43
  48. package/dist/history/internal/append.d.ts +212 -0
  49. package/dist/history/internal/append.js +500 -0
  50. package/dist/history/internal/message-read.d.ts +84 -0
  51. package/dist/history/internal/message-read.js +204 -0
  52. package/dist/history/internal/parse.d.ts +153 -0
  53. package/dist/history/internal/parse.js +252 -0
  54. package/dist/history/internal/rows.d.ts +195 -0
  55. package/dist/history/internal/rows.js +250 -0
  56. package/dist/history/internal/session.d.ts +331 -0
  57. package/dist/history/internal/session.js +628 -0
  58. package/dist/history/internal/setup.d.ts +52 -17
  59. package/dist/history/internal/setup.js +92 -21
  60. package/dist/history/session-adapter.d.ts +102 -7
  61. package/dist/history/session-adapter.js +103 -9
  62. package/dist/history/types.d.ts +80 -29
  63. package/dist/history/types.js +10 -1
  64. package/dist/index.d.ts +42 -11
  65. package/dist/index.js +33 -12
  66. package/dist/shared/adapter.d.ts +135 -0
  67. package/dist/shared/adapter.js +143 -0
  68. package/dist/shared/clock.d.ts +51 -2
  69. package/dist/shared/clock.js +57 -2
  70. package/dist/shared/codec/codec.d.ts +288 -13
  71. package/dist/shared/codec/codec.js +416 -19
  72. package/dist/shared/codec/compression.d.ts +43 -7
  73. package/dist/shared/codec/compression.js +53 -13
  74. package/dist/shared/codec/json-serde.d.ts +76 -4
  75. package/dist/shared/codec/json-serde.js +181 -8
  76. package/dist/shared/codec/s3/client-types.d.ts +53 -0
  77. package/dist/shared/codec/s3/client-types.js +26 -0
  78. package/dist/shared/codec/s3/client.d.ts +43 -10
  79. package/dist/shared/codec/s3/client.js +82 -9
  80. package/dist/shared/codec/s3/config.d.ts +242 -11
  81. package/dist/shared/codec/s3/config.js +293 -11
  82. package/dist/shared/codec/s3/lifecycle.d.ts +164 -6
  83. package/dist/shared/codec/s3/lifecycle.js +335 -27
  84. package/dist/shared/codec/s3/offloader.d.ts +393 -18
  85. package/dist/shared/codec/s3/offloader.js +595 -37
  86. package/dist/shared/concurrency.d.ts +43 -0
  87. package/dist/shared/concurrency.js +78 -0
  88. package/dist/shared/dynamodb/abort.d.ts +47 -0
  89. package/dist/shared/dynamodb/abort.js +59 -0
  90. package/dist/shared/dynamodb/batch-write.d.ts +77 -14
  91. package/dist/shared/dynamodb/batch-write.js +146 -27
  92. package/dist/shared/dynamodb/cancellation.d.ts +121 -4
  93. package/dist/shared/dynamodb/cancellation.js +147 -3
  94. package/dist/shared/dynamodb/client.d.ts +162 -8
  95. package/dist/shared/dynamodb/client.js +153 -5
  96. package/dist/shared/dynamodb/idempotent-write.d.ts +551 -0
  97. package/dist/shared/dynamodb/idempotent-write.js +593 -0
  98. package/dist/shared/dynamodb/paginate.d.ts +105 -9
  99. package/dist/shared/dynamodb/paginate.js +175 -7
  100. package/dist/shared/dynamodb/partition-delete.d.ts +185 -14
  101. package/dist/shared/dynamodb/partition-delete.js +314 -44
  102. package/dist/shared/dynamodb/recency-index.d.ts +231 -0
  103. package/dist/shared/dynamodb/recency-index.js +377 -0
  104. package/dist/shared/dynamodb/retry.d.ts +276 -8
  105. package/dist/shared/dynamodb/retry.js +433 -23
  106. package/dist/shared/dynamodb/table-schema.d.ts +190 -0
  107. package/dist/shared/dynamodb/table-schema.js +209 -0
  108. package/dist/shared/errors/base-error.d.ts +184 -10
  109. package/dist/shared/errors/base-error.js +160 -14
  110. package/dist/shared/errors/boundary.d.ts +71 -0
  111. package/dist/shared/errors/boundary.js +143 -0
  112. package/dist/shared/errors/classify.d.ts +97 -0
  113. package/dist/shared/errors/classify.js +257 -0
  114. package/dist/shared/errors/error-code.d.ts +77 -2
  115. package/dist/shared/errors/error-code.js +83 -1
  116. package/dist/shared/errors/errors.d.ts +158 -59
  117. package/dist/shared/errors/errors.js +219 -92
  118. package/dist/shared/logging/logger.d.ts +69 -3
  119. package/dist/shared/logging/logger.js +97 -3
  120. package/dist/shared/logging/redaction.d.ts +92 -8
  121. package/dist/shared/logging/redaction.js +273 -17
  122. package/dist/shared/logging/secret-patterns.d.ts +149 -19
  123. package/dist/shared/logging/secret-patterns.js +188 -27
  124. package/dist/shared/logging/truncate.d.ts +197 -0
  125. package/dist/shared/logging/truncate.js +231 -0
  126. package/dist/shared/options.d.ts +59 -7
  127. package/dist/shared/options.js +9 -1
  128. package/dist/shared/ulid.d.ts +77 -7
  129. package/dist/shared/ulid.js +103 -8
  130. package/dist/shared/validation/collaborators.d.ts +141 -0
  131. package/dist/shared/validation/collaborators.js +188 -0
  132. package/dist/shared/validation/option-shape.d.ts +89 -0
  133. package/dist/shared/validation/option-shape.js +113 -0
  134. package/dist/shared/validation/options.d.ts +145 -0
  135. package/dist/shared/validation/options.js +328 -0
  136. package/dist/shared/validation/primitives.d.ts +288 -21
  137. package/dist/shared/validation/primitives.js +353 -50
  138. package/dist/shared/validation/ttl.d.ts +66 -10
  139. package/dist/shared/validation/ttl.js +113 -15
  140. package/dist/store/actions/list-namespaces.d.ts +76 -6
  141. package/dist/store/actions/list-namespaces.js +166 -24
  142. package/dist/store/actions/put.d.ts +33 -8
  143. package/dist/store/actions/put.js +53 -60
  144. package/dist/store/actions/reconcile-vector-index.d.ts +31 -10
  145. package/dist/store/actions/reconcile-vector-index.js +34 -15
  146. package/dist/store/actions/search.d.ts +34 -6
  147. package/dist/store/actions/search.js +56 -51
  148. package/dist/store/internal/batch-plan.d.ts +26 -0
  149. package/dist/store/internal/batch-plan.js +109 -0
  150. package/dist/store/internal/filter.d.ts +36 -3
  151. package/dist/store/internal/filter.js +66 -15
  152. package/dist/store/internal/get-item.d.ts +45 -0
  153. package/dist/store/internal/get-item.js +115 -0
  154. package/dist/store/internal/item-write.d.ts +230 -0
  155. package/dist/store/internal/item-write.js +463 -0
  156. package/dist/store/internal/parse.d.ts +225 -0
  157. package/dist/store/internal/parse.js +350 -0
  158. package/dist/store/internal/rows.d.ts +355 -0
  159. package/dist/store/internal/rows.js +447 -0
  160. package/dist/store/internal/semantic-search.d.ts +161 -6
  161. package/dist/store/internal/semantic-search.js +360 -18
  162. package/dist/store/internal/setup.d.ts +77 -20
  163. package/dist/store/internal/setup.js +178 -47
  164. package/dist/store/internal/table-search.d.ts +100 -0
  165. package/dist/store/internal/table-search.js +213 -0
  166. package/dist/store/internal/vector-index.d.ts +247 -0
  167. package/dist/store/internal/vector-index.js +546 -0
  168. package/dist/store/store.d.ts +270 -17
  169. package/dist/store/store.js +329 -38
  170. package/dist/store/types.d.ts +76 -26
  171. package/dist/store/types.js +13 -1
  172. package/dist/store/vector-backend.d.ts +64 -4
  173. package/dist/store/vector-backend.js +15 -1
  174. package/package.json +58 -36
  175. package/dist/checkpointer/actions/delete-thread.d.ts.map +0 -1
  176. package/dist/checkpointer/actions/delete-thread.js.map +0 -1
  177. package/dist/checkpointer/actions/get-tuple.d.ts.map +0 -1
  178. package/dist/checkpointer/actions/get-tuple.js.map +0 -1
  179. package/dist/checkpointer/actions/list.d.ts.map +0 -1
  180. package/dist/checkpointer/actions/list.js.map +0 -1
  181. package/dist/checkpointer/actions/put-writes.d.ts.map +0 -1
  182. package/dist/checkpointer/actions/put-writes.js.map +0 -1
  183. package/dist/checkpointer/actions/put.d.ts.map +0 -1
  184. package/dist/checkpointer/actions/put.js.map +0 -1
  185. package/dist/checkpointer/internal/assemble.d.ts +0 -10
  186. package/dist/checkpointer/internal/assemble.d.ts.map +0 -1
  187. package/dist/checkpointer/internal/assemble.js +0 -37
  188. package/dist/checkpointer/internal/assemble.js.map +0 -1
  189. package/dist/checkpointer/internal/configurable.d.ts +0 -13
  190. package/dist/checkpointer/internal/configurable.d.ts.map +0 -1
  191. package/dist/checkpointer/internal/configurable.js +0 -23
  192. package/dist/checkpointer/internal/configurable.js.map +0 -1
  193. package/dist/checkpointer/internal/fetch.d.ts +0 -10
  194. package/dist/checkpointer/internal/fetch.d.ts.map +0 -1
  195. package/dist/checkpointer/internal/fetch.js +0 -46
  196. package/dist/checkpointer/internal/fetch.js.map +0 -1
  197. package/dist/checkpointer/internal/filter-match.d.ts +0 -12
  198. package/dist/checkpointer/internal/filter-match.d.ts.map +0 -1
  199. package/dist/checkpointer/internal/filter-match.js +0 -14
  200. package/dist/checkpointer/internal/filter-match.js.map +0 -1
  201. package/dist/checkpointer/internal/item-reader.d.ts +0 -55
  202. package/dist/checkpointer/internal/item-reader.d.ts.map +0 -1
  203. package/dist/checkpointer/internal/item-reader.js +0 -88
  204. package/dist/checkpointer/internal/item-reader.js.map +0 -1
  205. package/dist/checkpointer/internal/item-writer.d.ts +0 -26
  206. package/dist/checkpointer/internal/item-writer.d.ts.map +0 -1
  207. package/dist/checkpointer/internal/item-writer.js +0 -92
  208. package/dist/checkpointer/internal/item-writer.js.map +0 -1
  209. package/dist/checkpointer/internal/keys.d.ts +0 -31
  210. package/dist/checkpointer/internal/keys.d.ts.map +0 -1
  211. package/dist/checkpointer/internal/keys.js +0 -87
  212. package/dist/checkpointer/internal/keys.js.map +0 -1
  213. package/dist/checkpointer/internal/query.d.ts +0 -20
  214. package/dist/checkpointer/internal/query.d.ts.map +0 -1
  215. package/dist/checkpointer/internal/query.js +0 -36
  216. package/dist/checkpointer/internal/query.js.map +0 -1
  217. package/dist/checkpointer/internal/setup.d.ts.map +0 -1
  218. package/dist/checkpointer/internal/setup.js.map +0 -1
  219. package/dist/checkpointer/internal/special-write-cas.d.ts +0 -30
  220. package/dist/checkpointer/internal/special-write-cas.d.ts.map +0 -1
  221. package/dist/checkpointer/internal/special-write-cas.js +0 -104
  222. package/dist/checkpointer/internal/special-write-cas.js.map +0 -1
  223. package/dist/checkpointer/internal/special-write-cleanup.d.ts +0 -24
  224. package/dist/checkpointer/internal/special-write-cleanup.d.ts.map +0 -1
  225. package/dist/checkpointer/internal/special-write-cleanup.js +0 -47
  226. package/dist/checkpointer/internal/special-write-cleanup.js.map +0 -1
  227. package/dist/checkpointer/internal/special-write-verify.d.ts +0 -54
  228. package/dist/checkpointer/internal/special-write-verify.d.ts.map +0 -1
  229. package/dist/checkpointer/internal/special-write-verify.js +0 -65
  230. package/dist/checkpointer/internal/special-write-verify.js.map +0 -1
  231. package/dist/checkpointer/internal/validation.d.ts +0 -13
  232. package/dist/checkpointer/internal/validation.d.ts.map +0 -1
  233. package/dist/checkpointer/internal/validation.js +0 -30
  234. package/dist/checkpointer/internal/validation.js.map +0 -1
  235. package/dist/checkpointer/internal/write-guard.d.ts +0 -13
  236. package/dist/checkpointer/internal/write-guard.d.ts.map +0 -1
  237. package/dist/checkpointer/internal/write-guard.js +0 -39
  238. package/dist/checkpointer/internal/write-guard.js.map +0 -1
  239. package/dist/checkpointer/internal/write-index.d.ts +0 -37
  240. package/dist/checkpointer/internal/write-index.d.ts.map +0 -1
  241. package/dist/checkpointer/internal/write-index.js +0 -42
  242. package/dist/checkpointer/internal/write-index.js.map +0 -1
  243. package/dist/checkpointer/saver.d.ts.map +0 -1
  244. package/dist/checkpointer/saver.js.map +0 -1
  245. package/dist/checkpointer/types.d.ts.map +0 -1
  246. package/dist/checkpointer/types.js.map +0 -1
  247. package/dist/factory/factory.d.ts.map +0 -1
  248. package/dist/factory/factory.js.map +0 -1
  249. package/dist/history/actions/add-messages.d.ts.map +0 -1
  250. package/dist/history/actions/add-messages.js.map +0 -1
  251. package/dist/history/actions/clear.d.ts.map +0 -1
  252. package/dist/history/actions/clear.js.map +0 -1
  253. package/dist/history/actions/get-messages.d.ts.map +0 -1
  254. package/dist/history/actions/get-messages.js.map +0 -1
  255. package/dist/history/actions/list-sessions.d.ts.map +0 -1
  256. package/dist/history/actions/list-sessions.js.map +0 -1
  257. package/dist/history/actions/reconcile-count.d.ts.map +0 -1
  258. package/dist/history/actions/reconcile-count.js.map +0 -1
  259. package/dist/history/chat-message-history.d.ts.map +0 -1
  260. package/dist/history/chat-message-history.js.map +0 -1
  261. package/dist/history/internal/append-saga.d.ts +0 -20
  262. package/dist/history/internal/append-saga.d.ts.map +0 -1
  263. package/dist/history/internal/append-saga.js +0 -35
  264. package/dist/history/internal/append-saga.js.map +0 -1
  265. package/dist/history/internal/compensation.d.ts +0 -21
  266. package/dist/history/internal/compensation.d.ts.map +0 -1
  267. package/dist/history/internal/compensation.js +0 -84
  268. package/dist/history/internal/compensation.js.map +0 -1
  269. package/dist/history/internal/item-mapper.d.ts +0 -12
  270. package/dist/history/internal/item-mapper.d.ts.map +0 -1
  271. package/dist/history/internal/item-mapper.js +0 -33
  272. package/dist/history/internal/item-mapper.js.map +0 -1
  273. package/dist/history/internal/keys.d.ts +0 -17
  274. package/dist/history/internal/keys.d.ts.map +0 -1
  275. package/dist/history/internal/keys.js +0 -49
  276. package/dist/history/internal/keys.js.map +0 -1
  277. package/dist/history/internal/message-chunker.d.ts +0 -14
  278. package/dist/history/internal/message-chunker.d.ts.map +0 -1
  279. package/dist/history/internal/message-chunker.js +0 -68
  280. package/dist/history/internal/message-chunker.js.map +0 -1
  281. package/dist/history/internal/message-transaction.d.ts +0 -26
  282. package/dist/history/internal/message-transaction.d.ts.map +0 -1
  283. package/dist/history/internal/message-transaction.js +0 -60
  284. package/dist/history/internal/message-transaction.js.map +0 -1
  285. package/dist/history/internal/query.d.ts +0 -10
  286. package/dist/history/internal/query.d.ts.map +0 -1
  287. package/dist/history/internal/query.js +0 -31
  288. package/dist/history/internal/query.js.map +0 -1
  289. package/dist/history/internal/session-count.d.ts +0 -41
  290. package/dist/history/internal/session-count.d.ts.map +0 -1
  291. package/dist/history/internal/session-count.js +0 -109
  292. package/dist/history/internal/session-count.js.map +0 -1
  293. package/dist/history/internal/session-title.d.ts +0 -20
  294. package/dist/history/internal/session-title.d.ts.map +0 -1
  295. package/dist/history/internal/session-title.js +0 -44
  296. package/dist/history/internal/session-title.js.map +0 -1
  297. package/dist/history/internal/session-update.d.ts +0 -28
  298. package/dist/history/internal/session-update.d.ts.map +0 -1
  299. package/dist/history/internal/session-update.js +0 -70
  300. package/dist/history/internal/session-update.js.map +0 -1
  301. package/dist/history/internal/setup.d.ts.map +0 -1
  302. package/dist/history/internal/setup.js.map +0 -1
  303. package/dist/history/internal/title-generator.d.ts +0 -13
  304. package/dist/history/internal/title-generator.d.ts.map +0 -1
  305. package/dist/history/internal/title-generator.js +0 -25
  306. package/dist/history/internal/title-generator.js.map +0 -1
  307. package/dist/history/internal/ttl-anchor.d.ts +0 -25
  308. package/dist/history/internal/ttl-anchor.d.ts.map +0 -1
  309. package/dist/history/internal/ttl-anchor.js +0 -38
  310. package/dist/history/internal/ttl-anchor.js.map +0 -1
  311. package/dist/history/internal/validation.d.ts +0 -9
  312. package/dist/history/internal/validation.d.ts.map +0 -1
  313. package/dist/history/internal/validation.js +0 -16
  314. package/dist/history/internal/validation.js.map +0 -1
  315. package/dist/history/session-adapter.d.ts.map +0 -1
  316. package/dist/history/session-adapter.js.map +0 -1
  317. package/dist/history/types.d.ts.map +0 -1
  318. package/dist/history/types.js.map +0 -1
  319. package/dist/index.d.ts.map +0 -1
  320. package/dist/index.js.map +0 -1
  321. package/dist/shared/clock.d.ts.map +0 -1
  322. package/dist/shared/clock.js.map +0 -1
  323. package/dist/shared/codec/codec.d.ts.map +0 -1
  324. package/dist/shared/codec/codec.js.map +0 -1
  325. package/dist/shared/codec/compression.d.ts.map +0 -1
  326. package/dist/shared/codec/compression.js.map +0 -1
  327. package/dist/shared/codec/descriptor-keys.d.ts +0 -4
  328. package/dist/shared/codec/descriptor-keys.d.ts.map +0 -1
  329. package/dist/shared/codec/descriptor-keys.js +0 -14
  330. package/dist/shared/codec/descriptor-keys.js.map +0 -1
  331. package/dist/shared/codec/json-serde.d.ts.map +0 -1
  332. package/dist/shared/codec/json-serde.js.map +0 -1
  333. package/dist/shared/codec/s3/client.d.ts.map +0 -1
  334. package/dist/shared/codec/s3/client.js.map +0 -1
  335. package/dist/shared/codec/s3/config.d.ts.map +0 -1
  336. package/dist/shared/codec/s3/config.js.map +0 -1
  337. package/dist/shared/codec/s3/delete.d.ts +0 -8
  338. package/dist/shared/codec/s3/delete.d.ts.map +0 -1
  339. package/dist/shared/codec/s3/delete.js +0 -29
  340. package/dist/shared/codec/s3/delete.js.map +0 -1
  341. package/dist/shared/codec/s3/lifecycle.d.ts.map +0 -1
  342. package/dist/shared/codec/s3/lifecycle.js.map +0 -1
  343. package/dist/shared/codec/s3/offloader.d.ts.map +0 -1
  344. package/dist/shared/codec/s3/offloader.js.map +0 -1
  345. package/dist/shared/codec/s3/orphans.d.ts +0 -18
  346. package/dist/shared/codec/s3/orphans.d.ts.map +0 -1
  347. package/dist/shared/codec/s3/orphans.js +0 -58
  348. package/dist/shared/codec/s3/orphans.js.map +0 -1
  349. package/dist/shared/codec/s3/read-write.d.ts +0 -14
  350. package/dist/shared/codec/s3/read-write.d.ts.map +0 -1
  351. package/dist/shared/codec/s3/read-write.js +0 -43
  352. package/dist/shared/codec/s3/read-write.js.map +0 -1
  353. package/dist/shared/codec/s3/retry.d.ts +0 -5
  354. package/dist/shared/codec/s3/retry.d.ts.map +0 -1
  355. package/dist/shared/codec/s3/retry.js +0 -25
  356. package/dist/shared/codec/s3/retry.js.map +0 -1
  357. package/dist/shared/constants.d.ts +0 -64
  358. package/dist/shared/constants.d.ts.map +0 -1
  359. package/dist/shared/constants.js +0 -67
  360. package/dist/shared/constants.js.map +0 -1
  361. package/dist/shared/dynamodb/backoff.d.ts +0 -15
  362. package/dist/shared/dynamodb/backoff.d.ts.map +0 -1
  363. package/dist/shared/dynamodb/backoff.js +0 -48
  364. package/dist/shared/dynamodb/backoff.js.map +0 -1
  365. package/dist/shared/dynamodb/batch-write.d.ts.map +0 -1
  366. package/dist/shared/dynamodb/batch-write.js.map +0 -1
  367. package/dist/shared/dynamodb/cancellation.d.ts.map +0 -1
  368. package/dist/shared/dynamodb/cancellation.js.map +0 -1
  369. package/dist/shared/dynamodb/client.d.ts.map +0 -1
  370. package/dist/shared/dynamodb/client.js.map +0 -1
  371. package/dist/shared/dynamodb/conditional-put.d.ts +0 -51
  372. package/dist/shared/dynamodb/conditional-put.d.ts.map +0 -1
  373. package/dist/shared/dynamodb/conditional-put.js +0 -59
  374. package/dist/shared/dynamodb/conditional-put.js.map +0 -1
  375. package/dist/shared/dynamodb/drain-unprocessed.d.ts +0 -19
  376. package/dist/shared/dynamodb/drain-unprocessed.d.ts.map +0 -1
  377. package/dist/shared/dynamodb/drain-unprocessed.js +0 -44
  378. package/dist/shared/dynamodb/drain-unprocessed.js.map +0 -1
  379. package/dist/shared/dynamodb/paginate-core.d.ts +0 -22
  380. package/dist/shared/dynamodb/paginate-core.d.ts.map +0 -1
  381. package/dist/shared/dynamodb/paginate-core.js +0 -52
  382. package/dist/shared/dynamodb/paginate-core.js.map +0 -1
  383. package/dist/shared/dynamodb/paginate.d.ts.map +0 -1
  384. package/dist/shared/dynamodb/paginate.js.map +0 -1
  385. package/dist/shared/dynamodb/partition-delete.d.ts.map +0 -1
  386. package/dist/shared/dynamodb/partition-delete.js.map +0 -1
  387. package/dist/shared/dynamodb/retry-classifier.d.ts +0 -9
  388. package/dist/shared/dynamodb/retry-classifier.d.ts.map +0 -1
  389. package/dist/shared/dynamodb/retry-classifier.js +0 -87
  390. package/dist/shared/dynamodb/retry-classifier.js.map +0 -1
  391. package/dist/shared/dynamodb/retry.d.ts.map +0 -1
  392. package/dist/shared/dynamodb/retry.js.map +0 -1
  393. package/dist/shared/dynamodb/scan.d.ts +0 -15
  394. package/dist/shared/dynamodb/scan.d.ts.map +0 -1
  395. package/dist/shared/dynamodb/scan.js +0 -20
  396. package/dist/shared/dynamodb/scan.js.map +0 -1
  397. package/dist/shared/dynamodb/types.d.ts +0 -24
  398. package/dist/shared/dynamodb/types.d.ts.map +0 -1
  399. package/dist/shared/dynamodb/types.js +0 -3
  400. package/dist/shared/dynamodb/types.js.map +0 -1
  401. package/dist/shared/errors/base-error.d.ts.map +0 -1
  402. package/dist/shared/errors/base-error.js.map +0 -1
  403. package/dist/shared/errors/error-code.d.ts.map +0 -1
  404. package/dist/shared/errors/error-code.js.map +0 -1
  405. package/dist/shared/errors/errors.d.ts.map +0 -1
  406. package/dist/shared/errors/errors.js.map +0 -1
  407. package/dist/shared/errors/wrap-error.d.ts +0 -16
  408. package/dist/shared/errors/wrap-error.d.ts.map +0 -1
  409. package/dist/shared/errors/wrap-error.js +0 -30
  410. package/dist/shared/errors/wrap-error.js.map +0 -1
  411. package/dist/shared/logging/logger.d.ts.map +0 -1
  412. package/dist/shared/logging/logger.js.map +0 -1
  413. package/dist/shared/logging/redaction-walk.d.ts +0 -23
  414. package/dist/shared/logging/redaction-walk.d.ts.map +0 -1
  415. package/dist/shared/logging/redaction-walk.js +0 -92
  416. package/dist/shared/logging/redaction-walk.js.map +0 -1
  417. package/dist/shared/logging/redaction.d.ts.map +0 -1
  418. package/dist/shared/logging/redaction.js.map +0 -1
  419. package/dist/shared/logging/secret-patterns.d.ts.map +0 -1
  420. package/dist/shared/logging/secret-patterns.js.map +0 -1
  421. package/dist/shared/options.d.ts.map +0 -1
  422. package/dist/shared/options.js.map +0 -1
  423. package/dist/shared/ulid.d.ts.map +0 -1
  424. package/dist/shared/ulid.js.map +0 -1
  425. package/dist/shared/validation/primitives.d.ts.map +0 -1
  426. package/dist/shared/validation/primitives.js.map +0 -1
  427. package/dist/shared/validation/ttl.d.ts.map +0 -1
  428. package/dist/shared/validation/ttl.js.map +0 -1
  429. package/dist/store/actions/get.d.ts +0 -5
  430. package/dist/store/actions/get.d.ts.map +0 -1
  431. package/dist/store/actions/get.js +0 -35
  432. package/dist/store/actions/get.js.map +0 -1
  433. package/dist/store/actions/list-namespaces.d.ts.map +0 -1
  434. package/dist/store/actions/list-namespaces.js.map +0 -1
  435. package/dist/store/actions/put.d.ts.map +0 -1
  436. package/dist/store/actions/put.js.map +0 -1
  437. package/dist/store/actions/reconcile-vector-index.d.ts.map +0 -1
  438. package/dist/store/actions/reconcile-vector-index.js.map +0 -1
  439. package/dist/store/actions/search.d.ts.map +0 -1
  440. package/dist/store/actions/search.js.map +0 -1
  441. package/dist/store/internal/backend-search.d.ts +0 -5
  442. package/dist/store/internal/backend-search.d.ts.map +0 -1
  443. package/dist/store/internal/backend-search.js +0 -68
  444. package/dist/store/internal/backend-search.js.map +0 -1
  445. package/dist/store/internal/filter.d.ts.map +0 -1
  446. package/dist/store/internal/filter.js.map +0 -1
  447. package/dist/store/internal/index-reconcile.d.ts +0 -22
  448. package/dist/store/internal/index-reconcile.d.ts.map +0 -1
  449. package/dist/store/internal/index-reconcile.js +0 -105
  450. package/dist/store/internal/index-reconcile.js.map +0 -1
  451. package/dist/store/internal/index-sync.d.ts +0 -11
  452. package/dist/store/internal/index-sync.d.ts.map +0 -1
  453. package/dist/store/internal/index-sync.js +0 -26
  454. package/dist/store/internal/index-sync.js.map +0 -1
  455. package/dist/store/internal/item-mapper.d.ts +0 -25
  456. package/dist/store/internal/item-mapper.d.ts.map +0 -1
  457. package/dist/store/internal/item-mapper.js +0 -53
  458. package/dist/store/internal/item-mapper.js.map +0 -1
  459. package/dist/store/internal/keys.d.ts +0 -18
  460. package/dist/store/internal/keys.d.ts.map +0 -1
  461. package/dist/store/internal/keys.js +0 -42
  462. package/dist/store/internal/keys.js.map +0 -1
  463. package/dist/store/internal/namespace-match.d.ts +0 -12
  464. package/dist/store/internal/namespace-match.d.ts.map +0 -1
  465. package/dist/store/internal/namespace-match.js +0 -41
  466. package/dist/store/internal/namespace-match.js.map +0 -1
  467. package/dist/store/internal/overwrite-swap.d.ts +0 -33
  468. package/dist/store/internal/overwrite-swap.d.ts.map +0 -1
  469. package/dist/store/internal/overwrite-swap.js +0 -62
  470. package/dist/store/internal/overwrite-swap.js.map +0 -1
  471. package/dist/store/internal/persist.d.ts +0 -27
  472. package/dist/store/internal/persist.d.ts.map +0 -1
  473. package/dist/store/internal/persist.js +0 -59
  474. package/dist/store/internal/persist.js.map +0 -1
  475. package/dist/store/internal/query.d.ts +0 -6
  476. package/dist/store/internal/query.d.ts.map +0 -1
  477. package/dist/store/internal/query.js +0 -32
  478. package/dist/store/internal/query.js.map +0 -1
  479. package/dist/store/internal/ranker.d.ts +0 -13
  480. package/dist/store/internal/ranker.d.ts.map +0 -1
  481. package/dist/store/internal/ranker.js +0 -31
  482. package/dist/store/internal/ranker.js.map +0 -1
  483. package/dist/store/internal/read-existing.d.ts +0 -19
  484. package/dist/store/internal/read-existing.d.ts.map +0 -1
  485. package/dist/store/internal/read-existing.js +0 -29
  486. package/dist/store/internal/read-existing.js.map +0 -1
  487. package/dist/store/internal/score-direction.d.ts +0 -32
  488. package/dist/store/internal/score-direction.d.ts.map +0 -1
  489. package/dist/store/internal/score-direction.js +0 -39
  490. package/dist/store/internal/score-direction.js.map +0 -1
  491. package/dist/store/internal/search-filter.d.ts +0 -4
  492. package/dist/store/internal/search-filter.d.ts.map +0 -1
  493. package/dist/store/internal/search-filter.js +0 -11
  494. package/dist/store/internal/search-filter.js.map +0 -1
  495. package/dist/store/internal/semantic-search.d.ts.map +0 -1
  496. package/dist/store/internal/semantic-search.js.map +0 -1
  497. package/dist/store/internal/setup.d.ts.map +0 -1
  498. package/dist/store/internal/setup.js.map +0 -1
  499. package/dist/store/internal/validation.d.ts +0 -13
  500. package/dist/store/internal/validation.d.ts.map +0 -1
  501. package/dist/store/internal/validation.js +0 -35
  502. package/dist/store/internal/validation.js.map +0 -1
  503. package/dist/store/internal/write-verify.d.ts +0 -37
  504. package/dist/store/internal/write-verify.d.ts.map +0 -1
  505. package/dist/store/internal/write-verify.js +0 -68
  506. package/dist/store/internal/write-verify.js.map +0 -1
  507. package/dist/store/store.d.ts.map +0 -1
  508. package/dist/store/store.js.map +0 -1
  509. package/dist/store/types.d.ts.map +0 -1
  510. package/dist/store/types.js.map +0 -1
  511. package/dist/store/vector-backend.d.ts.map +0 -1
  512. package/dist/store/vector-backend.js.map +0 -1
@@ -1,31 +1,54 @@
1
- import type { DynamoDBClient } from '@aws-sdk/client-dynamodb';
2
- import type { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
1
+ /**
2
+ * Hides which options the saver and its methods accept, and how the saver is
3
+ * assembled from them.
4
+ *
5
+ * The exhaustive key list of every option bag — the constructor's, `list`'s,
6
+ * `getDeltaChannelHistory`'s — lives here, compiler-checked against its type,
7
+ * beside the code that resolves the constructor's options into the context
8
+ * every action receives.
9
+ */
3
10
  import type { SerializerProtocol } from '@langchain/langgraph-checkpoint';
4
- import type { CompressionConfig } from '../../shared/codec/compression';
5
- import { S3Offloader } from '../../shared/codec/s3/offloader';
6
- import { type Logger } from '../../shared/logging/logger';
7
- import type { TtlOption } from '../../shared/validation/ttl';
11
+ import { type AdapterCore, type AdapterShell } from '../../shared/adapter';
8
12
  import type { DynamoDBSaverOptions } from '../types';
13
+ /**
14
+ * The keys of each checkpointer option bag, exhaustive in both directions:
15
+ * `allKeysOf<T>` makes omitting or inventing one a compile error, so a list
16
+ * cannot rot away from the type it guards. They live with the feature because
17
+ * the types they are checked against do; `shared/` knows no feature.
18
+ */
19
+ export declare const SAVER_KEYS: readonly string[];
20
+ /** See {@link SAVER_KEYS}. */
21
+ export declare const SAVER_LIST_KEYS: readonly string[];
22
+ /**
23
+ * See {@link SAVER_KEYS}. `DeltaChannelHistoryOptions` is pinned equal to
24
+ * `BaseCheckpointSaver.getDeltaChannelHistory`'s own parameter type, the
25
+ * contract that method implements, so this list is checked against it.
26
+ */
27
+ export declare const DELTA_CHANNEL_HISTORY_KEYS: readonly string[];
9
28
  /** Resolved collaborators shared by every checkpointer action. */
10
- export interface CheckpointerContext {
11
- client: DynamoDBDocument;
12
- tableName: string;
29
+ export interface CheckpointerContext extends AdapterCore {
13
30
  serde: SerializerProtocol;
14
- compression?: CompressionConfig;
15
- offloader?: S3Offloader;
16
- ttl?: TtlOption;
17
- logger: Logger;
18
31
  }
19
32
  /** Result of wiring up a checkpointer from its options. */
20
33
  export interface CheckpointerSetup {
21
34
  context: CheckpointerContext;
22
- ddbClient: DynamoDBClient | undefined;
23
- ownsClient: boolean;
35
+ shell: AdapterShell;
24
36
  }
25
37
  /**
26
- * Resolve the DynamoDB client, optional S3 offloader, and logging into the
27
- * context every action receives, plus the ownership info the class needs to
28
- * tear resources down.
38
+ * Check the options, then resolve the client, offloader and serializer.
39
+ *
40
+ * Accepts: `options` — already held to the saver's key list by its constructor,
41
+ * which must read `serde` before anything else runs; checked here before
42
+ * anything is built, so no half-built saver exists when one is wrong. `serde` —
43
+ * the serializer the base class resolved, which is the caller's own serializer
44
+ * when they gave one.
45
+ *
46
+ * Returns: the context every action receives, and the shell that releases what
47
+ * it holds — a client the caller passed in is never destroyed by `destroy()`.
48
+ *
49
+ * Throws: `VALIDATION` for an option or collaborator that fails a check,
50
+ * naming the offending option.
51
+ *
52
+ * Guarantees: constructing a saver performs no I/O.
29
53
  */
30
54
  export declare function setUpCheckpointer(options: DynamoDBSaverOptions, serde: SerializerProtocol): CheckpointerSetup;
31
- //# sourceMappingURL=setup.d.ts.map
@@ -1,36 +1,72 @@
1
1
  "use strict";
2
+ /**
3
+ * Hides which options the saver and its methods accept, and how the saver is
4
+ * assembled from them.
5
+ *
6
+ * The exhaustive key list of every option bag — the constructor's, `list`'s,
7
+ * `getDeltaChannelHistory`'s — lives here, compiler-checked against its type,
8
+ * beside the code that resolves the constructor's options into the context
9
+ * every action receives.
10
+ */
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DELTA_CHANNEL_HISTORY_KEYS = exports.SAVER_LIST_KEYS = exports.SAVER_KEYS = void 0;
3
13
  exports.setUpCheckpointer = setUpCheckpointer;
4
- const config_1 = require("../../shared/codec/s3/config");
5
- const offloader_1 = require("../../shared/codec/s3/offloader");
6
- const constants_1 = require("../../shared/constants");
7
- const client_1 = require("../../shared/dynamodb/client");
8
- const logger_1 = require("../../shared/logging/logger");
14
+ const adapter_1 = require("../../shared/adapter");
15
+ const option_shape_1 = require("../../shared/validation/option-shape");
16
+ /**
17
+ * The keys of each checkpointer option bag, exhaustive in both directions:
18
+ * `allKeysOf<T>` makes omitting or inventing one a compile error, so a list
19
+ * cannot rot away from the type it guards. They live with the feature because
20
+ * the types they are checked against do; `shared/` knows no feature.
21
+ */
22
+ exports.SAVER_KEYS = (0, option_shape_1.allKeysOf)({
23
+ tableName: 'tableName',
24
+ client: 'client',
25
+ clientConfig: 'clientConfig',
26
+ createClient: 'createClient',
27
+ ttl: 'ttl',
28
+ logger: 'logger',
29
+ retry: 'retry',
30
+ indexShards: 'indexShards',
31
+ indexName: 'indexName',
32
+ readConcurrency: 'readConcurrency',
33
+ compression: 'compression',
34
+ s3: 's3',
35
+ serde: 'serde',
36
+ });
37
+ /** See {@link SAVER_KEYS}. */
38
+ exports.SAVER_LIST_KEYS = (0, option_shape_1.allKeysOf)({
39
+ limit: 'limit',
40
+ before: 'before',
41
+ filter: 'filter',
42
+ });
43
+ /**
44
+ * See {@link SAVER_KEYS}. `DeltaChannelHistoryOptions` is pinned equal to
45
+ * `BaseCheckpointSaver.getDeltaChannelHistory`'s own parameter type, the
46
+ * contract that method implements, so this list is checked against it.
47
+ */
48
+ exports.DELTA_CHANNEL_HISTORY_KEYS = (0, option_shape_1.allKeysOf)({
49
+ config: 'config',
50
+ channels: 'channels',
51
+ });
9
52
  /**
10
- * Resolve the DynamoDB client, optional S3 offloader, and logging into the
11
- * context every action receives, plus the ownership info the class needs to
12
- * tear resources down.
53
+ * Check the options, then resolve the client, offloader and serializer.
54
+ *
55
+ * Accepts: `options` — already held to the saver's key list by its constructor,
56
+ * which must read `serde` before anything else runs; checked here before
57
+ * anything is built, so no half-built saver exists when one is wrong. `serde` —
58
+ * the serializer the base class resolved, which is the caller's own serializer
59
+ * when they gave one.
60
+ *
61
+ * Returns: the context every action receives, and the shell that releases what
62
+ * it holds — a client the caller passed in is never destroyed by `destroy()`.
63
+ *
64
+ * Throws: `VALIDATION` for an option or collaborator that fails a check,
65
+ * naming the offending option.
66
+ *
67
+ * Guarantees: constructing a saver performs no I/O.
13
68
  */
14
69
  function setUpCheckpointer(options, serde) {
15
- const resolved = (0, client_1.resolveDynamoDBClient)(options);
16
- const offloader = options.s3
17
- ? new offloader_1.S3Offloader({
18
- ...options.s3,
19
- keyPrefix: options.s3.keyPrefix ?? (0, config_1.defaultAdapterKeyPrefix)(constants_1.DEFAULT_S3_KEY_PREFIX, 'checkpointer'),
20
- })
21
- : undefined;
22
- return {
23
- context: {
24
- client: resolved.client,
25
- tableName: options.tableName,
26
- serde,
27
- compression: options.compression,
28
- offloader,
29
- ttl: options.ttl,
30
- logger: (0, logger_1.resolveLogger)(options.logger),
31
- },
32
- ddbClient: resolved.ddbClient,
33
- ownsClient: resolved.ownsClient,
34
- };
70
+ const shell = (0, adapter_1.openAdapter)(options, 'checkpointer');
71
+ return { shell, context: { ...shell.core, serde } };
35
72
  }
36
- //# sourceMappingURL=setup.js.map
@@ -1,30 +1,270 @@
1
+ /**
2
+ * Hides the checkpointer's collaborators behind LangGraph's saver contract.
3
+ *
4
+ * `DynamoDBSaver` is the `BaseCheckpointSaver` a graph is handed: it resolves
5
+ * its client, offloader, logger and retry policy once and delegates each
6
+ * read and write to one action, save `getDeltaChannelHistory`, whose walk
7
+ * lives in `internal/delta-history` instead. Each asynchronous method is
8
+ * also the error boundary, so a raw AWS SDK error never reaches a caller
9
+ * unclassified (record 13); `destroy` releases what the saver owns and is
10
+ * the one synchronous exception. Actions can be split, merged or reordered
11
+ * without the public surface moving.
12
+ */
1
13
  import type { RunnableConfig } from '@langchain/core/runnables';
2
- import { BaseCheckpointSaver, type Checkpoint, type CheckpointListOptions, type CheckpointMetadata, type CheckpointTuple, type PendingWrite } from '@langchain/langgraph-checkpoint';
3
- import type { DynamoDBSaverOptions } from './types';
14
+ import { BaseCheckpointSaver, type ChannelVersions, type Checkpoint, type CheckpointListOptions, type CheckpointMetadata, type CheckpointTuple, type DeltaChannelHistory, type PendingWrite } from '@langchain/langgraph-checkpoint';
15
+ import type { CancelOptions } from '../shared/options';
16
+ import type { DeltaChannelHistoryOptions, DynamoDBSaverOptions } from './types';
4
17
  /**
5
- * DynamoDB-backed LangGraph checkpoint saver. A thin orchestrator: it resolves
6
- * its collaborators once and delegates every operation to a focused action.
18
+ * DynamoDB-backed LangGraph checkpoint saver. Every public method rejects only
19
+ * with this library's error, whose `code` says what failed — an AWS failure
20
+ * included.
7
21
  */
8
22
  export declare class DynamoDBSaver extends BaseCheckpointSaver {
9
23
  private readonly context;
10
- private readonly ownsClient;
11
- private readonly ddbClient;
24
+ private readonly shell;
25
+ /**
26
+ * Accepts: `options` — validated here, so a misconfiguration surfaces at
27
+ * construction rather than on the first request. `options.serde` reaches the
28
+ * base class, which is why the resolved `this.serde` is what the context
29
+ * gets.
30
+ *
31
+ * Returns: a saver that owns the client it built, or borrows the one it was
32
+ * given.
33
+ *
34
+ * Throws: `VALIDATION` naming the offending option.
35
+ *
36
+ * Guarantees: no I/O. Constructing a saver issues no request, so it is safe
37
+ * at module scope and in a Lambda's init phase.
38
+ */
12
39
  constructor(options: DynamoDBSaverOptions);
40
+ /**
41
+ * Read one checkpoint with its metadata and pending writes.
42
+ *
43
+ * Accepts: `config` — an object; `config.configurable`, when present, an
44
+ * object too. `config.configurable.checkpoint_id` — names the checkpoint, and
45
+ * `thread_ts` is read in its place when it is absent; the absence of both
46
+ * asks for the newest in the namespace. `checkpoint_ns` defaults to the root
47
+ * namespace. A config naming no `thread_id` is accepted: its other
48
+ * identifiers are still validated. `config.signal` — aborts the reads.
49
+ *
50
+ * Returns: the tuple, or `undefined` for an unknown thread, an unknown
51
+ * checkpoint, a config naming no thread, or a checkpoint whose payload row is
52
+ * not there yet.
53
+ *
54
+ * Throws: `VALIDATION`, before any read, naming `config` for a config that
55
+ * is not an object, `configurable` for a `configurable` that is present and
56
+ * not an object, `signal` for a signal that is not `AbortSignal`-shaped, or
57
+ * `thread_id`, `checkpoint_ns`, `checkpoint_id` or `thread_ts` for a
58
+ * malformed identifier, and — from a row rather than from the call —
59
+ * `descriptor` for a payload descriptor no reader could make sense of, `s3`
60
+ * for an offloaded row with no offloader configured, `s3Key` for a row
61
+ * addressing an object outside the thread's own path, or `serde` for a
62
+ * payload the configured serializer refuses to reconstruct;
63
+ * `FORMAT_UNSUPPORTED` for a row, or a payload, a newer release wrote;
64
+ * `PAYLOAD_CORRUPT` for a payload that is no longer the form its row
65
+ * declares; `S3_OFFLOAD_FAILED` for an offloaded payload that cannot be
66
+ * downloaded; `COMPRESSION_LIMIT` for one whose decompressed size would pass
67
+ * the cap; a classified AWS failure; `RETRY_EXHAUSTED`; `ABORTED`.
68
+ *
69
+ * Guarantees: strongly consistent, so a checkpoint just written is always
70
+ * seen.
71
+ */
13
72
  getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
73
+ /**
74
+ * Stream checkpoints newest first.
75
+ *
76
+ * Accepts: `config` — one namespace, every namespace of a thread when
77
+ * `checkpoint_ns` is omitted, or every thread in the table when `thread_id`
78
+ * is omitted, which is a table scan, or a read of the recency index when
79
+ * `indexName` is set. `options.before`, `options.filter` and
80
+ * `options.limit` follow the reference savers; `limit: 0` yields nothing,
81
+ * and a negative one is refused rather than answered with nothing, so that a
82
+ * page size whose computation went wrong is reported instead of hidden.
83
+ *
84
+ * Returns: an async generator over the tuples. Abandoning it stops the read,
85
+ * so a consumer that breaks early pays for no further page.
86
+ *
87
+ * Throws: `VALIDATION`, raised from the first `.next()`, since a
88
+ * generator runs none of its body until pulled, and before any read: naming
89
+ * `config`, `configurable` or `signal` for a config of the wrong shape, as
90
+ * {@link getTuple} does, or `thread_id`, `checkpoint_ns`, `checkpoint_id` or
91
+ * `thread_ts` for a malformed identifier — all checked before `options`;
92
+ * then `options` for options that are not an object, `options.<key>` for a
93
+ * key this package does not read, `filter` for a filter that is not an
94
+ * object, `limit` for a limit that is not an integer from 0 to
95
+ * `MAX_PAGE_LIMIT` (10,000), and `before` for a `before` that is not an
96
+ * object or whose `configurable.checkpoint_id` is
97
+ * neither absent (`undefined`, `null` or `''`) nor a well-formed checkpoint
98
+ * id. `FORMAT_UNSUPPORTED`; `RESULT_TRUNCATED`, without a `thread_id` and
99
+ * with `indexName`, for an index shard whose pages do not end; a classified AWS failure;
100
+ * `RETRY_EXHAUSTED`; `ABORTED`.
101
+ *
102
+ * Guarantees: eventually consistent — a listing tolerates the replica lag
103
+ * `getTuple` does not.
104
+ * @remarks One read per page — or, without a `thread_id` and with `indexName`,
105
+ * at least one query per index shard per page of 100 rows — plus two per
106
+ * yielded tuple (see the README cost table).
107
+ */
14
108
  list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
15
- put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata): Promise<RunnableConfig>;
109
+ /**
110
+ * Store a checkpoint and its metadata in one transaction.
111
+ *
112
+ * Accepts: `config` — shaped as {@link getTuple} requires, and naming a
113
+ * `thread_id`. `config.configurable.checkpoint_id` — becomes the new
114
+ * checkpoint's parent. `config.signal` — aborts the write. `checkpoint` —
115
+ * every channel value it carries is stored. `newVersions` — accepted to
116
+ * satisfy `BaseCheckpointSaver.put` and deliberately ignored: LangGraph passes
117
+ * it empty for a fork and for an empty update, so narrowing by it would store
118
+ * nothing for either (decision record 10).
119
+ *
120
+ * Returns: the config addressing the stored checkpoint, which is what the
121
+ * caller passes back to continue the thread.
122
+ *
123
+ * Throws: `VALIDATION` naming `config`, `configurable` or `signal` for a
124
+ * config of the wrong shape, `thread_id` for a missing or malformed thread
125
+ * id, `checkpoint_ns`, `checkpoint_id` or `thread_ts` for a malformed
126
+ * identifier, `checkpoint` for a `null` or `undefined` checkpoint,
127
+ * `checkpoint_id` for a malformed `checkpoint.id`, `payload` for a payload
128
+ * too large to store inline without `s3`, or `s3Key` for an offloaded
129
+ * object's key over S3's cap; `S3_OFFLOAD_FAILED` when an offloaded payload
130
+ * cannot be uploaded; a classified AWS failure; `RETRY_EXHAUSTED`; `ABORTED`.
131
+ *
132
+ * Guarantees: both rows land or neither does. Writing the same
133
+ * `checkpoint.id` again replaces both, so a retry is safe. Each put uploads
134
+ * its offloaded payloads under an id of its own, so the objects the replaced
135
+ * rows named are not deleted with them: they are left to the lifecycle rule
136
+ * `ensureS3LifecycleRule()` provisions.
137
+ */
138
+ put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata, newVersions?: ChannelVersions): Promise<RunnableConfig>;
139
+ /**
140
+ * Store a task's pending writes for the checkpoint `config` names.
141
+ *
142
+ * Accepts: `config` — shaped as {@link getTuple} requires, naming a
143
+ * `thread_id` and a `checkpoint_id`, since writes attach to a checkpoint.
144
+ * `config.signal` — aborts the writes. `writes` — an array of
145
+ * `[channel, value]` arrays, one row each, written in parallel; an empty list
146
+ * writes nothing. `taskId` — validated as the key segment it becomes.
147
+ *
148
+ * Returns: nothing. Losing a first-write-wins race is a normal outcome, not
149
+ * a failure.
150
+ *
151
+ * Throws: `VALIDATION` naming `taskId` for a malformed task id; `config`,
152
+ * `configurable` or `signal` for a config of the wrong shape; `thread_id`,
153
+ * `checkpoint_ns`, `checkpoint_id` or `thread_ts` for a malformed
154
+ * identifier, and `checkpoint_id` when the config names none; `writes` for
155
+ * writes that is not an array, or holds an entry that is not one; `channel`
156
+ * for a malformed channel; `sortKey` for identifiers composing a sort key
157
+ * over DynamoDB's cap; `payload` for a value too large to store inline
158
+ * without `s3`; or `s3Key` for an offloaded object's key over S3's cap.
159
+ * `S3_OFFLOAD_FAILED`; a classified AWS failure; `RETRY_EXHAUSTED`; `ABORTED`.
160
+ *
161
+ * Guarantees: regular writes are first-write-wins; special channels
162
+ * (`__interrupt__`, `__resume__`, `__error__`, `__scheduled__`) overwrite,
163
+ * with `s3` through a compare-and-swap on the row each call observed, so that
164
+ * each call releases the payload it superseded rather than one a concurrent
165
+ * call already replaced. An offloaded object can still be orphaned and left
166
+ * to the lifecycle rule: when the compare-and-swap is exhausted and the write
167
+ * overwrites unconditionally, when a delete fails, when the row cannot be read
168
+ * before the write, when a failed write cannot be verified, or in one
169
+ * double-fault interleaving (see the README's S3 offloading notes).
170
+ */
16
171
  putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
17
- deleteThread(threadId: string): Promise<void>;
18
- /** Release owned resources (the underlying client and any S3 client). */
172
+ /**
173
+ * Delete every checkpoint, payload and pending write of a thread.
174
+ *
175
+ * Accepts: `threadId` — validated. `options.signal` — aborts between pages.
176
+ *
177
+ * Returns: nothing. Deleting a thread that does not exist is not an error.
178
+ *
179
+ * Throws: `VALIDATION` naming `options` for options that are not an
180
+ * object, `options.<key>` for a key this package does not read, `signal`
181
+ * for a signal that is not `AbortSignal`-shaped, or `thread_id` for a
182
+ * malformed `threadId`;
183
+ * `BATCH_WRITE_INCOMPLETE` when a row's delete fails, counting rows
184
+ * rather than batches and carrying what did succeed; a classified AWS failure;
185
+ * `ABORTED` when the signal fires, which is what a cancel surfaces as
186
+ * rather than an incomplete delete, even when it fires part-way through the
187
+ * pass. A row refused because it was rewritten after the partition read
188
+ * raises nothing: it is left exactly as its writer left it, reported at
189
+ * `warn`, and counted as skipped.
190
+ *
191
+ * Guarantees: a row this adapter did not write is left in place and logged,
192
+ * and neither is a row rewritten since the read — so an acknowledged write is
193
+ * no longer erased, nor the object it names released, by a delete that
194
+ * observed the row before it. Single pass: call it when the thread is
195
+ * quiescent, since a checkpoint written at a key the read never saw survives
196
+ * it, and so does the re-landing of an inline pending write, which carries no
197
+ * request token on purpose. What comes back there is an ordinary row, naming
198
+ * no object this call could have released.
199
+ */
200
+ deleteThread(threadId: string, options?: CancelOptions): Promise<void>;
201
+ /**
202
+ * Walk a checkpoint's ancestors for the delta channels named, returning each
203
+ * channel's on-path writes oldest-first and its nearest stored value.
204
+ *
205
+ * Overrides the inherited walk, which stops silently at an ancestor it cannot
206
+ * read and lets the consumer restart the channel from empty. A TTL computed
207
+ * per put puts that within reach here, so an ancestor a channel still needs
208
+ * that has expired is reported instead of dropped.
209
+ *
210
+ * Accepts: `options` — must be an object naming exactly `config` and
211
+ * `channels`, the shape `BaseCheckpointSaver`'s own signature declares.
212
+ * `options.channels` — the delta channels to rebuild, required; an empty
213
+ * array reads nothing rather than being refused, since it is a legitimate
214
+ * "nothing to rebuild" request. `options.config` — the checkpoint to walk
215
+ * back from, shaped as {@link getTuple} requires and checked for that shape
216
+ * even when there is nothing to read; its `signal` aborts the whole walk —
217
+ * every ancestor read, not only the first — and the hop it fires on is the
218
+ * last read the call makes.
219
+ *
220
+ * Returns: per channel, its on-path writes oldest-first and the nearest
221
+ * stored value found.
222
+ *
223
+ * Throws: `VALIDATION` naming `options` for options that are not an
224
+ * object, `options.<key>` for an unknown key, `config`, `configurable` or
225
+ * `signal` for a config of the wrong shape, or `channels` for a value that
226
+ * is not an array of strings, and, once a channel is named, `thread_id`,
227
+ * `checkpoint_ns`, `checkpoint_id` or `thread_ts` for a malformed
228
+ * identifier; `ANCESTOR_EXPIRED` when a checkpoint a channel still needs has
229
+ * expired; a classified AWS failure; `RETRY_EXHAUSTED`; `ABORTED`, which a walk
230
+ * cancelled as it reached an expired ancestor reports in place of
231
+ * `ANCESTOR_EXPIRED`.
232
+ *
233
+ * Guarantees: the walk stops at the first ancestor answering for every
234
+ * channel, so a deep thread costs reads only as far back as the nearest
235
+ * snapshot.
236
+ */
237
+ getDeltaChannelHistory(options: DeltaChannelHistoryOptions): Promise<Record<string, DeltaChannelHistory>>;
238
+ /**
239
+ * Release owned resources.
240
+ *
241
+ * Accepts: nothing.
242
+ *
243
+ * Returns: nothing. Idempotent, and a no-op for a client the caller injected
244
+ * — that one is theirs to close.
245
+ *
246
+ * Throws: whatever a resource's own `destroy` raises — but only after every
247
+ * other one has been released, so a client that fails to close never strands
248
+ * the one behind it.
249
+ */
19
250
  destroy(): void;
20
251
  /**
21
- * Best-effort provision an S3 lifecycle expiration rule matching the
22
- * configured TTL, so offloaded objects don't outlive their DynamoDB item
23
- * forever. No-ops when S3 offload or TTL isn't configured. Requires the
24
- * `s3:GetLifecycleConfiguration`/`s3:PutLifecycleConfiguration` bucket-level
25
- * permissions (broader than the object-level CRUD the rest of S3 offload
26
- * needs) — call this once during deployment/provisioning, not per-request.
252
+ * Provision an S3 lifecycle expiration rule matching the configured TTL, so
253
+ * offloaded payloads don't outlive the items that point at them.
254
+ *
255
+ * Accepts: nothing; the rule follows the configured `s3` and `ttl`. A no-op
256
+ * without both, since there would be no bucket to rule over or no expiry to
257
+ * match.
258
+ *
259
+ * Returns: nothing. Installing a rule that is already there is a no-op too,
260
+ * so calling it on every deploy is safe.
261
+ *
262
+ * Throws: `VALIDATION` naming `s3.keyPrefix` on a rule-id collision;
263
+ * a classified AWS failure when the bucket's lifecycle cannot be read or written.
264
+ * @remarks Needs the bucket-level `s3:GetLifecycleConfiguration` and
265
+ * `s3:PutLifecycleConfiguration` permissions, which are broader than the
266
+ * object-level CRUD the rest of S3 offload needs. Call it once at deployment,
267
+ * not per request.
27
268
  */
28
269
  ensureS3LifecycleRule(): Promise<void>;
29
270
  }
30
- //# sourceMappingURL=saver.d.ts.map