@powerhousedao/reactor-browser 6.2.2-dev.51 → 6.2.2-dev.53

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.
@@ -2,7 +2,7 @@ import { a as PHGlobal$1, b as IPackagesListener, ct as PromiseWithState, d as U
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";
5
- import { Action as Action$1, DocumentOperations, ISigner, Operation as Operation$1, PHBaseState, PHDocument as PHDocument$1, PHDocumentHeader } from "@powerhousedao/shared/document-model";
5
+ import { Action as Action$1, DocumentModelModule as DocumentModelModule$1, DocumentOperations, ISigner, Operation as Operation$1, PHBaseState, PHDocument as PHDocument$1, PHDocumentHeader } from "@powerhousedao/shared/document-model";
6
6
  import { ReactNode } from "react";
7
7
  import * as _powerhousedao_reactor0 from "@powerhousedao/reactor";
8
8
  import { Database, DocumentChangeEvent, DocumentModelSource, IDocumentModelRegistry, ISyncManager, OperationFilter, PagedResults, PagingOptions, PropagationMode, SearchFilter, ViewFilter } from "@powerhousedao/reactor";
@@ -339,6 +339,28 @@ type GraphQLReactorClientOptions = {
339
339
  * only emits the changes it made itself.
340
340
  */
341
341
  realtime?: boolean;
342
+ /**
343
+ * The document model modules used to sign a batch of two or more actions.
344
+ *
345
+ * Signing action N+1 needs the state action N leaves behind, and only the
346
+ * document's own reducer can predict it - so a batch is signable only when
347
+ * the module matching the document's type AND its exact
348
+ * `state.document.version` is here. One action needs no prediction and is
349
+ * signed without any of this.
350
+ *
351
+ * Read once, when the client is built. Below `GraphQLReactorProvider` this
352
+ * is its `documentModels` prop; a client constructed directly passes its own.
353
+ */
354
+ documentModels?: readonly DocumentModelModule<any>[];
355
+ /**
356
+ * Signs the actions this client pushes, instead of the logged-in Renown user.
357
+ *
358
+ * Left out - the normal case - the signer is resolved per push from
359
+ * `window.ph.renown`, so a page signs as whoever is logged in and pushes
360
+ * unsigned when nobody is. Set it where there is no Renown to read: tests,
361
+ * scripts, and integration suites that must sign deterministically.
362
+ */
363
+ signer?: ISigner;
342
364
  };
343
365
  /**
344
366
  * The marker {@link isGraphQLReactorClient} looks for.
@@ -364,6 +386,8 @@ declare class GraphQLReactorClient implements IReactorBrowserClient$1 {
364
386
  private readonly listeners;
365
387
  private readonly tokenProvider;
366
388
  private readonly subscriptionsUrl;
389
+ private readonly documentModels;
390
+ private readonly signer;
367
391
  private stopRealtime;
368
392
  private realtimeStarted;
369
393
  private realtimeGeneration;
@@ -584,8 +608,16 @@ type GraphQLReactorProviderProps = {
584
608
  * resolution happens before tree-shaking, so a root import drags processor
585
609
  * (server-side) code into the browser bundle and can break the build.
586
610
  *
611
+ * They are also what lets the client SIGN a batch of two or more actions:
612
+ * signing the second action needs the state the first one leaves behind, and
613
+ * only the document's own reducer can predict it, so a batch is signable only
614
+ * while the module matching the document's type and exact version is here.
615
+ * Single actions are signed without any of this.
616
+ *
587
617
  * Optional on purpose: a light app may equally ship NO modules and let the
588
618
  * Switchboard own the model entirely - both modes are supported.
619
+ *
620
+ * Like `url`, this is read once, when the client is built.
589
621
  */
590
622
  documentModels?: readonly DocumentModelModule<any>[];
591
623
  children: ReactNode;
@@ -598,9 +630,11 @@ type GraphQLReactorProviderProps = {
598
630
  *
599
631
  * It fills the document slots, plus `window.ph.vetraPackageManager` when
600
632
  * `documentModels` is given (a fixed {@link StaticPackageManager}, which makes
601
- * the document-model hooks work). `window.ph.reactorClientModule` always stays
602
- * empty, so full-reactor surfaces (drives, jobs, editor auto-discovery) find
603
- * nothing - an app below this provider renders components it imports itself.
633
+ * the document-model hooks work). The same modules go to the client itself, so
634
+ * a dispatch of two or more actions is signed rather than refused.
635
+ * `window.ph.reactorClientModule` always stays empty, so full-reactor surfaces
636
+ * (drives, jobs, editor auto-discovery) find nothing - an app below this
637
+ * provider renders components it imports itself.
604
638
  *
605
639
  * The client is built on the client only: on the server the slots stay empty
606
640
  * and the hooks report their normal loading states. The props are read once,
@@ -687,15 +721,40 @@ type MutateDocumentWithOperationsResult = {
687
721
  * `prevOpIndex` is the index of that last operation: revisions count
688
722
  * operations and indices are zero based, so an empty scope stamps `-1`, which
689
723
  * matches what the remote controller records.
724
+ *
725
+ * `revision` overrides the scope revision the index is derived from. Only a
726
+ * batch needs it - {@link prepareSignedActions} stamps action N at the revision
727
+ * the N actions before it will have produced, which the document itself does
728
+ * not know yet. `prevOpHash` always comes from the supplied document's state.
690
729
  */
691
- declare function stampAction(action: Action$1, document: PHDocument$1): Action$1;
730
+ declare function stampAction(action: Action$1, document: PHDocument$1, revision?: number): Action$1;
692
731
  /**
693
732
  * Signs a stamped action, preserving any signatures it already carries.
694
733
  *
695
734
  * The signer reads `context.prevOpHash` off the action, so this must run after
696
735
  * {@link stampAction}.
697
736
  */
698
- declare function signStampedAction(action: Action$1, signer: ISigner): Promise<Action$1>;
737
+ declare function signStampedAction(action: Action$1, signer: ISigner, signal?: AbortSignal): Promise<Action$1>;
738
+ /**
739
+ * Stamps and signs a batch of actions against one document snapshot, so every
740
+ * action carries the head its predecessor will leave behind.
741
+ *
742
+ * The server executes the array in order, each action against the state the one
743
+ * before it produced. The snapshot the light client reads has correct state and
744
+ * per-scope revisions but NO operation history (see `adapter.ts`), so the chain
745
+ * is predicted here: reduce action N over the working document to get the state
746
+ * action N+1 hashes, and carry a virtual revision alongside it. The revision has
747
+ * to be tracked separately because the reducer derives operation indices from
748
+ * the last stored operation, and with an empty history that counts from zero
749
+ * rather than from the document's real revision.
750
+ *
751
+ * A single action needs no prediction and therefore no `module`, which keeps
752
+ * today's callers working unchanged. Two or more require the document's exact
753
+ * reducer, one shared scope (the reactor rejects mixed-scope jobs) and only
754
+ * append-only actions. Anything else rejects: a batch that cannot be predicted
755
+ * must fail before the mutation, never be downgraded to unsigned.
756
+ */
757
+ declare function prepareSignedActions(actions: readonly Action$1[], snapshot: PHDocument$1, signer: ISigner, module?: DocumentModelModule$1<any>, signal?: AbortSignal): Promise<Action$1[]>;
699
758
  //#endregion
700
759
  //#region src/graphql-client/static-package-manager.d.ts
701
760
  /**
@@ -734,6 +793,21 @@ declare class StaticPackageManager implements IPackageManager {
734
793
  updateLocalPackage(_pkg: DocumentModelLib, _version?: string): void;
735
794
  addLocalPackage(_name: string, _loadedPackage: DocumentModelLib, _version?: string): void;
736
795
  }
796
+ /**
797
+ * Resolves one document-model module out of a flat module list, with the same
798
+ * rule the reactor registry uses (`IDocumentModelRegistry.getModule`, at
799
+ * packages/reactor/src/registry/implementation.ts): with a `version`, only an
800
+ * EXACT `version ?? 1` match resolves; without one, the LATEST version wins.
801
+ *
802
+ * Signing an existing document needs the exact rule. A document carries the
803
+ * model version it was written with in `state.document.version`, and its
804
+ * reducer is the only one whose operations that document's history can accept -
805
+ * so "latest" is correct only when no version is asked for.
806
+ *
807
+ * Pure and dependency-free on purpose: this is reachable from the browser
808
+ * entry, so it must not pull the reactor registry in as a value.
809
+ */
810
+ declare function resolveDocumentModelModule(modules: readonly DocumentModelModule<any>[], documentType: string, version?: number): DocumentModelModule<any>;
737
811
  /**
738
812
  * Wraps hand-picked modules in one synthetic `DocumentModelLib`, for apps that
739
813
  * assemble their model list from mixed sources instead of passing whole
@@ -978,5 +1052,5 @@ declare const setAttachmentService: SetPHGlobalValue<IAttachmentService>;
978
1052
  /** Registers the attachmentService window event handler */
979
1053
  declare const addAttachmentServiceEventHandler: AddPHGlobalEventHandler;
980
1054
  //#endregion
981
- 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 };
982
- //# sourceMappingURL=attachment-service-BImio0aq.d.ts.map
1055
+ export { isGraphQLReactorClient as $, useGetDocuments as A, RemoteOperation as At, prepareSignedActions as B, setDocumentCache as C, IRemoteController as Ct, useDocuments as D, RemoteControllerOptions as Dt, useDocumentSafe as E, RemoteControllerGraphQLClient as Et, startDocumentChangesSubscription as F, addPromiseState as Ft, MutateDocumentWithOperationsVariables as G, stampAction as H, subscriptionsUrlFromGraphqlUrl as I, readPromiseState as It, GraphQLReactorProviderProps as J, ReactorOperationFieldsFragmentDoc as K, StaticPackageManager as L, DocumentChangesEventPayload as M, SyncStatus$1 as Mt, DocumentChangesSubscriptionOptions as N, TrackedAction as Nt, useGetDocument as O, RemoteDocumentChangeEvent as Ot, makeAuthConnectionParams as P, DocumentCache as Pt, GraphQLReactorClientOptions as Q, packageFromDocumentModels as R, addDocumentCacheEventHandler as S, IRemoteClient as St, useDocumentCache as T, PushResult as Tt, MutateDocumentWithOperationsDocument as U, signStampedAction as V, MutateDocumentWithOperationsResult as W, useSwitchboardClient as X, ensurePHEventHandlers as Y, GraphQLReactorClient as Z, usePGlite as _, ConflictStrategy as _t, useDocumentOperations as a, describeGraphQLDocument as at, useSync as b, GetDocumentWithOperationsResult as bt, DispatchFn as c, ambientRenownTokenProvider as ct, addReactorClientEventHandler as d, GetDocumentQueryResult as dt, viewFilterInputFromViewFilter as et, addReactorClientModuleEventHandler as f, RevisionsListSelection as ft, useModelRegistry as g, ConflictInfo as gt, useDatabase as h, revisionMapFromRevisionsList as ht, DocumentOperationsState as i, TypedGraphQLDocument as it, ConnectionParams as j, RemoteOperationResultPage as jt, useGetDocumentAsync as k, RemoteDocumentData as kt, UseDispatchResult as l, makeAuthMiddleware as lt, setReactorClientModule as m, phDocumentFromMutation as mt, setAttachmentService as n, SubgraphSdkFactory as nt, useDocumentModelModuleById as o, subgraphUrlFromGraphqlUrl as ot, setReactorClient as p, phDocumentFromGetDocument as pt, GraphQLReactorProvider as q, useAttachmentService as r, SubgraphSdkRegistry as rt, useDocumentModelModules as s, BearerTokenProvider as st, addAttachmentServiceEventHandler as t, GraphQLRequestOptions as tt, useDispatch as u, GetDocumentQueryFields as ut, useReactorClient as v, DocumentChangeListener as vt, useDocument as w, MergeHandler as wt, useSyncList as x, GetOperationsResult as xt, useReactorClientModule as y, GetDocumentResult as yt, resolveDocumentModelModule as z };
1056
+ //# sourceMappingURL=attachment-service-BaLIapiL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-service-BaLIapiL.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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"}