@powerhousedao/reactor-api 6.2.2-dev.6 → 6.2.2-dev.60

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,14 +1,14 @@
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, IRelationalDb, ISyncManager, InProcessReactorClientModule, ParsedDriveUrl, 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 { AuthSubject, DocumentModelGlobalState as DocumentModelGlobalState$1, DocumentModelModule, Operation, PHDocument, PHDocumentHeader, UpgradeManifest } from "@powerhousedao/shared/document-model";
9
9
  import * as z$1 from "zod";
10
10
  import { DocumentDriveDocument, DocumentDriveGlobalState } from "@powerhousedao/shared/document-drive";
11
- import { AttachmentBuildResult } from "@powerhousedao/reactor-attachments";
11
+ import { AttachmentBuildResult, AttachmentReferenceIndexBuildResult, IAttachmentReferenceReader, IAttachmentReferenceWriter } from "@powerhousedao/reactor-attachments";
12
12
  import { IAttachmentClient } from "@powerhousedao/reactor-attachments/client";
13
13
  import { WebSocketServer } from "ws";
14
14
  import { IProcessorHostModule, IRelationalDb as IRelationalDb$1, ProcessorApp, ProcessorRecord } from "@powerhousedao/shared/processors";
@@ -21,6 +21,7 @@ import { GraphQLResolverMap, GraphQLSchemaModule } from "@apollo/subgraph/dist/s
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,6 +930,78 @@ 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
1006
  interface IReactorProcessorHostModule extends IProcessorHostModule {
879
1007
  client: IReactorClient;
@@ -888,6 +1016,8 @@ type API = {
888
1016
  graphqlManager: GraphQLManager$1;
889
1017
  packages: IPackageManager;
890
1018
  attachments: AttachmentBuildResult;
1019
+ attachmentReferenceIndex: AttachmentReferenceIndexBuildResult; /** Document-authorized attachment read decisions; see AttachmentAccessService. */
1020
+ attachmentAccess: IAttachmentAccessService;
891
1021
  authService: AuthService | undefined;
892
1022
  /**
893
1023
  * Releases resources owned by the API: shuts down the GraphQL gateway,
@@ -955,6 +1085,7 @@ declare class HttpPackageLoader implements IPackageLoader {
955
1085
  */
956
1086
  private parsePackageSpec;
957
1087
  loadDocumentModels(packageSpec: string): Promise<DocumentModelModule[]>;
1088
+ loadUpgradeManifests(packageSpec: string): Promise<UpgradeManifest<readonly number[]>[]>;
958
1089
  loadSubgraphs(packageSpec: string): Promise<SubgraphClass$1[]>;
959
1090
  loadProcessors(packageSpec: string): Promise<ProcessorFactoryBuilder | null>;
960
1091
  /**
@@ -1128,12 +1259,63 @@ type Action = {
1128
1259
  readonly timestampUtcMs: Scalars["String"]["output"];
1129
1260
  readonly type: Scalars["String"]["output"];
1130
1261
  };
1262
+ /**
1263
+ * One operation an authorization preflight predicts a verdict for.
1264
+ *
1265
+ * `input` is what a conditional grant reads, so a candidate standing for a
1266
+ * filled-in form carries that form's input. Omitting it predicts the verdict an
1267
+ * empty input earns, not the verdict the filled-in form will get.
1268
+ */
1269
+ type ActionCandidateInput = {
1270
+ readonly input?: InputMaybe<Scalars["JSONObject"]["input"]>;
1271
+ readonly scope: Scalars["String"]["input"];
1272
+ readonly type: Scalars["String"]["input"];
1273
+ };
1131
1274
  type ActionContext = {
1132
1275
  readonly signer?: Maybe<ReactorSigner>;
1133
1276
  };
1277
+ /**
1278
+ * An action's context, as a caller submits it.
1279
+ *
1280
+ * Declares every field `ActionContext` carries, because an input object rejects a
1281
+ * field it does not declare: an action stamped with the head it applies to - which
1282
+ * is what a signing client sends - is refused outright if these are missing, and
1283
+ * that refusal is a whole-request one, not a per-field one.
1284
+ *
1285
+ * `prevOpHash` and `prevOpIndex` are the scope head the action was composed
1286
+ * against. They are recorded rather than enforced; a signature is verified from
1287
+ * the params carried in its own tuple, which do not include them.
1288
+ */
1134
1289
  type ActionContextInput = {
1290
+ /** 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. */
1291
+ readonly prevOpHash?: InputMaybe<Scalars["String"]["input"]>; /** The index of the last operation in the scope the action applies to. */
1292
+ readonly prevOpIndex?: InputMaybe<Scalars["Int"]["input"]>;
1135
1293
  readonly signer?: InputMaybe<ReactorSignerInput>;
1136
1294
  };
1295
+ /**
1296
+ * One candidate's predicted verdict. `reason` carries the refusal a DENY is
1297
+ * recorded with, and is null on an ALLOW.
1298
+ */
1299
+ type ActionEvaluation = {
1300
+ readonly decision: AuthDecision;
1301
+ readonly reason?: Maybe<Scalars["String"]["output"]>;
1302
+ };
1303
+ /**
1304
+ * The predicted verdicts for a set of candidates, in the order they were given,
1305
+ * with the aggregates a caller branches on.
1306
+ *
1307
+ * The aggregates are redundant -- a verdict is binary -- and all four are returned
1308
+ * so a caller reads the one its question is phrased in rather than negating
1309
+ * another. Over no candidates every aggregate is false: nothing is allowed and
1310
+ * nothing is denied.
1311
+ */
1312
+ type ActionEvaluations = {
1313
+ readonly allAllowed: Scalars["Boolean"]["output"];
1314
+ readonly allDenied: Scalars["Boolean"]["output"];
1315
+ readonly anyAllowed: Scalars["Boolean"]["output"];
1316
+ readonly anyDenied: Scalars["Boolean"]["output"];
1317
+ readonly evaluations: ReadonlyArray<ActionEvaluation>;
1318
+ };
1137
1319
  type ActionInput = {
1138
1320
  readonly context?: InputMaybe<ActionContextInput>;
1139
1321
  readonly id: Scalars["String"]["input"];
@@ -1142,6 +1324,10 @@ type ActionInput = {
1142
1324
  readonly timestampUtcMs: Scalars["String"]["input"];
1143
1325
  readonly type: Scalars["String"]["input"];
1144
1326
  };
1327
+ declare enum AuthDecision {
1328
+ Allow = "ALLOW",
1329
+ Deny = "DENY"
1330
+ }
1145
1331
  type ChannelMeta = {
1146
1332
  readonly id: Scalars["String"]["output"];
1147
1333
  };
@@ -1152,6 +1338,12 @@ type DeadLetterInfo = {
1152
1338
  readonly branch: Scalars["String"]["output"];
1153
1339
  readonly documentId: Scalars["String"]["output"];
1154
1340
  readonly error: Scalars["String"]["output"];
1341
+ /**
1342
+ * How the origin classified the failure. A peer needs this to mirror the origin's
1343
+ * quarantine decision; without it a held auth operation would freeze the document
1344
+ * on the peer side while the origin kept syncing.
1345
+ */
1346
+ readonly errorType?: Maybe<Scalars["String"]["output"]>;
1155
1347
  readonly jobId: Scalars["String"]["output"];
1156
1348
  readonly operationCount: Scalars["Int"]["output"];
1157
1349
  readonly scopes: ReadonlyArray<Scalars["String"]["output"]>;
@@ -1211,7 +1403,11 @@ type JobInfo = {
1211
1403
  readonly createdAt: Scalars["DateTime"]["output"];
1212
1404
  readonly error?: Maybe<Scalars["String"]["output"]>;
1213
1405
  readonly id: Scalars["String"]["output"];
1214
- readonly result: Scalars["JSONObject"]["output"];
1406
+ /**
1407
+ * What the job produced, once it has produced anything. Null until then, which
1408
+ * is the state every job is in when it is handed back from a submission.
1409
+ */
1410
+ readonly result?: Maybe<Scalars["JSONObject"]["output"]>;
1215
1411
  readonly status: Scalars["String"]["output"];
1216
1412
  };
1217
1413
  type MoveRelationshipResult = {
@@ -1224,8 +1420,30 @@ type Mutation = {
1224
1420
  readonly createEmptyDocument: PhDocument;
1225
1421
  readonly deleteDocument: Scalars["Boolean"]["output"];
1226
1422
  readonly deleteDocuments: Scalars["Boolean"]["output"];
1227
- readonly moveRelationship: MoveRelationshipResult;
1228
- readonly mutateDocument: PhDocument;
1423
+ /**
1424
+ * Applies actions to a document and waits for the result.
1425
+ *
1426
+ * Each action is coerced against `ActionInput`, so one missing a field the wire
1427
+ * declares is refused before any work starts. The id in particular: it is hashed
1428
+ * into the operation id and replay dedupes by it, so an action without one is
1429
+ * stored under an operation id shared by every id-less operation on the same
1430
+ * document, scope and branch.
1431
+ *
1432
+ * Named for `IReactorClient.execute`, which this is the wire form of. `branch`
1433
+ * defaults to `main`.
1434
+ */
1435
+ readonly execute: PhDocument;
1436
+ /**
1437
+ * Submits actions to a document and returns the job that will apply them.
1438
+ *
1439
+ * Coerced exactly as `execute` is, so a malformed action is refused here rather
1440
+ * than surfacing later as a failed job. Returns the job rather than only its id,
1441
+ * so a caller has the status and the creation time it would otherwise have to
1442
+ * ask for; `result` is null until the job produces one.
1443
+ */
1444
+ readonly executeAsync: JobInfo;
1445
+ 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. */
1446
+ readonly mutateDocument: PhDocument; /** @deprecated Use executeAsync, which is typed and returns the job rather than only its id. */
1229
1447
  readonly mutateDocumentAsync: Scalars["String"]["output"];
1230
1448
  readonly pushSyncEnvelopes: Scalars["Boolean"]["output"];
1231
1449
  readonly removeRelationship: PhDocument;
@@ -1255,6 +1473,16 @@ type MutationDeleteDocumentsArgs = {
1255
1473
  identifiers: ReadonlyArray<Scalars["String"]["input"]>;
1256
1474
  propagate?: InputMaybe<PropagationMode>;
1257
1475
  };
1476
+ type MutationExecuteArgs = {
1477
+ actions: ReadonlyArray<ActionInput>;
1478
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1479
+ documentIdentifier: Scalars["String"]["input"];
1480
+ };
1481
+ type MutationExecuteAsyncArgs = {
1482
+ actions: ReadonlyArray<ActionInput>;
1483
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1484
+ documentIdentifier: Scalars["String"]["input"];
1485
+ };
1258
1486
  type MutationMoveRelationshipArgs = {
1259
1487
  branch?: InputMaybe<Scalars["String"]["input"]>;
1260
1488
  relationshipType: Scalars["String"]["input"];
@@ -1310,6 +1538,7 @@ type OperationContextInput = {
1310
1538
  };
1311
1539
  type OperationInput = {
1312
1540
  readonly action: ActionInput;
1541
+ readonly deniedReason?: InputMaybe<Scalars["String"]["input"]>;
1313
1542
  readonly error?: InputMaybe<Scalars["String"]["input"]>;
1314
1543
  readonly hash: Scalars["String"]["input"];
1315
1544
  readonly id?: InputMaybe<Scalars["String"]["input"]>;
@@ -1378,8 +1607,47 @@ type Query = {
1378
1607
  readonly documentModels: DocumentModelResultPage;
1379
1608
  readonly documentOperations: ReactorOperationResultPage;
1380
1609
  readonly documentOutgoingRelationships: PhDocumentResultPage;
1610
+ /**
1611
+ * Predicts whether the calling subject would be admitted to execute each of a
1612
+ * set of candidate operations, without submitting any of them. A UI asks this to
1613
+ * disable a control rather than offer an action that fails on submit.
1614
+ *
1615
+ * The answer is a prediction, not a promise:
1616
+ *
1617
+ * - Real admission compiles an append condition over everything it read and the
1618
+ * store enforces it at write time. A preflight reads no future, so a policy
1619
+ * change landing between this answer and the submit changes the verdict. The
1620
+ * submit path stays the only authority.
1621
+ * - The verdict is evaluated at the stream heads, so it is correct for a
1622
+ * candidate about to be submitted. A backdated submission is out of contract;
1623
+ * the reactor decides that one by position.
1624
+ * - A candidate whose verdict depends on its input has to carry that input, since
1625
+ * a conditional grant reads it.
1626
+ *
1627
+ * The subject is the authenticated caller and cannot be named in the request:
1628
+ * answering for an arbitrary subject would disclose what a policy grants
1629
+ * somebody else. It carries both the caller's address and the did:key of the app
1630
+ * instance whose token authenticated the request, so a policy naming either
1631
+ * matches the same principal the write path presents.
1632
+ *
1633
+ * Requires the reactor's authEnforcement feature flag. Without it the reactor
1634
+ * holds no decision model, so this fails with extensions.code
1635
+ * AUTH_EVALUATION_UNSUPPORTED rather than guessing.
1636
+ */
1637
+ readonly evaluateActions: ActionEvaluations;
1381
1638
  readonly findDocuments: PhDocumentResultPage;
1382
1639
  readonly jobStatus?: Maybe<JobInfo>;
1640
+ /**
1641
+ * Polls for sync envelopes from a channel.
1642
+ *
1643
+ * An operation stored before the API required an action id cannot be
1644
+ * represented by this schema, and rather than serving a partial response beside
1645
+ * a bare non-null violation, this fails with extensions.code
1646
+ * MALFORMED_STORED_OPERATION naming the operation. That code means the failure
1647
+ * is worth polling through: the document holding the operation needs repairing,
1648
+ * but the channel serves every other document, and a peer that stopped polling
1649
+ * would stop receiving those too.
1650
+ */
1383
1651
  readonly pollSyncEnvelopes: PollSyncEnvelopesResult;
1384
1652
  };
1385
1653
  type QueryDocumentArgs = {
@@ -1406,6 +1674,11 @@ type QueryDocumentOutgoingRelationshipsArgs = {
1406
1674
  sourceIdentifier: Scalars["String"]["input"];
1407
1675
  view?: InputMaybe<ViewFilterInput>;
1408
1676
  };
1677
+ type QueryEvaluateActionsArgs = {
1678
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1679
+ candidates: ReadonlyArray<ActionCandidateInput>;
1680
+ documentIdentifier: Scalars["String"]["input"];
1681
+ };
1409
1682
  type QueryFindDocumentsArgs = {
1410
1683
  paging?: InputMaybe<PagingInput>;
1411
1684
  search?: InputMaybe<SearchFilterInput>;
@@ -1421,6 +1694,7 @@ type QueryPollSyncEnvelopesArgs = {
1421
1694
  };
1422
1695
  type ReactorOperation = {
1423
1696
  readonly action: Action;
1697
+ readonly deniedReason?: Maybe<Scalars["String"]["output"]>;
1424
1698
  readonly error?: Maybe<Scalars["String"]["output"]>;
1425
1699
  readonly hash: Scalars["String"]["output"];
1426
1700
  readonly id?: Maybe<Scalars["String"]["output"]>;
@@ -1615,6 +1889,7 @@ type GetDocumentWithOperationsQuery = {
1615
1889
  readonly hash: string;
1616
1890
  readonly skip: number;
1617
1891
  readonly error?: string | null | undefined;
1892
+ readonly deniedReason?: string | null | undefined;
1618
1893
  readonly id?: string | null | undefined;
1619
1894
  readonly action: {
1620
1895
  readonly id: string;
@@ -1742,6 +2017,7 @@ type GetDocumentOperationsQuery = {
1742
2017
  readonly hash: string;
1743
2018
  readonly skip: number;
1744
2019
  readonly error?: string | null | undefined;
2020
+ readonly deniedReason?: string | null | undefined;
1745
2021
  readonly id?: string | null | undefined;
1746
2022
  readonly action: {
1747
2023
  readonly id: string;
@@ -1774,12 +2050,29 @@ type GetJobStatusQuery = {
1774
2050
  readonly jobStatus?: {
1775
2051
  readonly id: string;
1776
2052
  readonly status: string;
1777
- readonly result: NonNullable<unknown>;
2053
+ readonly result?: NonNullable<unknown> | null | undefined;
1778
2054
  readonly error?: string | null | undefined;
1779
2055
  readonly createdAt: string | Date;
1780
2056
  readonly completedAt?: string | Date | null | undefined;
1781
2057
  } | null | undefined;
1782
2058
  };
2059
+ type EvaluateActionsQueryVariables = Exact<{
2060
+ documentIdentifier: Scalars["String"]["input"];
2061
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2062
+ candidates: ReadonlyArray<ActionCandidateInput>;
2063
+ }>;
2064
+ type EvaluateActionsQuery = {
2065
+ readonly evaluateActions: {
2066
+ readonly allAllowed: boolean;
2067
+ readonly anyAllowed: boolean;
2068
+ readonly allDenied: boolean;
2069
+ readonly anyDenied: boolean;
2070
+ readonly evaluations: ReadonlyArray<{
2071
+ readonly decision: AuthDecision;
2072
+ readonly reason?: string | null | undefined;
2073
+ }>;
2074
+ };
2075
+ };
1783
2076
  type CreateDocumentMutationVariables = Exact<{
1784
2077
  document: Scalars["JSONObject"]["input"];
1785
2078
  parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
@@ -1820,8 +2113,8 @@ type CreateEmptyDocumentMutation = {
1820
2113
  };
1821
2114
  type MutateDocumentMutationVariables = Exact<{
1822
2115
  documentIdentifier: Scalars["String"]["input"];
1823
- actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
1824
- view?: InputMaybe<ViewFilterInput>;
2116
+ actions: ReadonlyArray<ActionInput>;
2117
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1825
2118
  }>;
1826
2119
  type MutateDocumentMutation = {
1827
2120
  readonly mutateDocument: {
@@ -1840,11 +2133,18 @@ type MutateDocumentMutation = {
1840
2133
  };
1841
2134
  type MutateDocumentAsyncMutationVariables = Exact<{
1842
2135
  documentIdentifier: Scalars["String"]["input"];
1843
- actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
1844
- view?: InputMaybe<ViewFilterInput>;
2136
+ actions: ReadonlyArray<ActionInput>;
2137
+ branch?: InputMaybe<Scalars["String"]["input"]>;
1845
2138
  }>;
1846
2139
  type MutateDocumentAsyncMutation = {
1847
- readonly mutateDocumentAsync: string;
2140
+ readonly mutateDocumentAsync: {
2141
+ readonly id: string;
2142
+ readonly status: string;
2143
+ readonly result?: NonNullable<unknown> | null | undefined;
2144
+ readonly error?: string | null | undefined;
2145
+ readonly createdAt: string | Date;
2146
+ readonly completedAt?: string | Date | null | undefined;
2147
+ };
1848
2148
  };
1849
2149
  type RenameDocumentMutationVariables = Exact<{
1850
2150
  documentIdentifier: Scalars["String"]["input"];
@@ -2039,6 +2339,7 @@ type PollSyncEnvelopesQuery = {
2039
2339
  readonly hash: string;
2040
2340
  readonly skip: number;
2041
2341
  readonly error?: string | null | undefined;
2342
+ readonly deniedReason?: string | null | undefined;
2042
2343
  readonly id?: string | null | undefined;
2043
2344
  readonly action: {
2044
2345
  readonly id: string;
@@ -2078,6 +2379,7 @@ type PollSyncEnvelopesQuery = {
2078
2379
  readonly deadLetters: ReadonlyArray<{
2079
2380
  readonly documentId: string;
2080
2381
  readonly error: string;
2382
+ readonly errorType?: string | null | undefined;
2081
2383
  }>;
2082
2384
  };
2083
2385
  };
@@ -2123,9 +2425,13 @@ type DirectiveResolverFn<TResult = Record<PropertyKey, never>, TParent = Record<
2123
2425
  /** Mapping between all available schema types and the resolvers types */
2124
2426
  type ResolversTypes = ResolversObject<{
2125
2427
  Action: ResolverTypeWrapper<Action>;
2428
+ ActionCandidateInput: ActionCandidateInput;
2126
2429
  ActionContext: ResolverTypeWrapper<ActionContext>;
2127
2430
  ActionContextInput: ActionContextInput;
2431
+ ActionEvaluation: ResolverTypeWrapper<ActionEvaluation>;
2432
+ ActionEvaluations: ResolverTypeWrapper<ActionEvaluations>;
2128
2433
  ActionInput: ActionInput;
2434
+ AuthDecision: AuthDecision;
2129
2435
  Boolean: ResolverTypeWrapper<Scalars["Boolean"]["output"]>;
2130
2436
  ChannelMeta: ResolverTypeWrapper<ChannelMeta>;
2131
2437
  ChannelMetaInput: ChannelMetaInput;
@@ -2181,8 +2487,11 @@ type ResolversTypes = ResolversObject<{
2181
2487
  /** Mapping between all available schema types and the resolvers parents */
2182
2488
  type ResolversParentTypes = ResolversObject<{
2183
2489
  Action: Action;
2490
+ ActionCandidateInput: ActionCandidateInput;
2184
2491
  ActionContext: ActionContext;
2185
2492
  ActionContextInput: ActionContextInput;
2493
+ ActionEvaluation: ActionEvaluation;
2494
+ ActionEvaluations: ActionEvaluations;
2186
2495
  ActionInput: ActionInput;
2187
2496
  Boolean: Scalars["Boolean"]["output"];
2188
2497
  ChannelMeta: ChannelMeta;
@@ -2244,6 +2553,17 @@ type ActionResolvers<ContextType = Context, ParentType extends ResolversParentTy
2244
2553
  type ActionContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionContext"] = ResolversParentTypes["ActionContext"]> = ResolversObject<{
2245
2554
  signer?: Resolver<Maybe<ResolversTypes["ReactorSigner"]>, ParentType, ContextType>;
2246
2555
  }>;
2556
+ type ActionEvaluationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionEvaluation"] = ResolversParentTypes["ActionEvaluation"]> = ResolversObject<{
2557
+ decision?: Resolver<ResolversTypes["AuthDecision"], ParentType, ContextType>;
2558
+ reason?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2559
+ }>;
2560
+ type ActionEvaluationsResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionEvaluations"] = ResolversParentTypes["ActionEvaluations"]> = ResolversObject<{
2561
+ allAllowed?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2562
+ allDenied?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2563
+ anyAllowed?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2564
+ anyDenied?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2565
+ evaluations?: Resolver<ReadonlyArray<ResolversTypes["ActionEvaluation"]>, ParentType, ContextType>;
2566
+ }>;
2247
2567
  type ChannelMetaResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ChannelMeta"] = ResolversParentTypes["ChannelMeta"]> = ResolversObject<{
2248
2568
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2249
2569
  }>;
@@ -2254,6 +2574,7 @@ type DeadLetterInfoResolvers<ContextType = Context, ParentType extends Resolvers
2254
2574
  branch?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2255
2575
  documentId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2256
2576
  error?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2577
+ errorType?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2257
2578
  jobId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2258
2579
  operationCount?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
2259
2580
  scopes?: Resolver<ReadonlyArray<ResolversTypes["String"]>, ParentType, ContextType>;
@@ -2299,7 +2620,7 @@ type JobInfoResolvers<ContextType = Context, ParentType extends ResolversParentT
2299
2620
  createdAt?: Resolver<ResolversTypes["DateTime"], ParentType, ContextType>;
2300
2621
  error?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2301
2622
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2302
- result?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
2623
+ result?: Resolver<Maybe<ResolversTypes["JSONObject"]>, ParentType, ContextType>;
2303
2624
  status?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2304
2625
  }>;
2305
2626
  type MoveRelationshipResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["MoveRelationshipResult"] = ResolversParentTypes["MoveRelationshipResult"]> = ResolversObject<{
@@ -2312,6 +2633,8 @@ type MutationResolvers<ContextType = Context, ParentType extends ResolversParent
2312
2633
  createEmptyDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationCreateEmptyDocumentArgs, "documentType">>;
2313
2634
  deleteDocument?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, RequireFields<MutationDeleteDocumentArgs, "identifier">>;
2314
2635
  deleteDocuments?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, RequireFields<MutationDeleteDocumentsArgs, "identifiers">>;
2636
+ execute?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationExecuteArgs, "actions" | "documentIdentifier">>;
2637
+ executeAsync?: Resolver<ResolversTypes["JobInfo"], ParentType, ContextType, RequireFields<MutationExecuteAsyncArgs, "actions" | "documentIdentifier">>;
2315
2638
  moveRelationship?: Resolver<ResolversTypes["MoveRelationshipResult"], ParentType, ContextType, RequireFields<MutationMoveRelationshipArgs, "relationshipType" | "sourceParentIdentifier" | "targetIdentifier" | "targetParentIdentifier">>;
2316
2639
  mutateDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationMutateDocumentArgs, "actions" | "documentIdentifier">>;
2317
2640
  mutateDocumentAsync?: Resolver<ResolversTypes["String"], ParentType, ContextType, RequireFields<MutationMutateDocumentAsyncArgs, "actions" | "documentIdentifier">>;
@@ -2363,12 +2686,14 @@ type QueryResolvers<ContextType = Context, ParentType extends ResolversParentTyp
2363
2686
  documentModels?: Resolver<ResolversTypes["DocumentModelResultPage"], ParentType, ContextType, Partial<QueryDocumentModelsArgs>>;
2364
2687
  documentOperations?: Resolver<ResolversTypes["ReactorOperationResultPage"], ParentType, ContextType, RequireFields<QueryDocumentOperationsArgs, "filter">>;
2365
2688
  documentOutgoingRelationships?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, RequireFields<QueryDocumentOutgoingRelationshipsArgs, "relationshipType" | "sourceIdentifier">>;
2689
+ evaluateActions?: Resolver<ResolversTypes["ActionEvaluations"], ParentType, ContextType, RequireFields<QueryEvaluateActionsArgs, "candidates" | "documentIdentifier">>;
2366
2690
  findDocuments?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, Partial<QueryFindDocumentsArgs>>;
2367
2691
  jobStatus?: Resolver<Maybe<ResolversTypes["JobInfo"]>, ParentType, ContextType, RequireFields<QueryJobStatusArgs, "jobId">>;
2368
2692
  pollSyncEnvelopes?: Resolver<ResolversTypes["PollSyncEnvelopesResult"], ParentType, ContextType, RequireFields<QueryPollSyncEnvelopesArgs, "channelId" | "outboxAck" | "outboxLatest">>;
2369
2693
  }>;
2370
2694
  type ReactorOperationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorOperation"] = ResolversParentTypes["ReactorOperation"]> = ResolversObject<{
2371
2695
  action?: Resolver<ResolversTypes["Action"], ParentType, ContextType>;
2696
+ deniedReason?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2372
2697
  error?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2373
2698
  hash?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2374
2699
  id?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
@@ -2425,6 +2750,8 @@ type TouchChannelResultResolvers<ContextType = Context, ParentType extends Resol
2425
2750
  type Resolvers<ContextType = Context> = ResolversObject<{
2426
2751
  Action?: ActionResolvers<ContextType>;
2427
2752
  ActionContext?: ActionContextResolvers<ContextType>;
2753
+ ActionEvaluation?: ActionEvaluationResolvers<ContextType>;
2754
+ ActionEvaluations?: ActionEvaluationsResolvers<ContextType>;
2428
2755
  ChannelMeta?: ChannelMetaResolvers<ContextType>;
2429
2756
  DateTime?: GraphQLScalarType;
2430
2757
  DeadLetterInfo?: DeadLetterInfoResolvers<ContextType>;
@@ -2459,9 +2786,11 @@ type Properties<T> = Required<{ [K in keyof T]: z$1.ZodType<T[K]> }>;
2459
2786
  type definedNonNullAny = {};
2460
2787
  declare const isDefinedNonNullAny: (v: any) => v is definedNonNullAny;
2461
2788
  declare const definedNonNullAnySchema: z$1.ZodAny & z$1.ZodType<definedNonNullAny, any, z$1.core.$ZodTypeInternals<definedNonNullAny, any>>;
2789
+ declare const AuthDecisionSchema: z$1.ZodEnum<typeof AuthDecision>;
2462
2790
  declare const DocumentChangeTypeSchema: z$1.ZodEnum<typeof DocumentChangeType>;
2463
2791
  declare const PropagationModeSchema: z$1.ZodEnum<typeof PropagationMode>;
2464
2792
  declare const SyncEnvelopeTypeSchema: z$1.ZodEnum<typeof SyncEnvelopeType>;
2793
+ declare function ActionCandidateInputSchema(): z$1.ZodObject<Properties<ActionCandidateInput>>;
2465
2794
  declare function ActionContextInputSchema(): z$1.ZodObject<Properties<ActionContextInput>>;
2466
2795
  declare function ActionInputSchema(): z$1.ZodObject<Properties<ActionInput>>;
2467
2796
  declare function ChannelMetaInputSchema(): z$1.ZodObject<Properties<ChannelMetaInput>>;
@@ -2489,6 +2818,7 @@ declare const GetDocumentIncomingRelationshipsDocument: DocumentNode;
2489
2818
  declare const FindDocumentsDocument: DocumentNode;
2490
2819
  declare const GetDocumentOperationsDocument: DocumentNode;
2491
2820
  declare const GetJobStatusDocument: DocumentNode;
2821
+ declare const EvaluateActionsDocument: DocumentNode;
2492
2822
  declare const CreateDocumentDocument: DocumentNode;
2493
2823
  declare const CreateEmptyDocumentDocument: DocumentNode;
2494
2824
  declare const MutateDocumentDocument: DocumentNode;
@@ -2515,6 +2845,7 @@ declare function getSdk<C>(requester: Requester<C>): {
2515
2845
  FindDocuments(variables?: FindDocumentsQueryVariables, options?: C): Promise<FindDocumentsQuery>;
2516
2846
  GetDocumentOperations(variables: GetDocumentOperationsQueryVariables, options?: C): Promise<GetDocumentOperationsQuery>;
2517
2847
  GetJobStatus(variables: GetJobStatusQueryVariables, options?: C): Promise<GetJobStatusQuery>;
2848
+ EvaluateActions(variables: EvaluateActionsQueryVariables, options?: C): Promise<EvaluateActionsQuery>;
2518
2849
  CreateDocument(variables: CreateDocumentMutationVariables, options?: C): Promise<CreateDocumentMutation>;
2519
2850
  CreateEmptyDocument(variables: CreateEmptyDocumentMutationVariables, options?: C): Promise<CreateEmptyDocumentMutation>;
2520
2851
  MutateDocument(variables: MutateDocumentMutationVariables, options?: C): Promise<MutateDocumentMutation>;
@@ -2577,6 +2908,11 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
2577
2908
  GetJobStatus(variables: Exact<{
2578
2909
  jobId: Scalars["String"]["input"];
2579
2910
  }>, options?: {} | undefined): Promise<GetJobStatusQuery>;
2911
+ EvaluateActions(variables: Exact<{
2912
+ documentIdentifier: Scalars["String"]["input"];
2913
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2914
+ candidates: ReadonlyArray<ActionCandidateInput>;
2915
+ }>, options?: {} | undefined): Promise<EvaluateActionsQuery>;
2580
2916
  CreateDocument(variables: Exact<{
2581
2917
  document: Scalars["JSONObject"]["input"];
2582
2918
  parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
@@ -2587,13 +2923,13 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
2587
2923
  }>, options?: {} | undefined): Promise<CreateEmptyDocumentMutation>;
2588
2924
  MutateDocument(variables: Exact<{
2589
2925
  documentIdentifier: Scalars["String"]["input"];
2590
- actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
2591
- view?: InputMaybe<ViewFilterInput>;
2926
+ actions: ReadonlyArray<ActionInput>;
2927
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2592
2928
  }>, options?: {} | undefined): Promise<MutateDocumentMutation>;
2593
2929
  MutateDocumentAsync(variables: Exact<{
2594
2930
  documentIdentifier: Scalars["String"]["input"];
2595
- actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
2596
- view?: InputMaybe<ViewFilterInput>;
2931
+ actions: ReadonlyArray<ActionInput>;
2932
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2597
2933
  }>, options?: {} | undefined): Promise<MutateDocumentAsyncMutation>;
2598
2934
  RenameDocument(variables: Exact<{
2599
2935
  documentIdentifier: Scalars["String"]["input"];
@@ -2708,6 +3044,7 @@ declare class ImportPackageLoader implements IPackageLoader {
2708
3044
  private readonly logger;
2709
3045
  readonly name = "ImportPackageLoader";
2710
3046
  loadDocumentModels(identifier: string): Promise<DocumentModelModule[]>;
3047
+ loadUpgradeManifests(identifier: string): Promise<UpgradeManifest<readonly number[]>[]>;
2711
3048
  loadSubgraphs(identifier: string): Promise<SubgraphClass$1[]>;
2712
3049
  loadProcessors(identifier: string): Promise<ProcessorFactoryBuilder | null>;
2713
3050
  }
@@ -2727,11 +3064,13 @@ declare class ImportPackageLoader implements IPackageLoader {
2727
3064
  */
2728
3065
  declare function isExpectedLoaderMiss(error: unknown, pkg: string): boolean;
2729
3066
  declare function getUniqueDocumentModels(...documentModels: readonly (readonly DocumentModelModule<any>[])[]): DocumentModelModule[];
3067
+ declare function getUniqueUpgradeManifests(...upgradeManifests: readonly (readonly UpgradeManifest<readonly number[]>[])[]): UpgradeManifest<readonly number[]>[];
2730
3068
  declare class PackageManager implements IPackageManager {
2731
3069
  protected options: IPackageManagerOptions;
2732
3070
  private readonly logger;
2733
3071
  private loaders;
2734
3072
  private docModelsMap;
3073
+ private upgradeManifestsMap;
2735
3074
  private subgraphsMap;
2736
3075
  private processorMap;
2737
3076
  private configWatcher;
@@ -2741,6 +3080,9 @@ declare class PackageManager implements IPackageManager {
2741
3080
  init(): Promise<PackageManagerResult>;
2742
3081
  private loadPackages;
2743
3082
  private loadDocumentModels;
3083
+ /** Upgrade manifests currently loaded across all packages, one per type. */
3084
+ getUniqueUpgradeManifests(): UpgradeManifest<readonly number[]>[];
3085
+ private loadUpgradeManifests;
2744
3086
  private loadSubgraphs;
2745
3087
  private loadProcessors;
2746
3088
  private maybeWarnAllLoadersFailed;
@@ -2757,6 +3099,27 @@ declare class PackageManager implements IPackageManager {
2757
3099
  onProcessorsChange(handler: (processors: Map<string, Processor$1>) => void): void;
2758
3100
  }
2759
3101
  //#endregion
3102
+ //#region src/services/renown-config.d.ts
3103
+ /** Where the credential check reads from: a remote Renown or Switchboard
3104
+ * instance, or this switchboard's own renown read model. */
3105
+ type RenownSource = NonNullable<PHReactorRenown["source"]>;
3106
+ /** The `auth.renown` config block: which Renown instance to authenticate
3107
+ * against, before env overrides are applied. */
3108
+ type RenownConfig = PHReactorRenown;
3109
+ /** Resolved renown coordinates. `url` also drives this reactor's own identity,
3110
+ * so it stays meaningful when `source` is "self". */
3111
+ type ResolvedRenownConfig = {
3112
+ source: RenownSource;
3113
+ url: string | undefined;
3114
+ switchboardUrl: string | undefined;
3115
+ };
3116
+ /** Reading credentials from this reactor's own read model needs a host-supplied
3117
+ * verifier: core has no idea which subgraph serves that read model. */
3118
+ declare function assertCredentialVerifierForSource(source: RenownSource, hasVerifier: boolean): void;
3119
+ /** Resolve `auth.renown`; RENOWN_SOURCE / RENOWN_URL / SWITCHBOARD_URL win
3120
+ * over the config file, which wins over the SDK defaults. */
3121
+ declare function resolveRenownConfig(configured: RenownConfig | undefined, env: NodeJS.ProcessEnv, logger: ILogger): ResolvedRenownConfig;
3122
+ //#endregion
2760
3123
  //#region src/server.d.ts
2761
3124
  type Options = {
2762
3125
  port?: number;
@@ -2775,6 +3138,12 @@ type Options = {
2775
3138
  enabled: boolean;
2776
3139
  admins: string[];
2777
3140
  };
3141
+ /** Renown coordinates the host already resolved, used verbatim instead of
3142
+ * resolving `auth.renown` and the env again (which would warn twice). */
3143
+ renown?: ResolvedRenownConfig;
3144
+ /** Credential check replacing the built-in remote Renown one; required when
3145
+ * the resolved source is "self" (see assertCredentialVerifierForSource). */
3146
+ verifyCredential?: CredentialVerifier;
2778
3147
  https?: {
2779
3148
  keyPath: string;
2780
3149
  certPath: string;
@@ -2830,14 +3199,28 @@ declare function assertSkipCredentialVerificationAllowed(authEnabled: boolean, s
2830
3199
  interface ClientInitializerResult {
2831
3200
  module: InProcessReactorClientModule;
2832
3201
  reactorDriveClient?: IDriveClient;
3202
+ attachmentReferenceProjection?: AttachmentReferenceProjectionCapability;
2833
3203
  }
2834
- declare function initializeAndStartAPI(clientInitializer: (documentModels: DocumentModelModule[]) => Promise<ClientInitializerResult>, options: Options, processorApp: ProcessorApp): Promise<API & {
3204
+ interface ClientInitializerDependencies {
3205
+ attachmentReferenceWriter: IAttachmentReferenceWriter;
3206
+ /** Upgrade manifests exported by the loaded packages, one per type. */
3207
+ upgradeManifests: UpgradeManifest<readonly number[]>[];
3208
+ }
3209
+ declare function initializeAndStartAPI(clientInitializer: (documentModels: DocumentModelModule[], dependencies: ClientInitializerDependencies) => Promise<ClientInitializerResult>, options: Options, processorApp: ProcessorApp): Promise<API & {
2835
3210
  client: IReactorClient;
2836
3211
  syncManager: ISyncManager;
2837
3212
  documentModelRegistry: IDocumentModelRegistry;
2838
3213
  readiness: ReadinessGate;
3214
+ attachmentReferenceProjection: AttachmentReferenceProjectionCapability;
2839
3215
  }>;
2840
3216
  //#endregion
3217
+ //#region src/services/renown-credential-verifier.d.ts
3218
+ interface RenownCredentialVerifierConfig {
3219
+ renownUrl?: string;
3220
+ switchboardUrl?: string;
3221
+ }
3222
+ declare function createRenownCredentialVerifier(config?: RenownCredentialVerifierConfig): Promise<CredentialVerifier>;
3223
+ //#endregion
2841
3224
  //#region src/utils/create-schema.d.ts
2842
3225
  declare const buildSubgraphSchemaModule: (documentModels: DocumentModelModule[], resolvers: GraphQLResolverMap<Context$1>, typeDefs: DocumentNode) => GraphQLSchemaModule;
2843
3226
  declare const createSchema: (documentModels: DocumentModelModule[], resolvers: GraphQLResolverMap<Context$1>, typeDefs: DocumentNode) => graphql.GraphQLSchema;
@@ -2871,5 +3254,5 @@ interface DocumentModelSchemaOptions {
2871
3254
  */
2872
3255
  declare function generateDocumentModelSchema(documentModel: DocumentModelGlobalState$1, options?: DocumentModelSchemaOptions): DocumentNode;
2873
3256
  //#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 };
3257
+ 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, 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
3258
  //# sourceMappingURL=index.d.mts.map