@powerhousedao/connect 1.0.23-staging.2 → 1.0.25-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.env +1 -1
- package/dist/assets/{app-_0wz8A4r.js → app-BUYipU-h.js} +21101 -19624
- package/dist/assets/app-BUYipU-h.js.map +1 -0
- package/dist/assets/{app-DFQhKB-Q.css → app-DWlDE8AF.css} +240 -181
- package/dist/assets/{app-loader-d7zgN9hh.js → app-loader-BnRwgIP_.js} +763 -437
- package/dist/assets/app-loader-BnRwgIP_.js.map +1 -0
- package/dist/assets/{app-loader-DczGHPG9.css → app-loader-NDVZu4bS.css} +239 -229
- package/dist/assets/browser-DLDtNgow.js +27224 -0
- package/dist/assets/browser-DLDtNgow.js.map +1 -0
- package/dist/assets/{ccip-C6W2FbjW.js → ccip-LS87QwZy.js} +6 -8
- package/dist/assets/ccip-LS87QwZy.js.map +1 -0
- package/dist/assets/{content-Bm5Tr4Hg.js → content-C_bg7acW.js} +1107 -470
- package/dist/assets/content-C_bg7acW.js.map +1 -0
- package/dist/assets/{index-CXXvva-l.js → index-CLG940Kn.js} +2582 -2923
- package/dist/assets/index-CLG940Kn.js.map +1 -0
- package/dist/assets/index-CNFyJkHA.js +208 -0
- package/dist/assets/index-CNFyJkHA.js.map +1 -0
- package/dist/assets/{index-BhxEM16y.js → index-DzfUrip3.js} +23 -171
- package/dist/assets/index-DzfUrip3.js.map +1 -0
- package/dist/assets/{index-DamVoHkh.js → index-N3PIlRbq.js} +4 -3
- package/dist/assets/index-N3PIlRbq.js.map +1 -0
- package/dist/assets/{main.Cq930vY3.js → main.DbDmc7wl.js} +3 -12
- package/dist/assets/main.DbDmc7wl.js.map +1 -0
- package/dist/assets/reactor-analytics-DOjP79na.js +42 -0
- package/dist/assets/reactor-analytics-DOjP79na.js.map +1 -0
- package/dist/assets/router-GU7qCi_d.js +1585 -0
- package/dist/assets/router-GU7qCi_d.js.map +1 -0
- package/dist/assets/{style-BQHqCxXa.css → style-CdxGKc2g.css} +42 -95
- 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 +23 -21
|
@@ -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-BUYipU-h.js","assets/main.DbDmc7wl.js","assets/app-DWlDE8AF.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.DbDmc7wl.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();
|
|
@@ -1893,14 +1930,13 @@ const base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z
|
|
|
1893
1930
|
const dateRegexSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
|
|
1894
1931
|
const dateRegex = new RegExp(`^${dateRegexSource}$`);
|
|
1895
1932
|
function timeRegexSource(args) {
|
|
1896
|
-
let
|
|
1933
|
+
let regex = `([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d`;
|
|
1897
1934
|
if (args.precision) {
|
|
1898
|
-
|
|
1935
|
+
regex = `${regex}\\.\\d{${args.precision}}`;
|
|
1899
1936
|
} else if (args.precision == null) {
|
|
1900
|
-
|
|
1937
|
+
regex = `${regex}(\\.\\d+)?`;
|
|
1901
1938
|
}
|
|
1902
|
-
|
|
1903
|
-
return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`;
|
|
1939
|
+
return regex;
|
|
1904
1940
|
}
|
|
1905
1941
|
function timeRegex(args) {
|
|
1906
1942
|
return new RegExp(`^${timeRegexSource(args)}$`);
|
|
@@ -6778,7 +6814,7 @@ function loadStateOperation(oldDocument, newDocument) {
|
|
|
6778
6814
|
};
|
|
6779
6815
|
}
|
|
6780
6816
|
function generateId(method) {
|
|
6781
|
-
return generateUUID
|
|
6817
|
+
return generateUUID();
|
|
6782
6818
|
}
|
|
6783
6819
|
function getUnixTimestamp(date) {
|
|
6784
6820
|
return (new Date(date).getTime() / 1e3).toFixed(0);
|
|
@@ -6941,6 +6977,7 @@ function processSkipOperation(document, action, customReducer, skipValue, reuseO
|
|
|
6941
6977
|
scopeState = resultingStateParser(lastRemainingOperation.resultingState);
|
|
6942
6978
|
} else {
|
|
6943
6979
|
const { state } = replayOperations(document.initialState, documentOperations, customReducer, void 0, void 0, void 0, void 0, {
|
|
6980
|
+
reuseHash: true,
|
|
6944
6981
|
reuseOperationResultingState,
|
|
6945
6982
|
operationResultingStateParser: resultingStateParser
|
|
6946
6983
|
});
|
|
@@ -6967,6 +7004,7 @@ function processUndoOperation(document, scope, customReducer, reuseOperationResu
|
|
|
6967
7004
|
const clearedOperations = [...documentOperations[scope]];
|
|
6968
7005
|
const diff = diffOperations(garbageCollect(sortedOperations), clearedOperations);
|
|
6969
7006
|
const doc = replayOperations(document.initialState, documentOperations, customReducer, void 0, void 0, void 0, void 0, {
|
|
7007
|
+
reuseHash: true,
|
|
6970
7008
|
reuseOperationResultingState,
|
|
6971
7009
|
operationResultingStateParser: resultingStateParser
|
|
6972
7010
|
});
|
|
@@ -7116,6 +7154,7 @@ function createReducer(stateReducer2, documentReducer = baseReducer) {
|
|
|
7116
7154
|
return reducer2;
|
|
7117
7155
|
}
|
|
7118
7156
|
function baseCreateExtendedState(initialState, createState2) {
|
|
7157
|
+
const id = (initialState == null ? void 0 : initialState.id) ?? generateUUID();
|
|
7119
7158
|
return {
|
|
7120
7159
|
name: "",
|
|
7121
7160
|
documentType: "",
|
|
@@ -7127,6 +7166,8 @@ function baseCreateExtendedState(initialState, createState2) {
|
|
|
7127
7166
|
lastModified: (/* @__PURE__ */ new Date()).toISOString(),
|
|
7128
7167
|
attachments: {},
|
|
7129
7168
|
...initialState,
|
|
7169
|
+
id,
|
|
7170
|
+
slug: (initialState == null ? void 0 : initialState.slug) ?? id,
|
|
7130
7171
|
state: (createState2 == null ? void 0 : createState2(initialState == null ? void 0 : initialState.state)) ?? ((initialState == null ? void 0 : initialState.state) ?? {
|
|
7131
7172
|
global: {},
|
|
7132
7173
|
local: {}
|
|
@@ -7145,10 +7186,6 @@ function baseCreateDocument(initialState, createState2) {
|
|
|
7145
7186
|
function hashDocumentStateForScope(document, scope = "global") {
|
|
7146
7187
|
return hash(cjsModule(document.state[scope] || ""));
|
|
7147
7188
|
}
|
|
7148
|
-
const hashKey = (date, randomLimit = 1e3) => {
|
|
7149
|
-
const random = Math.random() * randomLimit;
|
|
7150
|
-
return hash(`${(/* @__PURE__ */ new Date()).toISOString()}${random}`);
|
|
7151
|
-
};
|
|
7152
7189
|
function getDocumentLastModified(document) {
|
|
7153
7190
|
var _a2;
|
|
7154
7191
|
const sortedOperations = sortOperations(Object.values(document.operations).flat());
|
|
@@ -7197,6 +7234,9 @@ function replayDocument(initialState, operations, reducer2, dispatch, header, sk
|
|
|
7197
7234
|
operationsToReplay.push(...Object.values(operations).flat());
|
|
7198
7235
|
}
|
|
7199
7236
|
const document = baseCreateDocument(documentState);
|
|
7237
|
+
if (header == null ? void 0 : header.slug) {
|
|
7238
|
+
document.slug = header.slug;
|
|
7239
|
+
}
|
|
7200
7240
|
document.initialState = initialState;
|
|
7201
7241
|
document.operations = initialOperations;
|
|
7202
7242
|
let result = document;
|
|
@@ -7535,21 +7575,186 @@ function UpdateStateExampleInputSchema() {
|
|
|
7535
7575
|
newExample: z.string()
|
|
7536
7576
|
});
|
|
7537
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);
|
|
7538
7754
|
function commonjsRequire(path) {
|
|
7539
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.');
|
|
7540
7756
|
}
|
|
7541
7757
|
var jszip_min = { exports: {} };
|
|
7542
|
-
/*!
|
|
7543
|
-
|
|
7544
|
-
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
7545
|
-
<http://stuartk.com/jszip>
|
|
7546
|
-
|
|
7547
|
-
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
|
7548
|
-
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
|
|
7549
|
-
|
|
7550
|
-
JSZip uses the library pako released under the MIT license :
|
|
7551
|
-
https://github.com/nodeca/pako/blob/main/LICENSE
|
|
7552
|
-
*/
|
|
7553
7758
|
var hasRequiredJszip_min;
|
|
7554
7759
|
function requireJszip_min() {
|
|
7555
7760
|
if (hasRequiredJszip_min) return jszip_min.exports;
|
|
@@ -9892,7 +10097,6 @@ const types = {
|
|
|
9892
10097
|
"application/dash+xml": ["mpd"],
|
|
9893
10098
|
"application/dash-patch+xml": ["mpp"],
|
|
9894
10099
|
"application/davmount+xml": ["davmount"],
|
|
9895
|
-
"application/dicom": ["dcm"],
|
|
9896
10100
|
"application/docbook+xml": ["dbk"],
|
|
9897
10101
|
"application/dssc+der": ["dssc"],
|
|
9898
10102
|
"application/dssc+xml": ["xdssc"],
|
|
@@ -9979,14 +10183,7 @@ const types = {
|
|
|
9979
10183
|
"application/oebps-package+xml": ["opf"],
|
|
9980
10184
|
"application/ogg": ["ogx"],
|
|
9981
10185
|
"application/omdoc+xml": ["omdoc"],
|
|
9982
|
-
"application/onenote": [
|
|
9983
|
-
"onetoc",
|
|
9984
|
-
"onetoc2",
|
|
9985
|
-
"onetmp",
|
|
9986
|
-
"onepkg",
|
|
9987
|
-
"one",
|
|
9988
|
-
"onea"
|
|
9989
|
-
],
|
|
10186
|
+
"application/onenote": ["onetoc", "onetoc2", "onetmp", "onepkg"],
|
|
9990
10187
|
"application/oxps": ["oxps"],
|
|
9991
10188
|
"application/p2p-overlay+xml": ["relo"],
|
|
9992
10189
|
"application/patch-ops-error+xml": ["xer"],
|
|
@@ -10082,7 +10279,6 @@ const types = {
|
|
|
10082
10279
|
"application/yang": ["yang"],
|
|
10083
10280
|
"application/yin+xml": ["yin"],
|
|
10084
10281
|
"application/zip": ["zip"],
|
|
10085
|
-
"application/zip+dotlottie": ["lottie"],
|
|
10086
10282
|
"audio/3gpp": ["*3gpp"],
|
|
10087
10283
|
"audio/aac": ["adts", "aac"],
|
|
10088
10284
|
"audio/adpcm": ["adp"],
|
|
@@ -10091,7 +10287,7 @@ const types = {
|
|
|
10091
10287
|
"audio/midi": ["mid", "midi", "kar", "rmi"],
|
|
10092
10288
|
"audio/mobile-xmf": ["mxmf"],
|
|
10093
10289
|
"audio/mp3": ["*mp3"],
|
|
10094
|
-
"audio/mp4": ["m4a", "mp4a"
|
|
10290
|
+
"audio/mp4": ["m4a", "mp4a"],
|
|
10095
10291
|
"audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"],
|
|
10096
10292
|
"audio/ogg": ["oga", "ogg", "spx", "opus"],
|
|
10097
10293
|
"audio/s3m": ["s3m"],
|
|
@@ -10123,12 +10319,11 @@ const types = {
|
|
|
10123
10319
|
"image/heif": ["heif"],
|
|
10124
10320
|
"image/heif-sequence": ["heifs"],
|
|
10125
10321
|
"image/hej2k": ["hej2"],
|
|
10322
|
+
"image/hsj2": ["hsj2"],
|
|
10126
10323
|
"image/ief": ["ief"],
|
|
10127
|
-
"image/jaii": ["jaii"],
|
|
10128
|
-
"image/jais": ["jais"],
|
|
10129
10324
|
"image/jls": ["jls"],
|
|
10130
10325
|
"image/jp2": ["jp2", "jpg2"],
|
|
10131
|
-
"image/jpeg": ["
|
|
10326
|
+
"image/jpeg": ["jpeg", "jpg", "jpe"],
|
|
10132
10327
|
"image/jph": ["jph"],
|
|
10133
10328
|
"image/jphc": ["jhc"],
|
|
10134
10329
|
"image/jpm": ["jpm", "jpgm"],
|
|
@@ -10143,7 +10338,6 @@ const types = {
|
|
|
10143
10338
|
"image/jxss": ["jxss"],
|
|
10144
10339
|
"image/ktx": ["ktx"],
|
|
10145
10340
|
"image/ktx2": ["ktx2"],
|
|
10146
|
-
"image/pjpeg": ["jfif"],
|
|
10147
10341
|
"image/png": ["png"],
|
|
10148
10342
|
"image/sgi": ["sgi"],
|
|
10149
10343
|
"image/svg+xml": ["svg", "svgz"],
|
|
@@ -10157,7 +10351,7 @@ const types = {
|
|
|
10157
10351
|
"message/global-delivery-status": ["u8dsn"],
|
|
10158
10352
|
"message/global-disposition-notification": ["u8mdn"],
|
|
10159
10353
|
"message/global-headers": ["u8hdr"],
|
|
10160
|
-
"message/rfc822": ["eml", "mime"
|
|
10354
|
+
"message/rfc822": ["eml", "mime"],
|
|
10161
10355
|
"model/3mf": ["3mf"],
|
|
10162
10356
|
"model/gltf+json": ["gltf"],
|
|
10163
10357
|
"model/gltf-binary": ["glb"],
|
|
@@ -10167,7 +10361,6 @@ const types = {
|
|
|
10167
10361
|
"model/mtl": ["mtl"],
|
|
10168
10362
|
"model/obj": ["obj"],
|
|
10169
10363
|
"model/prc": ["prc"],
|
|
10170
|
-
"model/step": ["step", "stp", "stpnc", "p21", "210"],
|
|
10171
10364
|
"model/step+xml": ["stpx"],
|
|
10172
10365
|
"model/step+zip": ["stpz"],
|
|
10173
10366
|
"model/step-xml+zip": ["stpxz"],
|
|
@@ -10273,8 +10466,8 @@ class Mime {
|
|
|
10273
10466
|
getType(path) {
|
|
10274
10467
|
if (typeof path !== "string")
|
|
10275
10468
|
return null;
|
|
10276
|
-
const last = path.replace(/^.*[/\\]
|
|
10277
|
-
const ext = last.replace(
|
|
10469
|
+
const last = path.replace(/^.*[/\\]/, "").toLowerCase();
|
|
10470
|
+
const ext = last.replace(/^.*\./, "").toLowerCase();
|
|
10278
10471
|
const hasPath = last.length < path.length;
|
|
10279
10472
|
const hasDot = ext.length < last.length - 1;
|
|
10280
10473
|
if (!hasDot && hasPath)
|
|
@@ -10336,8 +10529,10 @@ function validateOperations(operations) {
|
|
|
10336
10529
|
}
|
|
10337
10530
|
function createZip(document) {
|
|
10338
10531
|
const zip = new JSZip();
|
|
10339
|
-
const { name: name2, revision, documentType: documentType2, created, lastModified } = document;
|
|
10532
|
+
const { id, slug, name: name2, revision, documentType: documentType2, created, lastModified } = document;
|
|
10340
10533
|
const header = {
|
|
10534
|
+
id,
|
|
10535
|
+
slug,
|
|
10341
10536
|
name: name2,
|
|
10342
10537
|
revision,
|
|
10343
10538
|
documentType: documentType2,
|
|
@@ -10753,40 +10948,60 @@ const reducer$2 = {
|
|
|
10753
10948
|
state.triggers = state.triggers.filter((trigger) => trigger.id !== action.input.triggerId);
|
|
10754
10949
|
}
|
|
10755
10950
|
};
|
|
10756
|
-
|
|
10757
|
-
|
|
10758
|
-
|
|
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
|
+
}
|
|
10759
10957
|
}
|
|
10760
|
-
|
|
10761
|
-
|
|
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
|
+
}
|
|
10762
10966
|
}
|
|
10763
|
-
|
|
10764
|
-
|
|
10765
|
-
|
|
10766
|
-
if (!getRandomValues) {
|
|
10767
|
-
if (typeof crypto === "undefined" || !crypto.getRandomValues) {
|
|
10768
|
-
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
10769
|
-
}
|
|
10770
|
-
getRandomValues = crypto.getRandomValues.bind(crypto);
|
|
10967
|
+
class ConflictOperationError extends OperationError {
|
|
10968
|
+
constructor(existingOperation, newOperation) {
|
|
10969
|
+
super("CONFLICT", newOperation, `Conflicting operation on index ${newOperation.index}`, { existingOperation, newOperation });
|
|
10771
10970
|
}
|
|
10772
|
-
return getRandomValues(rnds8);
|
|
10773
10971
|
}
|
|
10774
|
-
|
|
10775
|
-
|
|
10776
|
-
|
|
10777
|
-
|
|
10778
|
-
|
|
10779
|
-
|
|
10972
|
+
class DocumentIdValidationError extends Error {
|
|
10973
|
+
constructor(documentId) {
|
|
10974
|
+
super(`Invalid document id: ${documentId}`);
|
|
10975
|
+
}
|
|
10976
|
+
}
|
|
10977
|
+
class DocumentSlugValidationError extends Error {
|
|
10978
|
+
constructor(slug) {
|
|
10979
|
+
super(`Invalid slug: ${slug}`);
|
|
10980
|
+
}
|
|
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;
|
|
10780
10987
|
}
|
|
10781
|
-
|
|
10782
|
-
|
|
10783
|
-
|
|
10784
|
-
|
|
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;
|
|
10785
11001
|
}
|
|
10786
|
-
rnds[6] = rnds[6] & 15 | 64;
|
|
10787
|
-
rnds[8] = rnds[8] & 63 | 128;
|
|
10788
|
-
return unsafeStringify(rnds);
|
|
10789
11002
|
}
|
|
11003
|
+
const isValidDocumentId = (id) => id && id.length > 0 && /^[a-zA-Z0-9_-]+$/.test(id);
|
|
11004
|
+
const isValidSlug = (slug) => slug && slug.length > 0 && /^[a-zA-Z0-9_-]+$/.test(slug);
|
|
10790
11005
|
function isFileNode(node) {
|
|
10791
11006
|
return node.kind === "file";
|
|
10792
11007
|
}
|
|
@@ -10850,7 +11065,7 @@ function generateNodesCopy(src, idGenerator, nodes) {
|
|
|
10850
11065
|
function generateSynchronizationUnitId(nodes) {
|
|
10851
11066
|
let syncId = "";
|
|
10852
11067
|
while (!syncId || nodes.find((node) => isFileNode(node) && node.synchronizationUnits.find((unit) => unit.syncId === syncId))) {
|
|
10853
|
-
syncId =
|
|
11068
|
+
syncId = generateId();
|
|
10854
11069
|
}
|
|
10855
11070
|
return syncId;
|
|
10856
11071
|
}
|
|
@@ -10928,6 +11143,9 @@ const reducer$1 = {
|
|
|
10928
11143
|
if (state.nodes.find((node) => node.id === action.input.id)) {
|
|
10929
11144
|
throw new Error(`Node with id ${action.input.id} already exists!`);
|
|
10930
11145
|
}
|
|
11146
|
+
if (!isValidDocumentId(action.input.id)) {
|
|
11147
|
+
throw new DocumentIdValidationError(action.input.id);
|
|
11148
|
+
}
|
|
10931
11149
|
const name2 = handleTargetNameCollisions({
|
|
10932
11150
|
nodes: state.nodes,
|
|
10933
11151
|
srcName: action.input.name,
|
|
@@ -11020,6 +11238,9 @@ const reducer$1 = {
|
|
|
11020
11238
|
if (!node) {
|
|
11021
11239
|
throw new Error(`Node with id ${action.input.srcId} not found`);
|
|
11022
11240
|
}
|
|
11241
|
+
if (!isValidDocumentId(action.input.targetId)) {
|
|
11242
|
+
throw new DocumentIdValidationError(action.input.targetId);
|
|
11243
|
+
}
|
|
11023
11244
|
const duplicatedNode = state.nodes.find((node2) => node2.id === action.input.targetId);
|
|
11024
11245
|
if (duplicatedNode) {
|
|
11025
11246
|
throw new Error(`Node with id ${action.input.targetId} already exists`);
|
|
@@ -11031,8 +11252,9 @@ const reducer$1 = {
|
|
|
11031
11252
|
});
|
|
11032
11253
|
const newNode = {
|
|
11033
11254
|
...node,
|
|
11034
|
-
name: name2,
|
|
11035
11255
|
id: action.input.targetId,
|
|
11256
|
+
slug: action.input.targetId,
|
|
11257
|
+
name: name2,
|
|
11036
11258
|
parentFolder: action.input.targetParentFolder || null
|
|
11037
11259
|
};
|
|
11038
11260
|
const isFile = isFileNode(newNode);
|
|
@@ -11164,11 +11386,9 @@ const fileExtension = "phdd";
|
|
|
11164
11386
|
const documentType = "powerhouse/document-drive";
|
|
11165
11387
|
const documentModelName = "DocumentDrive";
|
|
11166
11388
|
const initialGlobalState = {
|
|
11167
|
-
id: "",
|
|
11168
11389
|
name: "",
|
|
11169
11390
|
nodes: [],
|
|
11170
|
-
icon: null
|
|
11171
|
-
slug: null
|
|
11391
|
+
icon: null
|
|
11172
11392
|
};
|
|
11173
11393
|
const initialLocalState = {
|
|
11174
11394
|
listeners: [],
|
|
@@ -11429,8 +11649,7 @@ const driveDocumentModelModule = {
|
|
|
11429
11649
|
actions: { ...creators, ...actions },
|
|
11430
11650
|
utils: { ...documentModelUtils, ...customUtils }
|
|
11431
11651
|
};
|
|
11432
|
-
|
|
11433
|
-
const LEVELS = {
|
|
11652
|
+
const LogLevels = {
|
|
11434
11653
|
verbose: 1,
|
|
11435
11654
|
debug: 2,
|
|
11436
11655
|
info: 3,
|
|
@@ -11438,6 +11657,10 @@ const LEVELS = {
|
|
|
11438
11657
|
error: 5,
|
|
11439
11658
|
silent: 6
|
|
11440
11659
|
};
|
|
11660
|
+
function isLogLevel(value) {
|
|
11661
|
+
return typeof value === "string" && value in LogLevels;
|
|
11662
|
+
}
|
|
11663
|
+
var define_process_env_default = {};
|
|
11441
11664
|
class ConsoleLogger {
|
|
11442
11665
|
constructor(tags, errorHandler2) {
|
|
11443
11666
|
__privateAdd(this, _ConsoleLogger_instances);
|
|
@@ -11457,6 +11680,10 @@ class ConsoleLogger {
|
|
|
11457
11680
|
return __privateGet(this, _levelString);
|
|
11458
11681
|
}
|
|
11459
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
|
+
}
|
|
11460
11687
|
__privateSet(this, _levelString, level);
|
|
11461
11688
|
}
|
|
11462
11689
|
get errorHandler() {
|
|
@@ -11469,31 +11696,31 @@ class ConsoleLogger {
|
|
|
11469
11696
|
return this.debug(...data);
|
|
11470
11697
|
}
|
|
11471
11698
|
verbose(...data) {
|
|
11472
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11699
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.verbose) {
|
|
11473
11700
|
return;
|
|
11474
11701
|
}
|
|
11475
11702
|
return this.debug(...data);
|
|
11476
11703
|
}
|
|
11477
11704
|
debug(...data) {
|
|
11478
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11705
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.debug) {
|
|
11479
11706
|
return;
|
|
11480
11707
|
}
|
|
11481
11708
|
return console.debug(...[...__privateGet(this, _tags), ...data]);
|
|
11482
11709
|
}
|
|
11483
11710
|
info(...data) {
|
|
11484
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11711
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.info) {
|
|
11485
11712
|
return;
|
|
11486
11713
|
}
|
|
11487
11714
|
return console.info(...[...__privateGet(this, _tags), ...data]);
|
|
11488
11715
|
}
|
|
11489
11716
|
warn(...data) {
|
|
11490
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11717
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.warn) {
|
|
11491
11718
|
return;
|
|
11492
11719
|
}
|
|
11493
11720
|
return console.warn(...[...__privateGet(this, _tags), ...data]);
|
|
11494
11721
|
}
|
|
11495
11722
|
error(...data) {
|
|
11496
|
-
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) >
|
|
11723
|
+
if (__privateGet(this, _ConsoleLogger_instances, levelValue_get) > LogLevels.error) {
|
|
11497
11724
|
return;
|
|
11498
11725
|
}
|
|
11499
11726
|
if (__privateGet(this, _errorHandler)) {
|
|
@@ -11508,16 +11735,16 @@ _errorHandler = new WeakMap();
|
|
|
11508
11735
|
_ConsoleLogger_instances = new WeakSet();
|
|
11509
11736
|
levelValue_get = function() {
|
|
11510
11737
|
if (__privateGet(this, _levelString) === "env") {
|
|
11511
|
-
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;
|
|
11512
11739
|
if (!envLevel) {
|
|
11513
|
-
return
|
|
11740
|
+
return LogLevels.debug;
|
|
11514
11741
|
}
|
|
11515
|
-
if (!(envLevel in
|
|
11516
|
-
return
|
|
11742
|
+
if (!(envLevel in LogLevels)) {
|
|
11743
|
+
return LogLevels.debug;
|
|
11517
11744
|
}
|
|
11518
|
-
return
|
|
11745
|
+
return LogLevels[envLevel];
|
|
11519
11746
|
}
|
|
11520
|
-
return
|
|
11747
|
+
return LogLevels[__privateGet(this, _levelString)];
|
|
11521
11748
|
};
|
|
11522
11749
|
const loggerInstance = new ConsoleLogger();
|
|
11523
11750
|
let logLevel = "env";
|
|
@@ -11539,48 +11766,6 @@ const childLogger = (tags) => {
|
|
|
11539
11766
|
logger2.errorHandler = errorHandler;
|
|
11540
11767
|
return logger2;
|
|
11541
11768
|
};
|
|
11542
|
-
class DocumentModelNotFoundError extends Error {
|
|
11543
|
-
constructor(id, cause) {
|
|
11544
|
-
super(`Document model "${id}" not found`, { cause });
|
|
11545
|
-
__publicField(this, "id");
|
|
11546
|
-
this.id = id;
|
|
11547
|
-
}
|
|
11548
|
-
}
|
|
11549
|
-
class OperationError extends Error {
|
|
11550
|
-
constructor(status, operation, message, cause) {
|
|
11551
|
-
super(message, { cause: cause ?? operation });
|
|
11552
|
-
__publicField(this, "status");
|
|
11553
|
-
__publicField(this, "operation");
|
|
11554
|
-
this.status = status;
|
|
11555
|
-
this.operation = operation;
|
|
11556
|
-
}
|
|
11557
|
-
}
|
|
11558
|
-
class ConflictOperationError extends OperationError {
|
|
11559
|
-
constructor(existingOperation, newOperation) {
|
|
11560
|
-
super("CONFLICT", newOperation, `Conflicting operation on index ${newOperation.index}`, { existingOperation, newOperation });
|
|
11561
|
-
}
|
|
11562
|
-
}
|
|
11563
|
-
class DocumentAlreadyExistsError extends Error {
|
|
11564
|
-
constructor(documentId) {
|
|
11565
|
-
super(`Document with id ${documentId} already exists`);
|
|
11566
|
-
__publicField(this, "documentId");
|
|
11567
|
-
this.documentId = documentId;
|
|
11568
|
-
}
|
|
11569
|
-
}
|
|
11570
|
-
class DocumentNotFoundError extends Error {
|
|
11571
|
-
constructor(documentId) {
|
|
11572
|
-
super(`Document with id ${documentId} not found`);
|
|
11573
|
-
__publicField(this, "documentId");
|
|
11574
|
-
this.documentId = documentId;
|
|
11575
|
-
}
|
|
11576
|
-
}
|
|
11577
|
-
class SynchronizationUnitNotFoundError extends Error {
|
|
11578
|
-
constructor(message, syncUnitId) {
|
|
11579
|
-
super(message);
|
|
11580
|
-
__publicField(this, "syncUnitId");
|
|
11581
|
-
this.syncUnitId = syncUnitId;
|
|
11582
|
-
}
|
|
11583
|
-
}
|
|
11584
11769
|
var RunAsap;
|
|
11585
11770
|
(function(RunAsap2) {
|
|
11586
11771
|
RunAsap2.useMessageChannel = (() => {
|
|
@@ -11720,9 +11905,6 @@ function mergeOperations(currentOperations, newOperations) {
|
|
|
11720
11905
|
return { ...acc, [curr.scope]: [...existingOperations, curr] };
|
|
11721
11906
|
}, currentOperations);
|
|
11722
11907
|
}
|
|
11723
|
-
function generateUUID() {
|
|
11724
|
-
return generateId();
|
|
11725
|
-
}
|
|
11726
11908
|
function isBefore(dateA, dateB) {
|
|
11727
11909
|
return new Date(dateA) < new Date(dateB);
|
|
11728
11910
|
}
|
|
@@ -11823,7 +12005,7 @@ class BaseQueueManager {
|
|
|
11823
12005
|
if (!this.delegate) {
|
|
11824
12006
|
throw new Error("No server delegate defined");
|
|
11825
12007
|
}
|
|
11826
|
-
const jobId =
|
|
12008
|
+
const jobId = generateId();
|
|
11827
12009
|
const queue = this.getQueue(job.driveId, job.documentId);
|
|
11828
12010
|
if (await queue.isDeleted()) {
|
|
11829
12011
|
throw new Error("Queue is deleted");
|
|
@@ -14929,7 +15111,10 @@ function visit(root, visitor, visitorKeys = QueryDocumentKeys) {
|
|
|
14929
15111
|
}
|
|
14930
15112
|
}
|
|
14931
15113
|
} else {
|
|
14932
|
-
node =
|
|
15114
|
+
node = Object.defineProperties(
|
|
15115
|
+
{},
|
|
15116
|
+
Object.getOwnPropertyDescriptors(node)
|
|
15117
|
+
);
|
|
14933
15118
|
for (const [editKey, editValue] of edits) {
|
|
14934
15119
|
node[editKey] = editValue;
|
|
14935
15120
|
}
|
|
@@ -20269,7 +20454,7 @@ function VariablesInAllowedPositionRule(context) {
|
|
|
20269
20454
|
},
|
|
20270
20455
|
leave(operation) {
|
|
20271
20456
|
const usages = context.getRecursiveVariableUsages(operation);
|
|
20272
|
-
for (const { node, type: type2, defaultValue
|
|
20457
|
+
for (const { node, type: type2, defaultValue } of usages) {
|
|
20273
20458
|
const varName = node.name.value;
|
|
20274
20459
|
const varDef = varDefMap[varName];
|
|
20275
20460
|
if (varDef && type2) {
|
|
@@ -20293,16 +20478,6 @@ function VariablesInAllowedPositionRule(context) {
|
|
|
20293
20478
|
)
|
|
20294
20479
|
);
|
|
20295
20480
|
}
|
|
20296
|
-
if (isInputObjectType(parentType) && parentType.isOneOf && isNullableType(varType)) {
|
|
20297
|
-
context.reportError(
|
|
20298
|
-
new GraphQLError(
|
|
20299
|
-
`Variable "$${varName}" is of type "${varType}" but must be non-nullable to be used for OneOf Input Object "${parentType}".`,
|
|
20300
|
-
{
|
|
20301
|
-
nodes: [varDef, node]
|
|
20302
|
-
}
|
|
20303
|
-
)
|
|
20304
|
-
);
|
|
20305
|
-
}
|
|
20306
20481
|
}
|
|
20307
20482
|
}
|
|
20308
20483
|
}
|
|
@@ -20486,8 +20661,7 @@ class ValidationContext extends ASTValidationContext {
|
|
|
20486
20661
|
newUsages.push({
|
|
20487
20662
|
node: variable,
|
|
20488
20663
|
type: typeInfo.getInputType(),
|
|
20489
|
-
defaultValue: typeInfo.getDefaultValue()
|
|
20490
|
-
parentType: typeInfo.getParentInputType()
|
|
20664
|
+
defaultValue: typeInfo.getDefaultValue()
|
|
20491
20665
|
});
|
|
20492
20666
|
}
|
|
20493
20667
|
})
|
|
@@ -20585,6 +20759,22 @@ function assertValidSDL(documentAST) {
|
|
|
20585
20759
|
throw new Error(errors.map((error) => error.message).join("\n\n"));
|
|
20586
20760
|
}
|
|
20587
20761
|
}
|
|
20762
|
+
function assertValidSDLExtension(documentAST, schema) {
|
|
20763
|
+
const errors = validateSDL(documentAST, schema);
|
|
20764
|
+
if (errors.length !== 0) {
|
|
20765
|
+
throw new Error(errors.map((error) => error.message).join("\n\n"));
|
|
20766
|
+
}
|
|
20767
|
+
}
|
|
20768
|
+
function extendSchema(schema, documentAST, options) {
|
|
20769
|
+
assertSchema(schema);
|
|
20770
|
+
documentAST != null && documentAST.kind === Kind.DOCUMENT || devAssert(false, "Must provide valid Document AST.");
|
|
20771
|
+
{
|
|
20772
|
+
assertValidSDLExtension(documentAST, schema);
|
|
20773
|
+
}
|
|
20774
|
+
const schemaConfig = schema.toConfig();
|
|
20775
|
+
const extendedConfig = extendSchemaImpl(schemaConfig, documentAST, options);
|
|
20776
|
+
return schemaConfig === extendedConfig ? schema : new GraphQLSchema(extendedConfig);
|
|
20777
|
+
}
|
|
20588
20778
|
function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
20589
20779
|
var _schemaDef, _schemaDef$descriptio, _schemaDef2, _options$assumeValid;
|
|
20590
20780
|
const typeDefs = [];
|
|
@@ -22154,14 +22344,18 @@ async function fetchDocument(url, documentId, documentModelModule) {
|
|
|
22154
22344
|
local: []
|
|
22155
22345
|
},
|
|
22156
22346
|
attachments: {},
|
|
22157
|
-
initialState:
|
|
22158
|
-
|
|
22159
|
-
|
|
22160
|
-
|
|
22161
|
-
|
|
22162
|
-
|
|
22163
|
-
|
|
22164
|
-
|
|
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
|
+
},
|
|
22165
22359
|
clipboard: []
|
|
22166
22360
|
} : null;
|
|
22167
22361
|
return {
|
|
@@ -22216,7 +22410,13 @@ class ReadModeService {
|
|
|
22216
22410
|
return document;
|
|
22217
22411
|
}
|
|
22218
22412
|
async addReadDrive(url, options) {
|
|
22219
|
-
|
|
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
|
+
}
|
|
22220
22420
|
const result = await __privateMethod(this, _ReadModeService_instances, fetchDrive_fn).call(this, id, url);
|
|
22221
22421
|
if (result instanceof Error) {
|
|
22222
22422
|
throw result;
|
|
@@ -22239,7 +22439,7 @@ class ReadModeService {
|
|
|
22239
22439
|
return Promise.resolve(result ? { ...result.drive, readContext: result.context } : new ReadDriveNotFoundError(id));
|
|
22240
22440
|
}
|
|
22241
22441
|
async getReadDriveBySlug(slug) {
|
|
22242
|
-
const readDrive = [...__privateGet(this, _drives).values()].find(({ drive }) => drive.
|
|
22442
|
+
const readDrive = [...__privateGet(this, _drives).values()].find(({ drive }) => drive.slug === slug);
|
|
22243
22443
|
return Promise.resolve(readDrive ? { ...readDrive.drive, readContext: readDrive.context } : new ReadDriveSlugNotFoundError(slug));
|
|
22244
22444
|
}
|
|
22245
22445
|
getReadDriveContext(id) {
|
|
@@ -22378,8 +22578,8 @@ class DefaultDrivesManager {
|
|
|
22378
22578
|
}
|
|
22379
22579
|
async preserveDrivesById(driveIdsToPreserve, drives, removeStrategy = "detach") {
|
|
22380
22580
|
const getAllDrives = drives.map((driveId) => this.server.getDrive(driveId));
|
|
22381
|
-
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.
|
|
22382
|
-
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);
|
|
22383
22583
|
if (removeStrategy === "detach") {
|
|
22384
22584
|
await this.detachDrivesById(driveIds);
|
|
22385
22585
|
} else {
|
|
@@ -22427,7 +22627,7 @@ class DefaultDrivesManager {
|
|
|
22427
22627
|
case "remove-all": {
|
|
22428
22628
|
const getDrives = driveids.map((driveId) => this.server.getDrive(driveId));
|
|
22429
22629
|
const drives = await Promise.all(getDrives);
|
|
22430
|
-
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);
|
|
22431
22631
|
await this.removeDrivesById(drivesToRemove);
|
|
22432
22632
|
break;
|
|
22433
22633
|
}
|
|
@@ -22704,7 +22904,7 @@ class PullResponderTransmitter {
|
|
|
22704
22904
|
static async executePull(driveId, trigger, onStrandUpdate, onError, onRevisions, onAcknowledge) {
|
|
22705
22905
|
var _a2, _b;
|
|
22706
22906
|
staticLogger().verbose(`executePull(driveId: ${driveId}), trigger:`, trigger);
|
|
22707
|
-
staticLogger().
|
|
22907
|
+
staticLogger().debug(`[SYNC DEBUG] PullResponderTransmitter.executePull starting for drive: ${driveId}, listenerId: ${trigger.data.listenerId}`);
|
|
22708
22908
|
const { url } = trigger.data;
|
|
22709
22909
|
let strands;
|
|
22710
22910
|
let error;
|
|
@@ -22868,7 +23068,7 @@ class PullResponderTransmitter {
|
|
|
22868
23068
|
};
|
|
22869
23069
|
const listenerId = await PullResponderTransmitter.registerPullResponder(driveId, url, filter);
|
|
22870
23070
|
const pullTrigger = {
|
|
22871
|
-
id:
|
|
23071
|
+
id: generateId(),
|
|
22872
23072
|
type: "PullResponder",
|
|
22873
23073
|
driveId,
|
|
22874
23074
|
filter,
|
|
@@ -23301,7 +23501,7 @@ class BaseDocumentDriveServer {
|
|
|
23301
23501
|
async _initializeDrive(driveId) {
|
|
23302
23502
|
var _a2, _b, _c;
|
|
23303
23503
|
const drive = await this.getDrive(driveId);
|
|
23304
|
-
this.logger.verbose(`[SYNC DEBUG] Initializing drive ${driveId} with slug "${drive.
|
|
23504
|
+
this.logger.verbose(`[SYNC DEBUG] Initializing drive ${driveId} with slug "${drive.slug}"`);
|
|
23305
23505
|
await this.synchronizationManager.initializeDriveSyncStatus(driveId, drive);
|
|
23306
23506
|
if (this.shouldSyncRemoteDrive(drive)) {
|
|
23307
23507
|
this.logger.verbose(`[SYNC DEBUG] Starting sync for remote drive ${driveId}`);
|
|
@@ -23315,7 +23515,7 @@ class BaseDocumentDriveServer {
|
|
|
23315
23515
|
this.logger.verbose(`[SYNC DEBUG] Created SwitchboardPush transmitter with URL: ${zodListener.callInfo.data || "none"}`);
|
|
23316
23516
|
await this.listenerManager.setListener(driveId, {
|
|
23317
23517
|
block: zodListener.block,
|
|
23318
|
-
driveId: drive.
|
|
23518
|
+
driveId: drive.id,
|
|
23319
23519
|
filter: {
|
|
23320
23520
|
branch: zodListener.filter.branch ?? [],
|
|
23321
23521
|
documentId: zodListener.filter.documentId ?? [],
|
|
@@ -23377,25 +23577,25 @@ class BaseDocumentDriveServer {
|
|
|
23377
23577
|
return [...this.documentModelModules];
|
|
23378
23578
|
}
|
|
23379
23579
|
async addDrive(input, preferredEditor) {
|
|
23380
|
-
const id = input.global.id || generateUUID();
|
|
23381
|
-
if (!id) {
|
|
23382
|
-
throw new Error("Invalid Drive Id");
|
|
23383
|
-
}
|
|
23384
|
-
const drives = await this.legacyStorage.getDrives();
|
|
23385
|
-
if (drives.includes(id)) {
|
|
23386
|
-
throw new DocumentAlreadyExistsError(id);
|
|
23387
|
-
}
|
|
23388
23580
|
const document = createDocument({
|
|
23389
|
-
|
|
23581
|
+
id: input.id,
|
|
23582
|
+
slug: input.slug,
|
|
23583
|
+
state: {
|
|
23584
|
+
global: {
|
|
23585
|
+
icon: input.global.icon ?? null,
|
|
23586
|
+
name: input.global.name
|
|
23587
|
+
},
|
|
23588
|
+
local: input.local
|
|
23589
|
+
}
|
|
23390
23590
|
});
|
|
23391
23591
|
document.meta = {
|
|
23392
23592
|
preferredEditor
|
|
23393
23593
|
};
|
|
23394
|
-
await this.
|
|
23395
|
-
if (input.
|
|
23396
|
-
await this.cache.deleteDriveBySlug(input.
|
|
23594
|
+
await this.documentStorage.create(document);
|
|
23595
|
+
if (input.slug && input.slug.length > 0) {
|
|
23596
|
+
await this.cache.deleteDriveBySlug(input.slug);
|
|
23397
23597
|
}
|
|
23398
|
-
await this._initializeDrive(id);
|
|
23598
|
+
await this._initializeDrive(document.id);
|
|
23399
23599
|
this.eventEmitter.emit("driveAdded", document);
|
|
23400
23600
|
return document;
|
|
23401
23601
|
}
|
|
@@ -23407,11 +23607,11 @@ class BaseDocumentDriveServer {
|
|
|
23407
23607
|
pullInterval
|
|
23408
23608
|
});
|
|
23409
23609
|
return await this.addDrive({
|
|
23610
|
+
id,
|
|
23611
|
+
slug,
|
|
23410
23612
|
global: {
|
|
23411
|
-
id,
|
|
23412
23613
|
name: name2,
|
|
23413
|
-
|
|
23414
|
-
icon: icon ?? null
|
|
23614
|
+
icon
|
|
23415
23615
|
},
|
|
23416
23616
|
local: {
|
|
23417
23617
|
triggers: [...triggers, pullTrigger],
|
|
@@ -23426,7 +23626,7 @@ class BaseDocumentDriveServer {
|
|
|
23426
23626
|
this.stopSyncRemoteDrive(driveId),
|
|
23427
23627
|
this.listenerManager.removeDrive(driveId),
|
|
23428
23628
|
this.cache.deleteDrive(driveId),
|
|
23429
|
-
this.
|
|
23629
|
+
this.documentStorage.delete(driveId)
|
|
23430
23630
|
]);
|
|
23431
23631
|
this.eventEmitter.emit("driveDeleted", driveId);
|
|
23432
23632
|
result.forEach((r) => {
|
|
@@ -23435,8 +23635,16 @@ class BaseDocumentDriveServer {
|
|
|
23435
23635
|
}
|
|
23436
23636
|
});
|
|
23437
23637
|
}
|
|
23438
|
-
|
|
23439
|
-
|
|
23638
|
+
// TODO: paginate
|
|
23639
|
+
async getDrives() {
|
|
23640
|
+
const drives = [];
|
|
23641
|
+
let cursor;
|
|
23642
|
+
do {
|
|
23643
|
+
const { documents, nextCursor } = await this.documentStorage.findByType("powerhouse/document-drive", 100, cursor);
|
|
23644
|
+
drives.push(...documents);
|
|
23645
|
+
cursor = nextCursor;
|
|
23646
|
+
} while (cursor);
|
|
23647
|
+
return drives;
|
|
23440
23648
|
}
|
|
23441
23649
|
async getDrive(driveId, options) {
|
|
23442
23650
|
let document;
|
|
@@ -23510,8 +23718,13 @@ class BaseDocumentDriveServer {
|
|
|
23510
23718
|
state = doc.state;
|
|
23511
23719
|
}
|
|
23512
23720
|
const document = input.document ?? this.getDocumentModelModule(input.documentType).utils.createDocument();
|
|
23721
|
+
if (input.id && input.id.length > 0) {
|
|
23722
|
+
document.id = input.id;
|
|
23723
|
+
}
|
|
23513
23724
|
const documentStorage = {
|
|
23725
|
+
id: document.id,
|
|
23514
23726
|
name: document.name,
|
|
23727
|
+
slug: document.slug,
|
|
23515
23728
|
revision: document.revision,
|
|
23516
23729
|
documentType: document.documentType,
|
|
23517
23730
|
created: document.created,
|
|
@@ -23521,7 +23734,7 @@ class BaseDocumentDriveServer {
|
|
|
23521
23734
|
clipboard: [],
|
|
23522
23735
|
state: state ?? document.state
|
|
23523
23736
|
};
|
|
23524
|
-
await this.documentStorage.create(
|
|
23737
|
+
await this.documentStorage.create(documentStorage);
|
|
23525
23738
|
try {
|
|
23526
23739
|
await this.documentStorage.addChild(driveId, input.id);
|
|
23527
23740
|
} catch (e) {
|
|
@@ -23660,12 +23873,18 @@ class BaseDocumentDriveServer {
|
|
|
23660
23873
|
handler = () => this.deleteDocument(driveId, signal.input.id);
|
|
23661
23874
|
break;
|
|
23662
23875
|
case "COPY_CHILD_DOCUMENT":
|
|
23663
|
-
handler = () => this.getDocument(driveId, signal.input.id).then((documentToCopy) =>
|
|
23664
|
-
|
|
23665
|
-
|
|
23666
|
-
|
|
23667
|
-
|
|
23668
|
-
|
|
23876
|
+
handler = () => this.getDocument(driveId, signal.input.id).then((documentToCopy) => {
|
|
23877
|
+
const doc = {
|
|
23878
|
+
...documentToCopy,
|
|
23879
|
+
slug: signal.input.newId
|
|
23880
|
+
};
|
|
23881
|
+
return this.createDocument(driveId, {
|
|
23882
|
+
id: signal.input.newId,
|
|
23883
|
+
documentType: documentToCopy.documentType,
|
|
23884
|
+
document: doc,
|
|
23885
|
+
synchronizationUnits: signal.input.synchronizationUnits
|
|
23886
|
+
});
|
|
23887
|
+
});
|
|
23669
23888
|
break;
|
|
23670
23889
|
}
|
|
23671
23890
|
if (handler) {
|
|
@@ -23922,13 +24141,6 @@ class BaseDocumentDriveServer {
|
|
|
23922
24141
|
addDriveOperation(driveId, operation, options) {
|
|
23923
24142
|
return this.addDriveOperations(driveId, [operation], options);
|
|
23924
24143
|
}
|
|
23925
|
-
async clearStorage() {
|
|
23926
|
-
var _a2, _b;
|
|
23927
|
-
for (const drive of await this.getDrives()) {
|
|
23928
|
-
await this.deleteDrive(drive);
|
|
23929
|
-
}
|
|
23930
|
-
await ((_b = (_a2 = this.legacyStorage).clearStorage) == null ? void 0 : _b.call(_a2));
|
|
23931
|
-
}
|
|
23932
24144
|
async _addDriveOperations(driveId, callback) {
|
|
23933
24145
|
if (!this.legacyStorage.addDriveOperationsWithTransaction) {
|
|
23934
24146
|
const documentStorage = await this.documentStorage.get(driveId);
|
|
@@ -24203,17 +24415,32 @@ class MemoryStorage {
|
|
|
24203
24415
|
exists(documentId) {
|
|
24204
24416
|
return Promise.resolve(!!this.documents[documentId]);
|
|
24205
24417
|
}
|
|
24206
|
-
|
|
24207
|
-
|
|
24208
|
-
|
|
24418
|
+
create(document) {
|
|
24419
|
+
const documentId = document.id;
|
|
24420
|
+
if (!isValidDocumentId(documentId)) {
|
|
24421
|
+
throw new DocumentIdValidationError(documentId);
|
|
24422
|
+
}
|
|
24423
|
+
if (this.documents[documentId]) {
|
|
24424
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
24425
|
+
}
|
|
24426
|
+
const slug = document.slug.length > 0 ? document.slug : documentId;
|
|
24427
|
+
if (!isValidSlug(slug)) {
|
|
24428
|
+
throw new DocumentSlugValidationError(slug);
|
|
24429
|
+
}
|
|
24430
|
+
if (slug && this.slugToDocumentId[slug]) {
|
|
24431
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
24432
|
+
}
|
|
24433
|
+
document.slug = slug;
|
|
24209
24434
|
this.documents[documentId] = document;
|
|
24210
|
-
const slug = (_a2 = document.initialState.state.global) == null ? void 0 : _a2.slug;
|
|
24211
24435
|
if (slug) {
|
|
24212
24436
|
if (this.slugToDocumentId[slug]) {
|
|
24213
|
-
throw new
|
|
24437
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
24214
24438
|
}
|
|
24215
24439
|
this.slugToDocumentId[slug] = documentId;
|
|
24216
24440
|
}
|
|
24441
|
+
if (document.documentType === "powerhouse/document-drive") {
|
|
24442
|
+
this.updateDriveManifest(documentId, { documentIds: /* @__PURE__ */ new Set() });
|
|
24443
|
+
}
|
|
24217
24444
|
return Promise.resolve();
|
|
24218
24445
|
}
|
|
24219
24446
|
get(documentId) {
|
|
@@ -24230,20 +24457,56 @@ class MemoryStorage {
|
|
|
24230
24457
|
}
|
|
24231
24458
|
return this.get(documentId);
|
|
24232
24459
|
}
|
|
24460
|
+
async findByType(documentModelType, limit = 100, cursor) {
|
|
24461
|
+
const documentsAndIds = Object.entries(this.documents).filter(([_, doc]) => doc.documentType === documentModelType).map(([id, doc]) => ({
|
|
24462
|
+
id,
|
|
24463
|
+
document: doc
|
|
24464
|
+
}));
|
|
24465
|
+
documentsAndIds.sort((a, b) => {
|
|
24466
|
+
const aDate = new Date(a.document.created);
|
|
24467
|
+
const bDate = new Date(b.document.created);
|
|
24468
|
+
if (aDate.getTime() === bDate.getTime()) {
|
|
24469
|
+
const aId = a.id;
|
|
24470
|
+
const bId = b.id;
|
|
24471
|
+
return aId.localeCompare(bId);
|
|
24472
|
+
}
|
|
24473
|
+
return aDate.getTime() - bDate.getTime();
|
|
24474
|
+
});
|
|
24475
|
+
let startIndex = 0;
|
|
24476
|
+
if (cursor) {
|
|
24477
|
+
const index = documentsAndIds.findIndex(({ id }) => id === cursor);
|
|
24478
|
+
if (index !== -1) {
|
|
24479
|
+
startIndex = index;
|
|
24480
|
+
}
|
|
24481
|
+
}
|
|
24482
|
+
const endIndex = Math.min(startIndex + limit, documentsAndIds.length);
|
|
24483
|
+
let nextCursor;
|
|
24484
|
+
if (endIndex < documentsAndIds.length) {
|
|
24485
|
+
nextCursor = documentsAndIds[endIndex].id;
|
|
24486
|
+
}
|
|
24487
|
+
return {
|
|
24488
|
+
documents: documentsAndIds.slice(startIndex, endIndex).map(({ id }) => id),
|
|
24489
|
+
nextCursor
|
|
24490
|
+
};
|
|
24491
|
+
}
|
|
24233
24492
|
async delete(documentId) {
|
|
24234
|
-
var _a2;
|
|
24235
24493
|
const document = this.documents[documentId];
|
|
24236
24494
|
if (document) {
|
|
24237
|
-
const slug =
|
|
24495
|
+
const slug = document.slug.length > 0 ? document.slug : documentId;
|
|
24238
24496
|
if (slug && this.slugToDocumentId[slug] === documentId) {
|
|
24239
24497
|
delete this.slugToDocumentId[slug];
|
|
24240
24498
|
}
|
|
24241
24499
|
}
|
|
24242
|
-
const
|
|
24243
|
-
for (const
|
|
24244
|
-
|
|
24245
|
-
|
|
24246
|
-
|
|
24500
|
+
const parents = await this.getParents(documentId);
|
|
24501
|
+
for (const parent of parents) {
|
|
24502
|
+
await this.removeChild(parent, documentId);
|
|
24503
|
+
}
|
|
24504
|
+
const children = await this.getChildren(documentId);
|
|
24505
|
+
for (const child of children) {
|
|
24506
|
+
const childParents = await this.getParents(child);
|
|
24507
|
+
if (childParents.length === 1) {
|
|
24508
|
+
await this.delete(child);
|
|
24509
|
+
}
|
|
24247
24510
|
}
|
|
24248
24511
|
delete this.driveManifests[documentId];
|
|
24249
24512
|
if (this.documents[documentId]) {
|
|
@@ -24277,14 +24540,26 @@ class MemoryStorage {
|
|
|
24277
24540
|
const manifest = this.getManifest(parentId);
|
|
24278
24541
|
return [...manifest.documentIds];
|
|
24279
24542
|
}
|
|
24543
|
+
async getParents(childId) {
|
|
24544
|
+
const parents = [];
|
|
24545
|
+
for (const [driveId, manifest] of Object.entries(this.driveManifests)) {
|
|
24546
|
+
if (manifest.documentIds.has(childId)) {
|
|
24547
|
+
parents.push(driveId);
|
|
24548
|
+
}
|
|
24549
|
+
}
|
|
24550
|
+
return parents;
|
|
24551
|
+
}
|
|
24280
24552
|
////////////////////////////////
|
|
24281
|
-
//
|
|
24553
|
+
// IDocumentAdminStorage
|
|
24282
24554
|
////////////////////////////////
|
|
24283
|
-
async
|
|
24555
|
+
async clear() {
|
|
24284
24556
|
this.documents = {};
|
|
24285
24557
|
this.driveManifests = {};
|
|
24286
24558
|
this.slugToDocumentId = {};
|
|
24287
24559
|
}
|
|
24560
|
+
////////////////////////////////
|
|
24561
|
+
// IDriveStorage
|
|
24562
|
+
////////////////////////////////
|
|
24288
24563
|
async addDocumentOperations(drive, id, operations, header) {
|
|
24289
24564
|
const document = await this.get(id);
|
|
24290
24565
|
if (!document) {
|
|
@@ -24297,13 +24572,6 @@ class MemoryStorage {
|
|
|
24297
24572
|
operations: mergedOperations
|
|
24298
24573
|
};
|
|
24299
24574
|
}
|
|
24300
|
-
async getDrives() {
|
|
24301
|
-
return Object.keys(this.driveManifests);
|
|
24302
|
-
}
|
|
24303
|
-
async createDrive(id, drive) {
|
|
24304
|
-
await this.create(id, drive);
|
|
24305
|
-
this.updateDriveManifest(id, { documentIds: /* @__PURE__ */ new Set() });
|
|
24306
|
-
}
|
|
24307
24575
|
async addDriveOperations(id, operations, header) {
|
|
24308
24576
|
const drive = await this.get(id);
|
|
24309
24577
|
const mergedOperations = mergeOperations(drive.operations, operations);
|
|
@@ -24313,31 +24581,6 @@ class MemoryStorage {
|
|
|
24313
24581
|
operations: mergedOperations
|
|
24314
24582
|
};
|
|
24315
24583
|
}
|
|
24316
|
-
async deleteDrive(id) {
|
|
24317
|
-
const manifest = this.getManifest(id);
|
|
24318
|
-
const drives = await this.getDrives();
|
|
24319
|
-
await Promise.all([...manifest.documentIds].map((docId) => {
|
|
24320
|
-
var _a2;
|
|
24321
|
-
for (const driveId of drives) {
|
|
24322
|
-
if (driveId === id) {
|
|
24323
|
-
continue;
|
|
24324
|
-
}
|
|
24325
|
-
const manifest2 = this.getManifest(driveId);
|
|
24326
|
-
if (manifest2.documentIds.has(docId)) {
|
|
24327
|
-
return;
|
|
24328
|
-
}
|
|
24329
|
-
}
|
|
24330
|
-
const document = this.documents[docId];
|
|
24331
|
-
if (document) {
|
|
24332
|
-
const slug = (_a2 = document.initialState.state.global) == null ? void 0 : _a2.slug;
|
|
24333
|
-
if (slug && this.slugToDocumentId[slug] === docId) {
|
|
24334
|
-
delete this.slugToDocumentId[slug];
|
|
24335
|
-
}
|
|
24336
|
-
}
|
|
24337
|
-
delete this.documents[docId];
|
|
24338
|
-
}));
|
|
24339
|
-
await this.delete(id);
|
|
24340
|
-
}
|
|
24341
24584
|
async getSynchronizationUnitsRevision(units) {
|
|
24342
24585
|
const results = await Promise.allSettled(units.map(async (unit) => {
|
|
24343
24586
|
try {
|
|
@@ -25540,6 +25783,9 @@ function Syncing(props) {
|
|
|
25540
25783
|
function Tabler(props) {
|
|
25541
25784
|
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" })] });
|
|
25542
25785
|
}
|
|
25786
|
+
function TimelineCaret(props) {
|
|
25787
|
+
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" }) });
|
|
25788
|
+
}
|
|
25543
25789
|
function Timeline(props) {
|
|
25544
25790
|
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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" })] })] });
|
|
25545
25791
|
}
|
|
@@ -25680,6 +25926,7 @@ const iconComponents = {
|
|
|
25680
25926
|
Synced,
|
|
25681
25927
|
Syncing,
|
|
25682
25928
|
Tabler,
|
|
25929
|
+
TimelineCaret,
|
|
25683
25930
|
Timeline,
|
|
25684
25931
|
TrashFill,
|
|
25685
25932
|
Trash,
|
|
@@ -25742,7 +25989,12 @@ const ADD_TRIGGER = "ADD_TRIGGER";
|
|
|
25742
25989
|
const ADD_INVALID_TRIGGER = "ADD_INVALID_TRIGGER";
|
|
25743
25990
|
const defaultDriveOptions = [NEW_FOLDER, RENAME, SETTINGS];
|
|
25744
25991
|
const defaultFileOptions = [RENAME, DELETE, DUPLICATE];
|
|
25745
|
-
const defaultFolderOptions = [
|
|
25992
|
+
const defaultFolderOptions = [
|
|
25993
|
+
NEW_FOLDER,
|
|
25994
|
+
RENAME,
|
|
25995
|
+
DELETE,
|
|
25996
|
+
DUPLICATE
|
|
25997
|
+
];
|
|
25746
25998
|
const debugNodeOptions = [
|
|
25747
25999
|
ADD_TRIGGER,
|
|
25748
26000
|
REMOVE_TRIGGER,
|
|
@@ -25822,19 +26074,19 @@ const nodeOptionsMap = {
|
|
|
25822
26074
|
};
|
|
25823
26075
|
const name = "@powerhousedao/connect";
|
|
25824
26076
|
const productName = "Powerhouse-Connect";
|
|
25825
|
-
const version$1 = "1.0.
|
|
26077
|
+
const version$1 = "1.0.25-dev.0";
|
|
25826
26078
|
const description = "Powerhouse Connect";
|
|
25827
26079
|
const main = "./dist/index.html";
|
|
25828
26080
|
const type = "module";
|
|
25829
|
-
const engines = { "node": ">=
|
|
26081
|
+
const engines = { "node": ">=22.0.0" };
|
|
25830
26082
|
const files$1 = ["dist", "nginx.conf", "nginx.sh", "scripts"];
|
|
25831
26083
|
const license = "AGPL-3.0-only";
|
|
25832
26084
|
const author = "acaldas@powerhouse.inc";
|
|
25833
26085
|
const repository = { "type": "git", "url": "git+https://github.com/powerhouse-inc/document-model-electron.git" };
|
|
25834
26086
|
const bugs = { "url": "https://github.com/powerhouse-inc/document-model-electron/issues" };
|
|
25835
26087
|
const homepage = "https://github.com/powerhouse-inc/document-model-electron#readme";
|
|
25836
|
-
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" };
|
|
25837
|
-
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:*", "@rollup/plugin-node-resolve": "^15.2.3", "@sentry/browser": "^9.1.0", "@sentry/react": "^7.109.0", "@sentry/vite-plugin": "^2.
|
|
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.15.17", "@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" };
|
|
25838
26090
|
const optionalDependencies = { "@esbuild/linux-x64": "^0.21.4", "@rollup/rollup-linux-x64-musl": "4.14.3" };
|
|
25839
26091
|
const packageJson = {
|
|
25840
26092
|
name,
|
|
@@ -25875,13 +26127,15 @@ const PH_CONNECT_SENTRY_ENV = window.__VITE_ENVS.PH_CONNECT_SENTRY_ENV || "dev";
|
|
|
25875
26127
|
const PH_CONNECT_SENTRY_TRACING_ENABLED = window.__VITE_ENVS.PH_CONNECT_SENTRY_TRACING_ENABLED || "false";
|
|
25876
26128
|
const GA_TRACKING_ID = window.__VITE_ENVS.PH_CONNECT_GA_TRACKING_ID;
|
|
25877
26129
|
const PH_CONNECT_CLI_VERSION = window.__VITE_ENVS.PH_CONNECT_CLI_VERSION || void 0;
|
|
25878
|
-
|
|
25879
|
-
|
|
26130
|
+
const LOG_LEVEL = isLogLevel(window.__VITE_ENVS.LOG_LEVEL) ? window.__VITE_ENVS.LOG_LEVEL : "info";
|
|
26131
|
+
setLogLevel(LOG_LEVEL);
|
|
26132
|
+
logger$1.debug(`Setting log level to ${window.__VITE_ENVS.LOG_LEVEL}.`);
|
|
25880
26133
|
const connectConfig = {
|
|
25881
26134
|
appVersion: APP_VERSION,
|
|
25882
26135
|
studioMode: PH_CONNECT_STUDIO_MODE.toString() === "true",
|
|
25883
26136
|
warnOutdatedApp: WARN_OUTDATED_APP === "true",
|
|
25884
26137
|
routerBasename: PH_CONNECT_ROUTER_BASENAME,
|
|
26138
|
+
analyticsDatabaseName: `${PH_CONNECT_ROUTER_BASENAME}:analytics`,
|
|
25885
26139
|
sentry: {
|
|
25886
26140
|
dsn: PH_CONNECT_SENTRY_DSN,
|
|
25887
26141
|
env: PH_CONNECT_SENTRY_ENV,
|
|
@@ -25975,6 +26229,7 @@ DriveSections.filter(
|
|
|
25975
26229
|
};
|
|
25976
26230
|
});
|
|
25977
26231
|
var lzString = { exports: {} };
|
|
26232
|
+
lzString.exports;
|
|
25978
26233
|
var hasRequiredLzString;
|
|
25979
26234
|
function requireLzString() {
|
|
25980
26235
|
if (hasRequiredLzString) return lzString.exports;
|
|
@@ -28615,6 +28870,9 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28615
28870
|
name: namespace ? `${namespace}:${_BrowserStorage.DBName}` : _BrowserStorage.DBName
|
|
28616
28871
|
}));
|
|
28617
28872
|
}
|
|
28873
|
+
////////////////////////////////
|
|
28874
|
+
// IDocumentAdminStorage
|
|
28875
|
+
////////////////////////////////
|
|
28618
28876
|
async clear() {
|
|
28619
28877
|
const db = await this.db;
|
|
28620
28878
|
await db.clear();
|
|
@@ -28627,19 +28885,35 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28627
28885
|
const document = await db.getItem(this.buildDocumentKey(documentId));
|
|
28628
28886
|
return !!document;
|
|
28629
28887
|
}
|
|
28630
|
-
|
|
28631
|
-
|
|
28632
|
-
|
|
28888
|
+
async create(document) {
|
|
28889
|
+
const documentId = document.id;
|
|
28890
|
+
if (!isValidDocumentId(documentId)) {
|
|
28891
|
+
throw new DocumentIdValidationError(documentId);
|
|
28892
|
+
}
|
|
28633
28893
|
const db = await this.db;
|
|
28894
|
+
if (await this.exists(documentId)) {
|
|
28895
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
28896
|
+
}
|
|
28897
|
+
const slug = document.slug.length > 0 ? document.slug : documentId;
|
|
28898
|
+
if (!isValidSlug(slug)) {
|
|
28899
|
+
throw new DocumentSlugValidationError(slug);
|
|
28900
|
+
}
|
|
28901
|
+
const slugManifest = await this.getSlugManifest();
|
|
28902
|
+
if (slugManifest.slugToId[slug]) {
|
|
28903
|
+
throw new DocumentAlreadyExistsError(documentId);
|
|
28904
|
+
}
|
|
28905
|
+
document.slug = slug;
|
|
28634
28906
|
await db.setItem(this.buildDocumentKey(documentId), document);
|
|
28635
|
-
const slug = ((_a2 = document.initialState.state.global) == null ? void 0 : _a2.slug) ?? documentId;
|
|
28636
28907
|
if (slug) {
|
|
28637
|
-
const
|
|
28638
|
-
if (
|
|
28908
|
+
const slugManifest2 = await this.getSlugManifest();
|
|
28909
|
+
if (slugManifest2.slugToId[slug]) {
|
|
28639
28910
|
throw new Error(`Document with slug ${slug} already exists`);
|
|
28640
28911
|
}
|
|
28641
|
-
|
|
28642
|
-
await this.updateSlugManifest(
|
|
28912
|
+
slugManifest2.slugToId[slug] = documentId;
|
|
28913
|
+
await this.updateSlugManifest(slugManifest2);
|
|
28914
|
+
}
|
|
28915
|
+
if (document.documentType === "powerhouse/document-drive") {
|
|
28916
|
+
this.updateDriveManifest(documentId, { documentIds: [] });
|
|
28643
28917
|
}
|
|
28644
28918
|
}
|
|
28645
28919
|
async get(documentId) {
|
|
@@ -28658,15 +28932,56 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28658
28932
|
}
|
|
28659
28933
|
return this.get(documentId);
|
|
28660
28934
|
}
|
|
28935
|
+
async findByType(documentModelType, limit = 100, cursor) {
|
|
28936
|
+
const db = await this.db;
|
|
28937
|
+
const keys = await db.keys();
|
|
28938
|
+
const documentKeys = keys.filter((key) => key.startsWith(`${_BrowserStorage.DOCUMENT_KEY}${_BrowserStorage.SEP}`));
|
|
28939
|
+
const documentsAndIds = [];
|
|
28940
|
+
for (const key of documentKeys) {
|
|
28941
|
+
const documentId = key.slice(_BrowserStorage.DOCUMENT_KEY.length + _BrowserStorage.SEP.length);
|
|
28942
|
+
try {
|
|
28943
|
+
const document = await db.getItem(key);
|
|
28944
|
+
if (!document || document.documentType !== documentModelType) {
|
|
28945
|
+
continue;
|
|
28946
|
+
}
|
|
28947
|
+
documentsAndIds.push({ id: documentId, document });
|
|
28948
|
+
} catch (error) {
|
|
28949
|
+
continue;
|
|
28950
|
+
}
|
|
28951
|
+
}
|
|
28952
|
+
documentsAndIds.sort((a, b) => {
|
|
28953
|
+
const aDate = new Date(a.document.created);
|
|
28954
|
+
const bDate = new Date(b.document.created);
|
|
28955
|
+
if (aDate.getTime() === bDate.getTime()) {
|
|
28956
|
+
return a.id.localeCompare(b.id);
|
|
28957
|
+
}
|
|
28958
|
+
return aDate.getTime() - bDate.getTime();
|
|
28959
|
+
});
|
|
28960
|
+
let startIndex = 0;
|
|
28961
|
+
if (cursor) {
|
|
28962
|
+
const index = documentsAndIds.findIndex(({ id }) => id === cursor);
|
|
28963
|
+
if (index !== -1) {
|
|
28964
|
+
startIndex = index;
|
|
28965
|
+
}
|
|
28966
|
+
}
|
|
28967
|
+
const endIndex = Math.min(startIndex + limit, documentsAndIds.length);
|
|
28968
|
+
let nextCursor;
|
|
28969
|
+
if (endIndex < documentsAndIds.length) {
|
|
28970
|
+
nextCursor = documentsAndIds[endIndex].id;
|
|
28971
|
+
}
|
|
28972
|
+
return {
|
|
28973
|
+
documents: documentsAndIds.slice(startIndex, endIndex).map(({ id }) => id),
|
|
28974
|
+
nextCursor
|
|
28975
|
+
};
|
|
28976
|
+
}
|
|
28661
28977
|
async delete(documentId) {
|
|
28662
|
-
var _a2;
|
|
28663
28978
|
const db = await this.db;
|
|
28664
28979
|
const document = await db.getItem(this.buildDocumentKey(documentId));
|
|
28665
28980
|
if (!document) {
|
|
28666
28981
|
return false;
|
|
28667
28982
|
}
|
|
28983
|
+
const slug = document.slug.length > 0 ? document.slug : documentId;
|
|
28668
28984
|
try {
|
|
28669
|
-
const slug = (_a2 = document.initialState.state.global) == null ? void 0 : _a2.slug;
|
|
28670
28985
|
if (slug) {
|
|
28671
28986
|
const slugManifest = await this.getSlugManifest();
|
|
28672
28987
|
if (slugManifest.slugToId[slug] === documentId) {
|
|
@@ -28676,11 +28991,16 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28676
28991
|
}
|
|
28677
28992
|
} catch (error) {
|
|
28678
28993
|
}
|
|
28679
|
-
const
|
|
28680
|
-
for (const
|
|
28681
|
-
|
|
28682
|
-
|
|
28683
|
-
|
|
28994
|
+
const parents = await this.getParents(documentId);
|
|
28995
|
+
for (const parent of parents) {
|
|
28996
|
+
await this.removeChild(parent, documentId);
|
|
28997
|
+
}
|
|
28998
|
+
const children = await this.getChildren(documentId);
|
|
28999
|
+
for (const child of children) {
|
|
29000
|
+
const childParents = await this.getParents(child);
|
|
29001
|
+
if (childParents.length === 1 && childParents[0] === documentId) {
|
|
29002
|
+
await this.delete(child);
|
|
29003
|
+
}
|
|
28684
29004
|
}
|
|
28685
29005
|
await db.removeItem(this.buildManifestKey(documentId));
|
|
28686
29006
|
await db.removeItem(this.buildDocumentKey(documentId));
|
|
@@ -28714,6 +29034,20 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28714
29034
|
const manifest = await this.getManifest(parentId);
|
|
28715
29035
|
return manifest.documentIds;
|
|
28716
29036
|
}
|
|
29037
|
+
async getParents(childId) {
|
|
29038
|
+
const db = await this.db;
|
|
29039
|
+
const keys = await db.keys();
|
|
29040
|
+
const parents = [];
|
|
29041
|
+
const manifestKeys = keys.filter((key) => key.startsWith(`${_BrowserStorage.MANIFEST_KEY}${_BrowserStorage.SEP}`));
|
|
29042
|
+
for (const key of manifestKeys) {
|
|
29043
|
+
const driveId = key.slice(_BrowserStorage.MANIFEST_KEY.length + _BrowserStorage.SEP.length);
|
|
29044
|
+
const manifest = await this.getManifest(driveId);
|
|
29045
|
+
if (manifest.documentIds.includes(childId)) {
|
|
29046
|
+
parents.push(driveId);
|
|
29047
|
+
}
|
|
29048
|
+
}
|
|
29049
|
+
return parents;
|
|
29050
|
+
}
|
|
28717
29051
|
////////////////////////////////
|
|
28718
29052
|
// IDriveStorage
|
|
28719
29053
|
////////////////////////////////
|
|
@@ -28735,9 +29069,6 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28735
29069
|
const db = await this.db;
|
|
28736
29070
|
await db.setItem(_BrowserStorage.SLUG_MANIFEST_KEY, manifest);
|
|
28737
29071
|
}
|
|
28738
|
-
async clearStorage() {
|
|
28739
|
-
return (await this.db).clear();
|
|
28740
|
-
}
|
|
28741
29072
|
async addDocumentOperations(drive, id, operations, header) {
|
|
28742
29073
|
const document = await this.get(id);
|
|
28743
29074
|
if (!document) {
|
|
@@ -28751,20 +29082,6 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28751
29082
|
operations: mergedOperations
|
|
28752
29083
|
});
|
|
28753
29084
|
}
|
|
28754
|
-
async getDrives() {
|
|
28755
|
-
const db = await this.db;
|
|
28756
|
-
const keys = await db.keys();
|
|
28757
|
-
return keys.filter((key) => key.startsWith(_BrowserStorage.MANIFEST_KEY)).map((key) => key.slice(_BrowserStorage.MANIFEST_KEY.length + _BrowserStorage.SEP.length));
|
|
28758
|
-
}
|
|
28759
|
-
async createDrive(id, drive) {
|
|
28760
|
-
await this.create(id, drive);
|
|
28761
|
-
await this.updateDriveManifest(id, { documentIds: [] });
|
|
28762
|
-
}
|
|
28763
|
-
async deleteDrive(id) {
|
|
28764
|
-
const documents = await this.getChildren(id);
|
|
28765
|
-
await Promise.all(documents.map((doc) => this.delete(doc)));
|
|
28766
|
-
await this.delete(id);
|
|
28767
|
-
}
|
|
28768
29085
|
async addDriveOperations(id, operations, header) {
|
|
28769
29086
|
const drive = await this.get(id);
|
|
28770
29087
|
const mergedOperations = mergeOperations(drive.operations, operations);
|
|
@@ -28805,12 +29122,16 @@ const _BrowserStorage = class _BrowserStorage {
|
|
|
28805
29122
|
}
|
|
28806
29123
|
// migrates all stored operations from legacy signature to signatures array
|
|
28807
29124
|
async migrateOperationSignatures() {
|
|
28808
|
-
|
|
28809
|
-
|
|
28810
|
-
await this.
|
|
28811
|
-
const
|
|
28812
|
-
|
|
28813
|
-
|
|
29125
|
+
let cursor;
|
|
29126
|
+
do {
|
|
29127
|
+
const { documents: drives, nextCursor } = await this.findByType("powerhouse/document-drive", 100, cursor);
|
|
29128
|
+
for (const drive of drives) {
|
|
29129
|
+
await this.migrateDrive(drive);
|
|
29130
|
+
const documents = await this.getChildren(drive);
|
|
29131
|
+
await Promise.all(documents.map(async (docId) => this.migrateDocument(drive, docId)));
|
|
29132
|
+
}
|
|
29133
|
+
cursor = nextCursor;
|
|
29134
|
+
} while (cursor);
|
|
28814
29135
|
}
|
|
28815
29136
|
async migrateDrive(driveId) {
|
|
28816
29137
|
const drive = await this.get(driveId);
|
|
@@ -28884,8 +29205,11 @@ const getReactorDefaultDrivesConfig = () => {
|
|
|
28884
29205
|
}
|
|
28885
29206
|
};
|
|
28886
29207
|
};
|
|
28887
|
-
function
|
|
28888
|
-
return new
|
|
29208
|
+
function createBrowserStorage(routerBasename) {
|
|
29209
|
+
return new BrowserStorage(routerBasename);
|
|
29210
|
+
}
|
|
29211
|
+
function createBrowserDocumentDriveServer(documentModels, storage) {
|
|
29212
|
+
return new ReactorBuilder(documentModels).withStorage(storage).withCache(new InMemoryCache()).withQueueManager(new BaseQueueManager(1, 10)).withOptions({ ...getReactorDefaultDrivesConfig() }).build();
|
|
28889
29213
|
}
|
|
28890
29214
|
const VERSION_CHECK_INTERVAL = parseInt(window.__VITE_ENVS.PH_CONNECT_VERSION_CHECK_INTERVAL) || 60 * 60 * 1e3;
|
|
28891
29215
|
const basePath = connectConfig.routerBasename;
|
|
@@ -31444,14 +31768,14 @@ if (window.__VITE_ENVS.MODE === "development") {
|
|
|
31444
31768
|
} else {
|
|
31445
31769
|
serviceWorkerManager.registerServiceWorker(false);
|
|
31446
31770
|
}
|
|
31447
|
-
const App = lazy(() => __vitePreload(() => import("./app-
|
|
31771
|
+
const App = lazy(() => __vitePreload(() => import("./app-BUYipU-h.js").then((n) => n.bs), true ? __vite__mapDeps([0,1,2]) : void 0));
|
|
31448
31772
|
const AppLoader = /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(App, {}) });
|
|
31449
31773
|
const appLoader = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
31450
31774
|
__proto__: null,
|
|
31451
31775
|
default: AppLoader
|
|
31452
31776
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
31453
31777
|
export {
|
|
31454
|
-
|
|
31778
|
+
Icon as $,
|
|
31455
31779
|
AddStateExampleInputSchema as A,
|
|
31456
31780
|
SetModuleDescriptionInputSchema as B,
|
|
31457
31781
|
SetModuleNameInputSchema as C,
|
|
@@ -31478,148 +31802,149 @@ export {
|
|
|
31478
31802
|
baseLoadFromFile as X,
|
|
31479
31803
|
baseLoadFromInput as Y,
|
|
31480
31804
|
pascalCase as Z,
|
|
31481
|
-
|
|
31805
|
+
logger$1 as _,
|
|
31482
31806
|
createReducer as a,
|
|
31483
|
-
|
|
31484
|
-
|
|
31485
|
-
|
|
31486
|
-
|
|
31807
|
+
getNamedType as a$,
|
|
31808
|
+
getDefaultExportFromCjs as a0,
|
|
31809
|
+
LOCAL as a1,
|
|
31810
|
+
commonjsGlobal as a2,
|
|
31487
31811
|
SWITCHBOARD as a3,
|
|
31488
|
-
|
|
31489
|
-
|
|
31490
|
-
|
|
31491
|
-
|
|
31812
|
+
PUBLIC as a4,
|
|
31813
|
+
locationInfoByLocation as a5,
|
|
31814
|
+
sharingTypeOptions as a6,
|
|
31815
|
+
objectType as a7,
|
|
31492
31816
|
stringType as a8,
|
|
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
|
-
|
|
31522
|
-
|
|
31523
|
-
|
|
31817
|
+
recordType as a9,
|
|
31818
|
+
updateNode as aA,
|
|
31819
|
+
FILE as aB,
|
|
31820
|
+
moveNode as aC,
|
|
31821
|
+
generateNodesCopy as aD,
|
|
31822
|
+
copyNode as aE,
|
|
31823
|
+
createState as aF,
|
|
31824
|
+
setDriveName as aG,
|
|
31825
|
+
setAvailableOffline as aH,
|
|
31826
|
+
setSharingType as aI,
|
|
31827
|
+
SynchronizationUnitNotFoundError as aJ,
|
|
31828
|
+
removeTrigger as aK,
|
|
31829
|
+
PullResponderTransmitter as aL,
|
|
31830
|
+
addTrigger as aM,
|
|
31831
|
+
ReadDriveNotFoundError as aN,
|
|
31832
|
+
openUrl as aO,
|
|
31833
|
+
getNodeOptions as aP,
|
|
31834
|
+
DRIVE as aQ,
|
|
31835
|
+
FOLDER as aR,
|
|
31836
|
+
requestPublicDrive as aS,
|
|
31837
|
+
serviceWorkerManager as aT,
|
|
31838
|
+
packageJson as aU,
|
|
31839
|
+
t as aV,
|
|
31840
|
+
gql as aW,
|
|
31841
|
+
request as aX,
|
|
31842
|
+
inspect as aY,
|
|
31843
|
+
GraphQLError as aZ,
|
|
31844
|
+
invariant as a_,
|
|
31845
|
+
capitalCase as aa,
|
|
31846
|
+
CLOUD as ab,
|
|
31847
|
+
createZip as ac,
|
|
31524
31848
|
LZString as ad,
|
|
31525
31849
|
buildSignedOperation as ae,
|
|
31526
|
-
|
|
31527
|
-
|
|
31850
|
+
getDefaults as af,
|
|
31851
|
+
getI18n as ag,
|
|
31528
31852
|
connectConfig as ah,
|
|
31529
31853
|
hashDocumentStateForScope as ai,
|
|
31530
31854
|
getAugmentedNamespace as aj,
|
|
31531
|
-
|
|
31532
|
-
|
|
31533
|
-
|
|
31534
|
-
|
|
31535
|
-
|
|
31536
|
-
|
|
31537
|
-
|
|
31538
|
-
|
|
31539
|
-
|
|
31540
|
-
|
|
31541
|
-
|
|
31542
|
-
|
|
31543
|
-
|
|
31544
|
-
|
|
31545
|
-
|
|
31546
|
-
|
|
31855
|
+
childLogger as ak,
|
|
31856
|
+
process as al,
|
|
31857
|
+
setErrorHandler as am,
|
|
31858
|
+
driveDocumentModelModule as an,
|
|
31859
|
+
createBrowserStorage as ao,
|
|
31860
|
+
createBrowserDocumentDriveServer as ap,
|
|
31861
|
+
generateId as aq,
|
|
31862
|
+
reducer as ar,
|
|
31863
|
+
isDocumentDrive as as,
|
|
31864
|
+
generateAddNodeAction as at,
|
|
31865
|
+
isFileNode as au,
|
|
31866
|
+
uploadDocumentOperations as av,
|
|
31867
|
+
updateFile as aw,
|
|
31868
|
+
addFolder as ax,
|
|
31869
|
+
isFolderNode as ay,
|
|
31870
|
+
deleteNode as az,
|
|
31547
31871
|
SetStateSchemaInputSchema as b,
|
|
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
|
-
|
|
31610
|
-
|
|
31611
|
-
|
|
31872
|
+
DUPLICATE as b$,
|
|
31873
|
+
isInputObjectType as b0,
|
|
31874
|
+
isScalarType as b1,
|
|
31875
|
+
isObjectType as b2,
|
|
31876
|
+
isInterfaceType as b3,
|
|
31877
|
+
isUnionType as b4,
|
|
31878
|
+
isEnumType as b5,
|
|
31879
|
+
astFromValue as b6,
|
|
31880
|
+
print as b7,
|
|
31881
|
+
DEFAULT_DEPRECATION_REASON as b8,
|
|
31882
|
+
Kind as b9,
|
|
31883
|
+
isInputType as bA,
|
|
31884
|
+
GraphQLBoolean as bB,
|
|
31885
|
+
assertAbstractType as bC,
|
|
31886
|
+
doTypesOverlap as bD,
|
|
31887
|
+
DirectiveLocation as bE,
|
|
31888
|
+
specifiedRules as bF,
|
|
31889
|
+
NoUnusedFragmentsRule as bG,
|
|
31890
|
+
ExecutableDefinitionsRule as bH,
|
|
31891
|
+
validate as bI,
|
|
31892
|
+
validateSchema as bJ,
|
|
31893
|
+
GraphQLID as bK,
|
|
31894
|
+
GraphQLString as bL,
|
|
31895
|
+
GraphQLFloat as bM,
|
|
31896
|
+
GraphQLInt as bN,
|
|
31897
|
+
GraphQLDirective as bO,
|
|
31898
|
+
GraphQLUnionType as bP,
|
|
31899
|
+
isNonNullType as bQ,
|
|
31900
|
+
GraphQLNonNull as bR,
|
|
31901
|
+
isNamedType as bS,
|
|
31902
|
+
isLeafType as bT,
|
|
31903
|
+
GraphQLSchema as bU,
|
|
31904
|
+
buildSchema as bV,
|
|
31905
|
+
sentenceCase as bW,
|
|
31906
|
+
getDimensions as bX,
|
|
31907
|
+
READ as bY,
|
|
31908
|
+
nodeOptionsMap as bZ,
|
|
31909
|
+
defaultFileOptions as b_,
|
|
31910
|
+
isPrintableAsBlockString as ba,
|
|
31911
|
+
isSpecifiedDirective as bb,
|
|
31912
|
+
isSpecifiedScalarType as bc,
|
|
31913
|
+
isIntrospectionType as bd,
|
|
31914
|
+
z as be,
|
|
31915
|
+
GraphQLScalarType as bf,
|
|
31916
|
+
parse as bg,
|
|
31917
|
+
visit as bh,
|
|
31918
|
+
buildASTSchema as bi,
|
|
31919
|
+
extendSchema as bj,
|
|
31920
|
+
getNullableType as bk,
|
|
31921
|
+
isListType as bl,
|
|
31922
|
+
snakeCase as bm,
|
|
31923
|
+
constantCase as bn,
|
|
31924
|
+
isAbstractType as bo,
|
|
31925
|
+
BREAK as bp,
|
|
31926
|
+
GraphQLInputObjectType as bq,
|
|
31927
|
+
GraphQLList as br,
|
|
31928
|
+
GraphQLEnumType as bs,
|
|
31929
|
+
GraphQLObjectType as bt,
|
|
31930
|
+
GraphQLInterfaceType as bu,
|
|
31931
|
+
SchemaMetaFieldDef as bv,
|
|
31932
|
+
TypeMetaFieldDef as bw,
|
|
31933
|
+
TypeNameMetaFieldDef as bx,
|
|
31934
|
+
isCompositeType as by,
|
|
31935
|
+
isOutputType as bz,
|
|
31612
31936
|
createAction as c,
|
|
31613
|
-
|
|
31614
|
-
|
|
31615
|
-
|
|
31616
|
-
|
|
31617
|
-
|
|
31618
|
-
|
|
31619
|
-
|
|
31620
|
-
|
|
31621
|
-
|
|
31622
|
-
|
|
31937
|
+
RENAME as c0,
|
|
31938
|
+
WRITE as c1,
|
|
31939
|
+
DELETE as c2,
|
|
31940
|
+
defaultFolderOptions as c3,
|
|
31941
|
+
garbageCollect as c4,
|
|
31942
|
+
sortOperations as c5,
|
|
31943
|
+
UI_NODE as c6,
|
|
31944
|
+
undo as c7,
|
|
31945
|
+
redo as c8,
|
|
31946
|
+
useDocumentDispatch as c9,
|
|
31947
|
+
appLoader as ca,
|
|
31623
31948
|
ReorderModuleOperationsInputSchema as d,
|
|
31624
31949
|
DeleteOperationInputSchema as e,
|
|
31625
31950
|
SetOperationReducerInputSchema as f,
|
|
@@ -31644,3 +31969,4 @@ export {
|
|
|
31644
31969
|
ReorderModulesInputSchema as y,
|
|
31645
31970
|
DeleteModuleInputSchema as z
|
|
31646
31971
|
};
|
|
31972
|
+
//# sourceMappingURL=app-loader-BnRwgIP_.js.map
|