@powerhousedao/connect 1.0.22-staging.0 → 1.0.23-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/.env +1 -1
- package/dist/assets/{app-CDOWlDp2.css → app-D5gNm0Gn.css} +186 -27
- package/dist/assets/{app-CpNI4xTA.js → app-DCtCV8Sz.js} +10895 -8420
- package/dist/assets/app-DCtCV8Sz.js.map +1 -0
- package/dist/assets/{app-loader-DADQ7rok.js → app-loader-BAEWEx-m.js} +733 -403
- package/dist/assets/app-loader-BAEWEx-m.js.map +1 -0
- package/dist/assets/{app-loader-DiF8OhX3.css → app-loader-NDVZu4bS.css} +162 -34
- package/dist/assets/browser-BeUBqndM.js +27224 -0
- package/dist/assets/browser-BeUBqndM.js.map +1 -0
- package/dist/assets/{ccip-DATfa3z8.js → ccip-CMd6tRtn.js} +5 -4
- package/dist/assets/ccip-CMd6tRtn.js.map +1 -0
- package/dist/assets/{content-CkbffPFR.js → content-DsWyfJvF.js} +1105 -463
- package/dist/assets/content-DsWyfJvF.js.map +1 -0
- package/dist/assets/{index-GuaHVlAM.js → index-ADsM2QWh.js} +23 -171
- package/dist/assets/index-ADsM2QWh.js.map +1 -0
- package/dist/assets/{index-BFdIunuJ.js → index-CCDoOj0e.js} +4 -3
- package/dist/assets/index-CCDoOj0e.js.map +1 -0
- package/dist/assets/{index-CEFMQRxw.js → index-CSN0Iyem.js} +554 -750
- package/dist/assets/index-CSN0Iyem.js.map +1 -0
- package/dist/assets/index-Dl8ZqWS0.js +208 -0
- package/dist/assets/index-Dl8ZqWS0.js.map +1 -0
- package/dist/assets/{main.Dqmo52dd.js → main.DW9UCmAK.js} +2 -1
- package/dist/assets/main.DW9UCmAK.js.map +1 -0
- package/dist/assets/reactor-analytics-hlzA2WG5.js +42 -0
- package/dist/assets/reactor-analytics-hlzA2WG5.js.map +1 -0
- package/dist/assets/router-DJRPUFad.js +1585 -0
- package/dist/assets/router-DJRPUFad.js.map +1 -0
- package/dist/assets/{style-Ce3V83BE.css → style-CdxGKc2g.css} +39 -25
- package/dist/external-packages.js +1 -0
- package/dist/external-packages.js.map +1 -0
- package/dist/hmr.js +1 -0
- package/dist/hmr.js.map +1 -0
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -0
- package/dist/service-worker.js.map +1 -0
- package/dist/vite-envs.sh +1 -1
- package/package.json +17 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/app-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/app-DCtCV8Sz.js","assets/main.DW9UCmAK.js","assets/app-D5gNm0Gn.css"])))=>i.map(i=>d[i]);
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __typeError = (msg) => {
|
|
4
4
|
throw TypeError(msg);
|
|
@@ -11,7 +11,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
11
11
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
12
12
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
13
13
|
var _tags, _levelString, _errorHandler, _ConsoleLogger_instances, levelValue_get, _getDocumentModelModule, _drives, _ReadModeService_instances, parseGraphQLErrors_fn, fetchDrive_fn, _a, _ServiceWorkerManager_instances, handleServiceWorkerMessage_fn, handleServiceWorker_fn;
|
|
14
|
-
import { _ as __vitePreload } from "./main.
|
|
14
|
+
import { _ as __vitePreload } from "./main.DW9UCmAK.js";
|
|
15
15
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
16
|
import { useState, useEffect, Suspense, lazy } from "react";
|
|
17
17
|
function _mergeNamespaces(n, m) {
|
|
@@ -97,14 +97,51 @@ const trimResultingState = (document) => {
|
|
|
97
97
|
});
|
|
98
98
|
return { ...document, operations: { global: global2, local } };
|
|
99
99
|
};
|
|
100
|
+
class CacheStorageManager {
|
|
101
|
+
constructor(cache) {
|
|
102
|
+
__publicField(this, "index", 0);
|
|
103
|
+
__publicField(this, "cache");
|
|
104
|
+
this.cache = cache;
|
|
105
|
+
}
|
|
106
|
+
createStorage() {
|
|
107
|
+
const index = this.index;
|
|
108
|
+
this.index += 1;
|
|
109
|
+
function buildKey(key) {
|
|
110
|
+
return `${index}-${key}`;
|
|
111
|
+
}
|
|
112
|
+
const storage = {
|
|
113
|
+
get: (key) => {
|
|
114
|
+
return this.cache.get(buildKey(key));
|
|
115
|
+
},
|
|
116
|
+
set: (key, value) => {
|
|
117
|
+
this.cache.set(buildKey(key), value);
|
|
118
|
+
return storage;
|
|
119
|
+
},
|
|
120
|
+
delete: (key) => {
|
|
121
|
+
return this.cache.delete(buildKey(key));
|
|
122
|
+
},
|
|
123
|
+
clear: () => {
|
|
124
|
+
this.cache.clear();
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
return storage;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
100
130
|
class InMemoryCache {
|
|
101
|
-
constructor() {
|
|
102
|
-
__publicField(this, "
|
|
103
|
-
__publicField(this, "
|
|
104
|
-
__publicField(this, "
|
|
131
|
+
constructor(cache = /* @__PURE__ */ new Map()) {
|
|
132
|
+
__publicField(this, "cache");
|
|
133
|
+
__publicField(this, "cacheStorageManager");
|
|
134
|
+
__publicField(this, "idToDocument");
|
|
135
|
+
__publicField(this, "idToDrive");
|
|
136
|
+
__publicField(this, "slugToDriveId");
|
|
137
|
+
this.cache = cache;
|
|
138
|
+
this.cacheStorageManager = new CacheStorageManager(cache);
|
|
139
|
+
this.idToDocument = this.cacheStorageManager.createStorage();
|
|
140
|
+
this.idToDrive = this.cacheStorageManager.createStorage();
|
|
141
|
+
this.slugToDriveId = this.cacheStorageManager.createStorage();
|
|
105
142
|
}
|
|
106
143
|
clear() {
|
|
107
|
-
this.
|
|
144
|
+
this.idToDocument.clear();
|
|
108
145
|
this.idToDrive.clear();
|
|
109
146
|
this.slugToDriveId.clear();
|
|
110
147
|
}
|
|
@@ -113,13 +150,13 @@ class InMemoryCache {
|
|
|
113
150
|
/////////////////////////////////////////////////////////////////////////////
|
|
114
151
|
async setDocument(documentId, document) {
|
|
115
152
|
const doc = trimResultingState(document);
|
|
116
|
-
this.
|
|
153
|
+
this.idToDocument.set(documentId, doc);
|
|
117
154
|
}
|
|
118
155
|
async getDocument(documentId) {
|
|
119
|
-
return this.
|
|
156
|
+
return this.idToDocument.get(documentId);
|
|
120
157
|
}
|
|
121
158
|
async deleteDocument(documentId) {
|
|
122
|
-
return this.
|
|
159
|
+
return this.idToDocument.delete(documentId);
|
|
123
160
|
}
|
|
124
161
|
async setDrive(driveId, drive) {
|
|
125
162
|
const doc = trimResultingState(drive);
|
|
@@ -133,14 +170,14 @@ class InMemoryCache {
|
|
|
133
170
|
if (!drive) {
|
|
134
171
|
return false;
|
|
135
172
|
}
|
|
136
|
-
const slug = drive.
|
|
173
|
+
const slug = drive.slug.length > 0 ? drive.slug : driveId;
|
|
137
174
|
if (slug) {
|
|
138
175
|
this.slugToDriveId.delete(slug);
|
|
139
176
|
}
|
|
140
177
|
return this.idToDrive.delete(driveId);
|
|
141
178
|
}
|
|
142
179
|
async setDriveBySlug(slug, drive) {
|
|
143
|
-
const driveId = drive.
|
|
180
|
+
const driveId = drive.id;
|
|
144
181
|
this.slugToDriveId.set(slug, driveId);
|
|
145
182
|
this.setDrive(driveId, drive);
|
|
146
183
|
}
|
|
@@ -388,8 +425,8 @@ function isBE() {
|
|
|
388
425
|
return buf[0] === 254;
|
|
389
426
|
}
|
|
390
427
|
const FileSystemError = new Error("File system not available.");
|
|
391
|
-
function generateUUID
|
|
392
|
-
if (!crypto.randomUUID) {
|
|
428
|
+
function generateUUID() {
|
|
429
|
+
if (typeof crypto === "undefined" || !crypto.randomUUID) {
|
|
393
430
|
throw new Error("generateUUID is not available in unsecure contexts.");
|
|
394
431
|
}
|
|
395
432
|
return crypto.randomUUID();
|
|
@@ -6777,7 +6814,7 @@ function loadStateOperation(oldDocument, newDocument) {
|
|
|
6777
6814
|
};
|
|
6778
6815
|
}
|
|
6779
6816
|
function generateId(method) {
|
|
6780
|
-
return generateUUID
|
|
6817
|
+
return generateUUID();
|
|
6781
6818
|
}
|
|
6782
6819
|
function getUnixTimestamp(date) {
|
|
6783
6820
|
return (new Date(date).getTime() / 1e3).toFixed(0);
|
|
@@ -6940,6 +6977,7 @@ function processSkipOperation(document, action, customReducer, skipValue, reuseO
|
|
|
6940
6977
|
scopeState = resultingStateParser(lastRemainingOperation.resultingState);
|
|
6941
6978
|
} else {
|
|
6942
6979
|
const { state } = replayOperations(document.initialState, documentOperations, customReducer, void 0, void 0, void 0, void 0, {
|
|
6980
|
+
reuseHash: true,
|
|
6943
6981
|
reuseOperationResultingState,
|
|
6944
6982
|
operationResultingStateParser: resultingStateParser
|
|
6945
6983
|
});
|
|
@@ -6966,6 +7004,7 @@ function processUndoOperation(document, scope, customReducer, reuseOperationResu
|
|
|
6966
7004
|
const clearedOperations = [...documentOperations[scope]];
|
|
6967
7005
|
const diff = diffOperations(garbageCollect(sortedOperations), clearedOperations);
|
|
6968
7006
|
const doc = replayOperations(document.initialState, documentOperations, customReducer, void 0, void 0, void 0, void 0, {
|
|
7007
|
+
reuseHash: true,
|
|
6969
7008
|
reuseOperationResultingState,
|
|
6970
7009
|
operationResultingStateParser: resultingStateParser
|
|
6971
7010
|
});
|
|
@@ -7115,7 +7154,10 @@ function createReducer(stateReducer2, documentReducer = baseReducer) {
|
|
|
7115
7154
|
return reducer2;
|
|
7116
7155
|
}
|
|
7117
7156
|
function baseCreateExtendedState(initialState, createState2) {
|
|
7157
|
+
const id = generateUUID();
|
|
7118
7158
|
return {
|
|
7159
|
+
id,
|
|
7160
|
+
slug: id,
|
|
7119
7161
|
name: "",
|
|
7120
7162
|
documentType: "",
|
|
7121
7163
|
revision: {
|
|
@@ -7144,10 +7186,6 @@ function baseCreateDocument(initialState, createState2) {
|
|
|
7144
7186
|
function hashDocumentStateForScope(document, scope = "global") {
|
|
7145
7187
|
return hash(cjsModule(document.state[scope] || ""));
|
|
7146
7188
|
}
|
|
7147
|
-
const hashKey = (date, randomLimit = 1e3) => {
|
|
7148
|
-
const random = Math.random() * randomLimit;
|
|
7149
|
-
return hash(`${(/* @__PURE__ */ new Date()).toISOString()}${random}`);
|
|
7150
|
-
};
|
|
7151
7189
|
function getDocumentLastModified(document) {
|
|
7152
7190
|
var _a2;
|
|
7153
7191
|
const sortedOperations = sortOperations(Object.values(document.operations).flat());
|
|
@@ -7196,6 +7234,9 @@ function replayDocument(initialState, operations, reducer2, dispatch, header, sk
|
|
|
7196
7234
|
operationsToReplay.push(...Object.values(operations).flat());
|
|
7197
7235
|
}
|
|
7198
7236
|
const document = baseCreateDocument(documentState);
|
|
7237
|
+
if (header == null ? void 0 : header.slug) {
|
|
7238
|
+
document.slug = header.slug;
|
|
7239
|
+
}
|
|
7199
7240
|
document.initialState = initialState;
|
|
7200
7241
|
document.operations = initialOperations;
|
|
7201
7242
|
let result = document;
|
|
@@ -7534,21 +7575,186 @@ function UpdateStateExampleInputSchema() {
|
|
|
7534
7575
|
newExample: z.string()
|
|
7535
7576
|
});
|
|
7536
7577
|
}
|
|
7578
|
+
var dist = {};
|
|
7579
|
+
var hasRequiredDist;
|
|
7580
|
+
function requireDist() {
|
|
7581
|
+
if (hasRequiredDist) return dist;
|
|
7582
|
+
hasRequiredDist = 1;
|
|
7583
|
+
(function(exports) {
|
|
7584
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
7585
|
+
function getDefaultExportFromCjs2(x) {
|
|
7586
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
7587
|
+
}
|
|
7588
|
+
var browser = { exports: {} };
|
|
7589
|
+
var process2 = browser.exports = {};
|
|
7590
|
+
var cachedSetTimeout;
|
|
7591
|
+
var cachedClearTimeout;
|
|
7592
|
+
function defaultSetTimout() {
|
|
7593
|
+
throw new Error("setTimeout has not been defined");
|
|
7594
|
+
}
|
|
7595
|
+
function defaultClearTimeout() {
|
|
7596
|
+
throw new Error("clearTimeout has not been defined");
|
|
7597
|
+
}
|
|
7598
|
+
(function() {
|
|
7599
|
+
try {
|
|
7600
|
+
if (typeof setTimeout === "function") {
|
|
7601
|
+
cachedSetTimeout = setTimeout;
|
|
7602
|
+
} else {
|
|
7603
|
+
cachedSetTimeout = defaultSetTimout;
|
|
7604
|
+
}
|
|
7605
|
+
} catch (e) {
|
|
7606
|
+
cachedSetTimeout = defaultSetTimout;
|
|
7607
|
+
}
|
|
7608
|
+
try {
|
|
7609
|
+
if (typeof clearTimeout === "function") {
|
|
7610
|
+
cachedClearTimeout = clearTimeout;
|
|
7611
|
+
} else {
|
|
7612
|
+
cachedClearTimeout = defaultClearTimeout;
|
|
7613
|
+
}
|
|
7614
|
+
} catch (e) {
|
|
7615
|
+
cachedClearTimeout = defaultClearTimeout;
|
|
7616
|
+
}
|
|
7617
|
+
})();
|
|
7618
|
+
function runTimeout(fun) {
|
|
7619
|
+
if (cachedSetTimeout === setTimeout) {
|
|
7620
|
+
return setTimeout(fun, 0);
|
|
7621
|
+
}
|
|
7622
|
+
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
|
7623
|
+
cachedSetTimeout = setTimeout;
|
|
7624
|
+
return setTimeout(fun, 0);
|
|
7625
|
+
}
|
|
7626
|
+
try {
|
|
7627
|
+
return cachedSetTimeout(fun, 0);
|
|
7628
|
+
} catch (e) {
|
|
7629
|
+
try {
|
|
7630
|
+
return cachedSetTimeout.call(null, fun, 0);
|
|
7631
|
+
} catch (e2) {
|
|
7632
|
+
return cachedSetTimeout.call(this, fun, 0);
|
|
7633
|
+
}
|
|
7634
|
+
}
|
|
7635
|
+
}
|
|
7636
|
+
function runClearTimeout(marker) {
|
|
7637
|
+
if (cachedClearTimeout === clearTimeout) {
|
|
7638
|
+
return clearTimeout(marker);
|
|
7639
|
+
}
|
|
7640
|
+
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
|
7641
|
+
cachedClearTimeout = clearTimeout;
|
|
7642
|
+
return clearTimeout(marker);
|
|
7643
|
+
}
|
|
7644
|
+
try {
|
|
7645
|
+
return cachedClearTimeout(marker);
|
|
7646
|
+
} catch (e) {
|
|
7647
|
+
try {
|
|
7648
|
+
return cachedClearTimeout.call(null, marker);
|
|
7649
|
+
} catch (e2) {
|
|
7650
|
+
return cachedClearTimeout.call(this, marker);
|
|
7651
|
+
}
|
|
7652
|
+
}
|
|
7653
|
+
}
|
|
7654
|
+
var queue = [];
|
|
7655
|
+
var draining = false;
|
|
7656
|
+
var currentQueue;
|
|
7657
|
+
var queueIndex = -1;
|
|
7658
|
+
function cleanUpNextTick() {
|
|
7659
|
+
if (!draining || !currentQueue) {
|
|
7660
|
+
return;
|
|
7661
|
+
}
|
|
7662
|
+
draining = false;
|
|
7663
|
+
if (currentQueue.length) {
|
|
7664
|
+
queue = currentQueue.concat(queue);
|
|
7665
|
+
} else {
|
|
7666
|
+
queueIndex = -1;
|
|
7667
|
+
}
|
|
7668
|
+
if (queue.length) {
|
|
7669
|
+
drainQueue();
|
|
7670
|
+
}
|
|
7671
|
+
}
|
|
7672
|
+
function drainQueue() {
|
|
7673
|
+
if (draining) {
|
|
7674
|
+
return;
|
|
7675
|
+
}
|
|
7676
|
+
var timeout = runTimeout(cleanUpNextTick);
|
|
7677
|
+
draining = true;
|
|
7678
|
+
var len = queue.length;
|
|
7679
|
+
while (len) {
|
|
7680
|
+
currentQueue = queue;
|
|
7681
|
+
queue = [];
|
|
7682
|
+
while (++queueIndex < len) {
|
|
7683
|
+
if (currentQueue) {
|
|
7684
|
+
currentQueue[queueIndex].run();
|
|
7685
|
+
}
|
|
7686
|
+
}
|
|
7687
|
+
queueIndex = -1;
|
|
7688
|
+
len = queue.length;
|
|
7689
|
+
}
|
|
7690
|
+
currentQueue = null;
|
|
7691
|
+
draining = false;
|
|
7692
|
+
runClearTimeout(timeout);
|
|
7693
|
+
}
|
|
7694
|
+
process2.nextTick = function(fun) {
|
|
7695
|
+
var args = new Array(arguments.length - 1);
|
|
7696
|
+
if (arguments.length > 1) {
|
|
7697
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
7698
|
+
args[i - 1] = arguments[i];
|
|
7699
|
+
}
|
|
7700
|
+
}
|
|
7701
|
+
queue.push(new Item(fun, args));
|
|
7702
|
+
if (queue.length === 1 && !draining) {
|
|
7703
|
+
runTimeout(drainQueue);
|
|
7704
|
+
}
|
|
7705
|
+
};
|
|
7706
|
+
function Item(fun, array) {
|
|
7707
|
+
this.fun = fun;
|
|
7708
|
+
this.array = array;
|
|
7709
|
+
}
|
|
7710
|
+
Item.prototype.run = function() {
|
|
7711
|
+
this.fun.apply(null, this.array);
|
|
7712
|
+
};
|
|
7713
|
+
process2.title = "browser";
|
|
7714
|
+
process2.browser = true;
|
|
7715
|
+
process2.env = {};
|
|
7716
|
+
process2.argv = [];
|
|
7717
|
+
process2.version = "";
|
|
7718
|
+
process2.versions = {};
|
|
7719
|
+
function noop2() {
|
|
7720
|
+
}
|
|
7721
|
+
process2.on = noop2;
|
|
7722
|
+
process2.addListener = noop2;
|
|
7723
|
+
process2.once = noop2;
|
|
7724
|
+
process2.off = noop2;
|
|
7725
|
+
process2.removeListener = noop2;
|
|
7726
|
+
process2.removeAllListeners = noop2;
|
|
7727
|
+
process2.emit = noop2;
|
|
7728
|
+
process2.prependListener = noop2;
|
|
7729
|
+
process2.prependOnceListener = noop2;
|
|
7730
|
+
process2.listeners = function(name2) {
|
|
7731
|
+
return [];
|
|
7732
|
+
};
|
|
7733
|
+
process2.binding = function(name2) {
|
|
7734
|
+
throw new Error("process.binding is not supported");
|
|
7735
|
+
};
|
|
7736
|
+
process2.cwd = function() {
|
|
7737
|
+
return "/";
|
|
7738
|
+
};
|
|
7739
|
+
process2.chdir = function(dir) {
|
|
7740
|
+
throw new Error("process.chdir is not supported");
|
|
7741
|
+
};
|
|
7742
|
+
process2.umask = function() {
|
|
7743
|
+
return 0;
|
|
7744
|
+
};
|
|
7745
|
+
var browserExports = browser.exports;
|
|
7746
|
+
const process$1 = /* @__PURE__ */ getDefaultExportFromCjs2(browserExports);
|
|
7747
|
+
exports.default = process$1;
|
|
7748
|
+
exports.process = process$1;
|
|
7749
|
+
})(dist);
|
|
7750
|
+
return dist;
|
|
7751
|
+
}
|
|
7752
|
+
var distExports = requireDist();
|
|
7753
|
+
const process = /* @__PURE__ */ getDefaultExportFromCjs(distExports);
|
|
7537
7754
|
function commonjsRequire(path) {
|
|
7538
7755
|
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
7539
7756
|
}
|
|
7540
7757
|
var jszip_min = { exports: {} };
|
|
7541
|
-
/*!
|
|
7542
|
-
|
|
7543
|
-
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
7544
|
-
<http://stuartk.com/jszip>
|
|
7545
|
-
|
|
7546
|
-
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
|
7547
|
-
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
|
|
7548
|
-
|
|
7549
|
-
JSZip uses the library pako released under the MIT license :
|
|
7550
|
-
https://github.com/nodeca/pako/blob/main/LICENSE
|
|
7551
|
-
*/
|
|
7552
7758
|
var hasRequiredJszip_min;
|
|
7553
7759
|
function requireJszip_min() {
|
|
7554
7760
|
if (hasRequiredJszip_min) return jszip_min.exports;
|
|
@@ -10323,8 +10529,10 @@ function validateOperations(operations) {
|
|
|
10323
10529
|
}
|
|
10324
10530
|
function createZip(document) {
|
|
10325
10531
|
const zip = new JSZip();
|
|
10326
|
-
const { name: name2, revision, documentType: documentType2, created, lastModified } = document;
|
|
10532
|
+
const { id, slug, name: name2, revision, documentType: documentType2, created, lastModified } = document;
|
|
10327
10533
|
const header = {
|
|
10534
|
+
id,
|
|
10535
|
+
slug,
|
|
10328
10536
|
name: name2,
|
|
10329
10537
|
revision,
|
|
10330
10538
|
documentType: documentType2,
|
|
@@ -10740,40 +10948,60 @@ const reducer$2 = {
|
|
|
10740
10948
|
state.triggers = state.triggers.filter((trigger) => trigger.id !== action.input.triggerId);
|
|
10741
10949
|
}
|
|
10742
10950
|
};
|
|
10743
|
-
|
|
10744
|
-
|
|
10745
|
-
|
|
10951
|
+
class DocumentModelNotFoundError extends Error {
|
|
10952
|
+
constructor(id, cause) {
|
|
10953
|
+
super(`Document model "${id}" not found`, { cause });
|
|
10954
|
+
__publicField(this, "id");
|
|
10955
|
+
this.id = id;
|
|
10956
|
+
}
|
|
10957
|
+
}
|
|
10958
|
+
class OperationError extends Error {
|
|
10959
|
+
constructor(status, operation, message, cause) {
|
|
10960
|
+
super(message, { cause: cause ?? operation });
|
|
10961
|
+
__publicField(this, "status");
|
|
10962
|
+
__publicField(this, "operation");
|
|
10963
|
+
this.status = status;
|
|
10964
|
+
this.operation = operation;
|
|
10965
|
+
}
|
|
10746
10966
|
}
|
|
10747
|
-
|
|
10748
|
-
|
|
10967
|
+
class ConflictOperationError extends OperationError {
|
|
10968
|
+
constructor(existingOperation, newOperation) {
|
|
10969
|
+
super("CONFLICT", newOperation, `Conflicting operation on index ${newOperation.index}`, { existingOperation, newOperation });
|
|
10970
|
+
}
|
|
10749
10971
|
}
|
|
10750
|
-
|
|
10751
|
-
|
|
10752
|
-
|
|
10753
|
-
if (!getRandomValues) {
|
|
10754
|
-
if (typeof crypto === "undefined" || !crypto.getRandomValues) {
|
|
10755
|
-
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
10756
|
-
}
|
|
10757
|
-
getRandomValues = crypto.getRandomValues.bind(crypto);
|
|
10972
|
+
class DocumentIdValidationError extends Error {
|
|
10973
|
+
constructor(documentId) {
|
|
10974
|
+
super(`Invalid document id: ${documentId}`);
|
|
10758
10975
|
}
|
|
10759
|
-
return getRandomValues(rnds8);
|
|
10760
10976
|
}
|
|
10761
|
-
|
|
10762
|
-
|
|
10763
|
-
|
|
10764
|
-
var _a2;
|
|
10765
|
-
if (native.randomUUID && true && !options) {
|
|
10766
|
-
return native.randomUUID();
|
|
10977
|
+
class DocumentSlugValidationError extends Error {
|
|
10978
|
+
constructor(slug) {
|
|
10979
|
+
super(`Invalid slug: ${slug}`);
|
|
10767
10980
|
}
|
|
10768
|
-
|
|
10769
|
-
|
|
10770
|
-
|
|
10771
|
-
|
|
10981
|
+
}
|
|
10982
|
+
class DocumentAlreadyExistsError extends Error {
|
|
10983
|
+
constructor(documentId) {
|
|
10984
|
+
super(`Document with id ${documentId} uses id or slug that already exists`);
|
|
10985
|
+
__publicField(this, "documentId");
|
|
10986
|
+
this.documentId = documentId;
|
|
10772
10987
|
}
|
|
10773
|
-
rnds[6] = rnds[6] & 15 | 64;
|
|
10774
|
-
rnds[8] = rnds[8] & 63 | 128;
|
|
10775
|
-
return unsafeStringify(rnds);
|
|
10776
10988
|
}
|
|
10989
|
+
class DocumentNotFoundError extends Error {
|
|
10990
|
+
constructor(documentId) {
|
|
10991
|
+
super(`Document with id ${documentId} not found`);
|
|
10992
|
+
__publicField(this, "documentId");
|
|
10993
|
+
this.documentId = documentId;
|
|
10994
|
+
}
|
|
10995
|
+
}
|
|
10996
|
+
class SynchronizationUnitNotFoundError extends Error {
|
|
10997
|
+
constructor(message, syncUnitId) {
|
|
10998
|
+
super(message);
|
|
10999
|
+
__publicField(this, "syncUnitId");
|
|
11000
|
+
this.syncUnitId = syncUnitId;
|
|
11001
|
+
}
|
|
11002
|
+
}
|
|
11003
|
+
const isValidDocumentId = (id) => /^[a-zA-Z0-9_-]+$/.test(id);
|
|
11004
|
+
const isValidSlug = (slug) => /^[a-zA-Z0-9_-]+$/.test(slug);
|
|
10777
11005
|
function isFileNode(node) {
|
|
10778
11006
|
return node.kind === "file";
|
|
10779
11007
|
}
|
|
@@ -10837,7 +11065,7 @@ function generateNodesCopy(src, idGenerator, nodes) {
|
|
|
10837
11065
|
function generateSynchronizationUnitId(nodes) {
|
|
10838
11066
|
let syncId = "";
|
|
10839
11067
|
while (!syncId || nodes.find((node) => isFileNode(node) && node.synchronizationUnits.find((unit) => unit.syncId === syncId))) {
|
|
10840
|
-
syncId =
|
|
11068
|
+
syncId = generateId();
|
|
10841
11069
|
}
|
|
10842
11070
|
return syncId;
|
|
10843
11071
|
}
|
|
@@ -10915,6 +11143,9 @@ const reducer$1 = {
|
|
|
10915
11143
|
if (state.nodes.find((node) => node.id === action.input.id)) {
|
|
10916
11144
|
throw new Error(`Node with id ${action.input.id} already exists!`);
|
|
10917
11145
|
}
|
|
11146
|
+
if (!isValidDocumentId(action.input.id)) {
|
|
11147
|
+
throw new DocumentIdValidationError(action.input.id);
|
|
11148
|
+
}
|
|
10918
11149
|
const name2 = handleTargetNameCollisions({
|
|
10919
11150
|
nodes: state.nodes,
|
|
10920
11151
|
srcName: action.input.name,
|
|
@@ -11007,6 +11238,9 @@ const reducer$1 = {
|
|
|
11007
11238
|
if (!node) {
|
|
11008
11239
|
throw new Error(`Node with id ${action.input.srcId} not found`);
|
|
11009
11240
|
}
|
|
11241
|
+
if (!isValidDocumentId(action.input.targetId)) {
|
|
11242
|
+
throw new DocumentIdValidationError(action.input.targetId);
|
|
11243
|
+
}
|
|
11010
11244
|
const duplicatedNode = state.nodes.find((node2) => node2.id === action.input.targetId);
|
|
11011
11245
|
if (duplicatedNode) {
|
|
11012
11246
|
throw new Error(`Node with id ${action.input.targetId} already exists`);
|
|
@@ -11018,8 +11252,9 @@ const reducer$1 = {
|
|
|
11018
11252
|
});
|
|
11019
11253
|
const newNode = {
|
|
11020
11254
|
...node,
|
|
11021
|
-
name: name2,
|
|
11022
11255
|
id: action.input.targetId,
|
|
11256
|
+
slug: action.input.targetId,
|
|
11257
|
+
name: name2,
|
|
11023
11258
|
parentFolder: action.input.targetParentFolder || null
|
|
11024
11259
|
};
|
|
11025
11260
|
const isFile = isFileNode(newNode);
|
|
@@ -11151,11 +11386,9 @@ const fileExtension = "phdd";
|
|
|
11151
11386
|
const documentType = "powerhouse/document-drive";
|
|
11152
11387
|
const documentModelName = "DocumentDrive";
|
|
11153
11388
|
const initialGlobalState = {
|
|
11154
|
-
id: "",
|
|
11155
11389
|
name: "",
|
|
11156
11390
|
nodes: [],
|
|
11157
|
-
icon: null
|
|
11158
|
-
slug: null
|
|
11391
|
+
icon: null
|
|
11159
11392
|
};
|
|
11160
11393
|
const initialLocalState = {
|
|
11161
11394
|
listeners: [],
|
|
@@ -11416,8 +11649,7 @@ const driveDocumentModelModule = {
|
|
|
11416
11649
|
actions: { ...creators, ...actions },
|
|
11417
11650
|
utils: { ...documentModelUtils, ...customUtils }
|
|
11418
11651
|
};
|
|
11419
|
-
|
|
11420
|
-
const LEVELS = {
|
|
11652
|
+
const LogLevels = {
|
|
11421
11653
|
verbose: 1,
|
|
11422
11654
|
debug: 2,
|
|
11423
11655
|
info: 3,
|
|
@@ -11425,6 +11657,10 @@ const LEVELS = {
|
|
|
11425
11657
|
error: 5,
|
|
11426
11658
|
silent: 6
|
|
11427
11659
|
};
|
|
11660
|
+
function isLogLevel(value) {
|
|
11661
|
+
return typeof value === "string" && value in LogLevels;
|
|
11662
|
+
}
|
|
11663
|
+
var define_process_env_default = {};
|
|
11428
11664
|
class ConsoleLogger {
|
|
11429
11665
|
constructor(tags, errorHandler2) {
|
|
11430
11666
|
__privateAdd(this, _ConsoleLogger_instances);
|
|
@@ -11444,6 +11680,10 @@ class ConsoleLogger {
|
|
|
11444
11680
|
return __privateGet(this, _levelString);
|
|
11445
11681
|
}
|
|
11446
11682
|
set level(level) {
|
|
11683
|
+
if (level !== "env" && !isLogLevel(level)) {
|
|
11684
|
+
throw new Error(`Invalid log level: ${JSON.stringify(level)}.
|
|
11685
|
+
Must be one of ${Object.keys(LogLevels).concat(["env"]).join(", ")}.`);
|
|
11686
|
+
}
|
|
11447
11687
|
__privateSet(this, _levelString, level);
|
|
11448
11688
|
}
|
|
11449
11689
|
get errorHandler() {
|
|
@@ -11456,31 +11696,31 @@ class ConsoleLogger {
|
|
|
11456
11696
|
return this.debug(...data);
|
|
11457
11697
|
}
|
|
11458
11698
|
verbose(...data) {
|
|
11459
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11699
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.verbose) {
|
|
11460
11700
|
return;
|
|
11461
11701
|
}
|
|
11462
11702
|
return this.debug(...data);
|
|
11463
11703
|
}
|
|
11464
11704
|
debug(...data) {
|
|
11465
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11705
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.debug) {
|
|
11466
11706
|
return;
|
|
11467
11707
|
}
|
|
11468
11708
|
return console.debug(...[...__privateGet(this, _tags), ...data]);
|
|
11469
11709
|
}
|
|
11470
11710
|
info(...data) {
|
|
11471
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11711
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.info) {
|
|
11472
11712
|
return;
|
|
11473
11713
|
}
|
|
11474
11714
|
return console.info(...[...__privateGet(this, _tags), ...data]);
|
|
11475
11715
|
}
|
|
11476
11716
|
warn(...data) {
|
|
11477
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11717
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.warn) {
|
|
11478
11718
|
return;
|
|
11479
11719
|
}
|
|
11480
11720
|
return console.warn(...[...__privateGet(this, _tags), ...data]);
|
|
11481
11721
|
}
|
|
11482
11722
|
error(...data) {
|
|
11483
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11723
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.error) {
|
|
11484
11724
|
return;
|
|
11485
11725
|
}
|
|
11486
11726
|
if (__privateGet(this, _errorHandler)) {
|
|
@@ -11495,16 +11735,16 @@ _errorHandler = new WeakMap();
|
|
|
11495
11735
|
_ConsoleLogger_instances = new WeakSet();
|
|
11496
11736
|
levelValue_get = function() {
|
|
11497
11737
|
if (__privateGet(this, _levelString) === "env") {
|
|
11498
|
-
const envLevel = typeof process !== "undefined" ? define_process_env_default.LOG_LEVEL : void 0;
|
|
11738
|
+
const envLevel = typeof process !== "undefined" && "env" in process ? define_process_env_default.LOG_LEVEL : void 0;
|
|
11499
11739
|
if (!envLevel) {
|
|
11500
|
-
return
|
|
11740
|
+
return LogLevels.debug;
|
|
11501
11741
|
}
|
|
11502
|
-
if (!(envLevel in
|
|
11503
|
-
return
|
|
11742
|
+
if (!(envLevel in LogLevels)) {
|
|
11743
|
+
return LogLevels.debug;
|
|
11504
11744
|
}
|
|
11505
|
-
return
|
|
11745
|
+
return LogLevels[envLevel];
|
|
11506
11746
|
}
|
|
11507
|
-
return
|
|
11747
|
+
return LogLevels[__privateGet(this, _levelString)];
|
|
11508
11748
|
};
|
|
11509
11749
|
const loggerInstance = new ConsoleLogger();
|
|
11510
11750
|
let logLevel = "env";
|
|
@@ -11526,48 +11766,6 @@ const childLogger = (tags) => {
|
|
|
11526
11766
|
logger2.errorHandler = errorHandler;
|
|
11527
11767
|
return logger2;
|
|
11528
11768
|
};
|
|
11529
|
-
class DocumentModelNotFoundError extends Error {
|
|
11530
|
-
constructor(id, cause) {
|
|
11531
|
-
super(`Document model "${id}" not found`, { cause });
|
|
11532
|
-
__publicField(this, "id");
|
|
11533
|
-
this.id = id;
|
|
11534
|
-
}
|
|
11535
|
-
}
|
|
11536
|
-
class OperationError extends Error {
|
|
11537
|
-
constructor(status, operation, message, cause) {
|
|
11538
|
-
super(message, { cause: cause ?? operation });
|
|
11539
|
-
__publicField(this, "status");
|
|
11540
|
-
__publicField(this, "operation");
|
|
11541
|
-
this.status = status;
|
|
11542
|
-
this.operation = operation;
|
|
11543
|
-
}
|
|
11544
|
-
}
|
|
11545
|
-
class ConflictOperationError extends OperationError {
|
|
11546
|
-
constructor(existingOperation, newOperation) {
|
|
11547
|
-
super("CONFLICT", newOperation, `Conflicting operation on index ${newOperation.index}`, { existingOperation, newOperation });
|
|
11548
|
-
}
|
|
11549
|
-
}
|
|
11550
|
-
class DocumentAlreadyExistsError extends Error {
|
|
11551
|
-
constructor(documentId) {
|
|
11552
|
-
super(`Document with id ${documentId} already exists`);
|
|
11553
|
-
__publicField(this, "documentId");
|
|
11554
|
-
this.documentId = documentId;
|
|
11555
|
-
}
|
|
11556
|
-
}
|
|
11557
|
-
class DocumentNotFoundError extends Error {
|
|
11558
|
-
constructor(documentId) {
|
|
11559
|
-
super(`Document with id ${documentId} not found`);
|
|
11560
|
-
__publicField(this, "documentId");
|
|
11561
|
-
this.documentId = documentId;
|
|
11562
|
-
}
|
|
11563
|
-
}
|
|
11564
|
-
class SynchronizationUnitNotFoundError extends Error {
|
|
11565
|
-
constructor(message, syncUnitId) {
|
|
11566
|
-
super(message);
|
|
11567
|
-
__publicField(this, "syncUnitId");
|
|
11568
|
-
this.syncUnitId = syncUnitId;
|
|
11569
|
-
}
|
|
11570
|
-
}
|
|
11571
11769
|
var RunAsap;
|
|
11572
11770
|
(function(RunAsap2) {
|
|
11573
11771
|
RunAsap2.useMessageChannel = (() => {
|
|
@@ -11707,9 +11905,6 @@ function mergeOperations(currentOperations, newOperations) {
|
|
|
11707
11905
|
return { ...acc, [curr.scope]: [...existingOperations, curr] };
|
|
11708
11906
|
}, currentOperations);
|
|
11709
11907
|
}
|
|
11710
|
-
function generateUUID() {
|
|
11711
|
-
return generateId();
|
|
11712
|
-
}
|
|
11713
11908
|
function isBefore(dateA, dateB) {
|
|
11714
11909
|
return new Date(dateA) < new Date(dateB);
|
|
11715
11910
|
}
|
|
@@ -11810,7 +12005,7 @@ class BaseQueueManager {
|
|
|
11810
12005
|
if (!this.delegate) {
|
|
11811
12006
|
throw new Error("No server delegate defined");
|
|
11812
12007
|
}
|
|
11813
|
-
const jobId =
|
|
12008
|
+
const jobId = generateId();
|
|
11814
12009
|
const queue = this.getQueue(job.driveId, job.documentId);
|
|
11815
12010
|
if (await queue.isDeleted()) {
|
|
11816
12011
|
throw new Error("Queue is deleted");
|
|
@@ -22149,14 +22344,18 @@ async function fetchDocument(url, documentId, documentModelModule) {
|
|
|
22149
22344
|
local: []
|
|
22150
22345
|
},
|
|
22151
22346
|
attachments: {},
|
|
22152
|
-
initialState:
|
|
22153
|
-
|
|
22154
|
-
|
|
22155
|
-
|
|
22156
|
-
|
|
22157
|
-
|
|
22158
|
-
|
|
22159
|
-
|
|
22347
|
+
initialState: {
|
|
22348
|
+
...utils.createExtendedState({
|
|
22349
|
+
// TODO: getDocument should return all the initial state fields
|
|
22350
|
+
created: result.document.created,
|
|
22351
|
+
lastModified: result.document.created,
|
|
22352
|
+
state: utils.createState({
|
|
22353
|
+
global: result.document.initialState.state.global
|
|
22354
|
+
})
|
|
22355
|
+
}),
|
|
22356
|
+
id: result.document.id,
|
|
22357
|
+
slug: result.document.slug
|
|
22358
|
+
},
|
|
22160
22359
|
clipboard: []
|
|
22161
22360
|
} : null;
|
|
22162
22361
|
return {
|
|
@@ -22211,7 +22410,13 @@ class ReadModeService {
|
|
|
22211
22410
|
return document;
|
|
22212
22411
|
}
|
|
22213
22412
|
async addReadDrive(url, options) {
|
|
22214
|
-
|
|
22413
|
+
let id;
|
|
22414
|
+
if (options == null ? void 0 : options.expectedDriveInfo) {
|
|
22415
|
+
id = options.expectedDriveInfo.id;
|
|
22416
|
+
} else {
|
|
22417
|
+
const drive = await requestPublicDrive(url);
|
|
22418
|
+
id = drive.id;
|
|
22419
|
+
}
|
|
22215
22420
|
const result = await __privateMethod(this, _ReadModeService_instances, fetchDrive_fn).call(this, id, url);
|
|
22216
22421
|
if (result instanceof Error) {
|
|
22217
22422
|
throw result;
|
|
@@ -22234,7 +22439,7 @@ class ReadModeService {
|
|
|
22234
22439
|
return Promise.resolve(result ? { ...result.drive, readContext: result.context } : new ReadDriveNotFoundError(id));
|
|
22235
22440
|
}
|
|
22236
22441
|
async getReadDriveBySlug(slug) {
|
|
22237
|
-
const readDrive = [...__privateGet(this, _drives).values()].find(({ drive }) => drive.
|
|
22442
|
+
const readDrive = [...__privateGet(this, _drives).values()].find(({ drive }) => drive.slug === slug);
|
|
22238
22443
|
return Promise.resolve(readDrive ? { ...readDrive.drive, readContext: readDrive.context } : new ReadDriveSlugNotFoundError(slug));
|
|
22239
22444
|
}
|
|
22240
22445
|
getReadDriveContext(id) {
|
|
@@ -22373,8 +22578,8 @@ class DefaultDrivesManager {
|
|
|
22373
22578
|
}
|
|
22374
22579
|
async preserveDrivesById(driveIdsToPreserve, drives, removeStrategy = "detach") {
|
|
22375
22580
|
const getAllDrives = drives.map((driveId) => this.server.getDrive(driveId));
|
|
22376
|
-
const drivesToRemove = (await Promise.all(getAllDrives)).filter((drive) => drive.state.local.listeners.length > 0 || drive.state.local.triggers.length > 0).filter((drive) => !driveIdsToPreserve.includes(drive.
|
|
22377
|
-
const driveIds = drivesToRemove.map((drive) => drive.
|
|
22581
|
+
const drivesToRemove = (await Promise.all(getAllDrives)).filter((drive) => drive.state.local.listeners.length > 0 || drive.state.local.triggers.length > 0).filter((drive) => !driveIdsToPreserve.includes(drive.id));
|
|
22582
|
+
const driveIds = drivesToRemove.map((drive) => drive.id);
|
|
22378
22583
|
if (removeStrategy === "detach") {
|
|
22379
22584
|
await this.detachDrivesById(driveIds);
|
|
22380
22585
|
} else {
|
|
@@ -22422,7 +22627,7 @@ class DefaultDrivesManager {
|
|
|
22422
22627
|
case "remove-all": {
|
|
22423
22628
|
const getDrives = driveids.map((driveId) => this.server.getDrive(driveId));
|
|
22424
22629
|
const drives = await Promise.all(getDrives);
|
|
22425
|
-
const drivesToRemove = drives.filter((drive) => drive.state.local.listeners.length > 0 || drive.state.local.triggers.length > 0).map((drive) => drive.
|
|
22630
|
+
const drivesToRemove = drives.filter((drive) => drive.state.local.listeners.length > 0 || drive.state.local.triggers.length > 0).map((drive) => drive.id);
|
|
22426
22631
|
await this.removeDrivesById(drivesToRemove);
|
|
22427
22632
|
break;
|
|
22428
22633
|
}
|
|
@@ -22699,7 +22904,7 @@ class PullResponderTransmitter {
|
|
|
22699
22904
|
static async executePull(driveId, trigger, onStrandUpdate, onError, onRevisions, onAcknowledge) {
|
|
22700
22905
|
var _a2, _b;
|
|
22701
22906
|
staticLogger().verbose(`executePull(driveId: ${driveId}), trigger:`, trigger);
|
|
22702
|
-
staticLogger().
|
|
22907
|
+
staticLogger().debug(`[SYNC DEBUG] PullResponderTransmitter.executePull starting for drive: ${driveId}, listenerId: ${trigger.data.listenerId}`);
|
|
22703
22908
|
const { url } = trigger.data;
|
|
22704
22909
|
let strands;
|
|
22705
22910
|
let error;
|
|
@@ -22863,7 +23068,7 @@ class PullResponderTransmitter {
|
|
|
22863
23068
|
};
|
|
22864
23069
|
const listenerId = await PullResponderTransmitter.registerPullResponder(driveId, url, filter);
|
|
22865
23070
|
const pullTrigger = {
|
|
22866
|
-
id:
|
|
23071
|
+
id: generateId(),
|
|
22867
23072
|
type: "PullResponder",
|
|
22868
23073
|
driveId,
|
|
22869
23074
|
filter,
|
|
@@ -23296,7 +23501,7 @@ class BaseDocumentDriveServer {
|
|
|
23296
23501
|
async _initializeDrive(driveId) {
|
|
23297
23502
|
var _a2, _b, _c;
|
|
23298
23503
|
const drive = await this.getDrive(driveId);
|
|
23299
|
-
this.logger.verbose(`[SYNC DEBUG] Initializing drive ${driveId} with slug "${drive.
|
|
23504
|
+
this.logger.verbose(`[SYNC DEBUG] Initializing drive ${driveId} with slug "${drive.slug}"`);
|
|
23300
23505
|
await this.synchronizationManager.initializeDriveSyncStatus(driveId, drive);
|
|
23301
23506
|
if (this.shouldSyncRemoteDrive(drive)) {
|
|
23302
23507
|
this.logger.verbose(`[SYNC DEBUG] Starting sync for remote drive ${driveId}`);
|
|
@@ -23310,7 +23515,7 @@ class BaseDocumentDriveServer {
|
|
|
23310
23515
|
this.logger.verbose(`[SYNC DEBUG] Created SwitchboardPush transmitter with URL: ${zodListener.callInfo.data || "none"}`);
|
|
23311
23516
|
await this.listenerManager.setListener(driveId, {
|
|
23312
23517
|
block: zodListener.block,
|
|
23313
|
-
driveId: drive.
|
|
23518
|
+
driveId: drive.id,
|
|
23314
23519
|
filter: {
|
|
23315
23520
|
branch: zodListener.filter.branch ?? [],
|
|
23316
23521
|
documentId: zodListener.filter.documentId ?? [],
|
|
@@ -23372,25 +23577,24 @@ class BaseDocumentDriveServer {
|
|
|
23372
23577
|
return [...this.documentModelModules];
|
|
23373
23578
|
}
|
|
23374
23579
|
async addDrive(input, preferredEditor) {
|
|
23375
|
-
const id = input.global.id || generateUUID();
|
|
23376
|
-
if (!id) {
|
|
23377
|
-
throw new Error("Invalid Drive Id");
|
|
23378
|
-
}
|
|
23379
|
-
const drives = await this.legacyStorage.getDrives();
|
|
23380
|
-
if (drives.includes(id)) {
|
|
23381
|
-
throw new DocumentAlreadyExistsError(id);
|
|
23382
|
-
}
|
|
23383
23580
|
const document = createDocument({
|
|
23384
23581
|
state: input
|
|
23385
23582
|
});
|
|
23583
|
+
if (input.id && input.id.length > 0) {
|
|
23584
|
+
document.id = document.initialState.id = input.id;
|
|
23585
|
+
document.slug = document.initialState.slug = input.id;
|
|
23586
|
+
}
|
|
23587
|
+
if (input.slug && input.slug.length > 0) {
|
|
23588
|
+
document.slug = document.initialState.slug = input.slug;
|
|
23589
|
+
}
|
|
23386
23590
|
document.meta = {
|
|
23387
23591
|
preferredEditor
|
|
23388
23592
|
};
|
|
23389
|
-
await this.
|
|
23390
|
-
if (input.
|
|
23391
|
-
await this.cache.deleteDriveBySlug(input.
|
|
23593
|
+
await this.documentStorage.create(document);
|
|
23594
|
+
if (input.slug && input.slug.length > 0) {
|
|
23595
|
+
await this.cache.deleteDriveBySlug(input.slug);
|
|
23392
23596
|
}
|
|
23393
|
-
await this._initializeDrive(id);
|
|
23597
|
+
await this._initializeDrive(document.id);
|
|
23394
23598
|
this.eventEmitter.emit("driveAdded", document);
|
|
23395
23599
|
return document;
|
|
23396
23600
|
}
|
|
@@ -23402,10 +23606,10 @@ class BaseDocumentDriveServer {
|
|
|
23402
23606
|
pullInterval
|
|
23403
23607
|
});
|
|
23404
23608
|
return await this.addDrive({
|
|
23609
|
+
id,
|
|
23610
|
+
slug,
|
|
23405
23611
|
global: {
|
|
23406
|
-
id,
|
|
23407
23612
|
name: name2,
|
|
23408
|
-
slug,
|
|
23409
23613
|
icon: icon ?? null
|
|
23410
23614
|
},
|
|
23411
23615
|
local: {
|
|
@@ -23421,7 +23625,7 @@ class BaseDocumentDriveServer {
|
|
|
23421
23625
|
this.stopSyncRemoteDrive(driveId),
|
|
23422
23626
|
this.listenerManager.removeDrive(driveId),
|
|
23423
23627
|
this.cache.deleteDrive(driveId),
|
|
23424
|
-
this.
|
|
23628
|
+
this.documentStorage.delete(driveId)
|
|
23425
23629
|
]);
|
|
23426
23630
|
this.eventEmitter.emit("driveDeleted", driveId);
|
|
23427
23631
|
result.forEach((r) => {
|
|
@@ -23430,8 +23634,16 @@ class BaseDocumentDriveServer {
|
|
|
23430
23634
|
}
|
|
23431
23635
|
});
|
|
23432
23636
|
}
|
|
23433
|
-
|
|
23434
|
-
|
|
23637
|
+
// TODO: paginate
|
|
23638
|
+
async getDrives() {
|
|
23639
|
+
const drives = [];
|
|
23640
|
+
let cursor;
|
|
23641
|
+
do {
|
|
23642
|
+
const { documents, nextCursor } = await this.documentStorage.findByType("powerhouse/document-drive", 100, cursor);
|
|
23643
|
+
drives.push(...documents);
|
|
23644
|
+
cursor = nextCursor;
|
|
23645
|
+
} while (cursor);
|
|
23646
|
+
return drives;
|
|
23435
23647
|
}
|
|
23436
23648
|
async getDrive(driveId, options) {
|
|
23437
23649
|
let document;
|
|
@@ -23505,8 +23717,13 @@ class BaseDocumentDriveServer {
|
|
|
23505
23717
|
state = doc.state;
|
|
23506
23718
|
}
|
|
23507
23719
|
const document = input.document ?? this.getDocumentModelModule(input.documentType).utils.createDocument();
|
|
23720
|
+
if (input.id && input.id.length > 0) {
|
|
23721
|
+
document.id = input.id;
|
|
23722
|
+
}
|
|
23508
23723
|
const documentStorage = {
|
|
23724
|
+
id: document.id,
|
|
23509
23725
|
name: document.name,
|
|
23726
|
+
slug: document.slug,
|
|
23510
23727
|
revision: document.revision,
|
|
23511
23728
|
documentType: document.documentType,
|
|
23512
23729
|
created: document.created,
|
|
@@ -23516,7 +23733,7 @@ class BaseDocumentDriveServer {
|
|
|
23516
23733
|
clipboard: [],
|
|
23517
23734
|
state: state ?? document.state
|
|
23518
23735
|
};
|
|
23519
|
-
await this.documentStorage.create(
|
|
23736
|
+
await this.documentStorage.create(documentStorage);
|
|
23520
23737
|
try {
|
|
23521
23738
|
await this.documentStorage.addChild(driveId, input.id);
|
|
23522
23739
|
} catch (e) {
|
|
@@ -23655,12 +23872,18 @@ class BaseDocumentDriveServer {
|
|
|
23655
23872
|
handler = () => this.deleteDocument(driveId, signal.input.id);
|
|
23656
23873
|
break;
|
|
23657
23874
|
case "COPY_CHILD_DOCUMENT":
|
|
23658
|
-
handler = () => this.getDocument(driveId, signal.input.id).then((documentToCopy) =>
|
|
23659
|
-
|
|
23660
|
-
|
|
23661
|
-
|
|
23662
|
-
|
|
23663
|
-
|
|
23875
|
+
handler = () => this.getDocument(driveId, signal.input.id).then((documentToCopy) => {
|
|
23876
|
+
const doc = {
|
|
23877
|
+
...documentToCopy,
|
|
23878
|
+
slug: signal.input.newId
|
|
23879
|
+
};
|
|
23880
|
+
return this.createDocument(driveId, {
|
|
23881
|
+
id: signal.input.newId,
|
|
23882
|
+
documentType: documentToCopy.documentType,
|
|
23883
|
+
document: doc,
|
|
23884
|
+
synchronizationUnits: signal.input.synchronizationUnits
|
|
23885
|
+
});
|
|
23886
|
+
});
|
|
23664
23887
|
break;
|
|
23665
23888
|
}
|
|
23666
23889
|
if (handler) {
|
|
@@ -23917,13 +24140,6 @@ class BaseDocumentDriveServer {
|
|
|
23917
24140
|
addDriveOperation(driveId, operation, options) {
|
|
23918
24141
|
return this.addDriveOperations(driveId, [operation], options);
|
|
23919
24142
|
}
|
|
23920
|
-
async clearStorage() {
|
|
23921
|
-
var _a2, _b;
|
|
23922
|
-
for (const drive of await this.getDrives()) {
|
|
23923
|
-
await this.deleteDrive(drive);
|
|
23924
|
-
}
|
|
23925
|
-
await ((_b = (_a2 = this.legacyStorage).clearStorage) == null ? void 0 : _b.call(_a2));
|
|
23926
|
-
}
|
|
23927
24143
|
async _addDriveOperations(driveId, callback) {
|
|
23928
24144
|
if (!this.legacyStorage.addDriveOperationsWithTransaction) {
|
|
23929
24145
|
const documentStorage = await this.documentStorage.get(driveId);
|
|
@@ -24198,17 +24414,32 @@ class MemoryStorage {
|
|
|
24198
24414
|
exists(documentId) {
|
|
24199
24415
|
return Promise.resolve(!!this.documents[documentId]);
|
|
24200
24416
|
}
|
|
24201
|
-
|
|
24202
|
-
|
|
24203
|
-
|
|
24417
|
+
create(document) {
|
|
24418
|
+
const documentId = document.id;
|
|
24419
|
+
if (!isValidDocumentId(documentId)) {
|
|
24420
|
+
throw new DocumentIdValidationError(documentId);
|
|
24421
|
+
}
|
|
24422
|
+
if (this.documents[documentId]) {
|
|
24423
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
24424
|
+
}
|
|
24425
|
+
const slug = document.slug.length > 0 ? document.slug : documentId;
|
|
24426
|
+
if (!isValidSlug(slug)) {
|
|
24427
|
+
throw new DocumentSlugValidationError(slug);
|
|
24428
|
+
}
|
|
24429
|
+
if (slug && this.slugToDocumentId[slug]) {
|
|
24430
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
24431
|
+
}
|
|
24432
|
+
document.slug = slug;
|
|
24204
24433
|
this.documents[documentId] = document;
|
|
24205
|
-
const slug = (_a2 = document.initialState.state.global) == null ? void 0 : _a2.slug;
|
|
24206
24434
|
if (slug) {
|
|
24207
24435
|
if (this.slugToDocumentId[slug]) {
|
|
24208
|
-
throw new
|
|
24436
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
24209
24437
|
}
|
|
24210
24438
|
this.slugToDocumentId[slug] = documentId;
|
|
24211
24439
|
}
|
|
24440
|
+
if (document.documentType === "powerhouse/document-drive") {
|
|
24441
|
+
this.updateDriveManifest(documentId, { documentIds: /* @__PURE__ */ new Set() });
|
|
24442
|
+
}
|
|
24212
24443
|
return Promise.resolve();
|
|
24213
24444
|
}
|
|
24214
24445
|
get(documentId) {
|
|
@@ -24225,20 +24456,56 @@ class MemoryStorage {
|
|
|
24225
24456
|
}
|
|
24226
24457
|
return this.get(documentId);
|
|
24227
24458
|
}
|
|
24459
|
+
async findByType(documentModelType, limit = 100, cursor) {
|
|
24460
|
+
const documentsAndIds = Object.entries(this.documents).filter(([_, doc]) => doc.documentType === documentModelType).map(([id, doc]) => ({
|
|
24461
|
+
id,
|
|
24462
|
+
document: doc
|
|
24463
|
+
}));
|
|
24464
|
+
documentsAndIds.sort((a, b) => {
|
|
24465
|
+
const aDate = new Date(a.document.created);
|
|
24466
|
+
const bDate = new Date(b.document.created);
|
|
24467
|
+
if (aDate.getTime() === bDate.getTime()) {
|
|
24468
|
+
const aId = a.id;
|
|
24469
|
+
const bId = b.id;
|
|
24470
|
+
return aId.localeCompare(bId);
|
|
24471
|
+
}
|
|
24472
|
+
return aDate.getTime() - bDate.getTime();
|
|
24473
|
+
});
|
|
24474
|
+
let startIndex = 0;
|
|
24475
|
+
if (cursor) {
|
|
24476
|
+
const index = documentsAndIds.findIndex(({ id }) => id === cursor);
|
|
24477
|
+
if (index !== -1) {
|
|
24478
|
+
startIndex = index;
|
|
24479
|
+
}
|
|
24480
|
+
}
|
|
24481
|
+
const endIndex = Math.min(startIndex + limit, documentsAndIds.length);
|
|
24482
|
+
let nextCursor;
|
|
24483
|
+
if (endIndex < documentsAndIds.length) {
|
|
24484
|
+
nextCursor = documentsAndIds[endIndex].id;
|
|
24485
|
+
}
|
|
24486
|
+
return {
|
|
24487
|
+
documents: documentsAndIds.slice(startIndex, endIndex).map(({ id }) => id),
|
|
24488
|
+
nextCursor
|
|
24489
|
+
};
|
|
24490
|
+
}
|
|
24228
24491
|
async delete(documentId) {
|
|
24229
|
-
var _a2;
|
|
24230
24492
|
const document = this.documents[documentId];
|
|
24231
24493
|
if (document) {
|
|
24232
|
-
const slug =
|
|
24494
|
+
const slug = document.slug.length > 0 ? document.slug : documentId;
|
|
24233
24495
|
if (slug && this.slugToDocumentId[slug] === documentId) {
|
|
24234
24496
|
delete this.slugToDocumentId[slug];
|
|
24235
24497
|
}
|
|
24236
24498
|
}
|
|
24237
|
-
const
|
|
24238
|
-
for (const
|
|
24239
|
-
|
|
24240
|
-
|
|
24241
|
-
|
|
24499
|
+
const parents = await this.getParents(documentId);
|
|
24500
|
+
for (const parent of parents) {
|
|
24501
|
+
await this.removeChild(parent, documentId);
|
|
24502
|
+
}
|
|
24503
|
+
const children = await this.getChildren(documentId);
|
|
24504
|
+
for (const child of children) {
|
|
24505
|
+
const childParents = await this.getParents(child);
|
|
24506
|
+
if (childParents.length === 1) {
|
|
24507
|
+
await this.delete(child);
|
|
24508
|
+
}
|
|
24242
24509
|
}
|
|
24243
24510
|
delete this.driveManifests[documentId];
|
|
24244
24511
|
if (this.documents[documentId]) {
|
|
@@ -24272,14 +24539,26 @@ class MemoryStorage {
|
|
|
24272
24539
|
const manifest = this.getManifest(parentId);
|
|
24273
24540
|
return [...manifest.documentIds];
|
|
24274
24541
|
}
|
|
24542
|
+
async getParents(childId) {
|
|
24543
|
+
const parents = [];
|
|
24544
|
+
for (const [driveId, manifest] of Object.entries(this.driveManifests)) {
|
|
24545
|
+
if (manifest.documentIds.has(childId)) {
|
|
24546
|
+
parents.push(driveId);
|
|
24547
|
+
}
|
|
24548
|
+
}
|
|
24549
|
+
return parents;
|
|
24550
|
+
}
|
|
24275
24551
|
////////////////////////////////
|
|
24276
|
-
//
|
|
24552
|
+
// IDocumentAdminStorage
|
|
24277
24553
|
////////////////////////////////
|
|
24278
|
-
async
|
|
24554
|
+
async clear() {
|
|
24279
24555
|
this.documents = {};
|
|
24280
24556
|
this.driveManifests = {};
|
|
24281
24557
|
this.slugToDocumentId = {};
|
|
24282
24558
|
}
|
|
24559
|
+
////////////////////////////////
|
|
24560
|
+
// IDriveStorage
|
|
24561
|
+
////////////////////////////////
|
|
24283
24562
|
async addDocumentOperations(drive, id, operations, header) {
|
|
24284
24563
|
const document = await this.get(id);
|
|
24285
24564
|
if (!document) {
|
|
@@ -24292,13 +24571,6 @@ class MemoryStorage {
|
|
|
24292
24571
|
operations: mergedOperations
|
|
24293
24572
|
};
|
|
24294
24573
|
}
|
|
24295
|
-
async getDrives() {
|
|
24296
|
-
return Object.keys(this.driveManifests);
|
|
24297
|
-
}
|
|
24298
|
-
async createDrive(id, drive) {
|
|
24299
|
-
await this.create(id, drive);
|
|
24300
|
-
this.updateDriveManifest(id, { documentIds: /* @__PURE__ */ new Set() });
|
|
24301
|
-
}
|
|
24302
24574
|
async addDriveOperations(id, operations, header) {
|
|
24303
24575
|
const drive = await this.get(id);
|
|
24304
24576
|
const mergedOperations = mergeOperations(drive.operations, operations);
|
|
@@ -24308,32 +24580,6 @@ class MemoryStorage {
|
|
|
24308
24580
|
operations: mergedOperations
|
|
24309
24581
|
};
|
|
24310
24582
|
}
|
|
24311
|
-
async deleteDrive(id) {
|
|
24312
|
-
const manifest = this.getManifest(id);
|
|
24313
|
-
const drives = await this.getDrives();
|
|
24314
|
-
await Promise.all([...manifest.documentIds].map((docId) => {
|
|
24315
|
-
var _a2;
|
|
24316
|
-
for (const driveId of drives) {
|
|
24317
|
-
if (driveId === id) {
|
|
24318
|
-
continue;
|
|
24319
|
-
}
|
|
24320
|
-
const manifest2 = this.getManifest(driveId);
|
|
24321
|
-
if (manifest2.documentIds.has(docId)) {
|
|
24322
|
-
return;
|
|
24323
|
-
}
|
|
24324
|
-
}
|
|
24325
|
-
const document = this.documents[docId];
|
|
24326
|
-
if (document) {
|
|
24327
|
-
const slug = (_a2 = document.initialState.state.global) == null ? void 0 : _a2.slug;
|
|
24328
|
-
if (slug && this.slugToDocumentId[slug] === docId) {
|
|
24329
|
-
delete this.slugToDocumentId[slug];
|
|
24330
|
-
}
|
|
24331
|
-
}
|
|
24332
|
-
delete this.documents[docId];
|
|
24333
|
-
}));
|
|
24334
|
-
delete this.driveManifests[id];
|
|
24335
|
-
delete this.documents[id];
|
|
24336
|
-
}
|
|
24337
24583
|
async getSynchronizationUnitsRevision(units) {
|
|
24338
24584
|
const results = await Promise.allSettled(units.map(async (unit) => {
|
|
24339
24585
|
try {
|
|
@@ -25536,6 +25782,9 @@ function Syncing(props) {
|
|
|
25536
25782
|
function Tabler(props) {
|
|
25537
25783
|
return jsxs("svg", { ...props, width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { d: "M4.5 9V7.5C4.5 6.30653 4.97411 5.16193 5.81802 4.31802C6.66193 3.47411 7.80653 3 9 3C10.1935 3 11.3381 3.47411 12.182 4.31802C13.0259 5.16193 13.5 6.30653 13.5 7.5V9M3 13.5C3 13.8978 3.15804 14.2794 3.43934 14.5607C3.72064 14.842 4.10218 15 4.5 15C4.89782 15 5.27936 14.842 5.56066 14.5607C5.84196 14.2794 6 13.8978 6 13.5C6 13.1022 5.84196 12.7206 5.56066 12.4393C5.27936 12.158 4.89782 12 4.5 12C4.10218 12 3.72064 12.158 3.43934 12.4393C3.15804 12.7206 3 13.1022 3 13.5ZM12 13.5C12 13.8978 12.158 14.2794 12.4393 14.5607C12.7206 14.842 13.1022 15 13.5 15C13.8978 15 14.2794 14.842 14.5607 14.5607C14.842 14.2794 15 13.8978 15 13.5C15 13.1022 14.842 12.7206 14.5607 12.4393C14.2794 12.158 13.8978 12 13.5 12C13.1022 12 12.7206 12.158 12.4393 12.4393C12.158 12.7206 12 13.1022 12 13.5Z", stroke: "currentcolor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M11.25 6.75L13.5 9L15.75 6.75", stroke: "currentcolor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] });
|
|
25538
25784
|
}
|
|
25785
|
+
function TimelineCaret(props) {
|
|
25786
|
+
return jsx("svg", { ...props, width: "10", height: "7", viewBox: "0 0 10 7", fill: "currentcolor", children: jsx("path", { d: "M0.539174 0.830403L0.539396 0.830693L4.81717 6.41675L0.539174 0.830403ZM0.539174 0.830403C0.492941 0.770121 0.486776 0.69618 0.524599 0.622069C0.562768 0.547277 0.632849 0.5 0.721373 0.5L9.27711 0.5C9.36895 0.5 9.44336 0.552912 9.47789 0.620069C9.51177 0.686686 9.50789 0.767089 9.45938 0.830307L9.45889 0.83095M0.539174 0.830403L9.45889 0.83095M9.45889 0.83095C9.05222 1.36269 7.09357 3.91999 5.94678 5.41729C5.588 5.88573 5.30868 6.25042 5.18122 6.41687M9.45889 0.83095L5.18122 6.41687M5.18122 6.41687C5.1428 6.46691 5.07824 6.5 4.99924 6.5M5.18122 6.41687L4.99924 6.5M4.99924 6.5C4.92023 6.5 4.85567 6.46691 4.81726 6.41687L4.99924 6.5Z", fill: "currentcolor", stroke: "currentcolor" }) });
|
|
25787
|
+
}
|
|
25539
25788
|
function Timeline(props) {
|
|
25540
25789
|
return jsxs("svg", { ...props, width: "16", height: "16", viewBox: "0 0 16 16", fill: "currentcolor", children: [jsx("rect", { width: "16", height: "16", fill: "url(#pattern0_1256_1508)" }), jsxs("defs", { children: [jsx("pattern", { id: "pattern0_1256_1508", patternContentUnits: "objectBoundingBox", width: "1", height: "1", children: jsx("use", { href: "#image0_1256_1508", transform: "scale(0.00195312)" }) }), jsx("image", { id: "image0_1256_1508", width: "512", height: "512", preserveAspectRatio: "none", href: "data:image/png;base64,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" })] })] });
|
|
25541
25790
|
}
|
|
@@ -25676,6 +25925,7 @@ const iconComponents = {
|
|
|
25676
25925
|
Synced,
|
|
25677
25926
|
Syncing,
|
|
25678
25927
|
Tabler,
|
|
25928
|
+
TimelineCaret,
|
|
25679
25929
|
Timeline,
|
|
25680
25930
|
TrashFill,
|
|
25681
25931
|
Trash,
|
|
@@ -25738,7 +25988,12 @@ const ADD_TRIGGER = "ADD_TRIGGER";
|
|
|
25738
25988
|
const ADD_INVALID_TRIGGER = "ADD_INVALID_TRIGGER";
|
|
25739
25989
|
const defaultDriveOptions = [NEW_FOLDER, RENAME, SETTINGS];
|
|
25740
25990
|
const defaultFileOptions = [RENAME, DELETE, DUPLICATE];
|
|
25741
|
-
const defaultFolderOptions = [
|
|
25991
|
+
const defaultFolderOptions = [
|
|
25992
|
+
NEW_FOLDER,
|
|
25993
|
+
RENAME,
|
|
25994
|
+
DELETE,
|
|
25995
|
+
DUPLICATE
|
|
25996
|
+
];
|
|
25742
25997
|
const debugNodeOptions = [
|
|
25743
25998
|
ADD_TRIGGER,
|
|
25744
25999
|
REMOVE_TRIGGER,
|
|
@@ -25818,20 +26073,22 @@ const nodeOptionsMap = {
|
|
|
25818
26073
|
};
|
|
25819
26074
|
const name = "@powerhousedao/connect";
|
|
25820
26075
|
const productName = "Powerhouse-Connect";
|
|
25821
|
-
const version$1 = "1.0.
|
|
26076
|
+
const version$1 = "1.0.23-dev.1";
|
|
25822
26077
|
const description = "Powerhouse Connect";
|
|
25823
26078
|
const main = "./dist/index.html";
|
|
25824
26079
|
const type = "module";
|
|
25825
26080
|
const engines = { "node": ">=20.0.0" };
|
|
26081
|
+
const bin = { "connect": "serve ./dist" };
|
|
25826
26082
|
const files$1 = ["dist", "nginx.conf", "nginx.sh", "scripts"];
|
|
25827
26083
|
const license = "AGPL-3.0-only";
|
|
25828
26084
|
const author = "acaldas@powerhouse.inc";
|
|
25829
26085
|
const repository = { "type": "git", "url": "git+https://github.com/powerhouse-inc/document-model-electron.git" };
|
|
25830
26086
|
const bugs = { "url": "https://github.com/powerhouse-inc/document-model-electron/issues" };
|
|
25831
26087
|
const homepage = "https://github.com/powerhouse-inc/document-model-electron#readme";
|
|
25832
|
-
const scripts = { "build:tsc": "tsc --build", "start": "electron-forge start", "package": "electron-forge package", "make": "PH_CONNECT_BASE_HREF=./ electron-forge make", "make:mac": "PH_CONNECT_BASE_HREF=./ electron-forge make -p darwin", "make:linux": "PH_CONNECT_BASE_HREF=./ electron-forge make -p linux", "make:windows": "PH_CONNECT_BASE_HREF=./ electron-forge make -p win32", "publish:electron": "electron-forge publish", "prepublishOnly": "npm run build", "lint": "eslint .", "lint:fix": "eslint --fix .", "lint:nx": "eslint --quiet --fix .", "format": 'prettier --write "**/*.+(js|ts|jsx|tsx|json)"', "dev": "vite -c vite.renderer.config.mts", "dev:nocache": "rm -rf node_modules/.vite && rm -rf node_modules/.cache && npm run dev", "prebuild": "tsc --build --noEmit", "build": "NODE_OPTIONS=--max-old-space-size=6144 vite build -c vite.renderer.config.mts", "preview:web": "vite preview -c vite.renderer.config.mts", "e2e": "playwright test", "cy:open": "cypress open", "build:service-worker": "tsc --build ./tsconfig.sw.json", "clean": "rimraf dist", "clean:node_modules": "rimraf node_modules" };
|
|
25833
|
-
const devDependencies = { "@electron-forge/cli": "^6.1.1", "@electron-forge/maker-deb": "^6.1.1", "@electron-forge/maker-rpm": "^6.1.1", "@electron-forge/maker-squirrel": "^6.1.1", "@electron-forge/maker-zip": "^6.1.1", "@electron-forge/plugin-vite": "^6.1.1", "@electron-forge/publisher-electron-release-server": "^6.2.1", "@electron-forge/publisher-github": "^7.2.0", "@electron-forge/shared-types": "^7.7.0", "@playwright/test": "^1.41.2", "@powerhousedao/builder-tools": "workspace:*", "@powerhousedao/common": "workspace:*", "@powerhousedao/config": "workspace:*", "@powerhousedao/design-system": "workspace:*", "@powerhousedao/reactor-browser": "workspace:*", "@powerhousedao/scalars": "workspace:*", "@rollup/plugin-node-resolve": "^15.2.3", "@sentry/browser": "^9.1.0", "@sentry/react": "^7.109.0", "@sentry/vite-plugin": "^2.22.2", "@tailwindcss/vite": "^4.0.9", "@tanstack/react-virtual": "^3.8.1", "@types/node": "^22.13.10", "@types/react": "^18.2.79", "@types/react-dom": "^18.2.18", "@types/uuid": "^9.0.7", "@types/wicg-file-system-access": "^2020.9.6", "@vitejs/plugin-basic-ssl": "^1.2.0", "@vitejs/plugin-react": "^4.2.1", "asar": "^3.2.0", "did-key-creator": "^1.2.0", "document-drive": "workspace:*", "document-model": "workspace:*", "electron": "30.0.0", "electron-is-dev": "^3.0.1", "electron-playwright-helpers": "^1.7.1", "electron-squirrel-startup": "^1.0.0", "electron-store": "^8.1.0", "esbuild": "^0.24.0", "graphql": "^16.8.1", "graphql-request": "^6.1.0", "i18next": "^23.7.6", "jotai": "^2.1.0", "jotai-effect": "^1.1.6", "localforage": "^1.10.0", "lz-string": "^1.5.0", "playwright": "^1.41.2", "playwright-core": "^1.41.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-error-boundary": "^4.0.11", "react-hotkeys-hook": "^4.5.0", "react-i18next": "^13.5.0", "react-router-dom": "^6.11.2", "tailwind-merge": "^3.0.2", "tailwindcss": "^4.0.9", "uuid": "^9.0.1", "viem": "^2.8.13", "vite": "^6.2.2", "vite-envs": "^4.4.11", "vite-plugin-html": "^3.2.2", "vite-plugin-node-polyfills": "^0.23.0", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^4.3.2", "xvfb-maybe": "^0.2.1" };
|
|
26088
|
+
const scripts = { "build:tsc": "tsc --build", "start": "electron-forge start", "package": "electron-forge package", "make": "PH_CONNECT_BASE_HREF=./ electron-forge make", "make:mac": "PH_CONNECT_BASE_HREF=./ electron-forge make -p darwin", "make:linux": "PH_CONNECT_BASE_HREF=./ electron-forge make -p linux", "make:windows": "PH_CONNECT_BASE_HREF=./ electron-forge make -p win32", "publish:electron": "electron-forge publish", "prepublishOnly": "npm run build", "lint": "eslint .", "lint:fix": "eslint --fix .", "lint:nx": "eslint --quiet --fix .", "format": 'prettier --write "**/*.+(js|ts|jsx|tsx|json)"', "dev": "vite -c vite.renderer.config.mts", "dev:nocache": "rm -rf node_modules/.vite && rm -rf node_modules/.cache && npm run dev", "prebuild": "npm run clean && tsc --build --noEmit", "build": "NODE_OPTIONS=--max-old-space-size=6144 vite build -c vite.renderer.config.mts", "preview:web": "vite preview -c vite.renderer.config.mts", "e2e": "playwright test", "cy:open": "cypress open", "build:service-worker": "tsc --build ./tsconfig.sw.json", "clean": "rimraf dist", "clean:node_modules": "rimraf node_modules" };
|
|
26089
|
+
const devDependencies = { "@electron-forge/cli": "^6.1.1", "@electron-forge/maker-deb": "^6.1.1", "@electron-forge/maker-rpm": "^6.1.1", "@electron-forge/maker-squirrel": "^6.1.1", "@electron-forge/maker-zip": "^6.1.1", "@electron-forge/plugin-vite": "^6.1.1", "@electron-forge/publisher-electron-release-server": "^6.2.1", "@electron-forge/publisher-github": "^7.2.0", "@electron-forge/shared-types": "^7.7.0", "@playwright/test": "^1.41.2", "@powerhousedao/builder-tools": "workspace:*", "@powerhousedao/common": "workspace:*", "@powerhousedao/config": "workspace:*", "@powerhousedao/design-system": "workspace:*", "@powerhousedao/diff-analyzer": "^0.0.0-dev.4", "@powerhousedao/reactor-browser": "workspace:*", "@powerhousedao/scalars": "workspace:*", "@rollup/plugin-node-resolve": "^15.2.3", "@sentry/browser": "^9.1.0", "@sentry/react": "^7.109.0", "@sentry/vite-plugin": "^2.22.2", "@tailwindcss/vite": "^4.0.9", "@tanstack/react-virtual": "^3.8.1", "@types/node": "^22.13.10", "@types/react": "^18.2.79", "@types/react-dom": "^18.2.18", "@types/uuid": "^9.0.7", "@types/wicg-file-system-access": "^2020.9.6", "@vitejs/plugin-basic-ssl": "^1.2.0", "@vitejs/plugin-react": "^4.2.1", "asar": "^3.2.0", "did-key-creator": "^1.2.0", "document-drive": "workspace:*", "document-model": "workspace:*", "electron": "30.0.0", "electron-is-dev": "^3.0.1", "electron-playwright-helpers": "^1.7.1", "electron-squirrel-startup": "^1.0.0", "electron-store": "^8.1.0", "esbuild": "^0.24.0", "graphql": "^16.8.1", "graphql-request": "^6.1.0", "i18next": "^23.7.6", "jotai": "^2.1.0", "jotai-effect": "^1.1.6", "localforage": "^1.10.0", "lz-string": "^1.5.0", "playwright": "^1.41.2", "playwright-core": "^1.41.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-error-boundary": "^4.0.11", "react-hotkeys-hook": "^4.5.0", "react-i18next": "^13.5.0", "react-router-dom": "^6.11.2", "tailwind-merge": "^3.0.2", "tailwindcss": "^4.0.9", "uuid": "^9.0.1", "viem": "^2.8.13", "vite": "^6.2.2", "vite-envs": "^4.4.11", "vite-plugin-html": "^3.2.2", "vite-plugin-node-polyfills": "^0.23.0", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^4.3.2", "xvfb-maybe": "^0.2.1" };
|
|
25834
26090
|
const optionalDependencies = { "@esbuild/linux-x64": "^0.21.4", "@rollup/rollup-linux-x64-musl": "4.14.3" };
|
|
26091
|
+
const dependencies = { "serve": "^14.2.4" };
|
|
25835
26092
|
const packageJson = {
|
|
25836
26093
|
name,
|
|
25837
26094
|
productName,
|
|
@@ -25840,6 +26097,7 @@ const packageJson = {
|
|
|
25840
26097
|
main,
|
|
25841
26098
|
type,
|
|
25842
26099
|
engines,
|
|
26100
|
+
bin,
|
|
25843
26101
|
files: files$1,
|
|
25844
26102
|
license,
|
|
25845
26103
|
author,
|
|
@@ -25848,7 +26106,8 @@ const packageJson = {
|
|
|
25848
26106
|
homepage,
|
|
25849
26107
|
scripts,
|
|
25850
26108
|
devDependencies,
|
|
25851
|
-
optionalDependencies
|
|
26109
|
+
optionalDependencies,
|
|
26110
|
+
dependencies
|
|
25852
26111
|
};
|
|
25853
26112
|
const version = packageJson.version;
|
|
25854
26113
|
const APP_VERSION = window.__VITE_ENVS.APP_VERSION || version;
|
|
@@ -25871,13 +26130,15 @@ const PH_CONNECT_SENTRY_ENV = window.__VITE_ENVS.PH_CONNECT_SENTRY_ENV || "dev";
|
|
|
25871
26130
|
const PH_CONNECT_SENTRY_TRACING_ENABLED = window.__VITE_ENVS.PH_CONNECT_SENTRY_TRACING_ENABLED || "false";
|
|
25872
26131
|
const GA_TRACKING_ID = window.__VITE_ENVS.PH_CONNECT_GA_TRACKING_ID;
|
|
25873
26132
|
const PH_CONNECT_CLI_VERSION = window.__VITE_ENVS.PH_CONNECT_CLI_VERSION || void 0;
|
|
25874
|
-
|
|
25875
|
-
|
|
26133
|
+
const LOG_LEVEL = isLogLevel(window.__VITE_ENVS.LOG_LEVEL) ? window.__VITE_ENVS.LOG_LEVEL : "info";
|
|
26134
|
+
setLogLevel(LOG_LEVEL);
|
|
26135
|
+
logger$1.debug(`Setting log level to ${window.__VITE_ENVS.LOG_LEVEL}.`);
|
|
25876
26136
|
const connectConfig = {
|
|
25877
26137
|
appVersion: APP_VERSION,
|
|
25878
26138
|
studioMode: PH_CONNECT_STUDIO_MODE.toString() === "true",
|
|
25879
26139
|
warnOutdatedApp: WARN_OUTDATED_APP === "true",
|
|
25880
26140
|
routerBasename: PH_CONNECT_ROUTER_BASENAME,
|
|
26141
|
+
analyticsDatabaseName: `${PH_CONNECT_ROUTER_BASENAME}:analytics`,
|
|
25881
26142
|
sentry: {
|
|
25882
26143
|
dsn: PH_CONNECT_SENTRY_DSN,
|
|
25883
26144
|
env: PH_CONNECT_SENTRY_ENV,
|
|
@@ -25971,6 +26232,7 @@ DriveSections.filter(
|
|
|
25971
26232
|
};
|
|
25972
26233
|
});
|
|
25973
26234
|
var lzString = { exports: {} };
|
|
26235
|
+
lzString.exports;
|
|
25974
26236
|
var hasRequiredLzString;
|
|
25975
26237
|
function requireLzString() {
|
|
25976
26238
|
if (hasRequiredLzString) return lzString.exports;
|
|
@@ -26902,12 +27164,12 @@ function requireLocalforage() {
|
|
|
26902
27164
|
var toString = Object.prototype.toString;
|
|
26903
27165
|
var READ_ONLY = "readonly";
|
|
26904
27166
|
var READ_WRITE = "readwrite";
|
|
26905
|
-
function _binStringToArrayBuffer(
|
|
26906
|
-
var length2 =
|
|
27167
|
+
function _binStringToArrayBuffer(bin2) {
|
|
27168
|
+
var length2 = bin2.length;
|
|
26907
27169
|
var buf = new ArrayBuffer(length2);
|
|
26908
27170
|
var arr = new Uint8Array(buf);
|
|
26909
27171
|
for (var i = 0; i < length2; i++) {
|
|
26910
|
-
arr[i] =
|
|
27172
|
+
arr[i] = bin2.charCodeAt(i);
|
|
26911
27173
|
}
|
|
26912
27174
|
return buf;
|
|
26913
27175
|
}
|
|
@@ -28611,6 +28873,9 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28611
28873
|
name: namespace ? `${namespace}:${_BrowserStorage.DBName}` : _BrowserStorage.DBName
|
|
28612
28874
|
}));
|
|
28613
28875
|
}
|
|
28876
|
+
////////////////////////////////
|
|
28877
|
+
// IDocumentAdminStorage
|
|
28878
|
+
////////////////////////////////
|
|
28614
28879
|
async clear() {
|
|
28615
28880
|
const db = await this.db;
|
|
28616
28881
|
await db.clear();
|
|
@@ -28623,19 +28888,35 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28623
28888
|
const document = await db.getItem(this.buildDocumentKey(documentId));
|
|
28624
28889
|
return !!document;
|
|
28625
28890
|
}
|
|
28626
|
-
|
|
28627
|
-
|
|
28628
|
-
|
|
28891
|
+
async create(document) {
|
|
28892
|
+
const documentId = document.id;
|
|
28893
|
+
if (!isValidDocumentId(documentId)) {
|
|
28894
|
+
throw new DocumentIdValidationError(documentId);
|
|
28895
|
+
}
|
|
28629
28896
|
const db = await this.db;
|
|
28897
|
+
if (await this.exists(documentId)) {
|
|
28898
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
28899
|
+
}
|
|
28900
|
+
const slug = document.slug.length > 0 ? document.slug : documentId;
|
|
28901
|
+
if (!isValidSlug(slug)) {
|
|
28902
|
+
throw new DocumentSlugValidationError(slug);
|
|
28903
|
+
}
|
|
28904
|
+
const slugManifest = await this.getSlugManifest();
|
|
28905
|
+
if (slugManifest.slugToId[slug]) {
|
|
28906
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
28907
|
+
}
|
|
28908
|
+
document.slug = slug;
|
|
28630
28909
|
await db.setItem(this.buildDocumentKey(documentId), document);
|
|
28631
|
-
const slug = ((_a2 = document.initialState.state.global) == null ? void 0 : _a2.slug) ?? documentId;
|
|
28632
28910
|
if (slug) {
|
|
28633
|
-
const
|
|
28634
|
-
if (
|
|
28911
|
+
const slugManifest2 = await this.getSlugManifest();
|
|
28912
|
+
if (slugManifest2.slugToId[slug]) {
|
|
28635
28913
|
throw new Error(`Document with slug ${slug} already exists`);
|
|
28636
28914
|
}
|
|
28637
|
-
|
|
28638
|
-
await this.updateSlugManifest(
|
|
28915
|
+
slugManifest2.slugToId[slug] = documentId;
|
|
28916
|
+
await this.updateSlugManifest(slugManifest2);
|
|
28917
|
+
}
|
|
28918
|
+
if (document.documentType === "powerhouse/document-drive") {
|
|
28919
|
+
this.updateDriveManifest(documentId, { documentIds: [] });
|
|
28639
28920
|
}
|
|
28640
28921
|
}
|
|
28641
28922
|
async get(documentId) {
|
|
@@ -28654,15 +28935,56 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28654
28935
|
}
|
|
28655
28936
|
return this.get(documentId);
|
|
28656
28937
|
}
|
|
28938
|
+
async findByType(documentModelType, limit = 100, cursor) {
|
|
28939
|
+
const db = await this.db;
|
|
28940
|
+
const keys = await db.keys();
|
|
28941
|
+
const documentKeys = keys.filter((key) => key.startsWith(`${_BrowserStorage.DOCUMENT_KEY}${_BrowserStorage.SEP}`));
|
|
28942
|
+
const documentsAndIds = [];
|
|
28943
|
+
for (const key of documentKeys) {
|
|
28944
|
+
const documentId = key.slice(_BrowserStorage.DOCUMENT_KEY.length + _BrowserStorage.SEP.length);
|
|
28945
|
+
try {
|
|
28946
|
+
const document = await db.getItem(key);
|
|
28947
|
+
if (!document || document.documentType !== documentModelType) {
|
|
28948
|
+
continue;
|
|
28949
|
+
}
|
|
28950
|
+
documentsAndIds.push({ id: documentId, document });
|
|
28951
|
+
} catch (error) {
|
|
28952
|
+
continue;
|
|
28953
|
+
}
|
|
28954
|
+
}
|
|
28955
|
+
documentsAndIds.sort((a, b) => {
|
|
28956
|
+
const aDate = new Date(a.document.created);
|
|
28957
|
+
const bDate = new Date(b.document.created);
|
|
28958
|
+
if (aDate.getTime() === bDate.getTime()) {
|
|
28959
|
+
return a.id.localeCompare(b.id);
|
|
28960
|
+
}
|
|
28961
|
+
return aDate.getTime() - bDate.getTime();
|
|
28962
|
+
});
|
|
28963
|
+
let startIndex = 0;
|
|
28964
|
+
if (cursor) {
|
|
28965
|
+
const index = documentsAndIds.findIndex(({ id }) => id === cursor);
|
|
28966
|
+
if (index !== -1) {
|
|
28967
|
+
startIndex = index;
|
|
28968
|
+
}
|
|
28969
|
+
}
|
|
28970
|
+
const endIndex = Math.min(startIndex + limit, documentsAndIds.length);
|
|
28971
|
+
let nextCursor;
|
|
28972
|
+
if (endIndex < documentsAndIds.length) {
|
|
28973
|
+
nextCursor = documentsAndIds[endIndex].id;
|
|
28974
|
+
}
|
|
28975
|
+
return {
|
|
28976
|
+
documents: documentsAndIds.slice(startIndex, endIndex).map(({ id }) => id),
|
|
28977
|
+
nextCursor
|
|
28978
|
+
};
|
|
28979
|
+
}
|
|
28657
28980
|
async delete(documentId) {
|
|
28658
|
-
var _a2;
|
|
28659
28981
|
const db = await this.db;
|
|
28660
28982
|
const document = await db.getItem(this.buildDocumentKey(documentId));
|
|
28661
28983
|
if (!document) {
|
|
28662
28984
|
return false;
|
|
28663
28985
|
}
|
|
28986
|
+
const slug = document.slug.length > 0 ? document.slug : documentId;
|
|
28664
28987
|
try {
|
|
28665
|
-
const slug = (_a2 = document.initialState.state.global) == null ? void 0 : _a2.slug;
|
|
28666
28988
|
if (slug) {
|
|
28667
28989
|
const slugManifest = await this.getSlugManifest();
|
|
28668
28990
|
if (slugManifest.slugToId[slug] === documentId) {
|
|
@@ -28672,11 +28994,16 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28672
28994
|
}
|
|
28673
28995
|
} catch (error) {
|
|
28674
28996
|
}
|
|
28675
|
-
const
|
|
28676
|
-
for (const
|
|
28677
|
-
|
|
28678
|
-
|
|
28679
|
-
|
|
28997
|
+
const parents = await this.getParents(documentId);
|
|
28998
|
+
for (const parent of parents) {
|
|
28999
|
+
await this.removeChild(parent, documentId);
|
|
29000
|
+
}
|
|
29001
|
+
const children = await this.getChildren(documentId);
|
|
29002
|
+
for (const child of children) {
|
|
29003
|
+
const childParents = await this.getParents(child);
|
|
29004
|
+
if (childParents.length === 1 && childParents[0] === documentId) {
|
|
29005
|
+
await this.delete(child);
|
|
29006
|
+
}
|
|
28680
29007
|
}
|
|
28681
29008
|
await db.removeItem(this.buildManifestKey(documentId));
|
|
28682
29009
|
await db.removeItem(this.buildDocumentKey(documentId));
|
|
@@ -28710,6 +29037,20 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28710
29037
|
const manifest = await this.getManifest(parentId);
|
|
28711
29038
|
return manifest.documentIds;
|
|
28712
29039
|
}
|
|
29040
|
+
async getParents(childId) {
|
|
29041
|
+
const db = await this.db;
|
|
29042
|
+
const keys = await db.keys();
|
|
29043
|
+
const parents = [];
|
|
29044
|
+
const manifestKeys = keys.filter((key) => key.startsWith(`${_BrowserStorage.MANIFEST_KEY}${_BrowserStorage.SEP}`));
|
|
29045
|
+
for (const key of manifestKeys) {
|
|
29046
|
+
const driveId = key.slice(_BrowserStorage.MANIFEST_KEY.length + _BrowserStorage.SEP.length);
|
|
29047
|
+
const manifest = await this.getManifest(driveId);
|
|
29048
|
+
if (manifest.documentIds.includes(childId)) {
|
|
29049
|
+
parents.push(driveId);
|
|
29050
|
+
}
|
|
29051
|
+
}
|
|
29052
|
+
return parents;
|
|
29053
|
+
}
|
|
28713
29054
|
////////////////////////////////
|
|
28714
29055
|
// IDriveStorage
|
|
28715
29056
|
////////////////////////////////
|
|
@@ -28731,9 +29072,6 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28731
29072
|
const db = await this.db;
|
|
28732
29073
|
await db.setItem(_BrowserStorage.SLUG_MANIFEST_KEY, manifest);
|
|
28733
29074
|
}
|
|
28734
|
-
async clearStorage() {
|
|
28735
|
-
return (await this.db).clear();
|
|
28736
|
-
}
|
|
28737
29075
|
async addDocumentOperations(drive, id, operations, header) {
|
|
28738
29076
|
const document = await this.get(id);
|
|
28739
29077
|
if (!document) {
|
|
@@ -28747,22 +29085,6 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28747
29085
|
operations: mergedOperations
|
|
28748
29086
|
});
|
|
28749
29087
|
}
|
|
28750
|
-
async getDrives() {
|
|
28751
|
-
const db = await this.db;
|
|
28752
|
-
const keys = await db.keys();
|
|
28753
|
-
return keys.filter((key) => key.startsWith(_BrowserStorage.MANIFEST_KEY)).map((key) => key.slice(_BrowserStorage.MANIFEST_KEY.length + _BrowserStorage.SEP.length));
|
|
28754
|
-
}
|
|
28755
|
-
async createDrive(id, drive) {
|
|
28756
|
-
await this.create(id, drive);
|
|
28757
|
-
await this.updateDriveManifest(id, { documentIds: [] });
|
|
28758
|
-
}
|
|
28759
|
-
async deleteDrive(id) {
|
|
28760
|
-
const documents = await this.getChildren(id);
|
|
28761
|
-
await Promise.all(documents.map((doc) => this.delete(doc)));
|
|
28762
|
-
const db = await this.db;
|
|
28763
|
-
await db.removeItem(this.buildManifestKey(id));
|
|
28764
|
-
return db.removeItem(this.buildDocumentKey(id));
|
|
28765
|
-
}
|
|
28766
29088
|
async addDriveOperations(id, operations, header) {
|
|
28767
29089
|
const drive = await this.get(id);
|
|
28768
29090
|
const mergedOperations = mergeOperations(drive.operations, operations);
|
|
@@ -28803,12 +29125,16 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28803
29125
|
}
|
|
28804
29126
|
// migrates all stored operations from legacy signature to signatures array
|
|
28805
29127
|
async migrateOperationSignatures() {
|
|
28806
|
-
|
|
28807
|
-
|
|
28808
|
-
await this.
|
|
28809
|
-
const
|
|
28810
|
-
|
|
28811
|
-
|
|
29128
|
+
let cursor;
|
|
29129
|
+
do {
|
|
29130
|
+
const { documents: drives, nextCursor } = await this.findByType("powerhouse/document-drive", 100, cursor);
|
|
29131
|
+
for (const drive of drives) {
|
|
29132
|
+
await this.migrateDrive(drive);
|
|
29133
|
+
const documents = await this.getChildren(drive);
|
|
29134
|
+
await Promise.all(documents.map(async (docId) => this.migrateDocument(drive, docId)));
|
|
29135
|
+
}
|
|
29136
|
+
cursor = nextCursor;
|
|
29137
|
+
} while (cursor);
|
|
28812
29138
|
}
|
|
28813
29139
|
async migrateDrive(driveId) {
|
|
28814
29140
|
const drive = await this.get(driveId);
|
|
@@ -28882,8 +29208,11 @@ const getReactorDefaultDrivesConfig = () => {
|
|
|
28882
29208
|
}
|
|
28883
29209
|
};
|
|
28884
29210
|
};
|
|
28885
|
-
function
|
|
28886
|
-
return new
|
|
29211
|
+
function createBrowserStorage(routerBasename) {
|
|
29212
|
+
return new BrowserStorage(routerBasename);
|
|
29213
|
+
}
|
|
29214
|
+
function createBrowserDocumentDriveServer(documentModels, storage) {
|
|
29215
|
+
return new ReactorBuilder(documentModels).withStorage(storage).withCache(new InMemoryCache()).withQueueManager(new BaseQueueManager(1, 10)).withOptions({ ...getReactorDefaultDrivesConfig() }).build();
|
|
28887
29216
|
}
|
|
28888
29217
|
const VERSION_CHECK_INTERVAL = parseInt(window.__VITE_ENVS.PH_CONNECT_VERSION_CHECK_INTERVAL) || 60 * 60 * 1e3;
|
|
28889
29218
|
const basePath = connectConfig.routerBasename;
|
|
@@ -31442,14 +31771,14 @@ if (window.__VITE_ENVS.MODE === "development") {
|
|
|
31442
31771
|
} else {
|
|
31443
31772
|
serviceWorkerManager.registerServiceWorker(false);
|
|
31444
31773
|
}
|
|
31445
|
-
const App = lazy(() => __vitePreload(() => import("./app-
|
|
31774
|
+
const App = lazy(() => __vitePreload(() => import("./app-DCtCV8Sz.js").then((n) => n.bs), true ? __vite__mapDeps([0,1,2]) : void 0));
|
|
31446
31775
|
const AppLoader = /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(App, {}) });
|
|
31447
31776
|
const appLoader = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
31448
31777
|
__proto__: null,
|
|
31449
31778
|
default: AppLoader
|
|
31450
31779
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
31451
31780
|
export {
|
|
31452
|
-
|
|
31781
|
+
Icon as $,
|
|
31453
31782
|
AddStateExampleInputSchema as A,
|
|
31454
31783
|
SetModuleDescriptionInputSchema as B,
|
|
31455
31784
|
SetModuleNameInputSchema as C,
|
|
@@ -31476,148 +31805,148 @@ export {
|
|
|
31476
31805
|
baseLoadFromFile as X,
|
|
31477
31806
|
baseLoadFromInput as Y,
|
|
31478
31807
|
pascalCase as Z,
|
|
31479
|
-
|
|
31808
|
+
logger$1 as _,
|
|
31480
31809
|
createReducer as a,
|
|
31481
|
-
|
|
31482
|
-
|
|
31483
|
-
|
|
31484
|
-
|
|
31810
|
+
getNamedType as a$,
|
|
31811
|
+
getDefaultExportFromCjs as a0,
|
|
31812
|
+
LOCAL as a1,
|
|
31813
|
+
commonjsGlobal as a2,
|
|
31485
31814
|
SWITCHBOARD as a3,
|
|
31486
|
-
|
|
31487
|
-
|
|
31488
|
-
|
|
31489
|
-
|
|
31815
|
+
PUBLIC as a4,
|
|
31816
|
+
locationInfoByLocation as a5,
|
|
31817
|
+
sharingTypeOptions as a6,
|
|
31818
|
+
objectType as a7,
|
|
31490
31819
|
stringType as a8,
|
|
31491
|
-
|
|
31492
|
-
|
|
31493
|
-
|
|
31494
|
-
|
|
31495
|
-
|
|
31496
|
-
|
|
31497
|
-
|
|
31498
|
-
|
|
31499
|
-
|
|
31500
|
-
|
|
31501
|
-
|
|
31502
|
-
|
|
31503
|
-
|
|
31504
|
-
|
|
31505
|
-
|
|
31506
|
-
|
|
31507
|
-
|
|
31508
|
-
|
|
31509
|
-
|
|
31510
|
-
|
|
31511
|
-
|
|
31512
|
-
|
|
31513
|
-
|
|
31514
|
-
|
|
31515
|
-
|
|
31516
|
-
|
|
31517
|
-
|
|
31518
|
-
|
|
31519
|
-
|
|
31520
|
-
|
|
31521
|
-
|
|
31820
|
+
recordType as a9,
|
|
31821
|
+
updateNode as aA,
|
|
31822
|
+
FILE as aB,
|
|
31823
|
+
moveNode as aC,
|
|
31824
|
+
generateNodesCopy as aD,
|
|
31825
|
+
copyNode as aE,
|
|
31826
|
+
createState as aF,
|
|
31827
|
+
setDriveName as aG,
|
|
31828
|
+
setAvailableOffline as aH,
|
|
31829
|
+
setSharingType as aI,
|
|
31830
|
+
SynchronizationUnitNotFoundError as aJ,
|
|
31831
|
+
removeTrigger as aK,
|
|
31832
|
+
PullResponderTransmitter as aL,
|
|
31833
|
+
addTrigger as aM,
|
|
31834
|
+
ReadDriveNotFoundError as aN,
|
|
31835
|
+
openUrl as aO,
|
|
31836
|
+
getNodeOptions as aP,
|
|
31837
|
+
DRIVE as aQ,
|
|
31838
|
+
FOLDER as aR,
|
|
31839
|
+
requestPublicDrive as aS,
|
|
31840
|
+
serviceWorkerManager as aT,
|
|
31841
|
+
packageJson as aU,
|
|
31842
|
+
t as aV,
|
|
31843
|
+
gql as aW,
|
|
31844
|
+
request as aX,
|
|
31845
|
+
inspect as aY,
|
|
31846
|
+
GraphQLError as aZ,
|
|
31847
|
+
invariant as a_,
|
|
31848
|
+
capitalCase as aa,
|
|
31849
|
+
CLOUD as ab,
|
|
31850
|
+
createZip as ac,
|
|
31522
31851
|
LZString as ad,
|
|
31523
31852
|
buildSignedOperation as ae,
|
|
31524
|
-
|
|
31525
|
-
|
|
31853
|
+
getDefaults as af,
|
|
31854
|
+
getI18n as ag,
|
|
31526
31855
|
connectConfig as ah,
|
|
31527
31856
|
hashDocumentStateForScope as ai,
|
|
31528
31857
|
getAugmentedNamespace as aj,
|
|
31529
|
-
|
|
31530
|
-
|
|
31531
|
-
|
|
31532
|
-
|
|
31533
|
-
|
|
31534
|
-
|
|
31535
|
-
|
|
31536
|
-
|
|
31537
|
-
|
|
31538
|
-
|
|
31539
|
-
|
|
31540
|
-
|
|
31541
|
-
|
|
31542
|
-
|
|
31543
|
-
|
|
31544
|
-
|
|
31858
|
+
childLogger as ak,
|
|
31859
|
+
process as al,
|
|
31860
|
+
setErrorHandler as am,
|
|
31861
|
+
driveDocumentModelModule as an,
|
|
31862
|
+
createBrowserStorage as ao,
|
|
31863
|
+
createBrowserDocumentDriveServer as ap,
|
|
31864
|
+
generateId as aq,
|
|
31865
|
+
reducer as ar,
|
|
31866
|
+
isDocumentDrive as as,
|
|
31867
|
+
generateAddNodeAction as at,
|
|
31868
|
+
isFileNode as au,
|
|
31869
|
+
uploadDocumentOperations as av,
|
|
31870
|
+
updateFile as aw,
|
|
31871
|
+
addFolder as ax,
|
|
31872
|
+
isFolderNode as ay,
|
|
31873
|
+
deleteNode as az,
|
|
31545
31874
|
SetStateSchemaInputSchema as b,
|
|
31546
|
-
|
|
31547
|
-
|
|
31548
|
-
|
|
31549
|
-
|
|
31550
|
-
|
|
31551
|
-
|
|
31552
|
-
|
|
31553
|
-
|
|
31554
|
-
|
|
31555
|
-
|
|
31556
|
-
|
|
31557
|
-
|
|
31558
|
-
|
|
31559
|
-
|
|
31560
|
-
|
|
31561
|
-
|
|
31562
|
-
|
|
31563
|
-
|
|
31564
|
-
|
|
31565
|
-
|
|
31566
|
-
|
|
31567
|
-
|
|
31568
|
-
|
|
31569
|
-
|
|
31570
|
-
|
|
31571
|
-
|
|
31572
|
-
|
|
31573
|
-
|
|
31574
|
-
|
|
31575
|
-
|
|
31576
|
-
|
|
31577
|
-
|
|
31578
|
-
|
|
31579
|
-
|
|
31580
|
-
|
|
31581
|
-
|
|
31582
|
-
|
|
31583
|
-
|
|
31584
|
-
|
|
31585
|
-
|
|
31586
|
-
|
|
31587
|
-
|
|
31588
|
-
|
|
31589
|
-
|
|
31590
|
-
|
|
31591
|
-
|
|
31592
|
-
|
|
31593
|
-
|
|
31594
|
-
|
|
31595
|
-
|
|
31596
|
-
|
|
31597
|
-
|
|
31598
|
-
|
|
31599
|
-
|
|
31600
|
-
|
|
31601
|
-
|
|
31602
|
-
|
|
31603
|
-
|
|
31604
|
-
|
|
31605
|
-
|
|
31606
|
-
|
|
31607
|
-
|
|
31608
|
-
|
|
31609
|
-
|
|
31875
|
+
DUPLICATE as b$,
|
|
31876
|
+
isInputObjectType as b0,
|
|
31877
|
+
isScalarType as b1,
|
|
31878
|
+
isObjectType as b2,
|
|
31879
|
+
isInterfaceType as b3,
|
|
31880
|
+
isUnionType as b4,
|
|
31881
|
+
isEnumType as b5,
|
|
31882
|
+
astFromValue as b6,
|
|
31883
|
+
print as b7,
|
|
31884
|
+
DEFAULT_DEPRECATION_REASON as b8,
|
|
31885
|
+
Kind as b9,
|
|
31886
|
+
isInputType as bA,
|
|
31887
|
+
GraphQLBoolean as bB,
|
|
31888
|
+
assertAbstractType as bC,
|
|
31889
|
+
doTypesOverlap as bD,
|
|
31890
|
+
DirectiveLocation as bE,
|
|
31891
|
+
specifiedRules as bF,
|
|
31892
|
+
NoUnusedFragmentsRule as bG,
|
|
31893
|
+
ExecutableDefinitionsRule as bH,
|
|
31894
|
+
validate as bI,
|
|
31895
|
+
validateSchema as bJ,
|
|
31896
|
+
GraphQLID as bK,
|
|
31897
|
+
GraphQLString as bL,
|
|
31898
|
+
GraphQLFloat as bM,
|
|
31899
|
+
GraphQLInt as bN,
|
|
31900
|
+
GraphQLDirective as bO,
|
|
31901
|
+
GraphQLUnionType as bP,
|
|
31902
|
+
isNonNullType as bQ,
|
|
31903
|
+
GraphQLNonNull as bR,
|
|
31904
|
+
isNamedType as bS,
|
|
31905
|
+
isLeafType as bT,
|
|
31906
|
+
GraphQLSchema as bU,
|
|
31907
|
+
buildSchema as bV,
|
|
31908
|
+
sentenceCase as bW,
|
|
31909
|
+
getDimensions as bX,
|
|
31910
|
+
READ as bY,
|
|
31911
|
+
nodeOptionsMap as bZ,
|
|
31912
|
+
defaultFileOptions as b_,
|
|
31913
|
+
isPrintableAsBlockString as ba,
|
|
31914
|
+
isSpecifiedDirective as bb,
|
|
31915
|
+
isSpecifiedScalarType as bc,
|
|
31916
|
+
isIntrospectionType as bd,
|
|
31917
|
+
z as be,
|
|
31918
|
+
GraphQLScalarType as bf,
|
|
31919
|
+
parse as bg,
|
|
31920
|
+
visit as bh,
|
|
31921
|
+
buildASTSchema as bi,
|
|
31922
|
+
extendSchema as bj,
|
|
31923
|
+
getNullableType as bk,
|
|
31924
|
+
isListType as bl,
|
|
31925
|
+
snakeCase as bm,
|
|
31926
|
+
constantCase as bn,
|
|
31927
|
+
isAbstractType as bo,
|
|
31928
|
+
BREAK as bp,
|
|
31929
|
+
GraphQLInputObjectType as bq,
|
|
31930
|
+
GraphQLList as br,
|
|
31931
|
+
GraphQLEnumType as bs,
|
|
31932
|
+
GraphQLObjectType as bt,
|
|
31933
|
+
GraphQLInterfaceType as bu,
|
|
31934
|
+
SchemaMetaFieldDef as bv,
|
|
31935
|
+
TypeMetaFieldDef as bw,
|
|
31936
|
+
TypeNameMetaFieldDef as bx,
|
|
31937
|
+
isCompositeType as by,
|
|
31938
|
+
isOutputType as bz,
|
|
31610
31939
|
createAction as c,
|
|
31611
|
-
|
|
31612
|
-
|
|
31613
|
-
|
|
31614
|
-
|
|
31615
|
-
|
|
31616
|
-
|
|
31617
|
-
|
|
31618
|
-
|
|
31619
|
-
|
|
31620
|
-
|
|
31940
|
+
RENAME as c0,
|
|
31941
|
+
WRITE as c1,
|
|
31942
|
+
DELETE as c2,
|
|
31943
|
+
defaultFolderOptions as c3,
|
|
31944
|
+
garbageCollect as c4,
|
|
31945
|
+
sortOperations as c5,
|
|
31946
|
+
UI_NODE as c6,
|
|
31947
|
+
undo as c7,
|
|
31948
|
+
redo as c8,
|
|
31949
|
+
useDocumentDispatch as c9,
|
|
31621
31950
|
appLoader as ca,
|
|
31622
31951
|
ReorderModuleOperationsInputSchema as d,
|
|
31623
31952
|
DeleteOperationInputSchema as e,
|
|
@@ -31643,3 +31972,4 @@ export {
|
|
|
31643
31972
|
ReorderModulesInputSchema as y,
|
|
31644
31973
|
DeleteModuleInputSchema as z
|
|
31645
31974
|
};
|
|
31975
|
+
//# sourceMappingURL=app-loader-BAEWEx-m.js.map
|