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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/README.md +390 -193
  2. package/dist/{backfill → cjs/backfill}/backfill.d.ts +15 -12
  3. package/dist/cjs/backfill/backfill.js +177 -0
  4. package/dist/{checkpointer → cjs/checkpointer}/actions/delete-thread.d.ts +1 -1
  5. package/dist/cjs/checkpointer/actions/delete-thread.js +26 -0
  6. package/dist/{checkpointer → cjs/checkpointer}/actions/get-tuple.d.ts +4 -3
  7. package/dist/cjs/checkpointer/actions/get-tuple.js +22 -0
  8. package/dist/{checkpointer → cjs/checkpointer}/actions/list.d.ts +7 -4
  9. package/dist/cjs/checkpointer/actions/list.js +70 -0
  10. package/dist/{checkpointer → cjs/checkpointer}/actions/put-writes.d.ts +8 -6
  11. package/dist/cjs/checkpointer/actions/put-writes.js +21 -0
  12. package/dist/{checkpointer → cjs/checkpointer}/actions/put.d.ts +21 -15
  13. package/dist/cjs/checkpointer/actions/put.js +79 -0
  14. package/dist/{checkpointer → cjs/checkpointer}/internal/delta-history.d.ts +38 -26
  15. package/dist/cjs/checkpointer/internal/delta-history.js +131 -0
  16. package/dist/{checkpointer → cjs/checkpointer}/internal/listing.d.ts +4 -4
  17. package/dist/cjs/checkpointer/internal/listing.js +104 -0
  18. package/dist/{checkpointer → cjs/checkpointer}/internal/parse.d.ts +51 -15
  19. package/dist/cjs/checkpointer/internal/parse.js +184 -0
  20. package/dist/{checkpointer → cjs/checkpointer}/internal/pending-writes.d.ts +64 -25
  21. package/dist/cjs/checkpointer/internal/pending-writes.js +241 -0
  22. package/dist/{checkpointer → cjs/checkpointer}/internal/read.d.ts +15 -10
  23. package/dist/cjs/checkpointer/internal/read.js +132 -0
  24. package/dist/{checkpointer → cjs/checkpointer}/internal/rows.d.ts +94 -21
  25. package/dist/cjs/checkpointer/internal/rows.js +356 -0
  26. package/dist/{checkpointer → cjs/checkpointer}/internal/setup.d.ts +13 -20
  27. package/dist/cjs/checkpointer/internal/setup.js +25 -0
  28. package/dist/{checkpointer → cjs/checkpointer}/saver.d.ts +72 -36
  29. package/dist/cjs/checkpointer/saver.js +56 -0
  30. package/dist/{checkpointer → cjs/checkpointer}/types.d.ts +1 -1
  31. package/dist/cjs/checkpointer/types.js +2 -0
  32. package/dist/{factory → cjs/factory}/factory.d.ts +25 -20
  33. package/dist/cjs/factory/factory.js +137 -0
  34. package/dist/{factory → cjs/factory}/types.d.ts +12 -12
  35. package/dist/cjs/factory/types.js +2 -0
  36. package/dist/{history → cjs/history}/actions/add-messages.d.ts +18 -10
  37. package/dist/cjs/history/actions/add-messages.js +17 -0
  38. package/dist/{history → cjs/history}/actions/clear.d.ts +1 -1
  39. package/dist/cjs/history/actions/clear.js +29 -0
  40. package/dist/{history → cjs/history}/actions/get-messages.d.ts +11 -9
  41. package/dist/cjs/history/actions/get-messages.js +58 -0
  42. package/dist/{history → cjs/history}/actions/list-sessions.d.ts +3 -3
  43. package/dist/cjs/history/actions/list-sessions.js +67 -0
  44. package/dist/{history → cjs/history}/actions/reconcile-count.d.ts +13 -9
  45. package/dist/cjs/history/actions/reconcile-count.js +8 -0
  46. package/dist/{history → cjs/history}/chat-message-history.d.ts +62 -30
  47. package/dist/cjs/history/chat-message-history.js +61 -0
  48. package/dist/{history → cjs/history}/internal/append.d.ts +64 -32
  49. package/dist/cjs/history/internal/append.js +267 -0
  50. package/dist/{history → cjs/history}/internal/message-read.d.ts +3 -3
  51. package/dist/cjs/history/internal/message-read.js +93 -0
  52. package/dist/{history → cjs/history}/internal/parse.d.ts +2 -2
  53. package/dist/cjs/history/internal/parse.js +113 -0
  54. package/dist/{history → cjs/history}/internal/rows.d.ts +11 -10
  55. package/dist/cjs/history/internal/rows.js +96 -0
  56. package/dist/{history → cjs/history}/internal/session.d.ts +41 -22
  57. package/dist/cjs/history/internal/session.js +296 -0
  58. package/dist/{history → cjs/history}/internal/setup.d.ts +2 -2
  59. package/dist/cjs/history/internal/setup.js +60 -0
  60. package/dist/{history → cjs/history}/session-adapter.d.ts +0 -6
  61. package/dist/cjs/history/session-adapter.js +38 -0
  62. package/dist/{history → cjs/history}/types.d.ts +18 -15
  63. package/dist/cjs/history/types.js +2 -0
  64. package/dist/{index.d.ts → cjs/index.d.ts} +27 -27
  65. package/dist/cjs/index.js +25 -0
  66. package/dist/cjs/package.json +1 -0
  67. package/dist/{shared → cjs/shared}/adapter.d.ts +27 -16
  68. package/dist/cjs/shared/adapter.js +70 -0
  69. package/dist/cjs/shared/clock.js +14 -0
  70. package/dist/{shared → cjs/shared}/codec/codec.d.ts +37 -20
  71. package/dist/cjs/shared/codec/codec.js +162 -0
  72. package/dist/{shared → cjs/shared}/codec/compression.d.ts +9 -4
  73. package/dist/cjs/shared/codec/compression.js +45 -0
  74. package/dist/cjs/shared/codec/json-serde.js +58 -0
  75. package/dist/{shared → cjs/shared}/codec/s3/client-types.d.ts +2 -1
  76. package/dist/cjs/shared/codec/s3/client-types.js +6 -0
  77. package/dist/{shared → cjs/shared}/codec/s3/client.d.ts +25 -7
  78. package/dist/cjs/shared/codec/s3/client.js +78 -0
  79. package/dist/{shared → cjs/shared}/codec/s3/config.d.ts +12 -7
  80. package/dist/cjs/shared/codec/s3/config.js +92 -0
  81. package/dist/{shared → cjs/shared}/codec/s3/lifecycle.d.ts +71 -17
  82. package/dist/cjs/shared/codec/s3/lifecycle.js +223 -0
  83. package/dist/{shared → cjs/shared}/codec/s3/offloader.d.ts +42 -29
  84. package/dist/cjs/shared/codec/s3/offloader.js +289 -0
  85. package/dist/cjs/shared/concurrency.js +31 -0
  86. package/dist/{shared → cjs/shared}/dynamodb/abort.d.ts +2 -2
  87. package/dist/cjs/shared/dynamodb/abort.js +16 -0
  88. package/dist/{shared → cjs/shared}/dynamodb/batch-write.d.ts +2 -2
  89. package/dist/cjs/shared/dynamodb/batch-write.js +79 -0
  90. package/dist/cjs/shared/dynamodb/cancellation.js +37 -0
  91. package/dist/{shared → cjs/shared}/dynamodb/client.d.ts +24 -22
  92. package/dist/cjs/shared/dynamodb/client.js +40 -0
  93. package/dist/{shared → cjs/shared}/dynamodb/idempotent-write.d.ts +64 -19
  94. package/dist/cjs/shared/dynamodb/idempotent-write.js +173 -0
  95. package/dist/{shared → cjs/shared}/dynamodb/paginate.d.ts +2 -2
  96. package/dist/cjs/shared/dynamodb/paginate.js +90 -0
  97. package/dist/{shared → cjs/shared}/dynamodb/partition-delete.d.ts +6 -6
  98. package/dist/cjs/shared/dynamodb/partition-delete.js +177 -0
  99. package/dist/{shared → cjs/shared}/dynamodb/recency-index.d.ts +27 -15
  100. package/dist/cjs/shared/dynamodb/recency-index.js +146 -0
  101. package/dist/{shared → cjs/shared}/dynamodb/retry.d.ts +37 -6
  102. package/dist/cjs/shared/dynamodb/retry.js +193 -0
  103. package/dist/cjs/shared/dynamodb/row-size.d.ts +33 -0
  104. package/dist/cjs/shared/dynamodb/row-size.js +30 -0
  105. package/dist/{shared → cjs/shared}/dynamodb/table-schema.d.ts +27 -18
  106. package/dist/cjs/shared/dynamodb/table-schema.js +52 -0
  107. package/dist/{shared → cjs/shared}/errors/base-error.d.ts +42 -7
  108. package/dist/cjs/shared/errors/base-error.js +73 -0
  109. package/dist/{shared → cjs/shared}/errors/boundary.d.ts +29 -14
  110. package/dist/cjs/shared/errors/boundary.js +61 -0
  111. package/dist/cjs/shared/errors/classify.d.ts +206 -0
  112. package/dist/cjs/shared/errors/classify.js +232 -0
  113. package/dist/{shared → cjs/shared}/errors/error-code.d.ts +17 -10
  114. package/dist/cjs/shared/errors/error-code.js +27 -0
  115. package/dist/{shared → cjs/shared}/errors/errors.d.ts +75 -9
  116. package/dist/cjs/shared/errors/errors.js +123 -0
  117. package/dist/cjs/shared/logging/logger.js +30 -0
  118. package/dist/{shared → cjs/shared}/logging/redaction.d.ts +8 -4
  119. package/dist/cjs/shared/logging/redaction.js +145 -0
  120. package/dist/{shared → cjs/shared}/logging/secret-patterns.d.ts +30 -7
  121. package/dist/cjs/shared/logging/secret-patterns.js +93 -0
  122. package/dist/cjs/shared/logging/truncate.js +31 -0
  123. package/dist/{shared → cjs/shared}/options.d.ts +27 -11
  124. package/dist/cjs/shared/options.js +2 -0
  125. package/dist/cjs/shared/ulid.js +83 -0
  126. package/dist/{shared → cjs/shared}/validation/collaborators.d.ts +21 -2
  127. package/dist/cjs/shared/validation/collaborators.js +79 -0
  128. package/dist/{shared → cjs/shared}/validation/option-shape.d.ts +7 -5
  129. package/dist/cjs/shared/validation/option-shape.js +31 -0
  130. package/dist/{shared → cjs/shared}/validation/options.d.ts +4 -4
  131. package/dist/cjs/shared/validation/options.js +166 -0
  132. package/dist/cjs/shared/validation/primitives.js +114 -0
  133. package/dist/{shared → cjs/shared}/validation/ttl.d.ts +26 -9
  134. package/dist/cjs/shared/validation/ttl.js +52 -0
  135. package/dist/{store → cjs/store}/actions/list-namespaces.d.ts +5 -5
  136. package/dist/cjs/store/actions/list-namespaces.js +92 -0
  137. package/dist/{store → cjs/store}/actions/put.d.ts +11 -4
  138. package/dist/cjs/store/actions/put.js +49 -0
  139. package/dist/{store → cjs/store}/actions/reconcile-vector-index.d.ts +5 -5
  140. package/dist/cjs/store/actions/reconcile-vector-index.js +13 -0
  141. package/dist/{store → cjs/store}/actions/search.d.ts +2 -2
  142. package/dist/cjs/store/actions/search.js +26 -0
  143. package/dist/cjs/store/internal/batch-plan.d.ts +56 -0
  144. package/dist/cjs/store/internal/batch-plan.js +32 -0
  145. package/dist/{store → cjs/store}/internal/filter.d.ts +3 -3
  146. package/dist/cjs/store/internal/filter.js +64 -0
  147. package/dist/cjs/store/internal/get-item.d.ts +77 -0
  148. package/dist/cjs/store/internal/get-item.js +58 -0
  149. package/dist/{store → cjs/store}/internal/item-write.d.ts +72 -32
  150. package/dist/cjs/store/internal/item-write.js +181 -0
  151. package/dist/{store → cjs/store}/internal/parse.d.ts +15 -10
  152. package/dist/cjs/store/internal/parse.js +180 -0
  153. package/dist/{store → cjs/store}/internal/rows.d.ts +38 -34
  154. package/dist/cjs/store/internal/rows.js +166 -0
  155. package/dist/{store → cjs/store}/internal/semantic-search.d.ts +2 -2
  156. package/dist/cjs/store/internal/semantic-search.js +211 -0
  157. package/dist/{store → cjs/store}/internal/setup.d.ts +10 -15
  158. package/dist/cjs/store/internal/setup.js +103 -0
  159. package/dist/{store → cjs/store}/internal/table-search.d.ts +5 -5
  160. package/dist/cjs/store/internal/table-search.js +123 -0
  161. package/dist/{store → cjs/store}/internal/vector-index.d.ts +26 -15
  162. package/dist/cjs/store/internal/vector-index.js +269 -0
  163. package/dist/{store → cjs/store}/store.d.ts +82 -39
  164. package/dist/cjs/store/store.js +97 -0
  165. package/dist/{store → cjs/store}/types.d.ts +25 -10
  166. package/dist/cjs/store/types.js +2 -0
  167. package/dist/cjs/store/vector-backend.js +4 -0
  168. package/dist/esm/backfill/backfill.d.ts +171 -0
  169. package/dist/esm/backfill/backfill.js +170 -0
  170. package/dist/{checkpointer/actions/delete-thread.js → esm/checkpointer/actions/delete-thread.d.ts} +4 -26
  171. package/dist/esm/checkpointer/actions/delete-thread.js +23 -0
  172. package/dist/{checkpointer/actions/get-tuple.js → esm/checkpointer/actions/get-tuple.d.ts} +7 -24
  173. package/dist/esm/checkpointer/actions/get-tuple.js +19 -0
  174. package/dist/esm/checkpointer/actions/list.d.ts +55 -0
  175. package/dist/esm/checkpointer/actions/list.js +67 -0
  176. package/dist/{checkpointer/actions/put-writes.js → esm/checkpointer/actions/put-writes.d.ts} +10 -37
  177. package/dist/esm/checkpointer/actions/put-writes.js +18 -0
  178. package/dist/esm/checkpointer/actions/put.d.ts +95 -0
  179. package/dist/esm/checkpointer/actions/put.js +75 -0
  180. package/dist/esm/checkpointer/internal/delta-history.d.ts +124 -0
  181. package/dist/esm/checkpointer/internal/delta-history.js +126 -0
  182. package/dist/{checkpointer/internal/listing.js → esm/checkpointer/internal/listing.d.ts} +22 -118
  183. package/dist/esm/checkpointer/internal/listing.js +95 -0
  184. package/dist/esm/checkpointer/internal/parse.d.ts +298 -0
  185. package/dist/esm/checkpointer/internal/parse.js +169 -0
  186. package/dist/esm/checkpointer/internal/pending-writes.d.ts +314 -0
  187. package/dist/esm/checkpointer/internal/pending-writes.js +229 -0
  188. package/dist/esm/checkpointer/internal/read.d.ts +135 -0
  189. package/dist/esm/checkpointer/internal/read.js +125 -0
  190. package/dist/esm/checkpointer/internal/rows.d.ts +644 -0
  191. package/dist/esm/checkpointer/internal/rows.js +323 -0
  192. package/dist/esm/checkpointer/internal/setup.d.ts +47 -0
  193. package/dist/esm/checkpointer/internal/setup.js +21 -0
  194. package/dist/{checkpointer/saver.js → esm/checkpointer/saver.d.ts} +84 -87
  195. package/dist/esm/checkpointer/saver.js +52 -0
  196. package/dist/esm/checkpointer/types.d.ts +51 -0
  197. package/dist/esm/checkpointer/types.js +1 -0
  198. package/dist/esm/factory/factory.d.ts +154 -0
  199. package/dist/esm/factory/factory.js +133 -0
  200. package/dist/esm/factory/types.d.ts +76 -0
  201. package/dist/esm/factory/types.js +1 -0
  202. package/dist/{history/actions/add-messages.js → esm/history/actions/add-messages.d.ts} +20 -26
  203. package/dist/esm/history/actions/add-messages.js +14 -0
  204. package/dist/{history/actions/clear.js → esm/history/actions/clear.d.ts} +4 -35
  205. package/dist/esm/history/actions/clear.js +26 -0
  206. package/dist/esm/history/actions/get-messages.d.ts +60 -0
  207. package/dist/esm/history/actions/get-messages.js +55 -0
  208. package/dist/esm/history/actions/list-sessions.d.ts +55 -0
  209. package/dist/esm/history/actions/list-sessions.js +64 -0
  210. package/dist/{history/actions/reconcile-count.js → esm/history/actions/reconcile-count.d.ts} +14 -16
  211. package/dist/esm/history/actions/reconcile-count.js +5 -0
  212. package/dist/{history/chat-message-history.js → esm/history/chat-message-history.d.ts} +76 -87
  213. package/dist/esm/history/chat-message-history.js +57 -0
  214. package/dist/esm/history/internal/append.d.ts +244 -0
  215. package/dist/esm/history/internal/append.js +259 -0
  216. package/dist/esm/history/internal/message-read.d.ts +84 -0
  217. package/dist/esm/history/internal/message-read.js +89 -0
  218. package/dist/esm/history/internal/parse.d.ts +153 -0
  219. package/dist/esm/history/internal/parse.js +105 -0
  220. package/dist/{history/internal/rows.js → esm/history/internal/rows.d.ts} +58 -112
  221. package/dist/esm/history/internal/rows.js +83 -0
  222. package/dist/esm/history/internal/session.d.ts +350 -0
  223. package/dist/esm/history/internal/session.js +285 -0
  224. package/dist/esm/history/internal/setup.d.ts +64 -0
  225. package/dist/esm/history/internal/setup.js +56 -0
  226. package/dist/{history/session-adapter.js → esm/history/session-adapter.d.ts} +25 -39
  227. package/dist/esm/history/session-adapter.js +34 -0
  228. package/dist/esm/history/types.d.ts +102 -0
  229. package/dist/esm/history/types.js +1 -0
  230. package/dist/esm/index.d.ts +53 -0
  231. package/dist/esm/index.js +10 -0
  232. package/dist/esm/shared/adapter.d.ts +146 -0
  233. package/dist/esm/shared/adapter.js +65 -0
  234. package/dist/{shared/clock.js → esm/shared/clock.d.ts} +3 -14
  235. package/dist/esm/shared/clock.js +9 -0
  236. package/dist/esm/shared/codec/codec.d.ts +336 -0
  237. package/dist/esm/shared/codec/codec.js +150 -0
  238. package/dist/esm/shared/codec/compression.d.ts +66 -0
  239. package/dist/esm/shared/codec/compression.js +40 -0
  240. package/dist/esm/shared/codec/json-serde.d.ts +80 -0
  241. package/dist/esm/shared/codec/json-serde.js +54 -0
  242. package/dist/esm/shared/codec/s3/client-types.d.ts +54 -0
  243. package/dist/esm/shared/codec/s3/client-types.js +3 -0
  244. package/dist/esm/shared/codec/s3/client.d.ts +63 -0
  245. package/dist/esm/shared/codec/s3/client.js +40 -0
  246. package/dist/{shared/codec/s3/config.js → esm/shared/codec/s3/config.d.ts} +45 -93
  247. package/dist/esm/shared/codec/s3/config.js +79 -0
  248. package/dist/esm/shared/codec/s3/lifecycle.d.ts +220 -0
  249. package/dist/esm/shared/codec/s3/lifecycle.js +214 -0
  250. package/dist/esm/shared/codec/s3/offloader.d.ts +428 -0
  251. package/dist/esm/shared/codec/s3/offloader.js +278 -0
  252. package/dist/{shared/concurrency.js → esm/shared/concurrency.d.ts} +2 -37
  253. package/dist/esm/shared/concurrency.js +27 -0
  254. package/dist/{shared/dynamodb/abort.js → esm/shared/dynamodb/abort.d.ts} +4 -16
  255. package/dist/esm/shared/dynamodb/abort.js +12 -0
  256. package/dist/esm/shared/dynamodb/batch-write.d.ts +86 -0
  257. package/dist/esm/shared/dynamodb/batch-write.js +74 -0
  258. package/dist/{shared/dynamodb/cancellation.js → esm/shared/dynamodb/cancellation.d.ts} +25 -53
  259. package/dist/esm/shared/dynamodb/cancellation.js +30 -0
  260. package/dist/{shared/dynamodb/client.js → esm/shared/dynamodb/client.d.ts} +74 -64
  261. package/dist/esm/shared/dynamodb/client.js +35 -0
  262. package/dist/{shared/dynamodb/idempotent-write.js → esm/shared/dynamodb/idempotent-write.d.ts} +172 -169
  263. package/dist/esm/shared/dynamodb/idempotent-write.js +153 -0
  264. package/dist/esm/shared/dynamodb/paginate.d.ts +111 -0
  265. package/dist/esm/shared/dynamodb/paginate.js +84 -0
  266. package/dist/esm/shared/dynamodb/partition-delete.d.ts +204 -0
  267. package/dist/esm/shared/dynamodb/partition-delete.js +171 -0
  268. package/dist/esm/shared/dynamodb/recency-index.d.ts +243 -0
  269. package/dist/esm/shared/dynamodb/recency-index.js +136 -0
  270. package/dist/esm/shared/dynamodb/retry.d.ts +317 -0
  271. package/dist/esm/shared/dynamodb/retry.js +180 -0
  272. package/dist/esm/shared/dynamodb/row-size.d.ts +33 -0
  273. package/dist/esm/shared/dynamodb/row-size.js +26 -0
  274. package/dist/{shared/dynamodb/table-schema.js → esm/shared/dynamodb/table-schema.d.ts} +57 -67
  275. package/dist/esm/shared/dynamodb/table-schema.js +43 -0
  276. package/dist/esm/shared/errors/base-error.d.ts +231 -0
  277. package/dist/esm/shared/errors/base-error.js +64 -0
  278. package/dist/esm/shared/errors/boundary.d.ts +86 -0
  279. package/dist/esm/shared/errors/boundary.js +54 -0
  280. package/dist/esm/shared/errors/classify.d.ts +206 -0
  281. package/dist/esm/shared/errors/classify.js +220 -0
  282. package/dist/{shared/errors/error-code.js → esm/shared/errors/error-code.d.ts} +39 -43
  283. package/dist/esm/shared/errors/error-code.js +24 -0
  284. package/dist/{shared/errors/errors.js → esm/shared/errors/errors.d.ts} +92 -98
  285. package/dist/esm/shared/errors/errors.js +110 -0
  286. package/dist/{shared/logging/logger.js → esm/shared/logging/logger.d.ts} +22 -52
  287. package/dist/esm/shared/logging/logger.js +25 -0
  288. package/dist/esm/shared/logging/redaction.d.ts +123 -0
  289. package/dist/esm/shared/logging/redaction.js +140 -0
  290. package/dist/{shared/logging/secret-patterns.js → esm/shared/logging/secret-patterns.d.ts} +46 -87
  291. package/dist/esm/shared/logging/secret-patterns.js +83 -0
  292. package/dist/{shared/logging/truncate.js → esm/shared/logging/truncate.d.ts} +6 -40
  293. package/dist/esm/shared/logging/truncate.js +25 -0
  294. package/dist/esm/shared/options.d.ts +100 -0
  295. package/dist/esm/shared/options.js +1 -0
  296. package/dist/{shared/ulid.js → esm/shared/ulid.d.ts} +4 -84
  297. package/dist/esm/shared/ulid.js +77 -0
  298. package/dist/{shared/validation/collaborators.js → esm/shared/validation/collaborators.d.ts} +37 -65
  299. package/dist/esm/shared/validation/collaborators.js +70 -0
  300. package/dist/{shared/validation/option-shape.js → esm/shared/validation/option-shape.d.ts} +14 -36
  301. package/dist/esm/shared/validation/option-shape.js +24 -0
  302. package/dist/esm/shared/validation/options.d.ts +145 -0
  303. package/dist/esm/shared/validation/options.js +156 -0
  304. package/dist/{shared/validation/primitives.js → esm/shared/validation/primitives.d.ts} +30 -125
  305. package/dist/esm/shared/validation/primitives.js +100 -0
  306. package/dist/esm/shared/validation/ttl.d.ts +94 -0
  307. package/dist/esm/shared/validation/ttl.js +46 -0
  308. package/dist/esm/store/actions/list-namespaces.d.ts +79 -0
  309. package/dist/esm/store/actions/list-namespaces.js +86 -0
  310. package/dist/esm/store/actions/put.d.ts +43 -0
  311. package/dist/esm/store/actions/put.js +46 -0
  312. package/dist/{store/actions/reconcile-vector-index.js → esm/store/actions/reconcile-vector-index.d.ts} +8 -16
  313. package/dist/esm/store/actions/reconcile-vector-index.js +10 -0
  314. package/dist/esm/store/actions/search.d.ts +38 -0
  315. package/dist/esm/store/actions/search.js +23 -0
  316. package/dist/esm/store/internal/batch-plan.d.ts +56 -0
  317. package/dist/esm/store/internal/batch-plan.js +28 -0
  318. package/dist/esm/store/internal/filter.d.ts +43 -0
  319. package/dist/esm/store/internal/filter.js +60 -0
  320. package/dist/esm/store/internal/get-item.d.ts +77 -0
  321. package/dist/esm/store/internal/get-item.js +54 -0
  322. package/dist/esm/store/internal/item-write.d.ts +270 -0
  323. package/dist/esm/store/internal/item-write.js +173 -0
  324. package/dist/esm/store/internal/parse.d.ts +230 -0
  325. package/dist/esm/store/internal/parse.js +169 -0
  326. package/dist/{store/internal/rows.js → esm/store/internal/rows.d.ts} +111 -199
  327. package/dist/esm/store/internal/rows.js +147 -0
  328. package/dist/esm/store/internal/semantic-search.d.ts +168 -0
  329. package/dist/esm/store/internal/semantic-search.js +200 -0
  330. package/dist/esm/store/internal/setup.d.ts +96 -0
  331. package/dist/esm/store/internal/setup.js +98 -0
  332. package/dist/esm/store/internal/table-search.d.ts +100 -0
  333. package/dist/esm/store/internal/table-search.js +119 -0
  334. package/dist/esm/store/internal/vector-index.d.ts +258 -0
  335. package/dist/esm/store/internal/vector-index.js +256 -0
  336. package/dist/{store/store.js → esm/store/store.d.ts} +99 -133
  337. package/dist/esm/store/store.js +93 -0
  338. package/dist/esm/store/types.d.ts +111 -0
  339. package/dist/esm/store/types.js +1 -0
  340. package/dist/esm/store/vector-backend.d.ts +104 -0
  341. package/dist/esm/store/vector-backend.js +1 -0
  342. package/package.json +50 -44
  343. package/dist/backfill/backfill.js +0 -393
  344. package/dist/checkpointer/actions/list.js +0 -142
  345. package/dist/checkpointer/actions/put.js +0 -195
  346. package/dist/checkpointer/internal/delta-history.js +0 -252
  347. package/dist/checkpointer/internal/parse.js +0 -372
  348. package/dist/checkpointer/internal/pending-writes.js +0 -588
  349. package/dist/checkpointer/internal/read.js +0 -264
  350. package/dist/checkpointer/internal/rows.js +0 -834
  351. package/dist/checkpointer/internal/setup.js +0 -72
  352. package/dist/checkpointer/types.js +0 -12
  353. package/dist/factory/factory.js +0 -266
  354. package/dist/factory/types.js +0 -10
  355. package/dist/history/actions/get-messages.js +0 -141
  356. package/dist/history/actions/list-sessions.js +0 -156
  357. package/dist/history/internal/append.js +0 -500
  358. package/dist/history/internal/message-read.js +0 -204
  359. package/dist/history/internal/parse.js +0 -252
  360. package/dist/history/internal/session.js +0 -628
  361. package/dist/history/internal/setup.js +0 -106
  362. package/dist/history/types.js +0 -12
  363. package/dist/index.js +0 -51
  364. package/dist/shared/adapter.js +0 -143
  365. package/dist/shared/codec/codec.js +0 -441
  366. package/dist/shared/codec/compression.js +0 -89
  367. package/dist/shared/codec/json-serde.js +0 -191
  368. package/dist/shared/codec/s3/client-types.js +0 -26
  369. package/dist/shared/codec/s3/client.js +0 -97
  370. package/dist/shared/codec/s3/lifecycle.js +0 -355
  371. package/dist/shared/codec/s3/offloader.js +0 -658
  372. package/dist/shared/dynamodb/batch-write.js +0 -173
  373. package/dist/shared/dynamodb/paginate.js +0 -188
  374. package/dist/shared/dynamodb/partition-delete.js +0 -340
  375. package/dist/shared/dynamodb/recency-index.js +0 -377
  376. package/dist/shared/dynamodb/retry.js +0 -463
  377. package/dist/shared/errors/base-error.js +0 -174
  378. package/dist/shared/errors/boundary.js +0 -143
  379. package/dist/shared/errors/classify.d.ts +0 -97
  380. package/dist/shared/errors/classify.js +0 -257
  381. package/dist/shared/logging/redaction.js +0 -316
  382. package/dist/shared/options.js +0 -11
  383. package/dist/shared/validation/options.js +0 -328
  384. package/dist/shared/validation/ttl.js +0 -132
  385. package/dist/store/actions/list-namespaces.js +0 -197
  386. package/dist/store/actions/put.js +0 -78
  387. package/dist/store/actions/search.js +0 -66
  388. package/dist/store/internal/batch-plan.d.ts +0 -26
  389. package/dist/store/internal/batch-plan.js +0 -109
  390. package/dist/store/internal/filter.js +0 -137
  391. package/dist/store/internal/get-item.d.ts +0 -45
  392. package/dist/store/internal/get-item.js +0 -115
  393. package/dist/store/internal/item-write.js +0 -463
  394. package/dist/store/internal/parse.js +0 -350
  395. package/dist/store/internal/semantic-search.js +0 -389
  396. package/dist/store/internal/setup.js +0 -223
  397. package/dist/store/internal/table-search.js +0 -213
  398. package/dist/store/internal/vector-index.js +0 -546
  399. package/dist/store/types.js +0 -15
  400. package/dist/store/vector-backend.js +0 -17
  401. /package/dist/{shared → cjs/shared}/clock.d.ts +0 -0
  402. /package/dist/{shared → cjs/shared}/codec/json-serde.d.ts +0 -0
  403. /package/dist/{shared → cjs/shared}/concurrency.d.ts +0 -0
  404. /package/dist/{shared → cjs/shared}/dynamodb/cancellation.d.ts +0 -0
  405. /package/dist/{shared → cjs/shared}/logging/logger.d.ts +0 -0
  406. /package/dist/{shared → cjs/shared}/logging/truncate.d.ts +0 -0
  407. /package/dist/{shared → cjs/shared}/ulid.d.ts +0 -0
  408. /package/dist/{shared → cjs/shared}/validation/primitives.d.ts +0 -0
  409. /package/dist/{store → cjs/store}/vector-backend.d.ts +0 -0
@@ -1,372 +0,0 @@
1
- "use strict";
2
- /**
3
- * Hides the rules a checkpointer's caller input is held to.
4
- *
5
- * Every config, option and identifier an action accepts is parsed here once
6
- * into a branded type only these parsers can build (record 21), so code
7
- * downstream asks for a `ThreadId` or a `PutWritesRequest` and never checks it
8
- * again. Which markers mean "no id", how the legacy `thread_ts` alias
9
- * resolves, which field a refusal names and in what order the checks run are
10
- * all settled here and nowhere else.
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.ROOT_NAMESPACE = void 0;
14
- exports.parseThreadId = parseThreadId;
15
- exports.parseCheckpointNs = parseCheckpointNs;
16
- exports.parseCheckpointId = parseCheckpointId;
17
- exports.parseTaskId = parseTaskId;
18
- exports.parseWriteChannel = parseWriteChannel;
19
- exports.parseConfig = parseConfig;
20
- exports.parseThreadConfig = parseThreadConfig;
21
- exports.parsePutRequest = parsePutRequest;
22
- exports.parsePutWritesRequest = parsePutWritesRequest;
23
- exports.parseListScope = parseListScope;
24
- exports.parseDeltaHistoryRequest = parseDeltaHistoryRequest;
25
- const table_schema_1 = require("../../shared/dynamodb/table-schema");
26
- const errors_1 = require("../../shared/errors/errors");
27
- const collaborators_1 = require("../../shared/validation/collaborators");
28
- const option_shape_1 = require("../../shared/validation/option-shape");
29
- const primitives_1 = require("../../shared/validation/primitives");
30
- const rows_1 = require("./rows");
31
- const setup_1 = require("./setup");
32
- /**
33
- * Parse a thread id.
34
- *
35
- * Accepts: `value` — anything; a thread id reaches the partition key, so it is
36
- * held to every identifier rule at {@link MAX_PARTITION_ID_BYTES}.
37
- *
38
- * Returns: `value` as a {@link ThreadId}.
39
- *
40
- * Throws: `VALIDATION` naming `thread_id`.
41
- */
42
- function parseThreadId(value) {
43
- return (0, primitives_1.parseIdentifier)(value, table_schema_1.KEY_SEPARATOR, 'thread_id', table_schema_1.MAX_PARTITION_ID_BYTES);
44
- }
45
- /**
46
- * Parse a checkpoint namespace.
47
- *
48
- * Accepts: `value` — anything; `''` is legal, because it *is* the root
49
- * namespace, and every other identifier rule applies (see `parseKeySegment`).
50
- *
51
- * Returns: `value` as a {@link CheckpointNs}.
52
- *
53
- * Throws: `VALIDATION` naming `checkpoint_ns`.
54
- */
55
- function parseCheckpointNs(value) {
56
- return (0, primitives_1.parseKeySegment)(value, table_schema_1.KEY_SEPARATOR, 'checkpoint_ns', table_schema_1.MAX_KEY_SEGMENT_BYTES);
57
- }
58
- /**
59
- * Parse a checkpoint id.
60
- *
61
- * Accepts: `value` — anything. `field` — the field the caller set:
62
- * `checkpoint_id` by default, `thread_ts` when the id was read from that legacy
63
- * alias, `before` for `list`'s bound, so the refusal names what the caller
64
- * actually wrote.
65
- *
66
- * Returns: `value` as a {@link CheckpointId}.
67
- *
68
- * Throws: `VALIDATION` naming `field`.
69
- */
70
- function parseCheckpointId(value, field = 'checkpoint_id') {
71
- return (0, primitives_1.parseIdentifier)(value, table_schema_1.KEY_SEPARATOR, field, table_schema_1.MAX_KEY_SEGMENT_BYTES);
72
- }
73
- /**
74
- * Parse a task id. LangGraph's own are UUIDs; the rule is stated for whatever
75
- * else a caller passes.
76
- *
77
- * Accepts: `value` — anything.
78
- *
79
- * Returns: `value` as a {@link TaskId}.
80
- *
81
- * Throws: `VALIDATION` naming `taskId`.
82
- */
83
- function parseTaskId(value) {
84
- return (0, primitives_1.parseIdentifier)(value, table_schema_1.KEY_SEPARATOR, 'taskId', table_schema_1.MAX_KEY_SEGMENT_BYTES);
85
- }
86
- /**
87
- * Parse a pending write's channel, the trailing segment of its WRITE sort key.
88
- *
89
- * Accepts: `value` — anything; LangGraph's own channel names never contain the
90
- * reserved separator.
91
- *
92
- * Returns: `value` as a {@link WriteChannel}.
93
- *
94
- * Throws: `VALIDATION` naming `channel`.
95
- */
96
- function parseWriteChannel(value) {
97
- return (0, primitives_1.parseIdentifier)(value, table_schema_1.KEY_SEPARATOR, 'channel', table_schema_1.MAX_KEY_SEGMENT_BYTES);
98
- }
99
- /** The root namespace, which a config that names none addresses. */
100
- exports.ROOT_NAMESPACE = parseCheckpointNs('');
101
- /**
102
- * Whether `value` is one of the three markers a config treats as "no id here":
103
- * exactly `undefined`, `null` and `''`. Not JavaScript truthiness: `0`, `false`
104
- * and `NaN` are values to parse, and refuse, not absences.
105
- */
106
- function isAbsentId(value) {
107
- return value === undefined || value === null || value === '';
108
- }
109
- /**
110
- * Refuse a config whose own shape this package cannot read, before any
111
- * identifier is read from it. A `null` or `undefined` config otherwise reached
112
- * a bare `TypeError`; a `configurable` that is not an object read as a config
113
- * naming no thread, so `list` scanned every thread in the table; a signal that
114
- * is not `AbortSignal`-shaped failed only inside a retry's wait.
115
- */
116
- function assertConfigShape(config) {
117
- (0, option_shape_1.assertObjectShape)(config, 'config');
118
- if (config.configurable !== undefined)
119
- (0, option_shape_1.assertObjectShape)(config.configurable, 'configurable');
120
- (0, collaborators_1.assertSignalLike)(config.signal);
121
- }
122
- /** A shape-checked config's `configurable`, `{}` when it has none. */
123
- function configurableOf(config) {
124
- assertConfigShape(config);
125
- return (config.configurable ?? {});
126
- }
127
- /** The namespace a `configurable` names, or `undefined` when it names none. */
128
- function namespaceOf(configurable) {
129
- if (configurable.checkpoint_ns === undefined)
130
- return undefined;
131
- return parseCheckpointNs(configurable.checkpoint_ns ?? '');
132
- }
133
- /**
134
- * A config's checkpoint id, resolved the way the reference's `getCheckpointId`
135
- * does — `checkpoint_id || thread_ts || ''` (`@langchain/langgraph-checkpoint`
136
- * `dist/base.js:169-171`) — but against exactly the three absence markers of
137
- * {@link isAbsentId}, so `checkpoint_id: 0` is refused as the malformed id it
138
- * is rather than falling through to `thread_ts` or reading as "the newest".
139
- */
140
- function resolveCheckpointId(configurable) {
141
- if (!isAbsentId(configurable.checkpoint_id))
142
- return parseCheckpointId(configurable.checkpoint_id);
143
- if (!isAbsentId(configurable.thread_ts)) {
144
- return parseCheckpointId(configurable.thread_ts, 'thread_ts');
145
- }
146
- return undefined;
147
- }
148
- /**
149
- * Parse a config a read accepts, naming a thread or not.
150
- *
151
- * Accepts: `config` — an object; `configurable` absent or an object; `signal`
152
- * absent or `AbortSignal`-shaped. A config naming no thread is legal: the
153
- * identifiers it does give are still parsed, as the reference saver does
154
- * (`@langchain/langgraph-checkpoint@1.1.5` `dist/memory.js:86-92`).
155
- *
156
- * Returns: the thread, the namespace as given (`undefined` when not named), the
157
- * checkpoint id (`undefined` for "the newest"), and the signal.
158
- *
159
- * Throws: `VALIDATION` naming `config`, `configurable` or `signal` for a config
160
- * of the wrong shape, then `thread_id`, `checkpoint_ns`, `checkpoint_id` or
161
- * `thread_ts`, in that order.
162
- */
163
- function parseConfig(config) {
164
- const configurable = configurableOf(config);
165
- const threadId = configurable.thread_id === undefined ? undefined : parseThreadId(configurable.thread_id);
166
- return {
167
- threadId,
168
- checkpointNs: namespaceOf(configurable),
169
- checkpointId: resolveCheckpointId(configurable),
170
- signal: config.signal,
171
- };
172
- }
173
- /**
174
- * Parse a config a write needs: one that names a thread.
175
- *
176
- * Accepts: `config` — as {@link parseConfig}, with `thread_id` required.
177
- *
178
- * Returns: the address, its namespace defaulted to {@link ROOT_NAMESPACE}, and
179
- * the signal.
180
- *
181
- * Throws: as {@link parseConfig}; a missing `thread_id` is refused naming
182
- * `thread_id`, before the namespace is read.
183
- */
184
- function parseThreadConfig(config) {
185
- const configurable = configurableOf(config);
186
- const threadId = parseThreadId(configurable.thread_id);
187
- return {
188
- address: {
189
- threadId,
190
- checkpointNs: namespaceOf(configurable) ?? exports.ROOT_NAMESPACE,
191
- checkpointId: resolveCheckpointId(configurable),
192
- },
193
- signal: config.signal,
194
- };
195
- }
196
- /**
197
- * Parse the arguments of `put`.
198
- *
199
- * Accepts: `config` — as {@link parseThreadConfig}; its checkpoint id becomes
200
- * the parent. `checkpoint` — must be present; its `id` is parsed as the key
201
- * segment it becomes. `metadata` — stored as given.
202
- *
203
- * Returns: the request every later step of the put reads.
204
- *
205
- * Throws: as {@link parseThreadConfig}; then `VALIDATION` naming `checkpoint`
206
- * for a `null` or `undefined` checkpoint, or `checkpoint_id` for a malformed
207
- * `checkpoint.id`.
208
- */
209
- function parsePutRequest(config, checkpoint, metadata) {
210
- const { address, signal } = parseThreadConfig(config);
211
- if (checkpoint === null || checkpoint === undefined) {
212
- throw (0, errors_1.validationError)('checkpoint must be an object', 'checkpoint');
213
- }
214
- const checkpointId = parseCheckpointId(checkpoint.id);
215
- return {
216
- address: { threadId: address.threadId, checkpointNs: address.checkpointNs, checkpointId },
217
- parentCheckpointId: address.checkpointId,
218
- checkpoint,
219
- metadata,
220
- signal,
221
- };
222
- }
223
- /**
224
- * Refuse a `writes` argument that cannot be read as the tuples it is typed to
225
- * hold: a non-array, or an entry that is not itself an array. Every entry is
226
- * checked before any channel is, so a call with both faults names `writes`.
227
- *
228
- * Indexed by position rather than `Array.prototype.forEach`, which skips a
229
- * hole in a sparse array (`[, ['a', 1]]`) instead of visiting it: a skipped
230
- * hole read as `undefined` downstream, past every later `.map` this parser
231
- * runs over the same array, and reached the `WriteChannel` brand unparsed.
232
- */
233
- function assertWriteEntries(writes) {
234
- if (!Array.isArray(writes)) {
235
- throw (0, errors_1.validationError)('writes must be an array', 'writes');
236
- }
237
- for (let index = 0; index < writes.length; index += 1) {
238
- if (!Array.isArray(writes[index])) {
239
- throw (0, errors_1.validationError)(`writes[${index}] must be a [channel, value] tuple`, 'writes');
240
- }
241
- }
242
- }
243
- /**
244
- * Refuse a write whose composed WRITE sort key would pass DynamoDB's cap.
245
- * Every segment is capped on its own, and four capped segments together still
246
- * exceed it.
247
- */
248
- function assertWriteKeyFits(address, taskId, channel) {
249
- const bytes = (0, rows_1.writeSortKeyBytes)({
250
- checkpointNs: address.checkpointNs,
251
- checkpointId: address.checkpointId,
252
- taskId,
253
- channel,
254
- });
255
- if (bytes > table_schema_1.MAX_SORT_KEY_BYTES) {
256
- throw (0, errors_1.validationError)(`checkpoint_ns, checkpoint_id, taskId and channel compose a ${bytes}-byte sort key; ` +
257
- `DynamoDB caps sort keys at ${table_schema_1.MAX_SORT_KEY_BYTES} bytes`, 'sortKey');
258
- }
259
- }
260
- /**
261
- * Parse the arguments of `putWrites`.
262
- *
263
- * Accepts: `config` — as {@link parseThreadConfig}, and it must name a
264
- * checkpoint, since writes attach to one. `writes` — an array of
265
- * `[channel, value]` arrays; the value, and any element past the second, are
266
- * unconstrained, as upstream's type places no rule on them. `taskId` — parsed
267
- * as the key segment it becomes.
268
- *
269
- * Returns: the request, with a fresh array of fresh tuples, so a caller
270
- * changing its own array while the call awaits changes nothing that was
271
- * checked.
272
- *
273
- * Throws: `VALIDATION`, before anything is encoded or uploaded, in this order:
274
- * `taskId`; as {@link parseThreadConfig}; `checkpoint_id` when the config names
275
- * none; `writes` for a non-array or an entry that is not one; `channel` for any
276
- * malformed channel; `sortKey` for any write whose composed key passes the cap.
277
- */
278
- function parsePutWritesRequest(config, writes, taskId) {
279
- const parsedTaskId = parseTaskId(taskId);
280
- const { address, signal } = parseThreadConfig(config);
281
- if (address.checkpointId === undefined) {
282
- throw (0, errors_1.validationError)('checkpoint_id is required to store writes', 'checkpoint_id');
283
- }
284
- const target = {
285
- threadId: address.threadId,
286
- checkpointNs: address.checkpointNs,
287
- checkpointId: address.checkpointId,
288
- };
289
- assertWriteEntries(writes);
290
- const channels = writes.map(([channel]) => parseWriteChannel(channel));
291
- for (const channel of channels)
292
- assertWriteKeyFits(target, parsedTaskId, channel);
293
- return {
294
- address: target,
295
- taskId: parsedTaskId,
296
- writes: writes.map(([, value], index) => [channels[index], value]),
297
- signal,
298
- };
299
- }
300
- /**
301
- * `options.before`'s checkpoint id, parsed the way a config's is: exactly
302
- * `undefined`, `null` and `''` mean no bound, anything else is parsed as the
303
- * key segment it is compared with. Left unchecked, a non-string made every
304
- * row fail the comparison and the listing came back silently empty.
305
- */
306
- function beforeCheckpointId(before) {
307
- if (before === undefined)
308
- return undefined;
309
- (0, option_shape_1.assertObjectShape)(before, 'before');
310
- const checkpointId = before.configurable?.checkpoint_id;
311
- if (isAbsentId(checkpointId))
312
- return undefined;
313
- return parseCheckpointId(checkpointId, 'before');
314
- }
315
- /**
316
- * Parse the arguments of `list`.
317
- *
318
- * Accepts: `config` — as {@link parseConfig}; `thread_id` omitted lists every
319
- * thread and `checkpoint_ns` omitted every namespace, as the reference savers
320
- * do. `options.limit` — an integer from 0 to the page ceiling; `0` asks for
321
- * nothing, and a negative value is refused rather than read as zero, since it
322
- * can only be a page size whose computation went wrong. `options.before` — an
323
- * object naming, at most, a `checkpoint_id`. `options.filter` — metadata
324
- * equality clauses; an object when given.
325
- *
326
- * Returns: the scope every later step of the listing reads instead of the raw
327
- * config.
328
- *
329
- * Throws: `VALIDATION`, config first: as {@link parseConfig}; then
330
- * `options.<key>` for a key this package does not read, `filter`, `limit`,
331
- * `before`.
332
- */
333
- function parseListScope(config, options) {
334
- const { threadId, checkpointNs, checkpointId, signal } = parseConfig(config);
335
- if (options !== undefined) {
336
- (0, option_shape_1.assertShape)(options, setup_1.SAVER_LIST_KEYS, 'options');
337
- if (options.filter !== undefined)
338
- (0, option_shape_1.assertObjectShape)(options.filter, 'filter');
339
- }
340
- // Zero floor: `list` is an iterator a caller drains, so a zero page ends it
341
- // immediately and visibly. Only a conversation window refuses zero.
342
- const limit = options?.limit === undefined ? undefined : (0, primitives_1.parseLimit)(options.limit, 0);
343
- return {
344
- threadId,
345
- checkpointNs,
346
- checkpointId,
347
- before: beforeCheckpointId(options?.before),
348
- filter: options?.filter,
349
- limit,
350
- signal,
351
- };
352
- }
353
- /**
354
- * Parse the options of `getDeltaChannelHistory` — their shape only. The
355
- * config's identifiers are parsed by the `getTuple` each hop of the walk calls,
356
- * and only once a channel is named: an empty `channels` reads nothing, so it
357
- * refuses nothing either.
358
- *
359
- * Accepts: `options` — an object naming exactly `config` and `channels`.
360
- * `options.config` — shaped as {@link parseConfig} requires. `options.channels`
361
- * — an array of strings; an empty one is a legitimate request.
362
- *
363
- * Returns: the config as given and a copy of the channels.
364
- *
365
- * Throws: `VALIDATION` naming `options`, `options.<key>`, `config`,
366
- * `configurable`, `signal` or `channels`.
367
- */
368
- function parseDeltaHistoryRequest(options) {
369
- (0, option_shape_1.assertShape)(options, setup_1.DELTA_CHANNEL_HISTORY_KEYS, 'options');
370
- assertConfigShape(options.config);
371
- return { config: options.config, channels: (0, primitives_1.parseStringArray)(options.channels, 'channels') };
372
- }