@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,23 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hides how a value becomes a stored payload and back.
|
|
3
|
+
*
|
|
4
|
+
* A value is serialized by the configured serde, gzipped when that pays, and
|
|
5
|
+
* kept inline in its row or offloaded to S3 under a key its row can be traced
|
|
6
|
+
* from, behind a versioned descriptor the row stores. Reading reverses that,
|
|
7
|
+
* and a failure that means the payload can never be read again — a corrupt
|
|
8
|
+
* body, a missing object, a descriptor no reader understands — is told apart
|
|
9
|
+
* here from one a retry might cure.
|
|
10
|
+
*/
|
|
1
11
|
import type { SerializerProtocol } from '@langchain/langgraph-checkpoint';
|
|
2
|
-
import { CompressionConfig } from './compression';
|
|
12
|
+
import { type CompressionConfig } from './compression';
|
|
3
13
|
import type { S3Offloader } from './s3/offloader';
|
|
14
|
+
/**
|
|
15
|
+
* Largest serialized payload stored inline when no S3 offloader is configured:
|
|
16
|
+
* DynamoDB's 400 KB item cap less 8 KB of headroom for the item's keys,
|
|
17
|
+
* attribute names and descriptor fields. Exceeding it fails before the write
|
|
18
|
+
* with a typed error instead of a raw `ValidationException` after it.
|
|
19
|
+
*/
|
|
20
|
+
export declare const MAX_INLINE_PAYLOAD_BYTES: number;
|
|
4
21
|
/** Where an encoded payload lives. */
|
|
5
22
|
export declare enum PayloadLocation {
|
|
6
23
|
INLINE = "INLINE",
|
|
7
24
|
S3 = "S3"
|
|
8
25
|
}
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Version of the persisted descriptor shape. Absent on rows written before it
|
|
28
|
+
* existed, which read as version 1; a higher value marks a row written by a
|
|
29
|
+
* newer library and is refused rather than misread.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DESCRIPTOR_SCHEMA_VERSION = 1;
|
|
32
|
+
/** Fields every descriptor carries, whatever its location. */
|
|
33
|
+
interface DescriptorBase {
|
|
34
|
+
schemaVersion?: number;
|
|
12
35
|
serdeType: string;
|
|
13
36
|
compressed: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The id of the write that produced this descriptor — the `objectId` its
|
|
39
|
+
* encode was given, and the identity a delete pins on to tell the row it
|
|
40
|
+
* observed from one another write replaced since. Optional because a row
|
|
41
|
+
* written before the field existed carries none, and a row observed without
|
|
42
|
+
* one is deleted unconditionally rather than pinned on nothing.
|
|
43
|
+
*/
|
|
44
|
+
writeId?: string;
|
|
45
|
+
}
|
|
46
|
+
/** A payload stored inline as bytes in the DynamoDB item. */
|
|
47
|
+
interface InlinePayloadDescriptor extends DescriptorBase {
|
|
48
|
+
location: PayloadLocation.INLINE;
|
|
14
49
|
bytes: Uint8Array;
|
|
15
50
|
}
|
|
16
51
|
/** A payload offloaded to S3, referenced by key. */
|
|
17
|
-
interface S3PayloadDescriptor {
|
|
52
|
+
interface S3PayloadDescriptor extends DescriptorBase {
|
|
18
53
|
location: PayloadLocation.S3;
|
|
19
|
-
serdeType: string;
|
|
20
|
-
compressed: boolean;
|
|
21
54
|
s3Key: string;
|
|
22
55
|
}
|
|
23
56
|
/** The result of encoding a payload. */
|
|
@@ -27,18 +60,260 @@ export interface CodecDeps {
|
|
|
27
60
|
serde: SerializerProtocol;
|
|
28
61
|
compression?: CompressionConfig;
|
|
29
62
|
offloader?: S3Offloader;
|
|
63
|
+
/**
|
|
64
|
+
* The caller's cancellation, carried into the S3 upload or download a
|
|
65
|
+
* payload costs. It belongs here rather than on a parameter of its own for
|
|
66
|
+
* the same reason `RetryOptions.signal` does: the deps object is built per
|
|
67
|
+
* call at every use site, so "these options carry a signal" is already how
|
|
68
|
+
* this package decides what a cancel may interrupt — and a path that must
|
|
69
|
+
* not be interrupted keeps building its deps without one.
|
|
70
|
+
*/
|
|
71
|
+
signal?: AbortSignal;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The codec collaborators an adapter context carries, with a call's signal.
|
|
75
|
+
*
|
|
76
|
+
* Accepts: `source` — the adapter's serde, compression and offloader.
|
|
77
|
+
* `signal` — the call's cancellation, carried into the S3 request a payload
|
|
78
|
+
* needs.
|
|
79
|
+
*
|
|
80
|
+
* Returns: the collaborators the codec takes.
|
|
81
|
+
*
|
|
82
|
+
* Throws: nothing.
|
|
83
|
+
*/
|
|
84
|
+
export declare function codecDepsOf(source: Pick<CodecDeps, 'serde' | 'compression' | 'offloader'>, signal?: AbortSignal): CodecDeps;
|
|
85
|
+
/**
|
|
86
|
+
* The payload bytes a descriptor stands for: downloaded when offloaded, then
|
|
87
|
+
* decompressed. Infrastructure only, no deserialization — a caller that needs
|
|
88
|
+
* to tell a transport or permission failure from bad data does this step and
|
|
89
|
+
* {@link loadPayloadValue} separately (see
|
|
90
|
+
* `src/history/actions/get-messages.ts`).
|
|
91
|
+
*
|
|
92
|
+
* Accepts: `descriptor` — as written by {@link encodePayload}; a
|
|
93
|
+
* `schemaVersion` above this release's, or a `location` it does not know, is
|
|
94
|
+
* refused rather than guessed at. `deps.offloader` — required only for an `S3`
|
|
95
|
+
* descriptor. `scope` — the row's own leading key parts (`[threadId]`,
|
|
96
|
+
* `[...namespace, key]`, `[sessionId]`); `[]` degrades the check to the
|
|
97
|
+
* configured prefix. `deps.signal` — cancels the download of an offloaded
|
|
98
|
+
* payload, request and all; an inline one reads no bytes and ignores it.
|
|
99
|
+
*
|
|
100
|
+
* Returns: the decoded bytes.
|
|
101
|
+
*
|
|
102
|
+
* Throws: `VALIDATION` naming `descriptor` for a shape no reader could
|
|
103
|
+
* make sense of and `s3` for an offloaded row with no offloader configured;
|
|
104
|
+
* `FORMAT_UNSUPPORTED` naming `schemaVersion` for a payload a newer release
|
|
105
|
+
* wrote, which a newer reader reads fine; `VALIDATION` naming `s3Key` when
|
|
106
|
+
* the key lies outside `scope`; `ABORTED` when the signal fires during the
|
|
107
|
+
* download; `S3_OFFLOAD_FAILED` from the download; `COMPRESSION_LIMIT` or
|
|
108
|
+
* `PAYLOAD_CORRUPT` from decompression.
|
|
109
|
+
*
|
|
110
|
+
* Guarantees: an offloaded object is downloaded only when its key lies under
|
|
111
|
+
* the path `scope` produces, so a row can never point this adapter at an
|
|
112
|
+
* object it does not own.
|
|
113
|
+
*/
|
|
114
|
+
export declare function readPayloadBytes(descriptor: PayloadDescriptor, deps: CodecDeps, scope: readonly string[]): Promise<Uint8Array>;
|
|
115
|
+
/**
|
|
116
|
+
* The value stored bytes hold, with a serde that refuses them branded rather
|
|
117
|
+
* than left bare.
|
|
118
|
+
*
|
|
119
|
+
* Accepts: `serdeType` — the row's own, handed to the serde unchanged, and the
|
|
120
|
+
* declared form {@link bytesHoldDeclaredForm} checks the bytes against.
|
|
121
|
+
* `bytes` — what {@link readPayloadBytes} returned. `deps.serde` — the
|
|
122
|
+
* serializer the adapter was configured with, which may be the caller's.
|
|
123
|
+
*
|
|
124
|
+
* Returns: whatever the serde reconstructs, typed as the caller declares.
|
|
125
|
+
*
|
|
126
|
+
* Throws: the serde's own error whenever it is already one of this library's,
|
|
127
|
+
* so `PAYLOAD_CORRUPT` from `JSON_SERDE` stays exactly what it was — as does
|
|
128
|
+
* its refusal of a `serdeType` it has no grammar for, which it brands the same
|
|
129
|
+
* `VALIDATION` naming `serde` that the classifier below reaches for on the
|
|
130
|
+
* identical row under any other serde; `PAYLOAD_CORRUPT` when the bytes are no
|
|
131
|
+
* longer the form the row declares, on whatever serde raised it; anything else
|
|
132
|
+
* as a `VALIDATION` error naming `serde`, carrying the refusal as `cause`.
|
|
133
|
+
*
|
|
134
|
+
* Guarantees: no error leaves a decode unbranded, and which serde the adapter
|
|
135
|
+
* was configured with never decides *which* brand. A rotted row read through
|
|
136
|
+
* `JSON_SERDE` reported `PAYLOAD_CORRUPT` while the identical row read through
|
|
137
|
+
* the checkpointer's own default reported the refusal below, so a caller
|
|
138
|
+
* quarantining on `PAYLOAD_CORRUPT` never matched and `history.getMessages`
|
|
139
|
+
* lost a whole conversation where it promises one dropped message. A row
|
|
140
|
+
* declaring a form neither serde writes ran the same divergence the other way,
|
|
141
|
+
* and reached further: `JSON_SERDE` ignored the declared type, so its own
|
|
142
|
+
* `JSON.parse` failure arrived here already branded and the classifier was
|
|
143
|
+
* never consulted. The serializer honours the declared form now, which is what
|
|
144
|
+
* keeps this the one place the distinction is drawn.
|
|
145
|
+
*
|
|
146
|
+
* The refusal is what remains once the bytes are known to be intact: the
|
|
147
|
+
* serializer would not reconstruct the value they name. A stored `lc`
|
|
148
|
+
* constructor record naming a class outside LangChain's allow-list is refused
|
|
149
|
+
* by `load()` with a plain `Error`, which a public boundary could only rebrand
|
|
150
|
+
* as an `UNEXPECTED_ERROR` — reporting a row's own content to the caller as an AWS
|
|
151
|
+
* failure. It is deliberately *not* classified as payload loss, for
|
|
152
|
+
* `assertKeyInScope`'s reason rather than `PAYLOAD_CORRUPT`'s: the bytes are
|
|
153
|
+
* undamaged and parse, and which classes revive is a property of **this**
|
|
154
|
+
* reader — the serde it was given, and what that serde's allow-list carries —
|
|
155
|
+
* not of the payload. A refusal that says only "this reader may not
|
|
156
|
+
* reconstruct that" is a misconfigured serde or a planted row, both of which an
|
|
157
|
+
* operator must see; writing it off would let `history.getMessages` answer with
|
|
158
|
+
* a silently shorter conversation for the one row shape most worth noticing.
|
|
159
|
+
*/
|
|
160
|
+
export declare function loadPayloadValue<T>(serdeType: string, bytes: Uint8Array, deps: CodecDeps): Promise<T>;
|
|
161
|
+
/**
|
|
162
|
+
* The value a descriptor stands for: {@link readPayloadBytes} followed by
|
|
163
|
+
* {@link loadPayloadValue}.
|
|
164
|
+
*
|
|
165
|
+
* Accepts: as {@link readPayloadBytes}; `scope` has the same meaning.
|
|
166
|
+
*
|
|
167
|
+
* Returns: whatever the serde reconstructs, typed as the caller declares.
|
|
168
|
+
*
|
|
169
|
+
* Throws: everything {@link readPayloadBytes} throws, plus everything
|
|
170
|
+
* {@link loadPayloadValue} throws for bytes the serde will not accept —
|
|
171
|
+
* `PAYLOAD_CORRUPT` for bytes that are no longer the form the row declares,
|
|
172
|
+
* whichever serde is configured, `VALIDATION` naming `serde` for a refusal
|
|
173
|
+
* of bytes that are still intact.
|
|
174
|
+
*
|
|
175
|
+
* Guarantees: the bytes are read first, in a statement of their own. Passing
|
|
176
|
+
* `descriptor.serdeType` and the awaited read as two arguments to one call read
|
|
177
|
+
* the property *before* the guard ran, since arguments evaluate left to right —
|
|
178
|
+
* so a row whose payload is `null` raised a bare `TypeError` carrying no code,
|
|
179
|
+
* which a public boundary can only rebrand as an `UNEXPECTED_ERROR`. Every read
|
|
180
|
+
* path now answers such a row with the `VALIDATION` error naming `descriptor` that
|
|
181
|
+
* the history adapter, which reads its bytes separately, already produced.
|
|
182
|
+
*/
|
|
183
|
+
export declare function decodePayload<T>(descriptor: PayloadDescriptor, deps: CodecDeps, scope: readonly string[]): Promise<T>;
|
|
184
|
+
/** The DynamoDB key of the row that will hold the descriptor being built. */
|
|
185
|
+
interface RowKey {
|
|
186
|
+
pk: string;
|
|
187
|
+
sk: string;
|
|
30
188
|
}
|
|
31
189
|
/** Options controlling where an offloaded payload's S3 key is built from. */
|
|
32
190
|
export interface EncodeOptions {
|
|
191
|
+
/**
|
|
192
|
+
* The identity of the row this payload belongs to, as the path segments
|
|
193
|
+
* above {@link EncodeOptions.objectId}. A reader refuses an object that lies
|
|
194
|
+
* outside the path its row's leading identifiers produce.
|
|
195
|
+
*/
|
|
33
196
|
keyParts: readonly string[];
|
|
197
|
+
/**
|
|
198
|
+
* The id of the write this payload belongs to, and the key's last segment.
|
|
199
|
+
* The caller draws a fresh UUID or ULID for each write — each store put, each
|
|
200
|
+
* checkpoint put, each `putWrites` call, each history message — and passes the
|
|
201
|
+
* same one for every payload of that write, whose `keyParts` already differ.
|
|
202
|
+
* No other write uses that id, so no row another write commits names the
|
|
203
|
+
* object.
|
|
204
|
+
*/
|
|
205
|
+
objectId: string;
|
|
206
|
+
/**
|
|
207
|
+
* The row's DynamoDB key, stored on the object as the backlink AWS
|
|
208
|
+
* recommends for exactly this layout: "Store the primary key value of the
|
|
209
|
+
* item as Amazon S3 metadata of the object" (*Best practices for storing
|
|
210
|
+
* large items and attributes in DynamoDB*). Nothing in this package reads it
|
|
211
|
+
* back; it exists so an out-of-band sweeper can ask DynamoDB whether an
|
|
212
|
+
* object's parent row still exists without parsing object keys.
|
|
213
|
+
*/
|
|
214
|
+
row: RowKey;
|
|
34
215
|
}
|
|
35
216
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
217
|
+
* The descriptor recording how to read `value` back: serialized, compressed if
|
|
218
|
+
* configured, and offloaded to S3 if large enough.
|
|
219
|
+
*
|
|
220
|
+
* Accepts: `value` — anything the serde can represent as at least one byte;
|
|
221
|
+
* what it cannot represent is the serde's own error, and what it represents as
|
|
222
|
+
* nothing is refused here (see {@link assertSerialisedToBytes}), whichever
|
|
223
|
+
* serde is configured. `deps.compression` — absent or `enabled: false` stores the
|
|
224
|
+
* serialized bytes as they are. `deps.offloader` — absent stores every payload
|
|
225
|
+
* inline. `deps.signal` — cancels the upload of an offloaded payload; an
|
|
226
|
+
* inline one is never sent anywhere and ignores it. `options` — the row's
|
|
227
|
+
* identity, the write's object id and the row's DynamoDB key (see
|
|
228
|
+
* {@link EncodeOptions}).
|
|
229
|
+
*
|
|
230
|
+
* Returns: an `S3` descriptor when an offloader is configured and
|
|
231
|
+
* `shouldOffload` accepts the compressed size, otherwise an `INLINE`
|
|
232
|
+
* descriptor carrying the bytes. Both record `serdeType` and `compressed`, so
|
|
233
|
+
* neither is ever inferred from the bytes on read.
|
|
234
|
+
*
|
|
235
|
+
* Throws: whatever `serde.dumpsTyped` throws; `ABORTED` when the signal
|
|
236
|
+
* fires during the upload; `S3_OFFLOAD_FAILED` from the upload; and two
|
|
237
|
+
* distinguishable `VALIDATION` errors. One names `payload` — the bytes are too
|
|
238
|
+
* large to store inline — and is raised only when there is **no** offloader
|
|
239
|
+
* and they exceed `MAX_INLINE_PAYLOAD_BYTES`. With an offloader that
|
|
240
|
+
* cell cannot arise: `s3.thresholdBytes` is itself capped at that limit
|
|
241
|
+
* (`src/shared/validation/options.ts`, `assertS3`), so bytes too large
|
|
242
|
+
* to store inline are always at or above the threshold and offload instead.
|
|
243
|
+
* The other names `value` — it serialises to nothing (see
|
|
244
|
+
* {@link assertSerialisedToBytes}) — and is raised for an offloaded payload
|
|
245
|
+
* and an inline one alike, before either is stored.
|
|
39
246
|
*/
|
|
40
247
|
export declare function encodePayload<T>(value: T, deps: CodecDeps, options: EncodeOptions): Promise<PayloadDescriptor>;
|
|
41
|
-
/**
|
|
42
|
-
|
|
248
|
+
/**
|
|
249
|
+
* The part of a descriptor cleanup needs: where the payload lives and, for S3,
|
|
250
|
+
* its key. A full `PayloadDescriptor` satisfies it, and so does the projection
|
|
251
|
+
* a pre-write read returns without the inline bytes.
|
|
252
|
+
*/
|
|
253
|
+
export interface DescriptorRef {
|
|
254
|
+
location: PayloadLocation;
|
|
255
|
+
s3Key?: string;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* The S3 keys of whichever descriptors are offloaded.
|
|
259
|
+
*
|
|
260
|
+
* Accepts: `descriptors` — any mix of inline and offloaded, including a
|
|
261
|
+
* projection that carries only `location` and `s3Key`, and including none. An
|
|
262
|
+
* offloaded descriptor missing its key is skipped rather than deleted blindly,
|
|
263
|
+
* and so is an entry that is not a descriptor at all: several callers read
|
|
264
|
+
* these straight off a row, and a row this library did not write can hold
|
|
265
|
+
* `null` where the descriptor belongs, or omit the attribute entirely. Widening
|
|
266
|
+
* the parameter rather than making each caller filter is what lets the `Throws`
|
|
267
|
+
* clause below hold for every caller instead of only the careful ones.
|
|
268
|
+
*
|
|
269
|
+
* Returns: the keys, in the order given; an inline payload contributes none,
|
|
270
|
+
* and neither does an absent one.
|
|
271
|
+
*
|
|
272
|
+
* Throws: nothing — this feeds cleanup, which must not fail the operation it
|
|
273
|
+
* follows.
|
|
274
|
+
*/
|
|
275
|
+
export declare function collectS3Keys(descriptors: readonly (DescriptorRef | null | undefined)[]): string[];
|
|
276
|
+
/**
|
|
277
|
+
* True when an offloaded object no longer exists.
|
|
278
|
+
*
|
|
279
|
+
* Accepts: `error` — any error; only `S3_OFFLOAD_FAILED` carrying a `NoSuchKey`
|
|
280
|
+
* cause matches. An error with no `cause`, or one whose cause names another
|
|
281
|
+
* S3 failure, is not a missing object. Anything else a `throw` can produce —
|
|
282
|
+
* `null`, `undefined`, a primitive — carries no code and is not one either.
|
|
283
|
+
*
|
|
284
|
+
* Returns: whether the object is gone — a lifecycle sweep removed it, or a
|
|
285
|
+
* competing overwrite deleted it between a row read and the download.
|
|
286
|
+
*
|
|
287
|
+
* Throws: **nothing**, for any value. A caught value that cannot carry a
|
|
288
|
+
* property answers `false`, as `isDynamoDBLangGraphError` does, rather than
|
|
289
|
+
* raising a `TypeError` inside the `catch` that is reporting the download
|
|
290
|
+
* failure this test exists to classify.
|
|
291
|
+
*/
|
|
292
|
+
export declare function isMissingObjectError(error: Error): boolean;
|
|
293
|
+
/**
|
|
294
|
+
* True when a payload can never be read again, as opposed to a failure that may
|
|
295
|
+
* succeed on retry or after a configuration fix (throttling, network,
|
|
296
|
+
* permissions).
|
|
297
|
+
*
|
|
298
|
+
* Accepts: `error` — any error. Permanent are: its object is gone
|
|
299
|
+
* ({@link isMissingObjectError}), its bytes are not the form the row declares
|
|
300
|
+
* (`PAYLOAD_CORRUPT`), it trips the decompression guard (`COMPRESSION_LIMIT`),
|
|
301
|
+
* or the row's own descriptor is unreadable ({@link isUnreadableDescriptor}).
|
|
302
|
+
* Everything else is false, including an error that carries no code at all, and
|
|
303
|
+
* including three refusals that look like loss and are not. The `s3Key` scope
|
|
304
|
+
* refusal: a row pointing outside its own path is a configuration or tenancy
|
|
305
|
+
* fault to report, not a payload to write off. The `serde` refusal, on the same
|
|
306
|
+
* reasoning: the bytes are checked against the form the row declares before
|
|
307
|
+
* that code is chosen, so reaching it means they are undamaged and a serializer
|
|
308
|
+
* declining to reconstruct the class they name says what *this* reader may do,
|
|
309
|
+
* not what the payload is (see `loadPayloadValue`). And `FORMAT_UNSUPPORTED`,
|
|
310
|
+
* on a row or on a payload: newer is not lost.
|
|
311
|
+
*
|
|
312
|
+
* Returns: whether a caller should report rather than retry.
|
|
313
|
+
*
|
|
314
|
+
* Throws: **nothing**, for any value a `throw` can produce. One that cannot
|
|
315
|
+
* carry a code is not permanent loss, which is the same answer an uncoded
|
|
316
|
+
* `Error` gets.
|
|
317
|
+
*/
|
|
318
|
+
export declare function isPermanentPayloadLoss(error: Error): boolean;
|
|
43
319
|
export {};
|
|
44
|
-
//# sourceMappingURL=codec.d.ts.map
|