@powerhousedao/reactor 5.1.0 → 5.2.0-staging.2
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/document-meta-cache-types.d.ts +114 -0
- package/dist/src/cache/document-meta-cache-types.d.ts.map +1 -0
- package/dist/src/cache/document-meta-cache-types.js +2 -0
- package/dist/src/cache/document-meta-cache-types.js.map +1 -0
- package/dist/src/cache/document-meta-cache.d.ts +30 -0
- package/dist/src/cache/document-meta-cache.d.ts.map +1 -0
- package/dist/src/cache/document-meta-cache.js +127 -0
- package/dist/src/cache/document-meta-cache.js.map +1 -0
- package/dist/src/cache/kysely-operation-index.d.ts +4 -2
- package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
- package/dist/src/cache/kysely-operation-index.js +54 -0
- package/dist/src/cache/kysely-operation-index.js.map +1 -1
- package/dist/src/cache/operation-index-types.d.ts +3 -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 +6 -6
- package/dist/src/client/reactor-client.d.ts.map +1 -1
- package/dist/src/client/reactor-client.js +48 -45
- package/dist/src/client/reactor-client.js.map +1 -1
- package/dist/src/client/types.d.ts +10 -10
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.d.ts +9 -3
- package/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.js +81 -29
- package/dist/src/core/reactor-builder.js.map +1 -1
- package/dist/src/core/{builder.d.ts → reactor-client-builder.d.ts} +11 -4
- package/dist/src/core/reactor-client-builder.d.ts.map +1 -0
- package/dist/src/core/{builder.js → reactor-client-builder.js} +43 -23
- package/dist/src/core/reactor-client-builder.js.map +1 -0
- package/dist/src/core/reactor.d.ts +11 -14
- package/dist/src/core/reactor.d.ts.map +1 -1
- package/dist/src/core/reactor.js +47 -43
- package/dist/src/core/reactor.js.map +1 -1
- package/dist/src/core/types.d.ts +84 -20
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/utils.d.ts +9 -0
- package/dist/src/core/utils.d.ts.map +1 -1
- package/dist/src/core/utils.js +30 -0
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.js +1 -0
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts +7 -1
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +142 -21
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/index.d.ts +13 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/logging/console.d.ts +13 -0
- package/dist/src/logging/console.d.ts.map +1 -0
- package/dist/src/logging/console.js +77 -0
- package/dist/src/logging/console.js.map +1 -0
- package/dist/src/logging/types.d.ts +11 -0
- package/dist/src/logging/types.d.ts.map +1 -0
- package/dist/src/logging/types.js +2 -0
- package/dist/src/logging/types.js.map +1 -0
- package/dist/src/read-models/base-read-model.d.ts +60 -0
- package/dist/src/read-models/base-read-model.d.ts.map +1 -0
- package/dist/src/read-models/base-read-model.js +143 -0
- package/dist/src/read-models/base-read-model.js.map +1 -0
- package/dist/src/read-models/document-view.d.ts +6 -7
- package/dist/src/read-models/document-view.d.ts.map +1 -1
- package/dist/src/read-models/document-view.js +16 -81
- package/dist/src/read-models/document-view.js.map +1 -1
- package/dist/src/read-models/types.d.ts +2 -1
- package/dist/src/read-models/types.d.ts.map +1 -1
- package/dist/src/shared/errors.d.ts +8 -0
- package/dist/src/shared/errors.d.ts.map +1 -1
- package/dist/src/shared/errors.js +14 -0
- package/dist/src/shared/errors.js.map +1 -1
- package/dist/src/signer/types.d.ts +23 -1
- package/dist/src/signer/types.d.ts.map +1 -1
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts +33 -0
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +1 -0
- package/dist/src/storage/consistency-aware-legacy-storage.js +65 -0
- package/dist/src/storage/consistency-aware-legacy-storage.js.map +1 -0
- package/dist/src/storage/interfaces.d.ts +81 -0
- package/dist/src/storage/interfaces.d.ts.map +1 -1
- package/dist/src/storage/interfaces.js.map +1 -1
- package/dist/src/storage/kysely/store.d.ts.map +1 -1
- package/dist/src/storage/kysely/store.js +1 -0
- package/dist/src/storage/kysely/store.js.map +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.d.ts.map +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.js +3 -4
- package/dist/src/storage/kysely/sync-remote-storage.js.map +1 -1
- package/dist/src/storage/migrations/008_create_view_state_table.d.ts +1 -1
- package/dist/src/storage/migrations/008_create_view_state_table.d.ts.map +1 -1
- package/dist/src/storage/migrations/008_create_view_state_table.js +2 -1
- package/dist/src/storage/migrations/008_create_view_state_table.js.map +1 -1
- package/dist/src/storage/migrations/run-migrations.js +3 -3
- package/dist/src/storage/migrations/run-migrations.js.map +1 -1
- package/dist/src/sync/channels/composite-channel-factory.d.ts +27 -0
- package/dist/src/sync/channels/composite-channel-factory.d.ts.map +1 -0
- package/dist/src/sync/channels/composite-channel-factory.js +86 -0
- package/dist/src/sync/channels/composite-channel-factory.js.map +1 -0
- package/dist/src/sync/channels/gql-channel-factory.d.ts +22 -0
- package/dist/src/sync/channels/gql-channel-factory.d.ts.map +1 -0
- package/dist/src/sync/channels/gql-channel-factory.js +72 -0
- package/dist/src/sync/channels/gql-channel-factory.js.map +1 -0
- package/dist/src/sync/channels/gql-channel.d.ts +104 -0
- package/dist/src/sync/channels/gql-channel.d.ts.map +1 -0
- package/dist/src/sync/channels/gql-channel.js +349 -0
- package/dist/src/sync/channels/gql-channel.js.map +1 -0
- package/dist/src/sync/channels/index.d.ts +3 -0
- package/dist/src/sync/channels/index.d.ts.map +1 -1
- package/dist/src/sync/channels/index.js +3 -0
- package/dist/src/sync/channels/index.js.map +1 -1
- package/dist/src/sync/channels/internal-channel.d.ts +5 -0
- package/dist/src/sync/channels/internal-channel.d.ts.map +1 -1
- package/dist/src/sync/channels/internal-channel.js +7 -0
- package/dist/src/sync/channels/internal-channel.js.map +1 -1
- package/dist/src/sync/index.d.ts +1 -1
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/index.js +1 -1
- package/dist/src/sync/index.js.map +1 -1
- package/dist/src/sync/interfaces.d.ts +26 -3
- package/dist/src/sync/interfaces.d.ts.map +1 -1
- package/dist/src/sync/sync-builder.d.ts +2 -1
- package/dist/src/sync/sync-builder.d.ts.map +1 -1
- package/dist/src/sync/sync-builder.js +11 -1
- package/dist/src/sync/sync-builder.js.map +1 -1
- package/dist/src/sync/sync-manager.d.ts +4 -2
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.js +60 -4
- package/dist/src/sync/sync-manager.js.map +1 -1
- package/dist/src/sync/types.d.ts +1 -2
- package/dist/src/sync/types.d.ts.map +1 -1
- package/package.json +6 -5
- package/dist/src/core/builder.d.ts.map +0 -1
- package/dist/src/core/builder.js.map +0 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { PHDocumentState } from "document-model";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration options for the document metadata cache.
|
|
4
|
+
*/
|
|
5
|
+
export type DocumentMetaCacheConfig = {
|
|
6
|
+
/**
|
|
7
|
+
* Maximum number of document metadata entries to cache (LRU eviction).
|
|
8
|
+
* Default: 1000
|
|
9
|
+
*/
|
|
10
|
+
maxDocuments: number;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Cached document metadata from the "document" scope.
|
|
14
|
+
*
|
|
15
|
+
* This lightweight structure holds essential document information needed by
|
|
16
|
+
* the job executor without fetching full scope state. It provides an explicit
|
|
17
|
+
* cross-scope contract for accessing document scope metadata.
|
|
18
|
+
*/
|
|
19
|
+
export type CachedDocumentMeta = {
|
|
20
|
+
/**
|
|
21
|
+
* The full PHDocumentState from document.state.document.
|
|
22
|
+
* Contains version, hash, isDeleted, deletedAtUtcIso, etc.
|
|
23
|
+
*/
|
|
24
|
+
state: PHDocumentState;
|
|
25
|
+
/**
|
|
26
|
+
* The document type (from header), cached for convenience.
|
|
27
|
+
*/
|
|
28
|
+
documentType: string;
|
|
29
|
+
/**
|
|
30
|
+
* The revision of the document scope when this metadata was captured.
|
|
31
|
+
* Used for cache invalidation and consistency checks.
|
|
32
|
+
*/
|
|
33
|
+
documentScopeRevision: number;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Interface for the document metadata cache.
|
|
37
|
+
*
|
|
38
|
+
* This cache provides an explicit cross-scope contract for accessing document
|
|
39
|
+
* scope metadata. It solves the problem where job execution in one scope (e.g.,
|
|
40
|
+
* "global") needs access to document scope state (version, isDeleted, etc.)
|
|
41
|
+
* which may be stale in scope-specific caches or keyframes.
|
|
42
|
+
*
|
|
43
|
+
* The cache supports:
|
|
44
|
+
* - Latest metadata retrieval with LRU caching
|
|
45
|
+
* - Historical metadata reconstruction for reshuffling scenarios
|
|
46
|
+
* - Eager updates after document scope operations
|
|
47
|
+
*/
|
|
48
|
+
export interface IDocumentMetaCache {
|
|
49
|
+
/**
|
|
50
|
+
* Retrieves the LATEST document metadata from cache or rebuilds from operations.
|
|
51
|
+
*
|
|
52
|
+
* On cache miss, fetches all document scope operations and reconstructs the
|
|
53
|
+
* current PHDocumentState by applying UPGRADE_DOCUMENT and DELETE_DOCUMENT
|
|
54
|
+
* operations.
|
|
55
|
+
*
|
|
56
|
+
* @param documentId - The document identifier
|
|
57
|
+
* @param branch - Branch name
|
|
58
|
+
* @param signal - Optional abort signal to cancel the operation
|
|
59
|
+
* @returns The cached or rebuilt document metadata
|
|
60
|
+
* @throws {Error} "Operation aborted" if signal is aborted
|
|
61
|
+
* @throws {Error} If document not found (no CREATE_DOCUMENT operation)
|
|
62
|
+
*/
|
|
63
|
+
getDocumentMeta(documentId: string, branch: string, signal?: AbortSignal): Promise<CachedDocumentMeta>;
|
|
64
|
+
/**
|
|
65
|
+
* Rebuilds document metadata at a SPECIFIC revision (always rebuilds, no caching).
|
|
66
|
+
*
|
|
67
|
+
* Used during reshuffling when operations need to be inserted at a previous
|
|
68
|
+
* revision and we need the document scope state as of that point in time.
|
|
69
|
+
*
|
|
70
|
+
* @param documentId - The document identifier
|
|
71
|
+
* @param branch - Branch name
|
|
72
|
+
* @param targetRevision - The document scope revision to reconstruct up to
|
|
73
|
+
* @param signal - Optional abort signal to cancel the operation
|
|
74
|
+
* @returns Document metadata as of the target revision
|
|
75
|
+
* @throws {Error} "Operation aborted" if signal is aborted
|
|
76
|
+
* @throws {Error} If document not found
|
|
77
|
+
*/
|
|
78
|
+
rebuildAtRevision(documentId: string, branch: string, targetRevision: number, signal?: AbortSignal): Promise<CachedDocumentMeta>;
|
|
79
|
+
/**
|
|
80
|
+
* Eagerly updates cached metadata after document scope operations.
|
|
81
|
+
*
|
|
82
|
+
* Called by the job executor after CREATE_DOCUMENT, UPGRADE_DOCUMENT, or
|
|
83
|
+
* DELETE_DOCUMENT operations to keep the cache current.
|
|
84
|
+
*
|
|
85
|
+
* @param documentId - The document identifier
|
|
86
|
+
* @param branch - Branch name
|
|
87
|
+
* @param meta - The new metadata to cache
|
|
88
|
+
*/
|
|
89
|
+
putDocumentMeta(documentId: string, branch: string, meta: CachedDocumentMeta): void;
|
|
90
|
+
/**
|
|
91
|
+
* Invalidates cached document metadata.
|
|
92
|
+
*
|
|
93
|
+
* Call before reshuffling operations that modify the document scope, or
|
|
94
|
+
* when document state may have changed externally.
|
|
95
|
+
*
|
|
96
|
+
* @param documentId - The document identifier
|
|
97
|
+
* @param branch - Optional branch to narrow invalidation (if omitted, all branches)
|
|
98
|
+
* @returns Number of entries invalidated
|
|
99
|
+
*/
|
|
100
|
+
invalidate(documentId: string, branch?: string): number;
|
|
101
|
+
/**
|
|
102
|
+
* Clears all cached document metadata.
|
|
103
|
+
*/
|
|
104
|
+
clear(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Performs startup initialization.
|
|
107
|
+
*/
|
|
108
|
+
startup(): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Performs graceful shutdown.
|
|
111
|
+
*/
|
|
112
|
+
shutdown(): Promise<void>;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=document-meta-cache-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-meta-cache-types.d.ts","sourceRoot":"","sources":["../../../src/cache/document-meta-cache-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;OAaG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;;;;OASG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,IAAI,CAAC;IAER;;;;;;;;;OASG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExD;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-meta-cache-types.js","sourceRoot":"","sources":["../../../src/cache/document-meta-cache-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { IOperationStore } from "../storage/interfaces.js";
|
|
2
|
+
import type { CachedDocumentMeta, DocumentMetaCacheConfig, IDocumentMetaCache } from "./document-meta-cache-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* In-memory document metadata cache with LRU eviction.
|
|
5
|
+
*
|
|
6
|
+
* Caches PHDocumentState per (documentId, branch) key. On cache miss,
|
|
7
|
+
* rebuilds from document scope operations. Provides an explicit cross-scope
|
|
8
|
+
* contract for accessing document scope metadata.
|
|
9
|
+
*
|
|
10
|
+
* **Thread Safety:**
|
|
11
|
+
* Not thread-safe. Designed for single-threaded job executor environment.
|
|
12
|
+
*/
|
|
13
|
+
export declare class DocumentMetaCache implements IDocumentMetaCache {
|
|
14
|
+
private cache;
|
|
15
|
+
private lruTracker;
|
|
16
|
+
private operationStore;
|
|
17
|
+
private config;
|
|
18
|
+
constructor(operationStore: IOperationStore, config: DocumentMetaCacheConfig);
|
|
19
|
+
startup(): Promise<void>;
|
|
20
|
+
shutdown(): Promise<void>;
|
|
21
|
+
getDocumentMeta(documentId: string, branch: string, signal?: AbortSignal): Promise<CachedDocumentMeta>;
|
|
22
|
+
rebuildAtRevision(documentId: string, branch: string, targetRevision: number, signal?: AbortSignal): Promise<CachedDocumentMeta>;
|
|
23
|
+
putDocumentMeta(documentId: string, branch: string, meta: CachedDocumentMeta): void;
|
|
24
|
+
invalidate(documentId: string, branch?: string): number;
|
|
25
|
+
clear(): void;
|
|
26
|
+
private makeKey;
|
|
27
|
+
private rebuildLatest;
|
|
28
|
+
private rebuildFromOperations;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=document-meta-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-meta-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/document-meta-cache.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAA0B;gBAGtC,cAAc,EAAE,eAAe,EAC/B,MAAM,EAAE,uBAAuB;IAU3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAkBxB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAa9B,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,IAAI;IAcP,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAuBvD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,OAAO;YAID,aAAa;YAQb,qBAAqB;CA4DpC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { applyDeleteDocumentAction, applyUpgradeDocumentAction, createDocumentFromAction, } from "../executor/util.js";
|
|
2
|
+
import { LRUTracker } from "./lru/lru-tracker.js";
|
|
3
|
+
/**
|
|
4
|
+
* In-memory document metadata cache with LRU eviction.
|
|
5
|
+
*
|
|
6
|
+
* Caches PHDocumentState per (documentId, branch) key. On cache miss,
|
|
7
|
+
* rebuilds from document scope operations. Provides an explicit cross-scope
|
|
8
|
+
* contract for accessing document scope metadata.
|
|
9
|
+
*
|
|
10
|
+
* **Thread Safety:**
|
|
11
|
+
* Not thread-safe. Designed for single-threaded job executor environment.
|
|
12
|
+
*/
|
|
13
|
+
export class DocumentMetaCache {
|
|
14
|
+
cache;
|
|
15
|
+
lruTracker;
|
|
16
|
+
operationStore;
|
|
17
|
+
config;
|
|
18
|
+
constructor(operationStore, config) {
|
|
19
|
+
this.operationStore = operationStore;
|
|
20
|
+
this.config = {
|
|
21
|
+
maxDocuments: config.maxDocuments,
|
|
22
|
+
};
|
|
23
|
+
this.cache = new Map();
|
|
24
|
+
this.lruTracker = new LRUTracker();
|
|
25
|
+
}
|
|
26
|
+
async startup() {
|
|
27
|
+
return Promise.resolve();
|
|
28
|
+
}
|
|
29
|
+
async shutdown() {
|
|
30
|
+
return Promise.resolve();
|
|
31
|
+
}
|
|
32
|
+
async getDocumentMeta(documentId, branch, signal) {
|
|
33
|
+
if (signal?.aborted) {
|
|
34
|
+
throw new Error("Operation aborted");
|
|
35
|
+
}
|
|
36
|
+
const key = this.makeKey(documentId, branch);
|
|
37
|
+
const cached = this.cache.get(key);
|
|
38
|
+
if (cached) {
|
|
39
|
+
this.lruTracker.touch(key);
|
|
40
|
+
return cached;
|
|
41
|
+
}
|
|
42
|
+
const meta = await this.rebuildLatest(documentId, branch, signal);
|
|
43
|
+
this.putDocumentMeta(documentId, branch, meta);
|
|
44
|
+
return meta;
|
|
45
|
+
}
|
|
46
|
+
async rebuildAtRevision(documentId, branch, targetRevision, signal) {
|
|
47
|
+
if (signal?.aborted) {
|
|
48
|
+
throw new Error("Operation aborted");
|
|
49
|
+
}
|
|
50
|
+
return this.rebuildFromOperations(documentId, branch, targetRevision, signal);
|
|
51
|
+
}
|
|
52
|
+
putDocumentMeta(documentId, branch, meta) {
|
|
53
|
+
const key = this.makeKey(documentId, branch);
|
|
54
|
+
if (!this.cache.has(key) && this.cache.size >= this.config.maxDocuments) {
|
|
55
|
+
const evictKey = this.lruTracker.evict();
|
|
56
|
+
if (evictKey) {
|
|
57
|
+
this.cache.delete(evictKey);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
this.cache.set(key, structuredClone(meta));
|
|
61
|
+
this.lruTracker.touch(key);
|
|
62
|
+
}
|
|
63
|
+
invalidate(documentId, branch) {
|
|
64
|
+
let evicted = 0;
|
|
65
|
+
if (branch === undefined) {
|
|
66
|
+
for (const key of this.cache.keys()) {
|
|
67
|
+
if (key.startsWith(`${documentId}:`)) {
|
|
68
|
+
this.cache.delete(key);
|
|
69
|
+
this.lruTracker.remove(key);
|
|
70
|
+
evicted++;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
const key = this.makeKey(documentId, branch);
|
|
76
|
+
if (this.cache.has(key)) {
|
|
77
|
+
this.cache.delete(key);
|
|
78
|
+
this.lruTracker.remove(key);
|
|
79
|
+
evicted = 1;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return evicted;
|
|
83
|
+
}
|
|
84
|
+
clear() {
|
|
85
|
+
this.cache.clear();
|
|
86
|
+
this.lruTracker.clear();
|
|
87
|
+
}
|
|
88
|
+
makeKey(documentId, branch) {
|
|
89
|
+
return `${documentId}:${branch}`;
|
|
90
|
+
}
|
|
91
|
+
async rebuildLatest(documentId, branch, signal) {
|
|
92
|
+
return this.rebuildFromOperations(documentId, branch, undefined, signal);
|
|
93
|
+
}
|
|
94
|
+
async rebuildFromOperations(documentId, branch, targetRevision, signal) {
|
|
95
|
+
const docScopeOps = await this.operationStore.getSince(documentId, "document", branch, -1, undefined, signal);
|
|
96
|
+
if (docScopeOps.items.length === 0) {
|
|
97
|
+
throw new Error(`Document ${documentId} not found`);
|
|
98
|
+
}
|
|
99
|
+
const createOp = docScopeOps.items[0];
|
|
100
|
+
if (createOp.action.type !== "CREATE_DOCUMENT") {
|
|
101
|
+
throw new Error(`Invalid document: first operation must be CREATE_DOCUMENT, found ${createOp.action.type}`);
|
|
102
|
+
}
|
|
103
|
+
const createAction = createOp.action;
|
|
104
|
+
const documentType = createAction.input.model;
|
|
105
|
+
let document = createDocumentFromAction(createAction);
|
|
106
|
+
let documentScopeRevision = 0;
|
|
107
|
+
for (const op of docScopeOps.items) {
|
|
108
|
+
if (targetRevision !== undefined && op.index > targetRevision) {
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
documentScopeRevision = op.index;
|
|
112
|
+
if (op.action.type === "UPGRADE_DOCUMENT") {
|
|
113
|
+
document = applyUpgradeDocumentAction(document, op.action);
|
|
114
|
+
}
|
|
115
|
+
else if (op.action.type === "DELETE_DOCUMENT") {
|
|
116
|
+
document = applyDeleteDocumentAction(document, op.action);
|
|
117
|
+
}
|
|
118
|
+
// for now, we are skipping relationship operations
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
state: document.state.document,
|
|
122
|
+
documentType,
|
|
123
|
+
documentScopeRevision: documentScopeRevision + 1,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=document-meta-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-meta-cache.js","sourceRoot":"","sources":["../../../src/cache/document-meta-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { Kysely } from "kysely";
|
|
2
|
-
import type { PagedResults, PagingOptions, ViewFilter } from "../storage/interfaces.js";
|
|
2
|
+
import type { OperationWithContext, PagedResults, PagingOptions, ViewFilter } from "../storage/interfaces.js";
|
|
3
3
|
import type { Database } from "../storage/kysely/types.js";
|
|
4
4
|
import type { IOperationIndex, IOperationIndexTxn, OperationIndexEntry } from "./operation-index-types.js";
|
|
5
5
|
export declare class KyselyOperationIndex implements IOperationIndex {
|
|
6
6
|
private db;
|
|
7
7
|
constructor(db: Kysely<Database>);
|
|
8
8
|
start(): IOperationIndexTxn;
|
|
9
|
-
commit(txn: IOperationIndexTxn, signal?: AbortSignal): Promise<
|
|
9
|
+
commit(txn: IOperationIndexTxn, signal?: AbortSignal): Promise<number[]>;
|
|
10
10
|
find(collectionId: string, cursor?: number, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
|
|
11
|
+
getSinceOrdinal(ordinal: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationWithContext>>;
|
|
12
|
+
private rowToOperationWithContext;
|
|
11
13
|
private rowToOperationIndexEntry;
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=kysely-operation-index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kysely-operation-index.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-operation-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAGV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAsEpC,qBAAa,oBAAqB,YAAW,eAAe;IAC9C,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAExC,KAAK,IAAI,kBAAkB;IAIrB,MAAM,
|
|
1
|
+
{"version":3,"file":"kysely-operation-index.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-operation-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAGV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAsEpC,qBAAa,oBAAqB,YAAW,eAAe;IAC9C,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAExC,KAAK,IAAI,kBAAkB;IAIrB,MAAM,CACV,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IA8Gd,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IA4DvC,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IA0C9C,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,wBAAwB;CAiBjC"}
|
|
@@ -62,6 +62,7 @@ export class KyselyOperationIndex {
|
|
|
62
62
|
const memberships = kyselyTxn.getCollectionMemberships();
|
|
63
63
|
const removals = kyselyTxn.getCollectionRemovals();
|
|
64
64
|
const operations = kyselyTxn.getOperations();
|
|
65
|
+
let resultOrdinals = [];
|
|
65
66
|
await this.db.transaction().execute(async (trx) => {
|
|
66
67
|
if (collections.length > 0) {
|
|
67
68
|
const collectionRows = collections.map((collectionId) => ({
|
|
@@ -106,6 +107,7 @@ export class KyselyOperationIndex {
|
|
|
106
107
|
.returning("ordinal")
|
|
107
108
|
.execute();
|
|
108
109
|
operationOrdinals = insertedOps.map((row) => row.ordinal);
|
|
110
|
+
resultOrdinals = operationOrdinals;
|
|
109
111
|
}
|
|
110
112
|
if (memberships.length > 0) {
|
|
111
113
|
for (const m of memberships) {
|
|
@@ -142,6 +144,7 @@ export class KyselyOperationIndex {
|
|
|
142
144
|
}
|
|
143
145
|
}
|
|
144
146
|
});
|
|
147
|
+
return resultOrdinals;
|
|
145
148
|
}
|
|
146
149
|
async find(collectionId, cursor, view, paging, signal) {
|
|
147
150
|
if (signal?.aborted) {
|
|
@@ -188,6 +191,57 @@ export class KyselyOperationIndex {
|
|
|
188
191
|
hasMore,
|
|
189
192
|
};
|
|
190
193
|
}
|
|
194
|
+
async getSinceOrdinal(ordinal, paging, signal) {
|
|
195
|
+
if (signal?.aborted) {
|
|
196
|
+
throw new Error("Operation aborted");
|
|
197
|
+
}
|
|
198
|
+
let query = this.db
|
|
199
|
+
.selectFrom("operation_index_operations")
|
|
200
|
+
.selectAll()
|
|
201
|
+
.where("ordinal", ">", ordinal)
|
|
202
|
+
.orderBy("ordinal", "asc");
|
|
203
|
+
if (paging?.cursor) {
|
|
204
|
+
const cursorOrdinal = Number.parseInt(paging.cursor, 10);
|
|
205
|
+
query = query.where("ordinal", ">", cursorOrdinal);
|
|
206
|
+
}
|
|
207
|
+
if (paging?.limit) {
|
|
208
|
+
query = query.limit(paging.limit + 1);
|
|
209
|
+
}
|
|
210
|
+
const rows = await query.execute();
|
|
211
|
+
let hasMore = false;
|
|
212
|
+
let items = rows;
|
|
213
|
+
if (paging?.limit && rows.length > paging.limit) {
|
|
214
|
+
hasMore = true;
|
|
215
|
+
items = rows.slice(0, paging.limit);
|
|
216
|
+
}
|
|
217
|
+
const nextCursor = hasMore && items.length > 0
|
|
218
|
+
? items[items.length - 1].ordinal.toString()
|
|
219
|
+
: undefined;
|
|
220
|
+
return {
|
|
221
|
+
items: items.map((row) => this.rowToOperationWithContext(row)),
|
|
222
|
+
nextCursor,
|
|
223
|
+
hasMore,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
rowToOperationWithContext(row) {
|
|
227
|
+
return {
|
|
228
|
+
operation: {
|
|
229
|
+
index: row.index,
|
|
230
|
+
timestampUtcMs: row.timestampUtcMs.toString(),
|
|
231
|
+
hash: row.hash,
|
|
232
|
+
skip: row.skip,
|
|
233
|
+
action: row.action,
|
|
234
|
+
id: row.opId,
|
|
235
|
+
},
|
|
236
|
+
context: {
|
|
237
|
+
documentId: row.documentId,
|
|
238
|
+
documentType: row.documentType,
|
|
239
|
+
scope: row.scope,
|
|
240
|
+
branch: row.branch,
|
|
241
|
+
ordinal: row.ordinal,
|
|
242
|
+
},
|
|
243
|
+
};
|
|
244
|
+
}
|
|
191
245
|
rowToOperationIndexEntry(row) {
|
|
192
246
|
return {
|
|
193
247
|
ordinal: row.ordinal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kysely-operation-index.js","sourceRoot":"","sources":["../../../src/cache/kysely-operation-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"kysely-operation-index.js","sourceRoot":"","sources":["../../../src/cache/kysely-operation-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Operation } from "document-model";
|
|
2
2
|
import type { Generated, Insertable, Selectable, Updateable } from "kysely";
|
|
3
|
-
import type { PagedResults, PagingOptions, ViewFilter } from "../storage/interfaces.js";
|
|
3
|
+
import type { OperationWithContext, PagedResults, PagingOptions, ViewFilter } from "../storage/interfaces.js";
|
|
4
4
|
export type OperationIndexEntry = Operation & {
|
|
5
5
|
ordinal?: number;
|
|
6
6
|
documentId: string;
|
|
@@ -16,8 +16,9 @@ export interface IOperationIndexTxn {
|
|
|
16
16
|
}
|
|
17
17
|
export interface IOperationIndex {
|
|
18
18
|
start(): IOperationIndexTxn;
|
|
19
|
-
commit(txn: IOperationIndexTxn, signal?: AbortSignal): Promise<
|
|
19
|
+
commit(txn: IOperationIndexTxn, signal?: AbortSignal): Promise<number[]>;
|
|
20
20
|
find(collectionId: string, cursor?: number, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
|
|
21
|
+
getSinceOrdinal(ordinal: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationWithContext>>;
|
|
21
22
|
}
|
|
22
23
|
export interface DocumentCollectionTable {
|
|
23
24
|
documentId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-index-types.d.ts","sourceRoot":"","sources":["../../../src/cache/operation-index-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC5E,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACrE,KAAK,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,kBAAkB,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"operation-index-types.d.ts","sourceRoot":"","sources":["../../../src/cache/operation-index-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-index-types.js","sourceRoot":"","sources":["../../../src/cache/operation-index-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operation-index-types.js","sourceRoot":"","sources":["../../../src/cache/operation-index-types.ts"],"names":[],"mappings":"AA0EA,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAe;IAC/D,OAAO,SAAS,MAAM,IAAI,OAAO,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -57,27 +57,27 @@ export declare class ReactorClient implements IReactorClient {
|
|
|
57
57
|
/**
|
|
58
58
|
* Applies a list of actions to a document and waits for completion
|
|
59
59
|
*/
|
|
60
|
-
|
|
60
|
+
execute<TDocument extends PHDocument>(documentIdentifier: string, branch: string, actions: Action[], signal?: AbortSignal): Promise<TDocument>;
|
|
61
61
|
/**
|
|
62
62
|
* Submits a list of actions to a document
|
|
63
63
|
*/
|
|
64
|
-
|
|
64
|
+
executeAsync(documentIdentifier: string, branch: string, actions: Action[], signal?: AbortSignal): Promise<JobInfo>;
|
|
65
65
|
/**
|
|
66
66
|
* Renames a document and waits for completion
|
|
67
67
|
*/
|
|
68
|
-
rename(documentIdentifier: string, name: string,
|
|
68
|
+
rename(documentIdentifier: string, name: string, branch?: string, signal?: AbortSignal): Promise<PHDocument>;
|
|
69
69
|
/**
|
|
70
70
|
* Adds multiple documents as children to another and waits for completion
|
|
71
71
|
*/
|
|
72
|
-
addChildren(parentIdentifier: string, documentIdentifiers: string[],
|
|
72
|
+
addChildren(parentIdentifier: string, documentIdentifiers: string[], branch?: string, signal?: AbortSignal): Promise<PHDocument>;
|
|
73
73
|
/**
|
|
74
74
|
* Removes multiple documents as children from another and waits for completion
|
|
75
75
|
*/
|
|
76
|
-
removeChildren(parentIdentifier: string, documentIdentifiers: string[],
|
|
76
|
+
removeChildren(parentIdentifier: string, documentIdentifiers: string[], branch?: string, signal?: AbortSignal): Promise<PHDocument>;
|
|
77
77
|
/**
|
|
78
78
|
* Moves multiple documents from one parent to another and waits for completion
|
|
79
79
|
*/
|
|
80
|
-
moveChildren(sourceParentIdentifier: string, targetParentIdentifier: string, documentIdentifiers: string[],
|
|
80
|
+
moveChildren(sourceParentIdentifier: string, targetParentIdentifier: string, documentIdentifiers: string[], branch?: string, signal?: AbortSignal): Promise<{
|
|
81
81
|
source: PHDocument;
|
|
82
82
|
target: PHDocument;
|
|
83
83
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor-client.d.ts","sourceRoot":"","sources":["../../../src/client/reactor-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"reactor-client.d.ts","sourceRoot":"","sources":["../../../src/client/reactor-client.ts"],"names":[],"mappings":"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"}
|