@farukada/aws-langgraph-dynamodb-ts 1.0.0-rc.1 → 1.0.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 +1820 -290
- package/dist/cjs/backfill/backfill.d.ts +171 -0
- package/dist/cjs/backfill/backfill.js +177 -0
- package/dist/cjs/checkpointer/actions/delete-thread.d.ts +50 -0
- package/dist/cjs/checkpointer/actions/delete-thread.js +26 -0
- package/dist/cjs/checkpointer/actions/get-tuple.d.ts +36 -0
- package/dist/cjs/checkpointer/actions/get-tuple.js +22 -0
- package/dist/cjs/checkpointer/actions/list.d.ts +55 -0
- package/dist/cjs/checkpointer/actions/list.js +70 -0
- package/dist/cjs/checkpointer/actions/put-writes.d.ts +49 -0
- package/dist/cjs/checkpointer/actions/put-writes.js +21 -0
- package/dist/cjs/checkpointer/actions/put.d.ts +95 -0
- package/dist/cjs/checkpointer/actions/put.js +79 -0
- package/dist/cjs/checkpointer/internal/delta-history.d.ts +124 -0
- package/dist/cjs/checkpointer/internal/delta-history.js +131 -0
- package/dist/cjs/checkpointer/internal/listing.d.ts +149 -0
- package/dist/cjs/checkpointer/internal/listing.js +104 -0
- package/dist/cjs/checkpointer/internal/parse.d.ts +298 -0
- package/dist/cjs/checkpointer/internal/parse.js +184 -0
- package/dist/cjs/checkpointer/internal/pending-writes.d.ts +314 -0
- package/dist/cjs/checkpointer/internal/pending-writes.js +241 -0
- package/dist/cjs/checkpointer/internal/read.d.ts +135 -0
- package/dist/cjs/checkpointer/internal/read.js +132 -0
- package/dist/cjs/checkpointer/internal/rows.d.ts +644 -0
- package/dist/cjs/checkpointer/internal/rows.js +356 -0
- package/dist/cjs/checkpointer/internal/setup.d.ts +47 -0
- package/dist/cjs/checkpointer/internal/setup.js +25 -0
- package/dist/cjs/checkpointer/saver.d.ts +306 -0
- package/dist/cjs/checkpointer/saver.js +56 -0
- package/dist/cjs/checkpointer/types.d.ts +51 -0
- package/dist/cjs/factory/factory.d.ts +154 -0
- package/dist/cjs/factory/factory.js +137 -0
- package/dist/{factory → cjs/factory}/types.d.ts +33 -14
- package/dist/cjs/history/actions/add-messages.d.ts +51 -0
- package/dist/cjs/history/actions/add-messages.js +17 -0
- package/dist/cjs/history/actions/clear.d.ts +52 -0
- package/dist/cjs/history/actions/clear.js +29 -0
- package/dist/cjs/history/actions/get-messages.d.ts +60 -0
- package/dist/cjs/history/actions/get-messages.js +58 -0
- package/dist/cjs/history/actions/list-sessions.d.ts +55 -0
- package/dist/cjs/history/actions/list-sessions.js +67 -0
- package/dist/cjs/history/actions/reconcile-count.d.ts +49 -0
- package/dist/cjs/history/actions/reconcile-count.js +8 -0
- package/dist/cjs/history/chat-message-history.d.ts +267 -0
- package/dist/cjs/history/chat-message-history.js +61 -0
- package/dist/cjs/history/internal/append.d.ts +244 -0
- package/dist/cjs/history/internal/append.js +267 -0
- package/dist/cjs/history/internal/message-read.d.ts +84 -0
- package/dist/cjs/history/internal/message-read.js +93 -0
- package/dist/cjs/history/internal/parse.d.ts +153 -0
- package/dist/cjs/history/internal/parse.js +113 -0
- package/dist/cjs/history/internal/rows.d.ts +196 -0
- package/dist/cjs/history/internal/rows.js +96 -0
- package/dist/cjs/history/internal/session.d.ts +350 -0
- package/dist/cjs/history/internal/session.js +296 -0
- package/dist/cjs/history/internal/setup.d.ts +64 -0
- package/dist/cjs/history/internal/setup.js +60 -0
- package/dist/cjs/history/session-adapter.d.ts +112 -0
- package/dist/cjs/history/session-adapter.js +38 -0
- package/dist/cjs/history/types.d.ts +102 -0
- package/dist/cjs/index.d.ts +53 -0
- package/dist/cjs/index.js +25 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/shared/adapter.d.ts +146 -0
- package/dist/cjs/shared/adapter.js +70 -0
- package/dist/cjs/shared/clock.d.ts +52 -0
- package/dist/cjs/shared/clock.js +14 -0
- package/dist/cjs/shared/codec/codec.d.ts +336 -0
- package/dist/cjs/shared/codec/codec.js +162 -0
- package/dist/cjs/shared/codec/compression.d.ts +66 -0
- package/dist/cjs/shared/codec/compression.js +45 -0
- package/dist/cjs/shared/codec/json-serde.d.ts +80 -0
- package/dist/cjs/shared/codec/json-serde.js +58 -0
- package/dist/{shared → cjs/shared}/codec/s3/client-types.d.ts +22 -2
- package/dist/{shared → cjs/shared}/codec/s3/client-types.js +0 -1
- package/dist/cjs/shared/codec/s3/client.d.ts +63 -0
- package/dist/cjs/shared/codec/s3/client.js +78 -0
- package/dist/cjs/shared/codec/s3/config.d.ts +260 -0
- package/dist/cjs/shared/codec/s3/config.js +92 -0
- package/dist/cjs/shared/codec/s3/lifecycle.d.ts +220 -0
- package/dist/cjs/shared/codec/s3/lifecycle.js +223 -0
- package/dist/cjs/shared/codec/s3/offloader.d.ts +428 -0
- package/dist/cjs/shared/codec/s3/offloader.js +289 -0
- package/dist/cjs/shared/concurrency.d.ts +43 -0
- package/dist/{shared → cjs/shared}/concurrency.js +10 -9
- package/dist/cjs/shared/dynamodb/abort.d.ts +47 -0
- package/dist/cjs/shared/dynamodb/abort.js +16 -0
- package/dist/cjs/shared/dynamodb/batch-write.d.ts +86 -0
- package/dist/cjs/shared/dynamodb/batch-write.js +79 -0
- package/dist/cjs/shared/dynamodb/cancellation.d.ts +124 -0
- package/dist/cjs/shared/dynamodb/cancellation.js +37 -0
- package/dist/cjs/shared/dynamodb/client.d.ts +177 -0
- package/dist/{shared → cjs/shared}/dynamodb/client.js +12 -14
- package/dist/cjs/shared/dynamodb/idempotent-write.d.ts +596 -0
- package/dist/cjs/shared/dynamodb/idempotent-write.js +173 -0
- package/dist/cjs/shared/dynamodb/paginate.d.ts +111 -0
- package/dist/cjs/shared/dynamodb/paginate.js +90 -0
- package/dist/cjs/shared/dynamodb/partition-delete.d.ts +204 -0
- package/dist/cjs/shared/dynamodb/partition-delete.js +177 -0
- package/dist/cjs/shared/dynamodb/recency-index.d.ts +243 -0
- package/dist/cjs/shared/dynamodb/recency-index.js +146 -0
- package/dist/cjs/shared/dynamodb/retry.d.ts +317 -0
- package/dist/cjs/shared/dynamodb/retry.js +193 -0
- package/dist/cjs/shared/dynamodb/row-size.d.ts +33 -0
- package/dist/cjs/shared/dynamodb/row-size.js +30 -0
- package/dist/cjs/shared/dynamodb/table-schema.d.ts +199 -0
- package/dist/cjs/shared/dynamodb/table-schema.js +52 -0
- package/dist/cjs/shared/errors/base-error.d.ts +231 -0
- package/dist/cjs/shared/errors/base-error.js +73 -0
- package/dist/cjs/shared/errors/boundary.d.ts +86 -0
- package/dist/cjs/shared/errors/boundary.js +61 -0
- package/dist/cjs/shared/errors/classify.d.ts +206 -0
- package/dist/cjs/shared/errors/classify.js +232 -0
- package/dist/cjs/shared/errors/error-code.d.ts +95 -0
- package/dist/{shared → cjs/shared}/errors/error-code.js +12 -2
- package/dist/cjs/shared/errors/errors.d.ts +233 -0
- package/dist/cjs/shared/errors/errors.js +123 -0
- package/dist/cjs/shared/logging/logger.d.ts +80 -0
- package/dist/cjs/shared/logging/logger.js +30 -0
- package/dist/cjs/shared/logging/redaction.d.ts +123 -0
- package/dist/cjs/shared/logging/redaction.js +145 -0
- package/dist/cjs/shared/logging/secret-patterns.d.ts +227 -0
- package/dist/cjs/shared/logging/secret-patterns.js +93 -0
- package/dist/cjs/shared/logging/truncate.d.ts +197 -0
- package/dist/cjs/shared/logging/truncate.js +31 -0
- package/dist/cjs/shared/options.d.ts +100 -0
- package/dist/cjs/shared/ulid.d.ts +80 -0
- package/dist/{shared → cjs/shared}/ulid.js +7 -21
- package/dist/cjs/shared/validation/collaborators.d.ts +160 -0
- package/dist/cjs/shared/validation/collaborators.js +79 -0
- package/dist/cjs/shared/validation/option-shape.d.ts +91 -0
- package/dist/cjs/shared/validation/option-shape.js +31 -0
- package/dist/cjs/shared/validation/options.d.ts +145 -0
- package/dist/cjs/shared/validation/options.js +166 -0
- package/dist/cjs/shared/validation/primitives.d.ts +292 -0
- package/dist/cjs/shared/validation/primitives.js +114 -0
- package/dist/cjs/shared/validation/ttl.d.ts +94 -0
- package/dist/cjs/shared/validation/ttl.js +52 -0
- package/dist/cjs/store/actions/list-namespaces.d.ts +79 -0
- package/dist/cjs/store/actions/list-namespaces.js +92 -0
- package/dist/cjs/store/actions/put.d.ts +43 -0
- package/dist/cjs/store/actions/put.js +49 -0
- package/dist/cjs/store/actions/reconcile-vector-index.d.ts +38 -0
- package/dist/cjs/store/actions/reconcile-vector-index.js +13 -0
- package/dist/cjs/store/actions/search.d.ts +38 -0
- package/dist/cjs/store/actions/search.js +26 -0
- package/dist/cjs/store/internal/batch-plan.d.ts +56 -0
- package/dist/cjs/store/internal/batch-plan.js +32 -0
- package/dist/cjs/store/internal/filter.d.ts +43 -0
- package/dist/cjs/store/internal/filter.js +64 -0
- package/dist/cjs/store/internal/get-item.d.ts +77 -0
- package/dist/cjs/store/internal/get-item.js +58 -0
- package/dist/cjs/store/internal/item-write.d.ts +270 -0
- package/dist/cjs/store/internal/item-write.js +181 -0
- package/dist/cjs/store/internal/parse.d.ts +230 -0
- package/dist/cjs/store/internal/parse.js +180 -0
- package/dist/cjs/store/internal/rows.d.ts +359 -0
- package/dist/cjs/store/internal/rows.js +166 -0
- package/dist/cjs/store/internal/semantic-search.d.ts +168 -0
- package/dist/{store/internal/text-path.js → cjs/store/internal/semantic-search.js} +92 -28
- package/dist/cjs/store/internal/setup.d.ts +96 -0
- package/dist/cjs/store/internal/setup.js +103 -0
- package/dist/cjs/store/internal/table-search.d.ts +100 -0
- package/dist/cjs/store/internal/table-search.js +123 -0
- package/dist/cjs/store/internal/vector-index.d.ts +258 -0
- package/dist/cjs/store/internal/vector-index.js +269 -0
- package/dist/cjs/store/store.d.ts +329 -0
- package/dist/cjs/store/store.js +97 -0
- package/dist/cjs/store/types.d.ts +111 -0
- package/dist/cjs/store/vector-backend.d.ts +104 -0
- package/dist/cjs/store/vector-backend.js +4 -0
- package/dist/esm/backfill/backfill.d.ts +171 -0
- package/dist/esm/backfill/backfill.js +170 -0
- package/dist/esm/checkpointer/actions/delete-thread.d.ts +50 -0
- package/dist/esm/checkpointer/actions/delete-thread.js +23 -0
- package/dist/esm/checkpointer/actions/get-tuple.d.ts +36 -0
- package/dist/esm/checkpointer/actions/get-tuple.js +19 -0
- package/dist/esm/checkpointer/actions/list.d.ts +55 -0
- package/dist/esm/checkpointer/actions/list.js +67 -0
- package/dist/esm/checkpointer/actions/put-writes.d.ts +49 -0
- package/dist/esm/checkpointer/actions/put-writes.js +18 -0
- package/dist/esm/checkpointer/actions/put.d.ts +95 -0
- package/dist/esm/checkpointer/actions/put.js +75 -0
- package/dist/esm/checkpointer/internal/delta-history.d.ts +124 -0
- package/dist/esm/checkpointer/internal/delta-history.js +126 -0
- package/dist/esm/checkpointer/internal/listing.d.ts +149 -0
- package/dist/esm/checkpointer/internal/listing.js +95 -0
- package/dist/esm/checkpointer/internal/parse.d.ts +298 -0
- package/dist/esm/checkpointer/internal/parse.js +169 -0
- package/dist/esm/checkpointer/internal/pending-writes.d.ts +314 -0
- package/dist/esm/checkpointer/internal/pending-writes.js +229 -0
- package/dist/esm/checkpointer/internal/read.d.ts +135 -0
- package/dist/esm/checkpointer/internal/read.js +125 -0
- package/dist/esm/checkpointer/internal/rows.d.ts +644 -0
- package/dist/esm/checkpointer/internal/rows.js +323 -0
- package/dist/esm/checkpointer/internal/setup.d.ts +47 -0
- package/dist/esm/checkpointer/internal/setup.js +21 -0
- package/dist/esm/checkpointer/saver.d.ts +306 -0
- package/dist/esm/checkpointer/saver.js +52 -0
- package/dist/esm/checkpointer/types.d.ts +51 -0
- package/dist/esm/checkpointer/types.js +1 -0
- package/dist/esm/factory/factory.d.ts +154 -0
- package/dist/esm/factory/factory.js +133 -0
- package/dist/esm/factory/types.d.ts +76 -0
- package/dist/esm/factory/types.js +1 -0
- package/dist/esm/history/actions/add-messages.d.ts +51 -0
- package/dist/esm/history/actions/add-messages.js +14 -0
- package/dist/esm/history/actions/clear.d.ts +52 -0
- package/dist/esm/history/actions/clear.js +26 -0
- package/dist/esm/history/actions/get-messages.d.ts +60 -0
- package/dist/esm/history/actions/get-messages.js +55 -0
- package/dist/esm/history/actions/list-sessions.d.ts +55 -0
- package/dist/esm/history/actions/list-sessions.js +64 -0
- package/dist/esm/history/actions/reconcile-count.d.ts +49 -0
- package/dist/esm/history/actions/reconcile-count.js +5 -0
- package/dist/esm/history/chat-message-history.d.ts +267 -0
- package/dist/esm/history/chat-message-history.js +57 -0
- package/dist/esm/history/internal/append.d.ts +244 -0
- package/dist/esm/history/internal/append.js +259 -0
- package/dist/esm/history/internal/message-read.d.ts +84 -0
- package/dist/esm/history/internal/message-read.js +89 -0
- package/dist/esm/history/internal/parse.d.ts +153 -0
- package/dist/esm/history/internal/parse.js +105 -0
- package/dist/esm/history/internal/rows.d.ts +196 -0
- package/dist/esm/history/internal/rows.js +83 -0
- package/dist/esm/history/internal/session.d.ts +350 -0
- package/dist/esm/history/internal/session.js +285 -0
- package/dist/esm/history/internal/setup.d.ts +64 -0
- package/dist/esm/history/internal/setup.js +56 -0
- package/dist/esm/history/session-adapter.d.ts +112 -0
- package/dist/esm/history/session-adapter.js +34 -0
- package/dist/esm/history/types.d.ts +102 -0
- package/dist/esm/history/types.js +1 -0
- package/dist/esm/index.d.ts +53 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/shared/adapter.d.ts +146 -0
- package/dist/esm/shared/adapter.js +65 -0
- package/dist/esm/shared/clock.d.ts +52 -0
- package/dist/esm/shared/clock.js +9 -0
- package/dist/esm/shared/codec/codec.d.ts +336 -0
- package/dist/esm/shared/codec/codec.js +150 -0
- package/dist/esm/shared/codec/compression.d.ts +66 -0
- package/dist/esm/shared/codec/compression.js +40 -0
- package/dist/esm/shared/codec/json-serde.d.ts +80 -0
- package/dist/esm/shared/codec/json-serde.js +54 -0
- package/dist/esm/shared/codec/s3/client-types.d.ts +54 -0
- package/dist/esm/shared/codec/s3/client-types.js +3 -0
- package/dist/esm/shared/codec/s3/client.d.ts +63 -0
- package/dist/esm/shared/codec/s3/client.js +40 -0
- package/dist/esm/shared/codec/s3/config.d.ts +260 -0
- package/dist/esm/shared/codec/s3/config.js +79 -0
- package/dist/esm/shared/codec/s3/lifecycle.d.ts +220 -0
- package/dist/esm/shared/codec/s3/lifecycle.js +214 -0
- package/dist/esm/shared/codec/s3/offloader.d.ts +428 -0
- package/dist/esm/shared/codec/s3/offloader.js +278 -0
- package/dist/esm/shared/concurrency.d.ts +43 -0
- package/dist/esm/shared/concurrency.js +27 -0
- package/dist/esm/shared/dynamodb/abort.d.ts +47 -0
- package/dist/esm/shared/dynamodb/abort.js +12 -0
- package/dist/esm/shared/dynamodb/batch-write.d.ts +86 -0
- package/dist/esm/shared/dynamodb/batch-write.js +74 -0
- package/dist/esm/shared/dynamodb/cancellation.d.ts +124 -0
- package/dist/esm/shared/dynamodb/cancellation.js +30 -0
- package/dist/esm/shared/dynamodb/client.d.ts +177 -0
- package/dist/esm/shared/dynamodb/client.js +35 -0
- package/dist/esm/shared/dynamodb/idempotent-write.d.ts +596 -0
- package/dist/esm/shared/dynamodb/idempotent-write.js +153 -0
- package/dist/esm/shared/dynamodb/paginate.d.ts +111 -0
- package/dist/esm/shared/dynamodb/paginate.js +84 -0
- package/dist/esm/shared/dynamodb/partition-delete.d.ts +204 -0
- package/dist/esm/shared/dynamodb/partition-delete.js +171 -0
- package/dist/esm/shared/dynamodb/recency-index.d.ts +243 -0
- package/dist/esm/shared/dynamodb/recency-index.js +136 -0
- package/dist/esm/shared/dynamodb/retry.d.ts +317 -0
- package/dist/esm/shared/dynamodb/retry.js +180 -0
- package/dist/esm/shared/dynamodb/row-size.d.ts +33 -0
- package/dist/esm/shared/dynamodb/row-size.js +26 -0
- package/dist/esm/shared/dynamodb/table-schema.d.ts +199 -0
- package/dist/esm/shared/dynamodb/table-schema.js +43 -0
- package/dist/esm/shared/errors/base-error.d.ts +231 -0
- package/dist/esm/shared/errors/base-error.js +64 -0
- package/dist/esm/shared/errors/boundary.d.ts +86 -0
- package/dist/esm/shared/errors/boundary.js +54 -0
- package/dist/esm/shared/errors/classify.d.ts +206 -0
- package/dist/esm/shared/errors/classify.js +220 -0
- package/dist/esm/shared/errors/error-code.d.ts +95 -0
- package/dist/esm/shared/errors/error-code.js +24 -0
- package/dist/esm/shared/errors/errors.d.ts +233 -0
- package/dist/esm/shared/errors/errors.js +110 -0
- package/dist/esm/shared/logging/logger.d.ts +80 -0
- package/dist/esm/shared/logging/logger.js +25 -0
- package/dist/esm/shared/logging/redaction.d.ts +123 -0
- package/dist/esm/shared/logging/redaction.js +140 -0
- package/dist/esm/shared/logging/secret-patterns.d.ts +227 -0
- package/dist/esm/shared/logging/secret-patterns.js +83 -0
- package/dist/esm/shared/logging/truncate.d.ts +197 -0
- package/dist/esm/shared/logging/truncate.js +25 -0
- package/dist/esm/shared/options.d.ts +100 -0
- package/dist/esm/shared/options.js +1 -0
- package/dist/esm/shared/ulid.d.ts +80 -0
- package/dist/esm/shared/ulid.js +77 -0
- package/dist/esm/shared/validation/collaborators.d.ts +160 -0
- package/dist/esm/shared/validation/collaborators.js +70 -0
- package/dist/esm/shared/validation/option-shape.d.ts +91 -0
- package/dist/esm/shared/validation/option-shape.js +24 -0
- package/dist/esm/shared/validation/options.d.ts +145 -0
- package/dist/esm/shared/validation/options.js +156 -0
- package/dist/esm/shared/validation/primitives.d.ts +292 -0
- package/dist/esm/shared/validation/primitives.js +100 -0
- package/dist/esm/shared/validation/ttl.d.ts +94 -0
- package/dist/esm/shared/validation/ttl.js +46 -0
- package/dist/esm/store/actions/list-namespaces.d.ts +79 -0
- package/dist/esm/store/actions/list-namespaces.js +86 -0
- package/dist/esm/store/actions/put.d.ts +43 -0
- package/dist/esm/store/actions/put.js +46 -0
- package/dist/esm/store/actions/reconcile-vector-index.d.ts +38 -0
- package/dist/esm/store/actions/reconcile-vector-index.js +10 -0
- package/dist/esm/store/actions/search.d.ts +38 -0
- package/dist/esm/store/actions/search.js +23 -0
- package/dist/esm/store/internal/batch-plan.d.ts +56 -0
- package/dist/esm/store/internal/batch-plan.js +28 -0
- package/dist/esm/store/internal/filter.d.ts +43 -0
- package/dist/esm/store/internal/filter.js +60 -0
- package/dist/esm/store/internal/get-item.d.ts +77 -0
- package/dist/esm/store/internal/get-item.js +54 -0
- package/dist/esm/store/internal/item-write.d.ts +270 -0
- package/dist/esm/store/internal/item-write.js +173 -0
- package/dist/esm/store/internal/parse.d.ts +230 -0
- package/dist/esm/store/internal/parse.js +169 -0
- package/dist/esm/store/internal/rows.d.ts +359 -0
- package/dist/esm/store/internal/rows.js +147 -0
- package/dist/esm/store/internal/semantic-search.d.ts +168 -0
- package/dist/esm/store/internal/semantic-search.js +200 -0
- package/dist/esm/store/internal/setup.d.ts +96 -0
- package/dist/esm/store/internal/setup.js +98 -0
- package/dist/esm/store/internal/table-search.d.ts +100 -0
- package/dist/esm/store/internal/table-search.js +119 -0
- package/dist/esm/store/internal/vector-index.d.ts +258 -0
- package/dist/esm/store/internal/vector-index.js +256 -0
- package/dist/esm/store/store.d.ts +329 -0
- package/dist/esm/store/store.js +93 -0
- package/dist/esm/store/types.d.ts +111 -0
- package/dist/esm/store/types.js +1 -0
- package/dist/esm/store/vector-backend.d.ts +104 -0
- package/dist/esm/store/vector-backend.js +1 -0
- package/package.json +68 -46
- package/dist/checkpointer/actions/delete-thread.d.ts +0 -10
- package/dist/checkpointer/actions/delete-thread.js +0 -38
- package/dist/checkpointer/actions/get-tuple.d.ts +0 -11
- package/dist/checkpointer/actions/get-tuple.js +0 -25
- package/dist/checkpointer/actions/list.d.ts +0 -20
- package/dist/checkpointer/actions/list.js +0 -113
- package/dist/checkpointer/actions/put-writes.d.ts +0 -15
- package/dist/checkpointer/actions/put-writes.js +0 -62
- package/dist/checkpointer/actions/put.d.ts +0 -17
- package/dist/checkpointer/actions/put.js +0 -73
- package/dist/checkpointer/internal/assemble.d.ts +0 -17
- package/dist/checkpointer/internal/assemble.js +0 -38
- package/dist/checkpointer/internal/checkpoint-write-verify.d.ts +0 -24
- package/dist/checkpointer/internal/checkpoint-write-verify.js +0 -67
- package/dist/checkpointer/internal/configurable.d.ts +0 -12
- package/dist/checkpointer/internal/configurable.js +0 -24
- package/dist/checkpointer/internal/fetch.d.ts +0 -19
- package/dist/checkpointer/internal/fetch.js +0 -88
- package/dist/checkpointer/internal/filter-match.d.ts +0 -13
- package/dist/checkpointer/internal/filter-match.js +0 -15
- package/dist/checkpointer/internal/item-reader.d.ts +0 -66
- package/dist/checkpointer/internal/item-reader.js +0 -113
- package/dist/checkpointer/internal/item-writer.d.ts +0 -35
- package/dist/checkpointer/internal/item-writer.js +0 -107
- package/dist/checkpointer/internal/keys.d.ts +0 -41
- package/dist/checkpointer/internal/keys.js +0 -117
- package/dist/checkpointer/internal/list-scope.d.ts +0 -61
- package/dist/checkpointer/internal/list-scope.js +0 -108
- package/dist/checkpointer/internal/pending-sends.d.ts +0 -13
- package/dist/checkpointer/internal/pending-sends.js +0 -29
- package/dist/checkpointer/internal/query.d.ts +0 -21
- package/dist/checkpointer/internal/query.js +0 -42
- package/dist/checkpointer/internal/regular-write.d.ts +0 -28
- package/dist/checkpointer/internal/regular-write.js +0 -66
- package/dist/checkpointer/internal/setup.d.ts +0 -33
- package/dist/checkpointer/internal/setup.js +0 -38
- package/dist/checkpointer/internal/special-write-cas.d.ts +0 -29
- package/dist/checkpointer/internal/special-write-cas.js +0 -104
- package/dist/checkpointer/internal/special-write-cleanup.d.ts +0 -23
- package/dist/checkpointer/internal/special-write-cleanup.js +0 -50
- package/dist/checkpointer/internal/special-write-verify.d.ts +0 -53
- package/dist/checkpointer/internal/special-write-verify.js +0 -80
- package/dist/checkpointer/internal/stored-channels.d.ts +0 -31
- package/dist/checkpointer/internal/stored-channels.js +0 -70
- package/dist/checkpointer/internal/validation.d.ts +0 -18
- package/dist/checkpointer/internal/validation.js +0 -40
- package/dist/checkpointer/internal/write-guard.d.ts +0 -20
- package/dist/checkpointer/internal/write-guard.js +0 -48
- package/dist/checkpointer/internal/write-index.d.ts +0 -36
- package/dist/checkpointer/internal/write-index.js +0 -41
- package/dist/checkpointer/saver.d.ts +0 -70
- package/dist/checkpointer/saver.js +0 -105
- package/dist/checkpointer/types.d.ts +0 -58
- package/dist/factory/factory.d.ts +0 -40
- package/dist/factory/factory.js +0 -87
- package/dist/history/actions/add-messages.d.ts +0 -15
- package/dist/history/actions/add-messages.js +0 -77
- package/dist/history/actions/clear.d.ts +0 -10
- package/dist/history/actions/clear.js +0 -34
- package/dist/history/actions/get-messages.d.ts +0 -17
- package/dist/history/actions/get-messages.js +0 -79
- package/dist/history/actions/list-sessions.d.ts +0 -13
- package/dist/history/actions/list-sessions.js +0 -53
- package/dist/history/actions/reconcile-count.d.ts +0 -12
- package/dist/history/actions/reconcile-count.js +0 -64
- package/dist/history/chat-message-history.d.ts +0 -73
- package/dist/history/chat-message-history.js +0 -111
- package/dist/history/internal/append-saga.d.ts +0 -25
- package/dist/history/internal/append-saga.js +0 -79
- package/dist/history/internal/compensation.d.ts +0 -25
- package/dist/history/internal/compensation.js +0 -92
- package/dist/history/internal/item-mapper.d.ts +0 -9
- package/dist/history/internal/item-mapper.js +0 -27
- package/dist/history/internal/keys.d.ts +0 -16
- package/dist/history/internal/keys.js +0 -48
- package/dist/history/internal/message-chunker.d.ts +0 -13
- package/dist/history/internal/message-chunker.js +0 -67
- package/dist/history/internal/message-transaction.d.ts +0 -25
- package/dist/history/internal/message-transaction.js +0 -61
- package/dist/history/internal/message-window.d.ts +0 -17
- package/dist/history/internal/message-window.js +0 -49
- package/dist/history/internal/query.d.ts +0 -23
- package/dist/history/internal/query.js +0 -39
- package/dist/history/internal/session-count.d.ts +0 -47
- package/dist/history/internal/session-count.js +0 -115
- package/dist/history/internal/session-title.d.ts +0 -19
- package/dist/history/internal/session-title.js +0 -43
- package/dist/history/internal/session-update.d.ts +0 -27
- package/dist/history/internal/session-update.js +0 -69
- package/dist/history/internal/setup.d.ts +0 -31
- package/dist/history/internal/setup.js +0 -43
- package/dist/history/internal/title-generator.d.ts +0 -12
- package/dist/history/internal/title-generator.js +0 -41
- package/dist/history/internal/ttl-anchor.d.ts +0 -24
- package/dist/history/internal/ttl-anchor.js +0 -38
- package/dist/history/internal/validation.d.ts +0 -25
- package/dist/history/internal/validation.js +0 -53
- package/dist/history/session-adapter.d.ts +0 -29
- package/dist/history/session-adapter.js +0 -35
- package/dist/history/types.d.ts +0 -69
- package/dist/index.d.ts +0 -29
- package/dist/index.js +0 -32
- package/dist/shared/clock.d.ts +0 -8
- package/dist/shared/clock.js +0 -16
- package/dist/shared/codec/codec.d.ts +0 -53
- package/dist/shared/codec/codec.js +0 -66
- package/dist/shared/codec/compression.d.ts +0 -24
- package/dist/shared/codec/compression.js +0 -48
- package/dist/shared/codec/descriptor-keys.d.ts +0 -12
- package/dist/shared/codec/descriptor-keys.js +0 -14
- package/dist/shared/codec/encode.d.ts +0 -13
- package/dist/shared/codec/encode.js +0 -43
- package/dist/shared/codec/json-serde.d.ts +0 -7
- package/dist/shared/codec/json-serde.js +0 -17
- package/dist/shared/codec/payload-loss.d.ts +0 -12
- package/dist/shared/codec/payload-loss.js +0 -38
- package/dist/shared/codec/s3/adapter-config.d.ts +0 -13
- package/dist/shared/codec/s3/adapter-config.js +0 -22
- package/dist/shared/codec/s3/bounded-body.d.ts +0 -14
- package/dist/shared/codec/s3/bounded-body.js +0 -47
- package/dist/shared/codec/s3/client.d.ts +0 -18
- package/dist/shared/codec/s3/client.js +0 -46
- package/dist/shared/codec/s3/config.d.ts +0 -51
- package/dist/shared/codec/s3/config.js +0 -58
- package/dist/shared/codec/s3/delete.d.ts +0 -7
- package/dist/shared/codec/s3/delete.js +0 -28
- package/dist/shared/codec/s3/key-scope.d.ts +0 -23
- package/dist/shared/codec/s3/key-scope.js +0 -44
- package/dist/shared/codec/s3/lifecycle.d.ts +0 -14
- package/dist/shared/codec/s3/lifecycle.js +0 -63
- package/dist/shared/codec/s3/offloader.d.ts +0 -44
- package/dist/shared/codec/s3/offloader.js +0 -118
- package/dist/shared/codec/s3/orphans.d.ts +0 -23
- package/dist/shared/codec/s3/orphans.js +0 -71
- package/dist/shared/codec/s3/read-write.d.ts +0 -18
- package/dist/shared/codec/s3/read-write.js +0 -51
- package/dist/shared/codec/s3/retry.d.ts +0 -5
- package/dist/shared/codec/s3/retry.js +0 -22
- package/dist/shared/concurrency.d.ts +0 -6
- package/dist/shared/constants.d.ts +0 -112
- package/dist/shared/constants.js +0 -115
- package/dist/shared/dynamodb/abort.d.ts +0 -9
- package/dist/shared/dynamodb/abort.js +0 -27
- package/dist/shared/dynamodb/backoff.d.ts +0 -15
- package/dist/shared/dynamodb/backoff.js +0 -48
- package/dist/shared/dynamodb/batch-write.d.ts +0 -22
- package/dist/shared/dynamodb/batch-write.js +0 -53
- package/dist/shared/dynamodb/cancellation.d.ts +0 -6
- package/dist/shared/dynamodb/cancellation.js +0 -7
- package/dist/shared/dynamodb/client.d.ts +0 -28
- package/dist/shared/dynamodb/conditional-put.d.ts +0 -67
- package/dist/shared/dynamodb/conditional-put.js +0 -76
- package/dist/shared/dynamodb/drain-unprocessed.d.ts +0 -21
- package/dist/shared/dynamodb/drain-unprocessed.js +0 -43
- package/dist/shared/dynamodb/expiry.d.ts +0 -16
- package/dist/shared/dynamodb/expiry.js +0 -29
- package/dist/shared/dynamodb/paginate-core.d.ts +0 -24
- package/dist/shared/dynamodb/paginate-core.js +0 -82
- package/dist/shared/dynamodb/paginate.d.ts +0 -14
- package/dist/shared/dynamodb/paginate.js +0 -19
- package/dist/shared/dynamodb/partition-delete.d.ts +0 -39
- package/dist/shared/dynamodb/partition-delete.js +0 -71
- package/dist/shared/dynamodb/retry-classifier.d.ts +0 -17
- package/dist/shared/dynamodb/retry-classifier.js +0 -118
- package/dist/shared/dynamodb/retry-policy.d.ts +0 -26
- package/dist/shared/dynamodb/retry-policy.js +0 -22
- package/dist/shared/dynamodb/retry.d.ts +0 -31
- package/dist/shared/dynamodb/retry.js +0 -57
- package/dist/shared/dynamodb/scan.d.ts +0 -14
- package/dist/shared/dynamodb/scan.js +0 -19
- package/dist/shared/dynamodb/types.d.ts +0 -23
- package/dist/shared/errors/base-error.d.ts +0 -30
- package/dist/shared/errors/base-error.js +0 -27
- package/dist/shared/errors/boundary.d.ts +0 -18
- package/dist/shared/errors/boundary.js +0 -46
- package/dist/shared/errors/error-code.d.ts +0 -13
- package/dist/shared/errors/errors.d.ts +0 -68
- package/dist/shared/errors/errors.js +0 -114
- package/dist/shared/errors/upstream-error.d.ts +0 -16
- package/dist/shared/errors/upstream-error.js +0 -27
- package/dist/shared/errors/wrap-error.d.ts +0 -7
- package/dist/shared/errors/wrap-error.js +0 -15
- package/dist/shared/logging/logger.d.ts +0 -18
- package/dist/shared/logging/logger.js +0 -15
- package/dist/shared/logging/redaction-walk.d.ts +0 -23
- package/dist/shared/logging/redaction-walk.js +0 -112
- package/dist/shared/logging/redaction.d.ts +0 -39
- package/dist/shared/logging/redaction.js +0 -75
- package/dist/shared/logging/secret-patterns.d.ts +0 -92
- package/dist/shared/logging/secret-patterns.js +0 -133
- package/dist/shared/options.d.ts +0 -37
- package/dist/shared/ulid.d.ts +0 -23
- package/dist/shared/validation/options.d.ts +0 -8
- package/dist/shared/validation/options.js +0 -90
- package/dist/shared/validation/primitives.d.ts +0 -29
- package/dist/shared/validation/primitives.js +0 -82
- package/dist/shared/validation/ttl.d.ts +0 -28
- package/dist/shared/validation/ttl.js +0 -52
- package/dist/store/actions/get.d.ts +0 -13
- package/dist/store/actions/get.js +0 -73
- package/dist/store/actions/list-namespaces.d.ts +0 -8
- package/dist/store/actions/list-namespaces.js +0 -59
- package/dist/store/actions/put.d.ts +0 -10
- package/dist/store/actions/put.js +0 -96
- package/dist/store/actions/reconcile-vector-index.d.ts +0 -18
- package/dist/store/actions/reconcile-vector-index.js +0 -26
- package/dist/store/actions/search.d.ts +0 -9
- package/dist/store/actions/search.js +0 -34
- package/dist/store/internal/backend-search.d.ts +0 -4
- package/dist/store/internal/backend-search.js +0 -74
- package/dist/store/internal/batch-plan.d.ts +0 -11
- package/dist/store/internal/batch-plan.js +0 -52
- package/dist/store/internal/candidates.d.ts +0 -23
- package/dist/store/internal/candidates.js +0 -94
- package/dist/store/internal/filter.d.ts +0 -9
- package/dist/store/internal/filter.js +0 -85
- package/dist/store/internal/index-reconcile.d.ts +0 -21
- package/dist/store/internal/index-reconcile.js +0 -118
- package/dist/store/internal/index-sync.d.ts +0 -10
- package/dist/store/internal/index-sync.js +0 -25
- package/dist/store/internal/item-mapper.d.ts +0 -27
- package/dist/store/internal/item-mapper.js +0 -61
- package/dist/store/internal/keys.d.ts +0 -17
- package/dist/store/internal/keys.js +0 -41
- package/dist/store/internal/namespace-match.d.ts +0 -11
- package/dist/store/internal/namespace-match.js +0 -40
- package/dist/store/internal/option-validation.d.ts +0 -13
- package/dist/store/internal/option-validation.js +0 -77
- package/dist/store/internal/overwrite-swap.d.ts +0 -32
- package/dist/store/internal/overwrite-swap.js +0 -68
- package/dist/store/internal/persist.d.ts +0 -28
- package/dist/store/internal/persist.js +0 -64
- package/dist/store/internal/query.d.ts +0 -11
- package/dist/store/internal/query.js +0 -48
- package/dist/store/internal/ranker.d.ts +0 -18
- package/dist/store/internal/ranker.js +0 -39
- package/dist/store/internal/read-existing.d.ts +0 -23
- package/dist/store/internal/read-existing.js +0 -41
- package/dist/store/internal/score-direction.d.ts +0 -31
- package/dist/store/internal/score-direction.js +0 -38
- package/dist/store/internal/search-filter.d.ts +0 -3
- package/dist/store/internal/search-filter.js +0 -10
- package/dist/store/internal/semantic-search.d.ts +0 -34
- package/dist/store/internal/semantic-search.js +0 -87
- package/dist/store/internal/setup.d.ts +0 -36
- package/dist/store/internal/setup.js +0 -40
- package/dist/store/internal/text-path.d.ts +0 -17
- package/dist/store/internal/validation.d.ts +0 -18
- package/dist/store/internal/validation.js +0 -51
- package/dist/store/internal/write-verify.d.ts +0 -42
- package/dist/store/internal/write-verify.js +0 -71
- package/dist/store/store.d.ts +0 -61
- package/dist/store/store.js +0 -107
- package/dist/store/types.d.ts +0 -50
- package/dist/store/types.js +0 -2
- package/dist/store/vector-backend.d.ts +0 -43
- package/dist/store/vector-backend.js +0 -2
- /package/dist/{checkpointer → cjs/checkpointer}/types.js +0 -0
- /package/dist/{factory → cjs/factory}/types.js +0 -0
- /package/dist/{history → cjs/history}/types.js +0 -0
- /package/dist/{shared → cjs/shared}/options.js +0 -0
- /package/dist/{shared/dynamodb → cjs/store}/types.js +0 -0
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isRetryExhausted = isRetryExhausted;
|
|
4
|
-
exports.rowIsAbsent = rowIsAbsent;
|
|
5
|
-
exports.verifyWriteLanded = verifyWriteLanded;
|
|
6
|
-
const conditional_put_1 = require("../../shared/dynamodb/conditional-put");
|
|
7
|
-
const retry_1 = require("../../shared/dynamodb/retry");
|
|
8
|
-
/** True when `error` is a {@link RetryExhaustedError} — by name, not `instanceof` (banned repo-wide). */
|
|
9
|
-
function isRetryExhausted(error) {
|
|
10
|
-
return error.name === 'RetryExhaustedError';
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* True when the row is confirmed absent — used to resolve an ambiguous
|
|
14
|
-
* retry-exhausted *delete*, where the delete may well have landed server-side
|
|
15
|
-
* and only its acknowledgement was lost. Only the partition key is projected:
|
|
16
|
-
* existence is the whole question. A failure reading this is not treated as
|
|
17
|
-
* confirmation, which is fail-safe here: the caller only rethrows, and nothing
|
|
18
|
-
* is deleted on the strength of a `false`.
|
|
19
|
-
*/
|
|
20
|
-
async function rowIsAbsent(context, key) {
|
|
21
|
-
try {
|
|
22
|
-
const result = await (0, retry_1.withDynamoDBRetry)(() => context.client.get({
|
|
23
|
-
TableName: context.tableName,
|
|
24
|
-
Key: key,
|
|
25
|
-
ConsistentRead: true,
|
|
26
|
-
ProjectionExpression: '#pk',
|
|
27
|
-
ExpressionAttributeNames: { '#pk': 'PK' },
|
|
28
|
-
}), context.retry);
|
|
29
|
-
return result.Item === undefined;
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Read `record`'s row back to establish what an ambiguous write actually did,
|
|
37
|
-
* comparing the row's revision with the one this write carried. Every put
|
|
38
|
-
* stamps a fresh per-call `rev`, so the comparison works for inline and
|
|
39
|
-
* offloaded records alike.
|
|
40
|
-
*
|
|
41
|
-
* - `'landed'`: the row holds this write's `rev`, so it committed server-side
|
|
42
|
-
* and only its acknowledgement was lost.
|
|
43
|
-
* - `'not-landed'`: the row was read and holds something else, or nothing —
|
|
44
|
-
* or the record carries no `rev` to compare — so this call's own upload, if
|
|
45
|
-
* any, is dead and safe to delete.
|
|
46
|
-
* - `'unverified'`: the read itself failed, so nothing is established.
|
|
47
|
-
*
|
|
48
|
-
* The third answer used to be folded into the second as a plain `false`, which
|
|
49
|
-
* made a partition that blocked both the put and this read delete the object a
|
|
50
|
-
* possibly-live row points at — permanently breaking every later read of that
|
|
51
|
-
* item. Only a *confirmed* non-commit may delete the new upload: leaking one
|
|
52
|
-
* object (reclaimed by `ensureS3LifecycleRule`) is recoverable, stranding a
|
|
53
|
-
* live row is not.
|
|
54
|
-
*/
|
|
55
|
-
async function verifyWriteLanded(context, record) {
|
|
56
|
-
if (record.rev === undefined)
|
|
57
|
-
return 'not-landed';
|
|
58
|
-
try {
|
|
59
|
-
const result = await (0, retry_1.withDynamoDBRetry)(() => context.client.get({
|
|
60
|
-
TableName: context.tableName,
|
|
61
|
-
Key: { PK: record.PK, SK: record.SK },
|
|
62
|
-
ConsistentRead: true,
|
|
63
|
-
ProjectionExpression: '#r',
|
|
64
|
-
ExpressionAttributeNames: { '#r': conditional_put_1.REVISION_ATTRIBUTE },
|
|
65
|
-
}), context.retry);
|
|
66
|
-
return result.Item?.[conditional_put_1.REVISION_ATTRIBUTE] === record.rev ? 'landed' : 'not-landed';
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
return 'unverified';
|
|
70
|
-
}
|
|
71
|
-
}
|
package/dist/store/store.d.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { BaseStore, type Operation, type OperationResults, type SearchItem, type SearchOperation } from '@langchain/langgraph-checkpoint';
|
|
2
|
-
import type { CancelOptions } from '../shared/options';
|
|
3
|
-
import { type VectorReconcileResult } from './actions/reconcile-vector-index';
|
|
4
|
-
import type { DynamoDBStoreOptions } from './types';
|
|
5
|
-
/**
|
|
6
|
-
* DynamoDB-backed LangGraph store for long-term memory with optional semantic
|
|
7
|
-
* search. A thin orchestrator: the base class's get/put/search/delete/
|
|
8
|
-
* listNamespaces all funnel into {@link batch}, which dispatches each operation.
|
|
9
|
-
*/
|
|
10
|
-
export declare class DynamoDBStore extends BaseStore {
|
|
11
|
-
private readonly context;
|
|
12
|
-
private readonly ownsClient;
|
|
13
|
-
private readonly ddbClient;
|
|
14
|
-
constructor(options: DynamoDBStoreOptions);
|
|
15
|
-
private dispatch;
|
|
16
|
-
/**
|
|
17
|
-
* Execute a batch of operations and return their results in operation
|
|
18
|
-
* order. Writes to one item stay ordered; writes to different items, and
|
|
19
|
-
* then all reads, run concurrently — so a get after a put to the same key
|
|
20
|
-
* in one batch observes the put, and a batch of ten gets costs about one
|
|
21
|
-
* round trip rather than ten (see `runBatch`). The library's error boundary
|
|
22
|
-
* for every `BaseStore` method (`get`/`put`/`delete`/`search`/
|
|
23
|
-
* `listNamespaces` all funnel through here): a raw AWS SDK error surfaces
|
|
24
|
-
* as an `UpstreamError`, and one failing operation rejects the whole batch.
|
|
25
|
-
* @throws ValidationError for a malformed namespace, key or value; UpstreamError; RetryExhaustedError; ResultTruncatedError from a listing over its cap.
|
|
26
|
-
*/
|
|
27
|
-
batch<Op extends Operation[]>(operations: Op): Promise<OperationResults<Op>>;
|
|
28
|
-
/**
|
|
29
|
-
* Search with optional cancellation. Overrides the base implementation, which
|
|
30
|
-
* routes through {@link batch} and therefore cannot carry a signal. A plain
|
|
31
|
-
* search stops reading once `offset + limit` matches are in hand; a `query`
|
|
32
|
-
* ranks in-process (up to `maxSearchCandidates`) or through the `vectorBackend`.
|
|
33
|
-
* @throws ValidationError when the candidate set exceeds `maxSearchCandidates`; AbortError; UpstreamError.
|
|
34
|
-
*/
|
|
35
|
-
search(namespacePrefix: string[], options?: Pick<SearchOperation, 'filter' | 'limit' | 'offset' | 'query'> & CancelOptions): Promise<SearchItem[]>;
|
|
36
|
-
/**
|
|
37
|
-
* Repair the configured vector backend against the canonical items under
|
|
38
|
-
* `namespacePrefix`. A maintenance tool; see {@link reconcileVectorIndex}.
|
|
39
|
-
* @throws ValidationError without an `index` and `vectorBackend` or for an empty prefix; ResultTruncatedError past `maxScanItems`.
|
|
40
|
-
*/
|
|
41
|
-
reconcileVectorIndex(namespacePrefix: string[], options?: CancelOptions): Promise<VectorReconcileResult>;
|
|
42
|
-
/**
|
|
43
|
-
* LangGraph's lifecycle hook. A host that manages stores through the
|
|
44
|
-
* upstream `BaseStore` interface calls `stop()`, so it releases the owned
|
|
45
|
-
* client exactly like {@link destroy}, which stays the explicit API. Both
|
|
46
|
-
* are idempotent.
|
|
47
|
-
*/
|
|
48
|
-
stop(): void;
|
|
49
|
-
/** Release owned resources (the underlying client and any S3 client). */
|
|
50
|
-
destroy(): void;
|
|
51
|
-
/**
|
|
52
|
-
* Provision an S3 lifecycle expiration rule matching the configured TTL, so
|
|
53
|
-
* offloaded objects don't outlive their DynamoDB item forever. No-ops when
|
|
54
|
-
* S3 offload or TTL isn't configured; throws when the bucket cannot be read
|
|
55
|
-
* or written. Requires the `s3:GetLifecycleConfiguration` /
|
|
56
|
-
* `s3:PutLifecycleConfiguration` bucket-level permissions (broader than the
|
|
57
|
-
* object-level CRUD the rest of S3 offload needs) — call this once during
|
|
58
|
-
* deployment/provisioning, not per-request.
|
|
59
|
-
*/
|
|
60
|
-
ensureS3LifecycleRule(): Promise<void>;
|
|
61
|
-
}
|
package/dist/store/store.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DynamoDBStore = void 0;
|
|
4
|
-
const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
|
|
5
|
-
const boundary_1 = require("../shared/errors/boundary");
|
|
6
|
-
const ttl_1 = require("../shared/validation/ttl");
|
|
7
|
-
const get_1 = require("./actions/get");
|
|
8
|
-
const list_namespaces_1 = require("./actions/list-namespaces");
|
|
9
|
-
const put_1 = require("./actions/put");
|
|
10
|
-
const reconcile_vector_index_1 = require("./actions/reconcile-vector-index");
|
|
11
|
-
const search_1 = require("./actions/search");
|
|
12
|
-
const batch_plan_1 = require("./internal/batch-plan");
|
|
13
|
-
const setup_1 = require("./internal/setup");
|
|
14
|
-
/**
|
|
15
|
-
* DynamoDB-backed LangGraph store for long-term memory with optional semantic
|
|
16
|
-
* search. A thin orchestrator: the base class's get/put/search/delete/
|
|
17
|
-
* listNamespaces all funnel into {@link batch}, which dispatches each operation.
|
|
18
|
-
*/
|
|
19
|
-
class DynamoDBStore extends langgraph_checkpoint_1.BaseStore {
|
|
20
|
-
context;
|
|
21
|
-
ownsClient;
|
|
22
|
-
ddbClient;
|
|
23
|
-
constructor(options) {
|
|
24
|
-
super();
|
|
25
|
-
const setup = (0, setup_1.setUpStore)(options);
|
|
26
|
-
this.context = setup.context;
|
|
27
|
-
this.ownsClient = setup.ownsClient;
|
|
28
|
-
this.ddbClient = setup.ddbClient;
|
|
29
|
-
}
|
|
30
|
-
dispatch(operation) {
|
|
31
|
-
if ('namespacePrefix' in operation)
|
|
32
|
-
return (0, search_1.searchItems)(this.context, operation);
|
|
33
|
-
if ('value' in operation)
|
|
34
|
-
return (0, put_1.putItem)(this.context, operation);
|
|
35
|
-
if ('key' in operation)
|
|
36
|
-
return (0, get_1.getItem)(this.context, operation.namespace, operation.key);
|
|
37
|
-
return (0, list_namespaces_1.listNamespaces)(this.context, operation);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Execute a batch of operations and return their results in operation
|
|
41
|
-
* order. Writes to one item stay ordered; writes to different items, and
|
|
42
|
-
* then all reads, run concurrently — so a get after a put to the same key
|
|
43
|
-
* in one batch observes the put, and a batch of ten gets costs about one
|
|
44
|
-
* round trip rather than ten (see `runBatch`). The library's error boundary
|
|
45
|
-
* for every `BaseStore` method (`get`/`put`/`delete`/`search`/
|
|
46
|
-
* `listNamespaces` all funnel through here): a raw AWS SDK error surfaces
|
|
47
|
-
* as an `UpstreamError`, and one failing operation rejects the whole batch.
|
|
48
|
-
* @throws ValidationError for a malformed namespace, key or value; UpstreamError; RetryExhaustedError; ResultTruncatedError from a listing over its cap.
|
|
49
|
-
*/
|
|
50
|
-
async batch(operations) {
|
|
51
|
-
return (0, boundary_1.guardPublic)('store.batch', async () => {
|
|
52
|
-
const results = await (0, batch_plan_1.runBatch)(operations, (operation) => this.dispatch(operation));
|
|
53
|
-
return results;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Search with optional cancellation. Overrides the base implementation, which
|
|
58
|
-
* routes through {@link batch} and therefore cannot carry a signal. A plain
|
|
59
|
-
* search stops reading once `offset + limit` matches are in hand; a `query`
|
|
60
|
-
* ranks in-process (up to `maxSearchCandidates`) or through the `vectorBackend`.
|
|
61
|
-
* @throws ValidationError when the candidate set exceeds `maxSearchCandidates`; AbortError; UpstreamError.
|
|
62
|
-
*/
|
|
63
|
-
async search(namespacePrefix, options = {}) {
|
|
64
|
-
const { signal, ...rest } = options;
|
|
65
|
-
return (0, boundary_1.guardPublic)('store.search', () => (0, search_1.searchItems)(this.context, { namespacePrefix, ...rest }, signal));
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Repair the configured vector backend against the canonical items under
|
|
69
|
-
* `namespacePrefix`. A maintenance tool; see {@link reconcileVectorIndex}.
|
|
70
|
-
* @throws ValidationError without an `index` and `vectorBackend` or for an empty prefix; ResultTruncatedError past `maxScanItems`.
|
|
71
|
-
*/
|
|
72
|
-
reconcileVectorIndex(namespacePrefix, options) {
|
|
73
|
-
return (0, boundary_1.guardPublic)('store.reconcileVectorIndex', () => (0, reconcile_vector_index_1.reconcileVectorIndex)(this.context, namespacePrefix, options));
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* LangGraph's lifecycle hook. A host that manages stores through the
|
|
77
|
-
* upstream `BaseStore` interface calls `stop()`, so it releases the owned
|
|
78
|
-
* client exactly like {@link destroy}, which stays the explicit API. Both
|
|
79
|
-
* are idempotent.
|
|
80
|
-
*/
|
|
81
|
-
stop() {
|
|
82
|
-
this.destroy();
|
|
83
|
-
}
|
|
84
|
-
/** Release owned resources (the underlying client and any S3 client). */
|
|
85
|
-
destroy() {
|
|
86
|
-
this.context.offloader?.destroy();
|
|
87
|
-
if (this.ownsClient)
|
|
88
|
-
this.ddbClient?.destroy();
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Provision an S3 lifecycle expiration rule matching the configured TTL, so
|
|
92
|
-
* offloaded objects don't outlive their DynamoDB item forever. No-ops when
|
|
93
|
-
* S3 offload or TTL isn't configured; throws when the bucket cannot be read
|
|
94
|
-
* or written. Requires the `s3:GetLifecycleConfiguration` /
|
|
95
|
-
* `s3:PutLifecycleConfiguration` bucket-level permissions (broader than the
|
|
96
|
-
* object-level CRUD the rest of S3 offload needs) — call this once during
|
|
97
|
-
* deployment/provisioning, not per-request.
|
|
98
|
-
*/
|
|
99
|
-
async ensureS3LifecycleRule() {
|
|
100
|
-
return (0, boundary_1.guardPublic)('store.ensureS3LifecycleRule', async () => {
|
|
101
|
-
if (!this.context.offloader || !this.context.ttl)
|
|
102
|
-
return;
|
|
103
|
-
await this.context.offloader.ensureLifecycleRule((0, ttl_1.lifecycleExpirationDays)(this.context.ttl));
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
exports.DynamoDBStore = DynamoDBStore;
|
package/dist/store/types.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { IndexConfig, SerializerProtocol } from '@langchain/langgraph-checkpoint';
|
|
2
|
-
import type { PayloadDescriptor } from '../shared/codec/codec';
|
|
3
|
-
import type { BaseAdapterOptions, CodecOptions } from '../shared/options';
|
|
4
|
-
import type { VectorScoreDirection } from './internal/score-direction';
|
|
5
|
-
import type { VectorBackend } from './vector-backend';
|
|
6
|
-
/** Options for {@link DynamoDBStore}. */
|
|
7
|
-
export type DynamoDBStoreOptions = BaseAdapterOptions & CodecOptions & {
|
|
8
|
-
/**
|
|
9
|
-
* Optional semantic-search index configuration (embeddings + fields). The
|
|
10
|
-
* embedding is stored inline on the item (about 10 bytes per dimension) and
|
|
11
|
-
* is not counted toward `s3.thresholdBytes`; see that option's note on the
|
|
12
|
-
* 400 KB item limit.
|
|
13
|
-
*/
|
|
14
|
-
index?: IndexConfig;
|
|
15
|
-
/** Optional serializer override (defaults to the JSON serializer). */
|
|
16
|
-
serde?: SerializerProtocol;
|
|
17
|
-
/** Optional external vector index; when set, similarity search delegates to it. */
|
|
18
|
-
vectorBackend?: VectorBackend;
|
|
19
|
-
/** Max candidates the in-DB ranker will score before erroring (default 1000). */
|
|
20
|
-
maxSearchCandidates?: number;
|
|
21
|
-
/** Cap on items scanned into memory during a plain (non-semantic) search before ResultTruncatedError. Defaults to MAX_TOTAL_ITEMS_IN_MEMORY. */
|
|
22
|
-
maxScanItems?: number;
|
|
23
|
-
/**
|
|
24
|
-
* Direction of the score a `vectorBackend` returns. `'relevance'` (the
|
|
25
|
-
* default) forwards it unchanged; `'distance'` negates and re-sorts, so a
|
|
26
|
-
* distance-native backend (S3 Vectors, FAISS L2, pgvector `<->`) satisfies
|
|
27
|
-
* the higher-is-better contract without the caller wrapping it. Any other
|
|
28
|
-
* value is rejected at construction with a `ValidationError` rather than
|
|
29
|
-
* silently ranking one direction as the other.
|
|
30
|
-
*/
|
|
31
|
-
vectorScoreDirection?: VectorScoreDirection;
|
|
32
|
-
};
|
|
33
|
-
/** The DynamoDB item backing a single stored value. */
|
|
34
|
-
export interface StoreItemRecord {
|
|
35
|
-
PK: string;
|
|
36
|
-
SK: string;
|
|
37
|
-
namespace: string[];
|
|
38
|
-
key: string;
|
|
39
|
-
value: PayloadDescriptor;
|
|
40
|
-
createdAt: string;
|
|
41
|
-
updatedAt: string;
|
|
42
|
-
embedding?: number[];
|
|
43
|
-
ttl?: number;
|
|
44
|
-
/**
|
|
45
|
-
* Revision token, rewritten on every put. Pins the compare-and-swap that
|
|
46
|
-
* keeps two concurrent overwrites from both deleting the same superseded S3
|
|
47
|
-
* object. Optional: rows written before 0.9.0 carry none.
|
|
48
|
-
*/
|
|
49
|
-
rev?: string;
|
|
50
|
-
}
|
package/dist/store/types.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/** A vector-similarity match returned by an external {@link VectorBackend}. */
|
|
2
|
-
export interface VectorMatch {
|
|
3
|
-
namespace: string[];
|
|
4
|
-
key: string;
|
|
5
|
-
/**
|
|
6
|
-
* Relevance, where **higher means a better match** — the same direction as
|
|
7
|
-
* upstream `SearchItem.score`, which this value is forwarded to verbatim.
|
|
8
|
-
*
|
|
9
|
-
* A backend whose native output is a *distance* (S3 Vectors, FAISS L2,
|
|
10
|
-
* pgvector's `<->`) has two options: convert before returning, or declare
|
|
11
|
-
* `vectorScoreDirection: 'distance'` on the store, which negates and
|
|
12
|
-
* re-sorts for you. Forwarding an unconverted distance without declaring it
|
|
13
|
-
* yields results ordered correctly but scored backwards, which silently
|
|
14
|
-
* breaks any caller that thresholds or displays the number; that case is
|
|
15
|
-
* warned about but never reordered.
|
|
16
|
-
*/
|
|
17
|
-
score: number;
|
|
18
|
-
}
|
|
19
|
-
/** A stored vector's location, returned by {@link VectorBackend.listKeys}. */
|
|
20
|
-
export interface VectorRef {
|
|
21
|
-
namespace: string[];
|
|
22
|
-
key: string;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Pluggable vector index. When provided to the store, embeddings live here and
|
|
26
|
-
* similarity search is delegated to it; DynamoDB still holds the canonical item.
|
|
27
|
-
*/
|
|
28
|
-
export interface VectorBackend {
|
|
29
|
-
upsert(namespace: string[], key: string, vector: number[]): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Return up to `topK` matches under `namespacePrefix`, best first. Each
|
|
32
|
-
* match's `score` must be a relevance, not a distance — see
|
|
33
|
-
* {@link VectorMatch.score}.
|
|
34
|
-
*/
|
|
35
|
-
query(namespacePrefix: string[], queryVector: number[], topK: number): Promise<VectorMatch[]>;
|
|
36
|
-
delete(namespace: string[], key: string): Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* Optionally enumerate every stored vector under `namespacePrefix`. Enables
|
|
39
|
-
* `reconcileVectorIndex` to prune vectors orphaned by a lost delete. Omit it
|
|
40
|
-
* when the backend cannot enumerate — reconciliation then re-pushes only.
|
|
41
|
-
*/
|
|
42
|
-
listKeys?(namespacePrefix: string[]): Promise<VectorRef[]>;
|
|
43
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|