@farukada/aws-langgraph-dynamodb-ts 0.2.2 → 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 +21 -22
- package/dist/checkpointer/actions/index.d.ts +0 -5
- package/dist/checkpointer/actions/index.d.ts.map +0 -1
- package/dist/checkpointer/actions/index.js +0 -21
- package/dist/checkpointer/actions/index.js.map +0 -1
- package/dist/checkpointer/actions/validate-configurable.d.ts +0 -10
- package/dist/checkpointer/actions/validate-configurable.d.ts.map +0 -1
- package/dist/checkpointer/actions/validate-configurable.js +0 -39
- package/dist/checkpointer/actions/validate-configurable.js.map +0 -1
- package/dist/checkpointer/actions/writer.d.ts +0 -52
- package/dist/checkpointer/actions/writer.d.ts.map +0 -1
- package/dist/checkpointer/actions/writer.js +0 -109
- package/dist/checkpointer/actions/writer.js.map +0 -1
- package/dist/checkpointer/index.d.ts +0 -118
- package/dist/checkpointer/index.d.ts.map +0 -1
- package/dist/checkpointer/index.js +0 -393
- package/dist/checkpointer/index.js.map +0 -1
- package/dist/checkpointer/types/index.d.ts +0 -232
- package/dist/checkpointer/types/index.d.ts.map +0 -1
- package/dist/checkpointer/types/index.js +0 -13
- package/dist/checkpointer/types/index.js.map +0 -1
- package/dist/checkpointer/utils/deserialization.d.ts +0 -20
- package/dist/checkpointer/utils/deserialization.d.ts.map +0 -1
- package/dist/checkpointer/utils/deserialization.js +0 -81
- package/dist/checkpointer/utils/deserialization.js.map +0 -1
- package/dist/checkpointer/utils/index.d.ts +0 -7
- package/dist/checkpointer/utils/index.d.ts.map +0 -1
- package/dist/checkpointer/utils/index.js +0 -27
- package/dist/checkpointer/utils/index.js.map +0 -1
- package/dist/checkpointer/utils/validation.d.ts +0 -48
- package/dist/checkpointer/utils/validation.d.ts.map +0 -1
- package/dist/checkpointer/utils/validation.js +0 -235
- package/dist/checkpointer/utils/validation.js.map +0 -1
- package/dist/factory.d.ts +0 -153
- package/dist/factory.d.ts.map +0 -1
- package/dist/factory.js +0 -206
- package/dist/factory.js.map +0 -1
- package/dist/history/actions/add-message.d.ts +0 -10
- package/dist/history/actions/add-message.d.ts.map +0 -1
- package/dist/history/actions/add-message.js +0 -24
- package/dist/history/actions/add-message.js.map +0 -1
- package/dist/history/actions/index.d.ts +0 -9
- package/dist/history/actions/index.d.ts.map +0 -1
- package/dist/history/actions/index.js +0 -17
- package/dist/history/actions/index.js.map +0 -1
- package/dist/history/index.d.ts +0 -118
- package/dist/history/index.d.ts.map +0 -1
- package/dist/history/index.js +0 -179
- package/dist/history/index.js.map +0 -1
- package/dist/history/types/index.d.ts +0 -184
- package/dist/history/types/index.d.ts.map +0 -1
- package/dist/history/types/index.js +0 -7
- package/dist/history/types/index.js.map +0 -1
- package/dist/history/utils/index.d.ts +0 -9
- package/dist/history/utils/index.d.ts.map +0 -1
- package/dist/history/utils/index.js +0 -27
- package/dist/history/utils/index.js.map +0 -1
- package/dist/history/utils/optimistic-retry.d.ts +0 -31
- package/dist/history/utils/optimistic-retry.d.ts.map +0 -1
- package/dist/history/utils/optimistic-retry.js +0 -74
- package/dist/history/utils/optimistic-retry.js.map +0 -1
- package/dist/history/utils/title-generator.d.ts +0 -12
- package/dist/history/utils/title-generator.d.ts.map +0 -1
- package/dist/history/utils/title-generator.js +0 -57
- package/dist/history/utils/title-generator.js.map +0 -1
- package/dist/history/utils/update-expression-builder.d.ts +0 -55
- package/dist/history/utils/update-expression-builder.d.ts.map +0 -1
- package/dist/history/utils/update-expression-builder.js +0 -112
- package/dist/history/utils/update-expression-builder.js.map +0 -1
- package/dist/history/utils/validation.d.ts +0 -68
- package/dist/history/utils/validation.d.ts.map +0 -1
- package/dist/history/utils/validation.js +0 -213
- package/dist/history/utils/validation.js.map +0 -1
- package/dist/shared/index.d.ts +0 -5
- package/dist/shared/index.d.ts.map +0 -1
- package/dist/shared/index.js +0 -21
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/utils/batch-write.d.ts +0 -74
- package/dist/shared/utils/batch-write.d.ts.map +0 -1
- package/dist/shared/utils/batch-write.js +0 -110
- package/dist/shared/utils/batch-write.js.map +0 -1
- package/dist/shared/utils/client-factory.d.ts +0 -25
- package/dist/shared/utils/client-factory.d.ts.map +0 -1
- package/dist/shared/utils/client-factory.js +0 -23
- package/dist/shared/utils/client-factory.js.map +0 -1
- package/dist/shared/utils/compressor.d.ts +0 -66
- package/dist/shared/utils/compressor.d.ts.map +0 -1
- package/dist/shared/utils/compressor.js +0 -133
- package/dist/shared/utils/compressor.js.map +0 -1
- package/dist/shared/utils/constants.d.ts +0 -13
- package/dist/shared/utils/constants.d.ts.map +0 -1
- package/dist/shared/utils/constants.js +0 -35
- package/dist/shared/utils/constants.js.map +0 -1
- package/dist/shared/utils/index.d.ts +0 -14
- package/dist/shared/utils/index.d.ts.map +0 -1
- package/dist/shared/utils/index.js +0 -30
- package/dist/shared/utils/index.js.map +0 -1
- package/dist/shared/utils/logger.d.ts +0 -75
- package/dist/shared/utils/logger.d.ts.map +0 -1
- package/dist/shared/utils/logger.js +0 -148
- package/dist/shared/utils/logger.js.map +0 -1
- package/dist/shared/utils/retry.d.ts +0 -26
- package/dist/shared/utils/retry.d.ts.map +0 -1
- package/dist/shared/utils/retry.js +0 -169
- package/dist/shared/utils/retry.js.map +0 -1
- package/dist/shared/utils/s3-offloader.d.ts +0 -153
- package/dist/shared/utils/s3-offloader.d.ts.map +0 -1
- package/dist/shared/utils/s3-offloader.js +0 -281
- package/dist/shared/utils/s3-offloader.js.map +0 -1
- package/dist/shared/utils/s3-orphans.d.ts +0 -16
- package/dist/shared/utils/s3-orphans.d.ts.map +0 -1
- package/dist/shared/utils/s3-orphans.js +0 -79
- package/dist/shared/utils/s3-orphans.js.map +0 -1
- package/dist/shared/utils/sleep.d.ts +0 -48
- package/dist/shared/utils/sleep.d.ts.map +0 -1
- package/dist/shared/utils/sleep.js +0 -82
- package/dist/shared/utils/sleep.js.map +0 -1
- package/dist/shared/utils/ttl.d.ts +0 -24
- package/dist/shared/utils/ttl.d.ts.map +0 -1
- package/dist/shared/utils/ttl.js +0 -43
- package/dist/shared/utils/ttl.js.map +0 -1
- package/dist/store/actions/get-operation.d.ts +0 -11
- package/dist/store/actions/get-operation.d.ts.map +0 -1
- package/dist/store/actions/get-operation.js +0 -42
- package/dist/store/actions/get-operation.js.map +0 -1
- package/dist/store/actions/index.d.ts +0 -5
- package/dist/store/actions/index.d.ts.map +0 -1
- package/dist/store/actions/index.js +0 -21
- package/dist/store/actions/index.js.map +0 -1
- package/dist/store/actions/list-namespaces-operation.d.ts +0 -10
- package/dist/store/actions/list-namespaces-operation.d.ts.map +0 -1
- package/dist/store/actions/list-namespaces-operation.js +0 -227
- package/dist/store/actions/list-namespaces-operation.js.map +0 -1
- package/dist/store/actions/put-operation.d.ts +0 -9
- package/dist/store/actions/put-operation.d.ts.map +0 -1
- package/dist/store/actions/put-operation.js +0 -107
- package/dist/store/actions/put-operation.js.map +0 -1
- package/dist/store/actions/search-operation.d.ts +0 -17
- package/dist/store/actions/search-operation.d.ts.map +0 -1
- package/dist/store/actions/search-operation.js +0 -203
- package/dist/store/actions/search-operation.js.map +0 -1
- package/dist/store/index.d.ts +0 -82
- package/dist/store/index.d.ts.map +0 -1
- package/dist/store/index.js +0 -172
- package/dist/store/index.js.map +0 -1
- package/dist/store/types/index.d.ts +0 -131
- package/dist/store/types/index.d.ts.map +0 -1
- package/dist/store/types/index.js.map +0 -1
- package/dist/store/utils/filter.d.ts +0 -16
- package/dist/store/utils/filter.d.ts.map +0 -1
- package/dist/store/utils/filter.js +0 -133
- package/dist/store/utils/filter.js.map +0 -1
- package/dist/store/utils/index.d.ts +0 -7
- package/dist/store/utils/index.d.ts.map +0 -1
- package/dist/store/utils/index.js +0 -27
- package/dist/store/utils/index.js.map +0 -1
- package/dist/store/utils/validation.d.ts +0 -61
- package/dist/store/utils/validation.d.ts.map +0 -1
- package/dist/store/utils/validation.js +0 -260
- package/dist/store/utils/validation.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readCheckpoint = readCheckpoint;
|
|
4
|
+
exports.readMetadata = readMetadata;
|
|
5
|
+
exports.toPendingWrites = toPendingWrites;
|
|
6
|
+
const codec_1 = require("../../shared/codec/codec");
|
|
7
|
+
const item_writer_1 = require("./item-writer");
|
|
8
|
+
/** Decode the checkpoint stored in a PAYLOAD item. */
|
|
9
|
+
async function readCheckpoint(context, item) {
|
|
10
|
+
return (0, codec_1.decodePayload)(item.checkpoint, (0, item_writer_1.codecDeps)(context));
|
|
11
|
+
}
|
|
12
|
+
/** Decode the metadata stored in a META item. */
|
|
13
|
+
async function readMetadata(context, item) {
|
|
14
|
+
return (0, codec_1.decodePayload)(item.metadata, (0, item_writer_1.codecDeps)(context));
|
|
15
|
+
}
|
|
16
|
+
/** Decode WRITE items into `[taskId, channel, value]` pending-write tuples. */
|
|
17
|
+
async function toPendingWrites(context, items) {
|
|
18
|
+
const deps = (0, item_writer_1.codecDeps)(context);
|
|
19
|
+
const pending = [];
|
|
20
|
+
for (const item of items) {
|
|
21
|
+
const value = await (0, codec_1.decodePayload)(item.value, deps);
|
|
22
|
+
pending.push([item.taskId, item.channel, value]);
|
|
23
|
+
}
|
|
24
|
+
return pending;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=item-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-reader.js","sourceRoot":"","sources":["../../../src/checkpointer/internal/item-reader.ts"],"names":[],"mappings":";;AAYA,wCAKC;AAGD,oCAKC;AAGD,0CAWC;AAjCD,oDAAyD;AAEzD,+CAA0C;AAG1C,sDAAsD;AAC/C,KAAK,UAAU,cAAc,CAClC,OAA4B,EAC5B,IAA2B;IAE3B,OAAO,IAAA,qBAAa,EAAa,IAAI,CAAC,UAAU,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,iDAAiD;AAC1C,KAAK,UAAU,YAAY,CAChC,OAA4B,EAC5B,IAAwB;IAExB,OAAO,IAAA,qBAAa,EAAqB,IAAI,CAAC,QAAQ,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,+EAA+E;AACxE,KAAK,UAAU,eAAe,CACnC,OAA4B,EAC5B,KAA4B;IAE5B,MAAM,IAAI,GAAG,IAAA,uBAAS,EAAC,OAAO,CAAC,CAAC;IAChC,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Checkpoint, CheckpointMetadata, PendingWrite } from '@langchain/langgraph-checkpoint';
|
|
2
|
+
import { type CodecDeps } from '../../shared/codec/codec';
|
|
3
|
+
import type { CheckpointMetaItem, CheckpointPayloadItem, CheckpointWriteItem } from '../types';
|
|
4
|
+
import type { CheckpointerContext } from './setup';
|
|
5
|
+
/** Map a context to the codec collaborators. */
|
|
6
|
+
export declare function codecDeps(context: CheckpointerContext): CodecDeps;
|
|
7
|
+
/** Encode a checkpoint + metadata into its META and PAYLOAD items. */
|
|
8
|
+
export declare function buildCheckpointItems(context: CheckpointerContext, threadId: string, checkpointNs: string, checkpoint: Checkpoint, metadata: CheckpointMetadata, parentCheckpointId?: string, ttlTimestamp?: number): Promise<{
|
|
9
|
+
meta: CheckpointMetaItem;
|
|
10
|
+
payload: CheckpointPayloadItem;
|
|
11
|
+
}>;
|
|
12
|
+
/** Encode a task's pending writes into one item per write. */
|
|
13
|
+
export declare function buildWriteItems(context: CheckpointerContext, threadId: string, checkpointNs: string, checkpointId: string, taskId: string, writes: PendingWrite[], ttlTimestamp?: number): Promise<CheckpointWriteItem[]>;
|
|
14
|
+
//# sourceMappingURL=item-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-writer.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/internal/item-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGpG,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAEjE;AAOD,sEAAsE;AACtE,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,kBAAkB,EAC5B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAwBvE;AAED,8DAA8D;AAC9D,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EAAE,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAqBhC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.codecDeps = codecDeps;
|
|
4
|
+
exports.buildCheckpointItems = buildCheckpointItems;
|
|
5
|
+
exports.buildWriteItems = buildWriteItems;
|
|
6
|
+
const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
|
|
7
|
+
const codec_1 = require("../../shared/codec/codec");
|
|
8
|
+
const keys_1 = require("./keys");
|
|
9
|
+
/** Map a context to the codec collaborators. */
|
|
10
|
+
function codecDeps(context) {
|
|
11
|
+
return { serde: context.serde, compression: context.compression, offloader: context.offloader };
|
|
12
|
+
}
|
|
13
|
+
function withTtl(item, ttlTimestamp) {
|
|
14
|
+
if (ttlTimestamp !== undefined)
|
|
15
|
+
item.ttl = ttlTimestamp;
|
|
16
|
+
return item;
|
|
17
|
+
}
|
|
18
|
+
/** Encode a checkpoint + metadata into its META and PAYLOAD items. */
|
|
19
|
+
async function buildCheckpointItems(context, threadId, checkpointNs, checkpoint, metadata, parentCheckpointId, ttlTimestamp) {
|
|
20
|
+
const deps = codecDeps(context);
|
|
21
|
+
const pk = (0, keys_1.partitionKey)(threadId);
|
|
22
|
+
const checkpointDescriptor = await (0, codec_1.encodePayload)(checkpoint, deps, {
|
|
23
|
+
keyParts: [threadId, checkpointNs, checkpoint.id, 'checkpoint'],
|
|
24
|
+
});
|
|
25
|
+
const metadataDescriptor = await (0, codec_1.encodePayload)(metadata, deps, {
|
|
26
|
+
keyParts: [threadId, checkpointNs, checkpoint.id, 'metadata'],
|
|
27
|
+
});
|
|
28
|
+
const meta = {
|
|
29
|
+
PK: pk,
|
|
30
|
+
SK: (0, keys_1.metaSortKey)(checkpointNs, checkpoint.id),
|
|
31
|
+
threadId,
|
|
32
|
+
checkpointNs,
|
|
33
|
+
checkpointId: checkpoint.id,
|
|
34
|
+
metadata: metadataDescriptor,
|
|
35
|
+
};
|
|
36
|
+
if (parentCheckpointId !== undefined)
|
|
37
|
+
meta.parentCheckpointId = parentCheckpointId;
|
|
38
|
+
const payload = {
|
|
39
|
+
PK: pk,
|
|
40
|
+
SK: (0, keys_1.payloadSortKey)(checkpointNs, checkpoint.id),
|
|
41
|
+
checkpoint: checkpointDescriptor,
|
|
42
|
+
};
|
|
43
|
+
return { meta: withTtl(meta, ttlTimestamp), payload: withTtl(payload, ttlTimestamp) };
|
|
44
|
+
}
|
|
45
|
+
/** Encode a task's pending writes into one item per write. */
|
|
46
|
+
async function buildWriteItems(context, threadId, checkpointNs, checkpointId, taskId, writes, ttlTimestamp) {
|
|
47
|
+
const deps = codecDeps(context);
|
|
48
|
+
const pk = (0, keys_1.partitionKey)(threadId);
|
|
49
|
+
const items = [];
|
|
50
|
+
for (let positional = 0; positional < writes.length; positional++) {
|
|
51
|
+
const [channel, value] = writes[positional];
|
|
52
|
+
const index = langgraph_checkpoint_1.WRITES_IDX_MAP[channel] ?? positional;
|
|
53
|
+
const descriptor = await (0, codec_1.encodePayload)(value, deps, {
|
|
54
|
+
keyParts: [threadId, checkpointNs, checkpointId, taskId, `write-${index}`],
|
|
55
|
+
});
|
|
56
|
+
const item = {
|
|
57
|
+
PK: pk,
|
|
58
|
+
SK: (0, keys_1.writeSortKey)(checkpointNs, checkpointId, taskId, index),
|
|
59
|
+
taskId,
|
|
60
|
+
index,
|
|
61
|
+
channel,
|
|
62
|
+
value: descriptor,
|
|
63
|
+
};
|
|
64
|
+
items.push(withTtl(item, ttlTimestamp));
|
|
65
|
+
}
|
|
66
|
+
return items;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=item-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-writer.js","sourceRoot":"","sources":["../../../src/checkpointer/internal/item-writer.ts"],"names":[],"mappings":";;AASA,8BAEC;AAQD,oDAgCC;AAGD,0CA6BC;AAlFD,0EAAiE;AAEjE,oDAAyE;AAEzE,iCAAiF;AAGjF,gDAAgD;AAChD,SAAgB,SAAS,CAAC,OAA4B;IACpD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,OAAO,CAA6B,IAAO,EAAE,YAAqB;IACzE,IAAI,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sEAAsE;AAC/D,KAAK,UAAU,oBAAoB,CACxC,OAA4B,EAC5B,QAAgB,EAChB,YAAoB,EACpB,UAAsB,EACtB,QAA4B,EAC5B,kBAA2B,EAC3B,YAAqB;IAErB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAA,mBAAY,EAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,oBAAoB,GAAG,MAAM,IAAA,qBAAa,EAAC,UAAU,EAAE,IAAI,EAAE;QACjE,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,YAAY,CAAC;KAChE,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,MAAM,IAAA,qBAAa,EAAC,QAAQ,EAAE,IAAI,EAAE;QAC7D,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC;KAC9D,CAAC,CAAC;IACH,MAAM,IAAI,GAAuB;QAC/B,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,IAAA,kBAAW,EAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5C,QAAQ;QACR,YAAY;QACZ,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,QAAQ,EAAE,kBAAkB;KAC7B,CAAC;IACF,IAAI,kBAAkB,KAAK,SAAS;QAAE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACnF,MAAM,OAAO,GAA0B;QACrC,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,IAAA,qBAAc,EAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;QAC/C,UAAU,EAAE,oBAAoB;KACjC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,8DAA8D;AACvD,KAAK,UAAU,eAAe,CACnC,OAA4B,EAC5B,QAAgB,EAChB,YAAoB,EACpB,YAAoB,EACpB,MAAc,EACd,MAAsB,EACtB,YAAqB;IAErB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAA,mBAAY,EAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;QAClE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,qCAAc,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAa,EAAC,KAAK,EAAE,IAAI,EAAE;YAClD,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,MAAM,IAAI,GAAwB;YAChC,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,IAAA,mBAAY,EAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC;YAC3D,MAAM;YACN,KAAK;YACL,OAAO;YACP,KAAK,EAAE,UAAU;SAClB,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Reserved separator joining sort-key segments; forbidden inside any segment. */
|
|
2
|
+
export declare const SORT_KEY_SEPARATOR = "#";
|
|
3
|
+
/** Partition key for a thread: the thread id itself. */
|
|
4
|
+
export declare function partitionKey(threadId: string): string;
|
|
5
|
+
/** Sort key for a checkpoint's lightweight metadata item. */
|
|
6
|
+
export declare function metaSortKey(checkpointNs: string, checkpointId: string): string;
|
|
7
|
+
/** `begins_with` prefix selecting every META item in a namespace (for list). */
|
|
8
|
+
export declare function metaSortKeyPrefix(checkpointNs: string): string;
|
|
9
|
+
/** Sort key for a checkpoint's heavy payload item. */
|
|
10
|
+
export declare function payloadSortKey(checkpointNs: string, checkpointId: string): string;
|
|
11
|
+
/** Sort key for a single pending write. */
|
|
12
|
+
export declare function writeSortKey(checkpointNs: string, checkpointId: string, taskId: string, index: number): string;
|
|
13
|
+
/** `begins_with` prefix selecting every WRITE item for one checkpoint. */
|
|
14
|
+
export declare function writeSortKeyPrefix(checkpointNs: string, checkpointId: string): string;
|
|
15
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/internal/keys.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAmBtC,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAErF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SORT_KEY_SEPARATOR = void 0;
|
|
4
|
+
exports.partitionKey = partitionKey;
|
|
5
|
+
exports.metaSortKey = metaSortKey;
|
|
6
|
+
exports.metaSortKeyPrefix = metaSortKeyPrefix;
|
|
7
|
+
exports.payloadSortKey = payloadSortKey;
|
|
8
|
+
exports.writeSortKey = writeSortKey;
|
|
9
|
+
exports.writeSortKeyPrefix = writeSortKeyPrefix;
|
|
10
|
+
/** Reserved separator joining sort-key segments; forbidden inside any segment. */
|
|
11
|
+
exports.SORT_KEY_SEPARATOR = '#';
|
|
12
|
+
/** Fixed digit width for the WRITE index so sort keys order numerically. */
|
|
13
|
+
const WRITE_INDEX_PAD_WIDTH = 10;
|
|
14
|
+
/**
|
|
15
|
+
* Added to every write index before padding so the special negative slots from
|
|
16
|
+
* `WRITES_IDX_MAP` (-1 ERROR .. -4 RESUME) encode as non-negative, sortable
|
|
17
|
+
* integers that order below positional (0+) writes.
|
|
18
|
+
*/
|
|
19
|
+
const WRITE_INDEX_OFFSET = 8;
|
|
20
|
+
/** Sort-key kinds for the checkpoints table (the approved SK separation). */
|
|
21
|
+
var CheckpointItemKind;
|
|
22
|
+
(function (CheckpointItemKind) {
|
|
23
|
+
CheckpointItemKind["META"] = "META";
|
|
24
|
+
CheckpointItemKind["PAYLOAD"] = "PAYLOAD";
|
|
25
|
+
CheckpointItemKind["WRITE"] = "WRITE";
|
|
26
|
+
})(CheckpointItemKind || (CheckpointItemKind = {}));
|
|
27
|
+
/** Partition key for a thread: the thread id itself. */
|
|
28
|
+
function partitionKey(threadId) {
|
|
29
|
+
return threadId;
|
|
30
|
+
}
|
|
31
|
+
/** Sort key for a checkpoint's lightweight metadata item. */
|
|
32
|
+
function metaSortKey(checkpointNs, checkpointId) {
|
|
33
|
+
return `${CheckpointItemKind.META}${exports.SORT_KEY_SEPARATOR}${checkpointNs}${exports.SORT_KEY_SEPARATOR}${checkpointId}`;
|
|
34
|
+
}
|
|
35
|
+
/** `begins_with` prefix selecting every META item in a namespace (for list). */
|
|
36
|
+
function metaSortKeyPrefix(checkpointNs) {
|
|
37
|
+
return `${CheckpointItemKind.META}${exports.SORT_KEY_SEPARATOR}${checkpointNs}${exports.SORT_KEY_SEPARATOR}`;
|
|
38
|
+
}
|
|
39
|
+
/** Sort key for a checkpoint's heavy payload item. */
|
|
40
|
+
function payloadSortKey(checkpointNs, checkpointId) {
|
|
41
|
+
return `${CheckpointItemKind.PAYLOAD}${exports.SORT_KEY_SEPARATOR}${checkpointNs}${exports.SORT_KEY_SEPARATOR}${checkpointId}`;
|
|
42
|
+
}
|
|
43
|
+
/** Sort key for a single pending write. */
|
|
44
|
+
function writeSortKey(checkpointNs, checkpointId, taskId, index) {
|
|
45
|
+
const paddedIndex = (index + WRITE_INDEX_OFFSET).toString().padStart(WRITE_INDEX_PAD_WIDTH, '0');
|
|
46
|
+
return [CheckpointItemKind.WRITE, checkpointNs, checkpointId, taskId, paddedIndex].join(exports.SORT_KEY_SEPARATOR);
|
|
47
|
+
}
|
|
48
|
+
/** `begins_with` prefix selecting every WRITE item for one checkpoint. */
|
|
49
|
+
function writeSortKeyPrefix(checkpointNs, checkpointId) {
|
|
50
|
+
return `${CheckpointItemKind.WRITE}${exports.SORT_KEY_SEPARATOR}${checkpointNs}${exports.SORT_KEY_SEPARATOR}${checkpointId}${exports.SORT_KEY_SEPARATOR}`;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/checkpointer/internal/keys.ts"],"names":[],"mappings":";;;AAqBA,oCAEC;AAGD,kCAEC;AAGD,8CAEC;AAGD,wCAEC;AAGD,oCAUC;AAGD,gDAEC;AAxDD,kFAAkF;AACrE,QAAA,kBAAkB,GAAG,GAAG,CAAC;AAEtC,4EAA4E;AAC5E,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,6EAA6E;AAC7E,IAAK,kBAIJ;AAJD,WAAK,kBAAkB;IACrB,mCAAa,CAAA;IACb,yCAAmB,CAAA;IACnB,qCAAe,CAAA;AACjB,CAAC,EAJI,kBAAkB,KAAlB,kBAAkB,QAItB;AAED,wDAAwD;AACxD,SAAgB,YAAY,CAAC,QAAgB;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,6DAA6D;AAC7D,SAAgB,WAAW,CAAC,YAAoB,EAAE,YAAoB;IACpE,OAAO,GAAG,kBAAkB,CAAC,IAAI,GAAG,0BAAkB,GAAG,YAAY,GAAG,0BAAkB,GAAG,YAAY,EAAE,CAAC;AAC9G,CAAC;AAED,gFAAgF;AAChF,SAAgB,iBAAiB,CAAC,YAAoB;IACpD,OAAO,GAAG,kBAAkB,CAAC,IAAI,GAAG,0BAAkB,GAAG,YAAY,GAAG,0BAAkB,EAAE,CAAC;AAC/F,CAAC;AAED,sDAAsD;AACtD,SAAgB,cAAc,CAAC,YAAoB,EAAE,YAAoB;IACvE,OAAO,GAAG,kBAAkB,CAAC,OAAO,GAAG,0BAAkB,GAAG,YAAY,GAAG,0BAAkB,GAAG,YAAY,EAAE,CAAC;AACjH,CAAC;AAED,2CAA2C;AAC3C,SAAgB,YAAY,CAC1B,YAAoB,EACpB,YAAoB,EACpB,MAAc,EACd,KAAa;IAEb,MAAM,WAAW,GAAG,CAAC,KAAK,GAAG,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IACjG,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CACrF,0BAAkB,CACnB,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAgB,kBAAkB,CAAC,YAAoB,EAAE,YAAoB;IAC3E,OAAO,GAAG,kBAAkB,CAAC,KAAK,GAAG,0BAAkB,GAAG,YAAY,GAAG,0BAAkB,GAAG,YAAY,GAAG,0BAAkB,EAAE,CAAC;AACpI,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { QueryCommandInput } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
/** Options for {@link beginsWithQuery}. */
|
|
3
|
+
export interface BeginsWithQueryOptions {
|
|
4
|
+
limit?: number;
|
|
5
|
+
ascending?: boolean;
|
|
6
|
+
consistent?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** Build a Query input selecting every item in a partition (all sort keys). */
|
|
9
|
+
export declare function partitionQuery(tableName: string, partition: string): QueryCommandInput;
|
|
10
|
+
/**
|
|
11
|
+
* Build a Query input selecting items whose partition equals `partition` and
|
|
12
|
+
* whose sort key begins with `skPrefix`. Names are aliased so reserved words
|
|
13
|
+
* never appear bare. Defaults to newest-first ordering.
|
|
14
|
+
*/
|
|
15
|
+
export declare function beginsWithQuery(tableName: string, partition: string, skPrefix: string, options?: BeginsWithQueryOptions): QueryCommandInput;
|
|
16
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/internal/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAOtF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,iBAAiB,CAWnB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.partitionQuery = partitionQuery;
|
|
4
|
+
exports.beginsWithQuery = beginsWithQuery;
|
|
5
|
+
/** Build a Query input selecting every item in a partition (all sort keys). */
|
|
6
|
+
function partitionQuery(tableName, partition) {
|
|
7
|
+
return {
|
|
8
|
+
TableName: tableName,
|
|
9
|
+
KeyConditionExpression: '#pk = :pk',
|
|
10
|
+
ExpressionAttributeNames: { '#pk': 'PK' },
|
|
11
|
+
ExpressionAttributeValues: { ':pk': partition },
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Build a Query input selecting items whose partition equals `partition` and
|
|
16
|
+
* whose sort key begins with `skPrefix`. Names are aliased so reserved words
|
|
17
|
+
* never appear bare. Defaults to newest-first ordering.
|
|
18
|
+
*/
|
|
19
|
+
function beginsWithQuery(tableName, partition, skPrefix, options = {}) {
|
|
20
|
+
const params = {
|
|
21
|
+
TableName: tableName,
|
|
22
|
+
KeyConditionExpression: '#pk = :pk AND begins_with(#sk, :skPrefix)',
|
|
23
|
+
ExpressionAttributeNames: { '#pk': 'PK', '#sk': 'SK' },
|
|
24
|
+
ExpressionAttributeValues: { ':pk': partition, ':skPrefix': skPrefix },
|
|
25
|
+
ScanIndexForward: options.ascending ?? false,
|
|
26
|
+
};
|
|
27
|
+
if (options.limit !== undefined)
|
|
28
|
+
params.Limit = options.limit;
|
|
29
|
+
if (options.consistent)
|
|
30
|
+
params.ConsistentRead = true;
|
|
31
|
+
return params;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/checkpointer/internal/query.ts"],"names":[],"mappings":";;AAUA,wCAOC;AAOD,0CAgBC;AA/BD,+EAA+E;AAC/E,SAAgB,cAAc,CAAC,SAAiB,EAAE,SAAiB;IACjE,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,sBAAsB,EAAE,WAAW;QACnC,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACzC,yBAAyB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;KAChD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,UAAkC,EAAE;IAEpC,MAAM,MAAM,GAAsB;QAChC,SAAS,EAAE,SAAS;QACpB,sBAAsB,EAAE,2CAA2C;QACnE,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QACtD,yBAAyB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE;QACtE,gBAAgB,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KAC7C,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC9D,IAAI,OAAO,CAAC,UAAU;QAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
2
|
+
import type { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
|
|
3
|
+
import type { SerializerProtocol } from '@langchain/langgraph-checkpoint';
|
|
4
|
+
import type { CompressionConfig } from '../../shared/codec/compression';
|
|
5
|
+
import { S3Offloader } from '../../shared/codec/s3/offloader';
|
|
6
|
+
import { type Logger } from '../../shared/logging/logger';
|
|
7
|
+
import type { TtlOption } from '../../shared/validation/ttl';
|
|
8
|
+
import type { DynamoDBSaverOptions } from '../types';
|
|
9
|
+
/** Resolved collaborators shared by every checkpointer action. */
|
|
10
|
+
export interface CheckpointerContext {
|
|
11
|
+
client: DynamoDBDocument;
|
|
12
|
+
tableName: string;
|
|
13
|
+
serde: SerializerProtocol;
|
|
14
|
+
compression?: CompressionConfig;
|
|
15
|
+
offloader?: S3Offloader;
|
|
16
|
+
ttl?: TtlOption;
|
|
17
|
+
logger: Logger;
|
|
18
|
+
}
|
|
19
|
+
/** Result of wiring up a checkpointer from its options. */
|
|
20
|
+
export interface CheckpointerSetup {
|
|
21
|
+
context: CheckpointerContext;
|
|
22
|
+
ddbClient: DynamoDBClient | undefined;
|
|
23
|
+
ownsClient: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the DynamoDB client, optional S3 offloader, and logging into the
|
|
27
|
+
* context every action receives, plus the ownership info the class needs to
|
|
28
|
+
* tear resources down.
|
|
29
|
+
*/
|
|
30
|
+
export declare function setUpCheckpointer(options: DynamoDBSaverOptions, serde: SerializerProtocol): CheckpointerSetup;
|
|
31
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/internal/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,kBAAkB,GACxB,iBAAiB,CAgBnB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setUpCheckpointer = setUpCheckpointer;
|
|
4
|
+
const offloader_1 = require("../../shared/codec/s3/offloader");
|
|
5
|
+
const client_1 = require("../../shared/dynamodb/client");
|
|
6
|
+
const logger_1 = require("../../shared/logging/logger");
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the DynamoDB client, optional S3 offloader, and logging into the
|
|
9
|
+
* context every action receives, plus the ownership info the class needs to
|
|
10
|
+
* tear resources down.
|
|
11
|
+
*/
|
|
12
|
+
function setUpCheckpointer(options, serde) {
|
|
13
|
+
const resolved = (0, client_1.resolveDynamoDBClient)(options);
|
|
14
|
+
const offloader = options.s3 ? new offloader_1.S3Offloader(options.s3) : undefined;
|
|
15
|
+
return {
|
|
16
|
+
context: {
|
|
17
|
+
client: resolved.client,
|
|
18
|
+
tableName: options.tableName,
|
|
19
|
+
serde,
|
|
20
|
+
compression: options.compression,
|
|
21
|
+
offloader,
|
|
22
|
+
ttl: options.ttl,
|
|
23
|
+
logger: (0, logger_1.resolveLogger)(options.logger),
|
|
24
|
+
},
|
|
25
|
+
ddbClient: resolved.ddbClient,
|
|
26
|
+
ownsClient: resolved.ownsClient,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/checkpointer/internal/setup.ts"],"names":[],"mappings":";;AAkCA,8CAmBC;AAhDD,+DAA8D;AAC9D,yDAAqE;AACrE,wDAAyE;AAsBzE;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,OAA6B,EAC7B,KAAyB;IAEzB,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,uBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS;YACT,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,IAAA,sBAAa,EAAC,OAAO,CAAC,MAAM,CAAC;SACtC;QACD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Validate a thread id is a non-empty, separator-free string. */
|
|
2
|
+
export declare function validateThreadId(threadId: string): void;
|
|
3
|
+
/** Validate a checkpoint namespace is separator-free (empty is the root namespace). */
|
|
4
|
+
export declare function validateCheckpointNs(checkpointNs: string): void;
|
|
5
|
+
/** Validate a checkpoint id is a non-empty, separator-free string. */
|
|
6
|
+
export declare function validateCheckpointId(checkpointId: string): void;
|
|
7
|
+
/** Validate a task id is a non-empty, separator-free string. */
|
|
8
|
+
export declare function validateTaskId(taskId: string): void;
|
|
9
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/checkpointer/internal/validation.ts"],"names":[],"mappings":"AAGA,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAE/D;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAG/D;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGnD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateThreadId = validateThreadId;
|
|
4
|
+
exports.validateCheckpointNs = validateCheckpointNs;
|
|
5
|
+
exports.validateCheckpointId = validateCheckpointId;
|
|
6
|
+
exports.validateTaskId = validateTaskId;
|
|
7
|
+
const primitives_1 = require("../../shared/validation/primitives");
|
|
8
|
+
const keys_1 = require("./keys");
|
|
9
|
+
/** Validate a thread id is a non-empty, separator-free string. */
|
|
10
|
+
function validateThreadId(threadId) {
|
|
11
|
+
(0, primitives_1.validateNonEmptyString)(threadId, 'thread_id');
|
|
12
|
+
(0, primitives_1.assertNoSeparator)(threadId, keys_1.SORT_KEY_SEPARATOR, 'thread_id');
|
|
13
|
+
}
|
|
14
|
+
/** Validate a checkpoint namespace is separator-free (empty is the root namespace). */
|
|
15
|
+
function validateCheckpointNs(checkpointNs) {
|
|
16
|
+
(0, primitives_1.assertNoSeparator)(checkpointNs, keys_1.SORT_KEY_SEPARATOR, 'checkpoint_ns');
|
|
17
|
+
}
|
|
18
|
+
/** Validate a checkpoint id is a non-empty, separator-free string. */
|
|
19
|
+
function validateCheckpointId(checkpointId) {
|
|
20
|
+
(0, primitives_1.validateNonEmptyString)(checkpointId, 'checkpoint_id');
|
|
21
|
+
(0, primitives_1.assertNoSeparator)(checkpointId, keys_1.SORT_KEY_SEPARATOR, 'checkpoint_id');
|
|
22
|
+
}
|
|
23
|
+
/** Validate a task id is a non-empty, separator-free string. */
|
|
24
|
+
function validateTaskId(taskId) {
|
|
25
|
+
(0, primitives_1.validateNonEmptyString)(taskId, 'taskId');
|
|
26
|
+
(0, primitives_1.assertNoSeparator)(taskId, keys_1.SORT_KEY_SEPARATOR, 'taskId');
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/checkpointer/internal/validation.ts"],"names":[],"mappings":";;AAIA,4CAGC;AAGD,oDAEC;AAGD,oDAGC;AAGD,wCAGC;AAxBD,mEAA+F;AAC/F,iCAA4C;AAE5C,kEAAkE;AAClE,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,IAAA,mCAAsB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,IAAA,8BAAiB,EAAC,QAAQ,EAAE,yBAAkB,EAAE,WAAW,CAAC,CAAC;AAC/D,CAAC;AAED,uFAAuF;AACvF,SAAgB,oBAAoB,CAAC,YAAoB;IACvD,IAAA,8BAAiB,EAAC,YAAY,EAAE,yBAAkB,EAAE,eAAe,CAAC,CAAC;AACvE,CAAC;AAED,sEAAsE;AACtE,SAAgB,oBAAoB,CAAC,YAAoB;IACvD,IAAA,mCAAsB,EAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACtD,IAAA,8BAAiB,EAAC,YAAY,EAAE,yBAAkB,EAAE,eAAe,CAAC,CAAC;AACvE,CAAC;AAED,gEAAgE;AAChE,SAAgB,cAAc,CAAC,MAAc;IAC3C,IAAA,mCAAsB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAA,8BAAiB,EAAC,MAAM,EAAE,yBAAkB,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RunnableConfig } from '@langchain/core/runnables';
|
|
2
|
+
import { BaseCheckpointSaver, type Checkpoint, type CheckpointListOptions, type CheckpointMetadata, type CheckpointTuple, type PendingWrite } from '@langchain/langgraph-checkpoint';
|
|
3
|
+
import type { DynamoDBSaverOptions } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* DynamoDB-backed LangGraph checkpoint saver. A thin orchestrator: it resolves
|
|
6
|
+
* its collaborators once and delegates every operation to a focused action.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DynamoDBSaver extends BaseCheckpointSaver {
|
|
9
|
+
private readonly context;
|
|
10
|
+
private readonly ownsClient;
|
|
11
|
+
private readonly ddbClient;
|
|
12
|
+
constructor(options: DynamoDBSaverOptions);
|
|
13
|
+
getTuple(config: RunnableConfig): Promise<CheckpointTuple | undefined>;
|
|
14
|
+
list(config: RunnableConfig, options?: CheckpointListOptions): AsyncGenerator<CheckpointTuple>;
|
|
15
|
+
put(config: RunnableConfig, checkpoint: Checkpoint, metadata: CheckpointMetadata): Promise<RunnableConfig>;
|
|
16
|
+
putWrites(config: RunnableConfig, writes: PendingWrite[], taskId: string): Promise<void>;
|
|
17
|
+
deleteThread(threadId: string): Promise<void>;
|
|
18
|
+
/** Release owned resources (the underlying client and any S3 client). */
|
|
19
|
+
destroy(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=saver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saver.d.ts","sourceRoot":"","sources":["../../src/checkpointer/saver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoD;gBAElE,OAAO,EAAE,oBAAoB;IAQnC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAI5E,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC;IAIxF,GAAG,CACP,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;IAIpB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxF,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,yEAAyE;IACzE,OAAO,IAAI,IAAI;CAIhB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DynamoDBSaver = void 0;
|
|
4
|
+
const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
|
|
5
|
+
const delete_thread_1 = require("./actions/delete-thread");
|
|
6
|
+
const get_tuple_1 = require("./actions/get-tuple");
|
|
7
|
+
const list_1 = require("./actions/list");
|
|
8
|
+
const put_1 = require("./actions/put");
|
|
9
|
+
const put_writes_1 = require("./actions/put-writes");
|
|
10
|
+
const setup_1 = require("./internal/setup");
|
|
11
|
+
/**
|
|
12
|
+
* DynamoDB-backed LangGraph checkpoint saver. A thin orchestrator: it resolves
|
|
13
|
+
* its collaborators once and delegates every operation to a focused action.
|
|
14
|
+
*/
|
|
15
|
+
class DynamoDBSaver extends langgraph_checkpoint_1.BaseCheckpointSaver {
|
|
16
|
+
context;
|
|
17
|
+
ownsClient;
|
|
18
|
+
ddbClient;
|
|
19
|
+
constructor(options) {
|
|
20
|
+
super(options.serde);
|
|
21
|
+
const setup = (0, setup_1.setUpCheckpointer)(options, this.serde);
|
|
22
|
+
this.context = setup.context;
|
|
23
|
+
this.ownsClient = setup.ownsClient;
|
|
24
|
+
this.ddbClient = setup.ddbClient;
|
|
25
|
+
}
|
|
26
|
+
async getTuple(config) {
|
|
27
|
+
return (0, get_tuple_1.getCheckpointTuple)(this.context, config);
|
|
28
|
+
}
|
|
29
|
+
list(config, options) {
|
|
30
|
+
return (0, list_1.listCheckpoints)(this.context, config, options);
|
|
31
|
+
}
|
|
32
|
+
async put(config, checkpoint, metadata) {
|
|
33
|
+
return (0, put_1.putCheckpoint)(this.context, config, checkpoint, metadata);
|
|
34
|
+
}
|
|
35
|
+
async putWrites(config, writes, taskId) {
|
|
36
|
+
return (0, put_writes_1.putWrites)(this.context, config, writes, taskId);
|
|
37
|
+
}
|
|
38
|
+
async deleteThread(threadId) {
|
|
39
|
+
return (0, delete_thread_1.deleteThread)(this.context, threadId);
|
|
40
|
+
}
|
|
41
|
+
/** Release owned resources (the underlying client and any S3 client). */
|
|
42
|
+
destroy() {
|
|
43
|
+
this.context.offloader?.destroy();
|
|
44
|
+
if (this.ownsClient)
|
|
45
|
+
this.ddbClient?.destroy();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.DynamoDBSaver = DynamoDBSaver;
|
|
49
|
+
//# sourceMappingURL=saver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saver.js","sourceRoot":"","sources":["../../src/checkpointer/saver.ts"],"names":[],"mappings":";;;AACA,0EAOyC;AAEzC,2DAA6E;AAC7E,mDAAyD;AACzD,yCAAiD;AACjD,uCAA8C;AAC9C,qDAAoE;AACpE,4CAA+E;AAG/E;;;GAGG;AACH,MAAa,aAAc,SAAQ,0CAAmB;IACnC,OAAO,CAAsB;IAC7B,UAAU,CAAU;IACpB,SAAS,CAAoD;IAE9E,YAAY,OAA6B;QACvC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,IAAA,yBAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAsB;QACnC,OAAO,IAAA,8BAAkB,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,MAAsB,EAAE,OAA+B;QAC1D,OAAO,IAAA,sBAAe,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,MAAsB,EACtB,UAAsB,EACtB,QAA4B;QAE5B,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAsB,EAAE,MAAsB,EAAE,MAAc;QAC5E,OAAO,IAAA,sBAAe,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,IAAA,4BAAkB,EAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,yEAAyE;IACzE,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;CACF;AA1CD,sCA0CC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { SerializerProtocol } from '@langchain/langgraph-checkpoint';
|
|
2
|
+
import type { PayloadDescriptor } from '../shared/codec/codec';
|
|
3
|
+
import type { BaseAdapterOptions, CodecOptions } from '../shared/options';
|
|
4
|
+
/** Options for {@link DynamoDBSaver}. */
|
|
5
|
+
export type DynamoDBSaverOptions = BaseAdapterOptions & CodecOptions & {
|
|
6
|
+
/** Optional serializer override (defaults to LangGraph's JSON serializer). */
|
|
7
|
+
serde?: SerializerProtocol;
|
|
8
|
+
};
|
|
9
|
+
/** Narrowed shape of `RunnableConfig.configurable` the saver relies on. */
|
|
10
|
+
export interface CheckpointConfigurable {
|
|
11
|
+
thread_id: string;
|
|
12
|
+
checkpoint_ns?: string;
|
|
13
|
+
checkpoint_id?: string;
|
|
14
|
+
}
|
|
15
|
+
/** The lightweight `META#` item: structural fields + serialized metadata. */
|
|
16
|
+
export interface CheckpointMetaItem {
|
|
17
|
+
PK: string;
|
|
18
|
+
SK: string;
|
|
19
|
+
threadId: string;
|
|
20
|
+
checkpointNs: string;
|
|
21
|
+
checkpointId: string;
|
|
22
|
+
parentCheckpointId?: string;
|
|
23
|
+
metadata: PayloadDescriptor;
|
|
24
|
+
ttl?: number;
|
|
25
|
+
}
|
|
26
|
+
/** The heavy `PAYLOAD#` item: the serialized checkpoint. */
|
|
27
|
+
export interface CheckpointPayloadItem {
|
|
28
|
+
PK: string;
|
|
29
|
+
SK: string;
|
|
30
|
+
checkpoint: PayloadDescriptor;
|
|
31
|
+
ttl?: number;
|
|
32
|
+
}
|
|
33
|
+
/** A `WRITE#` item: one pending write for a checkpoint/task. */
|
|
34
|
+
export interface CheckpointWriteItem {
|
|
35
|
+
PK: string;
|
|
36
|
+
SK: string;
|
|
37
|
+
taskId: string;
|
|
38
|
+
index: number;
|
|
39
|
+
channel: string;
|
|
40
|
+
value: PayloadDescriptor;
|
|
41
|
+
ttl?: number;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checkpointer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1E,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GACnD,YAAY,GAAG;IACb,8EAA8E;IAC9E,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEJ,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,iBAAiB,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,iBAAiB,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/checkpointer/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { DynamoDBClient, type DynamoDBClientConfig } from '@aws-sdk/client-dynamodb';
|
|
2
|
+
import { DynamoDBSaver } from '../checkpointer/saver';
|
|
3
|
+
import type { DynamoDBSaverOptions } from '../checkpointer/types';
|
|
4
|
+
import { DynamoDBChatMessageHistory } from '../history/chat-message-history';
|
|
5
|
+
import type { DynamoDBChatMessageHistoryOptions } from '../history/types';
|
|
6
|
+
import type { Logger } from '../shared/logging/logger';
|
|
7
|
+
import { DynamoDBStore } from '../store/store';
|
|
8
|
+
import type { DynamoDBStoreOptions } from '../store/types';
|
|
9
|
+
/** Shared client/logger defaults applied to every adapter the factory builds. */
|
|
10
|
+
export interface FactoryBaseOptions {
|
|
11
|
+
clientConfig?: DynamoDBClientConfig;
|
|
12
|
+
createClient?: (config: DynamoDBClientConfig) => DynamoDBClient;
|
|
13
|
+
logger?: Logger;
|
|
14
|
+
}
|
|
15
|
+
/** Per-adapter options for {@link DynamoDBFactory.createAll} (client is shared). */
|
|
16
|
+
export interface CreateAllOptions {
|
|
17
|
+
saver: Omit<DynamoDBSaverOptions, 'client'>;
|
|
18
|
+
store: Omit<DynamoDBStoreOptions, 'client'>;
|
|
19
|
+
history: Omit<DynamoDBChatMessageHistoryOptions, 'client'>;
|
|
20
|
+
}
|
|
21
|
+
/** The three adapters sharing one client, plus a combined `destroy`. */
|
|
22
|
+
export interface CreatedAdapters {
|
|
23
|
+
saver: DynamoDBSaver;
|
|
24
|
+
store: DynamoDBStore;
|
|
25
|
+
history: DynamoDBChatMessageHistory;
|
|
26
|
+
destroy: () => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Convenience constructors for the adapters. Individual `create*` methods each
|
|
30
|
+
* build their own client; {@link createAll} builds one shared client used by all
|
|
31
|
+
* three and returns a combined `destroy` that tears everything down once.
|
|
32
|
+
*/
|
|
33
|
+
export declare class DynamoDBFactory {
|
|
34
|
+
private readonly base;
|
|
35
|
+
constructor(base?: FactoryBaseOptions);
|
|
36
|
+
createSaver(options: DynamoDBSaverOptions): DynamoDBSaver;
|
|
37
|
+
createStore(options: DynamoDBStoreOptions): DynamoDBStore;
|
|
38
|
+
createChatMessageHistory(options: DynamoDBChatMessageHistoryOptions): DynamoDBChatMessageHistory;
|
|
39
|
+
createAll(options: CreateAllOptions): CreatedAdapters;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,cAAc,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC5C,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC5C,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAC;CAC5D;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,0BAA0B,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE,kBAAuB;IAE1D,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa;IAIzD,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa;IAIzD,wBAAwB,CAAC,OAAO,EAAE,iCAAiC,GAAG,0BAA0B;IAIhG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe;CAmBtD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DynamoDBFactory = void 0;
|
|
4
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
5
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
6
|
+
const saver_1 = require("../checkpointer/saver");
|
|
7
|
+
const chat_message_history_1 = require("../history/chat-message-history");
|
|
8
|
+
const store_1 = require("../store/store");
|
|
9
|
+
/**
|
|
10
|
+
* Convenience constructors for the adapters. Individual `create*` methods each
|
|
11
|
+
* build their own client; {@link createAll} builds one shared client used by all
|
|
12
|
+
* three and returns a combined `destroy` that tears everything down once.
|
|
13
|
+
*/
|
|
14
|
+
class DynamoDBFactory {
|
|
15
|
+
base;
|
|
16
|
+
constructor(base = {}) {
|
|
17
|
+
this.base = base;
|
|
18
|
+
}
|
|
19
|
+
createSaver(options) {
|
|
20
|
+
return new saver_1.DynamoDBSaver({ ...this.base, ...options });
|
|
21
|
+
}
|
|
22
|
+
createStore(options) {
|
|
23
|
+
return new store_1.DynamoDBStore({ ...this.base, ...options });
|
|
24
|
+
}
|
|
25
|
+
createChatMessageHistory(options) {
|
|
26
|
+
return new chat_message_history_1.DynamoDBChatMessageHistory({ ...this.base, ...options });
|
|
27
|
+
}
|
|
28
|
+
createAll(options) {
|
|
29
|
+
const build = this.base.createClient ?? ((config) => new client_dynamodb_1.DynamoDBClient(config));
|
|
30
|
+
const ddbClient = build(this.base.clientConfig ?? {});
|
|
31
|
+
const client = lib_dynamodb_1.DynamoDBDocument.from(ddbClient);
|
|
32
|
+
const saver = new saver_1.DynamoDBSaver({ ...this.base, ...options.saver, client });
|
|
33
|
+
const store = new store_1.DynamoDBStore({ ...this.base, ...options.store, client });
|
|
34
|
+
const history = new chat_message_history_1.DynamoDBChatMessageHistory({ ...this.base, ...options.history, client });
|
|
35
|
+
return {
|
|
36
|
+
saver,
|
|
37
|
+
store,
|
|
38
|
+
history,
|
|
39
|
+
destroy: () => {
|
|
40
|
+
saver.destroy();
|
|
41
|
+
store.destroy();
|
|
42
|
+
history.destroy();
|
|
43
|
+
ddbClient.destroy();
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.DynamoDBFactory = DynamoDBFactory;
|
|
49
|
+
//# sourceMappingURL=factory.js.map
|