@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":"redaction.js","sourceRoot":"","sources":["../../../src/shared/logging/redaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../../../src/shared/logging/redaction.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/ulid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ulid.js","sourceRoot":"","sources":["../../src/shared/ulid.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ulid.js","sourceRoot":"","sources":["../../src/shared/ulid.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AACpD,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,SAAS,UAAU,CAAC,MAAc;IAChC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,GAAG,GAAG,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;QAC/C,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,GAAiB;IACrC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD,SAAS,eAAe,CAAC,MAAgB;IACvC,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,2BACE,GAAG,GAAiB,IAAI,CAAC,GAAG,EAC5B,GAAG,GAAiB,IAAI,CAAC,MAAM;IAE/B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACpB,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,QAAQ,IAAI,CAAC,CAAC;gBACd,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/shared/validation/primitives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/shared/validation/primitives.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,4 +13,9 @@ export declare function resolveTtlSeconds(ttl: TtlOption): number;
|
|
|
13
13
|
* @param now - Clock seam returning epoch milliseconds. Defaults to `Date.now`.
|
|
14
14
|
*/
|
|
15
15
|
export declare function calculateTtlTimestamp(ttl: TtlOption, now?: () => number): number;
|
|
16
|
+
/** Resolve a {@link TtlOption} to whole days, rounded up so the S3 lifecycle
|
|
17
|
+
* expiration never fires before DynamoDB's own TTL sweep (which can lag up
|
|
18
|
+
* to ~48h past the TTL timestamp) — expiring the S3 object first would leave
|
|
19
|
+
* a live DynamoDB item pointing at a deleted payload. */
|
|
20
|
+
export declare function resolveTtlDaysCeil(ttl: TtlOption): number;
|
|
16
21
|
//# sourceMappingURL=ttl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ttl.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/ttl.ts"],"names":[],"mappings":"AAKA,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,MAAM,CAE1F"}
|
|
1
|
+
{"version":3,"file":"ttl.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/ttl.ts"],"names":[],"mappings":"AAKA,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,MAAM,CAE1F;AAED;;;yDAGyD;AACzD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAEzD"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveTtlSeconds = resolveTtlSeconds;
|
|
4
4
|
exports.calculateTtlTimestamp = calculateTtlTimestamp;
|
|
5
|
+
exports.resolveTtlDaysCeil = resolveTtlDaysCeil;
|
|
5
6
|
const constants_1 = require("../constants");
|
|
6
7
|
const primitives_1 = require("./primitives");
|
|
7
8
|
const SECONDS_PER_DAY = 24 * 60 * 60;
|
|
@@ -23,4 +24,11 @@ function resolveTtlSeconds(ttl) {
|
|
|
23
24
|
function calculateTtlTimestamp(ttl, now = Date.now) {
|
|
24
25
|
return Math.floor(now() / 1000) + resolveTtlSeconds(ttl);
|
|
25
26
|
}
|
|
27
|
+
/** Resolve a {@link TtlOption} to whole days, rounded up so the S3 lifecycle
|
|
28
|
+
* expiration never fires before DynamoDB's own TTL sweep (which can lag up
|
|
29
|
+
* to ~48h past the TTL timestamp) — expiring the S3 object first would leave
|
|
30
|
+
* a live DynamoDB item pointing at a deleted payload. */
|
|
31
|
+
function resolveTtlDaysCeil(ttl) {
|
|
32
|
+
return Math.ceil(resolveTtlSeconds(ttl) / SECONDS_PER_DAY);
|
|
33
|
+
}
|
|
26
34
|
//# sourceMappingURL=ttl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ttl.js","sourceRoot":"","sources":["../../../src/shared/validation/ttl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ttl.js","sourceRoot":"","sources":["../../../src/shared/validation/ttl.ts"],"names":[],"mappings":";;;;;AAAA,4CAA6D;AAC7D,6CAA+C;AAE/C,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAKrC,mFAAmF;AACnF,2BAAkC,GAAc;IAC9C,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,IAAA,4BAAe,EAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,wBAAY,EAAE,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC;IACpC,CAAC;IACD,IAAA,4BAAe,EAAC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,2BAAe,EAAE,CAAC,CAAC;IAC9E,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,+BAAsC,GAAc,EAAE,GAAG,GAAiB,IAAI,CAAC,GAAG;IAChF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED;;;yDAGyD;AACzD,4BAAmC,GAAc;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/store/actions/get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/store/actions/get.ts"],"names":[],"mappings":";;;AAEA,uDAAgE;AAChE,yDAAwD;AACxD,2CAAyD;AAEzD,uDAAwE;AAGxE,kFAAkF;AAC3E,KAAK,kBACV,OAAqB,EACrB,SAAmB,EACnB,GAAW;IAEX,IAAA,8BAAiB,EAAC,SAAS,CAAC,CAAC;IAC7B,IAAA,wBAAW,EAAC,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAiB,EAAC,GAAG,EAAE,CAC1C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,EAAE,EAAE,EAAE,EAAE,IAAA,mBAAY,EAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAA,cAAO,EAAC,SAAS,EAAE,GAAG,CAAC,EAAE;QACjE,cAAc,EAAE,IAAI;KACrB,CAAC,CACH,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,IAAA,2BAAa,EAAC,OAAO,EAAE,MAAM,CAAC,IAAuB,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-namespaces.js","sourceRoot":"","sources":["../../../src/store/actions/list-namespaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-namespaces.js","sourceRoot":"","sources":["../../../src/store/actions/list-namespaces.ts"],"names":[],"mappings":";;;AAEA,6DAA+D;AAC/D,qDAA0D;AAC1D,yDAA4D;AAC5D,2CAAuD;AACvD,iEAAwF;AACxF,6CAA2D;AAE3D,uDAAwD;AAExD,SAAS,eAAe,CAAC,OAAqB,EAAE,EAA2B;IACzE,MAAM,IAAI,GAAG,IAAA,4BAAU,EAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAA,wBAAa,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAA,mBAAW,EAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,IAAA,mBAAY,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAA,iBAAS,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACI,KAAK,yBACV,OAAqB,EACrB,EAA2B;IAE3B,IAAA,2BAAc,EAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,IAAA,+BAAiB,EAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IACE,EAAE,CAAC,eAAe;YAClB,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,gCAAc,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAC9E,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,+BAAa,EAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,0BAAmB,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,0BAAmB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,0BAAmB,CAAC,CAAC,CAAC,CAAC;IAClG,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -2,10 +2,12 @@ import type { PutOperation } from '@langchain/langgraph-checkpoint';
|
|
|
2
2
|
import type { StoreContext } from '../internal/setup';
|
|
3
3
|
/**
|
|
4
4
|
* Store, update, or delete an item. A null value deletes; otherwise the value
|
|
5
|
-
* is encoded (with optional compression/S3 offload
|
|
6
|
-
*
|
|
7
|
-
* `
|
|
8
|
-
*
|
|
5
|
+
* is encoded (with optional compression/S3 offload, under a per-call nonce so
|
|
6
|
+
* a failed write can never delete the previous version's payload) and
|
|
7
|
+
* `createdAt` is preserved across updates. An embedding is computed when
|
|
8
|
+
* indexing is enabled. When a `vectorBackend` is configured the embedding is
|
|
9
|
+
* sent there (and not stored on the item); DynamoDB always holds the
|
|
10
|
+
* canonical item.
|
|
9
11
|
*/
|
|
10
12
|
export declare function putItem(context: StoreContext, op: PutOperation): Promise<void>;
|
|
11
13
|
//# sourceMappingURL=put.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/store/actions/put.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/store/actions/put.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAapE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAoGtD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBpF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.putItem = putItem;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
4
5
|
const clock_1 = require("../../shared/clock");
|
|
5
6
|
const descriptor_keys_1 = require("../../shared/codec/descriptor-keys");
|
|
6
7
|
const orphans_1 = require("../../shared/codec/s3/orphans");
|
|
@@ -11,19 +12,26 @@ const item_mapper_1 = require("../internal/item-mapper");
|
|
|
11
12
|
const keys_1 = require("../internal/keys");
|
|
12
13
|
const semantic_search_1 = require("../internal/semantic-search");
|
|
13
14
|
const validation_1 = require("../internal/validation");
|
|
14
|
-
async function
|
|
15
|
+
async function readExisting(context, pk, sk) {
|
|
15
16
|
const existing = await (0, retry_1.withDynamoDBRetry)(() => context.client.get({
|
|
16
17
|
TableName: context.tableName,
|
|
17
18
|
Key: { PK: pk, SK: sk },
|
|
18
19
|
ConsistentRead: true,
|
|
19
|
-
ProjectionExpression: '#c',
|
|
20
|
-
ExpressionAttributeNames: { '#c': 'createdAt' },
|
|
20
|
+
ProjectionExpression: '#c, #v',
|
|
21
|
+
ExpressionAttributeNames: { '#c': 'createdAt', '#v': 'value' },
|
|
21
22
|
}));
|
|
22
|
-
return
|
|
23
|
+
return {
|
|
24
|
+
createdAt: existing.Item?.createdAt,
|
|
25
|
+
value: existing.Item?.value,
|
|
26
|
+
};
|
|
23
27
|
}
|
|
24
28
|
/** Delete the item and, when a vector backend is configured, drop its vector. */
|
|
25
29
|
async function deleteStoreItem(context, op, pk, sk) {
|
|
30
|
+
const existing = context.offloader ? await readExisting(context, pk, sk) : undefined;
|
|
26
31
|
await (0, retry_1.withDynamoDBRetry)(() => context.client.delete({ TableName: context.tableName, Key: { PK: pk, SK: sk } }));
|
|
32
|
+
if (context.offloader) {
|
|
33
|
+
await (0, orphans_1.cleanUpS3Orphans)(context.offloader, (0, descriptor_keys_1.collectS3Keys)(existing?.value ? [existing.value] : []), 'store.delete', context.logger);
|
|
34
|
+
}
|
|
27
35
|
if (context.vectorBackend) {
|
|
28
36
|
await (0, index_sync_1.syncVectorIndex)(context.vectorBackend, op.namespace, op.key, undefined, context.logger);
|
|
29
37
|
}
|
|
@@ -34,8 +42,13 @@ async function resolveEmbedding(context, op, value) {
|
|
|
34
42
|
return undefined;
|
|
35
43
|
return (0, semantic_search_1.embedValue)(context, value, Array.isArray(op.index) ? op.index : undefined);
|
|
36
44
|
}
|
|
37
|
-
/**
|
|
38
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Put the record. On failure, best-effort clean the S3 object *this* record
|
|
47
|
+
* would have referenced — safe because its key is nonced, never the previous
|
|
48
|
+
* row's key. On success, best-effort clean the previous row's S3 object (if
|
|
49
|
+
* any) now that it's safely superseded.
|
|
50
|
+
*/
|
|
51
|
+
async function persistRecord(context, record, previousValue) {
|
|
39
52
|
try {
|
|
40
53
|
await (0, retry_1.withDynamoDBRetry)(() => context.client.put({ TableName: context.tableName, Item: record }));
|
|
41
54
|
}
|
|
@@ -45,13 +58,18 @@ async function persistRecord(context, record) {
|
|
|
45
58
|
}
|
|
46
59
|
throw error;
|
|
47
60
|
}
|
|
61
|
+
if (context.offloader && previousValue) {
|
|
62
|
+
await (0, orphans_1.cleanUpS3Orphans)(context.offloader, (0, descriptor_keys_1.collectS3Keys)([previousValue]), 'store.put.overwrite', context.logger);
|
|
63
|
+
}
|
|
48
64
|
}
|
|
49
65
|
/**
|
|
50
66
|
* Store, update, or delete an item. A null value deletes; otherwise the value
|
|
51
|
-
* is encoded (with optional compression/S3 offload
|
|
52
|
-
*
|
|
53
|
-
* `
|
|
54
|
-
*
|
|
67
|
+
* is encoded (with optional compression/S3 offload, under a per-call nonce so
|
|
68
|
+
* a failed write can never delete the previous version's payload) and
|
|
69
|
+
* `createdAt` is preserved across updates. An embedding is computed when
|
|
70
|
+
* indexing is enabled. When a `vectorBackend` is configured the embedding is
|
|
71
|
+
* sent there (and not stored on the item); DynamoDB always holds the
|
|
72
|
+
* canonical item.
|
|
55
73
|
*/
|
|
56
74
|
async function putItem(context, op) {
|
|
57
75
|
(0, validation_1.validateNamespace)(op.namespace);
|
|
@@ -64,16 +82,17 @@ async function putItem(context, op) {
|
|
|
64
82
|
}
|
|
65
83
|
const value = op.value;
|
|
66
84
|
const timestamp = (0, clock_1.nowIso)();
|
|
67
|
-
const
|
|
85
|
+
const existing = await readExisting(context, pk, sk);
|
|
68
86
|
const embedding = await resolveEmbedding(context, op, value);
|
|
69
87
|
const ttlTimestamp = context.ttl ? (0, ttl_1.calculateTtlTimestamp)(context.ttl) : undefined;
|
|
70
88
|
const record = await (0, item_mapper_1.buildStoreItem)(context, op.namespace, op.key, value, {
|
|
71
|
-
createdAt,
|
|
89
|
+
createdAt: existing.createdAt ?? timestamp,
|
|
72
90
|
updatedAt: timestamp,
|
|
73
91
|
embedding: context.vectorBackend ? undefined : embedding,
|
|
74
92
|
ttlTimestamp,
|
|
93
|
+
nonce: (0, node_crypto_1.randomUUID)(),
|
|
75
94
|
});
|
|
76
|
-
await persistRecord(context, record);
|
|
95
|
+
await persistRecord(context, record, existing.value);
|
|
77
96
|
if (context.vectorBackend) {
|
|
78
97
|
await (0, index_sync_1.syncVectorIndex)(context.vectorBackend, op.namespace, op.key, embedding, context.logger);
|
|
79
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/store/actions/put.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/store/actions/put.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile-vector-index.js","sourceRoot":"","sources":["../../../src/store/actions/reconcile-vector-index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reconcile-vector-index.js","sourceRoot":"","sources":["../../../src/store/actions/reconcile-vector-index.ts"],"names":[],"mappings":";;;AAAA,uDAA6D;AAC7D,iEAAoG;AAEpG,uDAA2D;AAQ3D;;;;;;;;GAQG;AACI,KAAK,+BACV,OAAqB,EACrB,eAAyB;IAEzB,IAAA,8BAAiB,EAAC,eAAe,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC7C,MAAM,IAAI,wBAAe,CAAC,oEAAoE,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,IAAA,yCAAuB,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAY,EAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/store/actions/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,UAAU,EACV,eAAe,EAChB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/store/actions/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,UAAU,EACV,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAUzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA6EtD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,eAAe,GAClB,OAAO,CAAC,UAAU,EAAE,CAAC,CAwBvB"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.searchItems = searchItems;
|
|
4
4
|
const paginate_1 = require("../../shared/dynamodb/paginate");
|
|
5
5
|
const scan_1 = require("../../shared/dynamodb/scan");
|
|
6
|
+
const errors_1 = require("../../shared/errors/errors");
|
|
6
7
|
const filter_1 = require("../internal/filter");
|
|
7
8
|
const item_mapper_1 = require("../internal/item-mapper");
|
|
8
9
|
const keys_1 = require("../internal/keys");
|
|
@@ -21,8 +22,13 @@ async function collectCandidates(context, op) {
|
|
|
21
22
|
? (0, paginate_1.paginateQuery)({
|
|
22
23
|
client: context.client,
|
|
23
24
|
params: (0, query_1.scopedQuery)(context.tableName, op.namespacePrefix),
|
|
25
|
+
maxItems: context.maxScanItems,
|
|
24
26
|
})
|
|
25
|
-
: (0, scan_1.paginateScan)({
|
|
27
|
+
: (0, scan_1.paginateScan)({
|
|
28
|
+
client: context.client,
|
|
29
|
+
params: (0, query_1.storeScan)(context.tableName),
|
|
30
|
+
maxItems: context.maxScanItems,
|
|
31
|
+
});
|
|
26
32
|
const candidates = [];
|
|
27
33
|
for await (const raw of source) {
|
|
28
34
|
const record = (0, item_mapper_1.narrowStoreRecord)(raw);
|
|
@@ -37,14 +43,28 @@ async function collectCandidates(context, op) {
|
|
|
37
43
|
}
|
|
38
44
|
return candidates;
|
|
39
45
|
}
|
|
40
|
-
async function searchViaBackend(context, backend, index, op,
|
|
46
|
+
async function searchViaBackend(context, backend, index, op, offset, limit) {
|
|
41
47
|
const queryVector = await index.embeddings.embedQuery(op.query);
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
const need = offset + limit;
|
|
49
|
+
if (need > context.maxSearchCandidates) {
|
|
50
|
+
throw new errors_1.ValidationError(`Requested page (offset ${offset} + limit ${limit} = ${need}) exceeds maxSearchCandidates ` +
|
|
51
|
+
`(${context.maxSearchCandidates}); narrow the page or raise maxSearchCandidates`, 'maxSearchCandidates');
|
|
52
|
+
}
|
|
53
|
+
let topK = Math.min(need, context.maxSearchCandidates);
|
|
54
|
+
let results;
|
|
55
|
+
for (;;) {
|
|
56
|
+
const matches = await backend.query(op.namespacePrefix, queryVector, topK);
|
|
57
|
+
results = [];
|
|
58
|
+
for (const match of matches) {
|
|
59
|
+
if (!(0, keys_1.namespaceMatchesPrefix)(match.namespace, op.namespacePrefix))
|
|
60
|
+
continue;
|
|
61
|
+
const item = await (0, get_1.getItem)(context, match.namespace, match.key);
|
|
62
|
+
if (item && passesFilter(item, op))
|
|
63
|
+
results.push({ ...item, score: match.score });
|
|
64
|
+
}
|
|
65
|
+
if (results.length >= need || matches.length < topK || topK >= context.maxSearchCandidates)
|
|
66
|
+
break;
|
|
67
|
+
topK = Math.min(topK * 2, context.maxSearchCandidates);
|
|
48
68
|
}
|
|
49
69
|
return results;
|
|
50
70
|
}
|
|
@@ -59,7 +79,7 @@ async function searchItems(context, op) {
|
|
|
59
79
|
const limit = op.limit ?? DEFAULT_LIMIT;
|
|
60
80
|
(0, validation_1.validatePaging)(offset, limit);
|
|
61
81
|
if (op.query && context.index && context.vectorBackend) {
|
|
62
|
-
const ranked = await searchViaBackend(context, context.vectorBackend, context.index, op, offset
|
|
82
|
+
const ranked = await searchViaBackend(context, context.vectorBackend, context.index, op, offset, limit);
|
|
63
83
|
return ranked.slice(offset, offset + limit);
|
|
64
84
|
}
|
|
65
85
|
const candidates = await collectCandidates(context, op);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/store/actions/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/store/actions/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/store/internal/filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/store/internal/filter.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,MAAM,SAAS,GACnB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAqChF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAChC,OAAO,CAIT"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.matchesStoreFilter = matchesStoreFilter;
|
|
4
4
|
const node_util_1 = require("node:util");
|
|
5
|
-
const errors_1 = require("../../shared/errors/errors");
|
|
6
5
|
const COMPARATORS = {
|
|
7
6
|
$eq: (actual, expected) => (0, node_util_1.isDeepStrictEqual)(actual, expected),
|
|
8
7
|
$ne: (actual, expected) => !(0, node_util_1.isDeepStrictEqual)(actual, expected),
|
|
@@ -10,22 +9,27 @@ const COMPARATORS = {
|
|
|
10
9
|
$gte: (actual, expected) => actual >= expected,
|
|
11
10
|
$lt: (actual, expected) => actual < expected,
|
|
12
11
|
$lte: (actual, expected) => actual <= expected,
|
|
12
|
+
$in: (actual, expected) => (Array.isArray(expected) ? expected.includes(actual) : false),
|
|
13
|
+
$nin: (actual, expected) => (Array.isArray(expected) ? !expected.includes(actual) : true),
|
|
13
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* True only when every key is one of the exact known operator names — matches
|
|
17
|
+
* the official `@langchain/langgraph-checkpoint` InMemoryStore's own detection
|
|
18
|
+
* exactly, so a stored value that merely has `$`-prefixed keys (e.g. a JSON
|
|
19
|
+
* Schema document) is compared as a literal value instead of misread as a
|
|
20
|
+
* filter operator.
|
|
21
|
+
*/
|
|
14
22
|
function isOperatorObject(condition) {
|
|
15
23
|
return (typeof condition === 'object' &&
|
|
16
24
|
condition !== null &&
|
|
17
25
|
!Array.isArray(condition) &&
|
|
18
|
-
Object.keys(condition).
|
|
26
|
+
Object.keys(condition).length > 0 &&
|
|
27
|
+
Object.keys(condition).every((key) => Object.prototype.hasOwnProperty.call(COMPARATORS, key)));
|
|
19
28
|
}
|
|
20
29
|
function matchesCondition(actual, condition) {
|
|
21
30
|
if (!isOperatorObject(condition))
|
|
22
31
|
return (0, node_util_1.isDeepStrictEqual)(actual, condition);
|
|
23
|
-
return Object.entries(condition).every(([operator, expected]) =>
|
|
24
|
-
const comparator = COMPARATORS[operator];
|
|
25
|
-
if (!comparator)
|
|
26
|
-
throw new errors_1.ValidationError(`Unknown filter operator "${operator}"`, 'filter');
|
|
27
|
-
return comparator(actual, expected);
|
|
28
|
-
});
|
|
32
|
+
return Object.entries(condition).every(([operator, expected]) => COMPARATORS[operator](actual, expected));
|
|
29
33
|
}
|
|
30
34
|
/**
|
|
31
35
|
* True when `value` satisfies every field condition in `filter`. A plain value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/store/internal/filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/store/internal/filter.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAM9C,MAAM,WAAW,GAAwE;IACvF,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAA,6BAAiB,EAAC,MAAM,EAAE,QAAQ,CAAC;IAC9D,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAA,6BAAiB,EAAC,MAAM,EAAE,QAAQ,CAAC;IAC/D,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAE,MAAiB,GAAI,QAAmB;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAE,MAAiB,IAAK,QAAmB;IACtE,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAE,MAAiB,GAAI,QAAmB;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAE,MAAiB,IAAK,QAAmB;IACtE,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxF,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;CAC1F,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,SAAoB;IAC5C,OAAO,CACL,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAiB,EAAE,SAAoB;IAC/D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAA,6BAAiB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC9D,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CACxC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,4BACE,KAAgC,EAChC,MAAiC;IAEjC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,CACzD,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-reconcile.d.ts","sourceRoot":"","sources":["../../../src/store/internal/index-reconcile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index-reconcile.d.ts","sourceRoot":"","sources":["../../../src/store/internal/index-reconcile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACjC;AAOD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CAc5B;AAED,6EAA6E;AAC7E,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,eAAe,EAAE,GACzB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE,CAO5F;AAED,8EAA8E;AAC9E,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,eAAe,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,CAUjB"}
|
|
@@ -9,11 +9,9 @@ const item_mapper_1 = require("./item-mapper");
|
|
|
9
9
|
const keys_1 = require("./keys");
|
|
10
10
|
const query_1 = require("./query");
|
|
11
11
|
const semantic_search_1 = require("./semantic-search");
|
|
12
|
-
/**
|
|
13
|
-
const REF_KEY_SEPARATOR = ' ';
|
|
14
|
-
/** Stable identity for a (namespace, key) pair. */
|
|
12
|
+
/** Stable, collision-free identity for a (namespace, key) pair. */
|
|
15
13
|
function refIdentity(namespace, key) {
|
|
16
|
-
return
|
|
14
|
+
return JSON.stringify([...namespace, key]);
|
|
17
15
|
}
|
|
18
16
|
/**
|
|
19
17
|
* Enumerate canonical items under `prefix`, recomputing each embedding. A failed
|
|
@@ -50,7 +48,9 @@ async function pushEmbeddings(backend, targets) {
|
|
|
50
48
|
}
|
|
51
49
|
/** Refs present in the backend but absent from `live` — orphans to prune. */
|
|
52
50
|
function selectOrphans(backendRefs, live) {
|
|
53
|
-
const liveKeys = new Set(live
|
|
51
|
+
const liveKeys = new Set(live
|
|
52
|
+
.filter((target) => target.embedding !== undefined)
|
|
53
|
+
.map((target) => refIdentity(target.namespace, target.key)));
|
|
54
54
|
return backendRefs.filter((ref) => !liveKeys.has(refIdentity(ref.namespace, ref.key)));
|
|
55
55
|
}
|
|
56
56
|
/** Delete backend vectors with no canonical item; returns the prune count. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-reconcile.js","sourceRoot":"","sources":["../../../src/store/internal/index-reconcile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index-reconcile.js","sourceRoot":"","sources":["../../../src/store/internal/index-reconcile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-sync.js","sourceRoot":"","sources":["../../../src/store/internal/index-sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index-sync.js","sourceRoot":"","sources":["../../../src/store/internal/index-sync.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACI,KAAK,0BACV,OAAsB,EACtB,SAAmB,EACnB,GAAW,EACX,SAA+B,EAC/B,MAAc;IAEd,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;;YAC1D,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,sEAAsE,EAAE;YAClF,SAAS;YACT,GAAG;YACH,OAAO,EAAG,KAAe,CAAC,OAAO;SAClC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -9,12 +9,13 @@ import type { StoreContext } from './setup';
|
|
|
9
9
|
* the scan boundary, the one place rows are not written by this library.
|
|
10
10
|
*/
|
|
11
11
|
export declare function narrowStoreRecord(raw: DocItem): StoreItemRecord | undefined;
|
|
12
|
-
/** Fields controlling a stored item's timestamps, embedding, and
|
|
12
|
+
/** Fields controlling a stored item's timestamps, embedding, ttl, and S3 key nonce. */
|
|
13
13
|
export interface BuildItemOptions {
|
|
14
14
|
createdAt: string;
|
|
15
15
|
updatedAt: string;
|
|
16
16
|
embedding?: number[];
|
|
17
17
|
ttlTimestamp?: number;
|
|
18
|
+
nonce?: string;
|
|
18
19
|
}
|
|
19
20
|
/** Encode a value into the DynamoDB record for a stored item. */
|
|
20
21
|
export declare function buildStoreItem(context: StoreContext, namespace: string[], key: string, value: Record<string, JsonValue>, options: BuildItemOptions): Promise<StoreItemRecord>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-mapper.d.ts","sourceRoot":"","sources":["../../../src/store/internal/item-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAE3E;AAOD,
|
|
1
|
+
{"version":3,"file":"item-mapper.d.ts","sourceRoot":"","sources":["../../../src/store/internal/item-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAE3E;AAOD,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iEAAiE;AACjE,wBAAsB,cAAc,CAClC,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAiB1B;AAED,+DAA+D;AAC/D,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAYjG"}
|
|
@@ -20,7 +20,7 @@ function storeCodecDeps(context) {
|
|
|
20
20
|
/** Encode a value into the DynamoDB record for a stored item. */
|
|
21
21
|
async function buildStoreItem(context, namespace, key, value, options) {
|
|
22
22
|
const descriptor = await (0, codec_1.encodePayload)(value, storeCodecDeps(context), {
|
|
23
|
-
keyParts: [...namespace, key],
|
|
23
|
+
keyParts: options.nonce === undefined ? [...namespace, key] : [...namespace, key, options.nonce],
|
|
24
24
|
});
|
|
25
25
|
const record = {
|
|
26
26
|
PK: (0, keys_1.partitionKey)(namespace),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-mapper.js","sourceRoot":"","sources":["../../../src/store/internal/item-mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"item-mapper.js","sourceRoot":"","sources":["../../../src/store/internal/item-mapper.ts"],"names":[],"mappings":";;;;;AAEA,oDAAwF;AAIxF,iCAA+C;AAG/C;;;;GAIG;AACH,2BAAkC,GAAY;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,GAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,sDAAsD;AACtD,SAAS,cAAc,CAAC,OAAqB;IAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AAClG,CAAC;AAWD,iEAAiE;AAC1D,KAAK,yBACV,OAAqB,EACrB,SAAmB,EACnB,GAAW,EACX,KAAgC,EAChC,OAAyB;IAEzB,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAa,EAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;QACrE,QAAQ,EACN,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;KACzF,CAAC,CAAC;IACH,MAAM,MAAM,GAAoB;QAC9B,EAAE,EAAE,IAAA,mBAAY,EAAC,SAAS,CAAC;QAC3B,EAAE,EAAE,IAAA,cAAO,EAAC,SAAS,EAAE,GAAG,CAAC;QAC3B,SAAS;QACT,GAAG;QACH,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;IACF,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC5D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+DAA+D;AACxD,KAAK,wBAAwB,OAAqB,EAAE,MAAuB;IAChF,MAAM,KAAK,GAAG,MAAM,IAAA,qBAAa,EAC/B,MAAM,CAAC,KAAK,EACZ,cAAc,CAAC,OAAO,CAAC,CACxB,CAAC;IACF,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/store/internal/keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/store/internal/keys.ts"],"names":[],"mappings":";;;;;;;AAAA,mFAAmF;AACtE,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,mEAAmE;AACnE,sBAA6B,SAAmB;IAC9C,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,iBAAwB,SAAmB,EAAE,GAAW;IACtD,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAA,mBAAmB,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,uBAA8B,MAAgB;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAA,mBAAmB,CAAC,GAAG,QAAA,mBAAmB,EAAE,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,gCAAuC,SAAmB,EAAE,MAAgB;IAC1E,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-match.js","sourceRoot":"","sources":["../../../src/store/internal/namespace-match.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"namespace-match.js","sourceRoot":"","sources":["../../../src/store/internal/namespace-match.ts"],"names":[],"mappings":";;;;;AAEA,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,SAAS,cAAc,CAAC,MAAgB,EAAE,IAAsB;IAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,kFAAkF;AAClF,wBAA+B,SAAmB,EAAE,SAAyB;IAC3E,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,KAAK,GACT,SAAS,KAAK,QAAQ;QACpB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;QACjC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,6EAA6E;AAC7E,uBAA8B,SAAmB,EAAE,QAAiB;IAClE,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,oBAA2B,UAA6B;IACtD,MAAM,eAAe,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;IAC1F,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/store/internal/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/store/internal/query.ts"],"names":[],"mappings":";;;;AAEA,iCAAqD;AAErD,iFAAiF;AACjF,qBAA4B,SAAiB,EAAE,MAAgB;IAC7D,MAAM,QAAQ,GAAG,IAAA,oBAAa,EAAC,MAAM,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,sBAAsB,EAAE,WAAW;YACnC,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzC,yBAAyB,EAAE,EAAE,KAAK,EAAE,IAAA,mBAAY,EAAC,MAAM,CAAC,EAAE;SAC3D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,sBAAsB,EAAE,sCAAsC;QAC9D,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QACtD,yBAAyB,EAAE,EAAE,KAAK,EAAE,IAAA,mBAAY,EAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE;KAC7E,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,mBAA0B,SAAiB;IACzC,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,gBAAgB,EAAE,uBAAuB;QACzC,wBAAwB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranker.d.ts","sourceRoot":"","sources":["../../../src/store/internal/ranker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAQxE,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,EAAE,EAC3B,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,MAAM,GACpB,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"ranker.d.ts","sourceRoot":"","sources":["../../../src/store/internal/ranker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAQxE,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,EAAE,EAC3B,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,MAAM,GACpB,UAAU,EAAE,CAiBd"}
|
|
@@ -18,7 +18,9 @@ function rankInMemory(candidates, queryVector, maxCandidates) {
|
|
|
18
18
|
return candidates
|
|
19
19
|
.map(({ item, embedding }) => ({
|
|
20
20
|
...item,
|
|
21
|
-
score: embedding
|
|
21
|
+
score: embedding && embedding.length === queryVector.length
|
|
22
|
+
? (0, semantic_search_1.cosineSimilarity)(queryVector, embedding)
|
|
23
|
+
: undefined,
|
|
22
24
|
}))
|
|
23
25
|
.sort((a, b) => rankValue(b) - rankValue(a));
|
|
24
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranker.js","sourceRoot":"","sources":["../../../src/store/internal/ranker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ranker.js","sourceRoot":"","sources":["../../../src/store/internal/ranker.ts"],"names":[],"mappings":";;;AAEA,uDAA6D;AAC7D,uDAAqD;AAErD,iFAAiF;AACjF,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC;AAQzB;;;;GAIG;AACH,sBACE,UAA2B,EAC3B,WAAqB,EACrB,aAAqB;IAErB,IAAI,UAAU,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,wBAAe,CACvB,kCAAkC,UAAU,CAAC,MAAM,gCAAgC;YACjF,IAAI,aAAa,oDAAoD,EACvE,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,OAAO,UAAU;SACd,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,IAAI;QACP,KAAK,EACH,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;YAClD,CAAC,CAAC,IAAA,kCAAgB,EAAC,WAAW,EAAE,SAAS,CAAC;YAC1C,CAAC,CAAC,SAAS;KAChB,CAAC,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,8FAA8F;AAC9F,SAAS,SAAS,CAAC,IAAgB;IACjC,OAAO,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../../src/store/internal/semantic-search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../../src/store/internal/semantic-search.ts"],"names":[],"mappings":";;;;;AAAA,0EAAgE;AAKhE,oFAAoF;AACpF,0BAAiC,CAAW,EAAE,CAAW;IACvD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACzC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,qBAA4B,KAAgC,EAAE,MAAgB;IAC5E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,KAAK,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;;YAChD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAA,oCAAa,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACI,KAAK,qBACV,OAAqB,EACrB,KAAgC,EAChC,cAAyB;IAEzB,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC"}
|