@powerhousedao/connect 6.0.0-dev.5 → 6.0.0-dev.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +1 -1
- package/dist/assets/AddDriveModal-CJtOv39H.js +1 -0
- package/dist/assets/ClearStorageModal-y5IKZ5QW.js +1 -0
- package/dist/assets/CookiesPolicyModal-CRQMjvin.js +1 -0
- package/dist/assets/CreateDocumentModal-wq9SMWoi.js +1 -0
- package/dist/assets/DebugSettingsModal-DRXZ3l1V.js +1 -0
- package/dist/assets/DeleteDriveModal-Cr5Usb_L.js +1 -0
- package/dist/assets/DeleteItemModal-8enl6kcm.js +1 -0
- package/dist/assets/DisclaimerModal-XxPC9Ejt.js +1 -0
- package/dist/assets/DriveSettingsModal-6h8SadLE.js +1 -0
- package/dist/assets/ExportDocumentWithErrorsModal-DXqXD8JC.js +1 -0
- package/dist/assets/SettingsModal-hbCXOBTZ.js +1 -0
- package/dist/assets/UpgradeDriveModal-iM7KnmAQ.js +1 -0
- package/dist/assets/config-0mYxXHFp.js +1 -0
- package/dist/assets/{design_system-DVdodNjK.js → design_system-DuOTmGnv.js} +2 -2
- package/dist/assets/design_system_connect-oOPqJKY4.js +47 -0
- package/dist/assets/design_system_ui-BpFBMLtp.js +1 -0
- package/dist/assets/document_drive-DiwReQ7A.js +154 -0
- package/dist/assets/document_engineering-p8dj-Cba.js +1 -0
- package/dist/assets/document_model-ly1Z8uco.js +241 -0
- package/dist/assets/document_model_editor-Da4AAuKL.js +25 -0
- package/dist/assets/drive_explorer-DgTtoOmx.js +2 -0
- package/dist/assets/editor-D3CEoO4i.js +1 -0
- package/dist/assets/{graphql-AKTCpY7l.js → graphql-BXSeDpaV.js} +2 -2
- package/dist/assets/{graphql-editor-pM_6zgoE.js → graphql-editor-CduYMSwz.js} +2 -2
- package/dist/assets/graphql_request-BHyPFzlZ.js +3 -0
- package/dist/assets/{hooks-CcLWqK8A.js → hooks-DfJBOC53.js} +1 -1
- package/dist/assets/index-B6A7sjLB.css +1 -0
- package/dist/assets/index-DO1hMFtq.js +149 -0
- package/dist/assets/index-DaxIv9p8.js +29 -0
- package/dist/assets/index-nPVGMhnl.js +208 -0
- package/dist/assets/json-editor-ge2w_43Q.js +1 -0
- package/dist/assets/nodefs-BDOJRpNU.js +1 -0
- package/dist/assets/nodefs-CVTQ2TCv.js +1 -0
- package/dist/assets/nodefs-_NvywCGz.js +1 -0
- package/dist/assets/opfs-ahp--n7Av8I7.js +3 -0
- package/dist/assets/opfs-ahp-DN9nZuJs.js +3 -0
- package/dist/assets/opfs-ahp-gToYnU-E.js +3 -0
- package/dist/assets/pg_dump-Cvfbb5Q0.wasm +0 -0
- package/dist/assets/pglite-COscPi1Y.data +0 -0
- package/dist/assets/pglite-CeYkvzd0.wasm +0 -0
- package/dist/assets/pglite.worker-Ca6pWokV.js +141 -0
- package/dist/assets/{react-DQSxOgtG.js → react-D_vzfE_e.js} +1 -1
- package/dist/assets/react-dom/client-SoBEzBdt.js +9 -0
- package/dist/assets/{react-dom-D6zQJsh6.js → react-dom-Cz_KAjfm.js} +1 -1
- package/dist/assets/reactor_browser-D9uAHhHf.js +136 -0
- package/dist/assets/{sentry_browser-B4YoBIIG.js → sentry_browser-TIBDlywD.js} +3 -3
- package/dist/assets/{sentry_react-cODD7zWc.js → sentry_react-CVx4Qq7f.js} +1 -1
- package/dist/assets/state-schemas-CNNgCMhK.js +2 -0
- package/dist/assets/tailwind_merge-CXl88Wxt.js +1 -0
- package/dist/assets/zod-Cc38s6JG.js +39 -0
- package/dist/index.html +19 -20
- package/heroku/Dockerfile +1 -1
- package/lib/package.copy.json +30 -28
- package/lib/src/components/document-editor-container.d.ts.map +1 -1
- package/lib/src/components/document-editor-container.js +7 -34
- package/lib/src/components/document-editor-container.js.map +1 -1
- package/lib/src/components/drive-icon.d.ts.map +1 -1
- package/lib/src/components/drive-icon.js +10 -3
- package/lib/src/components/drive-icon.js.map +1 -1
- package/lib/src/components/editors.d.ts.map +1 -1
- package/lib/src/components/editors.js +12 -5
- package/lib/src/components/editors.js.map +1 -1
- package/lib/src/components/error-boundary.js +1 -1
- package/lib/src/components/error-boundary.js.map +1 -1
- package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +1 -1
- package/lib/src/components/modal/modals/AddDriveModal.js +17 -48
- package/lib/src/components/modal/modals/AddDriveModal.js.map +1 -1
- package/lib/src/components/modal/modals/ClearStorageModal.js +2 -2
- package/lib/src/components/modal/modals/ClearStorageModal.js.map +1 -1
- package/lib/src/components/modal/modals/DriveSettingsModal.d.ts.map +1 -1
- package/lib/src/components/modal/modals/DriveSettingsModal.js +9 -4
- package/lib/src/components/modal/modals/DriveSettingsModal.js.map +1 -1
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +1 -1
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +3 -1
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +1 -1
- package/lib/src/components/modal/modals/InspectorModal/useQueueInspector.d.ts +3 -0
- package/lib/src/components/modal/modals/InspectorModal/useQueueInspector.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useQueueInspector.js +61 -0
- package/lib/src/components/modal/modals/InspectorModal/useQueueInspector.js.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +2 -1
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +1 -1
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +4 -1
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +1 -1
- package/lib/src/components/sidebar.d.ts.map +1 -1
- package/lib/src/components/sidebar.js +2 -2
- package/lib/src/components/sidebar.js.map +1 -1
- package/lib/src/connect.config.js +1 -1
- package/lib/src/connect.config.js.map +1 -1
- package/lib/src/context/index.d.ts +1 -1
- package/lib/src/context/index.d.ts.map +1 -1
- package/lib/src/context/index.js +1 -1
- package/lib/src/context/index.js.map +1 -1
- package/lib/src/context/processor-manager.d.ts +1 -2
- package/lib/src/context/processor-manager.d.ts.map +1 -1
- package/lib/src/context/processor-manager.js +1 -188
- package/lib/src/context/processor-manager.js.map +1 -1
- package/lib/src/context/processor-manager.old.d.ts +3 -0
- package/lib/src/context/processor-manager.old.d.ts.map +1 -0
- package/lib/src/context/processor-manager.old.js +189 -0
- package/lib/src/context/processor-manager.old.js.map +1 -0
- package/lib/src/feature-flags.d.ts.map +1 -1
- package/lib/src/feature-flags.js +13 -0
- package/lib/src/feature-flags.js.map +1 -1
- package/lib/src/hooks/useCheckLatestVersion.d.ts.map +1 -1
- package/lib/src/hooks/useCheckLatestVersion.js +1 -1
- package/lib/src/hooks/useCheckLatestVersion.js.map +1 -1
- package/lib/src/hooks/useClientErrorHandler.d.ts.map +1 -1
- package/lib/src/hooks/useClientErrorHandler.js +5 -40
- package/lib/src/hooks/useClientErrorHandler.js.map +1 -1
- package/lib/src/hooks/useInitSentry.js +2 -2
- package/lib/src/hooks/useInitSentry.js.map +1 -1
- package/lib/src/pages/demo/atlas-import.js +2 -2
- package/lib/src/pglite.db.d.ts +2 -0
- package/lib/src/pglite.db.d.ts.map +1 -0
- package/lib/src/pglite.db.js +19 -0
- package/lib/src/pglite.db.js.map +1 -0
- package/lib/src/pglite.worker.d.ts +2 -0
- package/lib/src/pglite.worker.d.ts.map +1 -0
- package/lib/src/pglite.worker.js +15 -0
- package/lib/src/pglite.worker.js.map +1 -0
- package/lib/src/services/hmr.js +1 -1
- package/lib/src/services/hmr.js.map +1 -1
- package/lib/src/services/index.d.ts +0 -3
- package/lib/src/services/index.d.ts.map +1 -1
- package/lib/src/services/index.js +0 -3
- package/lib/src/services/index.js.map +1 -1
- package/lib/src/store/editor.d.ts.map +1 -1
- package/lib/src/store/editor.js +4 -5
- package/lib/src/store/editor.js.map +1 -1
- package/lib/src/store/processor-host-module.d.ts +3 -0
- package/lib/src/store/processor-host-module.d.ts.map +1 -0
- package/lib/src/store/processor-host-module.js +22 -0
- package/lib/src/store/processor-host-module.js.map +1 -0
- package/lib/src/store/reactor.d.ts +1 -1
- package/lib/src/store/reactor.d.ts.map +1 -1
- package/lib/src/store/reactor.js +77 -189
- package/lib/src/store/reactor.js.map +1 -1
- package/lib/src/utils/reactor.d.ts +13 -7
- package/lib/src/utils/reactor.d.ts.map +1 -1
- package/lib/src/utils/reactor.js +37 -63
- package/lib/src/utils/reactor.js.map +1 -1
- package/lib/src/utils/signature.d.ts.map +1 -1
- package/lib/src/utils/signature.js +1 -1
- package/lib/src/utils/signature.js.map +1 -1
- package/lib/style.css +373 -115
- package/lib/test/utils/signer.test.js +25 -28
- package/lib/test/utils/signer.test.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/vite.config.d.ts.map +1 -1
- package/lib/vite.config.js +0 -4
- package/lib/vite.config.js.map +1 -1
- package/package.copy.json +30 -28
- package/package.json +39 -37
- package/dist/assets/AddDriveModal-BQm-PcmC.js +0 -1
- package/dist/assets/ClearStorageModal-28jHiUGr.js +0 -1
- package/dist/assets/CookiesPolicyModal-B8ON6Aot.js +0 -1
- package/dist/assets/CreateDocumentModal-Dq3Bi3cq.js +0 -1
- package/dist/assets/DebugSettingsModal-CJONGfBK.js +0 -1
- package/dist/assets/DeleteDriveModal-bUDGgtH-.js +0 -1
- package/dist/assets/DeleteItemModal-B8ZzH9at.js +0 -1
- package/dist/assets/DisclaimerModal-BOLKXvyT.js +0 -1
- package/dist/assets/DriveSettingsModal-DIbcmIVs.js +0 -1
- package/dist/assets/ExportDocumentWithErrorsModal-gHdbtQ3B.js +0 -1
- package/dist/assets/SettingsModal-DP7GWuuW.js +0 -1
- package/dist/assets/UpgradeDriveModal--uyH9aU-.js +0 -1
- package/dist/assets/config-CU-aFfVJ.js +0 -1
- package/dist/assets/design_system_connect-GjcNtEuR.js +0 -47
- package/dist/assets/design_system_ui-CirzPTGM.js +0 -1
- package/dist/assets/document_drive-CwpHvdiT.js +0 -316
- package/dist/assets/document_engineering-x8qLjrlA.js +0 -1
- package/dist/assets/document_model-_oCbt5YE.js +0 -230
- package/dist/assets/document_model_editor-H_2IAVLg.js +0 -25
- package/dist/assets/drive_explorer-DaOEkDU-.js +0 -2
- package/dist/assets/graphql_request-BJtmW2JS.js +0 -3
- package/dist/assets/index-C44AjweI.js +0 -28
- package/dist/assets/index-DNce0SAe.css +0 -1
- package/dist/assets/index-Dxjl28rF.js +0 -18
- package/dist/assets/json-editor-BFca9ePf.js +0 -1
- package/dist/assets/nodefs-BRqoxQYy.js +0 -1
- package/dist/assets/opfs-ahp-DetoV0on.js +0 -3
- package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
- package/dist/assets/react-dom/client-BVPiT_FE.js +0 -9
- package/dist/assets/reactor_browser-BTFz4lY7.js +0 -129
- package/dist/assets/state-schemas-DBLZHoPv.js +0 -2
- package/dist/assets/tailwind_merge-Dr4f9Rms.js +0 -1
- package/dist/assets/zod-9j67vCAu.js +0 -39
- package/lib/src/service-worker.d.ts +0 -2
- package/lib/src/service-worker.d.ts.map +0 -1
- package/lib/src/service-worker.js +0 -58
- package/lib/src/service-worker.js.map +0 -1
- package/lib/src/services/renown/browser.d.ts +0 -2
- package/lib/src/services/renown/browser.d.ts.map +0 -1
- package/lib/src/services/renown/browser.js +0 -6
- package/lib/src/services/renown/browser.js.map +0 -1
- package/lib/src/services/renown/constants.d.ts +0 -130
- package/lib/src/services/renown/constants.d.ts.map +0 -1
- package/lib/src/services/renown/constants.js +0 -41
- package/lib/src/services/renown/constants.js.map +0 -1
- package/lib/src/services/renown/utils.d.ts +0 -7
- package/lib/src/services/renown/utils.d.ts.map +0 -1
- package/lib/src/services/renown/utils.js +0 -20
- package/lib/src/services/renown/utils.js.map +0 -1
- package/lib/src/workers/pglite-worker.d.ts +0 -2
- package/lib/src/workers/pglite-worker.d.ts.map +0 -1
- package/lib/src/workers/pglite-worker.js +0 -32
- package/lib/src/workers/pglite-worker.js.map +0 -1
package/lib/src/store/reactor.js
CHANGED
|
@@ -1,27 +1,21 @@
|
|
|
1
1
|
import { phGlobalConfigFromEnv } from "@powerhousedao/connect/config";
|
|
2
2
|
import { initFeatureFlags } from "@powerhousedao/connect/feature-flags.js";
|
|
3
3
|
import { toast } from "@powerhousedao/connect/services";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { addPHEventHandlers,
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { generateId } from "document-model/core";
|
|
4
|
+
import { addDefaultDrivesForNewReactor, createBrowserReactor, getDefaultDrivesFromEnv, } from "@powerhousedao/connect/utils";
|
|
5
|
+
import { addRemoteDrive, dropAllReactorStorage, extractDriveSlugFromPath, extractNodeSlugFromPath, getDrives, ReactorClientDocumentCache, refreshReactorDataClient, setFeatures, setPHToast, setSelectedDrive, setSelectedNode, setVetraPackages, } from "@powerhousedao/reactor-browser";
|
|
6
|
+
import { addPHEventHandlers, login, setConnectCrypto, setDefaultPHGlobalConfig, setDid, setDocumentCache, setDrives, setReactorClient, setReactorClientModule, setRenown, } from "@powerhousedao/reactor-browser/connect";
|
|
7
|
+
import { BrowserKeyStorage, RenownBuilder, RenownCryptoBuilder, } from "@renown/sdk";
|
|
8
|
+
import { logger } from "document-drive";
|
|
10
9
|
import { loadCommonPackage } from "./document-model.js";
|
|
11
10
|
import { loadExternalPackages, subscribeExternalPackages, } from "./external-packages.js";
|
|
12
|
-
|
|
13
|
-
function setLegacyReactorStorage(storage) {
|
|
14
|
-
reactorLegacyStorage = storage;
|
|
15
|
-
}
|
|
11
|
+
import { createProcessorHostModule } from "./processor-host-module.js";
|
|
16
12
|
export async function clearReactorStorage() {
|
|
17
|
-
// clear legacy storage
|
|
18
|
-
await reactorLegacyStorage?.clear();
|
|
19
|
-
// clear all the reactor dependencies
|
|
20
13
|
const pg = window.ph?.reactorClientModule?.pg;
|
|
21
|
-
if (pg) {
|
|
22
|
-
|
|
14
|
+
if (!pg) {
|
|
15
|
+
throw new Error("PGlite not found");
|
|
23
16
|
}
|
|
24
|
-
|
|
17
|
+
await dropAllReactorStorage(pg);
|
|
18
|
+
await pg.close();
|
|
25
19
|
}
|
|
26
20
|
async function updateVetraPackages(externalPackages) {
|
|
27
21
|
const commonPackage = await loadCommonPackage();
|
|
@@ -29,64 +23,11 @@ async function updateVetraPackages(externalPackages) {
|
|
|
29
23
|
setVetraPackages([commonPackage, ...externalPackages]);
|
|
30
24
|
return packages;
|
|
31
25
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Filters document model modules to only include the latest version of each document type.
|
|
34
|
-
* This is needed for legacy reactor v1 which doesn't support multiple versions.
|
|
35
|
-
*/
|
|
36
|
-
function filterToLatestVersions(modules) {
|
|
37
|
-
const latestByType = new Map();
|
|
38
|
-
for (const module of modules) {
|
|
39
|
-
const documentType = module.documentModel.global.id;
|
|
40
|
-
const version = module.documentModel.global.specifications?.[0]?.version ?? 1;
|
|
41
|
-
const existing = latestByType.get(documentType);
|
|
42
|
-
const existingVersion = existing?.documentModel.global.specifications?.[0]?.version ?? 1;
|
|
43
|
-
if (!existing || version > existingVersion) {
|
|
44
|
-
latestByType.set(documentType, module);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return Array.from(latestByType.values());
|
|
48
|
-
}
|
|
49
|
-
async function loadDriveFromRemoteUrl(remoteUrl, reactor, drives) {
|
|
50
|
-
const driveFromRemoteUrl = drives.find((drive) => drive.state.local.triggers.find((trigger) => trigger.type === "PullResponder" && trigger.data?.url === remoteUrl));
|
|
51
|
-
if (driveFromRemoteUrl) {
|
|
52
|
-
return driveFromRemoteUrl;
|
|
53
|
-
}
|
|
54
|
-
try {
|
|
55
|
-
const remoteDrive = await reactor.addRemoteDrive(remoteUrl, {
|
|
56
|
-
sharingType: "PUBLIC",
|
|
57
|
-
availableOffline: true,
|
|
58
|
-
listeners: [
|
|
59
|
-
{
|
|
60
|
-
block: true,
|
|
61
|
-
callInfo: {
|
|
62
|
-
data: remoteUrl,
|
|
63
|
-
name: "switchboard-push",
|
|
64
|
-
transmitterType: "SwitchboardPush",
|
|
65
|
-
},
|
|
66
|
-
filter: {
|
|
67
|
-
branch: ["main"],
|
|
68
|
-
documentId: ["*"],
|
|
69
|
-
documentType: ["*"],
|
|
70
|
-
scope: ["global"],
|
|
71
|
-
},
|
|
72
|
-
label: "Switchboard Sync",
|
|
73
|
-
listenerId: generateId(),
|
|
74
|
-
system: true,
|
|
75
|
-
},
|
|
76
|
-
],
|
|
77
|
-
triggers: [],
|
|
78
|
-
});
|
|
79
|
-
return remoteDrive;
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
logger.error("Error adding remote drive", error);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
26
|
export async function createReactor() {
|
|
86
27
|
if (!window.ph) {
|
|
87
28
|
window.ph = {};
|
|
88
29
|
}
|
|
89
|
-
if (window.ph.
|
|
30
|
+
if (window.ph.loading)
|
|
90
31
|
return;
|
|
91
32
|
window.ph.loading = true;
|
|
92
33
|
// add window event handlers for updates
|
|
@@ -95,17 +36,19 @@ export async function createReactor() {
|
|
|
95
36
|
setPHToast(toast);
|
|
96
37
|
// initialize feature flags
|
|
97
38
|
const features = await initFeatureFlags();
|
|
98
|
-
logger.info(
|
|
99
|
-
// initialize
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
39
|
+
logger.info("Features: @features", JSON.stringify(Object.fromEntries(features), null, 2));
|
|
40
|
+
// initialize renown crypto
|
|
41
|
+
const keyPairStorage = await BrowserKeyStorage.create();
|
|
42
|
+
const renownCrypto = await new RenownCryptoBuilder()
|
|
43
|
+
.withKeyPairStorage(keyPairStorage)
|
|
44
|
+
.build();
|
|
45
|
+
// initialize Renown
|
|
46
|
+
const renown = await new RenownBuilder("connect", {
|
|
47
|
+
basename: phGlobalConfigFromEnv.routerBasename,
|
|
48
|
+
baseUrl: phGlobalConfigFromEnv.renownUrl,
|
|
49
|
+
})
|
|
50
|
+
.withCrypto(renownCrypto)
|
|
51
|
+
.build();
|
|
109
52
|
// load vetra packages
|
|
110
53
|
const externalPackages = await loadExternalPackages();
|
|
111
54
|
const vetraPackages = await updateVetraPackages(externalPackages);
|
|
@@ -113,132 +56,77 @@ export async function createReactor() {
|
|
|
113
56
|
// get document models to set in the reactor (all versions)
|
|
114
57
|
const documentModelModules = vetraPackages
|
|
115
58
|
.flatMap((pkg) => pkg.modules.documentModelModules)
|
|
116
|
-
.filter((module) => module !== undefined
|
|
59
|
+
.filter((module, index, modules) => module !== undefined &&
|
|
60
|
+
// deduplicate by documentType and version
|
|
61
|
+
modules.findIndex((m) => m?.documentType === module.documentType &&
|
|
62
|
+
m.version === module.version) === index);
|
|
117
63
|
// get upgrade manifests from packages
|
|
118
|
-
const upgradeManifests = vetraPackages
|
|
119
|
-
.flatMap((pkg) => pkg.upgradeManifests)
|
|
120
|
-
.filter((manifest) => manifest !== undefined);
|
|
121
|
-
// filter to latest versions for legacy reactor (doesn't support versioning)
|
|
122
|
-
const latestModules = filterToLatestVersions(documentModelModules);
|
|
123
|
-
// create the legacy reactor with only latest versions
|
|
124
|
-
const defaultConfig = getReactorDefaultDrivesConfig();
|
|
125
|
-
const legacyReactor = createBrowserDocumentDriveServer(latestModules, storage, {
|
|
126
|
-
...defaultConfig,
|
|
127
|
-
featureFlags: {
|
|
128
|
-
enableDualActionCreate: true,
|
|
129
|
-
},
|
|
130
|
-
});
|
|
64
|
+
const upgradeManifests = vetraPackages.flatMap((pkg) => pkg.upgradeManifests);
|
|
131
65
|
// create reactor v2 with all versions and upgrade manifests
|
|
132
|
-
const reactorClientModule = await createBrowserReactor(documentModelModules, upgradeManifests,
|
|
133
|
-
// initialize the reactor
|
|
134
|
-
await initLegacyReactor(legacyReactor, renown, connectCrypto);
|
|
135
|
-
// create the processor manager
|
|
136
|
-
const processorManager = new ProcessorManager(legacyReactor.listeners, legacyReactor);
|
|
66
|
+
const reactorClientModule = await createBrowserReactor(documentModelModules, upgradeManifests, renown);
|
|
137
67
|
// get the drives from the reactor
|
|
138
|
-
|
|
139
|
-
// if remoteUrl is set and drive not already existing add remote drive and open it
|
|
140
|
-
const remoteUrl = getDriveUrl();
|
|
141
|
-
const remoteDrive = remoteUrl
|
|
142
|
-
? await loadDriveFromRemoteUrl(remoteUrl, legacyReactor, drives)
|
|
143
|
-
: undefined;
|
|
144
|
-
// if a remote drive was added then refetches the drives
|
|
145
|
-
if (remoteDrive) {
|
|
146
|
-
drives = await getDrives(legacyReactor);
|
|
147
|
-
}
|
|
148
|
-
// get the documents from the reactor
|
|
68
|
+
const drives = await getDrives(reactorClientModule.client);
|
|
149
69
|
// set the selected drive and node from the path
|
|
150
70
|
const path = window.location.pathname;
|
|
151
|
-
const driveSlug =
|
|
152
|
-
const nodeSlug =
|
|
153
|
-
// initialize user
|
|
71
|
+
const driveSlug = extractDriveSlugFromPath(path);
|
|
72
|
+
const nodeSlug = extractNodeSlugFromPath(path);
|
|
73
|
+
// initialize user from URL parameter
|
|
154
74
|
const didFromUrl = getDidFromUrl();
|
|
155
|
-
await login(didFromUrl,
|
|
156
|
-
|
|
157
|
-
const useLegacyRead = features.get("FEATURE_LEGACY_READ_ENABLED") ?? true;
|
|
158
|
-
const documentCache = useLegacyRead
|
|
159
|
-
? new DocumentCache(legacyReactor)
|
|
160
|
-
: new ReactorClientDocumentCache(reactorClientModule.client);
|
|
75
|
+
await login(didFromUrl, renown);
|
|
76
|
+
const documentCache = new ReactorClientDocumentCache(reactorClientModule.client);
|
|
161
77
|
// dispatch the events to set the values in the window object
|
|
162
78
|
setDefaultPHGlobalConfig(phGlobalConfigFromEnv);
|
|
163
|
-
setLegacyReactor(legacyReactor);
|
|
164
79
|
setReactorClientModule(reactorClientModule);
|
|
165
80
|
setReactorClient(reactorClientModule.client);
|
|
166
|
-
setSync(reactorClientModule.reactorModule?.syncModule?.syncManager);
|
|
167
|
-
setDatabase(reactorClientModule.reactorModule?.database);
|
|
168
|
-
setPGlite(reactorClientModule.pg);
|
|
169
81
|
setDocumentCache(documentCache);
|
|
170
|
-
setConnectCrypto(
|
|
171
|
-
setDid(did);
|
|
82
|
+
setConnectCrypto(renownCrypto);
|
|
83
|
+
setDid(renown.did);
|
|
172
84
|
setRenown(renown);
|
|
173
|
-
setProcessorManager(processorManager);
|
|
174
85
|
setDrives(drives);
|
|
175
86
|
setVetraPackages(vetraPackages);
|
|
176
87
|
setSelectedDrive(driveSlug);
|
|
177
88
|
setSelectedNode(nodeSlug);
|
|
178
89
|
setFeatures(features);
|
|
179
|
-
//
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
logger.verbose("defaultRemoteDrive", ...args);
|
|
184
|
-
refreshReactorData(legacyReactor).catch(logger.error);
|
|
185
|
-
});
|
|
186
|
-
legacyReactor.on("clientStrandsError", (...args) => {
|
|
187
|
-
logger.verbose("clientStrandsError", ...args);
|
|
188
|
-
refreshReactorData(legacyReactor).catch(logger.error);
|
|
189
|
-
});
|
|
190
|
-
legacyReactor.on("driveAdded", (...args) => {
|
|
191
|
-
logger.verbose("driveAdded", ...args);
|
|
192
|
-
// register the drive with the processor manager
|
|
193
|
-
processorManager.registerDrive(args[0].header.id).catch(logger.error);
|
|
194
|
-
refreshReactorData(legacyReactor).catch(logger.error);
|
|
195
|
-
});
|
|
196
|
-
legacyReactor.on("driveDeleted", (...args) => {
|
|
197
|
-
logger.verbose("driveDeleted", ...args);
|
|
198
|
-
refreshReactorData(legacyReactor).catch(logger.error);
|
|
199
|
-
});
|
|
200
|
-
legacyReactor.on("documentModelModules", (...args) => {
|
|
201
|
-
logger.verbose("documentModelModules", ...args);
|
|
202
|
-
refreshReactorData(legacyReactor).catch(logger.error);
|
|
203
|
-
});
|
|
204
|
-
legacyReactor.on("driveOperationsAdded", (...args) => {
|
|
205
|
-
logger.verbose("driveOperationsAdded", ...args);
|
|
206
|
-
refreshReactorData(legacyReactor).catch(logger.error);
|
|
207
|
-
});
|
|
90
|
+
// Add default drives for new reactor (after window.ph is set up)
|
|
91
|
+
const defaultDrivesConfig = getDefaultDrivesFromEnv();
|
|
92
|
+
if (defaultDrivesConfig.length > 0) {
|
|
93
|
+
await addDefaultDrivesForNewReactor(defaultDrivesConfig);
|
|
208
94
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
95
|
+
// if remoteUrl is set and drive not already existing add remote drive and open it
|
|
96
|
+
const remoteUrl = getDriveUrl();
|
|
97
|
+
if (remoteUrl) {
|
|
98
|
+
try {
|
|
99
|
+
await addRemoteDrive(remoteUrl, {});
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error(`Failed to add remote drive from ${remoteUrl}:`, error);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// Subscribe via ReactorClient interface
|
|
106
|
+
const reactorClient = reactorClientModule.client;
|
|
107
|
+
reactorClient.subscribe({ type: "powerhouse/document-drive" }, (event) => {
|
|
108
|
+
logger.verbose("ReactorClient subscription event: @event", event);
|
|
109
|
+
refreshReactorDataClient(reactorClientModule.client).catch((e) => logger.error("@error", e));
|
|
110
|
+
});
|
|
111
|
+
// Refresh from ReactorClient to pick up any synced drives
|
|
112
|
+
await refreshReactorDataClient(reactorClientModule.client);
|
|
113
|
+
const packagesWithProcessorFactories = vetraPackages.filter((pkg) => pkg.processorFactory !== undefined);
|
|
114
|
+
if (packagesWithProcessorFactories.length > 0) {
|
|
115
|
+
const processorHostModule = await createProcessorHostModule();
|
|
116
|
+
if (processorHostModule !== undefined) {
|
|
117
|
+
await Promise.all(packagesWithProcessorFactories.map(async (pkg) => {
|
|
118
|
+
const { id, name, processorFactory } = pkg;
|
|
119
|
+
console.log("Loading processor factory:", name);
|
|
120
|
+
try {
|
|
121
|
+
const factory = await processorFactory(processorHostModule);
|
|
122
|
+
await reactorClientModule.reactorModule?.processorManager.registerFactory(id, factory);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.error(`Error registering processor: "${name}".`);
|
|
126
|
+
console.error(error);
|
|
127
|
+
}
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
242
130
|
}
|
|
243
131
|
window.ph.loading = false;
|
|
244
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/store/reactor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/store/reactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type
|
|
3
|
-
import type { DocumentDriveServerOptions, IDocumentAdminStorage, IDocumentDriveServer, IDocumentOperationStorage, IDocumentStorage, IDriveOperationStorage } from "document-drive";
|
|
1
|
+
import { type BrowserReactorClientModule } from "@powerhousedao/reactor-browser";
|
|
2
|
+
import { type IRenown } from "@renown/sdk";
|
|
4
3
|
import type { DocumentModelModule, UpgradeManifest } from "document-model";
|
|
5
|
-
export declare const getReactorDefaultDrivesConfig: () => Pick<DocumentDriveServerOptions, "defaultDrives">;
|
|
6
|
-
export declare function createBrowserStorage(routerBasename: string): IDriveOperationStorage & IDocumentOperationStorage & IDocumentStorage & IDocumentAdminStorage;
|
|
7
|
-
export declare function createBrowserDocumentDriveServer(documentModels: DocumentModelModule<any>[], storage: IDriveOperationStorage, options: DocumentDriveServerOptions): IDocumentDriveServer;
|
|
8
4
|
/**
|
|
9
5
|
* Creates a Reactor that plugs into legacy storage but syncs through the new
|
|
10
6
|
* Reactor GQL API.
|
|
11
7
|
*/
|
|
12
|
-
export declare function createBrowserReactor(documentModelModules: DocumentModelModule[], upgradeManifests: UpgradeManifest<readonly number[]>[],
|
|
8
|
+
export declare function createBrowserReactor(documentModelModules: DocumentModelModule[], upgradeManifests: UpgradeManifest<readonly number[]>[], renown: IRenown): Promise<BrowserReactorClientModule>;
|
|
9
|
+
/**
|
|
10
|
+
* Parse default drives from environment variable.
|
|
11
|
+
* Returns an array of drive REST endpoint URLs (e.g., "https://example.com/d/powerhouse").
|
|
12
|
+
*/
|
|
13
|
+
export declare function getDefaultDrivesFromEnv(): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Add default drives for the new reactor via sync manager.
|
|
16
|
+
* @param defaultDriveUrls - Array of drive REST endpoint URLs (e.g., "https://example.com/d/powerhouse")
|
|
17
|
+
*/
|
|
18
|
+
export declare function addDefaultDrivesForNewReactor(defaultDriveUrls: string[]): Promise<void>;
|
|
13
19
|
//# sourceMappingURL=reactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/utils/reactor.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/utils/reactor.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI3E;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,gBAAgB,EAAE,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACtD,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,0BAA0B,CAAC,CAsCrC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAMlD;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,gBAAgB,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
package/lib/src/utils/reactor.js
CHANGED
|
@@ -1,73 +1,24 @@
|
|
|
1
1
|
import { PGlite } from "@electric-sql/pglite";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { ChannelScheme, ConsoleLogger, ReactorBuilder, ReactorClientBuilder, } from "@powerhousedao/reactor";
|
|
3
|
+
import { addRemoteDrive, } from "@powerhousedao/reactor-browser";
|
|
4
|
+
import { createSignatureVerifier } from "@renown/sdk";
|
|
5
5
|
import { Kysely } from "kysely";
|
|
6
6
|
import { PGliteDialect } from "kysely-pglite-dialect";
|
|
7
|
-
import { createRemoveOldRemoteDrivesConfig } from "./drive-preservation.js";
|
|
8
|
-
const DEFAULT_DRIVES_URL = import.meta.env.PH_CONNECT_DEFAULT_DRIVES_URL ||
|
|
9
|
-
undefined;
|
|
10
|
-
const defaultDrivesUrl = DEFAULT_DRIVES_URL
|
|
11
|
-
? DEFAULT_DRIVES_URL.split(",")
|
|
12
|
-
: [];
|
|
13
|
-
export const getReactorDefaultDrivesConfig = () => {
|
|
14
|
-
const remoteDrives = defaultDrivesUrl.map((driveUrl) => ({
|
|
15
|
-
url: driveUrl,
|
|
16
|
-
options: {
|
|
17
|
-
sharingType: "PUBLIC",
|
|
18
|
-
availableOffline: true,
|
|
19
|
-
listeners: [
|
|
20
|
-
{
|
|
21
|
-
block: true,
|
|
22
|
-
callInfo: {
|
|
23
|
-
data: driveUrl,
|
|
24
|
-
name: "switchboard-push",
|
|
25
|
-
transmitterType: "SwitchboardPush",
|
|
26
|
-
},
|
|
27
|
-
filter: {
|
|
28
|
-
branch: ["main"],
|
|
29
|
-
documentId: ["*"],
|
|
30
|
-
documentType: ["*"],
|
|
31
|
-
scope: ["global"],
|
|
32
|
-
},
|
|
33
|
-
label: "Switchboard Sync",
|
|
34
|
-
listenerId: "1",
|
|
35
|
-
system: true,
|
|
36
|
-
},
|
|
37
|
-
],
|
|
38
|
-
triggers: [],
|
|
39
|
-
},
|
|
40
|
-
}));
|
|
41
|
-
return {
|
|
42
|
-
defaultDrives: {
|
|
43
|
-
remoteDrives,
|
|
44
|
-
removeOldRemoteDrives: createRemoveOldRemoteDrivesConfig(defaultDrivesUrl),
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
export function createBrowserStorage(routerBasename) {
|
|
49
|
-
return new BrowserStorage(routerBasename);
|
|
50
|
-
}
|
|
51
|
-
export function createBrowserDocumentDriveServer(documentModels, storage, options) {
|
|
52
|
-
return new LegacyReactorBuilder(documentModels)
|
|
53
|
-
.withStorage(storage)
|
|
54
|
-
.withCache(new InMemoryCache())
|
|
55
|
-
.withQueueManager(new EventQueueManager())
|
|
56
|
-
.withOptions({
|
|
57
|
-
...options,
|
|
58
|
-
...getReactorDefaultDrivesConfig(),
|
|
59
|
-
})
|
|
60
|
-
.build();
|
|
61
|
-
}
|
|
62
7
|
/**
|
|
63
8
|
* Creates a Reactor that plugs into legacy storage but syncs through the new
|
|
64
9
|
* Reactor GQL API.
|
|
65
10
|
*/
|
|
66
|
-
export async function createBrowserReactor(documentModelModules, upgradeManifests,
|
|
11
|
+
export async function createBrowserReactor(documentModelModules, upgradeManifests, renown) {
|
|
67
12
|
const signerConfig = {
|
|
68
|
-
signer:
|
|
13
|
+
signer: renown.signer,
|
|
69
14
|
verifier: createSignatureVerifier(),
|
|
70
15
|
};
|
|
16
|
+
const jwtHandler = async (url) => {
|
|
17
|
+
if (!renown.user) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return renown.getBearerToken({ expiresIn: 10, aud: url });
|
|
21
|
+
};
|
|
71
22
|
const pg = new PGlite("idb://reactor", {
|
|
72
23
|
relaxedDurability: true,
|
|
73
24
|
});
|
|
@@ -78,9 +29,8 @@ export async function createBrowserReactor(documentModelModules, upgradeManifest
|
|
|
78
29
|
.withReactorBuilder(new ReactorBuilder()
|
|
79
30
|
.withDocumentModels(documentModelModules)
|
|
80
31
|
.withUpgradeManifests(upgradeManifests)
|
|
81
|
-
.
|
|
82
|
-
.
|
|
83
|
-
.withFeatures({ legacyStorageEnabled: true })
|
|
32
|
+
.withChannelScheme(ChannelScheme.CONNECT)
|
|
33
|
+
.withJwtHandler(jwtHandler)
|
|
84
34
|
.withKysely(new Kysely({
|
|
85
35
|
dialect: new PGliteDialect(pg),
|
|
86
36
|
})));
|
|
@@ -90,4 +40,28 @@ export async function createBrowserReactor(documentModelModules, upgradeManifest
|
|
|
90
40
|
pg,
|
|
91
41
|
};
|
|
92
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Parse default drives from environment variable.
|
|
45
|
+
* Returns an array of drive REST endpoint URLs (e.g., "https://example.com/d/powerhouse").
|
|
46
|
+
*/
|
|
47
|
+
export function getDefaultDrivesFromEnv() {
|
|
48
|
+
const envValue = import.meta.env.PH_CONNECT_DEFAULT_DRIVES_URL;
|
|
49
|
+
if (!envValue)
|
|
50
|
+
return [];
|
|
51
|
+
return envValue.split(",").filter((url) => url.trim().length > 0);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Add default drives for the new reactor via sync manager.
|
|
55
|
+
* @param defaultDriveUrls - Array of drive REST endpoint URLs (e.g., "https://example.com/d/powerhouse")
|
|
56
|
+
*/
|
|
57
|
+
export async function addDefaultDrivesForNewReactor(defaultDriveUrls) {
|
|
58
|
+
for (const url of defaultDriveUrls) {
|
|
59
|
+
try {
|
|
60
|
+
await addRemoteDrive(url, {});
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.error(`Failed to add default drive ${url}:`, error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
93
67
|
//# sourceMappingURL=reactor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/utils/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/utils/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,GAIrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAgB,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,oBAA2C,EAC3C,gBAAsD,EACtD,MAAe;IAEf,MAAM,YAAY,GAAiB;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,uBAAuB,EAAE;KACpC,CAAC;IAEF,MAAM,UAAU,GAAe,KAAK,EAAE,GAAW,EAAE,EAAE;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,eAAe,EAAE;QACrC,iBAAiB,EAAE,IAAI;KACxB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE;SACvC,UAAU,CAAC,MAAM,CAAC;SAClB,UAAU,CAAC,YAAY,CAAC;SACxB,kBAAkB,CACjB,IAAI,cAAc,EAAE;SACjB,kBAAkB,CAAC,oBAAoB,CAAC;SACxC,oBAAoB,CAAC,gBAAgB,CAAC;SACtC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC;SACxC,cAAc,CAAC,UAAU,CAAC;SAC1B,UAAU,CACT,IAAI,MAAM,CAAW;QACnB,OAAO,EAAE,IAAI,aAAa,CAAC,EAAE,CAAC;KAC/B,CAAC,CACH,CACJ,CAAC;IAEJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO;QACL,GAAG,MAAM;QACT,EAAE;KAC2B,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,6BAEpB,CAAC;IACd,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,gBAA0B;IAE1B,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EAEN,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,IAAI,EACL,MAAM,gBAAgB,CAAC;AAGxB,wBAAsB,aAAa,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,EAC1E,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EAC/C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EACzB,IAAI,CAAC,EAAE,IAAI,GACV,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EAEN,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,IAAI,EACL,MAAM,gBAAgB,CAAC;AAGxB,wBAAsB,aAAa,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,EAC1E,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EAC/C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EACzB,IAAI,CAAC,EAAE,IAAI,GACV,OAAO,CAAC,SAAS,CAAC,CAsBpB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACxD,MAAM,EAAE,CAAC,EACT,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,IAAI,KAqBZ"}
|
|
@@ -6,7 +6,7 @@ export async function signOperation(operation, sign, documentId, document, reduc
|
|
|
6
6
|
if (!operation.action.context?.signer)
|
|
7
7
|
return operation;
|
|
8
8
|
if (!reducer) {
|
|
9
|
-
logger.error(
|
|
9
|
+
logger.error("Document model '@documentType' does not have a reducer", document.header.documentType);
|
|
10
10
|
return operation;
|
|
11
11
|
}
|
|
12
12
|
const context = operation.action.context.signer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAUxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAoB,EACpB,IAA+C,EAC/C,UAAkB,EAClB,QAA4B,EAC5B,OAAyB,EACzB,IAAW;IAEX,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAUxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAoB,EACpB,IAA+C,EAC/C,UAAkB,EAClB,QAA4B,EAC5B,OAAyB,EACzB,IAAW;IAEX,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV,wDAAwD,EACxD,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC7B,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAiB,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAE9D,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAC7C,SAAS,CAAC,MAAM,EAChB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,IAAI,CACL,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAS,EACT,UAAmB,EACnB,IAAW;IAEX,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAEzB,MAAM,MAAM,GAAiB;QAC3B,GAAG,EAAE;YACH,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,UAAU,IAAI,EAAE;SACtB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;QACD,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,EAAE,MAAM,EAAE;QACnB,GAAG,MAAM;KACV,CAAC;AACJ,CAAC"}
|