@powerhousedao/reactor 5.1.0-staging.0 → 5.2.0-dev.1
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/actions/index.d.ts +24 -0
- package/dist/src/actions/index.d.ts.map +1 -0
- package/dist/src/actions/index.js +76 -0
- package/dist/src/actions/index.js.map +1 -0
- 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 +128 -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 +67 -24
- 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 +3 -2
- package/dist/src/cache/kysely-write-cache.js.map +1 -1
- package/dist/src/cache/operation-index-types.d.ts +4 -3
- 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 +16 -4
- package/dist/src/client/reactor-client.d.ts.map +1 -1
- package/dist/src/client/reactor-client.js +122 -5
- package/dist/src/client/reactor-client.js.map +1 -1
- package/dist/src/client/types.d.ts +22 -3
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.d.ts +10 -9
- package/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.js +73 -17
- package/dist/src/core/reactor-builder.js.map +1 -1
- package/dist/src/core/reactor-client-builder.d.ts +10 -1
- package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-client-builder.js +16 -1
- package/dist/src/core/reactor-client-builder.js.map +1 -1
- package/dist/src/core/reactor.d.ts +11 -10
- package/dist/src/core/reactor.d.ts.map +1 -1
- package/dist/src/core/reactor.js +78 -91
- package/dist/src/core/reactor.js.map +1 -1
- package/dist/src/core/types.d.ts +22 -7
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/utils.d.ts +1 -2
- package/dist/src/core/utils.d.ts.map +1 -1
- package/dist/src/core/utils.js +2 -2
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/events/types.d.ts +1 -0
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts +3 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.js +10 -7
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts +17 -3
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +329 -221
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/executor/types.d.ts +2 -0
- 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 +14 -5
- package/dist/src/executor/util.d.ts.map +1 -1
- package/dist/src/executor/util.js +36 -9
- package/dist/src/executor/util.js.map +1 -1
- package/dist/src/index.d.ts +12 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/logging/console.d.ts +11 -1
- package/dist/src/logging/console.d.ts.map +1 -1
- package/dist/src/logging/console.js +45 -14
- package/dist/src/logging/console.js.map +1 -1
- package/dist/src/logging/types.d.ts +1 -0
- package/dist/src/logging/types.d.ts.map +1 -1
- package/dist/src/processors/index.d.ts +3 -0
- package/dist/src/processors/index.d.ts.map +1 -0
- package/dist/src/processors/index.js +2 -0
- package/dist/src/processors/index.js.map +1 -0
- package/dist/src/processors/processor-manager.d.ts +38 -0
- package/dist/src/processors/processor-manager.d.ts.map +1 -0
- package/dist/src/processors/processor-manager.js +165 -0
- package/dist/src/processors/processor-manager.js.map +1 -0
- package/dist/src/processors/types.d.ts +63 -0
- package/dist/src/processors/types.d.ts.map +1 -0
- package/dist/src/processors/types.js +2 -0
- package/dist/src/processors/types.js.map +1 -0
- package/dist/src/processors/utils.d.ts +10 -0
- package/dist/src/processors/utils.d.ts.map +1 -0
- package/dist/src/processors/utils.js +58 -0
- package/dist/src/processors/utils.js.map +1 -0
- package/dist/src/queue/types.d.ts +2 -0
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/queue/types.js.map +1 -1
- 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/coordinator.d.ts +3 -2
- package/dist/src/read-models/coordinator.d.ts.map +1 -1
- package/dist/src/read-models/coordinator.js +12 -13
- package/dist/src/read-models/coordinator.js.map +1 -1
- 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 +18 -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/registry/implementation.d.ts +42 -34
- package/dist/src/registry/implementation.d.ts.map +1 -1
- package/dist/src/registry/implementation.js +168 -48
- package/dist/src/registry/implementation.js.map +1 -1
- package/dist/src/registry/interfaces.d.ts +69 -8
- package/dist/src/registry/interfaces.d.ts.map +1 -1
- package/dist/src/shared/errors.d.ts +16 -0
- package/dist/src/shared/errors.d.ts.map +1 -1
- package/dist/src/shared/errors.js +28 -0
- package/dist/src/shared/errors.js.map +1 -1
- package/dist/src/shared/types.d.ts +4 -0
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/signer/passthrough-signer.d.ts +9 -3
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
- package/dist/src/signer/passthrough-signer.js +13 -0
- package/dist/src/signer/passthrough-signer.js.map +1 -1
- package/dist/src/signer/types.d.ts +2 -22
- 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 +94 -1
- package/dist/src/storage/interfaces.d.ts.map +1 -1
- package/dist/src/storage/interfaces.js +2 -2
- package/dist/src/storage/interfaces.js.map +1 -1
- package/dist/src/storage/kysely/store.d.ts +1 -0
- package/dist/src/storage/kysely/store.d.ts.map +1 -1
- package/dist/src/storage/kysely/store.js +41 -4
- package/dist/src/storage/kysely/store.js.map +1 -1
- package/dist/src/storage/kysely/sync-cursor-storage.js +2 -2
- package/dist/src/storage/kysely/sync-cursor-storage.js.map +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.js +8 -8
- package/dist/src/storage/kysely/sync-remote-storage.js.map +1 -1
- package/dist/src/storage/kysely/types.d.ts +6 -6
- package/dist/src/storage/migrations/001_create_operation_table.d.ts.map +1 -1
- package/dist/src/storage/migrations/001_create_operation_table.js +2 -1
- package/dist/src/storage/migrations/001_create_operation_table.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/009_create_operation_index_tables.js +1 -1
- package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +1 -1
- package/dist/src/storage/migrations/010_create_sync_tables.js +5 -5
- package/dist/src/storage/migrations/010_create_sync_tables.js.map +1 -1
- package/dist/src/storage/migrations/migrator.d.ts +3 -2
- package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
- package/dist/src/storage/migrations/migrator.js +29 -6
- package/dist/src/storage/migrations/migrator.js.map +1 -1
- package/dist/src/storage/txn.d.ts.map +1 -1
- package/dist/src/storage/txn.js +2 -3
- package/dist/src/storage/txn.js.map +1 -1
- package/dist/src/subs/subscription-notification-read-model.d.ts +17 -0
- package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -0
- package/dist/src/subs/subscription-notification-read-model.js +62 -0
- package/dist/src/subs/subscription-notification-read-model.js.map +1 -0
- package/dist/src/sync/channels/composite-channel-factory.d.ts +30 -0
- package/dist/src/sync/channels/composite-channel-factory.d.ts.map +1 -0
- package/dist/src/sync/channels/composite-channel-factory.js +87 -0
- package/dist/src/sync/channels/composite-channel-factory.js.map +1 -0
- package/dist/src/sync/channels/gql-channel-factory.d.ts +5 -2
- package/dist/src/sync/channels/gql-channel-factory.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel-factory.js +8 -2
- package/dist/src/sync/channels/gql-channel-factory.js.map +1 -1
- package/dist/src/sync/channels/gql-channel.d.ts +28 -1
- package/dist/src/sync/channels/gql-channel.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel.js +150 -22
- package/dist/src/sync/channels/gql-channel.js.map +1 -1
- package/dist/src/sync/channels/index.d.ts +2 -1
- package/dist/src/sync/channels/index.d.ts.map +1 -1
- package/dist/src/sync/channels/index.js +2 -1
- package/dist/src/sync/channels/index.js.map +1 -1
- package/dist/src/sync/channels/polling-channel.d.ts +39 -0
- package/dist/src/sync/channels/polling-channel.d.ts.map +1 -0
- package/dist/src/sync/channels/polling-channel.js +72 -0
- package/dist/src/sync/channels/polling-channel.js.map +1 -0
- package/dist/src/sync/channels/utils.d.ts +17 -2
- package/dist/src/sync/channels/utils.d.ts.map +1 -1
- package/dist/src/sync/channels/utils.js +76 -6
- package/dist/src/sync/channels/utils.js.map +1 -1
- package/dist/src/sync/errors.d.ts +1 -1
- package/dist/src/sync/errors.d.ts.map +1 -1
- package/dist/src/sync/errors.js +2 -2
- package/dist/src/sync/errors.js.map +1 -1
- package/dist/src/sync/index.d.ts +2 -2
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/index.js +2 -2
- package/dist/src/sync/index.js.map +1 -1
- package/dist/src/sync/interfaces.d.ts +16 -1
- package/dist/src/sync/interfaces.d.ts.map +1 -1
- package/dist/src/sync/sync-builder.d.ts +3 -2
- package/dist/src/sync/sync-builder.d.ts.map +1 -1
- package/dist/src/sync/sync-builder.js +4 -4
- package/dist/src/sync/sync-builder.js.map +1 -1
- package/dist/src/sync/sync-manager.d.ts +4 -1
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.js +65 -8
- package/dist/src/sync/sync-manager.js.map +1 -1
- package/dist/src/sync/utils.d.ts +19 -0
- package/dist/src/sync/utils.d.ts.map +1 -1
- package/dist/src/sync/utils.js +44 -0
- package/dist/src/sync/utils.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/sync/channels/internal-channel.d.ts +0 -57
- package/dist/src/sync/channels/internal-channel.d.ts.map +0 -1
- package/dist/src/sync/channels/internal-channel.js +0 -106
- package/dist/src/sync/channels/internal-channel.js.map +0 -1
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Error thrown when a document model module is not found in the registry.
|
|
3
3
|
*/
|
|
4
4
|
export class ModuleNotFoundError extends Error {
|
|
5
|
-
constructor(documentType) {
|
|
6
|
-
|
|
5
|
+
constructor(documentType, version) {
|
|
6
|
+
const versionSuffix = version !== undefined ? ` version ${version}` : "";
|
|
7
|
+
super(`Document model module not found for type: ${documentType}${versionSuffix}`);
|
|
7
8
|
this.name = "ModuleNotFoundError";
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -11,8 +12,9 @@ export class ModuleNotFoundError extends Error {
|
|
|
11
12
|
* Error thrown when attempting to register a module that already exists.
|
|
12
13
|
*/
|
|
13
14
|
export class DuplicateModuleError extends Error {
|
|
14
|
-
constructor(documentType) {
|
|
15
|
-
|
|
15
|
+
constructor(documentType, version) {
|
|
16
|
+
const versionSuffix = version !== undefined ? ` (version ${version})` : "";
|
|
17
|
+
super(`Document model module already registered for type: ${documentType}${versionSuffix}`);
|
|
16
18
|
this.name = "DuplicateModuleError";
|
|
17
19
|
}
|
|
18
20
|
}
|
|
@@ -25,72 +27,190 @@ export class InvalidModuleError extends Error {
|
|
|
25
27
|
this.name = "InvalidModuleError";
|
|
26
28
|
}
|
|
27
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Error thrown when attempting to register an upgrade manifest that already exists.
|
|
32
|
+
*/
|
|
33
|
+
export class DuplicateManifestError extends Error {
|
|
34
|
+
constructor(documentType) {
|
|
35
|
+
super(`Upgrade manifest already registered for type: ${documentType}`);
|
|
36
|
+
this.name = "DuplicateManifestError";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Error thrown when an upgrade manifest is not found.
|
|
41
|
+
*/
|
|
42
|
+
export class ManifestNotFoundError extends Error {
|
|
43
|
+
constructor(documentType) {
|
|
44
|
+
super(`Upgrade manifest not found for type: ${documentType}`);
|
|
45
|
+
this.name = "ManifestNotFoundError";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Error thrown when attempting a downgrade operation.
|
|
50
|
+
*/
|
|
51
|
+
export class DowngradeNotSupportedError extends Error {
|
|
52
|
+
constructor(documentType, fromVersion, toVersion) {
|
|
53
|
+
super(`Downgrade not supported for ${documentType}: cannot go from version ${fromVersion} to ${toVersion}`);
|
|
54
|
+
this.name = "DowngradeNotSupportedError";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Error thrown when a required upgrade transition is missing from the manifest.
|
|
59
|
+
*/
|
|
60
|
+
export class MissingUpgradeTransitionError extends Error {
|
|
61
|
+
constructor(documentType, fromVersion, toVersion) {
|
|
62
|
+
super(`Missing upgrade transition for ${documentType}: v${fromVersion} to v${toVersion}`);
|
|
63
|
+
this.name = "MissingUpgradeTransitionError";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Error thrown when getUpgradeReducer is called with a non-single-step version increment.
|
|
68
|
+
*/
|
|
69
|
+
export class InvalidUpgradeStepError extends Error {
|
|
70
|
+
constructor(documentType, fromVersion, toVersion) {
|
|
71
|
+
super(`Invalid upgrade step for ${documentType}: must be single version increment, got v${fromVersion} to v${toVersion}`);
|
|
72
|
+
this.name = "InvalidUpgradeStepError";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
28
75
|
/**
|
|
29
76
|
* In-memory implementation of the IDocumentModelRegistry interface.
|
|
30
|
-
* Manages document model modules
|
|
77
|
+
* Manages document model modules with version-aware storage and upgrade manifest support.
|
|
31
78
|
*/
|
|
32
79
|
export class DocumentModelRegistry {
|
|
33
|
-
modules =
|
|
34
|
-
|
|
35
|
-
* Register multiple modules at once.
|
|
36
|
-
*
|
|
37
|
-
* @param modules Document model modules to register
|
|
38
|
-
* @throws DuplicateModuleError if a module with the same document type is already registered
|
|
39
|
-
* @throws InvalidModuleError if a module is malformed
|
|
40
|
-
*/
|
|
80
|
+
modules = [];
|
|
81
|
+
manifests = [];
|
|
41
82
|
registerModules(...modules) {
|
|
42
83
|
for (const module of modules) {
|
|
43
84
|
const documentType = module.documentModel.global.id;
|
|
44
|
-
|
|
45
|
-
|
|
85
|
+
const version = module.version ?? 1;
|
|
86
|
+
for (let i = 0; i < this.modules.length; i++) {
|
|
87
|
+
const existing = this.modules[i];
|
|
88
|
+
const existingType = existing.documentModel.global.id;
|
|
89
|
+
const existingVersion = existing.version ?? 1;
|
|
90
|
+
if (existingType === documentType && existingVersion === version) {
|
|
91
|
+
throw new DuplicateModuleError(documentType, version);
|
|
92
|
+
}
|
|
46
93
|
}
|
|
47
|
-
this.modules.
|
|
94
|
+
this.modules.push(module);
|
|
48
95
|
}
|
|
49
96
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Unregister multiple document model modules at once.
|
|
52
|
-
*
|
|
53
|
-
* @param documentTypes The document types to unregister
|
|
54
|
-
* @returns true if all modules were unregistered, false if any were not found
|
|
55
|
-
*/
|
|
56
97
|
unregisterModules(...documentTypes) {
|
|
57
98
|
let allFound = true;
|
|
58
99
|
for (const documentType of documentTypes) {
|
|
59
|
-
const
|
|
60
|
-
if (!
|
|
100
|
+
const hasModule = this.modules.some((m) => m.documentModel.global.id === documentType);
|
|
101
|
+
if (!hasModule) {
|
|
61
102
|
allFound = false;
|
|
62
103
|
}
|
|
104
|
+
this.modules = this.modules.filter((m) => m.documentModel.global.id !== documentType);
|
|
63
105
|
}
|
|
64
106
|
return allFound;
|
|
65
107
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
108
|
+
getModule(documentType, version) {
|
|
109
|
+
let latestModule;
|
|
110
|
+
let latestVersion = -1;
|
|
111
|
+
for (let i = 0; i < this.modules.length; i++) {
|
|
112
|
+
const module = this.modules[i];
|
|
113
|
+
const moduleType = module.documentModel.global.id;
|
|
114
|
+
const moduleVersion = module.version ?? 1;
|
|
115
|
+
if (moduleType === documentType) {
|
|
116
|
+
if (version !== undefined && moduleVersion === version) {
|
|
117
|
+
return module;
|
|
118
|
+
}
|
|
119
|
+
if (moduleVersion > latestVersion) {
|
|
120
|
+
latestModule = module;
|
|
121
|
+
latestVersion = moduleVersion;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
77
124
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
*
|
|
84
|
-
* @returns Array of all registered modules
|
|
85
|
-
*/
|
|
125
|
+
if (version === undefined && latestModule !== undefined) {
|
|
126
|
+
return latestModule;
|
|
127
|
+
}
|
|
128
|
+
throw new ModuleNotFoundError(documentType, version);
|
|
129
|
+
}
|
|
86
130
|
getAllModules() {
|
|
87
|
-
return
|
|
131
|
+
return [...this.modules];
|
|
88
132
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Clear all registered modules
|
|
91
|
-
*/
|
|
92
133
|
clear() {
|
|
93
|
-
this.modules
|
|
134
|
+
this.modules = [];
|
|
135
|
+
this.manifests = [];
|
|
136
|
+
}
|
|
137
|
+
getSupportedVersions(documentType) {
|
|
138
|
+
const versions = [];
|
|
139
|
+
for (const module of this.modules) {
|
|
140
|
+
if (module.documentModel.global.id === documentType) {
|
|
141
|
+
versions.push(module.version ?? 1);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (versions.length === 0) {
|
|
145
|
+
throw new ModuleNotFoundError(documentType);
|
|
146
|
+
}
|
|
147
|
+
return versions.sort((a, b) => a - b);
|
|
148
|
+
}
|
|
149
|
+
getLatestVersion(documentType) {
|
|
150
|
+
let latest = -1;
|
|
151
|
+
let found = false;
|
|
152
|
+
for (const module of this.modules) {
|
|
153
|
+
if (module.documentModel.global.id === documentType) {
|
|
154
|
+
found = true;
|
|
155
|
+
const version = module.version ?? 1;
|
|
156
|
+
if (version > latest) {
|
|
157
|
+
latest = version;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (!found) {
|
|
162
|
+
throw new ModuleNotFoundError(documentType);
|
|
163
|
+
}
|
|
164
|
+
return latest;
|
|
165
|
+
}
|
|
166
|
+
registerUpgradeManifests(...manifests) {
|
|
167
|
+
for (const manifest of manifests) {
|
|
168
|
+
for (let i = 0; i < this.manifests.length; i++) {
|
|
169
|
+
if (this.manifests[i].documentType === manifest.documentType) {
|
|
170
|
+
throw new DuplicateManifestError(manifest.documentType);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
this.manifests.push(manifest);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
getUpgradeManifest(documentType) {
|
|
177
|
+
for (let i = 0; i < this.manifests.length; i++) {
|
|
178
|
+
if (this.manifests[i].documentType === documentType) {
|
|
179
|
+
return this.manifests[i];
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
throw new ManifestNotFoundError(documentType);
|
|
183
|
+
}
|
|
184
|
+
computeUpgradePath(documentType, fromVersion, toVersion) {
|
|
185
|
+
if (fromVersion === toVersion) {
|
|
186
|
+
return [];
|
|
187
|
+
}
|
|
188
|
+
if (toVersion < fromVersion) {
|
|
189
|
+
throw new DowngradeNotSupportedError(documentType, fromVersion, toVersion);
|
|
190
|
+
}
|
|
191
|
+
const manifest = this.getUpgradeManifest(documentType);
|
|
192
|
+
const path = [];
|
|
193
|
+
for (let v = fromVersion + 1; v <= toVersion; v++) {
|
|
194
|
+
const key = `v${v}`;
|
|
195
|
+
if (!(key in manifest.upgrades)) {
|
|
196
|
+
throw new MissingUpgradeTransitionError(documentType, v - 1, v);
|
|
197
|
+
}
|
|
198
|
+
const transition = manifest.upgrades[key];
|
|
199
|
+
path.push(transition);
|
|
200
|
+
}
|
|
201
|
+
return path;
|
|
202
|
+
}
|
|
203
|
+
getUpgradeReducer(documentType, fromVersion, toVersion) {
|
|
204
|
+
if (toVersion !== fromVersion + 1) {
|
|
205
|
+
throw new InvalidUpgradeStepError(documentType, fromVersion, toVersion);
|
|
206
|
+
}
|
|
207
|
+
const manifest = this.getUpgradeManifest(documentType);
|
|
208
|
+
const key = `v${toVersion}`;
|
|
209
|
+
if (!(key in manifest.upgrades)) {
|
|
210
|
+
throw new MissingUpgradeTransitionError(documentType, fromVersion, toVersion);
|
|
211
|
+
}
|
|
212
|
+
const transition = manifest.upgrades[key];
|
|
213
|
+
return transition.upgradeReducer;
|
|
94
214
|
}
|
|
95
215
|
}
|
|
96
216
|
//# sourceMappingURL=implementation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/registry/implementation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/registry/implementation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +1,100 @@
|
|
|
1
|
-
import type { DocumentModelModule } from "document-model";
|
|
1
|
+
import type { DocumentModelModule, UpgradeManifest, UpgradeReducer, UpgradeTransition } from "document-model";
|
|
2
2
|
/**
|
|
3
3
|
* Registry for managing document model modules.
|
|
4
4
|
* Provides centralized access to document models' reducers, utils, and specifications.
|
|
5
|
+
* Supports version-aware module storage and upgrade manifest management.
|
|
5
6
|
*/
|
|
6
7
|
export interface IDocumentModelRegistry {
|
|
7
8
|
/**
|
|
8
9
|
* Register multiple modules at once.
|
|
10
|
+
* Modules without a version field default to version 1.
|
|
9
11
|
*
|
|
10
12
|
* @param modules Document model modules to register
|
|
11
|
-
* @throws
|
|
13
|
+
* @throws DuplicateModuleError if a module with the same document type and version is already registered
|
|
12
14
|
*/
|
|
13
15
|
registerModules(...modules: DocumentModelModule<any>[]): void;
|
|
14
16
|
/**
|
|
15
|
-
* Unregister
|
|
17
|
+
* Unregister all versions of the specified document types.
|
|
16
18
|
*
|
|
17
19
|
* @param documentTypes The document types to unregister
|
|
18
20
|
* @returns true if all modules were unregistered, false if any were not found
|
|
19
21
|
*/
|
|
20
22
|
unregisterModules(...documentTypes: string[]): boolean;
|
|
21
23
|
/**
|
|
22
|
-
* Get a specific document model module by document type.
|
|
24
|
+
* Get a specific document model module by document type and optional version.
|
|
25
|
+
* If version is not specified, returns the latest version.
|
|
23
26
|
*
|
|
24
27
|
* @param documentType The document type identifier
|
|
28
|
+
* @param version Optional version number to retrieve
|
|
25
29
|
* @returns The document model module
|
|
26
|
-
* @throws
|
|
30
|
+
* @throws ModuleNotFoundError if the document type or version is not registered
|
|
27
31
|
*/
|
|
28
|
-
getModule(documentType: string): DocumentModelModule<any>;
|
|
32
|
+
getModule(documentType: string, version?: number): DocumentModelModule<any>;
|
|
29
33
|
/**
|
|
30
|
-
* Get all registered document model modules
|
|
34
|
+
* Get all registered document model modules.
|
|
35
|
+
*
|
|
31
36
|
* @returns Array of all registered modules
|
|
32
37
|
*/
|
|
33
38
|
getAllModules(): DocumentModelModule<any>[];
|
|
34
39
|
/**
|
|
35
|
-
* Clear all registered modules
|
|
40
|
+
* Clear all registered modules and upgrade manifests.
|
|
36
41
|
*/
|
|
37
42
|
clear(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Get all supported versions for a document type, sorted in ascending order.
|
|
45
|
+
*
|
|
46
|
+
* @param documentType The document type identifier
|
|
47
|
+
* @returns Array of version numbers sorted ascending
|
|
48
|
+
* @throws ModuleNotFoundError if no modules are registered for the document type
|
|
49
|
+
*/
|
|
50
|
+
getSupportedVersions(documentType: string): number[];
|
|
51
|
+
/**
|
|
52
|
+
* Get the latest (highest) version number for a document type.
|
|
53
|
+
*
|
|
54
|
+
* @param documentType The document type identifier
|
|
55
|
+
* @returns The highest version number registered for this document type
|
|
56
|
+
* @throws ModuleNotFoundError if no modules are registered for the document type
|
|
57
|
+
*/
|
|
58
|
+
getLatestVersion(documentType: string): number;
|
|
59
|
+
/**
|
|
60
|
+
* Register upgrade manifests that define upgrade paths between versions.
|
|
61
|
+
*
|
|
62
|
+
* @param manifests Upgrade manifests to register
|
|
63
|
+
* @throws DuplicateManifestError if a manifest for the same document type is already registered
|
|
64
|
+
*/
|
|
65
|
+
registerUpgradeManifests(...manifests: UpgradeManifest<readonly number[]>[]): void;
|
|
66
|
+
/**
|
|
67
|
+
* Get the upgrade manifest for a document type.
|
|
68
|
+
*
|
|
69
|
+
* @param documentType The document type identifier
|
|
70
|
+
* @returns The upgrade manifest
|
|
71
|
+
* @throws ManifestNotFoundError if no manifest is registered for the document type
|
|
72
|
+
*/
|
|
73
|
+
getUpgradeManifest(documentType: string): UpgradeManifest<readonly number[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Compute the upgrade path from one version to another.
|
|
76
|
+
* Returns the sequence of upgrade transitions needed.
|
|
77
|
+
*
|
|
78
|
+
* @param documentType The document type identifier
|
|
79
|
+
* @param fromVersion The starting version
|
|
80
|
+
* @param toVersion The target version
|
|
81
|
+
* @returns Array of upgrade transitions in order
|
|
82
|
+
* @throws DowngradeNotSupportedError if toVersion is less than fromVersion
|
|
83
|
+
* @throws ManifestNotFoundError if no upgrade manifest is registered
|
|
84
|
+
* @throws MissingUpgradeTransitionError if any transition in the path is missing
|
|
85
|
+
*/
|
|
86
|
+
computeUpgradePath(documentType: string, fromVersion: number, toVersion: number): UpgradeTransition[];
|
|
87
|
+
/**
|
|
88
|
+
* Get the upgrade reducer for a single-step version transition.
|
|
89
|
+
*
|
|
90
|
+
* @param documentType The document type identifier
|
|
91
|
+
* @param fromVersion The starting version
|
|
92
|
+
* @param toVersion The target version (must be fromVersion + 1)
|
|
93
|
+
* @returns The upgrade reducer function
|
|
94
|
+
* @throws InvalidUpgradeStepError if toVersion is not fromVersion + 1
|
|
95
|
+
* @throws ManifestNotFoundError if no upgrade manifest is registered
|
|
96
|
+
* @throws MissingUpgradeTransitionError if the transition is not found
|
|
97
|
+
*/
|
|
98
|
+
getUpgradeReducer(documentType: string, fromVersion: number, toVersion: number): UpgradeReducer<any, any>;
|
|
38
99
|
}
|
|
39
100
|
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/registry/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/registry/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE5E;;;;OAIG;IACH,aAAa,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;IAE5C;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;;OAMG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAErD;;;;;;OAMG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/C;;;;;OAKG;IACH,wBAAwB,CACtB,GAAG,SAAS,EAAE,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GACjD,IAAI,CAAC;IAER;;;;;;OAMG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAE7E;;;;;;;;;;;OAWG;IACH,kBAAkB,CAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,iBAAiB,EAAE,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,iBAAiB,CACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC7B"}
|
|
@@ -22,4 +22,20 @@ export declare class InvalidSignatureError extends Error {
|
|
|
22
22
|
readonly reason: string;
|
|
23
23
|
constructor(documentId: string, reason: string);
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Error thrown when attempting to downgrade a document version.
|
|
27
|
+
*/
|
|
28
|
+
export declare class DowngradeNotSupportedError extends Error {
|
|
29
|
+
readonly documentType: string;
|
|
30
|
+
readonly fromVersion: number;
|
|
31
|
+
readonly toVersion: number;
|
|
32
|
+
constructor(documentType: string, fromVersion: number, toVersion: number);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Error thrown when an upgrade manifest is required but not registered.
|
|
36
|
+
*/
|
|
37
|
+
export declare class UpgradeManifestNotFoundError extends Error {
|
|
38
|
+
readonly documentType: string;
|
|
39
|
+
constructor(documentType: string);
|
|
40
|
+
}
|
|
25
41
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,GAAG,IAAW;CAYtE;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,KAAK,EAAE,MAAM,CAAC;gBAElB,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAU9C;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQ/C"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,GAAG,IAAW;CAYtE;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,KAAK,EAAE,MAAM,CAAC;gBAElB,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAU9C;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQ/C;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAWzE;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,SAAgB,YAAY,EAAE,MAAM,CAAC;gBAEzB,YAAY,EAAE,MAAM;CAOjC"}
|
|
@@ -44,4 +44,32 @@ export class InvalidSignatureError extends Error {
|
|
|
44
44
|
Error.captureStackTrace(this, InvalidSignatureError);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Error thrown when attempting to downgrade a document version.
|
|
49
|
+
*/
|
|
50
|
+
export class DowngradeNotSupportedError extends Error {
|
|
51
|
+
documentType;
|
|
52
|
+
fromVersion;
|
|
53
|
+
toVersion;
|
|
54
|
+
constructor(documentType, fromVersion, toVersion) {
|
|
55
|
+
super(`Downgrade not supported for ${documentType}: cannot upgrade from version ${fromVersion} to ${toVersion}`);
|
|
56
|
+
this.name = "DowngradeNotSupportedError";
|
|
57
|
+
this.documentType = documentType;
|
|
58
|
+
this.fromVersion = fromVersion;
|
|
59
|
+
this.toVersion = toVersion;
|
|
60
|
+
Error.captureStackTrace(this, DowngradeNotSupportedError);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Error thrown when an upgrade manifest is required but not registered.
|
|
65
|
+
*/
|
|
66
|
+
export class UpgradeManifestNotFoundError extends Error {
|
|
67
|
+
documentType;
|
|
68
|
+
constructor(documentType) {
|
|
69
|
+
super(`No upgrade manifest registered for document type: ${documentType}`);
|
|
70
|
+
this.name = "UpgradeManifestNotFoundError";
|
|
71
|
+
this.documentType = documentType;
|
|
72
|
+
Error.captureStackTrace(this, UpgradeManifestNotFoundError);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
47
75
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7B,UAAU,CAAS;IACnB,eAAe,CAAgB;IAE/C,YAAY,UAAkB,EAAE,kBAAiC,IAAI;QACnE,MAAM,OAAO,GAAG,eAAe;YAC7B,CAAC,CAAC,YAAY,UAAU,mBAAmB,eAAe,EAAE;YAC5D,CAAC,CAAC,YAAY,UAAU,mBAAmB,CAAC;QAE9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpC,UAAU,CAAS;IACnB,KAAK,CAAS;IAE9B,YAAY,UAAkB,EAAE,KAAa;QAC3C,MAAM,OAAO,GAAG,YAAY,UAAU,wHAAwH,KAAK,GAAG,CAAC;QAEvK,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9B,UAAU,CAAS;IACnB,MAAM,CAAS;IAE/B,YAAY,UAAkB,EAAE,MAAc;QAC5C,KAAK,CAAC,iCAAiC,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACvD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7B,UAAU,CAAS;IACnB,eAAe,CAAgB;IAE/C,YAAY,UAAkB,EAAE,kBAAiC,IAAI;QACnE,MAAM,OAAO,GAAG,eAAe;YAC7B,CAAC,CAAC,YAAY,UAAU,mBAAmB,eAAe,EAAE;YAC5D,CAAC,CAAC,YAAY,UAAU,mBAAmB,CAAC;QAE9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpC,UAAU,CAAS;IACnB,KAAK,CAAS;IAE9B,YAAY,UAAkB,EAAE,KAAa;QAC3C,MAAM,OAAO,GAAG,YAAY,UAAU,wHAAwH,KAAK,GAAG,CAAC;QAEvK,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9B,UAAU,CAAS;IACnB,MAAM,CAAS;IAE/B,YAAY,UAAkB,EAAE,MAAc;QAC5C,KAAK,CAAC,iCAAiC,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnC,YAAY,CAAS;IACrB,WAAW,CAAS;IACpB,SAAS,CAAS;IAElC,YAAY,YAAoB,EAAE,WAAmB,EAAE,SAAiB;QACtE,KAAK,CACH,+BAA+B,YAAY,iCAAiC,WAAW,OAAO,SAAS,EAAE,CAC1G,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IAC5D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrC,YAAY,CAAS;IAErC,YAAY,YAAoB;QAC9B,KAAK,CAAC,qDAAqD,YAAY,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -54,6 +54,10 @@ export type JobInfo = {
|
|
|
54
54
|
* A token for coordinating reads, only valid once a job reaches COMPLETED.
|
|
55
55
|
*/
|
|
56
56
|
consistencyToken: ConsistencyToken;
|
|
57
|
+
/**
|
|
58
|
+
* Optional metadata that flows through the job lifecycle.
|
|
59
|
+
*/
|
|
60
|
+
meta?: Record<string, unknown>;
|
|
57
61
|
};
|
|
58
62
|
/**
|
|
59
63
|
* Job execution statuses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,yCAAyC,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,OAAO,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,yCAAyC,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,OAAO,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,oBAAY,SAAS;IACnB,wCAAwC;IACxC,OAAO,YAAY;IACnB,sCAAsC;IACtC,OAAO,YAAY;IACnB,oFAAoF;IACpF,eAAe,oBAAoB;IACnC,6EAA6E;IAC7E,iBAAiB,sBAAsB;IACvC,kCAAkC;IAClC,MAAM,WAAW;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IAEvB,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AA0BzE;;GAEG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,6CAAmB,CAAA;AACrB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AA0BzE;;GAEG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,6CAAmB,CAAA;AACrB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAyBD;;GAEG;AACH,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,wCAAwC;IACxC,gCAAmB,CAAA;IACnB,sCAAsC;IACtC,gCAAmB,CAAA;IACnB,oFAAoF;IACpF,gDAAmC,CAAA;IACnC,6EAA6E;IAC7E,oDAAuC,CAAA;IACvC,kCAAkC;IAClC,8BAAiB,CAAA;AACnB,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import type { Signature } from "document-model";
|
|
2
|
-
|
|
1
|
+
import type { ISigner, Signature } from "document-model";
|
|
2
|
+
/**
|
|
3
|
+
* A no-op signer that returns empty values for all methods.
|
|
4
|
+
* Used when signing is not required.
|
|
5
|
+
*/
|
|
3
6
|
export declare class PassthroughSigner implements ISigner {
|
|
4
|
-
|
|
7
|
+
publicKey(): Promise<JsonWebKey>;
|
|
8
|
+
sign(): Promise<Uint8Array>;
|
|
9
|
+
verify(): Promise<void>;
|
|
10
|
+
signAction(): Promise<Signature>;
|
|
5
11
|
}
|
|
6
12
|
//# sourceMappingURL=passthrough-signer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passthrough-signer.d.ts","sourceRoot":"","sources":["../../../src/signer/passthrough-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"passthrough-signer.d.ts","sourceRoot":"","sources":["../../../src/signer/passthrough-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,OAAO;IAC/C,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAIhC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAI3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;CAGjC"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A no-op signer that returns empty values for all methods.
|
|
3
|
+
* Used when signing is not required.
|
|
4
|
+
*/
|
|
1
5
|
export class PassthroughSigner {
|
|
6
|
+
publicKey() {
|
|
7
|
+
return Promise.resolve({});
|
|
8
|
+
}
|
|
2
9
|
sign() {
|
|
10
|
+
return Promise.resolve(new Uint8Array(0));
|
|
11
|
+
}
|
|
12
|
+
verify() {
|
|
13
|
+
return Promise.resolve();
|
|
14
|
+
}
|
|
15
|
+
signAction() {
|
|
3
16
|
return Promise.resolve(["", "", "", "", ""]);
|
|
4
17
|
}
|
|
5
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passthrough-signer.js","sourceRoot":"","sources":["../../../src/signer/passthrough-signer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"passthrough-signer.js","sourceRoot":"","sources":["../../../src/signer/passthrough-signer.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,SAAS;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,25 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
* Interface for signing actions before submission to the reactor.
|
|
4
|
-
*/
|
|
5
|
-
export interface ISigner {
|
|
6
|
-
/**
|
|
7
|
-
* Signs an action
|
|
8
|
-
*
|
|
9
|
-
* @param action - The action to sign
|
|
10
|
-
* @param abortSignal - Optional abort signal to cancel the signing
|
|
11
|
-
* @returns The signature
|
|
12
|
-
*/
|
|
13
|
-
sign(action: Action, abortSignal?: AbortSignal): Promise<Signature>;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Handler for verifying operation signatures.
|
|
17
|
-
*
|
|
18
|
-
* @param operation - The operation to verify
|
|
19
|
-
* @param publicKey - The public key to verify against (from signer.app.key)
|
|
20
|
-
* @returns Promise that resolves to true if signature is valid, false otherwise
|
|
21
|
-
*/
|
|
22
|
-
export type SignatureVerificationHandler = (operation: Operation, publicKey: string) => Promise<boolean>;
|
|
1
|
+
import type { ISigner, SignatureVerificationHandler } from "document-model";
|
|
2
|
+
export type { SignatureVerificationHandler };
|
|
23
3
|
/**
|
|
24
4
|
* Configuration for signing and verification.
|
|
25
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/signer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/signer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE5E,YAAY,EAAE,4BAA4B,EAAE,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,4BAA4B,CAAC;CACzC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { IDocumentStorage } from "document-drive";
|
|
2
|
+
import type { PHDocument } from "document-model";
|
|
3
|
+
import type { IEventBus } from "../events/interfaces.js";
|
|
4
|
+
import type { IConsistencyTracker } from "../shared/consistency-tracker.js";
|
|
5
|
+
import type { ConsistencyToken } from "../shared/types.js";
|
|
6
|
+
import type { IConsistencyAwareStorage } from "./interfaces.js";
|
|
7
|
+
/**
|
|
8
|
+
* A wrapper around IDocumentStorage that provides read-after-write consistency
|
|
9
|
+
* by waiting for the consistency tracker to be updated before delegating reads
|
|
10
|
+
* to the inner storage.
|
|
11
|
+
*
|
|
12
|
+
* This is used when legacy storage mode is enabled with async persistence
|
|
13
|
+
* (e.g., BrowserStorage with IndexedDB) to ensure documents are available
|
|
14
|
+
* for reading after being written.
|
|
15
|
+
*/
|
|
16
|
+
export declare class ConsistencyAwareLegacyStorage implements IConsistencyAwareStorage {
|
|
17
|
+
private inner;
|
|
18
|
+
private consistencyTracker;
|
|
19
|
+
constructor(inner: IDocumentStorage, consistencyTracker: IConsistencyTracker, eventBus: IEventBus);
|
|
20
|
+
private waitForConsistency;
|
|
21
|
+
get<TDocument extends PHDocument>(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
|
|
22
|
+
getBySlug<TDocument extends PHDocument>(slug: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
|
|
23
|
+
exists(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<boolean>;
|
|
24
|
+
findByType(type: string, limit?: number, cursor?: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
|
|
25
|
+
documents: string[];
|
|
26
|
+
nextCursor: string | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
getChildren(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
|
|
29
|
+
resolveIds(slugs: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
|
|
30
|
+
resolveSlugs(ids: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
|
|
31
|
+
getParents(childId: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=consistency-aware-legacy-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consistency-aware-legacy-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/consistency-aware-legacy-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,6BAA8B,YAAW,wBAAwB;IAE1E,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,kBAAkB;gBADlB,KAAK,EAAE,gBAAgB,EACvB,kBAAkB,EAAE,mBAAmB,EAC/C,QAAQ,EAAE,SAAS;YAgBP,kBAAkB;IAa1B,GAAG,CAAC,SAAS,SAAS,UAAU,EACpC,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAKf,SAAS,CAAC,SAAS,SAAS,UAAU,EAC1C,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAKf,MAAM,CACV,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC;IAKb,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAK7D,WAAW,CACf,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,YAAY,CAChB,GAAG,EAAE,MAAM,EAAE,EACb,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,UAAU,CACd,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;CAIrB"}
|