@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,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getOperationAction = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
/**
|
|
6
|
-
* Get a memory item from DynamoDB
|
|
7
|
-
*
|
|
8
|
-
* @param params - Parameters for the get operation
|
|
9
|
-
* @returns The item if found, null if not found
|
|
10
|
-
* @throws Error if the operation fails or validation fails
|
|
11
|
-
*/
|
|
12
|
-
const getOperationAction = async (params) => {
|
|
13
|
-
const { client, memoryTableName, userId, op, signal } = params;
|
|
14
|
-
// Validate inputs
|
|
15
|
-
(0, utils_1.validateUserId)(userId);
|
|
16
|
-
(0, utils_1.validateNamespace)(op.namespace);
|
|
17
|
-
(0, utils_1.validateKey)(op.key);
|
|
18
|
-
const namespacePath = op.namespace.join('/');
|
|
19
|
-
const sortKey = `${namespacePath}#${op.key}`;
|
|
20
|
-
// Execute with retry logic
|
|
21
|
-
const ddbItem = await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
22
|
-
return await client.get({
|
|
23
|
-
TableName: memoryTableName,
|
|
24
|
-
Key: {
|
|
25
|
-
user_id: userId,
|
|
26
|
-
namespace_key: sortKey,
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
}, { signal });
|
|
30
|
-
if (!ddbItem.Item) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
key: ddbItem.Item.key,
|
|
35
|
-
namespace: op.namespace,
|
|
36
|
-
value: ddbItem.Item.value,
|
|
37
|
-
createdAt: new Date(ddbItem.Item.createdAt),
|
|
38
|
-
updatedAt: new Date(ddbItem.Item.updatedAt),
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
exports.getOperationAction = getOperationAction;
|
|
42
|
-
//# sourceMappingURL=get-operation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-operation.js","sourceRoot":"","sources":["../../../src/store/actions/get-operation.ts"],"names":[],"mappings":";;;AAGA,oCAA6F;AAE7F;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAgC,EACV,EAAE;IACxB,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE/D,kBAAkB;IAClB,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACvB,IAAA,yBAAiB,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAChC,IAAA,mBAAW,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEpB,MAAM,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,GAAG,aAAa,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;IAE7C,2BAA2B;IAC3B,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAiB,EACrC,KAAK,IAAI,EAAE;QACT,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC;YACtB,SAAS,EAAE,eAAe;YAC1B,GAAG,EAAE;gBACH,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,OAAO;aACvB;SACF,CAAC,CAAC;IACL,CAAC,EACD,EAAE,MAAM,EAAE,CACX,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG;QACrB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3C,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;KAC5C,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,kBAAkB,sBAsC7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./get-operation"), exports);
|
|
18
|
-
__exportStar(require("./put-operation"), exports);
|
|
19
|
-
__exportStar(require("./search-operation"), exports);
|
|
20
|
-
__exportStar(require("./list-namespaces-operation"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kDAAgC;AAChC,qDAAmC;AACnC,8DAA4C"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { ListNamespacesOperationActionParams } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* List unique namespaces from DynamoDB with filtering and pagination
|
|
4
|
-
*
|
|
5
|
-
* @param params - Parameters for the list namespaces operation
|
|
6
|
-
* @returns Array of namespace paths (each path is an array of strings including userId)
|
|
7
|
-
* @throws Error if the operation fails or validation fails
|
|
8
|
-
*/
|
|
9
|
-
export declare const listNamespacesOperationAction: (params: ListNamespacesOperationActionParams) => Promise<string[][]>;
|
|
10
|
-
//# sourceMappingURL=list-namespaces-operation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-namespaces-operation.d.ts","sourceRoot":"","sources":["../../../src/store/actions/list-namespaces-operation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mCAAmC,EAAiB,MAAM,UAAU,CAAC;AASnF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,mCAAmC,KAC1C,OAAO,CAAC,MAAM,EAAE,EAAE,CAwJpB,CAAC"}
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.listNamespacesOperationAction = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
/**
|
|
6
|
-
* List unique namespaces from DynamoDB with filtering and pagination
|
|
7
|
-
*
|
|
8
|
-
* @param params - Parameters for the list namespaces operation
|
|
9
|
-
* @returns Array of namespace paths (each path is an array of strings including userId)
|
|
10
|
-
* @throws Error if the operation fails or validation fails
|
|
11
|
-
*/
|
|
12
|
-
const listNamespacesOperationAction = async (params) => {
|
|
13
|
-
const { client, memoryTableName, userId, op, signal } = params;
|
|
14
|
-
// LangGraph's BaseStore.listNamespaces defaults these to 100 and 0 before dispatching
|
|
15
|
-
// through batch(), but nothing guarantees the caller went via that path. Fall back
|
|
16
|
-
// to the same defaults so `(limit + offset) * CANDIDATE_MULTIPLIER` below stays finite.
|
|
17
|
-
const limit = op.limit ?? 100;
|
|
18
|
-
const offset = op.offset ?? 0;
|
|
19
|
-
const matchConditions = op.matchConditions ?? [];
|
|
20
|
-
const maxDepth = op.maxDepth;
|
|
21
|
-
// Validate inputs
|
|
22
|
-
(0, utils_1.validateUserId)(userId);
|
|
23
|
-
(0, utils_1.validatePagination)(limit, offset);
|
|
24
|
-
(0, utils_1.validateMaxDepth)(maxDepth);
|
|
25
|
-
// Determine if we can optimize with KeyConditionExpression
|
|
26
|
-
const prefixCondition = matchConditions.find((c) => c.matchType === 'prefix');
|
|
27
|
-
const namespacePrefix = prefixCondition ? extractConcretePrefix(prefixCondition.path) : '';
|
|
28
|
-
// Build query parameters.
|
|
29
|
-
//
|
|
30
|
-
// IMPORTANT: ExpressionAttributeNames starts as a local accumulator rather
|
|
31
|
-
// than an always-present `{}` on the QueryInput — DynamoDB rejects requests
|
|
32
|
-
// that carry an empty ExpressionAttributeNames object with
|
|
33
|
-
// `ValidationException: ExpressionAttributeNames must not be empty`. We
|
|
34
|
-
// attach it to the input only when at least one entry has been added.
|
|
35
|
-
const expressionAttributeNames = {};
|
|
36
|
-
const queryParams = {
|
|
37
|
-
TableName: memoryTableName,
|
|
38
|
-
KeyConditionExpression: 'user_id = :uid',
|
|
39
|
-
ExpressionAttributeValues: {
|
|
40
|
-
':uid': userId,
|
|
41
|
-
},
|
|
42
|
-
ProjectionExpression: 'namespace',
|
|
43
|
-
};
|
|
44
|
-
// Optimize a query with begins_with for prefix conditions.
|
|
45
|
-
// NOTE: we do NOT append a separator — the SK is `<nsPath>#<key>`; appending
|
|
46
|
-
// "#" misses sub-namespaces (`"users/alice#x"` would not begin with `"users#"`).
|
|
47
|
-
// Raw prefix is over-inclusive (`users` also matches `users_v2`) but the
|
|
48
|
-
// in-memory match filter eliminates false positives.
|
|
49
|
-
if (namespacePrefix) {
|
|
50
|
-
queryParams.KeyConditionExpression += ' AND begins_with(namespace_key, :nsPrefix)';
|
|
51
|
-
queryParams.ExpressionAttributeValues[':nsPrefix'] = namespacePrefix;
|
|
52
|
-
}
|
|
53
|
-
// Build FilterExpression for suffix conditions using contains()
|
|
54
|
-
const filterExpressions = [];
|
|
55
|
-
const suffixConditions = matchConditions.filter((c) => c.matchType === 'suffix');
|
|
56
|
-
suffixConditions.forEach((condition, index) => {
|
|
57
|
-
const concreteSuffix = extractConcreteSuffix(condition.path);
|
|
58
|
-
if (concreteSuffix) {
|
|
59
|
-
const attrName = `#ns${index}`;
|
|
60
|
-
const valueName = `:suffix${index}`;
|
|
61
|
-
expressionAttributeNames[attrName] = 'namespace';
|
|
62
|
-
queryParams.ExpressionAttributeValues[valueName] = concreteSuffix;
|
|
63
|
-
filterExpressions.push(`contains(${attrName}, ${valueName})`);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
if (filterExpressions.length > 0) {
|
|
67
|
-
queryParams.FilterExpression = filterExpressions.join(' AND ');
|
|
68
|
-
}
|
|
69
|
-
// Only attach ExpressionAttributeNames when non-empty — DDB rejects {}.
|
|
70
|
-
if (Object.keys(expressionAttributeNames).length > 0) {
|
|
71
|
-
queryParams.ExpressionAttributeNames = expressionAttributeNames;
|
|
72
|
-
}
|
|
73
|
-
// Use a Set to track unique namespaces
|
|
74
|
-
const namespaceSet = new Set();
|
|
75
|
-
let lastEvaluatedKey;
|
|
76
|
-
let iterationCount = 0;
|
|
77
|
-
// Fetch all matching items with retry logic and safety limits
|
|
78
|
-
const CANDIDATE_MULTIPLIER = 10; // Fetch 10x more candidates to account for filtering
|
|
79
|
-
// Cap the target size to prevent excessive memory usage
|
|
80
|
-
const targetSize = Math.min((limit + offset) * CANDIDATE_MULTIPLIER, utils_1.ValidationConstants.MAX_TOTAL_ITEMS_IN_MEMORY);
|
|
81
|
-
do {
|
|
82
|
-
// Prevent infinite loops
|
|
83
|
-
iterationCount++;
|
|
84
|
-
if (iterationCount > utils_1.ValidationConstants.MAX_LOOP_ITERATIONS) {
|
|
85
|
-
throw new Error('List namespaces operation exceeded maximum iteration limit');
|
|
86
|
-
}
|
|
87
|
-
if (lastEvaluatedKey) {
|
|
88
|
-
queryParams.ExclusiveStartKey = lastEvaluatedKey;
|
|
89
|
-
}
|
|
90
|
-
const response = await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
91
|
-
return await client.query(queryParams);
|
|
92
|
-
}, { signal });
|
|
93
|
-
// Extract and deduplicate namespaces
|
|
94
|
-
response.Items?.forEach((item) => {
|
|
95
|
-
if (item.namespace !== undefined && item.namespace !== null) {
|
|
96
|
-
// Prevent memory exhaustion
|
|
97
|
-
if (namespaceSet.size >= utils_1.ValidationConstants.MAX_TOTAL_ITEMS_IN_MEMORY) {
|
|
98
|
-
return; // Stop adding more items
|
|
99
|
-
}
|
|
100
|
-
namespaceSet.add(item.namespace);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
lastEvaluatedKey = response.LastEvaluatedKey;
|
|
104
|
-
// Stop after collecting enough candidates
|
|
105
|
-
if (namespaceSet.size >= targetSize) {
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
} while (lastEvaluatedKey);
|
|
109
|
-
// Convert Set to an array of namespace arrays.
|
|
110
|
-
// userId is the partition key and is NOT part of the namespace path, so it is
|
|
111
|
-
// excluded here to match the shape returned by other store methods and the
|
|
112
|
-
// LangGraph reference InMemoryStore implementation.
|
|
113
|
-
const allNamespaces = Array.from(namespaceSet).map((ns) => (ns ? ns.split('/') : []));
|
|
114
|
-
// Apply all match conditions (reference: memory.js:122-138)
|
|
115
|
-
const matchedNamespaces = allNamespaces.filter((namespacePath) => {
|
|
116
|
-
for (const condition of matchConditions) {
|
|
117
|
-
if (!matchesCondition(namespacePath, condition)) {
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return true;
|
|
122
|
-
});
|
|
123
|
-
// Apply maxDepth: truncate each namespace to its first N segments, then dedupe.
|
|
124
|
-
// This matches the reference impl (memory.js:115-121) where deeper namespaces
|
|
125
|
-
// collapse into their parent paths rather than being filtered out entirely.
|
|
126
|
-
const truncatedSet = new Set();
|
|
127
|
-
for (const path of matchedNamespaces) {
|
|
128
|
-
const truncated = maxDepth !== undefined ? path.slice(0, maxDepth) : path;
|
|
129
|
-
truncatedSet.add(truncated.join('/'));
|
|
130
|
-
}
|
|
131
|
-
const dedupedNamespaces = Array.from(truncatedSet).map((ns) => (ns ? ns.split('/') : []));
|
|
132
|
-
// Sort namespaces for consistent ordering
|
|
133
|
-
dedupedNamespaces.sort((a, b) => a.join('/').localeCompare(b.join('/')));
|
|
134
|
-
// Apply offset and limit
|
|
135
|
-
return dedupedNamespaces.slice(offset, offset + limit);
|
|
136
|
-
};
|
|
137
|
-
exports.listNamespacesOperationAction = listNamespacesOperationAction;
|
|
138
|
-
/**
|
|
139
|
-
* Extract a concrete prefix (before any wildcards) from a path for DynamoDB optimization
|
|
140
|
-
*/
|
|
141
|
-
function extractConcretePrefix(path) {
|
|
142
|
-
const concreteParts = [];
|
|
143
|
-
for (let i = 0; i < path.length; i++) {
|
|
144
|
-
if (path[i] === '*') {
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
concreteParts.push(path[i]);
|
|
148
|
-
}
|
|
149
|
-
return concreteParts.join('/');
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Extract concrete suffix (after any wildcards) from a path for DynamoDB contains()
|
|
153
|
-
* Returns the suffix pattern for contains() matching
|
|
154
|
-
*/
|
|
155
|
-
function extractConcreteSuffix(path) {
|
|
156
|
-
const concreteParts = [];
|
|
157
|
-
// Collect concrete parts from the end, working backwards until we hit a wildcard
|
|
158
|
-
for (let i = path.length - 1; i >= 0; i--) {
|
|
159
|
-
if (path[i] === '*') {
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
concreteParts.unshift(path[i]);
|
|
163
|
-
}
|
|
164
|
-
// Return as a path string (e.g., "reports/2024")
|
|
165
|
-
return concreteParts.join('/');
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Check if a namespace matches a single condition
|
|
169
|
-
*/
|
|
170
|
-
function matchesCondition(namespacePath, condition) {
|
|
171
|
-
const { matchType, path } = condition;
|
|
172
|
-
if (matchType === 'prefix') {
|
|
173
|
-
return matchesPrefix(namespacePath, path);
|
|
174
|
-
}
|
|
175
|
-
else if (matchType === 'suffix') {
|
|
176
|
-
return matchesSuffix(namespacePath, path);
|
|
177
|
-
}
|
|
178
|
-
return false;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Check if a namespace matches a prefix pattern (supports wildcards)
|
|
182
|
-
*/
|
|
183
|
-
function matchesPrefix(namespacePath, pattern) {
|
|
184
|
-
// Pattern must not be longer than the namespace
|
|
185
|
-
if (pattern.length > namespacePath.length) {
|
|
186
|
-
return false;
|
|
187
|
-
}
|
|
188
|
-
// Check each position in the pattern
|
|
189
|
-
for (let i = 0; i < pattern.length; i++) {
|
|
190
|
-
const patternPart = pattern[i];
|
|
191
|
-
const namespacePart = namespacePath[i];
|
|
192
|
-
// Wildcard matches anything
|
|
193
|
-
if (patternPart === '*') {
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
196
|
-
// Concrete value must match exactly
|
|
197
|
-
if (patternPart !== namespacePart) {
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
return true;
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Check if a namespace matches a suffix pattern (supports wildcards)
|
|
205
|
-
*/
|
|
206
|
-
function matchesSuffix(namespacePath, pattern) {
|
|
207
|
-
// Pattern must not be longer than the namespace
|
|
208
|
-
if (pattern.length > namespacePath.length) {
|
|
209
|
-
return false;
|
|
210
|
-
}
|
|
211
|
-
// Check from the end
|
|
212
|
-
const offset = namespacePath.length - pattern.length;
|
|
213
|
-
for (let i = 0; i < pattern.length; i++) {
|
|
214
|
-
const patternPart = pattern[i];
|
|
215
|
-
const namespacePart = namespacePath[offset + i];
|
|
216
|
-
// Wildcard matches anything
|
|
217
|
-
if (patternPart === '*') {
|
|
218
|
-
continue;
|
|
219
|
-
}
|
|
220
|
-
// Concrete value must match exactly
|
|
221
|
-
if (patternPart !== namespacePart) {
|
|
222
|
-
return false;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
return true;
|
|
226
|
-
}
|
|
227
|
-
//# sourceMappingURL=list-namespaces-operation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-namespaces-operation.js","sourceRoot":"","sources":["../../../src/store/actions/list-namespaces-operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PutOperationActionParams } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* Put a memory item into DynamoDB
|
|
4
|
-
*
|
|
5
|
-
* @param params - Parameters for the put operation
|
|
6
|
-
* @throws Error if the operation fails or validation fails
|
|
7
|
-
*/
|
|
8
|
-
export declare const putOperationAction: (params: PutOperationActionParams) => Promise<void>;
|
|
9
|
-
//# sourceMappingURL=put-operation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"put-operation.d.ts","sourceRoot":"","sources":["../../../src/store/actions/put-operation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAYpD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAU,QAAQ,wBAAwB,KAAG,OAAO,CAAC,IAAI,CA4GvF,CAAC"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.putOperationAction = void 0;
|
|
4
|
-
const jsonpath_plus_1 = require("jsonpath-plus");
|
|
5
|
-
const shared_1 = require("../../shared");
|
|
6
|
-
const utils_1 = require("../utils");
|
|
7
|
-
/**
|
|
8
|
-
* Put a memory item into DynamoDB
|
|
9
|
-
*
|
|
10
|
-
* @param params - Parameters for the put operation
|
|
11
|
-
* @throws Error if the operation fails or validation fails
|
|
12
|
-
*/
|
|
13
|
-
const putOperationAction = async (params) => {
|
|
14
|
-
const { client, embedding, memoryTableName, userId, op, ttlDays, signal } = params;
|
|
15
|
-
// Validate inputs
|
|
16
|
-
(0, utils_1.validateUserId)(userId);
|
|
17
|
-
(0, utils_1.validateNamespace)(op.namespace);
|
|
18
|
-
(0, utils_1.validateKey)(op.key);
|
|
19
|
-
(0, utils_1.validateTTL)(ttlDays);
|
|
20
|
-
const namespacePath = op.namespace.join('/');
|
|
21
|
-
const namespace_key = `${namespacePath}#${op.key}`;
|
|
22
|
-
// LangGraph convention: PutOperation with value === null means delete the item.
|
|
23
|
-
// BaseStore.delete(ns, key) routes through batch([{namespace, key, value: null}]).
|
|
24
|
-
if (op.value === null) {
|
|
25
|
-
await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
26
|
-
await client.delete({
|
|
27
|
-
TableName: memoryTableName,
|
|
28
|
-
Key: {
|
|
29
|
-
user_id: userId,
|
|
30
|
-
namespace_key: namespace_key,
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
}, { signal });
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
(0, utils_1.validateValue)(op.value);
|
|
37
|
-
const now = Date.now();
|
|
38
|
-
// Generate embeddings if requested
|
|
39
|
-
let embeddings;
|
|
40
|
-
if (embedding && op.index && op.index.length > 0) {
|
|
41
|
-
// Validate JSONPath expressions before use
|
|
42
|
-
(0, utils_1.validateJSONPath)(op.index);
|
|
43
|
-
const textToEmbed = [];
|
|
44
|
-
for (const path of op.index) {
|
|
45
|
-
const value = (0, jsonpath_plus_1.JSONPath)({ path, json: op.value, wrap: false });
|
|
46
|
-
const values = Array.isArray(value) ? value : [value];
|
|
47
|
-
for (const v of values) {
|
|
48
|
-
if (typeof v === 'string') {
|
|
49
|
-
textToEmbed.push(v);
|
|
50
|
-
}
|
|
51
|
-
else if (typeof v === 'number' || typeof v === 'boolean') {
|
|
52
|
-
textToEmbed.push(v.toString());
|
|
53
|
-
}
|
|
54
|
-
else if (v !== null && v !== undefined) {
|
|
55
|
-
textToEmbed.push(JSON.stringify(v));
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (textToEmbed.length > 0) {
|
|
60
|
-
embeddings = await embedding.embedDocuments(textToEmbed);
|
|
61
|
-
(0, utils_1.validateEmbeddings)(embeddings);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
// Build update expression
|
|
65
|
-
const updateExpressionParts = [
|
|
66
|
-
'namespace = :namespace',
|
|
67
|
-
'#key = :key',
|
|
68
|
-
'#value = :value',
|
|
69
|
-
'updatedAt = :updatedAt',
|
|
70
|
-
];
|
|
71
|
-
const expressionAttributeNames = {
|
|
72
|
-
'#key': 'key',
|
|
73
|
-
'#value': 'value',
|
|
74
|
-
};
|
|
75
|
-
const expressionAttributeValues = {
|
|
76
|
-
':namespace': namespacePath,
|
|
77
|
-
':key': op.key,
|
|
78
|
-
':value': op.value,
|
|
79
|
-
':updatedAt': now,
|
|
80
|
-
':createdAt': now,
|
|
81
|
-
};
|
|
82
|
-
// Add embedding if generated
|
|
83
|
-
if (embeddings) {
|
|
84
|
-
updateExpressionParts.push('embedding = :embedding');
|
|
85
|
-
expressionAttributeValues[':embedding'] = embeddings;
|
|
86
|
-
}
|
|
87
|
-
// Add TTL if configured (validateTTL already rejected non-positive or non-integer values)
|
|
88
|
-
if (ttlDays !== undefined) {
|
|
89
|
-
updateExpressionParts.push('ttl = :ttl');
|
|
90
|
-
expressionAttributeValues[':ttl'] = (0, shared_1.calculateTTLTimestamp)(ttlDays);
|
|
91
|
-
}
|
|
92
|
-
// Execute with retry logic
|
|
93
|
-
await (0, utils_1.withDynamoDBRetry)(async () => {
|
|
94
|
-
await client.update({
|
|
95
|
-
TableName: memoryTableName,
|
|
96
|
-
Key: {
|
|
97
|
-
user_id: userId,
|
|
98
|
-
namespace_key: namespace_key,
|
|
99
|
-
},
|
|
100
|
-
UpdateExpression: `SET ${updateExpressionParts.join(', ')}, createdAt = if_not_exists(createdAt, :createdAt)`,
|
|
101
|
-
ExpressionAttributeNames: expressionAttributeNames,
|
|
102
|
-
ExpressionAttributeValues: expressionAttributeValues,
|
|
103
|
-
});
|
|
104
|
-
}, { signal });
|
|
105
|
-
};
|
|
106
|
-
exports.putOperationAction = putOperationAction;
|
|
107
|
-
//# sourceMappingURL=put-operation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"put-operation.js","sourceRoot":"","sources":["../../../src/store/actions/put-operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { SearchItem } from '@langchain/langgraph-checkpoint';
|
|
2
|
-
import { SearchOperationActionParams } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Search for memory items in DynamoDB
|
|
5
|
-
*
|
|
6
|
-
* @remarks
|
|
7
|
-
* **Pagination trade-off:** DynamoDB does not support native offset-based pagination.
|
|
8
|
-
* When `offset` is used, `limit + offset` items are loaded into memory and sliced.
|
|
9
|
-
* For large offsets (up to 10,000), this can be memory-intensive.
|
|
10
|
-
* Consider cursor-based pagination for high-offset use cases.
|
|
11
|
-
*
|
|
12
|
-
* @param params - Parameters for the search operation
|
|
13
|
-
* @returns Array of matching items with optional similarity scores
|
|
14
|
-
* @throws Error if the operation fails or validation fails
|
|
15
|
-
*/
|
|
16
|
-
export declare const searchOperationAction: (params: SearchOperationActionParams) => Promise<SearchItem[]>;
|
|
17
|
-
//# sourceMappingURL=search-operation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search-operation.d.ts","sourceRoot":"","sources":["../../../src/store/actions/search-operation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAUvD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,2BAA2B,KAClC,OAAO,CAAC,UAAU,EAAE,CAiKtB,CAAC"}
|