@powerhousedao/powerhouse-vetra-packages 6.2.3-dev.8 → 6.2.3-staging.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/assets/{entry-DSBtQnit.js → entry-D62sYiFV.js} +10 -6
- package/dist/browser/assets/{projection-entry-Bem3exmO.js → projection-entry-BGcu_9-p.js} +62 -20
- package/dist/browser/document-models/index.js +2 -1
- package/dist/browser/{documents-J_l59mSV.js → documents-CRzouuNR.js} +631 -752
- package/dist/browser/documents-CRzouuNR.js.map +1 -0
- package/dist/browser/editor-C7KBR_ar.js +4676 -0
- package/dist/browser/editor-C7KBR_ar.js.map +1 -0
- package/dist/browser/{editor-DHysndk4.js → editor-CiR6XQBO.js} +4 -5
- package/dist/browser/{editor-DHysndk4.js.map → editor-CiR6XQBO.js.map} +1 -1
- package/dist/browser/editors/document-model-editor/module.js +1 -1
- package/dist/browser/editors/document-model-editor/module.js.map +1 -1
- package/dist/browser/editors/generic-drive-explorer/index.js +81 -65
- package/dist/browser/editors/generic-drive-explorer/index.js.map +1 -1
- package/dist/browser/editors/generic-drive-explorer/module.js +1 -1
- package/dist/browser/editors/generic-drive-explorer/module.js.map +1 -1
- package/dist/browser/folder-view-DSgXN79D.js +4409 -0
- package/dist/browser/folder-view-DSgXN79D.js.map +1 -0
- package/dist/browser/{graphql-editor-C2EtXqb9.js → graphql-editor-Cgi5UOrF.js} +98 -88
- package/dist/browser/graphql-editor-Cgi5UOrF.js.map +1 -0
- package/dist/{node/hooks-D0DcS3MV.mjs → browser/hooks-eQxBX7g4.js} +824 -444
- package/dist/browser/{hooks-KKcNp2X0.js.map → hooks-eQxBX7g4.js.map} +1 -1
- package/dist/browser/index.js +137 -34
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/{json-editor-xI_oaxyT.js → json-editor-DfRD-pfk.js} +8 -9
- package/dist/browser/{json-editor-xI_oaxyT.js.map → json-editor-DfRD-pfk.js.map} +1 -1
- package/dist/browser/{parser-CkF6Qt8V.js → parser-DtbeHA3H.js} +7 -6
- package/dist/browser/{parser-CkF6Qt8V.js.map → parser-DtbeHA3H.js.map} +1 -1
- package/dist/browser/rolldown-runtime-DC62tzP2.js +33 -0
- package/dist/browser/src-CrUksCLW-B2dkRdgq.js +5254 -0
- package/dist/browser/src-CrUksCLW-B2dkRdgq.js.map +1 -0
- package/dist/browser/state-schemas-B5Bk_l1s.js +696 -0
- package/dist/browser/state-schemas-B5Bk_l1s.js.map +1 -0
- package/dist/browser/tslib.es6-Cno80yFJ.js +32 -0
- package/dist/browser/tslib.es6-Cno80yFJ.js.map +1 -0
- package/dist/node/document-models/index.mjs +2 -1
- package/dist/node/documents-D70S9PZL.mjs +17 -0
- package/dist/node/documents-D70S9PZL.mjs.map +1 -0
- package/dist/node/editor-96sMeumV.mjs +4597 -0
- package/dist/node/editor-96sMeumV.mjs.map +1 -0
- package/dist/node/{editor-DPv5LEug.mjs → editor-wqvKwcO5.mjs} +4 -5
- package/dist/node/{editor-DPv5LEug.mjs.map → editor-wqvKwcO5.mjs.map} +1 -1
- package/dist/node/editors/document-model-editor/module.mjs +1 -1
- package/dist/node/editors/document-model-editor/module.mjs.map +1 -1
- package/dist/node/editors/generic-drive-explorer/index.mjs +26 -21
- package/dist/node/editors/generic-drive-explorer/index.mjs.map +1 -1
- package/dist/node/editors/generic-drive-explorer/module.mjs +1 -1
- package/dist/node/editors/generic-drive-explorer/module.mjs.map +1 -1
- package/dist/node/folder-view-ktfv2Cvw.mjs +4409 -0
- package/dist/node/folder-view-ktfv2Cvw.mjs.map +1 -0
- package/dist/node/{graphql-BfAoPeWM.mjs → graphql-Dp4j7rmx.mjs} +50 -49
- package/dist/node/{graphql-BfAoPeWM.mjs.map → graphql-Dp4j7rmx.mjs.map} +1 -1
- package/dist/node/{graphql-editor-D0CHQeCL.mjs → graphql-editor-CBJXEY_C.mjs} +77 -63
- package/dist/node/graphql-editor-CBJXEY_C.mjs.map +1 -0
- package/dist/{browser/hooks-KKcNp2X0.js → node/hooks-C2b46djt.mjs} +824 -444
- package/dist/node/{hooks-D0DcS3MV.mjs.map → hooks-C2b46djt.mjs.map} +1 -1
- package/dist/node/index.mjs +158 -35
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/{json-editor-Ckaem6ky.mjs → json-editor-DaqHARBD.mjs} +8 -9
- package/dist/node/{json-editor-Ckaem6ky.mjs.map → json-editor-DaqHARBD.mjs.map} +1 -1
- package/dist/node/{schema-context-DL8jhi_d.mjs → schema-context-CojjnSE6.mjs} +6 -5
- package/dist/node/schema-context-CojjnSE6.mjs.map +1 -0
- package/dist/node/src-CrUksCLW-TvF37aMo.mjs +5935 -0
- package/dist/node/src-CrUksCLW-TvF37aMo.mjs.map +1 -0
- package/dist/node/state-schemas-BHuo0GPl.mjs +698 -0
- package/dist/node/state-schemas-BHuo0GPl.mjs.map +1 -0
- package/dist/node/{main-BhH_ajBM.mjs → tslib.es6-VORZjfk3.mjs} +40 -202
- package/dist/node/tslib.es6-VORZjfk3.mjs.map +1 -0
- package/package.json +12 -11
- package/dist/browser/button-CuO8Gh3v.js +0 -696
- package/dist/browser/button-CuO8Gh3v.js.map +0 -1
- package/dist/browser/connect-5NZDVmbb.js +0 -14328
- package/dist/browser/connect-5NZDVmbb.js.map +0 -1
- package/dist/browser/dist-1yB-AuT-.js +0 -4641
- package/dist/browser/dist-1yB-AuT-.js.map +0 -1
- package/dist/browser/dist-B4FWbuEM.js +0 -4148
- package/dist/browser/dist-B4FWbuEM.js.map +0 -1
- package/dist/browser/dist-BAJ5nRDl.js +0 -2711
- package/dist/browser/dist-BAJ5nRDl.js.map +0 -1
- package/dist/browser/document-drive-CrvzV1D4.js +0 -8319
- package/dist/browser/document-drive-CrvzV1D4.js.map +0 -1
- package/dist/browser/documents-J_l59mSV.js.map +0 -1
- package/dist/browser/editor-6T4WF2og.js +0 -1809
- package/dist/browser/editor-6T4WF2og.js.map +0 -1
- package/dist/browser/folder-view-DTewe8q8.js +0 -232
- package/dist/browser/folder-view-DTewe8q8.js.map +0 -1
- package/dist/browser/graphql-editor-C2EtXqb9.js.map +0 -1
- package/dist/browser/lib-CPkPeg_u.js +0 -209
- package/dist/browser/lib-CPkPeg_u.js.map +0 -1
- package/dist/browser/printer-CEYr4JOg.js +0 -604
- package/dist/browser/printer-CEYr4JOg.js.map +0 -1
- package/dist/browser/schema-context-ZyeclQwy.js +0 -69
- package/dist/browser/schema-context-ZyeclQwy.js.map +0 -1
- package/dist/browser/state-schemas-CpcWN_Qo.js +0 -298
- package/dist/browser/state-schemas-CpcWN_Qo.js.map +0 -1
- package/dist/node/button-Da7CxMn7.mjs +0 -678
- package/dist/node/button-Da7CxMn7.mjs.map +0 -1
- package/dist/node/connect-cjzsd2cR.mjs +0 -15022
- package/dist/node/connect-cjzsd2cR.mjs.map +0 -1
- package/dist/node/dist-C30J_pcg.mjs +0 -4649
- package/dist/node/dist-C30J_pcg.mjs.map +0 -1
- package/dist/node/dist-CzYOpeXN.mjs +0 -2711
- package/dist/node/dist-CzYOpeXN.mjs.map +0 -1
- package/dist/node/dist-DT7jI9ol.mjs +0 -4148
- package/dist/node/dist-DT7jI9ol.mjs.map +0 -1
- package/dist/node/document-drive-BByBwg-I.mjs +0 -8336
- package/dist/node/document-drive-BByBwg-I.mjs.map +0 -1
- package/dist/node/documents-DCf53bzO.mjs +0 -747
- package/dist/node/documents-DCf53bzO.mjs.map +0 -1
- package/dist/node/editor-B4vhYrmV.mjs +0 -1809
- package/dist/node/editor-B4vhYrmV.mjs.map +0 -1
- package/dist/node/folder-view-BhackcXO.mjs +0 -232
- package/dist/node/folder-view-BhackcXO.mjs.map +0 -1
- package/dist/node/graphql-editor-D0CHQeCL.mjs.map +0 -1
- package/dist/node/main-BhH_ajBM.mjs.map +0 -1
- package/dist/node/schema-context-DL8jhi_d.mjs.map +0 -1
- package/dist/node/state-schemas-B1SNl8Ob.mjs +0 -299
- package/dist/node/state-schemas-B1SNl8Ob.mjs.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as
|
|
3
|
-
import { n as defaultLoadFactory, t as buildWorkerExecutor } from "./build-worker-executor-BN30c2xw.js";
|
|
1
|
+
import { n as errorToInfo, t as createForwardingLogger, u as instrumentPgPool } from "./forwarding-logger-BkwlvD9W.js";
|
|
2
|
+
import { n as defaultLoadFactory, t as buildWorkerExecutor } from "./build-worker-executor-BonPsKdx.js";
|
|
4
3
|
import { ConsoleLogger } from "document-model";
|
|
5
4
|
import { isMainThread, parentPort } from "node:worker_threads";
|
|
6
5
|
//#region src/executor/worker/run-worker.ts
|
|
@@ -38,7 +37,7 @@ async function defaultCreateDatabase(config, workerId) {
|
|
|
38
37
|
/**
|
|
39
38
|
* Drives the worker's message loop. Owns lifecycle of the database handle
|
|
40
39
|
* and executor stack. The default factories build a real Postgres pool and
|
|
41
|
-
* use dynamic `import()` for model/
|
|
40
|
+
* use dynamic `import()` for model/signer specs; tests inject overrides
|
|
42
41
|
* for an in-process PGlite path.
|
|
43
42
|
*/
|
|
44
43
|
function runWorker(parentPort, overrides = {}) {
|
|
@@ -146,11 +145,16 @@ function runWorker(parentPort, overrides = {}) {
|
|
|
146
145
|
return;
|
|
147
146
|
}
|
|
148
147
|
try {
|
|
148
|
+
const result = await executorStack.executor.executeJob(job);
|
|
149
|
+
const writeReady = executorStack.takeLastWriteReady();
|
|
150
|
+
const signatureRefusals = executorStack.takeSignatureRefusals();
|
|
149
151
|
post({
|
|
150
152
|
type: "result",
|
|
151
153
|
correlationId,
|
|
152
|
-
result
|
|
153
|
-
writeReady:
|
|
154
|
+
result,
|
|
155
|
+
writeReady: writeReady ?? void 0,
|
|
156
|
+
signatureRefusals: signatureRefusals.length > 0 ? signatureRefusals : void 0,
|
|
157
|
+
error: !result.success && result.error ? errorToInfo(result.error) : void 0
|
|
154
158
|
});
|
|
155
159
|
} catch (error) {
|
|
156
160
|
post({
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as
|
|
3
|
-
import {
|
|
4
|
-
import { n as errorToInfo, t as createForwardingLogger } from "./forwarding-logger-BBkMSxuJ.js";
|
|
5
|
-
import { n as defaultLoadFactory } from "./build-worker-executor-BN30c2xw.js";
|
|
1
|
+
import { C as SettledWatermark, O as DocumentMetaCache, b as KyselyWriteCache, d as KyselyOperationStore, f as KyselyKeyframeStore, k as CollectionMembershipCache, mt as ReactorEventTypes, n as errorToInfo, o as REACTOR_SCHEMA, p as DocumentModelRegistry, t as createForwardingLogger, u as instrumentPgPool, w as createKyselyWatermarkProbe, x as KyselyOperationIndex, y as EventBus } from "./forwarding-logger-BkwlvD9W.js";
|
|
2
|
+
import { a as KyselyDocumentView, c as ReadModelCoordinator, f as BaseReadModel, n as ConsistencyTracker, t as KyselyDocumentIndexer, y as CatchUpScheduler } from "./document-indexer-I6i_YzsR.js";
|
|
3
|
+
import { n as defaultLoadFactory } from "./build-worker-executor-BonPsKdx.js";
|
|
6
4
|
import { ConsoleLogger } from "document-model";
|
|
7
5
|
import { isMainThread, parentPort } from "node:worker_threads";
|
|
8
6
|
//#region src/projection/projection-worker/build-projection-stack.ts
|
|
@@ -22,14 +20,11 @@ async function loadModelManifest(entries, loadFactory, registry, logger) {
|
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
|
-
function instantiateReadModel(kind, database, operationStore, operationIndex, writeCache) {
|
|
23
|
+
function instantiateReadModel(kind, database, operationStore, operationIndex, writeCache, indexing) {
|
|
26
24
|
switch (kind) {
|
|
27
|
-
case "document-view": return new KyselyDocumentView(database, operationStore, operationIndex, writeCache, new ConsistencyTracker(),
|
|
28
|
-
case "document-indexer": return new KyselyDocumentIndexer(database, operationIndex, writeCache, new ConsistencyTracker());
|
|
29
|
-
default: {
|
|
30
|
-
const exhaustive = kind;
|
|
31
|
-
throw new Error(`unknown built-in read model kind: ${String(exhaustive)}`);
|
|
32
|
-
}
|
|
25
|
+
case "document-view": return new KyselyDocumentView(database, operationStore, operationIndex, writeCache, new ConsistencyTracker(), "NotFound", indexing);
|
|
26
|
+
case "document-indexer": return new KyselyDocumentIndexer(database, operationIndex, writeCache, new ConsistencyTracker(), indexing);
|
|
27
|
+
default: throw new Error(`unknown built-in read model kind: ${String(kind)}`);
|
|
33
28
|
}
|
|
34
29
|
}
|
|
35
30
|
async function initReadModels(models, logger) {
|
|
@@ -44,6 +39,31 @@ async function initReadModels(models, logger) {
|
|
|
44
39
|
}
|
|
45
40
|
}
|
|
46
41
|
}
|
|
42
|
+
/** Posts what each sweep applied, so the host's tracker for the model advances. */
|
|
43
|
+
function relaySweeps(model, events) {
|
|
44
|
+
return {
|
|
45
|
+
get consumerId() {
|
|
46
|
+
return model.consumerId;
|
|
47
|
+
},
|
|
48
|
+
get appliedThrough() {
|
|
49
|
+
return model.appliedThrough;
|
|
50
|
+
},
|
|
51
|
+
get trackedAbove() {
|
|
52
|
+
return model.trackedAbove;
|
|
53
|
+
},
|
|
54
|
+
async sweep(settledThrough, present, signal) {
|
|
55
|
+
const coordinates = [];
|
|
56
|
+
const unsubscribe = model.onSwept((swept) => coordinates.push(...swept));
|
|
57
|
+
try {
|
|
58
|
+
const result = await model.sweep(settledThrough, present, signal);
|
|
59
|
+
if (coordinates.length > 0 || result.to > result.from || result.replayed > 0 || result.blockedAt !== void 0) events.onReadModelSwept(model.name, coordinates, result);
|
|
60
|
+
return result;
|
|
61
|
+
} finally {
|
|
62
|
+
unsubscribe();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
47
67
|
async function buildProjectionStack(options) {
|
|
48
68
|
const { init, database: baseDatabase, logger, events } = options;
|
|
49
69
|
const loadFactory = options.loadFactory ?? defaultLoadFactory;
|
|
@@ -51,7 +71,8 @@ async function buildProjectionStack(options) {
|
|
|
51
71
|
await loadModelManifest(init.models, loadFactory, registry, logger);
|
|
52
72
|
const database = baseDatabase.withSchema(REACTOR_SCHEMA);
|
|
53
73
|
const operationStore = new KyselyOperationStore(database);
|
|
54
|
-
const
|
|
74
|
+
const keyframeStore = new KyselyKeyframeStore(database);
|
|
75
|
+
const writeCache = new KyselyWriteCache(keyframeStore, operationStore, registry, {
|
|
55
76
|
maxDocuments: 100,
|
|
56
77
|
ringBufferSize: 10,
|
|
57
78
|
keyframeInterval: 10
|
|
@@ -60,9 +81,15 @@ async function buildProjectionStack(options) {
|
|
|
60
81
|
const operationIndex = new KyselyOperationIndex(database);
|
|
61
82
|
await new DocumentMetaCache(operationStore, { maxDocuments: 1e3 }).startup();
|
|
62
83
|
new CollectionMembershipCache(operationIndex);
|
|
63
|
-
const preReady = init.preReadyKinds.map((kind) => instantiateReadModel(kind, database, operationStore, operationIndex, writeCache));
|
|
64
|
-
const postReady = init.postReadyKinds.map((kind) => instantiateReadModel(kind, database, operationStore, operationIndex, writeCache));
|
|
65
|
-
|
|
84
|
+
const preReady = init.preReadyKinds.map((kind) => instantiateReadModel(kind, database, operationStore, operationIndex, writeCache, init.indexing));
|
|
85
|
+
const postReady = init.postReadyKinds.map((kind) => instantiateReadModel(kind, database, operationStore, operationIndex, writeCache, init.indexing));
|
|
86
|
+
const watermark = new SettledWatermark(createKyselyWatermarkProbe(database), logger);
|
|
87
|
+
const catchUp = new CatchUpScheduler(watermark, operationIndex, init.catchUp, logger);
|
|
88
|
+
const models = [...preReady, ...postReady];
|
|
89
|
+
for (const model of models) if (model instanceof BaseReadModel) model.attachCatchUp(watermark, init.catchUp.maxTrackedAboveCursor);
|
|
90
|
+
await initReadModels(models, logger);
|
|
91
|
+
for (const model of models) if (model instanceof BaseReadModel) catchUp.addConsumer(relaySweeps(model, events), "projection");
|
|
92
|
+
catchUp.start();
|
|
66
93
|
const eventBus = new EventBus();
|
|
67
94
|
const subscriptions = [];
|
|
68
95
|
subscriptions.push(eventBus.subscribe(ReactorEventTypes.JOB_READ_READY, (_t, event) => {
|
|
@@ -86,13 +113,16 @@ async function buildProjectionStack(options) {
|
|
|
86
113
|
getChainDepth() {
|
|
87
114
|
return coordinator.getChainDepth();
|
|
88
115
|
},
|
|
116
|
+
catchUpStatus() {
|
|
117
|
+
return catchUp.status();
|
|
118
|
+
},
|
|
89
119
|
async drain() {
|
|
90
120
|
await coordinator.drain();
|
|
91
121
|
},
|
|
92
|
-
shutdown() {
|
|
122
|
+
async shutdown() {
|
|
123
|
+
await catchUp.stop();
|
|
93
124
|
coordinator.stop();
|
|
94
125
|
for (const unsub of subscriptions) unsub();
|
|
95
|
-
return Promise.resolve();
|
|
96
126
|
}
|
|
97
127
|
};
|
|
98
128
|
}
|
|
@@ -213,6 +243,11 @@ function runProjectionWorker(parentPort, overrides = {}) {
|
|
|
213
243
|
if (intervalMs <= 0) return;
|
|
214
244
|
depthTimer = setInterval(() => {
|
|
215
245
|
if (!stack) return;
|
|
246
|
+
post({
|
|
247
|
+
type: "catchup-status",
|
|
248
|
+
shardId,
|
|
249
|
+
status: stack.catchUpStatus()
|
|
250
|
+
});
|
|
216
251
|
const depth = stack.getChainDepth();
|
|
217
252
|
if (depth === lastReportedDepth) return;
|
|
218
253
|
lastReportedDepth = depth;
|
|
@@ -261,6 +296,15 @@ function runProjectionWorker(parentPort, overrides = {}) {
|
|
|
261
296
|
success: event.success
|
|
262
297
|
});
|
|
263
298
|
},
|
|
299
|
+
onReadModelSwept: (readModelName, coordinates, result) => {
|
|
300
|
+
post({
|
|
301
|
+
type: "readmodel-swept",
|
|
302
|
+
shardId,
|
|
303
|
+
readModelName,
|
|
304
|
+
coordinates,
|
|
305
|
+
result
|
|
306
|
+
});
|
|
307
|
+
},
|
|
264
308
|
onBatchCompleted: (event) => {
|
|
265
309
|
post({
|
|
266
310
|
type: "readmodel-batch-completed",
|
|
@@ -380,8 +424,6 @@ function runProjectionWorker(parentPort, overrides = {}) {
|
|
|
380
424
|
});
|
|
381
425
|
process.exit(0);
|
|
382
426
|
});
|
|
383
|
-
break;
|
|
384
|
-
default: break;
|
|
385
427
|
}
|
|
386
428
|
}
|
|
387
429
|
parentPort.on("message", handleParentMessage);
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { documentModelDocumentModelModule } from "document-model";
|
|
2
|
+
import { driveDocumentModelModule } from "@powerhousedao/shared/document-drive";
|
|
2
3
|
export { documentModelDocumentModelModule, driveDocumentModelModule };
|