@powerhousedao/connect 1.0.25-dev.3 → 1.0.25-dev.4

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 (34) hide show
  1. package/dist/assets/{app-DuevLOGa.js → app-CRmO9P_Q.js} +2375 -1285
  2. package/dist/assets/app-CRmO9P_Q.js.map +1 -0
  3. package/dist/assets/{app-BtiIdebC.css → app-Di6g_N6F.css} +96 -78
  4. package/dist/assets/{app-loader-BNl_S7y5.js → app-loader-CtKitdaN.js} +193 -28
  5. package/dist/assets/app-loader-CtKitdaN.js.map +1 -0
  6. package/dist/assets/{app-loader-Kh2XKQY5.css → app-loader-b43YtazY.css} +15 -8
  7. package/dist/assets/{browser-BMIKwzU9.js → browser-B8WxqFi2.js} +4 -4
  8. package/dist/assets/{browser-BMIKwzU9.js.map → browser-B8WxqFi2.js.map} +1 -1
  9. package/dist/assets/{ccip-BoCYNkmd.js → ccip-CS73bbHO.js} +4 -4
  10. package/dist/assets/{ccip-BoCYNkmd.js.map → ccip-CS73bbHO.js.map} +1 -1
  11. package/dist/assets/{content-BLgob3rk.js → content-B9a9DnAp.js} +5 -5
  12. package/dist/assets/{content-BLgob3rk.js.map → content-B9a9DnAp.js.map} +1 -1
  13. package/dist/assets/{index-DjoCexCi.js → index-CmPCHu-v.js} +4 -4
  14. package/dist/assets/{index-DjoCexCi.js.map → index-CmPCHu-v.js.map} +1 -1
  15. package/dist/assets/{index-C6zbFAcK.js → index-DB7sJATC.js} +4 -4
  16. package/dist/assets/index-DB7sJATC.js.map +1 -0
  17. package/dist/assets/{index-CvFSOEaQ.js → index-a0Tjk_Qp.js} +5 -5
  18. package/dist/assets/{index-CvFSOEaQ.js.map → index-a0Tjk_Qp.js.map} +1 -1
  19. package/dist/assets/{index-ChTDZAEG.js → index-mB2H2vrd.js} +3409 -7
  20. package/dist/assets/index-mB2H2vrd.js.map +1 -0
  21. package/dist/assets/{main.CBcxpJYb.js → main.BV7j6exc.js} +2 -2
  22. package/dist/assets/{main.CBcxpJYb.js.map → main.BV7j6exc.js.map} +1 -1
  23. package/dist/assets/{reactor-analytics-m8eVeqfl.js → reactor-analytics-BLqDApmT.js} +6 -6
  24. package/dist/assets/{reactor-analytics-m8eVeqfl.js.map → reactor-analytics-BLqDApmT.js.map} +1 -1
  25. package/dist/assets/{router-BCYFp_Nf.js → router-DbL0m4kL.js} +6 -6
  26. package/dist/assets/{router-BCYFp_Nf.js.map → router-DbL0m4kL.js.map} +1 -1
  27. package/dist/assets/{style-DCJSX6pm.css → style-CK8AY-7U.css} +11 -12
  28. package/dist/index.html +1 -1
  29. package/dist/vite-envs.sh +1 -1
  30. package/package.json +12 -7
  31. package/dist/assets/app-DuevLOGa.js.map +0 -1
  32. package/dist/assets/app-loader-BNl_S7y5.js.map +0 -1
  33. package/dist/assets/index-C6zbFAcK.js.map +0 -1
  34. package/dist/assets/index-ChTDZAEG.js.map +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/app-DuevLOGa.js","assets/main.CBcxpJYb.js","assets/app-BtiIdebC.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/app-CRmO9P_Q.js","assets/main.BV7j6exc.js","assets/app-Di6g_N6F.css"])))=>i.map(i=>d[i]);
2
2
  var __defProp = Object.defineProperty;
3
3
  var __typeError = (msg) => {
4
4
  throw TypeError(msg);
@@ -11,7 +11,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
11
11
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
12
12
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
13
13
  var _tags, _levelString, _errorHandler, _ConsoleLogger_instances, levelValue_get, _getDocumentModelModule, _drives, _ReadModeService_instances, parseGraphQLErrors_fn, fetchDrive_fn, _a, _ServiceWorkerManager_instances, handleServiceWorkerMessage_fn, handleServiceWorker_fn;
14
- import { _ as __vitePreload } from "./main.CBcxpJYb.js";
14
+ import { _ as __vitePreload } from "./main.BV7j6exc.js";
15
15
  import { jsx, jsxs } from "react/jsx-runtime";
16
16
  import { useState, useEffect, Suspense, lazy } from "react";
17
17
  function _mergeNamespaces(n, m) {
@@ -22188,10 +22188,12 @@ const callOrIdentity = (value) => {
22188
22188
  const gql = (chunks, ...variables) => {
22189
22189
  return chunks.reduce((acc, chunk, index) => `${acc}${chunk}${index in variables ? String(variables[index]) : ``}`, ``);
22190
22190
  };
22191
- async function requestGraphql(...args) {
22192
- const [url, ...requestArgs] = args;
22193
- const client = new GraphQLClient(url, { fetch });
22194
- const { errors, ...response } = await client.request(...requestArgs);
22191
+ async function requestGraphql(url, document, variables, headers) {
22192
+ const client = new GraphQLClient(url, {
22193
+ fetch,
22194
+ headers: headers || {}
22195
+ });
22196
+ const { errors, ...response } = await client.request(document, variables);
22195
22197
  const result = { ...response };
22196
22198
  if (errors == null ? void 0 : errors.length) {
22197
22199
  result.errors = errors.map(({ message, ...options }) => new GraphQLError(message, options));
@@ -22244,7 +22246,7 @@ function generateDocumentStateQueryFields(documentModelState, prefix, options) {
22244
22246
  const queryFields = getFields(stateQuery.type, prefix);
22245
22247
  return queryFields;
22246
22248
  }
22247
- async function requestPublicDrive(url) {
22249
+ async function requestPublicDrive(url, headers) {
22248
22250
  var _a2, _b;
22249
22251
  let drive;
22250
22252
  try {
@@ -22260,7 +22262,7 @@ async function requestPublicDrive(url) {
22260
22262
  }
22261
22263
  }
22262
22264
  }
22263
- `);
22265
+ `, void 0, headers);
22264
22266
  if (((_a2 = result.errors) == null ? void 0 : _a2.length) || !result.drive) {
22265
22267
  throw ((_b = result.errors) == null ? void 0 : _b.at(0)) ?? new Error("Drive not found");
22266
22268
  }
@@ -22732,6 +22734,34 @@ class PullResponderTransmitter {
22732
22734
  this.manager = manager;
22733
22735
  this.logger.verbose(`constructor(listener: ${listener.listenerId})`);
22734
22736
  }
22737
+ static async getAuthHeaders(url, manager) {
22738
+ if (!(manager == null ? void 0 : manager.generateJwtHandler)) {
22739
+ staticLogger().verbose(`No JWT handler available for ${url}`);
22740
+ return {};
22741
+ }
22742
+ try {
22743
+ const jwt = await manager.generateJwtHandler(url);
22744
+ if (!jwt) {
22745
+ staticLogger().verbose(`No JWT generated for ${url}`);
22746
+ return {};
22747
+ }
22748
+ return { Authorization: `Bearer ${jwt}` };
22749
+ } catch (error) {
22750
+ staticLogger().error(`Error generating JWT for ${url}:`, error);
22751
+ return {};
22752
+ }
22753
+ }
22754
+ async requestWithAuth(url, query, variables) {
22755
+ var _a2;
22756
+ const headers = await PullResponderTransmitter.getAuthHeaders(url, this.manager);
22757
+ const result = await requestGraphql(url, query, variables, headers);
22758
+ const error = (_a2 = result.errors) == null ? void 0 : _a2.at(0);
22759
+ if (error == null ? void 0 : error.message.includes("Unauthorized")) {
22760
+ const freshHeaders = await PullResponderTransmitter.getAuthHeaders(url, this.manager);
22761
+ return requestGraphql(url, query, variables, freshHeaders);
22762
+ }
22763
+ return result;
22764
+ }
22735
22765
  getStrands(options) {
22736
22766
  this.logger.verbose(`[SYNC DEBUG] PullResponderTransmitter.getStrands called for drive: ${this.listener.driveId}, listener: ${this.listener.listenerId}, options: ${JSON.stringify(options || {})}`);
22737
22767
  return this.manager.getStrands(this.listener.driveId, this.listener.listenerId, options).then((strands) => {
@@ -22754,7 +22784,7 @@ class PullResponderTransmitter {
22754
22784
  const syncUnits = await this.manager.getListenerSyncUnitIds(driveId, listenerId);
22755
22785
  let success = true;
22756
22786
  for (const revision of revisions) {
22757
- const syncUnit = syncUnits.find((s) => s.scope === revision.scope && s.branch === revision.branch && s.documentId == revision.documentId);
22787
+ const syncUnit = syncUnits.find((s) => s.scope === revision.scope && s.branch === revision.branch && s.documentId === revision.documentId);
22758
22788
  if (!syncUnit) {
22759
22789
  this.logger.warn("Unknown sync unit was acknowledged", revision);
22760
22790
  success = false;
@@ -22764,9 +22794,10 @@ class PullResponderTransmitter {
22764
22794
  }
22765
22795
  return success;
22766
22796
  }
22767
- static async registerPullResponder(driveId, url, filter, listenerId) {
22768
- var _a2;
22797
+ static async registerPullResponder(driveId, url, filter, listenerId, manager) {
22798
+ var _a2, _b;
22769
22799
  staticLogger().verbose(`registerPullResponder(url: ${url})`, filter);
22800
+ const headers = await this.getAuthHeaders(url, manager);
22770
22801
  const result = await requestGraphql(url, gql`
22771
22802
  mutation registerPullResponderListener(
22772
22803
  $filter: InputListenerFilter!
@@ -22779,9 +22810,32 @@ class PullResponderTransmitter {
22779
22810
  listenerId
22780
22811
  }
22781
22812
  }
22782
- `, { filter, listenerId });
22813
+ `, { filter, listenerId }, headers);
22783
22814
  const error = (_a2 = result.errors) == null ? void 0 : _a2.at(0);
22784
22815
  if (error) {
22816
+ if (error.message.includes("Unauthorized")) {
22817
+ const freshHeaders = await this.getAuthHeaders(url, manager);
22818
+ const retryResult = await requestGraphql(url, gql`
22819
+ mutation registerPullResponderListener(
22820
+ $filter: InputListenerFilter!
22821
+ $listenerId: String
22822
+ ) {
22823
+ registerPullResponderListener(
22824
+ filter: $filter
22825
+ listenerId: $listenerId
22826
+ ) {
22827
+ listenerId
22828
+ }
22829
+ }
22830
+ `, { filter, listenerId }, freshHeaders);
22831
+ if ((_b = retryResult.errors) == null ? void 0 : _b.at(0)) {
22832
+ throw retryResult.errors[0];
22833
+ }
22834
+ if (!retryResult.registerPullResponderListener) {
22835
+ throw new Error("Error registering listener");
22836
+ }
22837
+ return retryResult.registerPullResponderListener.listenerId;
22838
+ }
22785
22839
  throw error;
22786
22840
  }
22787
22841
  if (!result.registerPullResponderListener) {
@@ -22789,9 +22843,10 @@ class PullResponderTransmitter {
22789
22843
  }
22790
22844
  return result.registerPullResponderListener.listenerId;
22791
22845
  }
22792
- static async pullStrands(driveId, url, listenerId, options) {
22793
- var _a2;
22846
+ static async pullStrands(driveId, url, listenerId, options, manager) {
22847
+ var _a2, _b;
22794
22848
  staticLogger().verbose(`[SYNC DEBUG] PullResponderTransmitter.pullStrands called for drive: ${driveId}, url: ${url}, listener: ${listenerId}, options: ${JSON.stringify(options || {})}`);
22849
+ const headers = await this.getAuthHeaders(url, manager);
22795
22850
  const result = await requestGraphql(url, gql`
22796
22851
  query strands($listenerId: ID!) {
22797
22852
  system {
@@ -22828,10 +22883,62 @@ class PullResponderTransmitter {
22828
22883
  }
22829
22884
  }
22830
22885
  }
22831
- `, { listenerId });
22886
+ `, { listenerId }, headers);
22832
22887
  const error = (_a2 = result.errors) == null ? void 0 : _a2.at(0);
22833
22888
  if (error) {
22834
- staticLogger().verbose(`[SYNC DEBUG] Error pulling strands for drive: ${driveId}, listener: ${listenerId}, error: ${JSON.stringify(error)}`);
22889
+ if (error.message.includes("Unauthorized")) {
22890
+ const freshHeaders = await this.getAuthHeaders(url, manager);
22891
+ const retryResult = await requestGraphql(url, gql`
22892
+ query strands($listenerId: ID!) {
22893
+ system {
22894
+ sync {
22895
+ strands(listenerId: $listenerId) {
22896
+ driveId
22897
+ documentId
22898
+ scope
22899
+ branch
22900
+ operations {
22901
+ id
22902
+ timestamp
22903
+ skip
22904
+ type
22905
+ input
22906
+ hash
22907
+ index
22908
+ context {
22909
+ signer {
22910
+ user {
22911
+ address
22912
+ networkId
22913
+ chainId
22914
+ }
22915
+ app {
22916
+ name
22917
+ key
22918
+ }
22919
+ signatures
22920
+ }
22921
+ }
22922
+ }
22923
+ }
22924
+ }
22925
+ }
22926
+ }
22927
+ `, { listenerId }, freshHeaders);
22928
+ if ((_b = retryResult.errors) == null ? void 0 : _b.at(0)) {
22929
+ throw retryResult.errors[0];
22930
+ }
22931
+ if (!retryResult.system) {
22932
+ return [];
22933
+ }
22934
+ return retryResult.system.sync.strands.map((s) => ({
22935
+ ...s,
22936
+ operations: s.operations.map((o) => ({
22937
+ ...o,
22938
+ input: JSON.parse(o.input)
22939
+ }))
22940
+ }));
22941
+ }
22835
22942
  throw error;
22836
22943
  }
22837
22944
  if (!result.system) {
@@ -22851,7 +22958,7 @@ class PullResponderTransmitter {
22851
22958
  }
22852
22959
  return strands;
22853
22960
  }
22854
- static async acknowledgeStrands(url, listenerId, revisions) {
22961
+ static async acknowledgeStrands(url, listenerId, revisions, manager) {
22855
22962
  staticLogger().verbose(`acknowledgeStrands(url: ${url}, listener: ${listenerId})`, revisions);
22856
22963
  const chunks = [];
22857
22964
  for (let i = 0; i < revisions.length; i += MAX_REVISIONS_PER_ACK) {
@@ -22860,8 +22967,9 @@ class PullResponderTransmitter {
22860
22967
  if (chunks.length > 1) {
22861
22968
  staticLogger().verbose(`Breaking strand acknowledgement into ${chunks.length} chunks...`);
22862
22969
  }
22970
+ const headers = await this.getAuthHeaders(url, manager);
22863
22971
  const results = await Promise.allSettled(chunks.map(async (chunk) => {
22864
- var _a2;
22972
+ var _a2, _b;
22865
22973
  const result = await requestGraphql(url, gql`
22866
22974
  mutation acknowledge(
22867
22975
  $listenerId: String!
@@ -22869,9 +22977,27 @@ class PullResponderTransmitter {
22869
22977
  ) {
22870
22978
  acknowledge(listenerId: $listenerId, revisions: $revisions)
22871
22979
  }
22872
- `, { listenerId, revisions: chunk });
22980
+ `, { listenerId, revisions: chunk }, headers);
22873
22981
  const error = (_a2 = result.errors) == null ? void 0 : _a2.at(0);
22874
22982
  if (error) {
22983
+ if (error.message.includes("Unauthorized")) {
22984
+ const freshHeaders = await this.getAuthHeaders(url, manager);
22985
+ const retryResult = await requestGraphql(url, gql`
22986
+ mutation acknowledge(
22987
+ $listenerId: String!
22988
+ $revisions: [ListenerRevisionInput]
22989
+ ) {
22990
+ acknowledge(listenerId: $listenerId, revisions: $revisions)
22991
+ }
22992
+ `, { listenerId, revisions: chunk }, freshHeaders);
22993
+ if ((_b = retryResult.errors) == null ? void 0 : _b.at(0)) {
22994
+ throw retryResult.errors[0];
22995
+ }
22996
+ if (retryResult.acknowledge === null || !retryResult.acknowledge) {
22997
+ throw new Error("Error acknowledging strands");
22998
+ }
22999
+ return;
23000
+ }
22875
23001
  throw error;
22876
23002
  }
22877
23003
  if (result.acknowledge === null || !result.acknowledge) {
@@ -23184,13 +23310,44 @@ var libExports = requireLib();
23184
23310
  const stringify = /* @__PURE__ */ getDefaultExportFromCjs(libExports);
23185
23311
  const SYNC_OPS_BATCH_LIMIT = 10;
23186
23312
  class SwitchboardPushTransmitter {
23187
- constructor(targetURL) {
23313
+ constructor(targetURL, manager) {
23188
23314
  __publicField(this, "targetURL");
23315
+ __publicField(this, "manager");
23189
23316
  __publicField(this, "logger", childLogger([
23190
23317
  "SwitchboardPushTransmitter",
23191
23318
  Math.floor(Math.random() * 999).toString()
23192
23319
  ]));
23193
23320
  this.targetURL = targetURL;
23321
+ this.manager = manager;
23322
+ }
23323
+ async getAuthHeaders() {
23324
+ var _a2;
23325
+ if (!((_a2 = this.manager) == null ? void 0 : _a2.generateJwtHandler)) {
23326
+ this.logger.verbose(`No JWT handler available for ${this.targetURL}`);
23327
+ return {};
23328
+ }
23329
+ try {
23330
+ const jwt = await this.manager.generateJwtHandler(this.targetURL);
23331
+ if (!jwt) {
23332
+ this.logger.verbose(`No JWT generated for ${this.targetURL}`);
23333
+ return {};
23334
+ }
23335
+ return { Authorization: `Bearer ${jwt}` };
23336
+ } catch (error) {
23337
+ this.logger.error(`Error generating JWT for ${this.targetURL}:`, error);
23338
+ return {};
23339
+ }
23340
+ }
23341
+ async requestWithAuth(query, variables) {
23342
+ var _a2;
23343
+ const headers = await this.getAuthHeaders();
23344
+ const result = await requestGraphql(this.targetURL, query, variables, headers);
23345
+ const error = (_a2 = result.errors) == null ? void 0 : _a2.at(0);
23346
+ if (error == null ? void 0 : error.message.includes("Unauthorized")) {
23347
+ const freshHeaders = await this.getAuthHeaders();
23348
+ return requestGraphql(this.targetURL, query, variables, freshHeaders);
23349
+ }
23350
+ return result;
23194
23351
  }
23195
23352
  async transmit(strands, source) {
23196
23353
  var _a2;
@@ -23225,7 +23382,7 @@ class SwitchboardPushTransmitter {
23225
23382
  this.logger.verbose(` Total update: [${strands.map((s) => s.operations.length).join(", ")}] operations`);
23226
23383
  this.logger.verbose(`Culled update: [${culledStrands.map((s) => s.operations.length).join(", ")}] operations`);
23227
23384
  try {
23228
- const { pushUpdates } = await requestGraphql(this.targetURL, gql`
23385
+ const result = await this.requestWithAuth(gql`
23229
23386
  mutation pushUpdates($strands: [InputStrandUpdate!]) {
23230
23387
  pushUpdates(strands: $strands) {
23231
23388
  driveId
@@ -23246,15 +23403,14 @@ class SwitchboardPushTransmitter {
23246
23403
  }))
23247
23404
  }))
23248
23405
  });
23249
- if (!pushUpdates) {
23406
+ if (!result.pushUpdates) {
23250
23407
  throw new Error("Couldn't update listener revision");
23251
23408
  }
23252
- return pushUpdates;
23409
+ return result.pushUpdates;
23253
23410
  } catch (e) {
23254
23411
  this.logger.error(e);
23255
23412
  throw e;
23256
23413
  }
23257
- return [];
23258
23414
  }
23259
23415
  }
23260
23416
  var TransmitterType;
@@ -23303,6 +23459,7 @@ class BaseDocumentDriveServer {
23303
23459
  __publicField(this, "options");
23304
23460
  __publicField(this, "listenerManager");
23305
23461
  __publicField(this, "synchronizationManager");
23462
+ __publicField(this, "generateJwtHandler");
23306
23463
  // internal dependencies
23307
23464
  __publicField(this, "defaultDrivesManager");
23308
23465
  __publicField(this, "defaultDrivesManagerDelegate", {
@@ -24402,6 +24559,10 @@ class BaseDocumentDriveServer {
24402
24559
  this.eventEmitter.emit("strandUpdate", strand);
24403
24560
  return result;
24404
24561
  }
24562
+ setGenerateJwtHandler(handler) {
24563
+ this.generateJwtHandler = handler;
24564
+ this.listenerManager.setGenerateJwtHandler(handler);
24565
+ }
24405
24566
  }
24406
24567
  const DocumentDriveServer = ReadModeServer(BaseDocumentDriveServer);
24407
24568
  class MemoryStorage {
@@ -24662,6 +24823,7 @@ const _ListenerManager = class _ListenerManager {
24662
24823
  ]));
24663
24824
  __publicField(this, "syncManager");
24664
24825
  __publicField(this, "options");
24826
+ __publicField(this, "generateJwtHandler");
24665
24827
  // driveId -> listenerId -> listenerState
24666
24828
  __publicField(this, "listenerStateByDriveId", /* @__PURE__ */ new Map());
24667
24829
  __publicField(this, "triggerUpdate", debounce(this._triggerUpdate.bind(this), _ListenerManager.LISTENER_UPDATE_DELAY));
@@ -24669,6 +24831,9 @@ const _ListenerManager = class _ListenerManager {
24669
24831
  this.options = { ...DefaultListenerManagerOptions, ...options };
24670
24832
  this.logger.verbose(`constructor(...)`);
24671
24833
  }
24834
+ setGenerateJwtHandler(handler) {
24835
+ this.generateJwtHandler = handler;
24836
+ }
24672
24837
  async initialize(handler) {
24673
24838
  this.logger.verbose("initialize(...)");
24674
24839
  if (typeof window !== "undefined") {
@@ -26073,7 +26238,7 @@ const nodeOptionsMap = {
26073
26238
  };
26074
26239
  const name = "@powerhousedao/connect";
26075
26240
  const productName = "Powerhouse-Connect";
26076
- const version$1 = "1.0.25-dev.3";
26241
+ const version$1 = "1.0.25-dev.4";
26077
26242
  const description = "Powerhouse Connect";
26078
26243
  const main = "./dist/index.html";
26079
26244
  const type = "module";
@@ -26085,7 +26250,7 @@ const repository = { "type": "git", "url": "git+https://github.com/powerhouse-in
26085
26250
  const bugs = { "url": "https://github.com/powerhouse-inc/document-model-electron/issues" };
26086
26251
  const homepage = "https://github.com/powerhouse-inc/document-model-electron#readme";
26087
26252
  const scripts = { "build:tsc": "tsc --build", "start": "electron-forge start", "package": "electron-forge package", "make": "PH_CONNECT_BASE_HREF=./ electron-forge make", "make:mac": "PH_CONNECT_BASE_HREF=./ electron-forge make -p darwin", "make:linux": "PH_CONNECT_BASE_HREF=./ electron-forge make -p linux", "make:windows": "PH_CONNECT_BASE_HREF=./ electron-forge make -p win32", "publish:electron": "electron-forge publish", "prepublishOnly": "npm run build", "lint": "eslint .", "lint:fix": "eslint --fix .", "lint:nx": "eslint --quiet --fix .", "format": 'prettier --write "**/*.+(js|ts|jsx|tsx|json)"', "dev": "vite -c vite.renderer.config.mts", "dev:nocache": "rm -rf node_modules/.vite && rm -rf node_modules/.cache && npm run dev", "prebuild": "npm run clean && tsc --build --noEmit", "build": "NODE_OPTIONS=--max-old-space-size=6144 vite build -c vite.renderer.config.mts", "preview:web": "vite preview -c vite.renderer.config.mts", "e2e": "playwright test", "cy:open": "cypress open", "build:service-worker": "tsc --build ./tsconfig.sw.json", "clean": "rimraf dist", "clean:node_modules": "rimraf node_modules" };
26088
- const devDependencies = { "@electron-forge/cli": "^6.1.1", "@electron-forge/maker-deb": "^6.1.1", "@electron-forge/maker-rpm": "^6.1.1", "@electron-forge/maker-squirrel": "^6.1.1", "@electron-forge/maker-zip": "^6.1.1", "@electron-forge/plugin-vite": "^6.1.1", "@electron-forge/publisher-electron-release-server": "^6.2.1", "@electron-forge/publisher-github": "^7.2.0", "@electron-forge/shared-types": "^7.7.0", "@playwright/test": "^1.41.2", "@powerhousedao/builder-tools": "workspace:*", "@powerhousedao/common": "workspace:*", "@powerhousedao/config": "workspace:*", "@powerhousedao/design-system": "workspace:*", "@powerhousedao/diff-analyzer": "^0.0.0-dev.4", "@powerhousedao/reactor-browser": "workspace:*", "@rollup/plugin-node-resolve": "^15.2.3", "@sentry/browser": "^9.1.0", "@sentry/react": "^7.109.0", "@sentry/vite-plugin": "^2.23.0", "@tailwindcss/vite": "^4.1.4", "@tanstack/react-virtual": "^3.8.1", "@types/node": "^22.15.17", "@types/react": "^18.2.79", "@types/react-dom": "^18.2.18", "@types/uuid": "^9.0.7", "@types/wicg-file-system-access": "^2020.9.6", "@vitejs/plugin-basic-ssl": "^2.0.0", "@vitejs/plugin-react": "^4.4.1", "asar": "^3.2.0", "did-key-creator": "^1.2.0", "document-drive": "workspace:*", "document-model": "workspace:*", "electron": "30.0.0", "electron-is-dev": "^3.0.1", "electron-playwright-helpers": "^1.7.1", "electron-squirrel-startup": "^1.0.0", "electron-store": "^8.1.0", "esbuild": "^0.24.0", "graphql": "^16.11.0", "graphql-request": "^6.1.0", "i18next": "^23.7.6", "jotai": "^2.1.0", "jotai-effect": "^1.1.6", "localforage": "^1.10.0", "lz-string": "^1.5.0", "playwright": "^1.41.2", "playwright-core": "^1.41.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-error-boundary": "^4.0.11", "react-hotkeys-hook": "^4.5.0", "react-i18next": "^13.5.0", "react-router-dom": "^6.11.2", "tailwind-merge": "^3.0.2", "tailwindcss": "^4.1.4", "uuid": "^9.0.1", "viem": "^2.8.13", "vite": "^6.3.3", "vite-envs": "^4.6.0", "vite-plugin-html": "^3.2.2", "vite-plugin-node-polyfills": "^0.23.0", "vite-plugin-svgr": "^4.3.0", "vite-tsconfig-paths": "^5.1.4", "xvfb-maybe": "^0.2.1" };
26253
+ const devDependencies = { "@didtools/key-webcrypto": "^0.2.0", "@electron-forge/cli": "^6.1.1", "@electron-forge/maker-deb": "^6.1.1", "@electron-forge/maker-rpm": "^6.1.1", "@electron-forge/maker-squirrel": "^6.1.1", "@electron-forge/maker-zip": "^6.1.1", "@electron-forge/plugin-vite": "^6.1.1", "@electron-forge/publisher-electron-release-server": "^6.2.1", "@electron-forge/publisher-github": "^7.2.0", "@electron-forge/shared-types": "^7.7.0", "@playwright/test": "^1.41.2", "@powerhousedao/builder-tools": "workspace:*", "@powerhousedao/common": "workspace:*", "@powerhousedao/config": "workspace:*", "@powerhousedao/design-system": "workspace:*", "@powerhousedao/diff-analyzer": "^0.0.0-dev.4", "@powerhousedao/reactor-browser": "workspace:*", "@renown/sdk": "workspace:*", "@rollup/plugin-node-resolve": "^15.2.3", "@sentry/browser": "^9.1.0", "@sentry/react": "^7.109.0", "@sentry/vite-plugin": "^2.23.0", "@tailwindcss/vite": "^4.1.4", "@tanstack/react-virtual": "^3.8.1", "@types/node": "^22.15.17", "@types/react": "^18.2.79", "@types/react-dom": "^18.2.18", "@types/uuid": "^9.0.7", "@types/wicg-file-system-access": "^2020.9.6", "@vitejs/plugin-basic-ssl": "^2.0.0", "@vitejs/plugin-react": "^4.4.1", "asar": "^3.2.0", "did-jwt": "^8.0.14", "did-jwt-vc": "^4.0.12", "did-key-creator": "^1.2.0", "document-drive": "workspace:*", "document-model": "workspace:*", "electron": "30.0.0", "electron-is-dev": "^3.0.1", "electron-playwright-helpers": "^1.7.1", "electron-squirrel-startup": "^1.0.0", "electron-store": "^8.1.0", "esbuild": "^0.24.0", "graphql": "^16.11.0", "graphql-request": "^6.1.0", "i18next": "^23.7.6", "jotai": "^2.1.0", "jotai-effect": "^1.1.6", "localforage": "^1.10.0", "lz-string": "^1.5.0", "playwright": "^1.41.2", "playwright-core": "^1.41.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-error-boundary": "^4.0.11", "react-hotkeys-hook": "^4.5.0", "react-i18next": "^13.5.0", "react-router-dom": "^6.11.2", "tailwind-merge": "^3.0.2", "tailwindcss": "^4.1.4", "uint8arrays": "^5.1.0", "uuid": "^9.0.1", "viem": "^2.8.13", "vite": "^6.3.3", "vite-envs": "^4.6.0", "vite-plugin-html": "^3.2.2", "vite-plugin-node-polyfills": "^0.23.0", "vite-plugin-svgr": "^4.3.0", "vite-tsconfig-paths": "^5.1.4", "xvfb-maybe": "^0.2.1" };
26089
26254
  const optionalDependencies = { "@esbuild/linux-x64": "^0.21.4", "@rollup/rollup-linux-x64-musl": "4.14.3" };
26090
26255
  const packageJson = {
26091
26256
  name,
@@ -31766,7 +31931,7 @@ if (window.__VITE_ENVS.MODE === "development") {
31766
31931
  } else {
31767
31932
  serviceWorkerManager.registerServiceWorker(false);
31768
31933
  }
31769
- const App = lazy(() => __vitePreload(() => import("./app-DuevLOGa.js").then((n) => n.bu), true ? __vite__mapDeps([0,1,2]) : void 0));
31934
+ const App = lazy(() => __vitePreload(() => import("./app-CRmO9P_Q.js").then((n) => n.by), true ? __vite__mapDeps([0,1,2]) : void 0));
31770
31935
  const AppLoader = /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(App, {}) });
31771
31936
  const appLoader = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31772
31937
  __proto__: null,
@@ -31966,4 +32131,4 @@ export {
31966
32131
  ReorderModulesInputSchema as y,
31967
32132
  DeleteModuleInputSchema as z
31968
32133
  };
31969
- //# sourceMappingURL=app-loader-BNl_S7y5.js.map
32134
+ //# sourceMappingURL=app-loader-CtKitdaN.js.map