@farukada/aws-langgraph-dynamodb-ts 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +226 -510
- package/dist/checkpointer/actions/delete-thread.d.ts +7 -6
- package/dist/checkpointer/actions/delete-thread.d.ts.map +1 -1
- package/dist/checkpointer/actions/delete-thread.js +47 -152
- package/dist/checkpointer/actions/delete-thread.js.map +1 -1
- package/dist/checkpointer/actions/get-tuple.d.ts +6 -14
- package/dist/checkpointer/actions/get-tuple.d.ts.map +1 -1
- package/dist/checkpointer/actions/get-tuple.js +13 -166
- package/dist/checkpointer/actions/get-tuple.js.map +1 -1
- package/dist/checkpointer/actions/list.d.ts +10 -0
- package/dist/checkpointer/actions/list.d.ts.map +1 -0
- package/dist/checkpointer/actions/list.js +51 -0
- package/dist/checkpointer/actions/list.js.map +1 -0
- package/dist/checkpointer/actions/put-writes.d.ts +6 -6
- package/dist/checkpointer/actions/put-writes.d.ts.map +1 -1
- package/dist/checkpointer/actions/put-writes.js +26 -75
- package/dist/checkpointer/actions/put-writes.js.map +1 -1
- package/dist/checkpointer/actions/put.d.ts +6 -11
- package/dist/checkpointer/actions/put.d.ts.map +1 -1
- package/dist/checkpointer/actions/put.js +29 -161
- package/dist/checkpointer/actions/put.js.map +1 -1
- package/dist/checkpointer/internal/assemble.d.ts +10 -0
- package/dist/checkpointer/internal/assemble.d.ts.map +1 -0
- package/dist/checkpointer/internal/assemble.js +37 -0
- package/dist/checkpointer/internal/assemble.js.map +1 -0
- package/dist/checkpointer/internal/configurable.d.ts +13 -0
- package/dist/checkpointer/internal/configurable.d.ts.map +1 -0
- package/dist/checkpointer/internal/configurable.js +23 -0
- package/dist/checkpointer/internal/configurable.js.map +1 -0
- package/dist/checkpointer/internal/fetch.d.ts +10 -0
- package/dist/checkpointer/internal/fetch.d.ts.map +1 -0
- package/dist/checkpointer/internal/fetch.js +46 -0
- package/dist/checkpointer/internal/fetch.js.map +1 -0
- package/dist/checkpointer/internal/filter-match.d.ts +12 -0
- package/dist/checkpointer/internal/filter-match.d.ts.map +1 -0
- package/dist/checkpointer/internal/filter-match.js +14 -0
- package/dist/checkpointer/internal/filter-match.js.map +1 -0
- package/dist/checkpointer/internal/item-reader.d.ts +10 -0
- package/dist/checkpointer/internal/item-reader.d.ts.map +1 -0
- package/dist/checkpointer/internal/item-reader.js +26 -0
- package/dist/checkpointer/internal/item-reader.js.map +1 -0
- package/dist/checkpointer/internal/item-writer.d.ts +14 -0
- package/dist/checkpointer/internal/item-writer.d.ts.map +1 -0
- package/dist/checkpointer/internal/item-writer.js +68 -0
- package/dist/checkpointer/internal/item-writer.js.map +1 -0
- package/dist/checkpointer/internal/keys.d.ts +15 -0
- package/dist/checkpointer/internal/keys.d.ts.map +1 -0
- package/dist/checkpointer/internal/keys.js +52 -0
- package/dist/checkpointer/internal/keys.js.map +1 -0
- package/dist/checkpointer/internal/query.d.ts +16 -0
- package/dist/checkpointer/internal/query.d.ts.map +1 -0
- package/dist/checkpointer/internal/query.js +33 -0
- package/dist/checkpointer/internal/query.js.map +1 -0
- package/dist/checkpointer/internal/setup.d.ts +31 -0
- package/dist/checkpointer/internal/setup.d.ts.map +1 -0
- package/dist/checkpointer/internal/setup.js +29 -0
- package/dist/checkpointer/internal/setup.js.map +1 -0
- package/dist/checkpointer/internal/validation.d.ts +9 -0
- package/dist/checkpointer/internal/validation.d.ts.map +1 -0
- package/dist/checkpointer/internal/validation.js +28 -0
- package/dist/checkpointer/internal/validation.js.map +1 -0
- package/dist/checkpointer/saver.d.ts +21 -0
- package/dist/checkpointer/saver.d.ts.map +1 -0
- package/dist/checkpointer/saver.js +49 -0
- package/dist/checkpointer/saver.js.map +1 -0
- package/dist/checkpointer/types.d.ts +43 -0
- package/dist/checkpointer/types.d.ts.map +1 -0
- package/dist/{store/types/index.js → checkpointer/types.js} +1 -1
- package/dist/checkpointer/types.js.map +1 -0
- package/dist/factory/factory.d.ts +41 -0
- package/dist/factory/factory.d.ts.map +1 -0
- package/dist/factory/factory.js +49 -0
- package/dist/factory/factory.js.map +1 -0
- package/dist/history/actions/add-messages.d.ts +12 -7
- package/dist/history/actions/add-messages.d.ts.map +1 -1
- package/dist/history/actions/add-messages.js +50 -48
- package/dist/history/actions/add-messages.js.map +1 -1
- package/dist/history/actions/clear.d.ts +5 -11
- package/dist/history/actions/clear.d.ts.map +1 -1
- package/dist/history/actions/clear.js +28 -62
- package/dist/history/actions/clear.js.map +1 -1
- package/dist/history/actions/get-messages.d.ts +6 -13
- package/dist/history/actions/get-messages.d.ts.map +1 -1
- package/dist/history/actions/get-messages.js +23 -59
- package/dist/history/actions/get-messages.js.map +1 -1
- package/dist/history/actions/list-sessions.d.ts +6 -22
- package/dist/history/actions/list-sessions.d.ts.map +1 -1
- package/dist/history/actions/list-sessions.js +26 -69
- package/dist/history/actions/list-sessions.js.map +1 -1
- package/dist/history/actions/reconcile-count.d.ts +10 -0
- package/dist/history/actions/reconcile-count.d.ts.map +1 -0
- package/dist/history/actions/reconcile-count.js +39 -0
- package/dist/history/actions/reconcile-count.js.map +1 -0
- package/dist/history/chat-message-history.d.ts +36 -0
- package/dist/history/chat-message-history.d.ts.map +1 -0
- package/dist/history/chat-message-history.js +67 -0
- package/dist/history/chat-message-history.js.map +1 -0
- package/dist/history/internal/append-saga.d.ts +17 -0
- package/dist/history/internal/append-saga.d.ts.map +1 -0
- package/dist/history/internal/append-saga.js +94 -0
- package/dist/history/internal/append-saga.js.map +1 -0
- package/dist/history/internal/item-mapper.d.ts +12 -0
- package/dist/history/internal/item-mapper.d.ts.map +1 -0
- package/dist/history/internal/item-mapper.js +33 -0
- package/dist/history/internal/item-mapper.js.map +1 -0
- package/dist/history/internal/keys.d.ts +9 -0
- package/dist/history/internal/keys.d.ts.map +1 -0
- package/dist/history/internal/keys.js +22 -0
- package/dist/history/internal/keys.js.map +1 -0
- package/dist/history/internal/message-chunker.d.ts +14 -0
- package/dist/history/internal/message-chunker.d.ts.map +1 -0
- package/dist/history/internal/message-chunker.js +60 -0
- package/dist/history/internal/message-chunker.js.map +1 -0
- package/dist/history/internal/message-transaction.d.ts +17 -0
- package/dist/history/internal/message-transaction.d.ts.map +1 -0
- package/dist/history/internal/message-transaction.js +27 -0
- package/dist/history/internal/message-transaction.js.map +1 -0
- package/dist/history/internal/query.d.ts +6 -0
- package/dist/history/internal/query.d.ts.map +1 -0
- package/dist/history/internal/query.js +28 -0
- package/dist/history/internal/query.js.map +1 -0
- package/dist/history/internal/session-update.d.ts +20 -0
- package/dist/history/internal/session-update.d.ts.map +1 -0
- package/dist/history/internal/session-update.js +46 -0
- package/dist/history/internal/session-update.js.map +1 -0
- package/dist/history/internal/setup.d.ts +28 -0
- package/dist/history/internal/setup.d.ts.map +1 -0
- package/dist/history/internal/setup.js +27 -0
- package/dist/history/internal/setup.js.map +1 -0
- package/dist/history/internal/title-generator.d.ts +7 -0
- package/dist/history/internal/title-generator.d.ts.map +1 -0
- package/dist/history/internal/title-generator.js +16 -0
- package/dist/history/internal/title-generator.js.map +1 -0
- package/dist/history/internal/ttl-anchor.d.ts +12 -0
- package/dist/history/internal/ttl-anchor.d.ts.map +1 -0
- package/dist/history/internal/ttl-anchor.js +26 -0
- package/dist/history/internal/ttl-anchor.js.map +1 -0
- package/dist/history/session-adapter.d.ts +10 -26
- package/dist/history/session-adapter.d.ts.map +1 -1
- package/dist/history/session-adapter.js +15 -57
- package/dist/history/session-adapter.js.map +1 -1
- package/dist/history/types.d.ts +36 -0
- package/dist/history/types.d.ts.map +1 -0
- package/dist/history/types.js +3 -0
- package/dist/history/types.js.map +1 -0
- package/dist/index.d.ts +18 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -16
- package/dist/index.js.map +1 -1
- package/dist/shared/clock.d.ts +3 -0
- package/dist/shared/clock.d.ts.map +1 -0
- package/dist/shared/clock.js +8 -0
- package/dist/shared/clock.js.map +1 -0
- package/dist/shared/codec/codec.d.ts +44 -0
- package/dist/shared/codec/codec.d.ts.map +1 -0
- package/dist/shared/codec/codec.js +44 -0
- package/dist/shared/codec/codec.js.map +1 -0
- package/dist/shared/codec/compression.d.ts +25 -0
- package/dist/shared/codec/compression.d.ts.map +1 -0
- package/dist/shared/codec/compression.js +49 -0
- package/dist/shared/codec/compression.js.map +1 -0
- package/dist/shared/codec/descriptor-keys.d.ts +4 -0
- package/dist/shared/codec/descriptor-keys.d.ts.map +1 -0
- package/dist/shared/codec/descriptor-keys.js +14 -0
- package/dist/shared/codec/descriptor-keys.js.map +1 -0
- package/dist/shared/codec/json-serde.d.ts +8 -0
- package/dist/shared/codec/json-serde.d.ts.map +1 -0
- package/dist/shared/codec/json-serde.js +18 -0
- package/dist/shared/codec/json-serde.js.map +1 -0
- package/dist/shared/codec/s3/client.d.ts +6 -0
- package/dist/shared/codec/s3/client.d.ts.map +1 -0
- package/dist/shared/codec/s3/client.js +18 -0
- package/dist/shared/codec/s3/client.js.map +1 -0
- package/dist/shared/codec/s3/config.d.ts +16 -0
- package/dist/shared/codec/s3/config.d.ts.map +1 -0
- package/dist/shared/codec/s3/config.js +14 -0
- package/dist/shared/codec/s3/config.js.map +1 -0
- package/dist/shared/codec/s3/delete.d.ts +8 -0
- package/dist/shared/codec/s3/delete.d.ts.map +1 -0
- package/dist/shared/codec/s3/delete.js +29 -0
- package/dist/shared/codec/s3/delete.js.map +1 -0
- package/dist/shared/codec/s3/lifecycle.d.ts +8 -0
- package/dist/shared/codec/s3/lifecycle.d.ts.map +1 -0
- package/dist/shared/codec/s3/lifecycle.js +47 -0
- package/dist/shared/codec/s3/lifecycle.js.map +1 -0
- package/dist/shared/codec/s3/offloader.d.ts +33 -0
- package/dist/shared/codec/s3/offloader.d.ts.map +1 -0
- package/dist/shared/codec/s3/offloader.js +80 -0
- package/dist/shared/codec/s3/offloader.js.map +1 -0
- package/dist/shared/codec/s3/orphans.d.ts +16 -0
- package/dist/shared/codec/s3/orphans.d.ts.map +1 -0
- package/dist/shared/codec/s3/orphans.js +73 -0
- package/dist/shared/codec/s3/orphans.js.map +1 -0
- package/dist/shared/codec/s3/read-write.d.ts +14 -0
- package/dist/shared/codec/s3/read-write.d.ts.map +1 -0
- package/dist/shared/codec/s3/read-write.js +42 -0
- package/dist/shared/codec/s3/read-write.js.map +1 -0
- package/dist/shared/constants.d.ts +37 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +40 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/dynamodb/backoff.d.ts +15 -0
- package/dist/shared/dynamodb/backoff.d.ts.map +1 -0
- package/dist/shared/dynamodb/backoff.js +48 -0
- package/dist/shared/dynamodb/backoff.js.map +1 -0
- package/dist/shared/dynamodb/batch-write.d.ts +10 -0
- package/dist/shared/dynamodb/batch-write.d.ts.map +1 -0
- package/dist/shared/dynamodb/batch-write.js +17 -0
- package/dist/shared/dynamodb/batch-write.js.map +1 -0
- package/dist/shared/dynamodb/client.d.ts +21 -0
- package/dist/shared/dynamodb/client.d.ts.map +1 -0
- package/dist/shared/dynamodb/client.js +19 -0
- package/dist/shared/dynamodb/client.js.map +1 -0
- package/dist/shared/dynamodb/drain-unprocessed.d.ts +15 -0
- package/dist/shared/dynamodb/drain-unprocessed.d.ts.map +1 -0
- package/dist/shared/dynamodb/drain-unprocessed.js +35 -0
- package/dist/shared/dynamodb/drain-unprocessed.js.map +1 -0
- package/dist/shared/dynamodb/paginate-core.d.ts +22 -0
- package/dist/shared/dynamodb/paginate-core.d.ts.map +1 -0
- package/dist/shared/dynamodb/paginate-core.js +52 -0
- package/dist/shared/dynamodb/paginate-core.js.map +1 -0
- package/dist/shared/dynamodb/paginate.d.ts +15 -0
- package/dist/shared/dynamodb/paginate.d.ts.map +1 -0
- package/dist/shared/dynamodb/paginate.js +20 -0
- package/dist/shared/dynamodb/paginate.js.map +1 -0
- package/dist/shared/dynamodb/retry-classifier.d.ts +9 -0
- package/dist/shared/dynamodb/retry-classifier.d.ts.map +1 -0
- package/dist/shared/dynamodb/retry-classifier.js +75 -0
- package/dist/shared/dynamodb/retry-classifier.js.map +1 -0
- package/dist/shared/dynamodb/retry.d.ts +18 -0
- package/dist/shared/dynamodb/retry.d.ts.map +1 -0
- package/dist/shared/dynamodb/retry.js +53 -0
- package/dist/shared/dynamodb/retry.js.map +1 -0
- package/dist/shared/dynamodb/scan.d.ts +15 -0
- package/dist/shared/dynamodb/scan.d.ts.map +1 -0
- package/dist/shared/dynamodb/scan.js +20 -0
- package/dist/shared/dynamodb/scan.js.map +1 -0
- package/dist/shared/dynamodb/types.d.ts +24 -0
- package/dist/shared/dynamodb/types.d.ts.map +1 -0
- package/dist/shared/dynamodb/types.js +3 -0
- package/dist/shared/dynamodb/types.js.map +1 -0
- package/dist/shared/errors/base-error.d.ts +22 -0
- package/dist/shared/errors/base-error.d.ts.map +1 -0
- package/dist/shared/errors/base-error.js +28 -0
- package/dist/shared/errors/base-error.js.map +1 -0
- package/dist/shared/errors/error-code.d.ts +13 -0
- package/dist/shared/errors/error-code.d.ts.map +1 -0
- package/dist/shared/errors/error-code.js +17 -0
- package/dist/shared/errors/error-code.js.map +1 -0
- package/dist/shared/errors/errors.d.ts +47 -0
- package/dist/shared/errors/errors.d.ts.map +1 -0
- package/dist/shared/errors/errors.js +82 -0
- package/dist/shared/errors/errors.js.map +1 -0
- package/dist/shared/errors/wrap-error.d.ts +16 -0
- package/dist/shared/errors/wrap-error.d.ts.map +1 -0
- package/dist/shared/errors/wrap-error.js +30 -0
- package/dist/shared/errors/wrap-error.js.map +1 -0
- package/dist/shared/logging/logger.d.ts +14 -0
- package/dist/shared/logging/logger.d.ts.map +1 -0
- package/dist/shared/logging/logger.js +16 -0
- package/dist/shared/logging/logger.js.map +1 -0
- package/dist/shared/logging/redaction.d.ts +19 -0
- package/dist/shared/logging/redaction.d.ts.map +1 -0
- package/dist/shared/logging/redaction.js +67 -0
- package/dist/shared/logging/redaction.js.map +1 -0
- package/dist/shared/options.d.ts +32 -0
- package/dist/shared/options.d.ts.map +1 -0
- package/dist/shared/options.js +3 -0
- package/dist/shared/options.js.map +1 -0
- package/dist/shared/ulid.d.ts +10 -0
- package/dist/shared/ulid.d.ts.map +1 -0
- package/dist/shared/ulid.js +65 -0
- package/dist/shared/ulid.js.map +1 -0
- package/dist/shared/validation/primitives.d.ts +17 -0
- package/dist/shared/validation/primitives.d.ts.map +1 -0
- package/dist/shared/validation/primitives.js +71 -0
- package/dist/shared/validation/primitives.js.map +1 -0
- package/dist/shared/validation/ttl.d.ts +16 -0
- package/dist/shared/validation/ttl.d.ts.map +1 -0
- package/dist/shared/validation/ttl.js +26 -0
- package/dist/shared/validation/ttl.js.map +1 -0
- package/dist/store/actions/get.d.ts +5 -0
- package/dist/store/actions/get.d.ts.map +1 -0
- package/dist/store/actions/get.js +21 -0
- package/dist/store/actions/get.js.map +1 -0
- package/dist/store/actions/list-namespaces.d.ts +9 -0
- package/dist/store/actions/list-namespaces.d.ts.map +1 -0
- package/dist/store/actions/list-namespaces.js +46 -0
- package/dist/store/actions/list-namespaces.js.map +1 -0
- package/dist/store/actions/put.d.ts +11 -0
- package/dist/store/actions/put.d.ts.map +1 -0
- package/dist/store/actions/put.js +81 -0
- package/dist/store/actions/put.js.map +1 -0
- package/dist/store/actions/reconcile-vector-index.d.ts +17 -0
- package/dist/store/actions/reconcile-vector-index.d.ts.map +1 -0
- package/dist/store/actions/reconcile-vector-index.js +27 -0
- package/dist/store/actions/reconcile-vector-index.js.map +1 -0
- package/dist/store/actions/search.d.ts +10 -0
- package/dist/store/actions/search.d.ts.map +1 -0
- package/dist/store/actions/search.js +72 -0
- package/dist/store/actions/search.js.map +1 -0
- package/dist/store/internal/filter.d.ts +10 -0
- package/dist/store/internal/filter.d.ts.map +1 -0
- package/dist/store/internal/filter.js +37 -0
- package/dist/store/internal/filter.js.map +1 -0
- package/dist/store/internal/index-reconcile.d.ts +22 -0
- package/dist/store/internal/index-reconcile.d.ts.map +1 -0
- package/dist/store/internal/index-reconcile.js +68 -0
- package/dist/store/internal/index-reconcile.js.map +1 -0
- package/dist/store/internal/index-sync.d.ts +11 -0
- package/dist/store/internal/index-sync.d.ts.map +1 -0
- package/dist/store/internal/index-sync.js +26 -0
- package/dist/store/internal/index-sync.js.map +1 -0
- package/dist/store/internal/item-mapper.d.ts +23 -0
- package/dist/store/internal/item-mapper.d.ts.map +1 -0
- package/dist/store/internal/item-mapper.js +51 -0
- package/dist/store/internal/item-mapper.js.map +1 -0
- package/dist/store/internal/keys.d.ts +18 -0
- package/dist/store/internal/keys.d.ts.map +1 -0
- package/dist/store/internal/keys.js +36 -0
- package/dist/store/internal/keys.js.map +1 -0
- package/dist/store/internal/namespace-match.d.ts +12 -0
- package/dist/store/internal/namespace-match.d.ts.map +1 -0
- package/dist/store/internal/namespace-match.js +41 -0
- package/dist/store/internal/namespace-match.js.map +1 -0
- package/dist/store/internal/query.d.ts +6 -0
- package/dist/store/internal/query.d.ts.map +1 -0
- package/dist/store/internal/query.js +32 -0
- package/dist/store/internal/query.js.map +1 -0
- package/dist/store/internal/ranker.d.ts +13 -0
- package/dist/store/internal/ranker.d.ts.map +1 -0
- package/dist/store/internal/ranker.js +29 -0
- package/dist/store/internal/ranker.js.map +1 -0
- package/dist/store/internal/semantic-search.d.ts +13 -0
- package/dist/store/internal/semantic-search.d.ts.map +1 -0
- package/dist/store/internal/semantic-search.js +47 -0
- package/dist/store/internal/semantic-search.js.map +1 -0
- package/dist/store/internal/setup.d.ts +31 -0
- package/dist/store/internal/setup.d.ts.map +1 -0
- package/dist/store/internal/setup.js +29 -0
- package/dist/store/internal/setup.js.map +1 -0
- package/dist/store/internal/validation.d.ts +7 -0
- package/dist/store/internal/validation.d.ts.map +1 -0
- package/dist/store/internal/validation.js +26 -0
- package/dist/store/internal/validation.js.map +1 -0
- package/dist/store/store.d.ts +24 -0
- package/dist/store/store.d.ts.map +1 -0
- package/dist/store/store.js +58 -0
- package/dist/store/store.js.map +1 -0
- package/dist/store/types.d.ts +28 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js +3 -0
- package/dist/store/types.js.map +1 -0
- package/dist/store/vector-backend.d.ts +27 -0
- package/dist/store/vector-backend.d.ts.map +1 -0
- package/dist/store/vector-backend.js +3 -0
- package/dist/store/vector-backend.js.map +1 -0
- package/package.json +32 -30
- package/dist/checkpointer/actions/index.d.ts +0 -5
- package/dist/checkpointer/actions/index.d.ts.map +0 -1
- package/dist/checkpointer/actions/index.js +0 -21
- package/dist/checkpointer/actions/index.js.map +0 -1
- package/dist/checkpointer/actions/validate-configurable.d.ts +0 -10
- package/dist/checkpointer/actions/validate-configurable.d.ts.map +0 -1
- package/dist/checkpointer/actions/validate-configurable.js +0 -39
- package/dist/checkpointer/actions/validate-configurable.js.map +0 -1
- package/dist/checkpointer/actions/writer.d.ts +0 -52
- package/dist/checkpointer/actions/writer.d.ts.map +0 -1
- package/dist/checkpointer/actions/writer.js +0 -109
- package/dist/checkpointer/actions/writer.js.map +0 -1
- package/dist/checkpointer/index.d.ts +0 -118
- package/dist/checkpointer/index.d.ts.map +0 -1
- package/dist/checkpointer/index.js +0 -393
- package/dist/checkpointer/index.js.map +0 -1
- package/dist/checkpointer/types/index.d.ts +0 -232
- package/dist/checkpointer/types/index.d.ts.map +0 -1
- package/dist/checkpointer/types/index.js +0 -13
- package/dist/checkpointer/types/index.js.map +0 -1
- package/dist/checkpointer/utils/deserialization.d.ts +0 -20
- package/dist/checkpointer/utils/deserialization.d.ts.map +0 -1
- package/dist/checkpointer/utils/deserialization.js +0 -81
- package/dist/checkpointer/utils/deserialization.js.map +0 -1
- package/dist/checkpointer/utils/index.d.ts +0 -7
- package/dist/checkpointer/utils/index.d.ts.map +0 -1
- package/dist/checkpointer/utils/index.js +0 -27
- package/dist/checkpointer/utils/index.js.map +0 -1
- package/dist/checkpointer/utils/validation.d.ts +0 -48
- package/dist/checkpointer/utils/validation.d.ts.map +0 -1
- package/dist/checkpointer/utils/validation.js +0 -235
- package/dist/checkpointer/utils/validation.js.map +0 -1
- package/dist/factory.d.ts +0 -153
- package/dist/factory.d.ts.map +0 -1
- package/dist/factory.js +0 -206
- package/dist/factory.js.map +0 -1
- package/dist/history/actions/add-message.d.ts +0 -10
- package/dist/history/actions/add-message.d.ts.map +0 -1
- package/dist/history/actions/add-message.js +0 -24
- package/dist/history/actions/add-message.js.map +0 -1
- package/dist/history/actions/index.d.ts +0 -9
- package/dist/history/actions/index.d.ts.map +0 -1
- package/dist/history/actions/index.js +0 -17
- package/dist/history/actions/index.js.map +0 -1
- package/dist/history/index.d.ts +0 -118
- package/dist/history/index.d.ts.map +0 -1
- package/dist/history/index.js +0 -179
- package/dist/history/index.js.map +0 -1
- package/dist/history/types/index.d.ts +0 -184
- package/dist/history/types/index.d.ts.map +0 -1
- package/dist/history/types/index.js +0 -7
- package/dist/history/types/index.js.map +0 -1
- package/dist/history/utils/index.d.ts +0 -9
- package/dist/history/utils/index.d.ts.map +0 -1
- package/dist/history/utils/index.js +0 -27
- package/dist/history/utils/index.js.map +0 -1
- package/dist/history/utils/optimistic-retry.d.ts +0 -31
- package/dist/history/utils/optimistic-retry.d.ts.map +0 -1
- package/dist/history/utils/optimistic-retry.js +0 -74
- package/dist/history/utils/optimistic-retry.js.map +0 -1
- package/dist/history/utils/title-generator.d.ts +0 -12
- package/dist/history/utils/title-generator.d.ts.map +0 -1
- package/dist/history/utils/title-generator.js +0 -57
- package/dist/history/utils/title-generator.js.map +0 -1
- package/dist/history/utils/update-expression-builder.d.ts +0 -55
- package/dist/history/utils/update-expression-builder.d.ts.map +0 -1
- package/dist/history/utils/update-expression-builder.js +0 -112
- package/dist/history/utils/update-expression-builder.js.map +0 -1
- package/dist/history/utils/validation.d.ts +0 -68
- package/dist/history/utils/validation.d.ts.map +0 -1
- package/dist/history/utils/validation.js +0 -213
- package/dist/history/utils/validation.js.map +0 -1
- package/dist/shared/index.d.ts +0 -5
- package/dist/shared/index.d.ts.map +0 -1
- package/dist/shared/index.js +0 -21
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/utils/batch-write.d.ts +0 -74
- package/dist/shared/utils/batch-write.d.ts.map +0 -1
- package/dist/shared/utils/batch-write.js +0 -110
- package/dist/shared/utils/batch-write.js.map +0 -1
- package/dist/shared/utils/client-factory.d.ts +0 -25
- package/dist/shared/utils/client-factory.d.ts.map +0 -1
- package/dist/shared/utils/client-factory.js +0 -23
- package/dist/shared/utils/client-factory.js.map +0 -1
- package/dist/shared/utils/compressor.d.ts +0 -66
- package/dist/shared/utils/compressor.d.ts.map +0 -1
- package/dist/shared/utils/compressor.js +0 -133
- package/dist/shared/utils/compressor.js.map +0 -1
- package/dist/shared/utils/constants.d.ts +0 -13
- package/dist/shared/utils/constants.d.ts.map +0 -1
- package/dist/shared/utils/constants.js +0 -35
- package/dist/shared/utils/constants.js.map +0 -1
- package/dist/shared/utils/index.d.ts +0 -14
- package/dist/shared/utils/index.d.ts.map +0 -1
- package/dist/shared/utils/index.js +0 -30
- package/dist/shared/utils/index.js.map +0 -1
- package/dist/shared/utils/logger.d.ts +0 -75
- package/dist/shared/utils/logger.d.ts.map +0 -1
- package/dist/shared/utils/logger.js +0 -148
- package/dist/shared/utils/logger.js.map +0 -1
- package/dist/shared/utils/retry.d.ts +0 -26
- package/dist/shared/utils/retry.d.ts.map +0 -1
- package/dist/shared/utils/retry.js +0 -169
- package/dist/shared/utils/retry.js.map +0 -1
- package/dist/shared/utils/s3-offloader.d.ts +0 -153
- package/dist/shared/utils/s3-offloader.d.ts.map +0 -1
- package/dist/shared/utils/s3-offloader.js +0 -281
- package/dist/shared/utils/s3-offloader.js.map +0 -1
- package/dist/shared/utils/s3-orphans.d.ts +0 -16
- package/dist/shared/utils/s3-orphans.d.ts.map +0 -1
- package/dist/shared/utils/s3-orphans.js +0 -79
- package/dist/shared/utils/s3-orphans.js.map +0 -1
- package/dist/shared/utils/sleep.d.ts +0 -48
- package/dist/shared/utils/sleep.d.ts.map +0 -1
- package/dist/shared/utils/sleep.js +0 -82
- package/dist/shared/utils/sleep.js.map +0 -1
- package/dist/shared/utils/ttl.d.ts +0 -24
- package/dist/shared/utils/ttl.d.ts.map +0 -1
- package/dist/shared/utils/ttl.js +0 -43
- package/dist/shared/utils/ttl.js.map +0 -1
- package/dist/store/actions/get-operation.d.ts +0 -11
- package/dist/store/actions/get-operation.d.ts.map +0 -1
- package/dist/store/actions/get-operation.js +0 -42
- package/dist/store/actions/get-operation.js.map +0 -1
- package/dist/store/actions/index.d.ts +0 -5
- package/dist/store/actions/index.d.ts.map +0 -1
- package/dist/store/actions/index.js +0 -21
- package/dist/store/actions/index.js.map +0 -1
- package/dist/store/actions/list-namespaces-operation.d.ts +0 -10
- package/dist/store/actions/list-namespaces-operation.d.ts.map +0 -1
- package/dist/store/actions/list-namespaces-operation.js +0 -227
- package/dist/store/actions/list-namespaces-operation.js.map +0 -1
- package/dist/store/actions/put-operation.d.ts +0 -9
- package/dist/store/actions/put-operation.d.ts.map +0 -1
- package/dist/store/actions/put-operation.js +0 -107
- package/dist/store/actions/put-operation.js.map +0 -1
- package/dist/store/actions/search-operation.d.ts +0 -17
- package/dist/store/actions/search-operation.d.ts.map +0 -1
- package/dist/store/actions/search-operation.js +0 -203
- package/dist/store/actions/search-operation.js.map +0 -1
- package/dist/store/index.d.ts +0 -82
- package/dist/store/index.d.ts.map +0 -1
- package/dist/store/index.js +0 -172
- package/dist/store/index.js.map +0 -1
- package/dist/store/types/index.d.ts +0 -131
- package/dist/store/types/index.d.ts.map +0 -1
- package/dist/store/types/index.js.map +0 -1
- package/dist/store/utils/filter.d.ts +0 -16
- package/dist/store/utils/filter.d.ts.map +0 -1
- package/dist/store/utils/filter.js +0 -133
- package/dist/store/utils/filter.js.map +0 -1
- package/dist/store/utils/index.d.ts +0 -7
- package/dist/store/utils/index.d.ts.map +0 -1
- package/dist/store/utils/index.js +0 -27
- package/dist/store/utils/index.js.map +0 -1
- package/dist/store/utils/validation.d.ts +0 -61
- package/dist/store/utils/validation.d.ts.map +0 -1
- package/dist/store/utils/validation.js +0 -260
- package/dist/store/utils/validation.js.map +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Options controlling {@link withRetry}. */
|
|
2
|
+
export interface RetryOptions {
|
|
3
|
+
maxAttempts?: number;
|
|
4
|
+
baseDelayMs?: number;
|
|
5
|
+
maxDelayMs?: number;
|
|
6
|
+
retryableErrors?: readonly string[];
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
rng?: () => number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Run `fn`, retrying retryable transient errors with full-jitter exponential
|
|
12
|
+
* backoff. Non-retryable errors are re-thrown unchanged; exhaustion throws
|
|
13
|
+
* {@link RetryExhaustedError}; an aborted signal throws {@link AbortError}.
|
|
14
|
+
*/
|
|
15
|
+
export declare function withRetry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
|
|
16
|
+
/** {@link withRetry} preset for DynamoDB operations. */
|
|
17
|
+
export declare function withDynamoDBRetry<T>(fn: () => Promise<T>, overrides?: Partial<RetryOptions>): Promise<T>;
|
|
18
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/shared/dynamodb/retry.ts"],"names":[],"mappings":"AAUA,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AA0BD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAqB/F;AAED,wDAAwD;AACxD,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,OAAO,CAAC,CAAC,CAAC,CAEZ"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withRetry = withRetry;
|
|
4
|
+
exports.withDynamoDBRetry = withDynamoDBRetry;
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const errors_1 = require("../errors/errors");
|
|
7
|
+
const wrap_error_1 = require("../errors/wrap-error");
|
|
8
|
+
const backoff_1 = require("./backoff");
|
|
9
|
+
const retry_classifier_1 = require("./retry-classifier");
|
|
10
|
+
function delayForAttempt(attempt, base, max, rng) {
|
|
11
|
+
const exponential = base * 2 ** (attempt - 1);
|
|
12
|
+
return (0, backoff_1.fullJitter)(Math.min(exponential, max), rng);
|
|
13
|
+
}
|
|
14
|
+
/** Apply defaults to {@link RetryOptions}. */
|
|
15
|
+
function resolveRetryOptions(options) {
|
|
16
|
+
return {
|
|
17
|
+
maxAttempts: options.maxAttempts ?? constants_1.DEFAULT_RETRY_MAX_ATTEMPTS,
|
|
18
|
+
baseDelayMs: options.baseDelayMs ?? constants_1.INITIAL_BACKOFF_DELAY_MS,
|
|
19
|
+
maxDelayMs: options.maxDelayMs ?? constants_1.MAX_BACKOFF_DELAY_MS,
|
|
20
|
+
retryable: options.retryableErrors ?? retry_classifier_1.DEFAULT_RETRYABLE_ERRORS,
|
|
21
|
+
rng: options.rng ?? Math.random,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Run `fn`, retrying retryable transient errors with full-jitter exponential
|
|
26
|
+
* backoff. Non-retryable errors are re-thrown unchanged; exhaustion throws
|
|
27
|
+
* {@link RetryExhaustedError}; an aborted signal throws {@link AbortError}.
|
|
28
|
+
*/
|
|
29
|
+
async function withRetry(fn, options = {}) {
|
|
30
|
+
const { maxAttempts, baseDelayMs, maxDelayMs, retryable, rng } = resolveRetryOptions(options);
|
|
31
|
+
if (options.signal?.aborted)
|
|
32
|
+
throw new errors_1.AbortError();
|
|
33
|
+
let lastError = new Error('Retry failed without error');
|
|
34
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
35
|
+
try {
|
|
36
|
+
return await fn();
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
lastError = (0, wrap_error_1.toError)(error);
|
|
40
|
+
if (!(0, retry_classifier_1.isRetryableError)(lastError, retryable))
|
|
41
|
+
throw lastError;
|
|
42
|
+
if (attempt === maxAttempts)
|
|
43
|
+
break;
|
|
44
|
+
await (0, backoff_1.sleep)(delayForAttempt(attempt, baseDelayMs, maxDelayMs, rng), options.signal);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
throw new errors_1.RetryExhaustedError(`Operation failed after ${maxAttempts} attempts: ${lastError.message}`, maxAttempts, lastError);
|
|
48
|
+
}
|
|
49
|
+
/** {@link withRetry} preset for DynamoDB operations. */
|
|
50
|
+
async function withDynamoDBRetry(fn, overrides) {
|
|
51
|
+
return withRetry(fn, { maxAttempts: constants_1.DEFAULT_RETRY_MAX_ATTEMPTS, ...overrides });
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/retry.ts"],"names":[],"mappings":";;AAiDA,8BAqBC;AAGD,8CAKC;AA9ED,4CAIsB;AACtB,6CAAmE;AACnE,qDAA+C;AAC/C,uCAA8C;AAC9C,yDAAgF;AAYhF,SAAS,eAAe,CAAC,OAAe,EAAE,IAAY,EAAE,GAAW,EAAE,GAAiB;IACpF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC9C,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAUD,8CAA8C;AAC9C,SAAS,mBAAmB,CAAC,OAAqB;IAChD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,sCAA0B;QAC9D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,oCAAwB;QAC5D,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,gCAAoB;QACtD,SAAS,EAAE,OAAO,CAAC,eAAe,IAAI,2CAAwB;QAC9D,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,SAAS,CAAI,EAAoB,EAAE,UAAwB,EAAE;IACjF,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE9F,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,MAAM,IAAI,mBAAU,EAAE,CAAC;IAEpD,IAAI,SAAS,GAAU,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC/D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,IAAA,oBAAO,EAAC,KAAc,CAAC,CAAC;YACpC,IAAI,CAAC,IAAA,mCAAgB,EAAC,SAAS,EAAE,SAAS,CAAC;gBAAE,MAAM,SAAS,CAAC;YAC7D,IAAI,OAAO,KAAK,WAAW;gBAAE,MAAM;YACnC,MAAM,IAAA,eAAK,EAAC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,MAAM,IAAI,4BAAmB,CAC3B,0BAA0B,WAAW,cAAc,SAAS,CAAC,OAAO,EAAE,EACtE,WAAW,EACX,SAAS,CACV,CAAC;AACJ,CAAC;AAED,wDAAwD;AACjD,KAAK,UAAU,iBAAiB,CACrC,EAAoB,EACpB,SAAiC;IAEjC,OAAO,SAAS,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,sCAA0B,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DynamoDBDocument, ScanCommandInput } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
import { type PaginateCoreOptions } from './paginate-core';
|
|
3
|
+
import type { DocItem } from './types';
|
|
4
|
+
/** Options for {@link paginateScan}. */
|
|
5
|
+
export interface ScanOptions extends PaginateCoreOptions {
|
|
6
|
+
client: DynamoDBDocument;
|
|
7
|
+
params: ScanCommandInput;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Drive a DynamoDB Scan across all pages, yielding each item. Shares the
|
|
11
|
+
* pagination core with {@link paginateQuery}: abort handling, retry per page,
|
|
12
|
+
* and runaway guards.
|
|
13
|
+
*/
|
|
14
|
+
export declare function paginateScan(options: ScanOptions): AsyncGenerator<DocItem>;
|
|
15
|
+
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/shared/dynamodb/scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,KAAK,mBAAmB,EAAiB,MAAM,iBAAiB,CAAC;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,wCAAwC;AACxC,MAAM,WAAW,WAAY,SAAQ,mBAAmB;IACtD,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAW1E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.paginateScan = paginateScan;
|
|
4
|
+
const paginate_core_1 = require("./paginate-core");
|
|
5
|
+
const retry_1 = require("./retry");
|
|
6
|
+
/**
|
|
7
|
+
* Drive a DynamoDB Scan across all pages, yielding each item. Shares the
|
|
8
|
+
* pagination core with {@link paginateQuery}: abort handling, retry per page,
|
|
9
|
+
* and runaway guards.
|
|
10
|
+
*/
|
|
11
|
+
function paginateScan(options) {
|
|
12
|
+
return (0, paginate_core_1.paginatePages)(async (startKey) => {
|
|
13
|
+
const page = await (0, retry_1.withDynamoDBRetry)(() => options.client.scan({ ...options.params, ExclusiveStartKey: startKey }), { signal: options.signal });
|
|
14
|
+
return {
|
|
15
|
+
items: page.Items ?? [],
|
|
16
|
+
lastKey: page.LastEvaluatedKey,
|
|
17
|
+
};
|
|
18
|
+
}, options);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/scan.ts"],"names":[],"mappings":";;AAiBA,oCAWC;AA1BD,mDAA0E;AAC1E,mCAA4C;AAS5C;;;;GAIG;AACH,SAAgB,YAAY,CAAC,OAAoB;IAC/C,OAAO,IAAA,6BAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAiB,EAClC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,EAC7E,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC3B,CAAC;QACF,OAAO;YACL,KAAK,EAAG,IAAI,CAAC,KAA+B,IAAI,EAAE;YAClD,OAAO,EAAE,IAAI,CAAC,gBAAuC;SACtD,CAAC;IACJ,CAAC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { NativeAttributeValue } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
/**
|
|
3
|
+
* A DynamoDB item as returned/accepted by the DocumentClient. Reads that we
|
|
4
|
+
* wrote ourselves are narrowed with a single structural `as` at the mapper
|
|
5
|
+
* boundary (never `as any`/`as unknown`); untrusted shared-table scans go
|
|
6
|
+
* through `narrowStoreRecord`.
|
|
7
|
+
*/
|
|
8
|
+
export type DocItem = Record<string, NativeAttributeValue>;
|
|
9
|
+
/** A BatchWriteItem PutRequest. */
|
|
10
|
+
interface PutWriteRequest {
|
|
11
|
+
PutRequest: {
|
|
12
|
+
Item: DocItem;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** A BatchWriteItem DeleteRequest. */
|
|
16
|
+
export interface DeleteWriteRequest {
|
|
17
|
+
DeleteRequest: {
|
|
18
|
+
Key: DocItem;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** A single BatchWriteItem write request. */
|
|
22
|
+
export type WriteRequest = PutWriteRequest | DeleteWriteRequest;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/dynamodb/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAE3D,mCAAmC;AACnC,UAAU,eAAe;IACvB,UAAU,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CAC/B;AAED,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;CACjC;AAED,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ErrorCode } from './error-code';
|
|
2
|
+
/** Structured, log-safe context attached to every library error. */
|
|
3
|
+
export interface ErrorContext {
|
|
4
|
+
tableName?: string;
|
|
5
|
+
operation?: string;
|
|
6
|
+
key?: string;
|
|
7
|
+
attempts?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Base class for every error this library throws. Carries a branchable
|
|
11
|
+
* {@link ErrorCode}, structured {@link ErrorContext}, and a native `cause`
|
|
12
|
+
* chain. Detected via {@link isDynamoDbLangGraphError} (a symbol brand) rather
|
|
13
|
+
* than `instanceof`, which is banned repo-wide.
|
|
14
|
+
*/
|
|
15
|
+
export declare class DynamoDbLangGraphError extends Error {
|
|
16
|
+
readonly code: ErrorCode;
|
|
17
|
+
readonly context: ErrorContext;
|
|
18
|
+
constructor(message: string, code: ErrorCode, context?: ErrorContext, cause?: Error);
|
|
19
|
+
}
|
|
20
|
+
/** True when `value` is a {@link DynamoDbLangGraphError}, detected by brand. */
|
|
21
|
+
export declare function isDynamoDbLangGraphError(value: Error): value is DynamoDbLangGraphError;
|
|
22
|
+
//# sourceMappingURL=base-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-error.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/base-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,YAAiB,EAAE,KAAK,CAAC,EAAE,KAAK;CAOxF;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,sBAAsB,CAEtF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DynamoDbLangGraphError = void 0;
|
|
4
|
+
exports.isDynamoDbLangGraphError = isDynamoDbLangGraphError;
|
|
5
|
+
const ERROR_BRAND = Symbol.for('@farukada/aws-langgraph-dynamodb-ts/error');
|
|
6
|
+
/**
|
|
7
|
+
* Base class for every error this library throws. Carries a branchable
|
|
8
|
+
* {@link ErrorCode}, structured {@link ErrorContext}, and a native `cause`
|
|
9
|
+
* chain. Detected via {@link isDynamoDbLangGraphError} (a symbol brand) rather
|
|
10
|
+
* than `instanceof`, which is banned repo-wide.
|
|
11
|
+
*/
|
|
12
|
+
class DynamoDbLangGraphError extends Error {
|
|
13
|
+
code;
|
|
14
|
+
context;
|
|
15
|
+
constructor(message, code, context = {}, cause) {
|
|
16
|
+
super(message, cause === undefined ? undefined : { cause });
|
|
17
|
+
this.name = 'DynamoDbLangGraphError';
|
|
18
|
+
this.code = code;
|
|
19
|
+
this.context = context;
|
|
20
|
+
Object.defineProperty(this, ERROR_BRAND, { value: true, enumerable: false });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.DynamoDbLangGraphError = DynamoDbLangGraphError;
|
|
24
|
+
/** True when `value` is a {@link DynamoDbLangGraphError}, detected by brand. */
|
|
25
|
+
function isDynamoDbLangGraphError(value) {
|
|
26
|
+
return ERROR_BRAND in value;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=base-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-error.js","sourceRoot":"","sources":["../../../src/shared/errors/base-error.ts"],"names":[],"mappings":";;;AAgCA,4DAEC;AAhCD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;AAU5E;;;;;GAKG;AACH,MAAa,sBAAuB,SAAQ,KAAK;IACtC,IAAI,CAAY;IAChB,OAAO,CAAe;IAE/B,YAAY,OAAe,EAAE,IAAe,EAAE,UAAwB,EAAE,EAAE,KAAa;QACrF,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;CACF;AAXD,wDAWC;AAED,gFAAgF;AAChF,SAAgB,wBAAwB,CAAC,KAAY;IACnD,OAAO,WAAW,IAAI,KAAK,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Stable, branchable classification for every error this library throws. */
|
|
2
|
+
export declare enum ErrorCode {
|
|
3
|
+
VALIDATION = "VALIDATION",
|
|
4
|
+
CONDITION_CONFLICT = "CONDITION_CONFLICT",
|
|
5
|
+
RETRY_EXHAUSTED = "RETRY_EXHAUSTED",
|
|
6
|
+
BATCH_WRITE_INCOMPLETE = "BATCH_WRITE_INCOMPLETE",
|
|
7
|
+
COMPRESSION_LIMIT = "COMPRESSION_LIMIT",
|
|
8
|
+
S3_OFFLOAD_FAILED = "S3_OFFLOAD_FAILED",
|
|
9
|
+
RESULT_TRUNCATED = "RESULT_TRUNCATED",
|
|
10
|
+
ABORTED = "ABORTED",
|
|
11
|
+
COMPENSATION_FAILED = "COMPENSATION_FAILED"
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=error-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-code.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/error-code.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,oBAAY,SAAS;IACnB,UAAU,eAAe;IACzB,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,sBAAsB,2BAA2B;IACjD,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;IACnB,mBAAmB,wBAAwB;CAC5C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorCode = void 0;
|
|
4
|
+
/** Stable, branchable classification for every error this library throws. */
|
|
5
|
+
var ErrorCode;
|
|
6
|
+
(function (ErrorCode) {
|
|
7
|
+
ErrorCode["VALIDATION"] = "VALIDATION";
|
|
8
|
+
ErrorCode["CONDITION_CONFLICT"] = "CONDITION_CONFLICT";
|
|
9
|
+
ErrorCode["RETRY_EXHAUSTED"] = "RETRY_EXHAUSTED";
|
|
10
|
+
ErrorCode["BATCH_WRITE_INCOMPLETE"] = "BATCH_WRITE_INCOMPLETE";
|
|
11
|
+
ErrorCode["COMPRESSION_LIMIT"] = "COMPRESSION_LIMIT";
|
|
12
|
+
ErrorCode["S3_OFFLOAD_FAILED"] = "S3_OFFLOAD_FAILED";
|
|
13
|
+
ErrorCode["RESULT_TRUNCATED"] = "RESULT_TRUNCATED";
|
|
14
|
+
ErrorCode["ABORTED"] = "ABORTED";
|
|
15
|
+
ErrorCode["COMPENSATION_FAILED"] = "COMPENSATION_FAILED";
|
|
16
|
+
})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
|
|
17
|
+
//# sourceMappingURL=error-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-code.js","sourceRoot":"","sources":["../../../src/shared/errors/error-code.ts"],"names":[],"mappings":";;;AAAA,6EAA6E;AAC7E,IAAY,SAUX;AAVD,WAAY,SAAS;IACnB,sCAAyB,CAAA;IACzB,sDAAyC,CAAA;IACzC,gDAAmC,CAAA;IACnC,8DAAiD,CAAA;IACjD,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,kDAAqC,CAAA;IACrC,gCAAmB,CAAA;IACnB,wDAA2C,CAAA;AAC7C,CAAC,EAVW,SAAS,yBAAT,SAAS,QAUpB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { WriteRequest } from '../dynamodb/types';
|
|
2
|
+
import { DynamoDbLangGraphError } from './base-error';
|
|
3
|
+
/** Input failed a validation rule before any AWS call was made. */
|
|
4
|
+
export declare class ValidationError extends DynamoDbLangGraphError {
|
|
5
|
+
constructor(message: string, field?: string);
|
|
6
|
+
}
|
|
7
|
+
/** A conditional write failed because the precondition no longer holds. */
|
|
8
|
+
export declare class ConflictError extends DynamoDbLangGraphError {
|
|
9
|
+
constructor(message: string, cause?: Error);
|
|
10
|
+
}
|
|
11
|
+
/** A retried operation exhausted its attempt budget. */
|
|
12
|
+
export declare class RetryExhaustedError extends DynamoDbLangGraphError {
|
|
13
|
+
constructor(message: string, attempts?: number, cause?: Error);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A paginated read hit its runaway guard (item or iteration cap) while more
|
|
17
|
+
* data remained, so the result would have been silently truncated. Narrow the
|
|
18
|
+
* query (filter/prefix) or raise the cap rather than trusting a partial result.
|
|
19
|
+
*/
|
|
20
|
+
export declare class ResultTruncatedError extends DynamoDbLangGraphError {
|
|
21
|
+
constructor(cap: string, limit: number);
|
|
22
|
+
}
|
|
23
|
+
/** An operation was cancelled via its AbortSignal. */
|
|
24
|
+
export declare class AbortError extends DynamoDbLangGraphError {
|
|
25
|
+
constructor(message?: string);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A BatchWriteItem sequence could not drain its UnprocessedItems. Items NOT
|
|
29
|
+
* listed in {@link unprocessed} were acked by DynamoDB and persist — there is
|
|
30
|
+
* no rollback (drive reconciliation from `unprocessed`).
|
|
31
|
+
*/
|
|
32
|
+
export declare class BatchWriteIncompleteError extends DynamoDbLangGraphError {
|
|
33
|
+
readonly succeededCount: number;
|
|
34
|
+
readonly unprocessed: WriteRequest[];
|
|
35
|
+
constructor(succeededCount: number, unprocessed: WriteRequest[], retries: number);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A compensating rollback failed after an append-saga chunk error, so the
|
|
39
|
+
* trigger error could not be cleanly undone. Carries the original trigger as
|
|
40
|
+
* `cause` and the rollback failure as {@link rollbackError}; the session's
|
|
41
|
+
* `messageCount` may have drifted — repair it with `reconcileMessageCount`.
|
|
42
|
+
*/
|
|
43
|
+
export declare class CompensationFailedError extends DynamoDbLangGraphError {
|
|
44
|
+
readonly rollbackError: Error;
|
|
45
|
+
constructor(cause: Error, rollbackError: Error);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,mEAAmE;AACnE,qBAAa,eAAgB,SAAQ,sBAAsB;gBAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAI5C;AAED,2EAA2E;AAC3E,qBAAa,aAAc,SAAQ,sBAAsB;gBAC3C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAI3C;AAED,wDAAwD;AACxD,qBAAa,mBAAoB,SAAQ,sBAAsB;gBACjD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAI9D;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,sBAAsB;gBAClD,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAQvC;AAED,sDAAsD;AACtD,qBAAa,UAAW,SAAQ,sBAAsB;gBACxC,OAAO,SAAsB;CAI1C;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IACnE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;gBAEzB,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM;CAUjF;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,sBAAsB;IACjE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;gBAElB,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK;CAU/C"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CompensationFailedError = exports.BatchWriteIncompleteError = exports.AbortError = exports.ResultTruncatedError = exports.RetryExhaustedError = exports.ConflictError = exports.ValidationError = void 0;
|
|
4
|
+
const base_error_1 = require("./base-error");
|
|
5
|
+
const error_code_1 = require("./error-code");
|
|
6
|
+
/** Input failed a validation rule before any AWS call was made. */
|
|
7
|
+
class ValidationError extends base_error_1.DynamoDbLangGraphError {
|
|
8
|
+
constructor(message, field) {
|
|
9
|
+
super(message, error_code_1.ErrorCode.VALIDATION, field === undefined ? {} : { operation: field });
|
|
10
|
+
this.name = 'ValidationError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.ValidationError = ValidationError;
|
|
14
|
+
/** A conditional write failed because the precondition no longer holds. */
|
|
15
|
+
class ConflictError extends base_error_1.DynamoDbLangGraphError {
|
|
16
|
+
constructor(message, cause) {
|
|
17
|
+
super(message, error_code_1.ErrorCode.CONDITION_CONFLICT, {}, cause);
|
|
18
|
+
this.name = 'ConflictError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.ConflictError = ConflictError;
|
|
22
|
+
/** A retried operation exhausted its attempt budget. */
|
|
23
|
+
class RetryExhaustedError extends base_error_1.DynamoDbLangGraphError {
|
|
24
|
+
constructor(message, attempts, cause) {
|
|
25
|
+
super(message, error_code_1.ErrorCode.RETRY_EXHAUSTED, attempts === undefined ? {} : { attempts }, cause);
|
|
26
|
+
this.name = 'RetryExhaustedError';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.RetryExhaustedError = RetryExhaustedError;
|
|
30
|
+
/**
|
|
31
|
+
* A paginated read hit its runaway guard (item or iteration cap) while more
|
|
32
|
+
* data remained, so the result would have been silently truncated. Narrow the
|
|
33
|
+
* query (filter/prefix) or raise the cap rather than trusting a partial result.
|
|
34
|
+
*/
|
|
35
|
+
class ResultTruncatedError extends base_error_1.DynamoDbLangGraphError {
|
|
36
|
+
constructor(cap, limit) {
|
|
37
|
+
super(`paginated read truncated at the ${cap} cap (${limit}) with more data remaining`, error_code_1.ErrorCode.RESULT_TRUNCATED, { operation: cap });
|
|
38
|
+
this.name = 'ResultTruncatedError';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ResultTruncatedError = ResultTruncatedError;
|
|
42
|
+
/** An operation was cancelled via its AbortSignal. */
|
|
43
|
+
class AbortError extends base_error_1.DynamoDbLangGraphError {
|
|
44
|
+
constructor(message = 'Operation aborted') {
|
|
45
|
+
super(message, error_code_1.ErrorCode.ABORTED);
|
|
46
|
+
this.name = 'AbortError';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.AbortError = AbortError;
|
|
50
|
+
/**
|
|
51
|
+
* A BatchWriteItem sequence could not drain its UnprocessedItems. Items NOT
|
|
52
|
+
* listed in {@link unprocessed} were acked by DynamoDB and persist — there is
|
|
53
|
+
* no rollback (drive reconciliation from `unprocessed`).
|
|
54
|
+
*/
|
|
55
|
+
class BatchWriteIncompleteError extends base_error_1.DynamoDbLangGraphError {
|
|
56
|
+
succeededCount;
|
|
57
|
+
unprocessed;
|
|
58
|
+
constructor(succeededCount, unprocessed, retries) {
|
|
59
|
+
super(`batchWrite did not drain after ${retries} UnprocessedItems retries: ` +
|
|
60
|
+
`${succeededCount} item(s) persisted, ${unprocessed.length} still un-acked.`, error_code_1.ErrorCode.BATCH_WRITE_INCOMPLETE);
|
|
61
|
+
this.name = 'BatchWriteIncompleteError';
|
|
62
|
+
this.succeededCount = succeededCount;
|
|
63
|
+
this.unprocessed = unprocessed;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.BatchWriteIncompleteError = BatchWriteIncompleteError;
|
|
67
|
+
/**
|
|
68
|
+
* A compensating rollback failed after an append-saga chunk error, so the
|
|
69
|
+
* trigger error could not be cleanly undone. Carries the original trigger as
|
|
70
|
+
* `cause` and the rollback failure as {@link rollbackError}; the session's
|
|
71
|
+
* `messageCount` may have drifted — repair it with `reconcileMessageCount`.
|
|
72
|
+
*/
|
|
73
|
+
class CompensationFailedError extends base_error_1.DynamoDbLangGraphError {
|
|
74
|
+
rollbackError;
|
|
75
|
+
constructor(cause, rollbackError) {
|
|
76
|
+
super(`compensation failed after an append error: ${cause.message} (rollback: ${rollbackError.message})`, error_code_1.ErrorCode.COMPENSATION_FAILED, {}, cause);
|
|
77
|
+
this.name = 'CompensationFailedError';
|
|
78
|
+
this.rollbackError = rollbackError;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.CompensationFailedError = CompensationFailedError;
|
|
82
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors/errors.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AACtD,6CAAyC;AAEzC,mEAAmE;AACnE,MAAa,eAAgB,SAAQ,mCAAsB;IACzD,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,sBAAS,CAAC,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAED,2EAA2E;AAC3E,MAAa,aAAc,SAAQ,mCAAsB;IACvD,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,EAAE,sBAAS,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED,wDAAwD;AACxD,MAAa,mBAAoB,SAAQ,mCAAsB;IAC7D,YAAY,OAAe,EAAE,QAAiB,EAAE,KAAa;QAC3D,KAAK,CAAC,OAAO,EAAE,sBAAS,CAAC,eAAe,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7F,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED;;;;GAIG;AACH,MAAa,oBAAqB,SAAQ,mCAAsB;IAC9D,YAAY,GAAW,EAAE,KAAa;QACpC,KAAK,CACH,mCAAmC,GAAG,SAAS,KAAK,4BAA4B,EAChF,sBAAS,CAAC,gBAAgB,EAC1B,EAAE,SAAS,EAAE,GAAG,EAAE,CACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AATD,oDASC;AAED,sDAAsD;AACtD,MAAa,UAAW,SAAQ,mCAAsB;IACpD,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,sBAAS,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AALD,gCAKC;AAED;;;;GAIG;AACH,MAAa,yBAA0B,SAAQ,mCAAsB;IAC1D,cAAc,CAAS;IACvB,WAAW,CAAiB;IAErC,YAAY,cAAsB,EAAE,WAA2B,EAAE,OAAe;QAC9E,KAAK,CACH,kCAAkC,OAAO,6BAA6B;YACpE,GAAG,cAAc,uBAAuB,WAAW,CAAC,MAAM,kBAAkB,EAC9E,sBAAS,CAAC,sBAAsB,CACjC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAdD,8DAcC;AAED;;;;;GAKG;AACH,MAAa,uBAAwB,SAAQ,mCAAsB;IACxD,aAAa,CAAQ;IAE9B,YAAY,KAAY,EAAE,aAAoB;QAC5C,KAAK,CACH,8CAA8C,KAAK,CAAC,OAAO,eAAe,aAAa,CAAC,OAAO,GAAG,EAClG,sBAAS,CAAC,mBAAmB,EAC7B,EAAE,EACF,KAAK,CACN,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AAbD,0DAaC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DynamoDbLangGraphError, ErrorContext } from './base-error';
|
|
2
|
+
import { ErrorCode } from './error-code';
|
|
3
|
+
/**
|
|
4
|
+
* Normalize a caught value (TypeScript types catch clauses as the implicit
|
|
5
|
+
* unknown) into an `Error`. Error-shaped values pass through; anything else is
|
|
6
|
+
* stringified into a fresh `Error`. This is the boundary where caught values
|
|
7
|
+
* are narrowed — callers do `toError(error as Error)`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function toError(value: Error): Error;
|
|
10
|
+
/**
|
|
11
|
+
* Wrap a raw error in a coded {@link DynamoDbLangGraphError} with structured
|
|
12
|
+
* context, preserving the original as `cause`. Already-coded errors are
|
|
13
|
+
* returned unchanged so codes assigned closer to the failure win.
|
|
14
|
+
*/
|
|
15
|
+
export declare function wrapError(cause: Error, code: ErrorCode, context?: ErrorContext): DynamoDbLangGraphError;
|
|
16
|
+
//# sourceMappingURL=wrap-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-error.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/wrap-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAA4B,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAK3C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,YAAY,GACrB,sBAAsB,CAMxB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toError = toError;
|
|
4
|
+
exports.wrapError = wrapError;
|
|
5
|
+
const base_error_1 = require("./base-error");
|
|
6
|
+
/**
|
|
7
|
+
* Normalize a caught value (TypeScript types catch clauses as the implicit
|
|
8
|
+
* unknown) into an `Error`. Error-shaped values pass through; anything else is
|
|
9
|
+
* stringified into a fresh `Error`. This is the boundary where caught values
|
|
10
|
+
* are narrowed — callers do `toError(error as Error)`.
|
|
11
|
+
*/
|
|
12
|
+
function toError(value) {
|
|
13
|
+
if (value !== null && typeof value === 'object' && typeof value.message === 'string') {
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
return new Error(typeof value === 'string' ? value : JSON.stringify(value));
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Wrap a raw error in a coded {@link DynamoDbLangGraphError} with structured
|
|
20
|
+
* context, preserving the original as `cause`. Already-coded errors are
|
|
21
|
+
* returned unchanged so codes assigned closer to the failure win.
|
|
22
|
+
*/
|
|
23
|
+
function wrapError(cause, code, context) {
|
|
24
|
+
const normalized = toError(cause);
|
|
25
|
+
if ((0, base_error_1.isDynamoDbLangGraphError)(normalized)) {
|
|
26
|
+
return normalized;
|
|
27
|
+
}
|
|
28
|
+
return new base_error_1.DynamoDbLangGraphError(normalized.message, code, context ?? {}, normalized);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=wrap-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-error.js","sourceRoot":"","sources":["../../../src/shared/errors/wrap-error.ts"],"names":[],"mappings":";;AASA,0BAKC;AAOD,8BAUC;AA/BD,6CAA8F;AAG9F;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,KAAY;IAClC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CACvB,KAAY,EACZ,IAAe,EACf,OAAsB;IAEtB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,IAAA,qCAAwB,EAAC,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,mCAAsB,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;AACzF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** A value safe to pass as a structured log argument. */
|
|
2
|
+
export type LogArgument = string | number | boolean | null | object;
|
|
3
|
+
/** Pluggable logging interface — consumers supply their own implementation. */
|
|
4
|
+
export interface Logger {
|
|
5
|
+
info(message: string, ...args: LogArgument[]): void;
|
|
6
|
+
warn(message: string, ...args: LogArgument[]): void;
|
|
7
|
+
error(message: string, ...args: LogArgument[]): void;
|
|
8
|
+
debug(message: string, ...args: LogArgument[]): void;
|
|
9
|
+
}
|
|
10
|
+
/** Default logger: discards everything. Inject a real logger to enable output. */
|
|
11
|
+
export declare const SILENT_LOGGER: Logger;
|
|
12
|
+
/** Return the injected logger, or {@link SILENT_LOGGER} when none is given. */
|
|
13
|
+
export declare function resolveLogger(logger?: Logger): Logger;
|
|
14
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/shared/logging/logger.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAEpE,+EAA+E;AAC/E,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACpD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACrD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CACtD;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,EAAE,MAK3B,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SILENT_LOGGER = void 0;
|
|
4
|
+
exports.resolveLogger = resolveLogger;
|
|
5
|
+
/** Default logger: discards everything. Inject a real logger to enable output. */
|
|
6
|
+
exports.SILENT_LOGGER = {
|
|
7
|
+
info() { },
|
|
8
|
+
warn() { },
|
|
9
|
+
error() { },
|
|
10
|
+
debug() { },
|
|
11
|
+
};
|
|
12
|
+
/** Return the injected logger, or {@link SILENT_LOGGER} when none is given. */
|
|
13
|
+
function resolveLogger(logger) {
|
|
14
|
+
return logger ?? exports.SILENT_LOGGER;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/shared/logging/logger.ts"],"names":[],"mappings":";;;AAoBA,sCAEC;AAXD,kFAAkF;AACrE,QAAA,aAAa,GAAW;IACnC,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;IACV,KAAK,KAAI,CAAC;CACX,CAAC;AAEF,+EAA+E;AAC/E,SAAgB,aAAa,CAAC,MAAe;IAC3C,OAAO,MAAM,IAAI,qBAAa,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Logger } from './logger';
|
|
2
|
+
/** A value that {@link redactSecrets} can recurse through. */
|
|
3
|
+
export type Redactable = string | number | boolean | null | undefined | Redactable[] | {
|
|
4
|
+
[key: string]: Redactable;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Recursively clone `value`, replacing any value at a secret-looking key with
|
|
8
|
+
* `[REDACTED]`. Cycles become `[Circular]`. Error objects are passed through so
|
|
9
|
+
* stack traces survive. Does not mutate the input.
|
|
10
|
+
*/
|
|
11
|
+
export declare function redactSecrets(value: Redactable, patterns?: readonly string[]): Redactable;
|
|
12
|
+
/**
|
|
13
|
+
* Wrap a logger so object args are redacted before delegation. The message
|
|
14
|
+
* string is passed through unchanged (never interpolate secrets into it).
|
|
15
|
+
*/
|
|
16
|
+
export declare function redactLogger(inner: Logger, options?: {
|
|
17
|
+
extraKeys?: readonly string[];
|
|
18
|
+
}): Logger;
|
|
19
|
+
//# sourceMappingURL=redaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../../src/shared/logging/redaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,MAAM,EAAE,MAAM,UAAU,CAAC;AAEpD,8DAA8D;AAC9D,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,UAAU,EAAE,GACZ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC;AA2BlC;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,SAAS,MAAM,EAAgC,GACxD,UAAU,CAeZ;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GAC9C,MAAM,CAYR"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redactSecrets = redactSecrets;
|
|
4
|
+
exports.redactLogger = redactLogger;
|
|
5
|
+
const DEFAULT_SECRET_KEY_PATTERNS = [
|
|
6
|
+
'accesskey',
|
|
7
|
+
'secretkey',
|
|
8
|
+
'secret',
|
|
9
|
+
'sessiontoken',
|
|
10
|
+
'securitytoken',
|
|
11
|
+
'authorization',
|
|
12
|
+
'password',
|
|
13
|
+
'apikey',
|
|
14
|
+
'bearer',
|
|
15
|
+
'token',
|
|
16
|
+
'privatekey',
|
|
17
|
+
];
|
|
18
|
+
const REDACTED = '[REDACTED]';
|
|
19
|
+
function isSecretKey(key, patterns) {
|
|
20
|
+
const lower = key.toLowerCase();
|
|
21
|
+
return patterns.some((pattern) => lower.includes(pattern));
|
|
22
|
+
}
|
|
23
|
+
function isErrorShaped(value) {
|
|
24
|
+
return Object.prototype.toString.call(value) === '[object Error]';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Recursively clone `value`, replacing any value at a secret-looking key with
|
|
28
|
+
* `[REDACTED]`. Cycles become `[Circular]`. Error objects are passed through so
|
|
29
|
+
* stack traces survive. Does not mutate the input.
|
|
30
|
+
*/
|
|
31
|
+
function redactSecrets(value, patterns = DEFAULT_SECRET_KEY_PATTERNS) {
|
|
32
|
+
const seen = new WeakSet();
|
|
33
|
+
const walk = (current) => {
|
|
34
|
+
if (current === null || typeof current !== 'object')
|
|
35
|
+
return current;
|
|
36
|
+
if (seen.has(current))
|
|
37
|
+
return '[Circular]';
|
|
38
|
+
seen.add(current);
|
|
39
|
+
if (Array.isArray(current))
|
|
40
|
+
return current.map(walk);
|
|
41
|
+
if (isErrorShaped(current))
|
|
42
|
+
return current;
|
|
43
|
+
const out = {};
|
|
44
|
+
for (const [key, val] of Object.entries(current)) {
|
|
45
|
+
out[key] = isSecretKey(key, patterns) ? REDACTED : walk(val);
|
|
46
|
+
}
|
|
47
|
+
return out;
|
|
48
|
+
};
|
|
49
|
+
return walk(value);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Wrap a logger so object args are redacted before delegation. The message
|
|
53
|
+
* string is passed through unchanged (never interpolate secrets into it).
|
|
54
|
+
*/
|
|
55
|
+
function redactLogger(inner, options = {}) {
|
|
56
|
+
const patterns = options.extraKeys
|
|
57
|
+
? [...DEFAULT_SECRET_KEY_PATTERNS, ...options.extraKeys.map((key) => key.toLowerCase())]
|
|
58
|
+
: DEFAULT_SECRET_KEY_PATTERNS;
|
|
59
|
+
const wrap = (args) => args.map((arg) => redactSecrets(arg, patterns));
|
|
60
|
+
return {
|
|
61
|
+
info: (message, ...args) => inner.info(message, ...wrap(args)),
|
|
62
|
+
warn: (message, ...args) => inner.warn(message, ...wrap(args)),
|
|
63
|
+
error: (message, ...args) => inner.error(message, ...wrap(args)),
|
|
64
|
+
debug: (message, ...args) => inner.debug(message, ...wrap(args)),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=redaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../../../src/shared/logging/redaction.ts"],"names":[],"mappings":";;AA0CA,sCAkBC;AAMD,oCAeC;AArED,MAAM,2BAA2B,GAAsB;IACrD,WAAW;IACX,WAAW;IACX,QAAQ;IACR,cAAc;IACd,eAAe;IACf,eAAe;IACf,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,YAAY;CACb,CAAC;AAEF,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B,SAAS,WAAW,CAAC,GAAW,EAAE,QAA2B;IAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,gBAAgB,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAC3B,KAAiB,EACjB,WAA8B,2BAA2B;IAEzD,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,OAAmB,EAAc,EAAE;QAC/C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC;QACpE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,YAAY,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,aAAa,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC3C,MAAM,GAAG,GAAkC,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,UAA6C,EAAE;IAE/C,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS;QAChC,CAAC,CAAC,CAAC,GAAG,2BAA2B,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,2BAA2B,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,IAAmB,EAAiB,EAAE,CAClD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAiB,EAAE,QAAQ,CAAgB,CAAC,CAAC;IAC/E,OAAO;QACL,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC"}
|