@powerhousedao/connect 6.2.2-dev.77 → 6.2.2-dev.79
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/{AddDriveModal-DIMewThf.js → AddDriveModal-Q-Ffh5XA.js} +4 -4
- package/dist/{AddDriveModal-DIMewThf.js.map → AddDriveModal-Q-Ffh5XA.js.map} +1 -1
- package/dist/{ClearStorageModal-DKy2tPYb.js → ClearStorageModal-DKr4-fbt.js} +4 -4
- package/dist/{ClearStorageModal-DKy2tPYb.js.map → ClearStorageModal-DKr4-fbt.js.map} +1 -1
- package/dist/{ConfirmDocumentUpgradeModal-CcpgpyOB.js → ConfirmDocumentUpgradeModal-FUOhZsk7.js} +4 -4
- package/dist/{ConfirmDocumentUpgradeModal-CcpgpyOB.js.map → ConfirmDocumentUpgradeModal-FUOhZsk7.js.map} +1 -1
- package/dist/{CookiesPolicyModal-Bns4789o.js → CookiesPolicyModal-BpyPPyxS.js} +3 -3
- package/dist/{CookiesPolicyModal-Bns4789o.js.map → CookiesPolicyModal-BpyPPyxS.js.map} +1 -1
- package/dist/{CreateDocumentModal-MlA2YRaW.js → CreateDocumentModal-C45W8J0V.js} +3 -3
- package/dist/{CreateDocumentModal-MlA2YRaW.js.map → CreateDocumentModal-C45W8J0V.js.map} +1 -1
- package/dist/{DebugSettingsModal-890WlVp4.js → DebugSettingsModal-BSOG0IYo.js} +6 -6
- package/dist/{DebugSettingsModal-890WlVp4.js.map → DebugSettingsModal-BSOG0IYo.js.map} +1 -1
- package/dist/{DeleteDriveModal-gP7j8C0Y.js → DeleteDriveModal-Dug84t1j.js} +4 -4
- package/dist/{DeleteDriveModal-gP7j8C0Y.js.map → DeleteDriveModal-Dug84t1j.js.map} +1 -1
- package/dist/{DeleteItemModal-CMM-fPsz.js → DeleteItemModal-mMzy3V8o.js} +4 -4
- package/dist/{DeleteItemModal-CMM-fPsz.js.map → DeleteItemModal-mMzy3V8o.js.map} +1 -1
- package/dist/{DisclaimerModal-meOyQCfU.js → DisclaimerModal-DvpD5dPM.js} +3 -3
- package/dist/{DisclaimerModal-meOyQCfU.js.map → DisclaimerModal-DvpD5dPM.js.map} +1 -1
- package/dist/{DocumentVersionUnsupportedModal-TlDH1aP5.js → DocumentVersionUnsupportedModal-C3Q0V75l.js} +3 -3
- package/dist/{DocumentVersionUnsupportedModal-TlDH1aP5.js.map → DocumentVersionUnsupportedModal-C3Q0V75l.js.map} +1 -1
- package/dist/{DownloadDocumentWithErrorsModal-CCdbt2jJ.js → DownloadDocumentWithErrorsModal-IKl0ljQb.js} +3 -3
- package/dist/{DownloadDocumentWithErrorsModal-CCdbt2jJ.js.map → DownloadDocumentWithErrorsModal-IKl0ljQb.js.map} +1 -1
- package/dist/{DriveAuthRequiredModal-9GsPnOYi.js → DriveAuthRequiredModal-Cw9eCAQ_.js} +4 -4
- package/dist/{DriveAuthRequiredModal-9GsPnOYi.js.map → DriveAuthRequiredModal-Cw9eCAQ_.js.map} +1 -1
- package/dist/{DriveSettingsModal-Bv0y1BEK.js → DriveSettingsModal-C6-mRQiv.js} +3 -3
- package/dist/{DriveSettingsModal-Bv0y1BEK.js.map → DriveSettingsModal-C6-mRQiv.js.map} +1 -1
- package/dist/{InspectorModal-C3L5F4Ma.js → InspectorModal-bxhxkGgI.js} +6 -6
- package/dist/{InspectorModal-C3L5F4Ma.js.map → InspectorModal-bxhxkGgI.js.map} +1 -1
- package/dist/{LoginModal-CxFHjxz8.js → LoginModal-CybbOm3N.js} +4 -4
- package/dist/{LoginModal-CxFHjxz8.js.map → LoginModal-CybbOm3N.js.map} +1 -1
- package/dist/{MissingPackageModal-C6HO-a7E.js → MissingPackageModal-C7usWVHQ.js} +4 -4
- package/dist/{MissingPackageModal-C6HO-a7E.js.map → MissingPackageModal-C7usWVHQ.js.map} +1 -1
- package/dist/{OpenFileDocumentsModal-6MK7Ourm.js → OpenFileDocumentsModal-C97XmbUj.js} +4 -4
- package/dist/{OpenFileDocumentsModal-6MK7Ourm.js.map → OpenFileDocumentsModal-C97XmbUj.js.map} +1 -1
- package/dist/{SettingsModal-DzW3OIrB.js → SettingsModal-Bb7CklKR.js} +134 -8
- package/dist/SettingsModal-Bb7CklKR.js.map +1 -0
- package/dist/{UpgradeDriveModal-077wPR2N.js → UpgradeDriveModal-_8t9slxQ.js} +3 -3
- package/dist/{UpgradeDriveModal-077wPR2N.js.map → UpgradeDriveModal-_8t9slxQ.js.map} +1 -1
- package/dist/{app-loader-VArdOK2J.js → app-loader-BckBQ0wA.js} +277 -261
- package/dist/app-loader-BckBQ0wA.js.map +1 -0
- package/dist/app-loader-DVAtwx1W.js +4 -0
- package/dist/build-info-BPiCqius.js +28 -0
- package/dist/build-info-BPiCqius.js.map +1 -0
- package/dist/components--lshEh0U.js +4 -0
- package/dist/{connect.config-XXdN7RFy.js → connect.config-ZWoeCSit.js} +5 -5
- package/dist/connect.config-ZWoeCSit.js.map +1 -0
- package/dist/{connection-state-DTSv8MDQ.js → connection-state-CedmAXd-.js} +4 -4
- package/dist/{connection-state-DTSv8MDQ.js.map → connection-state-CedmAXd-.js.map} +1 -1
- package/dist/{cookie-banner-BJrG_u38.js → cookie-banner-CTxjAKt4.js} +5 -5
- package/dist/{cookie-banner-BJrG_u38.js.map → cookie-banner-CTxjAKt4.js.map} +1 -1
- package/dist/{i18n-CWyz5j1Z.js → i18n-CWO0vYVd.js} +3 -5
- package/dist/{i18n-CWyz5j1Z.js.map → i18n-CWO0vYVd.js.map} +1 -1
- package/dist/load-BVbjbcJv.js +131 -0
- package/dist/load-BVbjbcJv.js.map +1 -0
- package/dist/main.js +1 -1
- package/dist/{pglite-seed-DQgqjlQu.js → pglite-seed-B7bWZwVg.js} +4 -4
- package/dist/{pglite-seed-DQgqjlQu.js.map → pglite-seed-B7bWZwVg.js.map} +1 -1
- package/dist/{preferences-store-C-u8PIwU.js → preferences-store-CUBzmf5F.js} +4 -4
- package/dist/{preferences-store-C-u8PIwU.js.map → preferences-store-CUBzmf5F.js.map} +1 -1
- package/dist/{pwa-manifest-link-CG8UajMz.js → pwa-manifest-link-DIgOSo2Q.js} +3 -3
- package/dist/{pwa-manifest-link-CG8UajMz.js.map → pwa-manifest-link-DIgOSo2Q.js.map} +1 -1
- package/dist/{reactor-C8E2rx64.js → reactor-DQrNNvEd.js} +8 -8
- package/dist/{reactor-C8E2rx64.js.map → reactor-DQrNNvEd.js.map} +1 -1
- package/dist/{registerServiceWorker-D98IrUws.js → registerServiceWorker-lSZgPKiH.js} +5 -5
- package/dist/{registerServiceWorker-D98IrUws.js.map → registerServiceWorker-lSZgPKiH.js.map} +1 -1
- package/dist/sentry-QXKgQmr2.js +15 -0
- package/dist/sentry-QXKgQmr2.js.map +1 -0
- package/dist/start-connect.js +1 -1
- package/dist/{toast-DtfTKZND.js → toast-BXIGd4Eb.js} +3 -3
- package/dist/{toast-DtfTKZND.js.map → toast-BXIGd4Eb.js.map} +1 -1
- package/dist/{use-renown-login-DtCtMWCo.js → use-renown-login-Cf3va6u_.js} +3 -3
- package/dist/{use-renown-login-DtCtMWCo.js.map → use-renown-login-Cf3va6u_.js.map} +1 -1
- package/dist/{useRegistryPackages-dCWW6oNq.js → useRegistryPackages-DMhCvTWq.js} +3 -3
- package/dist/{useRegistryPackages-dCWW6oNq.js.map → useRegistryPackages-DMhCvTWq.js.map} +1 -1
- package/package.json +12 -12
- package/dist/SettingsModal-DzW3OIrB.js.map +0 -1
- package/dist/app-loader-BLbUg8o4.js +0 -4
- package/dist/app-loader-VArdOK2J.js.map +0 -1
- package/dist/build-info-1EmBSRGA.js +0 -18
- package/dist/build-info-1EmBSRGA.js.map +0 -1
- package/dist/components-BmUSYnlz.js +0 -5
- package/dist/connect.config-XXdN7RFy.js.map +0 -1
- package/dist/load-RSUO_fUw.js +0 -100
- package/dist/load-RSUO_fUw.js.map +0 -1
- package/dist/package-C3Jxu89p.js +0 -133
- package/dist/package-C3Jxu89p.js.map +0 -1
- package/dist/reload-connect-toast-BzHqUfbu.js +0 -30
- package/dist/reload-connect-toast-BzHqUfbu.js.map +0 -1
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5b2c348d-cfb3-5e0e-8039-a00e21d28c40")}catch(e){}}();
|
|
3
3
|
import { n as getRuntimeConfig } from "./runtime-config-DL3QjcfM.js";
|
|
4
4
|
import { c as idbError } from "./pglite-major-B39aOEiE.js";
|
|
5
5
|
import { n as cloneFileData, r as migrateIdb } from "./pglite-migrate-core-Boxqqx-c.js";
|
|
6
|
-
import { a as defaultPHDocumentEditorConfig, i as defaultPHAppConfig, r as connectConfig } from "./connect.config-
|
|
7
|
-
import { f as PRIMARY_IDB_NAMES, r as subscribeWorkerConnection, s as getCachedMigrationMajor, t as getWorkerConnectionStatus, u as subscribeMigrationMajor } from "./connection-state-
|
|
8
|
-
import { n as serviceWorkerManager, r as subscribeServiceWorkerUpdate, t as getServiceWorkerUpdateAvailable } from "./registerServiceWorker-
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { t as useOpenRenownLogin } from "./use-renown-login-
|
|
6
|
+
import { a as defaultPHDocumentEditorConfig, i as defaultPHAppConfig, r as connectConfig } from "./connect.config-ZWoeCSit.js";
|
|
7
|
+
import { f as PRIMARY_IDB_NAMES, r as subscribeWorkerConnection, s as getCachedMigrationMajor, t as getWorkerConnectionStatus, u as subscribeMigrationMajor } from "./connection-state-CedmAXd-.js";
|
|
8
|
+
import { n as serviceWorkerManager, r as subscribeServiceWorkerUpdate, t as getServiceWorkerUpdateAvailable } from "./registerServiceWorker-lSZgPKiH.js";
|
|
9
|
+
import { t as setSentryModule } from "./sentry-QXKgQmr2.js";
|
|
10
|
+
import { i as useIsEmbedded, r as getIsEmbedded, t as useAcceptedCookies } from "./preferences-store-CUBzmf5F.js";
|
|
11
|
+
import { n as dismissToast, r as toast, t as ToastContainer } from "./toast-BXIGd4Eb.js";
|
|
12
|
+
import { t as useOpenRenownLogin } from "./use-renown-login-Cf3va6u_.js";
|
|
13
13
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
14
14
|
import { useTranslation } from "react-i18next";
|
|
15
15
|
import React, { StrictMode, Suspense, createElement, lazy, useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
16
16
|
import { DriveCollectionId, RenownWalletProvider, addFileWithProgress, getRevisionFromDate, initTheme, logout, setPHAppConfig, setPHDocumentEditorConfig, setRevisionHistoryVisible, setSelectedDrive, setSelectedNode, showPHModal, useAppModuleById, useConnectionStates, useDefaultAppModule, useDocumentById, useDocumentModelModuleById, useDocumentOperations, useDocumentVersionStatus, useDrives, useEditorModuleById, useEditorPreloader, useFallbackEditorModule, useIsAddDriveEnabled, useNodeParentFolderById, usePHModal, usePackageDiscoveryService, useReactorClientModule, useRevisionHistoryVisible, useSelectedDocument, useSelectedDocumentId, useSelectedDriveSafe, useSelectedFolder, useSelectedTimelineItem, useSyncList, useTheme, useUser, useVetraPackageManager, useVetraPackages } from "@powerhousedao/reactor-browser";
|
|
17
17
|
import { childLogger } from "document-model";
|
|
18
18
|
import { ConnectSidebar, ConnectTooltipProvider, DefaultEditorLoader, DriveAuthGate, DropZoneWrapper, HomeScreen, HomeScreenAddDriveItem, HomeScreenItem, LogoAnimation, PackageInstallModal, RevisionHistory, SidebarAddDriveItem, SidebarItem, UploadFileListContainer, formatFileSize, mapProgressStageToStatus, useEns } from "@powerhousedao/design-system/connect";
|
|
19
|
-
import { z } from "zod";
|
|
20
19
|
import { Outlet, RouterProvider, createBrowserRouter, createRoutesFromChildren, matchRoutes, useLocation, useNavigationType } from "react-router-dom";
|
|
21
20
|
import { useHotkeys } from "react-hotkeys-hook";
|
|
22
21
|
import { Icon, Modal, PowerhouseButton } from "@powerhousedao/design-system";
|
|
23
22
|
import { ErrorBoundary } from "react-error-boundary";
|
|
23
|
+
import { z } from "zod";
|
|
24
24
|
import { GenericDriveExplorer } from "@powerhousedao/powerhouse-vetra-packages/editors";
|
|
25
25
|
import { createReactorMcpProvider } from "@powerhousedao/reactor-mcp/tools";
|
|
26
|
-
import { ReactorChatFab } from "@powerhousedao/reactor-browser/ai";
|
|
26
|
+
import { ReactorChatFab, createSwitchboardSchemaTool } from "@powerhousedao/reactor-browser/ai";
|
|
27
27
|
import { twMerge } from "tailwind-merge";
|
|
28
28
|
import { mockAdapter } from "@renown/sdk/wallet/mock";
|
|
29
29
|
import { privyAdapter } from "@renown/sdk/wallet/privy";
|
|
@@ -393,230 +393,6 @@ async function migrateAllIfNeeded() {
|
|
|
393
393
|
});
|
|
394
394
|
}
|
|
395
395
|
//#endregion
|
|
396
|
-
//#region src/services/openpanel/buffer.ts
|
|
397
|
-
const buffer = [];
|
|
398
|
-
let errorHandler;
|
|
399
|
-
function defaultOnError(err) {
|
|
400
|
-
console.warn("[useOpenPanelAnalytics] track failed:", err);
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Forward a single event to the active client, swallowing any throw.
|
|
404
|
-
*
|
|
405
|
-
* The outer try/catch handles synchronous throws from `client.track`; the
|
|
406
|
-
* inner `.catch()` handles rejected promises. Both are needed because
|
|
407
|
-
* `Promise.resolve(x).catch()` cannot catch a throw from evaluating `x`.
|
|
408
|
-
*/
|
|
409
|
-
function forward(client, name, props) {
|
|
410
|
-
try {
|
|
411
|
-
Promise.resolve(client.track(name, props)).catch((err) => (errorHandler ?? defaultOnError)(err));
|
|
412
|
-
} catch (err) {
|
|
413
|
-
(errorHandler ?? defaultOnError)(err);
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
/**
|
|
417
|
-
* Drain the pre-init buffer in FIFO order through `client.track`, then forward
|
|
418
|
-
* subsequent events directly. Called once from `getOpenPanelClient()`.
|
|
419
|
-
*/
|
|
420
|
-
function drainOpenPanelBuffer(client, onError) {
|
|
421
|
-
errorHandler = onError;
|
|
422
|
-
const pending = buffer.splice(0, buffer.length);
|
|
423
|
-
for (const [name, props] of pending) forward(client, name, props);
|
|
424
|
-
}
|
|
425
|
-
/**
|
|
426
|
-
* Clear the buffer and reset the active client. Buffered pre-consent events
|
|
427
|
-
* are discarded so they are not replayed if the user later re-accepts.
|
|
428
|
-
*/
|
|
429
|
-
function clearOpenPanelBuffer() {
|
|
430
|
-
buffer.length = 0;
|
|
431
|
-
errorHandler = void 0;
|
|
432
|
-
}
|
|
433
|
-
//#endregion
|
|
434
|
-
//#region src/services/openpanel/client.ts
|
|
435
|
-
let client;
|
|
436
|
-
/**
|
|
437
|
-
* Returns the cached `OpenPanel` singleton, building it on first call.
|
|
438
|
-
*
|
|
439
|
-
* When `config.clientId` is empty it returns `undefined` without importing
|
|
440
|
-
* `@openpanel/web`, so the bundler can tree-shake the SDK out of production.
|
|
441
|
-
*/
|
|
442
|
-
async function getOpenPanelClient(config) {
|
|
443
|
-
if (!config.clientId) return;
|
|
444
|
-
if (client) return client;
|
|
445
|
-
const { OpenPanel: OpenPanelClass } = await import("@openpanel/web");
|
|
446
|
-
client = new OpenPanelClass({
|
|
447
|
-
clientId: config.clientId,
|
|
448
|
-
...config.apiUrl ? { apiUrl: config.apiUrl } : {},
|
|
449
|
-
trackScreenViews: true,
|
|
450
|
-
trackOutgoingLinks: true
|
|
451
|
-
});
|
|
452
|
-
client.setGlobalProperties({ app: "connect" });
|
|
453
|
-
drainOpenPanelBuffer(client);
|
|
454
|
-
return client;
|
|
455
|
-
}
|
|
456
|
-
/**
|
|
457
|
-
* Clears the cached singleton and the pre-init buffer. Call on consent
|
|
458
|
-
* revocation or during tests; buffered events are discarded, not replayed.
|
|
459
|
-
*/
|
|
460
|
-
function resetOpenPanelClient() {
|
|
461
|
-
client = void 0;
|
|
462
|
-
clearOpenPanelBuffer();
|
|
463
|
-
}
|
|
464
|
-
//#endregion
|
|
465
|
-
//#region src/services/openpanel/events.json
|
|
466
|
-
var events_default = [
|
|
467
|
-
{
|
|
468
|
-
"documentType": "powerhouse/document-drive",
|
|
469
|
-
"actionTypes": [
|
|
470
|
-
"ADD_FOLDER",
|
|
471
|
-
"DELETE_NODE",
|
|
472
|
-
"ADD_FILE",
|
|
473
|
-
"UPDATE_FILE",
|
|
474
|
-
"COPY_NODE",
|
|
475
|
-
"MOVE_NODE",
|
|
476
|
-
"SET_DRIVE_NAME",
|
|
477
|
-
"SET_DRIVE_ICON"
|
|
478
|
-
]
|
|
479
|
-
},
|
|
480
|
-
{
|
|
481
|
-
"documentType": "powerhouse/document-model",
|
|
482
|
-
"actionTypes": [
|
|
483
|
-
"SET_MODEL_NAME",
|
|
484
|
-
"SET_MODEL_ID",
|
|
485
|
-
"ADD_MODULE",
|
|
486
|
-
"DELETE_MODULE",
|
|
487
|
-
"ADD_OPERATION",
|
|
488
|
-
"DELETE_OPERATION"
|
|
489
|
-
]
|
|
490
|
-
},
|
|
491
|
-
{
|
|
492
|
-
"documentType": "powerhouse/reactor-drive",
|
|
493
|
-
"actionTypes": [
|
|
494
|
-
"ADD_FOLDER",
|
|
495
|
-
"REMOVE_FOLDER",
|
|
496
|
-
"UPDATE_FOLDER"
|
|
497
|
-
]
|
|
498
|
-
}
|
|
499
|
-
];
|
|
500
|
-
//#endregion
|
|
501
|
-
//#region src/services/openpanel/events.ts
|
|
502
|
-
const EventMappingSchema = z.object({
|
|
503
|
-
documentType: z.string().min(1),
|
|
504
|
-
actionTypes: z.array(z.string().min(1)).min(1),
|
|
505
|
-
alias: z.string().optional()
|
|
506
|
-
}).strict();
|
|
507
|
-
const EventMappingsSchema = z.array(EventMappingSchema).readonly();
|
|
508
|
-
/**
|
|
509
|
-
* Parses and validates the event mapping table, returning the validated array
|
|
510
|
-
* and an O(1) lookup map. Accepts a `raw` override for tests. Throws on zod
|
|
511
|
-
* failures and on duplicate `(documentType, actionType)` pairs.
|
|
512
|
-
*/
|
|
513
|
-
function loadEvents(raw = events_default) {
|
|
514
|
-
const result = EventMappingsSchema.safeParse(raw);
|
|
515
|
-
if (!result.success) throw new Error(`Invalid OpenPanel events.json: ${result.error.message}`);
|
|
516
|
-
const mappings = result.data;
|
|
517
|
-
const lookupMap = /* @__PURE__ */ new Map();
|
|
518
|
-
for (const mapping of mappings) {
|
|
519
|
-
let inner = lookupMap.get(mapping.documentType);
|
|
520
|
-
if (!inner) {
|
|
521
|
-
inner = /* @__PURE__ */ new Map();
|
|
522
|
-
lookupMap.set(mapping.documentType, inner);
|
|
523
|
-
}
|
|
524
|
-
for (const actionType of mapping.actionTypes) {
|
|
525
|
-
if (inner.has(actionType)) throw new Error(`Duplicate OpenPanel event mapping for ${mapping.documentType}/${actionType}`);
|
|
526
|
-
inner.set(actionType, mapping);
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
return {
|
|
530
|
-
mappings,
|
|
531
|
-
lookupMap
|
|
532
|
-
};
|
|
533
|
-
}
|
|
534
|
-
const { mappings: defaultMappings, lookupMap: defaultLookupMap } = loadEvents();
|
|
535
|
-
/** Validated mapping array from the bundled events.json. */
|
|
536
|
-
const eventMappings = defaultMappings;
|
|
537
|
-
/** O(1) lookup map: documentType → actionType → mapping. */
|
|
538
|
-
const eventLookupMap = defaultLookupMap;
|
|
539
|
-
/**
|
|
540
|
-
* Normalizes a document type into a safe event-name segment: lowercased, `/`
|
|
541
|
-
* replaced with `.`, and any character outside `[a-z0-9._-]` stripped.
|
|
542
|
-
* e.g. `powerhouse/document-drive` → `powerhouse.document-drive`.
|
|
543
|
-
*/
|
|
544
|
-
function normalize(documentType) {
|
|
545
|
-
return documentType.toLowerCase().replace(/\//g, ".").replace(/[^a-z0-9._-]/g, "");
|
|
546
|
-
}
|
|
547
|
-
/**
|
|
548
|
-
* Derives the OpenPanel event name: `mapping.alias` when present, otherwise
|
|
549
|
-
* `${normalize(documentType)}.${actionType.toLowerCase()}`.
|
|
550
|
-
*/
|
|
551
|
-
function deriveEventName(mapping, op) {
|
|
552
|
-
if (mapping.alias) return mapping.alias;
|
|
553
|
-
return `${normalize(op.context.documentType)}.${op.operation.action.type.toLowerCase()}`;
|
|
554
|
-
}
|
|
555
|
-
/**
|
|
556
|
-
* Builds the default properties attached to every OpenPanel event. The `app`
|
|
557
|
-
* property is stamped globally by the client, not here.
|
|
558
|
-
*/
|
|
559
|
-
function buildDefaultProperties(op) {
|
|
560
|
-
return {
|
|
561
|
-
documentType: op.context.documentType,
|
|
562
|
-
actionType: op.operation.action.type,
|
|
563
|
-
documentId: op.context.documentId,
|
|
564
|
-
scope: op.context.scope,
|
|
565
|
-
branch: op.context.branch
|
|
566
|
-
};
|
|
567
|
-
}
|
|
568
|
-
//#endregion
|
|
569
|
-
//#region src/services/openpanel/processor.ts
|
|
570
|
-
/**
|
|
571
|
-
* Read-only reactor `IProcessor` that translates matching document operations
|
|
572
|
-
* into OpenPanel analytics events. Operations whose `(documentType, actionType)`
|
|
573
|
-
* pair is absent from the lookup map are skipped; per-operation errors are
|
|
574
|
-
* routed to `onError` and never thrown back to the manager.
|
|
575
|
-
*/
|
|
576
|
-
var OpenPanelProcessor = class {
|
|
577
|
-
constructor(client, lookupMap, onError = (err) => console.warn("[OpenPanelProcessor] Error tracking event:", err)) {
|
|
578
|
-
this.client = client;
|
|
579
|
-
this.lookupMap = lookupMap;
|
|
580
|
-
this.onError = onError;
|
|
581
|
-
}
|
|
582
|
-
async onOperations(operations) {
|
|
583
|
-
for (const op of operations) {
|
|
584
|
-
const inner = this.lookupMap.get(op.context.documentType);
|
|
585
|
-
if (!inner) continue;
|
|
586
|
-
const mapping = inner.get(op.operation.action.type);
|
|
587
|
-
if (!mapping) continue;
|
|
588
|
-
const name = deriveEventName(mapping, op);
|
|
589
|
-
const payload = buildDefaultProperties(op);
|
|
590
|
-
try {
|
|
591
|
-
await this.client.track(name, payload);
|
|
592
|
-
} catch (err) {
|
|
593
|
-
this.onError(err, op);
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
onDisconnect() {
|
|
598
|
-
this.client.flush?.();
|
|
599
|
-
return Promise.resolve();
|
|
600
|
-
}
|
|
601
|
-
};
|
|
602
|
-
//#endregion
|
|
603
|
-
//#region src/services/openpanel/factory.ts
|
|
604
|
-
/**
|
|
605
|
-
* Returns a `ProcessorFactory` that, for each drive, creates a single
|
|
606
|
-
* `OpenPanelProcessor` record whose `filter.documentType` is the union of all
|
|
607
|
-
* document types present in the event mapping table.
|
|
608
|
-
*/
|
|
609
|
-
function createOpenPanelProcessorFactory(config) {
|
|
610
|
-
return function openPanelProcessorFactory(_driveHeader) {
|
|
611
|
-
const documentType = Array.from(config.events.lookupMap.keys());
|
|
612
|
-
return [{
|
|
613
|
-
processor: new OpenPanelProcessor(config.client, config.events.lookupMap, config.onError),
|
|
614
|
-
filter: { documentType },
|
|
615
|
-
startFrom: config.startFrom ?? "current"
|
|
616
|
-
}];
|
|
617
|
-
};
|
|
618
|
-
}
|
|
619
|
-
//#endregion
|
|
620
396
|
//#region src/hooks/useFailedInstallations.ts
|
|
621
397
|
const emptyArray$1 = [];
|
|
622
398
|
function useFailedInstallations() {
|
|
@@ -687,6 +463,44 @@ function useInitSentry() {
|
|
|
687
463
|
}, [analytics]);
|
|
688
464
|
}
|
|
689
465
|
//#endregion
|
|
466
|
+
//#region src/services/openpanel/buffer.ts
|
|
467
|
+
const buffer = [];
|
|
468
|
+
let errorHandler;
|
|
469
|
+
function defaultOnError(err) {
|
|
470
|
+
console.warn("[useOpenPanelAnalytics] track failed:", err);
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Forward a single event to the active client, swallowing any throw.
|
|
474
|
+
*
|
|
475
|
+
* The outer try/catch handles synchronous throws from `client.track`; the
|
|
476
|
+
* inner `.catch()` handles rejected promises. Both are needed because
|
|
477
|
+
* `Promise.resolve(x).catch()` cannot catch a throw from evaluating `x`.
|
|
478
|
+
*/
|
|
479
|
+
function forward(client, name, props) {
|
|
480
|
+
try {
|
|
481
|
+
Promise.resolve(client.track(name, props)).catch((err) => (errorHandler ?? defaultOnError)(err));
|
|
482
|
+
} catch (err) {
|
|
483
|
+
(errorHandler ?? defaultOnError)(err);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Drain the pre-init buffer in FIFO order through `client.track`, then forward
|
|
488
|
+
* subsequent events directly. Called once from `getOpenPanelClient()`.
|
|
489
|
+
*/
|
|
490
|
+
function drainOpenPanelBuffer(client, onError) {
|
|
491
|
+
errorHandler = onError;
|
|
492
|
+
const pending = buffer.splice(0, buffer.length);
|
|
493
|
+
for (const [name, props] of pending) forward(client, name, props);
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Clear the buffer and reset the active client. Buffered pre-consent events
|
|
497
|
+
* are discarded so they are not replayed if the user later re-accepts.
|
|
498
|
+
*/
|
|
499
|
+
function clearOpenPanelBuffer() {
|
|
500
|
+
buffer.length = 0;
|
|
501
|
+
errorHandler = void 0;
|
|
502
|
+
}
|
|
503
|
+
//#endregion
|
|
690
504
|
//#region src/hooks/usePendingInstallations.ts
|
|
691
505
|
const emptyArray = [];
|
|
692
506
|
function usePendingInstallations() {
|
|
@@ -966,6 +780,192 @@ const Analytics = () => {
|
|
|
966
780
|
return null;
|
|
967
781
|
};
|
|
968
782
|
//#endregion
|
|
783
|
+
//#region src/services/openpanel/client.ts
|
|
784
|
+
let client;
|
|
785
|
+
/**
|
|
786
|
+
* Returns the cached `OpenPanel` singleton, building it on first call.
|
|
787
|
+
*
|
|
788
|
+
* When `config.clientId` is empty it returns `undefined` without importing
|
|
789
|
+
* `@openpanel/web`, so the bundler can tree-shake the SDK out of production.
|
|
790
|
+
*/
|
|
791
|
+
async function getOpenPanelClient(config) {
|
|
792
|
+
if (!config.clientId) return;
|
|
793
|
+
if (client) return client;
|
|
794
|
+
const { OpenPanel: OpenPanelClass } = await import("@openpanel/web");
|
|
795
|
+
client = new OpenPanelClass({
|
|
796
|
+
clientId: config.clientId,
|
|
797
|
+
...config.apiUrl ? { apiUrl: config.apiUrl } : {},
|
|
798
|
+
trackScreenViews: true,
|
|
799
|
+
trackOutgoingLinks: true
|
|
800
|
+
});
|
|
801
|
+
client.setGlobalProperties({ app: "connect" });
|
|
802
|
+
drainOpenPanelBuffer(client);
|
|
803
|
+
return client;
|
|
804
|
+
}
|
|
805
|
+
/**
|
|
806
|
+
* Clears the cached singleton and the pre-init buffer. Call on consent
|
|
807
|
+
* revocation or during tests; buffered events are discarded, not replayed.
|
|
808
|
+
*/
|
|
809
|
+
function resetOpenPanelClient() {
|
|
810
|
+
client = void 0;
|
|
811
|
+
clearOpenPanelBuffer();
|
|
812
|
+
}
|
|
813
|
+
//#endregion
|
|
814
|
+
//#region src/services/openpanel/events.json
|
|
815
|
+
var events_default = [
|
|
816
|
+
{
|
|
817
|
+
"documentType": "powerhouse/document-drive",
|
|
818
|
+
"actionTypes": [
|
|
819
|
+
"ADD_FOLDER",
|
|
820
|
+
"DELETE_NODE",
|
|
821
|
+
"ADD_FILE",
|
|
822
|
+
"UPDATE_FILE",
|
|
823
|
+
"COPY_NODE",
|
|
824
|
+
"MOVE_NODE",
|
|
825
|
+
"SET_DRIVE_NAME",
|
|
826
|
+
"SET_DRIVE_ICON"
|
|
827
|
+
]
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"documentType": "powerhouse/document-model",
|
|
831
|
+
"actionTypes": [
|
|
832
|
+
"SET_MODEL_NAME",
|
|
833
|
+
"SET_MODEL_ID",
|
|
834
|
+
"ADD_MODULE",
|
|
835
|
+
"DELETE_MODULE",
|
|
836
|
+
"ADD_OPERATION",
|
|
837
|
+
"DELETE_OPERATION"
|
|
838
|
+
]
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"documentType": "powerhouse/reactor-drive",
|
|
842
|
+
"actionTypes": [
|
|
843
|
+
"ADD_FOLDER",
|
|
844
|
+
"REMOVE_FOLDER",
|
|
845
|
+
"UPDATE_FOLDER"
|
|
846
|
+
]
|
|
847
|
+
}
|
|
848
|
+
];
|
|
849
|
+
//#endregion
|
|
850
|
+
//#region src/services/openpanel/events.ts
|
|
851
|
+
const EventMappingSchema = z.object({
|
|
852
|
+
documentType: z.string().min(1),
|
|
853
|
+
actionTypes: z.array(z.string().min(1)).min(1),
|
|
854
|
+
alias: z.string().optional()
|
|
855
|
+
}).strict();
|
|
856
|
+
const EventMappingsSchema = z.array(EventMappingSchema).readonly();
|
|
857
|
+
/**
|
|
858
|
+
* Parses and validates the event mapping table, returning the validated array
|
|
859
|
+
* and an O(1) lookup map. Accepts a `raw` override for tests. Throws on zod
|
|
860
|
+
* failures and on duplicate `(documentType, actionType)` pairs.
|
|
861
|
+
*/
|
|
862
|
+
function loadEvents(raw = events_default) {
|
|
863
|
+
const result = EventMappingsSchema.safeParse(raw);
|
|
864
|
+
if (!result.success) throw new Error(`Invalid OpenPanel events.json: ${result.error.message}`);
|
|
865
|
+
const mappings = result.data;
|
|
866
|
+
const lookupMap = /* @__PURE__ */ new Map();
|
|
867
|
+
for (const mapping of mappings) {
|
|
868
|
+
let inner = lookupMap.get(mapping.documentType);
|
|
869
|
+
if (!inner) {
|
|
870
|
+
inner = /* @__PURE__ */ new Map();
|
|
871
|
+
lookupMap.set(mapping.documentType, inner);
|
|
872
|
+
}
|
|
873
|
+
for (const actionType of mapping.actionTypes) {
|
|
874
|
+
if (inner.has(actionType)) throw new Error(`Duplicate OpenPanel event mapping for ${mapping.documentType}/${actionType}`);
|
|
875
|
+
inner.set(actionType, mapping);
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
return {
|
|
879
|
+
mappings,
|
|
880
|
+
lookupMap
|
|
881
|
+
};
|
|
882
|
+
}
|
|
883
|
+
const { mappings: defaultMappings, lookupMap: defaultLookupMap } = loadEvents();
|
|
884
|
+
/** Validated mapping array from the bundled events.json. */
|
|
885
|
+
const eventMappings = defaultMappings;
|
|
886
|
+
/** O(1) lookup map: documentType → actionType → mapping. */
|
|
887
|
+
const eventLookupMap = defaultLookupMap;
|
|
888
|
+
/**
|
|
889
|
+
* Normalizes a document type into a safe event-name segment: lowercased, `/`
|
|
890
|
+
* replaced with `.`, and any character outside `[a-z0-9._-]` stripped.
|
|
891
|
+
* e.g. `powerhouse/document-drive` → `powerhouse.document-drive`.
|
|
892
|
+
*/
|
|
893
|
+
function normalize(documentType) {
|
|
894
|
+
return documentType.toLowerCase().replace(/\//g, ".").replace(/[^a-z0-9._-]/g, "");
|
|
895
|
+
}
|
|
896
|
+
/**
|
|
897
|
+
* Derives the OpenPanel event name: `mapping.alias` when present, otherwise
|
|
898
|
+
* `${normalize(documentType)}.${actionType.toLowerCase()}`.
|
|
899
|
+
*/
|
|
900
|
+
function deriveEventName(mapping, op) {
|
|
901
|
+
if (mapping.alias) return mapping.alias;
|
|
902
|
+
return `${normalize(op.context.documentType)}.${op.operation.action.type.toLowerCase()}`;
|
|
903
|
+
}
|
|
904
|
+
/**
|
|
905
|
+
* Builds the default properties attached to every OpenPanel event. The `app`
|
|
906
|
+
* property is stamped globally by the client, not here.
|
|
907
|
+
*/
|
|
908
|
+
function buildDefaultProperties(op) {
|
|
909
|
+
return {
|
|
910
|
+
documentType: op.context.documentType,
|
|
911
|
+
actionType: op.operation.action.type,
|
|
912
|
+
documentId: op.context.documentId,
|
|
913
|
+
scope: op.context.scope,
|
|
914
|
+
branch: op.context.branch
|
|
915
|
+
};
|
|
916
|
+
}
|
|
917
|
+
//#endregion
|
|
918
|
+
//#region src/services/openpanel/processor.ts
|
|
919
|
+
/**
|
|
920
|
+
* Read-only reactor `IProcessor` that translates matching document operations
|
|
921
|
+
* into OpenPanel analytics events. Operations whose `(documentType, actionType)`
|
|
922
|
+
* pair is absent from the lookup map are skipped; per-operation errors are
|
|
923
|
+
* routed to `onError` and never thrown back to the manager.
|
|
924
|
+
*/
|
|
925
|
+
var OpenPanelProcessor = class {
|
|
926
|
+
constructor(client, lookupMap, onError = (err) => console.warn("[OpenPanelProcessor] Error tracking event:", err)) {
|
|
927
|
+
this.client = client;
|
|
928
|
+
this.lookupMap = lookupMap;
|
|
929
|
+
this.onError = onError;
|
|
930
|
+
}
|
|
931
|
+
async onOperations(operations) {
|
|
932
|
+
for (const op of operations) {
|
|
933
|
+
const inner = this.lookupMap.get(op.context.documentType);
|
|
934
|
+
if (!inner) continue;
|
|
935
|
+
const mapping = inner.get(op.operation.action.type);
|
|
936
|
+
if (!mapping) continue;
|
|
937
|
+
const name = deriveEventName(mapping, op);
|
|
938
|
+
const payload = buildDefaultProperties(op);
|
|
939
|
+
try {
|
|
940
|
+
await this.client.track(name, payload);
|
|
941
|
+
} catch (err) {
|
|
942
|
+
this.onError(err, op);
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
onDisconnect() {
|
|
947
|
+
this.client.flush?.();
|
|
948
|
+
return Promise.resolve();
|
|
949
|
+
}
|
|
950
|
+
};
|
|
951
|
+
//#endregion
|
|
952
|
+
//#region src/services/openpanel/factory.ts
|
|
953
|
+
/**
|
|
954
|
+
* Returns a `ProcessorFactory` that, for each drive, creates a single
|
|
955
|
+
* `OpenPanelProcessor` record whose `filter.documentType` is the union of all
|
|
956
|
+
* document types present in the event mapping table.
|
|
957
|
+
*/
|
|
958
|
+
function createOpenPanelProcessorFactory(config) {
|
|
959
|
+
return function openPanelProcessorFactory(_driveHeader) {
|
|
960
|
+
const documentType = Array.from(config.events.lookupMap.keys());
|
|
961
|
+
return [{
|
|
962
|
+
processor: new OpenPanelProcessor(config.client, config.events.lookupMap, config.onError),
|
|
963
|
+
filter: { documentType },
|
|
964
|
+
startFrom: config.startFrom ?? "current"
|
|
965
|
+
}];
|
|
966
|
+
};
|
|
967
|
+
}
|
|
968
|
+
//#endregion
|
|
969
969
|
//#region src/components/openpanel-traits.ts
|
|
970
970
|
/**
|
|
971
971
|
* Builds the OpenPanel identity traits from a renown User.
|
|
@@ -1210,10 +1210,26 @@ function getReactorTools() {
|
|
|
1210
1210
|
return createReactorMcpProvider({
|
|
1211
1211
|
client,
|
|
1212
1212
|
syncManager
|
|
1213
|
-
}).then((provider) =>
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1213
|
+
}).then((provider) => {
|
|
1214
|
+
const builtInTools = Object.values(provider.tools).map((tool) => ({
|
|
1215
|
+
...tool,
|
|
1216
|
+
inputSchema: tool.inputSchema ?? {}
|
|
1217
|
+
}));
|
|
1218
|
+
const taken = new Set(builtInTools.map((tool) => tool.name));
|
|
1219
|
+
const packageTools = (ph?.vetraPackageManager?.packages ?? []).flatMap((pkg) => (pkg.aiTools ?? []).filter((tool) => {
|
|
1220
|
+
if (taken.has(tool.name)) {
|
|
1221
|
+
console.warn(`[Connect][AI] Package tool "${tool.name}" shadows an existing tool and was ignored.`);
|
|
1222
|
+
return false;
|
|
1223
|
+
}
|
|
1224
|
+
taken.add(tool.name);
|
|
1225
|
+
return true;
|
|
1226
|
+
}));
|
|
1227
|
+
return [
|
|
1228
|
+
...builtInTools,
|
|
1229
|
+
createSwitchboardSchemaTool(),
|
|
1230
|
+
...packageTools
|
|
1231
|
+
];
|
|
1232
|
+
});
|
|
1217
1233
|
}
|
|
1218
1234
|
/** Connect's bottom-right AI chat FAB, bound to the browser reactor. */
|
|
1219
1235
|
function ConnectReactorChatFab() {
|
|
@@ -2040,20 +2056,20 @@ const MigrationBanner = () => {
|
|
|
2040
2056
|
};
|
|
2041
2057
|
//#endregion
|
|
2042
2058
|
//#region src/components/modal/modals-container.tsx
|
|
2043
|
-
const AddDriveModal$1 = lazy(() => import("./AddDriveModal-
|
|
2044
|
-
const ClearStorageModal = lazy(() => import("./ClearStorageModal-
|
|
2045
|
-
const CookiesPolicyModal = lazy(() => import("./CookiesPolicyModal-
|
|
2046
|
-
const CreateDocumentModal$1 = lazy(() => import("./CreateDocumentModal-
|
|
2047
|
-
const DebugSettingsModal = lazy(() => import("./DebugSettingsModal-
|
|
2048
|
-
const DeleteDriveModal = lazy(() => import("./DeleteDriveModal-
|
|
2049
|
-
const DeleteItemModal = lazy(() => import("./DeleteItemModal-
|
|
2050
|
-
const DisclaimerModal = lazy(() => import("./DisclaimerModal-
|
|
2051
|
-
const DriveSettingsModal$1 = lazy(() => import("./DriveSettingsModal-
|
|
2052
|
-
const DownloadDocumentWithErrorsModal = lazy(() => import("./DownloadDocumentWithErrorsModal-
|
|
2053
|
-
const DocumentVersionUnsupportedModal = lazy(() => import("./DocumentVersionUnsupportedModal-
|
|
2054
|
-
const ConfirmDocumentUpgradeModal = lazy(() => import("./ConfirmDocumentUpgradeModal-
|
|
2055
|
-
const SettingsModal$1 = lazy(() => import("./SettingsModal-
|
|
2056
|
-
const UpgradeDriveModal = lazy(() => import("./UpgradeDriveModal-
|
|
2059
|
+
const AddDriveModal$1 = lazy(() => import("./AddDriveModal-Q-Ffh5XA.js").then((m) => ({ default: m.AddDriveModal })));
|
|
2060
|
+
const ClearStorageModal = lazy(() => import("./ClearStorageModal-DKr4-fbt.js").then((m) => ({ default: m.ClearStorageModal })));
|
|
2061
|
+
const CookiesPolicyModal = lazy(() => import("./CookiesPolicyModal-BpyPPyxS.js").then((m) => ({ default: m.CookiesPolicyModal })));
|
|
2062
|
+
const CreateDocumentModal$1 = lazy(() => import("./CreateDocumentModal-C45W8J0V.js").then((m) => ({ default: m.CreateDocumentModal })));
|
|
2063
|
+
const DebugSettingsModal = lazy(() => import("./DebugSettingsModal-BSOG0IYo.js").then((m) => ({ default: m.DebugSettingsModal })));
|
|
2064
|
+
const DeleteDriveModal = lazy(() => import("./DeleteDriveModal-Dug84t1j.js").then((m) => ({ default: m.DeleteDriveModal })));
|
|
2065
|
+
const DeleteItemModal = lazy(() => import("./DeleteItemModal-mMzy3V8o.js").then((m) => ({ default: m.DeleteItemModal })));
|
|
2066
|
+
const DisclaimerModal = lazy(() => import("./DisclaimerModal-DvpD5dPM.js").then((m) => ({ default: m.DisclaimerModal })));
|
|
2067
|
+
const DriveSettingsModal$1 = lazy(() => import("./DriveSettingsModal-C6-mRQiv.js").then((m) => ({ default: m.DriveSettingsModal })));
|
|
2068
|
+
const DownloadDocumentWithErrorsModal = lazy(() => import("./DownloadDocumentWithErrorsModal-IKl0ljQb.js").then((m) => ({ default: m.DownloadDocumentWithErrorsModal })));
|
|
2069
|
+
const DocumentVersionUnsupportedModal = lazy(() => import("./DocumentVersionUnsupportedModal-C3Q0V75l.js").then((m) => ({ default: m.DocumentVersionUnsupportedModal })));
|
|
2070
|
+
const ConfirmDocumentUpgradeModal = lazy(() => import("./ConfirmDocumentUpgradeModal-FUOhZsk7.js").then((m) => ({ default: m.ConfirmDocumentUpgradeModal })));
|
|
2071
|
+
const SettingsModal$1 = lazy(() => import("./SettingsModal-Bb7CklKR.js").then((m) => ({ default: m.SettingsModal })));
|
|
2072
|
+
const UpgradeDriveModal = lazy(() => import("./UpgradeDriveModal-_8t9slxQ.js").then((m) => ({ default: m.UpgradeDriveModal })));
|
|
2057
2073
|
const modalComponents = {
|
|
2058
2074
|
addDrive: AddDriveModal$1,
|
|
2059
2075
|
clearStorage: ClearStorageModal,
|
|
@@ -2067,13 +2083,13 @@ const modalComponents = {
|
|
|
2067
2083
|
downloadDocumentWithErrors: DownloadDocumentWithErrorsModal,
|
|
2068
2084
|
documentVersionUnsupported: DocumentVersionUnsupportedModal,
|
|
2069
2085
|
confirmDocumentUpgrade: ConfirmDocumentUpgradeModal,
|
|
2070
|
-
inspector: lazy(() => import("./InspectorModal-
|
|
2086
|
+
inspector: lazy(() => import("./InspectorModal-bxhxkGgI.js").then((m) => ({ default: m.InspectorModal }))),
|
|
2071
2087
|
settings: SettingsModal$1,
|
|
2072
2088
|
upgradeDrive: UpgradeDriveModal,
|
|
2073
|
-
missingPackage: lazy(() => import("./MissingPackageModal-
|
|
2074
|
-
driveAuthRequired: lazy(() => import("./DriveAuthRequiredModal-
|
|
2075
|
-
openFileDocuments: lazy(() => import("./OpenFileDocumentsModal-
|
|
2076
|
-
login: lazy(() => import("./LoginModal-
|
|
2089
|
+
missingPackage: lazy(() => import("./MissingPackageModal-C7usWVHQ.js").then((m) => ({ default: m.ConnectMissingPackageModal }))),
|
|
2090
|
+
driveAuthRequired: lazy(() => import("./DriveAuthRequiredModal-Cw9eCAQ_.js").then((m) => ({ default: m.DriveAuthRequiredModal }))),
|
|
2091
|
+
openFileDocuments: lazy(() => import("./OpenFileDocumentsModal-C97XmbUj.js").then((m) => ({ default: m.OpenFileDocumentsModal }))),
|
|
2092
|
+
login: lazy(() => import("./LoginModal-CybbOm3N.js").then((m) => ({ default: m.LoginModal })))
|
|
2077
2093
|
};
|
|
2078
2094
|
const ModalsContainer = lazy(() => {
|
|
2079
2095
|
return Promise.resolve({ default: () => {
|
|
@@ -2112,9 +2128,9 @@ const ServiceWorkerUpdatePrompt = () => {
|
|
|
2112
2128
|
};
|
|
2113
2129
|
//#endregion
|
|
2114
2130
|
//#region src/components/app-loader.tsx
|
|
2115
|
-
const CookieBanner$1 = lazy(() => import("./cookie-banner-
|
|
2131
|
+
const CookieBanner$1 = lazy(() => import("./cookie-banner-CTxjAKt4.js").then((m) => ({ default: m.CookieBanner })));
|
|
2116
2132
|
const AppLoader = (props) => {
|
|
2117
|
-
const Load = lazy(() => import("./load-
|
|
2133
|
+
const Load = lazy(() => import("./load-BVbjbcJv.js").then((m) => m.loadComponent(props.localPackage)));
|
|
2118
2134
|
return /* @__PURE__ */ jsx(StrictMode, { children: /* @__PURE__ */ jsxs(ErrorBoundary$1, {
|
|
2119
2135
|
fallbackRender: (props) => /* @__PURE__ */ jsx(AppSkeleton, { children: /* @__PURE__ */ jsx(DetailedFallback, { ...props }) }),
|
|
2120
2136
|
resetKeys: [props.localPackage],
|
|
@@ -2150,5 +2166,5 @@ const AppLoader = (props) => {
|
|
|
2150
2166
|
//#endregion
|
|
2151
2167
|
export { pendingFileKey as _, DocumentEditor as a, AppContainer as c, OpenPanel as d, Analytics as f, getPendingImportFiles as g, clearPendingImportFiles as h, Root as i, EditorLoader as l, runOpenFileImports as m, Sidebar as n, DriveIcon as o, AppSkeleton as p, Router as r, App as s, AppLoader as t, DocumentEditorContainer as u, subscribePendingImportFiles as v };
|
|
2152
2168
|
|
|
2153
|
-
//# sourceMappingURL=app-loader-
|
|
2154
|
-
//# debugId=
|
|
2169
|
+
//# sourceMappingURL=app-loader-BckBQ0wA.js.map
|
|
2170
|
+
//# debugId=5b2c348d-cfb3-5e0e-8039-a00e21d28c40
|