@powerhousedao/connect 6.1.0-dev.0 → 6.1.0-dev.10

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.
Files changed (50) hide show
  1. package/dist/{AddDriveModal-ZK9-BWMB.js → AddDriveModal-Cg2qcYp6.js} +9 -5
  2. package/dist/AddDriveModal-Cg2qcYp6.js.map +1 -0
  3. package/dist/{ClearStorageModal-BLr3sRfl.js → ClearStorageModal-Dx_kY08P.js} +4 -4
  4. package/dist/{ClearStorageModal-BLr3sRfl.js.map → ClearStorageModal-Dx_kY08P.js.map} +1 -1
  5. package/dist/{CreateDocumentModal-BhJh4nWt.js → CreateDocumentModal-7vgZ8nbM.js} +6 -4
  6. package/dist/{CreateDocumentModal-BhJh4nWt.js.map → CreateDocumentModal-7vgZ8nbM.js.map} +1 -1
  7. package/dist/{DebugSettingsModal-nkZL0AFY.js → DebugSettingsModal-DqdUaGGX.js} +6 -6
  8. package/dist/{DebugSettingsModal-nkZL0AFY.js.map → DebugSettingsModal-DqdUaGGX.js.map} +1 -1
  9. package/dist/{DeleteDriveModal-CbuIdjKY.js → DeleteDriveModal-ABue_rOY.js} +6 -4
  10. package/dist/{DeleteDriveModal-CbuIdjKY.js.map → DeleteDriveModal-ABue_rOY.js.map} +1 -1
  11. package/dist/{DeleteItemModal-9ErYlauT.js → DeleteItemModal-B6aHnYPD.js} +6 -4
  12. package/dist/{DeleteItemModal-9ErYlauT.js.map → DeleteItemModal-B6aHnYPD.js.map} +1 -1
  13. package/dist/{DownloadDocumentWithErrorsModal-KZGWQ4J7.js → DownloadDocumentWithErrorsModal-5NDf6rH4.js} +13 -11
  14. package/dist/{DownloadDocumentWithErrorsModal-KZGWQ4J7.js.map → DownloadDocumentWithErrorsModal-5NDf6rH4.js.map} +1 -1
  15. package/dist/{DriveSettingsModal-DEk05PS7.js → DriveSettingsModal-CNtCO4-y.js} +12 -6
  16. package/dist/{DriveSettingsModal-DEk05PS7.js.map → DriveSettingsModal-CNtCO4-y.js.map} +1 -1
  17. package/dist/{InspectorModal-DrBnrYZl.js → InspectorModal-Cm2GxgwK.js} +15 -14
  18. package/dist/InspectorModal-Cm2GxgwK.js.map +1 -0
  19. package/dist/{SettingsModal-Do3GTReR.js → SettingsModal-C51Yknme.js} +10 -11
  20. package/dist/SettingsModal-C51Yknme.js.map +1 -0
  21. package/dist/{build-info-HpD0_mze.js → build-info-Be_DASHP.js} +4 -4
  22. package/dist/{build-info-HpD0_mze.js.map → build-info-Be_DASHP.js.map} +1 -1
  23. package/dist/{connect.config-Cuh0hj_Q.js → connect.config-B2xP5Iez.js} +9 -3
  24. package/dist/{connect.config-Cuh0hj_Q.js.map → connect.config-B2xP5Iez.js.map} +1 -1
  25. package/dist/{i18n-4rfcgnb9.js → i18n-BuVT7wFQ.js} +4 -4
  26. package/dist/{i18n-4rfcgnb9.js.map → i18n-BuVT7wFQ.js.map} +1 -1
  27. package/dist/{load-BoBY3jk8.js → load-CqLMocU3.js} +7 -7
  28. package/dist/{load-BoBY3jk8.js.map → load-CqLMocU3.js.map} +1 -1
  29. package/dist/main.js +1 -1
  30. package/dist/{package-BYMjy1FR.js → package-DSatNpsZ.js} +15 -9
  31. package/dist/package-DSatNpsZ.js.map +1 -0
  32. package/dist/pglite.worker.js +7 -6
  33. package/dist/pglite.worker.js.map +1 -1
  34. package/dist/pglite.worker.legacy.js +7 -6
  35. package/dist/pglite.worker.legacy.js.map +1 -1
  36. package/dist/{reactor-CppbYt7w.js → reactor-BqTMQT3A.js} +20 -10
  37. package/dist/reactor-BqTMQT3A.js.map +1 -0
  38. package/dist/{registerServiceWorker-CMRF2LWE.js → registerServiceWorker-BkUnxLqB.js} +13 -11
  39. package/dist/{registerServiceWorker-CMRF2LWE.js.map → registerServiceWorker-BkUnxLqB.js.map} +1 -1
  40. package/dist/{sidebar-dOJMIiCv.js → sidebar-CcFfEje1.js} +412 -29
  41. package/dist/sidebar-CcFfEje1.js.map +1 -0
  42. package/dist/start-connect.js +1 -1
  43. package/dist/style.css +29 -0
  44. package/package.json +18 -12
  45. package/dist/AddDriveModal-ZK9-BWMB.js.map +0 -1
  46. package/dist/InspectorModal-DrBnrYZl.js.map +0 -1
  47. package/dist/SettingsModal-Do3GTReR.js.map +0 -1
  48. package/dist/package-BYMjy1FR.js.map +0 -1
  49. package/dist/reactor-CppbYt7w.js.map +0 -1
  50. package/dist/sidebar-dOJMIiCv.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsModal-C51Yknme.js","sources":["../src/components/modal/modals/settings/about.tsx","../src/components/modal/modals/settings/danger-zone.tsx","../src/components/modal/modals/settings/default-editor.tsx","../src/components/modal/modals/settings/package-manager.tsx","../src/components/modal/modals/SettingsModal.tsx"],"sourcesContent":["import { connectConfig } from \"@powerhousedao/connect/config\";\nimport {\n getGitSha,\n getGitUrl,\n packageJson,\n shortGitSha,\n} from \"@powerhousedao/connect/utils\";\nimport { Icon } from \"@powerhousedao/design-system\";\nimport { About as BaseAbout } from \"@powerhousedao/design-system/connect\";\nimport {\n closePHModal,\n driveCollectionId,\n showPHModal,\n useDrives,\n useDriveSystemInfo,\n useSyncList,\n} from \"@powerhousedao/reactor-browser\";\nimport type { DocumentDriveDocument } from \"@powerhousedao/shared/document-drive\";\nimport { useMemo } from \"react\";\n\nexport const About: React.FC = () => {\n const onOpenInspector = () => {\n closePHModal();\n showPHModal({ type: \"inspector\" });\n };\n\n return (\n <div>\n <BaseAbout\n packageJson={packageJson}\n phCliVersion={\n typeof connectConfig.phCliVersion === \"string\"\n ? connectConfig.phCliVersion\n : undefined\n }\n />\n <AppGitHash />\n <ConnectedDrives />\n <div className=\"bg-white p-3\">\n <h2 className=\"mb-2 font-semibold\">Inspector</h2>\n <p className=\"mb-3 text-sm font-normal text-gray-600\">\n Explore the local database and sync state for debugging.\n </p>\n <button\n className=\"flex items-center gap-x-2 rounded-md border border-gray-300 bg-transparent px-3 py-1 text-sm font-medium text-gray-900 transition-colors hover:bg-gray-100\"\n onClick={onOpenInspector}\n type=\"button\"\n >\n Open Inspector <Icon name=\"CircleInfo\" size={16} />\n </button>\n </div>\n </div>\n );\n};\n\nfunction AppGitHash() {\n const sha = getGitSha();\n if (sha === \"unknown\") return null;\n const url = getGitUrl();\n const label = shortGitSha(sha);\n return (\n <div className=\"bg-white p-3 text-sm\">\n <span className=\"font-semibold\">Git hash: </span>\n {url ? (\n <a\n className=\"font-mono underline\"\n href={url}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n title={sha}\n >\n {label}\n </a>\n ) : (\n <span className=\"font-mono\" title={sha}>\n {label}\n </span>\n )}\n </div>\n );\n}\n\nfunction ConnectedDrives() {\n const drives = useDrives() ?? [];\n const remotes = useSyncList();\n\n const remoteDrives = useMemo(\n () =>\n drives.filter((d) =>\n remotes.some(\n (r) => r.collectionId === driveCollectionId(\"main\", d.header.id),\n ),\n ),\n [drives, remotes],\n );\n\n return (\n <div className=\"my-4 bg-white p-3\">\n <h2 className=\"mb-2 font-semibold\">Connected drives</h2>\n {remoteDrives.length === 0 ? (\n <p className=\"text-sm font-normal text-gray-600\">\n No connected remote drives.\n </p>\n ) : (\n <ul className=\"flex flex-col gap-3\">\n {remoteDrives.map((drive) => (\n <DriveAboutEntry key={drive.header.id} drive={drive} />\n ))}\n </ul>\n )}\n </div>\n );\n}\n\nfunction DriveAboutEntry({ drive }: { drive: DocumentDriveDocument }) {\n const info = useDriveSystemInfo(drive);\n const name = drive.state.global.name || drive.header.name;\n\n return (\n <li className=\"text-sm text-gray-700\">\n <div className=\"flex items-baseline gap-2\">\n <span className=\"font-medium\">{name}</span>\n {info.status === \"ready\" && (\n <span className=\"text-xs text-gray-500\">{info.host}</span>\n )}\n </div>\n {info.status === \"loading\" && (\n <div className=\"mt-1 text-xs text-gray-400\">Loading…</div>\n )}\n {info.status === \"error\" && (\n <div className=\"mt-1 text-xs text-red-600\">\n Could not load system info\n </div>\n )}\n {info.status === \"ready\" && (\n <div className=\"mt-1 text-xs text-gray-600\">\n <div>\n <span className=\"font-medium\">Version:</span> {info.version}\n </div>\n <div>\n <span className=\"font-medium\">Git hash: </span>\n {info.gitUrl ? (\n <a\n className=\"font-mono hover:underline\"\n href={info.gitUrl}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n title={info.gitHash}\n >\n {shortGitSha(info.gitHash)}\n </a>\n ) : (\n <span className=\"font-mono\" title={info.gitHash}>\n {shortGitSha(info.gitHash)}\n </span>\n )}\n </div>\n </div>\n )}\n {info.status === \"local\" && (\n <div className=\"mt-1 text-xs text-gray-400\">Local drive — N/A</div>\n )}\n </li>\n );\n}\n","import { DangerZone as BaseDangerZone } from \"@powerhousedao/design-system/connect\";\nimport {\n deleteDrive,\n setSelectedDrive,\n showPHModal,\n useDrives,\n} from \"@powerhousedao/reactor-browser\";\nimport type { DocumentDriveDocument } from \"@powerhousedao/shared/document-drive\";\n\nexport const DangerZone: React.FC = () => {\n const drives = useDrives();\n\n const handleDeleteDrive = async (drive: DocumentDriveDocument) => {\n await deleteDrive(drive.header.id);\n setSelectedDrive(undefined);\n };\n\n const handleClearStorage = () => {\n showPHModal({ type: \"clearStorage\" });\n };\n\n return (\n <BaseDangerZone\n drives={drives ?? []}\n onDeleteDrive={(drive) => {\n void handleDeleteDrive(drive);\n }}\n onClearStorage={handleClearStorage}\n />\n );\n};\n","import { DefaultEditor as BaseDefaultEditor } from \"@powerhousedao/design-system/connect\";\nimport { useCallback, useState } from \"react\";\n\nconst documentModelEditorOptions = [\n { label: \"V1\", value: \"document-model-editor\" },\n { label: \"V2\", value: \"document-model-editor-v2\" },\n] as const;\n\nexport const DefaultEditor: React.FC = () => {\n const [documentModelEditor, setDocumentModelEditor] = useState<\n (typeof documentModelEditorOptions)[number]\n >(documentModelEditorOptions[1]);\n\n const handleSetDocumentEditor = useCallback((value: string) => {\n const option = documentModelEditorOptions.find((dm) => dm.value == value);\n if (option) {\n setDocumentModelEditor(option);\n }\n }, []);\n\n return (\n <BaseDefaultEditor\n documentModelEditor={documentModelEditor.value}\n setDocumentModelEditor={handleSetDocumentEditor}\n documentModelEditorOptions={\n documentModelEditorOptions as unknown as {\n value: string;\n label: string;\n }[]\n }\n />\n );\n};\n","import { useRegistryPackages } from \"@powerhousedao/connect/hooks\";\nimport { toast } from \"@powerhousedao/connect/services\";\nimport { PackageManager } from \"@powerhousedao/design-system/connect\";\nimport { useVetraPackageManager } from \"@powerhousedao/reactor-browser\";\nimport React from \"react\";\n\n/**\n * Split a `name@tag` spec into its bare package name. Mirrors the design-system's\n * `parsePackageSpec` — duplicated here to avoid reaching into a deep subpath\n * export. Scoped names split on the LAST `@`, unscoped on the first.\n */\nfunction parseBareName(spec: string): string {\n const trimmed = spec.trim();\n const at = trimmed.startsWith(\"@\")\n ? trimmed.lastIndexOf(\"@\")\n : trimmed.indexOf(\"@\");\n return at > 0 ? trimmed.slice(0, at) : trimmed;\n}\n\nexport const ConnectPackageManager: React.FC = () => {\n const packageManager = useVetraPackageManager();\n const {\n registryPackageList,\n updateRegistryPackageStatus,\n registerFallbackRegistryPackage,\n } = useRegistryPackages();\n\n async function handleInstall(packageSpec: string) {\n if (!packageManager) return;\n\n // The spec may include an explicit `@tag` / `@version` suffix from the\n // search input. Pass it through to the package manager as-is (the CDN\n // route already handles `name@tag` specs), but track status under the\n // bare name so the Settings list doesn't fragment.\n const bareName = parseBareName(packageSpec);\n // Packages that were in `/packages` when the user clicked Install go\n // through `updateRegistryPackageStatus` and hit an existing entry.\n // Packages that landed via the npm-uplink fallback weren't in the list,\n // so we register them explicitly rather than silently upserting a\n // placeholder — keeping the \"does not exist\" error as a signal for any\n // other code path that reaches update without a matching entry.\n const wasKnownToRegistry = registryPackageList.some(\n (p) => p.name === bareName,\n );\n const result = await packageManager.addPackage(packageSpec);\n if (result.type === \"success\") {\n if (wasKnownToRegistry) {\n updateRegistryPackageStatus(bareName, \"registry-install\");\n } else {\n registerFallbackRegistryPackage(\n bareName,\n result.package,\n packageManager.getPackageVersion(bareName) ??\n packageManager.getPackageVersion(packageSpec),\n \"registry-install\",\n );\n }\n toast(`Package \"${packageSpec}\" installed successfully`, {\n type: \"connect-success\",\n });\n } else {\n const message = result.error.message;\n // `BrowserPackageManager` raises a generic \"Failed to fetch dynamically\n // imported module\" when the registry CDN returns an error. That covers\n // both \"the name exists nowhere (not on this registry AND not on the\n // npmjs uplink)\" and \"the tarball is there but doesn't look like a\n // Powerhouse package\". Tell the user in plain terms before dumping the\n // raw error so the \"install from npm\" fallback case is self-explanatory.\n const isLikelyNotFound = /failed to fetch|404|not found/i.test(message);\n const userMessage = isLikelyNotFound\n ? `Could not install \"${packageSpec}\". The package isn't available on this registry, and the npmjs.org fallback could not resolve it either.`\n : `Failed to install \"${packageSpec}\": ${message}`;\n toast(userMessage, { type: \"error\" });\n }\n }\n\n function handleUninstall(packageName: string) {\n if (!packageManager) return;\n try {\n packageManager.removePackage(packageName);\n updateRegistryPackageStatus(packageName, \"available\");\n\n toast(`Package \"${packageName}\" uninstalled successfully`, {\n type: \"connect-success\",\n });\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Unknown error\";\n toast(`Failed to uninstall \"${packageName}\": ${message}`, {\n type: \"error\",\n });\n }\n }\n\n return (\n <div className=\"flex h-full flex-1 flex-col\">\n <PackageManager\n mutable={true}\n registryPackageList={registryPackageList}\n onInstall={handleInstall}\n onUninstall={handleUninstall}\n />\n </div>\n );\n};\n","import { Icon } from \"@powerhousedao/design-system\";\nimport { SettingsModal as SettingsModalV2 } from \"@powerhousedao/design-system/connect\";\nimport { closePHModal, usePHModal } from \"@powerhousedao/reactor-browser\";\nimport { t } from \"i18next\";\nimport React, { useMemo } from \"react\";\nimport { About } from \"./settings/about.js\";\nimport { DangerZone } from \"./settings/danger-zone.js\";\nimport { DefaultEditor } from \"./settings/default-editor.js\";\nimport { ConnectPackageManager } from \"./settings/package-manager.js\";\n\nexport const SettingsModal: React.FC = () => {\n const phModal = usePHModal();\n const open = phModal?.type === \"settings\";\n function onRefresh() {\n window.location.reload();\n }\n\n const tabs = useMemo(\n () => [\n {\n id: \"package-manager\",\n icon: <Icon name=\"PackageManager\" size={12} />,\n label: \"Package Manager\",\n content: ConnectPackageManager,\n },\n {\n id: \"default-editors\",\n icon: <Icon name=\"Edit\" size={12} />,\n label: \"Default Editors\",\n content: DefaultEditor,\n },\n {\n id: \"danger-zone\",\n icon: <Icon name=\"Danger\" size={12} className=\"text-red-900\" />,\n label: <span className=\"text-red-900\">Danger Zone</span>,\n content: () => <DangerZone />,\n },\n {\n id: \"about\",\n icon: <Icon name=\"QuestionSquare\" size={12} />,\n label: \"About\",\n content: About,\n },\n ],\n [],\n );\n\n return (\n <SettingsModalV2\n open={open}\n title={t(\"modals.connectSettings.title\")}\n onOpenChange={(status: boolean) => {\n if (!status) return closePHModal();\n }}\n tabs={tabs}\n />\n );\n};\n"],"names":["About","BaseAbout","packageJson","DangerZone","BaseDangerZone","DefaultEditor","BaseDefaultEditor","DefaultEditor","DangerZone","About","SettingsModalV2"],"mappings":"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","debug_id":"e1a4333d-4bb7-54d5-9f71-d22340abcd38"}
@@ -1,9 +1,9 @@
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]="85265bb8-39e4-5364-af77-8e641f80ffd1")}catch(e){}}();
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]="fd2e1e4e-cf18-59ca-b163-da0f07f61172")}catch(e){}}();
3
3
  import { buildTreeUrl, shortGitSha } from "@powerhousedao/shared";
4
4
  //#region src/utils/build-info.ts
5
5
  function getGitSha() {
6
- return "13db8e511349eed4c0973adf153cc9ace7c0b3aa";
6
+ return "2dd3162e3b56970ebe876eb363f377cdaa2abf00";
7
7
  }
8
8
  function getGitUrl() {
9
9
  return buildTreeUrl(getGitSha());
@@ -11,5 +11,5 @@ function getGitUrl() {
11
11
  //#endregion
12
12
  export { getGitUrl as n, shortGitSha as r, getGitSha as t };
13
13
 
14
- //# sourceMappingURL=build-info-HpD0_mze.js.map
15
- //# debugId=85265bb8-39e4-5364-af77-8e641f80ffd1
14
+ //# sourceMappingURL=build-info-Be_DASHP.js.map
15
+ //# debugId=fd2e1e4e-cf18-59ca-b163-da0f07f61172
@@ -1 +1 @@
1
- {"version":3,"file":"build-info-HpD0_mze.js","sources":["../src/utils/build-info.ts"],"sourcesContent":["import { buildTreeUrl, shortGitSha } from \"@powerhousedao/shared\";\nimport { packageJson } from \"./package-json.js\";\n\nexport { shortGitSha };\n\ndeclare const CONNECT_VERSION: string | undefined;\ndeclare const CONNECT_GIT_SHA: string | undefined;\n\nexport function getVersion(): string {\n if (typeof CONNECT_VERSION !== \"undefined\") return CONNECT_VERSION;\n return (\n process.env.WORKSPACE_VERSION ??\n process.env.npm_package_version ??\n packageJson.version\n );\n}\n\nexport function getGitSha(): string {\n if (typeof CONNECT_GIT_SHA !== \"undefined\") return CONNECT_GIT_SHA;\n return process.env.WORKSPACE_GIT_SHA ?? \"unknown\";\n}\n\nexport function getGitUrl(): string | null {\n return buildTreeUrl(getGitSha());\n}\n"],"names":[],"mappings":";;;;AAiBA,SAAgB,YAAoB;AACU,QAAA;;AAI9C,SAAgB,YAA2B;AACzC,QAAO,aAAa,WAAW,CAAC","debug_id":"85265bb8-39e4-5364-af77-8e641f80ffd1"}
1
+ {"version":3,"file":"build-info-Be_DASHP.js","sources":["../src/utils/build-info.ts"],"sourcesContent":["import { buildTreeUrl, shortGitSha } from \"@powerhousedao/shared\";\nimport { packageJson } from \"./package-json.js\";\n\nexport { shortGitSha };\n\ndeclare const CONNECT_VERSION: string | undefined;\ndeclare const CONNECT_GIT_SHA: string | undefined;\n\nexport function getVersion(): string {\n if (typeof CONNECT_VERSION !== \"undefined\") return CONNECT_VERSION;\n return (\n process.env.WORKSPACE_VERSION ??\n process.env.npm_package_version ??\n packageJson.version\n );\n}\n\nexport function getGitSha(): string {\n if (typeof CONNECT_GIT_SHA !== \"undefined\") return CONNECT_GIT_SHA;\n return process.env.WORKSPACE_GIT_SHA ?? \"unknown\";\n}\n\nexport function getGitUrl(): string | null {\n return buildTreeUrl(getGitSha());\n}\n"],"names":[],"mappings":";;;;AAiBA,SAAgB,YAAoB;AACU,QAAA;;AAI9C,SAAgB,YAA2B;AACzC,QAAO,aAAa,WAAW,CAAC","debug_id":"fd2e1e4e-cf18-59ca-b163-da0f07f61172"}
@@ -1,5 +1,5 @@
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]="71d1b355-bbc4-56f2-86cb-a407c0c8a592")}catch(e){}}();
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]="6e2dc610-87df-54ad-827d-933fda38b2f7")}catch(e){}}();
3
3
  import { setLogLevel } from "@powerhousedao/reactor-browser";
4
4
  import { loadRuntimeEnv, normalizeBasePath } from "@powerhousedao/shared/connect";
5
5
  import { logger } from "document-model";
@@ -95,6 +95,12 @@ const connectConfig = {
95
95
  enabled: env.PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED,
96
96
  externalProcessorsEnabled: env.PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED
97
97
  },
98
+ openPanel: {
99
+ clientId: env.PH_CONNECT_OPENPANEL_CLIENT_ID ?? "",
100
+ apiUrl: env.PH_CONNECT_OPENPANEL_API_URL,
101
+ trackUiEvents: env.PH_CONNECT_OPENPANEL_TRACK_UI_EVENTS,
102
+ trackOperations: env.PH_CONNECT_OPENPANEL_TRACK_OPERATIONS
103
+ },
98
104
  renown: {
99
105
  url: env.PH_CONNECT_RENOWN_URL,
100
106
  networkId: env.PH_CONNECT_RENOWN_NETWORK_ID,
@@ -138,5 +144,5 @@ const connectConfig = {
138
144
  //#endregion
139
145
  export { phGlobalConfigFromEnv as i, defaultPHAppConfig as n, defaultPHDocumentEditorConfig as r, connectConfig as t };
140
146
 
141
- //# sourceMappingURL=connect.config-Cuh0hj_Q.js.map
142
- //# debugId=71d1b355-bbc4-56f2-86cb-a407c0c8a592
147
+ //# sourceMappingURL=connect.config-B2xP5Iez.js.map
148
+ //# debugId=6e2dc610-87df-54ad-827d-933fda38b2f7
@@ -1 +1 @@
1
- {"version":3,"file":"connect.config-Cuh0hj_Q.js","sources":["../src/connect.config.ts"],"sourcesContent":["import {\n setLogLevel,\n type FullPHGlobalConfig,\n type PHAppConfig,\n type PHDocumentEditorConfig,\n type PHGlobalConfig,\n} from \"@powerhousedao/reactor-browser\";\nimport {\n loadRuntimeEnv,\n normalizeBasePath,\n} from \"@powerhousedao/shared/connect\";\nimport { logger } from \"document-model\";\n\n// Load environment variables with validation and defaults\nexport const env = loadRuntimeEnv({\n processEnv: import.meta.env,\n});\n\nfunction getRouterBasenameFromBasePath(basePath: string) {\n return basePath.endsWith(\"/\") ? basePath : basePath + \"/\";\n}\n\nfunction getPHGlobalConfigFromEnv(): PHGlobalConfig {\n const basePath = env.PH_CONNECT_BASE_PATH || import.meta.env.BASE_URL;\n const routerBasename = getRouterBasenameFromBasePath(basePath);\n const config = {\n basePath,\n routerBasename,\n allowList: undefined,\n allowedDocumentTypes: [],\n isDragAndDropEnabled: true,\n isEditorDebugModeEnabled: false,\n isEditorReadModeEnabled: false,\n isExternalControlsEnabled: false,\n version: env.PH_CONNECT_VERSION,\n logLevel: env.PH_CONNECT_LOG_LEVEL,\n requiresHardRefresh: env.PH_CONNECT_REQUIRES_HARD_REFRESH,\n warnOutdatedApp: env.PH_CONNECT_WARN_OUTDATED_APP,\n studioMode: env.PH_CONNECT_STUDIO_MODE,\n versionCheckInterval: env.PH_CONNECT_VERSION_CHECK_INTERVAL,\n cliVersion: env.PH_CONNECT_CLI_VERSION,\n fileUploadOperationsChunkSize:\n env.PH_CONNECT_FILE_UPLOAD_OPERATIONS_CHUNK_SIZE,\n gaTrackingId: env.PH_CONNECT_GA_TRACKING_ID,\n defaultDrivesUrl: env.PH_CONNECT_DEFAULT_DRIVES_URL,\n drivesPreserveStrategy: env.PH_CONNECT_DRIVES_PRESERVE_STRATEGY,\n enabledEditors: env.PH_CONNECT_ENABLED_EDITORS?.split(\",\"),\n disabledEditors: env.PH_CONNECT_DISABLED_EDITORS.split(\",\"),\n\n /* Processors */\n isExternalProcessorsEnabled: env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED,\n isAnalyticsEnabled: env.PH_CONNECT_ANALYTICS_ENABLED,\n isAnalyticsExternalProcessorsEnabled:\n env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED &&\n env.PH_CONNECT_EXTERNAL_ANALYTICS_PROCESSORS_ENABLED,\n analyticsDatabaseName: env.PH_CONNECT_ANALYTICS_DATABASE_NAME,\n isRelationalProcessorsEnabled: env.PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED,\n isExternalRelationalProcessorsEnabled:\n env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED &&\n env.PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED,\n\n renownUrl: env.PH_CONNECT_RENOWN_URL,\n renownNetworkId: env.PH_CONNECT_RENOWN_NETWORK_ID,\n renownChainId: env.PH_CONNECT_RENOWN_CHAIN_ID,\n sentryRelease: env.PH_CONNECT_SENTRY_RELEASE,\n sentryDsn: env.PH_CONNECT_SENTRY_DSN,\n sentryEnv: env.PH_CONNECT_SENTRY_ENV,\n isDiffAnalyticsEnabled: env.PH_CONNECT_DIFF_ANALYTICS_ENABLED,\n isDriveAnalyticsEnabled: env.PH_CONNECT_DRIVE_ANALYTICS_ENABLED,\n isPublicDrivesEnabled: env.PH_CONNECT_PUBLIC_DRIVES_ENABLED,\n isCloudDrivesEnabled: env.PH_CONNECT_CLOUD_DRIVES_ENABLED,\n isLocalDrivesEnabled: env.PH_CONNECT_LOCAL_DRIVES_ENABLED,\n isSentryTracingEnabled: env.PH_CONNECT_SENTRY_TRACING_ENABLED,\n isDocumentModelSelectionSettingsEnabled:\n !env.PH_CONNECT_HIDE_DOCUMENT_MODEL_SELECTION_SETTINGS,\n isAddDriveEnabled: !env.PH_CONNECT_DISABLE_ADD_DRIVE,\n isAddPublicDrivesEnabled: !env.PH_CONNECT_DISABLE_ADD_PUBLIC_DRIVES,\n isDeletePublicDrivesEnabled: !env.PH_CONNECT_DISABLE_DELETE_PUBLIC_DRIVES,\n isAddCloudDrivesEnabled: !env.PH_CONNECT_DISABLE_ADD_CLOUD_DRIVES,\n isDeleteCloudDrivesEnabled: !env.PH_CONNECT_DISABLE_DELETE_CLOUD_DRIVES,\n isAddLocalDrivesEnabled: !env.PH_CONNECT_DISABLE_ADD_LOCAL_DRIVES,\n isDeleteLocalDrivesEnabled: !env.PH_CONNECT_DISABLE_DELETE_LOCAL_DRIVES,\n isAnalyticsDatabaseWorkerEnabled:\n !env.PH_CONNECT_ANALYTICS_DATABASE_WORKER_DISABLED,\n isExternalPackagesEnabled: !env.PH_CONNECT_EXTERNAL_PACKAGES_DISABLED,\n } satisfies FullPHGlobalConfig;\n\n return config;\n}\n\nexport const phGlobalConfigFromEnv = getPHGlobalConfigFromEnv();\n\nexport const defaultPHDocumentEditorConfig: PHDocumentEditorConfig = {\n isExternalControlsEnabled: phGlobalConfigFromEnv.isExternalControlsEnabled,\n};\n\nexport const defaultPHAppConfig: PHAppConfig = {\n allowedDocumentTypes: phGlobalConfigFromEnv.allowedDocumentTypes,\n isDragAndDropEnabled: phGlobalConfigFromEnv.isDragAndDropEnabled,\n};\n\n// Set log level from validated config\nsetLogLevel(env.PH_CONNECT_LOG_LEVEL);\nlogger.debug(\"Setting log level to @level.\", env.PH_CONNECT_LOG_LEVEL);\n\n// Normalize the base path to ensure it starts and ends with a forward slash\nconst PH_CONNECT_BASE_PATH = normalizeBasePath(\n env.PH_CONNECT_BASE_PATH || import.meta.env.BASE_URL,\n);\n\n// Analytics database name with custom logic\nconst PH_CONNECT_ANALYTICS_DATABASE_NAME =\n env.PH_CONNECT_ANALYTICS_DATABASE_NAME ||\n `${PH_CONNECT_BASE_PATH.replace(/\\//g, \"\")}:analytics`;\n\nexport const connectConfig = {\n appVersion: env.PH_CONNECT_VERSION,\n studioMode: env.PH_CONNECT_STUDIO_MODE,\n warnOutdatedApp: env.PH_CONNECT_WARN_OUTDATED_APP,\n appVersionCheckInterval: env.PH_CONNECT_VERSION_CHECK_INTERVAL,\n routerBasename: PH_CONNECT_BASE_PATH,\n externalPackagesEnabled: !env.PH_CONNECT_EXTERNAL_PACKAGES_DISABLED,\n processors: {\n enabled: env.PH_CONNECT_PROCESSORS_ENABLED,\n externalProcessorsEnabled: env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED,\n },\n analytics: {\n enabled: env.PH_CONNECT_ANALYTICS_ENABLED,\n databaseName: PH_CONNECT_ANALYTICS_DATABASE_NAME,\n useWorker: !env.PH_CONNECT_ANALYTICS_DATABASE_WORKER_DISABLED,\n driveAnalyticsEnabled: env.PH_CONNECT_DRIVE_ANALYTICS_ENABLED,\n diffProcessorEnabled: env.PH_CONNECT_DIFF_ANALYTICS_ENABLED,\n externalProcessorsEnabled: env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED,\n },\n relational: {\n enabled: env.PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED,\n externalProcessorsEnabled:\n env.PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED,\n },\n renown: {\n url: env.PH_CONNECT_RENOWN_URL,\n networkId: env.PH_CONNECT_RENOWN_NETWORK_ID,\n chainId: env.PH_CONNECT_RENOWN_CHAIN_ID,\n },\n sentry: {\n release: env.PH_CONNECT_SENTRY_RELEASE,\n dsn: env.PH_CONNECT_SENTRY_DSN,\n env: env.PH_CONNECT_SENTRY_ENV,\n tracing: env.PH_CONNECT_SENTRY_TRACING_ENABLED,\n },\n content: {\n showSearchBar: env.PH_CONNECT_SEARCH_BAR_ENABLED,\n showDocumentModelSelectionSetting:\n !env.PH_CONNECT_HIDE_DOCUMENT_MODEL_SELECTION_SETTINGS,\n },\n drives: {\n addDriveEnabled: !env.PH_CONNECT_DISABLE_ADD_DRIVE,\n preserveStrategy: env.PH_CONNECT_DRIVES_PRESERVE_STRATEGY,\n sections: {\n LOCAL: {\n enabled: env.PH_CONNECT_LOCAL_DRIVES_ENABLED,\n allowAdd: !env.PH_CONNECT_DISABLE_ADD_LOCAL_DRIVES,\n allowDelete: !env.PH_CONNECT_DISABLE_DELETE_LOCAL_DRIVES,\n },\n CLOUD: {\n enabled: env.PH_CONNECT_CLOUD_DRIVES_ENABLED,\n allowAdd: !env.PH_CONNECT_DISABLE_ADD_CLOUD_DRIVES,\n allowDelete: !env.PH_CONNECT_DISABLE_DELETE_CLOUD_DRIVES,\n },\n PUBLIC: {\n enabled: env.PH_CONNECT_PUBLIC_DRIVES_ENABLED,\n allowAdd: !env.PH_CONNECT_DISABLE_ADD_PUBLIC_DRIVES,\n allowDelete: !env.PH_CONNECT_DISABLE_DELETE_PUBLIC_DRIVES,\n },\n },\n },\n gaTrackingId: env.PH_CONNECT_GA_TRACKING_ID,\n phCliVersion: env.PH_CONNECT_CLI_VERSION,\n packagesRegistry: env.PH_CONNECT_PACKAGES_REGISTRY,\n} as const;\n"],"names":[],"mappings":"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","debug_id":"71d1b355-bbc4-56f2-86cb-a407c0c8a592"}
1
+ {"version":3,"file":"connect.config-B2xP5Iez.js","sources":["../src/connect.config.ts"],"sourcesContent":["import {\n setLogLevel,\n type FullPHGlobalConfig,\n type PHAppConfig,\n type PHDocumentEditorConfig,\n type PHGlobalConfig,\n} from \"@powerhousedao/reactor-browser\";\nimport {\n loadRuntimeEnv,\n normalizeBasePath,\n} from \"@powerhousedao/shared/connect\";\nimport { logger } from \"document-model\";\n\n// Load environment variables with validation and defaults\nexport const env = loadRuntimeEnv({\n processEnv: import.meta.env,\n});\n\nfunction getRouterBasenameFromBasePath(basePath: string) {\n return basePath.endsWith(\"/\") ? basePath : basePath + \"/\";\n}\n\nfunction getPHGlobalConfigFromEnv(): PHGlobalConfig {\n const basePath = env.PH_CONNECT_BASE_PATH || import.meta.env.BASE_URL;\n const routerBasename = getRouterBasenameFromBasePath(basePath);\n const config = {\n basePath,\n routerBasename,\n allowList: undefined,\n allowedDocumentTypes: [],\n isDragAndDropEnabled: true,\n isEditorDebugModeEnabled: false,\n isEditorReadModeEnabled: false,\n isExternalControlsEnabled: false,\n version: env.PH_CONNECT_VERSION,\n logLevel: env.PH_CONNECT_LOG_LEVEL,\n requiresHardRefresh: env.PH_CONNECT_REQUIRES_HARD_REFRESH,\n warnOutdatedApp: env.PH_CONNECT_WARN_OUTDATED_APP,\n studioMode: env.PH_CONNECT_STUDIO_MODE,\n versionCheckInterval: env.PH_CONNECT_VERSION_CHECK_INTERVAL,\n cliVersion: env.PH_CONNECT_CLI_VERSION,\n fileUploadOperationsChunkSize:\n env.PH_CONNECT_FILE_UPLOAD_OPERATIONS_CHUNK_SIZE,\n gaTrackingId: env.PH_CONNECT_GA_TRACKING_ID,\n defaultDrivesUrl: env.PH_CONNECT_DEFAULT_DRIVES_URL,\n drivesPreserveStrategy: env.PH_CONNECT_DRIVES_PRESERVE_STRATEGY,\n enabledEditors: env.PH_CONNECT_ENABLED_EDITORS?.split(\",\"),\n disabledEditors: env.PH_CONNECT_DISABLED_EDITORS.split(\",\"),\n\n /* Processors */\n isExternalProcessorsEnabled: env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED,\n isAnalyticsEnabled: env.PH_CONNECT_ANALYTICS_ENABLED,\n isAnalyticsExternalProcessorsEnabled:\n env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED &&\n env.PH_CONNECT_EXTERNAL_ANALYTICS_PROCESSORS_ENABLED,\n analyticsDatabaseName: env.PH_CONNECT_ANALYTICS_DATABASE_NAME,\n isRelationalProcessorsEnabled: env.PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED,\n isExternalRelationalProcessorsEnabled:\n env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED &&\n env.PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED,\n\n renownUrl: env.PH_CONNECT_RENOWN_URL,\n renownNetworkId: env.PH_CONNECT_RENOWN_NETWORK_ID,\n renownChainId: env.PH_CONNECT_RENOWN_CHAIN_ID,\n sentryRelease: env.PH_CONNECT_SENTRY_RELEASE,\n sentryDsn: env.PH_CONNECT_SENTRY_DSN,\n sentryEnv: env.PH_CONNECT_SENTRY_ENV,\n isDiffAnalyticsEnabled: env.PH_CONNECT_DIFF_ANALYTICS_ENABLED,\n isDriveAnalyticsEnabled: env.PH_CONNECT_DRIVE_ANALYTICS_ENABLED,\n isPublicDrivesEnabled: env.PH_CONNECT_PUBLIC_DRIVES_ENABLED,\n isCloudDrivesEnabled: env.PH_CONNECT_CLOUD_DRIVES_ENABLED,\n isLocalDrivesEnabled: env.PH_CONNECT_LOCAL_DRIVES_ENABLED,\n isSentryTracingEnabled: env.PH_CONNECT_SENTRY_TRACING_ENABLED,\n isDocumentModelSelectionSettingsEnabled:\n !env.PH_CONNECT_HIDE_DOCUMENT_MODEL_SELECTION_SETTINGS,\n isAddDriveEnabled: !env.PH_CONNECT_DISABLE_ADD_DRIVE,\n isAddPublicDrivesEnabled: !env.PH_CONNECT_DISABLE_ADD_PUBLIC_DRIVES,\n isDeletePublicDrivesEnabled: !env.PH_CONNECT_DISABLE_DELETE_PUBLIC_DRIVES,\n isAddCloudDrivesEnabled: !env.PH_CONNECT_DISABLE_ADD_CLOUD_DRIVES,\n isDeleteCloudDrivesEnabled: !env.PH_CONNECT_DISABLE_DELETE_CLOUD_DRIVES,\n isAddLocalDrivesEnabled: !env.PH_CONNECT_DISABLE_ADD_LOCAL_DRIVES,\n isDeleteLocalDrivesEnabled: !env.PH_CONNECT_DISABLE_DELETE_LOCAL_DRIVES,\n isAnalyticsDatabaseWorkerEnabled:\n !env.PH_CONNECT_ANALYTICS_DATABASE_WORKER_DISABLED,\n isExternalPackagesEnabled: !env.PH_CONNECT_EXTERNAL_PACKAGES_DISABLED,\n } satisfies FullPHGlobalConfig;\n\n return config;\n}\n\nexport const phGlobalConfigFromEnv = getPHGlobalConfigFromEnv();\n\nexport const defaultPHDocumentEditorConfig: PHDocumentEditorConfig = {\n isExternalControlsEnabled: phGlobalConfigFromEnv.isExternalControlsEnabled,\n};\n\nexport const defaultPHAppConfig: PHAppConfig = {\n allowedDocumentTypes: phGlobalConfigFromEnv.allowedDocumentTypes,\n isDragAndDropEnabled: phGlobalConfigFromEnv.isDragAndDropEnabled,\n};\n\n// Set log level from validated config\nsetLogLevel(env.PH_CONNECT_LOG_LEVEL);\nlogger.debug(\"Setting log level to @level.\", env.PH_CONNECT_LOG_LEVEL);\n\n// Normalize the base path to ensure it starts and ends with a forward slash\nconst PH_CONNECT_BASE_PATH = normalizeBasePath(\n env.PH_CONNECT_BASE_PATH || import.meta.env.BASE_URL,\n);\n\n// Analytics database name with custom logic\nconst PH_CONNECT_ANALYTICS_DATABASE_NAME =\n env.PH_CONNECT_ANALYTICS_DATABASE_NAME ||\n `${PH_CONNECT_BASE_PATH.replace(/\\//g, \"\")}:analytics`;\n\nexport const connectConfig = {\n appVersion: env.PH_CONNECT_VERSION,\n studioMode: env.PH_CONNECT_STUDIO_MODE,\n warnOutdatedApp: env.PH_CONNECT_WARN_OUTDATED_APP,\n appVersionCheckInterval: env.PH_CONNECT_VERSION_CHECK_INTERVAL,\n routerBasename: PH_CONNECT_BASE_PATH,\n externalPackagesEnabled: !env.PH_CONNECT_EXTERNAL_PACKAGES_DISABLED,\n processors: {\n enabled: env.PH_CONNECT_PROCESSORS_ENABLED,\n externalProcessorsEnabled: env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED,\n },\n analytics: {\n enabled: env.PH_CONNECT_ANALYTICS_ENABLED,\n databaseName: PH_CONNECT_ANALYTICS_DATABASE_NAME,\n useWorker: !env.PH_CONNECT_ANALYTICS_DATABASE_WORKER_DISABLED,\n driveAnalyticsEnabled: env.PH_CONNECT_DRIVE_ANALYTICS_ENABLED,\n diffProcessorEnabled: env.PH_CONNECT_DIFF_ANALYTICS_ENABLED,\n externalProcessorsEnabled: env.PH_CONNECT_EXTERNAL_PROCESSORS_ENABLED,\n },\n relational: {\n enabled: env.PH_CONNECT_RELATIONAL_PROCESSORS_ENABLED,\n externalProcessorsEnabled:\n env.PH_CONNECT_EXTERNAL_RELATIONAL_PROCESSORS_ENABLED,\n },\n openPanel: {\n clientId: env.PH_CONNECT_OPENPANEL_CLIENT_ID ?? \"\",\n apiUrl: env.PH_CONNECT_OPENPANEL_API_URL,\n // Intentionally dormant — no call sites gate on this yet; UI-event tracking is future work.\n trackUiEvents: env.PH_CONNECT_OPENPANEL_TRACK_UI_EVENTS,\n trackOperations: env.PH_CONNECT_OPENPANEL_TRACK_OPERATIONS,\n },\n renown: {\n url: env.PH_CONNECT_RENOWN_URL,\n networkId: env.PH_CONNECT_RENOWN_NETWORK_ID,\n chainId: env.PH_CONNECT_RENOWN_CHAIN_ID,\n },\n sentry: {\n release: env.PH_CONNECT_SENTRY_RELEASE,\n dsn: env.PH_CONNECT_SENTRY_DSN,\n env: env.PH_CONNECT_SENTRY_ENV,\n tracing: env.PH_CONNECT_SENTRY_TRACING_ENABLED,\n },\n content: {\n showSearchBar: env.PH_CONNECT_SEARCH_BAR_ENABLED,\n showDocumentModelSelectionSetting:\n !env.PH_CONNECT_HIDE_DOCUMENT_MODEL_SELECTION_SETTINGS,\n },\n drives: {\n addDriveEnabled: !env.PH_CONNECT_DISABLE_ADD_DRIVE,\n preserveStrategy: env.PH_CONNECT_DRIVES_PRESERVE_STRATEGY,\n sections: {\n LOCAL: {\n enabled: env.PH_CONNECT_LOCAL_DRIVES_ENABLED,\n allowAdd: !env.PH_CONNECT_DISABLE_ADD_LOCAL_DRIVES,\n allowDelete: !env.PH_CONNECT_DISABLE_DELETE_LOCAL_DRIVES,\n },\n CLOUD: {\n enabled: env.PH_CONNECT_CLOUD_DRIVES_ENABLED,\n allowAdd: !env.PH_CONNECT_DISABLE_ADD_CLOUD_DRIVES,\n allowDelete: !env.PH_CONNECT_DISABLE_DELETE_CLOUD_DRIVES,\n },\n PUBLIC: {\n enabled: env.PH_CONNECT_PUBLIC_DRIVES_ENABLED,\n allowAdd: !env.PH_CONNECT_DISABLE_ADD_PUBLIC_DRIVES,\n allowDelete: !env.PH_CONNECT_DISABLE_DELETE_PUBLIC_DRIVES,\n },\n },\n },\n gaTrackingId: env.PH_CONNECT_GA_TRACKING_ID,\n phCliVersion: env.PH_CONNECT_CLI_VERSION,\n packagesRegistry: env.PH_CONNECT_PACKAGES_REGISTRY,\n} as const;\n"],"names":[],"mappings":"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","debug_id":"6e2dc610-87df-54ad-827d-933fda38b2f7"}
@@ -1,5 +1,5 @@
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]="2f1b30ce-57a2-5209-97ce-acdb23485f8d")}catch(e){}}();
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]="f135862c-7273-56da-8a52-04187b2d0b63")}catch(e){}}();
3
3
  import { initReactI18next } from "react-i18next";
4
4
  import i18n from "i18next";
5
5
  i18n.use(initReactI18next).init({
@@ -105,7 +105,7 @@ i18n.use(initReactI18next).init({
105
105
  "builtWith": "Built with <icon /> Powerhouse"
106
106
  },
107
107
  cookieBanner: {
108
- "message": "This website uses cookies for analytic purposes only. Cookies are anonymous and do not link to user data. We collect information to improve the user experience and validate UI changes. You can still use the page without cookies. For more information, please read our <a>cookies policy.</a>",
108
+ "message": "This website uses cookies for analytic purposes only. When you are signed in, analytics events may be associated with your account identity. We collect information to improve the user experience and validate UI changes. You can still use the page without cookies. For more information, please read our <a>cookies policy.</a>",
109
109
  "accept": "Accept configured cookies",
110
110
  "reject": "Reject all cookies",
111
111
  "cookies": {
@@ -124,5 +124,5 @@ i18n.use(initReactI18next).init({
124
124
  //#endregion
125
125
  export { i18n as t };
126
126
 
127
- //# sourceMappingURL=i18n-4rfcgnb9.js.map
128
- //# debugId=2f1b30ce-57a2-5209-97ce-acdb23485f8d
127
+ //# sourceMappingURL=i18n-BuVT7wFQ.js.map
128
+ //# debugId=f135862c-7273-56da-8a52-04187b2d0b63
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-4rfcgnb9.js","sources":["../src/i18n/locales/en.json","../src/i18n/index.ts"],"sourcesContent":["","import type { Resource } from \"i18next\";\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport translationEN from \"./locales/en.json\" with { type: \"json\" };\n\nconst resources: Resource = {\n en: {\n code: \"en\",\n name: \"English\",\n translation: translationEN,\n },\n};\n\ni18n\n .use(initReactI18next)\n .init({\n resources,\n fallbackLng: \"en\",\n debug: false,\n interpolation: {\n escapeValue: false,\n },\n })\n .catch((e: unknown) => {\n console.error(e);\n });\n\nexport { i18n };\nexport default i18n;\n"],"names":["translationEN"],"mappings":";;;;ACcA,KACG,IAAI,iBAAiB,CACrB,KAAK;CACJ,WAXwB,EAC1B,IAAI;EACF,MAAM;EACN,MAAM;EACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACD,EACF;CAMG,aAAa;CACb,OAAO;CACP,eAAe,EACb,aAAa,OACd;CACF,CAAC,CACD,OAAO,MAAe;AACrB,SAAQ,MAAM,EAAE;EAChB","debug_id":"2f1b30ce-57a2-5209-97ce-acdb23485f8d"}
1
+ {"version":3,"file":"i18n-BuVT7wFQ.js","sources":["../src/i18n/locales/en.json","../src/i18n/index.ts"],"sourcesContent":["","import type { Resource } from \"i18next\";\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport translationEN from \"./locales/en.json\" with { type: \"json\" };\n\nconst resources: Resource = {\n en: {\n code: \"en\",\n name: \"English\",\n translation: translationEN,\n },\n};\n\ni18n\n .use(initReactI18next)\n .init({\n resources,\n fallbackLng: \"en\",\n debug: false,\n interpolation: {\n escapeValue: false,\n },\n })\n .catch((e: unknown) => {\n console.error(e);\n });\n\nexport { i18n };\nexport default i18n;\n"],"names":["translationEN"],"mappings":";;;;ACcA,KACG,IAAI,iBAAiB,CACrB,KAAK;CACJ,WAXwB,EAC1B,IAAI;EACF,MAAM;EACN,MAAM;EACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACD,EACF;CAMG,aAAa;CACb,OAAO;CACP,eAAe,EACb,aAAa,OACd;CACF,CAAC,CACD,OAAO,MAAe;AACrB,SAAQ,MAAM,EAAE;EAChB","debug_id":"f135862c-7273-56da-8a52-04187b2d0b63"}
@@ -1,11 +1,11 @@
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]="18e42411-0a3c-5e8c-9ba8-ac66ac5b2b01")}catch(e){}}();
3
- import { t as connectConfig } from "./connect.config-Cuh0hj_Q.js";
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]="9d3a51fb-fba7-501e-811e-0f952f0edd9b")}catch(e){}}();
3
+ import { t as connectConfig } from "./connect.config-B2xP5Iez.js";
4
4
  import { n as toast } from "./toast-DnODOv28.js";
5
- import { t as package_default } from "./package-BYMjy1FR.js";
5
+ import { t as package_default } from "./package-DSatNpsZ.js";
6
6
  import { t as detectReactorPgMajor } from "./pglite-runtime-Btp8ZXVH.js";
7
7
  import { n as seedPendingPgVersion } from "./pglite-seed-b1mJUaip.js";
8
- import { n as createReactor } from "./reactor-CppbYt7w.js";
8
+ import { n as createReactor } from "./reactor-BqTMQT3A.js";
9
9
  import { useUser } from "@powerhousedao/reactor-browser";
10
10
  import { logger } from "document-model";
11
11
  import { createElement, useEffect } from "react";
@@ -83,7 +83,7 @@ function useSetSentryUser() {
83
83
  useEffect(() => {
84
84
  let sentryUser = null;
85
85
  if (user) {
86
- const { credential, ...rest } = user;
86
+ const { credential: _credential, ...rest } = user;
87
87
  sentryUser = {
88
88
  id: rest.did,
89
89
  username: rest.ens?.name,
@@ -108,5 +108,5 @@ async function loadComponent(localPackage) {
108
108
  //#endregion
109
109
  export { loadComponent };
110
110
 
111
- //# sourceMappingURL=load-BoBY3jk8.js.map
112
- //# debugId=18e42411-0a3c-5e8c-9ba8-ac66ac5b2b01
111
+ //# sourceMappingURL=load-CqLMocU3.js.map
112
+ //# debugId=9d3a51fb-fba7-501e-811e-0f952f0edd9b
@@ -1 +1 @@
1
- {"version":3,"file":"load-BoBY3jk8.js","sources":["../src/components/reload-connect-toast.tsx","../src/hooks/useCheckLatestVersion.ts","../src/hooks/utils.ts","../src/store/user.ts","../src/components/load.tsx"],"sourcesContent":["import { useTranslation } from \"react-i18next\";\n\nexport const ReloadConnectToast = () => {\n const { t } = useTranslation();\n\n return (\n <div>\n <p className=\"font-medium\">{t(\"notifications.reloadApp\")}</p>\n <button\n onClick={() => location.reload()}\n className=\"underline decoration-solid underline-offset-2\"\n >\n {t(\"common.reloadConnect\")} 🔄\n </button>\n </div>\n );\n};\n","import { connectConfig } from \"@powerhousedao/connect/config\";\nimport { isLatestVersion } from \"@powerhousedao/connect/hooks\";\nimport { toast } from \"@powerhousedao/connect/services\";\nimport { logger } from \"document-model\";\nimport { createElement, useEffect } from \"react\";\nimport { ReloadConnectToast } from \"../components/reload-connect-toast.js\";\n\nexport const useCheckLatestVersion = () => {\n async function checkLatestVersion() {\n const result = await isLatestVersion();\n if (result === null) return;\n // ignore dev/staging versions\n if (result.isLatest || result.currentVersion.includes(\"-\")) {\n return true;\n }\n\n if (\n import.meta.env.MODE === \"development\" ||\n connectConfig.studioMode ||\n !connectConfig.warnOutdatedApp\n ) {\n logger.warn(\n \"Connect is outdated: \\nCurrent: @currentVersion\\nLatest: @latestVersion\",\n result.currentVersion,\n result.latestVersion,\n );\n } else {\n toast(createElement(ReloadConnectToast), {\n type: \"connect-warning\",\n toastId: \"outdated-app\",\n autoClose: false,\n });\n }\n }\n\n useEffect(() => {\n checkLatestVersion().catch(console.error);\n }, []);\n};\n","import { packageJson } from \"../utils/package-json.js\";\n\nexport const isMac = window.navigator.appVersion.includes(\"Mac\");\n\nconst urlBranchMap: Record<string, string> = {\n \"staging/makerdao\": \"deployments/staging/makerdao\",\n \"staging/arbitrum\": \"arb-ltip\",\n \"staging/powerhouse\": \"staging\",\n makerdao: \"deployments/makerdao\",\n arbitrum: \"deployments/arbitrum\",\n arbgrants: \"deployments/arbitrum\",\n localhost: \"develop\",\n};\n\nconst getGithubLinkFromUrl = () => {\n const githubLink = \"https://raw.githubusercontent.com/powerhouse-inc/connect\";\n const url = window.location.href;\n\n const env = Object.keys(urlBranchMap).find((env) => url.includes(env));\n const value = env ? urlBranchMap[env] : undefined;\n if (!value) {\n return undefined;\n } else {\n return `${githubLink}/${value}/package.json`;\n }\n};\n\nconst fetchLatestVersion = async () => {\n const link = getGithubLinkFromUrl();\n if (!link) {\n return undefined;\n }\n const result = await fetch(link);\n const data = (await result.json()) as { version: string };\n const { version } = data;\n return version;\n};\n\nexport const isLatestVersion = async () => {\n const currentVersion = packageJson.version;\n const deployed = await fetchLatestVersion();\n\n if (deployed) {\n return {\n isLatest: deployed === currentVersion,\n currentVersion,\n latestVersion: deployed,\n };\n }\n\n return null;\n};\n","import { useUser } from \"@powerhousedao/reactor-browser\";\nimport type { User as SentryUser } from \"@sentry/react\";\nimport { setUser as setSentryUser } from \"@sentry/react\";\nimport { useEffect } from \"react\";\n\nexport function useSetSentryUser() {\n const user = useUser();\n useEffect(() => {\n let sentryUser: SentryUser | null = null;\n if (user) {\n // saves the user info except the credential\n const { credential, ...rest } = user;\n sentryUser = { id: rest.did, username: rest.ens?.name, ...rest };\n }\n setSentryUser(sentryUser);\n }, [user]);\n}\n","import { useCheckLatestVersion } from \"@powerhousedao/connect/hooks\";\nimport \"@powerhousedao/connect/i18n\";\nimport { createReactor, useSetSentryUser } from \"@powerhousedao/connect/store\";\nimport {\n detectReactorPgMajor,\n seedPendingPgVersion,\n} from \"@powerhousedao/connect/utils\";\nimport type { DocumentModelLib } from \"document-model\";\nimport { type ReactNode } from \"react\";\n\nexport async function loadComponent(localPackage?: DocumentModelLib) {\n await seedPendingPgVersion();\n await detectReactorPgMajor();\n await createReactor(localPackage);\n return {\n default: ({ children }: { children?: ReactNode }) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useSetSentryUser();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useCheckLatestVersion();\n return children;\n },\n };\n}\n"],"names":["packageJson"],"mappings":";;;;;;;;;;;;;;;AAEA,MAAa,2BAA2B;CACtC,MAAM,EAAE,MAAM,gBAAgB;AAE9B,QACE,qBAAC,OAAD,EAAA,UAAA,CACE,oBAAC,KAAD;EAAG,WAAU;YAAe,EAAE,0BAA0B;EAAK,CAAA,EAC7D,qBAAC,UAAD;EACE,eAAe,SAAS,QAAQ;EAChC,WAAU;YAFZ,CAIG,EAAE,uBAAuB,EAAC,MACpB;IACL,EAAA,CAAA;;;;ACPV,MAAa,8BAA8B;CACzC,eAAe,qBAAqB;EAClC,MAAM,SAAS,MAAM,iBAAiB;AACtC,MAAI,WAAW,KAAM;AAErB,MAAI,OAAO,YAAY,OAAO,eAAe,SAAS,IAAI,CACxD,QAAO;AAGT,MACE,OAAO,KAAK,IAAI,SAAS,iBACzB,cAAc,cACd,CAAC,cAAc,gBAEf,QAAO,KACL,2EACA,OAAO,gBACP,OAAO,cACR;MAED,OAAM,cAAc,mBAAmB,EAAE;GACvC,MAAM;GACN,SAAS;GACT,WAAW;GACZ,CAAC;;AAIN,iBAAgB;AACd,sBAAoB,CAAC,MAAM,QAAQ,MAAM;IACxC,EAAE,CAAC;;ACnCa,OAAO,UAAU,WAAW,SAAS,MAAM;AAEhE,MAAM,eAAuC;CAC3C,oBAAoB;CACpB,oBAAoB;CACpB,sBAAsB;CACtB,UAAU;CACV,UAAU;CACV,WAAW;CACX,WAAW;CACZ;AAED,MAAM,6BAA6B;CACjC,MAAM,aAAa;CACnB,MAAM,MAAM,OAAO,SAAS;CAE5B,MAAM,MAAM,OAAO,KAAK,aAAa,CAAC,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC;CACtE,MAAM,QAAQ,MAAM,aAAa,OAAO,KAAA;AACxC,KAAI,CAAC,MACH;KAEA,QAAO,GAAG,WAAW,GAAG,MAAM;;AAIlC,MAAM,qBAAqB,YAAY;CACrC,MAAM,OAAO,sBAAsB;AACnC,KAAI,CAAC,KACH;CAIF,MAAM,EAAE,YADM,OADC,MAAM,MAAM,KAAK,EACL,MAAM;AAEjC,QAAO;;AAGT,MAAa,kBAAkB,YAAY;CACzC,MAAM,iBAAiBA,gBAAY;CACnC,MAAM,WAAW,MAAM,oBAAoB;AAE3C,KAAI,SACF,QAAO;EACL,UAAU,aAAa;EACvB;EACA,eAAe;EAChB;AAGH,QAAO;;;;AC7CT,SAAgB,mBAAmB;CACjC,MAAM,OAAO,SAAS;AACtB,iBAAgB;EACd,IAAI,aAAgC;AACpC,MAAI,MAAM;GAER,MAAM,EAAE,YAAY,GAAG,SAAS;AAChC,gBAAa;IAAE,IAAI,KAAK;IAAK,UAAU,KAAK,KAAK;IAAM,GAAG;IAAM;;AAElE,UAAc,WAAW;IACxB,CAAC,KAAK,CAAC;;;;ACLZ,eAAsB,cAAc,cAAiC;AACnE,OAAM,sBAAsB;AAC5B,OAAM,sBAAsB;AAC5B,OAAM,cAAc,aAAa;AACjC,QAAO,EACL,UAAU,EAAE,eAAyC;AAEnD,oBAAkB;AAElB,yBAAuB;AACvB,SAAO;IAEV","debug_id":"18e42411-0a3c-5e8c-9ba8-ac66ac5b2b01"}
1
+ {"version":3,"file":"load-CqLMocU3.js","sources":["../src/components/reload-connect-toast.tsx","../src/hooks/useCheckLatestVersion.ts","../src/hooks/utils.ts","../src/store/user.ts","../src/components/load.tsx"],"sourcesContent":["import { useTranslation } from \"react-i18next\";\n\nexport const ReloadConnectToast = () => {\n const { t } = useTranslation();\n\n return (\n <div>\n <p className=\"font-medium\">{t(\"notifications.reloadApp\")}</p>\n <button\n onClick={() => location.reload()}\n className=\"underline decoration-solid underline-offset-2\"\n >\n {t(\"common.reloadConnect\")} 🔄\n </button>\n </div>\n );\n};\n","import { connectConfig } from \"@powerhousedao/connect/config\";\nimport { isLatestVersion } from \"@powerhousedao/connect/hooks\";\nimport { toast } from \"@powerhousedao/connect/services\";\nimport { logger } from \"document-model\";\nimport { createElement, useEffect } from \"react\";\nimport { ReloadConnectToast } from \"../components/reload-connect-toast.js\";\n\nexport const useCheckLatestVersion = () => {\n async function checkLatestVersion() {\n const result = await isLatestVersion();\n if (result === null) return;\n // ignore dev/staging versions\n if (result.isLatest || result.currentVersion.includes(\"-\")) {\n return true;\n }\n\n if (\n import.meta.env.MODE === \"development\" ||\n connectConfig.studioMode ||\n !connectConfig.warnOutdatedApp\n ) {\n logger.warn(\n \"Connect is outdated: \\nCurrent: @currentVersion\\nLatest: @latestVersion\",\n result.currentVersion,\n result.latestVersion,\n );\n } else {\n toast(createElement(ReloadConnectToast), {\n type: \"connect-warning\",\n toastId: \"outdated-app\",\n autoClose: false,\n });\n }\n }\n\n useEffect(() => {\n checkLatestVersion().catch(console.error);\n }, []);\n};\n","import { packageJson } from \"../utils/package-json.js\";\n\nexport const isMac = window.navigator.appVersion.includes(\"Mac\");\n\nconst urlBranchMap: Record<string, string> = {\n \"staging/makerdao\": \"deployments/staging/makerdao\",\n \"staging/arbitrum\": \"arb-ltip\",\n \"staging/powerhouse\": \"staging\",\n makerdao: \"deployments/makerdao\",\n arbitrum: \"deployments/arbitrum\",\n arbgrants: \"deployments/arbitrum\",\n localhost: \"develop\",\n};\n\nconst getGithubLinkFromUrl = () => {\n const githubLink = \"https://raw.githubusercontent.com/powerhouse-inc/connect\";\n const url = window.location.href;\n\n const env = Object.keys(urlBranchMap).find((env) => url.includes(env));\n const value = env ? urlBranchMap[env] : undefined;\n if (!value) {\n return undefined;\n } else {\n return `${githubLink}/${value}/package.json`;\n }\n};\n\nconst fetchLatestVersion = async () => {\n const link = getGithubLinkFromUrl();\n if (!link) {\n return undefined;\n }\n const result = await fetch(link);\n const data = (await result.json()) as { version: string };\n const { version } = data;\n return version;\n};\n\nexport const isLatestVersion = async () => {\n const currentVersion = packageJson.version;\n const deployed = await fetchLatestVersion();\n\n if (deployed) {\n return {\n isLatest: deployed === currentVersion,\n currentVersion,\n latestVersion: deployed,\n };\n }\n\n return null;\n};\n","import { useUser } from \"@powerhousedao/reactor-browser\";\nimport type { User as SentryUser } from \"@sentry/react\";\nimport { setUser as setSentryUser } from \"@sentry/react\";\nimport { useEffect } from \"react\";\n\nexport function useSetSentryUser() {\n const user = useUser();\n useEffect(() => {\n let sentryUser: SentryUser | null = null;\n if (user) {\n // saves the user info except the credential\n const { credential: _credential, ...rest } = user;\n sentryUser = { id: rest.did, username: rest.ens?.name, ...rest };\n }\n setSentryUser(sentryUser);\n }, [user]);\n}\n","import { useCheckLatestVersion } from \"@powerhousedao/connect/hooks\";\nimport \"@powerhousedao/connect/i18n\";\nimport { createReactor, useSetSentryUser } from \"@powerhousedao/connect/store\";\nimport {\n detectReactorPgMajor,\n seedPendingPgVersion,\n} from \"@powerhousedao/connect/utils\";\nimport type { DocumentModelLib } from \"document-model\";\nimport { type ReactNode } from \"react\";\n\nexport async function loadComponent(localPackage?: DocumentModelLib) {\n await seedPendingPgVersion();\n await detectReactorPgMajor();\n await createReactor(localPackage);\n return {\n default: ({ children }: { children?: ReactNode }) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useSetSentryUser();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useCheckLatestVersion();\n return children;\n },\n };\n}\n"],"names":["packageJson"],"mappings":";;;;;;;;;;;;;;;AAEA,MAAa,2BAA2B;CACtC,MAAM,EAAE,MAAM,gBAAgB;AAE9B,QACE,qBAAC,OAAD,EAAA,UAAA,CACE,oBAAC,KAAD;EAAG,WAAU;YAAe,EAAE,0BAA0B;EAAK,CAAA,EAC7D,qBAAC,UAAD;EACE,eAAe,SAAS,QAAQ;EAChC,WAAU;YAFZ,CAIG,EAAE,uBAAuB,EAAC,MACpB;IACL,EAAA,CAAA;;;;ACPV,MAAa,8BAA8B;CACzC,eAAe,qBAAqB;EAClC,MAAM,SAAS,MAAM,iBAAiB;AACtC,MAAI,WAAW,KAAM;AAErB,MAAI,OAAO,YAAY,OAAO,eAAe,SAAS,IAAI,CACxD,QAAO;AAGT,MACE,OAAO,KAAK,IAAI,SAAS,iBACzB,cAAc,cACd,CAAC,cAAc,gBAEf,QAAO,KACL,2EACA,OAAO,gBACP,OAAO,cACR;MAED,OAAM,cAAc,mBAAmB,EAAE;GACvC,MAAM;GACN,SAAS;GACT,WAAW;GACZ,CAAC;;AAIN,iBAAgB;AACd,sBAAoB,CAAC,MAAM,QAAQ,MAAM;IACxC,EAAE,CAAC;;ACnCa,OAAO,UAAU,WAAW,SAAS,MAAM;AAEhE,MAAM,eAAuC;CAC3C,oBAAoB;CACpB,oBAAoB;CACpB,sBAAsB;CACtB,UAAU;CACV,UAAU;CACV,WAAW;CACX,WAAW;CACZ;AAED,MAAM,6BAA6B;CACjC,MAAM,aAAa;CACnB,MAAM,MAAM,OAAO,SAAS;CAE5B,MAAM,MAAM,OAAO,KAAK,aAAa,CAAC,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC;CACtE,MAAM,QAAQ,MAAM,aAAa,OAAO,KAAA;AACxC,KAAI,CAAC,MACH;KAEA,QAAO,GAAG,WAAW,GAAG,MAAM;;AAIlC,MAAM,qBAAqB,YAAY;CACrC,MAAM,OAAO,sBAAsB;AACnC,KAAI,CAAC,KACH;CAIF,MAAM,EAAE,YADM,OADC,MAAM,MAAM,KAAK,EACL,MAAM;AAEjC,QAAO;;AAGT,MAAa,kBAAkB,YAAY;CACzC,MAAM,iBAAiBA,gBAAY;CACnC,MAAM,WAAW,MAAM,oBAAoB;AAE3C,KAAI,SACF,QAAO;EACL,UAAU,aAAa;EACvB;EACA,eAAe;EAChB;AAGH,QAAO;;;;AC7CT,SAAgB,mBAAmB;CACjC,MAAM,OAAO,SAAS;AACtB,iBAAgB;EACd,IAAI,aAAgC;AACpC,MAAI,MAAM;GAER,MAAM,EAAE,YAAY,aAAa,GAAG,SAAS;AAC7C,gBAAa;IAAE,IAAI,KAAK;IAAK,UAAU,KAAK,KAAK;IAAM,GAAG;IAAM;;AAElE,UAAc,WAAW;IACxB,CAAC,KAAK,CAAC;;;;ACLZ,eAAsB,cAAc,cAAiC;AACnE,OAAM,sBAAsB;AAC5B,OAAM,sBAAsB;AAC5B,OAAM,cAAc,aAAa;AACjC,QAAO,EACL,UAAU,EAAE,eAAyC;AAEnD,oBAAkB;AAElB,yBAAuB;AACvB,SAAO;IAEV","debug_id":"9d3a51fb-fba7-501e-811e-0f952f0edd9b"}
package/dist/main.js CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
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]="2bbd67e3-aeba-5d1b-90e8-4d1ff3d7e576")}catch(e){}}();
3
- import { t as AppLoader } from "./sidebar-dOJMIiCv.js";
3
+ import { t as AppLoader } from "./sidebar-CcFfEje1.js";
4
4
  import { createRoot } from "react-dom/client";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region main.tsx
@@ -1,10 +1,10 @@
1
1
  //#region package.json
2
2
 
3
- !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]="d642542a-8fb1-55a0-9c76-f90e6695b0e0")}catch(e){}}();
3
+ !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]="78573aa1-1545-5d41-bef0-476d3bb43d3c")}catch(e){}}();
4
4
  var package_default = {
5
5
  name: "@powerhousedao/connect",
6
6
  productName: "Powerhouse-Connect",
7
- version: "6.1.0-dev.0",
7
+ version: "6.1.0-dev.10",
8
8
  description: "Powerhouse Connect",
9
9
  main: "dist/index.html",
10
10
  type: "module",
@@ -64,33 +64,37 @@ var package_default = {
64
64
  dependencies: {
65
65
  "@electric-sql/pglite": "catalog:",
66
66
  "@electric-sql/pglite-tools": "catalog:",
67
- "pglite-legacy-02": "npm:@electric-sql/pglite@0.2.17",
68
- "pglite-tools-legacy-02": "npm:@electric-sql/pglite-tools@0.2.4",
69
67
  "@openfeature/core": "1.9.1",
70
68
  "@openfeature/web-sdk": "1.6.2",
69
+ "@openpanel/web": "^1.4.1",
71
70
  "@powerhousedao/config": "workspace:*",
72
71
  "@powerhousedao/design-system": "workspace:*",
72
+ "@powerhousedao/document-engineering": "catalog:",
73
73
  "@powerhousedao/powerhouse-vetra-packages": "workspace:*",
74
74
  "@powerhousedao/reactor-browser": "workspace:*",
75
75
  "@powerhousedao/shared": "workspace:*",
76
76
  "@powerhousedao/vetra": "workspace:*",
77
- "@powerhousedao/document-engineering": "catalog:",
78
77
  "@renown/sdk": "workspace:*",
79
78
  "@sentry/react": "^10.17.0",
80
79
  "document-model": "workspace:*",
81
80
  "i18next": "^25.5.3",
82
81
  "kysely": "catalog:",
83
82
  "kysely-pglite-dialect": "catalog:",
83
+ "pglite-legacy-02": "npm:@electric-sql/pglite@0.2.17",
84
+ "pglite-tools-legacy-02": "npm:@electric-sql/pglite-tools@0.2.4",
84
85
  "react-error-boundary": "^4.0.11",
85
86
  "react-hotkeys-hook": "^4.6.2",
86
87
  "react-i18next": "^16.0.0",
87
88
  "react-router-dom": "^6.11.2",
88
89
  "tailwind-merge": "catalog:",
89
- "usehooks-ts": "^3.1.1"
90
+ "usehooks-ts": "^3.1.1",
91
+ "zod": "catalog:"
90
92
  },
91
93
  devDependencies: {
92
94
  "@tailwindcss/cli": "catalog:",
93
95
  "@tailwindcss/vite": "catalog:",
96
+ "@testing-library/dom": "^10.4.0",
97
+ "@testing-library/react": "^16.0.1",
94
98
  "@types/bun": "catalog:",
95
99
  "@types/node": "catalog:",
96
100
  "@types/react": "catalog:",
@@ -98,12 +102,14 @@ var package_default = {
98
102
  "@types/wicg-file-system-access": "^2023.10.7",
99
103
  "@vitejs/plugin-react": "catalog:",
100
104
  "cypress": "^14.5.4",
105
+ "happy-dom": "^20.8.9",
101
106
  "react": "catalog:",
102
107
  "react-dom": "catalog:",
103
108
  "tailwindcss": "catalog:",
104
109
  "tsdown": "catalog:",
105
110
  "vite": "catalog:",
106
- "vite-bundle-analyzer": "^1.3.6"
111
+ "vite-bundle-analyzer": "^1.3.6",
112
+ "vite-tsconfig-paths": "catalog:"
107
113
  },
108
114
  peerDependencies: {
109
115
  "react": ">=19.0.0",
@@ -113,5 +119,5 @@ var package_default = {
113
119
  //#endregion
114
120
  export { package_default as t };
115
121
 
116
- //# sourceMappingURL=package-BYMjy1FR.js.map
117
- //# debugId=d642542a-8fb1-55a0-9c76-f90e6695b0e0
122
+ //# sourceMappingURL=package-DSatNpsZ.js.map
123
+ //# debugId=78573aa1-1545-5d41-bef0-476d3bb43d3c
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-DSatNpsZ.js","sources":["../package.json"],"sourcesContent":[""],"names":[],"mappings":"","debug_id":"78573aa1-1545-5d41-bef0-476d3bb43d3c"}
@@ -1,18 +1,19 @@
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]="3cfe1dbb-5463-5a07-8ec2-8a3bf554be18")}catch(e){}}();
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]="4cd04101-e0be-5a06-be87-e510a25ba47c")}catch(e){}}();
3
3
  import { IdbFs, PGlite } from "@electric-sql/pglite";
4
4
  import { DEFAULT_RELATIONAL_PROCESSOR_DB_NAME } from "@powerhousedao/shared/processors";
5
5
  import { live } from "@electric-sql/pglite/live";
6
6
  import { worker } from "@electric-sql/pglite/worker";
7
7
  //#region pglite.worker.ts
8
- worker({ async init() {
9
- return new PGlite({
10
- fs: new IdbFs(DEFAULT_RELATIONAL_PROCESSOR_DB_NAME),
8
+ worker({ init() {
9
+ const idbFs = new IdbFs(DEFAULT_RELATIONAL_PROCESSOR_DB_NAME);
10
+ return Promise.resolve(new PGlite({
11
+ fs: idbFs,
11
12
  relaxedDurability: true,
12
13
  extensions: { live }
13
- });
14
+ }));
14
15
  } }).catch(console.error);
15
16
  //#endregion
16
17
 
17
18
  //# sourceMappingURL=pglite.worker.js.map
18
- //# debugId=3cfe1dbb-5463-5a07-8ec2-8a3bf554be18
19
+ //# debugId=4cd04101-e0be-5a06-be87-e510a25ba47c
@@ -1 +1 @@
1
- {"version":3,"file":"pglite.worker.js","sources":["../pglite.worker.ts"],"sourcesContent":["import { IdbFs, PGlite } from \"@electric-sql/pglite\";\nimport { live } from \"@electric-sql/pglite/live\";\nimport { worker } from \"@electric-sql/pglite/worker\";\nimport { DEFAULT_RELATIONAL_PROCESSOR_DB_NAME } from \"@powerhousedao/shared/processors\";\n\nworker({\n async init() {\n const idbFs = new IdbFs(DEFAULT_RELATIONAL_PROCESSOR_DB_NAME);\n return new PGlite({\n fs: idbFs,\n relaxedDurability: true,\n extensions: { live },\n });\n },\n}).catch(console.error);\n"],"names":[],"mappings":";;;;;;;AAKA,OAAO,EACL,MAAM,OAAO;AAEX,QAAO,IAAI,OAAO;EAChB,IAFY,IAAI,MAAM,qCAAqC;EAG3D,mBAAmB;EACnB,YAAY,EAAE,MAAM;EACrB,CAAC;GAEL,CAAC,CAAC,MAAM,QAAQ,MAAM","debug_id":"3cfe1dbb-5463-5a07-8ec2-8a3bf554be18"}
1
+ {"version":3,"file":"pglite.worker.js","sources":["../pglite.worker.ts"],"sourcesContent":["import { IdbFs, PGlite } from \"@electric-sql/pglite\";\nimport { live } from \"@electric-sql/pglite/live\";\nimport { worker } from \"@electric-sql/pglite/worker\";\nimport { DEFAULT_RELATIONAL_PROCESSOR_DB_NAME } from \"@powerhousedao/shared/processors\";\n\nworker({\n init() {\n const idbFs = new IdbFs(DEFAULT_RELATIONAL_PROCESSOR_DB_NAME);\n return Promise.resolve(\n new PGlite({\n fs: idbFs,\n relaxedDurability: true,\n extensions: { live },\n }),\n );\n },\n}).catch(console.error);\n"],"names":[],"mappings":";;;;;;;AAKA,OAAO,EACL,OAAO;CACL,MAAM,QAAQ,IAAI,MAAM,qCAAqC;AAC7D,QAAO,QAAQ,QACb,IAAI,OAAO;EACT,IAAI;EACJ,mBAAmB;EACnB,YAAY,EAAE,MAAM;EACrB,CAAC,CACH;GAEJ,CAAC,CAAC,MAAM,QAAQ,MAAM","debug_id":"4cd04101-e0be-5a06-be87-e510a25ba47c"}
@@ -1,18 +1,19 @@
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]="04954497-eb5c-51e6-9675-c7f6883ba95c")}catch(e){}}();
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]="8685347c-30cd-507b-a6b2-37daf34ade15")}catch(e){}}();
3
3
  import { DEFAULT_RELATIONAL_PROCESSOR_DB_NAME } from "@powerhousedao/shared/processors";
4
4
  import { IdbFs, PGlite } from "pglite-legacy-02";
5
5
  import { live } from "pglite-legacy-02/live";
6
6
  import { worker } from "pglite-legacy-02/worker";
7
7
  //#region pglite.worker.legacy.ts
8
- worker({ async init() {
9
- return new PGlite({
10
- fs: new IdbFs(DEFAULT_RELATIONAL_PROCESSOR_DB_NAME),
8
+ worker({ init() {
9
+ const idbFs = new IdbFs(DEFAULT_RELATIONAL_PROCESSOR_DB_NAME);
10
+ return Promise.resolve(new PGlite({
11
+ fs: idbFs,
11
12
  relaxedDurability: true,
12
13
  extensions: { live }
13
- });
14
+ }));
14
15
  } }).catch(console.error);
15
16
  //#endregion
16
17
 
17
18
  //# sourceMappingURL=pglite.worker.legacy.js.map
18
- //# debugId=04954497-eb5c-51e6-9675-c7f6883ba95c
19
+ //# debugId=8685347c-30cd-507b-a6b2-37daf34ade15
@@ -1 +1 @@
1
- {"version":3,"file":"pglite.worker.legacy.js","sources":["../pglite.worker.legacy.ts"],"sourcesContent":["import { IdbFs, PGlite } from \"pglite-legacy-02\";\nimport { live } from \"pglite-legacy-02/live\";\nimport { worker } from \"pglite-legacy-02/worker\";\nimport { DEFAULT_RELATIONAL_PROCESSOR_DB_NAME } from \"@powerhousedao/shared/processors\";\n\nworker({\n async init() {\n const idbFs = new IdbFs(DEFAULT_RELATIONAL_PROCESSOR_DB_NAME);\n return new PGlite({\n fs: idbFs,\n relaxedDurability: true,\n extensions: { live },\n });\n },\n}).catch(console.error);\n"],"names":[],"mappings":";;;;;;;AAKA,OAAO,EACL,MAAM,OAAO;AAEX,QAAO,IAAI,OAAO;EAChB,IAFY,IAAI,MAAM,qCAAqC;EAG3D,mBAAmB;EACnB,YAAY,EAAE,MAAM;EACrB,CAAC;GAEL,CAAC,CAAC,MAAM,QAAQ,MAAM","debug_id":"04954497-eb5c-51e6-9675-c7f6883ba95c"}
1
+ {"version":3,"file":"pglite.worker.legacy.js","sources":["../pglite.worker.legacy.ts"],"sourcesContent":["import { IdbFs, PGlite } from \"pglite-legacy-02\";\nimport { live } from \"pglite-legacy-02/live\";\nimport { worker } from \"pglite-legacy-02/worker\";\nimport { DEFAULT_RELATIONAL_PROCESSOR_DB_NAME } from \"@powerhousedao/shared/processors\";\n\nworker({\n init() {\n const idbFs = new IdbFs(DEFAULT_RELATIONAL_PROCESSOR_DB_NAME);\n return Promise.resolve(\n new PGlite({\n fs: idbFs,\n relaxedDurability: true,\n extensions: { live },\n }),\n );\n },\n}).catch(console.error);\n"],"names":[],"mappings":";;;;;;;AAKA,OAAO,EACL,OAAO;CACL,MAAM,QAAQ,IAAI,MAAM,qCAAqC;AAC7D,QAAO,QAAQ,QACb,IAAI,OAAO;EACT,IAAI;EACJ,mBAAmB;EACnB,YAAY,EAAE,MAAM;EACrB,CAAC,CACH;GAEJ,CAAC,CAAC,MAAM,QAAQ,MAAM","debug_id":"8685347c-30cd-507b-a6b2-37daf34ade15"}
@@ -1,6 +1,6 @@
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]="07272e9f-9a05-562c-b58d-4c6a352a7b83")}catch(e){}}();
3
- import { i as phGlobalConfigFromEnv } from "./connect.config-Cuh0hj_Q.js";
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]="fd966c04-504a-5fa0-808a-7e826df1caa0")}catch(e){}}();
3
+ import { i as phGlobalConfigFromEnv } from "./connect.config-B2xP5Iez.js";
4
4
  import { n as toast } from "./toast-DnODOv28.js";
5
5
  import { n as loadPackagesConfig } from "./packages.config-CiH8KJVN.js";
6
6
  import { a as loadPGliteModule, n as detectRelationalPgMajor, s as resolvePgMajorForRuntime, t as detectReactorPgMajor } from "./pglite-runtime-Btp8ZXVH.js";
@@ -60,12 +60,14 @@ function getDefaultDrivesFromEnv() {
60
60
  * dev server is ready before the switchboard has finished binding its port.
61
61
  *
62
62
  * @param defaultDriveUrls - Array of drive REST endpoint URLs (e.g., "https://example.com/d/powerhouse")
63
+ * @param options - Forwarded to addRemoteDrive. Pass `awaitInitialSync: true`
64
+ * when the URL pins a drive slug that must resolve before selection.
63
65
  */
64
- async function addDefaultDrivesForNewReactor(defaultDriveUrls) {
66
+ async function addDefaultDrivesForNewReactor(defaultDriveUrls, options) {
65
67
  const MAX_ATTEMPTS = 3;
66
68
  const BACKOFF_MS = 2e3;
67
69
  for (const url of defaultDriveUrls) for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) try {
68
- await addRemoteDrive(url);
70
+ await addRemoteDrive(url, void 0, options);
69
71
  break;
70
72
  } catch (error) {
71
73
  if (attempt === MAX_ATTEMPTS) console.error(`Failed to add default drive ${url} after ${MAX_ATTEMPTS} attempts:`, error);
@@ -936,17 +938,25 @@ async function createReactor(localPackage) {
936
938
  setDocumentCache(documentCache);
937
939
  setRenown(renown);
938
940
  setDrives(drives);
939
- setSelectedDrive(driveSlug);
940
- setSelectedNode(nodeSlug);
941
941
  setFeatures(features);
942
+ const driveResolutionRequired = Boolean(driveSlug);
942
943
  const defaultDrivesConfig = getDefaultDrivesFromEnv();
943
- if (defaultDrivesConfig.length > 0) await addDefaultDrivesForNewReactor(defaultDrivesConfig);
944
+ if (defaultDrivesConfig.length > 0) await addDefaultDrivesForNewReactor(defaultDrivesConfig, driveResolutionRequired ? {
945
+ awaitInitialSync: true,
946
+ initialSyncTimeoutMs: 15e3
947
+ } : void 0);
944
948
  const remoteUrl = getDriveUrl();
945
949
  if (remoteUrl) try {
946
- await addRemoteDrive(remoteUrl);
950
+ await addRemoteDrive(remoteUrl, void 0, {
951
+ awaitInitialSync: driveResolutionRequired,
952
+ initialSyncTimeoutMs: 15e3
953
+ });
947
954
  } catch (error) {
948
955
  console.error(`Failed to add remote drive from ${remoteUrl}:`, error);
949
956
  }
957
+ if (driveResolutionRequired) await refreshReactorDataClient(reactorClientModule.client);
958
+ setSelectedDrive(driveSlug);
959
+ setSelectedNode(nodeSlug);
950
960
  const reactorClient = reactorClientModule.client;
951
961
  reactorClient.subscribe({ type: "powerhouse/document-drive" }, (event) => {
952
962
  logger.verbose("ReactorClient subscription event: @event", event);
@@ -1003,5 +1013,5 @@ function getDriveUrl() {
1003
1013
  //#endregion
1004
1014
  export { createReactor as n, clearReactorStorage as t };
1005
1015
 
1006
- //# sourceMappingURL=reactor-CppbYt7w.js.map
1007
- //# debugId=07272e9f-9a05-562c-b58d-4c6a352a7b83
1016
+ //# sourceMappingURL=reactor-BqTMQT3A.js.map
1017
+ //# debugId=fd966c04-504a-5fa0-808a-7e826df1caa0