@farukada/aws-langgraph-dynamodb-ts 0.3.2 → 0.6.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 +10 -3
- package/dist/checkpointer/actions/delete-thread.js +1 -1
- package/dist/checkpointer/actions/delete-thread.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 +4 -4
- package/dist/checkpointer/actions/put-writes.d.ts.map +1 -1
- package/dist/checkpointer/actions/put-writes.js +21 -20
- package/dist/checkpointer/actions/put-writes.js.map +1 -1
- package/dist/checkpointer/internal/item-writer.d.ts +18 -9
- package/dist/checkpointer/internal/item-writer.d.ts.map +1 -1
- package/dist/checkpointer/internal/item-writer.js +28 -11
- package/dist/checkpointer/internal/item-writer.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/special-write-cleanup.d.ts +18 -0
- package/dist/checkpointer/internal/special-write-cleanup.d.ts.map +1 -0
- package/dist/checkpointer/internal/special-write-cleanup.js +108 -0
- package/dist/checkpointer/internal/special-write-cleanup.js.map +1 -0
- package/dist/factory/factory.d.ts +3 -1
- 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.js +1 -1
- package/dist/history/actions/clear.js.map +1 -1
- package/dist/history/actions/list-sessions.d.ts +1 -0
- package/dist/history/actions/list-sessions.d.ts.map +1 -1
- package/dist/history/actions/list-sessions.js +1 -0
- 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 +1 -0
- package/dist/history/chat-message-history.d.ts.map +1 -1
- package/dist/history/chat-message-history.js.map +1 -1
- package/dist/history/internal/append-saga.d.ts +1 -0
- package/dist/history/internal/append-saga.d.ts.map +1 -1
- package/dist/history/internal/append-saga.js +25 -21
- package/dist/history/internal/append-saga.js.map +1 -1
- package/dist/history/internal/message-transaction.d.ts +11 -6
- package/dist/history/internal/message-transaction.d.ts.map +1 -1
- package/dist/history/internal/message-transaction.js +40 -13
- package/dist/history/internal/message-transaction.js.map +1 -1
- package/dist/history/internal/query.d.ts +5 -1
- package/dist/history/internal/query.d.ts.map +1 -1
- package/dist/history/internal/query.js +5 -2
- package/dist/history/internal/query.js.map +1 -1
- package/dist/history/internal/session-count.d.ts +20 -0
- package/dist/history/internal/session-count.d.ts.map +1 -0
- package/dist/history/internal/session-count.js +58 -0
- package/dist/history/internal/session-count.js.map +1 -0
- package/dist/history/internal/session-update.d.ts +9 -1
- package/dist/history/internal/session-update.d.ts.map +1 -1
- package/dist/history/internal/session-update.js +26 -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/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/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/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 +2 -0
- package/dist/shared/codec/s3/config.d.ts.map +1 -1
- package/dist/shared/codec/s3/config.js +5 -0
- package/dist/shared/codec/s3/config.js.map +1 -1
- package/dist/shared/codec/s3/offloader.js +1 -1
- package/dist/shared/codec/s3/offloader.js.map +1 -1
- package/dist/shared/codec/s3/read-write.d.ts.map +1 -1
- package/dist/shared/codec/s3/read-write.js +3 -6
- package/dist/shared/codec/s3/read-write.js.map +1 -1
- package/dist/shared/constants.d.ts +3 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +3 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/dynamodb/batch-write.d.ts +15 -2
- package/dist/shared/dynamodb/batch-write.d.ts.map +1 -1
- package/dist/shared/dynamodb/batch-write.js +38 -3
- package/dist/shared/dynamodb/batch-write.js.map +1 -1
- package/dist/shared/dynamodb/cancellation.d.ts +7 -0
- package/dist/shared/dynamodb/cancellation.d.ts.map +1 -0
- package/dist/shared/dynamodb/cancellation.js +8 -0
- package/dist/shared/dynamodb/cancellation.js.map +1 -0
- package/dist/shared/dynamodb/client.js +1 -1
- package/dist/shared/dynamodb/client.js.map +1 -1
- package/dist/shared/dynamodb/retry-classifier.d.ts.map +1 -1
- package/dist/shared/dynamodb/retry-classifier.js +5 -1
- package/dist/shared/dynamodb/retry-classifier.js.map +1 -1
- package/dist/shared/errors/errors.d.ts +18 -0
- package/dist/shared/errors/errors.d.ts.map +1 -1
- package/dist/shared/errors/errors.js +28 -1
- package/dist/shared/errors/errors.js.map +1 -1
- package/dist/store/actions/list-namespaces.d.ts.map +1 -1
- package/dist/store/actions/list-namespaces.js +10 -2
- package/dist/store/actions/list-namespaces.js.map +1 -1
- package/dist/store/actions/put.d.ts +5 -5
- package/dist/store/actions/put.d.ts.map +1 -1
- package/dist/store/actions/put.js +20 -36
- package/dist/store/actions/put.js.map +1 -1
- package/dist/store/actions/search.d.ts.map +1 -1
- package/dist/store/actions/search.js +29 -11
- 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 +15 -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 +4 -1
- package/dist/store/internal/index-reconcile.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/persist.d.ts +11 -0
- package/dist/store/internal/persist.d.ts.map +1 -0
- package/dist/store/internal/persist.js +38 -0
- package/dist/store/internal/persist.js.map +1 -0
- 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/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/write-verify.d.ts +12 -0
- package/dist/store/internal/write-verify.d.ts.map +1 -0
- package/dist/store/internal/write-verify.js +28 -0
- package/dist/store/internal/write-verify.js.map +1 -0
- package/dist/store/types.d.ts +2 -0
- package/dist/store/types.d.ts.map +1 -1
- package/package.json +9 -8
|
@@ -2,16 +2,51 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.batchWriteAll = batchWriteAll;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
|
+
const errors_1 = require("../errors/errors");
|
|
5
6
|
const drain_unprocessed_1 = require("./drain-unprocessed");
|
|
7
|
+
/** True when `error` is a {@link BatchWriteIncompleteError} — checked by name, not `instanceof`. */
|
|
8
|
+
function isBatchWriteIncomplete(error) {
|
|
9
|
+
return error.name === 'BatchWriteIncompleteError';
|
|
10
|
+
}
|
|
6
11
|
/**
|
|
7
12
|
* Write an arbitrary number of requests, chunked into batches of 25 (the
|
|
8
|
-
* BatchWriteItem limit).
|
|
9
|
-
*
|
|
13
|
+
* BatchWriteItem limit). Every chunk is attempted regardless of an earlier
|
|
14
|
+
* chunk's failure — order-independent writes (deletes/puts) should never
|
|
15
|
+
* lose "later" chunks just because an earlier one failed. If any chunk fails,
|
|
16
|
+
* throws {@link BatchWriteAllIncompleteError} reporting exactly how many
|
|
17
|
+
* chunks succeeded vs. failed, and exactly how many individual writes
|
|
18
|
+
* persisted, once every chunk has been attempted.
|
|
19
|
+
*
|
|
20
|
+
* This is this function's ONLY throw site. Two callers —
|
|
21
|
+
* checkpointer/internal/special-write-cleanup.ts and
|
|
22
|
+
* history/internal/append-saga.ts — type-assert a caught error straight to
|
|
23
|
+
* {@link BatchWriteAllIncompleteError} on that guarantee (not `instanceof`,
|
|
24
|
+
* banned repo-wide) instead of narrowing it, since this project enforces
|
|
25
|
+
* 100% branch coverage and a defensive else-branch here would be
|
|
26
|
+
* unreachable, hence untestable. Adding another throw path to this function
|
|
27
|
+
* requires updating both call sites.
|
|
10
28
|
*/
|
|
11
29
|
async function batchWriteAll(client, tableName, requests, options = {}) {
|
|
30
|
+
const totalChunks = Math.ceil(requests.length / constants_1.BATCH_WRITE_MAX);
|
|
31
|
+
let succeededChunks = 0;
|
|
32
|
+
let succeededCount = 0;
|
|
33
|
+
const failedChunks = [];
|
|
12
34
|
for (let offset = 0; offset < requests.length; offset += constants_1.BATCH_WRITE_MAX) {
|
|
13
35
|
const chunk = requests.slice(offset, offset + constants_1.BATCH_WRITE_MAX);
|
|
14
|
-
|
|
36
|
+
try {
|
|
37
|
+
await (0, drain_unprocessed_1.drainUnprocessedWrites)(client, tableName, chunk, options);
|
|
38
|
+
succeededChunks += 1;
|
|
39
|
+
succeededCount += chunk.length;
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
const err = error;
|
|
43
|
+
failedChunks.push(err);
|
|
44
|
+
if (isBatchWriteIncomplete(err))
|
|
45
|
+
succeededCount += err.succeededCount;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (failedChunks.length > 0) {
|
|
49
|
+
throw new errors_1.BatchWriteAllIncompleteError(succeededChunks, totalChunks, failedChunks, succeededCount);
|
|
15
50
|
}
|
|
16
51
|
}
|
|
17
52
|
//# sourceMappingURL=batch-write.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-write.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/batch-write.ts"],"names":[],"mappings":";;;AAEA,4CAA+C;AAC/C,2DAA2E;AAG3E
|
|
1
|
+
{"version":3,"file":"batch-write.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/batch-write.ts"],"names":[],"mappings":";;;AAEA,4CAA+C;AAC/C,6CAA2F;AAC3F,2DAA2E;AAG3E,oGAAoG;AACpG,SAAS,sBAAsB,CAAC,KAAY;IAC1C,OAAO,KAAK,CAAC,IAAI,KAAK,2BAA2B,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,wBACV,MAAwB,EACxB,SAAiB,EACjB,QAAwB,EACxB,OAAO,GAAiB,EAAE;IAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,2BAAe,CAAC,CAAC;IACjE,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,YAAY,GAAY,EAAE,CAAC;IACjC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,2BAAe,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,2BAAe,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,IAAA,0CAAsB,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAChE,eAAe,IAAI,CAAC,CAAC;YACrB,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,sBAAsB,CAAC,GAAG,CAAC;gBAAE,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC;QACxE,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,qCAA4B,CACpC,eAAe,EACf,WAAW,EACX,YAAY,EACZ,cAAc,CACf,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** One entry of a TransactWriteItems/TransactionCanceledException's CancellationReasons. */
|
|
2
|
+
export interface CancellationReason {
|
|
3
|
+
Code?: string;
|
|
4
|
+
}
|
|
5
|
+
/** Extract `CancellationReasons` from a transaction-cancellation error, if present. */
|
|
6
|
+
export declare function getCancellationReasons(error: Error): CancellationReason[] | undefined;
|
|
7
|
+
//# sourceMappingURL=cancellation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../../../src/shared/dynamodb/cancellation.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAErF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCancellationReasons = getCancellationReasons;
|
|
4
|
+
/** Extract `CancellationReasons` from a transaction-cancellation error, if present. */
|
|
5
|
+
function getCancellationReasons(error) {
|
|
6
|
+
return error.CancellationReasons;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=cancellation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/cancellation.ts"],"names":[],"mappings":";;;AAKA,uFAAuF;AACvF,gCAAuC,KAAY;IACjD,OAAQ,KAAwD,CAAC,mBAAmB,CAAC;AACvF,CAAC"}
|
|
@@ -13,7 +13,7 @@ function resolveDynamoDBClient(options) {
|
|
|
13
13
|
return { ddbClient: undefined, client: options.client, ownsClient: false };
|
|
14
14
|
}
|
|
15
15
|
const createClient = options.createClient ?? ((config) => new client_dynamodb_1.DynamoDBClient(config));
|
|
16
|
-
const ddbClient = createClient(options.clientConfig
|
|
16
|
+
const ddbClient = createClient({ maxAttempts: 1, ...options.clientConfig });
|
|
17
17
|
return { ddbClient, client: lib_dynamodb_1.DynamoDBDocument.from(ddbClient), ownsClient: true };
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/client.ts"],"names":[],"mappings":";;;AAAA,8DAAqF;AACrF,wDAAyD;AAgBzD;;;;GAIG;AACH,+BAAsC,OAA6B;IACjE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,gCAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/client.ts"],"names":[],"mappings":";;;AAAA,8DAAqF;AACrF,wDAAyD;AAgBzD;;;;GAIG;AACH,+BAAsC,OAA6B;IACjE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC7E,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,gCAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,+BAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-classifier.d.ts","sourceRoot":"","sources":["../../../src/shared/dynamodb/retry-classifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retry-classifier.d.ts","sourceRoot":"","sources":["../../../src/shared/dynamodb/retry-classifier.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAiBrD,CAAC;AAmDF,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAK1F"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_RETRYABLE_ERRORS = void 0;
|
|
4
4
|
exports.isRetryableError = isRetryableError;
|
|
5
|
+
const cancellation_1 = require("./cancellation");
|
|
5
6
|
const MAX_CAUSE_DEPTH = 32;
|
|
6
7
|
/**
|
|
7
8
|
* Default retryable transient signals. TransactionCanceledException is
|
|
@@ -15,6 +16,9 @@ exports.DEFAULT_RETRYABLE_ERRORS = [
|
|
|
15
16
|
'InternalServerError',
|
|
16
17
|
'ServiceUnavailable',
|
|
17
18
|
'TransactionConflictException',
|
|
19
|
+
'TransactionInProgressException',
|
|
20
|
+
'RequestTimeout',
|
|
21
|
+
'RequestTimeoutException',
|
|
18
22
|
'ECONNRESET',
|
|
19
23
|
'ECONNREFUSED',
|
|
20
24
|
'ETIMEDOUT',
|
|
@@ -40,7 +44,7 @@ const TRANSIENT_CANCELLATION_REASONS = [
|
|
|
40
44
|
* applies. A bare cancellation with no reasons is treated as non-retryable.
|
|
41
45
|
*/
|
|
42
46
|
function transactionCancellationRetryable(error) {
|
|
43
|
-
const reasons = error
|
|
47
|
+
const reasons = (0, cancellation_1.getCancellationReasons)(error);
|
|
44
48
|
if (!reasons)
|
|
45
49
|
return undefined;
|
|
46
50
|
return reasons.every((reason) => reason.Code === undefined || TRANSIENT_CANCELLATION_REASONS.includes(reason.Code));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-classifier.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/retry-classifier.ts"],"names":[],"mappings":";;;;AAAA,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;GAIG;AACU,QAAA,wBAAwB,GAAsB;IACzD,wCAAwC;IACxC,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,8BAA8B;IAC9B,YAAY;IACZ,cAAc;IACd,WAAW;IACX,OAAO;IACP,WAAW;IACX,iBAAiB;IACjB,cAAc;CACf,CAAC;AAEF;;;;GAIG;AACH,MAAM,8BAA8B,GAAsB;IACxD,MAAM;IACN,qBAAqB;IACrB,iBAAiB;IACjB,+BAA+B;CAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"retry-classifier.js","sourceRoot":"","sources":["../../../src/shared/dynamodb/retry-classifier.ts"],"names":[],"mappings":";;;;AAAA,iDAAwD;AAExD,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;GAIG;AACU,QAAA,wBAAwB,GAAsB;IACzD,wCAAwC;IACxC,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,8BAA8B;IAC9B,gCAAgC;IAChC,gBAAgB;IAChB,yBAAyB;IACzB,YAAY;IACZ,cAAc;IACd,WAAW;IACX,OAAO;IACP,WAAW;IACX,iBAAiB;IACjB,cAAc;CACf,CAAC;AAEF;;;;GAIG;AACH,MAAM,8BAA8B,GAAsB;IACxD,MAAM;IACN,qBAAqB;IACrB,iBAAiB;IACjB,+BAA+B;CAChC,CAAC;AAEF;;;;GAIG;AACH,SAAS,gCAAgC,CAAC,KAAY;IACpD,MAAM,OAAO,GAAG,IAAA,qCAAsB,EAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,OAAO,CAAC,KAAK,CAClB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,8BAA8B,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAC;IACnC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,IAAW,EAAE,KAAa,EAAQ,EAAE;QAChD,IAAI,KAAK,GAAG,eAAe,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,IAMd,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACf,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gFAAgF;AAChF,0BAAiC,KAAY,EAAE,eAAkC;IAC/E,MAAM,YAAY,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC"}
|
|
@@ -34,6 +34,24 @@ export declare class BatchWriteIncompleteError extends DynamoDbLangGraphError {
|
|
|
34
34
|
readonly unprocessed: WriteRequest[];
|
|
35
35
|
constructor(succeededCount: number, unprocessed: WriteRequest[], retries: number);
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* batchWriteAll attempts every chunk rather than stopping at the first
|
|
39
|
+
* failure — a mid-sequence chunk failing does not abandon the chunks after
|
|
40
|
+
* it. `failedChunks` holds each failing chunk's own error (commonly a
|
|
41
|
+
* {@link BatchWriteIncompleteError}); every chunk not represented there
|
|
42
|
+
* drained successfully and its writes persist — there is no rollback.
|
|
43
|
+
* `succeededCount` is the exact number of individual write requests
|
|
44
|
+
* confirmed persisted across every chunk (full chunks plus any failed
|
|
45
|
+
* chunk's own partial drain), more precise than `succeededChunks` alone
|
|
46
|
+
* when a chunk partially drains before exhausting its retries.
|
|
47
|
+
*/
|
|
48
|
+
export declare class BatchWriteAllIncompleteError extends DynamoDbLangGraphError {
|
|
49
|
+
readonly succeededChunks: number;
|
|
50
|
+
readonly totalChunks: number;
|
|
51
|
+
readonly failedChunks: Error[];
|
|
52
|
+
readonly succeededCount: number;
|
|
53
|
+
constructor(succeededChunks: number, totalChunks: number, failedChunks: Error[], succeededCount?: number);
|
|
54
|
+
}
|
|
37
55
|
/**
|
|
38
56
|
* A compensating rollback failed after an append-saga chunk error, so the
|
|
39
57
|
* trigger error could not be cleanly undone. Carries the original trigger as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,mEAAmE;AACnE,qBAAa,eAAgB,SAAQ,sBAAsB;IACzD,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAG1C;CACF;AAED,2EAA2E;AAC3E,qBAAa,aAAc,SAAQ,sBAAsB;IACvD,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAGzC;CACF;AAED,wDAAwD;AACxD,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC7D,YAAY,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAG5D;CACF;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,sBAAsB;IAC9D,YAAY,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAOrC;CACF;AAED,sDAAsD;AACtD,qBAAa,UAAW,SAAQ,sBAAsB;IACpD,YAAY,OAAO,SAAsB,EAGxC;CACF;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IACnE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;IAErC,YAAY,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAS/E;CACF;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,sBAAsB;IACjE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;IAE9B,YAAY,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAS7C;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/shared/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,mEAAmE;AACnE,qBAAa,eAAgB,SAAQ,sBAAsB;IACzD,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAG1C;CACF;AAED,2EAA2E;AAC3E,qBAAa,aAAc,SAAQ,sBAAsB;IACvD,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAGzC;CACF;AAED,wDAAwD;AACxD,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC7D,YAAY,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAG5D;CACF;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,sBAAsB;IAC9D,YAAY,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAOrC;CACF;AAED,sDAAsD;AACtD,qBAAa,UAAW,SAAQ,sBAAsB;IACpD,YAAY,OAAO,SAAsB,EAGxC;CACF;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IACnE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;IAErC,YAAY,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAS/E;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,4BAA6B,SAAQ,sBAAsB;IACtE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,YACE,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,KAAK,EAAE,EACrB,cAAc,SAAI,EAcnB;CACF;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,sBAAsB;IACjE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;IAE9B,YAAY,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAS7C;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CompensationFailedError = exports.BatchWriteIncompleteError = exports.AbortError = exports.ResultTruncatedError = exports.RetryExhaustedError = exports.ConflictError = exports.ValidationError = void 0;
|
|
3
|
+
exports.CompensationFailedError = exports.BatchWriteAllIncompleteError = exports.BatchWriteIncompleteError = exports.AbortError = exports.ResultTruncatedError = exports.RetryExhaustedError = exports.ConflictError = exports.ValidationError = void 0;
|
|
4
4
|
const base_error_1 = require("./base-error");
|
|
5
5
|
const error_code_1 = require("./error-code");
|
|
6
6
|
/** Input failed a validation rule before any AWS call was made. */
|
|
@@ -64,6 +64,33 @@ class BatchWriteIncompleteError extends base_error_1.DynamoDbLangGraphError {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
exports.BatchWriteIncompleteError = BatchWriteIncompleteError;
|
|
67
|
+
/**
|
|
68
|
+
* batchWriteAll attempts every chunk rather than stopping at the first
|
|
69
|
+
* failure — a mid-sequence chunk failing does not abandon the chunks after
|
|
70
|
+
* it. `failedChunks` holds each failing chunk's own error (commonly a
|
|
71
|
+
* {@link BatchWriteIncompleteError}); every chunk not represented there
|
|
72
|
+
* drained successfully and its writes persist — there is no rollback.
|
|
73
|
+
* `succeededCount` is the exact number of individual write requests
|
|
74
|
+
* confirmed persisted across every chunk (full chunks plus any failed
|
|
75
|
+
* chunk's own partial drain), more precise than `succeededChunks` alone
|
|
76
|
+
* when a chunk partially drains before exhausting its retries.
|
|
77
|
+
*/
|
|
78
|
+
class BatchWriteAllIncompleteError extends base_error_1.DynamoDbLangGraphError {
|
|
79
|
+
succeededChunks;
|
|
80
|
+
totalChunks;
|
|
81
|
+
failedChunks;
|
|
82
|
+
succeededCount;
|
|
83
|
+
constructor(succeededChunks, totalChunks, failedChunks, succeededCount = 0) {
|
|
84
|
+
super(`batchWriteAll did not fully drain: ${succeededChunks}/${totalChunks} chunk(s) succeeded, ` +
|
|
85
|
+
`${failedChunks.length} chunk(s) failed. ${succeededCount} write(s) persisted before the failure.`, error_code_1.ErrorCode.BATCH_WRITE_INCOMPLETE, {}, failedChunks[0]);
|
|
86
|
+
this.name = 'BatchWriteAllIncompleteError';
|
|
87
|
+
this.succeededChunks = succeededChunks;
|
|
88
|
+
this.totalChunks = totalChunks;
|
|
89
|
+
this.failedChunks = failedChunks;
|
|
90
|
+
this.succeededCount = succeededCount;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.BatchWriteAllIncompleteError = BatchWriteAllIncompleteError;
|
|
67
94
|
/**
|
|
68
95
|
* A compensating rollback failed after an append-saga chunk error, so the
|
|
69
96
|
* trigger error could not be cleanly undone. Carries the original trigger as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors/errors.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AACtD,6CAAyC;AAEzC,mEAAmE;AACnE,qBAA6B,SAAQ,mCAAsB;IACzD,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,sBAAS,CAAC,UAAU,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;;AAED,2EAA2E;AAC3E,mBAA2B,SAAQ,mCAAsB;IACvD,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,EAAE,sBAAS,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;;AAED,wDAAwD;AACxD,yBAAiC,SAAQ,mCAAsB;IAC7D,YAAY,OAAe,EAAE,QAAiB,EAAE,KAAa;QAC3D,KAAK,CAAC,OAAO,EAAE,sBAAS,CAAC,eAAe,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7F,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;;AAED;;;;GAIG;AACH,0BAAkC,SAAQ,mCAAsB;IAC9D,YAAY,GAAW,EAAE,KAAa;QACpC,KAAK,CACH,mCAAmC,GAAG,SAAS,KAAK,4BAA4B,EAChF,sBAAS,CAAC,gBAAgB,EAC1B,EAAE,SAAS,EAAE,GAAG,EAAE,CACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;;AAED,sDAAsD;AACtD,gBAAwB,SAAQ,mCAAsB;IACpD,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,sBAAS,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;;AAED;;;;GAIG;AACH,+BAAuC,SAAQ,mCAAsB;IAC1D,cAAc,CAAS;IACvB,WAAW,CAAiB;IAErC,YAAY,cAAsB,EAAE,WAA2B,EAAE,OAAe;QAC9E,KAAK,CACH,kCAAkC,OAAO,6BAA6B;YACpE,GAAG,cAAc,uBAAuB,WAAW,CAAC,MAAM,kBAAkB,EAC9E,sBAAS,CAAC,sBAAsB,CACjC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;;AAED;;;;;GAKG;AACH,6BAAqC,SAAQ,mCAAsB;IACxD,aAAa,CAAQ;IAE9B,YAAY,KAAY,EAAE,aAAoB;QAC5C,KAAK,CACH,8CAA8C,KAAK,CAAC,OAAO,eAAe,aAAa,CAAC,OAAO,GAAG,EAClG,sBAAS,CAAC,mBAAmB,EAC7B,EAAE,EACF,KAAK,CACN,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-namespaces.d.ts","sourceRoot":"","sources":["../../../src/store/actions/list-namespaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"list-namespaces.d.ts","sourceRoot":"","sources":["../../../src/store/actions/list-namespaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAmBtD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,uBAAuB,GAC1B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAsBrB"}
|
|
@@ -11,9 +11,17 @@ const validation_1 = require("../internal/validation");
|
|
|
11
11
|
function namespaceSource(context, op) {
|
|
12
12
|
const root = (0, namespace_match_1.prefixRoot)(op.matchConditions);
|
|
13
13
|
if (root.length > 0) {
|
|
14
|
-
return (0, paginate_1.paginateQuery)({
|
|
14
|
+
return (0, paginate_1.paginateQuery)({
|
|
15
|
+
client: context.client,
|
|
16
|
+
params: (0, query_1.scopedQuery)(context.tableName, root),
|
|
17
|
+
maxItems: context.maxScanItems,
|
|
18
|
+
});
|
|
15
19
|
}
|
|
16
|
-
return (0, scan_1.paginateScan)({
|
|
20
|
+
return (0, scan_1.paginateScan)({
|
|
21
|
+
client: context.client,
|
|
22
|
+
params: (0, query_1.storeScan)(context.tableName),
|
|
23
|
+
maxItems: context.maxScanItems,
|
|
24
|
+
});
|
|
17
25
|
}
|
|
18
26
|
/**
|
|
19
27
|
* List distinct namespaces (truncated to `maxDepth`) that satisfy every match
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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;YACnB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,IAAA,mBAAW,EAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;YAC5C,QAAQ,EAAE,OAAO,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAA,mBAAY,EAAC;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,IAAA,iBAAS,EAAC,OAAO,CAAC,SAAS,CAAC;QACpC,QAAQ,EAAE,OAAO,CAAC,YAAY;KAC/B,CAAC,CAAC;AACL,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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { PutOperation } from '@langchain/langgraph-checkpoint';
|
|
2
2
|
import type { StoreContext } from '../internal/setup';
|
|
3
3
|
/**
|
|
4
|
-
* Store, update, or delete an item
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* the item
|
|
4
|
+
* Store, update, or delete an item (null deletes). The value is encoded
|
|
5
|
+
* (optional compression/S3 offload, nonced per call so a failed write can never
|
|
6
|
+
* delete the previous payload) and `createdAt` is preserved across updates; a
|
|
7
|
+
* computed embedding is sent to a configured `vectorBackend` instead of being
|
|
8
|
+
* stored on the item — DynamoDB always holds the canonical item.
|
|
9
9
|
*/
|
|
10
10
|
export declare function putItem(context: StoreContext, op: PutOperation): Promise<void>;
|
|
11
11
|
//# 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;AAcpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA+DtD;;;;;;GAMG;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");
|
|
@@ -9,34 +10,28 @@ const ttl_1 = require("../../shared/validation/ttl");
|
|
|
9
10
|
const index_sync_1 = require("../internal/index-sync");
|
|
10
11
|
const item_mapper_1 = require("../internal/item-mapper");
|
|
11
12
|
const keys_1 = require("../internal/keys");
|
|
13
|
+
const persist_1 = require("../internal/persist");
|
|
12
14
|
const semantic_search_1 = require("../internal/semantic-search");
|
|
13
15
|
const validation_1 = require("../internal/validation");
|
|
14
|
-
async function
|
|
16
|
+
async function readExisting(context, pk, sk) {
|
|
15
17
|
const existing = await (0, retry_1.withDynamoDBRetry)(() => context.client.get({
|
|
16
18
|
TableName: context.tableName,
|
|
17
19
|
Key: { PK: pk, SK: sk },
|
|
18
20
|
ConsistentRead: true,
|
|
19
|
-
ProjectionExpression: '#c',
|
|
20
|
-
ExpressionAttributeNames: { '#c': 'createdAt' },
|
|
21
|
+
ProjectionExpression: '#c, #v',
|
|
22
|
+
ExpressionAttributeNames: { '#c': 'createdAt', '#v': 'value' },
|
|
21
23
|
}));
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
TableName: context.tableName,
|
|
27
|
-
Key: { PK: pk, SK: sk },
|
|
28
|
-
ConsistentRead: true,
|
|
29
|
-
ProjectionExpression: '#v',
|
|
30
|
-
ExpressionAttributeNames: { '#v': 'value' },
|
|
31
|
-
}));
|
|
32
|
-
return existing.Item?.value;
|
|
24
|
+
return {
|
|
25
|
+
createdAt: existing.Item?.createdAt,
|
|
26
|
+
value: existing.Item?.value,
|
|
27
|
+
};
|
|
33
28
|
}
|
|
34
29
|
/** Delete the item and, when a vector backend is configured, drop its vector. */
|
|
35
30
|
async function deleteStoreItem(context, op, pk, sk) {
|
|
36
|
-
const
|
|
31
|
+
const existing = context.offloader ? await readExisting(context, pk, sk) : undefined;
|
|
37
32
|
await (0, retry_1.withDynamoDBRetry)(() => context.client.delete({ TableName: context.tableName, Key: { PK: pk, SK: sk } }));
|
|
38
33
|
if (context.offloader) {
|
|
39
|
-
await (0, orphans_1.cleanUpS3Orphans)(context.offloader, (0, descriptor_keys_1.collectS3Keys)(
|
|
34
|
+
await (0, orphans_1.cleanUpS3Orphans)(context.offloader, (0, descriptor_keys_1.collectS3Keys)(existing?.value ? [existing.value] : []), 'store.delete', context.logger);
|
|
40
35
|
}
|
|
41
36
|
if (context.vectorBackend) {
|
|
42
37
|
await (0, index_sync_1.syncVectorIndex)(context.vectorBackend, op.namespace, op.key, undefined, context.logger);
|
|
@@ -48,24 +43,12 @@ async function resolveEmbedding(context, op, value) {
|
|
|
48
43
|
return undefined;
|
|
49
44
|
return (0, semantic_search_1.embedValue)(context, value, Array.isArray(op.index) ? op.index : undefined);
|
|
50
45
|
}
|
|
51
|
-
/** Put the record; on failure best-effort clean any S3 objects it referenced. */
|
|
52
|
-
async function persistRecord(context, record) {
|
|
53
|
-
try {
|
|
54
|
-
await (0, retry_1.withDynamoDBRetry)(() => context.client.put({ TableName: context.tableName, Item: record }));
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
if (context.offloader) {
|
|
58
|
-
await (0, orphans_1.cleanUpS3Orphans)(context.offloader, (0, descriptor_keys_1.collectS3Keys)([record.value]), 'store.put', context.logger);
|
|
59
|
-
}
|
|
60
|
-
throw error;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
46
|
/**
|
|
64
|
-
* Store, update, or delete an item
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* the item
|
|
47
|
+
* Store, update, or delete an item (null deletes). The value is encoded
|
|
48
|
+
* (optional compression/S3 offload, nonced per call so a failed write can never
|
|
49
|
+
* delete the previous payload) and `createdAt` is preserved across updates; a
|
|
50
|
+
* computed embedding is sent to a configured `vectorBackend` instead of being
|
|
51
|
+
* stored on the item — DynamoDB always holds the canonical item.
|
|
69
52
|
*/
|
|
70
53
|
async function putItem(context, op) {
|
|
71
54
|
(0, validation_1.validateNamespace)(op.namespace);
|
|
@@ -78,16 +61,17 @@ async function putItem(context, op) {
|
|
|
78
61
|
}
|
|
79
62
|
const value = op.value;
|
|
80
63
|
const timestamp = (0, clock_1.nowIso)();
|
|
81
|
-
const
|
|
64
|
+
const existing = await readExisting(context, pk, sk);
|
|
82
65
|
const embedding = await resolveEmbedding(context, op, value);
|
|
83
66
|
const ttlTimestamp = context.ttl ? (0, ttl_1.calculateTtlTimestamp)(context.ttl) : undefined;
|
|
84
67
|
const record = await (0, item_mapper_1.buildStoreItem)(context, op.namespace, op.key, value, {
|
|
85
|
-
createdAt,
|
|
68
|
+
createdAt: existing.createdAt ?? timestamp,
|
|
86
69
|
updatedAt: timestamp,
|
|
87
70
|
embedding: context.vectorBackend ? undefined : embedding,
|
|
88
71
|
ttlTimestamp,
|
|
72
|
+
nonce: (0, node_crypto_1.randomUUID)(),
|
|
89
73
|
});
|
|
90
|
-
await persistRecord(context, record);
|
|
74
|
+
await (0, persist_1.persistRecord)(context, record, existing.value);
|
|
91
75
|
if (context.vectorBackend) {
|
|
92
76
|
await (0, index_sync_1.syncVectorIndex)(context.vectorBackend, op.namespace, op.key, embedding, context.logger);
|
|
93
77
|
}
|
|
@@ -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":"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,16 +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
|
-
|
|
49
|
-
|
|
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);
|
|
50
68
|
}
|
|
51
69
|
return results;
|
|
52
70
|
}
|
|
@@ -61,7 +79,7 @@ async function searchItems(context, op) {
|
|
|
61
79
|
const limit = op.limit ?? DEFAULT_LIMIT;
|
|
62
80
|
(0, validation_1.validatePaging)(offset, limit);
|
|
63
81
|
if (op.query && context.index && context.vectorBackend) {
|
|
64
|
-
const ranked = await searchViaBackend(context, context.vectorBackend, context.index, op, offset
|
|
82
|
+
const ranked = await searchViaBackend(context, context.vectorBackend, context.index, op, offset, limit);
|
|
65
83
|
return ranked.slice(offset, offset + limit);
|
|
66
84
|
}
|
|
67
85
|
const candidates = await collectCandidates(context, op);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/store/actions/search.ts"],"names":[],"mappings":";;;AAOA,6DAA+D;AAC/D,qDAA0D;AAC1D,+CAAwE;AACxE,yDAA2E;AAC3E,2CAA0D;AAC1D,6CAA2D;AAC3D,+CAAsE;AAEtE,uDAAwD;AAExD,+BAAgC;AAEhC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,SAAS,YAAY,CAAC,IAAU,EAAE,EAAmB;IACnD,IAAI,CAAC,EAAE,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,IAAA,2BAAkB,EACvB,IAAI,CAAC,KAAkC,EACvC,EAAE,CAAC,MAAmC,CACvC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAAqB,EACrB,EAAmB;IAEnB,MAAM,MAAM,GACV,EAAE,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,CAAC,IAAA,wBAAa,EAAC;YACZ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,IAAA,mBAAW,EAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC;
|
|
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;AA2ChF;;;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,23 +9,31 @@ 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)
|
|
13
|
+
? expected.some((candidate) => (0, node_util_1.isDeepStrictEqual)(actual, candidate))
|
|
14
|
+
: false,
|
|
15
|
+
$nin: (actual, expected) => Array.isArray(expected)
|
|
16
|
+
? !expected.some((candidate) => (0, node_util_1.isDeepStrictEqual)(actual, candidate))
|
|
17
|
+
: true,
|
|
13
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* True only when every key is one of the exact known operator names — matches
|
|
21
|
+
* the official `@langchain/langgraph-checkpoint` InMemoryStore's own detection
|
|
22
|
+
* exactly, so a stored value that merely has `$`-prefixed keys (e.g. a JSON
|
|
23
|
+
* Schema document) is compared as a literal value instead of misread as a
|
|
24
|
+
* filter operator.
|
|
25
|
+
*/
|
|
14
26
|
function isOperatorObject(condition) {
|
|
15
27
|
return (typeof condition === 'object' &&
|
|
16
28
|
condition !== null &&
|
|
17
29
|
!Array.isArray(condition) &&
|
|
18
30
|
Object.keys(condition).length > 0 &&
|
|
19
|
-
Object.keys(condition).every((key) =>
|
|
31
|
+
Object.keys(condition).every((key) => Object.prototype.hasOwnProperty.call(COMPARATORS, key)));
|
|
20
32
|
}
|
|
21
33
|
function matchesCondition(actual, condition) {
|
|
22
34
|
if (!isOperatorObject(condition))
|
|
23
35
|
return (0, node_util_1.isDeepStrictEqual)(actual, condition);
|
|
24
|
-
return Object.entries(condition).every(([operator, expected]) =>
|
|
25
|
-
const comparator = COMPARATORS[operator];
|
|
26
|
-
if (!comparator)
|
|
27
|
-
throw new errors_1.ValidationError(`Unknown filter operator "${operator}"`, 'filter');
|
|
28
|
-
return comparator(actual, expected);
|
|
29
|
-
});
|
|
36
|
+
return Object.entries(condition).every(([operator, expected]) => COMPARATORS[operator](actual, expected));
|
|
30
37
|
}
|
|
31
38
|
/**
|
|
32
39
|
* 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":";;;AAAA,yCAA8C;
|
|
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,CACxB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,6BAAiB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC,KAAK;IACX,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CACzB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,6BAAiB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC,IAAI;CACX,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;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,
|
|
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,CAe5B;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"}
|