@powerhousedao/reactor-browser 6.2.2-dev.49 → 6.2.2-dev.50

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.
@@ -1,4 +1,4 @@
1
- import { a as PHGlobal$1, b as IPackagesListener, ct as PromiseWithState, d as UsePHGlobalValue$1, ot as IDocumentCache, rt as IReactorBrowserClient$1, st as PromiseState, u as SetPHGlobalValue$1, v as IPackageListerUnsubscribe, x as PackageManagerInstallResult, y as IPackageManager } from "./global-CjrUQWHf.js";
1
+ import { a as PHGlobal$1, b as IPackagesListener, ct as PromiseWithState, d as UsePHGlobalValue$1, ot as IDocumentCache, rt as IReactorBrowserClient$1, st as PromiseState, u as SetPHGlobalValue$1, v as IPackageListerUnsubscribe, x as PackageManagerInstallResult, y as IPackageManager } from "./global-CbyAMlZd.js";
2
2
  import { t as PGlite } from "./pglite-CntadC_p-BtEalg1H.js";
3
3
  import { D as Scalars, E as PropagationMode$1, O as SdkFunctionWrapper, S as GetDocumentQuery, T as PhDocumentFieldsFragment, c as ReactorGraphQLClient, k as ViewFilterInput, x as GetDocumentOperationsQuery, y as DocumentChangesSubscription } from "./types-Bitg5Z5j.js";
4
4
  import { Action, DocumentModelLib, DocumentModelModule, Operation, PHDocument } from "document-model";
@@ -967,4 +967,4 @@ declare const setAttachmentService: SetPHGlobalValue<IAttachmentService>;
967
967
  declare const addAttachmentServiceEventHandler: AddPHGlobalEventHandler;
968
968
  //#endregion
969
969
  export { GraphQLRequestOptions as $, useGetDocuments as A, SyncStatus$1 as At, stampAction as B, setDocumentCache as C, PushResult as Ct, useDocuments as D, RemoteDocumentData as Dt, useDocumentSafe as E, RemoteDocumentChangeEvent as Et, startDocumentChangesSubscription as F, GraphQLReactorProvider as G, MutateDocumentWithOperationsResult as H, subscriptionsUrlFromGraphqlUrl as I, useSwitchboardClient as J, GraphQLReactorProviderProps as K, StaticPackageManager as L, DocumentChangesEventPayload as M, DocumentCache as Mt, DocumentChangesSubscriptionOptions as N, addPromiseState as Nt, useGetDocument as O, RemoteOperation as Ot, makeAuthConnectionParams as P, readPromiseState as Pt, viewFilterInputFromViewFilter as Q, packageFromDocumentModels as R, addDocumentCacheEventHandler as S, MergeHandler as St, useDocumentCache as T, RemoteControllerOptions as Tt, MutateDocumentWithOperationsVariables as U, MutateDocumentWithOperationsDocument as V, ReactorOperationFieldsFragmentDoc as W, GraphQLReactorClientOptions as X, GraphQLReactorClient as Y, isGraphQLReactorClient as Z, usePGlite as _, GetDocumentResult as _t, useDocumentOperations as a, BearerTokenProvider as at, useSync as b, IRemoteClient as bt, DispatchFn as c, GetDocumentQueryFields as ct, addReactorClientEventHandler as d, phDocumentFromGetDocument as dt, SubgraphSdkFactory as et, addReactorClientModuleEventHandler as f, phDocumentFromMutation as ft, useModelRegistry as g, DocumentChangeListener as gt, useDatabase as h, ConflictStrategy as ht, DocumentOperationsState as i, subgraphUrlFromGraphqlUrl as it, ConnectionParams as j, TrackedAction as jt, useGetDocumentAsync as k, RemoteOperationResultPage as kt, UseDispatchResult as l, GetDocumentQueryResult as lt, setReactorClientModule as m, ConflictInfo as mt, setAttachmentService as n, TypedGraphQLDocument as nt, useDocumentModelModuleById as o, ambientRenownTokenProvider as ot, setReactorClient as p, revisionMapFromRevisionsList as pt, ensurePHEventHandlers as q, useAttachmentService as r, describeGraphQLDocument as rt, useDocumentModelModules as s, makeAuthMiddleware as st, addAttachmentServiceEventHandler as t, SubgraphSdkRegistry as tt, useDispatch as u, RevisionsListSelection as ut, useReactorClient as v, GetDocumentWithOperationsResult as vt, useDocument as w, RemoteControllerGraphQLClient as wt, useSyncList as x, IRemoteController as xt, useReactorClientModule as y, GetOperationsResult as yt, signStampedAction as z };
970
- //# sourceMappingURL=attachment-service-CUGe-Rda.d.ts.map
970
+ //# sourceMappingURL=attachment-service-CghxHYta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-service-CUGe-Rda.d.ts","names":[],"sources":["../src/document-cache.ts","../src/remote-controller/types.ts","../src/graphql-client/adapter.ts","../src/graphql-client/auth.ts","../src/graphql-client/subgraph.ts","../src/graphql-client/graphql-reactor-client.ts","../src/graphql-client/graphql-reactor-provider.tsx","../src/graphql-client/operations.ts","../src/graphql-client/signing.ts","../src/graphql-client/static-package-manager.ts","../src/graphql-client/subscriptions.ts","../src/hooks/document-cache.ts","../src/hooks/reactor.ts","../src/hooks/dispatch.ts","../src/hooks/document-model-modules.ts","../src/hooks/document-operations.ts","../src/hooks/attachment-service.ts"],"mappings":"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"}
1
+ {"version":3,"file":"attachment-service-CghxHYta.d.ts","names":[],"sources":["../src/document-cache.ts","../src/remote-controller/types.ts","../src/graphql-client/adapter.ts","../src/graphql-client/auth.ts","../src/graphql-client/subgraph.ts","../src/graphql-client/graphql-reactor-client.ts","../src/graphql-client/graphql-reactor-provider.tsx","../src/graphql-client/operations.ts","../src/graphql-client/signing.ts","../src/graphql-client/static-package-manager.ts","../src/graphql-client/subscriptions.ts","../src/hooks/document-cache.ts","../src/hooks/reactor.ts","../src/hooks/dispatch.ts","../src/hooks/document-model-modules.ts","../src/hooks/document-operations.ts","../src/hooks/attachment-service.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { t as PGlite } from "./pglite-CntadC_p-BtEalg1H.js";
2
2
  import { c as ReactorGraphQLClient, r as GraphQLClientWindowEvents } from "./types-Bitg5Z5j.js";
3
- import { r as IWorkerAdminClient, t as IInspectorProxy } from "./inspector-proxy-CL1NSQyn.js";
3
+ import { r as IWorkerAdminClient, t as IInspectorProxy } from "./inspector-proxy-CaCFdEG4.js";
4
4
  import { Action, DocumentAction, DocumentModelModule, PHDocument } from "@powerhousedao/shared/document-model";
5
5
  import { DocumentDriveDocument } from "@powerhousedao/shared/document-drive";
6
6
  import { DragEventHandler, ReactNode } from "react";
@@ -397,4 +397,4 @@ declare global {
397
397
  } //# sourceMappingURL=global.d.ts.map
398
398
  //#endregion
399
399
  export { PHProcessorsGlobalConfig as $, FailedInstallation as A, PHAppConfigSetters as B, PHToastOptions as C, TimelineItem as D, TimelineDividerItem as E, FullPHGlobalConfig as F, PHDocumentEditorConfigSetters as G, PHDocumentEditorConfig as H, PHAnalyticsGlobalConfig as I, PHGlobalConfigHooks as J, PHDrivesGlobalConfig as K, PHAppConfig as L, IPackageDiscoveryService as M, PendingInstallation as N, DiscoveryEvent as O, PHModal as P, PHGlobalConfigSettersForKey as Q, PHAppConfigHooks as R, PHToastFn as S, TimelineBarItem as T, PHDocumentEditorConfigHooks as U, PHCommonGlobalConfig as V, PHDocumentEditorConfigKey as W, PHGlobalConfigKey as X, PHGlobalConfigHooksForKey as Y, PHGlobalConfigSetters as Z, useDropNode as _, PHGlobal as a, FulfilledPromise as at, IPackagesListener as b, PHGlobalValue as c, PromiseWithState as ct, UsePHGlobalValue as d, PHRelationalProcessorsGlobalConfig as et, WorkerReactorClientModule as f, useDragNode as g, addDraggingNodeEventHandler as h, LOADING as i, DocumentDispatch as it, FailedInstallationReason as j, DiscoveryEventListener as k, SetEvent as l, RejectedPromise as lt, DraggingNode as m, BrowserReactorClientModule as n, PHSentryGlobalConfig as nt, PHGlobalEventHandlerAdders as o, IDocumentCache as ot, WorkerReactorModule as p, PHGlobalConfig as q, BrowserReactorModule as r, IReactorBrowserClient as rt, PHGlobalKey as s, PromiseState as st, AddPHGlobalEventHandler as t, PHRenownGlobalConfig as tt, SetPHGlobalValue as u, IPackageListerUnsubscribe as v, PHToastType as w, PackageManagerInstallResult as x, IPackageManager as y, PHAppConfigKey as z };
400
- //# sourceMappingURL=global-CjrUQWHf.d.ts.map
400
+ //# sourceMappingURL=global-CbyAMlZd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"global-CjrUQWHf.d.ts","names":[],"sources":["../src/types/documents.ts","../src/types/reactor-browser-client.ts","../src/types/config.ts","../src/types/modals.ts","../src/types/package-discovery.ts","../src/types/timeline.ts","../src/types/toast.ts","../src/types/vetra.ts","../src/hooks/node-drag-and-drop.ts","../src/types/global.ts"],"mappings":";;;;;;;;;;;;;KAMY,gBAAA,iBAAiC,MAAA,KAC3C,eAAA,EACI,OAAA,GACA,OAAA,KACA,cAAA,GACA,cAAA,gBAEJ,QAAA,IAAY,MAAA,EAAQ,KAAA,aACpB,SAAA,IAAa,MAAA,EAAQ,UAAA;AAAA,KAGX,gBAAA,MAAsB,OAAA,CAAQ,CAAA,IAAK,YAAA,CAAa,CAAA;AAAA,KAEhD,gBAAA,MAAsB,OAAA,CAAQ,CAAA;EACxC,MAAA;EACA,KAAA,EAAO,CAAA;AAAA;AAAA,KAGG,eAAA,MAAqB,OAAA,CAAQ,CAAA;EACvC,MAAA;EACA,MAAA;AAAA;AAAA,KAGU,YAAA;EAEN,MAAA;AAAA;EAEA,MAAA;EAAqB,KAAA,EAAO,CAAA;AAAA;EAC5B,MAAA;EAAoB,MAAA;AAAA;AAAA,UAET,cAAA;EACf,GAAA,CAAI,EAAA,UAAY,OAAA,aAAoB,OAAA,CAAQ,UAAA;EAC5C,QAAA,CAAS,GAAA,YAAe,OAAA,aAAoB,OAAA,CAAQ,UAAA;EACpD,SAAA,CAAU,EAAA,qBAAuB,QAAA;AAAA;;;;;;;;;;;;;;;AAjCnC;UCSiB,qBAAA,SAA8B,IAAA,CAC7C,cAAA;;;KCdU,cAAA,GAAiB,oBAAA,GAC3B,WAAA,GACA,sBAAA,GACA,oBAAA,GACA,uBAAA,GACA,kCAAA,GACA,wBAAA,GACA,oBAAA,GACA,oBAAA;AAAA,KAEU,iBAAA,SAA0B,cAAA;AAAA,KAC1B,qBAAA,GACV,2BAAA,CAA4B,iBAAA;AAAA,KAClB,mBAAA,GAAsB,yBAAA,CAA0B,iBAAA;;;;;;KAOhD,WAAA;;;AFhBZ;EEoBE,oBAAA,aFpB0B;EEsB1B,oBAAA;AAAA;AAAA,KAEU,cAAA,SAAuB,WAAA;AAAA,KACvB,kBAAA,GAAqB,2BAAA,CAA4B,cAAA;AAAA,KACjD,gBAAA,GAAmB,yBAAA,CAA0B,cAAA;AAAA,KAE7C,sBAAA;EFpBW,qEEsBrB,yBAAA;AAAA;AAAA,KAEU,yBAAA,SAAkC,sBAAA;AAAA,KAClC,6BAAA,GACV,2BAAA,CAA4B,yBAAA;AAAA,KAClB,2BAAA,GACV,yBAAA,CAA0B,yBAAA;AAAA,KAEhB,oBAAA;EACV,QAAA;EACA,cAAA;EACA,OAAA;EACA,mBAAA;EACA,eAAA;EACA,UAAA;EACA,oBAAA;EACA,UAAA;EACA,6BAAA;EACA,YAAA;EACA,uCAAA;EACA,iBAAA;EACA,qBAAA;EACA,wBAAA;EACA,2BAAA;EACA,oBAAA;EACA,uBAAA;EACA,0BAAA;EACA,oBAAA;EACA,uBAAA;EACA,0BAAA;EACA,SAAA;EACA,qBAAA;EACA,QAAA;EACA,wBAAA;EACA,uBAAA;EACA,eAAA;EACA,cAAA;AAAA;AAAA,KAGU,oBAAA;EACV,gBAAA;EACA,sBAAA;AAAA;AAAA,KAGU,uBAAA;EACV,kBAAA;EACA,gCAAA;EACA,sBAAA;EACA,uBAAA;EACA,oCAAA;AAAA;AAAA,KAGU,kCAAA;EACV,6BAAA;EACA,qCAAA;AAAA;AAAA,KAGU,wBAAA;EACV,2BAAA;EACA,yBAAA;AAAA;AAAA,KAGU,oBAAA;EACV,SAAA;EACA,eAAA;EACA,aAAA;EACA,cAAA;EACA,cAAA,GAAiB,uBAAA;AAAA;AAAA,KAGP,oBAAA;EACV,aAAA;EACA,SAAA;EACA,SAAA;EACA,sBAAA;AAAA;AAAA,KAGU,2BAAA,WAAsC,iBAAA,YAC1C,CAAA,IAAK,KAAA,EAAO,cAAA,CAAe,CAAA;AAAA,KAEvB,yBAAA,cAAuC,iBAAA,YAC3C,IAAA,SAAa,cAAA,CAAe,CAAA;AFjFpC;AAAA,KEoFY,kBAAA,GAAqB,MAAA,CAC/B,iBAAA,EACA,cAAA,CAAe,iBAAA;;;KC1HL,OAAA;EAEN,IAAA;EACA,YAAA;EACA,oBAAA;AAAA;EAGA,IAAA;EACA,EAAA;AAAA;EAGA,IAAA;AAAA;EAGA,IAAA;EACA,OAAA;AAAA;EAGA,IAAA;EACA,OAAA;AAAA;EAGA,IAAA;EACA,OAAA;AAAA;EAEA,IAAA;AAAA;EACA,IAAA;AAAA;EACA,IAAA;AAAA;EACA,IAAA;AAAA;EACA,IAAA;AAAA;EACA,IAAA;EAAoC,UAAA;AAAA;EACpC,IAAA;AAAA;EACA,IAAA;EAAwB,YAAA;AAAA;EAExB,IAAA;EACA,YAAA;EACA,eAAA;EACA,iBAAA;AAAA;EAEA,IAAA;EAAgC,UAAA;AAAA;EAChC,IAAA;AAAA;EAGA,IAAA;AAAA;EACA,IAAA;AAAA;;;KC1CM,mBAAA;EACV,YAAA;EACA,YAAA;AAAA;AAAA,KAGU,wBAAA;AAAA,KAQA,kBAAA;EACV,YAAA;EACA,MAAA,EAAQ,wBAAA;EACR,YAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,KAGG,cAAA;EACN,IAAA;EAAyB,YAAA;EAAsB,YAAA;AAAA;EAE/C,IAAA;EACA,YAAA;EACA,YAAA;AAAA;EAGA,IAAA;EACA,WAAA;EACA,aAAA;AAAA;EAGA,IAAA;EACA,WAAA;EACA,aAAA;AAAA;EAEA,IAAA;EAA6B,WAAA;EAAqB,KAAA,EAAO,KAAA;AAAA;EACzD,IAAA;EAA+B,YAAA;EAAsB,KAAA,EAAO,KAAA;AAAA;EAE5D,IAAA;EACA,YAAA;EACA,MAAA,EAAQ,wBAAA;AAAA;AAAA,KAGF,sBAAA,IAA0B,KAAA,EAAO,cAAA;AAAA,UAE5B,wBAAA;EACf,IAAA,CAAK,YAAA,WAAuB,OAAA,CAAQ,mBAAA;EACpC,uBAAA,IAA2B,mBAAA;EAC3B,gBAAA,CAAiB,QAAA;EACjB,sBAAA,IAA0B,kBAAA;EAC1B,eAAA,CAAgB,QAAA;EAChB,eAAA,CAAgB,QAAA,EAAU,sBAAA;EAC1B,mBAAA,CAAoB,WAAA,WAAsB,OAAA;EAC1C,mBAAA,CAAoB,WAAA;EACpB,kBAAA,CAAmB,YAAA;EACnB,iBAAA,CAAkB,YAAA,WAAuB,OAAA;AAAA;;;KC3D/B,eAAA;EACV,EAAA;EACA,IAAA;EACA,OAAA;EACA,OAAA;EACA,cAAA;EACA,SAAA;EACA,SAAA;EACA,QAAA;EACA,SAAA,GAAY,IAAA;EACZ,OAAA,GAAU,IAAA;AAAA;AAAA,KAGA,mBAAA;EACV,EAAA;EACA,IAAA;EACA,cAAA;EACA,KAAA;EACA,QAAA;EACA,QAAA;EACA,SAAA,GAAY,IAAA;EACZ,OAAA,GAAU,IAAA;AAAA;AAAA,KAGA,YAAA,GAAe,eAAA,GAAkB,mBAAA;;;KCtBjC,WAAA;AAAA,KAWA,cAAA;EACV,IAAA,GAAO,WAAA;EACP,SAAA;EACA,WAAA;AAAA;AAAA,KAGU,SAAA,IACV,OAAA,EAAS,SAAA,WACT,OAAA,GAAU,cAAA;;;KChBA,iBAAA,IAAqB,IAAA;EAC/B,QAAA,EAAU,gBAAA;AAAA;AAAA,KAEA,yBAAA;AAAA,KAEA,2BAAA;EAEN,IAAA;EACA,OAAA,EAAS,gBAAA;AAAA;EAET,IAAA;EAAe,KAAA,EAAO,KAAA;AAAA;AAAA,UAEX,eAAA,SAAwB,oBAAA;EACvC,WAAA;EACA,QAAA,EAAU,gBAAA;EACV,UAAA,CACE,WAAA,WACC,OAAA,CAAQ,2BAAA,IAA+B,2BAAA;EAC1C,WAAA,CACE,YAAA,aACC,OAAA,CAAQ,2BAAA,MAAiC,2BAAA;EAC5C,aAAA,CAAc,IAAA;EACd,kBAAA,CAAmB,GAAA,EAAK,gBAAA,EAAkB,OAAA;EAC1C,SAAA,CAAU,OAAA,EAAS,iBAAA,GAAoB,yBAAA;EACvC,gBAAA,GAAmB,WAAA,aAAwB,qBAAA;EAC3C,iBAAA,GAAoB,WAAA;EPhBW;;;;;;EOuB/B,mBAAA;IAA6B,IAAA;IAAc,OAAA;EAAA;EAC3C,eAAA,GACE,IAAA,UACA,aAAA,EAAe,gBAAA,EACf,OAAA;AAAA;;;KCxBQ,YAAA;EACV,KAAA;EACA,QAAA;AAAA;AAAA,cAMW,2BAAA;AAAA,iBAiDG,WAAA,CAAY,IAAA;EAC1B,KAAA;EACA,QAAA;AAAA;;;eAFyB,gBAAA;aAAA,gBAAA;AAAA;AAAA,iBA6EX,WAAA,CAAY,QAAA;;;;;;;;;UC5HX,oBAAA,SAA6B,sBAAA;EAC5C,EAAA,EAAI,MAAA;AAAA;AAAA,UAEW,0BAAA,SAAmC,4BAAA;EAClD,IAAA;EACA,aAAA,EAAe,oBAAA;AAAA;AAAA,KAKL,mBAAA,GAAsB,aAAA;AAAA,UACjB,yBAAA,SAAkC,mBAAA;EACjD,IAAA;EACA,aAAA,EAAe,mBAAA;EACf,WAAA,EAAa,kBAAA;EACb,SAAA,EAAW,eAAA;AAAA;AAAA,KAGD,OAAA;AAAA,KAEA,QAAA,GAAW,cAAA;EACrB,OAAA;EACA,mBAAA,GAAsB,0BAAA,GAA6B,yBAAA;EACnD,aAAA,GAAgB,qBAAA;EAChB,iBAAA,GAAoB,kBAAA;EACpB,oBAAA,GAAuB,oBAAA;EACvB,MAAA,GAAS,OAAA,GAAU,OAAA;EACnB,mBAAA,GAAsB,eAAA;EACtB,MAAA,GAAS,qBAAA;EACT,aAAA,GAAgB,cAAA;EAChB,eAAA;EACA,cAAA;EACA,YAAA,GAAe,YAAA;EACf,KAAA,GAAQ,OAAA;EACR,wBAAA;EACA,sBAAA;EACA,oBAAA,GAAuB,YAAA;EACvB,uBAAA,GAA0B,wBAAA;EAC1B,QAAA,GAAW,GAAA;EACX,KAAA,GAAQ,SAAA;AAAA;AAAA,KAGE,WAAA,SAAoB,QAAA;AAAA,KACpB,aAAA,GAAgB,QAAA,CAAS,WAAA;AAAA,KAEzB,gBAAA,gBAAgC,aAAA,UACxC,MAAA;AAAA,KAGQ,gBAAA,gBAAgC,aAAA,KAC1C,KAAA,EAAO,MAAA;AAAA,KAGG,uBAAA;AAAA,KAEA,0BAAA,GAA6B,MAAA,CACvC,WAAA,EACA,uBAAA;AAAA,KAGU,QAAA,cAAsB,WAAA,IAAe,WAAA,WACvC,IAAA,GAAO,QAAA,CAAS,IAAA;AAAA,QAGlB,MAAA;EAAA,UACI,MAAA;IACR,EAAA,GAAK,QAAA;EAAA;EAAA,UAEG,cAAA,SAAuB,yBAAA;AAAA"}
1
+ {"version":3,"file":"global-CbyAMlZd.d.ts","names":[],"sources":["../src/types/documents.ts","../src/types/reactor-browser-client.ts","../src/types/config.ts","../src/types/modals.ts","../src/types/package-discovery.ts","../src/types/timeline.ts","../src/types/toast.ts","../src/types/vetra.ts","../src/hooks/node-drag-and-drop.ts","../src/types/global.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { i as LOADING } from "./global-CjrUQWHf.js";
1
+ import { i as LOADING } from "./global-CbyAMlZd.js";
2
2
  import { CSSProperties, ReactNode } from "react";
3
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import * as _renown_sdk0 from "@renown/sdk";
@@ -342,4 +342,4 @@ interface RenownLoginMethod {
342
342
  declare function useRenownLoginMethods(labels?: Partial<Record<LoginMethod, string>>): RenownLoginMethod[];
343
343
  //#endregion
344
344
  export { logout as $, VERIFIABLE_CREDENTIAL_EIP712_TYPE as A, RenownUserButtonMenuItem as B, CREDENTIAL_SUBJECT_TYPE as C, RENOWN_CHAIN_ID as D, ISSUER_TYPE as E, DisconnectIcon as F, RenownAuthButtonProps as G, RenownLoginButton as H, RenownLogo as I, useDid as J, addRenownEventHandler as K, SpinnerIcon as L, initRenownCrypto as M, ChevronDownIcon as N, RENOWN_NETWORK_ID as O, CopyIcon as P, login as Q, UserIcon as R, CREDENTIAL_SCHEMA_EIP712_TYPE as S, DOMAIN_TYPE as T, RenownLoginButtonProps as U, RenownUserButtonProps as V, RenownAuthButton as W, useRenown as X, useLoginStatus as Y, useUser as Z, RenownInitialAuth as _, RenownProvider as a, useRenownAuth as at, useRenownInitialAuth as b, RenownProps as c, RenownSessionCookieOptions as d, openRenown as et, RenownSessionCookieState as f, RENOWN_INITIAL_UNKNOWN as g, RENOWN_INITIAL_ANONYMOUS as h, RenownWalletProviderProps as i, RenownAuthStatus as it, initConnectCrypto as j, RENOWN_URL as k, RenownInitOptions as l, useRenownSessionSynced as m, useRenownLoginMethods as n, RenownAuthAsync as nt, RenownProviderProps as o, useRenownAuthAsync as ot, useRenownSessionCookie as p, setRenown as q, RenownWalletProvider as r, RenownAuthResolution as rt, Renown as s, RenownLoginMethod as t, RenownAuth as tt, useRenownInit as u, RenownInitialUserProvider as v, CREDENTIAL_TYPES as w, useRenownInitialUser as x, RenownInitialUserProviderProps as y, RenownUserButton as z };
345
- //# sourceMappingURL=index-BM9TVt6u.d.ts.map
345
+ //# sourceMappingURL=index-DPq1VjpB.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BM9TVt6u.d.ts","names":[],"sources":["../src/renown/use-renown-auth.ts","../src/renown/session.ts","../src/hooks/renown.ts","../src/renown/components/RenownAuthButton.tsx","../src/renown/components/RenownLoginButton.tsx","../src/renown/components/RenownUserButton.tsx","../src/renown/components/icons.tsx","../src/renown/crypto.ts","../src/renown/constants.ts","../src/renown/initial-user.tsx","../src/renown/use-renown-session-cookie.ts","../src/renown/use-renown-init.ts","../src/renown/renown-init.tsx","../src/renown/provider.tsx","../src/renown/wallet-provider.tsx","../src/renown/login-methods.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index-DPq1VjpB.d.ts","names":[],"sources":["../src/renown/use-renown-auth.ts","../src/renown/session.ts","../src/hooks/renown.ts","../src/renown/components/RenownAuthButton.tsx","../src/renown/components/RenownLoginButton.tsx","../src/renown/components/RenownUserButton.tsx","../src/renown/components/icons.tsx","../src/renown/crypto.ts","../src/renown/constants.ts","../src/renown/initial-user.tsx","../src/renown/use-renown-session-cookie.ts","../src/renown/use-renown-init.ts","../src/renown/renown-init.tsx","../src/renown/provider.tsx","../src/renown/wallet-provider.tsx","../src/renown/login-methods.ts"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { a as getAnalyticsStore, i as createAnalyticsStore, n as IPowerhouseAnalytics, r as CreateStoreOptions } from "./types-wGaiXwjh.js";
2
- import { $ as PHProcessorsGlobalConfig, A as FailedInstallation, B as PHAppConfigSetters, C as PHToastOptions, D as TimelineItem, E as TimelineDividerItem, F as FullPHGlobalConfig, G as PHDocumentEditorConfigSetters, H as PHDocumentEditorConfig, I as PHAnalyticsGlobalConfig, J as PHGlobalConfigHooks, K as PHDrivesGlobalConfig, L as PHAppConfig, M as IPackageDiscoveryService, N as PendingInstallation, O as DiscoveryEvent, P as PHModal, Q as PHGlobalConfigSettersForKey, R as PHAppConfigHooks, S as PHToastFn, T as TimelineBarItem, U as PHDocumentEditorConfigHooks, V as PHCommonGlobalConfig, W as PHDocumentEditorConfigKey, X as PHGlobalConfigKey, Y as PHGlobalConfigHooksForKey, Z as PHGlobalConfigSetters, _ as useDropNode, a as PHGlobal, at as FulfilledPromise, b as IPackagesListener, c as PHGlobalValue, ct as PromiseWithState, d as UsePHGlobalValue, et as PHRelationalProcessorsGlobalConfig, f as WorkerReactorClientModule, g as useDragNode, h as addDraggingNodeEventHandler, i as LOADING, it as DocumentDispatch, j as FailedInstallationReason, k as DiscoveryEventListener, l as SetEvent, lt as RejectedPromise, m as DraggingNode, n as BrowserReactorClientModule, nt as PHSentryGlobalConfig, o as PHGlobalEventHandlerAdders, ot as IDocumentCache, p as WorkerReactorModule, q as PHGlobalConfig, r as BrowserReactorModule, rt as IReactorBrowserClient, s as PHGlobalKey, st as PromiseState, t as AddPHGlobalEventHandler, tt as PHRenownGlobalConfig, u as SetPHGlobalValue, v as IPackageListerUnsubscribe, w as PHToastType, x as PackageManagerInstallResult, y as IPackageManager, z as PHAppConfigKey } from "./global-CjrUQWHf.js";
3
- import { $ as GraphQLRequestOptions, A as useGetDocuments, At as SyncStatus, B as stampAction, C as setDocumentCache, Ct as PushResult, D as useDocuments, Dt as RemoteDocumentData, E as useDocumentSafe, Et as RemoteDocumentChangeEvent, F as startDocumentChangesSubscription, G as GraphQLReactorProvider, H as MutateDocumentWithOperationsResult, I as subscriptionsUrlFromGraphqlUrl, J as useSwitchboardClient, K as GraphQLReactorProviderProps, L as StaticPackageManager, M as DocumentChangesEventPayload, Mt as DocumentCache, N as DocumentChangesSubscriptionOptions, Nt as addPromiseState, O as useGetDocument, Ot as RemoteOperation, P as makeAuthConnectionParams, Pt as readPromiseState, Q as viewFilterInputFromViewFilter, R as packageFromDocumentModels, S as addDocumentCacheEventHandler, St as MergeHandler, T as useDocumentCache, Tt as RemoteControllerOptions, U as MutateDocumentWithOperationsVariables, V as MutateDocumentWithOperationsDocument, W as ReactorOperationFieldsFragmentDoc, X as GraphQLReactorClientOptions, Y as GraphQLReactorClient, Z as isGraphQLReactorClient, _ as usePGlite, _t as GetDocumentResult, a as useDocumentOperations, at as BearerTokenProvider, b as useSync, bt as IRemoteClient, c as DispatchFn, ct as GetDocumentQueryFields, d as addReactorClientEventHandler, dt as phDocumentFromGetDocument, et as SubgraphSdkFactory, f as addReactorClientModuleEventHandler, ft as phDocumentFromMutation, g as useModelRegistry, gt as DocumentChangeListener, h as useDatabase, ht as ConflictStrategy, i as DocumentOperationsState, it as subgraphUrlFromGraphqlUrl, j as ConnectionParams, jt as TrackedAction, k as useGetDocumentAsync, kt as RemoteOperationResultPage, l as UseDispatchResult, lt as GetDocumentQueryResult, m as setReactorClientModule, mt as ConflictInfo, n as setAttachmentService, nt as TypedGraphQLDocument, o as useDocumentModelModuleById, ot as ambientRenownTokenProvider, p as setReactorClient, pt as revisionMapFromRevisionsList, q as ensurePHEventHandlers, r as useAttachmentService, rt as describeGraphQLDocument, s as useDocumentModelModules, st as makeAuthMiddleware, t as addAttachmentServiceEventHandler, tt as SubgraphSdkRegistry, u as useDispatch, ut as RevisionsListSelection, v as useReactorClient, vt as GetDocumentWithOperationsResult, w as useDocument, wt as RemoteControllerGraphQLClient, x as useSyncList, xt as IRemoteController, y as useReactorClientModule, yt as GetOperationsResult, z as signStampedAction } from "./attachment-service-CUGe-Rda.js";
2
+ import { $ as PHProcessorsGlobalConfig, A as FailedInstallation, B as PHAppConfigSetters, C as PHToastOptions, D as TimelineItem, E as TimelineDividerItem, F as FullPHGlobalConfig, G as PHDocumentEditorConfigSetters, H as PHDocumentEditorConfig, I as PHAnalyticsGlobalConfig, J as PHGlobalConfigHooks, K as PHDrivesGlobalConfig, L as PHAppConfig, M as IPackageDiscoveryService, N as PendingInstallation, O as DiscoveryEvent, P as PHModal, Q as PHGlobalConfigSettersForKey, R as PHAppConfigHooks, S as PHToastFn, T as TimelineBarItem, U as PHDocumentEditorConfigHooks, V as PHCommonGlobalConfig, W as PHDocumentEditorConfigKey, X as PHGlobalConfigKey, Y as PHGlobalConfigHooksForKey, Z as PHGlobalConfigSetters, _ as useDropNode, a as PHGlobal, at as FulfilledPromise, b as IPackagesListener, c as PHGlobalValue, ct as PromiseWithState, d as UsePHGlobalValue, et as PHRelationalProcessorsGlobalConfig, f as WorkerReactorClientModule, g as useDragNode, h as addDraggingNodeEventHandler, i as LOADING, it as DocumentDispatch, j as FailedInstallationReason, k as DiscoveryEventListener, l as SetEvent, lt as RejectedPromise, m as DraggingNode, n as BrowserReactorClientModule, nt as PHSentryGlobalConfig, o as PHGlobalEventHandlerAdders, ot as IDocumentCache, p as WorkerReactorModule, q as PHGlobalConfig, r as BrowserReactorModule, rt as IReactorBrowserClient, s as PHGlobalKey, st as PromiseState, t as AddPHGlobalEventHandler, tt as PHRenownGlobalConfig, u as SetPHGlobalValue, v as IPackageListerUnsubscribe, w as PHToastType, x as PackageManagerInstallResult, y as IPackageManager, z as PHAppConfigKey } from "./global-CbyAMlZd.js";
3
+ import { $ as GraphQLRequestOptions, A as useGetDocuments, At as SyncStatus, B as stampAction, C as setDocumentCache, Ct as PushResult, D as useDocuments, Dt as RemoteDocumentData, E as useDocumentSafe, Et as RemoteDocumentChangeEvent, F as startDocumentChangesSubscription, G as GraphQLReactorProvider, H as MutateDocumentWithOperationsResult, I as subscriptionsUrlFromGraphqlUrl, J as useSwitchboardClient, K as GraphQLReactorProviderProps, L as StaticPackageManager, M as DocumentChangesEventPayload, Mt as DocumentCache, N as DocumentChangesSubscriptionOptions, Nt as addPromiseState, O as useGetDocument, Ot as RemoteOperation, P as makeAuthConnectionParams, Pt as readPromiseState, Q as viewFilterInputFromViewFilter, R as packageFromDocumentModels, S as addDocumentCacheEventHandler, St as MergeHandler, T as useDocumentCache, Tt as RemoteControllerOptions, U as MutateDocumentWithOperationsVariables, V as MutateDocumentWithOperationsDocument, W as ReactorOperationFieldsFragmentDoc, X as GraphQLReactorClientOptions, Y as GraphQLReactorClient, Z as isGraphQLReactorClient, _ as usePGlite, _t as GetDocumentResult, a as useDocumentOperations, at as BearerTokenProvider, b as useSync, bt as IRemoteClient, c as DispatchFn, ct as GetDocumentQueryFields, d as addReactorClientEventHandler, dt as phDocumentFromGetDocument, et as SubgraphSdkFactory, f as addReactorClientModuleEventHandler, ft as phDocumentFromMutation, g as useModelRegistry, gt as DocumentChangeListener, h as useDatabase, ht as ConflictStrategy, i as DocumentOperationsState, it as subgraphUrlFromGraphqlUrl, j as ConnectionParams, jt as TrackedAction, k as useGetDocumentAsync, kt as RemoteOperationResultPage, l as UseDispatchResult, lt as GetDocumentQueryResult, m as setReactorClientModule, mt as ConflictInfo, n as setAttachmentService, nt as TypedGraphQLDocument, o as useDocumentModelModuleById, ot as ambientRenownTokenProvider, p as setReactorClient, pt as revisionMapFromRevisionsList, q as ensurePHEventHandlers, r as useAttachmentService, rt as describeGraphQLDocument, s as useDocumentModelModules, st as makeAuthMiddleware, t as addAttachmentServiceEventHandler, tt as SubgraphSdkRegistry, u as useDispatch, ut as RevisionsListSelection, v as useReactorClient, vt as GetDocumentWithOperationsResult, w as useDocument, wt as RemoteControllerGraphQLClient, x as useSyncList, xt as IRemoteController, y as useReactorClientModule, yt as GetOperationsResult, z as signStampedAction } from "./attachment-service-CghxHYta.js";
4
4
  import { baseDocumentModels, baseDocumentModelsMap } from "./src/document-model.js";
5
5
  import { t as PGlite } from "./pglite-CntadC_p-BtEalg1H.js";
6
6
  import { r as PGliteWithLive } from "./index-CxxxP14A.js";
7
7
  import { C as GetDocumentWithOperationsQuery, D as Scalars, E as PropagationMode, O as SdkFunctionWrapper, _ as DeleteDocumentMutation, a as GraphQLDocumentEvents, b as FindDocumentsQuery, c as ReactorGraphQLClient, d as DEFAULT_DRIVE_ID, f as DEFAULT_SWITCHBOARD_URL, g as CreateDocumentMutation, h as graphqlEventsToSyncDrive, i as GraphQLDocumentEventOperationName, l as RunDocumentOptions, m as graphqlDocumentsEvents, n as GraphQLClientDocumentsEvent, o as GraphQLDocumentEventsOperationName, p as graphqlDocumentEvents, r as GraphQLClientWindowEvents, s as GraphQLDocumentsEvents, t as GraphQLClientDocumentEvent, u as TStateSchemaZodObject, v as DeleteDocumentsMutation, w as MutateDocumentMutation } from "./types-Bitg5Z5j.js";
8
8
  import { t as createClient } from "./client-BaHKLGy5.js";
9
- import { $ as logout, A as VERIFIABLE_CREDENTIAL_EIP712_TYPE, B as RenownUserButtonMenuItem, C as CREDENTIAL_SUBJECT_TYPE, D as RENOWN_CHAIN_ID, E as ISSUER_TYPE, F as DisconnectIcon, G as RenownAuthButtonProps, H as RenownLoginButton, I as RenownLogo, J as useDid, K as addRenownEventHandler, L as SpinnerIcon, M as initRenownCrypto, N as ChevronDownIcon, O as RENOWN_NETWORK_ID, P as CopyIcon, Q as login, R as UserIcon, S as CREDENTIAL_SCHEMA_EIP712_TYPE, T as DOMAIN_TYPE, U as RenownLoginButtonProps, V as RenownUserButtonProps, W as RenownAuthButton, X as useRenown, Y as useLoginStatus, Z as useUser, _ as RenownInitialAuth, a as RenownProvider, at as useRenownAuth, b as useRenownInitialAuth, c as RenownProps, d as RenownSessionCookieOptions, et as openRenown, f as RenownSessionCookieState, g as RENOWN_INITIAL_UNKNOWN, h as RENOWN_INITIAL_ANONYMOUS, i as RenownWalletProviderProps, it as RenownAuthStatus, j as initConnectCrypto, k as RENOWN_URL, l as RenownInitOptions, m as useRenownSessionSynced, n as useRenownLoginMethods, nt as RenownAuthAsync, o as RenownProviderProps, ot as useRenownAuthAsync, p as useRenownSessionCookie, q as setRenown, r as RenownWalletProvider, rt as RenownAuthResolution, s as Renown, t as RenownLoginMethod, tt as RenownAuth, u as useRenownInit, v as RenownInitialUserProvider, w as CREDENTIAL_TYPES, x as useRenownInitialUser, y as RenownInitialUserProviderProps, z as RenownUserButton } from "./index-BM9TVt6u.js";
9
+ import { $ as logout, A as VERIFIABLE_CREDENTIAL_EIP712_TYPE, B as RenownUserButtonMenuItem, C as CREDENTIAL_SUBJECT_TYPE, D as RENOWN_CHAIN_ID, E as ISSUER_TYPE, F as DisconnectIcon, G as RenownAuthButtonProps, H as RenownLoginButton, I as RenownLogo, J as useDid, K as addRenownEventHandler, L as SpinnerIcon, M as initRenownCrypto, N as ChevronDownIcon, O as RENOWN_NETWORK_ID, P as CopyIcon, Q as login, R as UserIcon, S as CREDENTIAL_SCHEMA_EIP712_TYPE, T as DOMAIN_TYPE, U as RenownLoginButtonProps, V as RenownUserButtonProps, W as RenownAuthButton, X as useRenown, Y as useLoginStatus, Z as useUser, _ as RenownInitialAuth, a as RenownProvider, at as useRenownAuth, b as useRenownInitialAuth, c as RenownProps, d as RenownSessionCookieOptions, et as openRenown, f as RenownSessionCookieState, g as RENOWN_INITIAL_UNKNOWN, h as RENOWN_INITIAL_ANONYMOUS, i as RenownWalletProviderProps, it as RenownAuthStatus, j as initConnectCrypto, k as RENOWN_URL, l as RenownInitOptions, m as useRenownSessionSynced, n as useRenownLoginMethods, nt as RenownAuthAsync, o as RenownProviderProps, ot as useRenownAuthAsync, p as useRenownSessionCookie, q as setRenown, r as RenownWalletProvider, rt as RenownAuthResolution, s as Renown, t as RenownLoginMethod, tt as RenownAuth, u as useRenownInit, v as RenownInitialUserProvider, w as CREDENTIAL_TYPES, x as useRenownInitialUser, y as RenownInitialUserProviderProps, z as RenownUserButton } from "./index-DPq1VjpB.js";
10
10
  import { QueryCallbackReturnType, RelationalDbWithLive, createProcessorQuery, useRelationalDb, useRelationalQuery, useRelationalQueryOptions } from "./src/relational/index.js";
11
11
  import * as document_model0 from "document-model";
12
12
  import { DocumentModelLib, EditorModule, PHDocument, PHDocumentController } from "document-model";
@@ -14,7 +14,7 @@ import { Action as Action$1, DocumentOperations, Operation as Operation$1, PHBas
14
14
  import * as _powerhousedao_shared_document_drive0 from "@powerhousedao/shared/document-drive";
15
15
  import { DocumentDriveAction, DocumentDriveDocument, DriveInput, FileNode, FolderNode, Node, SharingType } from "@powerhousedao/shared/document-drive";
16
16
  import { DragEventHandler } from "react";
17
- import { ChannelScheme, ConnectionState, ConnectionStateSnapshot, ConnectionStateSnapshot as ConnectionStateSnapshot$1, Database, DocumentChangeType, DocumentIntegrityService, DriveCollectionId, GqlRequestChannel, IChannel, IDocumentModelLoader, IDocumentModelRegistry, IProcessor, IProcessorHostModule, IProcessorHostModule as IProcessorHostModule$1, IQueue, IReactorClient, IReactorClient as IReactorClient$1, IRelationalDb, InMemoryQueue, IntervalPollTimer, Job, JwtHandler, KeyframeValidationIssue, OperationWithContext, ParsedDriveUrl, PollBehavior, PollBehavior as PollBehavior$1, ProcessorApp, ProcessorFactory, ProcessorFactoryBuilder, ProcessorFilter, ProcessorRecord, REACTOR_SCHEMA, ReactorBuilder, ReactorClientBuilder, RebuildResult, RelationalDbProcessor, Remote, RemoteFilter, RemoteMeta, SignerConfig, SnapshotValidationIssue, SyncOperation, SyncOperationStatus, ValidationResult, driveIdFromUrl, isDriveAuthError, parseDriveUrl } from "@powerhousedao/reactor";
17
+ import { ChannelScheme, ConnectionState, ConnectionStateSnapshot, ConnectionStateSnapshot as ConnectionStateSnapshot$1, Database, DocumentChangeType, DocumentIntegrityService, DriveCollectionId, GqlRequestChannel, IChannel, IDocumentModelLoader, IDocumentModelRegistry, IProcessor, IProcessorHostModule, IProcessorHostModule as IProcessorHostModule$1, IQueue, IReactorClient, IReactorClient as IReactorClient$1, IRelationalDb, InMemoryQueue, IntervalPollTimer, Job, JwtHandler, KeyframeValidationIssue, OperationWithContext, ParsedDriveUrl, PollBehavior, PollBehavior as PollBehavior$1, ProcessorApp, ProcessorFactory, ProcessorFactoryBuilder, ProcessorFilter, ProcessorRecord, REACTOR_SCHEMA, ReactorBuilder, ReactorClientBuilder, ReactorFeatureFlags, RebuildResult, RelationalDbProcessor, Remote, RemoteFilter, RemoteMeta, SignerConfig, SnapshotValidationIssue, SyncOperation, SyncOperationStatus, ValidationResult, driveIdFromUrl, isDriveAuthError, parseDriveUrl } from "@powerhousedao/reactor";
18
18
  import { AttachmentDownloadInput, AttachmentHeader, IAttachmentClient, PreprocessResult } from "@powerhousedao/reactor-attachments/client";
19
19
  import * as _powerhousedao_reactor_browser0 from "@powerhousedao/reactor-browser";
20
20
  import { ConflictResolution as ConflictResolution$1, DocumentDispatch as DocumentDispatch$1, FileUploadProgressCallback as FileUploadProgressCallback$1, IReactorBrowserClient as IReactorBrowserClient$1, PHAppConfig as PHAppConfig$1, PHAppConfigHooks as PHAppConfigHooks$1, PHAppConfigKey as PHAppConfigKey$1, PHAppConfigSetters as PHAppConfigSetters$1, PHDocumentEditorConfig as PHDocumentEditorConfig$1, PHDocumentEditorConfigHooks as PHDocumentEditorConfigHooks$1, PHDocumentEditorConfigKey as PHDocumentEditorConfigKey$1, PHDocumentEditorConfigSetters as PHDocumentEditorConfigSetters$1, PHGlobal as PHGlobal$1, PHGlobalConfig as PHGlobalConfig$1, PHGlobalConfigHooks as PHGlobalConfigHooks$1, PHGlobalConfigKey as PHGlobalConfigKey$1, PHGlobalConfigSetters as PHGlobalConfigSetters$1, PHGlobalKey as PHGlobalKey$1, PHModal as PHModal$1 } from "@powerhousedao/reactor-browser";
@@ -1238,5 +1238,5 @@ declare function getUserPermissions(): {
1238
1238
  //#region src/utils/validate-document.d.ts
1239
1239
  declare const validateDocument: (document: PHDocument$1) => ValidationError[];
1240
1240
  //#endregion
1241
- export { ActionTracker, AddPHGlobalEventHandler, BaseStorage, BearerTokenProvider, BrowserLocalStorage, BrowserReactorClientModule, BrowserReactorModule, COMMON_PACKAGE_ID, CREDENTIAL_SCHEMA_EIP712_TYPE, CREDENTIAL_SUBJECT_TYPE, CREDENTIAL_TYPES, ChannelScheme, ChevronDownIcon, ConflictError, type ConflictInfo, ConflictResolution, type ConflictStrategy, ConnectionParams, type ConnectionState, type ConnectionStateSnapshot, CopyIcon, CreateStoreOptions, DEFAULT_DRIVE_EDITOR_ID, DEFAULT_DRIVE_ID, DEFAULT_SWITCHBOARD_URL, DOMAIN_TYPE, DRIVE_DOCUMENT_TYPES, type Database, DisconnectIcon, DiscoveryEvent, DiscoveryEventListener, DispatchFn, DocumentCache, type RemoteDocumentChangeEvent as DocumentChangeEvent, type DocumentChangeListener, DocumentChangeType, DocumentChangesEventPayload, DocumentChangesSubscriptionOptions, DocumentDispatch, DocumentIntegrityService, DocumentModelNotFoundError, DocumentNotFoundError, DocumentOperationsState, DocumentTypeIcon, DocumentTypeMismatchError, DocumentUpgradePreview, DocumentVersionStatus, DraggingNode, DriveCollectionId, DriveSystemInfoState, EDITOR_FILE_DROP_OPT_OUT_ATTR, FailedInstallation, FailedInstallationReason, FileUploadProgress, FileUploadProgressCallback, FulfilledPromise, FullPHGlobalConfig, GetDocumentQueryFields, GetDocumentQueryResult, type GetDocumentResult, type GetDocumentWithOperationsResult, type GetOperationsResult, GqlRequestChannel, GraphQLClientDocumentCache, GraphQLClientDocumentEvent, GraphQLClientDocumentsEvent, GraphQLClientWindowEvents, GraphQLDocumentEventOperationName, GraphQLDocumentEvents, GraphQLDocumentEventsOperationName, GraphQLDocumentsEvents, GraphQLReactorClient, GraphQLReactorClientOptions, GraphQLReactorProvider, GraphQLReactorProviderProps, GraphQLRequestOptions, type IChannel, IDocumentCache, type IDocumentModelLoader, IPackageDiscoveryService, IPackageListerUnsubscribe, IPackageManager, IPackagesListener, type IProcessor, type IProcessorHostModule, type IQueue, IReactorBrowserClient, type IReactorClient, IReactorProcessorHostModule, type IRelationalDb, type IRemoteClient, type IRemoteController, ISSUER_TYPE, IStorage, InMemoryQueue, IntervalPollTimer, type Job, type JwtHandler, type KeyframeValidationIssue, LOADING, type MergeHandler, MutateDocumentWithOperationsDocument, MutateDocumentWithOperationsResult, MutateDocumentWithOperationsVariables, NoSelectedDocumentError, NodeKind, type OperationWithContext, PHAnalyticsGlobalConfig, PHAppConfig, PHAppConfigHooks, PHAppConfigKey, PHAppConfigSetters, PHCommonGlobalConfig, PHDocumentEditorConfig, PHDocumentEditorConfigHooks, PHDocumentEditorConfigKey, PHDocumentEditorConfigSetters, PHDrivesGlobalConfig, PHGlobal, PHGlobalConfig, PHGlobalConfigHooks, PHGlobalConfigHooksForKey, PHGlobalConfigKey, PHGlobalConfigSetters, PHGlobalConfigSettersForKey, PHGlobalEventHandlerAdders, PHGlobalKey, PHGlobalValue, PHModal, PHProcessorsGlobalConfig, PHRelationalProcessorsGlobalConfig, PHRenownGlobalConfig, PHSentryGlobalConfig, PHToastFn, PHToastOptions, PHToastType, PackageManagerInstallResult, type ParsedDriveUrl, PendingInstallation, PollBehavior, type ProcessorApp, type ProcessorFactory, type ProcessorFactoryBuilder, type ProcessorFilter, type ProcessorRecord, PromiseState, PromiseWithState, PropagationMode, PublishEvent, type PushResult, QueryCallbackReturnType, REACTOR_SCHEMA, RENOWN_CHAIN_ID, RENOWN_INITIAL_ANONYMOUS, RENOWN_INITIAL_UNKNOWN, RENOWN_NETWORK_ID, RENOWN_URL, ReactorBuilder, ReactorClientBuilder, ReactorDefaultDrivesConfig, ReactorGraphQLClient, ReactorOperationFieldsFragmentDoc, type RebuildResult, RefreshReactorDataConfig, RegistryClient, RejectedPromise, RelationalDbProcessor, RelationalDbWithLive, type Remote, RemoteClient, type RemoteControllerGraphQLClient, type RemoteControllerOptions, RemoteDocumentController, type RemoteDocumentControllerWith, type RemoteDocumentData, type RemoteFilter, type RemoteMeta, type RemoteOperation, type RemoteOperationResultPage, Renown, RenownAuth, RenownAuthAsync, RenownAuthButton, RenownAuthButtonProps, RenownAuthResolution, RenownAuthStatus, RenownInitOptions, RenownInitialAuth, RenownInitialUserProvider, RenownInitialUserProviderProps, RenownLoginButton, RenownLoginButtonProps, RenownLoginMethod, RenownLogo, RenownProps, RenownProvider, RenownProviderProps, RenownSessionCookieOptions, RenownSessionCookieState, RenownUserButton, RenownUserButtonMenuItem, RenownUserButtonProps, RenownWalletProvider, RenownWalletProviderProps, RevisionsListSelection, RunDocumentOptions, SdkFunctionWrapper, SetEvent, SetPHGlobalValue, type SignerConfig, type SnapshotValidationIssue, SpinnerIcon, StaticPackageManager, SubgraphSdkFactory, SubgraphSdkRegistry, type SyncOperation, SyncOperationStatus, type SyncStatus, TStateSchemaZodObject, TimelineBarItem, TimelineDividerItem, TimelineItem, type TrackedAction, TypedGraphQLDocument, UISyncStatus, UnsupportedDocumentTypeError, UpgradeStepInfo, UploadStatus, UseAttachmentPreviewInput, UseAttachmentPreviewReturn, UseAttachmentUploadReturn, UseDispatchResult, UseEditorFileDropOptions, UseEditorFileDropResult, UseOnDropFile, UsePHGlobalValue, UserIcon, VERIFIABLE_CREDENTIAL_EIP712_TYPE, type ValidationResult, WorkerReactorClientModule, WorkerReactorModule, addAllowListEventHandler, addAllowedDocumentTypesEventHandler, addAnalyticsDatabaseNameEventHandler, addAttachmentServiceEventHandler, addBasePathEventHandler, addCliVersionEventHandler, addDefaultDrivesUrlEventHandler, addDisabledEditorsEventHandler, addDocument, addDocumentCacheEventHandler, addDraggingNodeEventHandler, addDrive, addDrivesEventHandler, addDrivesPreserveStrategyEventHandler, addEnabledEditorsEventHandler, addFeaturesEventHandler, addFileUploadOperationsChunkSizeEventHandler, addFileWithProgress, addFolder, addGaTrackingIdEventHandler, addGraphQLReactorClientEventHandler, addIsAddCloudDrivesEnabledEventHandler, addIsAddDriveEnabledEventHandler, addIsAddLocalDrivesEnabledEventHandler, addIsAddPublicDrivesEnabledEventHandler, addIsAnalyticsDatabaseWorkerEnabledEventHandler, addIsAnalyticsEnabledEventHandler, addIsAnalyticsExternalProcessorsEnabledEventHandler, addIsCloudDrivesEnabledEventHandler, addIsDeleteCloudDrivesEnabledEventHandler, addIsDeleteLocalDrivesEnabledEventHandler, addIsDeletePublicDrivesEnabledEventHandler, addIsDiffAnalyticsEnabledEventHandler, addIsDocumentModelSelectionSettingsEnabledEventHandler, addIsDragAndDropEnabledEventHandler, addIsDriveAnalyticsEnabledEventHandler, addIsEditorDebugModeEnabledEventHandler, addIsEditorReadModeEnabledEventHandler, addIsExternalControlsEnabledEventHandler, addIsExternalPackagesEnabledEventHandler, addIsExternalProcessorsEnabledEventHandler, addIsExternalRelationalProcessorsEnabledEventHandler, addIsLocalDrivesEnabledEventHandler, addIsPublicDrivesEnabledEventHandler, addIsRelationalProcessorsEnabledEventHandler, addIsSentryTracingEnabledEventHandler, addLoadingEventHandler, addLocalDrivesEnabledEventHandler, addLogLevelEventHandler, addModalEventHandler, addPHEventHandlers, addPackageDiscoveryServiceEventHandler, addPromiseState, addReactorClientEventHandler, addReactorClientModuleEventHandler, addRemoteDrive, addRenownAdaptersEventHandler, addRenownChainIdEventHandler, addRenownEventHandler, addRenownNetworkIdEventHandler, addRenownUrlEventHandler, addRequiresHardRefreshEventHandler, addResetSelectedNodeEventHandler, addRevisionHistoryVisibleEventHandler, addRouterBasenameEventHandler, addSelectedDriveIdEventHandler, addSelectedNodeIdEventHandler, addSelectedTimelineItemEventHandler, addSelectedTimelineRevisionEventHandler, addSentryDsnEventHandler, addSentryEnvEventHandler, addSentryReleaseEventHandler, addSetSelectedDriveOnPopStateEventHandler, addSetSelectedNodeOnPopStateEventHandler, addStudioModeEventHandler, addSwitchboardUrlEventHandler, addToastEventHandler, addVersionCheckIntervalEventHandler, addVersionEventHandler, addVetraPackageManagerEventHandler, addWarnOutdatedAppEventHandler, ambientRenownTokenProvider, baseDocumentModels, baseDocumentModelsMap, buildDocumentSubgraphQuery, buildDocumentSubgraphUrl, callEventHandlerRegisterFunctions, callGlobalSetterForKey, clearGlobal, closePHModal, commonGlobalEventHandlerFunctions, convertRemoteOperations, createAnalyticsStore, createClient, createProcessorQuery, createUrlWithPreservedParams, deleteDrive, deleteNode, deriveSystemUrl, describeGraphQLDocument, diffStateShapes, dispatchActions, downloadDocument, driveIdFromUrl, dropAllReactorStorage, ensurePHEventHandlers, exportFile, extractDriveIdFromPath, extractDriveIdFromSlug, extractDriveSlugFromPath, extractNodeIdFromPath, extractNodeIdFromSlug, extractNodeSlugFromPath, findUuid, getAnalyticsStore, getDocumentGraphqlQuery, getDocumentUpgradePreview, getDocumentVersionStatus, getDriveIdBySlug, getDrives, getGlobal, getPackagePage, getPackages, getPackagesByDocumentType, getPackagesForDocumentType, getPathWithoutBase, getRevisionFromDate, getSlugFromDriveUrl, getSwitchboardGatewayUrlFromDriveUrl, getSyncStatus, getSyncStatusSync, getUserPermissions, graphqlDocumentEvents, graphqlDocumentsEvents, graphqlEventsToSyncDrive, hasPreloadBandwidth, hideRevisionHistory, identifierFromMutateDocumentOperationVariables, initConnectCrypto, initRenownCrypto, initTheme, isDocumentTypeSupported, isDriveAuthError, isExternalControlsEnabledEventFunctions, isFileNodeKind, isFolderNodeKind, isGraphQLReactorClient, loadFile, loading, login, logout, makeAuthConnectionParams, makeAuthMiddleware, makeDriveUrlComponent, makeNodeSlug, makePHEventFunctions, openRenown, packageFromDocumentModels, parseDriveUrl, phAppConfigHooks, phAppConfigSetters, phDocumentEditorConfigHooks, phDocumentEditorConfigSetters, phDocumentFromGetDocument, phDocumentFromMutation, phDocumentFromQuery, phDocumentsFromQuery, phGlobalConfigHooks, phGlobalConfigSetters, preloadEditorModule, reactorGraphqlBatchFetchDocuments, reactorGraphqlCreateDocument, reactorGraphqlDeleteDocument, reactorGraphqlDeleteDocuments, reactorGraphqlFetchDocument, reactorGraphqlMutateDocument, readPromiseState, refreshReactorData, refreshReactorDataClient, renameDrive, renameDriveNode, resolveUrlPathname, revisionMapFromRevisionsList, setAllowList, setAllowedDocumentTypes, setAnalyticsDatabaseName, setAttachmentService, setBasePath, setCliVersion, setDefaultDrivesUrl, setDefaultPHGlobalConfig, setDisabledEditors, setDocumentCache, setDriveAvailableOffline, setDriveMetadata, setDriveSharingType, setDrives, setDrivesPreserveStrategy, setEnabledEditors, setFeatures, setFileUploadOperationsChunkSize, setGaTrackingId, setGlobal, setGraphQLReactorClient, setIsAddCloudDrivesEnabled, setIsAddDriveEnabled, setIsAddLocalDrivesEnabled, setIsAddPublicDrivesEnabled, setIsAnalyticsDatabaseWorkerEnabled, setIsAnalyticsEnabled, setIsAnalyticsExternalProcessorsEnabled, setIsCloudDrivesEnabled, setIsDeleteCloudDrivesEnabled, setIsDeleteLocalDrivesEnabled, setIsDeletePublicDrivesEnabled, setIsDiffAnalyticsEnabled, setIsDocumentModelSelectionSettingsEnabled, setIsDragAndDropEnabled, setIsDriveAnalyticsEnabled, setIsEditorDebugModeEnabled, setIsEditorReadModeEnabled, setIsExternalControlsEnabled, setIsExternalPackagesEnabled, setIsExternalProcessorsEnabled, setIsExternalRelationalProcessorsEnabled, setIsLocalDrivesEnabled, setIsPublicDrivesEnabled, setIsRelationalProcessorsEnabled, setIsSentryTracingEnabled, setLoading, setLocalDrivesEnabled, setLogLevel, setPGliteDB, setPHAppConfig, setPHAppConfigByKey, setPHDocumentEditorConfig, setPHDocumentEditorConfigByKey, setPHGlobalConfig, setPHGlobalConfigByKey, setPHModal, setPHToast, setPackageDiscoveryService, setReactorClient, setReactorClientModule, setRenown, setRenownAdapters, setRenownChainId, setRenownNetworkId, setRenownUrl, setRequiresHardRefresh, setRevisionHistoryVisible, setRouterBasename, setSelectedDrive, setSelectedDriveId, setSelectedNode, setSelectedTimelineItem, setSelectedTimelineRevision, setSentryDsn, setSentryEnv, setSentryRelease, setStudioMode, setSwitchboardUrl, setVersion, setVersionCheckInterval, setVetraPackageManager, setWarnOutdatedApp, showCreateDocumentModal, showDeleteNodeModal, showPHModal, showRevisionHistory, signStampedAction, sortNodesByName, stampAction, startDocumentChangesSubscription, subgraphUrlFromGraphqlUrl, subscriptionsUrlFromGraphqlUrl, trimTrailingSlash, truncateAllTables, upgradeDocument, useAllowList, useAllowedDocumentModelModules, useAllowedDocumentTypes, useAnalyticsDatabaseName, useAppModuleById, useAppModules, useAttachmentPreview, useAttachmentService, useAttachmentUpload, useAttachments, useBasePath, useCliVersion, useConnectionState, useConnectionStates, useDatabase, useDefaultAppModule, useDefaultDrivesUrl, useDid, useDisabledEditors, useDispatch, useDocument, useDocumentById, useDocumentCache, useDocumentModelModuleById, useDocumentModelModules, useDocumentOfType, useDocumentOperations, useDocumentSafe, useDocumentTypes, useDocumentTypesInSelectedDrive, useDocumentVersionStatus, useDocuments, useDocumentsByIds, useDocumentsInSelectedDrive, useDocumentsInSelectedFolder, useDownloadDocument, useDragNode, useDriveById, useDriveSystemInfo, useDrives, useDrivesPreserveStrategy, useDropFile, useDropNode, useEditorFileDrop, useEditorModuleById, useEditorModules, useEditorModulesForDocumentType, useEditorPreloader, useEnabledEditors, useFallbackEditorModule, useFeatures, useFileNodesInSelectedDrive, useFileNodesInSelectedFolder, useFileUploadOperationsChunkSize, useFolderById, useFolderNodesInSelectedDrive, useFolderNodesInSelectedFolder, useGaTrackingId, useGetDocument, useGetDocumentAsync, useGetDocuments, useGetSwitchboardLink, useGraphQLReactorClient, useInitReactorGraphqlClient, useIsAddCloudDrivesEnabled, useIsAddDriveEnabled, useIsAddLocalDrivesEnabled, useIsAddPublicDrivesEnabled, useIsAnalyticsDatabaseWorkerEnabled, useIsAnalyticsEnabled, useIsAnalyticsExternalProcessorsEnabled, useIsCloudDrivesEnabled, useIsDeleteCloudDrivesEnabled, useIsDeleteLocalDrivesEnabled, useIsDeletePublicDrivesEnabled, useIsDiffAnalyticsEnabled, useIsDocumentModelSelectionSettingsEnabled, useIsDragAndDropEnabled, useIsDriveAnalyticsEnabled, useIsEditorDebugModeEnabled, useIsEditorReadModeEnabled, useIsExternalControlsEnabled, useIsExternalPackagesEnabled, useIsExternalProcessorsEnabled, useIsExternalRelationalProcessorsEnabled, useIsLocalDrivesEnabled, useIsPublicDrivesEnabled, useIsRelationalProcessorsEnabled, useIsSentryTracingEnabled, useLoading, useLocalDrivesEnabled, useLogLevel, useLoginStatus, useModelRegistry, useNodeActions, useNodeById, useNodeParentFolderById, useNodePathById, useNodesInSelectedDrive, useNodesInSelectedDriveOrFolder, useNodesInSelectedFolder, useOnDropFile, usePGlite, usePHAppConfigByKey, usePHDocumentEditorConfigByKey, usePHGlobalConfigByKey, usePHModal, usePHToast, usePackageDiscoveryService, useParentFolderForSelectedNode, useReactorClient, useReactorClientModule, useRelationalDb, useRelationalQuery, useRelationalQueryOptions, useRenown, useRenownAdapters, useRenownAuth, useRenownAuthAsync, useRenownChainId, useRenownInit, useRenownInitialAuth, useRenownInitialUser, useRenownLoginMethods, useRenownNetworkId, useRenownSessionCookie, useRenownSessionSynced, useRenownUrl, useRequiresHardRefresh, useResetPHGlobalConfig, useRevisionHistoryVisible, useRouterBasename, useSelectedDocument, useSelectedDocumentId, useSelectedDocumentOfType, useSelectedDocumentSafe, useSelectedDrive, useSelectedDriveId, useSelectedDriveSafe, useSelectedFolder, useSelectedNode, useSelectedNodePath, useSelectedTimelineItem, useSelectedTimelineRevision, useSentryDsn, useSentryEnv, useSentryRelease, useSetDefaultPHGlobalConfig, useSetPHAppConfig, useSetPHDocumentEditorConfig, useSetPHGlobalConfig, useStudioMode, useSubgraphModules, useSupportedDocumentTypesInReactor, useSwitchboardClient, useSwitchboardUrl, useSync, useSyncList, useTheme, useUser, useUserPermissions, useVersion, useVersionCheckInterval, useVetraPackageManager, useVetraPackages, useWarnOutdatedApp, validateDocument, viewFilterInputFromViewFilter, waitForDocumentReady };
1241
+ export { ActionTracker, AddPHGlobalEventHandler, BaseStorage, BearerTokenProvider, BrowserLocalStorage, BrowserReactorClientModule, BrowserReactorModule, COMMON_PACKAGE_ID, CREDENTIAL_SCHEMA_EIP712_TYPE, CREDENTIAL_SUBJECT_TYPE, CREDENTIAL_TYPES, ChannelScheme, ChevronDownIcon, ConflictError, type ConflictInfo, ConflictResolution, type ConflictStrategy, ConnectionParams, type ConnectionState, type ConnectionStateSnapshot, CopyIcon, CreateStoreOptions, DEFAULT_DRIVE_EDITOR_ID, DEFAULT_DRIVE_ID, DEFAULT_SWITCHBOARD_URL, DOMAIN_TYPE, DRIVE_DOCUMENT_TYPES, type Database, DisconnectIcon, DiscoveryEvent, DiscoveryEventListener, DispatchFn, DocumentCache, type RemoteDocumentChangeEvent as DocumentChangeEvent, type DocumentChangeListener, DocumentChangeType, DocumentChangesEventPayload, DocumentChangesSubscriptionOptions, DocumentDispatch, DocumentIntegrityService, DocumentModelNotFoundError, DocumentNotFoundError, DocumentOperationsState, DocumentTypeIcon, DocumentTypeMismatchError, DocumentUpgradePreview, DocumentVersionStatus, DraggingNode, DriveCollectionId, DriveSystemInfoState, EDITOR_FILE_DROP_OPT_OUT_ATTR, FailedInstallation, FailedInstallationReason, FileUploadProgress, FileUploadProgressCallback, FulfilledPromise, FullPHGlobalConfig, GetDocumentQueryFields, GetDocumentQueryResult, type GetDocumentResult, type GetDocumentWithOperationsResult, type GetOperationsResult, GqlRequestChannel, GraphQLClientDocumentCache, GraphQLClientDocumentEvent, GraphQLClientDocumentsEvent, GraphQLClientWindowEvents, GraphQLDocumentEventOperationName, GraphQLDocumentEvents, GraphQLDocumentEventsOperationName, GraphQLDocumentsEvents, GraphQLReactorClient, GraphQLReactorClientOptions, GraphQLReactorProvider, GraphQLReactorProviderProps, GraphQLRequestOptions, type IChannel, IDocumentCache, type IDocumentModelLoader, IPackageDiscoveryService, IPackageListerUnsubscribe, IPackageManager, IPackagesListener, type IProcessor, type IProcessorHostModule, type IQueue, IReactorBrowserClient, type IReactorClient, IReactorProcessorHostModule, type IRelationalDb, type IRemoteClient, type IRemoteController, ISSUER_TYPE, IStorage, InMemoryQueue, IntervalPollTimer, type Job, type JwtHandler, type KeyframeValidationIssue, LOADING, type MergeHandler, MutateDocumentWithOperationsDocument, MutateDocumentWithOperationsResult, MutateDocumentWithOperationsVariables, NoSelectedDocumentError, NodeKind, type OperationWithContext, PHAnalyticsGlobalConfig, PHAppConfig, PHAppConfigHooks, PHAppConfigKey, PHAppConfigSetters, PHCommonGlobalConfig, PHDocumentEditorConfig, PHDocumentEditorConfigHooks, PHDocumentEditorConfigKey, PHDocumentEditorConfigSetters, PHDrivesGlobalConfig, PHGlobal, PHGlobalConfig, PHGlobalConfigHooks, PHGlobalConfigHooksForKey, PHGlobalConfigKey, PHGlobalConfigSetters, PHGlobalConfigSettersForKey, PHGlobalEventHandlerAdders, PHGlobalKey, PHGlobalValue, PHModal, PHProcessorsGlobalConfig, PHRelationalProcessorsGlobalConfig, PHRenownGlobalConfig, PHSentryGlobalConfig, PHToastFn, PHToastOptions, PHToastType, PackageManagerInstallResult, type ParsedDriveUrl, PendingInstallation, PollBehavior, type ProcessorApp, type ProcessorFactory, type ProcessorFactoryBuilder, type ProcessorFilter, type ProcessorRecord, PromiseState, PromiseWithState, PropagationMode, PublishEvent, type PushResult, QueryCallbackReturnType, REACTOR_SCHEMA, RENOWN_CHAIN_ID, RENOWN_INITIAL_ANONYMOUS, RENOWN_INITIAL_UNKNOWN, RENOWN_NETWORK_ID, RENOWN_URL, ReactorBuilder, ReactorClientBuilder, ReactorDefaultDrivesConfig, type ReactorFeatureFlags, ReactorGraphQLClient, ReactorOperationFieldsFragmentDoc, type RebuildResult, RefreshReactorDataConfig, RegistryClient, RejectedPromise, RelationalDbProcessor, RelationalDbWithLive, type Remote, RemoteClient, type RemoteControllerGraphQLClient, type RemoteControllerOptions, RemoteDocumentController, type RemoteDocumentControllerWith, type RemoteDocumentData, type RemoteFilter, type RemoteMeta, type RemoteOperation, type RemoteOperationResultPage, Renown, RenownAuth, RenownAuthAsync, RenownAuthButton, RenownAuthButtonProps, RenownAuthResolution, RenownAuthStatus, RenownInitOptions, RenownInitialAuth, RenownInitialUserProvider, RenownInitialUserProviderProps, RenownLoginButton, RenownLoginButtonProps, RenownLoginMethod, RenownLogo, RenownProps, RenownProvider, RenownProviderProps, RenownSessionCookieOptions, RenownSessionCookieState, RenownUserButton, RenownUserButtonMenuItem, RenownUserButtonProps, RenownWalletProvider, RenownWalletProviderProps, RevisionsListSelection, RunDocumentOptions, SdkFunctionWrapper, SetEvent, SetPHGlobalValue, type SignerConfig, type SnapshotValidationIssue, SpinnerIcon, StaticPackageManager, SubgraphSdkFactory, SubgraphSdkRegistry, type SyncOperation, SyncOperationStatus, type SyncStatus, TStateSchemaZodObject, TimelineBarItem, TimelineDividerItem, TimelineItem, type TrackedAction, TypedGraphQLDocument, UISyncStatus, UnsupportedDocumentTypeError, UpgradeStepInfo, UploadStatus, UseAttachmentPreviewInput, UseAttachmentPreviewReturn, UseAttachmentUploadReturn, UseDispatchResult, UseEditorFileDropOptions, UseEditorFileDropResult, UseOnDropFile, UsePHGlobalValue, UserIcon, VERIFIABLE_CREDENTIAL_EIP712_TYPE, type ValidationResult, WorkerReactorClientModule, WorkerReactorModule, addAllowListEventHandler, addAllowedDocumentTypesEventHandler, addAnalyticsDatabaseNameEventHandler, addAttachmentServiceEventHandler, addBasePathEventHandler, addCliVersionEventHandler, addDefaultDrivesUrlEventHandler, addDisabledEditorsEventHandler, addDocument, addDocumentCacheEventHandler, addDraggingNodeEventHandler, addDrive, addDrivesEventHandler, addDrivesPreserveStrategyEventHandler, addEnabledEditorsEventHandler, addFeaturesEventHandler, addFileUploadOperationsChunkSizeEventHandler, addFileWithProgress, addFolder, addGaTrackingIdEventHandler, addGraphQLReactorClientEventHandler, addIsAddCloudDrivesEnabledEventHandler, addIsAddDriveEnabledEventHandler, addIsAddLocalDrivesEnabledEventHandler, addIsAddPublicDrivesEnabledEventHandler, addIsAnalyticsDatabaseWorkerEnabledEventHandler, addIsAnalyticsEnabledEventHandler, addIsAnalyticsExternalProcessorsEnabledEventHandler, addIsCloudDrivesEnabledEventHandler, addIsDeleteCloudDrivesEnabledEventHandler, addIsDeleteLocalDrivesEnabledEventHandler, addIsDeletePublicDrivesEnabledEventHandler, addIsDiffAnalyticsEnabledEventHandler, addIsDocumentModelSelectionSettingsEnabledEventHandler, addIsDragAndDropEnabledEventHandler, addIsDriveAnalyticsEnabledEventHandler, addIsEditorDebugModeEnabledEventHandler, addIsEditorReadModeEnabledEventHandler, addIsExternalControlsEnabledEventHandler, addIsExternalPackagesEnabledEventHandler, addIsExternalProcessorsEnabledEventHandler, addIsExternalRelationalProcessorsEnabledEventHandler, addIsLocalDrivesEnabledEventHandler, addIsPublicDrivesEnabledEventHandler, addIsRelationalProcessorsEnabledEventHandler, addIsSentryTracingEnabledEventHandler, addLoadingEventHandler, addLocalDrivesEnabledEventHandler, addLogLevelEventHandler, addModalEventHandler, addPHEventHandlers, addPackageDiscoveryServiceEventHandler, addPromiseState, addReactorClientEventHandler, addReactorClientModuleEventHandler, addRemoteDrive, addRenownAdaptersEventHandler, addRenownChainIdEventHandler, addRenownEventHandler, addRenownNetworkIdEventHandler, addRenownUrlEventHandler, addRequiresHardRefreshEventHandler, addResetSelectedNodeEventHandler, addRevisionHistoryVisibleEventHandler, addRouterBasenameEventHandler, addSelectedDriveIdEventHandler, addSelectedNodeIdEventHandler, addSelectedTimelineItemEventHandler, addSelectedTimelineRevisionEventHandler, addSentryDsnEventHandler, addSentryEnvEventHandler, addSentryReleaseEventHandler, addSetSelectedDriveOnPopStateEventHandler, addSetSelectedNodeOnPopStateEventHandler, addStudioModeEventHandler, addSwitchboardUrlEventHandler, addToastEventHandler, addVersionCheckIntervalEventHandler, addVersionEventHandler, addVetraPackageManagerEventHandler, addWarnOutdatedAppEventHandler, ambientRenownTokenProvider, baseDocumentModels, baseDocumentModelsMap, buildDocumentSubgraphQuery, buildDocumentSubgraphUrl, callEventHandlerRegisterFunctions, callGlobalSetterForKey, clearGlobal, closePHModal, commonGlobalEventHandlerFunctions, convertRemoteOperations, createAnalyticsStore, createClient, createProcessorQuery, createUrlWithPreservedParams, deleteDrive, deleteNode, deriveSystemUrl, describeGraphQLDocument, diffStateShapes, dispatchActions, downloadDocument, driveIdFromUrl, dropAllReactorStorage, ensurePHEventHandlers, exportFile, extractDriveIdFromPath, extractDriveIdFromSlug, extractDriveSlugFromPath, extractNodeIdFromPath, extractNodeIdFromSlug, extractNodeSlugFromPath, findUuid, getAnalyticsStore, getDocumentGraphqlQuery, getDocumentUpgradePreview, getDocumentVersionStatus, getDriveIdBySlug, getDrives, getGlobal, getPackagePage, getPackages, getPackagesByDocumentType, getPackagesForDocumentType, getPathWithoutBase, getRevisionFromDate, getSlugFromDriveUrl, getSwitchboardGatewayUrlFromDriveUrl, getSyncStatus, getSyncStatusSync, getUserPermissions, graphqlDocumentEvents, graphqlDocumentsEvents, graphqlEventsToSyncDrive, hasPreloadBandwidth, hideRevisionHistory, identifierFromMutateDocumentOperationVariables, initConnectCrypto, initRenownCrypto, initTheme, isDocumentTypeSupported, isDriveAuthError, isExternalControlsEnabledEventFunctions, isFileNodeKind, isFolderNodeKind, isGraphQLReactorClient, loadFile, loading, login, logout, makeAuthConnectionParams, makeAuthMiddleware, makeDriveUrlComponent, makeNodeSlug, makePHEventFunctions, openRenown, packageFromDocumentModels, parseDriveUrl, phAppConfigHooks, phAppConfigSetters, phDocumentEditorConfigHooks, phDocumentEditorConfigSetters, phDocumentFromGetDocument, phDocumentFromMutation, phDocumentFromQuery, phDocumentsFromQuery, phGlobalConfigHooks, phGlobalConfigSetters, preloadEditorModule, reactorGraphqlBatchFetchDocuments, reactorGraphqlCreateDocument, reactorGraphqlDeleteDocument, reactorGraphqlDeleteDocuments, reactorGraphqlFetchDocument, reactorGraphqlMutateDocument, readPromiseState, refreshReactorData, refreshReactorDataClient, renameDrive, renameDriveNode, resolveUrlPathname, revisionMapFromRevisionsList, setAllowList, setAllowedDocumentTypes, setAnalyticsDatabaseName, setAttachmentService, setBasePath, setCliVersion, setDefaultDrivesUrl, setDefaultPHGlobalConfig, setDisabledEditors, setDocumentCache, setDriveAvailableOffline, setDriveMetadata, setDriveSharingType, setDrives, setDrivesPreserveStrategy, setEnabledEditors, setFeatures, setFileUploadOperationsChunkSize, setGaTrackingId, setGlobal, setGraphQLReactorClient, setIsAddCloudDrivesEnabled, setIsAddDriveEnabled, setIsAddLocalDrivesEnabled, setIsAddPublicDrivesEnabled, setIsAnalyticsDatabaseWorkerEnabled, setIsAnalyticsEnabled, setIsAnalyticsExternalProcessorsEnabled, setIsCloudDrivesEnabled, setIsDeleteCloudDrivesEnabled, setIsDeleteLocalDrivesEnabled, setIsDeletePublicDrivesEnabled, setIsDiffAnalyticsEnabled, setIsDocumentModelSelectionSettingsEnabled, setIsDragAndDropEnabled, setIsDriveAnalyticsEnabled, setIsEditorDebugModeEnabled, setIsEditorReadModeEnabled, setIsExternalControlsEnabled, setIsExternalPackagesEnabled, setIsExternalProcessorsEnabled, setIsExternalRelationalProcessorsEnabled, setIsLocalDrivesEnabled, setIsPublicDrivesEnabled, setIsRelationalProcessorsEnabled, setIsSentryTracingEnabled, setLoading, setLocalDrivesEnabled, setLogLevel, setPGliteDB, setPHAppConfig, setPHAppConfigByKey, setPHDocumentEditorConfig, setPHDocumentEditorConfigByKey, setPHGlobalConfig, setPHGlobalConfigByKey, setPHModal, setPHToast, setPackageDiscoveryService, setReactorClient, setReactorClientModule, setRenown, setRenownAdapters, setRenownChainId, setRenownNetworkId, setRenownUrl, setRequiresHardRefresh, setRevisionHistoryVisible, setRouterBasename, setSelectedDrive, setSelectedDriveId, setSelectedNode, setSelectedTimelineItem, setSelectedTimelineRevision, setSentryDsn, setSentryEnv, setSentryRelease, setStudioMode, setSwitchboardUrl, setVersion, setVersionCheckInterval, setVetraPackageManager, setWarnOutdatedApp, showCreateDocumentModal, showDeleteNodeModal, showPHModal, showRevisionHistory, signStampedAction, sortNodesByName, stampAction, startDocumentChangesSubscription, subgraphUrlFromGraphqlUrl, subscriptionsUrlFromGraphqlUrl, trimTrailingSlash, truncateAllTables, upgradeDocument, useAllowList, useAllowedDocumentModelModules, useAllowedDocumentTypes, useAnalyticsDatabaseName, useAppModuleById, useAppModules, useAttachmentPreview, useAttachmentService, useAttachmentUpload, useAttachments, useBasePath, useCliVersion, useConnectionState, useConnectionStates, useDatabase, useDefaultAppModule, useDefaultDrivesUrl, useDid, useDisabledEditors, useDispatch, useDocument, useDocumentById, useDocumentCache, useDocumentModelModuleById, useDocumentModelModules, useDocumentOfType, useDocumentOperations, useDocumentSafe, useDocumentTypes, useDocumentTypesInSelectedDrive, useDocumentVersionStatus, useDocuments, useDocumentsByIds, useDocumentsInSelectedDrive, useDocumentsInSelectedFolder, useDownloadDocument, useDragNode, useDriveById, useDriveSystemInfo, useDrives, useDrivesPreserveStrategy, useDropFile, useDropNode, useEditorFileDrop, useEditorModuleById, useEditorModules, useEditorModulesForDocumentType, useEditorPreloader, useEnabledEditors, useFallbackEditorModule, useFeatures, useFileNodesInSelectedDrive, useFileNodesInSelectedFolder, useFileUploadOperationsChunkSize, useFolderById, useFolderNodesInSelectedDrive, useFolderNodesInSelectedFolder, useGaTrackingId, useGetDocument, useGetDocumentAsync, useGetDocuments, useGetSwitchboardLink, useGraphQLReactorClient, useInitReactorGraphqlClient, useIsAddCloudDrivesEnabled, useIsAddDriveEnabled, useIsAddLocalDrivesEnabled, useIsAddPublicDrivesEnabled, useIsAnalyticsDatabaseWorkerEnabled, useIsAnalyticsEnabled, useIsAnalyticsExternalProcessorsEnabled, useIsCloudDrivesEnabled, useIsDeleteCloudDrivesEnabled, useIsDeleteLocalDrivesEnabled, useIsDeletePublicDrivesEnabled, useIsDiffAnalyticsEnabled, useIsDocumentModelSelectionSettingsEnabled, useIsDragAndDropEnabled, useIsDriveAnalyticsEnabled, useIsEditorDebugModeEnabled, useIsEditorReadModeEnabled, useIsExternalControlsEnabled, useIsExternalPackagesEnabled, useIsExternalProcessorsEnabled, useIsExternalRelationalProcessorsEnabled, useIsLocalDrivesEnabled, useIsPublicDrivesEnabled, useIsRelationalProcessorsEnabled, useIsSentryTracingEnabled, useLoading, useLocalDrivesEnabled, useLogLevel, useLoginStatus, useModelRegistry, useNodeActions, useNodeById, useNodeParentFolderById, useNodePathById, useNodesInSelectedDrive, useNodesInSelectedDriveOrFolder, useNodesInSelectedFolder, useOnDropFile, usePGlite, usePHAppConfigByKey, usePHDocumentEditorConfigByKey, usePHGlobalConfigByKey, usePHModal, usePHToast, usePackageDiscoveryService, useParentFolderForSelectedNode, useReactorClient, useReactorClientModule, useRelationalDb, useRelationalQuery, useRelationalQueryOptions, useRenown, useRenownAdapters, useRenownAuth, useRenownAuthAsync, useRenownChainId, useRenownInit, useRenownInitialAuth, useRenownInitialUser, useRenownLoginMethods, useRenownNetworkId, useRenownSessionCookie, useRenownSessionSynced, useRenownUrl, useRequiresHardRefresh, useResetPHGlobalConfig, useRevisionHistoryVisible, useRouterBasename, useSelectedDocument, useSelectedDocumentId, useSelectedDocumentOfType, useSelectedDocumentSafe, useSelectedDrive, useSelectedDriveId, useSelectedDriveSafe, useSelectedFolder, useSelectedNode, useSelectedNodePath, useSelectedTimelineItem, useSelectedTimelineRevision, useSentryDsn, useSentryEnv, useSentryRelease, useSetDefaultPHGlobalConfig, useSetPHAppConfig, useSetPHDocumentEditorConfig, useSetPHGlobalConfig, useStudioMode, useSubgraphModules, useSupportedDocumentTypesInReactor, useSwitchboardClient, useSwitchboardUrl, useSync, useSyncList, useTheme, useUser, useUserPermissions, useVersion, useVersionCheckInterval, useVetraPackageManager, useVetraPackages, useWarnOutdatedApp, validateDocument, viewFilterInputFromViewFilter, waitForDocumentReady };
1242
1242
  //# sourceMappingURL=index.d.ts.map
@@ -67,6 +67,7 @@ type VersionFingerprint = {
67
67
  id: string;
68
68
  version: number;
69
69
  }[];
70
+ featureFlags?: string;
70
71
  };
71
72
  type RpcHello = {
72
73
  k: "hello";
@@ -111,7 +112,8 @@ type WorkerInspectorInfo = {
111
112
  bootedAtMs: number;
112
113
  connectedClients: number;
113
114
  appBuildId: string;
114
- rpcProtocolVersion: number;
115
+ rpcProtocolVersion: number; /** Flags this worker is enforcing, from the fingerprint that built it. */
116
+ featureFlags?: string;
115
117
  };
116
118
  type ReactorIdentity = {
117
119
  address: string;
@@ -252,4 +254,4 @@ interface IInspectorProxy {
252
254
  declare function createInspectorProxy(router: MessageRouter): IInspectorProxy;
253
255
  //#endregion
254
256
  export { RpcMessage as C, WorkerMigrationState as E, RpcLiveUnsub as S, WorkerInspectorInfo as T, RPC_PROTOCOL_VERSION as _, MessageRouter as a, RpcLiveEvent as b, RpcCorrelator as c, ClientMessage as d, CorrelationId as f, OwnerMessage as g, OpKind as h, createWorkerAdminClient as i, RpcPoster as l, MethodCallMessage as m, createInspectorProxy as n, IRpcTransport as o, ErrorInfo as p, IWorkerAdminClient as r, createPortTransport as s, IInspectorProxy as t, RpcRequestOptions as u, ReactorIdentity as v, VersionFingerprint as w, RpcLiveSubscribe as x, RpcDbOp as y };
255
- //# sourceMappingURL=inspector-proxy-CL1NSQyn.d.ts.map
257
+ //# sourceMappingURL=inspector-proxy-CaCFdEG4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector-proxy-CaCFdEG4.d.ts","names":[],"sources":["../src/rpc/protocol.ts","../src/rpc/rpc-correlator.ts","../src/rpc/transport.ts","../src/rpc/message-router.ts","../src/rpc/admin-client.ts","../src/rpc/inspector-proxy.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { rt as IReactorBrowserClient } from "../../global-CjrUQWHf.js";
2
- import { $ as GraphQLRequestOptions, A as useGetDocuments, B as stampAction, C as setDocumentCache, D as useDocuments, E as useDocumentSafe, F as startDocumentChangesSubscription, G as GraphQLReactorProvider, H as MutateDocumentWithOperationsResult, I as subscriptionsUrlFromGraphqlUrl, J as useSwitchboardClient, K as GraphQLReactorProviderProps, L as StaticPackageManager, M as DocumentChangesEventPayload, Mt as DocumentCache, N as DocumentChangesSubscriptionOptions, Nt as addPromiseState, O as useGetDocument, P as makeAuthConnectionParams, Pt as readPromiseState, Q as viewFilterInputFromViewFilter, R as packageFromDocumentModels, T as useDocumentCache, U as MutateDocumentWithOperationsVariables, V as MutateDocumentWithOperationsDocument, W as ReactorOperationFieldsFragmentDoc, X as GraphQLReactorClientOptions, Y as GraphQLReactorClient, Z as isGraphQLReactorClient, a as useDocumentOperations, at as BearerTokenProvider, c as DispatchFn, ct as GetDocumentQueryFields, dt as phDocumentFromGetDocument, et as SubgraphSdkFactory, ft as phDocumentFromMutation, i as DocumentOperationsState, it as subgraphUrlFromGraphqlUrl, j as ConnectionParams, k as useGetDocumentAsync, l as UseDispatchResult, lt as GetDocumentQueryResult, nt as TypedGraphQLDocument, o as useDocumentModelModuleById, ot as ambientRenownTokenProvider, p as setReactorClient, pt as revisionMapFromRevisionsList, q as ensurePHEventHandlers, r as useAttachmentService, rt as describeGraphQLDocument, s as useDocumentModelModules, st as makeAuthMiddleware, tt as SubgraphSdkRegistry, u as useDispatch, ut as RevisionsListSelection, v as useReactorClient, w as useDocument, z as signStampedAction } from "../../attachment-service-CUGe-Rda.js";
1
+ import { rt as IReactorBrowserClient } from "../../global-CbyAMlZd.js";
2
+ import { $ as GraphQLRequestOptions, A as useGetDocuments, B as stampAction, C as setDocumentCache, D as useDocuments, E as useDocumentSafe, F as startDocumentChangesSubscription, G as GraphQLReactorProvider, H as MutateDocumentWithOperationsResult, I as subscriptionsUrlFromGraphqlUrl, J as useSwitchboardClient, K as GraphQLReactorProviderProps, L as StaticPackageManager, M as DocumentChangesEventPayload, Mt as DocumentCache, N as DocumentChangesSubscriptionOptions, Nt as addPromiseState, O as useGetDocument, P as makeAuthConnectionParams, Pt as readPromiseState, Q as viewFilterInputFromViewFilter, R as packageFromDocumentModels, T as useDocumentCache, U as MutateDocumentWithOperationsVariables, V as MutateDocumentWithOperationsDocument, W as ReactorOperationFieldsFragmentDoc, X as GraphQLReactorClientOptions, Y as GraphQLReactorClient, Z as isGraphQLReactorClient, a as useDocumentOperations, at as BearerTokenProvider, c as DispatchFn, ct as GetDocumentQueryFields, dt as phDocumentFromGetDocument, et as SubgraphSdkFactory, ft as phDocumentFromMutation, i as DocumentOperationsState, it as subgraphUrlFromGraphqlUrl, j as ConnectionParams, k as useGetDocumentAsync, l as UseDispatchResult, lt as GetDocumentQueryResult, nt as TypedGraphQLDocument, o as useDocumentModelModuleById, ot as ambientRenownTokenProvider, p as setReactorClient, pt as revisionMapFromRevisionsList, q as ensurePHEventHandlers, r as useAttachmentService, rt as describeGraphQLDocument, s as useDocumentModelModules, st as makeAuthMiddleware, tt as SubgraphSdkRegistry, u as useDispatch, ut as RevisionsListSelection, v as useReactorClient, w as useDocument, z as signStampedAction } from "../../attachment-service-CghxHYta.js";
3
3
  import { O as SdkFunctionWrapper } from "../../types-Bitg5Z5j.js";
4
4
  export { BearerTokenProvider, ConnectionParams, type DispatchFn, DocumentCache, DocumentChangesEventPayload, DocumentChangesSubscriptionOptions, type DocumentOperationsState, GetDocumentQueryFields, GetDocumentQueryResult, GraphQLReactorClient, GraphQLReactorClientOptions, GraphQLReactorProvider, GraphQLReactorProviderProps, GraphQLRequestOptions, type IReactorBrowserClient, MutateDocumentWithOperationsDocument, MutateDocumentWithOperationsResult, MutateDocumentWithOperationsVariables, ReactorOperationFieldsFragmentDoc, RevisionsListSelection, SdkFunctionWrapper, StaticPackageManager, SubgraphSdkFactory, SubgraphSdkRegistry, TypedGraphQLDocument, type UseDispatchResult, addPromiseState, ambientRenownTokenProvider, describeGraphQLDocument, ensurePHEventHandlers, isGraphQLReactorClient, makeAuthConnectionParams, makeAuthMiddleware, packageFromDocumentModels, phDocumentFromGetDocument, phDocumentFromMutation, readPromiseState, revisionMapFromRevisionsList, setDocumentCache, setReactorClient, signStampedAction, stampAction, startDocumentChangesSubscription, subgraphUrlFromGraphqlUrl, subscriptionsUrlFromGraphqlUrl, useAttachmentService, useDispatch, useDocument, useDocumentCache, useDocumentModelModuleById, useDocumentModelModules, useDocumentOperations, useDocumentSafe, useDocuments, useGetDocument, useGetDocumentAsync, useGetDocuments, useReactorClient, useSwitchboardClient, viewFilterInputFromViewFilter };
@@ -1,2 +1,2 @@
1
- import { A as VERIFIABLE_CREDENTIAL_EIP712_TYPE, B as RenownUserButtonMenuItem, C as CREDENTIAL_SUBJECT_TYPE, D as RENOWN_CHAIN_ID, E as ISSUER_TYPE, F as DisconnectIcon, G as RenownAuthButtonProps, H as RenownLoginButton, I as RenownLogo, L as SpinnerIcon, M as initRenownCrypto, N as ChevronDownIcon, O as RENOWN_NETWORK_ID, P as CopyIcon, R as UserIcon, S as CREDENTIAL_SCHEMA_EIP712_TYPE, T as DOMAIN_TYPE, U as RenownLoginButtonProps, V as RenownUserButtonProps, W as RenownAuthButton, X as useRenown, _ as RenownInitialAuth, a as RenownProvider, at as useRenownAuth, b as useRenownInitialAuth, c as RenownProps, d as RenownSessionCookieOptions, et as openRenown, f as RenownSessionCookieState, g as RENOWN_INITIAL_UNKNOWN, h as RENOWN_INITIAL_ANONYMOUS, i as RenownWalletProviderProps, it as RenownAuthStatus, j as initConnectCrypto, k as RENOWN_URL, l as RenownInitOptions, m as useRenownSessionSynced, n as useRenownLoginMethods, nt as RenownAuthAsync, o as RenownProviderProps, ot as useRenownAuthAsync, p as useRenownSessionCookie, r as RenownWalletProvider, rt as RenownAuthResolution, s as Renown, t as RenownLoginMethod, tt as RenownAuth, u as useRenownInit, v as RenownInitialUserProvider, w as CREDENTIAL_TYPES, x as useRenownInitialUser, y as RenownInitialUserProviderProps, z as RenownUserButton } from "../../index-BM9TVt6u.js";
1
+ import { A as VERIFIABLE_CREDENTIAL_EIP712_TYPE, B as RenownUserButtonMenuItem, C as CREDENTIAL_SUBJECT_TYPE, D as RENOWN_CHAIN_ID, E as ISSUER_TYPE, F as DisconnectIcon, G as RenownAuthButtonProps, H as RenownLoginButton, I as RenownLogo, L as SpinnerIcon, M as initRenownCrypto, N as ChevronDownIcon, O as RENOWN_NETWORK_ID, P as CopyIcon, R as UserIcon, S as CREDENTIAL_SCHEMA_EIP712_TYPE, T as DOMAIN_TYPE, U as RenownLoginButtonProps, V as RenownUserButtonProps, W as RenownAuthButton, X as useRenown, _ as RenownInitialAuth, a as RenownProvider, at as useRenownAuth, b as useRenownInitialAuth, c as RenownProps, d as RenownSessionCookieOptions, et as openRenown, f as RenownSessionCookieState, g as RENOWN_INITIAL_UNKNOWN, h as RENOWN_INITIAL_ANONYMOUS, i as RenownWalletProviderProps, it as RenownAuthStatus, j as initConnectCrypto, k as RENOWN_URL, l as RenownInitOptions, m as useRenownSessionSynced, n as useRenownLoginMethods, nt as RenownAuthAsync, o as RenownProviderProps, ot as useRenownAuthAsync, p as useRenownSessionCookie, r as RenownWalletProvider, rt as RenownAuthResolution, s as Renown, t as RenownLoginMethod, tt as RenownAuth, u as useRenownInit, v as RenownInitialUserProvider, w as CREDENTIAL_TYPES, x as useRenownInitialUser, y as RenownInitialUserProviderProps, z as RenownUserButton } from "../../index-DPq1VjpB.js";
2
2
  export { CREDENTIAL_SCHEMA_EIP712_TYPE, CREDENTIAL_SUBJECT_TYPE, CREDENTIAL_TYPES, ChevronDownIcon, CopyIcon, DOMAIN_TYPE, DisconnectIcon, ISSUER_TYPE, RENOWN_CHAIN_ID, RENOWN_INITIAL_ANONYMOUS, RENOWN_INITIAL_UNKNOWN, RENOWN_NETWORK_ID, RENOWN_URL, Renown, RenownAuth, RenownAuthAsync, RenownAuthButton, RenownAuthButtonProps, RenownAuthResolution, RenownAuthStatus, RenownInitOptions, RenownInitialAuth, RenownInitialUserProvider, RenownInitialUserProviderProps, RenownLoginButton, RenownLoginButtonProps, RenownLoginMethod, RenownLogo, RenownProps, RenownProvider, RenownProviderProps, RenownSessionCookieOptions, RenownSessionCookieState, RenownUserButton, RenownUserButtonMenuItem, RenownUserButtonProps, RenownWalletProvider, RenownWalletProviderProps, SpinnerIcon, UserIcon, VERIFIABLE_CREDENTIAL_EIP712_TYPE, initConnectCrypto, initRenownCrypto, openRenown, useRenown, useRenownAuth, useRenownAuthAsync, useRenownInit, useRenownInitialAuth, useRenownInitialUser, useRenownLoginMethods, useRenownSessionCookie, useRenownSessionSynced };
@@ -1,5 +1,5 @@
1
1
  import { r as PGliteWithLive } from "../../index-CxxxP14A.js";
2
- import { C as RpcMessage, E as WorkerMigrationState, S as RpcLiveUnsub, T as WorkerInspectorInfo, _ as RPC_PROTOCOL_VERSION, a as MessageRouter, b as RpcLiveEvent, c as RpcCorrelator, d as ClientMessage, f as CorrelationId, g as OwnerMessage, h as OpKind, i as createWorkerAdminClient, l as RpcPoster, m as MethodCallMessage, n as createInspectorProxy, o as IRpcTransport, p as ErrorInfo, r as IWorkerAdminClient, s as createPortTransport, t as IInspectorProxy, u as RpcRequestOptions, v as ReactorIdentity, w as VersionFingerprint, x as RpcLiveSubscribe, y as RpcDbOp } from "../../inspector-proxy-CL1NSQyn.js";
2
+ import { C as RpcMessage, E as WorkerMigrationState, S as RpcLiveUnsub, T as WorkerInspectorInfo, _ as RPC_PROTOCOL_VERSION, a as MessageRouter, b as RpcLiveEvent, c as RpcCorrelator, d as ClientMessage, f as CorrelationId, g as OwnerMessage, h as OpKind, i as createWorkerAdminClient, l as RpcPoster, m as MethodCallMessage, n as createInspectorProxy, o as IRpcTransport, p as ErrorInfo, r as IWorkerAdminClient, s as createPortTransport, t as IInspectorProxy, u as RpcRequestOptions, v as ReactorIdentity, w as VersionFingerprint, x as RpcLiveSubscribe, y as RpcDbOp } from "../../inspector-proxy-CaCFdEG4.js";
3
3
  import { DocumentModelModule } from "@powerhousedao/shared/document-model";
4
4
  import { ChannelConfig, DriveCollectionId, IDocumentModelLoader, IDocumentModelRegistry, IEventBus, IReactorClient, ISyncManager, Remote, RemoteFilter, RemoteOptions, ShutdownStatus, SyncStatus, SyncStatusChangeCallback, Unsubscribe } from "@powerhousedao/reactor";
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/rpc/client-proxy.ts","../../../src/rpc/op-channel.ts","../../../src/rpc/host-reply.ts","../../../src/rpc/listeners.ts","../../../src/rpc/subscription.ts","../../../src/rpc/live-query-proxy.ts","../../../src/rpc/relational-db-proxy.ts","../../../src/rpc/event-bus-proxy.ts","../../../src/rpc/forwarded-events.ts","../../../src/rpc/connect-reactor.ts","../../../src/rpc/host-server.ts","../../../src/rpc/reactor-host.ts","../../../src/rpc/sync-manager-proxy.ts","../../../src/rpc/worker-package-loader.ts","../../../src/rpc/error-info.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/rpc/client-proxy.ts","../../../src/rpc/op-channel.ts","../../../src/rpc/host-reply.ts","../../../src/rpc/listeners.ts","../../../src/rpc/subscription.ts","../../../src/rpc/live-query-proxy.ts","../../../src/rpc/relational-db-proxy.ts","../../../src/rpc/event-bus-proxy.ts","../../../src/rpc/forwarded-events.ts","../../../src/rpc/connect-reactor.ts","../../../src/rpc/host-server.ts","../../../src/rpc/reactor-host.ts","../../../src/rpc/sync-manager-proxy.ts","../../../src/rpc/worker-package-loader.ts","../../../src/rpc/error-info.ts"],"mappings":"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"}
@@ -816,10 +816,22 @@ function isDataMessage(msg) {
816
816
  return msg.k === "req" || msg.k === "sub" || msg.k === "page" || msg.k === "sync-op" || msg.k === "db-op" || msg.k === "inspector-op" || msg.k === "sub-live";
817
817
  }
818
818
  function versionsCompatible(a, b) {
819
- return a.appBuildId === b.appBuildId && a.rpcProtocolVersion === b.rpcProtocolVersion;
819
+ return a.appBuildId === b.appBuildId && a.rpcProtocolVersion === b.rpcProtocolVersion && (a.featureFlags ?? "") === (b.featureFlags ?? "");
820
820
  }
821
821
  function workerGenForVersion(version) {
822
- return `v${version.rpcProtocolVersion}-${version.appBuildId}`;
822
+ const flags = version.featureFlags ?? "";
823
+ const suffix = flags === "" ? "" : `-${hashFlags(flags)}`;
824
+ return `v${version.rpcProtocolVersion}-${version.appBuildId}${suffix}`;
825
+ }
826
+ /** Names what differs, so a reload is diagnosable from the tab's console. */
827
+ function mismatchReason(baseline, incoming) {
828
+ if ((baseline.featureFlags ?? "") !== (incoming.featureFlags ?? "")) return `reactor enforcement flags changed (worker: ${baseline.featureFlags || "none"}, tab: ${incoming.featureFlags || "none"})`;
829
+ return "reactor version mismatch";
830
+ }
831
+ function hashFlags(flags) {
832
+ let hash = 0;
833
+ for (let i = 0; i < flags.length; i++) hash = hash * 31 + flags.charCodeAt(i) | 0;
834
+ return (hash >>> 0).toString(36);
823
835
  }
824
836
  var ReactorHost = class {
825
837
  options;
@@ -976,7 +988,8 @@ var ReactorHost = class {
976
988
  bootedAtMs: this.bootedAtMs,
977
989
  connectedClients: this.connectionCount,
978
990
  appBuildId: this.baseline?.appBuildId ?? this.options.appBuildId ?? "unknown",
979
- rpcProtocolVersion: this.baseline?.rpcProtocolVersion ?? 2
991
+ rpcProtocolVersion: this.baseline?.rpcProtocolVersion ?? 2,
992
+ featureFlags: this.baseline?.featureFlags ?? ""
980
993
  };
981
994
  reply.ok(message.id, info);
982
995
  }
@@ -1010,7 +1023,7 @@ var ReactorHost = class {
1010
1023
  if (!versionsCompatible(this.baseline, message.version)) {
1011
1024
  transport.post({
1012
1025
  k: "reload",
1013
- reason: "reactor version mismatch",
1026
+ reason: mismatchReason(this.baseline, message.version),
1014
1027
  workerGen: workerGenForVersion(message.version)
1015
1028
  });
1016
1029
  reply.ok(message.id, { ok: false });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/rpc/listeners.ts","../../../src/rpc/op-channel.ts","../../../src/rpc/admin-client.ts","../../../src/rpc/error-info.ts","../../../src/rpc/paging.ts","../../../src/rpc/subscription.ts","../../../src/rpc/client-proxy.ts","../../../src/rpc/inspector-proxy.ts","../../../src/rpc/protocol.ts","../../../src/rpc/host-reply.ts","../../../src/rpc/live-query-proxy.ts","../../../src/rpc/relational-db-proxy.ts","../../../src/rpc/sync-manager-proxy.ts","../../../src/rpc/forwarded-events.ts","../../../src/rpc/event-bus-proxy.ts","../../../src/rpc/connect-reactor.ts","../../../src/rpc/host-server.ts","../../../src/rpc/transport.ts","../../../src/rpc/reactor-host.ts","../../../src/rpc/worker-package-loader.ts","../../../src/rpc/rpc-correlator.ts","../../../src/rpc/message-router.ts"],"sourcesContent":["export class KeyedListeners<K, A extends unknown[] = []> {\n private readonly map = new Map<K, Set<(...a: A) => void>>();\n\n add(key: K, fn: (...a: A) => void): () => void {\n let set = this.map.get(key);\n if (!set) {\n set = new Set();\n this.map.set(key, set);\n }\n set.add(fn);\n return () => {\n const current = this.map.get(key);\n if (!current) {\n return;\n }\n current.delete(fn);\n if (current.size === 0) {\n this.map.delete(key);\n }\n };\n }\n\n emit(key: K, ...a: A): void {\n const set = this.map.get(key);\n if (!set) {\n return;\n }\n for (const fn of [...set]) {\n fn(...a);\n }\n }\n\n emitAll(...a: A): void {\n for (const set of [...this.map.values()]) {\n for (const fn of [...set]) {\n fn(...a);\n }\n }\n }\n}\n\nexport class Listeners<A extends unknown[] = []> {\n private readonly keyed = new KeyedListeners<null, A>();\n\n add(fn: (...a: A) => void): () => void {\n return this.keyed.add(null, fn);\n }\n\n emit(...a: A): void {\n this.keyed.emit(null, ...a);\n }\n}\n","import type { MessageRouter } from \"./message-router.js\";\nimport type { ClientMessage, OpKind } from \"./protocol.js\";\n\nexport const RPC_DEFAULT_TIMEOUT_MS = 30_000;\n\nexport function toVoid(promise: Promise<unknown>): Promise<void> {\n return promise.then(() => undefined);\n}\n\nexport interface IOpChannel {\n call(method: string, args?: unknown[]): Promise<unknown>;\n callVoid(method: string, args?: unknown[]): Promise<void>;\n}\n\nexport function opChannel(\n router: MessageRouter,\n kind: OpKind,\n timeoutMs: number = RPC_DEFAULT_TIMEOUT_MS,\n): IOpChannel {\n const call = (method: string, args: unknown[] = []): Promise<unknown> =>\n router.request((id) => ({ k: kind, id, method, args }) as ClientMessage, {\n timeoutMs,\n });\n return {\n call,\n callVoid: (method, args) => toVoid(call(method, args)),\n };\n}\n","import { Listeners } from \"./listeners.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { RPC_DEFAULT_TIMEOUT_MS, toVoid } from \"./op-channel.js\";\nimport type { WorkerInspectorInfo, WorkerMigrationState } from \"./protocol.js\";\n\nexport interface IWorkerAdminClient {\n info(): Promise<WorkerInspectorInfo>;\n restart(): Promise<void>;\n clearStorage(): Promise<void>;\n migrate(): Promise<void>;\n getMigrationState(): WorkerMigrationState;\n subscribeMigration(callback: () => void): () => void;\n}\n\n/** Worker lifecycle channel (info/restart/clearStorage/migrate) over the shared router. */\nexport function createWorkerAdminClient(\n router: MessageRouter,\n): IWorkerAdminClient {\n let migrationState: WorkerMigrationState = { status: \"idle\" };\n const migrationListeners = new Listeners();\n\n router.on(\"migration\", (msg) => {\n migrationState = msg.state;\n migrationListeners.emit();\n });\n\n const send = (\n method: \"info\" | \"restart\" | \"clearStorage\" | \"migrate\",\n ): Promise<unknown> =>\n router.request((id) => ({ k: \"admin\", id, method }), {\n timeoutMs: RPC_DEFAULT_TIMEOUT_MS,\n });\n\n return {\n info: () => send(\"info\") as Promise<WorkerInspectorInfo>,\n restart: () => toVoid(send(\"restart\")),\n clearStorage: () => toVoid(send(\"clearStorage\")),\n migrate: () => toVoid(send(\"migrate\")),\n getMigrationState: () => migrationState,\n subscribeMigration: (callback) => migrationListeners.add(callback),\n };\n}\n","import type { ErrorInfo } from \"./protocol.js\";\n\nconst MAX_STACK_LENGTH = 8 * 1024;\nconst MAX_CAUSE_DEPTH = 8;\n\nexport function toErrorInfo(err: unknown, depth = 0): ErrorInfo {\n if (depth > MAX_CAUSE_DEPTH) {\n return { name: \"Error\", message: \"cause chain truncated\" };\n }\n if (err instanceof Error) {\n const info: ErrorInfo = { name: err.name || \"Error\", message: err.message };\n if (typeof err.stack === \"string\") {\n info.stack =\n err.stack.length > MAX_STACK_LENGTH\n ? err.stack.slice(0, MAX_STACK_LENGTH)\n : err.stack;\n }\n if (err.cause !== undefined) {\n info.cause = toErrorInfo(err.cause, depth + 1);\n }\n return info;\n }\n if (typeof err === \"string\") {\n return { name: \"Error\", message: err };\n }\n if (err && typeof err === \"object\") {\n const record = err as { name?: unknown; message?: unknown };\n return {\n name: typeof record.name === \"string\" ? record.name : \"Error\",\n message:\n typeof record.message === \"string\"\n ? record.message\n : safeStringify(err),\n };\n }\n return { name: \"Error\", message: safeStringify(err) };\n}\n\nfunction safeStringify(value: unknown): string {\n if (value === null || value === undefined) {\n return String(value);\n }\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n ) {\n return String(value);\n }\n try {\n return JSON.stringify(value);\n } catch {\n return \"[unserializable]\";\n }\n}\n\nexport function fromErrorInfo(info: ErrorInfo): Error {\n const err = new Error(info.message);\n Object.defineProperty(err, \"name\", {\n value: info.name,\n configurable: true,\n writable: true,\n });\n if (info.stack !== undefined) {\n err.stack = info.stack;\n }\n if (info.cause !== undefined) {\n Object.defineProperty(err, \"cause\", {\n value: fromErrorInfo(info.cause),\n configurable: true,\n writable: true,\n });\n }\n return err;\n}\n","export type PageableResult = Record<string, unknown> & {\n next: () => Promise<unknown>;\n};\n\nexport type TokenizedPage = Record<string, unknown> & { nextToken: string };\n\nexport function isPageableResult(value: unknown): value is PageableResult {\n return (\n value !== null &&\n typeof value === \"object\" &&\n typeof (value as { next?: unknown }).next === \"function\"\n );\n}\n\nexport function hasNextToken(value: unknown): value is TokenizedPage {\n return (\n value !== null &&\n typeof value === \"object\" &&\n typeof (value as { nextToken?: unknown }).nextToken === \"string\"\n );\n}\n\nexport function dehydratePage(\n value: unknown,\n registerCursor: (next: () => Promise<unknown>) => string,\n): unknown {\n if (!isPageableResult(value)) {\n return value;\n }\n const { next, ...rest } = value;\n return { ...rest, nextToken: registerCursor(next) };\n}\n\nexport function rehydratePage(\n value: unknown,\n fetchPage: (token: string) => Promise<unknown>,\n): unknown {\n if (!hasNextToken(value)) {\n return value;\n }\n const { nextToken, ...rest } = value;\n return { ...rest, next: () => fetchPage(nextToken) };\n}\n","import type { MessageRouter } from \"./message-router.js\";\nimport type { ClientMessage, CorrelationId, OwnerMessage } from \"./protocol.js\";\n\nexport class SubscriptionStore {\n private readonly map = new Map<CorrelationId, () => void>();\n\n set(id: CorrelationId, unsubscribe: () => void): void {\n this.map.set(id, unsubscribe);\n }\n\n get(id: CorrelationId): (() => void) | undefined {\n return this.map.get(id);\n }\n\n delete(id: CorrelationId): void {\n this.map.delete(id);\n }\n\n end(id: CorrelationId): void {\n const unsubscribe = this.map.get(id);\n if (unsubscribe) {\n this.map.delete(id);\n unsubscribe();\n }\n }\n\n drain(): void {\n for (const unsubscribe of this.map.values()) {\n unsubscribe();\n }\n this.map.clear();\n }\n}\n\nexport interface ICorrelatedSubscriptions<Sub> {\n subscribe(sub: Sub, open: (id: CorrelationId) => ClientMessage): () => void;\n}\n\nexport interface CorrelatedConfig<\n Sub,\n EK extends OwnerMessage[\"k\"],\n ErrK extends OwnerMessage[\"k\"],\n> {\n idPrefix: string;\n eventKind: EK;\n errKind: ErrK;\n onEvent: (sub: Sub, message: Extract<OwnerMessage, { k: EK }>) => void;\n onError: (sub: Sub, message: Extract<OwnerMessage, { k: ErrK }>) => void;\n close: (id: CorrelationId) => ClientMessage;\n}\n\nexport function createCorrelatedSubscriptions<\n Sub,\n EK extends OwnerMessage[\"k\"],\n ErrK extends OwnerMessage[\"k\"],\n>(\n router: MessageRouter,\n config: CorrelatedConfig<Sub, EK, ErrK>,\n): ICorrelatedSubscriptions<Sub> {\n let counter = 0;\n const subs = new Map<CorrelationId, Sub>();\n\n router.on(config.eventKind, (message) => {\n const sub = subs.get((message as { id: CorrelationId }).id);\n if (sub) {\n config.onEvent(sub, message);\n }\n });\n router.on(config.errKind, (message) => {\n const id = (message as { id: CorrelationId }).id;\n const sub = subs.get(id);\n if (sub) {\n subs.delete(id);\n router.post(config.close(id));\n config.onError(sub, message);\n }\n });\n\n return {\n subscribe(sub, open) {\n const id: CorrelationId = `${config.idPrefix}${++counter}`;\n subs.set(id, sub);\n router.post(open(id));\n return () => {\n subs.delete(id);\n router.post(config.close(id));\n };\n },\n };\n}\n","import type {\n DocumentChangeEvent,\n IDocumentModelRegistry,\n IReactorClient,\n PagingOptions,\n SearchFilter,\n ViewFilter,\n} from \"@powerhousedao/reactor\";\nimport type { PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { normalizeDocumentModelVersion } from \"@powerhousedao/shared/document-model\";\nimport { fromErrorInfo } from \"./error-info.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { rehydratePage } from \"./paging.js\";\nimport { createCorrelatedSubscriptions } from \"./subscription.js\";\n\ntype Forwarder = (...args: unknown[]) => Promise<unknown>;\n\ntype ChangeCallback = (event: DocumentChangeEvent) => void;\n\nfunction isAbortSignal(value: unknown): value is AbortSignal {\n return (\n typeof value === \"object\" &&\n value !== null &&\n typeof (value as AbortSignal).aborted === \"boolean\" &&\n typeof (value as { addEventListener?: unknown }).addEventListener ===\n \"function\" &&\n // also require removeEventListener — call() attaches a listener it later detaches\n typeof (value as { removeEventListener?: unknown }).removeEventListener ===\n \"function\"\n );\n}\n\nexport type ReactorClientProxyOptions = {\n onReload?: (reason: string, workerGen?: string) => void;\n /** Tab-local registry for module lookups (reducers/editors can't cross the worker boundary). */\n registry?: IDocumentModelRegistry;\n};\n\nexport function createReactorClientProxy(\n router: MessageRouter,\n options: ReactorClientProxyOptions = {},\n): IReactorClient {\n const registry = options.registry;\n\n function fetchPage(token: string): Promise<unknown> {\n return router.request((id) => ({ k: \"page\", id, token }), {\n transform: rehydrate,\n });\n }\n\n function rehydrate(value: unknown): unknown {\n return rehydratePage(value, fetchPage);\n }\n\n const changeSubs = createCorrelatedSubscriptions<\n ChangeCallback,\n \"event\",\n \"sub-err\"\n >(router, {\n idPrefix: \"sub\",\n eventKind: \"event\",\n errKind: \"sub-err\",\n onEvent: (callback, msg) => callback(msg.change as DocumentChangeEvent),\n onError: (_callback, msg) =>\n console.error(\"Reactor subscription failed:\", fromErrorInfo(msg.error)),\n close: (id) => ({ k: \"unsub\", id }),\n });\n router.on(\"reload\", (msg) => {\n options.onReload?.(msg.reason, msg.workerGen);\n });\n\n const call = (method: string, args: unknown[]): Promise<unknown> => {\n let abortAt: number | undefined;\n for (let i = 0; i < args.length; i++) {\n if (isAbortSignal(args[i])) {\n abortAt = i;\n }\n }\n let wire = args;\n if (abortAt !== undefined) {\n wire = args.slice();\n wire[abortAt] = undefined;\n }\n return router.request(\n (id) => ({ k: \"req\", id, method, args: wire, abortAt }),\n {\n transform: rehydrate,\n setup: (id) => {\n if (abortAt === undefined) {\n return;\n }\n const signal = args[abortAt] as AbortSignal;\n const sendAbort = () => router.post({ k: \"abort\", targetId: id });\n if (signal.aborted) {\n sendAbort();\n return;\n }\n signal.addEventListener(\"abort\", sendAbort, { once: true });\n return () => signal.removeEventListener(\"abort\", sendAbort);\n },\n },\n );\n };\n\n const subscribe = (\n search: SearchFilter,\n callback: ChangeCallback,\n view?: ViewFilter,\n ): (() => void) =>\n changeSubs.subscribe(callback, (id) => ({ k: \"sub\", id, search, view }));\n\n const forwarders = new Map<string, Forwarder>();\n const forwarder = (method: string): Forwarder => {\n let fn = forwarders.get(method);\n if (!fn) {\n fn = (...args: unknown[]) => call(method, args);\n forwarders.set(method, fn);\n }\n return fn;\n };\n\n const drives = new Proxy(\n {},\n {\n get: (_target, prop) =>\n typeof prop === \"string\" ? forwarder(`drives.${prop}`) : undefined,\n },\n );\n\n const handler: ProxyHandler<Record<string, unknown>> = {\n get(_target, prop) {\n if (typeof prop !== \"string\" || prop === \"then\") {\n return undefined;\n }\n if (prop === \"drives\") {\n return drives;\n }\n if (prop === \"subscribe\") {\n return subscribe;\n }\n if (registry) {\n if (prop === \"getDocumentModelModule\") {\n return (documentType: string) =>\n Promise.resolve().then(() => registry.getModule(documentType));\n }\n if (prop === \"getDocumentModelModuleForDocument\") {\n return (document: PHDocument) =>\n Promise.resolve().then(() =>\n registry.getModule(\n document.header.documentType,\n normalizeDocumentModelVersion(\n (document.state as Partial<typeof document.state>).document\n ?.version,\n ),\n ),\n );\n }\n if (prop === \"getDocumentModelModules\") {\n return (_namespace?: string, paging?: PagingOptions) =>\n Promise.resolve({\n results: registry.getAllModules(),\n options: paging ?? { cursor: \"\", limit: Number.MAX_SAFE_INTEGER },\n });\n }\n }\n return forwarder(prop);\n },\n };\n\n return new Proxy({}, handler) as unknown as IReactorClient;\n}\n","import type { MessageRouter } from \"./message-router.js\";\nimport { opChannel } from \"./op-channel.js\";\n\nexport interface IInspectorProxy {\n getQueueState(): Promise<unknown>;\n pauseQueue(): Promise<void>;\n resumeQueue(): Promise<void>;\n getProcessors(): Promise<unknown>;\n retryProcessor(processorId: string): Promise<void>;\n validateDocument(documentId: string, branch?: string): Promise<unknown>;\n rebuildKeyframes(documentId: string, branch?: string): Promise<unknown>;\n rebuildSnapshots(documentId: string, branch?: string): Promise<unknown>;\n queryReactorDb(sql: string, params?: unknown[]): Promise<unknown>;\n}\n\nexport function createInspectorProxy(router: MessageRouter): IInspectorProxy {\n const ops = opChannel(router, \"inspector-op\");\n\n return {\n getQueueState: () => ops.call(\"queue.getState\"),\n pauseQueue: () => ops.callVoid(\"queue.pause\"),\n resumeQueue: () => ops.callVoid(\"queue.resume\"),\n getProcessors: () => ops.call(\"processors.getAll\"),\n retryProcessor: (processorId) =>\n ops.callVoid(\"processors.retry\", [processorId]),\n validateDocument: (documentId, branch) =>\n ops.call(\"integrity.validate\", [documentId, branch]),\n rebuildKeyframes: (documentId, branch) =>\n ops.call(\"integrity.rebuildKeyframes\", [documentId, branch]),\n rebuildSnapshots: (documentId, branch) =>\n ops.call(\"integrity.rebuildSnapshots\", [documentId, branch]),\n queryReactorDb: (sql, params) => ops.call(\"db.query\", [sql, params ?? []]),\n };\n}\n","export type CorrelationId = string;\n\nexport type ErrorInfo = {\n name: string;\n message: string;\n stack?: string;\n cause?: ErrorInfo;\n};\n\nexport type RpcRequest = {\n k: \"req\";\n id: CorrelationId;\n method: string;\n args: unknown[];\n abortAt?: number;\n};\n\nexport type RpcResponse = { k: \"res\"; id: CorrelationId; value: unknown };\n\nexport type RpcError = { k: \"err\"; id: CorrelationId; error: ErrorInfo };\n\n/** Failed document subscribe; routed to the change-subscription registry. */\nexport type RpcSubError = { k: \"sub-err\"; id: CorrelationId; error: ErrorInfo };\n\n/** Failed live query; routed to the live-query registry. */\nexport type RpcLiveError = {\n k: \"live-err\";\n id: CorrelationId;\n error: ErrorInfo;\n};\n\nexport type RpcAbort = { k: \"abort\"; targetId: CorrelationId };\n\nexport type RpcSubscribe = {\n k: \"sub\";\n id: CorrelationId;\n search: unknown;\n view?: unknown;\n};\n\nexport type RpcEvent = { k: \"event\"; id: CorrelationId; change: unknown };\n\nexport type RpcUnsub = { k: \"unsub\"; id: CorrelationId };\n\nexport type RpcNextPage = { k: \"page\"; id: CorrelationId; token: string };\n\n// Bumped when the tab<->owner wire protocol changes incompatibly; a tab whose\n// version differs from the owner's baseline is told to reload.\nexport const RPC_PROTOCOL_VERSION = 2;\n\nexport type VersionFingerprint = {\n appBuildId: string;\n rpcProtocolVersion: number;\n models: { id: string; version: number }[];\n};\n\nexport type RpcHello = {\n k: \"hello\";\n id: CorrelationId;\n version: VersionFingerprint;\n construct?: unknown;\n packages?: string[];\n};\n\nexport type RpcRegisterPackages = {\n k: \"register-packages\";\n id: CorrelationId;\n specs: string[];\n};\n\nexport type RpcUnregisterPackages = {\n k: \"unregister-packages\";\n id: CorrelationId;\n names: string[];\n};\n\n// `workerGen` (present on restart-driven reloads) is the new SharedWorker name\n// suffix every tab should adopt so they converge on one fresh worker.\nexport type RpcReload = { k: \"reload\"; reason: string; workerGen?: string };\n\n// Worker lifecycle/admin channel, separate from the IReactorClient RPC surface.\nexport type RpcAdmin = {\n k: \"admin\";\n id: CorrelationId;\n method: \"info\" | \"restart\" | \"clearStorage\" | \"migrate\";\n};\n\nexport type WorkerMigrationState = {\n status: \"idle\" | \"needed\" | \"migrating\" | \"failed\";\n legacyMajor?: number;\n phase?: \"clone\" | \"dump\" | \"restore\";\n error?: string;\n};\n\n// Owner -> tab push of the worker's migration state (initial seed on connect +\n// on every change), so tabs can drive the migration banner from one flag.\nexport type RpcMigration = { k: \"migration\"; state: WorkerMigrationState };\n\nexport type WorkerInspectorInfo = {\n namespace: string;\n ownerId: string;\n bootedAtMs: number;\n connectedClients: number;\n appBuildId: string;\n rpcProtocolVersion: number;\n};\n\n// Cloneable subset of renown's user (matches UserActionSigner); token minting + attribution.\nexport type ReactorIdentity = {\n address: string;\n chainId: number;\n networkId: string;\n};\n\nexport type RpcIdentity = { k: \"identity\"; user: ReactorIdentity | null };\n\n// Distributed EventBus: worker -> all tabs, fire-and-forget. `eventType` is a\n// reactor IEventBus numeric type; `event` is the (cloneable) payload.\nexport type RpcBusEvent = { k: \"bus-event\"; eventType: number; event: unknown };\n\nexport type OpKind = \"sync-op\" | \"db-op\" | \"inspector-op\";\n\nexport type MethodCallMessage<K extends OpKind> = {\n k: K;\n id: CorrelationId;\n method: string;\n args: unknown[];\n};\n\n// syncManager commands (add/remove/triggerPull/list); the reply value is the\n// reactor's RemoteMeta (its DriveCollectionId degrades to plain\n// {driveId,branch} over postMessage and is rehydrated tab-side).\nexport type RpcSyncOp = MethodCallMessage<\"sync-op\">;\n\nexport type RpcDbOp = MethodCallMessage<\"db-op\">;\n\nexport type RpcInspectorOp = MethodCallMessage<\"inspector-op\">;\n\nexport type RpcLiveSubscribe = {\n k: \"sub-live\";\n id: CorrelationId;\n sql: string;\n params: unknown[];\n};\n\nexport type RpcLiveEvent = {\n k: \"event-live\";\n id: CorrelationId;\n results: unknown;\n};\n\nexport type RpcLiveUnsub = { k: \"unsub-live\"; id: CorrelationId };\n\n// Liveness heartbeat. The tab pings; the owner answers synchronously (even\n// mid-build/mid-migration) so a silently-evicted worker is detectable. The pong\n// echoes ownerId/bootedAtMs so a respawned (different) instance is identifiable.\nexport type RpcPing = { k: \"ping\"; id: CorrelationId };\n\nexport type RpcPong = {\n k: \"pong\";\n id: CorrelationId;\n ownerId: string;\n bootedAtMs: number;\n};\n\nexport type ClientMessage =\n | RpcRequest\n | RpcAbort\n | RpcSubscribe\n | RpcUnsub\n | RpcNextPage\n | RpcHello\n | RpcRegisterPackages\n | RpcUnregisterPackages\n | RpcIdentity\n | RpcAdmin\n | RpcSyncOp\n | RpcDbOp\n | RpcInspectorOp\n | RpcLiveSubscribe\n | RpcLiveUnsub\n | RpcPing;\n\nexport type OwnerMessage =\n | RpcResponse\n | RpcError\n | RpcSubError\n | RpcLiveError\n | RpcEvent\n | RpcReload\n | RpcBusEvent\n | RpcLiveEvent\n | RpcMigration\n | RpcPong;\n\nexport type RpcMessage = ClientMessage | OwnerMessage;\n\n/** Error reply kind for a client message kind, so it reaches the right registry. */\nexport function responseErrorKind(\n k: ClientMessage[\"k\"],\n): \"err\" | \"sub-err\" | \"live-err\" {\n if (k === \"sub\") {\n return \"sub-err\";\n }\n if (k === \"sub-live\") {\n return \"live-err\";\n }\n return \"err\";\n}\n","import { toErrorInfo } from \"./error-info.js\";\nimport { responseErrorKind } from \"./protocol.js\";\nimport type { ClientMessage, CorrelationId, OwnerMessage } from \"./protocol.js\";\nimport type { IRpcTransport } from \"./transport.js\";\n\nexport interface IHostResponder {\n ok(id: CorrelationId, value?: unknown): void;\n err(id: CorrelationId, error: unknown): void;\n errForKind(message: ClientMessage, error: unknown): void;\n run(\n id: CorrelationId,\n body: () => Promise<unknown>,\n mapOk?: (value: unknown) => unknown,\n ): Promise<void>;\n}\n\nconst defaultOk = (): unknown => ({ ok: true });\n\nexport function hostResponder(transport: IRpcTransport): IHostResponder {\n const ok = (id: CorrelationId, value: unknown = { ok: true }): void => {\n transport.post({ k: \"res\", id, value });\n };\n const err = (id: CorrelationId, error: unknown): void => {\n transport.post({ k: \"err\", id, error: toErrorInfo(error) });\n };\n return {\n ok,\n err,\n errForKind(message, error) {\n if (!(\"id\" in message)) {\n return;\n }\n transport.post({\n k: responseErrorKind(message.k),\n id: message.id,\n error: toErrorInfo(error),\n } as OwnerMessage);\n },\n async run(id, body, mapOk = defaultOk) {\n try {\n ok(id, mapOk(await body()));\n } catch (error) {\n err(id, error);\n }\n },\n };\n}\n","import { fromErrorInfo } from \"./error-info.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { createCorrelatedSubscriptions } from \"./subscription.js\";\n\nexport type LiveQueryResultsCallback = (results: unknown) => void;\nexport type LiveQueryErrorCallback = (error: unknown) => void;\n\nexport interface ILiveQueryProxy {\n query(\n sql: string,\n params: unknown[],\n onResults: LiveQueryResultsCallback,\n onError?: LiveQueryErrorCallback,\n ): () => void;\n}\n\ntype LiveSubscriber = {\n onResults: LiveQueryResultsCallback;\n onError?: LiveQueryErrorCallback;\n};\n\nexport function createLiveQueryProxy(router: MessageRouter): ILiveQueryProxy {\n const subs = createCorrelatedSubscriptions<\n LiveSubscriber,\n \"event-live\",\n \"live-err\"\n >(router, {\n idPrefix: \"live\",\n eventKind: \"event-live\",\n errKind: \"live-err\",\n onEvent: (sub, msg) => sub.onResults(msg.results),\n onError: (sub, msg) => sub.onError?.(fromErrorInfo(msg.error)),\n close: (id) => ({ k: \"unsub-live\", id }),\n });\n\n return {\n query(sql, params, onResults, onError) {\n return subs.subscribe({ onResults, onError }, (id) => ({\n k: \"sub-live\",\n id,\n sql,\n params,\n }));\n },\n };\n}\n","import type { PGliteWithLive } from \"@electric-sql/pglite/live\";\nimport { createLiveQueryProxy } from \"./live-query-proxy.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { opChannel } from \"./op-channel.js\";\n\nexport function createRelationalPgliteProxy(\n router: MessageRouter,\n): PGliteWithLive {\n const ops = opChannel(router, \"db-op\");\n const liveProxy = createLiveQueryProxy(router);\n\n const proxy = {\n query: async (sql: string, params?: unknown[]) => {\n const rows = await ops.call(\"query\", [sql, params ?? []]);\n return { rows };\n },\n live: {\n query: (\n sql: string,\n params: unknown[] | null | undefined,\n callback?: (results: unknown) => void,\n ) =>\n new Promise((resolve, reject) => {\n // Settle on the first result/error so a subscribe failure reaches the caller's retry path.\n let settled = false;\n const unsubscribe = liveProxy.query(\n sql,\n params ?? [],\n (results) => {\n if (!settled) {\n settled = true;\n resolve({ unsubscribe });\n }\n callback?.(results);\n },\n (error) => {\n if (!settled) {\n settled = true;\n reject(\n error instanceof Error ? error : new Error(String(error)),\n );\n }\n },\n );\n }),\n },\n };\n\n return proxy as unknown as PGliteWithLive;\n}\n","import {\n DriveCollectionId,\n SyncEventTypes,\n type ChannelConfig,\n type ConnectionStateChangeCallback,\n type ConnectionStateChangedEvent,\n type ConnectionStateSnapshot,\n type IChannel,\n type IEventBus,\n type IMailbox,\n type ISyncManager,\n type Remote,\n type RemoteFilter,\n type RemoteMeta,\n type RemoteOptions,\n type ShutdownStatus,\n type SyncOperation,\n type SyncStatus,\n type SyncStatusChangeCallback,\n} from \"@powerhousedao/reactor\";\nimport { KeyedListeners, Listeners } from \"./listeners.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { opChannel, type IOpChannel } from \"./op-channel.js\";\n\n// Synthetic bus channel id for sync-status deltas (not a reactor IEventBus type).\nexport const SYNC_STATUS_CHANGED_EVENT = 90001;\n\nexport type SyncStatusChangedBusEvent = {\n documentId: string;\n status: SyncStatus;\n};\n\nconst SEED_MAX_ATTEMPTS = 3;\nconst SEED_RETRY_DELAY_MS = 500;\n\n// Wire shapes: DriveCollectionId arrives prototype-less over postMessage.\ntype WireDriveCollectionId = { driveId: string; branch: string };\ntype WireRemoteMeta = {\n id: string;\n name: string;\n collectionId: WireDriveCollectionId;\n channelConfig: ChannelConfig;\n filter: RemoteFilter;\n options: RemoteOptions;\n};\ntype WireRemote = {\n meta: WireRemoteMeta;\n connectionState: ConnectionStateSnapshot;\n};\n\nconst DEFAULT_SNAPSHOT: ConnectionStateSnapshot = {\n state: \"connecting\",\n failureCount: 0,\n lastSuccessUtcMs: 0,\n lastFailureUtcMs: 0,\n pushBlocked: false,\n pushFailureCount: 0,\n receivingPages: false,\n requiresAuth: false,\n};\n\n// Inert mailbox: a proxy remote carries no live sync operations tab-side.\nclass NoopMailbox implements IMailbox {\n get items(): readonly SyncOperation[] {\n return [];\n }\n get ackOrdinal(): number {\n return 0;\n }\n get latestOrdinal(): number {\n return 0;\n }\n init(): void {}\n advanceOrdinal(): void {}\n get(): undefined {\n return undefined;\n }\n add(): void {}\n remove(): void {}\n onAdded(): void {}\n onRemoved(): void {}\n pause(): void {}\n resume(): void {}\n flush(): void {}\n isPaused(): boolean {\n return false;\n }\n}\n\nconst NOOP_MAILBOX = new NoopMailbox();\n\nfunction rehydrateMeta(wire: WireRemoteMeta): RemoteMeta {\n return {\n id: wire.id,\n name: wire.name,\n collectionId: DriveCollectionId.forDrive(\n wire.collectionId.driveId,\n wire.collectionId.branch,\n ),\n channelConfig: wire.channelConfig,\n filter: wire.filter,\n options: wire.options,\n };\n}\n\nfunction channelUrl(meta: RemoteMeta): string | undefined {\n const url = meta.channelConfig.parameters.url;\n return typeof url === \"string\" ? url : undefined;\n}\n\n// Tab-side ISyncManager: cache-backed reads fed by the bus, ops over sync-op RPC.\nexport class SyncManagerProxy implements ISyncManager {\n private readonly ops: IOpChannel;\n private readonly connectionStates = new Map<\n string,\n ConnectionStateSnapshot\n >();\n private readonly connectionListeners = new KeyedListeners<string>();\n private readonly syncStatuses = new Map<string, SyncStatus>();\n private readonly syncStatusListeners = new Listeners<[string, SyncStatus]>();\n private remotes: Remote[] = [];\n private seedPromise: Promise<void> | null = null;\n\n constructor(router: MessageRouter, busProxy: IEventBus) {\n this.ops = opChannel(router, \"sync-op\");\n\n busProxy.subscribe(\n SyncEventTypes.CONNECTION_STATE_CHANGED,\n (_type, event) => {\n const e = event as ConnectionStateChangedEvent;\n this.connectionStates.set(e.remoteName, e.snapshot);\n this.notifyConnection(e.remoteName);\n },\n );\n\n busProxy.subscribe(SYNC_STATUS_CHANGED_EVENT, (_type, event) => {\n const e = event as SyncStatusChangedBusEvent;\n this.syncStatuses.set(e.documentId, e.status);\n this.syncStatusListeners.emit(e.documentId, e.status);\n });\n\n void this.ensureSeeded();\n }\n\n async startup(): Promise<void> {\n let lastError: unknown;\n for (let attempt = 0; attempt < SEED_MAX_ATTEMPTS; attempt++) {\n try {\n await this.ensureSeeded();\n return;\n } catch (error) {\n lastError = error;\n if (attempt < SEED_MAX_ATTEMPTS - 1) {\n await new Promise((resolve) =>\n setTimeout(resolve, SEED_RETRY_DELAY_MS),\n );\n }\n }\n }\n throw lastError;\n }\n\n shutdown(): ShutdownStatus {\n return { isShutdown: true, completed: Promise.resolve() };\n }\n\n getByName(name: string): Remote {\n const remote = this.remotes.find((r) => r.meta.name === name);\n if (!remote) {\n throw new Error(`Unknown remote: ${name}`);\n }\n return remote;\n }\n\n getById(id: string): Remote {\n const remote = this.remotes.find((r) => r.meta.id === id);\n if (!remote) {\n throw new Error(`Unknown remote id: ${id}`);\n }\n return remote;\n }\n\n async add(\n name: string,\n collectionId: DriveCollectionId,\n channelConfig: ChannelConfig,\n filter?: RemoteFilter,\n options?: RemoteOptions,\n ): Promise<Remote> {\n await this.callSyncOp(\"add\", [\n name,\n collectionId.key,\n channelConfig,\n filter,\n options,\n ]);\n await this.refreshRemotes();\n return this.getByName(name);\n }\n\n triggerPull(name: string): void {\n this.callSyncOp(\"triggerPull\", [name]).catch((error: unknown) => {\n console.error(`triggerPull failed for remote \"${name}\":`, error);\n });\n }\n\n async remove(name: string): Promise<void> {\n await this.callSyncOp(\"remove\", [name]);\n await this.refreshRemotes();\n }\n\n list(): Remote[] {\n return [...this.remotes];\n }\n\n waitForSync(): Promise<never> {\n return Promise.reject(\n new Error(\"waitForSync is not supported over the worker RPC boundary\"),\n );\n }\n\n getSyncStatus(documentId: string): SyncStatus | undefined {\n return this.syncStatuses.get(documentId);\n }\n\n onSyncStatusChange(callback: SyncStatusChangeCallback): () => void {\n return this.syncStatusListeners.add(callback);\n }\n\n private callSyncOp(method: string, args: unknown[]): Promise<unknown> {\n return this.ops.call(method, args);\n }\n\n private notifyConnection(remoteName?: string): void {\n if (remoteName !== undefined) {\n this.connectionListeners.emit(remoteName);\n return;\n }\n this.connectionListeners.emitAll();\n }\n\n private makeChannel(remoteName: string, url: string | undefined): IChannel {\n const channel: IChannel & { config: { url?: string } } = {\n inbox: NOOP_MAILBOX,\n outbox: NOOP_MAILBOX,\n deadLetter: NOOP_MAILBOX,\n init: () => Promise.resolve(),\n shutdown: () => Promise.resolve(),\n getConnectionState: () =>\n this.connectionStates.get(remoteName) ?? DEFAULT_SNAPSHOT,\n onConnectionStateChange: (callback: ConnectionStateChangeCallback) => {\n const listener = () =>\n callback(this.connectionStates.get(remoteName) ?? DEFAULT_SNAPSHOT);\n return this.connectionListeners.add(remoteName, listener);\n },\n\n triggerPull: () => {\n this.callSyncOp(\"triggerPull\", [remoteName]).catch((error: unknown) => {\n console.error(\n `triggerPull failed for remote \"${remoteName}\":`,\n error,\n );\n });\n },\n config: { url },\n };\n return channel;\n }\n\n private async refreshRemotes(): Promise<void> {\n const wire = (await this.callSyncOp(\"list\", [])) as WireRemote[];\n const names = new Set<string>();\n this.remotes = wire.map((w) => {\n const meta = rehydrateMeta(w.meta);\n names.add(meta.name);\n if (!this.connectionStates.has(meta.name)) {\n this.connectionStates.set(meta.name, w.connectionState);\n }\n return { meta, channel: this.makeChannel(meta.name, channelUrl(meta)) };\n });\n for (const name of [...this.connectionStates.keys()]) {\n if (!names.has(name)) {\n this.connectionStates.delete(name);\n }\n }\n this.notifyConnection();\n }\n\n // Shared in-flight seed so the eager kick-off and startup() share one list RPC.\n private ensureSeeded(): Promise<void> {\n if (!this.seedPromise) {\n const pending = this.refreshRemotes();\n this.seedPromise = pending;\n\n pending.catch(() => {\n if (this.seedPromise === pending) {\n this.seedPromise = null;\n }\n });\n }\n return this.seedPromise;\n }\n}\n\nexport function createSyncManagerProxy(\n router: MessageRouter,\n busProxy: IEventBus,\n): ISyncManager {\n return new SyncManagerProxy(router, busProxy);\n}\n","import { ReactorEventTypes, SyncEventTypes } from \"@powerhousedao/reactor\";\nimport { SYNC_STATUS_CHANGED_EVENT } from \"./sync-manager-proxy.js\";\n\nexport const FORWARDED_EVENT_TYPES = [\n SyncEventTypes.SYNC_PENDING,\n SyncEventTypes.SYNC_SUCCEEDED,\n SyncEventTypes.SYNC_FAILED,\n SyncEventTypes.DEAD_LETTER_ADDED,\n SyncEventTypes.CONNECTION_STATE_CHANGED,\n ReactorEventTypes.MODEL_LOADED,\n];\n\nexport const FORWARDED_BUS_EVENT_TYPES: number[] = [\n ...FORWARDED_EVENT_TYPES,\n SYNC_STATUS_CHANGED_EVENT,\n];\n","import type { IEventBus, Unsubscribe } from \"@powerhousedao/reactor\";\nimport { FORWARDED_BUS_EVENT_TYPES } from \"./forwarded-events.js\";\nimport { KeyedListeners } from \"./listeners.js\";\nimport type { MessageRouter } from \"./message-router.js\";\n\ntype BusSubscriber = (type: number, event: unknown) => void | Promise<void>;\n\n/** Tab-side IEventBus over bus-event; emit() is unsupported (the worker emits). */\nexport class ReactorEventBusProxy implements IEventBus {\n private readonly forwardedTypes = new Set<number>(FORWARDED_BUS_EVENT_TYPES);\n private readonly subscribers = new KeyedListeners<\n number,\n [number, unknown]\n >();\n\n constructor(router: MessageRouter) {\n router.on(\"bus-event\", (msg) => {\n this.subscribers.emit(msg.eventType, msg.eventType, msg.event);\n });\n }\n\n subscribe<K>(\n type: number,\n subscriber: (type: number, event: K) => void | Promise<void>,\n ): Unsubscribe {\n if (!this.forwardedTypes.has(type)) {\n throw new Error(\n `ReactorEventBusProxy cannot subscribe to event type ${type}: the worker forwards only [${[...this.forwardedTypes].join(\", \")}]`,\n );\n }\n const entry = subscriber as BusSubscriber;\n return this.subscribers.add(\n type,\n entry as (eventType: number, event: unknown) => void,\n );\n }\n\n emit(): Promise<void> {\n return Promise.reject(\n new Error(\n \"EventBus.emit is not supported tab-side; the reactor graph emits in the worker\",\n ),\n );\n }\n}\n\nexport function createReactorEventBusProxy(router: MessageRouter): IEventBus {\n return new ReactorEventBusProxy(router);\n}\n","import type {\n IDocumentModelRegistry,\n IReactorClient,\n} from \"@powerhousedao/reactor\";\nimport { createReactorClientProxy } from \"./client-proxy.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport type { ReactorIdentity, VersionFingerprint } from \"./protocol.js\";\n\nexport type ReactorHello = {\n version: VersionFingerprint;\n construct?: unknown;\n packages?: string[];\n};\n\nexport function connectReactorClient(\n router: MessageRouter,\n hello: ReactorHello,\n onReload?: (reason: string, workerGen?: string) => void,\n registry?: IDocumentModelRegistry,\n): IReactorClient {\n const client = createReactorClientProxy(router, { onReload, registry });\n router.post({\n k: \"hello\",\n id: \"hello\",\n version: hello.version,\n construct: hello.construct,\n packages: hello.packages,\n });\n return client;\n}\n\n// Push the current renown identity (null on logout) to the worker; re-send on login/logout.\nexport function postReactorIdentity(\n router: MessageRouter,\n user: ReactorIdentity | null,\n): void {\n router.post({ k: \"identity\", user });\n}\n","import type {\n DocumentChangeEvent,\n IReactorClient,\n SearchFilter,\n ViewFilter,\n} from \"@powerhousedao/reactor\";\nimport { hostResponder, type IHostResponder } from \"./host-reply.js\";\nimport { dehydratePage } from \"./paging.js\";\nimport { SubscriptionStore } from \"./subscription.js\";\nimport type {\n ClientMessage,\n RpcNextPage,\n RpcRequest,\n RpcSubscribe,\n} from \"./protocol.js\";\nimport type { IRpcTransport } from \"./transport.js\";\n\ntype AnyMethod = (...args: unknown[]) => unknown;\ntype NextPage = () => Promise<unknown>;\n\n// Bound the page-continuation cache; an evicted token falls back to the \"expired cursor\" error.\nconst MAX_PENDING_PAGES = 1000;\n\nexport class ReactorHostServer {\n private readonly client: IReactorClient;\n private readonly transport: IRpcTransport;\n private readonly reply: IHostResponder;\n private readonly aborters = new Map<string, AbortController>();\n private readonly subscriptions = new SubscriptionStore();\n private readonly pages = new Map<string, NextPage>();\n private pageCounter = 0;\n private detach: () => void = () => {};\n\n constructor(client: IReactorClient, transport: IRpcTransport) {\n this.client = client;\n this.transport = transport;\n this.reply = hostResponder(transport);\n }\n\n start(): void {\n this.detach = this.transport.onMessage((message) => {\n void this.handleMessage(message as ClientMessage);\n });\n }\n\n stop(): void {\n this.detach();\n this.subscriptions.drain();\n this.aborters.clear();\n this.pages.clear();\n }\n\n async handleMessage(message: ClientMessage): Promise<void> {\n try {\n switch (message.k) {\n case \"req\":\n await this.handleRequest(message);\n return;\n case \"page\":\n await this.handlePage(message);\n return;\n case \"abort\":\n this.aborters.get(message.targetId)?.abort();\n return;\n case \"sub\":\n this.handleSubscribe(message);\n return;\n case \"unsub\":\n this.subscriptions.end(message.id);\n return;\n }\n } catch (error) {\n this.reply.errForKind(message, error);\n }\n }\n\n private async handleRequest(message: RpcRequest): Promise<void> {\n let args = message.args;\n let controller: AbortController | undefined;\n if (message.abortAt !== undefined) {\n controller = new AbortController();\n this.aborters.set(message.id, controller);\n args = message.args.slice();\n args[message.abortAt] = controller.signal;\n }\n try {\n const method = this.resolveMethod(message.method);\n const value = await method(...args);\n this.reply.ok(message.id, this.prepareResult(value));\n } catch (error) {\n this.reply.err(message.id, error);\n } finally {\n if (controller) {\n this.aborters.delete(message.id);\n }\n }\n }\n\n private async handlePage(message: RpcNextPage): Promise<void> {\n const next = this.pages.get(message.token);\n this.pages.delete(message.token);\n if (!next) {\n this.reply.err(\n message.id,\n new Error(\"Paged cursor already consumed or expired\"),\n );\n return;\n }\n try {\n const value = await next();\n this.reply.ok(message.id, this.prepareResult(value));\n } catch (error) {\n this.reply.err(message.id, error);\n }\n }\n\n private handleSubscribe(message: RpcSubscribe): void {\n const unsubscribe = this.client.subscribe(\n message.search as SearchFilter,\n (change: DocumentChangeEvent) =>\n this.transport.post({ k: \"event\", id: message.id, change }),\n message.view as ViewFilter | undefined,\n );\n this.subscriptions.set(message.id, unsubscribe);\n }\n\n private prepareResult(value: unknown): unknown {\n return dehydratePage(value, (next) => {\n const token = `p${++this.pageCounter}`;\n this.pages.set(token, next);\n if (this.pages.size > MAX_PENDING_PAGES) {\n const oldest = this.pages.keys().next().value;\n if (oldest !== undefined) {\n this.pages.delete(oldest);\n }\n }\n return token;\n });\n }\n\n private resolveMethod(path: string): AnyMethod {\n if (path.startsWith(\"drives.\")) {\n const name = path.slice(\"drives.\".length);\n const drives = this.client.drives as unknown as Record<string, AnyMethod>;\n const fn = drives[name];\n if (typeof fn !== \"function\") {\n throw new Error(`Unknown drive method: ${name}`);\n }\n return fn.bind(this.client.drives);\n }\n const client = this.client as unknown as Record<string, AnyMethod>;\n const fn = client[path];\n if (typeof fn !== \"function\") {\n throw new Error(`Unknown reactor method: ${path}`);\n }\n return fn.bind(this.client);\n }\n}\n","import type { RpcMessage } from \"./protocol.js\";\n\nexport interface IRpcTransport {\n post(message: RpcMessage): void;\n onMessage(listener: (message: RpcMessage) => void): () => void;\n close(): void;\n}\n\nexport function createPortTransport(port: MessagePort): IRpcTransport {\n port.start();\n port.addEventListener(\"messageerror\", (event) => {\n console.error(\"[rpc transport] failed to deserialize message\", event);\n });\n return {\n post(message) {\n port.postMessage(message);\n },\n onMessage(listener) {\n const handler = (event: MessageEvent) => {\n listener(event.data as RpcMessage);\n };\n port.addEventListener(\"message\", handler);\n return () => port.removeEventListener(\"message\", handler);\n },\n close() {\n port.close();\n },\n };\n}\n","import type { IReactorClient } from \"@powerhousedao/reactor\";\nimport { hostResponder, type IHostResponder } from \"./host-reply.js\";\nimport { ReactorHostServer } from \"./host-server.js\";\nimport { SubscriptionStore } from \"./subscription.js\";\nimport type {\n ClientMessage,\n CorrelationId,\n ReactorIdentity,\n RpcAdmin,\n RpcDbOp,\n RpcHello,\n RpcInspectorOp,\n RpcLiveSubscribe,\n RpcRegisterPackages,\n RpcSyncOp,\n RpcUnregisterPackages,\n VersionFingerprint,\n WorkerInspectorInfo,\n WorkerMigrationState,\n} from \"./protocol.js\";\nimport { RPC_PROTOCOL_VERSION } from \"./protocol.js\";\nimport { createPortTransport, type IRpcTransport } from \"./transport.js\";\n\nfunction isDataMessage(\n msg: ClientMessage,\n): msg is ClientMessage & { id: CorrelationId } {\n return (\n msg.k === \"req\" ||\n msg.k === \"sub\" ||\n msg.k === \"page\" ||\n msg.k === \"sync-op\" ||\n msg.k === \"db-op\" ||\n msg.k === \"inspector-op\" ||\n msg.k === \"sub-live\"\n );\n}\n\nexport type ReactorHostOptions = {\n client?: IReactorClient;\n build?: (construct: unknown) => Promise<IReactorClient>;\n registerPackages?: (specs: string[]) => Promise<void>;\n unregisterPackages?: (names: string[]) => Promise<void>;\n onIdentity?: (user: ReactorIdentity | null) => void;\n onSyncOp?: (method: string, args: unknown[]) => Promise<unknown>;\n onDbOp?: (method: string, args: unknown[]) => Promise<unknown>;\n onInspectorOp?: (method: string, args: unknown[]) => Promise<unknown>;\n onLiveQuery?: (\n sql: string,\n params: unknown[],\n onResults: (results: unknown) => void,\n ) => Promise<() => void>;\n // Worker identity + restart for the admin/inspector channel.\n namespace?: string;\n appBuildId?: string;\n ownerId?: string;\n bootedAtMs?: number;\n onAdminRestart?: () => void;\n onAdminClearStorage?: () => Promise<void>;\n onAdminMigrate?: () => Promise<void>;\n};\n\nfunction versionsCompatible(\n a: VersionFingerprint,\n b: VersionFingerprint,\n): boolean {\n return (\n a.appBuildId === b.appBuildId &&\n a.rpcProtocolVersion === b.rpcProtocolVersion\n );\n}\n\n// Deterministic per version so every new-build tab converges on one fresh worker.\nfunction workerGenForVersion(version: VersionFingerprint): string {\n return `v${version.rpcProtocolVersion}-${version.appBuildId}`;\n}\n\nexport class ReactorHost {\n private readonly options: ReactorHostOptions;\n private readonly disposers = new Set<() => void>();\n private readonly clients = new Set<IRpcTransport>();\n private clientPromise: Promise<IReactorClient> | null = null;\n private baseline: VersionFingerprint | null = null;\n private readonly ownerId: string;\n private readonly bootedAtMs: number;\n private migrationState: WorkerMigrationState | null = null;\n\n constructor(options: ReactorHostOptions) {\n this.options = options;\n this.ownerId = options.ownerId ?? crypto.randomUUID();\n this.bootedAtMs = options.bootedAtMs ?? Date.now();\n if (options.client) {\n this.clientPromise = Promise.resolve(options.client);\n }\n }\n\n connect(transport: IRpcTransport): () => void {\n let server: ReactorHostServer | null = null;\n let ready = false;\n const buffer: ClientMessage[] = [];\n const liveSubs = new SubscriptionStore();\n const reply = hostResponder(transport);\n\n const ensureServer = async (construct?: unknown): Promise<void> => {\n if (server) {\n return;\n }\n const client = await this.resolveClient(construct);\n server = new ReactorHostServer(client, transport);\n };\n\n // Drain only after init (server + package registration) completes, in order.\n // Messages arriving mid-drain stay buffered (ready flips last) so order holds.\n const drainBuffer = async (): Promise<void> => {\n while (buffer.length > 0) {\n const message = buffer.shift()!;\n await server!.handleMessage(message);\n }\n ready = true;\n };\n\n const detach = transport.onMessage((message) => {\n const msg = message as ClientMessage;\n if (msg.k === \"ping\") {\n transport.post({\n k: \"pong\",\n id: msg.id,\n ownerId: this.ownerId,\n bootedAtMs: this.bootedAtMs,\n });\n return;\n }\n if (this.migrationState?.status === \"migrating\" && isDataMessage(msg)) {\n // Route the rejection to the kind's owner (sub -> sub-err, etc.).\n reply.errForKind(msg, new Error(\"migration in progress\"));\n return;\n }\n if (msg.k === \"hello\") {\n void this.handleHello(msg, transport, reply, ensureServer, drainBuffer);\n return;\n }\n if (msg.k === \"register-packages\") {\n void this.handleRegister(msg, reply);\n return;\n }\n if (msg.k === \"unregister-packages\") {\n void this.handleUnregister(msg, reply);\n return;\n }\n if (msg.k === \"identity\") {\n this.options.onIdentity?.(msg.user);\n return;\n }\n if (msg.k === \"sync-op\") {\n void this.handleOp(msg, this.options.onSyncOp, \"sync\", reply);\n return;\n }\n if (msg.k === \"db-op\") {\n void this.handleOp(msg, this.options.onDbOp, \"db\", reply);\n return;\n }\n if (msg.k === \"inspector-op\") {\n void this.handleOp(msg, this.options.onInspectorOp, \"inspector\", reply);\n return;\n }\n if (msg.k === \"sub-live\") {\n void this.handleLiveSubscribe(msg, transport, reply, liveSubs);\n return;\n }\n if (msg.k === \"unsub-live\") {\n liveSubs.end(msg.id);\n return;\n }\n if (msg.k === \"admin\") {\n this.handleAdmin(msg, reply);\n return;\n }\n if (ready && server) {\n void server.handleMessage(msg);\n } else {\n buffer.push(msg);\n }\n });\n\n this.clients.add(transport);\n if (this.migrationState) {\n transport.post({ k: \"migration\", state: this.migrationState });\n }\n if (this.options.client) {\n void ensureServer()\n .then(drainBuffer)\n .catch((error) => {\n console.error(\"ReactorHost buffer drain failed\", error);\n });\n }\n\n const dispose = () => {\n server?.stop();\n detach();\n liveSubs.drain();\n this.clients.delete(transport);\n this.disposers.delete(dispose);\n };\n this.disposers.add(dispose);\n return dispose;\n }\n\n connectPort(port: MessagePort): () => void {\n return this.connect(createPortTransport(port));\n }\n\n // Fan out a reactor bus event to every connected tab, fire-and-forget.\n broadcastBusEvent(eventType: number, event: unknown): void {\n for (const transport of this.clients) {\n transport.post({ k: \"bus-event\", eventType, event });\n }\n }\n\n // Tell every connected tab to reload; `workerGen` makes them adopt one fresh worker name.\n broadcastReload(reason: string, workerGen?: string): void {\n for (const transport of this.clients) {\n transport.post({ k: \"reload\", reason, workerGen });\n }\n }\n\n // Cache + fan out the worker's migration state so tabs drive the banner from it.\n setMigrationState(state: WorkerMigrationState): void {\n this.migrationState = state;\n for (const transport of this.clients) {\n transport.post({ k: \"migration\", state });\n }\n }\n\n get connectionCount(): number {\n return this.disposers.size;\n }\n\n private handleAdmin(message: RpcAdmin, reply: IHostResponder): void {\n if (message.method === \"restart\") {\n this.options.onAdminRestart?.();\n reply.ok(message.id);\n return;\n }\n if (message.method === \"clearStorage\") {\n void this.handleAdminAsync(\n this.options.onAdminClearStorage,\n message,\n reply,\n );\n return;\n }\n if (message.method === \"migrate\") {\n void this.handleAdminAsync(this.options.onAdminMigrate, message, reply);\n return;\n }\n const info: WorkerInspectorInfo = {\n namespace: this.options.namespace ?? \"\",\n ownerId: this.ownerId,\n bootedAtMs: this.bootedAtMs,\n connectedClients: this.connectionCount,\n appBuildId:\n this.baseline?.appBuildId ?? this.options.appBuildId ?? \"unknown\",\n rpcProtocolVersion:\n this.baseline?.rpcProtocolVersion ?? RPC_PROTOCOL_VERSION,\n };\n reply.ok(message.id, info);\n }\n\n private async handleAdminAsync(\n handler: (() => Promise<void>) | undefined,\n message: RpcAdmin,\n reply: IHostResponder,\n ): Promise<void> {\n await reply.run(message.id, async () => {\n await handler?.();\n });\n }\n\n private resolveClient(construct?: unknown): Promise<IReactorClient> {\n if (!this.clientPromise) {\n const build = this.options.build;\n if (!build) {\n return Promise.reject(\n new Error(\"ReactorHost has no client or builder\"),\n );\n }\n const pending = build(construct);\n this.clientPromise = pending;\n pending.catch(() => {\n if (this.clientPromise === pending) {\n this.clientPromise = null;\n }\n });\n }\n return this.clientPromise;\n }\n\n private async awaitClientReady(): Promise<void> {\n if (this.clientPromise) {\n await this.clientPromise;\n }\n }\n\n private requireHandler<T>(\n handler: T | undefined,\n message: ClientMessage,\n reply: IHostResponder,\n label: string,\n ): handler is T {\n if (handler) {\n return true;\n }\n reply.errForKind(message, new Error(`ReactorHost has no ${label} handler`));\n return false;\n }\n\n private async handleHello(\n message: RpcHello,\n transport: IRpcTransport,\n reply: IHostResponder,\n ensureServer: (construct?: unknown) => Promise<void>,\n drainBuffer: () => Promise<void>,\n ): Promise<void> {\n if (this.baseline) {\n if (!versionsCompatible(this.baseline, message.version)) {\n transport.post({\n k: \"reload\",\n reason: \"reactor version mismatch\",\n workerGen: workerGenForVersion(message.version),\n });\n reply.ok(message.id, { ok: false });\n return;\n }\n } else {\n this.baseline = message.version;\n }\n await reply.run(message.id, async () => {\n await ensureServer(message.construct);\n if (message.packages && message.packages.length > 0) {\n await this.options.registerPackages?.(message.packages);\n }\n // Packages are registered; replay buffered data messages in order.\n await drainBuffer();\n });\n }\n\n private async handleRegister(\n message: RpcRegisterPackages,\n reply: IHostResponder,\n ): Promise<void> {\n await reply.run(message.id, async () => {\n await this.options.registerPackages?.(message.specs);\n });\n }\n\n private async handleUnregister(\n message: RpcUnregisterPackages,\n reply: IHostResponder,\n ): Promise<void> {\n await reply.run(message.id, async () => {\n await this.options.unregisterPackages?.(message.names);\n });\n }\n\n private async handleOp(\n message: RpcSyncOp | RpcDbOp | RpcInspectorOp,\n handler:\n | ((method: string, args: unknown[]) => Promise<unknown>)\n | undefined,\n label: string,\n reply: IHostResponder,\n ): Promise<void> {\n if (!this.requireHandler(handler, message, reply, label)) {\n return;\n }\n await reply.run(\n message.id,\n async () => {\n await this.awaitClientReady();\n return handler(message.method, message.args);\n },\n (value) => value,\n );\n }\n\n private async handleLiveSubscribe(\n message: RpcLiveSubscribe,\n transport: IRpcTransport,\n reply: IHostResponder,\n liveSubs: SubscriptionStore,\n ): Promise<void> {\n const handler = this.options.onLiveQuery;\n if (!this.requireHandler(handler, message, reply, \"live-query\")) {\n return;\n }\n const placeholder = () => undefined;\n liveSubs.set(message.id, placeholder);\n try {\n await this.awaitClientReady();\n const unsubscribe = await handler(\n message.sql,\n message.params,\n (results) => {\n transport.post({ k: \"event-live\", id: message.id, results });\n },\n );\n // unsub-live raced ahead during the await: tear down, don't leak.\n if (liveSubs.get(message.id) !== placeholder) {\n unsubscribe();\n return;\n }\n liveSubs.set(message.id, unsubscribe);\n } catch (error) {\n if (liveSubs.get(message.id) === placeholder) {\n liveSubs.delete(message.id);\n }\n reply.errForKind(message, error);\n }\n }\n}\n","import type { IDocumentModelLoader } from \"@powerhousedao/reactor\";\nimport type { DocumentModelModule } from \"@powerhousedao/shared/document-model\";\nimport { RegistryClient } from \"../registry/client.js\";\n\nexport type PackageImporter = (url: string) => Promise<Record<string, unknown>>;\n\nexport type WorkerPackageLoaderOptions = {\n cdnUrl: string;\n importPackage: PackageImporter;\n resolvePackages?: (documentType: string) => Promise<string[]>;\n};\n\nexport type PackageLoadFailure = {\n name: string;\n url: string;\n error: unknown;\n};\n\nfunction packageName(spec: string): string {\n const at = spec.lastIndexOf(\"@\");\n return at > 0 ? spec.slice(0, at) : spec;\n}\n\nfunction moduleKey(module: DocumentModelModule): string {\n return `${module.documentModel.global.id}@${module.version ?? 1}`;\n}\n\nfunction isDocumentModelModule(value: unknown): value is DocumentModelModule {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const candidate = value as {\n reducer?: unknown;\n documentModel?: { global?: { id?: unknown } };\n };\n return (\n typeof candidate.reducer === \"function\" &&\n typeof candidate.documentModel?.global?.id === \"string\"\n );\n}\n\nexport class WorkerPackageLoader implements IDocumentModelLoader {\n private readonly cdnUrl: string;\n private readonly importPackage: PackageImporter;\n private readonly resolvePackages: (documentType: string) => Promise<string[]>;\n // Keyed by `documentType@version`: a type can ship several module versions\n // side by side, and keying by type alone would evict all but the last.\n private readonly modulesByKey = new Map<string, DocumentModelModule>();\n private readonly loadedSpecs = new Set<string>();\n private readonly failures: PackageLoadFailure[] = [];\n\n constructor(options: WorkerPackageLoaderOptions) {\n this.cdnUrl = options.cdnUrl.replace(/\\/$/, \"\");\n this.importPackage = options.importPackage;\n const registryClient = new RegistryClient(options.cdnUrl);\n this.resolvePackages =\n options.resolvePackages ??\n ((documentType) =>\n registryClient.getPackagesByDocumentType(documentType));\n }\n\n async loadPackages(specs: string[]): Promise<DocumentModelModule[]> {\n await Promise.all(\n [...new Set(specs)].map((spec) => this.loadPackage(spec)),\n );\n return this.models;\n }\n\n // On a miss, discover the package(s) for the type and import them on demand.\n async load(documentType: string): Promise<DocumentModelModule> {\n const existing = this.latestForType(documentType);\n if (existing) {\n return existing;\n }\n const packageNames = await this.resolvePackages(documentType);\n const failuresBefore = this.failures.length;\n await Promise.all(\n [...new Set(packageNames)].map((name) => this.loadPackage(name)),\n );\n const loaded = this.latestForType(documentType);\n if (loaded) {\n return loaded;\n }\n throw this.notLoadedError(\n documentType,\n packageNames,\n this.failures.slice(failuresBefore),\n );\n }\n\n get models(): DocumentModelModule[] {\n return [...new Set(this.modulesByKey.values())];\n }\n\n get loadFailures(): PackageLoadFailure[] {\n return [...this.failures];\n }\n\n /** The highest registered version for a type, which is what a bare load resolves to. */\n private latestForType(documentType: string): DocumentModelModule | undefined {\n let latest: DocumentModelModule | undefined;\n for (const module of this.modulesByKey.values()) {\n if (module.documentModel.global.id !== documentType) {\n continue;\n }\n if (!latest || (module.version ?? 1) > (latest.version ?? 1)) {\n latest = module;\n }\n }\n return latest;\n }\n\n private notLoadedError(\n documentType: string,\n packageNames: string[],\n failures: PackageLoadFailure[],\n ): Error {\n if (packageNames.length === 0) {\n return new Error(`No package found for document model: ${documentType}`);\n }\n if (failures.length === 0) {\n return new Error(\n `Imported [${packageNames.join(\", \")}] but document model not found: ${documentType}`,\n );\n }\n const cause =\n failures.length === 1\n ? failures[0].error\n : new AggregateError(failures.map((failure) => failure.error));\n return new Error(\n `Failed to import package(s) [${packageNames.join(\", \")}] for document model: ${documentType}`,\n { cause },\n );\n }\n\n private async loadPackage(spec: string): Promise<void> {\n if (this.loadedSpecs.has(spec)) {\n return;\n }\n const name = packageName(spec);\n const url = `${this.cdnUrl}/${name}/browser/document-models/index.js`;\n try {\n const namespace = await this.importPackage(url);\n for (const value of Object.values(namespace)) {\n if (isDocumentModelModule(value)) {\n this.modulesByKey.set(moduleKey(value), value);\n }\n }\n this.loadedSpecs.add(spec);\n } catch (error) {\n this.failures.push({ name, url, error });\n }\n }\n}\n","import { fromErrorInfo } from \"./error-info.js\";\nimport type { ClientMessage, CorrelationId, OwnerMessage } from \"./protocol.js\";\n\ntype Pending = {\n resolve: (value: unknown) => void;\n reject: (error: unknown) => void;\n timer?: ReturnType<typeof setTimeout>;\n cleanup?: () => void;\n transform?: (value: unknown) => unknown;\n};\n\nexport type RpcRequestOptions = {\n /** Reject if no response arrives within this many ms; omit for no timeout. */\n timeoutMs?: number;\n /** Maps a successful response value (e.g. paged-result rehydration). */\n transform?: (value: unknown) => unknown;\n /** Runs after the post; may return a cleanup invoked when the request settles. */\n setup?: (id: CorrelationId) => (() => void) | void;\n};\n\n/** Anything that can send a client message (the router). */\nexport type RpcPoster = { post(message: ClientMessage): void };\n\n/**\n * Request/response correlation shared by every RPC proxy: one pending map,\n * res/err settlement, and per-request timeout/transform/cleanup.\n */\nexport class RpcCorrelator {\n private counter = 0;\n private readonly pending = new Map<CorrelationId, Pending>();\n\n constructor(\n private readonly poster: RpcPoster,\n private readonly prefix = \"r\",\n ) {}\n\n nextId(): CorrelationId {\n return `${this.prefix}${++this.counter}`;\n }\n\n /** Settle the pending request a res/err refers to; a missing id is a no-op. */\n handleMessage(message: OwnerMessage): void {\n if (message.k !== \"res\" && message.k !== \"err\") {\n return;\n }\n const entry = this.pending.get(message.id);\n if (!entry) {\n return;\n }\n this.pending.delete(message.id);\n if (entry.timer) {\n clearTimeout(entry.timer);\n }\n entry.cleanup?.();\n if (message.k === \"res\") {\n entry.resolve(\n entry.transform ? entry.transform(message.value) : message.value,\n );\n } else {\n entry.reject(fromErrorInfo(message.error));\n }\n }\n\n /** Send a request, resolving on its res/err. `build` stamps the generated id. */\n request(\n build: (id: CorrelationId) => ClientMessage,\n options: RpcRequestOptions = {},\n ): Promise<unknown> {\n const id = this.nextId();\n const message = build(id);\n const method = (message as { method?: unknown }).method;\n const label =\n typeof method === \"string\" ? `${message.k} \"${method}\"` : message.k;\n const promise = new Promise<unknown>((resolve, reject) => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n if (options.timeoutMs !== undefined) {\n const timeoutMs = options.timeoutMs;\n timer = setTimeout(() => {\n const entry = this.pending.get(id);\n if (entry) {\n this.pending.delete(id);\n entry.cleanup?.();\n reject(\n new Error(\n `Reactor worker did not respond to ${label} within ${timeoutMs}ms; the worker may have failed to load`,\n ),\n );\n }\n }, timeoutMs);\n }\n this.pending.set(id, {\n resolve,\n reject,\n timer,\n transform: options.transform,\n });\n });\n this.poster.post(message);\n const cleanup = options.setup?.(id);\n if (cleanup) {\n const entry = this.pending.get(id);\n if (entry) {\n entry.cleanup = cleanup;\n } else {\n cleanup();\n }\n }\n return promise;\n }\n}\n","import type { ClientMessage, CorrelationId, OwnerMessage } from \"./protocol.js\";\nimport { RpcCorrelator, type RpcRequestOptions } from \"./rpc-correlator.js\";\nimport type { IRpcTransport } from \"./transport.js\";\n\ntype OwnerKind = OwnerMessage[\"k\"];\ntype RouteHandler = (message: OwnerMessage) => void;\n\n/**\n * Owns the single transport.onMessage and dispatches each message to the one\n * consumer that owns its kind. Composes the shared RpcCorrelator (res/err) and\n * exposes request/nextId; attach/detach swap the transport for reconnect.\n */\nexport class MessageRouter {\n private readonly handlers = new Map<OwnerKind, RouteHandler>();\n private readonly correlator: RpcCorrelator;\n private transport: IRpcTransport | null = null;\n private detachTransport: () => void = () => {};\n\n constructor(prefix = \"r\") {\n this.correlator = new RpcCorrelator(this, prefix);\n const settle: RouteHandler = (message) =>\n this.correlator.handleMessage(message);\n this.handlers.set(\"res\", settle);\n this.handlers.set(\"err\", settle);\n }\n\n attach(transport: IRpcTransport): void {\n this.detachTransport();\n this.transport = transport;\n this.detachTransport = transport.onMessage((message) => {\n const msg = message as OwnerMessage;\n this.handlers.get(msg.k)?.(msg);\n });\n }\n\n detach(): void {\n this.detachTransport();\n this.detachTransport = () => {};\n this.transport = null;\n }\n\n post(message: ClientMessage): void {\n if (!this.transport) {\n throw new Error(\"MessageRouter.post called before attach\");\n }\n this.transport.post(message);\n }\n\n /** Register the sole owner of a message kind; throws on a duplicate. */\n on<K extends OwnerKind>(\n kind: K,\n handler: (message: Extract<OwnerMessage, { k: K }>) => void,\n ): () => void {\n if (this.handlers.has(kind)) {\n throw new Error(`MessageRouter already has a handler for \"${kind}\"`);\n }\n const route = handler as RouteHandler;\n this.handlers.set(kind, route);\n return () => {\n if (this.handlers.get(kind) === route) {\n this.handlers.delete(kind);\n }\n };\n }\n\n request(\n build: (id: CorrelationId) => ClientMessage,\n options?: RpcRequestOptions,\n ): Promise<unknown> {\n return this.correlator.request(build, options);\n }\n\n nextId(): CorrelationId {\n return this.correlator.nextId();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/rpc/listeners.ts","../../../src/rpc/op-channel.ts","../../../src/rpc/admin-client.ts","../../../src/rpc/error-info.ts","../../../src/rpc/paging.ts","../../../src/rpc/subscription.ts","../../../src/rpc/client-proxy.ts","../../../src/rpc/inspector-proxy.ts","../../../src/rpc/protocol.ts","../../../src/rpc/host-reply.ts","../../../src/rpc/live-query-proxy.ts","../../../src/rpc/relational-db-proxy.ts","../../../src/rpc/sync-manager-proxy.ts","../../../src/rpc/forwarded-events.ts","../../../src/rpc/event-bus-proxy.ts","../../../src/rpc/connect-reactor.ts","../../../src/rpc/host-server.ts","../../../src/rpc/transport.ts","../../../src/rpc/reactor-host.ts","../../../src/rpc/worker-package-loader.ts","../../../src/rpc/rpc-correlator.ts","../../../src/rpc/message-router.ts"],"sourcesContent":["export class KeyedListeners<K, A extends unknown[] = []> {\n private readonly map = new Map<K, Set<(...a: A) => void>>();\n\n add(key: K, fn: (...a: A) => void): () => void {\n let set = this.map.get(key);\n if (!set) {\n set = new Set();\n this.map.set(key, set);\n }\n set.add(fn);\n return () => {\n const current = this.map.get(key);\n if (!current) {\n return;\n }\n current.delete(fn);\n if (current.size === 0) {\n this.map.delete(key);\n }\n };\n }\n\n emit(key: K, ...a: A): void {\n const set = this.map.get(key);\n if (!set) {\n return;\n }\n for (const fn of [...set]) {\n fn(...a);\n }\n }\n\n emitAll(...a: A): void {\n for (const set of [...this.map.values()]) {\n for (const fn of [...set]) {\n fn(...a);\n }\n }\n }\n}\n\nexport class Listeners<A extends unknown[] = []> {\n private readonly keyed = new KeyedListeners<null, A>();\n\n add(fn: (...a: A) => void): () => void {\n return this.keyed.add(null, fn);\n }\n\n emit(...a: A): void {\n this.keyed.emit(null, ...a);\n }\n}\n","import type { MessageRouter } from \"./message-router.js\";\nimport type { ClientMessage, OpKind } from \"./protocol.js\";\n\nexport const RPC_DEFAULT_TIMEOUT_MS = 30_000;\n\nexport function toVoid(promise: Promise<unknown>): Promise<void> {\n return promise.then(() => undefined);\n}\n\nexport interface IOpChannel {\n call(method: string, args?: unknown[]): Promise<unknown>;\n callVoid(method: string, args?: unknown[]): Promise<void>;\n}\n\nexport function opChannel(\n router: MessageRouter,\n kind: OpKind,\n timeoutMs: number = RPC_DEFAULT_TIMEOUT_MS,\n): IOpChannel {\n const call = (method: string, args: unknown[] = []): Promise<unknown> =>\n router.request((id) => ({ k: kind, id, method, args }) as ClientMessage, {\n timeoutMs,\n });\n return {\n call,\n callVoid: (method, args) => toVoid(call(method, args)),\n };\n}\n","import { Listeners } from \"./listeners.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { RPC_DEFAULT_TIMEOUT_MS, toVoid } from \"./op-channel.js\";\nimport type { WorkerInspectorInfo, WorkerMigrationState } from \"./protocol.js\";\n\nexport interface IWorkerAdminClient {\n info(): Promise<WorkerInspectorInfo>;\n restart(): Promise<void>;\n clearStorage(): Promise<void>;\n migrate(): Promise<void>;\n getMigrationState(): WorkerMigrationState;\n subscribeMigration(callback: () => void): () => void;\n}\n\n/** Worker lifecycle channel (info/restart/clearStorage/migrate) over the shared router. */\nexport function createWorkerAdminClient(\n router: MessageRouter,\n): IWorkerAdminClient {\n let migrationState: WorkerMigrationState = { status: \"idle\" };\n const migrationListeners = new Listeners();\n\n router.on(\"migration\", (msg) => {\n migrationState = msg.state;\n migrationListeners.emit();\n });\n\n const send = (\n method: \"info\" | \"restart\" | \"clearStorage\" | \"migrate\",\n ): Promise<unknown> =>\n router.request((id) => ({ k: \"admin\", id, method }), {\n timeoutMs: RPC_DEFAULT_TIMEOUT_MS,\n });\n\n return {\n info: () => send(\"info\") as Promise<WorkerInspectorInfo>,\n restart: () => toVoid(send(\"restart\")),\n clearStorage: () => toVoid(send(\"clearStorage\")),\n migrate: () => toVoid(send(\"migrate\")),\n getMigrationState: () => migrationState,\n subscribeMigration: (callback) => migrationListeners.add(callback),\n };\n}\n","import type { ErrorInfo } from \"./protocol.js\";\n\nconst MAX_STACK_LENGTH = 8 * 1024;\nconst MAX_CAUSE_DEPTH = 8;\n\nexport function toErrorInfo(err: unknown, depth = 0): ErrorInfo {\n if (depth > MAX_CAUSE_DEPTH) {\n return { name: \"Error\", message: \"cause chain truncated\" };\n }\n if (err instanceof Error) {\n const info: ErrorInfo = { name: err.name || \"Error\", message: err.message };\n if (typeof err.stack === \"string\") {\n info.stack =\n err.stack.length > MAX_STACK_LENGTH\n ? err.stack.slice(0, MAX_STACK_LENGTH)\n : err.stack;\n }\n if (err.cause !== undefined) {\n info.cause = toErrorInfo(err.cause, depth + 1);\n }\n return info;\n }\n if (typeof err === \"string\") {\n return { name: \"Error\", message: err };\n }\n if (err && typeof err === \"object\") {\n const record = err as { name?: unknown; message?: unknown };\n return {\n name: typeof record.name === \"string\" ? record.name : \"Error\",\n message:\n typeof record.message === \"string\"\n ? record.message\n : safeStringify(err),\n };\n }\n return { name: \"Error\", message: safeStringify(err) };\n}\n\nfunction safeStringify(value: unknown): string {\n if (value === null || value === undefined) {\n return String(value);\n }\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n ) {\n return String(value);\n }\n try {\n return JSON.stringify(value);\n } catch {\n return \"[unserializable]\";\n }\n}\n\nexport function fromErrorInfo(info: ErrorInfo): Error {\n const err = new Error(info.message);\n Object.defineProperty(err, \"name\", {\n value: info.name,\n configurable: true,\n writable: true,\n });\n if (info.stack !== undefined) {\n err.stack = info.stack;\n }\n if (info.cause !== undefined) {\n Object.defineProperty(err, \"cause\", {\n value: fromErrorInfo(info.cause),\n configurable: true,\n writable: true,\n });\n }\n return err;\n}\n","export type PageableResult = Record<string, unknown> & {\n next: () => Promise<unknown>;\n};\n\nexport type TokenizedPage = Record<string, unknown> & { nextToken: string };\n\nexport function isPageableResult(value: unknown): value is PageableResult {\n return (\n value !== null &&\n typeof value === \"object\" &&\n typeof (value as { next?: unknown }).next === \"function\"\n );\n}\n\nexport function hasNextToken(value: unknown): value is TokenizedPage {\n return (\n value !== null &&\n typeof value === \"object\" &&\n typeof (value as { nextToken?: unknown }).nextToken === \"string\"\n );\n}\n\nexport function dehydratePage(\n value: unknown,\n registerCursor: (next: () => Promise<unknown>) => string,\n): unknown {\n if (!isPageableResult(value)) {\n return value;\n }\n const { next, ...rest } = value;\n return { ...rest, nextToken: registerCursor(next) };\n}\n\nexport function rehydratePage(\n value: unknown,\n fetchPage: (token: string) => Promise<unknown>,\n): unknown {\n if (!hasNextToken(value)) {\n return value;\n }\n const { nextToken, ...rest } = value;\n return { ...rest, next: () => fetchPage(nextToken) };\n}\n","import type { MessageRouter } from \"./message-router.js\";\nimport type { ClientMessage, CorrelationId, OwnerMessage } from \"./protocol.js\";\n\nexport class SubscriptionStore {\n private readonly map = new Map<CorrelationId, () => void>();\n\n set(id: CorrelationId, unsubscribe: () => void): void {\n this.map.set(id, unsubscribe);\n }\n\n get(id: CorrelationId): (() => void) | undefined {\n return this.map.get(id);\n }\n\n delete(id: CorrelationId): void {\n this.map.delete(id);\n }\n\n end(id: CorrelationId): void {\n const unsubscribe = this.map.get(id);\n if (unsubscribe) {\n this.map.delete(id);\n unsubscribe();\n }\n }\n\n drain(): void {\n for (const unsubscribe of this.map.values()) {\n unsubscribe();\n }\n this.map.clear();\n }\n}\n\nexport interface ICorrelatedSubscriptions<Sub> {\n subscribe(sub: Sub, open: (id: CorrelationId) => ClientMessage): () => void;\n}\n\nexport interface CorrelatedConfig<\n Sub,\n EK extends OwnerMessage[\"k\"],\n ErrK extends OwnerMessage[\"k\"],\n> {\n idPrefix: string;\n eventKind: EK;\n errKind: ErrK;\n onEvent: (sub: Sub, message: Extract<OwnerMessage, { k: EK }>) => void;\n onError: (sub: Sub, message: Extract<OwnerMessage, { k: ErrK }>) => void;\n close: (id: CorrelationId) => ClientMessage;\n}\n\nexport function createCorrelatedSubscriptions<\n Sub,\n EK extends OwnerMessage[\"k\"],\n ErrK extends OwnerMessage[\"k\"],\n>(\n router: MessageRouter,\n config: CorrelatedConfig<Sub, EK, ErrK>,\n): ICorrelatedSubscriptions<Sub> {\n let counter = 0;\n const subs = new Map<CorrelationId, Sub>();\n\n router.on(config.eventKind, (message) => {\n const sub = subs.get((message as { id: CorrelationId }).id);\n if (sub) {\n config.onEvent(sub, message);\n }\n });\n router.on(config.errKind, (message) => {\n const id = (message as { id: CorrelationId }).id;\n const sub = subs.get(id);\n if (sub) {\n subs.delete(id);\n router.post(config.close(id));\n config.onError(sub, message);\n }\n });\n\n return {\n subscribe(sub, open) {\n const id: CorrelationId = `${config.idPrefix}${++counter}`;\n subs.set(id, sub);\n router.post(open(id));\n return () => {\n subs.delete(id);\n router.post(config.close(id));\n };\n },\n };\n}\n","import type {\n DocumentChangeEvent,\n IDocumentModelRegistry,\n IReactorClient,\n PagingOptions,\n SearchFilter,\n ViewFilter,\n} from \"@powerhousedao/reactor\";\nimport type { PHDocument } from \"@powerhousedao/shared/document-model\";\nimport { normalizeDocumentModelVersion } from \"@powerhousedao/shared/document-model\";\nimport { fromErrorInfo } from \"./error-info.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { rehydratePage } from \"./paging.js\";\nimport { createCorrelatedSubscriptions } from \"./subscription.js\";\n\ntype Forwarder = (...args: unknown[]) => Promise<unknown>;\n\ntype ChangeCallback = (event: DocumentChangeEvent) => void;\n\nfunction isAbortSignal(value: unknown): value is AbortSignal {\n return (\n typeof value === \"object\" &&\n value !== null &&\n typeof (value as AbortSignal).aborted === \"boolean\" &&\n typeof (value as { addEventListener?: unknown }).addEventListener ===\n \"function\" &&\n // also require removeEventListener — call() attaches a listener it later detaches\n typeof (value as { removeEventListener?: unknown }).removeEventListener ===\n \"function\"\n );\n}\n\nexport type ReactorClientProxyOptions = {\n onReload?: (reason: string, workerGen?: string) => void;\n /** Tab-local registry for module lookups (reducers/editors can't cross the worker boundary). */\n registry?: IDocumentModelRegistry;\n};\n\nexport function createReactorClientProxy(\n router: MessageRouter,\n options: ReactorClientProxyOptions = {},\n): IReactorClient {\n const registry = options.registry;\n\n function fetchPage(token: string): Promise<unknown> {\n return router.request((id) => ({ k: \"page\", id, token }), {\n transform: rehydrate,\n });\n }\n\n function rehydrate(value: unknown): unknown {\n return rehydratePage(value, fetchPage);\n }\n\n const changeSubs = createCorrelatedSubscriptions<\n ChangeCallback,\n \"event\",\n \"sub-err\"\n >(router, {\n idPrefix: \"sub\",\n eventKind: \"event\",\n errKind: \"sub-err\",\n onEvent: (callback, msg) => callback(msg.change as DocumentChangeEvent),\n onError: (_callback, msg) =>\n console.error(\"Reactor subscription failed:\", fromErrorInfo(msg.error)),\n close: (id) => ({ k: \"unsub\", id }),\n });\n router.on(\"reload\", (msg) => {\n options.onReload?.(msg.reason, msg.workerGen);\n });\n\n const call = (method: string, args: unknown[]): Promise<unknown> => {\n let abortAt: number | undefined;\n for (let i = 0; i < args.length; i++) {\n if (isAbortSignal(args[i])) {\n abortAt = i;\n }\n }\n let wire = args;\n if (abortAt !== undefined) {\n wire = args.slice();\n wire[abortAt] = undefined;\n }\n return router.request(\n (id) => ({ k: \"req\", id, method, args: wire, abortAt }),\n {\n transform: rehydrate,\n setup: (id) => {\n if (abortAt === undefined) {\n return;\n }\n const signal = args[abortAt] as AbortSignal;\n const sendAbort = () => router.post({ k: \"abort\", targetId: id });\n if (signal.aborted) {\n sendAbort();\n return;\n }\n signal.addEventListener(\"abort\", sendAbort, { once: true });\n return () => signal.removeEventListener(\"abort\", sendAbort);\n },\n },\n );\n };\n\n const subscribe = (\n search: SearchFilter,\n callback: ChangeCallback,\n view?: ViewFilter,\n ): (() => void) =>\n changeSubs.subscribe(callback, (id) => ({ k: \"sub\", id, search, view }));\n\n const forwarders = new Map<string, Forwarder>();\n const forwarder = (method: string): Forwarder => {\n let fn = forwarders.get(method);\n if (!fn) {\n fn = (...args: unknown[]) => call(method, args);\n forwarders.set(method, fn);\n }\n return fn;\n };\n\n const drives = new Proxy(\n {},\n {\n get: (_target, prop) =>\n typeof prop === \"string\" ? forwarder(`drives.${prop}`) : undefined,\n },\n );\n\n const handler: ProxyHandler<Record<string, unknown>> = {\n get(_target, prop) {\n if (typeof prop !== \"string\" || prop === \"then\") {\n return undefined;\n }\n if (prop === \"drives\") {\n return drives;\n }\n if (prop === \"subscribe\") {\n return subscribe;\n }\n if (registry) {\n if (prop === \"getDocumentModelModule\") {\n return (documentType: string) =>\n Promise.resolve().then(() => registry.getModule(documentType));\n }\n if (prop === \"getDocumentModelModuleForDocument\") {\n return (document: PHDocument) =>\n Promise.resolve().then(() =>\n registry.getModule(\n document.header.documentType,\n normalizeDocumentModelVersion(\n (document.state as Partial<typeof document.state>).document\n ?.version,\n ),\n ),\n );\n }\n if (prop === \"getDocumentModelModules\") {\n return (_namespace?: string, paging?: PagingOptions) =>\n Promise.resolve({\n results: registry.getAllModules(),\n options: paging ?? { cursor: \"\", limit: Number.MAX_SAFE_INTEGER },\n });\n }\n }\n return forwarder(prop);\n },\n };\n\n return new Proxy({}, handler) as unknown as IReactorClient;\n}\n","import type { MessageRouter } from \"./message-router.js\";\nimport { opChannel } from \"./op-channel.js\";\n\nexport interface IInspectorProxy {\n getQueueState(): Promise<unknown>;\n pauseQueue(): Promise<void>;\n resumeQueue(): Promise<void>;\n getProcessors(): Promise<unknown>;\n retryProcessor(processorId: string): Promise<void>;\n validateDocument(documentId: string, branch?: string): Promise<unknown>;\n rebuildKeyframes(documentId: string, branch?: string): Promise<unknown>;\n rebuildSnapshots(documentId: string, branch?: string): Promise<unknown>;\n queryReactorDb(sql: string, params?: unknown[]): Promise<unknown>;\n}\n\nexport function createInspectorProxy(router: MessageRouter): IInspectorProxy {\n const ops = opChannel(router, \"inspector-op\");\n\n return {\n getQueueState: () => ops.call(\"queue.getState\"),\n pauseQueue: () => ops.callVoid(\"queue.pause\"),\n resumeQueue: () => ops.callVoid(\"queue.resume\"),\n getProcessors: () => ops.call(\"processors.getAll\"),\n retryProcessor: (processorId) =>\n ops.callVoid(\"processors.retry\", [processorId]),\n validateDocument: (documentId, branch) =>\n ops.call(\"integrity.validate\", [documentId, branch]),\n rebuildKeyframes: (documentId, branch) =>\n ops.call(\"integrity.rebuildKeyframes\", [documentId, branch]),\n rebuildSnapshots: (documentId, branch) =>\n ops.call(\"integrity.rebuildSnapshots\", [documentId, branch]),\n queryReactorDb: (sql, params) => ops.call(\"db.query\", [sql, params ?? []]),\n };\n}\n","export type CorrelationId = string;\n\nexport type ErrorInfo = {\n name: string;\n message: string;\n stack?: string;\n cause?: ErrorInfo;\n};\n\nexport type RpcRequest = {\n k: \"req\";\n id: CorrelationId;\n method: string;\n args: unknown[];\n abortAt?: number;\n};\n\nexport type RpcResponse = { k: \"res\"; id: CorrelationId; value: unknown };\n\nexport type RpcError = { k: \"err\"; id: CorrelationId; error: ErrorInfo };\n\n/** Failed document subscribe; routed to the change-subscription registry. */\nexport type RpcSubError = { k: \"sub-err\"; id: CorrelationId; error: ErrorInfo };\n\n/** Failed live query; routed to the live-query registry. */\nexport type RpcLiveError = {\n k: \"live-err\";\n id: CorrelationId;\n error: ErrorInfo;\n};\n\nexport type RpcAbort = { k: \"abort\"; targetId: CorrelationId };\n\nexport type RpcSubscribe = {\n k: \"sub\";\n id: CorrelationId;\n search: unknown;\n view?: unknown;\n};\n\nexport type RpcEvent = { k: \"event\"; id: CorrelationId; change: unknown };\n\nexport type RpcUnsub = { k: \"unsub\"; id: CorrelationId };\n\nexport type RpcNextPage = { k: \"page\"; id: CorrelationId; token: string };\n\n// Bumped when the tab<->owner wire protocol changes incompatibly; a tab whose\n// version differs from the owner's baseline is told to reload.\nexport const RPC_PROTOCOL_VERSION = 2;\n\nexport type VersionFingerprint = {\n appBuildId: string;\n rpcProtocolVersion: number;\n models: { id: string; version: number }[];\n // Enabled enforcement flags, sorted and joined. In the fingerprint so a\n // worker cannot keep enforcing the set it booted with after a config change.\n featureFlags?: string;\n};\n\nexport type RpcHello = {\n k: \"hello\";\n id: CorrelationId;\n version: VersionFingerprint;\n construct?: unknown;\n packages?: string[];\n};\n\nexport type RpcRegisterPackages = {\n k: \"register-packages\";\n id: CorrelationId;\n specs: string[];\n};\n\nexport type RpcUnregisterPackages = {\n k: \"unregister-packages\";\n id: CorrelationId;\n names: string[];\n};\n\n// `workerGen` (present on restart-driven reloads) is the new SharedWorker name\n// suffix every tab should adopt so they converge on one fresh worker.\nexport type RpcReload = { k: \"reload\"; reason: string; workerGen?: string };\n\n// Worker lifecycle/admin channel, separate from the IReactorClient RPC surface.\nexport type RpcAdmin = {\n k: \"admin\";\n id: CorrelationId;\n method: \"info\" | \"restart\" | \"clearStorage\" | \"migrate\";\n};\n\nexport type WorkerMigrationState = {\n status: \"idle\" | \"needed\" | \"migrating\" | \"failed\";\n legacyMajor?: number;\n phase?: \"clone\" | \"dump\" | \"restore\";\n error?: string;\n};\n\n// Owner -> tab push of the worker's migration state (initial seed on connect +\n// on every change), so tabs can drive the migration banner from one flag.\nexport type RpcMigration = { k: \"migration\"; state: WorkerMigrationState };\n\nexport type WorkerInspectorInfo = {\n namespace: string;\n ownerId: string;\n bootedAtMs: number;\n connectedClients: number;\n appBuildId: string;\n rpcProtocolVersion: number;\n /** Flags this worker is enforcing, from the fingerprint that built it. */\n featureFlags?: string;\n};\n\n// Cloneable subset of renown's user (matches UserActionSigner); token minting + attribution.\nexport type ReactorIdentity = {\n address: string;\n chainId: number;\n networkId: string;\n};\n\nexport type RpcIdentity = { k: \"identity\"; user: ReactorIdentity | null };\n\n// Distributed EventBus: worker -> all tabs, fire-and-forget. `eventType` is a\n// reactor IEventBus numeric type; `event` is the (cloneable) payload.\nexport type RpcBusEvent = { k: \"bus-event\"; eventType: number; event: unknown };\n\nexport type OpKind = \"sync-op\" | \"db-op\" | \"inspector-op\";\n\nexport type MethodCallMessage<K extends OpKind> = {\n k: K;\n id: CorrelationId;\n method: string;\n args: unknown[];\n};\n\n// syncManager commands (add/remove/triggerPull/list); the reply value is the\n// reactor's RemoteMeta (its DriveCollectionId degrades to plain\n// {driveId,branch} over postMessage and is rehydrated tab-side).\nexport type RpcSyncOp = MethodCallMessage<\"sync-op\">;\n\nexport type RpcDbOp = MethodCallMessage<\"db-op\">;\n\nexport type RpcInspectorOp = MethodCallMessage<\"inspector-op\">;\n\nexport type RpcLiveSubscribe = {\n k: \"sub-live\";\n id: CorrelationId;\n sql: string;\n params: unknown[];\n};\n\nexport type RpcLiveEvent = {\n k: \"event-live\";\n id: CorrelationId;\n results: unknown;\n};\n\nexport type RpcLiveUnsub = { k: \"unsub-live\"; id: CorrelationId };\n\n// Liveness heartbeat. The tab pings; the owner answers synchronously (even\n// mid-build/mid-migration) so a silently-evicted worker is detectable. The pong\n// echoes ownerId/bootedAtMs so a respawned (different) instance is identifiable.\nexport type RpcPing = { k: \"ping\"; id: CorrelationId };\n\nexport type RpcPong = {\n k: \"pong\";\n id: CorrelationId;\n ownerId: string;\n bootedAtMs: number;\n};\n\nexport type ClientMessage =\n | RpcRequest\n | RpcAbort\n | RpcSubscribe\n | RpcUnsub\n | RpcNextPage\n | RpcHello\n | RpcRegisterPackages\n | RpcUnregisterPackages\n | RpcIdentity\n | RpcAdmin\n | RpcSyncOp\n | RpcDbOp\n | RpcInspectorOp\n | RpcLiveSubscribe\n | RpcLiveUnsub\n | RpcPing;\n\nexport type OwnerMessage =\n | RpcResponse\n | RpcError\n | RpcSubError\n | RpcLiveError\n | RpcEvent\n | RpcReload\n | RpcBusEvent\n | RpcLiveEvent\n | RpcMigration\n | RpcPong;\n\nexport type RpcMessage = ClientMessage | OwnerMessage;\n\n/** Error reply kind for a client message kind, so it reaches the right registry. */\nexport function responseErrorKind(\n k: ClientMessage[\"k\"],\n): \"err\" | \"sub-err\" | \"live-err\" {\n if (k === \"sub\") {\n return \"sub-err\";\n }\n if (k === \"sub-live\") {\n return \"live-err\";\n }\n return \"err\";\n}\n","import { toErrorInfo } from \"./error-info.js\";\nimport { responseErrorKind } from \"./protocol.js\";\nimport type { ClientMessage, CorrelationId, OwnerMessage } from \"./protocol.js\";\nimport type { IRpcTransport } from \"./transport.js\";\n\nexport interface IHostResponder {\n ok(id: CorrelationId, value?: unknown): void;\n err(id: CorrelationId, error: unknown): void;\n errForKind(message: ClientMessage, error: unknown): void;\n run(\n id: CorrelationId,\n body: () => Promise<unknown>,\n mapOk?: (value: unknown) => unknown,\n ): Promise<void>;\n}\n\nconst defaultOk = (): unknown => ({ ok: true });\n\nexport function hostResponder(transport: IRpcTransport): IHostResponder {\n const ok = (id: CorrelationId, value: unknown = { ok: true }): void => {\n transport.post({ k: \"res\", id, value });\n };\n const err = (id: CorrelationId, error: unknown): void => {\n transport.post({ k: \"err\", id, error: toErrorInfo(error) });\n };\n return {\n ok,\n err,\n errForKind(message, error) {\n if (!(\"id\" in message)) {\n return;\n }\n transport.post({\n k: responseErrorKind(message.k),\n id: message.id,\n error: toErrorInfo(error),\n } as OwnerMessage);\n },\n async run(id, body, mapOk = defaultOk) {\n try {\n ok(id, mapOk(await body()));\n } catch (error) {\n err(id, error);\n }\n },\n };\n}\n","import { fromErrorInfo } from \"./error-info.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { createCorrelatedSubscriptions } from \"./subscription.js\";\n\nexport type LiveQueryResultsCallback = (results: unknown) => void;\nexport type LiveQueryErrorCallback = (error: unknown) => void;\n\nexport interface ILiveQueryProxy {\n query(\n sql: string,\n params: unknown[],\n onResults: LiveQueryResultsCallback,\n onError?: LiveQueryErrorCallback,\n ): () => void;\n}\n\ntype LiveSubscriber = {\n onResults: LiveQueryResultsCallback;\n onError?: LiveQueryErrorCallback;\n};\n\nexport function createLiveQueryProxy(router: MessageRouter): ILiveQueryProxy {\n const subs = createCorrelatedSubscriptions<\n LiveSubscriber,\n \"event-live\",\n \"live-err\"\n >(router, {\n idPrefix: \"live\",\n eventKind: \"event-live\",\n errKind: \"live-err\",\n onEvent: (sub, msg) => sub.onResults(msg.results),\n onError: (sub, msg) => sub.onError?.(fromErrorInfo(msg.error)),\n close: (id) => ({ k: \"unsub-live\", id }),\n });\n\n return {\n query(sql, params, onResults, onError) {\n return subs.subscribe({ onResults, onError }, (id) => ({\n k: \"sub-live\",\n id,\n sql,\n params,\n }));\n },\n };\n}\n","import type { PGliteWithLive } from \"@electric-sql/pglite/live\";\nimport { createLiveQueryProxy } from \"./live-query-proxy.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { opChannel } from \"./op-channel.js\";\n\nexport function createRelationalPgliteProxy(\n router: MessageRouter,\n): PGliteWithLive {\n const ops = opChannel(router, \"db-op\");\n const liveProxy = createLiveQueryProxy(router);\n\n const proxy = {\n query: async (sql: string, params?: unknown[]) => {\n const rows = await ops.call(\"query\", [sql, params ?? []]);\n return { rows };\n },\n live: {\n query: (\n sql: string,\n params: unknown[] | null | undefined,\n callback?: (results: unknown) => void,\n ) =>\n new Promise((resolve, reject) => {\n // Settle on the first result/error so a subscribe failure reaches the caller's retry path.\n let settled = false;\n const unsubscribe = liveProxy.query(\n sql,\n params ?? [],\n (results) => {\n if (!settled) {\n settled = true;\n resolve({ unsubscribe });\n }\n callback?.(results);\n },\n (error) => {\n if (!settled) {\n settled = true;\n reject(\n error instanceof Error ? error : new Error(String(error)),\n );\n }\n },\n );\n }),\n },\n };\n\n return proxy as unknown as PGliteWithLive;\n}\n","import {\n DriveCollectionId,\n SyncEventTypes,\n type ChannelConfig,\n type ConnectionStateChangeCallback,\n type ConnectionStateChangedEvent,\n type ConnectionStateSnapshot,\n type IChannel,\n type IEventBus,\n type IMailbox,\n type ISyncManager,\n type Remote,\n type RemoteFilter,\n type RemoteMeta,\n type RemoteOptions,\n type ShutdownStatus,\n type SyncOperation,\n type SyncStatus,\n type SyncStatusChangeCallback,\n} from \"@powerhousedao/reactor\";\nimport { KeyedListeners, Listeners } from \"./listeners.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport { opChannel, type IOpChannel } from \"./op-channel.js\";\n\n// Synthetic bus channel id for sync-status deltas (not a reactor IEventBus type).\nexport const SYNC_STATUS_CHANGED_EVENT = 90001;\n\nexport type SyncStatusChangedBusEvent = {\n documentId: string;\n status: SyncStatus;\n};\n\nconst SEED_MAX_ATTEMPTS = 3;\nconst SEED_RETRY_DELAY_MS = 500;\n\n// Wire shapes: DriveCollectionId arrives prototype-less over postMessage.\ntype WireDriveCollectionId = { driveId: string; branch: string };\ntype WireRemoteMeta = {\n id: string;\n name: string;\n collectionId: WireDriveCollectionId;\n channelConfig: ChannelConfig;\n filter: RemoteFilter;\n options: RemoteOptions;\n};\ntype WireRemote = {\n meta: WireRemoteMeta;\n connectionState: ConnectionStateSnapshot;\n};\n\nconst DEFAULT_SNAPSHOT: ConnectionStateSnapshot = {\n state: \"connecting\",\n failureCount: 0,\n lastSuccessUtcMs: 0,\n lastFailureUtcMs: 0,\n pushBlocked: false,\n pushFailureCount: 0,\n receivingPages: false,\n requiresAuth: false,\n};\n\n// Inert mailbox: a proxy remote carries no live sync operations tab-side.\nclass NoopMailbox implements IMailbox {\n get items(): readonly SyncOperation[] {\n return [];\n }\n get ackOrdinal(): number {\n return 0;\n }\n get latestOrdinal(): number {\n return 0;\n }\n init(): void {}\n advanceOrdinal(): void {}\n get(): undefined {\n return undefined;\n }\n add(): void {}\n remove(): void {}\n onAdded(): void {}\n onRemoved(): void {}\n pause(): void {}\n resume(): void {}\n flush(): void {}\n isPaused(): boolean {\n return false;\n }\n}\n\nconst NOOP_MAILBOX = new NoopMailbox();\n\nfunction rehydrateMeta(wire: WireRemoteMeta): RemoteMeta {\n return {\n id: wire.id,\n name: wire.name,\n collectionId: DriveCollectionId.forDrive(\n wire.collectionId.driveId,\n wire.collectionId.branch,\n ),\n channelConfig: wire.channelConfig,\n filter: wire.filter,\n options: wire.options,\n };\n}\n\nfunction channelUrl(meta: RemoteMeta): string | undefined {\n const url = meta.channelConfig.parameters.url;\n return typeof url === \"string\" ? url : undefined;\n}\n\n// Tab-side ISyncManager: cache-backed reads fed by the bus, ops over sync-op RPC.\nexport class SyncManagerProxy implements ISyncManager {\n private readonly ops: IOpChannel;\n private readonly connectionStates = new Map<\n string,\n ConnectionStateSnapshot\n >();\n private readonly connectionListeners = new KeyedListeners<string>();\n private readonly syncStatuses = new Map<string, SyncStatus>();\n private readonly syncStatusListeners = new Listeners<[string, SyncStatus]>();\n private remotes: Remote[] = [];\n private seedPromise: Promise<void> | null = null;\n\n constructor(router: MessageRouter, busProxy: IEventBus) {\n this.ops = opChannel(router, \"sync-op\");\n\n busProxy.subscribe(\n SyncEventTypes.CONNECTION_STATE_CHANGED,\n (_type, event) => {\n const e = event as ConnectionStateChangedEvent;\n this.connectionStates.set(e.remoteName, e.snapshot);\n this.notifyConnection(e.remoteName);\n },\n );\n\n busProxy.subscribe(SYNC_STATUS_CHANGED_EVENT, (_type, event) => {\n const e = event as SyncStatusChangedBusEvent;\n this.syncStatuses.set(e.documentId, e.status);\n this.syncStatusListeners.emit(e.documentId, e.status);\n });\n\n void this.ensureSeeded();\n }\n\n async startup(): Promise<void> {\n let lastError: unknown;\n for (let attempt = 0; attempt < SEED_MAX_ATTEMPTS; attempt++) {\n try {\n await this.ensureSeeded();\n return;\n } catch (error) {\n lastError = error;\n if (attempt < SEED_MAX_ATTEMPTS - 1) {\n await new Promise((resolve) =>\n setTimeout(resolve, SEED_RETRY_DELAY_MS),\n );\n }\n }\n }\n throw lastError;\n }\n\n shutdown(): ShutdownStatus {\n return { isShutdown: true, completed: Promise.resolve() };\n }\n\n getByName(name: string): Remote {\n const remote = this.remotes.find((r) => r.meta.name === name);\n if (!remote) {\n throw new Error(`Unknown remote: ${name}`);\n }\n return remote;\n }\n\n getById(id: string): Remote {\n const remote = this.remotes.find((r) => r.meta.id === id);\n if (!remote) {\n throw new Error(`Unknown remote id: ${id}`);\n }\n return remote;\n }\n\n async add(\n name: string,\n collectionId: DriveCollectionId,\n channelConfig: ChannelConfig,\n filter?: RemoteFilter,\n options?: RemoteOptions,\n ): Promise<Remote> {\n await this.callSyncOp(\"add\", [\n name,\n collectionId.key,\n channelConfig,\n filter,\n options,\n ]);\n await this.refreshRemotes();\n return this.getByName(name);\n }\n\n triggerPull(name: string): void {\n this.callSyncOp(\"triggerPull\", [name]).catch((error: unknown) => {\n console.error(`triggerPull failed for remote \"${name}\":`, error);\n });\n }\n\n async remove(name: string): Promise<void> {\n await this.callSyncOp(\"remove\", [name]);\n await this.refreshRemotes();\n }\n\n list(): Remote[] {\n return [...this.remotes];\n }\n\n waitForSync(): Promise<never> {\n return Promise.reject(\n new Error(\"waitForSync is not supported over the worker RPC boundary\"),\n );\n }\n\n getSyncStatus(documentId: string): SyncStatus | undefined {\n return this.syncStatuses.get(documentId);\n }\n\n onSyncStatusChange(callback: SyncStatusChangeCallback): () => void {\n return this.syncStatusListeners.add(callback);\n }\n\n private callSyncOp(method: string, args: unknown[]): Promise<unknown> {\n return this.ops.call(method, args);\n }\n\n private notifyConnection(remoteName?: string): void {\n if (remoteName !== undefined) {\n this.connectionListeners.emit(remoteName);\n return;\n }\n this.connectionListeners.emitAll();\n }\n\n private makeChannel(remoteName: string, url: string | undefined): IChannel {\n const channel: IChannel & { config: { url?: string } } = {\n inbox: NOOP_MAILBOX,\n outbox: NOOP_MAILBOX,\n deadLetter: NOOP_MAILBOX,\n init: () => Promise.resolve(),\n shutdown: () => Promise.resolve(),\n getConnectionState: () =>\n this.connectionStates.get(remoteName) ?? DEFAULT_SNAPSHOT,\n onConnectionStateChange: (callback: ConnectionStateChangeCallback) => {\n const listener = () =>\n callback(this.connectionStates.get(remoteName) ?? DEFAULT_SNAPSHOT);\n return this.connectionListeners.add(remoteName, listener);\n },\n\n triggerPull: () => {\n this.callSyncOp(\"triggerPull\", [remoteName]).catch((error: unknown) => {\n console.error(\n `triggerPull failed for remote \"${remoteName}\":`,\n error,\n );\n });\n },\n config: { url },\n };\n return channel;\n }\n\n private async refreshRemotes(): Promise<void> {\n const wire = (await this.callSyncOp(\"list\", [])) as WireRemote[];\n const names = new Set<string>();\n this.remotes = wire.map((w) => {\n const meta = rehydrateMeta(w.meta);\n names.add(meta.name);\n if (!this.connectionStates.has(meta.name)) {\n this.connectionStates.set(meta.name, w.connectionState);\n }\n return { meta, channel: this.makeChannel(meta.name, channelUrl(meta)) };\n });\n for (const name of [...this.connectionStates.keys()]) {\n if (!names.has(name)) {\n this.connectionStates.delete(name);\n }\n }\n this.notifyConnection();\n }\n\n // Shared in-flight seed so the eager kick-off and startup() share one list RPC.\n private ensureSeeded(): Promise<void> {\n if (!this.seedPromise) {\n const pending = this.refreshRemotes();\n this.seedPromise = pending;\n\n pending.catch(() => {\n if (this.seedPromise === pending) {\n this.seedPromise = null;\n }\n });\n }\n return this.seedPromise;\n }\n}\n\nexport function createSyncManagerProxy(\n router: MessageRouter,\n busProxy: IEventBus,\n): ISyncManager {\n return new SyncManagerProxy(router, busProxy);\n}\n","import { ReactorEventTypes, SyncEventTypes } from \"@powerhousedao/reactor\";\nimport { SYNC_STATUS_CHANGED_EVENT } from \"./sync-manager-proxy.js\";\n\nexport const FORWARDED_EVENT_TYPES = [\n SyncEventTypes.SYNC_PENDING,\n SyncEventTypes.SYNC_SUCCEEDED,\n SyncEventTypes.SYNC_FAILED,\n SyncEventTypes.DEAD_LETTER_ADDED,\n SyncEventTypes.CONNECTION_STATE_CHANGED,\n ReactorEventTypes.MODEL_LOADED,\n];\n\nexport const FORWARDED_BUS_EVENT_TYPES: number[] = [\n ...FORWARDED_EVENT_TYPES,\n SYNC_STATUS_CHANGED_EVENT,\n];\n","import type { IEventBus, Unsubscribe } from \"@powerhousedao/reactor\";\nimport { FORWARDED_BUS_EVENT_TYPES } from \"./forwarded-events.js\";\nimport { KeyedListeners } from \"./listeners.js\";\nimport type { MessageRouter } from \"./message-router.js\";\n\ntype BusSubscriber = (type: number, event: unknown) => void | Promise<void>;\n\n/** Tab-side IEventBus over bus-event; emit() is unsupported (the worker emits). */\nexport class ReactorEventBusProxy implements IEventBus {\n private readonly forwardedTypes = new Set<number>(FORWARDED_BUS_EVENT_TYPES);\n private readonly subscribers = new KeyedListeners<\n number,\n [number, unknown]\n >();\n\n constructor(router: MessageRouter) {\n router.on(\"bus-event\", (msg) => {\n this.subscribers.emit(msg.eventType, msg.eventType, msg.event);\n });\n }\n\n subscribe<K>(\n type: number,\n subscriber: (type: number, event: K) => void | Promise<void>,\n ): Unsubscribe {\n if (!this.forwardedTypes.has(type)) {\n throw new Error(\n `ReactorEventBusProxy cannot subscribe to event type ${type}: the worker forwards only [${[...this.forwardedTypes].join(\", \")}]`,\n );\n }\n const entry = subscriber as BusSubscriber;\n return this.subscribers.add(\n type,\n entry as (eventType: number, event: unknown) => void,\n );\n }\n\n emit(): Promise<void> {\n return Promise.reject(\n new Error(\n \"EventBus.emit is not supported tab-side; the reactor graph emits in the worker\",\n ),\n );\n }\n}\n\nexport function createReactorEventBusProxy(router: MessageRouter): IEventBus {\n return new ReactorEventBusProxy(router);\n}\n","import type {\n IDocumentModelRegistry,\n IReactorClient,\n} from \"@powerhousedao/reactor\";\nimport { createReactorClientProxy } from \"./client-proxy.js\";\nimport type { MessageRouter } from \"./message-router.js\";\nimport type { ReactorIdentity, VersionFingerprint } from \"./protocol.js\";\n\nexport type ReactorHello = {\n version: VersionFingerprint;\n construct?: unknown;\n packages?: string[];\n};\n\nexport function connectReactorClient(\n router: MessageRouter,\n hello: ReactorHello,\n onReload?: (reason: string, workerGen?: string) => void,\n registry?: IDocumentModelRegistry,\n): IReactorClient {\n const client = createReactorClientProxy(router, { onReload, registry });\n router.post({\n k: \"hello\",\n id: \"hello\",\n version: hello.version,\n construct: hello.construct,\n packages: hello.packages,\n });\n return client;\n}\n\n// Push the current renown identity (null on logout) to the worker; re-send on login/logout.\nexport function postReactorIdentity(\n router: MessageRouter,\n user: ReactorIdentity | null,\n): void {\n router.post({ k: \"identity\", user });\n}\n","import type {\n DocumentChangeEvent,\n IReactorClient,\n SearchFilter,\n ViewFilter,\n} from \"@powerhousedao/reactor\";\nimport { hostResponder, type IHostResponder } from \"./host-reply.js\";\nimport { dehydratePage } from \"./paging.js\";\nimport { SubscriptionStore } from \"./subscription.js\";\nimport type {\n ClientMessage,\n RpcNextPage,\n RpcRequest,\n RpcSubscribe,\n} from \"./protocol.js\";\nimport type { IRpcTransport } from \"./transport.js\";\n\ntype AnyMethod = (...args: unknown[]) => unknown;\ntype NextPage = () => Promise<unknown>;\n\n// Bound the page-continuation cache; an evicted token falls back to the \"expired cursor\" error.\nconst MAX_PENDING_PAGES = 1000;\n\nexport class ReactorHostServer {\n private readonly client: IReactorClient;\n private readonly transport: IRpcTransport;\n private readonly reply: IHostResponder;\n private readonly aborters = new Map<string, AbortController>();\n private readonly subscriptions = new SubscriptionStore();\n private readonly pages = new Map<string, NextPage>();\n private pageCounter = 0;\n private detach: () => void = () => {};\n\n constructor(client: IReactorClient, transport: IRpcTransport) {\n this.client = client;\n this.transport = transport;\n this.reply = hostResponder(transport);\n }\n\n start(): void {\n this.detach = this.transport.onMessage((message) => {\n void this.handleMessage(message as ClientMessage);\n });\n }\n\n stop(): void {\n this.detach();\n this.subscriptions.drain();\n this.aborters.clear();\n this.pages.clear();\n }\n\n async handleMessage(message: ClientMessage): Promise<void> {\n try {\n switch (message.k) {\n case \"req\":\n await this.handleRequest(message);\n return;\n case \"page\":\n await this.handlePage(message);\n return;\n case \"abort\":\n this.aborters.get(message.targetId)?.abort();\n return;\n case \"sub\":\n this.handleSubscribe(message);\n return;\n case \"unsub\":\n this.subscriptions.end(message.id);\n return;\n }\n } catch (error) {\n this.reply.errForKind(message, error);\n }\n }\n\n private async handleRequest(message: RpcRequest): Promise<void> {\n let args = message.args;\n let controller: AbortController | undefined;\n if (message.abortAt !== undefined) {\n controller = new AbortController();\n this.aborters.set(message.id, controller);\n args = message.args.slice();\n args[message.abortAt] = controller.signal;\n }\n try {\n const method = this.resolveMethod(message.method);\n const value = await method(...args);\n this.reply.ok(message.id, this.prepareResult(value));\n } catch (error) {\n this.reply.err(message.id, error);\n } finally {\n if (controller) {\n this.aborters.delete(message.id);\n }\n }\n }\n\n private async handlePage(message: RpcNextPage): Promise<void> {\n const next = this.pages.get(message.token);\n this.pages.delete(message.token);\n if (!next) {\n this.reply.err(\n message.id,\n new Error(\"Paged cursor already consumed or expired\"),\n );\n return;\n }\n try {\n const value = await next();\n this.reply.ok(message.id, this.prepareResult(value));\n } catch (error) {\n this.reply.err(message.id, error);\n }\n }\n\n private handleSubscribe(message: RpcSubscribe): void {\n const unsubscribe = this.client.subscribe(\n message.search as SearchFilter,\n (change: DocumentChangeEvent) =>\n this.transport.post({ k: \"event\", id: message.id, change }),\n message.view as ViewFilter | undefined,\n );\n this.subscriptions.set(message.id, unsubscribe);\n }\n\n private prepareResult(value: unknown): unknown {\n return dehydratePage(value, (next) => {\n const token = `p${++this.pageCounter}`;\n this.pages.set(token, next);\n if (this.pages.size > MAX_PENDING_PAGES) {\n const oldest = this.pages.keys().next().value;\n if (oldest !== undefined) {\n this.pages.delete(oldest);\n }\n }\n return token;\n });\n }\n\n private resolveMethod(path: string): AnyMethod {\n if (path.startsWith(\"drives.\")) {\n const name = path.slice(\"drives.\".length);\n const drives = this.client.drives as unknown as Record<string, AnyMethod>;\n const fn = drives[name];\n if (typeof fn !== \"function\") {\n throw new Error(`Unknown drive method: ${name}`);\n }\n return fn.bind(this.client.drives);\n }\n const client = this.client as unknown as Record<string, AnyMethod>;\n const fn = client[path];\n if (typeof fn !== \"function\") {\n throw new Error(`Unknown reactor method: ${path}`);\n }\n return fn.bind(this.client);\n }\n}\n","import type { RpcMessage } from \"./protocol.js\";\n\nexport interface IRpcTransport {\n post(message: RpcMessage): void;\n onMessage(listener: (message: RpcMessage) => void): () => void;\n close(): void;\n}\n\nexport function createPortTransport(port: MessagePort): IRpcTransport {\n port.start();\n port.addEventListener(\"messageerror\", (event) => {\n console.error(\"[rpc transport] failed to deserialize message\", event);\n });\n return {\n post(message) {\n port.postMessage(message);\n },\n onMessage(listener) {\n const handler = (event: MessageEvent) => {\n listener(event.data as RpcMessage);\n };\n port.addEventListener(\"message\", handler);\n return () => port.removeEventListener(\"message\", handler);\n },\n close() {\n port.close();\n },\n };\n}\n","import type { IReactorClient } from \"@powerhousedao/reactor\";\nimport { hostResponder, type IHostResponder } from \"./host-reply.js\";\nimport { ReactorHostServer } from \"./host-server.js\";\nimport { SubscriptionStore } from \"./subscription.js\";\nimport type {\n ClientMessage,\n CorrelationId,\n ReactorIdentity,\n RpcAdmin,\n RpcDbOp,\n RpcHello,\n RpcInspectorOp,\n RpcLiveSubscribe,\n RpcRegisterPackages,\n RpcSyncOp,\n RpcUnregisterPackages,\n VersionFingerprint,\n WorkerInspectorInfo,\n WorkerMigrationState,\n} from \"./protocol.js\";\nimport { RPC_PROTOCOL_VERSION } from \"./protocol.js\";\nimport { createPortTransport, type IRpcTransport } from \"./transport.js\";\n\nfunction isDataMessage(\n msg: ClientMessage,\n): msg is ClientMessage & { id: CorrelationId } {\n return (\n msg.k === \"req\" ||\n msg.k === \"sub\" ||\n msg.k === \"page\" ||\n msg.k === \"sync-op\" ||\n msg.k === \"db-op\" ||\n msg.k === \"inspector-op\" ||\n msg.k === \"sub-live\"\n );\n}\n\nexport type ReactorHostOptions = {\n client?: IReactorClient;\n build?: (construct: unknown) => Promise<IReactorClient>;\n registerPackages?: (specs: string[]) => Promise<void>;\n unregisterPackages?: (names: string[]) => Promise<void>;\n onIdentity?: (user: ReactorIdentity | null) => void;\n onSyncOp?: (method: string, args: unknown[]) => Promise<unknown>;\n onDbOp?: (method: string, args: unknown[]) => Promise<unknown>;\n onInspectorOp?: (method: string, args: unknown[]) => Promise<unknown>;\n onLiveQuery?: (\n sql: string,\n params: unknown[],\n onResults: (results: unknown) => void,\n ) => Promise<() => void>;\n // Worker identity + restart for the admin/inspector channel.\n namespace?: string;\n appBuildId?: string;\n ownerId?: string;\n bootedAtMs?: number;\n onAdminRestart?: () => void;\n onAdminClearStorage?: () => Promise<void>;\n onAdminMigrate?: () => Promise<void>;\n};\n\nfunction versionsCompatible(\n a: VersionFingerprint,\n b: VersionFingerprint,\n): boolean {\n return (\n a.appBuildId === b.appBuildId &&\n a.rpcProtocolVersion === b.rpcProtocolVersion &&\n (a.featureFlags ?? \"\") === (b.featureFlags ?? \"\")\n );\n}\n\n// Deterministic per version so every new-build tab converges on one fresh\n// worker; the flags are in it so a flag-only change lands on a fresh one too.\nfunction workerGenForVersion(version: VersionFingerprint): string {\n const flags = version.featureFlags ?? \"\";\n const suffix = flags === \"\" ? \"\" : `-${hashFlags(flags)}`;\n return `v${version.rpcProtocolVersion}-${version.appBuildId}${suffix}`;\n}\n\n/** Names what differs, so a reload is diagnosable from the tab's console. */\nfunction mismatchReason(\n baseline: VersionFingerprint,\n incoming: VersionFingerprint,\n): string {\n if ((baseline.featureFlags ?? \"\") !== (incoming.featureFlags ?? \"\")) {\n return `reactor enforcement flags changed (worker: ${\n baseline.featureFlags || \"none\"\n }, tab: ${incoming.featureFlags || \"none\"})`;\n }\n return \"reactor version mismatch\";\n}\n\n// Worker names end up in devtools and IndexedDB keys, so the flag set is\n// folded to a short stable token rather than spelled out.\nfunction hashFlags(flags: string): string {\n let hash = 0;\n for (let i = 0; i < flags.length; i++) {\n hash = (hash * 31 + flags.charCodeAt(i)) | 0;\n }\n return (hash >>> 0).toString(36);\n}\n\nexport class ReactorHost {\n private readonly options: ReactorHostOptions;\n private readonly disposers = new Set<() => void>();\n private readonly clients = new Set<IRpcTransport>();\n private clientPromise: Promise<IReactorClient> | null = null;\n private baseline: VersionFingerprint | null = null;\n private readonly ownerId: string;\n private readonly bootedAtMs: number;\n private migrationState: WorkerMigrationState | null = null;\n\n constructor(options: ReactorHostOptions) {\n this.options = options;\n this.ownerId = options.ownerId ?? crypto.randomUUID();\n this.bootedAtMs = options.bootedAtMs ?? Date.now();\n if (options.client) {\n this.clientPromise = Promise.resolve(options.client);\n }\n }\n\n connect(transport: IRpcTransport): () => void {\n let server: ReactorHostServer | null = null;\n let ready = false;\n const buffer: ClientMessage[] = [];\n const liveSubs = new SubscriptionStore();\n const reply = hostResponder(transport);\n\n const ensureServer = async (construct?: unknown): Promise<void> => {\n if (server) {\n return;\n }\n const client = await this.resolveClient(construct);\n server = new ReactorHostServer(client, transport);\n };\n\n // Drain only after init (server + package registration) completes, in order.\n // Messages arriving mid-drain stay buffered (ready flips last) so order holds.\n const drainBuffer = async (): Promise<void> => {\n while (buffer.length > 0) {\n const message = buffer.shift()!;\n await server!.handleMessage(message);\n }\n ready = true;\n };\n\n const detach = transport.onMessage((message) => {\n const msg = message as ClientMessage;\n if (msg.k === \"ping\") {\n transport.post({\n k: \"pong\",\n id: msg.id,\n ownerId: this.ownerId,\n bootedAtMs: this.bootedAtMs,\n });\n return;\n }\n if (this.migrationState?.status === \"migrating\" && isDataMessage(msg)) {\n // Route the rejection to the kind's owner (sub -> sub-err, etc.).\n reply.errForKind(msg, new Error(\"migration in progress\"));\n return;\n }\n if (msg.k === \"hello\") {\n void this.handleHello(msg, transport, reply, ensureServer, drainBuffer);\n return;\n }\n if (msg.k === \"register-packages\") {\n void this.handleRegister(msg, reply);\n return;\n }\n if (msg.k === \"unregister-packages\") {\n void this.handleUnregister(msg, reply);\n return;\n }\n if (msg.k === \"identity\") {\n this.options.onIdentity?.(msg.user);\n return;\n }\n if (msg.k === \"sync-op\") {\n void this.handleOp(msg, this.options.onSyncOp, \"sync\", reply);\n return;\n }\n if (msg.k === \"db-op\") {\n void this.handleOp(msg, this.options.onDbOp, \"db\", reply);\n return;\n }\n if (msg.k === \"inspector-op\") {\n void this.handleOp(msg, this.options.onInspectorOp, \"inspector\", reply);\n return;\n }\n if (msg.k === \"sub-live\") {\n void this.handleLiveSubscribe(msg, transport, reply, liveSubs);\n return;\n }\n if (msg.k === \"unsub-live\") {\n liveSubs.end(msg.id);\n return;\n }\n if (msg.k === \"admin\") {\n this.handleAdmin(msg, reply);\n return;\n }\n if (ready && server) {\n void server.handleMessage(msg);\n } else {\n buffer.push(msg);\n }\n });\n\n this.clients.add(transport);\n if (this.migrationState) {\n transport.post({ k: \"migration\", state: this.migrationState });\n }\n if (this.options.client) {\n void ensureServer()\n .then(drainBuffer)\n .catch((error) => {\n console.error(\"ReactorHost buffer drain failed\", error);\n });\n }\n\n const dispose = () => {\n server?.stop();\n detach();\n liveSubs.drain();\n this.clients.delete(transport);\n this.disposers.delete(dispose);\n };\n this.disposers.add(dispose);\n return dispose;\n }\n\n connectPort(port: MessagePort): () => void {\n return this.connect(createPortTransport(port));\n }\n\n // Fan out a reactor bus event to every connected tab, fire-and-forget.\n broadcastBusEvent(eventType: number, event: unknown): void {\n for (const transport of this.clients) {\n transport.post({ k: \"bus-event\", eventType, event });\n }\n }\n\n // Tell every connected tab to reload; `workerGen` makes them adopt one fresh worker name.\n broadcastReload(reason: string, workerGen?: string): void {\n for (const transport of this.clients) {\n transport.post({ k: \"reload\", reason, workerGen });\n }\n }\n\n // Cache + fan out the worker's migration state so tabs drive the banner from it.\n setMigrationState(state: WorkerMigrationState): void {\n this.migrationState = state;\n for (const transport of this.clients) {\n transport.post({ k: \"migration\", state });\n }\n }\n\n get connectionCount(): number {\n return this.disposers.size;\n }\n\n private handleAdmin(message: RpcAdmin, reply: IHostResponder): void {\n if (message.method === \"restart\") {\n this.options.onAdminRestart?.();\n reply.ok(message.id);\n return;\n }\n if (message.method === \"clearStorage\") {\n void this.handleAdminAsync(\n this.options.onAdminClearStorage,\n message,\n reply,\n );\n return;\n }\n if (message.method === \"migrate\") {\n void this.handleAdminAsync(this.options.onAdminMigrate, message, reply);\n return;\n }\n const info: WorkerInspectorInfo = {\n namespace: this.options.namespace ?? \"\",\n ownerId: this.ownerId,\n bootedAtMs: this.bootedAtMs,\n connectedClients: this.connectionCount,\n appBuildId:\n this.baseline?.appBuildId ?? this.options.appBuildId ?? \"unknown\",\n rpcProtocolVersion:\n this.baseline?.rpcProtocolVersion ?? RPC_PROTOCOL_VERSION,\n featureFlags: this.baseline?.featureFlags ?? \"\",\n };\n reply.ok(message.id, info);\n }\n\n private async handleAdminAsync(\n handler: (() => Promise<void>) | undefined,\n message: RpcAdmin,\n reply: IHostResponder,\n ): Promise<void> {\n await reply.run(message.id, async () => {\n await handler?.();\n });\n }\n\n private resolveClient(construct?: unknown): Promise<IReactorClient> {\n if (!this.clientPromise) {\n const build = this.options.build;\n if (!build) {\n return Promise.reject(\n new Error(\"ReactorHost has no client or builder\"),\n );\n }\n const pending = build(construct);\n this.clientPromise = pending;\n pending.catch(() => {\n if (this.clientPromise === pending) {\n this.clientPromise = null;\n }\n });\n }\n return this.clientPromise;\n }\n\n private async awaitClientReady(): Promise<void> {\n if (this.clientPromise) {\n await this.clientPromise;\n }\n }\n\n private requireHandler<T>(\n handler: T | undefined,\n message: ClientMessage,\n reply: IHostResponder,\n label: string,\n ): handler is T {\n if (handler) {\n return true;\n }\n reply.errForKind(message, new Error(`ReactorHost has no ${label} handler`));\n return false;\n }\n\n private async handleHello(\n message: RpcHello,\n transport: IRpcTransport,\n reply: IHostResponder,\n ensureServer: (construct?: unknown) => Promise<void>,\n drainBuffer: () => Promise<void>,\n ): Promise<void> {\n if (this.baseline) {\n if (!versionsCompatible(this.baseline, message.version)) {\n transport.post({\n k: \"reload\",\n reason: mismatchReason(this.baseline, message.version),\n workerGen: workerGenForVersion(message.version),\n });\n reply.ok(message.id, { ok: false });\n return;\n }\n } else {\n this.baseline = message.version;\n }\n await reply.run(message.id, async () => {\n await ensureServer(message.construct);\n if (message.packages && message.packages.length > 0) {\n await this.options.registerPackages?.(message.packages);\n }\n // Packages are registered; replay buffered data messages in order.\n await drainBuffer();\n });\n }\n\n private async handleRegister(\n message: RpcRegisterPackages,\n reply: IHostResponder,\n ): Promise<void> {\n await reply.run(message.id, async () => {\n await this.options.registerPackages?.(message.specs);\n });\n }\n\n private async handleUnregister(\n message: RpcUnregisterPackages,\n reply: IHostResponder,\n ): Promise<void> {\n await reply.run(message.id, async () => {\n await this.options.unregisterPackages?.(message.names);\n });\n }\n\n private async handleOp(\n message: RpcSyncOp | RpcDbOp | RpcInspectorOp,\n handler:\n | ((method: string, args: unknown[]) => Promise<unknown>)\n | undefined,\n label: string,\n reply: IHostResponder,\n ): Promise<void> {\n if (!this.requireHandler(handler, message, reply, label)) {\n return;\n }\n await reply.run(\n message.id,\n async () => {\n await this.awaitClientReady();\n return handler(message.method, message.args);\n },\n (value) => value,\n );\n }\n\n private async handleLiveSubscribe(\n message: RpcLiveSubscribe,\n transport: IRpcTransport,\n reply: IHostResponder,\n liveSubs: SubscriptionStore,\n ): Promise<void> {\n const handler = this.options.onLiveQuery;\n if (!this.requireHandler(handler, message, reply, \"live-query\")) {\n return;\n }\n const placeholder = () => undefined;\n liveSubs.set(message.id, placeholder);\n try {\n await this.awaitClientReady();\n const unsubscribe = await handler(\n message.sql,\n message.params,\n (results) => {\n transport.post({ k: \"event-live\", id: message.id, results });\n },\n );\n // unsub-live raced ahead during the await: tear down, don't leak.\n if (liveSubs.get(message.id) !== placeholder) {\n unsubscribe();\n return;\n }\n liveSubs.set(message.id, unsubscribe);\n } catch (error) {\n if (liveSubs.get(message.id) === placeholder) {\n liveSubs.delete(message.id);\n }\n reply.errForKind(message, error);\n }\n }\n}\n","import type { IDocumentModelLoader } from \"@powerhousedao/reactor\";\nimport type { DocumentModelModule } from \"@powerhousedao/shared/document-model\";\nimport { RegistryClient } from \"../registry/client.js\";\n\nexport type PackageImporter = (url: string) => Promise<Record<string, unknown>>;\n\nexport type WorkerPackageLoaderOptions = {\n cdnUrl: string;\n importPackage: PackageImporter;\n resolvePackages?: (documentType: string) => Promise<string[]>;\n};\n\nexport type PackageLoadFailure = {\n name: string;\n url: string;\n error: unknown;\n};\n\nfunction packageName(spec: string): string {\n const at = spec.lastIndexOf(\"@\");\n return at > 0 ? spec.slice(0, at) : spec;\n}\n\nfunction moduleKey(module: DocumentModelModule): string {\n return `${module.documentModel.global.id}@${module.version ?? 1}`;\n}\n\nfunction isDocumentModelModule(value: unknown): value is DocumentModelModule {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const candidate = value as {\n reducer?: unknown;\n documentModel?: { global?: { id?: unknown } };\n };\n return (\n typeof candidate.reducer === \"function\" &&\n typeof candidate.documentModel?.global?.id === \"string\"\n );\n}\n\nexport class WorkerPackageLoader implements IDocumentModelLoader {\n private readonly cdnUrl: string;\n private readonly importPackage: PackageImporter;\n private readonly resolvePackages: (documentType: string) => Promise<string[]>;\n // Keyed by `documentType@version`: a type can ship several module versions\n // side by side, and keying by type alone would evict all but the last.\n private readonly modulesByKey = new Map<string, DocumentModelModule>();\n private readonly loadedSpecs = new Set<string>();\n private readonly failures: PackageLoadFailure[] = [];\n\n constructor(options: WorkerPackageLoaderOptions) {\n this.cdnUrl = options.cdnUrl.replace(/\\/$/, \"\");\n this.importPackage = options.importPackage;\n const registryClient = new RegistryClient(options.cdnUrl);\n this.resolvePackages =\n options.resolvePackages ??\n ((documentType) =>\n registryClient.getPackagesByDocumentType(documentType));\n }\n\n async loadPackages(specs: string[]): Promise<DocumentModelModule[]> {\n await Promise.all(\n [...new Set(specs)].map((spec) => this.loadPackage(spec)),\n );\n return this.models;\n }\n\n // On a miss, discover the package(s) for the type and import them on demand.\n async load(documentType: string): Promise<DocumentModelModule> {\n const existing = this.latestForType(documentType);\n if (existing) {\n return existing;\n }\n const packageNames = await this.resolvePackages(documentType);\n const failuresBefore = this.failures.length;\n await Promise.all(\n [...new Set(packageNames)].map((name) => this.loadPackage(name)),\n );\n const loaded = this.latestForType(documentType);\n if (loaded) {\n return loaded;\n }\n throw this.notLoadedError(\n documentType,\n packageNames,\n this.failures.slice(failuresBefore),\n );\n }\n\n get models(): DocumentModelModule[] {\n return [...new Set(this.modulesByKey.values())];\n }\n\n get loadFailures(): PackageLoadFailure[] {\n return [...this.failures];\n }\n\n /** The highest registered version for a type, which is what a bare load resolves to. */\n private latestForType(documentType: string): DocumentModelModule | undefined {\n let latest: DocumentModelModule | undefined;\n for (const module of this.modulesByKey.values()) {\n if (module.documentModel.global.id !== documentType) {\n continue;\n }\n if (!latest || (module.version ?? 1) > (latest.version ?? 1)) {\n latest = module;\n }\n }\n return latest;\n }\n\n private notLoadedError(\n documentType: string,\n packageNames: string[],\n failures: PackageLoadFailure[],\n ): Error {\n if (packageNames.length === 0) {\n return new Error(`No package found for document model: ${documentType}`);\n }\n if (failures.length === 0) {\n return new Error(\n `Imported [${packageNames.join(\", \")}] but document model not found: ${documentType}`,\n );\n }\n const cause =\n failures.length === 1\n ? failures[0].error\n : new AggregateError(failures.map((failure) => failure.error));\n return new Error(\n `Failed to import package(s) [${packageNames.join(\", \")}] for document model: ${documentType}`,\n { cause },\n );\n }\n\n private async loadPackage(spec: string): Promise<void> {\n if (this.loadedSpecs.has(spec)) {\n return;\n }\n const name = packageName(spec);\n const url = `${this.cdnUrl}/${name}/browser/document-models/index.js`;\n try {\n const namespace = await this.importPackage(url);\n for (const value of Object.values(namespace)) {\n if (isDocumentModelModule(value)) {\n this.modulesByKey.set(moduleKey(value), value);\n }\n }\n this.loadedSpecs.add(spec);\n } catch (error) {\n this.failures.push({ name, url, error });\n }\n }\n}\n","import { fromErrorInfo } from \"./error-info.js\";\nimport type { ClientMessage, CorrelationId, OwnerMessage } from \"./protocol.js\";\n\ntype Pending = {\n resolve: (value: unknown) => void;\n reject: (error: unknown) => void;\n timer?: ReturnType<typeof setTimeout>;\n cleanup?: () => void;\n transform?: (value: unknown) => unknown;\n};\n\nexport type RpcRequestOptions = {\n /** Reject if no response arrives within this many ms; omit for no timeout. */\n timeoutMs?: number;\n /** Maps a successful response value (e.g. paged-result rehydration). */\n transform?: (value: unknown) => unknown;\n /** Runs after the post; may return a cleanup invoked when the request settles. */\n setup?: (id: CorrelationId) => (() => void) | void;\n};\n\n/** Anything that can send a client message (the router). */\nexport type RpcPoster = { post(message: ClientMessage): void };\n\n/**\n * Request/response correlation shared by every RPC proxy: one pending map,\n * res/err settlement, and per-request timeout/transform/cleanup.\n */\nexport class RpcCorrelator {\n private counter = 0;\n private readonly pending = new Map<CorrelationId, Pending>();\n\n constructor(\n private readonly poster: RpcPoster,\n private readonly prefix = \"r\",\n ) {}\n\n nextId(): CorrelationId {\n return `${this.prefix}${++this.counter}`;\n }\n\n /** Settle the pending request a res/err refers to; a missing id is a no-op. */\n handleMessage(message: OwnerMessage): void {\n if (message.k !== \"res\" && message.k !== \"err\") {\n return;\n }\n const entry = this.pending.get(message.id);\n if (!entry) {\n return;\n }\n this.pending.delete(message.id);\n if (entry.timer) {\n clearTimeout(entry.timer);\n }\n entry.cleanup?.();\n if (message.k === \"res\") {\n entry.resolve(\n entry.transform ? entry.transform(message.value) : message.value,\n );\n } else {\n entry.reject(fromErrorInfo(message.error));\n }\n }\n\n /** Send a request, resolving on its res/err. `build` stamps the generated id. */\n request(\n build: (id: CorrelationId) => ClientMessage,\n options: RpcRequestOptions = {},\n ): Promise<unknown> {\n const id = this.nextId();\n const message = build(id);\n const method = (message as { method?: unknown }).method;\n const label =\n typeof method === \"string\" ? `${message.k} \"${method}\"` : message.k;\n const promise = new Promise<unknown>((resolve, reject) => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n if (options.timeoutMs !== undefined) {\n const timeoutMs = options.timeoutMs;\n timer = setTimeout(() => {\n const entry = this.pending.get(id);\n if (entry) {\n this.pending.delete(id);\n entry.cleanup?.();\n reject(\n new Error(\n `Reactor worker did not respond to ${label} within ${timeoutMs}ms; the worker may have failed to load`,\n ),\n );\n }\n }, timeoutMs);\n }\n this.pending.set(id, {\n resolve,\n reject,\n timer,\n transform: options.transform,\n });\n });\n this.poster.post(message);\n const cleanup = options.setup?.(id);\n if (cleanup) {\n const entry = this.pending.get(id);\n if (entry) {\n entry.cleanup = cleanup;\n } else {\n cleanup();\n }\n }\n return promise;\n }\n}\n","import type { ClientMessage, CorrelationId, OwnerMessage } from \"./protocol.js\";\nimport { RpcCorrelator, type RpcRequestOptions } from \"./rpc-correlator.js\";\nimport type { IRpcTransport } from \"./transport.js\";\n\ntype OwnerKind = OwnerMessage[\"k\"];\ntype RouteHandler = (message: OwnerMessage) => void;\n\n/**\n * Owns the single transport.onMessage and dispatches each message to the one\n * consumer that owns its kind. Composes the shared RpcCorrelator (res/err) and\n * exposes request/nextId; attach/detach swap the transport for reconnect.\n */\nexport class MessageRouter {\n private readonly handlers = new Map<OwnerKind, RouteHandler>();\n private readonly correlator: RpcCorrelator;\n private transport: IRpcTransport | null = null;\n private detachTransport: () => void = () => {};\n\n constructor(prefix = \"r\") {\n this.correlator = new RpcCorrelator(this, prefix);\n const settle: RouteHandler = (message) =>\n this.correlator.handleMessage(message);\n this.handlers.set(\"res\", settle);\n this.handlers.set(\"err\", settle);\n }\n\n attach(transport: IRpcTransport): void {\n this.detachTransport();\n this.transport = transport;\n this.detachTransport = transport.onMessage((message) => {\n const msg = message as OwnerMessage;\n this.handlers.get(msg.k)?.(msg);\n });\n }\n\n detach(): void {\n this.detachTransport();\n this.detachTransport = () => {};\n this.transport = null;\n }\n\n post(message: ClientMessage): void {\n if (!this.transport) {\n throw new Error(\"MessageRouter.post called before attach\");\n }\n this.transport.post(message);\n }\n\n /** Register the sole owner of a message kind; throws on a duplicate. */\n on<K extends OwnerKind>(\n kind: K,\n handler: (message: Extract<OwnerMessage, { k: K }>) => void,\n ): () => void {\n if (this.handlers.has(kind)) {\n throw new Error(`MessageRouter already has a handler for \"${kind}\"`);\n }\n const route = handler as RouteHandler;\n this.handlers.set(kind, route);\n return () => {\n if (this.handlers.get(kind) === route) {\n this.handlers.delete(kind);\n }\n };\n }\n\n request(\n build: (id: CorrelationId) => ClientMessage,\n options?: RpcRequestOptions,\n ): Promise<unknown> {\n return this.correlator.request(build, options);\n }\n\n nextId(): CorrelationId {\n return this.correlator.nextId();\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/reactor-browser",
3
- "version": "6.2.2-dev.49",
3
+ "version": "6.2.2-dev.50",
4
4
  "license": "AGPL-3.0-only",
5
5
  "type": "module",
6
6
  "repository": {
@@ -72,14 +72,14 @@
72
72
  "slug": "^11.0.0",
73
73
  "usehooks-ts": "^3.1.1",
74
74
  "zod": "4.3.6",
75
- "@powerhousedao/analytics-engine-browser": "6.2.2-dev.49",
76
- "@powerhousedao/reactor": "6.2.2-dev.49",
77
- "@powerhousedao/analytics-engine-core": "6.2.2-dev.49",
78
- "@powerhousedao/reactor-attachments": "6.2.2-dev.49",
79
- "@powerhousedao/reactor-drive": "6.2.2-dev.49",
80
- "@powerhousedao/shared": "6.2.2-dev.49",
81
- "@renown/sdk": "6.2.2-dev.49",
82
- "document-model": "6.2.2-dev.49"
75
+ "@powerhousedao/analytics-engine-browser": "6.2.2-dev.50",
76
+ "@powerhousedao/reactor": "6.2.2-dev.50",
77
+ "@powerhousedao/analytics-engine-core": "6.2.2-dev.50",
78
+ "@powerhousedao/reactor-attachments": "6.2.2-dev.50",
79
+ "@powerhousedao/reactor-drive": "6.2.2-dev.50",
80
+ "@powerhousedao/shared": "6.2.2-dev.50",
81
+ "document-model": "6.2.2-dev.50",
82
+ "@renown/sdk": "6.2.2-dev.50"
83
83
  },
84
84
  "devDependencies": {
85
85
  "@electric-sql/pglite": "0.3.15",
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspector-proxy-CL1NSQyn.d.ts","names":[],"sources":["../src/rpc/protocol.ts","../src/rpc/rpc-correlator.ts","../src/rpc/transport.ts","../src/rpc/message-router.ts","../src/rpc/admin-client.ts","../src/rpc/inspector-proxy.ts"],"mappings":"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"}