@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
@@ -0,0 +1,355 @@
1
+ /**
2
+ * Hides the store's key layout and how an item becomes a row and back.
3
+ *
4
+ * An item's namespace root is its partition and the rest of its namespace,
5
+ * with its key, is its sort key, so a prefix search is a key-range query. How
6
+ * those keys are composed, which attributes a row carries — its revision token,
7
+ * timestamps, embeddings, recency-index keys — how a value is encoded into one
8
+ * and decoded out, and which rows a read admits as this adapter's items are
9
+ * decided here.
10
+ */
11
+ import type { QueryCommandInput, ScanCommandInput } from '@aws-sdk/lib-dynamodb';
12
+ import type { Item } from '@langchain/langgraph-checkpoint';
13
+ import { type DescriptorRef, type PayloadDescriptor } from '../../shared/codec/codec';
14
+ import type { AttributeMap } from '../../shared/dynamodb/client';
15
+ import { type IndexTarget } from '../../shared/dynamodb/recency-index';
16
+ import { type RowKey } from '../../shared/dynamodb/table-schema';
17
+ import type { JsonValue } from './filter';
18
+ import type { StoreContext } from './setup';
19
+ /**
20
+ * The attribute an item row carries its revision token in, rewritten on every
21
+ * put. A put's compare-and-swap and a delete's pin both hold the row to the
22
+ * token they observed.
23
+ */
24
+ export declare const REVISION_ATTRIBUTE = "rev";
25
+ /**
26
+ * The tag every store partition key starts with.
27
+ *
28
+ * Accepts: nothing — the tag is fixed, and the function exists so no caller
29
+ * composes it by hand.
30
+ *
31
+ * Returns: the tag, for a table-wide `begins_with` over this adapter's rows.
32
+ *
33
+ * Throws: nothing.
34
+ */
35
+ export declare function storePartitionPrefix(): string;
36
+ /**
37
+ * Partition key for an item: the adapter tag plus the scope-root element.
38
+ *
39
+ * Accepts: `namespace` — normally a validated one, whose first element is the
40
+ * scope root every item under it shares.
41
+ *
42
+ * Returns: the partition key. The function is deliberately **total**: it maps
43
+ * any array to a string rather than refusing a malformed one, because
44
+ * `parseStoreRow` calls it on rows read from a shared table to test whether
45
+ * a row's own attributes agree with the key it was found at. A corrupt or
46
+ * foreign row must be skipped there, not turned into a failed search.
47
+ *
48
+ * Throws: nothing.
49
+ */
50
+ export declare function partitionKey(namespace: string[]): string;
51
+ /**
52
+ * Sort key: the rest of the namespace plus the key, separator-joined.
53
+ *
54
+ * Accepts: `namespace` and `key` — normally validated, so no element can itself
55
+ * contain the separator and the join is unambiguous. A one-element namespace
56
+ * lives entirely in the partition key, so the sort key is just `key`.
57
+ *
58
+ * Returns: the sort key. Total, for the same reason as {@link partitionKey}.
59
+ *
60
+ * Throws: nothing.
61
+ */
62
+ export declare function sortKey(namespace: string[], key: string): string;
63
+ /**
64
+ * `begins_with` prefix selecting a scoped subtree within `prefix[0]`'s
65
+ * partition.
66
+ *
67
+ * Accepts: `prefix` — its first element selects the partition and is not part
68
+ * of the sort key, so a one-element prefix has no rest to match on.
69
+ *
70
+ * Returns: the prefix, separator-terminated so `['users','u1']` does not also
71
+ * match a sibling like `u10`; `''` when there is no rest, which matches the
72
+ * whole partition.
73
+ *
74
+ * Throws: nothing.
75
+ */
76
+ export declare function sortKeyPrefix(prefix: string[]): string;
77
+ /**
78
+ * Whether `namespace` starts with `prefix`, element by element.
79
+ *
80
+ * Accepts: any two namespaces; an empty prefix matches everything, and a prefix
81
+ * longer than the namespace matches nothing.
82
+ *
83
+ * Returns: whether every prefix element equals the namespace element at the
84
+ * same position — not a string comparison, so `['userspace']` does not match the
85
+ * prefix `['users']`.
86
+ *
87
+ * Throws: nothing.
88
+ */
89
+ export declare function namespaceMatchesPrefix(namespace: string[], prefix: string[]): boolean;
90
+ /**
91
+ * The key of an item's row.
92
+ *
93
+ * Accepts: `address` — the item's namespace and key, parsed, or read back from
94
+ * a row or a vector backend's answer.
95
+ *
96
+ * Returns: the row's partition and sort key.
97
+ *
98
+ * Throws: nothing.
99
+ */
100
+ export declare function itemRowKey(address: {
101
+ namespace: string[];
102
+ key: string;
103
+ }): RowKey;
104
+ /**
105
+ * Query input for a scoped prefix.
106
+ *
107
+ * Accepts: `prefix` — at least one element; the first selects the partition and
108
+ * the rest, when there are any, become a `begins_with` on the sort key. Callers
109
+ * decide the rootless case before reaching here: an empty prefix spans every
110
+ * partition, which is a Scan ({@link storeScan}), not a Query.
111
+ *
112
+ * Returns: the Query input. The `begins_with` prefix is separator-terminated,
113
+ * so the scope `['users', 'u1']` does not also read `u10`.
114
+ *
115
+ * Throws: nothing.
116
+ */
117
+ export declare function scopedQuery(tableName: string, prefix: string[]): QueryCommandInput;
118
+ /**
119
+ * Scan input for the rootless case, filtered to store items only.
120
+ *
121
+ * Accepts: the table name. There is nothing to scope by — this is the read for
122
+ * a search or listing whose conditions name no concrete partition.
123
+ *
124
+ * Returns: the Scan input, selecting this adapter's **key space** first and its
125
+ * rows within it second. `begins_with(PK, 'STORE#')` is what restricts the
126
+ * read: every store row carries that tag and no other adapter's partition key
127
+ * can, so a row belonging to another adapter or to another application never
128
+ * reaches the narrow. The `namespace` test stays behind it as a second line of
129
+ * defence over the store's own partitions.
130
+ *
131
+ * Selecting on the attribute alone was not equivalent. It admitted any row on a
132
+ * shared table that happens to carry a `namespace` attribute, and since a row
133
+ * stamped with a format version above this release is *reported* rather than
134
+ * skipped, one foreign row was enough to fail `search([])` and
135
+ * `listNamespaces()` outright. Nothing legitimate is lost: `parseStoreRow`
136
+ * already requires `PK` to equal `partitionKey(namespace)`, which carries the
137
+ * same tag, so every row the tag excludes was dropped after the read anyway.
138
+ *
139
+ * The extra condition is free. A filter "is applied after a `Scan` finishes but
140
+ * before the results are returned. Therefore, a `Scan` consumes the same amount
141
+ * of read capacity, regardless of whether a filter expression is present"
142
+ * (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html).
143
+ * It saves transfer, not RCU — which is also why it cannot replace the narrow.
144
+ *
145
+ * Throws: nothing.
146
+ */
147
+ export declare function storeScan(tableName: string): ScanCommandInput;
148
+ /**
149
+ * Restrict a Query/Scan to the attributes `parseStoreRow` needs, leaving the
150
+ * payload behind: a namespace listing never reads a value.
151
+ *
152
+ * Accepts: any Query or Scan input; its own attribute names are preserved and
153
+ * the projection's are added.
154
+ *
155
+ * Returns: the same input, projected onto the row's identity and its format
156
+ * version `v`. The version is what lets `parseStoreRow` refuse a row a
157
+ * newer release wrote; without it every projected row reads as version 0. A
158
+ * row read this way can be narrowed but not decoded — {@link readStoreItem}
159
+ * needs the whole row.
160
+ *
161
+ * Throws: nothing.
162
+ *
163
+ * Guarantees: RCU is billed on the stored size regardless, so the saving is
164
+ * transfer and unmarshalling, not cost.
165
+ */
166
+ export declare function projectKeys<T extends QueryCommandInput | ScanCommandInput>(params: T): T;
167
+ /** The previous row's createdAt, payload descriptor and revision. */
168
+ export interface ExistingRowMeta {
169
+ exists: boolean;
170
+ createdAt?: string;
171
+ value?: DescriptorRef;
172
+ revision?: string;
173
+ }
174
+ /**
175
+ * Read the fields a put needs from the row it is about to replace, in one
176
+ * strongly-consistent projection: `createdAt` to preserve, the descriptor's
177
+ * location and S3 key to clean up afterwards (never its inline bytes, which
178
+ * can be hundreds of kilobytes the write would only discard), and the
179
+ * revision the compare-and-swap pins.
180
+ *
181
+ * Lives apart from `actions/put.ts` so `item-write.ts` can re-read on a lost swap
182
+ * without importing its own caller.
183
+ *
184
+ * Accepts: `key` — the row's key. The row need not exist.
185
+ *
186
+ * Returns: what the row holds, with `exists: false` and every field undefined
187
+ * when there is none. A row written before revisions existed reports no
188
+ * `revision`, which is why the swap tests `rev` for presence rather than
189
+ * comparing two undefineds.
190
+ *
191
+ * Throws: whatever the read throws after retries.
192
+ *
193
+ * Guarantees: strongly consistent — a put must supersede the row that is really
194
+ * there, not one a replica still shows.
195
+ */
196
+ export declare function readExisting(context: StoreContext, key: RowKey): Promise<ExistingRowMeta>;
197
+ /**
198
+ * Project a raw row onto {@link ExistingRowMeta}.
199
+ *
200
+ * Accepts: `item` — a read result, or the row a conditional-check rejection
201
+ * carried with it; `undefined` means there is no row.
202
+ *
203
+ * Returns: the fields a put needs from the row it supersedes. Fields the
204
+ * projection did not ask for, or that the row does not carry, are undefined.
205
+ *
206
+ * Throws: nothing.
207
+ */
208
+ export declare function existingFrom(item: AttributeMap | undefined): ExistingRowMeta;
209
+ /** The DynamoDB item backing a single stored value. */
210
+ export interface StoreItemRow {
211
+ PK: string;
212
+ SK: string;
213
+ /** Row format version; absent on rows written before it existed (see `table-schema.ts`). */
214
+ v?: number;
215
+ /** Recency-index keys; absent on rows written before the index existed. */
216
+ gsi1pk?: string;
217
+ gsi1sk?: string;
218
+ namespace: string[];
219
+ key: string;
220
+ value: PayloadDescriptor;
221
+ createdAt: string;
222
+ updatedAt: string;
223
+ /**
224
+ * One vector per extracted path, scored by best match on read. Absent when
225
+ * the value has no indexable text, or when a `vectorBackend` holds the
226
+ * vectors instead.
227
+ */
228
+ embeddings?: number[][];
229
+ /**
230
+ * The single joined vector rows carried before the store embedded each path
231
+ * separately. Never written now; still read, and scored as a one-element
232
+ * list, so rows written by an earlier version rank exactly as they did.
233
+ */
234
+ embedding?: number[];
235
+ ttl?: number;
236
+ /**
237
+ * Revision token, rewritten on every put. Pins the compare-and-swap that
238
+ * keeps two concurrent overwrites from both deleting the same superseded S3
239
+ * object. Optional: rows written before 0.9.0 carry none.
240
+ */
241
+ rev?: string;
242
+ }
243
+ /**
244
+ * Narrow a raw scanned row to a {@link StoreItemRow}, or `undefined` for a
245
+ * foreign row on a shared table (no `namespace`) — and for a row whose
246
+ * `namespace`/`key` attributes disagree with the DynamoDB key it was found at.
247
+ * The attributes name the S3 path the row may reference, so they must be bound
248
+ * to the partition the row actually lives in: a writer confined to its own
249
+ * partition can then never make a row speak for another tenant's objects.
250
+ *
251
+ * Accepts: `raw` — any row, whole or projected. The identity test reads only
252
+ * `PK`, `SK`, `namespace` and `key`, and the version check reads only `v`,
253
+ * which is what lets a namespace listing narrow rows it deliberately read
254
+ * without their payload. A projection that leaves out `v` reads every row as
255
+ * version 0, so the check cannot refuse one.
256
+ *
257
+ * Returns: the record, or undefined for a row that is not this adapter's item.
258
+ *
259
+ * Throws: `FORMAT_UNSUPPORTED` for a row a newer format version wrote —
260
+ * checked **before** the shape, as every other read of this package's rows
261
+ * checks it, so such a row is reported as newer rather than judged against
262
+ * attribute names it may no longer use. Skipping it would hide an item that
263
+ * exists.
264
+ */
265
+ export declare function parseStoreRow(raw: AttributeMap): StoreItemRow | undefined;
266
+ /**
267
+ * The same narrowing for a call site that needs the *whole* row, not just its
268
+ * identity: {@link readStoreItem} reads the timestamps as well as the payload,
269
+ * and a row that carries none made `new Date(undefined)` — an `Invalid Date`
270
+ * handed back under a declared `Date`, which surfaces as a `RangeError` in the
271
+ * caller's own code, far from the row that caused it.
272
+ *
273
+ * It is a separate narrow rather than a stricter {@link parseStoreRow}
274
+ * because a namespace listing deliberately reads rows without their timestamps
275
+ * (see `projectKeys`): requiring one there would hide every namespace in the
276
+ * table.
277
+ *
278
+ * Accepts: `raw` — any whole row, as read by `get`, a search or a reconcile.
279
+ *
280
+ * Returns: the record, or undefined for a row {@link parseStoreRow}
281
+ * refuses and for one whose `createdAt` or `updatedAt` is not the string this
282
+ * package writes there. A row this adapter cannot describe is skipped where a
283
+ * foreign one already is, so one of them never costs a listing the rest of its
284
+ * rows.
285
+ *
286
+ * Throws: as {@link parseStoreRow}.
287
+ */
288
+ export declare function parseWholeStoreRow(raw: AttributeMap): StoreItemRow | undefined;
289
+ /** Fields controlling a stored item's timestamps, embeddings, ttl and revision token. */
290
+ export interface BuildRowOptions {
291
+ createdAt: string;
292
+ updatedAt: string;
293
+ embeddings?: number[][];
294
+ ttlTimestamp?: number;
295
+ /**
296
+ * The row's revision token, unique per `put` call. It is the value a
297
+ * concurrent overwrite pins with a compare-and-swap, so each writer can tell
298
+ * whether the row it read is still the row it is replacing, and it is the
299
+ * object id an offloaded value is uploaded under. A fresh UUID is drawn when
300
+ * it is absent.
301
+ */
302
+ rev?: string;
303
+ }
304
+ /**
305
+ * Encode a value into the DynamoDB record for a stored item.
306
+ *
307
+ * Accepts: `address` — already validated; its `namespace` and `key` become the
308
+ * row's key and, with it, the S3 path any offloaded payload may occupy.
309
+ * `value` — a value the serializer can represent. `options.rev` — this put's
310
+ * own revision token, which the compare-and-swap pins, the write verification
311
+ * reads back, and an offloaded value's key ends in; absent, a fresh UUID is
312
+ * drawn, before the value is encoded.
313
+ *
314
+ * Returns: the complete row, including the recency-index attributes: a store
315
+ * item is listed across partitions by a rootless search, so it is indexed.
316
+ *
317
+ * Throws: `VALIDATION` naming `value` for a value with no JSON
318
+ * representation; `S3_OFFLOAD_FAILED` when an offloaded payload cannot be
319
+ * uploaded. Encoding happens before any write, so a value that cannot be stored
320
+ * never half-writes a row.
321
+ */
322
+ export declare function buildStoreRow(context: StoreContext, address: {
323
+ namespace: string[];
324
+ key: string;
325
+ }, value: Record<string, JsonValue>, options: BuildRowOptions): Promise<StoreItemRow>;
326
+ /**
327
+ * Decode a DynamoDB record back into a store {@link Item}.
328
+ *
329
+ * Accepts: `record` — a whole row, never a projection: the value and the
330
+ * timestamps are read from it, and `projectKeys` rows exist only to establish
331
+ * identity for a namespace listing. {@link parseWholeStoreRow} is what proves a
332
+ * raw row is one of those, timestamps included. `signal` — cancels the
333
+ * download an offloaded value costs.
334
+ *
335
+ * Returns: the item, with the timestamps this library stamped at write time.
336
+ *
337
+ * Throws: `PAYLOAD_CORRUPT` for a payload that cannot be decoded,
338
+ * `VALIDATION` naming `serde` for one the configured serde refuses to
339
+ * reconstruct, and whatever the download throws for an offloaded one —
340
+ * including the missing-object error `getItem` resolves against a concurrent
341
+ * overwrite.
342
+ */
343
+ export declare function readStoreItem(context: StoreContext, record: StoreItemRow, signal?: AbortSignal): Promise<Item>;
344
+ /**
345
+ * Where a store row sits in the recency index, for a row written before the
346
+ * index existed.
347
+ *
348
+ * Accepts: `row` — any row of the table.
349
+ *
350
+ * Returns: an item row's identity — its sort key, at its own `updatedAt` — or
351
+ * `undefined` for a row of another adapter.
352
+ *
353
+ * Throws: nothing.
354
+ */
355
+ export declare function storeIndexTarget(row: AttributeMap): IndexTarget | undefined;