@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.
- package/README.md +1720 -154
- package/dist/backfill/backfill.d.ts +168 -0
- package/dist/backfill/backfill.js +393 -0
- package/dist/checkpointer/actions/delete-thread.d.ts +47 -6
- package/dist/checkpointer/actions/delete-thread.js +58 -21
- package/dist/checkpointer/actions/get-tuple.d.ts +29 -4
- package/dist/checkpointer/actions/get-tuple.js +44 -10
- package/dist/checkpointer/actions/list.d.ts +46 -4
- package/dist/checkpointer/actions/list.js +121 -66
- package/dist/checkpointer/actions/put-writes.d.ts +41 -9
- package/dist/checkpointer/actions/put-writes.js +62 -77
- package/dist/checkpointer/actions/put.d.ts +83 -4
- package/dist/checkpointer/actions/put.js +177 -25
- package/dist/checkpointer/internal/delta-history.d.ts +112 -0
- package/dist/checkpointer/internal/delta-history.js +252 -0
- package/dist/checkpointer/internal/listing.d.ts +149 -0
- package/dist/checkpointer/internal/listing.js +245 -0
- package/dist/checkpointer/internal/parse.d.ts +262 -0
- package/dist/checkpointer/internal/parse.js +372 -0
- package/dist/checkpointer/internal/pending-writes.d.ts +275 -0
- package/dist/checkpointer/internal/pending-writes.js +588 -0
- package/dist/checkpointer/internal/read.d.ts +130 -0
- package/dist/checkpointer/internal/read.js +264 -0
- package/dist/checkpointer/internal/rows.d.ts +571 -0
- package/dist/checkpointer/internal/rows.js +834 -0
- package/dist/checkpointer/internal/setup.d.ts +42 -19
- package/dist/checkpointer/internal/setup.js +65 -29
- package/dist/checkpointer/saver.d.ts +256 -16
- package/dist/checkpointer/saver.js +275 -29
- package/dist/checkpointer/types.d.ts +39 -39
- package/dist/checkpointer/types.js +10 -1
- package/dist/factory/factory.d.ts +134 -28
- package/dist/factory/factory.js +240 -21
- package/dist/factory/types.d.ts +76 -0
- package/dist/factory/types.js +10 -0
- package/dist/history/actions/add-messages.d.ts +31 -4
- package/dist/history/actions/add-messages.js +38 -58
- package/dist/history/actions/clear.d.ts +49 -6
- package/dist/history/actions/clear.js +66 -14
- package/dist/history/actions/get-messages.d.ts +54 -6
- package/dist/history/actions/get-messages.js +126 -43
- package/dist/history/actions/list-sessions.d.ts +52 -10
- package/dist/history/actions/list-sessions.js +139 -40
- package/dist/history/actions/reconcile-count.d.ts +42 -10
- package/dist/history/actions/reconcile-count.js +45 -45
- package/dist/history/chat-message-history.d.ts +220 -33
- package/dist/history/chat-message-history.js +240 -43
- package/dist/history/internal/append.d.ts +212 -0
- package/dist/history/internal/append.js +500 -0
- package/dist/history/internal/message-read.d.ts +84 -0
- package/dist/history/internal/message-read.js +204 -0
- package/dist/history/internal/parse.d.ts +153 -0
- package/dist/history/internal/parse.js +252 -0
- package/dist/history/internal/rows.d.ts +195 -0
- package/dist/history/internal/rows.js +250 -0
- package/dist/history/internal/session.d.ts +331 -0
- package/dist/history/internal/session.js +628 -0
- package/dist/history/internal/setup.d.ts +52 -17
- package/dist/history/internal/setup.js +92 -21
- package/dist/history/session-adapter.d.ts +102 -7
- package/dist/history/session-adapter.js +103 -9
- package/dist/history/types.d.ts +80 -29
- package/dist/history/types.js +10 -1
- package/dist/index.d.ts +42 -11
- package/dist/index.js +33 -12
- package/dist/shared/adapter.d.ts +135 -0
- package/dist/shared/adapter.js +143 -0
- package/dist/shared/clock.d.ts +51 -2
- package/dist/shared/clock.js +57 -2
- package/dist/shared/codec/codec.d.ts +288 -13
- package/dist/shared/codec/codec.js +416 -19
- package/dist/shared/codec/compression.d.ts +43 -7
- package/dist/shared/codec/compression.js +53 -13
- package/dist/shared/codec/json-serde.d.ts +76 -4
- package/dist/shared/codec/json-serde.js +181 -8
- package/dist/shared/codec/s3/client-types.d.ts +53 -0
- package/dist/shared/codec/s3/client-types.js +26 -0
- package/dist/shared/codec/s3/client.d.ts +43 -10
- package/dist/shared/codec/s3/client.js +82 -9
- package/dist/shared/codec/s3/config.d.ts +242 -11
- package/dist/shared/codec/s3/config.js +293 -11
- package/dist/shared/codec/s3/lifecycle.d.ts +164 -6
- package/dist/shared/codec/s3/lifecycle.js +335 -27
- package/dist/shared/codec/s3/offloader.d.ts +393 -18
- package/dist/shared/codec/s3/offloader.js +595 -37
- package/dist/shared/concurrency.d.ts +43 -0
- package/dist/shared/concurrency.js +78 -0
- package/dist/shared/dynamodb/abort.d.ts +47 -0
- package/dist/shared/dynamodb/abort.js +59 -0
- package/dist/shared/dynamodb/batch-write.d.ts +77 -14
- package/dist/shared/dynamodb/batch-write.js +146 -27
- package/dist/shared/dynamodb/cancellation.d.ts +121 -4
- package/dist/shared/dynamodb/cancellation.js +147 -3
- package/dist/shared/dynamodb/client.d.ts +162 -8
- package/dist/shared/dynamodb/client.js +153 -5
- package/dist/shared/dynamodb/idempotent-write.d.ts +551 -0
- package/dist/shared/dynamodb/idempotent-write.js +593 -0
- package/dist/shared/dynamodb/paginate.d.ts +105 -9
- package/dist/shared/dynamodb/paginate.js +175 -7
- package/dist/shared/dynamodb/partition-delete.d.ts +185 -14
- package/dist/shared/dynamodb/partition-delete.js +314 -44
- package/dist/shared/dynamodb/recency-index.d.ts +231 -0
- package/dist/shared/dynamodb/recency-index.js +377 -0
- package/dist/shared/dynamodb/retry.d.ts +276 -8
- package/dist/shared/dynamodb/retry.js +433 -23
- package/dist/shared/dynamodb/table-schema.d.ts +190 -0
- package/dist/shared/dynamodb/table-schema.js +209 -0
- package/dist/shared/errors/base-error.d.ts +184 -10
- package/dist/shared/errors/base-error.js +160 -14
- package/dist/shared/errors/boundary.d.ts +71 -0
- package/dist/shared/errors/boundary.js +143 -0
- package/dist/shared/errors/classify.d.ts +97 -0
- package/dist/shared/errors/classify.js +257 -0
- package/dist/shared/errors/error-code.d.ts +77 -2
- package/dist/shared/errors/error-code.js +83 -1
- package/dist/shared/errors/errors.d.ts +158 -59
- package/dist/shared/errors/errors.js +219 -92
- package/dist/shared/logging/logger.d.ts +69 -3
- package/dist/shared/logging/logger.js +97 -3
- package/dist/shared/logging/redaction.d.ts +92 -8
- package/dist/shared/logging/redaction.js +273 -17
- package/dist/shared/logging/secret-patterns.d.ts +149 -19
- package/dist/shared/logging/secret-patterns.js +188 -27
- package/dist/shared/logging/truncate.d.ts +197 -0
- package/dist/shared/logging/truncate.js +231 -0
- package/dist/shared/options.d.ts +59 -7
- package/dist/shared/options.js +9 -1
- package/dist/shared/ulid.d.ts +77 -7
- package/dist/shared/ulid.js +103 -8
- package/dist/shared/validation/collaborators.d.ts +141 -0
- package/dist/shared/validation/collaborators.js +188 -0
- package/dist/shared/validation/option-shape.d.ts +89 -0
- package/dist/shared/validation/option-shape.js +113 -0
- package/dist/shared/validation/options.d.ts +145 -0
- package/dist/shared/validation/options.js +328 -0
- package/dist/shared/validation/primitives.d.ts +288 -21
- package/dist/shared/validation/primitives.js +353 -50
- package/dist/shared/validation/ttl.d.ts +66 -10
- package/dist/shared/validation/ttl.js +113 -15
- package/dist/store/actions/list-namespaces.d.ts +76 -6
- package/dist/store/actions/list-namespaces.js +166 -24
- package/dist/store/actions/put.d.ts +33 -8
- package/dist/store/actions/put.js +53 -60
- package/dist/store/actions/reconcile-vector-index.d.ts +31 -10
- package/dist/store/actions/reconcile-vector-index.js +34 -15
- package/dist/store/actions/search.d.ts +34 -6
- package/dist/store/actions/search.js +56 -51
- package/dist/store/internal/batch-plan.d.ts +26 -0
- package/dist/store/internal/batch-plan.js +109 -0
- package/dist/store/internal/filter.d.ts +36 -3
- package/dist/store/internal/filter.js +66 -15
- package/dist/store/internal/get-item.d.ts +45 -0
- package/dist/store/internal/get-item.js +115 -0
- package/dist/store/internal/item-write.d.ts +230 -0
- package/dist/store/internal/item-write.js +463 -0
- package/dist/store/internal/parse.d.ts +225 -0
- package/dist/store/internal/parse.js +350 -0
- package/dist/store/internal/rows.d.ts +355 -0
- package/dist/store/internal/rows.js +447 -0
- package/dist/store/internal/semantic-search.d.ts +161 -6
- package/dist/store/internal/semantic-search.js +360 -18
- package/dist/store/internal/setup.d.ts +77 -20
- package/dist/store/internal/setup.js +178 -47
- package/dist/store/internal/table-search.d.ts +100 -0
- package/dist/store/internal/table-search.js +213 -0
- package/dist/store/internal/vector-index.d.ts +247 -0
- package/dist/store/internal/vector-index.js +546 -0
- package/dist/store/store.d.ts +270 -17
- package/dist/store/store.js +329 -38
- package/dist/store/types.d.ts +76 -26
- package/dist/store/types.js +13 -1
- package/dist/store/vector-backend.d.ts +64 -4
- package/dist/store/vector-backend.js +15 -1
- package/package.json +58 -36
- package/dist/checkpointer/actions/delete-thread.d.ts.map +0 -1
- package/dist/checkpointer/actions/delete-thread.js.map +0 -1
- package/dist/checkpointer/actions/get-tuple.d.ts.map +0 -1
- package/dist/checkpointer/actions/get-tuple.js.map +0 -1
- package/dist/checkpointer/actions/list.d.ts.map +0 -1
- package/dist/checkpointer/actions/list.js.map +0 -1
- package/dist/checkpointer/actions/put-writes.d.ts.map +0 -1
- package/dist/checkpointer/actions/put-writes.js.map +0 -1
- package/dist/checkpointer/actions/put.d.ts.map +0 -1
- package/dist/checkpointer/actions/put.js.map +0 -1
- package/dist/checkpointer/internal/assemble.d.ts +0 -10
- package/dist/checkpointer/internal/assemble.d.ts.map +0 -1
- package/dist/checkpointer/internal/assemble.js +0 -37
- package/dist/checkpointer/internal/assemble.js.map +0 -1
- package/dist/checkpointer/internal/configurable.d.ts +0 -13
- package/dist/checkpointer/internal/configurable.d.ts.map +0 -1
- package/dist/checkpointer/internal/configurable.js +0 -23
- package/dist/checkpointer/internal/configurable.js.map +0 -1
- package/dist/checkpointer/internal/fetch.d.ts +0 -10
- package/dist/checkpointer/internal/fetch.d.ts.map +0 -1
- package/dist/checkpointer/internal/fetch.js +0 -46
- package/dist/checkpointer/internal/fetch.js.map +0 -1
- package/dist/checkpointer/internal/filter-match.d.ts +0 -12
- package/dist/checkpointer/internal/filter-match.d.ts.map +0 -1
- package/dist/checkpointer/internal/filter-match.js +0 -14
- package/dist/checkpointer/internal/filter-match.js.map +0 -1
- package/dist/checkpointer/internal/item-reader.d.ts +0 -55
- package/dist/checkpointer/internal/item-reader.d.ts.map +0 -1
- package/dist/checkpointer/internal/item-reader.js +0 -88
- package/dist/checkpointer/internal/item-reader.js.map +0 -1
- package/dist/checkpointer/internal/item-writer.d.ts +0 -26
- package/dist/checkpointer/internal/item-writer.d.ts.map +0 -1
- package/dist/checkpointer/internal/item-writer.js +0 -92
- package/dist/checkpointer/internal/item-writer.js.map +0 -1
- package/dist/checkpointer/internal/keys.d.ts +0 -31
- package/dist/checkpointer/internal/keys.d.ts.map +0 -1
- package/dist/checkpointer/internal/keys.js +0 -87
- package/dist/checkpointer/internal/keys.js.map +0 -1
- package/dist/checkpointer/internal/query.d.ts +0 -20
- package/dist/checkpointer/internal/query.d.ts.map +0 -1
- package/dist/checkpointer/internal/query.js +0 -36
- package/dist/checkpointer/internal/query.js.map +0 -1
- package/dist/checkpointer/internal/setup.d.ts.map +0 -1
- package/dist/checkpointer/internal/setup.js.map +0 -1
- package/dist/checkpointer/internal/special-write-cas.d.ts +0 -30
- package/dist/checkpointer/internal/special-write-cas.d.ts.map +0 -1
- package/dist/checkpointer/internal/special-write-cas.js +0 -104
- package/dist/checkpointer/internal/special-write-cas.js.map +0 -1
- package/dist/checkpointer/internal/special-write-cleanup.d.ts +0 -24
- package/dist/checkpointer/internal/special-write-cleanup.d.ts.map +0 -1
- package/dist/checkpointer/internal/special-write-cleanup.js +0 -47
- package/dist/checkpointer/internal/special-write-cleanup.js.map +0 -1
- package/dist/checkpointer/internal/special-write-verify.d.ts +0 -54
- package/dist/checkpointer/internal/special-write-verify.d.ts.map +0 -1
- package/dist/checkpointer/internal/special-write-verify.js +0 -65
- package/dist/checkpointer/internal/special-write-verify.js.map +0 -1
- package/dist/checkpointer/internal/validation.d.ts +0 -13
- package/dist/checkpointer/internal/validation.d.ts.map +0 -1
- package/dist/checkpointer/internal/validation.js +0 -30
- package/dist/checkpointer/internal/validation.js.map +0 -1
- package/dist/checkpointer/internal/write-guard.d.ts +0 -13
- package/dist/checkpointer/internal/write-guard.d.ts.map +0 -1
- package/dist/checkpointer/internal/write-guard.js +0 -39
- package/dist/checkpointer/internal/write-guard.js.map +0 -1
- package/dist/checkpointer/internal/write-index.d.ts +0 -37
- package/dist/checkpointer/internal/write-index.d.ts.map +0 -1
- package/dist/checkpointer/internal/write-index.js +0 -42
- package/dist/checkpointer/internal/write-index.js.map +0 -1
- package/dist/checkpointer/saver.d.ts.map +0 -1
- package/dist/checkpointer/saver.js.map +0 -1
- package/dist/checkpointer/types.d.ts.map +0 -1
- package/dist/checkpointer/types.js.map +0 -1
- package/dist/factory/factory.d.ts.map +0 -1
- package/dist/factory/factory.js.map +0 -1
- package/dist/history/actions/add-messages.d.ts.map +0 -1
- package/dist/history/actions/add-messages.js.map +0 -1
- package/dist/history/actions/clear.d.ts.map +0 -1
- package/dist/history/actions/clear.js.map +0 -1
- package/dist/history/actions/get-messages.d.ts.map +0 -1
- package/dist/history/actions/get-messages.js.map +0 -1
- package/dist/history/actions/list-sessions.d.ts.map +0 -1
- package/dist/history/actions/list-sessions.js.map +0 -1
- package/dist/history/actions/reconcile-count.d.ts.map +0 -1
- package/dist/history/actions/reconcile-count.js.map +0 -1
- package/dist/history/chat-message-history.d.ts.map +0 -1
- package/dist/history/chat-message-history.js.map +0 -1
- package/dist/history/internal/append-saga.d.ts +0 -20
- package/dist/history/internal/append-saga.d.ts.map +0 -1
- package/dist/history/internal/append-saga.js +0 -35
- package/dist/history/internal/append-saga.js.map +0 -1
- package/dist/history/internal/compensation.d.ts +0 -21
- package/dist/history/internal/compensation.d.ts.map +0 -1
- package/dist/history/internal/compensation.js +0 -84
- package/dist/history/internal/compensation.js.map +0 -1
- package/dist/history/internal/item-mapper.d.ts +0 -12
- package/dist/history/internal/item-mapper.d.ts.map +0 -1
- package/dist/history/internal/item-mapper.js +0 -33
- package/dist/history/internal/item-mapper.js.map +0 -1
- package/dist/history/internal/keys.d.ts +0 -17
- package/dist/history/internal/keys.d.ts.map +0 -1
- package/dist/history/internal/keys.js +0 -49
- package/dist/history/internal/keys.js.map +0 -1
- package/dist/history/internal/message-chunker.d.ts +0 -14
- package/dist/history/internal/message-chunker.d.ts.map +0 -1
- package/dist/history/internal/message-chunker.js +0 -68
- package/dist/history/internal/message-chunker.js.map +0 -1
- package/dist/history/internal/message-transaction.d.ts +0 -26
- package/dist/history/internal/message-transaction.d.ts.map +0 -1
- package/dist/history/internal/message-transaction.js +0 -60
- package/dist/history/internal/message-transaction.js.map +0 -1
- package/dist/history/internal/query.d.ts +0 -10
- package/dist/history/internal/query.d.ts.map +0 -1
- package/dist/history/internal/query.js +0 -31
- package/dist/history/internal/query.js.map +0 -1
- package/dist/history/internal/session-count.d.ts +0 -41
- package/dist/history/internal/session-count.d.ts.map +0 -1
- package/dist/history/internal/session-count.js +0 -109
- package/dist/history/internal/session-count.js.map +0 -1
- package/dist/history/internal/session-title.d.ts +0 -20
- package/dist/history/internal/session-title.d.ts.map +0 -1
- package/dist/history/internal/session-title.js +0 -44
- package/dist/history/internal/session-title.js.map +0 -1
- package/dist/history/internal/session-update.d.ts +0 -28
- package/dist/history/internal/session-update.d.ts.map +0 -1
- package/dist/history/internal/session-update.js +0 -70
- package/dist/history/internal/session-update.js.map +0 -1
- package/dist/history/internal/setup.d.ts.map +0 -1
- package/dist/history/internal/setup.js.map +0 -1
- package/dist/history/internal/title-generator.d.ts +0 -13
- package/dist/history/internal/title-generator.d.ts.map +0 -1
- package/dist/history/internal/title-generator.js +0 -25
- package/dist/history/internal/title-generator.js.map +0 -1
- package/dist/history/internal/ttl-anchor.d.ts +0 -25
- package/dist/history/internal/ttl-anchor.d.ts.map +0 -1
- package/dist/history/internal/ttl-anchor.js +0 -38
- package/dist/history/internal/ttl-anchor.js.map +0 -1
- package/dist/history/internal/validation.d.ts +0 -9
- package/dist/history/internal/validation.d.ts.map +0 -1
- package/dist/history/internal/validation.js +0 -16
- package/dist/history/internal/validation.js.map +0 -1
- package/dist/history/session-adapter.d.ts.map +0 -1
- package/dist/history/session-adapter.js.map +0 -1
- package/dist/history/types.d.ts.map +0 -1
- package/dist/history/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/shared/clock.d.ts.map +0 -1
- package/dist/shared/clock.js.map +0 -1
- package/dist/shared/codec/codec.d.ts.map +0 -1
- package/dist/shared/codec/codec.js.map +0 -1
- package/dist/shared/codec/compression.d.ts.map +0 -1
- package/dist/shared/codec/compression.js.map +0 -1
- package/dist/shared/codec/descriptor-keys.d.ts +0 -4
- package/dist/shared/codec/descriptor-keys.d.ts.map +0 -1
- package/dist/shared/codec/descriptor-keys.js +0 -14
- package/dist/shared/codec/descriptor-keys.js.map +0 -1
- package/dist/shared/codec/json-serde.d.ts.map +0 -1
- package/dist/shared/codec/json-serde.js.map +0 -1
- package/dist/shared/codec/s3/client.d.ts.map +0 -1
- package/dist/shared/codec/s3/client.js.map +0 -1
- package/dist/shared/codec/s3/config.d.ts.map +0 -1
- package/dist/shared/codec/s3/config.js.map +0 -1
- package/dist/shared/codec/s3/delete.d.ts +0 -8
- package/dist/shared/codec/s3/delete.d.ts.map +0 -1
- package/dist/shared/codec/s3/delete.js +0 -29
- package/dist/shared/codec/s3/delete.js.map +0 -1
- package/dist/shared/codec/s3/lifecycle.d.ts.map +0 -1
- package/dist/shared/codec/s3/lifecycle.js.map +0 -1
- package/dist/shared/codec/s3/offloader.d.ts.map +0 -1
- package/dist/shared/codec/s3/offloader.js.map +0 -1
- package/dist/shared/codec/s3/orphans.d.ts +0 -18
- package/dist/shared/codec/s3/orphans.d.ts.map +0 -1
- package/dist/shared/codec/s3/orphans.js +0 -58
- package/dist/shared/codec/s3/orphans.js.map +0 -1
- package/dist/shared/codec/s3/read-write.d.ts +0 -14
- package/dist/shared/codec/s3/read-write.d.ts.map +0 -1
- package/dist/shared/codec/s3/read-write.js +0 -43
- package/dist/shared/codec/s3/read-write.js.map +0 -1
- package/dist/shared/codec/s3/retry.d.ts +0 -5
- package/dist/shared/codec/s3/retry.d.ts.map +0 -1
- package/dist/shared/codec/s3/retry.js +0 -25
- package/dist/shared/codec/s3/retry.js.map +0 -1
- package/dist/shared/constants.d.ts +0 -64
- package/dist/shared/constants.d.ts.map +0 -1
- package/dist/shared/constants.js +0 -67
- package/dist/shared/constants.js.map +0 -1
- package/dist/shared/dynamodb/backoff.d.ts +0 -15
- package/dist/shared/dynamodb/backoff.d.ts.map +0 -1
- package/dist/shared/dynamodb/backoff.js +0 -48
- package/dist/shared/dynamodb/backoff.js.map +0 -1
- package/dist/shared/dynamodb/batch-write.d.ts.map +0 -1
- package/dist/shared/dynamodb/batch-write.js.map +0 -1
- package/dist/shared/dynamodb/cancellation.d.ts.map +0 -1
- package/dist/shared/dynamodb/cancellation.js.map +0 -1
- package/dist/shared/dynamodb/client.d.ts.map +0 -1
- package/dist/shared/dynamodb/client.js.map +0 -1
- package/dist/shared/dynamodb/conditional-put.d.ts +0 -51
- package/dist/shared/dynamodb/conditional-put.d.ts.map +0 -1
- package/dist/shared/dynamodb/conditional-put.js +0 -59
- package/dist/shared/dynamodb/conditional-put.js.map +0 -1
- package/dist/shared/dynamodb/drain-unprocessed.d.ts +0 -19
- package/dist/shared/dynamodb/drain-unprocessed.d.ts.map +0 -1
- package/dist/shared/dynamodb/drain-unprocessed.js +0 -44
- package/dist/shared/dynamodb/drain-unprocessed.js.map +0 -1
- package/dist/shared/dynamodb/paginate-core.d.ts +0 -22
- package/dist/shared/dynamodb/paginate-core.d.ts.map +0 -1
- package/dist/shared/dynamodb/paginate-core.js +0 -52
- package/dist/shared/dynamodb/paginate-core.js.map +0 -1
- package/dist/shared/dynamodb/paginate.d.ts.map +0 -1
- package/dist/shared/dynamodb/paginate.js.map +0 -1
- package/dist/shared/dynamodb/partition-delete.d.ts.map +0 -1
- package/dist/shared/dynamodb/partition-delete.js.map +0 -1
- package/dist/shared/dynamodb/retry-classifier.d.ts +0 -9
- package/dist/shared/dynamodb/retry-classifier.d.ts.map +0 -1
- package/dist/shared/dynamodb/retry-classifier.js +0 -87
- package/dist/shared/dynamodb/retry-classifier.js.map +0 -1
- package/dist/shared/dynamodb/retry.d.ts.map +0 -1
- package/dist/shared/dynamodb/retry.js.map +0 -1
- package/dist/shared/dynamodb/scan.d.ts +0 -15
- package/dist/shared/dynamodb/scan.d.ts.map +0 -1
- package/dist/shared/dynamodb/scan.js +0 -20
- package/dist/shared/dynamodb/scan.js.map +0 -1
- package/dist/shared/dynamodb/types.d.ts +0 -24
- package/dist/shared/dynamodb/types.d.ts.map +0 -1
- package/dist/shared/dynamodb/types.js +0 -3
- package/dist/shared/dynamodb/types.js.map +0 -1
- package/dist/shared/errors/base-error.d.ts.map +0 -1
- package/dist/shared/errors/base-error.js.map +0 -1
- package/dist/shared/errors/error-code.d.ts.map +0 -1
- package/dist/shared/errors/error-code.js.map +0 -1
- package/dist/shared/errors/errors.d.ts.map +0 -1
- package/dist/shared/errors/errors.js.map +0 -1
- package/dist/shared/errors/wrap-error.d.ts +0 -16
- package/dist/shared/errors/wrap-error.d.ts.map +0 -1
- package/dist/shared/errors/wrap-error.js +0 -30
- package/dist/shared/errors/wrap-error.js.map +0 -1
- package/dist/shared/logging/logger.d.ts.map +0 -1
- package/dist/shared/logging/logger.js.map +0 -1
- package/dist/shared/logging/redaction-walk.d.ts +0 -23
- package/dist/shared/logging/redaction-walk.d.ts.map +0 -1
- package/dist/shared/logging/redaction-walk.js +0 -92
- package/dist/shared/logging/redaction-walk.js.map +0 -1
- package/dist/shared/logging/redaction.d.ts.map +0 -1
- package/dist/shared/logging/redaction.js.map +0 -1
- package/dist/shared/logging/secret-patterns.d.ts.map +0 -1
- package/dist/shared/logging/secret-patterns.js.map +0 -1
- package/dist/shared/options.d.ts.map +0 -1
- package/dist/shared/options.js.map +0 -1
- package/dist/shared/ulid.d.ts.map +0 -1
- package/dist/shared/ulid.js.map +0 -1
- package/dist/shared/validation/primitives.d.ts.map +0 -1
- package/dist/shared/validation/primitives.js.map +0 -1
- package/dist/shared/validation/ttl.d.ts.map +0 -1
- package/dist/shared/validation/ttl.js.map +0 -1
- package/dist/store/actions/get.d.ts +0 -5
- package/dist/store/actions/get.d.ts.map +0 -1
- package/dist/store/actions/get.js +0 -35
- package/dist/store/actions/get.js.map +0 -1
- package/dist/store/actions/list-namespaces.d.ts.map +0 -1
- package/dist/store/actions/list-namespaces.js.map +0 -1
- package/dist/store/actions/put.d.ts.map +0 -1
- package/dist/store/actions/put.js.map +0 -1
- package/dist/store/actions/reconcile-vector-index.d.ts.map +0 -1
- package/dist/store/actions/reconcile-vector-index.js.map +0 -1
- package/dist/store/actions/search.d.ts.map +0 -1
- package/dist/store/actions/search.js.map +0 -1
- package/dist/store/internal/backend-search.d.ts +0 -5
- package/dist/store/internal/backend-search.d.ts.map +0 -1
- package/dist/store/internal/backend-search.js +0 -68
- package/dist/store/internal/backend-search.js.map +0 -1
- package/dist/store/internal/filter.d.ts.map +0 -1
- package/dist/store/internal/filter.js.map +0 -1
- package/dist/store/internal/index-reconcile.d.ts +0 -22
- package/dist/store/internal/index-reconcile.d.ts.map +0 -1
- package/dist/store/internal/index-reconcile.js +0 -105
- package/dist/store/internal/index-reconcile.js.map +0 -1
- package/dist/store/internal/index-sync.d.ts +0 -11
- package/dist/store/internal/index-sync.d.ts.map +0 -1
- package/dist/store/internal/index-sync.js +0 -26
- package/dist/store/internal/index-sync.js.map +0 -1
- package/dist/store/internal/item-mapper.d.ts +0 -25
- package/dist/store/internal/item-mapper.d.ts.map +0 -1
- package/dist/store/internal/item-mapper.js +0 -53
- package/dist/store/internal/item-mapper.js.map +0 -1
- package/dist/store/internal/keys.d.ts +0 -18
- package/dist/store/internal/keys.d.ts.map +0 -1
- package/dist/store/internal/keys.js +0 -42
- package/dist/store/internal/keys.js.map +0 -1
- package/dist/store/internal/namespace-match.d.ts +0 -12
- package/dist/store/internal/namespace-match.d.ts.map +0 -1
- package/dist/store/internal/namespace-match.js +0 -41
- package/dist/store/internal/namespace-match.js.map +0 -1
- package/dist/store/internal/overwrite-swap.d.ts +0 -33
- package/dist/store/internal/overwrite-swap.d.ts.map +0 -1
- package/dist/store/internal/overwrite-swap.js +0 -62
- package/dist/store/internal/overwrite-swap.js.map +0 -1
- package/dist/store/internal/persist.d.ts +0 -27
- package/dist/store/internal/persist.d.ts.map +0 -1
- package/dist/store/internal/persist.js +0 -59
- package/dist/store/internal/persist.js.map +0 -1
- package/dist/store/internal/query.d.ts +0 -6
- package/dist/store/internal/query.d.ts.map +0 -1
- package/dist/store/internal/query.js +0 -32
- package/dist/store/internal/query.js.map +0 -1
- package/dist/store/internal/ranker.d.ts +0 -13
- package/dist/store/internal/ranker.d.ts.map +0 -1
- package/dist/store/internal/ranker.js +0 -31
- package/dist/store/internal/ranker.js.map +0 -1
- package/dist/store/internal/read-existing.d.ts +0 -19
- package/dist/store/internal/read-existing.d.ts.map +0 -1
- package/dist/store/internal/read-existing.js +0 -29
- package/dist/store/internal/read-existing.js.map +0 -1
- package/dist/store/internal/score-direction.d.ts +0 -32
- package/dist/store/internal/score-direction.d.ts.map +0 -1
- package/dist/store/internal/score-direction.js +0 -39
- package/dist/store/internal/score-direction.js.map +0 -1
- package/dist/store/internal/search-filter.d.ts +0 -4
- package/dist/store/internal/search-filter.d.ts.map +0 -1
- package/dist/store/internal/search-filter.js +0 -11
- package/dist/store/internal/search-filter.js.map +0 -1
- package/dist/store/internal/semantic-search.d.ts.map +0 -1
- package/dist/store/internal/semantic-search.js.map +0 -1
- package/dist/store/internal/setup.d.ts.map +0 -1
- package/dist/store/internal/setup.js.map +0 -1
- package/dist/store/internal/validation.d.ts +0 -13
- package/dist/store/internal/validation.d.ts.map +0 -1
- package/dist/store/internal/validation.js +0 -35
- package/dist/store/internal/validation.js.map +0 -1
- package/dist/store/internal/write-verify.d.ts +0 -37
- package/dist/store/internal/write-verify.d.ts.map +0 -1
- package/dist/store/internal/write-verify.js +0 -68
- package/dist/store/internal/write-verify.js.map +0 -1
- package/dist/store/store.d.ts.map +0 -1
- package/dist/store/store.js.map +0 -1
- package/dist/store/types.d.ts.map +0 -1
- package/dist/store/types.js.map +0 -1
- package/dist/store/vector-backend.d.ts.map +0 -1
- package/dist/store/vector-backend.js.map +0 -1
|
@@ -1,31 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
|
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
|
-
|
|
23
|
-
ownsClient: boolean;
|
|
35
|
+
shell: AdapterShell;
|
|
24
36
|
}
|
|
25
37
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
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
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
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
|
|
16
|
-
|
|
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 {
|
|
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.
|
|
6
|
-
*
|
|
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
|
|
11
|
-
|
|
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
|
-
|
|
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
|
-
|
|
18
|
-
|
|
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
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* `s3
|
|
25
|
-
*
|
|
26
|
-
*
|
|
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
|