@farukada/aws-langgraph-dynamodb-ts 0.3.1 → 0.4.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 +12 -5
- package/dist/checkpointer/actions/delete-thread.js +1 -1
- package/dist/checkpointer/actions/delete-thread.js.map +1 -1
- package/dist/checkpointer/actions/get-tuple.js.map +1 -1
- package/dist/checkpointer/actions/list.d.ts.map +1 -1
- package/dist/checkpointer/actions/list.js +3 -1
- package/dist/checkpointer/actions/list.js.map +1 -1
- package/dist/checkpointer/actions/put-writes.d.ts +6 -0
- package/dist/checkpointer/actions/put-writes.d.ts.map +1 -1
- package/dist/checkpointer/actions/put-writes.js +77 -10
- package/dist/checkpointer/actions/put-writes.js.map +1 -1
- package/dist/checkpointer/actions/put.js.map +1 -1
- package/dist/checkpointer/internal/assemble.js.map +1 -1
- package/dist/checkpointer/internal/configurable.js.map +1 -1
- package/dist/checkpointer/internal/fetch.js.map +1 -1
- package/dist/checkpointer/internal/filter-match.d.ts.map +1 -1
- package/dist/checkpointer/internal/filter-match.js.map +1 -1
- package/dist/checkpointer/internal/item-reader.js.map +1 -1
- package/dist/checkpointer/internal/item-writer.d.ts +13 -2
- package/dist/checkpointer/internal/item-writer.d.ts.map +1 -1
- package/dist/checkpointer/internal/item-writer.js +15 -3
- package/dist/checkpointer/internal/item-writer.js.map +1 -1
- package/dist/checkpointer/internal/keys.js.map +1 -1
- package/dist/checkpointer/internal/query.d.ts +5 -1
- package/dist/checkpointer/internal/query.d.ts.map +1 -1
- package/dist/checkpointer/internal/query.js +5 -2
- package/dist/checkpointer/internal/query.js.map +1 -1
- package/dist/checkpointer/internal/setup.d.ts.map +1 -1
- package/dist/checkpointer/internal/setup.js +8 -1
- package/dist/checkpointer/internal/setup.js.map +1 -1
- package/dist/checkpointer/internal/validation.js.map +1 -1
- package/dist/checkpointer/saver.d.ts +9 -0
- package/dist/checkpointer/saver.d.ts.map +1 -1
- package/dist/checkpointer/saver.js +14 -0
- package/dist/checkpointer/saver.js.map +1 -1
- package/dist/factory/factory.d.ts +4 -4
- package/dist/factory/factory.d.ts.map +1 -1
- package/dist/factory/factory.js +4 -6
- package/dist/factory/factory.js.map +1 -1
- package/dist/history/actions/add-messages.d.ts.map +1 -1
- package/dist/history/actions/add-messages.js +4 -3
- package/dist/history/actions/add-messages.js.map +1 -1
- package/dist/history/actions/clear.d.ts +6 -3
- package/dist/history/actions/clear.d.ts.map +1 -1
- package/dist/history/actions/clear.js +28 -15
- package/dist/history/actions/clear.js.map +1 -1
- package/dist/history/actions/get-messages.d.ts.map +1 -1
- package/dist/history/actions/get-messages.js +2 -0
- package/dist/history/actions/get-messages.js.map +1 -1
- package/dist/history/actions/list-sessions.d.ts +4 -1
- package/dist/history/actions/list-sessions.d.ts.map +1 -1
- package/dist/history/actions/list-sessions.js +3 -1
- package/dist/history/actions/list-sessions.js.map +1 -1
- package/dist/history/actions/reconcile-count.d.ts +4 -1
- package/dist/history/actions/reconcile-count.d.ts.map +1 -1
- package/dist/history/actions/reconcile-count.js +21 -9
- package/dist/history/actions/reconcile-count.js.map +1 -1
- package/dist/history/chat-message-history.d.ts +13 -1
- package/dist/history/chat-message-history.d.ts.map +1 -1
- package/dist/history/chat-message-history.js +16 -2
- package/dist/history/chat-message-history.js.map +1 -1
- package/dist/history/internal/append-saga.d.ts +6 -3
- package/dist/history/internal/append-saga.d.ts.map +1 -1
- package/dist/history/internal/append-saga.js +28 -14
- package/dist/history/internal/append-saga.js.map +1 -1
- package/dist/history/internal/item-mapper.js.map +1 -1
- package/dist/history/internal/keys.js.map +1 -1
- package/dist/history/internal/message-chunker.js.map +1 -1
- package/dist/history/internal/message-transaction.d.ts +4 -0
- package/dist/history/internal/message-transaction.d.ts.map +1 -1
- package/dist/history/internal/message-transaction.js +6 -0
- package/dist/history/internal/message-transaction.js.map +1 -1
- package/dist/history/internal/query.js.map +1 -1
- package/dist/history/internal/session-update.d.ts +6 -1
- package/dist/history/internal/session-update.d.ts.map +1 -1
- package/dist/history/internal/session-update.js +6 -2
- package/dist/history/internal/session-update.js.map +1 -1
- package/dist/history/internal/setup.d.ts.map +1 -1
- package/dist/history/internal/setup.js +8 -1
- package/dist/history/internal/setup.js.map +1 -1
- package/dist/history/internal/title-generator.js.map +1 -1
- package/dist/history/internal/ttl-anchor.d.ts +20 -7
- package/dist/history/internal/ttl-anchor.d.ts.map +1 -1
- package/dist/history/internal/ttl-anchor.js +19 -7
- package/dist/history/internal/ttl-anchor.js.map +1 -1
- package/dist/history/session-adapter.d.ts.map +1 -1
- package/dist/history/session-adapter.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/shared/clock.js.map +1 -1
- package/dist/shared/codec/codec.js.map +1 -1
- package/dist/shared/codec/compression.js.map +1 -1
- package/dist/shared/codec/descriptor-keys.js.map +1 -1
- package/dist/shared/codec/s3/client.d.ts +7 -1
- package/dist/shared/codec/s3/client.d.ts.map +1 -1
- package/dist/shared/codec/s3/client.js +8 -2
- package/dist/shared/codec/s3/client.js.map +1 -1
- package/dist/shared/codec/s3/config.d.ts +9 -1
- package/dist/shared/codec/s3/config.d.ts.map +1 -1
- package/dist/shared/codec/s3/config.js +14 -2
- package/dist/shared/codec/s3/config.js.map +1 -1
- package/dist/shared/codec/s3/delete.js.map +1 -1
- package/dist/shared/codec/s3/lifecycle.js.map +1 -1
- package/dist/shared/codec/s3/offloader.d.ts +2 -1
- package/dist/shared/codec/s3/offloader.d.ts.map +1 -1
- package/dist/shared/codec/s3/offloader.js +15 -8
- package/dist/shared/codec/s3/offloader.js.map +1 -1
- package/dist/shared/codec/s3/orphans.d.ts +4 -2
- package/dist/shared/codec/s3/orphans.d.ts.map +1 -1
- package/dist/shared/codec/s3/orphans.js +8 -23
- package/dist/shared/codec/s3/orphans.js.map +1 -1
- package/dist/shared/codec/s3/read-write.d.ts.map +1 -1
- package/dist/shared/codec/s3/read-write.js +14 -13
- package/dist/shared/codec/s3/read-write.js.map +1 -1
- package/dist/shared/codec/s3/retry.d.ts +5 -0
- package/dist/shared/codec/s3/retry.d.ts.map +1 -0
- package/dist/shared/codec/s3/retry.js +25 -0
- package/dist/shared/codec/s3/retry.js.map +1 -0
- package/dist/shared/constants.d.ts +12 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +13 -1
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/dynamodb/backoff.js.map +1 -1
- package/dist/shared/dynamodb/batch-write.d.ts +5 -2
- package/dist/shared/dynamodb/batch-write.d.ts.map +1 -1
- package/dist/shared/dynamodb/batch-write.js +19 -3
- package/dist/shared/dynamodb/batch-write.js.map +1 -1
- package/dist/shared/dynamodb/client.js +1 -1
- package/dist/shared/dynamodb/client.js.map +1 -1
- package/dist/shared/dynamodb/drain-unprocessed.js.map +1 -1
- package/dist/shared/dynamodb/paginate-core.js.map +1 -1
- package/dist/shared/dynamodb/paginate.js.map +1 -1
- package/dist/shared/dynamodb/retry-classifier.d.ts.map +1 -1
- package/dist/shared/dynamodb/retry-classifier.js +3 -0
- package/dist/shared/dynamodb/retry-classifier.js.map +1 -1
- package/dist/shared/dynamodb/retry.js.map +1 -1
- package/dist/shared/dynamodb/scan.js.map +1 -1
- package/dist/shared/errors/base-error.d.ts.map +1 -1
- package/dist/shared/errors/base-error.js.map +1 -1
- package/dist/shared/errors/error-code.js.map +1 -1
- package/dist/shared/errors/errors.d.ts +13 -0
- package/dist/shared/errors/errors.d.ts.map +1 -1
- package/dist/shared/errors/errors.js +22 -1
- package/dist/shared/errors/errors.js.map +1 -1
- package/dist/shared/errors/wrap-error.js.map +1 -1
- package/dist/shared/logging/logger.js.map +1 -1
- package/dist/shared/logging/redaction.d.ts.map +1 -1
- package/dist/shared/logging/redaction.js +13 -8
- package/dist/shared/logging/redaction.js.map +1 -1
- package/dist/shared/ulid.js.map +1 -1
- package/dist/shared/validation/primitives.js.map +1 -1
- package/dist/shared/validation/ttl.d.ts +5 -0
- package/dist/shared/validation/ttl.d.ts.map +1 -1
- package/dist/shared/validation/ttl.js +8 -0
- package/dist/shared/validation/ttl.js.map +1 -1
- package/dist/store/actions/get.js.map +1 -1
- package/dist/store/actions/list-namespaces.js.map +1 -1
- package/dist/store/actions/put.d.ts +6 -4
- package/dist/store/actions/put.d.ts.map +1 -1
- package/dist/store/actions/put.js +32 -13
- package/dist/store/actions/put.js.map +1 -1
- package/dist/store/actions/reconcile-vector-index.js.map +1 -1
- package/dist/store/actions/search.d.ts.map +1 -1
- package/dist/store/actions/search.js +29 -9
- package/dist/store/actions/search.js.map +1 -1
- package/dist/store/internal/filter.d.ts.map +1 -1
- package/dist/store/internal/filter.js +12 -8
- package/dist/store/internal/filter.js.map +1 -1
- package/dist/store/internal/index-reconcile.d.ts.map +1 -1
- package/dist/store/internal/index-reconcile.js +5 -5
- package/dist/store/internal/index-reconcile.js.map +1 -1
- package/dist/store/internal/index-sync.js.map +1 -1
- package/dist/store/internal/item-mapper.d.ts +2 -1
- package/dist/store/internal/item-mapper.d.ts.map +1 -1
- package/dist/store/internal/item-mapper.js +1 -1
- package/dist/store/internal/item-mapper.js.map +1 -1
- package/dist/store/internal/keys.js.map +1 -1
- package/dist/store/internal/namespace-match.js.map +1 -1
- package/dist/store/internal/query.js.map +1 -1
- package/dist/store/internal/ranker.d.ts.map +1 -1
- package/dist/store/internal/ranker.js +3 -1
- package/dist/store/internal/ranker.js.map +1 -1
- package/dist/store/internal/semantic-search.js.map +1 -1
- package/dist/store/internal/setup.d.ts +1 -0
- package/dist/store/internal/setup.d.ts.map +1 -1
- package/dist/store/internal/setup.js +8 -1
- package/dist/store/internal/setup.js.map +1 -1
- package/dist/store/internal/validation.js.map +1 -1
- package/dist/store/store.d.ts +9 -0
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +14 -0
- package/dist/store/store.js.map +1 -1
- package/dist/store/types.d.ts +2 -0
- package/dist/store/types.d.ts.map +1 -1
- package/package.json +28 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/store/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,WAAW,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/store/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,WAAW,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAO9D,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;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,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;IACf,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAyBpE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setUpStore = setUpStore;
|
|
4
4
|
const json_serde_1 = require("../../shared/codec/json-serde");
|
|
5
|
+
const config_1 = require("../../shared/codec/s3/config");
|
|
5
6
|
const offloader_1 = require("../../shared/codec/s3/offloader");
|
|
6
7
|
const constants_1 = require("../../shared/constants");
|
|
7
8
|
const client_1 = require("../../shared/dynamodb/client");
|
|
@@ -15,12 +16,18 @@ function setUpStore(options) {
|
|
|
15
16
|
tableName: options.tableName,
|
|
16
17
|
serde: options.serde ?? json_serde_1.JSON_SERDE,
|
|
17
18
|
compression: options.compression,
|
|
18
|
-
offloader: options.s3
|
|
19
|
+
offloader: options.s3
|
|
20
|
+
? new offloader_1.S3Offloader({
|
|
21
|
+
...options.s3,
|
|
22
|
+
keyPrefix: options.s3.keyPrefix ?? (0, config_1.defaultAdapterKeyPrefix)(constants_1.DEFAULT_S3_KEY_PREFIX, 'store'),
|
|
23
|
+
})
|
|
24
|
+
: undefined,
|
|
19
25
|
ttl: options.ttl,
|
|
20
26
|
logger: (0, logger_1.resolveLogger)(options.logger),
|
|
21
27
|
index: options.index,
|
|
22
28
|
vectorBackend: options.vectorBackend,
|
|
23
29
|
maxSearchCandidates: options.maxSearchCandidates ?? constants_1.DEFAULT_MAX_SEARCH_CANDIDATES,
|
|
30
|
+
maxScanItems: options.maxScanItems ?? constants_1.MAX_TOTAL_ITEMS_IN_MEMORY,
|
|
24
31
|
},
|
|
25
32
|
ddbClient: resolved.ddbClient,
|
|
26
33
|
ownsClient: resolved.ownsClient,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/store/internal/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/store/internal/setup.ts"],"names":[],"mappings":";;;AAKA,8DAA2D;AAC3D,yDAAuE;AACvE,+DAA8D;AAC9D,sDAIgC;AAChC,yDAAqE;AACrE,wDAAyE;AA2BzE,+EAA+E;AAC/E,oBAA2B,OAA6B;IACtD,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAChD,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,uBAAU;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACnB,CAAC,CAAC,IAAI,uBAAW,CAAC;oBACd,GAAG,OAAO,CAAC,EAAE;oBACb,SAAS,EACP,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,IAAA,gCAAuB,EAAC,iCAAqB,EAAE,OAAO,CAAC;iBAClF,CAAC;gBACJ,CAAC,CAAC,SAAS;YACb,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,IAAA,sBAAa,EAAC,OAAO,CAAC,MAAM,CAAC;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,yCAA6B;YACjF,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,qCAAyB;SAChE;QACD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/store/internal/validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/store/internal/validation.ts"],"names":[],"mappings":";;;;;AAAA,mEAK4C;AAC5C,iCAA6C;AAE7C,sEAAsE;AACtE,wBAA+B,MAAc,EAAE,KAAa;IAC1D,IAAA,4BAAe,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAA,4BAAe,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,8EAA8E;AAC9E,2BAAkC,SAAmB;IACnD,IAAA,kCAAqB,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,IAAA,mCAAsB,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACrD,IAAA,8BAAiB,EAAC,OAAO,EAAE,0BAAmB,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,qBAA4B,GAAW;IACrC,IAAA,mCAAsB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,IAAA,8BAAiB,EAAC,GAAG,EAAE,0BAAmB,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC"}
|
package/dist/store/store.d.ts
CHANGED
|
@@ -20,5 +20,14 @@ export declare class DynamoDBStore extends BaseStore {
|
|
|
20
20
|
reconcileVectorIndex(namespacePrefix: string[]): Promise<VectorReconcileResult>;
|
|
21
21
|
/** Release owned resources (the underlying client and any S3 client). */
|
|
22
22
|
destroy(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Best-effort provision an S3 lifecycle expiration rule matching the
|
|
25
|
+
* configured TTL, so offloaded objects don't outlive their DynamoDB item
|
|
26
|
+
* forever. No-ops when S3 offload or TTL isn't configured. Requires the
|
|
27
|
+
* `s3:GetLifecycleConfiguration`/`s3:PutLifecycleConfiguration` bucket-level
|
|
28
|
+
* permissions (broader than the object-level CRUD the rest of S3 offload
|
|
29
|
+
* needs) — call this once during deployment/provisioning, not per-request.
|
|
30
|
+
*/
|
|
31
|
+
ensureS3LifecycleRule(): Promise<void>;
|
|
23
32
|
}
|
|
24
33
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,KAAK,SAAS,EACd,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,KAAK,SAAS,EACd,KAAK,gBAAgB,EAEtB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,YAAY,OAAO,EAAE,oBAAoB,EAMxC;IAED,OAAO,CAAC,QAAQ;IAOV,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAMjF;IAED;;;OAGG;IACH,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAE9E;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAGd;IAED;;;;;;;OAOG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3C;CACF"}
|
package/dist/store/store.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DynamoDBStore = void 0;
|
|
4
4
|
const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
|
|
5
|
+
const ttl_1 = require("../shared/validation/ttl");
|
|
5
6
|
const get_1 = require("./actions/get");
|
|
6
7
|
const list_namespaces_1 = require("./actions/list-namespaces");
|
|
7
8
|
const put_1 = require("./actions/put");
|
|
@@ -53,6 +54,19 @@ class DynamoDBStore extends langgraph_checkpoint_1.BaseStore {
|
|
|
53
54
|
if (this.ownsClient)
|
|
54
55
|
this.ddbClient?.destroy();
|
|
55
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Best-effort provision an S3 lifecycle expiration rule matching the
|
|
59
|
+
* configured TTL, so offloaded objects don't outlive their DynamoDB item
|
|
60
|
+
* forever. No-ops when S3 offload or TTL isn't configured. Requires the
|
|
61
|
+
* `s3:GetLifecycleConfiguration`/`s3:PutLifecycleConfiguration` bucket-level
|
|
62
|
+
* permissions (broader than the object-level CRUD the rest of S3 offload
|
|
63
|
+
* needs) — call this once during deployment/provisioning, not per-request.
|
|
64
|
+
*/
|
|
65
|
+
async ensureS3LifecycleRule() {
|
|
66
|
+
if (!this.context.offloader || !this.context.ttl)
|
|
67
|
+
return;
|
|
68
|
+
await this.context.offloader.ensureLifecycleRule((0, ttl_1.resolveTtlDaysCeil)(this.context.ttl));
|
|
69
|
+
}
|
|
56
70
|
}
|
|
57
71
|
exports.DynamoDBStore = DynamoDBStore;
|
|
58
72
|
//# sourceMappingURL=store.js.map
|
package/dist/store/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":";;;AAAA,0EAMyC;AAEzC,uCAAwC;AACxC,+DAA2D;AAC3D,uCAAwC;AACxC,6EAG0C;AAC1C,6CAA+C;AAC/C,4CAAiE;AAKjE;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":";;;AAAA,0EAMyC;AAEzC,kDAA8D;AAC9D,uCAAwC;AACxC,+DAA2D;AAC3D,uCAAwC;AACxC,6EAG0C;AAC1C,6CAA+C;AAC/C,4CAAiE;AAKjE;;;;GAIG;AACH,mBAA2B,SAAQ,gCAAS;IACzB,OAAO,CAAe;IACtB,UAAU,CAAU;IACpB,SAAS,CAA6C;IAEvE,YAAY,OAA6B;QACvC,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;QAClC,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;IAEO,QAAQ,CAAC,SAAoB;QACnC,IAAI,iBAAiB,IAAI,SAAS;YAAE,OAAO,IAAA,oBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChF,IAAI,OAAO,IAAI,SAAS;YAAE,OAAO,IAAA,aAAO,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,SAAS;YAAE,OAAO,IAAA,aAAO,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACzF,OAAO,IAAA,gCAAc,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK,CAAyB,UAAc;QAChD,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,OAA+B,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,eAAyB;QAC5C,OAAO,IAAA,6CAA0B,EAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACnE,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;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO;QACzD,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAA,wBAAkB,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzF,CAAC;CACF"}
|
package/dist/store/types.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export type DynamoDBStoreOptions = BaseAdapterOptions & CodecOptions & {
|
|
|
12
12
|
vectorBackend?: VectorBackend;
|
|
13
13
|
/** Max candidates the in-DB ranker will score before erroring (default 1000). */
|
|
14
14
|
maxSearchCandidates?: number;
|
|
15
|
+
/** Cap on items scanned into memory during a plain (non-semantic) search before ResultTruncatedError. Defaults to MAX_TOTAL_ITEMS_IN_MEMORY. */
|
|
16
|
+
maxScanItems?: number;
|
|
15
17
|
};
|
|
16
18
|
/** The DynamoDB item backing a single stored value. */
|
|
17
19
|
export interface StoreItemRecord {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GACnD,YAAY,GAAG;IACb,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,sEAAsE;IACtE,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,mFAAmF;IACnF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GACnD,YAAY,GAAG;IACb,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,sEAAsE;IACtE,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,mFAAmF;IACnF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gJAAgJ;IAChJ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEJ,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farukada/aws-langgraph-dynamodb-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "AWS DynamoDB implementation for LangGraph Memory Store and Checkpoint Saver in TypeScript",
|
|
6
6
|
"keywords": [
|
|
@@ -35,8 +35,9 @@
|
|
|
35
35
|
"npm": ">=10.0.0"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
|
-
"build": "tsc",
|
|
39
|
-
"typecheck": "tsc --noEmit",
|
|
38
|
+
"build": "tsc -p tsconfig.build.json",
|
|
39
|
+
"typecheck": "tsc -p tsconfig.build.json --noEmit",
|
|
40
|
+
"typecheck:all": "tsc --noEmit",
|
|
40
41
|
"lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"*.config.ts\" --no-error-on-unmatched-pattern",
|
|
41
42
|
"lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"*.config.ts\" --fix --no-error-on-unmatched-pattern",
|
|
42
43
|
"test": "jest",
|
|
@@ -53,18 +54,18 @@
|
|
|
53
54
|
"unused": "knip",
|
|
54
55
|
"depcheck": "depcheck .",
|
|
55
56
|
"cpd": "jscpd ./src --threshold 2 --min-lines 3 --reporters console --silent --format typescript,javascript",
|
|
56
|
-
"cpd:full": "jscpd ./src --threshold 2 --min-lines 3 --reporters console --
|
|
57
|
-
"cpd:test": "jscpd ./test --threshold 2 --min-lines 3 --reporters console --
|
|
57
|
+
"cpd:full": "jscpd ./src --threshold 2 --min-lines 3 --reporters console-full --format typescript,javascript",
|
|
58
|
+
"cpd:test": "jscpd ./test --threshold 2 --min-lines 3 --reporters console-full --format typescript,javascript"
|
|
58
59
|
},
|
|
59
60
|
"dependencies": {
|
|
60
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
61
|
-
"@aws-sdk/lib-dynamodb": "^3.
|
|
62
|
-
"@langchain/core": "^1.1.48",
|
|
63
|
-
"@langchain/langgraph-checkpoint": "^1.0.3"
|
|
61
|
+
"@aws-sdk/client-dynamodb": "^3.1116.0",
|
|
62
|
+
"@aws-sdk/lib-dynamodb": "^3.1116.0"
|
|
64
63
|
},
|
|
65
64
|
"peerDependencies": {
|
|
66
65
|
"@aws-sdk/client-s3": "^3.900.0",
|
|
67
|
-
"@langchain/
|
|
66
|
+
"@langchain/core": "^1.2.9",
|
|
67
|
+
"@langchain/langgraph": "^1.3.2",
|
|
68
|
+
"@langchain/langgraph-checkpoint": "^1.1.5"
|
|
68
69
|
},
|
|
69
70
|
"overrides": {
|
|
70
71
|
"uuid": ">=11.1.1"
|
|
@@ -75,34 +76,35 @@
|
|
|
75
76
|
}
|
|
76
77
|
},
|
|
77
78
|
"devDependencies": {
|
|
78
|
-
"@aws-sdk/client-s3": "^3.
|
|
79
|
+
"@aws-sdk/client-s3": "^3.1116.0",
|
|
79
80
|
"@eslint/js": "^10.0.1",
|
|
80
|
-
"@langchain/aws": "^1.
|
|
81
|
+
"@langchain/aws": "^1.4.4",
|
|
81
82
|
"@types/jest": "^30.0.0",
|
|
82
|
-
"@types/node": "^
|
|
83
|
+
"@types/node": "^26.2.0",
|
|
83
84
|
"aws-sdk-client-mock": "^4.1.0",
|
|
84
85
|
"depcheck": "^1.4.7",
|
|
85
|
-
"eslint": "^10.
|
|
86
|
+
"eslint": "^10.9.0",
|
|
86
87
|
"eslint-config-prettier": "^10.1.8",
|
|
87
88
|
"eslint-plugin-no-instanceof": "^1.0.1",
|
|
88
|
-
"eslint-plugin-perfectionist": "^5.
|
|
89
|
+
"eslint-plugin-perfectionist": "^5.10.1",
|
|
89
90
|
"eslint-plugin-prettier": "^5.5.6",
|
|
90
91
|
"eslint-plugin-unused-imports": "^4.4.1",
|
|
91
|
-
"expect-type": "^1.
|
|
92
|
-
"fast-check": "^4.
|
|
92
|
+
"expect-type": "^1.4.0",
|
|
93
|
+
"fast-check": "^4.9.0",
|
|
93
94
|
"jest": "^30.4.2",
|
|
94
95
|
"jest-sonar": "^0.2.16",
|
|
95
96
|
"jiti": "^2.7.0",
|
|
96
|
-
"jscpd": "^
|
|
97
|
-
"knip": "^6.
|
|
98
|
-
"prettier": "^3.
|
|
99
|
-
"ts-jest": "^29.4.
|
|
97
|
+
"jscpd": "^5.0.16",
|
|
98
|
+
"knip": "^6.32.2",
|
|
99
|
+
"prettier": "^3.9.6",
|
|
100
|
+
"ts-jest": "^29.4.12",
|
|
100
101
|
"ts-node": "^10.9.2",
|
|
101
|
-
"typedoc": "^0.28.
|
|
102
|
-
"typedoc-plugin-markdown": "^4.
|
|
103
|
-
"typescript": "
|
|
104
|
-
"typescript
|
|
105
|
-
"
|
|
102
|
+
"typedoc": "^0.28.20",
|
|
103
|
+
"typedoc-plugin-markdown": "^4.12.0",
|
|
104
|
+
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
105
|
+
"@typescript/native": "npm:typescript@^7.0.2",
|
|
106
|
+
"typescript-eslint": "^8.67.0",
|
|
107
|
+
"zod": "^4.4.3"
|
|
106
108
|
},
|
|
107
109
|
"prettier": {
|
|
108
110
|
"semi": true,
|