@powerhousedao/reactor 6.0.0-dev.5 → 6.0.0-dev.52
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/cache/collection-membership-cache.d.ts +13 -0
- package/dist/src/cache/collection-membership-cache.d.ts.map +1 -0
- package/dist/src/cache/collection-membership-cache.js +33 -0
- package/dist/src/cache/collection-membership-cache.js.map +1 -0
- package/dist/src/cache/document-meta-cache.d.ts.map +1 -1
- package/dist/src/cache/document-meta-cache.js +4 -4
- package/dist/src/cache/document-meta-cache.js.map +1 -1
- package/dist/src/cache/kysely-operation-index.d.ts +6 -1
- package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
- package/dist/src/cache/kysely-operation-index.js +102 -7
- package/dist/src/cache/kysely-operation-index.js.map +1 -1
- package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
- package/dist/src/cache/kysely-write-cache.js +16 -12
- package/dist/src/cache/kysely-write-cache.js.map +1 -1
- package/dist/src/cache/operation-index-types.d.ts +16 -2
- package/dist/src/cache/operation-index-types.d.ts.map +1 -1
- package/dist/src/cache/operation-index-types.js.map +1 -1
- package/dist/src/client/reactor-client.d.ts +13 -10
- package/dist/src/client/reactor-client.d.ts.map +1 -1
- package/dist/src/client/reactor-client.js +134 -43
- package/dist/src/client/reactor-client.js.map +1 -1
- package/dist/src/client/types.d.ts +25 -6
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/client/types.js.map +1 -1
- package/dist/src/core/reactor-builder.d.ts +23 -7
- package/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.js +96 -24
- package/dist/src/core/reactor-builder.js.map +1 -1
- package/dist/src/core/reactor-client-builder.d.ts +5 -4
- package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-client-builder.js +14 -5
- package/dist/src/core/reactor-client-builder.js.map +1 -1
- package/dist/src/core/reactor.d.ts +20 -80
- package/dist/src/core/reactor.d.ts.map +1 -1
- package/dist/src/core/reactor.js +235 -576
- package/dist/src/core/reactor.js.map +1 -1
- package/dist/src/core/types.d.ts +63 -28
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/utils.d.ts +39 -3
- package/dist/src/core/utils.d.ts.map +1 -1
- package/dist/src/core/utils.js +63 -9
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/events/types.d.ts +35 -10
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/events/types.js +7 -5
- package/dist/src/events/types.js.map +1 -1
- package/dist/src/executor/document-action-handler.d.ts +37 -0
- package/dist/src/executor/document-action-handler.d.ts.map +1 -0
- package/dist/src/executor/document-action-handler.js +354 -0
- package/dist/src/executor/document-action-handler.js.map +1 -0
- package/dist/src/executor/signature-verifier.d.ts +9 -0
- package/dist/src/executor/signature-verifier.d.ts.map +1 -0
- package/dist/src/executor/signature-verifier.js +70 -0
- package/dist/src/executor/signature-verifier.js.map +1 -0
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.js +20 -10
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts +6 -46
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +94 -580
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/executor/types.d.ts +1 -3
- package/dist/src/executor/types.d.ts.map +1 -1
- package/dist/src/executor/types.js.map +1 -1
- package/dist/src/executor/util.d.ts +12 -2
- package/dist/src/executor/util.d.ts.map +1 -1
- package/dist/src/executor/util.js +47 -1
- package/dist/src/executor/util.js.map +1 -1
- package/dist/src/index.d.ts +11 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts +4 -3
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -1
- package/dist/src/job-tracker/in-memory-job-tracker.js +20 -18
- package/dist/src/job-tracker/in-memory-job-tracker.js.map +1 -1
- package/dist/src/job-tracker/interfaces.d.ts +3 -1
- package/dist/src/job-tracker/interfaces.d.ts.map +1 -1
- package/dist/src/logging/console.d.ts +1 -22
- package/dist/src/logging/console.d.ts.map +1 -1
- package/dist/src/logging/console.js +1 -107
- package/dist/src/logging/console.js.map +1 -1
- package/dist/src/logging/types.d.ts +1 -11
- package/dist/src/logging/types.d.ts.map +1 -1
- package/dist/src/processors/index.d.ts +1 -1
- package/dist/src/processors/index.d.ts.map +1 -1
- package/dist/src/processors/index.js.map +1 -1
- package/dist/src/processors/processor-manager.d.ts +2 -2
- package/dist/src/processors/processor-manager.d.ts.map +1 -1
- package/dist/src/processors/processor-manager.js.map +1 -1
- package/dist/src/processors/relational/types.d.ts +2 -0
- package/dist/src/processors/relational/types.d.ts.map +1 -0
- package/dist/src/processors/relational/types.js +2 -0
- package/dist/src/processors/relational/types.js.map +1 -0
- package/dist/src/processors/relational/utils.d.ts +2 -0
- package/dist/src/processors/relational/utils.d.ts.map +1 -0
- package/dist/src/processors/relational/utils.js +2 -0
- package/dist/src/processors/relational/utils.js.map +1 -0
- package/dist/src/processors/utils.d.ts +2 -2
- package/dist/src/processors/utils.d.ts.map +1 -1
- package/dist/src/processors/utils.js +2 -1
- package/dist/src/processors/utils.js.map +1 -1
- package/dist/src/queue/queue.d.ts +33 -1
- package/dist/src/queue/queue.d.ts.map +1 -1
- package/dist/src/queue/queue.js +135 -1
- package/dist/src/queue/queue.js.map +1 -1
- package/dist/src/queue/types.d.ts +3 -3
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/read-models/base-read-model.d.ts +1 -1
- package/dist/src/read-models/base-read-model.d.ts.map +1 -1
- package/dist/src/read-models/base-read-model.js +4 -4
- package/dist/src/read-models/base-read-model.js.map +1 -1
- package/dist/src/read-models/coordinator.d.ts +2 -2
- package/dist/src/read-models/coordinator.d.ts.map +1 -1
- package/dist/src/read-models/coordinator.js +8 -8
- package/dist/src/read-models/coordinator.js.map +1 -1
- package/dist/src/read-models/document-view.d.ts +6 -3
- package/dist/src/read-models/document-view.d.ts.map +1 -1
- package/dist/src/read-models/document-view.js +130 -48
- package/dist/src/read-models/document-view.js.map +1 -1
- package/dist/src/read-models/interfaces.d.ts +1 -1
- package/dist/src/read-models/interfaces.d.ts.map +1 -1
- package/dist/src/registry/implementation.d.ts +2 -0
- package/dist/src/registry/implementation.d.ts.map +1 -1
- package/dist/src/registry/implementation.js +6 -0
- package/dist/src/registry/implementation.js.map +1 -1
- package/dist/src/registry/index.d.ts +1 -1
- package/dist/src/registry/index.d.ts.map +1 -1
- package/dist/src/registry/interfaces.d.ts +8 -0
- package/dist/src/registry/interfaces.d.ts.map +1 -1
- package/dist/src/shared/awaiter.d.ts +2 -2
- package/dist/src/shared/awaiter.d.ts.map +1 -1
- package/dist/src/shared/awaiter.js +11 -11
- package/dist/src/shared/awaiter.js.map +1 -1
- package/dist/src/shared/collect-all-pages.d.ts +7 -0
- package/dist/src/shared/collect-all-pages.d.ts.map +1 -0
- package/dist/src/shared/collect-all-pages.js +17 -0
- package/dist/src/shared/collect-all-pages.js.map +1 -0
- package/dist/src/shared/drive-url.d.ts +15 -0
- package/dist/src/shared/drive-url.d.ts.map +1 -0
- package/dist/src/shared/drive-url.js +17 -0
- package/dist/src/shared/drive-url.js.map +1 -0
- package/dist/src/shared/factories.d.ts +6 -2
- package/dist/src/shared/factories.d.ts.map +1 -1
- package/dist/src/shared/factories.js +10 -2
- package/dist/src/shared/factories.js.map +1 -1
- package/dist/src/shared/types.d.ts +32 -6
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js +4 -4
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/signer/passthrough-signer.d.ts +1 -1
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
- package/dist/src/signer/passthrough-signer.js +1 -3
- package/dist/src/signer/passthrough-signer.js.map +1 -1
- package/dist/src/storage/interfaces.d.ts +56 -108
- package/dist/src/storage/interfaces.d.ts.map +1 -1
- package/dist/src/storage/interfaces.js.map +1 -1
- package/dist/src/storage/kysely/document-indexer.d.ts +8 -7
- package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -1
- package/dist/src/storage/kysely/document-indexer.js +123 -52
- package/dist/src/storage/kysely/document-indexer.js.map +1 -1
- package/dist/src/storage/kysely/store.d.ts +5 -4
- package/dist/src/storage/kysely/store.d.ts.map +1 -1
- package/dist/src/storage/kysely/store.js +52 -21
- package/dist/src/storage/kysely/store.js.map +1 -1
- package/dist/src/storage/kysely/sync-cursor-storage.d.ts +1 -1
- package/dist/src/storage/kysely/sync-cursor-storage.d.ts.map +1 -1
- package/dist/src/storage/kysely/sync-cursor-storage.js +6 -2
- package/dist/src/storage/kysely/sync-cursor-storage.js.map +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.js +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.js.map +1 -1
- package/dist/src/storage/kysely/types.d.ts +2 -0
- package/dist/src/storage/kysely/types.d.ts.map +1 -1
- package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts +3 -0
- package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts.map +1 -0
- package/dist/src/storage/migrations/011_add_cursor_type_column.js +29 -0
- package/dist/src/storage/migrations/011_add_cursor_type_column.js.map +1 -0
- package/dist/src/storage/migrations/012_add_source_remote_column.d.ts +3 -0
- package/dist/src/storage/migrations/012_add_source_remote_column.d.ts.map +1 -0
- package/dist/src/storage/migrations/012_add_source_remote_column.js +7 -0
- package/dist/src/storage/migrations/012_add_source_remote_column.js.map +1 -0
- package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
- package/dist/src/storage/migrations/migrator.js +4 -0
- package/dist/src/storage/migrations/migrator.js.map +1 -1
- package/dist/src/subs/subscription-notification-read-model.d.ts +3 -2
- package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -1
- package/dist/src/subs/subscription-notification-read-model.js +1 -1
- package/dist/src/subs/subscription-notification-read-model.js.map +1 -1
- package/dist/src/sync/batch-aggregator.d.ts +25 -0
- package/dist/src/sync/batch-aggregator.d.ts.map +1 -0
- package/dist/src/sync/batch-aggregator.js +94 -0
- package/dist/src/sync/batch-aggregator.js.map +1 -0
- package/dist/src/sync/buffered-mailbox.d.ts +36 -0
- package/dist/src/sync/buffered-mailbox.d.ts.map +1 -0
- package/dist/src/sync/buffered-mailbox.js +164 -0
- package/dist/src/sync/buffered-mailbox.js.map +1 -0
- package/dist/src/sync/channels/{gql-channel.d.ts → gql-req-channel.d.ts} +44 -42
- package/dist/src/sync/channels/gql-req-channel.d.ts.map +1 -0
- package/dist/src/sync/channels/gql-req-channel.js +500 -0
- package/dist/src/sync/channels/gql-req-channel.js.map +1 -0
- package/dist/src/sync/channels/gql-request-channel-factory.d.ts +32 -0
- package/dist/src/sync/channels/gql-request-channel-factory.d.ts.map +1 -0
- package/dist/src/sync/channels/gql-request-channel-factory.js +105 -0
- package/dist/src/sync/channels/gql-request-channel-factory.js.map +1 -0
- package/dist/src/sync/channels/gql-res-channel.d.ts +25 -0
- package/dist/src/sync/channels/gql-res-channel.d.ts.map +1 -0
- package/dist/src/sync/channels/gql-res-channel.js +79 -0
- package/dist/src/sync/channels/gql-res-channel.js.map +1 -0
- package/dist/src/sync/channels/gql-response-channel-factory.d.ts +13 -0
- package/dist/src/sync/channels/gql-response-channel-factory.d.ts.map +1 -0
- package/dist/src/sync/channels/gql-response-channel-factory.js +14 -0
- package/dist/src/sync/channels/gql-response-channel-factory.js.map +1 -0
- package/dist/src/sync/channels/index.d.ts +6 -4
- package/dist/src/sync/channels/index.d.ts.map +1 -1
- package/dist/src/sync/channels/index.js +6 -4
- package/dist/src/sync/channels/index.js.map +1 -1
- package/dist/src/sync/channels/interval-poll-timer.d.ts +38 -0
- package/dist/src/sync/channels/interval-poll-timer.d.ts.map +1 -0
- package/dist/src/sync/channels/interval-poll-timer.js +117 -0
- package/dist/src/sync/channels/interval-poll-timer.js.map +1 -0
- package/dist/src/sync/channels/poll-timer.d.ts +14 -0
- package/dist/src/sync/channels/poll-timer.d.ts.map +1 -0
- package/dist/src/sync/channels/poll-timer.js +2 -0
- package/dist/src/sync/channels/poll-timer.js.map +1 -0
- package/dist/src/sync/channels/utils.d.ts +15 -1
- package/dist/src/sync/channels/utils.d.ts.map +1 -1
- package/dist/src/sync/channels/utils.js +66 -2
- package/dist/src/sync/channels/utils.js.map +1 -1
- package/dist/src/sync/index.d.ts +10 -6
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/index.js +7 -5
- package/dist/src/sync/index.js.map +1 -1
- package/dist/src/sync/interfaces.d.ts +34 -21
- package/dist/src/sync/interfaces.d.ts.map +1 -1
- package/dist/src/sync/mailbox.d.ts +51 -12
- package/dist/src/sync/mailbox.d.ts.map +1 -1
- package/dist/src/sync/mailbox.js +89 -6
- package/dist/src/sync/mailbox.js.map +1 -1
- package/dist/src/sync/sync-awaiter.d.ts +34 -0
- package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
- package/dist/src/sync/sync-awaiter.js +124 -0
- package/dist/src/sync/sync-awaiter.js.map +1 -0
- package/dist/src/sync/sync-manager.d.ts +16 -6
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.js +204 -94
- package/dist/src/sync/sync-manager.js.map +1 -1
- package/dist/src/sync/sync-operation.d.ts +4 -2
- package/dist/src/sync/sync-operation.d.ts.map +1 -1
- package/dist/src/sync/sync-operation.js +8 -1
- package/dist/src/sync/sync-operation.js.map +1 -1
- package/dist/src/sync/sync-status-tracker.d.ts +31 -0
- package/dist/src/sync/sync-status-tracker.d.ts.map +1 -0
- package/dist/src/sync/sync-status-tracker.js +137 -0
- package/dist/src/sync/sync-status-tracker.js.map +1 -0
- package/dist/src/sync/types.d.ts +79 -2
- package/dist/src/sync/types.d.ts.map +1 -1
- package/dist/src/sync/types.js +15 -0
- package/dist/src/sync/types.js.map +1 -1
- package/dist/src/sync/utils.d.ts +28 -1
- package/dist/src/sync/utils.d.ts.map +1 -1
- package/dist/src/sync/utils.js +136 -0
- package/dist/src/sync/utils.js.map +1 -1
- package/dist/src/utils/reshuffle.d.ts +15 -5
- package/dist/src/utils/reshuffle.d.ts.map +1 -1
- package/dist/src/utils/reshuffle.js +29 -6
- package/dist/src/utils/reshuffle.js.map +1 -1
- package/package.json +12 -13
- package/dist/src/processors/types.d.ts +0 -63
- package/dist/src/processors/types.d.ts.map +0 -1
- package/dist/src/processors/types.js +0 -2
- package/dist/src/processors/types.js.map +0 -1
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
- package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
- package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
- package/dist/src/sync/channels/composite-channel-factory.d.ts +0 -30
- package/dist/src/sync/channels/composite-channel-factory.d.ts.map +0 -1
- package/dist/src/sync/channels/composite-channel-factory.js +0 -87
- package/dist/src/sync/channels/composite-channel-factory.js.map +0 -1
- package/dist/src/sync/channels/gql-channel-factory.d.ts +0 -25
- package/dist/src/sync/channels/gql-channel-factory.d.ts.map +0 -1
- package/dist/src/sync/channels/gql-channel-factory.js +0 -76
- package/dist/src/sync/channels/gql-channel-factory.js.map +0 -1
- package/dist/src/sync/channels/gql-channel.d.ts.map +0 -1
- package/dist/src/sync/channels/gql-channel.js +0 -423
- package/dist/src/sync/channels/gql-channel.js.map +0 -1
- package/dist/src/sync/channels/polling-channel.d.ts +0 -39
- package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
- package/dist/src/sync/channels/polling-channel.js +0 -72
- package/dist/src/sync/channels/polling-channel.js.map +0 -1
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
declare const LOG_LEVELS: {
|
|
3
|
-
readonly verbose: 0;
|
|
4
|
-
readonly debug: 1;
|
|
5
|
-
readonly info: 2;
|
|
6
|
-
readonly warn: 3;
|
|
7
|
-
readonly error: 4;
|
|
8
|
-
};
|
|
9
|
-
export declare class ConsoleLogger implements ILogger {
|
|
10
|
-
#private;
|
|
11
|
-
errorHandler: LoggerErrorHandler;
|
|
12
|
-
constructor(tags?: string[], handler?: LoggerErrorHandler);
|
|
13
|
-
get level(): keyof typeof LOG_LEVELS;
|
|
14
|
-
set level(value: keyof typeof LOG_LEVELS);
|
|
15
|
-
child(tags: string[]): ILogger;
|
|
16
|
-
verbose(message: string, ...replacements: any[]): void;
|
|
17
|
-
debug(message: string, ...replacements: any[]): void;
|
|
18
|
-
info(message: string, ...replacements: any[]): void;
|
|
19
|
-
warn(message: string, ...replacements: any[]): void;
|
|
20
|
-
error(message: string, ...replacements: any[]): void;
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
1
|
+
export { ConsoleLogger } from "document-model/core";
|
|
23
2
|
//# sourceMappingURL=console.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/logging/console.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/logging/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,108 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
const dtf = new Intl.DateTimeFormat();
|
|
3
|
-
const formatMessage = (tagString, message, replacements) => {
|
|
4
|
-
const meta = {};
|
|
5
|
-
const uniqueTokens = [];
|
|
6
|
-
let results;
|
|
7
|
-
while ((results = tokenSub.exec(message)) !== null) {
|
|
8
|
-
const tokenName = results[1];
|
|
9
|
-
const index = uniqueTokens.indexOf(tokenName);
|
|
10
|
-
if (index === -1) {
|
|
11
|
-
uniqueTokens.push(tokenName);
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
13
|
-
const replacement = replacements[uniqueTokens.length - 1];
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
15
|
-
meta[tokenName] = replacement;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
// replace
|
|
19
|
-
for (const [key, value] of Object.entries(meta)) {
|
|
20
|
-
let stringValue;
|
|
21
|
-
if (!value) {
|
|
22
|
-
stringValue = "null";
|
|
23
|
-
}
|
|
24
|
-
else if (typeof value === "string") {
|
|
25
|
-
stringValue = value;
|
|
26
|
-
}
|
|
27
|
-
else if (typeof value === "object") {
|
|
28
|
-
stringValue = JSON.stringify(value);
|
|
29
|
-
}
|
|
30
|
-
else if (typeof value === "function") {
|
|
31
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
32
|
-
const name = value.name;
|
|
33
|
-
stringValue = name ? `${name}()` : "anonymous()";
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
stringValue = String(value);
|
|
37
|
-
}
|
|
38
|
-
message = message.replaceAll(`@${key}`, stringValue);
|
|
39
|
-
}
|
|
40
|
-
if (tagString.length > 0) {
|
|
41
|
-
message = `${tagString} ${message}`;
|
|
42
|
-
}
|
|
43
|
-
// timestamp
|
|
44
|
-
const now = new Date();
|
|
45
|
-
const timestamp = dtf.format(now);
|
|
46
|
-
meta["timestamp"] = timestamp;
|
|
47
|
-
return [message, meta];
|
|
48
|
-
};
|
|
49
|
-
const LOG_LEVELS = {
|
|
50
|
-
verbose: 0,
|
|
51
|
-
debug: 1,
|
|
52
|
-
info: 2,
|
|
53
|
-
warn: 3,
|
|
54
|
-
error: 4,
|
|
55
|
-
};
|
|
56
|
-
export class ConsoleLogger {
|
|
57
|
-
#tags;
|
|
58
|
-
#tagString;
|
|
59
|
-
#level = LOG_LEVELS.info;
|
|
60
|
-
errorHandler;
|
|
61
|
-
constructor(tags, handler) {
|
|
62
|
-
this.#tags = tags || [];
|
|
63
|
-
this.#tagString = this.#tags.map((tag) => `[${tag}]`).join("");
|
|
64
|
-
this.errorHandler = handler ?? (() => { });
|
|
65
|
-
}
|
|
66
|
-
get level() {
|
|
67
|
-
return Object.keys(LOG_LEVELS).find((key) => LOG_LEVELS[key] === this.#level);
|
|
68
|
-
}
|
|
69
|
-
set level(value) {
|
|
70
|
-
this.#level = LOG_LEVELS[value];
|
|
71
|
-
}
|
|
72
|
-
child(tags) {
|
|
73
|
-
const logger = new ConsoleLogger([...this.#tags, ...tags], this.errorHandler);
|
|
74
|
-
logger.level = this.level;
|
|
75
|
-
return logger;
|
|
76
|
-
}
|
|
77
|
-
verbose(message, ...replacements) {
|
|
78
|
-
if (this.#level <= LOG_LEVELS.verbose) {
|
|
79
|
-
const [formattedMessage, meta] = formatMessage(this.#tagString, message, replacements);
|
|
80
|
-
console.debug(`[${meta["timestamp"]}] ${formattedMessage}`, meta);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
debug(message, ...replacements) {
|
|
84
|
-
if (this.#level <= LOG_LEVELS.debug) {
|
|
85
|
-
const [formattedMessage, meta] = formatMessage(this.#tagString, message, replacements);
|
|
86
|
-
console.debug(`[${meta["timestamp"]}] ${formattedMessage}`, meta);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
info(message, ...replacements) {
|
|
90
|
-
if (this.#level <= LOG_LEVELS.info) {
|
|
91
|
-
const [formattedMessage, meta] = formatMessage(this.#tagString, message, replacements);
|
|
92
|
-
console.info(`[${meta["timestamp"]}] ${formattedMessage}`, meta);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
warn(message, ...replacements) {
|
|
96
|
-
if (this.#level <= LOG_LEVELS.warn) {
|
|
97
|
-
const [formattedMessage, meta] = formatMessage(this.#tagString, message, replacements);
|
|
98
|
-
console.warn(`[${meta["timestamp"]}] ${formattedMessage}`, meta);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
error(message, ...replacements) {
|
|
102
|
-
if (this.#level <= LOG_LEVELS.error) {
|
|
103
|
-
const [formattedMessage, meta] = formatMessage(this.#tagString, message, replacements);
|
|
104
|
-
console.error(`[${meta["timestamp"]}] ${formattedMessage}`, meta);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
1
|
+
export { ConsoleLogger } from "document-model/core";
|
|
108
2
|
//# sourceMappingURL=console.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/logging/console.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/logging/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export type ILogger = {
|
|
3
|
-
level: "verbose" | "debug" | "info" | "warn" | "error";
|
|
4
|
-
verbose: (message: string, ...replacements: any[]) => void;
|
|
5
|
-
debug: (message: string, ...replacements: any[]) => void;
|
|
6
|
-
info: (message: string, ...replacements: any[]) => void;
|
|
7
|
-
warn: (message: string, ...replacements: any[]) => void;
|
|
8
|
-
error: (message: string, ...replacements: any[]) => void;
|
|
9
|
-
errorHandler: LoggerErrorHandler;
|
|
10
|
-
child: (tags: string[]) => ILogger;
|
|
11
|
-
};
|
|
1
|
+
export type { ILogger, LoggerErrorHandler } from "document-model/core";
|
|
12
2
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/logging/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/logging/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,kCAAkC,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import type { OperationWithContext } from "@powerhousedao/shared/document-model";
|
|
2
|
+
import type { IProcessorManager, ProcessorFactory, ProcessorRecord } from "@powerhousedao/shared/processors";
|
|
1
3
|
import type { Kysely } from "kysely";
|
|
2
4
|
import type { IOperationIndex } from "../cache/operation-index-types.js";
|
|
3
5
|
import type { IWriteCache } from "../cache/write/interfaces.js";
|
|
4
6
|
import { BaseReadModel } from "../read-models/base-read-model.js";
|
|
5
7
|
import type { DocumentViewDatabase } from "../read-models/types.js";
|
|
6
8
|
import type { IConsistencyTracker } from "../shared/consistency-tracker.js";
|
|
7
|
-
import type { OperationWithContext } from "../storage/interfaces.js";
|
|
8
|
-
import type { IProcessorManager, ProcessorFactory, ProcessorRecord } from "./types.js";
|
|
9
9
|
/**
|
|
10
10
|
* Manages processor lifecycle based on operations.
|
|
11
11
|
* Extends BaseReadModel to receive operations from ReadModelCoordinator.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-manager.d.ts","sourceRoot":"","sources":["../../../src/processors/processor-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processor-manager.d.ts","sourceRoot":"","sources":["../../../src/processors/processor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAU5E;;;;;;;;;GASG;AACH,qBAAa,gBACX,SAAQ,aACR,YAAW,iBAAiB;IAE5B,OAAO,CAAC,eAAe,CAA4C;IACnE,OAAO,CAAC,iBAAiB,CAA6C;IACtE,OAAO,CAAC,mBAAmB,CACf;IACZ,OAAO,CAAC,aAAa,CAA0B;gBAG7C,EAAE,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAChC,cAAc,EAAE,eAAe,EAC/B,UAAU,EAAE,WAAW,EACvB,kBAAkB,EAAE,mBAAmB;IAW1B,eAAe,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBtE,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAmBV,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1D,qBAAqB,IAAI,MAAM,EAAE;IAIjC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE;YAI3C,0BAA0B;YAyB1B,6BAA6B;IAgB3C,OAAO,CAAC,uBAAuB;YAIjB,wBAAwB;YAgCxB,sBAAsB;YAetB,cAAc;YAQd,2BAA2B;CA+B1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-manager.js","sourceRoot":"","sources":["../../../src/processors/processor-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processor-manager.js","sourceRoot":"","sources":["../../../src/processors/processor-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/processors/relational/types.ts"],"names":[],"mappings":"AAAA,cAAc,mDAAmD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/processors/relational/types.ts"],"names":[],"mappings":"AAAA,cAAc,mDAAmD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/processors/relational/utils.ts"],"names":[],"mappings":"AAAA,cAAc,mDAAmD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/processors/relational/utils.ts"],"names":[],"mappings":"AAAA,cAAc,mDAAmD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { OperationWithContext } from "@powerhousedao/shared/document-model";
|
|
2
|
+
import type { ProcessorFilter } from "@powerhousedao/shared/processors";
|
|
1
3
|
import type { PHDocumentHeader } from "document-model";
|
|
2
|
-
import type { OperationWithContext } from "../storage/interfaces.js";
|
|
3
|
-
import type { ProcessorFilter } from "./types.js";
|
|
4
4
|
export declare function isDriveCreation(op: OperationWithContext): boolean;
|
|
5
5
|
export declare function isDriveDeletion(op: OperationWithContext): boolean;
|
|
6
6
|
export declare function extractDriveHeader(op: OperationWithContext): PHDocumentHeader | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/processors/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/processors/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,wBAAgB,eAAe,CAAC,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAKjE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAEjE;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,oBAAoB,GACvB,gBAAgB,GAAG,SAAS,CAQ9B;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,oBAAoB,GACvB,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAe1E;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,oBAAoB,EACxB,MAAM,EAAE,eAAe,GACtB,OAAO,CA2BT"}
|
|
@@ -49,7 +49,8 @@ export function matchesFilter(op, filter) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
if (filter.documentId && filter.documentId.length > 0) {
|
|
52
|
-
|
|
52
|
+
const hasWildcard = filter.documentId.includes("*");
|
|
53
|
+
if (!hasWildcard && !filter.documentId.includes(op.context.documentId)) {
|
|
53
54
|
return false;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/processors/utils.ts"],"names":[],"mappings":"AAIA,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,EAAwB;IACtD,OAAO,CACL,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB;QAC9C,EAAE,CAAC,OAAO,CAAC,YAAY,KAAK,mBAAmB,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAwB;IACtD,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,EAAwB;IAExB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAGjD,CAAC;IACF,OAAO,KAAK,CAAC,MAAsC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,EAAwB;IAExB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAgC,CAAC;IACnE,OAAO,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO;QACL,EAAE,EAAE,OAAO;QACX,YAAY,EAAE,mBAAmB;QACjC,GAAG,EAAE;YACH,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV;QACD,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACzC,oBAAoB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAAwB,EACxB,MAAuB;IAEvB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/processors/utils.ts"],"names":[],"mappings":"AAIA,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,EAAwB;IACtD,OAAO,CACL,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB;QAC9C,EAAE,CAAC,OAAO,CAAC,YAAY,KAAK,mBAAmB,CAChD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAwB;IACtD,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,EAAwB;IAExB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAGjD,CAAC;IACF,OAAO,KAAK,CAAC,MAAsC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,EAAwB;IAExB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAgC,CAAC;IACnE,OAAO,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO;QACL,EAAE,EAAE,OAAO;QACX,YAAY,EAAE,mBAAmB;QACjC,GAAG,EAAE;YACH,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV;QACD,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACzC,oBAAoB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAAwB,EACxB,MAAuB;IAEvB,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IEventBus } from "../events/interfaces.js";
|
|
2
|
+
import type { IDocumentModelLoader, IDocumentModelRegistry } from "../registry/interfaces.js";
|
|
2
3
|
import type { ErrorInfo } from "../shared/types.js";
|
|
3
4
|
import type { IQueue } from "./interfaces.js";
|
|
4
5
|
import type { IJobExecutionHandle, Job } from "./types.js";
|
|
@@ -10,6 +11,8 @@ import type { IJobExecutionHandle, Job } from "./types.js";
|
|
|
10
11
|
*/
|
|
11
12
|
export declare class InMemoryQueue implements IQueue {
|
|
12
13
|
private eventBus;
|
|
14
|
+
private registry?;
|
|
15
|
+
private loader?;
|
|
13
16
|
private queues;
|
|
14
17
|
private jobIdToQueueKey;
|
|
15
18
|
private docIdToJobId;
|
|
@@ -18,7 +21,10 @@ export declare class InMemoryQueue implements IQueue {
|
|
|
18
21
|
private jobIndex;
|
|
19
22
|
private isBlocked;
|
|
20
23
|
private onDrainedCallback?;
|
|
21
|
-
|
|
24
|
+
private isPausedFlag;
|
|
25
|
+
private loadingModels;
|
|
26
|
+
private failedModelTypes;
|
|
27
|
+
constructor(eventBus: IEventBus, registry?: IDocumentModelRegistry | undefined, loader?: IDocumentModelLoader | undefined);
|
|
22
28
|
private toErrorInfo;
|
|
23
29
|
/**
|
|
24
30
|
* Creates a unique key for a document/scope/branch combination
|
|
@@ -48,6 +54,8 @@ export declare class InMemoryQueue implements IQueue {
|
|
|
48
54
|
* Get the next job that has all its dependencies met
|
|
49
55
|
*/
|
|
50
56
|
private getNextJobWithMetDependencies;
|
|
57
|
+
private getCreateDocumentType;
|
|
58
|
+
private ensureModelLoaded;
|
|
51
59
|
enqueue(job: Job): Promise<void>;
|
|
52
60
|
dequeue(documentId: string, scope: string, branch: string, signal?: AbortSignal): Promise<IJobExecutionHandle | null>;
|
|
53
61
|
dequeueNext(signal?: AbortSignal): Promise<IJobExecutionHandle | null>;
|
|
@@ -77,5 +85,29 @@ export declare class InMemoryQueue implements IQueue {
|
|
|
77
85
|
* Unblocks the queue from accepting new jobs.
|
|
78
86
|
*/
|
|
79
87
|
unblock(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Pauses job dequeuing. Jobs can still be enqueued but dequeueNext() will return null.
|
|
90
|
+
*/
|
|
91
|
+
pause(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Resumes job dequeuing and emits JOB_AVAILABLE events for pending jobs to wake up executors.
|
|
94
|
+
*/
|
|
95
|
+
resume(): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Returns whether job dequeuing is paused.
|
|
98
|
+
*/
|
|
99
|
+
get paused(): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Returns all pending jobs across all queues.
|
|
102
|
+
*/
|
|
103
|
+
getPendingJobs(): Job[];
|
|
104
|
+
/**
|
|
105
|
+
* Returns a map of document IDs to sets of executing job IDs.
|
|
106
|
+
*/
|
|
107
|
+
getExecutingJobIds(): Map<string, Set<string>>;
|
|
108
|
+
/**
|
|
109
|
+
* Returns a job by ID from the job index.
|
|
110
|
+
*/
|
|
111
|
+
getJob(jobId: string): Job | undefined;
|
|
80
112
|
}
|
|
81
113
|
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/queue/queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/queue/queue.ts"],"names":[],"mappings":"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"}
|
package/dist/src/queue/queue.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModuleNotFoundError } from "../registry/implementation.js";
|
|
1
2
|
import { JobExecutionHandle } from "./job-execution-handle.js";
|
|
2
3
|
import { JobQueueState, QueueEventTypes } from "./types.js";
|
|
3
4
|
/**
|
|
@@ -8,6 +9,8 @@ import { JobQueueState, QueueEventTypes } from "./types.js";
|
|
|
8
9
|
*/
|
|
9
10
|
export class InMemoryQueue {
|
|
10
11
|
eventBus;
|
|
12
|
+
registry;
|
|
13
|
+
loader;
|
|
11
14
|
queues = new Map();
|
|
12
15
|
jobIdToQueueKey = new Map();
|
|
13
16
|
docIdToJobId = new Map();
|
|
@@ -16,8 +19,13 @@ export class InMemoryQueue {
|
|
|
16
19
|
jobIndex = new Map();
|
|
17
20
|
isBlocked = false;
|
|
18
21
|
onDrainedCallback;
|
|
19
|
-
|
|
22
|
+
isPausedFlag = false;
|
|
23
|
+
loadingModels = new Map();
|
|
24
|
+
failedModelTypes = new Set();
|
|
25
|
+
constructor(eventBus, registry, loader) {
|
|
20
26
|
this.eventBus = eventBus;
|
|
27
|
+
this.registry = registry;
|
|
28
|
+
this.loader = loader;
|
|
21
29
|
}
|
|
22
30
|
toErrorInfo(error) {
|
|
23
31
|
if (error instanceof Error) {
|
|
@@ -100,6 +108,63 @@ export class InMemoryQueue {
|
|
|
100
108
|
}
|
|
101
109
|
return null;
|
|
102
110
|
}
|
|
111
|
+
getCreateDocumentType(job) {
|
|
112
|
+
for (const action of job.actions) {
|
|
113
|
+
if (action.type === "CREATE_DOCUMENT") {
|
|
114
|
+
return action.input.model;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
for (const operation of job.operations) {
|
|
118
|
+
if (operation.action.type === "CREATE_DOCUMENT") {
|
|
119
|
+
return operation.action.input.model;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
async ensureModelLoaded(documentType) {
|
|
125
|
+
if (!this.registry) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
this.registry.getModule(documentType);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
if (!ModuleNotFoundError.isError(error)) {
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (!this.loader) {
|
|
138
|
+
throw new Error(`No document model loader configured for type: ${documentType}`);
|
|
139
|
+
}
|
|
140
|
+
if (this.failedModelTypes.has(documentType)) {
|
|
141
|
+
throw new Error(`Document model type previously failed to load: ${documentType}`);
|
|
142
|
+
}
|
|
143
|
+
const existing = this.loadingModels.get(documentType);
|
|
144
|
+
if (existing) {
|
|
145
|
+
return existing;
|
|
146
|
+
}
|
|
147
|
+
const loadPromise = (async () => {
|
|
148
|
+
try {
|
|
149
|
+
const module = await this.loader.load(documentType);
|
|
150
|
+
try {
|
|
151
|
+
this.registry.registerModules(module);
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// DuplicateModuleError is fine - another path registered it
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
this.failedModelTypes.add(documentType);
|
|
159
|
+
throw error;
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
this.loadingModels.delete(documentType);
|
|
163
|
+
}
|
|
164
|
+
})();
|
|
165
|
+
this.loadingModels.set(documentType, loadPromise);
|
|
166
|
+
return loadPromise;
|
|
167
|
+
}
|
|
103
168
|
async enqueue(job) {
|
|
104
169
|
// Throw error if queue is blocked
|
|
105
170
|
if (this.isBlocked) {
|
|
@@ -112,6 +177,20 @@ export class InMemoryQueue {
|
|
|
112
177
|
// Track job location for removal and dependency resolution
|
|
113
178
|
this.jobIdToQueueKey.set(job.id, queueKey);
|
|
114
179
|
this.jobIndex.set(job.id, job);
|
|
180
|
+
// Gate CREATE_DOCUMENT jobs on model availability
|
|
181
|
+
const documentType = this.getCreateDocumentType(job);
|
|
182
|
+
if (documentType) {
|
|
183
|
+
try {
|
|
184
|
+
await this.ensureModelLoaded(documentType);
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
await this.failJob(job.id, {
|
|
188
|
+
message: `Failed to load document model for type: ${documentType}`,
|
|
189
|
+
stack: new Error().stack || "",
|
|
190
|
+
});
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
115
194
|
// Emit job available event
|
|
116
195
|
const eventData = {
|
|
117
196
|
documentId: job.documentId,
|
|
@@ -164,6 +243,9 @@ export class InMemoryQueue {
|
|
|
164
243
|
if (signal?.aborted) {
|
|
165
244
|
return Promise.reject(new Error("Operation aborted"));
|
|
166
245
|
}
|
|
246
|
+
if (this.isPausedFlag) {
|
|
247
|
+
return Promise.resolve(null);
|
|
248
|
+
}
|
|
167
249
|
// Find the first non-empty queue for a document that's not currently executing
|
|
168
250
|
for (const [queueKey, queue] of this.queues.entries()) {
|
|
169
251
|
if (queue.length > 0) {
|
|
@@ -380,5 +462,57 @@ export class InMemoryQueue {
|
|
|
380
462
|
this.isBlocked = false;
|
|
381
463
|
this.onDrainedCallback = undefined;
|
|
382
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* Pauses job dequeuing. Jobs can still be enqueued but dequeueNext() will return null.
|
|
467
|
+
*/
|
|
468
|
+
pause() {
|
|
469
|
+
this.isPausedFlag = true;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Resumes job dequeuing and emits JOB_AVAILABLE events for pending jobs to wake up executors.
|
|
473
|
+
*/
|
|
474
|
+
async resume() {
|
|
475
|
+
this.isPausedFlag = false;
|
|
476
|
+
// Emit JOB_AVAILABLE for each queue with pending jobs to wake up the executor manager
|
|
477
|
+
for (const [, queue] of this.queues.entries()) {
|
|
478
|
+
if (queue.length > 0) {
|
|
479
|
+
const job = queue[0];
|
|
480
|
+
await this.eventBus.emit(QueueEventTypes.JOB_AVAILABLE, {
|
|
481
|
+
documentId: job.documentId,
|
|
482
|
+
scope: job.scope,
|
|
483
|
+
branch: job.branch,
|
|
484
|
+
jobId: job.id,
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Returns whether job dequeuing is paused.
|
|
491
|
+
*/
|
|
492
|
+
get paused() {
|
|
493
|
+
return this.isPausedFlag;
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Returns all pending jobs across all queues.
|
|
497
|
+
*/
|
|
498
|
+
getPendingJobs() {
|
|
499
|
+
const jobs = [];
|
|
500
|
+
for (const queue of this.queues.values()) {
|
|
501
|
+
jobs.push(...queue);
|
|
502
|
+
}
|
|
503
|
+
return jobs;
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Returns a map of document IDs to sets of executing job IDs.
|
|
507
|
+
*/
|
|
508
|
+
getExecutingJobIds() {
|
|
509
|
+
return new Map(Array.from(this.docIdToJobId.entries()).map(([k, v]) => [k, new Set(v)]));
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Returns a job by ID from the job index.
|
|
513
|
+
*/
|
|
514
|
+
getJob(jobId) {
|
|
515
|
+
return this.jobIndex.get(jobId);
|
|
516
|
+
}
|
|
383
517
|
}
|
|
384
518
|
//# sourceMappingURL=queue.js.map
|