@powerhousedao/reactor 6.0.0-dev.95 → 6.0.0-dev.97
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/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/executor/document-action-handler.d.ts +1 -1
- package/dist/src/executor/document-action-handler.d.ts.map +1 -1
- package/dist/src/executor/execution-scope.d.ts +3 -3
- package/dist/src/executor/execution-scope.d.ts.map +1 -1
- package/dist/src/executor/interfaces.d.ts +1 -1
- package/dist/src/executor/interfaces.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts +2 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts +1 -1
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/index.js +164 -90
- package/dist/src/storage/interfaces.d.ts +7 -0
- package/dist/src/storage/interfaces.d.ts.map +1 -1
- package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts +1 -0
- package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts.map +1 -1
- package/dist/src/sync/buffered-mailbox.d.ts +1 -0
- package/dist/src/sync/buffered-mailbox.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-req-channel.d.ts +7 -0
- package/dist/src/sync/channels/gql-req-channel.d.ts.map +1 -1
- package/dist/src/sync/mailbox.d.ts +2 -0
- package/dist/src/sync/mailbox.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.d.ts +2 -3
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"reactor-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare class DocumentActionHandler {
|
|
|
9
9
|
private registry;
|
|
10
10
|
private logger;
|
|
11
11
|
constructor(registry: IDocumentModelRegistry, logger: ILogger);
|
|
12
|
-
execute(job: Job, action: Action, startTime: number, indexTxn: IOperationIndexTxn, stores: ExecutionStores, skip?: number, sourceRemote?: string): Promise<JobResult & {
|
|
12
|
+
execute(job: Job, action: Action, startTime: number, indexTxn: IOperationIndexTxn, stores: ExecutionStores, skip?: number, sourceRemote?: string, signal?: AbortSignal): Promise<JobResult & {
|
|
13
13
|
operationsWithContext?: Array<{
|
|
14
14
|
operation: Operation;
|
|
15
15
|
context: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-action-handler.d.ts","sourceRoot":"","sources":["../../../src/executor/document-action-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAIN,SAAS,EAMV,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAY5C,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;gBADN,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,OAAO;IAGnB,OAAO,CACX,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE,MAAU,EAChB,YAAY,GAAE,MAAW,
|
|
1
|
+
{"version":3,"file":"document-action-handler.d.ts","sourceRoot":"","sources":["../../../src/executor/document-action-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAIN,SAAS,EAMV,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAY5C,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;gBADN,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,OAAO;IAGnB,OAAO,CACX,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE,MAAU,EAChB,YAAY,GAAE,MAAW,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CACR,SAAS,GAAG;QACV,qBAAqB,CAAC,EAAE,KAAK,CAAC;YAC5B,SAAS,EAAE,SAAS,CAAC;YACrB,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC;gBACd,MAAM,EAAE,MAAM,CAAC;gBACf,YAAY,EAAE,MAAM,CAAC;aACtB,CAAC;SACH,CAAC,CAAC;KACJ,CACF;YA+Da,aAAa;YAyGb,aAAa;YAiIb,cAAc;YA4Kd,sBAAsB;YAyJtB,yBAAyB;YA+IzB,qBAAqB;CA2CpC"}
|
|
@@ -19,7 +19,7 @@ export interface ExecutionStores {
|
|
|
19
19
|
collectionMembershipCache: ICollectionMembershipCache;
|
|
20
20
|
}
|
|
21
21
|
export interface IExecutionScope {
|
|
22
|
-
run<T>(fn: (stores: ExecutionStores) => Promise<T
|
|
22
|
+
run<T>(fn: (stores: ExecutionStores) => Promise<T>, signal?: AbortSignal): Promise<T>;
|
|
23
23
|
}
|
|
24
24
|
export declare class DefaultExecutionScope implements IExecutionScope {
|
|
25
25
|
private operationStore;
|
|
@@ -28,7 +28,7 @@ export declare class DefaultExecutionScope implements IExecutionScope {
|
|
|
28
28
|
private documentMetaCache;
|
|
29
29
|
private collectionMembershipCache;
|
|
30
30
|
constructor(operationStore: IOperationStore, operationIndex: IOperationIndex, writeCache: IWriteCache, documentMetaCache: IDocumentMetaCache, collectionMembershipCache: ICollectionMembershipCache);
|
|
31
|
-
run<T>(fn: (stores: ExecutionStores) => Promise<T
|
|
31
|
+
run<T>(fn: (stores: ExecutionStores) => Promise<T>, signal?: AbortSignal): Promise<T>;
|
|
32
32
|
}
|
|
33
33
|
export declare class KyselyExecutionScope implements IExecutionScope {
|
|
34
34
|
private db;
|
|
@@ -39,6 +39,6 @@ export declare class KyselyExecutionScope implements IExecutionScope {
|
|
|
39
39
|
private documentMetaCache;
|
|
40
40
|
private collectionMembershipCache;
|
|
41
41
|
constructor(db: Kysely<Database>, operationStore: KyselyOperationStore, operationIndex: KyselyOperationIndex, keyframeStore: KyselyKeyframeStore, writeCache: KyselyWriteCache, documentMetaCache: DocumentMetaCache, collectionMembershipCache: CollectionMembershipCache);
|
|
42
|
-
run<T>(fn: (stores: ExecutionStores) => Promise<T
|
|
42
|
+
run<T>(fn: (stores: ExecutionStores) => Promise<T>, signal?: AbortSignal): Promise<T>;
|
|
43
43
|
}
|
|
44
44
|
//# sourceMappingURL=execution-scope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-scope.d.ts","sourceRoot":"","sources":["../../../src/executor/execution-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,eAAe,CAAC;IAChC,UAAU,EAAE,WAAW,CAAC;IACxB,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,yBAAyB,EAAE,0BAA0B,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"execution-scope.d.ts","sourceRoot":"","sources":["../../../src/executor/execution-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,eAAe,CAAC;IAChC,UAAU,EAAE,WAAW,CAAC;IACxB,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,yBAAyB,EAAE,0BAA0B,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,CAAC,EACH,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,qBAAa,qBAAsB,YAAW,eAAe;IAEzD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,yBAAyB;gBAJzB,cAAc,EAAE,eAAe,EAC/B,cAAc,EAAE,eAAe,EAC/B,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,kBAAkB,EACrC,yBAAyB,EAAE,0BAA0B;IAGzD,GAAG,CAAC,CAAC,EACT,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;CAUd;AAED,qBAAa,oBAAqB,YAAW,eAAe;IAExD,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,yBAAyB;gBANzB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EACpB,cAAc,EAAE,oBAAoB,EACpC,cAAc,EAAE,oBAAoB,EACpC,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,gBAAgB,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,yBAAyB,EAAE,yBAAyB;IAGxD,GAAG,CAAC,CAAC,EACT,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;CAoBd"}
|
|
@@ -10,7 +10,7 @@ export interface IJobExecutor {
|
|
|
10
10
|
* @param job - The job to execute
|
|
11
11
|
* @returns Promise that resolves to the job result
|
|
12
12
|
*/
|
|
13
|
-
executeJob(job: Job): Promise<JobResult>;
|
|
13
|
+
executeJob(job: Job, signal?: AbortSignal): Promise<JobResult>;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Interface for managing multiple job executors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/executor/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/executor/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAChE;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,YAAY,IAAI,YAAY,EAAE,CAAC;IAE/B;;;;OAIG;IACH,SAAS,IAAI,qBAAqB,CAAC;CACpC"}
|
|
@@ -23,7 +23,8 @@ export declare class SimpleJobExecutorManager implements IJobExecutorManager {
|
|
|
23
23
|
private totalJobsProcessed;
|
|
24
24
|
private unsubscribe?;
|
|
25
25
|
private deferredJobs;
|
|
26
|
-
|
|
26
|
+
private jobTimeoutMs;
|
|
27
|
+
constructor(executorFactory: JobExecutorFactory, eventBus: IEventBus, queue: IQueue, jobTracker: IJobTracker, logger: ILogger, resolver: IDocumentModelResolver, jobTimeoutMs?: number);
|
|
27
28
|
start(numExecutors: number): Promise<void>;
|
|
28
29
|
stop(graceful?: boolean): Promise<void>;
|
|
29
30
|
getExecutors(): IJobExecutor[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-job-executor-manager.d.ts","sourceRoot":"","sources":["../../../src/executor/simple-job-executor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAOrF,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"simple-job-executor-manager.d.ts","sourceRoot":"","sources":["../../../src/executor/simple-job-executor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAOrF,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAWhE,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAflB,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,YAAY,CAAS;gBAGnB,eAAe,EAAE,kBAAkB,EACnC,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,sBAAsB,EACxC,YAAY,GAAE,MAAe;IAKzB,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC1C,IAAI,CAAC,QAAQ,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC1C,YAAY,IAAI,YAAY,EAAE;IAI9B,SAAS,IAAI,qBAAqB;YASpB,cAAc;YAqMd,gBAAgB;YAkBhB,mBAAmB;IAwBjC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,uBAAuB;YAcjB,iBAAiB;IAgB/B,OAAO,CAAC,kBAAkB;CAwB3B"}
|
|
@@ -32,7 +32,7 @@ export declare class SimpleJobExecutor implements IJobExecutor {
|
|
|
32
32
|
* Execute a single job by applying all its actions through the appropriate reducers.
|
|
33
33
|
* Actions are processed sequentially in order.
|
|
34
34
|
*/
|
|
35
|
-
executeJob(job: Job): Promise<JobResult>;
|
|
35
|
+
executeJob(job: Job, signal?: AbortSignal): Promise<JobResult>;
|
|
36
36
|
private getCollectionMembershipsForOperations;
|
|
37
37
|
private processActions;
|
|
38
38
|
private executeRegularAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-job-executor.d.ts","sourceRoot":"","sources":["../../../src/executor/simple-job-executor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoB/D;;GAEG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IAOlD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,yBAAyB;IAbnC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,uBAAuB,CAAoB;IACnD,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,cAAc,CAAkB;gBAG9B,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,sBAAsB,EAChC,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,eAAe,EAC/B,iBAAiB,EAAE,kBAAkB,EACrC,yBAAyB,EAAE,0BAA0B,EAC7D,MAAM,EAAE,iBAAiB,EACzB,iBAAiB,CAAC,EAAE,4BAA4B,EAChD,cAAc,CAAC,EAAE,eAAe;IAsBlC;;;OAGG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"simple-job-executor.d.ts","sourceRoot":"","sources":["../../../src/executor/simple-job-executor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoB/D;;GAEG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IAOlD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,yBAAyB;IAbnC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,uBAAuB,CAAoB;IACnD,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,cAAc,CAAkB;gBAG9B,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,sBAAsB,EAChC,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,eAAe,EAC/B,iBAAiB,EAAE,kBAAkB,EACrC,yBAAyB,EAAE,0BAA0B,EAC7D,MAAM,EAAE,iBAAiB,EACzB,iBAAiB,CAAC,EAAE,4BAA4B,EAChD,cAAc,CAAC,EAAE,eAAe;IAsBlC;;;OAGG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;YA2ItD,qCAAqC;YAYrC,cAAc;YAgFd,oBAAoB;YAyNpB,cAAc;IA8M5B,OAAO,CAAC,6BAA6B;CAgBtC"}
|
package/dist/src/index.js
CHANGED
|
@@ -12272,7 +12272,8 @@ class DefaultExecutionScope {
|
|
|
12272
12272
|
this.documentMetaCache = documentMetaCache;
|
|
12273
12273
|
this.collectionMembershipCache = collectionMembershipCache;
|
|
12274
12274
|
}
|
|
12275
|
-
async run(fn) {
|
|
12275
|
+
async run(fn, signal) {
|
|
12276
|
+
signal?.throwIfAborted();
|
|
12276
12277
|
return fn({
|
|
12277
12278
|
operationStore: this.operationStore,
|
|
12278
12279
|
operationIndex: this.operationIndex,
|
|
@@ -12300,7 +12301,8 @@ class KyselyExecutionScope {
|
|
|
12300
12301
|
this.documentMetaCache = documentMetaCache;
|
|
12301
12302
|
this.collectionMembershipCache = collectionMembershipCache;
|
|
12302
12303
|
}
|
|
12303
|
-
async run(fn) {
|
|
12304
|
+
async run(fn, signal) {
|
|
12305
|
+
signal?.throwIfAborted();
|
|
12304
12306
|
return this.db.transaction().execute(async (trx) => {
|
|
12305
12307
|
const scopedOperationStore = this.operationStore.withTransaction(trx);
|
|
12306
12308
|
const scopedOperationIndex = this.operationIndex.withTransaction(trx);
|
|
@@ -12542,13 +12544,15 @@ class SimpleJobExecutorManager {
|
|
|
12542
12544
|
totalJobsProcessed = 0;
|
|
12543
12545
|
unsubscribe;
|
|
12544
12546
|
deferredJobs = new Map;
|
|
12545
|
-
|
|
12547
|
+
jobTimeoutMs;
|
|
12548
|
+
constructor(executorFactory, eventBus, queue, jobTracker, logger, resolver, jobTimeoutMs = 30000) {
|
|
12546
12549
|
this.executorFactory = executorFactory;
|
|
12547
12550
|
this.eventBus = eventBus;
|
|
12548
12551
|
this.queue = queue;
|
|
12549
12552
|
this.jobTracker = jobTracker;
|
|
12550
12553
|
this.logger = logger;
|
|
12551
12554
|
this.resolver = resolver;
|
|
12555
|
+
this.jobTimeoutMs = jobTimeoutMs;
|
|
12552
12556
|
}
|
|
12553
12557
|
async start(numExecutors) {
|
|
12554
12558
|
if (this.isRunning) {
|
|
@@ -12629,9 +12633,23 @@ class SimpleJobExecutorManager {
|
|
|
12629
12633
|
this.eventBus.emit(ReactorEventTypes.JOB_RUNNING, runningEvent).catch(() => {});
|
|
12630
12634
|
const executorIndex = this.totalJobsProcessed % this.executors.length;
|
|
12631
12635
|
const executor = this.executors[executorIndex];
|
|
12636
|
+
const signal = AbortSignal.timeout(this.jobTimeoutMs);
|
|
12637
|
+
const toError = (reason) => reason instanceof Error ? reason : new Error(String(reason));
|
|
12638
|
+
const abortPromise = new Promise((_, reject) => {
|
|
12639
|
+
if (signal.aborted) {
|
|
12640
|
+
reject(toError(signal.reason));
|
|
12641
|
+
return;
|
|
12642
|
+
}
|
|
12643
|
+
signal.addEventListener("abort", () => reject(toError(signal.reason)), {
|
|
12644
|
+
once: true
|
|
12645
|
+
});
|
|
12646
|
+
});
|
|
12632
12647
|
let result;
|
|
12633
12648
|
try {
|
|
12634
|
-
result = await
|
|
12649
|
+
result = await Promise.race([
|
|
12650
|
+
executor.executeJob(handle.job, signal),
|
|
12651
|
+
abortPromise
|
|
12652
|
+
]);
|
|
12635
12653
|
} catch (error) {
|
|
12636
12654
|
const errorInfo = this.toErrorInfo(error instanceof Error ? error : String(error));
|
|
12637
12655
|
handle.fail(errorInfo);
|
|
@@ -12871,23 +12889,23 @@ class DocumentActionHandler {
|
|
|
12871
12889
|
this.registry = registry;
|
|
12872
12890
|
this.logger = logger;
|
|
12873
12891
|
}
|
|
12874
|
-
async execute(job, action, startTime, indexTxn, stores, skip = 0, sourceRemote = "") {
|
|
12892
|
+
async execute(job, action, startTime, indexTxn, stores, skip = 0, sourceRemote = "", signal) {
|
|
12875
12893
|
switch (action.type) {
|
|
12876
12894
|
case "CREATE_DOCUMENT":
|
|
12877
|
-
return this.executeCreate(job, action, startTime, indexTxn, stores, skip, sourceRemote);
|
|
12895
|
+
return this.executeCreate(job, action, startTime, indexTxn, stores, skip, sourceRemote, signal);
|
|
12878
12896
|
case "DELETE_DOCUMENT":
|
|
12879
|
-
return this.executeDelete(job, action, startTime, indexTxn, stores, sourceRemote);
|
|
12897
|
+
return this.executeDelete(job, action, startTime, indexTxn, stores, sourceRemote, signal);
|
|
12880
12898
|
case "UPGRADE_DOCUMENT":
|
|
12881
|
-
return this.executeUpgrade(job, action, startTime, indexTxn, stores, skip, sourceRemote);
|
|
12899
|
+
return this.executeUpgrade(job, action, startTime, indexTxn, stores, skip, sourceRemote, signal);
|
|
12882
12900
|
case "ADD_RELATIONSHIP":
|
|
12883
|
-
return this.executeAddRelationship(job, action, startTime, indexTxn, stores, sourceRemote);
|
|
12901
|
+
return this.executeAddRelationship(job, action, startTime, indexTxn, stores, sourceRemote, signal);
|
|
12884
12902
|
case "REMOVE_RELATIONSHIP":
|
|
12885
|
-
return this.executeRemoveRelationship(job, action, startTime, indexTxn, stores, sourceRemote);
|
|
12903
|
+
return this.executeRemoveRelationship(job, action, startTime, indexTxn, stores, sourceRemote, signal);
|
|
12886
12904
|
default:
|
|
12887
12905
|
return buildErrorResult(job, new Error(`Unknown document action type: ${action.type}`), startTime);
|
|
12888
12906
|
}
|
|
12889
12907
|
}
|
|
12890
|
-
async executeCreate(job, action, startTime, indexTxn, stores, skip = 0, sourceRemote = "") {
|
|
12908
|
+
async executeCreate(job, action, startTime, indexTxn, stores, skip = 0, sourceRemote = "", signal) {
|
|
12891
12909
|
if (job.scope !== "document") {
|
|
12892
12910
|
return {
|
|
12893
12911
|
job,
|
|
@@ -12907,7 +12925,7 @@ class DocumentActionHandler {
|
|
|
12907
12925
|
...document.state
|
|
12908
12926
|
};
|
|
12909
12927
|
const resultingState = JSON.stringify(resultingStateObj);
|
|
12910
|
-
const writeError = await this.writeOperationToStore(document.header.id, document.header.documentType, job.scope, job.branch, operation, job, startTime, stores);
|
|
12928
|
+
const writeError = await this.writeOperationToStore(document.header.id, document.header.documentType, job.scope, job.branch, operation, job, startTime, stores, signal);
|
|
12911
12929
|
if (writeError !== null) {
|
|
12912
12930
|
return writeError;
|
|
12913
12931
|
}
|
|
@@ -12935,7 +12953,7 @@ class DocumentActionHandler {
|
|
|
12935
12953
|
});
|
|
12936
12954
|
return buildSuccessResult(job, operation, document.header.id, document.header.documentType, resultingState, startTime);
|
|
12937
12955
|
}
|
|
12938
|
-
async executeDelete(job, action, startTime, indexTxn, stores, sourceRemote = "") {
|
|
12956
|
+
async executeDelete(job, action, startTime, indexTxn, stores, sourceRemote = "", signal) {
|
|
12939
12957
|
const input = action.input;
|
|
12940
12958
|
if (!input.documentId) {
|
|
12941
12959
|
return buildErrorResult(job, new Error("DELETE_DOCUMENT action requires a documentId in input"), startTime);
|
|
@@ -12943,7 +12961,7 @@ class DocumentActionHandler {
|
|
|
12943
12961
|
const documentId = input.documentId;
|
|
12944
12962
|
let document;
|
|
12945
12963
|
try {
|
|
12946
|
-
document = await stores.writeCache.getState(documentId, job.scope, job.branch);
|
|
12964
|
+
document = await stores.writeCache.getState(documentId, job.scope, job.branch, undefined, signal);
|
|
12947
12965
|
} catch (error) {
|
|
12948
12966
|
return buildErrorResult(job, new Error(`Failed to fetch document before deletion: ${error instanceof Error ? error.message : String(error)}`), startTime);
|
|
12949
12967
|
}
|
|
@@ -12963,7 +12981,7 @@ class DocumentActionHandler {
|
|
|
12963
12981
|
document: document.state.document
|
|
12964
12982
|
};
|
|
12965
12983
|
const resultingState = JSON.stringify(resultingStateObj);
|
|
12966
|
-
const writeError = await this.writeOperationToStore(documentId, document.header.documentType, job.scope, job.branch, operation, job, startTime, stores);
|
|
12984
|
+
const writeError = await this.writeOperationToStore(documentId, document.header.documentType, job.scope, job.branch, operation, job, startTime, stores, signal);
|
|
12967
12985
|
if (writeError !== null) {
|
|
12968
12986
|
return writeError;
|
|
12969
12987
|
}
|
|
@@ -12986,7 +13004,7 @@ class DocumentActionHandler {
|
|
|
12986
13004
|
});
|
|
12987
13005
|
return buildSuccessResult(job, operation, documentId, document.header.documentType, resultingState, startTime);
|
|
12988
13006
|
}
|
|
12989
|
-
async executeUpgrade(job, action, startTime, indexTxn, stores, skip = 0, sourceRemote = "") {
|
|
13007
|
+
async executeUpgrade(job, action, startTime, indexTxn, stores, skip = 0, sourceRemote = "", signal) {
|
|
12990
13008
|
const input = action.input;
|
|
12991
13009
|
if (!input.documentId) {
|
|
12992
13010
|
return buildErrorResult(job, new Error("UPGRADE_DOCUMENT action requires a documentId in input"), startTime);
|
|
@@ -12996,7 +13014,7 @@ class DocumentActionHandler {
|
|
|
12996
13014
|
const toVersion = input.toVersion;
|
|
12997
13015
|
let document;
|
|
12998
13016
|
try {
|
|
12999
|
-
document = await stores.writeCache.getState(documentId, job.scope, job.branch);
|
|
13017
|
+
document = await stores.writeCache.getState(documentId, job.scope, job.branch, undefined, signal);
|
|
13000
13018
|
} catch (error) {
|
|
13001
13019
|
return buildErrorResult(job, new Error(`Failed to fetch document for upgrade: ${error instanceof Error ? error.message : String(error)}`), startTime);
|
|
13002
13020
|
}
|
|
@@ -13037,7 +13055,7 @@ class DocumentActionHandler {
|
|
|
13037
13055
|
...document.state
|
|
13038
13056
|
};
|
|
13039
13057
|
const resultingState = JSON.stringify(resultingStateObj);
|
|
13040
|
-
const writeError = await this.writeOperationToStore(documentId, document.header.documentType, job.scope, job.branch, operation, job, startTime, stores);
|
|
13058
|
+
const writeError = await this.writeOperationToStore(documentId, document.header.documentType, job.scope, job.branch, operation, job, startTime, stores, signal);
|
|
13041
13059
|
if (writeError !== null) {
|
|
13042
13060
|
return writeError;
|
|
13043
13061
|
}
|
|
@@ -13060,7 +13078,7 @@ class DocumentActionHandler {
|
|
|
13060
13078
|
});
|
|
13061
13079
|
return buildSuccessResult(job, operation, documentId, document.header.documentType, resultingState, startTime);
|
|
13062
13080
|
}
|
|
13063
|
-
async executeAddRelationship(job, action, startTime, indexTxn, stores, sourceRemote = "") {
|
|
13081
|
+
async executeAddRelationship(job, action, startTime, indexTxn, stores, sourceRemote = "", signal) {
|
|
13064
13082
|
if (job.scope !== "document") {
|
|
13065
13083
|
return buildErrorResult(job, new Error(`ADD_RELATIONSHIP must be in "document" scope, got "${job.scope}"`), startTime);
|
|
13066
13084
|
}
|
|
@@ -13073,7 +13091,7 @@ class DocumentActionHandler {
|
|
|
13073
13091
|
}
|
|
13074
13092
|
let sourceDoc;
|
|
13075
13093
|
try {
|
|
13076
|
-
sourceDoc = await stores.writeCache.getState(input.sourceId, "document", job.branch);
|
|
13094
|
+
sourceDoc = await stores.writeCache.getState(input.sourceId, "document", job.branch, undefined, signal);
|
|
13077
13095
|
} catch (error) {
|
|
13078
13096
|
return buildErrorResult(job, new Error(`ADD_RELATIONSHIP: source document ${input.sourceId} not found: ${error instanceof Error ? error.message : String(error)}`), startTime);
|
|
13079
13097
|
}
|
|
@@ -13083,7 +13101,7 @@ class DocumentActionHandler {
|
|
|
13083
13101
|
scope: job.scope,
|
|
13084
13102
|
branch: job.branch
|
|
13085
13103
|
});
|
|
13086
|
-
const writeError = await this.writeOperationToStore(input.sourceId, sourceDoc.header.documentType, job.scope, job.branch, operation, job, startTime, stores);
|
|
13104
|
+
const writeError = await this.writeOperationToStore(input.sourceId, sourceDoc.header.documentType, job.scope, job.branch, operation, job, startTime, stores, signal);
|
|
13087
13105
|
if (writeError !== null) {
|
|
13088
13106
|
return writeError;
|
|
13089
13107
|
}
|
|
@@ -13122,7 +13140,7 @@ class DocumentActionHandler {
|
|
|
13122
13140
|
});
|
|
13123
13141
|
return buildSuccessResult(job, operation, input.sourceId, sourceDoc.header.documentType, resultingState, startTime);
|
|
13124
13142
|
}
|
|
13125
|
-
async executeRemoveRelationship(job, action, startTime, indexTxn, stores, sourceRemote = "") {
|
|
13143
|
+
async executeRemoveRelationship(job, action, startTime, indexTxn, stores, sourceRemote = "", signal) {
|
|
13126
13144
|
if (job.scope !== "document") {
|
|
13127
13145
|
return buildErrorResult(job, new Error(`REMOVE_RELATIONSHIP must be in "document" scope, got "${job.scope}"`), startTime);
|
|
13128
13146
|
}
|
|
@@ -13132,7 +13150,7 @@ class DocumentActionHandler {
|
|
|
13132
13150
|
}
|
|
13133
13151
|
let sourceDoc;
|
|
13134
13152
|
try {
|
|
13135
|
-
sourceDoc = await stores.writeCache.getState(input.sourceId, "document", job.branch);
|
|
13153
|
+
sourceDoc = await stores.writeCache.getState(input.sourceId, "document", job.branch, undefined, signal);
|
|
13136
13154
|
} catch (error) {
|
|
13137
13155
|
return buildErrorResult(job, new Error(`REMOVE_RELATIONSHIP: source document ${input.sourceId} not found: ${error instanceof Error ? error.message : String(error)}`), startTime);
|
|
13138
13156
|
}
|
|
@@ -13142,7 +13160,7 @@ class DocumentActionHandler {
|
|
|
13142
13160
|
scope: job.scope,
|
|
13143
13161
|
branch: job.branch
|
|
13144
13162
|
});
|
|
13145
|
-
const writeError = await this.writeOperationToStore(input.sourceId, sourceDoc.header.documentType, job.scope, job.branch, operation, job, startTime, stores);
|
|
13163
|
+
const writeError = await this.writeOperationToStore(input.sourceId, sourceDoc.header.documentType, job.scope, job.branch, operation, job, startTime, stores, signal);
|
|
13146
13164
|
if (writeError !== null) {
|
|
13147
13165
|
return writeError;
|
|
13148
13166
|
}
|
|
@@ -13181,11 +13199,11 @@ class DocumentActionHandler {
|
|
|
13181
13199
|
});
|
|
13182
13200
|
return buildSuccessResult(job, operation, input.sourceId, sourceDoc.header.documentType, resultingState, startTime);
|
|
13183
13201
|
}
|
|
13184
|
-
async writeOperationToStore(documentId, documentType, scope, branch, operation, job, startTime, stores) {
|
|
13202
|
+
async writeOperationToStore(documentId, documentType, scope, branch, operation, job, startTime, stores, signal) {
|
|
13185
13203
|
try {
|
|
13186
13204
|
await stores.operationStore.apply(documentId, documentType, scope, branch, operation.index, (txn) => {
|
|
13187
13205
|
txn.addOperations(operation);
|
|
13188
|
-
});
|
|
13206
|
+
}, signal);
|
|
13189
13207
|
return null;
|
|
13190
13208
|
} catch (error) {
|
|
13191
13209
|
this.logger.error("Error writing @Operation to IOperationStore: @Error", operation, error);
|
|
@@ -13311,7 +13329,7 @@ class SimpleJobExecutor {
|
|
|
13311
13329
|
this.documentActionHandler = new DocumentActionHandler(registry, logger);
|
|
13312
13330
|
this.executionScope = executionScope ?? new DefaultExecutionScope(operationStore, operationIndex, writeCache, documentMetaCache, collectionMembershipCache);
|
|
13313
13331
|
}
|
|
13314
|
-
async executeJob(job) {
|
|
13332
|
+
async executeJob(job, signal) {
|
|
13315
13333
|
const startTime = Date.now();
|
|
13316
13334
|
const touchedCacheEntries = [];
|
|
13317
13335
|
let pendingEvent;
|
|
@@ -13320,7 +13338,7 @@ class SimpleJobExecutor {
|
|
|
13320
13338
|
result = await this.executionScope.run(async (stores) => {
|
|
13321
13339
|
const indexTxn = stores.operationIndex.start();
|
|
13322
13340
|
if (job.kind === "load") {
|
|
13323
|
-
const loadResult = await this.executeLoadJob(job, startTime, indexTxn, stores);
|
|
13341
|
+
const loadResult = await this.executeLoadJob(job, startTime, indexTxn, stores, signal);
|
|
13324
13342
|
if (loadResult.success && loadResult.operationsWithContext) {
|
|
13325
13343
|
for (const owc of loadResult.operationsWithContext) {
|
|
13326
13344
|
touchedCacheEntries.push({
|
|
@@ -13329,7 +13347,7 @@ class SimpleJobExecutor {
|
|
|
13329
13347
|
branch: owc.context.branch
|
|
13330
13348
|
});
|
|
13331
13349
|
}
|
|
13332
|
-
const ordinals2 = await stores.operationIndex.commit(indexTxn);
|
|
13350
|
+
const ordinals2 = await stores.operationIndex.commit(indexTxn, signal);
|
|
13333
13351
|
for (let i = 0;i < loadResult.operationsWithContext.length; i++) {
|
|
13334
13352
|
loadResult.operationsWithContext[i].context.ordinal = ordinals2[i];
|
|
13335
13353
|
}
|
|
@@ -13343,7 +13361,7 @@ class SimpleJobExecutor {
|
|
|
13343
13361
|
}
|
|
13344
13362
|
return loadResult;
|
|
13345
13363
|
}
|
|
13346
|
-
const actionResult = await this.processActions(job, job.actions, startTime, indexTxn, stores);
|
|
13364
|
+
const actionResult = await this.processActions(job, job.actions, startTime, indexTxn, stores, undefined, undefined, "", signal);
|
|
13347
13365
|
if (!actionResult.success) {
|
|
13348
13366
|
return {
|
|
13349
13367
|
job,
|
|
@@ -13361,7 +13379,7 @@ class SimpleJobExecutor {
|
|
|
13361
13379
|
});
|
|
13362
13380
|
}
|
|
13363
13381
|
}
|
|
13364
|
-
const ordinals = await stores.operationIndex.commit(indexTxn);
|
|
13382
|
+
const ordinals = await stores.operationIndex.commit(indexTxn, signal);
|
|
13365
13383
|
if (actionResult.operationsWithContext.length > 0) {
|
|
13366
13384
|
for (let i = 0;i < actionResult.operationsWithContext.length; i++) {
|
|
13367
13385
|
actionResult.operationsWithContext[i].context.ordinal = ordinals[i];
|
|
@@ -13381,7 +13399,7 @@ class SimpleJobExecutor {
|
|
|
13381
13399
|
operationsWithContext: actionResult.operationsWithContext,
|
|
13382
13400
|
duration: Date.now() - startTime
|
|
13383
13401
|
};
|
|
13384
|
-
});
|
|
13402
|
+
}, signal);
|
|
13385
13403
|
} catch (error) {
|
|
13386
13404
|
for (const entry of touchedCacheEntries) {
|
|
13387
13405
|
this.writeCache.invalidate(entry.documentId, entry.scope, entry.branch);
|
|
@@ -13402,7 +13420,7 @@ class SimpleJobExecutor {
|
|
|
13402
13420
|
];
|
|
13403
13421
|
return stores.collectionMembershipCache.getCollectionsForDocuments(documentIds);
|
|
13404
13422
|
}
|
|
13405
|
-
async processActions(job, actions2, startTime, indexTxn, stores, skipValues, sourceOperations, sourceRemote = "") {
|
|
13423
|
+
async processActions(job, actions2, startTime, indexTxn, stores, skipValues, sourceOperations, sourceRemote = "", signal) {
|
|
13406
13424
|
const generatedOperations = [];
|
|
13407
13425
|
const operationsWithContext = [];
|
|
13408
13426
|
try {
|
|
@@ -13420,7 +13438,7 @@ class SimpleJobExecutor {
|
|
|
13420
13438
|
const skip = skipValues?.[actionIndex] ?? 0;
|
|
13421
13439
|
const sourceOperation = sourceOperations?.[actionIndex];
|
|
13422
13440
|
const isDocumentAction = documentScopeActions.includes(action.type);
|
|
13423
|
-
const result = isDocumentAction ? await this.documentActionHandler.execute(job, action, startTime, indexTxn, stores, skip, sourceRemote) : await this.executeRegularAction(job, action, startTime, indexTxn, stores, skip, sourceOperation, sourceRemote);
|
|
13441
|
+
const result = isDocumentAction ? await this.documentActionHandler.execute(job, action, startTime, indexTxn, stores, skip, sourceRemote, signal) : await this.executeRegularAction(job, action, startTime, indexTxn, stores, skip, sourceOperation, sourceRemote, signal);
|
|
13424
13442
|
const error = this.accumulateResultOrReturnError(result, generatedOperations, operationsWithContext);
|
|
13425
13443
|
if (error !== null) {
|
|
13426
13444
|
return {
|
|
@@ -13437,10 +13455,10 @@ class SimpleJobExecutor {
|
|
|
13437
13455
|
operationsWithContext
|
|
13438
13456
|
};
|
|
13439
13457
|
}
|
|
13440
|
-
async executeRegularAction(job, action, startTime, indexTxn, stores, skip = 0, sourceOperation, sourceRemote = "") {
|
|
13458
|
+
async executeRegularAction(job, action, startTime, indexTxn, stores, skip = 0, sourceOperation, sourceRemote = "", signal) {
|
|
13441
13459
|
let docMeta;
|
|
13442
13460
|
try {
|
|
13443
|
-
docMeta = await stores.documentMetaCache.getDocumentMeta(job.documentId, job.branch);
|
|
13461
|
+
docMeta = await stores.documentMetaCache.getDocumentMeta(job.documentId, job.branch, signal);
|
|
13444
13462
|
} catch (error) {
|
|
13445
13463
|
return buildErrorResult(job, error instanceof Error ? error : new Error(String(error)), startTime);
|
|
13446
13464
|
}
|
|
@@ -13452,7 +13470,7 @@ class SimpleJobExecutor {
|
|
|
13452
13470
|
}
|
|
13453
13471
|
let document;
|
|
13454
13472
|
try {
|
|
13455
|
-
document = await stores.writeCache.getState(job.documentId, job.scope, job.branch);
|
|
13473
|
+
document = await stores.writeCache.getState(job.documentId, job.scope, job.branch, undefined, signal);
|
|
13456
13474
|
} catch (error) {
|
|
13457
13475
|
return buildErrorResult(job, error instanceof Error ? error : new Error(String(error)), startTime);
|
|
13458
13476
|
}
|
|
@@ -13505,7 +13523,7 @@ ${error.stack}`;
|
|
|
13505
13523
|
try {
|
|
13506
13524
|
await stores.operationStore.apply(job.documentId, document.header.documentType, scope, job.branch, newOperation.index, (txn) => {
|
|
13507
13525
|
txn.addOperations(newOperation);
|
|
13508
|
-
});
|
|
13526
|
+
}, signal);
|
|
13509
13527
|
} catch (error) {
|
|
13510
13528
|
this.logger.error("Error writing @Operation to IOperationStore: @Error", newOperation, error);
|
|
13511
13529
|
stores.writeCache.invalidate(job.documentId, scope, job.branch);
|
|
@@ -13551,13 +13569,13 @@ ${error.stack}`;
|
|
|
13551
13569
|
duration: Date.now() - startTime
|
|
13552
13570
|
};
|
|
13553
13571
|
}
|
|
13554
|
-
async executeLoadJob(job, startTime, indexTxn, stores) {
|
|
13572
|
+
async executeLoadJob(job, startTime, indexTxn, stores, signal) {
|
|
13555
13573
|
if (job.operations.length === 0) {
|
|
13556
13574
|
return buildErrorResult(job, new Error("Load job must include at least one operation"), startTime);
|
|
13557
13575
|
}
|
|
13558
13576
|
let docMeta;
|
|
13559
13577
|
try {
|
|
13560
|
-
docMeta = await stores.documentMetaCache.getDocumentMeta(job.documentId, job.branch);
|
|
13578
|
+
docMeta = await stores.documentMetaCache.getDocumentMeta(job.documentId, job.branch, signal);
|
|
13561
13579
|
} catch {}
|
|
13562
13580
|
if (docMeta?.state.isDeleted) {
|
|
13563
13581
|
return buildErrorResult(job, new DocumentDeletedError(job.documentId, docMeta.state.deletedAtUtcIso), startTime);
|
|
@@ -13565,7 +13583,7 @@ ${error.stack}`;
|
|
|
13565
13583
|
const scope = job.scope;
|
|
13566
13584
|
let latestRevision = 0;
|
|
13567
13585
|
try {
|
|
13568
|
-
const revisions = await stores.operationStore.getRevisions(job.documentId, job.branch);
|
|
13586
|
+
const revisions = await stores.operationStore.getRevisions(job.documentId, job.branch, signal);
|
|
13569
13587
|
latestRevision = revisions.revision[scope] ?? 0;
|
|
13570
13588
|
} catch {
|
|
13571
13589
|
latestRevision = 0;
|
|
@@ -13581,7 +13599,7 @@ ${error.stack}`;
|
|
|
13581
13599
|
}
|
|
13582
13600
|
let conflictingOps = [];
|
|
13583
13601
|
try {
|
|
13584
|
-
const conflictingResult = await stores.operationStore.getConflicting(job.documentId, scope, job.branch, minIncomingTimestamp);
|
|
13602
|
+
const conflictingResult = await stores.operationStore.getConflicting(job.documentId, scope, job.branch, minIncomingTimestamp, undefined, signal);
|
|
13585
13603
|
conflictingOps = conflictingResult.results;
|
|
13586
13604
|
} catch {
|
|
13587
13605
|
conflictingOps = [];
|
|
@@ -13590,7 +13608,7 @@ ${error.stack}`;
|
|
|
13590
13608
|
if (conflictingOps.length > 0) {
|
|
13591
13609
|
const minConflictingIndex = Math.min(...conflictingOps.map((op) => op.index));
|
|
13592
13610
|
try {
|
|
13593
|
-
const allOpsResult = await stores.operationStore.getSince(job.documentId, scope, job.branch, minConflictingIndex - 1);
|
|
13611
|
+
const allOpsResult = await stores.operationStore.getSince(job.documentId, scope, job.branch, minConflictingIndex - 1, undefined, undefined, signal);
|
|
13594
13612
|
allOpsFromMinConflictingIndex = allOpsResult.results;
|
|
13595
13613
|
} catch {
|
|
13596
13614
|
allOpsFromMinConflictingIndex = conflictingOps;
|
|
@@ -13651,7 +13669,7 @@ ${error.stack}`;
|
|
|
13651
13669
|
const actions2 = reshuffledOperations.map((operation) => operation.action);
|
|
13652
13670
|
const skipValues = reshuffledOperations.map((operation) => operation.skip);
|
|
13653
13671
|
const effectiveSourceRemote = skipCount > 0 ? "" : job.meta.sourceRemote || "";
|
|
13654
|
-
const result = await this.processActions(job, actions2, startTime, indexTxn, stores, skipValues, reshuffledOperations, effectiveSourceRemote);
|
|
13672
|
+
const result = await this.processActions(job, actions2, startTime, indexTxn, stores, skipValues, reshuffledOperations, effectiveSourceRemote, signal);
|
|
13655
13673
|
if (!result.success) {
|
|
13656
13674
|
return {
|
|
13657
13675
|
job,
|
|
@@ -16453,6 +16471,9 @@ class Mailbox {
|
|
|
16453
16471
|
init(ackOrdinal) {
|
|
16454
16472
|
this._ack = this._latestOrdinal = ackOrdinal;
|
|
16455
16473
|
}
|
|
16474
|
+
advanceOrdinal(ordinal) {
|
|
16475
|
+
this._latestOrdinal = Math.max(this._latestOrdinal, ordinal);
|
|
16476
|
+
}
|
|
16456
16477
|
get items() {
|
|
16457
16478
|
return Array.from(this.itemsMap.values());
|
|
16458
16479
|
}
|
|
@@ -16588,6 +16609,9 @@ class BufferedMailbox {
|
|
|
16588
16609
|
init(ackOrdinal) {
|
|
16589
16610
|
this._ack = this._latestOrdinal = ackOrdinal;
|
|
16590
16611
|
}
|
|
16612
|
+
advanceOrdinal(ordinal) {
|
|
16613
|
+
this._latestOrdinal = Math.max(this._latestOrdinal, ordinal);
|
|
16614
|
+
}
|
|
16591
16615
|
get items() {
|
|
16592
16616
|
return Array.from(this.itemsMap.values());
|
|
16593
16617
|
}
|
|
@@ -17269,6 +17293,8 @@ class GqlRequestChannel {
|
|
|
17269
17293
|
pushFailureCount = 0;
|
|
17270
17294
|
pushRetryTimer = null;
|
|
17271
17295
|
pushBlocked = false;
|
|
17296
|
+
isPushing = false;
|
|
17297
|
+
pendingDrain = false;
|
|
17272
17298
|
connectionState = "connecting";
|
|
17273
17299
|
connectionStateCallbacks = new Set;
|
|
17274
17300
|
constructor(logger, channelId, remoteName, cursorStorage, config, operationIndex, pollTimer) {
|
|
@@ -17293,20 +17319,19 @@ class GqlRequestChannel {
|
|
|
17293
17319
|
this.bufferedOutbox = new BufferedMailbox(500, 25);
|
|
17294
17320
|
this.outbox = this.bufferedOutbox;
|
|
17295
17321
|
this.deadLetter = new Mailbox;
|
|
17296
|
-
this.deadLetter.onAdded(() => {
|
|
17297
|
-
|
|
17298
|
-
|
|
17299
|
-
clearTimeout(this.pushRetryTimer);
|
|
17300
|
-
this.pushRetryTimer = null;
|
|
17322
|
+
this.deadLetter.onAdded((syncOps) => {
|
|
17323
|
+
for (const syncOp of syncOps) {
|
|
17324
|
+
this.logger.warn("Dead letter added for document @DocumentId on channel @ChannelId", syncOp.documentId, this.channelId);
|
|
17301
17325
|
}
|
|
17302
|
-
this.transitionConnectionState("error");
|
|
17303
17326
|
});
|
|
17304
17327
|
this.outbox.onAdded((syncOps) => {
|
|
17305
17328
|
if (this.isShutdown)
|
|
17306
17329
|
return;
|
|
17307
|
-
if (this.
|
|
17330
|
+
if (this.isPushing) {
|
|
17331
|
+
this.pendingDrain = true;
|
|
17308
17332
|
return;
|
|
17309
|
-
|
|
17333
|
+
}
|
|
17334
|
+
if (this.pushBlocked)
|
|
17310
17335
|
return;
|
|
17311
17336
|
this.attemptPush(syncOps);
|
|
17312
17337
|
});
|
|
@@ -17622,13 +17647,18 @@ class GqlRequestChannel {
|
|
|
17622
17647
|
return { ackOrdinal: data.touchChannel.ackOrdinal };
|
|
17623
17648
|
}
|
|
17624
17649
|
attemptPush(syncOps) {
|
|
17650
|
+
this.isPushing = true;
|
|
17625
17651
|
this.pushSyncOperations(syncOps).then(() => {
|
|
17652
|
+
this.isPushing = false;
|
|
17626
17653
|
this.pushBlocked = false;
|
|
17627
17654
|
this.pushFailureCount = 0;
|
|
17628
17655
|
if (this.connectionState === "reconnecting" || this.connectionState === "error") {
|
|
17629
17656
|
this.transitionConnectionState("connected");
|
|
17630
17657
|
}
|
|
17658
|
+
this.drainOutbox();
|
|
17631
17659
|
}).catch((error) => {
|
|
17660
|
+
this.isPushing = false;
|
|
17661
|
+
this.pendingDrain = false;
|
|
17632
17662
|
if (this.isShutdown)
|
|
17633
17663
|
return;
|
|
17634
17664
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
@@ -17667,6 +17697,17 @@ class GqlRequestChannel {
|
|
|
17667
17697
|
this.attemptPush([...allItems]);
|
|
17668
17698
|
}, delay);
|
|
17669
17699
|
}
|
|
17700
|
+
drainOutbox() {
|
|
17701
|
+
if (!this.pendingDrain)
|
|
17702
|
+
return;
|
|
17703
|
+
this.pendingDrain = false;
|
|
17704
|
+
if (this.isShutdown)
|
|
17705
|
+
return;
|
|
17706
|
+
const items = this.outbox.items;
|
|
17707
|
+
if (items.length === 0)
|
|
17708
|
+
return;
|
|
17709
|
+
this.attemptPush([...items]);
|
|
17710
|
+
}
|
|
17670
17711
|
classifyError(error) {
|
|
17671
17712
|
if (!(error instanceof GraphQLRequestError)) {
|
|
17672
17713
|
return "recoverable";
|
|
@@ -18155,6 +18196,16 @@ class KyselySyncDeadLetterStorage {
|
|
|
18155
18196
|
throw new Error("Operation aborted");
|
|
18156
18197
|
}
|
|
18157
18198
|
}
|
|
18199
|
+
async listQuarantinedDocumentIds(signal) {
|
|
18200
|
+
if (signal?.aborted) {
|
|
18201
|
+
throw new Error("Operation aborted");
|
|
18202
|
+
}
|
|
18203
|
+
const rows = await this.db.selectFrom("sync_dead_letters").select("document_id").distinct().execute();
|
|
18204
|
+
if (signal?.aborted) {
|
|
18205
|
+
throw new Error("Operation aborted");
|
|
18206
|
+
}
|
|
18207
|
+
return rows.map((row) => row.document_id);
|
|
18208
|
+
}
|
|
18158
18209
|
}
|
|
18159
18210
|
|
|
18160
18211
|
// src/storage/kysely/sync-remote-storage.ts
|
|
@@ -18735,7 +18786,7 @@ class SyncManager {
|
|
|
18735
18786
|
syncStatusTracker;
|
|
18736
18787
|
maxDeadLettersPerRemote;
|
|
18737
18788
|
connectionStateUnsubscribes = new Map;
|
|
18738
|
-
|
|
18789
|
+
quarantinedDocumentIds = new Set;
|
|
18739
18790
|
constructor(logger, remoteStorage, cursorStorage, deadLetterStorage, channelFactory, operationIndex, reactor, eventBus, maxDeadLettersPerRemote = 100) {
|
|
18740
18791
|
this.logger = logger;
|
|
18741
18792
|
this.remoteStorage = remoteStorage;
|
|
@@ -18757,6 +18808,14 @@ class SyncManager {
|
|
|
18757
18808
|
if (this.isShutdown) {
|
|
18758
18809
|
throw new Error("SyncManager is already shutdown and cannot be started");
|
|
18759
18810
|
}
|
|
18811
|
+
try {
|
|
18812
|
+
const quarantinedIds = await this.deadLetterStorage.listQuarantinedDocumentIds();
|
|
18813
|
+
for (const id of quarantinedIds) {
|
|
18814
|
+
this.quarantinedDocumentIds.add(id);
|
|
18815
|
+
}
|
|
18816
|
+
} catch (error) {
|
|
18817
|
+
this.logger.error("Failed to load quarantined document IDs (@error)", error instanceof Error ? error.message : String(error));
|
|
18818
|
+
}
|
|
18760
18819
|
const remoteRecords = await this.remoteStorage.list();
|
|
18761
18820
|
for (const record of remoteRecords) {
|
|
18762
18821
|
const channel = this.channelFactory.instance(record.id, record.name, record.channelConfig, this.cursorStorage, record.collectionId, record.filter, this.operationIndex);
|
|
@@ -18921,6 +18980,7 @@ class SyncManager {
|
|
|
18921
18980
|
remote.channel.deadLetter.onAdded((syncOps) => {
|
|
18922
18981
|
for (const syncOp of syncOps) {
|
|
18923
18982
|
this.logger.error("Dead letter (@remote, @documentId, @jobId, @error, @dependencies)", remote.name, syncOp.documentId, syncOp.jobId, syncOp.error?.message ?? "unknown", syncOp.jobDependencies);
|
|
18983
|
+
this.quarantinedDocumentIds.add(syncOp.documentId);
|
|
18924
18984
|
const record = {
|
|
18925
18985
|
id: syncOp.id,
|
|
18926
18986
|
jobId: syncOp.jobId,
|
|
@@ -19006,9 +19066,12 @@ class SyncManager {
|
|
|
19006
19066
|
if (this.isShutdown) {
|
|
19007
19067
|
return;
|
|
19008
19068
|
}
|
|
19069
|
+
const eligible = syncOps.filter((op) => !this.quarantinedDocumentIds.has(op.documentId));
|
|
19070
|
+
if (eligible.length === 0)
|
|
19071
|
+
return;
|
|
19009
19072
|
const keyed = [];
|
|
19010
19073
|
const nonKeyed = [];
|
|
19011
|
-
for (const syncOp of
|
|
19074
|
+
for (const syncOp of eligible) {
|
|
19012
19075
|
if (syncOp.jobId) {
|
|
19013
19076
|
keyed.push(syncOp);
|
|
19014
19077
|
} else {
|
|
@@ -19052,8 +19115,8 @@ class SyncManager {
|
|
|
19052
19115
|
remote.channel.inbox.remove(syncOp);
|
|
19053
19116
|
return;
|
|
19054
19117
|
}
|
|
19055
|
-
|
|
19056
|
-
|
|
19118
|
+
if (this.isShutdown)
|
|
19119
|
+
return;
|
|
19057
19120
|
if (completedJobInfo.status === "FAILED" /* FAILED */) {
|
|
19058
19121
|
const errorMessage = completedJobInfo.error?.message || "Unknown error";
|
|
19059
19122
|
this.logger.error("Failed to apply operations from inbox (@remote, @documentId, @jobId, @error)", remote.name, syncOp.documentId, completedJobInfo.id, errorMessage);
|
|
@@ -19090,6 +19153,8 @@ class SyncManager {
|
|
|
19090
19153
|
}
|
|
19091
19154
|
return;
|
|
19092
19155
|
}
|
|
19156
|
+
if (this.isShutdown)
|
|
19157
|
+
return;
|
|
19093
19158
|
for (const { remote, syncOp } of items) {
|
|
19094
19159
|
if (!(syncOp.jobId in result.jobs)) {
|
|
19095
19160
|
this.logger.error("Job key missing from batch load result (@remote, @documentId, @jobId)", remote.name, syncOp.documentId, syncOp.jobId);
|
|
@@ -19112,8 +19177,8 @@ class SyncManager {
|
|
|
19112
19177
|
remote.channel.inbox.remove(syncOp);
|
|
19113
19178
|
continue;
|
|
19114
19179
|
}
|
|
19115
|
-
|
|
19116
|
-
|
|
19180
|
+
if (this.isShutdown)
|
|
19181
|
+
return;
|
|
19117
19182
|
if (completedJobInfo.status === "FAILED" /* FAILED */) {
|
|
19118
19183
|
const errorMessage = completedJobInfo.error?.message || "Unknown error";
|
|
19119
19184
|
const channelError = new ChannelError("inbox" /* Inbox */, new Error(`Failed to apply operations: ${errorMessage}`));
|
|
@@ -19126,39 +19191,48 @@ class SyncManager {
|
|
|
19126
19191
|
}
|
|
19127
19192
|
}
|
|
19128
19193
|
async updateOutbox(remote, ackOrdinal) {
|
|
19129
|
-
|
|
19130
|
-
if (operations.length === 0) {
|
|
19131
|
-
return;
|
|
19132
|
-
}
|
|
19133
|
-
operations.sort((a, b) => {
|
|
19134
|
-
if (a.context.documentId !== b.context.documentId) {
|
|
19135
|
-
return a.context.documentId < b.context.documentId ? -1 : 1;
|
|
19136
|
-
}
|
|
19137
|
-
if (a.context.scope !== b.context.scope) {
|
|
19138
|
-
return a.context.scope < b.context.scope ? -1 : 1;
|
|
19139
|
-
}
|
|
19140
|
-
return a.context.ordinal - b.context.ordinal;
|
|
19141
|
-
});
|
|
19142
|
-
const batches = batchOperationsByDocument(operations);
|
|
19194
|
+
let maxOrdinal = ackOrdinal;
|
|
19143
19195
|
const lastJobByDoc = new Map;
|
|
19144
|
-
const syncOps = [];
|
|
19145
|
-
for (const batch of batches) {
|
|
19146
|
-
const jobId = crypto.randomUUID();
|
|
19147
|
-
const prevJobId = lastJobByDoc.get(batch.documentId);
|
|
19148
|
-
const syncOp = new SyncOperation(crypto.randomUUID(), jobId, prevJobId ? [prevJobId] : [], remote.name, batch.documentId, [batch.scope], batch.branch, batch.operations);
|
|
19149
|
-
syncOps.push(syncOp);
|
|
19150
|
-
lastJobByDoc.set(batch.documentId, jobId);
|
|
19151
|
-
}
|
|
19152
|
-
remote.channel.outbox.add(...syncOps);
|
|
19153
|
-
}
|
|
19154
|
-
async getOperationsForRemote(remote, ackOrdinal) {
|
|
19155
|
-
const results = await this.operationIndex.find(remote.collectionId, ackOrdinal, { excludeSourceRemote: remote.name }, undefined, this.abortController.signal);
|
|
19156
|
-
let operations = results.results.map((entry) => toOperationWithContext(entry));
|
|
19157
19196
|
const sinceTimestamp = remote.options.sinceTimestampUtcMs;
|
|
19158
|
-
|
|
19159
|
-
|
|
19160
|
-
|
|
19161
|
-
|
|
19197
|
+
let page = await this.operationIndex.find(remote.collectionId, ackOrdinal, { excludeSourceRemote: remote.name }, undefined, this.abortController.signal);
|
|
19198
|
+
let hasMore;
|
|
19199
|
+
do {
|
|
19200
|
+
for (const entry of page.results) {
|
|
19201
|
+
maxOrdinal = Math.max(maxOrdinal, entry.ordinal ?? 0);
|
|
19202
|
+
}
|
|
19203
|
+
let operations = page.results.map((entry) => toOperationWithContext(entry));
|
|
19204
|
+
if (sinceTimestamp && sinceTimestamp !== "0") {
|
|
19205
|
+
operations = operations.filter((op) => op.operation.timestampUtcMs >= sinceTimestamp);
|
|
19206
|
+
}
|
|
19207
|
+
operations = filterOperations(operations, remote.filter);
|
|
19208
|
+
operations = operations.filter((op) => !this.quarantinedDocumentIds.has(op.context.documentId));
|
|
19209
|
+
if (operations.length > 0) {
|
|
19210
|
+
operations.sort((a, b) => {
|
|
19211
|
+
if (a.context.documentId !== b.context.documentId) {
|
|
19212
|
+
return a.context.documentId < b.context.documentId ? -1 : 1;
|
|
19213
|
+
}
|
|
19214
|
+
if (a.context.scope !== b.context.scope) {
|
|
19215
|
+
return a.context.scope < b.context.scope ? -1 : 1;
|
|
19216
|
+
}
|
|
19217
|
+
return a.context.ordinal - b.context.ordinal;
|
|
19218
|
+
});
|
|
19219
|
+
const batches = batchOperationsByDocument(operations);
|
|
19220
|
+
const syncOps = [];
|
|
19221
|
+
for (const batch of batches) {
|
|
19222
|
+
const jobId = crypto.randomUUID();
|
|
19223
|
+
const prevJobId = lastJobByDoc.get(batch.documentId);
|
|
19224
|
+
const syncOp = new SyncOperation(crypto.randomUUID(), jobId, prevJobId ? [prevJobId] : [], remote.name, batch.documentId, [batch.scope], batch.branch, batch.operations);
|
|
19225
|
+
syncOps.push(syncOp);
|
|
19226
|
+
lastJobByDoc.set(batch.documentId, jobId);
|
|
19227
|
+
}
|
|
19228
|
+
remote.channel.outbox.add(...syncOps);
|
|
19229
|
+
}
|
|
19230
|
+
hasMore = !!page.next;
|
|
19231
|
+
if (hasMore) {
|
|
19232
|
+
page = await page.next();
|
|
19233
|
+
}
|
|
19234
|
+
} while (hasMore);
|
|
19235
|
+
remote.channel.outbox.advanceOrdinal(maxOrdinal);
|
|
19162
19236
|
}
|
|
19163
19237
|
}
|
|
19164
19238
|
|
|
@@ -19998,7 +20072,7 @@ class ReactorBuilder {
|
|
|
19998
20072
|
const executionScope = new KyselyExecutionScope(database, operationStore, operationIndex, keyframeStore, writeCache, documentMetaCache, collectionMembershipCache);
|
|
19999
20073
|
let executorManager = this.executorManager;
|
|
20000
20074
|
if (!executorManager) {
|
|
20001
|
-
executorManager = new SimpleJobExecutorManager(() => new SimpleJobExecutor(this.logger, documentModelRegistry, operationStore, eventBus, writeCache, operationIndex, documentMetaCache, collectionMembershipCache, this.executorConfig, this.signatureVerifier, executionScope), eventBus, queue, jobTracker, this.logger, resolver);
|
|
20075
|
+
executorManager = new SimpleJobExecutorManager(() => new SimpleJobExecutor(this.logger, documentModelRegistry, operationStore, eventBus, writeCache, operationIndex, documentMetaCache, collectionMembershipCache, this.executorConfig, this.signatureVerifier, executionScope), eventBus, queue, jobTracker, this.logger, resolver, this.executorConfig.jobTimeoutMs);
|
|
20002
20076
|
}
|
|
20003
20077
|
await executorManager.start(this.executorConfig.maxConcurrency ?? 1);
|
|
20004
20078
|
const readModelInstances = Array.from(new Set([...this.readModels]));
|
|
@@ -563,5 +563,12 @@ export interface ISyncDeadLetterStorage {
|
|
|
563
563
|
* @param signal - Optional abort signal to cancel the request
|
|
564
564
|
*/
|
|
565
565
|
removeByRemote(remoteName: string, signal?: AbortSignal): Promise<void>;
|
|
566
|
+
/**
|
|
567
|
+
* Returns distinct document IDs that have any dead letter record across all remotes.
|
|
568
|
+
* Used to populate the quarantine set on startup.
|
|
569
|
+
*
|
|
570
|
+
* @param signal - Optional abort signal to cancel the request
|
|
571
|
+
*/
|
|
572
|
+
listQuarantinedDocumentIds(signal?: AbortSignal): Promise<string[]>;
|
|
566
573
|
}
|
|
567
574
|
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/storage/interfaces.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/storage/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,6 @@ export declare class KyselySyncDeadLetterStorage implements ISyncDeadLetterStora
|
|
|
13
13
|
add(deadLetter: DeadLetterRecord, signal?: AbortSignal): Promise<void>;
|
|
14
14
|
remove(id: string, signal?: AbortSignal): Promise<void>;
|
|
15
15
|
removeByRemote(remoteName: string, signal?: AbortSignal): Promise<void>;
|
|
16
|
+
listQuarantinedDocumentIds(signal?: AbortSignal): Promise<string[]>;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=sync-dead-letter-storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-dead-letter-storage.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/sync-dead-letter-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,YAAY,CAAC;AAkCpB;;GAEG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAE3C,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAsCpC,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-dead-letter-storage.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/sync-dead-letter-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,YAAY,CAAC;AAkCpB;;GAEG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAE3C,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAsCpC,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAiBV,0BAA0B,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAiB1E"}
|
|
@@ -15,6 +15,7 @@ export declare class BufferedMailbox implements IMailbox {
|
|
|
15
15
|
private _latestOrdinal;
|
|
16
16
|
constructor(milliseconds: number, maxQueued: number);
|
|
17
17
|
init(ackOrdinal: number): void;
|
|
18
|
+
advanceOrdinal(ordinal: number): void;
|
|
18
19
|
get items(): ReadonlyArray<SyncOperation>;
|
|
19
20
|
get ackOrdinal(): number;
|
|
20
21
|
get latestOrdinal(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffered-mailbox.d.ts","sourceRoot":"","sources":["../../../src/sync/buffered-mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAa;gBAEvB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKnD,IAAI,CAAC,UAAU,EAAE,MAAM;IAIvB,IAAI,KAAK,IAAI,aAAa,CAAC,aAAa,CAAC,CAExC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IA+BpC,MAAM,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAiBvC,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIxC,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI1C,KAAK,IAAI,IAAI;IAYb,MAAM,IAAI,IAAI;IAUd,QAAQ,IAAI,OAAO;IAInB,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,eAAe;CAmBxB"}
|
|
1
|
+
{"version":3,"file":"buffered-mailbox.d.ts","sourceRoot":"","sources":["../../../src/sync/buffered-mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAa;gBAEvB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKnD,IAAI,CAAC,UAAU,EAAE,MAAM;IAIvB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,IAAI,KAAK,IAAI,aAAa,CAAC,aAAa,CAAC,CAExC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IA+BpC,MAAM,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAiBvC,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIxC,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI1C,KAAK,IAAI,IAAI;IAYb,MAAM,IAAI,IAAI;IAUd,QAAQ,IAAI,OAAO;IAInB,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,eAAe;CAmBxB"}
|
|
@@ -49,6 +49,8 @@ export declare class GqlRequestChannel implements IChannel {
|
|
|
49
49
|
private pushFailureCount;
|
|
50
50
|
private pushRetryTimer;
|
|
51
51
|
private pushBlocked;
|
|
52
|
+
private isPushing;
|
|
53
|
+
private pendingDrain;
|
|
52
54
|
private connectionState;
|
|
53
55
|
private readonly connectionStateCallbacks;
|
|
54
56
|
constructor(logger: ILogger, channelId: string, remoteName: string, cursorStorage: ISyncCursorStorage, config: GqlChannelConfig, operationIndex: IOperationIndex, pollTimer: IPollTimer);
|
|
@@ -102,6 +104,11 @@ export declare class GqlRequestChannel implements IChannel {
|
|
|
102
104
|
* Schedules a retry of all current outbox items using exponential backoff.
|
|
103
105
|
*/
|
|
104
106
|
private schedulePushRetry;
|
|
107
|
+
/**
|
|
108
|
+
* Drains pending outbox items that arrived while a push was in-flight.
|
|
109
|
+
* Server-side action.id dedup handles any overlap with the previous push.
|
|
110
|
+
*/
|
|
111
|
+
private drainOutbox;
|
|
105
112
|
/**
|
|
106
113
|
* Classifies an error as recoverable or unrecoverable based on its type.
|
|
107
114
|
* Recoverable errors are transient and worth retrying (network, 5xx, parse).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql-req-channel.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/gql-req-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGtE,OAAO,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,KAAK,QAAQ,EAAW,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAEV,uBAAuB,EACvB,UAAU,EACV,YAAY,EAEb,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;
|
|
1
|
+
{"version":3,"file":"gql-req-channel.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/gql-req-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export interface IMailbox {
|
|
|
20
20
|
*/
|
|
21
21
|
get latestOrdinal(): number;
|
|
22
22
|
init(ackOrdinal: number): void;
|
|
23
|
+
advanceOrdinal(ordinal: number): void;
|
|
23
24
|
get(id: string): SyncOperation | undefined;
|
|
24
25
|
add(...items: SyncOperation[]): void;
|
|
25
26
|
remove(...items: SyncOperation[]): void;
|
|
@@ -44,6 +45,7 @@ export declare class Mailbox implements IMailbox {
|
|
|
44
45
|
private _ack;
|
|
45
46
|
private _latestOrdinal;
|
|
46
47
|
init(ackOrdinal: number): void;
|
|
48
|
+
advanceOrdinal(ordinal: number): void;
|
|
47
49
|
get items(): ReadonlyArray<SyncOperation>;
|
|
48
50
|
get ackOrdinal(): number;
|
|
49
51
|
get latestOrdinal(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../../src/sync/mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,KAAK,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;IAE1C;;;OAGG;IACH,IAAI,UAAU,IAAI,MAAM,CAAC;IAEzB;;;;OAIG;IACH,IAAI,aAAa,IAAI,MAAM,CAAC;IAG5B,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAC3C,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAGxC,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IAG3C,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEJ,MAAM,EAAE,KAAK,EAAE;CAQ5B;AAED,qBAAa,OAAQ,YAAW,QAAQ;IACtC,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAa;IAEnC,IAAI,CAAC,UAAU,EAAE,MAAM;IAIvB,IAAI,KAAK,IAAI,aAAa,CAAC,aAAa,CAAC,CAExC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAsCpC,MAAM,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAwBvC,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIxC,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI1C,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,IAAI;IAKd,KAAK,IAAI,IAAI;IAsCb,QAAQ,IAAI,OAAO;CAGpB"}
|
|
1
|
+
{"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../../src/sync/mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,KAAK,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;IAE1C;;;OAGG;IACH,IAAI,UAAU,IAAI,MAAM,CAAC;IAEzB;;;;OAIG;IACH,IAAI,aAAa,IAAI,MAAM,CAAC;IAG5B,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAC3C,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAGxC,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IAG3C,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEJ,MAAM,EAAE,KAAK,EAAE;CAQ5B;AAED,qBAAa,OAAQ,YAAW,QAAQ;IACtC,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAa;IAEnC,IAAI,CAAC,UAAU,EAAE,MAAM;IAIvB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,IAAI,KAAK,IAAI,aAAa,CAAC,aAAa,CAAC,CAExC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAsCpC,MAAM,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAwBvC,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIxC,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI1C,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,IAAI;IAKd,KAAK,IAAI,IAAI;IAsCb,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -2,7 +2,7 @@ import type { IOperationIndex } from "../cache/operation-index-types.js";
|
|
|
2
2
|
import type { IReactor } from "../core/types.js";
|
|
3
3
|
import type { IEventBus } from "../events/interfaces.js";
|
|
4
4
|
import type { ILogger } from "../logging/types.js";
|
|
5
|
-
import { type
|
|
5
|
+
import { type ShutdownStatus } from "../shared/types.js";
|
|
6
6
|
import type { ISyncCursorStorage, ISyncDeadLetterStorage, ISyncRemoteStorage } from "../storage/interfaces.js";
|
|
7
7
|
import type { IChannelFactory, ISyncManager, Remote } from "./interfaces.js";
|
|
8
8
|
import { type SyncStatus, type SyncStatusChangeCallback } from "./sync-status-tracker.js";
|
|
@@ -27,7 +27,7 @@ export declare class SyncManager implements ISyncManager {
|
|
|
27
27
|
private readonly syncStatusTracker;
|
|
28
28
|
private readonly maxDeadLettersPerRemote;
|
|
29
29
|
private readonly connectionStateUnsubscribes;
|
|
30
|
-
|
|
30
|
+
private readonly quarantinedDocumentIds;
|
|
31
31
|
constructor(logger: ILogger, remoteStorage: ISyncRemoteStorage, cursorStorage: ISyncCursorStorage, deadLetterStorage: ISyncDeadLetterStorage, channelFactory: IChannelFactory, operationIndex: IOperationIndex, reactor: IReactor, eventBus: IEventBus, maxDeadLettersPerRemote?: number);
|
|
32
32
|
startup(): Promise<void>;
|
|
33
33
|
shutdown(): ShutdownStatus;
|
|
@@ -47,6 +47,5 @@ export declare class SyncManager implements ISyncManager {
|
|
|
47
47
|
private applyInboxJob;
|
|
48
48
|
private applyInboxBatch;
|
|
49
49
|
private updateOutbox;
|
|
50
|
-
private getOperationsForRemote;
|
|
51
50
|
}
|
|
52
51
|
//# sourceMappingURL=sync-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/reactor",
|
|
3
|
-
"version": "6.0.0-dev.
|
|
3
|
+
"version": "6.0.0-dev.97",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/powerhouse-inc/powerhouse",
|
|
@@ -33,14 +33,14 @@
|
|
|
33
33
|
"tsx": "4.21.0",
|
|
34
34
|
"vitest": "3.2.4",
|
|
35
35
|
"@types/bun": "1.3.8",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"document-
|
|
36
|
+
"@powerhousedao/shared": "6.0.0-dev.97",
|
|
37
|
+
"document-model": "6.0.0-dev.97",
|
|
38
|
+
"document-drive": "6.0.0-dev.97"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@electric-sql/pglite": ">=0.3.15",
|
|
42
|
-
"document-drive": "6.0.0-dev.
|
|
43
|
-
"document-model": "6.0.0-dev.
|
|
42
|
+
"document-drive": "6.0.0-dev.97",
|
|
43
|
+
"document-model": "6.0.0-dev.97"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"prebuild": "pnpm run clean",
|