@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
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* DynamoDB filter expression builder utilities
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.buildFilterExpression = buildFilterExpression;
|
|
7
|
-
const SUPPORTED_OPERATORS = ['$eq', '$ne', '$gt', '$gte', '$lt', '$lte', '$in', '$nin'];
|
|
8
|
-
/**
|
|
9
|
-
* Maximum array size for `$in` / `$nin` operators.
|
|
10
|
-
*
|
|
11
|
-
* DynamoDB caps the total ExpressionAttributeValues count at 100 per expression
|
|
12
|
-
* and condition-/filter-expression length at 4 KB. 50 items per list keeps headroom
|
|
13
|
-
* for other conditions in the same expression and produces predictable error
|
|
14
|
-
* messages instead of the opaque `ValidationException` DynamoDB returns when the
|
|
15
|
-
* expression limits are breached.
|
|
16
|
-
*/
|
|
17
|
-
const MAX_IN_LIST_SIZE = 50;
|
|
18
|
-
/**
|
|
19
|
-
* Soft cap on the assembled FilterExpression string length. DynamoDB rejects
|
|
20
|
-
* expressions longer than 4 KiB with a `ValidationException`. We check at 3.5 KiB
|
|
21
|
-
* so we trip a clean, client-side error with actionable guidance before the
|
|
22
|
-
* request burns a round trip.
|
|
23
|
-
*/
|
|
24
|
-
const MAX_FILTER_EXPRESSION_BYTES = 3.5 * 1024;
|
|
25
|
-
/**
|
|
26
|
-
* Build DynamoDB filter expression from a filter object
|
|
27
|
-
*
|
|
28
|
-
* @param filter - Filter criteria object with field names and values
|
|
29
|
-
* @param expressionAttributeNames - Object to populate with attribute name mappings
|
|
30
|
-
* @param expressionAttributeValues - Object to populate with attribute value mappings
|
|
31
|
-
* @returns Object containing the constructed filter expression
|
|
32
|
-
*/
|
|
33
|
-
function buildFilterExpression(filter, expressionAttributeNames, expressionAttributeValues) {
|
|
34
|
-
const filterExpressions = [];
|
|
35
|
-
let nameCounter = Object.keys(expressionAttributeNames).length;
|
|
36
|
-
let valueCounter = Object.keys(expressionAttributeValues).length;
|
|
37
|
-
// Add #value for nested access if not present
|
|
38
|
-
if (!expressionAttributeNames['#value']) {
|
|
39
|
-
expressionAttributeNames['#value'] = 'value';
|
|
40
|
-
}
|
|
41
|
-
for (const [fieldKey, fieldValue] of Object.entries(filter)) {
|
|
42
|
-
const attrName = `#attr${nameCounter++}`;
|
|
43
|
-
const valuePath = `#value.${attrName}`;
|
|
44
|
-
expressionAttributeNames[attrName] = fieldKey;
|
|
45
|
-
// Handle operator-based filtering
|
|
46
|
-
if (typeof fieldValue === 'object' && fieldValue !== null && !Array.isArray(fieldValue)) {
|
|
47
|
-
// Surface typos / unsupported operators rather than silently dropping the filter
|
|
48
|
-
const unknownOps = Object.keys(fieldValue).filter((k) => !SUPPORTED_OPERATORS.includes(k));
|
|
49
|
-
if (unknownOps.length > 0) {
|
|
50
|
-
throw new Error(`Unsupported filter operator(s) for field "${fieldKey}": ${unknownOps.join(', ')}. ` +
|
|
51
|
-
`Supported: ${SUPPORTED_OPERATORS.join(', ')}`);
|
|
52
|
-
}
|
|
53
|
-
if (fieldValue.$eq !== undefined) {
|
|
54
|
-
const valueKey = `:val${valueCounter++}`;
|
|
55
|
-
expressionAttributeValues[valueKey] = fieldValue.$eq;
|
|
56
|
-
filterExpressions.push(`${valuePath} = ${valueKey}`);
|
|
57
|
-
}
|
|
58
|
-
if (fieldValue.$ne !== undefined) {
|
|
59
|
-
const valueKey = `:val${valueCounter++}`;
|
|
60
|
-
expressionAttributeValues[valueKey] = fieldValue.$ne;
|
|
61
|
-
filterExpressions.push(`${valuePath} <> ${valueKey}`);
|
|
62
|
-
}
|
|
63
|
-
if (fieldValue.$gt !== undefined) {
|
|
64
|
-
const valueKey = `:val${valueCounter++}`;
|
|
65
|
-
expressionAttributeValues[valueKey] = fieldValue.$gt;
|
|
66
|
-
filterExpressions.push(`${valuePath} > ${valueKey}`);
|
|
67
|
-
}
|
|
68
|
-
if (fieldValue.$gte !== undefined) {
|
|
69
|
-
const valueKey = `:val${valueCounter++}`;
|
|
70
|
-
expressionAttributeValues[valueKey] = fieldValue.$gte;
|
|
71
|
-
filterExpressions.push(`${valuePath} >= ${valueKey}`);
|
|
72
|
-
}
|
|
73
|
-
if (fieldValue.$lt !== undefined) {
|
|
74
|
-
const valueKey = `:val${valueCounter++}`;
|
|
75
|
-
expressionAttributeValues[valueKey] = fieldValue.$lt;
|
|
76
|
-
filterExpressions.push(`${valuePath} < ${valueKey}`);
|
|
77
|
-
}
|
|
78
|
-
if (fieldValue.$lte !== undefined) {
|
|
79
|
-
const valueKey = `:val${valueCounter++}`;
|
|
80
|
-
expressionAttributeValues[valueKey] = fieldValue.$lte;
|
|
81
|
-
filterExpressions.push(`${valuePath} <= ${valueKey}`);
|
|
82
|
-
}
|
|
83
|
-
if (fieldValue.$in !== undefined) {
|
|
84
|
-
if (!Array.isArray(fieldValue.$in) || fieldValue.$in.length === 0) {
|
|
85
|
-
throw new Error(`$in operator for "${fieldKey}" requires a non-empty array`);
|
|
86
|
-
}
|
|
87
|
-
if (fieldValue.$in.length > MAX_IN_LIST_SIZE) {
|
|
88
|
-
throw new Error(`$in operator for "${fieldKey}" supports at most ${MAX_IN_LIST_SIZE} values ` +
|
|
89
|
-
`(got ${fieldValue.$in.length}). Split the query or narrow the filter.`);
|
|
90
|
-
}
|
|
91
|
-
const placeholders = fieldValue.$in.map((v) => {
|
|
92
|
-
const valueKey = `:val${valueCounter++}`;
|
|
93
|
-
expressionAttributeValues[valueKey] = v;
|
|
94
|
-
return valueKey;
|
|
95
|
-
});
|
|
96
|
-
filterExpressions.push(`${valuePath} IN (${placeholders.join(', ')})`);
|
|
97
|
-
}
|
|
98
|
-
if (fieldValue.$nin !== undefined) {
|
|
99
|
-
if (!Array.isArray(fieldValue.$nin) || fieldValue.$nin.length === 0) {
|
|
100
|
-
throw new Error(`$nin operator for "${fieldKey}" requires a non-empty array`);
|
|
101
|
-
}
|
|
102
|
-
if (fieldValue.$nin.length > MAX_IN_LIST_SIZE) {
|
|
103
|
-
throw new Error(`$nin operator for "${fieldKey}" supports at most ${MAX_IN_LIST_SIZE} values ` +
|
|
104
|
-
`(got ${fieldValue.$nin.length}). Split the query or narrow the filter.`);
|
|
105
|
-
}
|
|
106
|
-
const placeholders = fieldValue.$nin.map((v) => {
|
|
107
|
-
const valueKey = `:val${valueCounter++}`;
|
|
108
|
-
expressionAttributeValues[valueKey] = v;
|
|
109
|
-
return valueKey;
|
|
110
|
-
});
|
|
111
|
-
filterExpressions.push(`NOT (${valuePath} IN (${placeholders.join(', ')}))`);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
// Direct equality comparison
|
|
116
|
-
const valueKey = `:val${valueCounter++}`;
|
|
117
|
-
expressionAttributeValues[valueKey] = fieldValue;
|
|
118
|
-
filterExpressions.push(`${valuePath} = ${valueKey}`);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
const joined = filterExpressions.length > 0 ? filterExpressions.join(' AND ') : '';
|
|
122
|
-
// Byte length — DynamoDB counts expression size in UTF-8 bytes, not JS code units.
|
|
123
|
-
const byteLength = Buffer.byteLength(joined, 'utf8');
|
|
124
|
-
if (byteLength > MAX_FILTER_EXPRESSION_BYTES) {
|
|
125
|
-
throw new Error(`Filter expression is ${byteLength} bytes, exceeds DynamoDB's 4 KiB limit ` +
|
|
126
|
-
`(checked against a ${MAX_FILTER_EXPRESSION_BYTES}-byte soft cap). ` +
|
|
127
|
-
`Simplify the filter: fewer fields, shorter names, or drop deep nested paths.`);
|
|
128
|
-
}
|
|
129
|
-
return {
|
|
130
|
-
filterExpression: joined,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=filter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/store/utils/filter.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAiCH,sDAgIC;AA7JD,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAEjG;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,GAAG,GAAG,IAAI,CAAC;AAE/C;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,MAAyC,EACzC,wBAAgD,EAChD,yBAA8C;IAI9C,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC;IAC/D,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC;IAEjE,8CAA8C;IAC9C,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IAC/C,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,QAAQ,WAAW,EAAE,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,QAAQ,EAAE,CAAC;QACvC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAE9C,kCAAkC;QAClC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxF,iFAAiF;YACjF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,mBAAyC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC/D,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,6CAA6C,QAAQ,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAClF,cAAc,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjD,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;gBACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;gBACrD,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,MAAM,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;gBACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;gBACrD,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;gBACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;gBACrD,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,MAAM,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;gBACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;gBACtD,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;gBACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;gBACrD,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,MAAM,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;gBACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;gBACtD,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,8BAA8B,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;oBAC7C,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,sBAAsB,gBAAgB,UAAU;wBAC3E,QAAQ,UAAU,CAAC,GAAG,CAAC,MAAM,0CAA0C,CAC1E,CAAC;gBACJ,CAAC;gBACD,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;oBACrD,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;oBACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACxC,OAAO,QAAQ,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,QAAQ,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpE,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,8BAA8B,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,sBAAsB,gBAAgB,UAAU;wBAC5E,QAAQ,UAAU,CAAC,IAAI,CAAC,MAAM,0CAA0C,CAC3E,CAAC;gBACJ,CAAC;gBACD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;oBACtD,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;oBACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACxC,OAAO,QAAQ,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,iBAAiB,CAAC,IAAI,CAAC,QAAQ,SAAS,QAAQ,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,OAAO,YAAY,EAAE,EAAE,CAAC;YACzC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;YACjD,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,MAAM,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnF,mFAAmF;IACnF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,UAAU,GAAG,2BAA2B,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,wBAAwB,UAAU,yCAAyC;YACzE,sBAAsB,2BAA2B,mBAAmB;YACpE,8EAA8E,CACjF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,MAAM;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Store utilities
|
|
4
|
-
*/
|
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
-
}
|
|
11
|
-
Object.defineProperty(o, k2, desc);
|
|
12
|
-
}) : (function(o, m, k, k2) {
|
|
13
|
-
if (k2 === undefined) k2 = k;
|
|
14
|
-
o[k2] = m[k];
|
|
15
|
-
}));
|
|
16
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
-
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.withRetry = exports.withDynamoDBRetry = void 0;
|
|
21
|
-
__exportStar(require("./validation"), exports);
|
|
22
|
-
__exportStar(require("./filter"), exports);
|
|
23
|
-
// Retry utilities re-exported from shared
|
|
24
|
-
var utils_1 = require("../../shared/utils");
|
|
25
|
-
Object.defineProperty(exports, "withDynamoDBRetry", { enumerable: true, get: function () { return utils_1.withDynamoDBRetry; } });
|
|
26
|
-
Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return utils_1.withRetry; } });
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,2CAAyB;AACzB,0CAA0C;AAC1C,4CAAqF;AAA5E,0GAAA,iBAAiB,OAAA;AAAE,kGAAA,SAAS,OAAA"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validation utilities for store operations
|
|
3
|
-
*/
|
|
4
|
-
export declare class ValidationError extends Error {
|
|
5
|
-
constructor(message: string);
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Validate namespace array.
|
|
9
|
-
*
|
|
10
|
-
* Enforces the same invariants as LangGraph's base `validateNamespace`
|
|
11
|
-
* (`@langchain/langgraph-checkpoint/store/base.js:16-24`) plus the
|
|
12
|
-
* separators we use internally for the DynamoDB sort-key composite.
|
|
13
|
-
*/
|
|
14
|
-
export declare function validateNamespace(namespace: string[]): void;
|
|
15
|
-
/**
|
|
16
|
-
* Validate key string
|
|
17
|
-
*/
|
|
18
|
-
export declare function validateKey(key: any): void;
|
|
19
|
-
/**
|
|
20
|
-
* Validate value size
|
|
21
|
-
*/
|
|
22
|
-
export declare function validateValue(value: any): void;
|
|
23
|
-
/**
|
|
24
|
-
* Validate pagination parameters
|
|
25
|
-
*/
|
|
26
|
-
export declare function validatePagination(limit?: any, offset?: any): void;
|
|
27
|
-
/**
|
|
28
|
-
* Validate TTL days (wraps shared validation with a store-specific error type)
|
|
29
|
-
*/
|
|
30
|
-
export declare function validateTTL(ttlDays?: number): void;
|
|
31
|
-
/**
|
|
32
|
-
* Validate embeddings
|
|
33
|
-
*/
|
|
34
|
-
export declare function validateEmbeddings(embeddings?: number[][]): void;
|
|
35
|
-
/**
|
|
36
|
-
* Validate user ID
|
|
37
|
-
*/
|
|
38
|
-
export declare function validateUserId(userId: any): void;
|
|
39
|
-
/**
|
|
40
|
-
* Validate JSONPath expressions to prevent injection attacks
|
|
41
|
-
*/
|
|
42
|
-
export declare function validateJSONPath(paths: string[]): void;
|
|
43
|
-
/**
|
|
44
|
-
* Validate maxDepth parameter
|
|
45
|
-
*/
|
|
46
|
-
export declare function validateMaxDepth(maxDepth?: any): void;
|
|
47
|
-
/**
|
|
48
|
-
* Validate batch operations count
|
|
49
|
-
*/
|
|
50
|
-
export declare function validateBatchSize(operationsCount: any): void;
|
|
51
|
-
/**
|
|
52
|
-
* Export constants for use in other modules
|
|
53
|
-
*/
|
|
54
|
-
export declare const ValidationConstants: {
|
|
55
|
-
readonly MAX_LOOP_ITERATIONS: 1000;
|
|
56
|
-
readonly MAX_TOTAL_ITEMS_IN_MEMORY: 10000;
|
|
57
|
-
readonly MAX_OFFSET: 10000;
|
|
58
|
-
readonly MAX_DEPTH: 100;
|
|
59
|
-
readonly MAX_BATCH_SIZE: 100;
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/store/utils/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAyC3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAgB1C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAW9C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CA4BlE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAOlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAoChE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAYhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAmCtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAgBrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,GAAG,GAAG,IAAI,CAc5D;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC"}
|
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Validation utilities for store operations
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ValidationConstants = exports.ValidationError = void 0;
|
|
7
|
-
exports.validateNamespace = validateNamespace;
|
|
8
|
-
exports.validateKey = validateKey;
|
|
9
|
-
exports.validateValue = validateValue;
|
|
10
|
-
exports.validatePagination = validatePagination;
|
|
11
|
-
exports.validateTTL = validateTTL;
|
|
12
|
-
exports.validateEmbeddings = validateEmbeddings;
|
|
13
|
-
exports.validateUserId = validateUserId;
|
|
14
|
-
exports.validateJSONPath = validateJSONPath;
|
|
15
|
-
exports.validateMaxDepth = validateMaxDepth;
|
|
16
|
-
exports.validateBatchSize = validateBatchSize;
|
|
17
|
-
const utils_1 = require("../../shared/utils");
|
|
18
|
-
const MAX_KEY_LENGTH = 1024;
|
|
19
|
-
const MAX_NAMESPACE_DEPTH = 20;
|
|
20
|
-
const MAX_VALUE_SIZE = 400 * 1024; // 400KB (DynamoDB item size limit is 400KB)
|
|
21
|
-
const MAX_EMBEDDING_DIMENSIONS = 10000;
|
|
22
|
-
const MAX_EMBEDDINGS_PER_ITEM = 100;
|
|
23
|
-
const MAX_LIST_LIMIT = 1000; // Maximum list/search limit
|
|
24
|
-
const MAX_OFFSET = 10000; // Prevent resource exhaustion
|
|
25
|
-
const MAX_DEPTH = 100; // Maximum depth for namespace listing
|
|
26
|
-
const MAX_BATCH_SIZE = 100; // Maximum operations in a single batch
|
|
27
|
-
const MAX_JSONPATH_LENGTH = 500; // Maximum length for JSONPath expressions
|
|
28
|
-
class ValidationError extends Error {
|
|
29
|
-
constructor(message) {
|
|
30
|
-
super(message);
|
|
31
|
-
this.name = 'ValidationError';
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.ValidationError = ValidationError;
|
|
35
|
-
/**
|
|
36
|
-
* Validate namespace array.
|
|
37
|
-
*
|
|
38
|
-
* Enforces the same invariants as LangGraph's base `validateNamespace`
|
|
39
|
-
* (`@langchain/langgraph-checkpoint/store/base.js:16-24`) plus the
|
|
40
|
-
* separators we use internally for the DynamoDB sort-key composite.
|
|
41
|
-
*/
|
|
42
|
-
function validateNamespace(namespace) {
|
|
43
|
-
if (!Array.isArray(namespace)) {
|
|
44
|
-
throw new ValidationError('Namespace must be an array');
|
|
45
|
-
}
|
|
46
|
-
if (namespace.length === 0) {
|
|
47
|
-
throw new ValidationError('Namespace cannot be empty');
|
|
48
|
-
}
|
|
49
|
-
if (namespace.length > MAX_NAMESPACE_DEPTH) {
|
|
50
|
-
throw new ValidationError(`Namespace depth exceeds maximum of ${MAX_NAMESPACE_DEPTH} levels`);
|
|
51
|
-
}
|
|
52
|
-
// Reserved root label per LangGraph base-class contract
|
|
53
|
-
if (namespace[0] === 'langgraph') {
|
|
54
|
-
throw new ValidationError('Namespace root label "langgraph" is reserved');
|
|
55
|
-
}
|
|
56
|
-
for (const part of namespace) {
|
|
57
|
-
if (typeof part !== 'string') {
|
|
58
|
-
throw new ValidationError('Namespace parts must be strings');
|
|
59
|
-
}
|
|
60
|
-
if (part.length === 0) {
|
|
61
|
-
throw new ValidationError('Namespace parts cannot be empty strings');
|
|
62
|
-
}
|
|
63
|
-
// Reserved characters per LangGraph base-class contract (".") and DynamoDB
|
|
64
|
-
// sort-key separators we use internally ("#", "/").
|
|
65
|
-
if (part.includes('.')) {
|
|
66
|
-
throw new ValidationError('Namespace parts cannot contain "." character');
|
|
67
|
-
}
|
|
68
|
-
if (part.includes('#')) {
|
|
69
|
-
throw new ValidationError('Namespace parts cannot contain "#" character');
|
|
70
|
-
}
|
|
71
|
-
if (part.includes('/')) {
|
|
72
|
-
throw new ValidationError('Namespace parts cannot contain "/" character');
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Validate key string
|
|
78
|
-
*/
|
|
79
|
-
function validateKey(key) {
|
|
80
|
-
if (typeof key !== 'string') {
|
|
81
|
-
throw new ValidationError('Key must be a string');
|
|
82
|
-
}
|
|
83
|
-
if (key.length === 0) {
|
|
84
|
-
throw new ValidationError('Key cannot be empty');
|
|
85
|
-
}
|
|
86
|
-
if (key.length > MAX_KEY_LENGTH) {
|
|
87
|
-
throw new ValidationError(`Key exceeds maximum length of ${MAX_KEY_LENGTH} characters`);
|
|
88
|
-
}
|
|
89
|
-
if (key.includes('#')) {
|
|
90
|
-
throw new ValidationError('Key cannot contain "#" character');
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Validate value size
|
|
95
|
-
*/
|
|
96
|
-
function validateValue(value) {
|
|
97
|
-
if (value === undefined) {
|
|
98
|
-
throw new ValidationError('Value cannot be undefined');
|
|
99
|
-
}
|
|
100
|
-
const size = new TextEncoder().encode(JSON.stringify(value)).byteLength;
|
|
101
|
-
if (size > MAX_VALUE_SIZE) {
|
|
102
|
-
throw new ValidationError(`Value size (${size} bytes) exceeds maximum of ${MAX_VALUE_SIZE} bytes`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Validate pagination parameters
|
|
107
|
-
*/
|
|
108
|
-
function validatePagination(limit, offset) {
|
|
109
|
-
if (limit !== undefined) {
|
|
110
|
-
if (typeof limit !== 'number' || !Number.isInteger(limit)) {
|
|
111
|
-
throw new ValidationError('Limit must be an integer');
|
|
112
|
-
}
|
|
113
|
-
if (limit < 0) {
|
|
114
|
-
throw new ValidationError('Limit cannot be negative');
|
|
115
|
-
}
|
|
116
|
-
if (limit > MAX_LIST_LIMIT) {
|
|
117
|
-
throw new ValidationError(`Limit cannot exceed ${MAX_LIST_LIMIT}`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
if (offset !== undefined) {
|
|
121
|
-
if (typeof offset !== 'number' || !Number.isInteger(offset)) {
|
|
122
|
-
throw new ValidationError('Offset must be an integer');
|
|
123
|
-
}
|
|
124
|
-
if (offset < 0) {
|
|
125
|
-
throw new ValidationError('Offset cannot be negative');
|
|
126
|
-
}
|
|
127
|
-
if (offset > MAX_OFFSET) {
|
|
128
|
-
throw new ValidationError(`Offset cannot exceed ${MAX_OFFSET}`);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Validate TTL days (wraps shared validation with a store-specific error type)
|
|
134
|
-
*/
|
|
135
|
-
function validateTTL(ttlDays) {
|
|
136
|
-
try {
|
|
137
|
-
(0, utils_1.validateTTLDays)(ttlDays);
|
|
138
|
-
}
|
|
139
|
-
catch (error) {
|
|
140
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
141
|
-
throw new ValidationError(error instanceof Error ? error.message : String(error));
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Validate embeddings
|
|
146
|
-
*/
|
|
147
|
-
function validateEmbeddings(embeddings) {
|
|
148
|
-
if (!embeddings) {
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
if (!Array.isArray(embeddings)) {
|
|
152
|
-
throw new ValidationError('Embeddings must be an array');
|
|
153
|
-
}
|
|
154
|
-
if (embeddings.length > MAX_EMBEDDINGS_PER_ITEM) {
|
|
155
|
-
throw new ValidationError(`Number of embeddings (${embeddings.length}) exceeds maximum of ${MAX_EMBEDDINGS_PER_ITEM}`);
|
|
156
|
-
}
|
|
157
|
-
for (const embedding of embeddings) {
|
|
158
|
-
if (!Array.isArray(embedding)) {
|
|
159
|
-
throw new ValidationError('Each embedding must be an array of numbers');
|
|
160
|
-
}
|
|
161
|
-
if (embedding.length === 0) {
|
|
162
|
-
throw new ValidationError('Embedding cannot be empty');
|
|
163
|
-
}
|
|
164
|
-
if (embedding.length > MAX_EMBEDDING_DIMENSIONS) {
|
|
165
|
-
throw new ValidationError(`Embedding dimensions (${embedding.length}) exceed maximum of ${MAX_EMBEDDING_DIMENSIONS}`);
|
|
166
|
-
}
|
|
167
|
-
for (const value of embedding) {
|
|
168
|
-
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
169
|
-
throw new ValidationError('Embedding values must be finite numbers');
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Validate user ID
|
|
176
|
-
*/
|
|
177
|
-
function validateUserId(userId) {
|
|
178
|
-
if (typeof userId !== 'string') {
|
|
179
|
-
throw new ValidationError('User ID must be a string');
|
|
180
|
-
}
|
|
181
|
-
if (userId.length === 0) {
|
|
182
|
-
throw new ValidationError('User ID cannot be empty');
|
|
183
|
-
}
|
|
184
|
-
if (userId.length > 256) {
|
|
185
|
-
throw new ValidationError('User ID exceeds maximum length of 256 characters');
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Validate JSONPath expressions to prevent injection attacks
|
|
190
|
-
*/
|
|
191
|
-
function validateJSONPath(paths) {
|
|
192
|
-
if (!Array.isArray(paths)) {
|
|
193
|
-
throw new ValidationError('JSONPath index must be an array');
|
|
194
|
-
}
|
|
195
|
-
if (paths.length === 0) {
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
if (paths.length > 50) {
|
|
199
|
-
throw new ValidationError('Too many JSONPath expressions (maximum 50)');
|
|
200
|
-
}
|
|
201
|
-
for (const path of paths) {
|
|
202
|
-
if (typeof path !== 'string') {
|
|
203
|
-
throw new ValidationError('JSONPath expression must be a string');
|
|
204
|
-
}
|
|
205
|
-
if (path.length === 0) {
|
|
206
|
-
throw new ValidationError('JSONPath expression cannot be empty');
|
|
207
|
-
}
|
|
208
|
-
if (path.length > MAX_JSONPATH_LENGTH) {
|
|
209
|
-
throw new ValidationError(`JSONPath expression exceeds maximum length of ${MAX_JSONPATH_LENGTH} characters`);
|
|
210
|
-
}
|
|
211
|
-
// Block prototype-pollution-shaped access, but only when it's used as a
|
|
212
|
-
// property step (preceded by `.` or `[`). Plain substrings like `$.constructors[0]`
|
|
213
|
-
// or `$.data.prototyping` are legitimate paths and must pass through.
|
|
214
|
-
if (/(?:^|\.|\[)(?:__proto__|constructor|prototype)(?:$|[.[\]])/.test(path)) {
|
|
215
|
-
throw new ValidationError('JSONPath expression contains disallowed patterns');
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Validate maxDepth parameter
|
|
221
|
-
*/
|
|
222
|
-
function validateMaxDepth(maxDepth) {
|
|
223
|
-
if (maxDepth === undefined) {
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
if (typeof maxDepth !== 'number' || !Number.isInteger(maxDepth)) {
|
|
227
|
-
throw new ValidationError('maxDepth must be an integer');
|
|
228
|
-
}
|
|
229
|
-
if (maxDepth < 1) {
|
|
230
|
-
throw new ValidationError('maxDepth must be at least 1');
|
|
231
|
-
}
|
|
232
|
-
if (maxDepth > MAX_DEPTH) {
|
|
233
|
-
throw new ValidationError(`maxDepth cannot exceed ${MAX_DEPTH}`);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Validate batch operations count
|
|
238
|
-
*/
|
|
239
|
-
function validateBatchSize(operationsCount) {
|
|
240
|
-
if (typeof operationsCount !== 'number' || !Number.isInteger(operationsCount)) {
|
|
241
|
-
throw new ValidationError('Operations count must be an integer');
|
|
242
|
-
}
|
|
243
|
-
if (operationsCount < 1) {
|
|
244
|
-
throw new ValidationError('Batch must contain at least one operation');
|
|
245
|
-
}
|
|
246
|
-
if (operationsCount > MAX_BATCH_SIZE) {
|
|
247
|
-
throw new ValidationError(`Batch size (${operationsCount}) exceeds maximum of ${MAX_BATCH_SIZE} operations`);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Export constants for use in other modules
|
|
252
|
-
*/
|
|
253
|
-
exports.ValidationConstants = {
|
|
254
|
-
MAX_LOOP_ITERATIONS: utils_1.MAX_LOOP_ITERATIONS,
|
|
255
|
-
MAX_TOTAL_ITEMS_IN_MEMORY: utils_1.MAX_TOTAL_ITEMS_IN_MEMORY,
|
|
256
|
-
MAX_OFFSET,
|
|
257
|
-
MAX_DEPTH,
|
|
258
|
-
MAX_BATCH_SIZE,
|
|
259
|
-
};
|
|
260
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/store/utils/validation.ts"],"names":[],"mappings":"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"}
|