@powerhousedao/reactor-api 6.2.2-dev.7 → 6.2.2-dev.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,26 +1,27 @@
1
- import { i as IPackageManagerOptions, n as IPackageLoaderOptions, r as IPackageManager, s as PackageManagerResult, t as IPackageLoader } from "./types-DnHgkahK.mjs";
1
+ import { i as IPackageManagerOptions, n as IPackageLoaderOptions, r as IPackageManager, s as PackageManagerResult, t as IPackageLoader } from "./types-D2ZrjmCk.mjs";
2
2
  import { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
3
3
  import { AnalyticsModel } from "@powerhousedao/analytics-engine-graphql";
4
4
  import * as graphql from "graphql";
5
5
  import { DocumentNode, GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig, GraphQLSchema } from "graphql";
6
- import { IDocumentModelLoader, IDocumentModelRegistry, IDriveClient, IReactorClient, IRelationalDb, ISyncManager, InProcessReactorClientModule, ParsedDriveUrl, driveIdFromUrl, parseDriveUrl } from "@powerhousedao/reactor";
6
+ import { AttachmentRef, IDocumentModelLoader, IDocumentModelRegistry, IDriveClient, IReactorClient, IReactorProcessorHostModuleBase, IRelationalDb, ISyncManager, InProcessReactorClientModule, ParsedDriveUrl, ProcessorFactoryBuilder as ProcessorFactoryBuilder$1, SyncScopeGate, driveIdFromUrl, parseDriveUrl } from "@powerhousedao/reactor";
7
7
  import { ILogger } from "document-model";
8
- import { DocumentModelGlobalState as DocumentModelGlobalState$1, DocumentModelModule, Operation, PHDocument, PHDocumentHeader } from "@powerhousedao/shared/document-model";
8
+ import { GraphQLResolverMap, GraphQLSchemaModule } from "@apollo/subgraph";
9
+ import { AuthSubject, DocumentModelGlobalState as DocumentModelGlobalState$1, DocumentModelModule, Operation, PHDocument, UpgradeManifest } from "@powerhousedao/shared/document-model";
9
10
  import * as z$1 from "zod";
10
11
  import { DocumentDriveDocument, DocumentDriveGlobalState } from "@powerhousedao/shared/document-drive";
11
- import { AttachmentBuildResult } from "@powerhousedao/reactor-attachments";
12
+ import { AttachmentBuildResult, AttachmentReferenceIndexBuildResult, IAttachmentReferenceReader, IAttachmentReferenceWriter } from "@powerhousedao/reactor-attachments";
12
13
  import { IAttachmentClient } from "@powerhousedao/reactor-attachments/client";
13
14
  import { WebSocketServer } from "ws";
14
- import { IProcessorHostModule, IRelationalDb as IRelationalDb$1, ProcessorApp, ProcessorRecord } from "@powerhousedao/shared/processors";
15
+ import { IRelationalDb as IRelationalDb$1, ProcessorApp, ProcessorFactory } from "@powerhousedao/shared/processors";
15
16
  import { Generated, Kysely } from "kysely";
16
17
  import { PGlite } from "@electric-sql/pglite";
17
18
  import { Knex } from "knex";
18
19
  import http from "node:http";
19
20
  import { CorsOptions } from "cors";
20
- import { GraphQLResolverMap, GraphQLSchemaModule } from "@apollo/subgraph/dist/schema-helper/resolverMap.js";
21
21
  import { Context as Context$1, GqlDocument as GqlDocument$1, GqlDriveDocument as GqlDriveDocument$1, GqlOperation as GqlOperation$1, GraphQLManager as GraphQLManager$1, ISubgraph as ISubgraph$1, Processor as Processor$1, SubgraphArgs as SubgraphArgs$1, SubgraphClass as SubgraphClass$1 } from "@powerhousedao/reactor-api";
22
22
  import { IncomingHttpHeaders } from "http";
23
23
  import { Pool } from "pg";
24
+ import { PHReactorRenown } from "@powerhousedao/shared/clis";
24
25
 
25
26
  //#region src/utils/db.d.ts
26
27
  /**
@@ -63,6 +64,9 @@ interface OperationUserPermissionTable {
63
64
  createdAt: Date;
64
65
  }
65
66
  type Db = Kysely<any>;
67
+ declare const PGLITE_UTC_PARSERS: {
68
+ readonly 1114: (value: string) => Date;
69
+ };
66
70
  /**
67
71
  * Optional factory used by callers (e.g. Switchboard) to inject a
68
72
  * version-specific PGLite instance — e.g. `pglite-legacy-02` when an existing
@@ -215,7 +219,7 @@ declare class DocumentPermissionService {
215
219
  * must key on the canonical id, so branding it forces every caller to resolve a
216
220
  * slug to its id before consulting this service, closing the slug-aliasing
217
221
  * bypass (S-C1). The only sanctioned cast from string to CanonicalDocumentId
218
- * lives in the BaseSubgraph resolution helpers, immediately after the shared
222
+ * lives in createCanonicalDocumentIdResolver, immediately after the shared
219
223
  * resolveIdOrSlug lookup returns.
220
224
  */
221
225
  type CanonicalDocumentId = string & {
@@ -293,7 +297,8 @@ type Context = {
293
297
  user?: {
294
298
  address: string;
295
299
  chainId: number;
296
- networkId: string;
300
+ networkId: string; /** The did:key of the app instance that issued this request's token. */
301
+ appKey: string;
297
302
  };
298
303
  };
299
304
  type ISubgraph = {
@@ -314,6 +319,12 @@ type SubgraphArgs = {
314
319
  syncManager: ISyncManager;
315
320
  documentPermissionService?: DocumentPermissionService;
316
321
  authorizationService: IAuthorizationService;
322
+ /**
323
+ * Evaluates a document's own policy when serving sync. Absent below
324
+ * `authEnforcement`, where there is no model to enforce and serving falls back
325
+ * to the host's permission tables alone.
326
+ */
327
+ syncServingGate?: SyncScopeGate;
317
328
  path?: string;
318
329
  };
319
330
  type GqlSigner = {
@@ -386,6 +397,7 @@ declare class BaseSubgraph implements ISubgraph$1 {
386
397
  syncManager: ISyncManager;
387
398
  documentPermissionService?: DocumentPermissionService;
388
399
  authorizationService: IAuthorizationService;
400
+ syncServingGate?: SyncScopeGate;
389
401
  constructor(args: SubgraphArgs$1);
390
402
  onSetup(): Promise<void>;
391
403
  /**
@@ -411,6 +423,17 @@ declare class BaseSubgraph implements ISubgraph$1 {
411
423
  * layer, such as a fetched document's id). Performs no slug resolution.
412
424
  */
413
425
  canReadDocument(documentId: CanonicalDocumentId, ctx: Context): Promise<boolean>;
426
+ /**
427
+ * The principal a request decides as: the authenticated caller's address, and
428
+ * the did:key of the app instance whose token authenticated it.
429
+ *
430
+ * Both, because a policy can name either. The key is what a document records
431
+ * as its creator, so a subject built without one cannot match the creator's
432
+ * standing permission over the auth scope -- the document's own creator would
433
+ * be refused an operation the write path accepts, since a signed action
434
+ * carries the same key. Anonymous callers supply neither.
435
+ */
436
+ protected viewSubject(ctx: Context): AuthSubject;
414
437
  /**
415
438
  * Asserts read access, resolving a slug first. Returns a handle whose
416
439
  * `fetchIdentifier` the caller reuses for the data fetch; a denial throws.
@@ -594,16 +617,35 @@ declare class AuthSubgraph extends BaseSubgraph {
594
617
  }
595
618
  //#endregion
596
619
  //#region src/services/auth.service.d.ts
620
+ type CredentialVerifier = (params: {
621
+ address: string;
622
+ chainId: number;
623
+ appId: string;
624
+ }) => Promise<boolean>;
597
625
  interface AuthConfig {
598
626
  enabled: boolean;
599
627
  admins: string[];
600
628
  skipCredentialVerification?: boolean;
601
629
  credentialVerificationCacheTtlMs?: number;
630
+ verifyCredential?: CredentialVerifier;
602
631
  }
603
632
  interface User {
604
633
  address: string;
605
634
  chainId: number;
606
635
  networkId: string;
636
+ /**
637
+ * The did:key of the app instance that issued this request's token, taken
638
+ * from the verified credential's issuer.
639
+ *
640
+ * It is the same value a signer presents as its app key when it signs an
641
+ * action, which is what a document records as its creator. Carrying it here
642
+ * is what lets a request decide as the same principal the write path
643
+ * presents, rather than as an address with no key.
644
+ *
645
+ * Authenticated, not asserted: the token is verified by resolving this very
646
+ * DID, so a caller cannot name someone else's.
647
+ */
648
+ appKey: string;
607
649
  }
608
650
  interface AuthContext {
609
651
  user?: User;
@@ -626,7 +668,12 @@ declare class AuthService {
626
668
  */
627
669
  private verifyToken;
628
670
  /**
629
- * Extract user information from verification result
671
+ * Extract user information from verification result.
672
+ *
673
+ * The issuer is required along with the credential subject. A credential that
674
+ * verified must carry one -- resolving it is how the signature was checked --
675
+ * so this rejects a shape that cannot have come from verification rather than
676
+ * admitting a keyless principal.
630
677
  */
631
678
  private extractUserFromVerification;
632
679
  /**
@@ -803,6 +850,7 @@ declare class GraphQLManager {
803
850
  private readonly documentPermissionService?;
804
851
  private readonly featureFlags;
805
852
  private readonly port;
853
+ private readonly syncServingGate?;
806
854
  private initialized;
807
855
  private coreSubgraphsMap;
808
856
  private contextFields;
@@ -819,7 +867,7 @@ declare class GraphQLManager {
819
867
  */
820
868
  readonly reactorDriveClient?: IDriveClient;
821
869
  private readonly authorizationService;
822
- constructor(path: string, httpServer: http.Server, wsServer: WebSocketServer, reactorClient: IReactorClient, relationalDb: IRelationalDb, analyticsStore: IAnalyticsStore, syncManager: ISyncManager, logger: ILogger, httpAdapter: IHttpAdapter, gatewayAdapter: IGatewayAdapter<Context$1>, authService?: AuthService | undefined, documentPermissionService?: DocumentPermissionService | undefined, featureFlags?: GraphqlManagerFeatureFlags, port?: number, authorizationService?: IAuthorizationService, reactorDriveClient?: IDriveClient);
870
+ constructor(path: string, httpServer: http.Server, wsServer: WebSocketServer, reactorClient: IReactorClient, relationalDb: IRelationalDb, analyticsStore: IAnalyticsStore, syncManager: ISyncManager, logger: ILogger, httpAdapter: IHttpAdapter, gatewayAdapter: IGatewayAdapter<Context$1>, authService?: AuthService | undefined, documentPermissionService?: DocumentPermissionService | undefined, featureFlags?: GraphqlManagerFeatureFlags, port?: number, authorizationService?: IAuthorizationService, reactorDriveClient?: IDriveClient, syncServingGate?: SyncScopeGate | undefined);
823
871
  init(coreSubgraphs: SubgraphClass$1[], authMiddleware?: AuthFetchMiddleware): Promise<void>;
824
872
  /**
825
873
  * Regenerate document model subgraphs when models are dynamically loaded.
@@ -842,6 +890,14 @@ declare class GraphQLManager {
842
890
  */
843
891
  getAuthorizationService(): IAuthorizationService;
844
892
  registerSubgraph(subgraph: SubgraphClass$1, supergraph?: string, core?: boolean): Promise<ISubgraph$1>;
893
+ /** Find a registered subgraph by name, core or package-contributed. */
894
+ getSubgraphByName(name: string): ISubgraph$1 | undefined;
895
+ /** Whether a registered subgraph has a live handler, i.e. whether
896
+ * {@link executeSubgraphQuery} can reach it right now. */
897
+ hasSubgraphHandler(name: string): boolean;
898
+ /** Run a query against one registered subgraph in-process: the subgraph's own
899
+ * handler, without a socket or the auth/drive middleware. Trusted callers. */
900
+ executeSubgraphQuery<T>(subgraphName: string, query: string, variables: Record<string, unknown>): Promise<T>;
845
901
  updateRouter: (immediate?: boolean) => Promise<void>;
846
902
  private _updateRouter;
847
903
  getAdditionalContextFields: () => Record<string, any>;
@@ -874,11 +930,88 @@ declare class InMemoryPackageStorage implements IPackageStorage {
874
930
  has(name: string): Promise<boolean>;
875
931
  }
876
932
  //#endregion
933
+ //#region src/services/canonical-document-id.d.ts
934
+ /**
935
+ * Raised when a caller-supplied identifier cannot be resolved to a canonical
936
+ * document id. Carries no detail on purpose: resolution failures must not act
937
+ * as a document-existence oracle, so consumers map this to their generic
938
+ * fail-closed response.
939
+ */
940
+ declare class CanonicalDocumentIdResolutionError extends Error {
941
+ constructor();
942
+ }
943
+ type CanonicalDocumentIdResolver = (identifier: string) => Promise<CanonicalDocumentId>;
944
+ /**
945
+ * The sanctioned string-to-CanonicalDocumentId cast: both the GraphQL layer
946
+ * and server routes must resolve caller identifiers through this helper so
947
+ * decision and data layers always agree on the subject document.
948
+ */
949
+ declare function createCanonicalDocumentIdResolver(client: Pick<IReactorClient, "resolveIdOrSlug">): CanonicalDocumentIdResolver;
950
+ //#endregion
951
+ //#region src/services/attachment-access.service.d.ts
952
+ /**
953
+ * Whether the active Reactor composition hosts the attachment-reference
954
+ * projection. Reported by the client initializer: the built-in stack always
955
+ * registers it, while a caller-provided Reactor may lack the live
956
+ * registration capability. Consumers of reference evidence must fail closed
957
+ * when it is unavailable.
958
+ */
959
+ type AttachmentReferenceProjectionCapability = {
960
+ status: "available";
961
+ } | {
962
+ status: "unavailable";
963
+ reason: "live-read-model-registration-unsupported" | "in-process-reactor-module-unavailable" | "initializer-did-not-report";
964
+ };
965
+ /**
966
+ * Outcome of an attachment read authorization. `denied` intentionally covers
967
+ * both an unreadable document and an absent document/ref relationship so the
968
+ * route layer cannot leak which check failed. `projection-unavailable` means
969
+ * the reference index is not being maintained in this composition; it is
970
+ * returned before any document-authorization or reference lookup runs.
971
+ */
972
+ type AttachmentAccessResult = {
973
+ kind: "allowed";
974
+ documentId: CanonicalDocumentId;
975
+ ref: AttachmentRef;
976
+ } | {
977
+ kind: "denied";
978
+ } | {
979
+ kind: "projection-unavailable";
980
+ };
981
+ interface AttachmentAccessRequest {
982
+ documentId: string;
983
+ attachmentRef: string;
984
+ userAddress?: string;
985
+ }
986
+ interface IAttachmentAccessService {
987
+ canReadAttachment(request: AttachmentAccessRequest): Promise<AttachmentAccessResult>;
988
+ }
989
+ /**
990
+ * Composes document authorization with the projected document/ref
991
+ * relationship. Order is fixed: validate ref, resolve the canonical document
992
+ * id, check `canRead`, then check the reference index. A denied document
993
+ * never reaches the reference reader, and the facade never touches
994
+ * attachment metadata, storage backends, or presigners.
995
+ */
996
+ declare class AttachmentAccessService implements IAttachmentAccessService {
997
+ private readonly resolveCanonicalId;
998
+ private readonly authorization;
999
+ private readonly references;
1000
+ private readonly projection;
1001
+ constructor(resolveCanonicalId: CanonicalDocumentIdResolver, authorization: IAuthorizationService, references: IAttachmentReferenceReader, projection: AttachmentReferenceProjectionCapability);
1002
+ canReadAttachment(request: AttachmentAccessRequest): Promise<AttachmentAccessResult>;
1003
+ }
1004
+ //#endregion
877
1005
  //#region src/types.d.ts
878
- interface IReactorProcessorHostModule extends IProcessorHostModule {
879
- client: IReactorClient;
1006
+ /**
1007
+ * Module hosts pass to processor factories: the reactor-level module plus the
1008
+ * attachment client, which shared and reactor cannot name.
1009
+ */
1010
+ interface IProcessorHostModule extends IReactorProcessorHostModuleBase {
880
1011
  attachments: IAttachmentClient;
881
1012
  }
1013
+ /** @deprecated Use `IProcessorHostModule`. */
1014
+ type IReactorProcessorHostModule = IProcessorHostModule;
882
1015
  type ReadinessGate = {
883
1016
  isReady: () => boolean;
884
1017
  markReady: () => void;
@@ -888,6 +1021,8 @@ type API = {
888
1021
  graphqlManager: GraphQLManager$1;
889
1022
  packages: IPackageManager;
890
1023
  attachments: AttachmentBuildResult;
1024
+ attachmentReferenceIndex: AttachmentReferenceIndexBuildResult; /** Document-authorized attachment read decisions; see AttachmentAccessService. */
1025
+ attachmentAccess: IAttachmentAccessService;
891
1026
  authService: AuthService | undefined;
892
1027
  /**
893
1028
  * Releases resources owned by the API: shuts down the GraphQL gateway,
@@ -902,13 +1037,10 @@ type ReactorModule = {
902
1037
  analyticsStore: IAnalyticsStore;
903
1038
  relationalDb: IRelationalDb$1;
904
1039
  };
905
- /** Per-drive factory after the host `module` has been applied once. */
906
- type ProcessorDriveFactory = (driveHeader: PHDocumentHeader) => ProcessorRecord[] | Promise<ProcessorRecord[]>;
907
- /**
908
- * Builds a per-drive factory from the host module (e.g. vetra `processorFactory`).
909
- * Shape: `(module) => (driveHeader) => ...`
910
- */
911
- type ProcessorFactoryBuilder = (module: IProcessorHostModule) => ProcessorDriveFactory | Promise<ProcessorDriveFactory>;
1040
+ /** @deprecated Use `ProcessorFactory`. */
1041
+ type ProcessorDriveFactory = ProcessorFactory;
1042
+ /** Builds a per-drive factory from the host module (e.g. vetra `processorFactory`). */
1043
+ type ProcessorFactoryBuilder = ProcessorFactoryBuilder$1<IProcessorHostModule>;
912
1044
  /** Multiple initializers per package name (e.g. Switchboard `processors` option). */
913
1045
  type Processor = ProcessorFactoryBuilder[];
914
1046
  //#endregion
@@ -955,6 +1087,7 @@ declare class HttpPackageLoader implements IPackageLoader {
955
1087
  */
956
1088
  private parsePackageSpec;
957
1089
  loadDocumentModels(packageSpec: string): Promise<DocumentModelModule[]>;
1090
+ loadUpgradeManifests(packageSpec: string): Promise<UpgradeManifest<readonly number[]>[]>;
958
1091
  loadSubgraphs(packageSpec: string): Promise<SubgraphClass$1[]>;
959
1092
  loadProcessors(packageSpec: string): Promise<ProcessorFactoryBuilder | null>;
960
1093
  /**
@@ -1128,12 +1261,63 @@ type Action = {
1128
1261
  readonly timestampUtcMs: Scalars["String"]["output"];
1129
1262
  readonly type: Scalars["String"]["output"];
1130
1263
  };
1264
+ /**
1265
+ * One operation an authorization preflight predicts a verdict for.
1266
+ *
1267
+ * `input` is what a conditional grant reads, so a candidate standing for a
1268
+ * filled-in form carries that form's input. Omitting it predicts the verdict an
1269
+ * empty input earns, not the verdict the filled-in form will get.
1270
+ */
1271
+ type ActionCandidateInput = {
1272
+ readonly input?: InputMaybe<Scalars["JSONObject"]["input"]>;
1273
+ readonly scope: Scalars["String"]["input"];
1274
+ readonly type: Scalars["String"]["input"];
1275
+ };
1131
1276
  type ActionContext = {
1132
1277
  readonly signer?: Maybe<ReactorSigner>;
1133
1278
  };
1279
+ /**
1280
+ * An action's context, as a caller submits it.
1281
+ *
1282
+ * Declares every field `ActionContext` carries, because an input object rejects a
1283
+ * field it does not declare: an action stamped with the head it applies to - which
1284
+ * is what a signing client sends - is refused outright if these are missing, and
1285
+ * that refusal is a whole-request one, not a per-field one.
1286
+ *
1287
+ * `prevOpHash` and `prevOpIndex` are the scope head the action was composed
1288
+ * against. They are recorded rather than enforced; a signature is verified from
1289
+ * the params carried in its own tuple, which do not include them.
1290
+ */
1134
1291
  type ActionContextInput = {
1292
+ /** Covers replay of an operation that would otherwise be a no-op. */readonly nonce?: InputMaybe<Scalars["String"]["input"]>; /** The hash of the state the action applies to. */
1293
+ readonly prevOpHash?: InputMaybe<Scalars["String"]["input"]>; /** The index of the last operation in the scope the action applies to. */
1294
+ readonly prevOpIndex?: InputMaybe<Scalars["Int"]["input"]>;
1135
1295
  readonly signer?: InputMaybe<ReactorSignerInput>;
1136
1296
  };
1297
+ /**
1298
+ * One candidate's predicted verdict. `reason` carries the refusal a DENY is
1299
+ * recorded with, and is null on an ALLOW.
1300
+ */
1301
+ type ActionEvaluation = {
1302
+ readonly decision: AuthDecision;
1303
+ readonly reason?: Maybe<Scalars["String"]["output"]>;
1304
+ };
1305
+ /**
1306
+ * The predicted verdicts for a set of candidates, in the order they were given,
1307
+ * with the aggregates a caller branches on.
1308
+ *
1309
+ * The aggregates are redundant -- a verdict is binary -- and all four are returned
1310
+ * so a caller reads the one its question is phrased in rather than negating
1311
+ * another. Over no candidates every aggregate is false: nothing is allowed and
1312
+ * nothing is denied.
1313
+ */
1314
+ type ActionEvaluations = {
1315
+ readonly allAllowed: Scalars["Boolean"]["output"];
1316
+ readonly allDenied: Scalars["Boolean"]["output"];
1317
+ readonly anyAllowed: Scalars["Boolean"]["output"];
1318
+ readonly anyDenied: Scalars["Boolean"]["output"];
1319
+ readonly evaluations: ReadonlyArray<ActionEvaluation>;
1320
+ };
1137
1321
  type ActionInput = {
1138
1322
  readonly context?: InputMaybe<ActionContextInput>;
1139
1323
  readonly id: Scalars["String"]["input"];
@@ -1142,6 +1326,10 @@ type ActionInput = {
1142
1326
  readonly timestampUtcMs: Scalars["String"]["input"];
1143
1327
  readonly type: Scalars["String"]["input"];
1144
1328
  };
1329
+ declare enum AuthDecision {
1330
+ Allow = "ALLOW",
1331
+ Deny = "DENY"
1332
+ }
1145
1333
  type ChannelMeta = {
1146
1334
  readonly id: Scalars["String"]["output"];
1147
1335
  };
@@ -1152,6 +1340,12 @@ type DeadLetterInfo = {
1152
1340
  readonly branch: Scalars["String"]["output"];
1153
1341
  readonly documentId: Scalars["String"]["output"];
1154
1342
  readonly error: Scalars["String"]["output"];
1343
+ /**
1344
+ * How the origin classified the failure. A peer needs this to mirror the origin's
1345
+ * quarantine decision; without it a held auth operation would freeze the document
1346
+ * on the peer side while the origin kept syncing.
1347
+ */
1348
+ readonly errorType?: Maybe<Scalars["String"]["output"]>;
1155
1349
  readonly jobId: Scalars["String"]["output"];
1156
1350
  readonly operationCount: Scalars["Int"]["output"];
1157
1351
  readonly scopes: ReadonlyArray<Scalars["String"]["output"]>;
@@ -1211,7 +1405,11 @@ type JobInfo = {
1211
1405
  readonly createdAt: Scalars["DateTime"]["output"];
1212
1406
  readonly error?: Maybe<Scalars["String"]["output"]>;
1213
1407
  readonly id: Scalars["String"]["output"];
1214
- readonly result: Scalars["JSONObject"]["output"];
1408
+ /**
1409
+ * What the job produced, once it has produced anything. Null until then, which
1410
+ * is the state every job is in when it is handed back from a submission.
1411
+ */
1412
+ readonly result?: Maybe<Scalars["JSONObject"]["output"]>;
1215
1413
  readonly status: Scalars["String"]["output"];
1216
1414
  };
1217
1415
  type MoveRelationshipResult = {
@@ -1224,8 +1422,30 @@ type Mutation = {
1224
1422
  readonly createEmptyDocument: PhDocument;
1225
1423
  readonly deleteDocument: Scalars["Boolean"]["output"];
1226
1424
  readonly deleteDocuments: Scalars["Boolean"]["output"];
1227
- readonly moveRelationship: MoveRelationshipResult;
1228
- readonly mutateDocument: PhDocument;
1425
+ /**
1426
+ * Applies actions to a document and waits for the result.
1427
+ *
1428
+ * Each action is coerced against `ActionInput`, so one missing a field the wire
1429
+ * declares is refused before any work starts. The id in particular: it is hashed
1430
+ * into the operation id and replay dedupes by it, so an action without one is
1431
+ * stored under an operation id shared by every id-less operation on the same
1432
+ * document, scope and branch.
1433
+ *
1434
+ * Named for `IReactorClient.execute`, which this is the wire form of. `branch`
1435
+ * defaults to `main`.
1436
+ */
1437
+ readonly execute: PhDocument;
1438
+ /**
1439
+ * Submits actions to a document and returns the job that will apply them.
1440
+ *
1441
+ * Coerced exactly as `execute` is, so a malformed action is refused here rather
1442
+ * than surfacing later as a failed job. Returns the job rather than only its id,
1443
+ * so a caller has the status and the creation time it would otherwise have to
1444
+ * ask for; `result` is null until the job produces one.
1445
+ */
1446
+ readonly executeAsync: JobInfo;
1447
+ readonly moveRelationship: MoveRelationshipResult; /** @deprecated Use execute. Actions here are untyped, so a malformed one is refused by a hand-written check rather than by the schema, and `view.scopes` is accepted but ignored. */
1448
+ readonly mutateDocument: PhDocument; /** @deprecated Use executeAsync, which is typed and returns the job rather than only its id. */
1229
1449
  readonly mutateDocumentAsync: Scalars["String"]["output"];
1230
1450
  readonly pushSyncEnvelopes: Scalars["Boolean"]["output"];
1231
1451
  readonly removeRelationship: PhDocument;
@@ -1255,6 +1475,16 @@ type MutationDeleteDocumentsArgs = {
1255
1475
  identifiers: ReadonlyArray<Scalars["String"]["input"]>;
1256
1476
  propagate?: InputMaybe<PropagationMode>;
1257
1477
  };
1478
+ type MutationExecuteArgs = {
1479
+ actions: ReadonlyArray<ActionInput>;
1480
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1481
+ documentIdentifier: Scalars["String"]["input"];
1482
+ };
1483
+ type MutationExecuteAsyncArgs = {
1484
+ actions: ReadonlyArray<ActionInput>;
1485
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1486
+ documentIdentifier: Scalars["String"]["input"];
1487
+ };
1258
1488
  type MutationMoveRelationshipArgs = {
1259
1489
  branch?: InputMaybe<Scalars["String"]["input"]>;
1260
1490
  relationshipType: Scalars["String"]["input"];
@@ -1310,6 +1540,7 @@ type OperationContextInput = {
1310
1540
  };
1311
1541
  type OperationInput = {
1312
1542
  readonly action: ActionInput;
1543
+ readonly deniedReason?: InputMaybe<Scalars["String"]["input"]>;
1313
1544
  readonly error?: InputMaybe<Scalars["String"]["input"]>;
1314
1545
  readonly hash: Scalars["String"]["input"];
1315
1546
  readonly id?: InputMaybe<Scalars["String"]["input"]>;
@@ -1378,8 +1609,47 @@ type Query = {
1378
1609
  readonly documentModels: DocumentModelResultPage;
1379
1610
  readonly documentOperations: ReactorOperationResultPage;
1380
1611
  readonly documentOutgoingRelationships: PhDocumentResultPage;
1612
+ /**
1613
+ * Predicts whether the calling subject would be admitted to execute each of a
1614
+ * set of candidate operations, without submitting any of them. A UI asks this to
1615
+ * disable a control rather than offer an action that fails on submit.
1616
+ *
1617
+ * The answer is a prediction, not a promise:
1618
+ *
1619
+ * - Real admission compiles an append condition over everything it read and the
1620
+ * store enforces it at write time. A preflight reads no future, so a policy
1621
+ * change landing between this answer and the submit changes the verdict. The
1622
+ * submit path stays the only authority.
1623
+ * - The verdict is evaluated at the stream heads, so it is correct for a
1624
+ * candidate about to be submitted. A backdated submission is out of contract;
1625
+ * the reactor decides that one by position.
1626
+ * - A candidate whose verdict depends on its input has to carry that input, since
1627
+ * a conditional grant reads it.
1628
+ *
1629
+ * The subject is the authenticated caller and cannot be named in the request:
1630
+ * answering for an arbitrary subject would disclose what a policy grants
1631
+ * somebody else. It carries both the caller's address and the did:key of the app
1632
+ * instance whose token authenticated the request, so a policy naming either
1633
+ * matches the same principal the write path presents.
1634
+ *
1635
+ * Requires the reactor's authEnforcement feature flag. Without it the reactor
1636
+ * holds no decision model, so this fails with extensions.code
1637
+ * AUTH_EVALUATION_UNSUPPORTED rather than guessing.
1638
+ */
1639
+ readonly evaluateActions: ActionEvaluations;
1381
1640
  readonly findDocuments: PhDocumentResultPage;
1382
1641
  readonly jobStatus?: Maybe<JobInfo>;
1642
+ /**
1643
+ * Polls for sync envelopes from a channel.
1644
+ *
1645
+ * An operation stored before the API required an action id cannot be
1646
+ * represented by this schema, and rather than serving a partial response beside
1647
+ * a bare non-null violation, this fails with extensions.code
1648
+ * MALFORMED_STORED_OPERATION naming the operation. That code means the failure
1649
+ * is worth polling through: the document holding the operation needs repairing,
1650
+ * but the channel serves every other document, and a peer that stopped polling
1651
+ * would stop receiving those too.
1652
+ */
1383
1653
  readonly pollSyncEnvelopes: PollSyncEnvelopesResult;
1384
1654
  };
1385
1655
  type QueryDocumentArgs = {
@@ -1406,6 +1676,11 @@ type QueryDocumentOutgoingRelationshipsArgs = {
1406
1676
  sourceIdentifier: Scalars["String"]["input"];
1407
1677
  view?: InputMaybe<ViewFilterInput>;
1408
1678
  };
1679
+ type QueryEvaluateActionsArgs = {
1680
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1681
+ candidates: ReadonlyArray<ActionCandidateInput>;
1682
+ documentIdentifier: Scalars["String"]["input"];
1683
+ };
1409
1684
  type QueryFindDocumentsArgs = {
1410
1685
  paging?: InputMaybe<PagingInput>;
1411
1686
  search?: InputMaybe<SearchFilterInput>;
@@ -1421,6 +1696,7 @@ type QueryPollSyncEnvelopesArgs = {
1421
1696
  };
1422
1697
  type ReactorOperation = {
1423
1698
  readonly action: Action;
1699
+ readonly deniedReason?: Maybe<Scalars["String"]["output"]>;
1424
1700
  readonly error?: Maybe<Scalars["String"]["output"]>;
1425
1701
  readonly hash: Scalars["String"]["output"];
1426
1702
  readonly id?: Maybe<Scalars["String"]["output"]>;
@@ -1615,6 +1891,7 @@ type GetDocumentWithOperationsQuery = {
1615
1891
  readonly hash: string;
1616
1892
  readonly skip: number;
1617
1893
  readonly error?: string | null | undefined;
1894
+ readonly deniedReason?: string | null | undefined;
1618
1895
  readonly id?: string | null | undefined;
1619
1896
  readonly action: {
1620
1897
  readonly id: string;
@@ -1742,6 +2019,7 @@ type GetDocumentOperationsQuery = {
1742
2019
  readonly hash: string;
1743
2020
  readonly skip: number;
1744
2021
  readonly error?: string | null | undefined;
2022
+ readonly deniedReason?: string | null | undefined;
1745
2023
  readonly id?: string | null | undefined;
1746
2024
  readonly action: {
1747
2025
  readonly id: string;
@@ -1774,12 +2052,29 @@ type GetJobStatusQuery = {
1774
2052
  readonly jobStatus?: {
1775
2053
  readonly id: string;
1776
2054
  readonly status: string;
1777
- readonly result: NonNullable<unknown>;
2055
+ readonly result?: NonNullable<unknown> | null | undefined;
1778
2056
  readonly error?: string | null | undefined;
1779
2057
  readonly createdAt: string | Date;
1780
2058
  readonly completedAt?: string | Date | null | undefined;
1781
2059
  } | null | undefined;
1782
2060
  };
2061
+ type EvaluateActionsQueryVariables = Exact<{
2062
+ documentIdentifier: Scalars["String"]["input"];
2063
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2064
+ candidates: ReadonlyArray<ActionCandidateInput>;
2065
+ }>;
2066
+ type EvaluateActionsQuery = {
2067
+ readonly evaluateActions: {
2068
+ readonly allAllowed: boolean;
2069
+ readonly anyAllowed: boolean;
2070
+ readonly allDenied: boolean;
2071
+ readonly anyDenied: boolean;
2072
+ readonly evaluations: ReadonlyArray<{
2073
+ readonly decision: AuthDecision;
2074
+ readonly reason?: string | null | undefined;
2075
+ }>;
2076
+ };
2077
+ };
1783
2078
  type CreateDocumentMutationVariables = Exact<{
1784
2079
  document: Scalars["JSONObject"]["input"];
1785
2080
  parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
@@ -1820,8 +2115,8 @@ type CreateEmptyDocumentMutation = {
1820
2115
  };
1821
2116
  type MutateDocumentMutationVariables = Exact<{
1822
2117
  documentIdentifier: Scalars["String"]["input"];
1823
- actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
1824
- view?: InputMaybe<ViewFilterInput>;
2118
+ actions: ReadonlyArray<ActionInput>;
2119
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1825
2120
  }>;
1826
2121
  type MutateDocumentMutation = {
1827
2122
  readonly mutateDocument: {
@@ -1840,11 +2135,18 @@ type MutateDocumentMutation = {
1840
2135
  };
1841
2136
  type MutateDocumentAsyncMutationVariables = Exact<{
1842
2137
  documentIdentifier: Scalars["String"]["input"];
1843
- actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
1844
- view?: InputMaybe<ViewFilterInput>;
2138
+ actions: ReadonlyArray<ActionInput>;
2139
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1845
2140
  }>;
1846
2141
  type MutateDocumentAsyncMutation = {
1847
- readonly mutateDocumentAsync: string;
2142
+ readonly mutateDocumentAsync: {
2143
+ readonly id: string;
2144
+ readonly status: string;
2145
+ readonly result?: NonNullable<unknown> | null | undefined;
2146
+ readonly error?: string | null | undefined;
2147
+ readonly createdAt: string | Date;
2148
+ readonly completedAt?: string | Date | null | undefined;
2149
+ };
1848
2150
  };
1849
2151
  type RenameDocumentMutationVariables = Exact<{
1850
2152
  documentIdentifier: Scalars["String"]["input"];
@@ -2039,6 +2341,7 @@ type PollSyncEnvelopesQuery = {
2039
2341
  readonly hash: string;
2040
2342
  readonly skip: number;
2041
2343
  readonly error?: string | null | undefined;
2344
+ readonly deniedReason?: string | null | undefined;
2042
2345
  readonly id?: string | null | undefined;
2043
2346
  readonly action: {
2044
2347
  readonly id: string;
@@ -2078,6 +2381,7 @@ type PollSyncEnvelopesQuery = {
2078
2381
  readonly deadLetters: ReadonlyArray<{
2079
2382
  readonly documentId: string;
2080
2383
  readonly error: string;
2384
+ readonly errorType?: string | null | undefined;
2081
2385
  }>;
2082
2386
  };
2083
2387
  };
@@ -2123,9 +2427,13 @@ type DirectiveResolverFn<TResult = Record<PropertyKey, never>, TParent = Record<
2123
2427
  /** Mapping between all available schema types and the resolvers types */
2124
2428
  type ResolversTypes = ResolversObject<{
2125
2429
  Action: ResolverTypeWrapper<Action>;
2430
+ ActionCandidateInput: ActionCandidateInput;
2126
2431
  ActionContext: ResolverTypeWrapper<ActionContext>;
2127
2432
  ActionContextInput: ActionContextInput;
2433
+ ActionEvaluation: ResolverTypeWrapper<ActionEvaluation>;
2434
+ ActionEvaluations: ResolverTypeWrapper<ActionEvaluations>;
2128
2435
  ActionInput: ActionInput;
2436
+ AuthDecision: AuthDecision;
2129
2437
  Boolean: ResolverTypeWrapper<Scalars["Boolean"]["output"]>;
2130
2438
  ChannelMeta: ResolverTypeWrapper<ChannelMeta>;
2131
2439
  ChannelMetaInput: ChannelMetaInput;
@@ -2181,8 +2489,11 @@ type ResolversTypes = ResolversObject<{
2181
2489
  /** Mapping between all available schema types and the resolvers parents */
2182
2490
  type ResolversParentTypes = ResolversObject<{
2183
2491
  Action: Action;
2492
+ ActionCandidateInput: ActionCandidateInput;
2184
2493
  ActionContext: ActionContext;
2185
2494
  ActionContextInput: ActionContextInput;
2495
+ ActionEvaluation: ActionEvaluation;
2496
+ ActionEvaluations: ActionEvaluations;
2186
2497
  ActionInput: ActionInput;
2187
2498
  Boolean: Scalars["Boolean"]["output"];
2188
2499
  ChannelMeta: ChannelMeta;
@@ -2244,6 +2555,17 @@ type ActionResolvers<ContextType = Context, ParentType extends ResolversParentTy
2244
2555
  type ActionContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionContext"] = ResolversParentTypes["ActionContext"]> = ResolversObject<{
2245
2556
  signer?: Resolver<Maybe<ResolversTypes["ReactorSigner"]>, ParentType, ContextType>;
2246
2557
  }>;
2558
+ type ActionEvaluationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionEvaluation"] = ResolversParentTypes["ActionEvaluation"]> = ResolversObject<{
2559
+ decision?: Resolver<ResolversTypes["AuthDecision"], ParentType, ContextType>;
2560
+ reason?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2561
+ }>;
2562
+ type ActionEvaluationsResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionEvaluations"] = ResolversParentTypes["ActionEvaluations"]> = ResolversObject<{
2563
+ allAllowed?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2564
+ allDenied?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2565
+ anyAllowed?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2566
+ anyDenied?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2567
+ evaluations?: Resolver<ReadonlyArray<ResolversTypes["ActionEvaluation"]>, ParentType, ContextType>;
2568
+ }>;
2247
2569
  type ChannelMetaResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ChannelMeta"] = ResolversParentTypes["ChannelMeta"]> = ResolversObject<{
2248
2570
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2249
2571
  }>;
@@ -2254,6 +2576,7 @@ type DeadLetterInfoResolvers<ContextType = Context, ParentType extends Resolvers
2254
2576
  branch?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2255
2577
  documentId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2256
2578
  error?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2579
+ errorType?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2257
2580
  jobId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2258
2581
  operationCount?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
2259
2582
  scopes?: Resolver<ReadonlyArray<ResolversTypes["String"]>, ParentType, ContextType>;
@@ -2299,7 +2622,7 @@ type JobInfoResolvers<ContextType = Context, ParentType extends ResolversParentT
2299
2622
  createdAt?: Resolver<ResolversTypes["DateTime"], ParentType, ContextType>;
2300
2623
  error?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2301
2624
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2302
- result?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
2625
+ result?: Resolver<Maybe<ResolversTypes["JSONObject"]>, ParentType, ContextType>;
2303
2626
  status?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2304
2627
  }>;
2305
2628
  type MoveRelationshipResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["MoveRelationshipResult"] = ResolversParentTypes["MoveRelationshipResult"]> = ResolversObject<{
@@ -2312,6 +2635,8 @@ type MutationResolvers<ContextType = Context, ParentType extends ResolversParent
2312
2635
  createEmptyDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationCreateEmptyDocumentArgs, "documentType">>;
2313
2636
  deleteDocument?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, RequireFields<MutationDeleteDocumentArgs, "identifier">>;
2314
2637
  deleteDocuments?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, RequireFields<MutationDeleteDocumentsArgs, "identifiers">>;
2638
+ execute?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationExecuteArgs, "actions" | "documentIdentifier">>;
2639
+ executeAsync?: Resolver<ResolversTypes["JobInfo"], ParentType, ContextType, RequireFields<MutationExecuteAsyncArgs, "actions" | "documentIdentifier">>;
2315
2640
  moveRelationship?: Resolver<ResolversTypes["MoveRelationshipResult"], ParentType, ContextType, RequireFields<MutationMoveRelationshipArgs, "relationshipType" | "sourceParentIdentifier" | "targetIdentifier" | "targetParentIdentifier">>;
2316
2641
  mutateDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationMutateDocumentArgs, "actions" | "documentIdentifier">>;
2317
2642
  mutateDocumentAsync?: Resolver<ResolversTypes["String"], ParentType, ContextType, RequireFields<MutationMutateDocumentAsyncArgs, "actions" | "documentIdentifier">>;
@@ -2363,12 +2688,14 @@ type QueryResolvers<ContextType = Context, ParentType extends ResolversParentTyp
2363
2688
  documentModels?: Resolver<ResolversTypes["DocumentModelResultPage"], ParentType, ContextType, Partial<QueryDocumentModelsArgs>>;
2364
2689
  documentOperations?: Resolver<ResolversTypes["ReactorOperationResultPage"], ParentType, ContextType, RequireFields<QueryDocumentOperationsArgs, "filter">>;
2365
2690
  documentOutgoingRelationships?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, RequireFields<QueryDocumentOutgoingRelationshipsArgs, "relationshipType" | "sourceIdentifier">>;
2691
+ evaluateActions?: Resolver<ResolversTypes["ActionEvaluations"], ParentType, ContextType, RequireFields<QueryEvaluateActionsArgs, "candidates" | "documentIdentifier">>;
2366
2692
  findDocuments?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, Partial<QueryFindDocumentsArgs>>;
2367
2693
  jobStatus?: Resolver<Maybe<ResolversTypes["JobInfo"]>, ParentType, ContextType, RequireFields<QueryJobStatusArgs, "jobId">>;
2368
2694
  pollSyncEnvelopes?: Resolver<ResolversTypes["PollSyncEnvelopesResult"], ParentType, ContextType, RequireFields<QueryPollSyncEnvelopesArgs, "channelId" | "outboxAck" | "outboxLatest">>;
2369
2695
  }>;
2370
2696
  type ReactorOperationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorOperation"] = ResolversParentTypes["ReactorOperation"]> = ResolversObject<{
2371
2697
  action?: Resolver<ResolversTypes["Action"], ParentType, ContextType>;
2698
+ deniedReason?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2372
2699
  error?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2373
2700
  hash?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2374
2701
  id?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
@@ -2425,6 +2752,8 @@ type TouchChannelResultResolvers<ContextType = Context, ParentType extends Resol
2425
2752
  type Resolvers<ContextType = Context> = ResolversObject<{
2426
2753
  Action?: ActionResolvers<ContextType>;
2427
2754
  ActionContext?: ActionContextResolvers<ContextType>;
2755
+ ActionEvaluation?: ActionEvaluationResolvers<ContextType>;
2756
+ ActionEvaluations?: ActionEvaluationsResolvers<ContextType>;
2428
2757
  ChannelMeta?: ChannelMetaResolvers<ContextType>;
2429
2758
  DateTime?: GraphQLScalarType;
2430
2759
  DeadLetterInfo?: DeadLetterInfoResolvers<ContextType>;
@@ -2459,9 +2788,11 @@ type Properties<T> = Required<{ [K in keyof T]: z$1.ZodType<T[K]> }>;
2459
2788
  type definedNonNullAny = {};
2460
2789
  declare const isDefinedNonNullAny: (v: any) => v is definedNonNullAny;
2461
2790
  declare const definedNonNullAnySchema: z$1.ZodAny & z$1.ZodType<definedNonNullAny, any, z$1.core.$ZodTypeInternals<definedNonNullAny, any>>;
2791
+ declare const AuthDecisionSchema: z$1.ZodEnum<typeof AuthDecision>;
2462
2792
  declare const DocumentChangeTypeSchema: z$1.ZodEnum<typeof DocumentChangeType>;
2463
2793
  declare const PropagationModeSchema: z$1.ZodEnum<typeof PropagationMode>;
2464
2794
  declare const SyncEnvelopeTypeSchema: z$1.ZodEnum<typeof SyncEnvelopeType>;
2795
+ declare function ActionCandidateInputSchema(): z$1.ZodObject<Properties<ActionCandidateInput>>;
2465
2796
  declare function ActionContextInputSchema(): z$1.ZodObject<Properties<ActionContextInput>>;
2466
2797
  declare function ActionInputSchema(): z$1.ZodObject<Properties<ActionInput>>;
2467
2798
  declare function ChannelMetaInputSchema(): z$1.ZodObject<Properties<ChannelMetaInput>>;
@@ -2489,6 +2820,7 @@ declare const GetDocumentIncomingRelationshipsDocument: DocumentNode;
2489
2820
  declare const FindDocumentsDocument: DocumentNode;
2490
2821
  declare const GetDocumentOperationsDocument: DocumentNode;
2491
2822
  declare const GetJobStatusDocument: DocumentNode;
2823
+ declare const EvaluateActionsDocument: DocumentNode;
2492
2824
  declare const CreateDocumentDocument: DocumentNode;
2493
2825
  declare const CreateEmptyDocumentDocument: DocumentNode;
2494
2826
  declare const MutateDocumentDocument: DocumentNode;
@@ -2515,6 +2847,7 @@ declare function getSdk<C>(requester: Requester<C>): {
2515
2847
  FindDocuments(variables?: FindDocumentsQueryVariables, options?: C): Promise<FindDocumentsQuery>;
2516
2848
  GetDocumentOperations(variables: GetDocumentOperationsQueryVariables, options?: C): Promise<GetDocumentOperationsQuery>;
2517
2849
  GetJobStatus(variables: GetJobStatusQueryVariables, options?: C): Promise<GetJobStatusQuery>;
2850
+ EvaluateActions(variables: EvaluateActionsQueryVariables, options?: C): Promise<EvaluateActionsQuery>;
2518
2851
  CreateDocument(variables: CreateDocumentMutationVariables, options?: C): Promise<CreateDocumentMutation>;
2519
2852
  CreateEmptyDocument(variables: CreateEmptyDocumentMutationVariables, options?: C): Promise<CreateEmptyDocumentMutation>;
2520
2853
  MutateDocument(variables: MutateDocumentMutationVariables, options?: C): Promise<MutateDocumentMutation>;
@@ -2577,6 +2910,11 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
2577
2910
  GetJobStatus(variables: Exact<{
2578
2911
  jobId: Scalars["String"]["input"];
2579
2912
  }>, options?: {} | undefined): Promise<GetJobStatusQuery>;
2913
+ EvaluateActions(variables: Exact<{
2914
+ documentIdentifier: Scalars["String"]["input"];
2915
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2916
+ candidates: ReadonlyArray<ActionCandidateInput>;
2917
+ }>, options?: {} | undefined): Promise<EvaluateActionsQuery>;
2580
2918
  CreateDocument(variables: Exact<{
2581
2919
  document: Scalars["JSONObject"]["input"];
2582
2920
  parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
@@ -2587,13 +2925,13 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
2587
2925
  }>, options?: {} | undefined): Promise<CreateEmptyDocumentMutation>;
2588
2926
  MutateDocument(variables: Exact<{
2589
2927
  documentIdentifier: Scalars["String"]["input"];
2590
- actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
2591
- view?: InputMaybe<ViewFilterInput>;
2928
+ actions: ReadonlyArray<ActionInput>;
2929
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2592
2930
  }>, options?: {} | undefined): Promise<MutateDocumentMutation>;
2593
2931
  MutateDocumentAsync(variables: Exact<{
2594
2932
  documentIdentifier: Scalars["String"]["input"];
2595
- actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
2596
- view?: InputMaybe<ViewFilterInput>;
2933
+ actions: ReadonlyArray<ActionInput>;
2934
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2597
2935
  }>, options?: {} | undefined): Promise<MutateDocumentAsyncMutation>;
2598
2936
  RenameDocument(variables: Exact<{
2599
2937
  documentIdentifier: Scalars["String"]["input"];
@@ -2708,6 +3046,7 @@ declare class ImportPackageLoader implements IPackageLoader {
2708
3046
  private readonly logger;
2709
3047
  readonly name = "ImportPackageLoader";
2710
3048
  loadDocumentModels(identifier: string): Promise<DocumentModelModule[]>;
3049
+ loadUpgradeManifests(identifier: string): Promise<UpgradeManifest<readonly number[]>[]>;
2711
3050
  loadSubgraphs(identifier: string): Promise<SubgraphClass$1[]>;
2712
3051
  loadProcessors(identifier: string): Promise<ProcessorFactoryBuilder | null>;
2713
3052
  }
@@ -2727,11 +3066,13 @@ declare class ImportPackageLoader implements IPackageLoader {
2727
3066
  */
2728
3067
  declare function isExpectedLoaderMiss(error: unknown, pkg: string): boolean;
2729
3068
  declare function getUniqueDocumentModels(...documentModels: readonly (readonly DocumentModelModule<any>[])[]): DocumentModelModule[];
3069
+ declare function getUniqueUpgradeManifests(...upgradeManifests: readonly (readonly UpgradeManifest<readonly number[]>[])[]): UpgradeManifest<readonly number[]>[];
2730
3070
  declare class PackageManager implements IPackageManager {
2731
3071
  protected options: IPackageManagerOptions;
2732
3072
  private readonly logger;
2733
3073
  private loaders;
2734
3074
  private docModelsMap;
3075
+ private upgradeManifestsMap;
2735
3076
  private subgraphsMap;
2736
3077
  private processorMap;
2737
3078
  private configWatcher;
@@ -2741,6 +3082,9 @@ declare class PackageManager implements IPackageManager {
2741
3082
  init(): Promise<PackageManagerResult>;
2742
3083
  private loadPackages;
2743
3084
  private loadDocumentModels;
3085
+ /** Upgrade manifests currently loaded across all packages, one per type. */
3086
+ getUniqueUpgradeManifests(): UpgradeManifest<readonly number[]>[];
3087
+ private loadUpgradeManifests;
2744
3088
  private loadSubgraphs;
2745
3089
  private loadProcessors;
2746
3090
  private maybeWarnAllLoadersFailed;
@@ -2757,6 +3101,27 @@ declare class PackageManager implements IPackageManager {
2757
3101
  onProcessorsChange(handler: (processors: Map<string, Processor$1>) => void): void;
2758
3102
  }
2759
3103
  //#endregion
3104
+ //#region src/services/renown-config.d.ts
3105
+ /** Where the credential check reads from: a remote Renown or Switchboard
3106
+ * instance, or this switchboard's own renown read model. */
3107
+ type RenownSource = NonNullable<PHReactorRenown["source"]>;
3108
+ /** The `auth.renown` config block: which Renown instance to authenticate
3109
+ * against, before env overrides are applied. */
3110
+ type RenownConfig = PHReactorRenown;
3111
+ /** Resolved renown coordinates. `url` also drives this reactor's own identity,
3112
+ * so it stays meaningful when `source` is "self". */
3113
+ type ResolvedRenownConfig = {
3114
+ source: RenownSource;
3115
+ url: string | undefined;
3116
+ switchboardUrl: string | undefined;
3117
+ };
3118
+ /** Reading credentials from this reactor's own read model needs a host-supplied
3119
+ * verifier: core has no idea which subgraph serves that read model. */
3120
+ declare function assertCredentialVerifierForSource(source: RenownSource, hasVerifier: boolean): void;
3121
+ /** Resolve `auth.renown`; RENOWN_SOURCE / RENOWN_URL / SWITCHBOARD_URL win
3122
+ * over the config file, which wins over the SDK defaults. */
3123
+ declare function resolveRenownConfig(configured: RenownConfig | undefined, env: NodeJS.ProcessEnv, logger: ILogger): ResolvedRenownConfig;
3124
+ //#endregion
2760
3125
  //#region src/server.d.ts
2761
3126
  type Options = {
2762
3127
  port?: number;
@@ -2775,6 +3140,12 @@ type Options = {
2775
3140
  enabled: boolean;
2776
3141
  admins: string[];
2777
3142
  };
3143
+ /** Renown coordinates the host already resolved, used verbatim instead of
3144
+ * resolving `auth.renown` and the env again (which would warn twice). */
3145
+ renown?: ResolvedRenownConfig;
3146
+ /** Credential check replacing the built-in remote Renown one; required when
3147
+ * the resolved source is "self" (see assertCredentialVerifierForSource). */
3148
+ verifyCredential?: CredentialVerifier;
2778
3149
  https?: {
2779
3150
  keyPath: string;
2780
3151
  certPath: string;
@@ -2830,14 +3201,28 @@ declare function assertSkipCredentialVerificationAllowed(authEnabled: boolean, s
2830
3201
  interface ClientInitializerResult {
2831
3202
  module: InProcessReactorClientModule;
2832
3203
  reactorDriveClient?: IDriveClient;
3204
+ attachmentReferenceProjection?: AttachmentReferenceProjectionCapability;
2833
3205
  }
2834
- declare function initializeAndStartAPI(clientInitializer: (documentModels: DocumentModelModule[]) => Promise<ClientInitializerResult>, options: Options, processorApp: ProcessorApp): Promise<API & {
3206
+ interface ClientInitializerDependencies {
3207
+ attachmentReferenceWriter: IAttachmentReferenceWriter;
3208
+ /** Upgrade manifests exported by the loaded packages, one per type. */
3209
+ upgradeManifests: UpgradeManifest<readonly number[]>[];
3210
+ }
3211
+ declare function initializeAndStartAPI(clientInitializer: (documentModels: DocumentModelModule[], dependencies: ClientInitializerDependencies) => Promise<ClientInitializerResult>, options: Options, processorApp: ProcessorApp): Promise<API & {
2835
3212
  client: IReactorClient;
2836
3213
  syncManager: ISyncManager;
2837
3214
  documentModelRegistry: IDocumentModelRegistry;
2838
3215
  readiness: ReadinessGate;
3216
+ attachmentReferenceProjection: AttachmentReferenceProjectionCapability;
2839
3217
  }>;
2840
3218
  //#endregion
3219
+ //#region src/services/renown-credential-verifier.d.ts
3220
+ interface RenownCredentialVerifierConfig {
3221
+ renownUrl?: string;
3222
+ switchboardUrl?: string;
3223
+ }
3224
+ declare function createRenownCredentialVerifier(config?: RenownCredentialVerifierConfig): Promise<CredentialVerifier>;
3225
+ //#endregion
2841
3226
  //#region src/utils/create-schema.d.ts
2842
3227
  declare const buildSubgraphSchemaModule: (documentModels: DocumentModelModule[], resolvers: GraphQLResolverMap<Context$1>, typeDefs: DocumentNode) => GraphQLSchemaModule;
2843
3228
  declare const createSchema: (documentModels: DocumentModelModule[], resolvers: GraphQLResolverMap<Context$1>, typeDefs: DocumentNode) => graphql.GraphQLSchema;
@@ -2871,5 +3256,5 @@ interface DocumentModelSchemaOptions {
2871
3256
  */
2872
3257
  declare function generateDocumentModelSchema(documentModel: DocumentModelGlobalState$1, options?: DocumentModelSchemaOptions): DocumentNode;
2873
3258
  //#endregion
2874
- export { ADMIN_USERS, API, Action, ActionContext, ActionContextInput, ActionContextInputSchema, ActionContextResolvers, ActionInput, ActionInputSchema, ActionResolvers, AddRelationshipDocument, AddRelationshipMutation, AddRelationshipMutationVariables, AnalyticsSubgraph, AuthConfig, AuthContext, AuthFetchMiddleware, AuthService, AuthSubgraph, type AuthorizationConfig, AuthorizationPolicy, AuthorizedDocumentHandle, BaseSubgraph, type CanonicalDocumentId, ChannelMeta, ChannelMetaInput, ChannelMetaInputSchema, ChannelMetaResolvers, ClientInitializerResult, Context, CreateDocumentDocument, CreateDocumentMutation, CreateDocumentMutationVariables, CreateEmptyDocumentDocument, CreateEmptyDocumentMutation, CreateEmptyDocumentMutationVariables, DateTimeScalarConfig, DbClient, DeadLetterInfo, DeadLetterInfoResolvers, DeleteDocumentDocument, DeleteDocumentMutation, DeleteDocumentMutationVariables, DeleteDocumentsDocument, DeleteDocumentsMutation, DeleteDocumentsMutationVariables, DirectiveResolverFn, DocumentChangeContext, DocumentChangeContextResolvers, DocumentChangeEvent, DocumentChangeEventResolvers, DocumentChangeType, DocumentChangeTypeSchema, DocumentChangesDocument, DocumentChangesSubscription, DocumentChangesSubscriptionVariables, DocumentModelGlobalState, DocumentModelGlobalStateResolvers, DocumentModelResultPage, DocumentModelResultPageResolvers, DocumentModelSchemaOptions, DocumentOperationsFilterInput, DocumentOperationsFilterInputSchema, DocumentPermissionConfig, DocumentPermissionDatabase, DocumentPermissionEntry, DocumentPermissionLevel, DocumentPermissionService, DocumentPermissionTable, DocumentProtectionTable, DocumentWithChildren, DocumentWithChildrenResolvers, Exact, FetchHandler, FindDocumentsDocument, FindDocumentsQuery, FindDocumentsQueryVariables, GatewayAdapterType, GatewayContextFactory, GetDocumentDocument, GetDocumentIncomingRelationshipsDocument, GetDocumentIncomingRelationshipsQuery, GetDocumentIncomingRelationshipsQueryVariables, GetDocumentModelsDocument, GetDocumentModelsQuery, GetDocumentModelsQueryVariables, GetDocumentOperationsDocument, GetDocumentOperationsQuery, GetDocumentOperationsQueryVariables, GetDocumentOutgoingRelationshipsDocument, GetDocumentOutgoingRelationshipsQuery, GetDocumentOutgoingRelationshipsQueryVariables, GetDocumentQuery, GetDocumentQueryVariables, GetDocumentWithOperationsDocument, GetDocumentWithOperationsQuery, GetDocumentWithOperationsQueryVariables, GetJobStatusDocument, GetJobStatusQuery, GetJobStatusQueryVariables, GetParentIdsFn, GqlDocument, GqlDriveDocument, GqlOperation, GqlOperationContext, GqlSigner, GqlSignerApp, GqlSignerUser, GraphQLManager, GraphqlManagerFeatureFlags, HttpAdapterSetup, HttpAdapterType, HttpDocumentModelLoader, HttpPackageLoader, HttpPackageLoaderLogger, HttpPackageLoaderOptions, type IAuthorizationService, IGatewayAdapter, IHttpAdapter, type IPackageLoader, type IPackageLoaderOptions, IPackageStorage, IReactorProcessorHostModule, ISubgraph, ImportPackageLoader, InMemoryPackageStorage, Incremental, InputMaybe, InstallPackageResult, InstalledPackageInfo, IsTypeOfResolverFn, JobChangeEvent, JobChangeEventResolvers, JobChangesDocument, JobChangesSubscription, JobChangesSubscriptionVariables, JobInfo, JobInfoResolvers, JsonObjectScalarConfig, MakeEmpty, MakeMaybe, MakeOptional, Maybe, MoveRelationshipDocument, MoveRelationshipMutation, MoveRelationshipMutationVariables, MoveRelationshipResult, MoveRelationshipResultResolvers, MutateDocumentAsyncDocument, MutateDocumentAsyncMutation, MutateDocumentAsyncMutationVariables, MutateDocumentDocument, MutateDocumentMutation, MutateDocumentMutationVariables, Mutation, MutationAddRelationshipArgs, MutationCreateDocumentArgs, MutationCreateEmptyDocumentArgs, MutationDeleteDocumentArgs, MutationDeleteDocumentsArgs, MutationMoveRelationshipArgs, MutationMutateDocumentArgs, MutationMutateDocumentAsyncArgs, MutationPushSyncEnvelopesArgs, MutationRemoveRelationshipArgs, MutationRenameDocumentArgs, MutationResolvers, MutationSetPreferredEditorArgs, MutationTouchChannelArgs, NextResolverFn, OperationContext, OperationContextInput, OperationContextInputSchema, OperationContextResolvers, OperationInput, OperationInputSchema, OperationUserPermissionEntry, OperationUserPermissionTable, OperationWithContext, OperationWithContextInput, OperationWithContextInputSchema, OperationWithContextResolvers, OperationsFilterInput, OperationsFilterInputSchema, PackageManagementService, PackageManagementServiceOptions, PackageManager, PackagesSubgraph, type PackagesSubgraphArgs, PagingInput, PagingInputSchema, type ParsedDriveUrl, PgliteFactory, PhDocument, PhDocumentFieldsFragment, PhDocumentFieldsFragmentDoc, PhDocumentOperationsArgs, PhDocumentResolvers, PhDocumentResultPage, PhDocumentResultPageResolvers, PollSyncEnvelopesDocument, PollSyncEnvelopesQuery, PollSyncEnvelopesQueryVariables, PollSyncEnvelopesResult, PollSyncEnvelopesResultResolvers, Processor, ProcessorDriveFactory, ProcessorFactoryBuilder, PropagationMode, PropagationModeSchema, PushSyncEnvelopesDocument, PushSyncEnvelopesMutation, PushSyncEnvelopesMutationVariables, Query, QueryDocumentArgs, QueryDocumentIncomingRelationshipsArgs, QueryDocumentModelsArgs, QueryDocumentOperationsArgs, QueryDocumentOutgoingRelationshipsArgs, QueryFindDocumentsArgs, QueryJobStatusArgs, QueryPollSyncEnvelopesArgs, QueryResolvers, ReactorModule, ReactorOperation, ReactorOperationResolvers, ReactorOperationResultPage, ReactorOperationResultPageResolvers, ReactorSigner, ReactorSignerApp, ReactorSignerAppInput, ReactorSignerAppInputSchema, ReactorSignerAppResolvers, ReactorSignerInput, ReactorSignerInputSchema, ReactorSignerResolvers, ReactorSignerUser, ReactorSignerUserInput, ReactorSignerUserInputSchema, ReactorSignerUserResolvers, ReactorSubgraph, ReadinessGate, RemoteCursor, RemoteCursorInput, RemoteCursorInputSchema, RemoteCursorResolvers, RemoteFilterInput, RemoteFilterInputSchema, RemoveRelationshipDocument, RemoveRelationshipMutation, RemoveRelationshipMutationVariables, RenameDocumentDocument, RenameDocumentMutation, RenameDocumentMutationVariables, Requester, RequireFields, Resolver, ResolverFn, ResolverTypeWrapper, ResolverWithResolve, Resolvers, ResolversObject, ResolversParentTypes, ResolversTypes, Revision, RevisionResolvers, Scalars, Sdk, SearchFilterInput, SearchFilterInputSchema, SetPreferredEditorDocument, SetPreferredEditorMutation, SetPreferredEditorMutationVariables, SubgraphArgs, SubgraphClass, SubgraphDefinition, Subscription, SubscriptionDocumentChangesArgs, SubscriptionJobChangesArgs, SubscriptionObject, SubscriptionResolveFn, SubscriptionResolver, SubscriptionResolverObject, SubscriptionResolvers, SubscriptionSubscribeFn, SubscriptionSubscriberObject, SyncEnvelope, SyncEnvelopeInput, SyncEnvelopeInputSchema, SyncEnvelopeResolvers, SyncEnvelopeType, SyncEnvelopeTypeSchema, SystemSubgraph, TlsOptions, TouchChannelDocument, TouchChannelInput, TouchChannelInputSchema, TouchChannelMutation, TouchChannelMutationVariables, TouchChannelResult, TouchChannelResultResolvers, TypeResolveFn, User, ViewFilterInput, ViewFilterInputSchema, WithIndex, WsContextFactory, WsDisposer, assertAuthRequiredForDocumentPermissions, assertSkipCredentialVerificationAllowed, buildGraphQlDocument, buildGraphQlDriveDocument, buildGraphqlOperation, buildGraphqlOperations, buildSubgraphSchemaModule, createAuthFetchMiddleware, createGatewayAdapter, createHttpAdapter, createMergedSchema, createReactorGraphQLClient, createSchema, definedNonNullAnySchema, driveIdFromUrl, extractSubgraphsFromModule, generateDocumentModelSchema, getAuthContext, getDbClient, getDocumentModelSchemaName, getDocumentModelTypeDefs, getGitHash, getGitUrl, getSdk, getUniqueDocumentModels, getVersion, initAnalyticsStoreSql, initializeAndStartAPI, isDefinedNonNullAny, isExpectedLoaderMiss, isSubgraphClass, parseDriveUrl, renderGraphqlPlayground };
3259
+ export { ADMIN_USERS, API, Action, ActionCandidateInput, ActionCandidateInputSchema, ActionContext, ActionContextInput, ActionContextInputSchema, ActionContextResolvers, ActionEvaluation, ActionEvaluationResolvers, ActionEvaluations, ActionEvaluationsResolvers, ActionInput, ActionInputSchema, ActionResolvers, AddRelationshipDocument, AddRelationshipMutation, AddRelationshipMutationVariables, AnalyticsSubgraph, AttachmentAccessRequest, AttachmentAccessResult, AttachmentAccessService, type AttachmentReferenceProjectionCapability, AuthConfig, AuthContext, AuthDecision, AuthDecisionSchema, AuthFetchMiddleware, AuthService, AuthSubgraph, type AuthorizationConfig, AuthorizationPolicy, AuthorizedDocumentHandle, BaseSubgraph, type CanonicalDocumentId, CanonicalDocumentIdResolutionError, CanonicalDocumentIdResolver, ChannelMeta, ChannelMetaInput, ChannelMetaInputSchema, ChannelMetaResolvers, ClientInitializerDependencies, ClientInitializerResult, Context, CreateDocumentDocument, CreateDocumentMutation, CreateDocumentMutationVariables, CreateEmptyDocumentDocument, CreateEmptyDocumentMutation, CreateEmptyDocumentMutationVariables, CredentialVerifier, DateTimeScalarConfig, DbClient, DeadLetterInfo, DeadLetterInfoResolvers, DeleteDocumentDocument, DeleteDocumentMutation, DeleteDocumentMutationVariables, DeleteDocumentsDocument, DeleteDocumentsMutation, DeleteDocumentsMutationVariables, DirectiveResolverFn, DocumentChangeContext, DocumentChangeContextResolvers, DocumentChangeEvent, DocumentChangeEventResolvers, DocumentChangeType, DocumentChangeTypeSchema, DocumentChangesDocument, DocumentChangesSubscription, DocumentChangesSubscriptionVariables, DocumentModelGlobalState, DocumentModelGlobalStateResolvers, DocumentModelResultPage, DocumentModelResultPageResolvers, DocumentModelSchemaOptions, DocumentOperationsFilterInput, DocumentOperationsFilterInputSchema, DocumentPermissionConfig, DocumentPermissionDatabase, DocumentPermissionEntry, DocumentPermissionLevel, DocumentPermissionService, DocumentPermissionTable, DocumentProtectionTable, DocumentWithChildren, DocumentWithChildrenResolvers, EvaluateActionsDocument, EvaluateActionsQuery, EvaluateActionsQueryVariables, Exact, FetchHandler, FindDocumentsDocument, FindDocumentsQuery, FindDocumentsQueryVariables, GatewayAdapterType, GatewayContextFactory, GetDocumentDocument, GetDocumentIncomingRelationshipsDocument, GetDocumentIncomingRelationshipsQuery, GetDocumentIncomingRelationshipsQueryVariables, GetDocumentModelsDocument, GetDocumentModelsQuery, GetDocumentModelsQueryVariables, GetDocumentOperationsDocument, GetDocumentOperationsQuery, GetDocumentOperationsQueryVariables, GetDocumentOutgoingRelationshipsDocument, GetDocumentOutgoingRelationshipsQuery, GetDocumentOutgoingRelationshipsQueryVariables, GetDocumentQuery, GetDocumentQueryVariables, GetDocumentWithOperationsDocument, GetDocumentWithOperationsQuery, GetDocumentWithOperationsQueryVariables, GetJobStatusDocument, GetJobStatusQuery, GetJobStatusQueryVariables, GetParentIdsFn, GqlDocument, GqlDriveDocument, GqlOperation, GqlOperationContext, GqlSigner, GqlSignerApp, GqlSignerUser, GraphQLManager, GraphqlManagerFeatureFlags, HttpAdapterSetup, HttpAdapterType, HttpDocumentModelLoader, HttpPackageLoader, HttpPackageLoaderLogger, HttpPackageLoaderOptions, IAttachmentAccessService, type IAuthorizationService, IGatewayAdapter, IHttpAdapter, type IPackageLoader, type IPackageLoaderOptions, IPackageStorage, IProcessorHostModule, IReactorProcessorHostModule, ISubgraph, ImportPackageLoader, InMemoryPackageStorage, Incremental, InputMaybe, InstallPackageResult, InstalledPackageInfo, IsTypeOfResolverFn, JobChangeEvent, JobChangeEventResolvers, JobChangesDocument, JobChangesSubscription, JobChangesSubscriptionVariables, JobInfo, JobInfoResolvers, JsonObjectScalarConfig, MakeEmpty, MakeMaybe, MakeOptional, Maybe, MoveRelationshipDocument, MoveRelationshipMutation, MoveRelationshipMutationVariables, MoveRelationshipResult, MoveRelationshipResultResolvers, MutateDocumentAsyncDocument, MutateDocumentAsyncMutation, MutateDocumentAsyncMutationVariables, MutateDocumentDocument, MutateDocumentMutation, MutateDocumentMutationVariables, Mutation, MutationAddRelationshipArgs, MutationCreateDocumentArgs, MutationCreateEmptyDocumentArgs, MutationDeleteDocumentArgs, MutationDeleteDocumentsArgs, MutationExecuteArgs, MutationExecuteAsyncArgs, MutationMoveRelationshipArgs, MutationMutateDocumentArgs, MutationMutateDocumentAsyncArgs, MutationPushSyncEnvelopesArgs, MutationRemoveRelationshipArgs, MutationRenameDocumentArgs, MutationResolvers, MutationSetPreferredEditorArgs, MutationTouchChannelArgs, NextResolverFn, OperationContext, OperationContextInput, OperationContextInputSchema, OperationContextResolvers, OperationInput, OperationInputSchema, OperationUserPermissionEntry, OperationUserPermissionTable, OperationWithContext, OperationWithContextInput, OperationWithContextInputSchema, OperationWithContextResolvers, OperationsFilterInput, OperationsFilterInputSchema, PGLITE_UTC_PARSERS, PackageManagementService, PackageManagementServiceOptions, PackageManager, PackagesSubgraph, type PackagesSubgraphArgs, PagingInput, PagingInputSchema, type ParsedDriveUrl, PgliteFactory, PhDocument, PhDocumentFieldsFragment, PhDocumentFieldsFragmentDoc, PhDocumentOperationsArgs, PhDocumentResolvers, PhDocumentResultPage, PhDocumentResultPageResolvers, PollSyncEnvelopesDocument, PollSyncEnvelopesQuery, PollSyncEnvelopesQueryVariables, PollSyncEnvelopesResult, PollSyncEnvelopesResultResolvers, Processor, ProcessorDriveFactory, ProcessorFactoryBuilder, PropagationMode, PropagationModeSchema, PushSyncEnvelopesDocument, PushSyncEnvelopesMutation, PushSyncEnvelopesMutationVariables, Query, QueryDocumentArgs, QueryDocumentIncomingRelationshipsArgs, QueryDocumentModelsArgs, QueryDocumentOperationsArgs, QueryDocumentOutgoingRelationshipsArgs, QueryEvaluateActionsArgs, QueryFindDocumentsArgs, QueryJobStatusArgs, QueryPollSyncEnvelopesArgs, QueryResolvers, ReactorModule, ReactorOperation, ReactorOperationResolvers, ReactorOperationResultPage, ReactorOperationResultPageResolvers, ReactorSigner, ReactorSignerApp, ReactorSignerAppInput, ReactorSignerAppInputSchema, ReactorSignerAppResolvers, ReactorSignerInput, ReactorSignerInputSchema, ReactorSignerResolvers, ReactorSignerUser, ReactorSignerUserInput, ReactorSignerUserInputSchema, ReactorSignerUserResolvers, ReactorSubgraph, ReadinessGate, RemoteCursor, RemoteCursorInput, RemoteCursorInputSchema, RemoteCursorResolvers, RemoteFilterInput, RemoteFilterInputSchema, RemoveRelationshipDocument, RemoveRelationshipMutation, RemoveRelationshipMutationVariables, RenameDocumentDocument, RenameDocumentMutation, RenameDocumentMutationVariables, RenownConfig, RenownCredentialVerifierConfig, RenownSource, Requester, RequireFields, ResolvedRenownConfig, Resolver, ResolverFn, ResolverTypeWrapper, ResolverWithResolve, Resolvers, ResolversObject, ResolversParentTypes, ResolversTypes, Revision, RevisionResolvers, Scalars, Sdk, SearchFilterInput, SearchFilterInputSchema, SetPreferredEditorDocument, SetPreferredEditorMutation, SetPreferredEditorMutationVariables, SubgraphArgs, SubgraphClass, SubgraphDefinition, Subscription, SubscriptionDocumentChangesArgs, SubscriptionJobChangesArgs, SubscriptionObject, SubscriptionResolveFn, SubscriptionResolver, SubscriptionResolverObject, SubscriptionResolvers, SubscriptionSubscribeFn, SubscriptionSubscriberObject, SyncEnvelope, SyncEnvelopeInput, SyncEnvelopeInputSchema, SyncEnvelopeResolvers, SyncEnvelopeType, SyncEnvelopeTypeSchema, SystemSubgraph, TlsOptions, TouchChannelDocument, TouchChannelInput, TouchChannelInputSchema, TouchChannelMutation, TouchChannelMutationVariables, TouchChannelResult, TouchChannelResultResolvers, TypeResolveFn, User, ViewFilterInput, ViewFilterInputSchema, WithIndex, WsContextFactory, WsDisposer, assertAuthRequiredForDocumentPermissions, assertCredentialVerifierForSource, assertSkipCredentialVerificationAllowed, buildGraphQlDocument, buildGraphQlDriveDocument, buildGraphqlOperation, buildGraphqlOperations, buildSubgraphSchemaModule, createAuthFetchMiddleware, createCanonicalDocumentIdResolver, createGatewayAdapter, createHttpAdapter, createMergedSchema, createReactorGraphQLClient, createRenownCredentialVerifier, createSchema, definedNonNullAnySchema, driveIdFromUrl, extractSubgraphsFromModule, generateDocumentModelSchema, getAuthContext, getDbClient, getDocumentModelSchemaName, getDocumentModelTypeDefs, getGitHash, getGitUrl, getSdk, getUniqueDocumentModels, getUniqueUpgradeManifests, getVersion, initAnalyticsStoreSql, initializeAndStartAPI, isDefinedNonNullAny, isExpectedLoaderMiss, isSubgraphClass, parseDriveUrl, renderGraphqlPlayground, resolveRenownConfig };
2875
3260
  //# sourceMappingURL=index.d.mts.map