@powerhousedao/reactor-api 6.2.3-dev.5 → 6.2.3-dev.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +7 -2
  2. package/dist/{adapter-gateway-apollo-CxJNBVyD.mjs → adapter-gateway-apollo-B54G_cXT.mjs} +15 -13
  3. package/dist/{adapter-gateway-apollo-CxJNBVyD.mjs.map → adapter-gateway-apollo-B54G_cXT.mjs.map} +1 -1
  4. package/dist/{adapter-gateway-apollo-DowrX6E_.mjs → adapter-gateway-apollo-D2DNlPY0.mjs} +3 -3
  5. package/dist/{adapter-gateway-mercurius-CZVy88Za.mjs → adapter-gateway-mercurius-rbKlwF9m.mjs} +4 -4
  6. package/dist/{adapter-gateway-mercurius-CZVy88Za.mjs.map → adapter-gateway-mercurius-rbKlwF9m.mjs.map} +1 -1
  7. package/dist/{adapter-gateway-stitching-CaZjvRzx.mjs → adapter-gateway-stitching-Dzv10u8D.mjs} +15 -10
  8. package/dist/{adapter-gateway-stitching-CaZjvRzx.mjs.map → adapter-gateway-stitching-Dzv10u8D.mjs.map} +1 -1
  9. package/dist/{adapter-http-express-B39rPhqH.mjs → adapter-http-express-P0t-mdMV.mjs} +10 -10
  10. package/dist/adapter-http-express-P0t-mdMV.mjs.map +1 -0
  11. package/dist/{adapter-http-fastify-BwXO6rqE.mjs → adapter-http-fastify-D0OP5q9K.mjs} +13 -12
  12. package/dist/adapter-http-fastify-D0OP5q9K.mjs.map +1 -0
  13. package/dist/index.d.mts +1785 -618
  14. package/dist/index.d.mts.map +1 -1
  15. package/dist/index.mjs +3371 -758
  16. package/dist/index.mjs.map +1 -1
  17. package/dist/pglite-node-Ow9i5Rb4.mjs +573 -0
  18. package/dist/pglite-node-Ow9i5Rb4.mjs.map +1 -0
  19. package/dist/rolldown-runtime-8H4AJuhK.mjs +16 -0
  20. package/dist/run-node-handler-CQjyjOuN.mjs +52 -0
  21. package/dist/run-node-handler-CQjyjOuN.mjs.map +1 -0
  22. package/dist/src/packages/https-hooks.d.mts +4 -4
  23. package/dist/src/packages/https-hooks.d.mts.map +1 -1
  24. package/dist/src/packages/https-hooks.mjs +2 -2
  25. package/dist/src/packages/https-hooks.mjs.map +1 -1
  26. package/dist/src/packages/vite-loader.d.mts +19 -9
  27. package/dist/src/packages/vite-loader.d.mts.map +1 -1
  28. package/dist/src/packages/vite-loader.mjs +114 -50
  29. package/dist/src/packages/vite-loader.mjs.map +1 -1
  30. package/dist/src/pglite/pglite-node.d.mts +130 -0
  31. package/dist/src/pglite/pglite-node.d.mts.map +1 -0
  32. package/dist/src/pglite/pglite-node.mjs +4 -0
  33. package/dist/{utils-XWVecaNn.mjs → subgraph-extraction-sQlZLLPH.mjs} +290 -11
  34. package/dist/subgraph-extraction-sQlZLLPH.mjs.map +1 -0
  35. package/dist/{types-DcYyNcHJ.d.mts → types-DlTiz6AA.d.mts} +27 -4
  36. package/dist/types-DlTiz6AA.d.mts.map +1 -0
  37. package/dist/{websocket-DncAB9XK.mjs → websocket-_SH5aBcy.mjs} +3 -3
  38. package/dist/{websocket-DncAB9XK.mjs.map → websocket-_SH5aBcy.mjs.map} +1 -1
  39. package/package.json +24 -19
  40. package/dist/adapter-http-express-B39rPhqH.mjs.map +0 -1
  41. package/dist/adapter-http-fastify-BwXO6rqE.mjs.map +0 -1
  42. package/dist/path-normalize-BOQwY9wR.mjs +0 -23
  43. package/dist/path-normalize-BOQwY9wR.mjs.map +0 -1
  44. package/dist/types-DcYyNcHJ.d.mts.map +0 -1
  45. package/dist/utils-XWVecaNn.mjs.map +0 -1
package/dist/index.d.mts CHANGED
@@ -1,18 +1,18 @@
1
- import { i as IPackageManagerOptions, n as IPackageLoaderOptions, r as IPackageManager, s as PackageManagerResult, t as IPackageLoader } from "./types-DcYyNcHJ.mjs";
1
+ import { a as IPackagePieceSource, c as PackageManagerResult, i as IPackageManagerOptions, l as PackagePiece, n as IPackageLoaderOptions, r as IPackageManager, t as IPackageLoader, u as PackagePieceEntry } from "./types-DlTiz6AA.mjs";
2
2
  import { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
3
3
  import { AnalyticsModel } from "@powerhousedao/analytics-engine-graphql";
4
- import * as graphql from "graphql";
5
- import { DocumentNode, GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig, GraphQLSchema } from "graphql";
6
- import { AttachmentRef, IDocumentModelLoader, IDocumentModelRegistry, IDriveClient, IReactorClient, IReactorProcessorHostModuleBase, IRelationalDb, ISyncManager, InProcessReactorClientModule, ParsedDriveUrl, ProcessorFactoryBuilder as ProcessorFactoryBuilder$1, SyncScopeGate, driveIdFromUrl, parseDriveUrl } from "@powerhousedao/reactor";
4
+ import { DocumentNode, GraphQLError, GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig, GraphQLSchema } from "graphql";
5
+ import { AttachmentRef, DocumentModelSource, IDocumentModelLoader, IDocumentModelRegistry, IDriveClient, IInspectableAttachmentStore, IInspector, IInspectorStorageHealthProvider, INSPECTOR_OPS, IReactorClient, IReactorFactsSink, IReactorProcessorHostModuleBase, IRelationalDb, ISyncInspector, ISyncManager, InProcessReactorClientModule, InProcessReactorModule, InspectorDocumentReader, InspectorReadOpKey, PagedResults, ParsedDriveUrl, ProcessorFactoryBuilder as ProcessorFactoryBuilder$1, Remote, SYNC_INSPECTION_OPS, SearchFilter, SyncInspectionReadOpKey, SyncScopeGate, ViewFilter, driveIdFromUrl, parseDriveUrl } from "@powerhousedao/reactor";
6
+ import { AuthSubject, DocumentModelGlobalState as DocumentModelGlobalState$1, DocumentModelModule, Operation, PHDocument, UpgradeManifest } from "@powerhousedao/shared/document-model";
7
7
  import { ILogger } from "document-model";
8
8
  import { GraphQLResolverMap, GraphQLSchemaModule } from "@apollo/subgraph";
9
- import { AuthSubject, DocumentModelGlobalState as DocumentModelGlobalState$1, DocumentModelModule, Operation, PHDocument, UpgradeManifest } from "@powerhousedao/shared/document-model";
10
9
  import * as z$1 from "zod";
11
10
  import { DocumentDriveDocument, DocumentDriveGlobalState } from "@powerhousedao/shared/document-drive";
12
- import { AttachmentBuildResult, AttachmentReferenceIndexBuildResult, IAttachmentReferenceReader, IAttachmentReferenceWriter } from "@powerhousedao/reactor-attachments";
11
+ import { AttachmentBuildResult, AttachmentDownloadOptions, AttachmentDownloadTarget, AttachmentDownloadTargetOptions, AttachmentHeader, AttachmentReferenceIndexBuildResult, AttachmentResponse, AttachmentStatOptions, IAttachmentReferenceReader, IAttachmentReferenceWriter, IAttachmentService, IAttachmentUpload, ReserveAttachmentOptions } from "@powerhousedao/reactor-attachments";
13
12
  import { IAttachmentClient } from "@powerhousedao/reactor-attachments/client";
14
13
  import { WebSocketServer } from "ws";
15
14
  import { AuthorizerResult, IHttpScope, IRelationalDb as IRelationalDb$1, IWebhookEndpoints, IWebhookScope, NodeRouteSpec, ProcessorApp, ProcessorFactory, RouteActor, RouteAuth, RouteAuthorizer, RouteBody, RouteContext, RouteHandler, RouteMethod, RouteOptions, RouteSpec, RouteTransport, RouteUser, RouteUser as RouteUser$1, ScopedRouteHandle, WebhookEndpointInfo, WebhookField, WebhookHashAlgorithm, WebhookPolicy, WebhookReply, WebhookRequest, WebhookScheme, WebhookSignatureEncoding, WebhookSpec, WebhookVerification } from "@powerhousedao/shared/processors";
15
+ import { AttachmentReadGate, IDocumentScopeGate } from "@powerhousedao/reactor-attachments/replication";
16
16
  import { Generated, Kysely } from "kysely";
17
17
  import { PGlite } from "@electric-sql/pglite";
18
18
  import { Knex } from "knex";
@@ -22,7 +22,6 @@ import { Context as Context$1, GqlDocument as GqlDocument$1, GqlDriveDocument as
22
22
  import { IncomingHttpHeaders } from "http";
23
23
  import { Pool } from "pg";
24
24
  import { PHReactorRenown } from "@powerhousedao/shared/clis";
25
-
26
25
  //#region src/utils/db.d.ts
27
26
  /**
28
27
  * Permission levels for documents:
@@ -30,23 +29,23 @@ import { PHReactorRenown } from "@powerhousedao/shared/clis";
30
29
  * - WRITE: Can push updates and modify the document
31
30
  * - ADMIN: Can manage document permissions and settings
32
31
  */
33
- type DocumentPermissionLevel = "READ" | "WRITE" | "ADMIN";
32
+ export type DocumentPermissionLevel = "READ" | "WRITE" | "ADMIN";
34
33
  /**
35
34
  * Database schema for document permissions
36
35
  */
37
- interface DocumentProtectionTable {
36
+ export interface DocumentProtectionTable {
38
37
  documentId: string;
39
38
  protected: boolean;
40
39
  ownerAddress: string | null;
41
40
  createdAt: Date;
42
41
  updatedAt: Date;
43
42
  }
44
- interface DocumentPermissionDatabase {
43
+ export interface DocumentPermissionDatabase {
45
44
  DocumentPermission: DocumentPermissionTable;
46
45
  OperationUserPermission: OperationUserPermissionTable;
47
46
  DocumentProtection: DocumentProtectionTable;
48
47
  }
49
- interface DocumentPermissionTable {
48
+ export interface DocumentPermissionTable {
50
49
  id: Generated<number>;
51
50
  documentId: string;
52
51
  userAddress: string;
@@ -55,7 +54,7 @@ interface DocumentPermissionTable {
55
54
  createdAt: Date;
56
55
  updatedAt: Date;
57
56
  }
58
- interface OperationUserPermissionTable {
57
+ export interface OperationUserPermissionTable {
59
58
  id: Generated<number>;
60
59
  documentId: string;
61
60
  operationType: string;
@@ -64,26 +63,27 @@ interface OperationUserPermissionTable {
64
63
  createdAt: Date;
65
64
  }
66
65
  type Db = Kysely<any>;
67
- declare const PGLITE_UTC_PARSERS: {
66
+ export declare const PGLITE_UTC_PARSERS: {
68
67
  readonly 1114: (value: string) => Date;
69
68
  };
69
+ export declare function isPostgresConnectionString(connectionString: string): boolean;
70
70
  /**
71
71
  * Optional factory used by callers (e.g. Switchboard) to inject a
72
72
  * version-specific PGLite instance — e.g. `pglite-legacy-02` when an existing
73
73
  * data dir was created with an older PG major. Wire-compatible with the
74
74
  * current PGLite class for the surface knex-pglite uses.
75
75
  */
76
- type PgliteFactory = (connectionString: string | undefined) => PGlite;
77
- interface DbClient {
76
+ export type PgliteFactory = (connectionString: string | undefined) => PGlite;
77
+ export interface DbClient {
78
78
  db: Db;
79
79
  knex: Knex;
80
80
  pglite: PGlite | undefined;
81
81
  }
82
- declare function getDbClient(connectionString?: string | undefined, pgliteFactory?: PgliteFactory): DbClient;
83
- declare const initAnalyticsStoreSql: string[];
82
+ export declare function getDbClient(connectionString?: string | undefined, pgliteFactory?: PgliteFactory): DbClient;
83
+ export declare const initAnalyticsStoreSql: string[];
84
84
  //#endregion
85
85
  //#region src/services/document-permission.service.d.ts
86
- interface DocumentPermissionEntry {
86
+ export interface DocumentPermissionEntry {
87
87
  documentId: string;
88
88
  userAddress: string;
89
89
  permission: DocumentPermissionLevel;
@@ -91,7 +91,7 @@ interface DocumentPermissionEntry {
91
91
  createdAt: Date;
92
92
  updatedAt: Date;
93
93
  }
94
- interface OperationUserPermissionEntry {
94
+ export interface OperationUserPermissionEntry {
95
95
  documentId: string;
96
96
  operationType: string;
97
97
  userAddress: string;
@@ -102,11 +102,11 @@ interface OperationUserPermissionEntry {
102
102
  * Function type for getting parent document IDs
103
103
  * This is injected to avoid circular dependencies with the reactor client
104
104
  */
105
- type GetParentIdsFn = (documentId: string) => Promise<string[]>;
105
+ export type GetParentIdsFn = (documentId: string) => Promise<string[]>;
106
106
  /**
107
107
  * Configuration for the DocumentPermissionService
108
108
  */
109
- interface DocumentPermissionConfig {
109
+ export interface DocumentPermissionConfig {
110
110
  defaultProtection: boolean;
111
111
  }
112
112
  /**
@@ -120,7 +120,7 @@ interface DocumentPermissionConfig {
120
120
  * Operation permissions:
121
121
  * - Users can be granted permission to execute specific operations
122
122
  */
123
- declare class DocumentPermissionService {
123
+ export declare class DocumentPermissionService {
124
124
  private readonly db;
125
125
  readonly config: DocumentPermissionConfig;
126
126
  constructor(db: Kysely<DocumentPermissionDatabase>, config?: DocumentPermissionConfig);
@@ -148,7 +148,18 @@ declare class DocumentPermissionService {
148
148
  /**
149
149
  * Delete all permissions for a document (used when deleting a document)
150
150
  */
151
- deleteAllDocumentPermissions(documentId: string): Promise<void>;
151
+ deleteAllDocumentPermissions(documentId: string): Promise<{
152
+ DocumentPermission: number;
153
+ OperationUserPermission: number;
154
+ }>;
155
+ /** Delete a document's protection row, which names its owner. */
156
+ deleteDocumentProtection(documentId: string): Promise<number>;
157
+ /** Every row that names the address, for a subject access request. */
158
+ rowsForAddress(address: string): Promise<{
159
+ permissions: DocumentPermissionEntry[];
160
+ operationPermissions: OperationUserPermissionEntry[];
161
+ ownedDocumentIds: string[];
162
+ }>;
152
163
  /**
153
164
  * Grant a user permission to execute an operation on a document
154
165
  */
@@ -230,7 +241,7 @@ type CanonicalDocumentId = string & {
230
241
  * always safe for the data fetch: the canonical id when resolved, or the raw
231
242
  * identifier when the check was skipped for a policy-wide caller.
232
243
  */
233
- declare class AuthorizedDocumentHandle {
244
+ export declare class AuthorizedDocumentHandle {
234
245
  readonly fetchIdentifier: string;
235
246
  readonly isResolved: boolean;
236
247
  private constructor();
@@ -239,12 +250,12 @@ declare class AuthorizedDocumentHandle {
239
250
  /** The verified canonical id; throws when resolution was skipped. */
240
251
  canonicalId(): CanonicalDocumentId;
241
252
  }
242
- declare const AuthorizationPolicy: {
253
+ export declare const AuthorizationPolicy: {
243
254
  readonly OPEN: "OPEN";
244
255
  readonly ADMIN_ONLY: "ADMIN_ONLY";
245
256
  readonly DOCUMENT_PERMISSIONS: "DOCUMENT_PERMISSIONS";
246
257
  };
247
- type AuthorizationPolicy = (typeof AuthorizationPolicy)[keyof typeof AuthorizationPolicy];
258
+ export type AuthorizationPolicy = (typeof AuthorizationPolicy)[keyof typeof AuthorizationPolicy];
248
259
  interface AuthorizationConfig {
249
260
  admins: string[];
250
261
  defaultProtection: boolean;
@@ -288,32 +299,32 @@ interface IAuthorizationService {
288
299
  }
289
300
  //#endregion
290
301
  //#region src/graphql/gateway/types.d.ts
291
- type TlsOptions = {
302
+ export type TlsOptions = {
292
303
  keyPath: string;
293
304
  certPath: string;
294
305
  } | {
295
306
  cert: Buffer | string;
296
307
  key: Buffer | string;
297
308
  } | true;
298
- type GatewayContextFactory<TContext = unknown> = (request: Request) => Promise<TContext>;
309
+ export type GatewayContextFactory<TContext = unknown> = (request: Request) => Promise<TContext>;
299
310
  /** Under graphql-ws this is `ctx.extra`, created once per socket. */
300
- type WsConnection = object;
301
- type WsContextFactory<TContext = unknown> = (connectionParams: Record<string, unknown>, connection: WsConnection) => Promise<TContext>;
302
- type WsConnectHandler = (connectionParams: Record<string, unknown>, connection: WsConnection) => Promise<boolean>;
303
- type WsHandlers<TContext = unknown> = {
311
+ export type WsConnection = object;
312
+ export type WsContextFactory<TContext = unknown> = (connectionParams: Record<string, unknown>, connection: WsConnection) => Promise<TContext>;
313
+ export type WsConnectHandler = (connectionParams: Record<string, unknown>, connection: WsConnection) => Promise<boolean>;
314
+ export type WsHandlers<TContext = unknown> = {
304
315
  onConnect: WsConnectHandler;
305
316
  context: WsContextFactory<TContext>;
306
317
  };
307
318
  /** No authenticated caller resolved, and REQUIRE_AUTHENTICATED_CALLER wants one. */
308
- declare const WS_CLOSE_REASON_AUTHENTICATION_REQUIRED = "authentication-required";
319
+ export declare const WS_CLOSE_REASON_AUTHENTICATION_REQUIRED = "authentication-required";
309
320
  /** A bearer was sent and could not be verified. */
310
- declare const WS_CLOSE_REASON_BEARER_REJECTED = "bearer-rejected";
321
+ export declare const WS_CLOSE_REASON_BEARER_REJECTED = "bearer-rejected";
311
322
  /** Every reason a refusal closes with, for a client matching on the set. */
312
- declare const WS_AUTH_CLOSE_REASONS: readonly ["authentication-required", "bearer-rejected"];
313
- type WsDisposer = {
323
+ export declare const WS_AUTH_CLOSE_REASONS: readonly ["authentication-required", "bearer-rejected"];
324
+ export type WsDisposer = {
314
325
  dispose: () => void | Promise<void>;
315
326
  };
316
- type FetchHandler = (request: Request) => Promise<Response>;
327
+ export type FetchHandler = (request: Request) => Promise<Response>;
317
328
  /**
318
329
  * Handle to a route registered directly on the adapter. Packages hot-reload,
319
330
  * so every registration is reversible; disposing a route that is already gone
@@ -329,7 +340,7 @@ type FetchHandler = (request: Request) => Promise<Response>;
329
340
  * which also carries the public URL the route answers on — at this layer there
330
341
  * is no namespace to build one from and no knowledge of the host's origin.
331
342
  */
332
- interface AdapterRouteHandle {
343
+ export interface AdapterRouteHandle {
333
344
  dispose(): void;
334
345
  }
335
346
  /**
@@ -338,7 +349,7 @@ interface AdapterRouteHandle {
338
349
  * federation adapters treat it as a service to call over HTTP, while the
339
350
  * stitching adapter merges its typeDefs and resolvers in-process.
340
351
  */
341
- type SubgraphDefinition = {
352
+ export type SubgraphDefinition = {
342
353
  name: string;
343
354
  typeDefs: DocumentNode;
344
355
  url: string;
@@ -351,7 +362,7 @@ type SubgraphDefinition = {
351
362
  */
352
363
  resolvers?: Record<string, unknown>;
353
364
  };
354
- interface IGatewayAdapter<TContext = unknown> {
365
+ export interface IGatewayAdapter<TContext = unknown> {
355
366
  /** One-time startup. */
356
367
  start(httpServer: http.Server): Promise<void>;
357
368
  /**
@@ -381,8 +392,8 @@ interface IGatewayAdapter<TContext = unknown> {
381
392
  * Methods a node route may bind. OPTIONS is excluded: the framework's CORS
382
393
  * plugin owns preflight, and a duplicate registration conflicts at startup.
383
394
  */
384
- type HttpMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT";
385
- interface NodeRouteOptions {
395
+ export type HttpMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT";
396
+ export interface NodeRouteOptions {
386
397
  /** Serve sub-paths too, not just an exact path match. */
387
398
  prefix?: boolean;
388
399
  /**
@@ -398,7 +409,7 @@ interface NodeRouteOptions {
398
409
  */
399
410
  rawBody?: boolean;
400
411
  }
401
- interface IHttpAdapter {
412
+ export interface IHttpAdapter {
402
413
  /** Set up CORS and body-parser equivalent middleware. */
403
414
  setupMiddleware(config: {
404
415
  corsOptions?: CorsOptions;
@@ -413,7 +424,8 @@ interface IHttpAdapter {
413
424
  * replaces the previous one (last write wins).
414
425
  */
415
426
  mount(path: string, handler: FetchHandler, options?: {
416
- prefix?: boolean; /** @deprecated Misleading name: this always meant *prefix*, not exact. */
427
+ prefix?: boolean;
428
+ /** @deprecated Misleading name: this always meant *prefix*, not exact. */
417
429
  exact?: boolean;
418
430
  }): AdapterRouteHandle;
419
431
  /**
@@ -423,9 +435,10 @@ interface IHttpAdapter {
423
435
  getRoute(path: string, handler: (request: Request) => Response | Promise<Response>): AdapterRouteHandle;
424
436
  /**
425
437
  * Start listening on the given port. Returns the underlying http.Server
426
- * so callers can attach WebSocket servers.
438
+ * so callers can attach WebSocket servers. Without `host` it binds the
439
+ * wildcard address.
427
440
  */
428
- listen(port: number, tls?: TlsOptions): Promise<http.Server>;
441
+ listen(port: number, tls?: TlsOptions, host?: string): Promise<http.Server>;
429
442
  /**
430
443
  * Mount a raw Connect/Express-compatible middleware function (e.g. Vite dev
431
444
  * server middleware). The implementation is adapter-specific; for Express this
@@ -454,12 +467,12 @@ interface IHttpAdapter {
454
467
  }
455
468
  //#endregion
456
469
  //#region src/services/auth.service.d.ts
457
- type CredentialVerifier = (params: {
470
+ export type CredentialVerifier = (params: {
458
471
  address: string;
459
472
  chainId: number;
460
473
  appId: string;
461
474
  }) => Promise<boolean>;
462
- interface AuthConfig {
475
+ export interface AuthConfig {
463
476
  /**
464
477
  * Whether the authorization policy enforces anything: it selects `ADMIN_ONLY`
465
478
  * over `OPEN`, and it is what `AuthContext.auth_enabled` reports to callers
@@ -492,13 +505,13 @@ interface AuthConfig {
492
505
  * `@powerhousedao/shared/processors` as `RouteUser`, so a route handler and a
493
506
  * resolver agree on it without either package redeclaring it.
494
507
  */
495
- type User = RouteUser$1;
496
- interface AuthContext {
508
+ export type User = RouteUser$1;
509
+ export interface AuthContext {
497
510
  user?: User;
498
511
  admins: string[];
499
512
  auth_enabled: boolean;
500
513
  }
501
- declare class AuthService {
514
+ export declare class AuthService {
502
515
  private readonly config;
503
516
  private readonly credentialCache;
504
517
  constructor(config: AuthConfig);
@@ -575,11 +588,13 @@ interface IWebhookStore {
575
588
  revoke(namespace: string, endpoint: string, ownerKey: string): Promise<void>;
576
589
  /** True when this delivery has been seen before, within the TTL. */
577
590
  seen(token: string, key: string, ttlSeconds: number): Promise<boolean>;
591
+ /** Drops a delivery recorded by seen(), so a retry of it is delivered. */
592
+ forget(token: string, key: string): Promise<void>;
578
593
  }
579
594
  /** Opaque and unguessable: the URL is a bearer capability held by a third party. */
580
- declare function newWebhookToken(): string;
595
+ export declare function newWebhookToken(): string;
581
596
  /** Relational implementation, over the reactor's own database. */
582
- declare class RelationalWebhookStore implements IWebhookStore {
597
+ export declare class RelationalWebhookStore implements IWebhookStore {
583
598
  #private;
584
599
  private readonly relationalDb;
585
600
  constructor(relationalDb: IRelationalDb$1);
@@ -588,14 +603,16 @@ declare class RelationalWebhookStore implements IWebhookStore {
588
603
  find(token: string): Promise<WebhookEndpointRow | undefined>;
589
604
  list(namespace: string, endpoint?: string): Promise<WebhookEndpointRow[]>;
590
605
  revoke(namespace: string, endpoint: string, ownerKey: string): Promise<void>;
606
+ forget(token: string, key: string): Promise<void>;
591
607
  seen(token: string, key: string, ttlSeconds: number): Promise<boolean>;
592
608
  }
593
609
  /** In-memory store, for hosts with no relational database and for tests. */
594
- declare class MemoryWebhookStore implements IWebhookStore {
610
+ export declare class MemoryWebhookStore implements IWebhookStore {
595
611
  #private;
596
612
  init(): Promise<void>;
597
613
  ensure(namespace: string, endpoint: string, ownerKey: string): Promise<WebhookEndpointRow>;
598
614
  find(token: string): Promise<WebhookEndpointRow | undefined>;
615
+ forget(token: string, key: string): Promise<void>;
599
616
  list(namespace: string, endpoint?: string): Promise<WebhookEndpointRow[]>;
600
617
  revoke(namespace: string, endpoint: string, ownerKey: string): Promise<void>;
601
618
  seen(token: string, key: string, ttlSeconds: number): Promise<boolean>;
@@ -603,7 +620,7 @@ declare class MemoryWebhookStore implements IWebhookStore {
603
620
  //#endregion
604
621
  //#region src/http/webhook-service.d.ts
605
622
  /** The flat, token-addressed path family. */
606
- declare const WEBHOOK_SEGMENT = "webhooks";
623
+ export declare const WEBHOOK_SEGMENT = "webhooks";
607
624
  interface WebhookServiceOptions {
608
625
  store: IWebhookStore;
609
626
  basePath?: string;
@@ -612,13 +629,9 @@ interface WebhookServiceOptions {
612
629
  }
613
630
  /** One host route for `/webhooks/:token`, dispatching by token. The flat path leaks
614
631
  * neither package nor document; the namespace lives in the token record, which is also what stops one package's token reaching another's handler. */
615
- declare class WebhookService {
632
+ export declare class WebhookService {
616
633
  #private;
617
- constructor({
618
- store,
619
- basePath,
620
- publicUrl
621
- }: WebhookServiceOptions);
634
+ constructor({ store, basePath, publicUrl }: WebhookServiceOptions);
622
635
  /** The scope the endpoint family serves from, handed over once the route service exists;
623
636
  * separate from the constructor only because that service takes this one as an option. */
624
637
  attach(scope: IHttpScope): void;
@@ -637,9 +650,9 @@ declare class WebhookService {
637
650
  //#endregion
638
651
  //#region src/http/route-service.d.ts
639
652
  /** The segment package routes live under, inside the host's base path. */
640
- declare const PACKAGE_ROUTE_SEGMENT = "api";
653
+ export declare const PACKAGE_ROUTE_SEGMENT = "api";
641
654
  /** The namespace core's own subgraphs and services register under. */
642
- declare const CORE_PACKAGE_NAME = "@powerhousedao/reactor-api";
655
+ export declare const CORE_PACKAGE_NAME = "@powerhousedao/reactor-api";
643
656
  interface HttpRouteServiceOptions {
644
657
  httpAdapter: IHttpAdapter;
645
658
  /** Absent on a host with no webhook store; `scope.webhooks` then refuses. */
@@ -656,16 +669,9 @@ interface HttpRouteServiceOptions {
656
669
  }
657
670
  /** Owns the URL space packages serve from, handing each a scope bound to its own namespace. The prefix nests inside
658
671
  * the host's base path (`<basePath>/api`), so core collisions are prevented by URL shape, not a reserved-name list. */
659
- declare class HttpRouteService {
672
+ export declare class HttpRouteService {
660
673
  #private;
661
- constructor({
662
- httpAdapter,
663
- basePath,
664
- authService,
665
- webhooks,
666
- publicUrl,
667
- trustProxy
668
- }: HttpRouteServiceOptions);
674
+ constructor({ httpAdapter, basePath, authService, webhooks, publicUrl, trustProxy }: HttpRouteServiceOptions);
669
675
  /** The absolute path packages are mounted under. */
670
676
  get prefix(): string;
671
677
  /** The scope for a package; idempotent per name, so a reload cannot accumulate namespaces. Throws when two packages
@@ -683,18 +689,18 @@ declare class HttpRouteService {
683
689
  }
684
690
  //#endregion
685
691
  //#region src/http/namespace.d.ts
686
- declare class InvalidNamespaceError extends Error {}
692
+ export declare class InvalidNamespaceError extends Error {}
687
693
  /**
688
694
  * Turns a package name into the path segments it occupies.
689
695
  * `@powerhousedao/workflow` → ["@powerhousedao", "workflow"]
690
696
  * `document-model` → ["document-model"]
691
697
  */
692
- declare function namespaceSegments(packageName: string): string[];
698
+ export declare function namespaceSegments(packageName: string): string[];
693
699
  /**
694
700
  * The path a package's routes hang off, relative to the package prefix.
695
701
  * Scoped names occupy two segments — the addressing unpkg and jsdelivr use.
696
702
  */
697
- declare function namespacePath(packageName: string): string;
703
+ export declare function namespacePath(packageName: string): string;
698
704
  /**
699
705
  * Resolves the npm name a package is routed under from the key the package
700
706
  * manager holds it by. That key is the specifier as configured, which is not
@@ -707,7 +713,7 @@ declare function namespacePath(packageName: string): string;
707
713
  * Deriving a URL segment straight from the key would give a developer's home
708
714
  * directory a route namespace, so the path form is resolved rather than slugged.
709
715
  */
710
- declare function resolvePackageName(key: string, readPackageJsonName?: (dir: string) => string | undefined): string;
716
+ export declare function resolvePackageName(key: string, readPackageJsonName?: (dir: string) => string | undefined): string;
711
717
  /**
712
718
  * A mount path the host named for one of its own route groups.
713
719
  *
@@ -722,7 +728,7 @@ declare function resolvePackageName(key: string, readPackageJsonName?: (dir: str
722
728
  * routes unpredictable relative to each other. Returns the normalized path,
723
729
  * with a leading and no trailing slash.
724
730
  */
725
- declare function assertHostMountPath(path: string): string;
731
+ export declare function assertHostMountPath(path: string): string;
726
732
  //#endregion
727
733
  //#region src/http/webhook-verify.d.ts
728
734
  type VerifyResult = {
@@ -733,20 +739,210 @@ type VerifyResult = {
733
739
  };
734
740
  /** Verifies a delivery against the configured scheme; `raw` must be the exact bytes
735
741
  * received. The reason is for the log only: callers answer a fixed 401, so a probing sender learns nothing from the body. */
736
- declare function verifyWebhook(options: {
742
+ export declare function verifyWebhook(options: {
737
743
  verification: WebhookVerification;
738
744
  headers: Record<string, string>;
739
745
  raw: Buffer;
740
746
  now?: Date;
741
747
  }): VerifyResult;
742
- declare function redactHeaders(headers: Record<string, string>, extra?: string): Record<string, string>;
748
+ export declare function redactHeaders(headers: Record<string, string>, extra?: string): Record<string, string>;
743
749
  /** JSON and form bodies become objects; anything else stays decoded text, so a verified
744
750
  * XML or CSV payload is still reachable downstream. */
745
- declare function parseWebhookBody(raw: Buffer, contentType?: string): unknown;
751
+ export declare function parseWebhookBody(raw: Buffer, contentType?: string): unknown;
752
+ //#endregion
753
+ //#region src/services/canonical-document-id.d.ts
754
+ /**
755
+ * Raised when a caller-supplied identifier cannot be resolved to a canonical
756
+ * document id. Carries no detail on purpose: resolution failures must not act
757
+ * as a document-existence oracle, so consumers map this to their generic
758
+ * fail-closed response.
759
+ */
760
+ export declare class CanonicalDocumentIdResolutionError extends Error {
761
+ constructor();
762
+ }
763
+ export type CanonicalDocumentIdResolver = (identifier: string) => Promise<CanonicalDocumentId>;
764
+ /**
765
+ * The sanctioned string-to-CanonicalDocumentId cast: both the GraphQL layer
766
+ * and server routes must resolve caller identifiers through this helper so
767
+ * decision and data layers always agree on the subject document.
768
+ */
769
+ export declare function createCanonicalDocumentIdResolver(client: Pick<IReactorClient, "resolveIdOrSlug">): CanonicalDocumentIdResolver;
770
+ //#endregion
771
+ //#region src/services/attachment-access.service.d.ts
772
+ /**
773
+ * Whether the active Reactor composition hosts the attachment-reference
774
+ * projection. Reported by the client initializer: the built-in stack always
775
+ * registers it, while a caller-provided Reactor may lack the live
776
+ * registration capability. Consumers of reference evidence must fail closed
777
+ * when it is unavailable.
778
+ */
779
+ export type AttachmentReferenceProjectionCapability = {
780
+ status: "available";
781
+ } | {
782
+ status: "unavailable";
783
+ reason: "live-read-model-registration-unsupported" | "in-process-reactor-module-unavailable" | "initializer-did-not-report";
784
+ };
785
+ /**
786
+ * Outcome of an attachment read authorization. `denied` intentionally covers
787
+ * both an unreadable document and an absent document/ref relationship so the
788
+ * route layer cannot leak which check failed. `projection-unavailable` means
789
+ * the reference index is not being maintained in this composition; it is
790
+ * returned before any document-authorization or reference lookup runs.
791
+ */
792
+ export type AttachmentAccessResult = {
793
+ kind: "allowed";
794
+ documentId: CanonicalDocumentId;
795
+ ref: AttachmentRef;
796
+ } | {
797
+ kind: "denied";
798
+ } | {
799
+ kind: "projection-unavailable";
800
+ };
801
+ export interface AttachmentAccessRequest {
802
+ documentId: string;
803
+ attachmentRef: string;
804
+ userAddress?: string;
805
+ /**
806
+ * The `did:key` of the app instance whose token authenticated the caller.
807
+ * A policy subject is an address AND a key — a grant can name either, and a
808
+ * document's creator is recorded by key — so a decision made from the address
809
+ * alone answers a narrower question than the one being asked.
810
+ */
811
+ appKey?: string;
812
+ }
813
+ export type AttachmentCallerResult = {
814
+ kind: "admitted";
815
+ } | {
816
+ kind: "unauthenticated";
817
+ };
818
+ export interface AttachmentCallerRequest {
819
+ intent: "read" | "write";
820
+ userAddress?: string;
821
+ appKey?: string;
822
+ }
823
+ export interface IAttachmentAccessService {
824
+ canReadAttachment(request: AttachmentAccessRequest): Promise<AttachmentAccessResult>;
825
+ /** Whether this caller may use attachments at all, before any document decides. */
826
+ admitCaller(request: AttachmentCallerRequest): Promise<AttachmentCallerResult>;
827
+ }
828
+ export interface AttachmentAccessServiceOptions {
829
+ /** Refuse writes from a caller with no address. Default `true`. */
830
+ refuseAnonymousWrites?: boolean;
831
+ /** Refuse reads from a caller with no address. Default `false`. */
832
+ refuseAnonymousReads?: boolean;
833
+ }
834
+ /**
835
+ * Composes document authorization with the projected document/ref
836
+ * relationship. Order is fixed: validate ref, resolve the canonical document
837
+ * id, decide the read, check the reactor's read gate serves the document, then
838
+ * check the reference index and that the subject may read a scope whose
839
+ * operations reference the attachment. A denied document never reaches the
840
+ * reference reader, and the facade never touches attachment metadata, storage
841
+ * backends, or presigners.
842
+ *
843
+ * The named document decides alone: an attachment several documents reference
844
+ * is readable through each of them on that document's own terms.
845
+ *
846
+ * The read is decided by the document's own policy when this composition has a
847
+ * model to enforce it with, and by the host's permission tables when it does
848
+ * not. That is not a preference between two equivalent answers: a host running
849
+ * document policies keeps no rows in the permission tables, so asking them
850
+ * about such a document returns whatever the host-wide policy says — under
851
+ * `OPEN`, `true`, for everyone. Serving bytes on that answer hands the file to
852
+ * anyone who learns its hash, which the document's own state may well have told
853
+ * them. Both are kept because they are the two halves of one rule: an
854
+ * attachment is readable by whoever may read the document that references it,
855
+ * and each composition can only express that in its own terms. The caller
856
+ * decision mirrors the routes' `requireAuth`.
857
+ */
858
+ export declare class AttachmentAccessService implements IAttachmentAccessService {
859
+ private readonly resolveCanonicalId;
860
+ private readonly authorization;
861
+ private readonly references;
862
+ private readonly projection;
863
+ private readonly readGate;
864
+ /**
865
+ * Absent below auth enforcement, where there is no policy model to
866
+ * evaluate; the host's permission tables decide alone, exactly as before.
867
+ */
868
+ private readonly scopeGate?;
869
+ private readonly options;
870
+ constructor(resolveCanonicalId: CanonicalDocumentIdResolver, authorization: IAuthorizationService, references: IAttachmentReferenceReader, projection: AttachmentReferenceProjectionCapability, readGate: AttachmentReadGate,
871
+ /**
872
+ * Absent below auth enforcement, where there is no policy model to
873
+ * evaluate; the host's permission tables decide alone, exactly as before.
874
+ */
875
+ scopeGate?: IDocumentScopeGate | undefined, options?: AttachmentAccessServiceOptions);
876
+ admitCaller(request: AttachmentCallerRequest): Promise<AttachmentCallerResult>;
877
+ canReadAttachment(request: AttachmentAccessRequest): Promise<AttachmentAccessResult>;
878
+ /**
879
+ * Whether the caller may read the state the reference lives in.
880
+ *
881
+ * A failure here is rethrown rather than turned into a denial. A read side
882
+ * that is down must not read as a policy: a denial nobody can distinguish
883
+ * from a refusal is one nobody investigates, and the route answers 500 for a
884
+ * reason.
885
+ */
886
+ private canReadDocument;
887
+ }
888
+ //#endregion
889
+ //#region src/services/authorized-attachment.service.d.ts
890
+ /** The reference index is not maintained in this composition. */
891
+ export declare class AttachmentAccessUnavailable extends Error {
892
+ constructor();
893
+ }
894
+ /** The access decision itself failed; the cause is logged, not surfaced. */
895
+ export declare class AttachmentAccessFailed extends Error {
896
+ constructor(cause: unknown);
897
+ }
898
+ /** An `IAttachmentService` whose reads and writes are decided for one subject. */
899
+ export declare class AuthorizedAttachmentService implements IAttachmentService {
900
+ private readonly inner;
901
+ private readonly access;
902
+ private readonly subject;
903
+ private readonly logger;
904
+ constructor(inner: IAttachmentService, access: IAttachmentAccessService, subject: AuthSubject, logger: ILogger);
905
+ /** Hash-first only: an upload-first handle can send after it expires. */
906
+ reserve(options: ReserveAttachmentOptions): Promise<IAttachmentUpload>;
907
+ stat(ref: AttachmentRef, options?: AttachmentStatOptions): Promise<AttachmentHeader>;
908
+ get(ref: AttachmentRef, options?: AbortSignal | AttachmentDownloadOptions): Promise<AttachmentResponse>;
909
+ getDownloadTarget(ref: AttachmentRef, options: AttachmentDownloadTargetOptions): Promise<AttachmentDownloadTarget>;
910
+ private decideRead;
911
+ private admit;
912
+ private accessFailed;
913
+ }
914
+ export interface IAttachmentClientProvider {
915
+ forSubject(subject: AuthSubject): IAttachmentClient;
916
+ }
917
+ export declare class AttachmentClientProvider implements IAttachmentClientProvider {
918
+ private readonly service;
919
+ private readonly access;
920
+ private readonly logger;
921
+ constructor(service: IAttachmentService, access: IAttachmentAccessService, logger: ILogger);
922
+ forSubject(subject: AuthSubject): IAttachmentClient;
923
+ }
924
+ //#endregion
925
+ //#region src/graphql/inspection/source.d.ts
926
+ /** What the inspection subgraph serves. Only reads cross GraphQL. */
927
+ interface IReactorInspectionSource {
928
+ /** Reads as the host; drive and document reads are re-made as the caller. */
929
+ readonly inspector: IInspector;
930
+ readonly syncInspector: ISyncInspector | undefined;
931
+ readonly documentModelRegistry: IDocumentModelRegistry;
932
+ /** Facts the host learns after boot, e.g. a composed workflow runtime. */
933
+ readonly facts: IReactorFactsSink;
934
+ }
935
+ type ReactorInspectionOptions = {
936
+ /** Absent: a group-commit store's own health, else `tracked: false`. */
937
+ storageHealth?: IInspectorStorageHealthProvider;
938
+ attachmentStore?: IInspectableAttachmentStore;
939
+ workflows?: boolean;
940
+ };
941
+ export declare function createReactorInspectionSource(module: InProcessReactorModule, options?: ReactorInspectionOptions): IReactorInspectionSource;
746
942
  //#endregion
747
943
  //#region src/graphql/types.d.ts
748
- type SubgraphClass = typeof BaseSubgraph;
749
- type Context = {
944
+ export type SubgraphClass = typeof BaseSubgraph;
945
+ export type Context = {
750
946
  driveId?: string;
751
947
  document?: PHDocument;
752
948
  headers: IncomingHttpHeaders;
@@ -754,11 +950,12 @@ type Context = {
754
950
  user?: {
755
951
  address: string;
756
952
  chainId: number;
757
- networkId: string; /** The did:key of the app instance that issued this request's token. */
953
+ networkId: string;
954
+ /** The did:key of the app instance that issued this request's token. */
758
955
  appKey: string;
759
956
  };
760
957
  };
761
- type ISubgraph = {
958
+ export type ISubgraph = {
762
959
  name: string;
763
960
  /**
764
961
  * @deprecated The GraphQL manager mounts every subgraph under its own base
@@ -776,7 +973,7 @@ type ISubgraph = {
776
973
  onSetup?: () => Promise<void>;
777
974
  onDisconnect?: () => Promise<void>;
778
975
  };
779
- type SubgraphArgs = {
976
+ export type SubgraphArgs = {
780
977
  reactorClient: IReactorClient;
781
978
  /**
782
979
  * The subgraph's package's slice of the HTTP surface, for serving REST
@@ -796,6 +993,13 @@ type SubgraphArgs = {
796
993
  * to the host's permission tables alone.
797
994
  */
798
995
  syncServingGate?: SyncScopeGate;
996
+ /**
997
+ * Attachments as the request's caller may use them. Bind per request with
998
+ * `BaseSubgraph.attachmentsFor(ctx)`.
999
+ */
1000
+ attachments?: IAttachmentClientProvider;
1001
+ /** Read only by `InspectionSubgraph`, registered only when this is set. */
1002
+ inspection?: IReactorInspectionSource;
799
1003
  /**
800
1004
  * The host's base path, injected by the GraphQL manager when it constructs
801
1005
  * a subgraph. Subgraph code may read it, but routing ignores it: every
@@ -803,7 +1007,7 @@ type SubgraphArgs = {
803
1007
  */
804
1008
  path?: string;
805
1009
  };
806
- type GqlSigner = {
1010
+ export type GqlSigner = {
807
1011
  user: {
808
1012
  address: string;
809
1013
  networkId: string;
@@ -815,19 +1019,19 @@ type GqlSigner = {
815
1019
  };
816
1020
  signatures: string[];
817
1021
  };
818
- type GqlOperationContext = {
1022
+ export type GqlOperationContext = {
819
1023
  signer: GqlSigner | undefined;
820
1024
  };
821
- type GqlSignerUser = {
1025
+ export type GqlSignerUser = {
822
1026
  address: string;
823
1027
  networkId: string;
824
1028
  chainId: number;
825
1029
  };
826
- type GqlSignerApp = {
1030
+ export type GqlSignerApp = {
827
1031
  name: string;
828
1032
  key: string;
829
1033
  };
830
- type GqlOperation = {
1034
+ export type GqlOperation = {
831
1035
  id: string;
832
1036
  type: string;
833
1037
  index: number;
@@ -838,7 +1042,7 @@ type GqlOperation = {
838
1042
  error: string | undefined;
839
1043
  context: GqlOperationContext;
840
1044
  };
841
- type GqlDocument = {
1045
+ export type GqlDocument = {
842
1046
  __typename?: string;
843
1047
  id: string;
844
1048
  name: string;
@@ -851,7 +1055,7 @@ type GqlDocument = {
851
1055
  state: unknown;
852
1056
  initialState: unknown;
853
1057
  };
854
- type GqlDriveDocument = GqlDocument & {
1058
+ export type GqlDriveDocument = GqlDocument & {
855
1059
  meta: {
856
1060
  preferredEditor?: string;
857
1061
  };
@@ -861,7 +1065,12 @@ type GqlDriveDocument = GqlDocument & {
861
1065
  };
862
1066
  //#endregion
863
1067
  //#region src/graphql/base-subgraph.d.ts
864
- declare class BaseSubgraph implements ISubgraph$1 {
1068
+ /**
1069
+ * The subject a request reads as: its address and the app key its token
1070
+ * carries. Anonymous is an empty subject, never the host's signer.
1071
+ */
1072
+ export declare function callerSubject(user: Context["user"]): AuthSubject;
1073
+ export declare class BaseSubgraph implements ISubgraph$1 {
865
1074
  #private;
866
1075
  name: string;
867
1076
  path: string;
@@ -877,6 +1086,12 @@ declare class BaseSubgraph implements ISubgraph$1 {
877
1086
  authorizationService: IAuthorizationService;
878
1087
  syncServingGate?: SyncScopeGate;
879
1088
  constructor(args: SubgraphArgs$1);
1089
+ /**
1090
+ * An attachment client bound to this request's caller, memoized per request.
1091
+ *
1092
+ * @throws Error when the host provides no attachment client to subgraphs.
1093
+ */
1094
+ attachmentsFor(ctx: Context): IAttachmentClient;
880
1095
  onSetup(): Promise<void>;
881
1096
  onDisconnect(): Promise<void>;
882
1097
  /**
@@ -902,6 +1117,10 @@ declare class BaseSubgraph implements ISubgraph$1 {
902
1117
  * layer, such as a fetched document's id). Performs no slug resolution.
903
1118
  */
904
1119
  canReadDocument(documentId: CanonicalDocumentId, ctx: Context): Promise<boolean>;
1120
+ /** Drops the items the host's own ACL refuses the caller. */
1121
+ readableByHost<T extends {
1122
+ id: string;
1123
+ }>(items: readonly T[], ctx: Context): Promise<T[]>;
905
1124
  /**
906
1125
  * The principal a request decides as: the authenticated caller's address, and
907
1126
  * the did:key of the app instance whose token authenticated it.
@@ -913,6 +1132,16 @@ declare class BaseSubgraph implements ISubgraph$1 {
913
1132
  * carries the same key. Anonymous callers supply neither.
914
1133
  */
915
1134
  protected viewSubject(ctx: Context): AuthSubject;
1135
+ /** Whether a listing would serve the document to the caller; fails closed. */
1136
+ protected servesDocument(documentId: string, ctx: Context): Promise<boolean>;
1137
+ /** {@link servesDocument}, but a reactor that cannot answer throws. */
1138
+ protected servesDocumentOrThrows(identifier: string, ctx: Context, view?: Pick<ViewFilter, "branch" | "scopes">): Promise<boolean>;
1139
+ /**
1140
+ * Whether a listing would serve the document to the caller: the reactor read
1141
+ * gate, then the host's legacy layer, as `findDocuments` applies them. Absent
1142
+ * or withheld is `false`; a failure to decide throws.
1143
+ */
1144
+ protected listsDocument(identifier: string, ctx: Context, view?: Pick<ViewFilter, "branch" | "scopes">): Promise<boolean>;
916
1145
  /**
917
1146
  * Asserts read access, resolving a slug first. Returns a handle whose
918
1147
  * `fetchIdentifier` the caller reuses for the data fetch; a denial throws.
@@ -931,16 +1160,24 @@ declare class BaseSubgraph implements ISubgraph$1 {
931
1160
  }
932
1161
  //#endregion
933
1162
  //#region src/graphql/analytics-subgraph.d.ts
934
- declare class AnalyticsSubgraph extends BaseSubgraph {
1163
+ export declare class AnalyticsSubgraph extends BaseSubgraph {
1164
+ #private;
935
1165
  analyticsStore: IAnalyticsStore;
936
1166
  analyticsModel: AnalyticsModel;
937
1167
  name: string;
938
- typeDefs: graphql.DocumentNode;
1168
+ typeDefs: import("graphql").DocumentNode;
1169
+ /**
1170
+ * Every analytics field hangs off `Query.analytics`, so gating it gates them
1171
+ * all. Series are aggregates a processor built from many documents and carry
1172
+ * no document to decide on, so only a caller with policy-wide read (anyone
1173
+ * under OPEN, an admin otherwise) may read them.
1174
+ */
939
1175
  resolvers: GraphQLResolverMap<Context$1>;
940
1176
  constructor(args: SubgraphArgs$1);
941
1177
  }
942
- //#endregion
943
- //#region src/graphql/auth/resolvers.d.ts
1178
+ declare namespace resolvers_d_exports {
1179
+ export { DocumentAccessInfo, DocumentProtectionInfo, OperationPermissionsInfo, OperationUserPermission, canExecuteOperation, documentAccess, documentProtection, grantDocumentPermission, grantOperationPermission, operationPermissions, revokeDocumentPermission, revokeOperationPermission, setDocumentProtection, transferDocumentOwnership, userDocumentPermissions };
1180
+ }
944
1181
  type DocumentAccessInfo = {
945
1182
  documentId: string;
946
1183
  permissions: Array<{
@@ -952,6 +1189,33 @@ type DocumentAccessInfo = {
952
1189
  updatedAt: Date;
953
1190
  }>;
954
1191
  };
1192
+ declare function documentAccess(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1193
+ documentId: CanonicalDocumentId;
1194
+ }, userAddress: string | undefined): Promise<DocumentAccessInfo>;
1195
+ declare function userDocumentPermissions(service: DocumentPermissionService, userAddress: string): Promise<Array<{
1196
+ documentId: string;
1197
+ userAddress: string;
1198
+ permission: DocumentPermissionLevel;
1199
+ grantedBy: string;
1200
+ createdAt: Date;
1201
+ updatedAt: Date;
1202
+ }>>;
1203
+ declare function grantDocumentPermission(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1204
+ documentId: CanonicalDocumentId;
1205
+ userAddress: string;
1206
+ permission: DocumentPermissionLevel;
1207
+ }, grantedByAddress: string | undefined): Promise<{
1208
+ documentId: string;
1209
+ userAddress: string;
1210
+ permission: DocumentPermissionLevel;
1211
+ grantedBy: string;
1212
+ createdAt: Date;
1213
+ updatedAt: Date;
1214
+ }>;
1215
+ declare function revokeDocumentPermission(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1216
+ documentId: CanonicalDocumentId;
1217
+ userAddress: string;
1218
+ }, revokedByAddress: string | undefined): Promise<boolean>;
955
1219
  type OperationUserPermission = {
956
1220
  documentId: string;
957
1221
  operationType: string;
@@ -964,13 +1228,46 @@ type OperationPermissionsInfo = {
964
1228
  operationType: string;
965
1229
  userPermissions: OperationUserPermission[];
966
1230
  };
1231
+ declare function operationPermissions(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1232
+ documentId: CanonicalDocumentId;
1233
+ operationType: string;
1234
+ }, userAddress: string | undefined): Promise<OperationPermissionsInfo>;
1235
+ declare function canExecuteOperation(authorizationService: IAuthorizationService, args: {
1236
+ documentId: CanonicalDocumentId;
1237
+ operationType: string;
1238
+ }, userAddress: string | undefined): Promise<boolean>;
1239
+ declare function grantOperationPermission(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1240
+ documentId: CanonicalDocumentId;
1241
+ operationType: string;
1242
+ userAddress: string;
1243
+ }, grantedByAddress: string | undefined): Promise<OperationUserPermission>;
1244
+ declare function revokeOperationPermission(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1245
+ documentId: CanonicalDocumentId;
1246
+ operationType: string;
1247
+ userAddress: string;
1248
+ }, revokedByAddress: string | undefined): Promise<boolean>;
967
1249
  type DocumentProtectionInfo = {
968
1250
  documentId: string;
969
1251
  protected: boolean;
970
1252
  ownerAddress: string | null;
971
1253
  };
1254
+ declare function documentProtection(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1255
+ documentId: CanonicalDocumentId;
1256
+ }, userAddress: string | undefined): Promise<DocumentProtectionInfo>;
1257
+ declare function setDocumentProtection(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1258
+ documentId: CanonicalDocumentId;
1259
+ protected: boolean;
1260
+ }, userAddress: string | undefined): Promise<DocumentProtectionInfo>;
1261
+ declare function transferDocumentOwnership(service: DocumentPermissionService, authorizationService: IAuthorizationService, args: {
1262
+ documentId: CanonicalDocumentId;
1263
+ newOwnerAddress: string;
1264
+ }, userAddress: string | undefined): Promise<DocumentProtectionInfo>;
972
1265
  //#endregion
973
1266
  //#region src/graphql/auth/subgraph.d.ts
1267
+ type DocumentArgs = {
1268
+ documentIdOrSlug?: string | null;
1269
+ documentId?: string | null;
1270
+ };
974
1271
  /**
975
1272
  * Auth Subgraph - handles all document permission and authorization operations
976
1273
  *
@@ -980,17 +1277,16 @@ type DocumentProtectionInfo = {
980
1277
  * - Document protection and ownership
981
1278
  * - Operation-level permissions (fine-grained operation control)
982
1279
  */
983
- declare class AuthSubgraph extends BaseSubgraph {
1280
+ export declare class AuthSubgraph extends BaseSubgraph {
1281
+ #private;
984
1282
  private logger;
985
1283
  constructor(args: SubgraphArgs);
986
1284
  name: string;
987
1285
  hasSubscriptions: boolean;
988
- typeDefs: graphql.DocumentNode;
1286
+ typeDefs: import("graphql").DocumentNode;
989
1287
  resolvers: {
990
1288
  Query: {
991
- documentAccess: (_parent: unknown, args: {
992
- documentId: string;
993
- }, ctx: {
1289
+ documentAccess: (_parent: unknown, args: DocumentArgs, ctx: {
994
1290
  user?: {
995
1291
  address: string;
996
1292
  };
@@ -1007,49 +1303,42 @@ declare class AuthSubgraph extends BaseSubgraph {
1007
1303
  createdAt: Date;
1008
1304
  updatedAt: Date;
1009
1305
  }[]>;
1010
- operationPermissions: (_parent: unknown, args: {
1011
- documentId: string;
1306
+ operationPermissions: (_parent: unknown, args: DocumentArgs & {
1012
1307
  operationType: string;
1013
1308
  }, ctx: {
1014
1309
  user?: {
1015
1310
  address: string;
1016
1311
  };
1017
1312
  }) => Promise<OperationPermissionsInfo>;
1018
- canExecuteOperation: (_parent: unknown, args: {
1019
- documentId: string;
1313
+ canExecuteOperation: (_parent: unknown, args: DocumentArgs & {
1020
1314
  operationType: string;
1021
1315
  }, ctx: {
1022
1316
  user?: {
1023
1317
  address: string;
1024
1318
  };
1025
1319
  }) => Promise<boolean>;
1026
- documentProtection: (_parent: unknown, args: {
1027
- documentId: string;
1028
- }, ctx: {
1320
+ documentProtection: (_parent: unknown, args: DocumentArgs, ctx: {
1029
1321
  user?: {
1030
1322
  address: string;
1031
1323
  };
1032
1324
  }) => Promise<DocumentProtectionInfo>;
1033
1325
  };
1034
1326
  Mutation: {
1035
- setDocumentProtection: (_parent: unknown, args: {
1036
- documentId: string;
1327
+ setDocumentProtection: (_parent: unknown, args: DocumentArgs & {
1037
1328
  protected: boolean;
1038
1329
  }, ctx: {
1039
1330
  user?: {
1040
1331
  address: string;
1041
1332
  };
1042
1333
  }) => Promise<DocumentProtectionInfo>;
1043
- transferDocumentOwnership: (_parent: unknown, args: {
1044
- documentId: string;
1334
+ transferDocumentOwnership: (_parent: unknown, args: DocumentArgs & {
1045
1335
  newOwnerAddress: string;
1046
1336
  }, ctx: {
1047
1337
  user?: {
1048
1338
  address: string;
1049
1339
  };
1050
1340
  }) => Promise<DocumentProtectionInfo>;
1051
- grantDocumentPermission: (_parent: unknown, args: {
1052
- documentId: string;
1341
+ grantDocumentPermission: (_parent: unknown, args: DocumentArgs & {
1053
1342
  userAddress: string;
1054
1343
  permission: string;
1055
1344
  }, ctx: {
@@ -1064,16 +1353,14 @@ declare class AuthSubgraph extends BaseSubgraph {
1064
1353
  createdAt: Date;
1065
1354
  updatedAt: Date;
1066
1355
  }>;
1067
- revokeDocumentPermission: (_parent: unknown, args: {
1068
- documentId: string;
1356
+ revokeDocumentPermission: (_parent: unknown, args: DocumentArgs & {
1069
1357
  userAddress: string;
1070
1358
  }, ctx: {
1071
1359
  user?: {
1072
1360
  address: string;
1073
1361
  };
1074
1362
  }) => Promise<boolean>;
1075
- grantOperationPermission: (_parent: unknown, args: {
1076
- documentId: string;
1363
+ grantOperationPermission: (_parent: unknown, args: DocumentArgs & {
1077
1364
  operationType: string;
1078
1365
  userAddress: string;
1079
1366
  }, ctx: {
@@ -1081,8 +1368,7 @@ declare class AuthSubgraph extends BaseSubgraph {
1081
1368
  address: string;
1082
1369
  };
1083
1370
  }) => Promise<OperationUserPermission>;
1084
- revokeOperationPermission: (_parent: unknown, args: {
1085
- documentId: string;
1371
+ revokeOperationPermission: (_parent: unknown, args: DocumentArgs & {
1086
1372
  operationType: string;
1087
1373
  userAddress: string;
1088
1374
  }, ctx: {
@@ -1096,21 +1382,29 @@ declare class AuthSubgraph extends BaseSubgraph {
1096
1382
  }
1097
1383
  //#endregion
1098
1384
  //#region src/graphql/gateway/auth-middleware.d.ts
1099
- type AuthFetchMiddleware = (handler: FetchHandler) => FetchHandler;
1385
+ export type AuthFetchMiddleware = (handler: FetchHandler) => FetchHandler;
1100
1386
  /** Internal — only `graphql-manager.ts` should call this. */
1101
- declare function getAuthContext(request: globalThis.Request): AuthContext | undefined;
1102
- declare function createAuthFetchMiddleware(authService: AuthService): AuthFetchMiddleware;
1387
+ export declare function getAuthContext(request: globalThis.Request): AuthContext | undefined;
1388
+ export declare function createAuthFetchMiddleware(authService: AuthService): AuthFetchMiddleware;
1103
1389
  //#endregion
1104
1390
  //#region src/graphql/gateway/factory.d.ts
1105
- type GatewayAdapterType = "apollo" | "mercurius" | "stitching";
1106
- type HttpAdapterType = "express" | "fastify";
1107
- declare function createGatewayAdapter(type: GatewayAdapterType, logger: ILogger): Promise<IGatewayAdapter<Context>>;
1108
- type HttpAdapterSetup = {
1391
+ export type GatewayAdapterType = "apollo" | "mercurius" | "stitching";
1392
+ export type HttpAdapterType = "express" | "fastify";
1393
+ export declare function createGatewayAdapter(type: GatewayAdapterType, logger: ILogger): Promise<IGatewayAdapter<Context>>;
1394
+ export type HttpAdapterSetup = {
1109
1395
  adapter: IHttpAdapter;
1110
1396
  };
1111
- declare function createHttpAdapter(type: HttpAdapterType): Promise<HttpAdapterSetup>;
1397
+ export declare function createHttpAdapter(type: HttpAdapterType): Promise<HttpAdapterSetup>;
1112
1398
  //#endregion
1113
1399
  //#region src/graphql/gateway/drive-ownership-cache.d.ts
1400
+ /**
1401
+ * Where drives are looked up: the raw reactor, past the read gate. Ownership
1402
+ * is a storage fact that serves no content, so a policy that withholds a drive
1403
+ * from the host's key must not make the host deny holding it.
1404
+ */
1405
+ type DriveStore = {
1406
+ find(search: SearchFilter): Promise<PagedResults<PHDocument>>;
1407
+ };
1114
1408
  /**
1115
1409
  * In-memory record of which drives this switchboard instance owns.
1116
1410
  *
@@ -1122,11 +1416,17 @@ declare function createHttpAdapter(type: HttpAdapterType): Promise<HttpAdapterSe
1122
1416
  * 421 response.
1123
1417
  */
1124
1418
  declare class DriveOwnershipCache {
1125
- private readonly reactorClient;
1419
+ private readonly store;
1126
1420
  private readonly drives;
1127
- constructor(reactorClient: IReactorClient);
1421
+ constructor(store: DriveStore);
1128
1422
  init(): Promise<void>;
1129
1423
  has(driveId: string): boolean;
1424
+ /**
1425
+ * Whether this host holds the drive, asking the reactor on a miss: drives
1426
+ * also arrive by sync and by writes that bypass the create resolvers. A
1427
+ * positive answer is cached; a failure to ask throws.
1428
+ */
1429
+ holds(driveId: string): Promise<boolean>;
1130
1430
  add(driveId: string): void;
1131
1431
  remove(driveId: string): void;
1132
1432
  size(): number;
@@ -1136,33 +1436,49 @@ declare class DriveOwnershipCache {
1136
1436
  type RequireAuthFetchMiddleware = (handler: FetchHandler) => FetchHandler;
1137
1437
  //#endregion
1138
1438
  //#region src/graphql/graphql-manager.d.ts
1139
- type GraphqlManagerFeatureFlags = {
1439
+ export type GraphqlManagerFeatureFlags = {
1140
1440
  enableDocumentModelSubgraphs?: boolean;
1141
1441
  };
1142
- declare function createWsAuthHandlers(opts: {
1143
- authService?: AuthService; /** Whether anonymous callers are refused; read at call time, not at build time. */
1442
+ /** Dependencies and settings for a {@link GraphQLManager}. */
1443
+ export type GraphQLManagerOptions = {
1444
+ path: string;
1445
+ httpServer: http.Server;
1446
+ wsServer: WebSocketServer;
1447
+ reactorClient: IReactorClient;
1448
+ relationalDb: IRelationalDb;
1449
+ analyticsStore: IAnalyticsStore;
1450
+ syncManager: ISyncManager;
1451
+ logger: ILogger;
1452
+ httpAdapter: IHttpAdapter;
1453
+ gatewayAdapter: IGatewayAdapter<Context$1>;
1454
+ authService?: AuthService;
1455
+ documentPermissionService?: DocumentPermissionService;
1456
+ /** Defaults to every flag on. */
1457
+ featureFlags?: GraphqlManagerFeatureFlags;
1458
+ /** Defaults to 4001. */
1459
+ port?: number;
1460
+ authorizationService: IAuthorizationService;
1461
+ /** Resolvers dispatch to it for reactor-drive parents. */
1462
+ reactorDriveClient?: IDriveClient;
1463
+ syncServingGate?: SyncScopeGate;
1464
+ httpRoutes?: HttpRouteService;
1465
+ attachments?: IAttachmentClientProvider;
1466
+ inspection?: IReactorInspectionSource;
1467
+ /**
1468
+ * Where drive ownership is looked up, past the read gate. Defaults to the
1469
+ * reactor client, which withholds a drive the host's own key may not read.
1470
+ */
1471
+ driveStore?: DriveStore;
1472
+ };
1473
+ export declare function createWsAuthHandlers(opts: {
1474
+ authService?: AuthService;
1475
+ /** Whether anonymous callers are refused; read at call time, not at build time. */
1144
1476
  requireAuthenticatedCaller: () => boolean;
1145
1477
  logger: ILogger;
1146
1478
  buildContext: (connectionParams: Record<string, unknown>, user?: User) => Context$1;
1147
1479
  }): WsHandlers<Context$1>;
1148
- declare class GraphQLManager {
1480
+ export declare class GraphQLManager {
1149
1481
  #private;
1150
- private readonly path;
1151
- private readonly httpServer;
1152
- private readonly wsServer;
1153
- private readonly reactorClient;
1154
- private readonly relationalDb;
1155
- private readonly analyticsStore;
1156
- private readonly syncManager;
1157
- private readonly logger;
1158
- private readonly httpAdapter;
1159
- private readonly gatewayAdapter;
1160
- private readonly authService?;
1161
- private readonly documentPermissionService?;
1162
- private readonly featureFlags;
1163
- private readonly port;
1164
- private readonly syncServingGate?;
1165
- private readonly httpRoutes?;
1166
1482
  private initialized;
1167
1483
  private coreSubgraphsMap;
1168
1484
  private contextFields;
@@ -1174,8 +1490,8 @@ declare class GraphQLManager {
1174
1490
  private readonly subgraphHandlerCache;
1175
1491
  /** subgraphPath → the http adapter handle of its mounted route. */
1176
1492
  private readonly subgraphRouteHandles;
1177
- /** Handle of the currently mounted supergraph SSE route, if any. */
1178
- private sseRouteHandle;
1493
+ /** Mounted SSE routes, keyed by path: the supergraph's and each subgraph's. */
1494
+ private readonly sseRouteHandles;
1179
1495
  /**
1180
1496
  * Package name → the subgraph instances registered from it, keyed by
1181
1497
  * subgraph name. Tracks the package association so that removed packages
@@ -1189,7 +1505,25 @@ declare class GraphQLManager {
1189
1505
  */
1190
1506
  readonly reactorDriveClient?: IDriveClient;
1191
1507
  private readonly authorizationService;
1192
- 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, httpRoutes?: HttpRouteService | undefined);
1508
+ private readonly path;
1509
+ private readonly httpServer;
1510
+ private readonly wsServer;
1511
+ private readonly reactorClient;
1512
+ private readonly relationalDb;
1513
+ private readonly analyticsStore;
1514
+ private readonly syncManager;
1515
+ private readonly logger;
1516
+ private readonly httpAdapter;
1517
+ private readonly gatewayAdapter;
1518
+ private readonly authService?;
1519
+ private readonly documentPermissionService?;
1520
+ private readonly featureFlags;
1521
+ private readonly port;
1522
+ private readonly syncServingGate?;
1523
+ private readonly httpRoutes?;
1524
+ private readonly attachments?;
1525
+ private readonly inspection?;
1526
+ constructor(options: GraphQLManagerOptions);
1193
1527
  init(coreSubgraphs: SubgraphClass$1[], authMiddleware?: AuthFetchMiddleware, requireAuthMiddleware?: RequireAuthFetchMiddleware): Promise<void>;
1194
1528
  /**
1195
1529
  * Regenerate document model subgraphs when models are dynamically loaded.
@@ -1255,100 +1589,72 @@ declare class GraphQLManager {
1255
1589
  shutdown(): Promise<void>;
1256
1590
  }
1257
1591
  //#endregion
1592
+ //#region src/graphql/inspection/resolvers.d.ts
1593
+ /** How the subgraph decides for one request's caller. */
1594
+ interface InspectionCallerGate {
1595
+ /** One of the host's listed admins, whatever the policy. */
1596
+ isOperator(ctx: Context): boolean;
1597
+ /** The reactor client, reading as the caller. */
1598
+ readerFor(ctx: Context): InspectorDocumentReader;
1599
+ /** The host's own read check on one document; throws when refused. */
1600
+ assertCanRead(identifier: string, ctx: Context): Promise<string>;
1601
+ /** The host's own read check over a listing. */
1602
+ readableIds(ids: readonly string[], ctx: Context): Promise<Set<string>>;
1603
+ /** The document's id and the scopes the caller is served, or undefined. */
1604
+ servedDocument(identifier: string, branch: string | undefined, ctx: Context): Promise<{
1605
+ id: string;
1606
+ scopes: ReadonlySet<string>;
1607
+ } | undefined>;
1608
+ }
1609
+ type GqlOf<T, K extends keyof T> = T[K] extends {
1610
+ readonly gql: infer G extends string;
1611
+ } ? G : never;
1612
+ /** Exactly the GraphQL fields of the read rows of both op tables. */
1613
+ type InspectionReadField = GqlOf<typeof INSPECTOR_OPS, InspectorReadOpKey> | GqlOf<typeof SYNC_INSPECTION_OPS, SyncInspectionReadOpKey>;
1614
+ /** The read half of the inspection surface; no lever has a field here. */
1615
+ export declare function createInspectionResolvers(source: IReactorInspectionSource, sync: {
1616
+ list(): Remote[];
1617
+ }, gate: InspectionCallerGate): Record<string, unknown>;
1618
+ //#endregion
1619
+ //#region src/graphql/inspection/schema.d.ts
1620
+ export declare const inspectionTypeDefs: import("graphql").DocumentNode;
1621
+ //#endregion
1622
+ //#region src/graphql/inspection/subgraph.d.ts
1623
+ export declare function isListedAdmin(config: AuthorizationConfig, address: string | undefined): boolean;
1624
+ /** The read half of the reactor's inspection surface. */
1625
+ export declare class InspectionSubgraph extends BaseSubgraph {
1626
+ name: string;
1627
+ hasSubscriptions: boolean;
1628
+ typeDefs: DocumentNode;
1629
+ resolvers: Record<string, any>;
1630
+ constructor(args: SubgraphArgs);
1631
+ private callerGate;
1632
+ private readerFor;
1633
+ private servedDocument;
1634
+ }
1635
+ //#endregion
1258
1636
  //#region src/services/package-storage.d.ts
1259
- interface InstalledPackageInfo {
1637
+ export interface InstalledPackageInfo {
1260
1638
  name: string;
1261
1639
  version?: string;
1262
1640
  registryUrl: string;
1263
1641
  installedAt: Date;
1264
1642
  documentTypes: string[];
1265
1643
  }
1266
- interface IPackageStorage {
1267
- get(name: string): Promise<InstalledPackageInfo | undefined>;
1268
- getAll(): Promise<InstalledPackageInfo[]>;
1269
- set(name: string, info: InstalledPackageInfo): Promise<void>;
1270
- delete(name: string): Promise<boolean>;
1271
- has(name: string): Promise<boolean>;
1272
- }
1273
- declare class InMemoryPackageStorage implements IPackageStorage {
1274
- private packages;
1275
- get(name: string): Promise<InstalledPackageInfo | undefined>;
1276
- getAll(): Promise<InstalledPackageInfo[]>;
1277
- set(name: string, info: InstalledPackageInfo): Promise<void>;
1278
- delete(name: string): Promise<boolean>;
1279
- has(name: string): Promise<boolean>;
1280
- }
1281
- //#endregion
1282
- //#region src/services/canonical-document-id.d.ts
1283
- /**
1284
- * Raised when a caller-supplied identifier cannot be resolved to a canonical
1285
- * document id. Carries no detail on purpose: resolution failures must not act
1286
- * as a document-existence oracle, so consumers map this to their generic
1287
- * fail-closed response.
1288
- */
1289
- declare class CanonicalDocumentIdResolutionError extends Error {
1290
- constructor();
1291
- }
1292
- type CanonicalDocumentIdResolver = (identifier: string) => Promise<CanonicalDocumentId>;
1293
- /**
1294
- * The sanctioned string-to-CanonicalDocumentId cast: both the GraphQL layer
1295
- * and server routes must resolve caller identifiers through this helper so
1296
- * decision and data layers always agree on the subject document.
1297
- */
1298
- declare function createCanonicalDocumentIdResolver(client: Pick<IReactorClient, "resolveIdOrSlug">): CanonicalDocumentIdResolver;
1299
- //#endregion
1300
- //#region src/services/attachment-access.service.d.ts
1301
- /**
1302
- * Whether the active Reactor composition hosts the attachment-reference
1303
- * projection. Reported by the client initializer: the built-in stack always
1304
- * registers it, while a caller-provided Reactor may lack the live
1305
- * registration capability. Consumers of reference evidence must fail closed
1306
- * when it is unavailable.
1307
- */
1308
- type AttachmentReferenceProjectionCapability = {
1309
- status: "available";
1310
- } | {
1311
- status: "unavailable";
1312
- reason: "live-read-model-registration-unsupported" | "in-process-reactor-module-unavailable" | "initializer-did-not-report";
1313
- };
1314
- /**
1315
- * Outcome of an attachment read authorization. `denied` intentionally covers
1316
- * both an unreadable document and an absent document/ref relationship so the
1317
- * route layer cannot leak which check failed. `projection-unavailable` means
1318
- * the reference index is not being maintained in this composition; it is
1319
- * returned before any document-authorization or reference lookup runs.
1320
- */
1321
- type AttachmentAccessResult = {
1322
- kind: "allowed";
1323
- documentId: CanonicalDocumentId;
1324
- ref: AttachmentRef;
1325
- } | {
1326
- kind: "denied";
1327
- } | {
1328
- kind: "projection-unavailable";
1329
- };
1330
- interface AttachmentAccessRequest {
1331
- documentId: string;
1332
- attachmentRef: string;
1333
- userAddress?: string;
1334
- }
1335
- interface IAttachmentAccessService {
1336
- canReadAttachment(request: AttachmentAccessRequest): Promise<AttachmentAccessResult>;
1337
- }
1338
- /**
1339
- * Composes document authorization with the projected document/ref
1340
- * relationship. Order is fixed: validate ref, resolve the canonical document
1341
- * id, check `canRead`, then check the reference index. A denied document
1342
- * never reaches the reference reader, and the facade never touches
1343
- * attachment metadata, storage backends, or presigners.
1344
- */
1345
- declare class AttachmentAccessService implements IAttachmentAccessService {
1346
- private readonly resolveCanonicalId;
1347
- private readonly authorization;
1348
- private readonly references;
1349
- private readonly projection;
1350
- constructor(resolveCanonicalId: CanonicalDocumentIdResolver, authorization: IAuthorizationService, references: IAttachmentReferenceReader, projection: AttachmentReferenceProjectionCapability);
1351
- canReadAttachment(request: AttachmentAccessRequest): Promise<AttachmentAccessResult>;
1644
+ export interface IPackageStorage {
1645
+ get(name: string): Promise<InstalledPackageInfo | undefined>;
1646
+ getAll(): Promise<InstalledPackageInfo[]>;
1647
+ set(name: string, info: InstalledPackageInfo): Promise<void>;
1648
+ delete(name: string): Promise<boolean>;
1649
+ has(name: string): Promise<boolean>;
1650
+ }
1651
+ export declare class InMemoryPackageStorage implements IPackageStorage {
1652
+ private packages;
1653
+ get(name: string): Promise<InstalledPackageInfo | undefined>;
1654
+ getAll(): Promise<InstalledPackageInfo[]>;
1655
+ set(name: string, info: InstalledPackageInfo): Promise<void>;
1656
+ delete(name: string): Promise<boolean>;
1657
+ has(name: string): Promise<boolean>;
1352
1658
  }
1353
1659
  //#endregion
1354
1660
  //#region src/types.d.ts
@@ -1356,24 +1662,45 @@ declare class AttachmentAccessService implements IAttachmentAccessService {
1356
1662
  * Module hosts pass to processor factories: the reactor-level module plus the
1357
1663
  * attachment client, which shared and reactor cannot name.
1358
1664
  */
1359
- interface IProcessorHostModule extends IReactorProcessorHostModuleBase {
1665
+ export interface IProcessorHostModule extends IReactorProcessorHostModuleBase {
1360
1666
  attachments: IAttachmentClient;
1361
1667
  }
1362
1668
  /** @deprecated Use `IProcessorHostModule`. */
1363
- type IReactorProcessorHostModule = IProcessorHostModule;
1364
- type ReadinessGate = {
1669
+ export type IReactorProcessorHostModule = IProcessorHostModule;
1670
+ export type ReadinessGate = {
1365
1671
  isReady: () => boolean;
1366
1672
  markReady: () => void;
1367
1673
  };
1368
- type API = {
1369
- httpAdapter: IHttpAdapter; /** Hands each package a namespaced slice of the HTTP surface. */
1674
+ export type API = {
1675
+ httpAdapter: IHttpAdapter;
1676
+ /** Hands each package a namespaced slice of the HTTP surface. */
1370
1677
  httpRoutes: HttpRouteService;
1371
1678
  graphqlManager: GraphQLManager$1;
1372
1679
  packages: IPackageManager;
1373
1680
  attachments: AttachmentBuildResult;
1374
- attachmentReferenceIndex: AttachmentReferenceIndexBuildResult; /** Document-authorized attachment read decisions; see AttachmentAccessService. */
1681
+ attachmentReferenceIndex: AttachmentReferenceIndexBuildResult;
1682
+ /** Document-authorized attachment read decisions; see AttachmentAccessService. */
1375
1683
  attachmentAccess: IAttachmentAccessService;
1684
+ /** Caller-bound attachment clients for subgraphs the host constructs itself. */
1685
+ attachmentClientProvider: IAttachmentClientProvider;
1376
1686
  authService: AuthService | undefined;
1687
+ /**
1688
+ * Whether this deployment refuses anonymous callers
1689
+ * (`REQUIRE_AUTHENTICATED_CALLER`). Carried here because routes mounted
1690
+ * straight on the HTTP adapter never pass the GraphQL fetch chain, so its
1691
+ * require-auth middleware cannot reach them: a host-composed route reads the
1692
+ * resolved value from the API rather than the environment, so one variable
1693
+ * cannot end up half applied.
1694
+ */
1695
+ requireAuthenticatedCaller: boolean;
1696
+ /** The service the subgraphs decide with, for a component the host composes
1697
+ * after boot: it must authorize with this one, not one of its own. */
1698
+ authorizationService: IAuthorizationService;
1699
+ /** The read-model relational store, for the same host-composed component:
1700
+ * its tables belong in this database and nothing else hands one over. */
1701
+ relationalDb: IRelationalDb$1;
1702
+ /** Present when the host serves inspection; `facts` takes late-bound facts. */
1703
+ inspection?: IReactorInspectionSource;
1377
1704
  /**
1378
1705
  * Releases resources owned by the API: shuts down the GraphQL gateway,
1379
1706
  * closes WebSocket and HTTP servers, destroys knex pools, and closes any
@@ -1383,25 +1710,82 @@ type API = {
1383
1710
  */
1384
1711
  dispose: () => Promise<void>;
1385
1712
  };
1386
- type ReactorModule = {
1713
+ export type ReactorModule = {
1387
1714
  analyticsStore: IAnalyticsStore;
1388
1715
  relationalDb: IRelationalDb$1;
1389
1716
  };
1390
1717
  /** @deprecated Use `ProcessorFactory`. */
1391
- type ProcessorDriveFactory = ProcessorFactory;
1718
+ export type ProcessorDriveFactory = ProcessorFactory;
1392
1719
  /** Builds a per-drive factory from the host module (e.g. vetra `processorFactory`). */
1393
- type ProcessorFactoryBuilder = ProcessorFactoryBuilder$1<IProcessorHostModule>;
1720
+ export type ProcessorFactoryBuilder = ProcessorFactoryBuilder$1<IProcessorHostModule>;
1394
1721
  /** Multiple initializers per package name (e.g. Switchboard `processors` option). */
1395
- type Processor = ProcessorFactoryBuilder[];
1722
+ export type Processor = ProcessorFactoryBuilder[];
1723
+ //#endregion
1724
+ //#region src/packages/registry-cache.d.ts
1725
+ /** Entry files a registry package's node build is served from, CDN-relative. */
1726
+ declare const PACKAGE_ENTRIES: {
1727
+ readonly documentModels: "node/document-models/index.mjs";
1728
+ readonly subgraphs: "node/subgraphs/index.mjs";
1729
+ readonly processors: "node/processors/index.mjs";
1730
+ };
1731
+ type PackageEntryKind = keyof typeof PACKAGE_ENTRIES;
1732
+ type CachedRegistryPackage = {
1733
+ name: string;
1734
+ version: string;
1735
+ dir: string;
1736
+ /** Absolute entry files inside `dir`, for the entries the package serves. */
1737
+ entries: Partial<Record<PackageEntryKind, string>>;
1738
+ source: "cache" | "download";
1739
+ /** External packages the package manifest lists, name -> version. */
1740
+ externalDependencies: Record<string, string>;
1741
+ /** The external packages that resolve from neither the project nor reactor-api. */
1742
+ missingExternalDependencies: string[];
1743
+ };
1744
+ type RegistryPackageCacheOptions = {
1745
+ registryUrl: string;
1746
+ cacheDir?: string;
1747
+ logger?: ILogger;
1748
+ fetchTimeoutMs?: number;
1749
+ };
1750
+ declare class RegistryPackageCache {
1751
+ readonly cacheDir: string;
1752
+ private readonly registryUrl;
1753
+ private readonly logger;
1754
+ private readonly fetchTimeoutMs;
1755
+ private readonly inFlight;
1756
+ private readonly verified;
1757
+ constructor(options: RegistryPackageCacheOptions);
1758
+ /** Base URL every file of `name@version` is fetched under. */
1759
+ baseUrl(name: string, version: string): string;
1760
+ entryDir(name: string, version: string): string;
1761
+ /** Complete cached versions of `name`, newest-agnostic. */
1762
+ cachedVersions(name: string): Promise<string[]>;
1763
+ ensurePackage(name: string, version: string): Promise<CachedRegistryPackage>;
1764
+ private resolveEntry;
1765
+ /** The manifest when every listed file is present and hashes to it. */
1766
+ private verify;
1767
+ private discard;
1768
+ private fill;
1769
+ private download;
1770
+ private dependenciesOf;
1771
+ private fetchBounded;
1772
+ private outsideUrl;
1773
+ /** Whether `specifier` resolves from the project or from reactor-api. */
1774
+ resolvesForCachedPackages(specifier: string, pkg: string): boolean;
1775
+ private linkBareImports;
1776
+ }
1396
1777
  //#endregion
1397
1778
  //#region src/packages/http-loader.d.ts
1398
- interface HttpPackageLoaderOptions {
1779
+ export interface HttpPackageLoaderOptions {
1399
1780
  registryUrl: string;
1781
+ /** Where document-model graphs are cached; `<cwd>/.ph/registry-packages` by default. */
1782
+ cacheDir?: string;
1400
1783
  }
1401
- interface HttpPackageLoaderLogger {
1784
+ export interface HttpPackageLoaderLogger {
1402
1785
  info: (msg: string) => void;
1403
1786
  error: (msg: string, err: unknown) => void;
1404
1787
  }
1788
+ export declare function piecesBaseUrl(registryUrl: string, packageName: string, version: string): string;
1405
1789
  type SubgraphsExport = Record<string, SubgraphClass$1>;
1406
1790
  /**
1407
1791
  * Extract subgraph classes from the imported subgraphs/index.mjs module shape.
@@ -1409,11 +1793,13 @@ type SubgraphsExport = Record<string, SubgraphClass$1>;
1409
1793
  * The published bundle uses `export * as Foo from "./file"`, which Node turns
1410
1794
  * into `{ Foo: <namespace>, … }`. The inner namespace's keys come from the
1411
1795
  * source file's named exports — typically `Subgraph` / `default` / the class
1412
- * name itself — so the shape varies. Flatten one level and keep callables.
1796
+ * name itself — so the shape varies.
1413
1797
  *
1414
- * Exported for direct unit testing against synthetic module shapes.
1798
+ * Delegates to the unified acceptance rule every package loader shares
1799
+ * (`extractSubgraphs`), kept as an export because it is part of the package's
1800
+ * public API and is unit-tested directly against synthetic module shapes.
1415
1801
  */
1416
- declare function extractSubgraphsFromModule(module: Record<string, SubgraphsExport>): SubgraphClass$1[];
1802
+ export declare function extractSubgraphsFromModule(module: Record<string, SubgraphsExport>): SubgraphClass$1[];
1417
1803
  /**
1418
1804
  * Loads document models, subgraphs, and processors from an HTTP registry.
1419
1805
  * Uses Node.js module loader hooks to import directly from HTTP URLs.
@@ -1422,11 +1808,14 @@ declare function extractSubgraphsFromModule(module: Record<string, SubgraphsExpo
1422
1808
  * import { register } from "node:module";
1423
1809
  * register("@powerhousedao/reactor-api/https-hooks", import.meta.url);
1424
1810
  */
1425
- declare class HttpPackageLoader implements IPackageLoader {
1811
+ export declare class HttpPackageLoader implements IPackageLoader {
1426
1812
  private readonly registryUrl;
1427
1813
  private readonly logger;
1428
1814
  readonly name = "HttpPackageLoader";
1429
1815
  readonly documentModelLoader: HttpDocumentModelLoader;
1816
+ readonly cache: RegistryPackageCache;
1817
+ private readonly versions;
1818
+ private readonly reportedExternal;
1430
1819
  constructor(options: HttpPackageLoaderOptions);
1431
1820
  /**
1432
1821
  * Load document models from a package in the HTTP registry.
@@ -1436,33 +1825,43 @@ declare class HttpPackageLoader implements IPackageLoader {
1436
1825
  * Parse a package specifier like "@scope/pkg@tag" into name and optional tag.
1437
1826
  */
1438
1827
  private parsePackageSpec;
1828
+ resolveVersion(packageSpec: string): Promise<string | undefined>;
1829
+ private lookUpVersion;
1830
+ /** Caches the pinned version of `packageSpec` on disk. */
1831
+ cachePackage(packageSpec: string): Promise<CachedRegistryPackage>;
1832
+ /** One entry module of the package, plus the cached file it came from. */
1833
+ importEntry(packageSpec: string, kind: PackageEntryKind): Promise<{
1834
+ module: Record<string, unknown>;
1835
+ filePath?: string;
1836
+ }>;
1837
+ private assertExternalDependencies;
1838
+ importDocumentModels(packageSpec: string): Promise<{
1839
+ module: Record<string, unknown>;
1840
+ filePath?: string;
1841
+ }>;
1439
1842
  loadDocumentModels(packageSpec: string): Promise<DocumentModelModule[]>;
1440
1843
  loadUpgradeManifests(packageSpec: string): Promise<UpgradeManifest<readonly number[]>[]>;
1441
1844
  loadSubgraphs(packageSpec: string): Promise<SubgraphClass$1[]>;
1442
1845
  loadProcessors(packageSpec: string): Promise<ProcessorFactoryBuilder | null>;
1846
+ loadPieces(packageSpec: string): Promise<PackagePieceEntry[]>;
1443
1847
  /**
1444
1848
  * Load document models from multiple packages.
1445
1849
  * Continues loading even if some packages fail.
1446
1850
  */
1447
1851
  loadPackages(packageNames: string[], logger?: HttpPackageLoaderLogger): Promise<DocumentModelModule[]>;
1448
- private isValidPackageName;
1852
+ packageVersion(packageSpec: string): Promise<string | undefined>;
1449
1853
  }
1450
- /**
1451
- * Returns live modules (host-only sources): dynamically loaded models are
1452
- * registered on the host registry but never reach executor worker threads.
1453
- * Making them worker-executable means returning an importable source here
1454
- * (the CDN URL as a package specifier, given process-wide https hooks).
1455
- */
1456
- declare class HttpDocumentModelLoader implements IDocumentModelLoader {
1854
+ export declare class HttpDocumentModelLoader implements IDocumentModelLoader {
1457
1855
  private readonly loader;
1458
1856
  private readonly logger;
1459
1857
  private readonly documentTypeCache;
1460
1858
  private readonly packageModulesCache;
1859
+ private readonly packageFileCache;
1461
1860
  private onModelLoaded?;
1462
1861
  constructor(loader: HttpPackageLoader);
1463
1862
  setOnModelLoaded(callback: (model: DocumentModelModule) => void): void;
1464
1863
  clearCache(): void;
1465
- load(documentType: string): Promise<DocumentModelModule>;
1864
+ load(documentType: string): Promise<DocumentModelSource>;
1466
1865
  private findPackageByDocumentType;
1467
1866
  getLoadedPackages(): string[];
1468
1867
  getPackageModules(packageName: string): DocumentModelModule[] | undefined;
@@ -1470,18 +1869,18 @@ declare class HttpDocumentModelLoader implements IDocumentModelLoader {
1470
1869
  }
1471
1870
  //#endregion
1472
1871
  //#region src/services/package-management.service.d.ts
1473
- interface InstallPackageResult {
1872
+ export interface InstallPackageResult {
1474
1873
  package: InstalledPackageInfo;
1475
1874
  documentModelsLoaded: number;
1476
1875
  }
1477
- interface PackageManagementServiceOptions {
1876
+ export interface PackageManagementServiceOptions {
1478
1877
  storage?: IPackageStorage;
1479
1878
  defaultRegistryUrl?: string;
1480
1879
  httpLoader?: HttpPackageLoader;
1481
1880
  documentModelRegistry?: IDocumentModelRegistry;
1482
1881
  packageManager?: IPackageManager;
1483
1882
  }
1484
- declare class PackageManagementService {
1883
+ export declare class PackageManagementService {
1485
1884
  private readonly storage;
1486
1885
  private readonly defaultRegistryUrl?;
1487
1886
  private readonly httpLoader?;
@@ -1504,13 +1903,13 @@ declare class PackageManagementService {
1504
1903
  interface PackagesSubgraphArgs extends SubgraphArgs {
1505
1904
  packageManagementService: PackageManagementService;
1506
1905
  }
1507
- declare class PackagesSubgraph extends BaseSubgraph {
1906
+ export declare class PackagesSubgraph extends BaseSubgraph {
1508
1907
  private logger;
1509
1908
  private packageManagementService;
1510
1909
  constructor(args: PackagesSubgraphArgs);
1511
1910
  name: string;
1512
1911
  hasSubscriptions: boolean;
1513
- typeDefs: graphql.DocumentNode;
1912
+ typeDefs: import("graphql").DocumentNode;
1514
1913
  resolvers: {
1515
1914
  Query: {
1516
1915
  Packages: () => {};
@@ -1566,7 +1965,7 @@ declare class PackagesSubgraph extends BaseSubgraph {
1566
1965
  * `{ document, variables, headers? }` with `variables` and `headers`
1567
1966
  * already JSON-stringified.
1568
1967
  */
1569
- interface ExplorerUrlState {
1968
+ export interface ExplorerUrlState {
1570
1969
  /** The GraphQL query to prefill in GraphiQL. */
1571
1970
  query: string;
1572
1971
  /** JSON-stringified variables, as stored in the payload. */
@@ -1578,24 +1977,24 @@ interface ExplorerUrlState {
1578
1977
  * Decodes an `explorerURLState` URL parameter. Returns `null` for anything
1579
1978
  * that is not a valid lz-compressed payload with a non-empty `document`.
1580
1979
  */
1581
- declare function decodeExplorerUrlState(encoded: string): ExplorerUrlState | null;
1582
- declare function renderGraphqlPlayground(url: string, query?: string, headers?: Record<string, string>, variables?: string): string;
1980
+ export declare function decodeExplorerUrlState(encoded: string): ExplorerUrlState | null;
1981
+ export declare function renderGraphqlPlayground(url: string, query?: string, headers?: Record<string, string>, variables?: string): string;
1583
1982
  //#endregion
1584
1983
  //#region src/graphql/reactor/gen/graphql.d.ts
1585
- type Maybe<T> = T | null | undefined;
1586
- type InputMaybe<T> = T | null | undefined;
1587
- type Exact<T extends {
1984
+ export type Maybe<T> = T | null | undefined;
1985
+ export type InputMaybe<T> = T | null | undefined;
1986
+ export type Exact<T extends {
1588
1987
  [key: string]: unknown;
1589
- }> = { [K in keyof T]: T[K] };
1590
- type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
1591
- type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
1592
- type MakeEmpty<T extends {
1988
+ }> = { [K in keyof T]: T[K]; };
1989
+ export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]>; };
1990
+ export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]>; };
1991
+ export type MakeEmpty<T extends {
1593
1992
  [key: string]: unknown;
1594
- }, K extends keyof T> = { [_ in K]?: never };
1595
- type Incremental<T> = T | { [P in keyof T]?: P extends " $fragmentName" | "__typename" ? T[P] : never };
1596
- type RequireFields<T, K extends keyof T> = Omit<T, K> & { [P in K]-?: NonNullable<T[P]> };
1993
+ }, K extends keyof T> = { [_ in K]?: never; };
1994
+ export type Incremental<T> = T | { [P in keyof T]?: P extends " $fragmentName" | "__typename" ? T[P] : never; };
1995
+ export type RequireFields<T, K extends keyof T> = Omit<T, K> & { [P in K]-?: NonNullable<T[P]>; };
1597
1996
  /** All built-in and custom scalars, mapped to their actual values */
1598
- type Scalars = {
1997
+ export type Scalars = {
1599
1998
  ID: {
1600
1999
  input: string;
1601
2000
  output: string;
@@ -1625,7 +2024,7 @@ type Scalars = {
1625
2024
  output: NonNullable<unknown>;
1626
2025
  };
1627
2026
  };
1628
- type Action = {
2027
+ export type Action = {
1629
2028
  readonly context?: Maybe<ActionContext>;
1630
2029
  readonly id: Scalars["String"]["output"];
1631
2030
  readonly input: Scalars["JSONObject"]["output"];
@@ -1640,12 +2039,12 @@ type Action = {
1640
2039
  * filled-in form carries that form's input. Omitting it predicts the verdict an
1641
2040
  * empty input earns, not the verdict the filled-in form will get.
1642
2041
  */
1643
- type ActionCandidateInput = {
2042
+ export type ActionCandidateInput = {
1644
2043
  readonly input?: InputMaybe<Scalars["JSONObject"]["input"]>;
1645
2044
  readonly scope: Scalars["String"]["input"];
1646
2045
  readonly type: Scalars["String"]["input"];
1647
2046
  };
1648
- type ActionContext = {
2047
+ export type ActionContext = {
1649
2048
  readonly signer?: Maybe<ReactorSigner>;
1650
2049
  };
1651
2050
  /**
@@ -1660,9 +2059,12 @@ type ActionContext = {
1660
2059
  * against. They are recorded rather than enforced; a signature is verified from
1661
2060
  * the params carried in its own tuple, which do not include them.
1662
2061
  */
1663
- type ActionContextInput = {
1664
- /** 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. */
1665
- readonly prevOpHash?: InputMaybe<Scalars["String"]["input"]>; /** The index of the last operation in the scope the action applies to. */
2062
+ export type ActionContextInput = {
2063
+ /** Covers replay of an operation that would otherwise be a no-op. */
2064
+ readonly nonce?: InputMaybe<Scalars["String"]["input"]>;
2065
+ /** The hash of the state the action applies to. */
2066
+ readonly prevOpHash?: InputMaybe<Scalars["String"]["input"]>;
2067
+ /** The index of the last operation in the scope the action applies to. */
1666
2068
  readonly prevOpIndex?: InputMaybe<Scalars["Int"]["input"]>;
1667
2069
  readonly signer?: InputMaybe<ReactorSignerInput>;
1668
2070
  };
@@ -1670,7 +2072,7 @@ type ActionContextInput = {
1670
2072
  * One candidate's predicted verdict. `reason` carries the refusal a DENY is
1671
2073
  * recorded with, and is null on an ALLOW.
1672
2074
  */
1673
- type ActionEvaluation = {
2075
+ export type ActionEvaluation = {
1674
2076
  readonly decision: AuthDecision;
1675
2077
  readonly reason?: Maybe<Scalars["String"]["output"]>;
1676
2078
  };
@@ -1683,14 +2085,14 @@ type ActionEvaluation = {
1683
2085
  * another. Over no candidates every aggregate is false: nothing is allowed and
1684
2086
  * nothing is denied.
1685
2087
  */
1686
- type ActionEvaluations = {
2088
+ export type ActionEvaluations = {
1687
2089
  readonly allAllowed: Scalars["Boolean"]["output"];
1688
2090
  readonly allDenied: Scalars["Boolean"]["output"];
1689
2091
  readonly anyAllowed: Scalars["Boolean"]["output"];
1690
2092
  readonly anyDenied: Scalars["Boolean"]["output"];
1691
2093
  readonly evaluations: ReadonlyArray<ActionEvaluation>;
1692
2094
  };
1693
- type ActionInput = {
2095
+ export type ActionInput = {
1694
2096
  readonly context?: InputMaybe<ActionContextInput>;
1695
2097
  readonly id: Scalars["String"]["input"];
1696
2098
  readonly input: Scalars["JSONObject"]["input"];
@@ -1698,17 +2100,56 @@ type ActionInput = {
1698
2100
  readonly timestampUtcMs: Scalars["String"]["input"];
1699
2101
  readonly type: Scalars["String"]["input"];
1700
2102
  };
1701
- declare enum AuthDecision {
2103
+ export declare enum AuthDecision {
1702
2104
  Allow = "ALLOW",
1703
2105
  Deny = "DENY"
1704
2106
  }
1705
- type ChannelMeta = {
2107
+ /**
2108
+ * The outcome of a batch mutation, one entry per job the request named. The wire
2109
+ * shape of `BatchExecutionResult` (`{ jobs }`), keyed on each entry by the plan
2110
+ * key rather than by position so the client can rebuild the record. The batch is
2111
+ * not atomic: each job commits on its own and a failed job releases its
2112
+ * dependents, so each entry's status says what happened to that job, and
2113
+ * re-submitting re-applies the jobs that succeeded.
2114
+ */
2115
+ export type BatchExecutionResult = {
2116
+ readonly jobs: ReadonlyArray<BatchJobResult>;
2117
+ };
2118
+ /**
2119
+ * One job's outcome within a batch, pairing the plan key the caller gave with the
2120
+ * job that applied it. Mirrors one entry of the `Record<string, JobInfo>` that
2121
+ * `IReactor.executeBatch` returns (packages/reactor/src/core/types.ts).
2122
+ */
2123
+ export type BatchJobResult = {
2124
+ readonly job: JobInfo;
2125
+ readonly key: Scalars["String"]["output"];
2126
+ };
2127
+ export type ChannelMeta = {
1706
2128
  readonly id: Scalars["String"]["output"];
1707
2129
  };
1708
- type ChannelMetaInput = {
2130
+ export type ChannelMetaInput = {
1709
2131
  readonly id: Scalars["String"]["input"];
1710
2132
  };
1711
- type DeadLetterInfo = {
2133
+ export type ConsistencyCoordinate = {
2134
+ readonly branch: Scalars["String"]["output"];
2135
+ readonly documentId: Scalars["String"]["output"];
2136
+ readonly operationIndex: Scalars["Int"]["output"];
2137
+ readonly scope: Scalars["String"]["output"];
2138
+ };
2139
+ /**
2140
+ * The write positions a job reached, for read-after-write. Only meaningful once
2141
+ * the job has completed.
2142
+ */
2143
+ export type ConsistencyToken = {
2144
+ readonly coordinates: ReadonlyArray<ConsistencyCoordinate>;
2145
+ readonly createdAtUtcIso: Scalars["String"]["output"];
2146
+ readonly version: Scalars["Int"]["output"];
2147
+ };
2148
+ export type CreateDefaults = {
2149
+ readonly protocolVersions: Scalars["JSONObject"]["output"];
2150
+ readonly signaturePolicy: Scalars["String"]["output"];
2151
+ };
2152
+ export type DeadLetterInfo = {
1712
2153
  readonly branch: Scalars["String"]["output"];
1713
2154
  readonly documentId: Scalars["String"]["output"];
1714
2155
  readonly error: Scalars["String"]["output"];
@@ -1722,16 +2163,16 @@ type DeadLetterInfo = {
1722
2163
  readonly operationCount: Scalars["Int"]["output"];
1723
2164
  readonly scopes: ReadonlyArray<Scalars["String"]["output"]>;
1724
2165
  };
1725
- type DocumentChangeContext = {
2166
+ export type DocumentChangeContext = {
1726
2167
  readonly childId?: Maybe<Scalars["String"]["output"]>;
1727
2168
  readonly parentId?: Maybe<Scalars["String"]["output"]>;
1728
2169
  };
1729
- type DocumentChangeEvent = {
2170
+ export type DocumentChangeEvent = {
1730
2171
  readonly context?: Maybe<DocumentChangeContext>;
1731
2172
  readonly documents: ReadonlyArray<PhDocument>;
1732
2173
  readonly type: DocumentChangeType;
1733
2174
  };
1734
- declare enum DocumentChangeType {
2175
+ export declare enum DocumentChangeType {
1735
2176
  ChildAdded = "CHILD_ADDED",
1736
2177
  ChildRemoved = "CHILD_REMOVED",
1737
2178
  Created = "CREATED",
@@ -1740,21 +2181,20 @@ declare enum DocumentChangeType {
1740
2181
  ParentRemoved = "PARENT_REMOVED",
1741
2182
  Updated = "UPDATED"
1742
2183
  }
1743
- type DocumentModelGlobalState = {
2184
+ export type DocumentModelGlobalState = {
1744
2185
  readonly id: Scalars["String"]["output"];
1745
2186
  readonly name: Scalars["String"]["output"];
1746
2187
  readonly namespace?: Maybe<Scalars["String"]["output"]>;
1747
2188
  readonly specification: Scalars["JSONObject"]["output"];
1748
2189
  readonly version?: Maybe<Scalars["String"]["output"]>;
1749
2190
  };
1750
- type DocumentModelResultPage = {
2191
+ export type DocumentModelResultPage = {
1751
2192
  readonly cursor?: Maybe<Scalars["String"]["output"]>;
1752
2193
  readonly hasNextPage: Scalars["Boolean"]["output"];
1753
2194
  readonly hasPreviousPage: Scalars["Boolean"]["output"];
1754
2195
  readonly items: ReadonlyArray<DocumentModelGlobalState>;
1755
- readonly totalCount: Scalars["Int"]["output"];
1756
2196
  };
1757
- type DocumentOperationsFilterInput = {
2197
+ export type DocumentOperationsFilterInput = {
1758
2198
  readonly actionTypes?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
1759
2199
  readonly branch?: InputMaybe<Scalars["String"]["input"]>;
1760
2200
  readonly scopes?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
@@ -1762,21 +2202,75 @@ type DocumentOperationsFilterInput = {
1762
2202
  readonly timestampFrom?: InputMaybe<Scalars["String"]["input"]>;
1763
2203
  readonly timestampTo?: InputMaybe<Scalars["String"]["input"]>;
1764
2204
  };
1765
- type DocumentWithChildren = {
2205
+ export type DocumentRelationship = {
2206
+ readonly createdAt: Scalars["DateTime"]["output"];
2207
+ readonly metadata?: Maybe<Scalars["JSONObject"]["output"]>;
2208
+ readonly relationshipType: Scalars["String"]["output"];
2209
+ readonly sourceId: Scalars["String"]["output"];
2210
+ readonly targetId: Scalars["String"]["output"];
2211
+ readonly updatedAt: Scalars["DateTime"]["output"];
2212
+ };
2213
+ export type DocumentRelationshipResultPage = {
2214
+ readonly cursor?: Maybe<Scalars["String"]["output"]>;
2215
+ readonly hasNextPage: Scalars["Boolean"]["output"];
2216
+ readonly hasPreviousPage: Scalars["Boolean"]["output"];
2217
+ readonly items: ReadonlyArray<DocumentRelationship>;
2218
+ };
2219
+ export type DocumentWithChildren = {
1766
2220
  readonly childIds: ReadonlyArray<Scalars["String"]["output"]>;
1767
2221
  readonly document: PhDocument;
1768
2222
  };
1769
- type JobChangeEvent = {
2223
+ /**
2224
+ * One mutation job of a batch, mirroring the reactor's `ExecutionJobPlan`
2225
+ * (packages/reactor/src/core/types.ts). The batch runs its jobs in dependency
2226
+ * order only, not atomically: each job commits on its own with no batch rollback,
2227
+ * and a failed job still releases its dependents.
2228
+ *
2229
+ * `documentIdOrSlug` is the document the job's actions apply to -- an id that does
2230
+ * not yet exist when the job's actions create it. `actions` are coerced against
2231
+ * `ActionInput` and passed through exactly as `execute` does, so a client-signed
2232
+ * action keeps its signature. `scope` is the single scope every action in the job
2233
+ * shares, and `dependsOn` names the plan keys this job is ordered after. `branch`
2234
+ * defaults to `main`.
2235
+ */
2236
+ export type ExecutionJobInput = {
2237
+ readonly actions: ReadonlyArray<ActionInput>;
2238
+ readonly branch?: InputMaybe<Scalars["String"]["input"]>;
2239
+ readonly dependsOn: ReadonlyArray<Scalars["String"]["input"]>;
2240
+ readonly documentIdOrSlug: Scalars["String"]["input"];
2241
+ readonly key: Scalars["String"]["input"];
2242
+ readonly scope: Scalars["String"]["input"];
2243
+ };
2244
+ /** The batch a job was submitted in. */
2245
+ export type JobBatchMeta = {
2246
+ readonly batchId: Scalars["String"]["output"];
2247
+ readonly batchJobIds: ReadonlyArray<Scalars["String"]["output"]>;
2248
+ };
2249
+ export type JobChangeEvent = {
1770
2250
  readonly error?: Maybe<Scalars["String"]["output"]>;
1771
2251
  readonly jobId: Scalars["String"]["output"];
1772
- readonly result: Scalars["JSONObject"]["output"];
2252
+ /**
2253
+ * What the job produced, once it has produced anything. Nullable for the same
2254
+ * reason as `JobInfo.result`: a job that has not written yet has produced
2255
+ * nothing, and an empty object would claim otherwise.
2256
+ */
2257
+ readonly result?: Maybe<Scalars["JSONObject"]["output"]>;
1773
2258
  readonly status: Scalars["String"]["output"];
1774
2259
  };
1775
- type JobInfo = {
2260
+ export type JobInfo = {
1776
2261
  readonly completedAt?: Maybe<Scalars["DateTime"]["output"]>;
2262
+ readonly consistencyToken: ConsistencyToken;
1777
2263
  readonly createdAt: Scalars["DateTime"]["output"];
2264
+ /**
2265
+ * The document the job operates on. Empty for a job this server does not know,
2266
+ * which then comes back FAILED with "Job not found".
2267
+ */
2268
+ readonly documentId: Scalars["String"]["output"];
1778
2269
  readonly error?: Maybe<Scalars["String"]["output"]>;
2270
+ /** The error's class name, such as `DocumentAlreadyExistsError`, when it failed. */
2271
+ readonly errorName?: Maybe<Scalars["String"]["output"]>;
1779
2272
  readonly id: Scalars["String"]["output"];
2273
+ readonly meta: JobBatchMeta;
1780
2274
  /**
1781
2275
  * What the job produced, once it has produced anything. Null until then, which
1782
2276
  * is the state every job is in when it is handed back from a submission.
@@ -1784,11 +2278,11 @@ type JobInfo = {
1784
2278
  readonly result?: Maybe<Scalars["JSONObject"]["output"]>;
1785
2279
  readonly status: Scalars["String"]["output"];
1786
2280
  };
1787
- type MoveRelationshipResult = {
2281
+ export type MoveRelationshipResult = {
1788
2282
  readonly source: PhDocument;
1789
2283
  readonly target: PhDocument;
1790
2284
  };
1791
- type Mutation = {
2285
+ export type Mutation = {
1792
2286
  readonly addRelationship: PhDocument;
1793
2287
  readonly createDocument: PhDocument;
1794
2288
  readonly createEmptyDocument: PhDocument;
@@ -1816,101 +2310,154 @@ type Mutation = {
1816
2310
  * ask for; `result` is null until the job produces one.
1817
2311
  */
1818
2312
  readonly executeAsync: JobInfo;
1819
- 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. */
1820
- readonly mutateDocument: PhDocument; /** @deprecated Use executeAsync, which is typed and returns the job rather than only its id. */
2313
+ /**
2314
+ * Applies multiple mutation jobs in dependency order and waits for all of them,
2315
+ * the wire form of `IReactorClient.executeBatch`. Each job's actions are coerced
2316
+ * against `ActionInput` exactly as `execute` is, so client-signed actions pass
2317
+ * through unchanged, and `dependsOn` orders the jobs. It is synchronous: the jobs
2318
+ * are applied and awaited before the result returns, so every returned `JobInfo`
2319
+ * is a completed one rather than the pending receipt the in-process reactor hands
2320
+ * back. A batch is ordering, not a transaction: each job commits on its own, and
2321
+ * a failed job still releases the jobs that depend on it, so any job, before or
2322
+ * after a failure, may have committed. A failed job is therefore returned as a
2323
+ * FAILED entry with its `error` and `errorName`, beside the final state of every
2324
+ * other job, rather than failing the mutation. The mutation itself fails only
2325
+ * when no job state can be reported.
2326
+ *
2327
+ * A job carrying `CREATE_DOCUMENT` must be the batch's only job, with the create
2328
+ * as its first action naming the job's document. Its other actions may only be
2329
+ * an `UPGRADE_DOCUMENT` of the new document and `ADD_RELATIONSHIP`s targeting
2330
+ * it. It is authorized like `createDocument`: write on every source of those
2331
+ * relationships, or the right to create when there is none.
2332
+ */
2333
+ readonly executeBatch: BatchExecutionResult;
2334
+ readonly moveRelationship: MoveRelationshipResult;
2335
+ /** @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. */
2336
+ readonly mutateDocument: PhDocument;
2337
+ /** @deprecated Use executeAsync, which is typed and returns the job rather than only its id. */
1821
2338
  readonly mutateDocumentAsync: Scalars["String"]["output"];
1822
2339
  readonly pushSyncEnvelopes: Scalars["Boolean"]["output"];
1823
2340
  readonly removeRelationship: PhDocument;
1824
2341
  readonly renameDocument: PhDocument;
1825
2342
  readonly setPreferredEditor: PhDocument;
1826
2343
  readonly touchChannel: TouchChannelResult;
2344
+ readonly updateRelationship: PhDocument;
1827
2345
  };
1828
- type MutationAddRelationshipArgs = {
2346
+ export type MutationAddRelationshipArgs = {
1829
2347
  branch?: InputMaybe<Scalars["String"]["input"]>;
2348
+ metadata?: InputMaybe<Scalars["JSONObject"]["input"]>;
1830
2349
  relationshipType: Scalars["String"]["input"];
1831
- sourceIdentifier: Scalars["String"]["input"];
1832
- targetIdentifier: Scalars["String"]["input"];
2350
+ sourceIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2351
+ sourceIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2352
+ targetIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2353
+ targetIdentifier?: InputMaybe<Scalars["String"]["input"]>;
1833
2354
  };
1834
- type MutationCreateDocumentArgs = {
2355
+ export type MutationCreateDocumentArgs = {
1835
2356
  document: Scalars["JSONObject"]["input"];
2357
+ parentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
1836
2358
  parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
1837
2359
  };
1838
- type MutationCreateEmptyDocumentArgs = {
2360
+ export type MutationCreateEmptyDocumentArgs = {
1839
2361
  documentType: Scalars["String"]["input"];
2362
+ parentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
1840
2363
  parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
1841
2364
  };
1842
- type MutationDeleteDocumentArgs = {
1843
- identifier: Scalars["String"]["input"];
2365
+ export type MutationDeleteDocumentArgs = {
2366
+ idOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2367
+ identifier?: InputMaybe<Scalars["String"]["input"]>;
1844
2368
  propagate?: InputMaybe<PropagationMode>;
1845
2369
  };
1846
- type MutationDeleteDocumentsArgs = {
1847
- identifiers: ReadonlyArray<Scalars["String"]["input"]>;
2370
+ export type MutationDeleteDocumentsArgs = {
2371
+ identifiers?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
2372
+ idsOrSlugs?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
1848
2373
  propagate?: InputMaybe<PropagationMode>;
1849
2374
  };
1850
- type MutationExecuteArgs = {
2375
+ export type MutationExecuteArgs = {
1851
2376
  actions: ReadonlyArray<ActionInput>;
1852
2377
  branch?: InputMaybe<Scalars["String"]["input"]>;
1853
- documentIdentifier: Scalars["String"]["input"];
2378
+ documentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2379
+ documentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
1854
2380
  };
1855
- type MutationExecuteAsyncArgs = {
2381
+ export type MutationExecuteAsyncArgs = {
1856
2382
  actions: ReadonlyArray<ActionInput>;
1857
2383
  branch?: InputMaybe<Scalars["String"]["input"]>;
1858
- documentIdentifier: Scalars["String"]["input"];
2384
+ documentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2385
+ documentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2386
+ };
2387
+ export type MutationExecuteBatchArgs = {
2388
+ jobs: ReadonlyArray<ExecutionJobInput>;
1859
2389
  };
1860
- type MutationMoveRelationshipArgs = {
2390
+ export type MutationMoveRelationshipArgs = {
1861
2391
  branch?: InputMaybe<Scalars["String"]["input"]>;
1862
2392
  relationshipType: Scalars["String"]["input"];
1863
- sourceParentIdentifier: Scalars["String"]["input"];
1864
- targetIdentifier: Scalars["String"]["input"];
1865
- targetParentIdentifier: Scalars["String"]["input"];
1866
- };
1867
- type MutationMutateDocumentArgs = {
2393
+ sourceParentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2394
+ sourceParentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2395
+ targetIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2396
+ targetIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2397
+ targetParentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2398
+ targetParentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2399
+ };
2400
+ export type MutationMutateDocumentArgs = {
1868
2401
  actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
1869
2402
  documentIdentifier: Scalars["String"]["input"];
1870
2403
  view?: InputMaybe<ViewFilterInput>;
1871
2404
  };
1872
- type MutationMutateDocumentAsyncArgs = {
2405
+ export type MutationMutateDocumentAsyncArgs = {
1873
2406
  actions: ReadonlyArray<Scalars["JSONObject"]["input"]>;
1874
2407
  documentIdentifier: Scalars["String"]["input"];
1875
2408
  view?: InputMaybe<ViewFilterInput>;
1876
2409
  };
1877
- type MutationPushSyncEnvelopesArgs = {
2410
+ export type MutationPushSyncEnvelopesArgs = {
1878
2411
  envelopes: ReadonlyArray<SyncEnvelopeInput>;
2412
+ peerManifestRevision?: InputMaybe<Scalars["String"]["input"]>;
1879
2413
  };
1880
- type MutationRemoveRelationshipArgs = {
2414
+ export type MutationRemoveRelationshipArgs = {
1881
2415
  branch?: InputMaybe<Scalars["String"]["input"]>;
1882
2416
  relationshipType: Scalars["String"]["input"];
1883
- sourceIdentifier: Scalars["String"]["input"];
1884
- targetIdentifier: Scalars["String"]["input"];
2417
+ sourceIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2418
+ sourceIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2419
+ targetIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2420
+ targetIdentifier?: InputMaybe<Scalars["String"]["input"]>;
1885
2421
  };
1886
- type MutationRenameDocumentArgs = {
2422
+ export type MutationRenameDocumentArgs = {
1887
2423
  branch?: InputMaybe<Scalars["String"]["input"]>;
1888
- documentIdentifier: Scalars["String"]["input"];
2424
+ documentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2425
+ documentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
1889
2426
  name: Scalars["String"]["input"];
1890
2427
  };
1891
- type MutationSetPreferredEditorArgs = {
2428
+ export type MutationSetPreferredEditorArgs = {
1892
2429
  branch?: InputMaybe<Scalars["String"]["input"]>;
1893
- documentIdentifier: Scalars["String"]["input"];
2430
+ documentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2431
+ documentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
1894
2432
  preferredEditor?: InputMaybe<Scalars["String"]["input"]>;
1895
2433
  };
1896
- type MutationTouchChannelArgs = {
2434
+ export type MutationTouchChannelArgs = {
1897
2435
  input: TouchChannelInput;
1898
2436
  };
1899
- type OperationContext = {
2437
+ export type MutationUpdateRelationshipArgs = {
2438
+ branch?: InputMaybe<Scalars["String"]["input"]>;
2439
+ metadata?: InputMaybe<Scalars["JSONObject"]["input"]>;
2440
+ relationshipType: Scalars["String"]["input"];
2441
+ sourceIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2442
+ sourceIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2443
+ targetIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2444
+ targetIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2445
+ };
2446
+ export type OperationContext = {
1900
2447
  readonly branch: Scalars["String"]["output"];
1901
2448
  readonly documentId: Scalars["String"]["output"];
1902
2449
  readonly documentType: Scalars["String"]["output"];
1903
2450
  readonly ordinal: Scalars["Int"]["output"];
1904
2451
  readonly scope: Scalars["String"]["output"];
1905
2452
  };
1906
- type OperationContextInput = {
2453
+ export type OperationContextInput = {
1907
2454
  readonly branch: Scalars["String"]["input"];
1908
2455
  readonly documentId: Scalars["String"]["input"];
1909
2456
  readonly documentType: Scalars["String"]["input"];
1910
2457
  readonly ordinal: Scalars["Int"]["input"];
1911
2458
  readonly scope: Scalars["String"]["input"];
1912
2459
  };
1913
- type OperationInput = {
2460
+ export type OperationInput = {
1914
2461
  readonly action: ActionInput;
1915
2462
  readonly deniedReason?: InputMaybe<Scalars["String"]["input"]>;
1916
2463
  readonly error?: InputMaybe<Scalars["String"]["input"]>;
@@ -1920,67 +2467,92 @@ type OperationInput = {
1920
2467
  readonly skip: Scalars["Int"]["input"];
1921
2468
  readonly timestampUtcMs: Scalars["String"]["input"];
1922
2469
  };
1923
- type OperationWithContext = {
2470
+ export type OperationWithContext = {
1924
2471
  readonly context: OperationContext;
1925
2472
  readonly operation: ReactorOperation;
1926
2473
  };
1927
- type OperationWithContextInput = {
2474
+ export type OperationWithContextInput = {
1928
2475
  readonly context: OperationContextInput;
1929
2476
  readonly operation: OperationInput;
1930
2477
  };
1931
- type OperationsFilterInput = {
2478
+ export type OperationsFilterInput = {
1932
2479
  readonly actionTypes?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
1933
2480
  readonly branch?: InputMaybe<Scalars["String"]["input"]>;
1934
- readonly documentId: Scalars["String"]["input"];
2481
+ /** @deprecated Use documentIdOrSlug. */
2482
+ readonly documentId?: InputMaybe<Scalars["String"]["input"]>;
2483
+ readonly documentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
1935
2484
  readonly scopes?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
1936
2485
  readonly sinceRevision?: InputMaybe<Scalars["Int"]["input"]>;
1937
2486
  readonly timestampFrom?: InputMaybe<Scalars["String"]["input"]>;
1938
2487
  readonly timestampTo?: InputMaybe<Scalars["String"]["input"]>;
1939
2488
  };
1940
- type PhDocument = {
2489
+ export type PhDocument = {
1941
2490
  readonly createdAtUtcIso: Scalars["DateTime"]["output"];
1942
2491
  readonly documentType: Scalars["String"]["output"];
1943
2492
  readonly id: Scalars["String"]["output"];
1944
2493
  readonly lastModifiedAtUtcIso: Scalars["DateTime"]["output"];
2494
+ readonly meta?: Maybe<Scalars["JSONObject"]["output"]>;
1945
2495
  readonly name: Scalars["String"]["output"];
1946
2496
  readonly operations?: Maybe<ReactorOperationResultPage>;
1947
2497
  readonly preferredEditor?: Maybe<Scalars["String"]["output"]>;
2498
+ readonly protocolVersions?: Maybe<Scalars["JSONObject"]["output"]>;
1948
2499
  readonly revisionsList: ReadonlyArray<Revision>;
1949
2500
  readonly slug?: Maybe<Scalars["String"]["output"]>;
1950
2501
  readonly state: Scalars["JSONObject"]["output"];
1951
2502
  };
1952
- type PhDocumentOperationsArgs = {
2503
+ export type PhDocumentOperationsArgs = {
1953
2504
  filter?: InputMaybe<DocumentOperationsFilterInput>;
1954
2505
  paging?: InputMaybe<PagingInput>;
1955
2506
  };
1956
- type PhDocumentResultPage = {
2507
+ export type PhDocumentResultPage = {
1957
2508
  readonly cursor?: Maybe<Scalars["String"]["output"]>;
1958
2509
  readonly hasNextPage: Scalars["Boolean"]["output"];
1959
2510
  readonly hasPreviousPage: Scalars["Boolean"]["output"];
1960
2511
  readonly items: ReadonlyArray<PhDocument>;
1961
- readonly totalCount: Scalars["Int"]["output"];
1962
2512
  };
1963
- type PagingInput = {
2513
+ export type PagingInput = {
1964
2514
  readonly cursor?: InputMaybe<Scalars["String"]["input"]>;
1965
2515
  readonly limit?: InputMaybe<Scalars["Int"]["input"]>;
1966
2516
  readonly offset?: InputMaybe<Scalars["Int"]["input"]>;
1967
2517
  };
1968
- type PollSyncEnvelopesResult = {
2518
+ export type PeerAgreement = {
2519
+ readonly collectionId: Scalars["String"]["output"];
2520
+ readonly limitedBy: ReadonlyArray<PeerAgreementLimit>;
2521
+ readonly local: Scalars["JSONObject"]["output"];
2522
+ readonly members: ReadonlyArray<PeerAgreementMember>;
2523
+ };
2524
+ export type PeerAgreementLimit = {
2525
+ readonly protocol: Scalars["String"]["output"];
2526
+ readonly remoteNames: ReadonlyArray<Scalars["String"]["output"]>;
2527
+ };
2528
+ export type PeerAgreementMember = {
2529
+ readonly announced: Scalars["Boolean"]["output"];
2530
+ readonly features: Scalars["JSONObject"]["output"];
2531
+ readonly protocols: Scalars["JSONObject"]["output"];
2532
+ readonly remoteName: Scalars["String"]["output"];
2533
+ };
2534
+ export type PollSyncEnvelopesResult = {
1969
2535
  readonly ackOrdinal: Scalars["Int"]["output"];
1970
2536
  readonly deadLetters: ReadonlyArray<DeadLetterInfo>;
1971
2537
  readonly envelopes: ReadonlyArray<SyncEnvelope>;
1972
2538
  readonly hasMore: Scalars["Boolean"]["output"];
2539
+ readonly manifestRevision?: Maybe<Scalars["String"]["output"]>;
2540
+ readonly peerManifestRevision?: Maybe<Scalars["String"]["output"]>;
1973
2541
  };
1974
- declare enum PropagationMode {
2542
+ export declare enum PropagationMode {
1975
2543
  Cascade = "CASCADE",
1976
2544
  Orphan = "ORPHAN"
1977
2545
  }
1978
- type Query = {
2546
+ export type Query = {
2547
+ readonly createDefaults: CreateDefaults;
1979
2548
  readonly document?: Maybe<DocumentWithChildren>;
2549
+ readonly documentIncomingRelationshipEdges: DocumentRelationshipResultPage;
1980
2550
  readonly documentIncomingRelationships: PhDocumentResultPage;
1981
2551
  readonly documentModels: DocumentModelResultPage;
1982
2552
  readonly documentOperations: ReactorOperationResultPage;
2553
+ readonly documentOutgoingRelationshipEdges: DocumentRelationshipResultPage;
1983
2554
  readonly documentOutgoingRelationships: PhDocumentResultPage;
2555
+ readonly documentServed: Scalars["Boolean"]["output"];
1984
2556
  /**
1985
2557
  * Predicts whether the calling subject would be admitted to execute each of a
1986
2558
  * set of candidate operations, without submitting any of them. A UI asks this to
@@ -2011,6 +2583,7 @@ type Query = {
2011
2583
  readonly evaluateActions: ActionEvaluations;
2012
2584
  readonly findDocuments: PhDocumentResultPage;
2013
2585
  readonly jobStatus?: Maybe<JobInfo>;
2586
+ readonly peerAgreement: PeerAgreement;
2014
2587
  /**
2015
2588
  * Polls for sync envelopes from a channel.
2016
2589
  *
@@ -2023,50 +2596,85 @@ type Query = {
2023
2596
  * would stop receiving those too.
2024
2597
  */
2025
2598
  readonly pollSyncEnvelopes: PollSyncEnvelopesResult;
2599
+ readonly syncHolds: ReadonlyArray<SyncHold>;
2026
2600
  };
2027
- type QueryDocumentArgs = {
2028
- identifier: Scalars["String"]["input"];
2601
+ export type QueryCreateDefaultsArgs = {
2602
+ parentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2603
+ };
2604
+ export type QueryDocumentArgs = {
2605
+ idOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2606
+ identifier?: InputMaybe<Scalars["String"]["input"]>;
2029
2607
  view?: InputMaybe<ViewFilterInput>;
2030
2608
  };
2031
- type QueryDocumentIncomingRelationshipsArgs = {
2609
+ export type QueryDocumentIncomingRelationshipEdgesArgs = {
2610
+ paging?: InputMaybe<PagingInput>;
2611
+ relationshipType?: InputMaybe<Scalars["String"]["input"]>;
2612
+ targetIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2613
+ targetIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2614
+ view?: InputMaybe<ViewFilterInput>;
2615
+ };
2616
+ export type QueryDocumentIncomingRelationshipsArgs = {
2032
2617
  paging?: InputMaybe<PagingInput>;
2033
2618
  relationshipType: Scalars["String"]["input"];
2034
- targetIdentifier: Scalars["String"]["input"];
2619
+ targetIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2620
+ targetIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2035
2621
  view?: InputMaybe<ViewFilterInput>;
2036
2622
  };
2037
- type QueryDocumentModelsArgs = {
2623
+ export type QueryDocumentModelsArgs = {
2038
2624
  namespace?: InputMaybe<Scalars["String"]["input"]>;
2039
2625
  paging?: InputMaybe<PagingInput>;
2040
2626
  };
2041
- type QueryDocumentOperationsArgs = {
2627
+ export type QueryDocumentOperationsArgs = {
2042
2628
  filter: OperationsFilterInput;
2043
2629
  paging?: InputMaybe<PagingInput>;
2044
2630
  };
2045
- type QueryDocumentOutgoingRelationshipsArgs = {
2631
+ export type QueryDocumentOutgoingRelationshipEdgesArgs = {
2632
+ paging?: InputMaybe<PagingInput>;
2633
+ relationshipType?: InputMaybe<Scalars["String"]["input"]>;
2634
+ sourceIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2635
+ sourceIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2636
+ view?: InputMaybe<ViewFilterInput>;
2637
+ };
2638
+ export type QueryDocumentOutgoingRelationshipsArgs = {
2046
2639
  paging?: InputMaybe<PagingInput>;
2047
2640
  relationshipType: Scalars["String"]["input"];
2048
- sourceIdentifier: Scalars["String"]["input"];
2641
+ sourceIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2642
+ sourceIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2049
2643
  view?: InputMaybe<ViewFilterInput>;
2050
2644
  };
2051
- type QueryEvaluateActionsArgs = {
2645
+ export type QueryDocumentServedArgs = {
2646
+ idOrSlug: Scalars["String"]["input"];
2647
+ view?: InputMaybe<ViewFilterInput>;
2648
+ };
2649
+ export type QueryEvaluateActionsArgs = {
2052
2650
  branch?: InputMaybe<Scalars["String"]["input"]>;
2053
2651
  candidates: ReadonlyArray<ActionCandidateInput>;
2054
- documentIdentifier: Scalars["String"]["input"];
2652
+ documentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
2653
+ documentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2055
2654
  };
2056
- type QueryFindDocumentsArgs = {
2655
+ export type QueryFindDocumentsArgs = {
2057
2656
  paging?: InputMaybe<PagingInput>;
2058
2657
  search?: InputMaybe<SearchFilterInput>;
2059
2658
  view?: InputMaybe<ViewFilterInput>;
2060
2659
  };
2061
- type QueryJobStatusArgs = {
2660
+ export type QueryJobStatusArgs = {
2062
2661
  jobId: Scalars["String"]["input"];
2063
2662
  };
2064
- type QueryPollSyncEnvelopesArgs = {
2663
+ export type QueryPeerAgreementArgs = {
2664
+ collectionId: Scalars["String"]["input"];
2665
+ };
2666
+ export type QueryPollSyncEnvelopesArgs = {
2065
2667
  channelId: Scalars["String"]["input"];
2668
+ manifestRevision?: InputMaybe<Scalars["String"]["input"]>;
2066
2669
  outboxAck: Scalars["Int"]["input"];
2067
2670
  outboxLatest: Scalars["Int"]["input"];
2671
+ refusals?: InputMaybe<ReadonlyArray<SyncRefusalInput>>;
2068
2672
  };
2069
- type ReactorOperation = {
2673
+ export type QuerySyncHoldsArgs = {
2674
+ documentId?: InputMaybe<Scalars["String"]["input"]>;
2675
+ remoteName?: InputMaybe<Scalars["String"]["input"]>;
2676
+ };
2677
+ export type ReactorOperation = {
2070
2678
  readonly action: Action;
2071
2679
  readonly deniedReason?: Maybe<Scalars["String"]["output"]>;
2072
2680
  readonly error?: Maybe<Scalars["String"]["output"]>;
@@ -2076,77 +2684,77 @@ type ReactorOperation = {
2076
2684
  readonly skip: Scalars["Int"]["output"];
2077
2685
  readonly timestampUtcMs: Scalars["String"]["output"];
2078
2686
  };
2079
- type ReactorOperationResultPage = {
2687
+ export type ReactorOperationResultPage = {
2080
2688
  readonly cursor?: Maybe<Scalars["String"]["output"]>;
2081
2689
  readonly hasNextPage: Scalars["Boolean"]["output"];
2082
2690
  readonly hasPreviousPage: Scalars["Boolean"]["output"];
2083
2691
  readonly items: ReadonlyArray<ReactorOperation>;
2084
- readonly totalCount: Scalars["Int"]["output"];
2085
2692
  };
2086
- type ReactorSigner = {
2693
+ export type ReactorSigner = {
2087
2694
  readonly app?: Maybe<ReactorSignerApp>;
2088
2695
  readonly signatures: ReadonlyArray<Scalars["String"]["output"]>;
2089
2696
  readonly user?: Maybe<ReactorSignerUser>;
2090
2697
  };
2091
- type ReactorSignerApp = {
2698
+ export type ReactorSignerApp = {
2092
2699
  readonly key: Scalars["String"]["output"];
2093
2700
  readonly name: Scalars["String"]["output"];
2094
2701
  };
2095
- type ReactorSignerAppInput = {
2702
+ export type ReactorSignerAppInput = {
2096
2703
  readonly key: Scalars["String"]["input"];
2097
2704
  readonly name: Scalars["String"]["input"];
2098
2705
  };
2099
- type ReactorSignerInput = {
2706
+ export type ReactorSignerInput = {
2100
2707
  readonly app?: InputMaybe<ReactorSignerAppInput>;
2101
2708
  readonly signatures: ReadonlyArray<Scalars["String"]["input"]>;
2102
2709
  readonly user?: InputMaybe<ReactorSignerUserInput>;
2103
2710
  };
2104
- type ReactorSignerUser = {
2711
+ export type ReactorSignerUser = {
2105
2712
  readonly address: Scalars["String"]["output"];
2106
2713
  readonly chainId: Scalars["Int"]["output"];
2107
2714
  readonly networkId: Scalars["String"]["output"];
2108
2715
  };
2109
- type ReactorSignerUserInput = {
2716
+ export type ReactorSignerUserInput = {
2110
2717
  readonly address: Scalars["String"]["input"];
2111
2718
  readonly chainId: Scalars["Int"]["input"];
2112
2719
  readonly networkId: Scalars["String"]["input"];
2113
2720
  };
2114
- type RemoteCursor = {
2721
+ export type RemoteCursor = {
2115
2722
  readonly cursorOrdinal: Scalars["Int"]["output"];
2116
2723
  readonly lastSyncedAtUtcMs?: Maybe<Scalars["String"]["output"]>;
2117
2724
  readonly remoteName: Scalars["String"]["output"];
2118
2725
  };
2119
- type RemoteCursorInput = {
2726
+ export type RemoteCursorInput = {
2120
2727
  readonly cursorOrdinal: Scalars["Int"]["input"];
2121
2728
  readonly lastSyncedAtUtcMs?: InputMaybe<Scalars["String"]["input"]>;
2122
2729
  readonly remoteName: Scalars["String"]["input"];
2123
2730
  };
2124
- type RemoteFilterInput = {
2731
+ export type RemoteFilterInput = {
2125
2732
  readonly branch: Scalars["String"]["input"];
2126
2733
  readonly documentId: ReadonlyArray<Scalars["String"]["input"]>;
2127
2734
  readonly scope: ReadonlyArray<Scalars["String"]["input"]>;
2128
2735
  };
2129
- type Revision = {
2736
+ export type Revision = {
2130
2737
  readonly revision: Scalars["Int"]["output"];
2131
2738
  readonly scope: Scalars["String"]["output"];
2132
2739
  };
2133
- type SearchFilterInput = {
2740
+ export type SearchFilterInput = {
2741
+ /** @deprecated Ignored. Filter by type or parentId. */
2134
2742
  readonly identifiers?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
2135
2743
  readonly parentId?: InputMaybe<Scalars["String"]["input"]>;
2136
2744
  readonly type?: InputMaybe<Scalars["String"]["input"]>;
2137
2745
  };
2138
- type Subscription = {
2746
+ export type Subscription = {
2139
2747
  readonly documentChanges: DocumentChangeEvent;
2140
2748
  readonly jobChanges: JobChangeEvent;
2141
2749
  };
2142
- type SubscriptionDocumentChangesArgs = {
2750
+ export type SubscriptionDocumentChangesArgs = {
2143
2751
  search?: InputMaybe<SearchFilterInput>;
2144
2752
  view?: InputMaybe<ViewFilterInput>;
2145
2753
  };
2146
- type SubscriptionJobChangesArgs = {
2754
+ export type SubscriptionJobChangesArgs = {
2147
2755
  jobId: Scalars["String"]["input"];
2148
2756
  };
2149
- type SyncEnvelope = {
2757
+ export type SyncEnvelope = {
2150
2758
  readonly channelMeta: ChannelMeta;
2151
2759
  readonly cursor?: Maybe<RemoteCursor>;
2152
2760
  readonly dependsOn?: Maybe<ReadonlyArray<Scalars["String"]["output"]>>;
@@ -2154,7 +2762,7 @@ type SyncEnvelope = {
2154
2762
  readonly operations?: Maybe<ReadonlyArray<OperationWithContext>>;
2155
2763
  readonly type: SyncEnvelopeType;
2156
2764
  };
2157
- type SyncEnvelopeInput = {
2765
+ export type SyncEnvelopeInput = {
2158
2766
  readonly channelMeta: ChannelMetaInput;
2159
2767
  readonly cursor?: InputMaybe<RemoteCursorInput>;
2160
2768
  readonly dependsOn?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
@@ -2162,30 +2770,51 @@ type SyncEnvelopeInput = {
2162
2770
  readonly operations?: InputMaybe<ReadonlyArray<OperationWithContextInput>>;
2163
2771
  readonly type: SyncEnvelopeType;
2164
2772
  };
2165
- declare enum SyncEnvelopeType {
2773
+ export declare enum SyncEnvelopeType {
2166
2774
  Ack = "ACK",
2167
2775
  Operations = "OPERATIONS"
2168
2776
  }
2169
- type TouchChannelInput = {
2777
+ export type SyncHold = {
2778
+ readonly branch: Scalars["String"]["output"];
2779
+ readonly documentId: Scalars["String"]["output"];
2780
+ readonly heldAtUtcMs: Scalars["String"]["output"];
2781
+ readonly reason: SyncHoldReason;
2782
+ readonly remoteName: Scalars["String"]["output"];
2783
+ };
2784
+ export type SyncHoldReason = {
2785
+ readonly peerSupports: ReadonlyArray<Scalars["Int"]["output"]>;
2786
+ readonly protocol: Scalars["String"]["output"];
2787
+ readonly version: Scalars["Int"]["output"];
2788
+ };
2789
+ export type SyncRefusalInput = {
2790
+ readonly branch: Scalars["String"]["input"];
2791
+ readonly documentId: Scalars["String"]["input"];
2792
+ readonly kind?: InputMaybe<Scalars["String"]["input"]>;
2793
+ };
2794
+ export type TouchChannelInput = {
2170
2795
  readonly collectionId: Scalars["String"]["input"];
2171
2796
  readonly filter: RemoteFilterInput;
2172
2797
  readonly id: Scalars["String"]["input"];
2798
+ readonly manifest?: InputMaybe<Scalars["JSONObject"]["input"]>;
2173
2799
  readonly name: Scalars["String"]["input"];
2174
2800
  readonly sinceTimestampUtcMs: Scalars["String"]["input"];
2175
2801
  };
2176
- type TouchChannelResult = {
2802
+ export type TouchChannelResult = {
2177
2803
  readonly ackOrdinal: Scalars["Int"]["output"];
2804
+ readonly manifest?: Maybe<Scalars["JSONObject"]["output"]>;
2178
2805
  readonly success: Scalars["Boolean"]["output"];
2179
2806
  };
2180
- type ViewFilterInput = {
2807
+ export type ViewFilterInput = {
2181
2808
  readonly branch?: InputMaybe<Scalars["String"]["input"]>;
2182
2809
  readonly scopes?: InputMaybe<ReadonlyArray<Scalars["String"]["input"]>>;
2183
2810
  };
2184
- type PhDocumentFieldsFragment = {
2811
+ export type PhDocumentFieldsFragment = {
2185
2812
  readonly id: string;
2186
2813
  readonly slug?: string | null | undefined;
2187
2814
  readonly name: string;
2188
2815
  readonly documentType: string;
2816
+ readonly meta?: NonNullable<unknown> | null | undefined;
2817
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2189
2818
  readonly state: NonNullable<unknown>;
2190
2819
  readonly createdAtUtcIso: string | Date;
2191
2820
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2194,13 +2823,20 @@ type PhDocumentFieldsFragment = {
2194
2823
  readonly revision: number;
2195
2824
  }>;
2196
2825
  };
2197
- type GetDocumentModelsQueryVariables = Exact<{
2826
+ export type DocumentRelationshipFieldsFragment = {
2827
+ readonly sourceId: string;
2828
+ readonly targetId: string;
2829
+ readonly relationshipType: string;
2830
+ readonly metadata?: NonNullable<unknown> | null | undefined;
2831
+ readonly createdAt: string | Date;
2832
+ readonly updatedAt: string | Date;
2833
+ };
2834
+ export type GetDocumentModelsQueryVariables = Exact<{
2198
2835
  namespace?: InputMaybe<Scalars["String"]["input"]>;
2199
2836
  paging?: InputMaybe<PagingInput>;
2200
2837
  }>;
2201
- type GetDocumentModelsQuery = {
2838
+ export type GetDocumentModelsQuery = {
2202
2839
  readonly documentModels: {
2203
- readonly totalCount: number;
2204
2840
  readonly hasNextPage: boolean;
2205
2841
  readonly hasPreviousPage: boolean;
2206
2842
  readonly cursor?: string | null | undefined;
@@ -2213,11 +2849,11 @@ type GetDocumentModelsQuery = {
2213
2849
  }>;
2214
2850
  };
2215
2851
  };
2216
- type GetDocumentQueryVariables = Exact<{
2852
+ export type GetDocumentQueryVariables = Exact<{
2217
2853
  identifier: Scalars["String"]["input"];
2218
2854
  view?: InputMaybe<ViewFilterInput>;
2219
2855
  }>;
2220
- type GetDocumentQuery = {
2856
+ export type GetDocumentQuery = {
2221
2857
  readonly document?: {
2222
2858
  readonly childIds: ReadonlyArray<string>;
2223
2859
  readonly document: {
@@ -2225,6 +2861,8 @@ type GetDocumentQuery = {
2225
2861
  readonly slug?: string | null | undefined;
2226
2862
  readonly name: string;
2227
2863
  readonly documentType: string;
2864
+ readonly meta?: NonNullable<unknown> | null | undefined;
2865
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2228
2866
  readonly state: NonNullable<unknown>;
2229
2867
  readonly createdAtUtcIso: string | Date;
2230
2868
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2235,13 +2873,13 @@ type GetDocumentQuery = {
2235
2873
  };
2236
2874
  } | null | undefined;
2237
2875
  };
2238
- type GetDocumentWithOperationsQueryVariables = Exact<{
2876
+ export type GetDocumentWithOperationsQueryVariables = Exact<{
2239
2877
  identifier: Scalars["String"]["input"];
2240
2878
  view?: InputMaybe<ViewFilterInput>;
2241
2879
  operationsFilter?: InputMaybe<DocumentOperationsFilterInput>;
2242
2880
  operationsPaging?: InputMaybe<PagingInput>;
2243
2881
  }>;
2244
- type GetDocumentWithOperationsQuery = {
2882
+ export type GetDocumentWithOperationsQuery = {
2245
2883
  readonly document?: {
2246
2884
  readonly childIds: ReadonlyArray<string>;
2247
2885
  readonly document: {
@@ -2249,11 +2887,12 @@ type GetDocumentWithOperationsQuery = {
2249
2887
  readonly slug?: string | null | undefined;
2250
2888
  readonly name: string;
2251
2889
  readonly documentType: string;
2890
+ readonly meta?: NonNullable<unknown> | null | undefined;
2891
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2252
2892
  readonly state: NonNullable<unknown>;
2253
2893
  readonly createdAtUtcIso: string | Date;
2254
2894
  readonly lastModifiedAtUtcIso: string | Date;
2255
2895
  readonly operations?: {
2256
- readonly totalCount: number;
2257
2896
  readonly hasNextPage: boolean;
2258
2897
  readonly hasPreviousPage: boolean;
2259
2898
  readonly cursor?: string | null | undefined;
@@ -2295,15 +2934,14 @@ type GetDocumentWithOperationsQuery = {
2295
2934
  };
2296
2935
  } | null | undefined;
2297
2936
  };
2298
- type GetDocumentOutgoingRelationshipsQueryVariables = Exact<{
2937
+ export type GetDocumentOutgoingRelationshipsQueryVariables = Exact<{
2299
2938
  sourceIdentifier: Scalars["String"]["input"];
2300
2939
  relationshipType: Scalars["String"]["input"];
2301
2940
  view?: InputMaybe<ViewFilterInput>;
2302
2941
  paging?: InputMaybe<PagingInput>;
2303
2942
  }>;
2304
- type GetDocumentOutgoingRelationshipsQuery = {
2943
+ export type GetDocumentOutgoingRelationshipsQuery = {
2305
2944
  readonly documentOutgoingRelationships: {
2306
- readonly totalCount: number;
2307
2945
  readonly hasNextPage: boolean;
2308
2946
  readonly hasPreviousPage: boolean;
2309
2947
  readonly cursor?: string | null | undefined;
@@ -2312,6 +2950,8 @@ type GetDocumentOutgoingRelationshipsQuery = {
2312
2950
  readonly slug?: string | null | undefined;
2313
2951
  readonly name: string;
2314
2952
  readonly documentType: string;
2953
+ readonly meta?: NonNullable<unknown> | null | undefined;
2954
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2315
2955
  readonly state: NonNullable<unknown>;
2316
2956
  readonly createdAtUtcIso: string | Date;
2317
2957
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2322,15 +2962,14 @@ type GetDocumentOutgoingRelationshipsQuery = {
2322
2962
  }>;
2323
2963
  };
2324
2964
  };
2325
- type GetDocumentIncomingRelationshipsQueryVariables = Exact<{
2965
+ export type GetDocumentIncomingRelationshipsQueryVariables = Exact<{
2326
2966
  targetIdentifier: Scalars["String"]["input"];
2327
2967
  relationshipType: Scalars["String"]["input"];
2328
2968
  view?: InputMaybe<ViewFilterInput>;
2329
2969
  paging?: InputMaybe<PagingInput>;
2330
2970
  }>;
2331
- type GetDocumentIncomingRelationshipsQuery = {
2971
+ export type GetDocumentIncomingRelationshipsQuery = {
2332
2972
  readonly documentIncomingRelationships: {
2333
- readonly totalCount: number;
2334
2973
  readonly hasNextPage: boolean;
2335
2974
  readonly hasPreviousPage: boolean;
2336
2975
  readonly cursor?: string | null | undefined;
@@ -2339,6 +2978,8 @@ type GetDocumentIncomingRelationshipsQuery = {
2339
2978
  readonly slug?: string | null | undefined;
2340
2979
  readonly name: string;
2341
2980
  readonly documentType: string;
2981
+ readonly meta?: NonNullable<unknown> | null | undefined;
2982
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2342
2983
  readonly state: NonNullable<unknown>;
2343
2984
  readonly createdAtUtcIso: string | Date;
2344
2985
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2349,14 +2990,55 @@ type GetDocumentIncomingRelationshipsQuery = {
2349
2990
  }>;
2350
2991
  };
2351
2992
  };
2352
- type FindDocumentsQueryVariables = Exact<{
2993
+ export type GetDocumentOutgoingRelationshipEdgesQueryVariables = Exact<{
2994
+ sourceIdentifier: Scalars["String"]["input"];
2995
+ relationshipType?: InputMaybe<Scalars["String"]["input"]>;
2996
+ view?: InputMaybe<ViewFilterInput>;
2997
+ paging?: InputMaybe<PagingInput>;
2998
+ }>;
2999
+ export type GetDocumentOutgoingRelationshipEdgesQuery = {
3000
+ readonly documentOutgoingRelationshipEdges: {
3001
+ readonly hasNextPage: boolean;
3002
+ readonly hasPreviousPage: boolean;
3003
+ readonly cursor?: string | null | undefined;
3004
+ readonly items: ReadonlyArray<{
3005
+ readonly sourceId: string;
3006
+ readonly targetId: string;
3007
+ readonly relationshipType: string;
3008
+ readonly metadata?: NonNullable<unknown> | null | undefined;
3009
+ readonly createdAt: string | Date;
3010
+ readonly updatedAt: string | Date;
3011
+ }>;
3012
+ };
3013
+ };
3014
+ export type GetDocumentIncomingRelationshipEdgesQueryVariables = Exact<{
3015
+ targetIdentifier: Scalars["String"]["input"];
3016
+ relationshipType?: InputMaybe<Scalars["String"]["input"]>;
3017
+ view?: InputMaybe<ViewFilterInput>;
3018
+ paging?: InputMaybe<PagingInput>;
3019
+ }>;
3020
+ export type GetDocumentIncomingRelationshipEdgesQuery = {
3021
+ readonly documentIncomingRelationshipEdges: {
3022
+ readonly hasNextPage: boolean;
3023
+ readonly hasPreviousPage: boolean;
3024
+ readonly cursor?: string | null | undefined;
3025
+ readonly items: ReadonlyArray<{
3026
+ readonly sourceId: string;
3027
+ readonly targetId: string;
3028
+ readonly relationshipType: string;
3029
+ readonly metadata?: NonNullable<unknown> | null | undefined;
3030
+ readonly createdAt: string | Date;
3031
+ readonly updatedAt: string | Date;
3032
+ }>;
3033
+ };
3034
+ };
3035
+ export type FindDocumentsQueryVariables = Exact<{
2353
3036
  search?: InputMaybe<SearchFilterInput>;
2354
3037
  view?: InputMaybe<ViewFilterInput>;
2355
3038
  paging?: InputMaybe<PagingInput>;
2356
3039
  }>;
2357
- type FindDocumentsQuery = {
3040
+ export type FindDocumentsQuery = {
2358
3041
  readonly findDocuments: {
2359
- readonly totalCount: number;
2360
3042
  readonly hasNextPage: boolean;
2361
3043
  readonly hasPreviousPage: boolean;
2362
3044
  readonly cursor?: string | null | undefined;
@@ -2365,6 +3047,8 @@ type FindDocumentsQuery = {
2365
3047
  readonly slug?: string | null | undefined;
2366
3048
  readonly name: string;
2367
3049
  readonly documentType: string;
3050
+ readonly meta?: NonNullable<unknown> | null | undefined;
3051
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2368
3052
  readonly state: NonNullable<unknown>;
2369
3053
  readonly createdAtUtcIso: string | Date;
2370
3054
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2375,13 +3059,12 @@ type FindDocumentsQuery = {
2375
3059
  }>;
2376
3060
  };
2377
3061
  };
2378
- type GetDocumentOperationsQueryVariables = Exact<{
3062
+ export type GetDocumentOperationsQueryVariables = Exact<{
2379
3063
  filter: OperationsFilterInput;
2380
3064
  paging?: InputMaybe<PagingInput>;
2381
3065
  }>;
2382
- type GetDocumentOperationsQuery = {
3066
+ export type GetDocumentOperationsQuery = {
2383
3067
  readonly documentOperations: {
2384
- readonly totalCount: number;
2385
3068
  readonly hasNextPage: boolean;
2386
3069
  readonly hasPreviousPage: boolean;
2387
3070
  readonly cursor?: string | null | undefined;
@@ -2417,25 +3100,81 @@ type GetDocumentOperationsQuery = {
2417
3100
  }>;
2418
3101
  };
2419
3102
  };
2420
- type GetJobStatusQueryVariables = Exact<{
3103
+ export type JobInfoFieldsFragment = {
3104
+ readonly id: string;
3105
+ readonly documentId: string;
3106
+ readonly status: string;
3107
+ readonly result?: NonNullable<unknown> | null | undefined;
3108
+ readonly error?: string | null | undefined;
3109
+ readonly errorName?: string | null | undefined;
3110
+ readonly createdAt: string | Date;
3111
+ readonly completedAt?: string | Date | null | undefined;
3112
+ readonly consistencyToken: {
3113
+ readonly version: number;
3114
+ readonly createdAtUtcIso: string;
3115
+ readonly coordinates: ReadonlyArray<{
3116
+ readonly documentId: string;
3117
+ readonly scope: string;
3118
+ readonly branch: string;
3119
+ readonly operationIndex: number;
3120
+ }>;
3121
+ };
3122
+ readonly meta: {
3123
+ readonly batchId: string;
3124
+ readonly batchJobIds: ReadonlyArray<string>;
3125
+ };
3126
+ };
3127
+ export type GetJobStatusQueryVariables = Exact<{
2421
3128
  jobId: Scalars["String"]["input"];
2422
3129
  }>;
2423
- type GetJobStatusQuery = {
3130
+ export type GetJobStatusQuery = {
2424
3131
  readonly jobStatus?: {
2425
3132
  readonly id: string;
3133
+ readonly documentId: string;
2426
3134
  readonly status: string;
2427
3135
  readonly result?: NonNullable<unknown> | null | undefined;
2428
3136
  readonly error?: string | null | undefined;
3137
+ readonly errorName?: string | null | undefined;
2429
3138
  readonly createdAt: string | Date;
2430
3139
  readonly completedAt?: string | Date | null | undefined;
3140
+ readonly consistencyToken: {
3141
+ readonly version: number;
3142
+ readonly createdAtUtcIso: string;
3143
+ readonly coordinates: ReadonlyArray<{
3144
+ readonly documentId: string;
3145
+ readonly scope: string;
3146
+ readonly branch: string;
3147
+ readonly operationIndex: number;
3148
+ }>;
3149
+ };
3150
+ readonly meta: {
3151
+ readonly batchId: string;
3152
+ readonly batchJobIds: ReadonlyArray<string>;
3153
+ };
2431
3154
  } | null | undefined;
2432
3155
  };
2433
- type EvaluateActionsQueryVariables = Exact<{
3156
+ export type GetDocumentServedQueryVariables = Exact<{
3157
+ idOrSlug: Scalars["String"]["input"];
3158
+ view?: InputMaybe<ViewFilterInput>;
3159
+ }>;
3160
+ export type GetDocumentServedQuery = {
3161
+ readonly documentServed: boolean;
3162
+ };
3163
+ export type GetCreateDefaultsQueryVariables = Exact<{
3164
+ parentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
3165
+ }>;
3166
+ export type GetCreateDefaultsQuery = {
3167
+ readonly createDefaults: {
3168
+ readonly signaturePolicy: string;
3169
+ readonly protocolVersions: NonNullable<unknown>;
3170
+ };
3171
+ };
3172
+ export type EvaluateActionsQueryVariables = Exact<{
2434
3173
  documentIdentifier: Scalars["String"]["input"];
2435
3174
  branch?: InputMaybe<Scalars["String"]["input"]>;
2436
3175
  candidates: ReadonlyArray<ActionCandidateInput>;
2437
3176
  }>;
2438
- type EvaluateActionsQuery = {
3177
+ export type EvaluateActionsQuery = {
2439
3178
  readonly evaluateActions: {
2440
3179
  readonly allAllowed: boolean;
2441
3180
  readonly anyAllowed: boolean;
@@ -2447,16 +3186,18 @@ type EvaluateActionsQuery = {
2447
3186
  }>;
2448
3187
  };
2449
3188
  };
2450
- type CreateDocumentMutationVariables = Exact<{
3189
+ export type CreateDocumentMutationVariables = Exact<{
2451
3190
  document: Scalars["JSONObject"]["input"];
2452
3191
  parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2453
3192
  }>;
2454
- type CreateDocumentMutation = {
3193
+ export type CreateDocumentMutation = {
2455
3194
  readonly createDocument: {
2456
3195
  readonly id: string;
2457
3196
  readonly slug?: string | null | undefined;
2458
3197
  readonly name: string;
2459
3198
  readonly documentType: string;
3199
+ readonly meta?: NonNullable<unknown> | null | undefined;
3200
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2460
3201
  readonly state: NonNullable<unknown>;
2461
3202
  readonly createdAtUtcIso: string | Date;
2462
3203
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2466,16 +3207,18 @@ type CreateDocumentMutation = {
2466
3207
  }>;
2467
3208
  };
2468
3209
  };
2469
- type CreateEmptyDocumentMutationVariables = Exact<{
3210
+ export type CreateEmptyDocumentMutationVariables = Exact<{
2470
3211
  documentType: Scalars["String"]["input"];
2471
3212
  parentIdentifier?: InputMaybe<Scalars["String"]["input"]>;
2472
3213
  }>;
2473
- type CreateEmptyDocumentMutation = {
3214
+ export type CreateEmptyDocumentMutation = {
2474
3215
  readonly createEmptyDocument: {
2475
3216
  readonly id: string;
2476
3217
  readonly slug?: string | null | undefined;
2477
3218
  readonly name: string;
2478
3219
  readonly documentType: string;
3220
+ readonly meta?: NonNullable<unknown> | null | undefined;
3221
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2479
3222
  readonly state: NonNullable<unknown>;
2480
3223
  readonly createdAtUtcIso: string | Date;
2481
3224
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2485,17 +3228,19 @@ type CreateEmptyDocumentMutation = {
2485
3228
  }>;
2486
3229
  };
2487
3230
  };
2488
- type MutateDocumentMutationVariables = Exact<{
3231
+ export type MutateDocumentMutationVariables = Exact<{
2489
3232
  documentIdentifier: Scalars["String"]["input"];
2490
3233
  actions: ReadonlyArray<ActionInput>;
2491
3234
  branch?: InputMaybe<Scalars["String"]["input"]>;
2492
3235
  }>;
2493
- type MutateDocumentMutation = {
3236
+ export type MutateDocumentMutation = {
2494
3237
  readonly mutateDocument: {
2495
3238
  readonly id: string;
2496
3239
  readonly slug?: string | null | undefined;
2497
3240
  readonly name: string;
2498
3241
  readonly documentType: string;
3242
+ readonly meta?: NonNullable<unknown> | null | undefined;
3243
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2499
3244
  readonly state: NonNullable<unknown>;
2500
3245
  readonly createdAtUtcIso: string | Date;
2501
3246
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2505,32 +3250,84 @@ type MutateDocumentMutation = {
2505
3250
  }>;
2506
3251
  };
2507
3252
  };
2508
- type MutateDocumentAsyncMutationVariables = Exact<{
3253
+ export type MutateDocumentAsyncMutationVariables = Exact<{
2509
3254
  documentIdentifier: Scalars["String"]["input"];
2510
3255
  actions: ReadonlyArray<ActionInput>;
2511
3256
  branch?: InputMaybe<Scalars["String"]["input"]>;
2512
3257
  }>;
2513
- type MutateDocumentAsyncMutation = {
3258
+ export type MutateDocumentAsyncMutation = {
2514
3259
  readonly mutateDocumentAsync: {
2515
3260
  readonly id: string;
3261
+ readonly documentId: string;
2516
3262
  readonly status: string;
2517
3263
  readonly result?: NonNullable<unknown> | null | undefined;
2518
3264
  readonly error?: string | null | undefined;
3265
+ readonly errorName?: string | null | undefined;
2519
3266
  readonly createdAt: string | Date;
2520
3267
  readonly completedAt?: string | Date | null | undefined;
3268
+ readonly consistencyToken: {
3269
+ readonly version: number;
3270
+ readonly createdAtUtcIso: string;
3271
+ readonly coordinates: ReadonlyArray<{
3272
+ readonly documentId: string;
3273
+ readonly scope: string;
3274
+ readonly branch: string;
3275
+ readonly operationIndex: number;
3276
+ }>;
3277
+ };
3278
+ readonly meta: {
3279
+ readonly batchId: string;
3280
+ readonly batchJobIds: ReadonlyArray<string>;
3281
+ };
3282
+ };
3283
+ };
3284
+ export type ExecuteBatchMutationVariables = Exact<{
3285
+ jobs: ReadonlyArray<ExecutionJobInput>;
3286
+ }>;
3287
+ export type ExecuteBatchMutation = {
3288
+ readonly executeBatch: {
3289
+ readonly jobs: ReadonlyArray<{
3290
+ readonly key: string;
3291
+ readonly job: {
3292
+ readonly id: string;
3293
+ readonly documentId: string;
3294
+ readonly status: string;
3295
+ readonly result?: NonNullable<unknown> | null | undefined;
3296
+ readonly error?: string | null | undefined;
3297
+ readonly errorName?: string | null | undefined;
3298
+ readonly createdAt: string | Date;
3299
+ readonly completedAt?: string | Date | null | undefined;
3300
+ readonly consistencyToken: {
3301
+ readonly version: number;
3302
+ readonly createdAtUtcIso: string;
3303
+ readonly coordinates: ReadonlyArray<{
3304
+ readonly documentId: string;
3305
+ readonly scope: string;
3306
+ readonly branch: string;
3307
+ readonly operationIndex: number;
3308
+ }>;
3309
+ };
3310
+ readonly meta: {
3311
+ readonly batchId: string;
3312
+ readonly batchJobIds: ReadonlyArray<string>;
3313
+ };
3314
+ };
3315
+ }>;
2521
3316
  };
2522
3317
  };
2523
- type RenameDocumentMutationVariables = Exact<{
3318
+ export type RenameDocumentMutationVariables = Exact<{
2524
3319
  documentIdentifier: Scalars["String"]["input"];
2525
3320
  name: Scalars["String"]["input"];
2526
3321
  branch?: InputMaybe<Scalars["String"]["input"]>;
2527
3322
  }>;
2528
- type RenameDocumentMutation = {
3323
+ export type RenameDocumentMutation = {
2529
3324
  readonly renameDocument: {
2530
3325
  readonly id: string;
2531
3326
  readonly slug?: string | null | undefined;
2532
3327
  readonly name: string;
2533
3328
  readonly documentType: string;
3329
+ readonly meta?: NonNullable<unknown> | null | undefined;
3330
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2534
3331
  readonly state: NonNullable<unknown>;
2535
3332
  readonly createdAtUtcIso: string | Date;
2536
3333
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2540,17 +3337,19 @@ type RenameDocumentMutation = {
2540
3337
  }>;
2541
3338
  };
2542
3339
  };
2543
- type SetPreferredEditorMutationVariables = Exact<{
3340
+ export type SetPreferredEditorMutationVariables = Exact<{
2544
3341
  documentIdentifier: Scalars["String"]["input"];
2545
3342
  preferredEditor?: InputMaybe<Scalars["String"]["input"]>;
2546
3343
  branch?: InputMaybe<Scalars["String"]["input"]>;
2547
3344
  }>;
2548
- type SetPreferredEditorMutation = {
3345
+ export type SetPreferredEditorMutation = {
2549
3346
  readonly setPreferredEditor: {
2550
3347
  readonly id: string;
2551
3348
  readonly slug?: string | null | undefined;
2552
3349
  readonly name: string;
2553
3350
  readonly documentType: string;
3351
+ readonly meta?: NonNullable<unknown> | null | undefined;
3352
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2554
3353
  readonly state: NonNullable<unknown>;
2555
3354
  readonly createdAtUtcIso: string | Date;
2556
3355
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2560,18 +3359,45 @@ type SetPreferredEditorMutation = {
2560
3359
  }>;
2561
3360
  };
2562
3361
  };
2563
- type AddRelationshipMutationVariables = Exact<{
3362
+ export type AddRelationshipMutationVariables = Exact<{
2564
3363
  sourceIdentifier: Scalars["String"]["input"];
2565
3364
  targetIdentifier: Scalars["String"]["input"];
2566
3365
  relationshipType: Scalars["String"]["input"];
3366
+ metadata?: InputMaybe<Scalars["JSONObject"]["input"]>;
2567
3367
  branch?: InputMaybe<Scalars["String"]["input"]>;
2568
3368
  }>;
2569
- type AddRelationshipMutation = {
3369
+ export type AddRelationshipMutation = {
2570
3370
  readonly addRelationship: {
2571
3371
  readonly id: string;
2572
3372
  readonly slug?: string | null | undefined;
2573
3373
  readonly name: string;
2574
3374
  readonly documentType: string;
3375
+ readonly meta?: NonNullable<unknown> | null | undefined;
3376
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
3377
+ readonly state: NonNullable<unknown>;
3378
+ readonly createdAtUtcIso: string | Date;
3379
+ readonly lastModifiedAtUtcIso: string | Date;
3380
+ readonly revisionsList: ReadonlyArray<{
3381
+ readonly scope: string;
3382
+ readonly revision: number;
3383
+ }>;
3384
+ };
3385
+ };
3386
+ export type UpdateRelationshipMutationVariables = Exact<{
3387
+ sourceIdentifier: Scalars["String"]["input"];
3388
+ targetIdentifier: Scalars["String"]["input"];
3389
+ relationshipType: Scalars["String"]["input"];
3390
+ metadata?: InputMaybe<Scalars["JSONObject"]["input"]>;
3391
+ branch?: InputMaybe<Scalars["String"]["input"]>;
3392
+ }>;
3393
+ export type UpdateRelationshipMutation = {
3394
+ readonly updateRelationship: {
3395
+ readonly id: string;
3396
+ readonly slug?: string | null | undefined;
3397
+ readonly name: string;
3398
+ readonly documentType: string;
3399
+ readonly meta?: NonNullable<unknown> | null | undefined;
3400
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2575
3401
  readonly state: NonNullable<unknown>;
2576
3402
  readonly createdAtUtcIso: string | Date;
2577
3403
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2581,18 +3407,20 @@ type AddRelationshipMutation = {
2581
3407
  }>;
2582
3408
  };
2583
3409
  };
2584
- type RemoveRelationshipMutationVariables = Exact<{
3410
+ export type RemoveRelationshipMutationVariables = Exact<{
2585
3411
  sourceIdentifier: Scalars["String"]["input"];
2586
3412
  targetIdentifier: Scalars["String"]["input"];
2587
3413
  relationshipType: Scalars["String"]["input"];
2588
3414
  branch?: InputMaybe<Scalars["String"]["input"]>;
2589
3415
  }>;
2590
- type RemoveRelationshipMutation = {
3416
+ export type RemoveRelationshipMutation = {
2591
3417
  readonly removeRelationship: {
2592
3418
  readonly id: string;
2593
3419
  readonly slug?: string | null | undefined;
2594
3420
  readonly name: string;
2595
3421
  readonly documentType: string;
3422
+ readonly meta?: NonNullable<unknown> | null | undefined;
3423
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2596
3424
  readonly state: NonNullable<unknown>;
2597
3425
  readonly createdAtUtcIso: string | Date;
2598
3426
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2602,20 +3430,22 @@ type RemoveRelationshipMutation = {
2602
3430
  }>;
2603
3431
  };
2604
3432
  };
2605
- type MoveRelationshipMutationVariables = Exact<{
3433
+ export type MoveRelationshipMutationVariables = Exact<{
2606
3434
  sourceParentIdentifier: Scalars["String"]["input"];
2607
3435
  targetParentIdentifier: Scalars["String"]["input"];
2608
3436
  targetIdentifier: Scalars["String"]["input"];
2609
3437
  relationshipType: Scalars["String"]["input"];
2610
3438
  branch?: InputMaybe<Scalars["String"]["input"]>;
2611
3439
  }>;
2612
- type MoveRelationshipMutation = {
3440
+ export type MoveRelationshipMutation = {
2613
3441
  readonly moveRelationship: {
2614
3442
  readonly source: {
2615
3443
  readonly id: string;
2616
3444
  readonly slug?: string | null | undefined;
2617
3445
  readonly name: string;
2618
3446
  readonly documentType: string;
3447
+ readonly meta?: NonNullable<unknown> | null | undefined;
3448
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2619
3449
  readonly state: NonNullable<unknown>;
2620
3450
  readonly createdAtUtcIso: string | Date;
2621
3451
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2629,6 +3459,8 @@ type MoveRelationshipMutation = {
2629
3459
  readonly slug?: string | null | undefined;
2630
3460
  readonly name: string;
2631
3461
  readonly documentType: string;
3462
+ readonly meta?: NonNullable<unknown> | null | undefined;
3463
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2632
3464
  readonly state: NonNullable<unknown>;
2633
3465
  readonly createdAtUtcIso: string | Date;
2634
3466
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2639,25 +3471,25 @@ type MoveRelationshipMutation = {
2639
3471
  };
2640
3472
  };
2641
3473
  };
2642
- type DeleteDocumentMutationVariables = Exact<{
3474
+ export type DeleteDocumentMutationVariables = Exact<{
2643
3475
  identifier: Scalars["String"]["input"];
2644
3476
  propagate?: InputMaybe<PropagationMode>;
2645
3477
  }>;
2646
- type DeleteDocumentMutation = {
3478
+ export type DeleteDocumentMutation = {
2647
3479
  readonly deleteDocument: boolean;
2648
3480
  };
2649
- type DeleteDocumentsMutationVariables = Exact<{
3481
+ export type DeleteDocumentsMutationVariables = Exact<{
2650
3482
  identifiers: ReadonlyArray<Scalars["String"]["input"]>;
2651
3483
  propagate?: InputMaybe<PropagationMode>;
2652
3484
  }>;
2653
- type DeleteDocumentsMutation = {
3485
+ export type DeleteDocumentsMutation = {
2654
3486
  readonly deleteDocuments: boolean;
2655
3487
  };
2656
- type DocumentChangesSubscriptionVariables = Exact<{
3488
+ export type DocumentChangesSubscriptionVariables = Exact<{
2657
3489
  search?: InputMaybe<SearchFilterInput>;
2658
3490
  view?: InputMaybe<ViewFilterInput>;
2659
3491
  }>;
2660
- type DocumentChangesSubscription = {
3492
+ export type DocumentChangesSubscription = {
2661
3493
  readonly documentChanges: {
2662
3494
  readonly type: DocumentChangeType;
2663
3495
  readonly documents: ReadonlyArray<{
@@ -2665,6 +3497,8 @@ type DocumentChangesSubscription = {
2665
3497
  readonly slug?: string | null | undefined;
2666
3498
  readonly name: string;
2667
3499
  readonly documentType: string;
3500
+ readonly meta?: NonNullable<unknown> | null | undefined;
3501
+ readonly protocolVersions?: NonNullable<unknown> | null | undefined;
2668
3502
  readonly state: NonNullable<unknown>;
2669
3503
  readonly createdAtUtcIso: string | Date;
2670
3504
  readonly lastModifiedAtUtcIso: string | Date;
@@ -2679,26 +3513,30 @@ type DocumentChangesSubscription = {
2679
3513
  } | null | undefined;
2680
3514
  };
2681
3515
  };
2682
- type JobChangesSubscriptionVariables = Exact<{
3516
+ export type JobChangesSubscriptionVariables = Exact<{
2683
3517
  jobId: Scalars["String"]["input"];
2684
3518
  }>;
2685
- type JobChangesSubscription = {
3519
+ export type JobChangesSubscription = {
2686
3520
  readonly jobChanges: {
2687
3521
  readonly jobId: string;
2688
3522
  readonly status: string;
2689
- readonly result: NonNullable<unknown>;
3523
+ readonly result?: NonNullable<unknown> | null | undefined;
2690
3524
  readonly error?: string | null | undefined;
2691
3525
  };
2692
3526
  };
2693
- type PollSyncEnvelopesQueryVariables = Exact<{
3527
+ export type PollSyncEnvelopesQueryVariables = Exact<{
2694
3528
  channelId: Scalars["String"]["input"];
2695
3529
  outboxAck: Scalars["Int"]["input"];
2696
3530
  outboxLatest: Scalars["Int"]["input"];
3531
+ manifestRevision?: InputMaybe<Scalars["String"]["input"]>;
3532
+ refusals?: InputMaybe<ReadonlyArray<SyncRefusalInput>>;
2697
3533
  }>;
2698
- type PollSyncEnvelopesQuery = {
3534
+ export type PollSyncEnvelopesQuery = {
2699
3535
  readonly pollSyncEnvelopes: {
2700
3536
  readonly ackOrdinal: number;
2701
3537
  readonly hasMore: boolean;
3538
+ readonly manifestRevision?: string | null | undefined;
3539
+ readonly peerManifestRevision?: string | null | undefined;
2702
3540
  readonly envelopes: ReadonlyArray<{
2703
3541
  readonly type: SyncEnvelopeType;
2704
3542
  readonly key?: string | null | undefined;
@@ -2757,47 +3595,49 @@ type PollSyncEnvelopesQuery = {
2757
3595
  }>;
2758
3596
  };
2759
3597
  };
2760
- type TouchChannelMutationVariables = Exact<{
3598
+ export type TouchChannelMutationVariables = Exact<{
2761
3599
  input: TouchChannelInput;
2762
3600
  }>;
2763
- type TouchChannelMutation = {
3601
+ export type TouchChannelMutation = {
2764
3602
  readonly touchChannel: {
2765
3603
  readonly success: boolean;
2766
3604
  readonly ackOrdinal: number;
3605
+ readonly manifest?: NonNullable<unknown> | null | undefined;
2767
3606
  };
2768
3607
  };
2769
- type PushSyncEnvelopesMutationVariables = Exact<{
3608
+ export type PushSyncEnvelopesMutationVariables = Exact<{
2770
3609
  envelopes: ReadonlyArray<SyncEnvelopeInput>;
3610
+ peerManifestRevision?: InputMaybe<Scalars["String"]["input"]>;
2771
3611
  }>;
2772
- type PushSyncEnvelopesMutation = {
3612
+ export type PushSyncEnvelopesMutation = {
2773
3613
  readonly pushSyncEnvelopes: boolean;
2774
3614
  };
2775
- type WithIndex<TObject> = TObject & Record<string, any>;
2776
- type ResolversObject<TObject> = WithIndex<TObject>;
2777
- type ResolverTypeWrapper<T> = Promise<T> | T;
2778
- type ResolverWithResolve<TResult, TParent, TContext, TArgs> = {
3615
+ export type WithIndex<TObject> = TObject & Record<string, any>;
3616
+ export type ResolversObject<TObject> = WithIndex<TObject>;
3617
+ export type ResolverTypeWrapper<T> = Promise<T> | T;
3618
+ export type ResolverWithResolve<TResult, TParent, TContext, TArgs> = {
2779
3619
  resolve: ResolverFn<TResult, TParent, TContext, TArgs>;
2780
3620
  };
2781
- type Resolver<TResult, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>, TArgs = Record<PropertyKey, never>> = ResolverFn<TResult, TParent, TContext, TArgs> | ResolverWithResolve<TResult, TParent, TContext, TArgs>;
2782
- type ResolverFn<TResult, TParent, TContext, TArgs> = (parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => Promise<TResult> | TResult;
2783
- type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => AsyncIterable<TResult> | Promise<AsyncIterable<TResult>>;
2784
- type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => TResult | Promise<TResult>;
2785
- interface SubscriptionSubscriberObject<TResult, TKey extends string, TParent, TContext, TArgs> {
2786
- subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>;
2787
- resolve?: SubscriptionResolveFn<TResult, { [key in TKey]: TResult }, TContext, TArgs>;
3621
+ export type Resolver<TResult, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>, TArgs = Record<PropertyKey, never>> = ResolverFn<TResult, TParent, TContext, TArgs> | ResolverWithResolve<TResult, TParent, TContext, TArgs>;
3622
+ export type ResolverFn<TResult, TParent, TContext, TArgs> = (parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => Promise<TResult> | TResult;
3623
+ export type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => AsyncIterable<TResult> | Promise<AsyncIterable<TResult>>;
3624
+ export type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => TResult | Promise<TResult>;
3625
+ export interface SubscriptionSubscriberObject<TResult, TKey extends string, TParent, TContext, TArgs> {
3626
+ subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult; }, TParent, TContext, TArgs>;
3627
+ resolve?: SubscriptionResolveFn<TResult, { [key in TKey]: TResult; }, TContext, TArgs>;
2788
3628
  }
2789
- interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {
3629
+ export interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {
2790
3630
  subscribe: SubscriptionSubscribeFn<any, TParent, TContext, TArgs>;
2791
3631
  resolve: SubscriptionResolveFn<TResult, any, TContext, TArgs>;
2792
3632
  }
2793
- type SubscriptionObject<TResult, TKey extends string, TParent, TContext, TArgs> = SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs> | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>;
2794
- type SubscriptionResolver<TResult, TKey extends string, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>, TArgs = Record<PropertyKey, never>> = ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>) | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>;
2795
- type TypeResolveFn<TTypes, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>> = (parent: TParent, context: TContext, info: GraphQLResolveInfo) => Maybe<TTypes> | Promise<Maybe<TTypes>>;
2796
- type IsTypeOfResolverFn<T = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>> = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise<boolean>;
2797
- type NextResolverFn<T> = () => Promise<T>;
2798
- type DirectiveResolverFn<TResult = Record<PropertyKey, never>, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>, TArgs = Record<PropertyKey, never>> = (next: NextResolverFn<TResult>, parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => TResult | Promise<TResult>;
3633
+ export type SubscriptionObject<TResult, TKey extends string, TParent, TContext, TArgs> = SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs> | SubscriptionResolverObject<TResult, TParent, TContext, TArgs>;
3634
+ export type SubscriptionResolver<TResult, TKey extends string, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>, TArgs = Record<PropertyKey, never>> = ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>) | SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>;
3635
+ export type TypeResolveFn<TTypes, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>> = (parent: TParent, context: TContext, info: GraphQLResolveInfo) => Maybe<TTypes> | Promise<Maybe<TTypes>>;
3636
+ export type IsTypeOfResolverFn<T = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>> = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise<boolean>;
3637
+ export type NextResolverFn<T> = () => Promise<T>;
3638
+ export type DirectiveResolverFn<TResult = Record<PropertyKey, never>, TParent = Record<PropertyKey, never>, TContext = Record<PropertyKey, never>, TArgs = Record<PropertyKey, never>> = (next: NextResolverFn<TResult>, parent: TParent, args: TArgs, context: TContext, info: GraphQLResolveInfo) => TResult | Promise<TResult>;
2799
3639
  /** Mapping between all available schema types and the resolvers types */
2800
- type ResolversTypes = ResolversObject<{
3640
+ export type ResolversTypes = ResolversObject<{
2801
3641
  Action: ResolverTypeWrapper<Action>;
2802
3642
  ActionCandidateInput: ActionCandidateInput;
2803
3643
  ActionContext: ResolverTypeWrapper<ActionContext>;
@@ -2806,9 +3646,14 @@ type ResolversTypes = ResolversObject<{
2806
3646
  ActionEvaluations: ResolverTypeWrapper<ActionEvaluations>;
2807
3647
  ActionInput: ActionInput;
2808
3648
  AuthDecision: AuthDecision;
3649
+ BatchExecutionResult: ResolverTypeWrapper<BatchExecutionResult>;
3650
+ BatchJobResult: ResolverTypeWrapper<BatchJobResult>;
2809
3651
  Boolean: ResolverTypeWrapper<Scalars["Boolean"]["output"]>;
2810
3652
  ChannelMeta: ResolverTypeWrapper<ChannelMeta>;
2811
3653
  ChannelMetaInput: ChannelMetaInput;
3654
+ ConsistencyCoordinate: ResolverTypeWrapper<ConsistencyCoordinate>;
3655
+ ConsistencyToken: ResolverTypeWrapper<ConsistencyToken>;
3656
+ CreateDefaults: ResolverTypeWrapper<CreateDefaults>;
2812
3657
  DateTime: ResolverTypeWrapper<Scalars["DateTime"]["output"]>;
2813
3658
  DeadLetterInfo: ResolverTypeWrapper<DeadLetterInfo>;
2814
3659
  DocumentChangeContext: ResolverTypeWrapper<DocumentChangeContext>;
@@ -2817,9 +3662,13 @@ type ResolversTypes = ResolversObject<{
2817
3662
  DocumentModelGlobalState: ResolverTypeWrapper<DocumentModelGlobalState>;
2818
3663
  DocumentModelResultPage: ResolverTypeWrapper<DocumentModelResultPage>;
2819
3664
  DocumentOperationsFilterInput: DocumentOperationsFilterInput;
3665
+ DocumentRelationship: ResolverTypeWrapper<DocumentRelationship>;
3666
+ DocumentRelationshipResultPage: ResolverTypeWrapper<DocumentRelationshipResultPage>;
2820
3667
  DocumentWithChildren: ResolverTypeWrapper<DocumentWithChildren>;
3668
+ ExecutionJobInput: ExecutionJobInput;
2821
3669
  Int: ResolverTypeWrapper<Scalars["Int"]["output"]>;
2822
3670
  JSONObject: ResolverTypeWrapper<Scalars["JSONObject"]["output"]>;
3671
+ JobBatchMeta: ResolverTypeWrapper<JobBatchMeta>;
2823
3672
  JobChangeEvent: ResolverTypeWrapper<JobChangeEvent>;
2824
3673
  JobInfo: ResolverTypeWrapper<JobInfo>;
2825
3674
  MoveRelationshipResult: ResolverTypeWrapper<MoveRelationshipResult>;
@@ -2833,6 +3682,9 @@ type ResolversTypes = ResolversObject<{
2833
3682
  PHDocument: ResolverTypeWrapper<PhDocument>;
2834
3683
  PHDocumentResultPage: ResolverTypeWrapper<PhDocumentResultPage>;
2835
3684
  PagingInput: PagingInput;
3685
+ PeerAgreement: ResolverTypeWrapper<PeerAgreement>;
3686
+ PeerAgreementLimit: ResolverTypeWrapper<PeerAgreementLimit>;
3687
+ PeerAgreementMember: ResolverTypeWrapper<PeerAgreementMember>;
2836
3688
  PollSyncEnvelopesResult: ResolverTypeWrapper<PollSyncEnvelopesResult>;
2837
3689
  PropagationMode: PropagationMode;
2838
3690
  Query: ResolverTypeWrapper<Record<PropertyKey, never>>;
@@ -2854,12 +3706,15 @@ type ResolversTypes = ResolversObject<{
2854
3706
  SyncEnvelope: ResolverTypeWrapper<SyncEnvelope>;
2855
3707
  SyncEnvelopeInput: SyncEnvelopeInput;
2856
3708
  SyncEnvelopeType: SyncEnvelopeType;
3709
+ SyncHold: ResolverTypeWrapper<SyncHold>;
3710
+ SyncHoldReason: ResolverTypeWrapper<SyncHoldReason>;
3711
+ SyncRefusalInput: SyncRefusalInput;
2857
3712
  TouchChannelInput: TouchChannelInput;
2858
3713
  TouchChannelResult: ResolverTypeWrapper<TouchChannelResult>;
2859
3714
  ViewFilterInput: ViewFilterInput;
2860
3715
  }>;
2861
3716
  /** Mapping between all available schema types and the resolvers parents */
2862
- type ResolversParentTypes = ResolversObject<{
3717
+ export type ResolversParentTypes = ResolversObject<{
2863
3718
  Action: Action;
2864
3719
  ActionCandidateInput: ActionCandidateInput;
2865
3720
  ActionContext: ActionContext;
@@ -2867,9 +3722,14 @@ type ResolversParentTypes = ResolversObject<{
2867
3722
  ActionEvaluation: ActionEvaluation;
2868
3723
  ActionEvaluations: ActionEvaluations;
2869
3724
  ActionInput: ActionInput;
3725
+ BatchExecutionResult: BatchExecutionResult;
3726
+ BatchJobResult: BatchJobResult;
2870
3727
  Boolean: Scalars["Boolean"]["output"];
2871
3728
  ChannelMeta: ChannelMeta;
2872
3729
  ChannelMetaInput: ChannelMetaInput;
3730
+ ConsistencyCoordinate: ConsistencyCoordinate;
3731
+ ConsistencyToken: ConsistencyToken;
3732
+ CreateDefaults: CreateDefaults;
2873
3733
  DateTime: Scalars["DateTime"]["output"];
2874
3734
  DeadLetterInfo: DeadLetterInfo;
2875
3735
  DocumentChangeContext: DocumentChangeContext;
@@ -2877,9 +3737,13 @@ type ResolversParentTypes = ResolversObject<{
2877
3737
  DocumentModelGlobalState: DocumentModelGlobalState;
2878
3738
  DocumentModelResultPage: DocumentModelResultPage;
2879
3739
  DocumentOperationsFilterInput: DocumentOperationsFilterInput;
3740
+ DocumentRelationship: DocumentRelationship;
3741
+ DocumentRelationshipResultPage: DocumentRelationshipResultPage;
2880
3742
  DocumentWithChildren: DocumentWithChildren;
3743
+ ExecutionJobInput: ExecutionJobInput;
2881
3744
  Int: Scalars["Int"]["output"];
2882
3745
  JSONObject: Scalars["JSONObject"]["output"];
3746
+ JobBatchMeta: JobBatchMeta;
2883
3747
  JobChangeEvent: JobChangeEvent;
2884
3748
  JobInfo: JobInfo;
2885
3749
  MoveRelationshipResult: MoveRelationshipResult;
@@ -2893,6 +3757,9 @@ type ResolversParentTypes = ResolversObject<{
2893
3757
  PHDocument: PhDocument;
2894
3758
  PHDocumentResultPage: PhDocumentResultPage;
2895
3759
  PagingInput: PagingInput;
3760
+ PeerAgreement: PeerAgreement;
3761
+ PeerAgreementLimit: PeerAgreementLimit;
3762
+ PeerAgreementMember: PeerAgreementMember;
2896
3763
  PollSyncEnvelopesResult: PollSyncEnvelopesResult;
2897
3764
  Query: Record<PropertyKey, never>;
2898
3765
  ReactorOperation: ReactorOperation;
@@ -2912,11 +3779,14 @@ type ResolversParentTypes = ResolversObject<{
2912
3779
  Subscription: Record<PropertyKey, never>;
2913
3780
  SyncEnvelope: SyncEnvelope;
2914
3781
  SyncEnvelopeInput: SyncEnvelopeInput;
3782
+ SyncHold: SyncHold;
3783
+ SyncHoldReason: SyncHoldReason;
3784
+ SyncRefusalInput: SyncRefusalInput;
2915
3785
  TouchChannelInput: TouchChannelInput;
2916
3786
  TouchChannelResult: TouchChannelResult;
2917
3787
  ViewFilterInput: ViewFilterInput;
2918
3788
  }>;
2919
- type ActionResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Action"] = ResolversParentTypes["Action"]> = ResolversObject<{
3789
+ export type ActionResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Action"] = ResolversParentTypes["Action"]> = ResolversObject<{
2920
3790
  context?: Resolver<Maybe<ResolversTypes["ActionContext"]>, ParentType, ContextType>;
2921
3791
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2922
3792
  input?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
@@ -2924,27 +3794,49 @@ type ActionResolvers<ContextType = Context, ParentType extends ResolversParentTy
2924
3794
  timestampUtcMs?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2925
3795
  type?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2926
3796
  }>;
2927
- type ActionContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionContext"] = ResolversParentTypes["ActionContext"]> = ResolversObject<{
3797
+ export type ActionContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionContext"] = ResolversParentTypes["ActionContext"]> = ResolversObject<{
2928
3798
  signer?: Resolver<Maybe<ResolversTypes["ReactorSigner"]>, ParentType, ContextType>;
2929
3799
  }>;
2930
- type ActionEvaluationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionEvaluation"] = ResolversParentTypes["ActionEvaluation"]> = ResolversObject<{
3800
+ export type ActionEvaluationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionEvaluation"] = ResolversParentTypes["ActionEvaluation"]> = ResolversObject<{
2931
3801
  decision?: Resolver<ResolversTypes["AuthDecision"], ParentType, ContextType>;
2932
3802
  reason?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2933
3803
  }>;
2934
- type ActionEvaluationsResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionEvaluations"] = ResolversParentTypes["ActionEvaluations"]> = ResolversObject<{
3804
+ export type ActionEvaluationsResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionEvaluations"] = ResolversParentTypes["ActionEvaluations"]> = ResolversObject<{
2935
3805
  allAllowed?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2936
3806
  allDenied?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2937
3807
  anyAllowed?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2938
3808
  anyDenied?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2939
3809
  evaluations?: Resolver<ReadonlyArray<ResolversTypes["ActionEvaluation"]>, ParentType, ContextType>;
2940
3810
  }>;
2941
- type ChannelMetaResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ChannelMeta"] = ResolversParentTypes["ChannelMeta"]> = ResolversObject<{
3811
+ export type BatchExecutionResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["BatchExecutionResult"] = ResolversParentTypes["BatchExecutionResult"]> = ResolversObject<{
3812
+ jobs?: Resolver<ReadonlyArray<ResolversTypes["BatchJobResult"]>, ParentType, ContextType>;
3813
+ }>;
3814
+ export type BatchJobResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["BatchJobResult"] = ResolversParentTypes["BatchJobResult"]> = ResolversObject<{
3815
+ job?: Resolver<ResolversTypes["JobInfo"], ParentType, ContextType>;
3816
+ key?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3817
+ }>;
3818
+ export type ChannelMetaResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ChannelMeta"] = ResolversParentTypes["ChannelMeta"]> = ResolversObject<{
2942
3819
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2943
3820
  }>;
2944
- interface DateTimeScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes["DateTime"], any> {
3821
+ export type ConsistencyCoordinateResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ConsistencyCoordinate"] = ResolversParentTypes["ConsistencyCoordinate"]> = ResolversObject<{
3822
+ branch?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3823
+ documentId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3824
+ operationIndex?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3825
+ scope?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3826
+ }>;
3827
+ export type ConsistencyTokenResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ConsistencyToken"] = ResolversParentTypes["ConsistencyToken"]> = ResolversObject<{
3828
+ coordinates?: Resolver<ReadonlyArray<ResolversTypes["ConsistencyCoordinate"]>, ParentType, ContextType>;
3829
+ createdAtUtcIso?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3830
+ version?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3831
+ }>;
3832
+ export type CreateDefaultsResolvers<ContextType = Context, ParentType extends ResolversParentTypes["CreateDefaults"] = ResolversParentTypes["CreateDefaults"]> = ResolversObject<{
3833
+ protocolVersions?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
3834
+ signaturePolicy?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3835
+ }>;
3836
+ export interface DateTimeScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes["DateTime"], any> {
2945
3837
  name: "DateTime";
2946
3838
  }
2947
- type DeadLetterInfoResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DeadLetterInfo"] = ResolversParentTypes["DeadLetterInfo"]> = ResolversObject<{
3839
+ export type DeadLetterInfoResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DeadLetterInfo"] = ResolversParentTypes["DeadLetterInfo"]> = ResolversObject<{
2948
3840
  branch?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2949
3841
  documentId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2950
3842
  error?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
@@ -2953,119 +3845,167 @@ type DeadLetterInfoResolvers<ContextType = Context, ParentType extends Resolvers
2953
3845
  operationCount?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
2954
3846
  scopes?: Resolver<ReadonlyArray<ResolversTypes["String"]>, ParentType, ContextType>;
2955
3847
  }>;
2956
- type DocumentChangeContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentChangeContext"] = ResolversParentTypes["DocumentChangeContext"]> = ResolversObject<{
3848
+ export type DocumentChangeContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentChangeContext"] = ResolversParentTypes["DocumentChangeContext"]> = ResolversObject<{
2957
3849
  childId?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2958
3850
  parentId?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2959
3851
  }>;
2960
- type DocumentChangeEventResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentChangeEvent"] = ResolversParentTypes["DocumentChangeEvent"]> = ResolversObject<{
3852
+ export type DocumentChangeEventResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentChangeEvent"] = ResolversParentTypes["DocumentChangeEvent"]> = ResolversObject<{
2961
3853
  context?: Resolver<Maybe<ResolversTypes["DocumentChangeContext"]>, ParentType, ContextType>;
2962
3854
  documents?: Resolver<ReadonlyArray<ResolversTypes["PHDocument"]>, ParentType, ContextType>;
2963
3855
  type?: Resolver<ResolversTypes["DocumentChangeType"], ParentType, ContextType>;
2964
3856
  }>;
2965
- type DocumentModelGlobalStateResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentModelGlobalState"] = ResolversParentTypes["DocumentModelGlobalState"]> = ResolversObject<{
3857
+ export type DocumentModelGlobalStateResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentModelGlobalState"] = ResolversParentTypes["DocumentModelGlobalState"]> = ResolversObject<{
2966
3858
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2967
3859
  name?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2968
3860
  namespace?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2969
3861
  specification?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
2970
3862
  version?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2971
3863
  }>;
2972
- type DocumentModelResultPageResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentModelResultPage"] = ResolversParentTypes["DocumentModelResultPage"]> = ResolversObject<{
3864
+ export type DocumentModelResultPageResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentModelResultPage"] = ResolversParentTypes["DocumentModelResultPage"]> = ResolversObject<{
2973
3865
  cursor?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2974
3866
  hasNextPage?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2975
3867
  hasPreviousPage?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
2976
3868
  items?: Resolver<ReadonlyArray<ResolversTypes["DocumentModelGlobalState"]>, ParentType, ContextType>;
2977
- totalCount?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
2978
3869
  }>;
2979
- type DocumentWithChildrenResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentWithChildren"] = ResolversParentTypes["DocumentWithChildren"]> = ResolversObject<{
3870
+ export type DocumentRelationshipResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentRelationship"] = ResolversParentTypes["DocumentRelationship"]> = ResolversObject<{
3871
+ createdAt?: Resolver<ResolversTypes["DateTime"], ParentType, ContextType>;
3872
+ metadata?: Resolver<Maybe<ResolversTypes["JSONObject"]>, ParentType, ContextType>;
3873
+ relationshipType?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3874
+ sourceId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3875
+ targetId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3876
+ updatedAt?: Resolver<ResolversTypes["DateTime"], ParentType, ContextType>;
3877
+ }>;
3878
+ export type DocumentRelationshipResultPageResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentRelationshipResultPage"] = ResolversParentTypes["DocumentRelationshipResultPage"]> = ResolversObject<{
3879
+ cursor?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3880
+ hasNextPage?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3881
+ hasPreviousPage?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3882
+ items?: Resolver<ReadonlyArray<ResolversTypes["DocumentRelationship"]>, ParentType, ContextType>;
3883
+ }>;
3884
+ export type DocumentWithChildrenResolvers<ContextType = Context, ParentType extends ResolversParentTypes["DocumentWithChildren"] = ResolversParentTypes["DocumentWithChildren"]> = ResolversObject<{
2980
3885
  childIds?: Resolver<ReadonlyArray<ResolversTypes["String"]>, ParentType, ContextType>;
2981
3886
  document?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType>;
2982
3887
  }>;
2983
- interface JsonObjectScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes["JSONObject"], any> {
3888
+ export interface JsonObjectScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes["JSONObject"], any> {
2984
3889
  name: "JSONObject";
2985
3890
  }
2986
- type JobChangeEventResolvers<ContextType = Context, ParentType extends ResolversParentTypes["JobChangeEvent"] = ResolversParentTypes["JobChangeEvent"]> = ResolversObject<{
3891
+ export type JobBatchMetaResolvers<ContextType = Context, ParentType extends ResolversParentTypes["JobBatchMeta"] = ResolversParentTypes["JobBatchMeta"]> = ResolversObject<{
3892
+ batchId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3893
+ batchJobIds?: Resolver<ReadonlyArray<ResolversTypes["String"]>, ParentType, ContextType>;
3894
+ }>;
3895
+ export type JobChangeEventResolvers<ContextType = Context, ParentType extends ResolversParentTypes["JobChangeEvent"] = ResolversParentTypes["JobChangeEvent"]> = ResolversObject<{
2987
3896
  error?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2988
3897
  jobId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2989
- result?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
3898
+ result?: Resolver<Maybe<ResolversTypes["JSONObject"]>, ParentType, ContextType>;
2990
3899
  status?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2991
3900
  }>;
2992
- type JobInfoResolvers<ContextType = Context, ParentType extends ResolversParentTypes["JobInfo"] = ResolversParentTypes["JobInfo"]> = ResolversObject<{
3901
+ export type JobInfoResolvers<ContextType = Context, ParentType extends ResolversParentTypes["JobInfo"] = ResolversParentTypes["JobInfo"]> = ResolversObject<{
2993
3902
  completedAt?: Resolver<Maybe<ResolversTypes["DateTime"]>, ParentType, ContextType>;
3903
+ consistencyToken?: Resolver<ResolversTypes["ConsistencyToken"], ParentType, ContextType>;
2994
3904
  createdAt?: Resolver<ResolversTypes["DateTime"], ParentType, ContextType>;
3905
+ documentId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2995
3906
  error?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3907
+ errorName?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
2996
3908
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3909
+ meta?: Resolver<ResolversTypes["JobBatchMeta"], ParentType, ContextType>;
2997
3910
  result?: Resolver<Maybe<ResolversTypes["JSONObject"]>, ParentType, ContextType>;
2998
3911
  status?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
2999
3912
  }>;
3000
- type MoveRelationshipResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["MoveRelationshipResult"] = ResolversParentTypes["MoveRelationshipResult"]> = ResolversObject<{
3913
+ export type MoveRelationshipResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["MoveRelationshipResult"] = ResolversParentTypes["MoveRelationshipResult"]> = ResolversObject<{
3001
3914
  source?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType>;
3002
3915
  target?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType>;
3003
3916
  }>;
3004
- type MutationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Mutation"] = ResolversParentTypes["Mutation"]> = ResolversObject<{
3005
- addRelationship?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationAddRelationshipArgs, "relationshipType" | "sourceIdentifier" | "targetIdentifier">>;
3917
+ export type MutationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Mutation"] = ResolversParentTypes["Mutation"]> = ResolversObject<{
3918
+ addRelationship?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationAddRelationshipArgs, "relationshipType">>;
3006
3919
  createDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationCreateDocumentArgs, "document">>;
3007
3920
  createEmptyDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationCreateEmptyDocumentArgs, "documentType">>;
3008
- deleteDocument?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, RequireFields<MutationDeleteDocumentArgs, "identifier">>;
3009
- deleteDocuments?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, RequireFields<MutationDeleteDocumentsArgs, "identifiers">>;
3010
- execute?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationExecuteArgs, "actions" | "documentIdentifier">>;
3011
- executeAsync?: Resolver<ResolversTypes["JobInfo"], ParentType, ContextType, RequireFields<MutationExecuteAsyncArgs, "actions" | "documentIdentifier">>;
3012
- moveRelationship?: Resolver<ResolversTypes["MoveRelationshipResult"], ParentType, ContextType, RequireFields<MutationMoveRelationshipArgs, "relationshipType" | "sourceParentIdentifier" | "targetIdentifier" | "targetParentIdentifier">>;
3921
+ deleteDocument?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, Partial<MutationDeleteDocumentArgs>>;
3922
+ deleteDocuments?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, Partial<MutationDeleteDocumentsArgs>>;
3923
+ execute?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationExecuteArgs, "actions">>;
3924
+ executeAsync?: Resolver<ResolversTypes["JobInfo"], ParentType, ContextType, RequireFields<MutationExecuteAsyncArgs, "actions">>;
3925
+ executeBatch?: Resolver<ResolversTypes["BatchExecutionResult"], ParentType, ContextType, RequireFields<MutationExecuteBatchArgs, "jobs">>;
3926
+ moveRelationship?: Resolver<ResolversTypes["MoveRelationshipResult"], ParentType, ContextType, RequireFields<MutationMoveRelationshipArgs, "relationshipType">>;
3013
3927
  mutateDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationMutateDocumentArgs, "actions" | "documentIdentifier">>;
3014
3928
  mutateDocumentAsync?: Resolver<ResolversTypes["String"], ParentType, ContextType, RequireFields<MutationMutateDocumentAsyncArgs, "actions" | "documentIdentifier">>;
3015
3929
  pushSyncEnvelopes?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, RequireFields<MutationPushSyncEnvelopesArgs, "envelopes">>;
3016
- removeRelationship?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationRemoveRelationshipArgs, "relationshipType" | "sourceIdentifier" | "targetIdentifier">>;
3017
- renameDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationRenameDocumentArgs, "documentIdentifier" | "name">>;
3018
- setPreferredEditor?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationSetPreferredEditorArgs, "documentIdentifier">>;
3930
+ removeRelationship?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationRemoveRelationshipArgs, "relationshipType">>;
3931
+ renameDocument?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationRenameDocumentArgs, "name">>;
3932
+ setPreferredEditor?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, Partial<MutationSetPreferredEditorArgs>>;
3019
3933
  touchChannel?: Resolver<ResolversTypes["TouchChannelResult"], ParentType, ContextType, RequireFields<MutationTouchChannelArgs, "input">>;
3934
+ updateRelationship?: Resolver<ResolversTypes["PHDocument"], ParentType, ContextType, RequireFields<MutationUpdateRelationshipArgs, "relationshipType">>;
3020
3935
  }>;
3021
- type OperationContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["OperationContext"] = ResolversParentTypes["OperationContext"]> = ResolversObject<{
3936
+ export type OperationContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["OperationContext"] = ResolversParentTypes["OperationContext"]> = ResolversObject<{
3022
3937
  branch?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3023
3938
  documentId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3024
3939
  documentType?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3025
3940
  ordinal?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3026
3941
  scope?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3027
3942
  }>;
3028
- type OperationWithContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["OperationWithContext"] = ResolversParentTypes["OperationWithContext"]> = ResolversObject<{
3943
+ export type OperationWithContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["OperationWithContext"] = ResolversParentTypes["OperationWithContext"]> = ResolversObject<{
3029
3944
  context?: Resolver<ResolversTypes["OperationContext"], ParentType, ContextType>;
3030
3945
  operation?: Resolver<ResolversTypes["ReactorOperation"], ParentType, ContextType>;
3031
3946
  }>;
3032
- type PhDocumentResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PHDocument"] = ResolversParentTypes["PHDocument"]> = ResolversObject<{
3947
+ export type PhDocumentResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PHDocument"] = ResolversParentTypes["PHDocument"]> = ResolversObject<{
3033
3948
  createdAtUtcIso?: Resolver<ResolversTypes["DateTime"], ParentType, ContextType>;
3034
3949
  documentType?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3035
3950
  id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3036
3951
  lastModifiedAtUtcIso?: Resolver<ResolversTypes["DateTime"], ParentType, ContextType>;
3952
+ meta?: Resolver<Maybe<ResolversTypes["JSONObject"]>, ParentType, ContextType>;
3037
3953
  name?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3038
3954
  operations?: Resolver<Maybe<ResolversTypes["ReactorOperationResultPage"]>, ParentType, ContextType, Partial<PhDocumentOperationsArgs>>;
3039
3955
  preferredEditor?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3956
+ protocolVersions?: Resolver<Maybe<ResolversTypes["JSONObject"]>, ParentType, ContextType>;
3040
3957
  revisionsList?: Resolver<ReadonlyArray<ResolversTypes["Revision"]>, ParentType, ContextType>;
3041
3958
  slug?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3042
3959
  state?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
3043
3960
  }>;
3044
- type PhDocumentResultPageResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PHDocumentResultPage"] = ResolversParentTypes["PHDocumentResultPage"]> = ResolversObject<{
3961
+ export type PhDocumentResultPageResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PHDocumentResultPage"] = ResolversParentTypes["PHDocumentResultPage"]> = ResolversObject<{
3045
3962
  cursor?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3046
3963
  hasNextPage?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3047
3964
  hasPreviousPage?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3048
3965
  items?: Resolver<ReadonlyArray<ResolversTypes["PHDocument"]>, ParentType, ContextType>;
3049
- totalCount?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3050
3966
  }>;
3051
- type PollSyncEnvelopesResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PollSyncEnvelopesResult"] = ResolversParentTypes["PollSyncEnvelopesResult"]> = ResolversObject<{
3967
+ export type PeerAgreementResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PeerAgreement"] = ResolversParentTypes["PeerAgreement"]> = ResolversObject<{
3968
+ collectionId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3969
+ limitedBy?: Resolver<ReadonlyArray<ResolversTypes["PeerAgreementLimit"]>, ParentType, ContextType>;
3970
+ local?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
3971
+ members?: Resolver<ReadonlyArray<ResolversTypes["PeerAgreementMember"]>, ParentType, ContextType>;
3972
+ }>;
3973
+ export type PeerAgreementLimitResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PeerAgreementLimit"] = ResolversParentTypes["PeerAgreementLimit"]> = ResolversObject<{
3974
+ protocol?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3975
+ remoteNames?: Resolver<ReadonlyArray<ResolversTypes["String"]>, ParentType, ContextType>;
3976
+ }>;
3977
+ export type PeerAgreementMemberResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PeerAgreementMember"] = ResolversParentTypes["PeerAgreementMember"]> = ResolversObject<{
3978
+ announced?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3979
+ features?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
3980
+ protocols?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
3981
+ remoteName?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3982
+ }>;
3983
+ export type PollSyncEnvelopesResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["PollSyncEnvelopesResult"] = ResolversParentTypes["PollSyncEnvelopesResult"]> = ResolversObject<{
3052
3984
  ackOrdinal?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3053
3985
  deadLetters?: Resolver<ReadonlyArray<ResolversTypes["DeadLetterInfo"]>, ParentType, ContextType>;
3054
3986
  envelopes?: Resolver<ReadonlyArray<ResolversTypes["SyncEnvelope"]>, ParentType, ContextType>;
3055
3987
  hasMore?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3988
+ manifestRevision?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3989
+ peerManifestRevision?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3056
3990
  }>;
3057
- type QueryResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Query"] = ResolversParentTypes["Query"]> = ResolversObject<{
3058
- document?: Resolver<Maybe<ResolversTypes["DocumentWithChildren"]>, ParentType, ContextType, RequireFields<QueryDocumentArgs, "identifier">>;
3059
- documentIncomingRelationships?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, RequireFields<QueryDocumentIncomingRelationshipsArgs, "relationshipType" | "targetIdentifier">>;
3991
+ export type QueryResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Query"] = ResolversParentTypes["Query"]> = ResolversObject<{
3992
+ createDefaults?: Resolver<ResolversTypes["CreateDefaults"], ParentType, ContextType, Partial<QueryCreateDefaultsArgs>>;
3993
+ document?: Resolver<Maybe<ResolversTypes["DocumentWithChildren"]>, ParentType, ContextType, Partial<QueryDocumentArgs>>;
3994
+ documentIncomingRelationshipEdges?: Resolver<ResolversTypes["DocumentRelationshipResultPage"], ParentType, ContextType, Partial<QueryDocumentIncomingRelationshipEdgesArgs>>;
3995
+ documentIncomingRelationships?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, RequireFields<QueryDocumentIncomingRelationshipsArgs, "relationshipType">>;
3060
3996
  documentModels?: Resolver<ResolversTypes["DocumentModelResultPage"], ParentType, ContextType, Partial<QueryDocumentModelsArgs>>;
3061
3997
  documentOperations?: Resolver<ResolversTypes["ReactorOperationResultPage"], ParentType, ContextType, RequireFields<QueryDocumentOperationsArgs, "filter">>;
3062
- documentOutgoingRelationships?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, RequireFields<QueryDocumentOutgoingRelationshipsArgs, "relationshipType" | "sourceIdentifier">>;
3063
- evaluateActions?: Resolver<ResolversTypes["ActionEvaluations"], ParentType, ContextType, RequireFields<QueryEvaluateActionsArgs, "candidates" | "documentIdentifier">>;
3998
+ documentOutgoingRelationshipEdges?: Resolver<ResolversTypes["DocumentRelationshipResultPage"], ParentType, ContextType, Partial<QueryDocumentOutgoingRelationshipEdgesArgs>>;
3999
+ documentOutgoingRelationships?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, RequireFields<QueryDocumentOutgoingRelationshipsArgs, "relationshipType">>;
4000
+ documentServed?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType, RequireFields<QueryDocumentServedArgs, "idOrSlug">>;
4001
+ evaluateActions?: Resolver<ResolversTypes["ActionEvaluations"], ParentType, ContextType, RequireFields<QueryEvaluateActionsArgs, "candidates">>;
3064
4002
  findDocuments?: Resolver<ResolversTypes["PHDocumentResultPage"], ParentType, ContextType, Partial<QueryFindDocumentsArgs>>;
3065
4003
  jobStatus?: Resolver<Maybe<ResolversTypes["JobInfo"]>, ParentType, ContextType, RequireFields<QueryJobStatusArgs, "jobId">>;
4004
+ peerAgreement?: Resolver<ResolversTypes["PeerAgreement"], ParentType, ContextType, RequireFields<QueryPeerAgreementArgs, "collectionId">>;
3066
4005
  pollSyncEnvelopes?: Resolver<ResolversTypes["PollSyncEnvelopesResult"], ParentType, ContextType, RequireFields<QueryPollSyncEnvelopesArgs, "channelId" | "outboxAck" | "outboxLatest">>;
4006
+ syncHolds?: Resolver<ReadonlyArray<ResolversTypes["SyncHold"]>, ParentType, ContextType, Partial<QuerySyncHoldsArgs>>;
3067
4007
  }>;
3068
- type ReactorOperationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorOperation"] = ResolversParentTypes["ReactorOperation"]> = ResolversObject<{
4008
+ export type ReactorOperationResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorOperation"] = ResolversParentTypes["ReactorOperation"]> = ResolversObject<{
3069
4009
  action?: Resolver<ResolversTypes["Action"], ParentType, ContextType>;
3070
4010
  deniedReason?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3071
4011
  error?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
@@ -3075,41 +4015,40 @@ type ReactorOperationResolvers<ContextType = Context, ParentType extends Resolve
3075
4015
  skip?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3076
4016
  timestampUtcMs?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3077
4017
  }>;
3078
- type ReactorOperationResultPageResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorOperationResultPage"] = ResolversParentTypes["ReactorOperationResultPage"]> = ResolversObject<{
4018
+ export type ReactorOperationResultPageResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorOperationResultPage"] = ResolversParentTypes["ReactorOperationResultPage"]> = ResolversObject<{
3079
4019
  cursor?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3080
4020
  hasNextPage?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3081
4021
  hasPreviousPage?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3082
4022
  items?: Resolver<ReadonlyArray<ResolversTypes["ReactorOperation"]>, ParentType, ContextType>;
3083
- totalCount?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3084
4023
  }>;
3085
- type ReactorSignerResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorSigner"] = ResolversParentTypes["ReactorSigner"]> = ResolversObject<{
4024
+ export type ReactorSignerResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorSigner"] = ResolversParentTypes["ReactorSigner"]> = ResolversObject<{
3086
4025
  app?: Resolver<Maybe<ResolversTypes["ReactorSignerApp"]>, ParentType, ContextType>;
3087
4026
  signatures?: Resolver<ReadonlyArray<ResolversTypes["String"]>, ParentType, ContextType>;
3088
4027
  user?: Resolver<Maybe<ResolversTypes["ReactorSignerUser"]>, ParentType, ContextType>;
3089
4028
  }>;
3090
- type ReactorSignerAppResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorSignerApp"] = ResolversParentTypes["ReactorSignerApp"]> = ResolversObject<{
4029
+ export type ReactorSignerAppResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorSignerApp"] = ResolversParentTypes["ReactorSignerApp"]> = ResolversObject<{
3091
4030
  key?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3092
4031
  name?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3093
4032
  }>;
3094
- type ReactorSignerUserResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorSignerUser"] = ResolversParentTypes["ReactorSignerUser"]> = ResolversObject<{
4033
+ export type ReactorSignerUserResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ReactorSignerUser"] = ResolversParentTypes["ReactorSignerUser"]> = ResolversObject<{
3095
4034
  address?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3096
4035
  chainId?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3097
4036
  networkId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3098
4037
  }>;
3099
- type RemoteCursorResolvers<ContextType = Context, ParentType extends ResolversParentTypes["RemoteCursor"] = ResolversParentTypes["RemoteCursor"]> = ResolversObject<{
4038
+ export type RemoteCursorResolvers<ContextType = Context, ParentType extends ResolversParentTypes["RemoteCursor"] = ResolversParentTypes["RemoteCursor"]> = ResolversObject<{
3100
4039
  cursorOrdinal?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3101
4040
  lastSyncedAtUtcMs?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
3102
4041
  remoteName?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3103
4042
  }>;
3104
- type RevisionResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Revision"] = ResolversParentTypes["Revision"]> = ResolversObject<{
4043
+ export type RevisionResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Revision"] = ResolversParentTypes["Revision"]> = ResolversObject<{
3105
4044
  revision?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
3106
4045
  scope?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
3107
4046
  }>;
3108
- type SubscriptionResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Subscription"] = ResolversParentTypes["Subscription"]> = ResolversObject<{
4047
+ export type SubscriptionResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Subscription"] = ResolversParentTypes["Subscription"]> = ResolversObject<{
3109
4048
  documentChanges?: SubscriptionResolver<ResolversTypes["DocumentChangeEvent"], "documentChanges", ParentType, ContextType, Partial<SubscriptionDocumentChangesArgs>>;
3110
4049
  jobChanges?: SubscriptionResolver<ResolversTypes["JobChangeEvent"], "jobChanges", ParentType, ContextType, RequireFields<SubscriptionJobChangesArgs, "jobId">>;
3111
4050
  }>;
3112
- type SyncEnvelopeResolvers<ContextType = Context, ParentType extends ResolversParentTypes["SyncEnvelope"] = ResolversParentTypes["SyncEnvelope"]> = ResolversObject<{
4051
+ export type SyncEnvelopeResolvers<ContextType = Context, ParentType extends ResolversParentTypes["SyncEnvelope"] = ResolversParentTypes["SyncEnvelope"]> = ResolversObject<{
3113
4052
  channelMeta?: Resolver<ResolversTypes["ChannelMeta"], ParentType, ContextType>;
3114
4053
  cursor?: Resolver<Maybe<ResolversTypes["RemoteCursor"]>, ParentType, ContextType>;
3115
4054
  dependsOn?: Resolver<Maybe<ReadonlyArray<ResolversTypes["String"]>>, ParentType, ContextType>;
@@ -3117,24 +4056,45 @@ type SyncEnvelopeResolvers<ContextType = Context, ParentType extends ResolversPa
3117
4056
  operations?: Resolver<Maybe<ReadonlyArray<ResolversTypes["OperationWithContext"]>>, ParentType, ContextType>;
3118
4057
  type?: Resolver<ResolversTypes["SyncEnvelopeType"], ParentType, ContextType>;
3119
4058
  }>;
3120
- type TouchChannelResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["TouchChannelResult"] = ResolversParentTypes["TouchChannelResult"]> = ResolversObject<{
4059
+ export type SyncHoldResolvers<ContextType = Context, ParentType extends ResolversParentTypes["SyncHold"] = ResolversParentTypes["SyncHold"]> = ResolversObject<{
4060
+ branch?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
4061
+ documentId?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
4062
+ heldAtUtcMs?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
4063
+ reason?: Resolver<ResolversTypes["SyncHoldReason"], ParentType, ContextType>;
4064
+ remoteName?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
4065
+ }>;
4066
+ export type SyncHoldReasonResolvers<ContextType = Context, ParentType extends ResolversParentTypes["SyncHoldReason"] = ResolversParentTypes["SyncHoldReason"]> = ResolversObject<{
4067
+ peerSupports?: Resolver<ReadonlyArray<ResolversTypes["Int"]>, ParentType, ContextType>;
4068
+ protocol?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
4069
+ version?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
4070
+ }>;
4071
+ export type TouchChannelResultResolvers<ContextType = Context, ParentType extends ResolversParentTypes["TouchChannelResult"] = ResolversParentTypes["TouchChannelResult"]> = ResolversObject<{
3121
4072
  ackOrdinal?: Resolver<ResolversTypes["Int"], ParentType, ContextType>;
4073
+ manifest?: Resolver<Maybe<ResolversTypes["JSONObject"]>, ParentType, ContextType>;
3122
4074
  success?: Resolver<ResolversTypes["Boolean"], ParentType, ContextType>;
3123
4075
  }>;
3124
- type Resolvers<ContextType = Context> = ResolversObject<{
4076
+ export type Resolvers<ContextType = Context> = ResolversObject<{
3125
4077
  Action?: ActionResolvers<ContextType>;
3126
4078
  ActionContext?: ActionContextResolvers<ContextType>;
3127
4079
  ActionEvaluation?: ActionEvaluationResolvers<ContextType>;
3128
4080
  ActionEvaluations?: ActionEvaluationsResolvers<ContextType>;
4081
+ BatchExecutionResult?: BatchExecutionResultResolvers<ContextType>;
4082
+ BatchJobResult?: BatchJobResultResolvers<ContextType>;
3129
4083
  ChannelMeta?: ChannelMetaResolvers<ContextType>;
4084
+ ConsistencyCoordinate?: ConsistencyCoordinateResolvers<ContextType>;
4085
+ ConsistencyToken?: ConsistencyTokenResolvers<ContextType>;
4086
+ CreateDefaults?: CreateDefaultsResolvers<ContextType>;
3130
4087
  DateTime?: GraphQLScalarType;
3131
4088
  DeadLetterInfo?: DeadLetterInfoResolvers<ContextType>;
3132
4089
  DocumentChangeContext?: DocumentChangeContextResolvers<ContextType>;
3133
4090
  DocumentChangeEvent?: DocumentChangeEventResolvers<ContextType>;
3134
4091
  DocumentModelGlobalState?: DocumentModelGlobalStateResolvers<ContextType>;
3135
4092
  DocumentModelResultPage?: DocumentModelResultPageResolvers<ContextType>;
4093
+ DocumentRelationship?: DocumentRelationshipResolvers<ContextType>;
4094
+ DocumentRelationshipResultPage?: DocumentRelationshipResultPageResolvers<ContextType>;
3136
4095
  DocumentWithChildren?: DocumentWithChildrenResolvers<ContextType>;
3137
4096
  JSONObject?: GraphQLScalarType;
4097
+ JobBatchMeta?: JobBatchMetaResolvers<ContextType>;
3138
4098
  JobChangeEvent?: JobChangeEventResolvers<ContextType>;
3139
4099
  JobInfo?: JobInfoResolvers<ContextType>;
3140
4100
  MoveRelationshipResult?: MoveRelationshipResultResolvers<ContextType>;
@@ -3143,6 +4103,9 @@ type Resolvers<ContextType = Context> = ResolversObject<{
3143
4103
  OperationWithContext?: OperationWithContextResolvers<ContextType>;
3144
4104
  PHDocument?: PhDocumentResolvers<ContextType>;
3145
4105
  PHDocumentResultPage?: PhDocumentResultPageResolvers<ContextType>;
4106
+ PeerAgreement?: PeerAgreementResolvers<ContextType>;
4107
+ PeerAgreementLimit?: PeerAgreementLimitResolvers<ContextType>;
4108
+ PeerAgreementMember?: PeerAgreementMemberResolvers<ContextType>;
3146
4109
  PollSyncEnvelopesResult?: PollSyncEnvelopesResultResolvers<ContextType>;
3147
4110
  Query?: QueryResolvers<ContextType>;
3148
4111
  ReactorOperation?: ReactorOperationResolvers<ContextType>;
@@ -3154,79 +4117,97 @@ type Resolvers<ContextType = Context> = ResolversObject<{
3154
4117
  Revision?: RevisionResolvers<ContextType>;
3155
4118
  Subscription?: SubscriptionResolvers<ContextType>;
3156
4119
  SyncEnvelope?: SyncEnvelopeResolvers<ContextType>;
4120
+ SyncHold?: SyncHoldResolvers<ContextType>;
4121
+ SyncHoldReason?: SyncHoldReasonResolvers<ContextType>;
3157
4122
  TouchChannelResult?: TouchChannelResultResolvers<ContextType>;
3158
4123
  }>;
3159
- type Properties<T> = Required<{ [K in keyof T]: z$1.ZodType<T[K]> }>;
4124
+ type Properties<T> = Required<{ [K in keyof T]: z$1.ZodType<T[K]>; }>;
3160
4125
  type definedNonNullAny = {};
3161
- declare const isDefinedNonNullAny: (v: any) => v is definedNonNullAny;
3162
- declare const definedNonNullAnySchema: z$1.ZodAny & z$1.ZodType<definedNonNullAny, any, z$1.core.$ZodTypeInternals<definedNonNullAny, any>>;
3163
- declare const AuthDecisionSchema: z$1.ZodEnum<typeof AuthDecision>;
3164
- declare const DocumentChangeTypeSchema: z$1.ZodEnum<typeof DocumentChangeType>;
3165
- declare const PropagationModeSchema: z$1.ZodEnum<typeof PropagationMode>;
3166
- declare const SyncEnvelopeTypeSchema: z$1.ZodEnum<typeof SyncEnvelopeType>;
3167
- declare function ActionCandidateInputSchema(): z$1.ZodObject<Properties<ActionCandidateInput>>;
3168
- declare function ActionContextInputSchema(): z$1.ZodObject<Properties<ActionContextInput>>;
3169
- declare function ActionInputSchema(): z$1.ZodObject<Properties<ActionInput>>;
3170
- declare function ChannelMetaInputSchema(): z$1.ZodObject<Properties<ChannelMetaInput>>;
3171
- declare function DocumentOperationsFilterInputSchema(): z$1.ZodObject<Properties<DocumentOperationsFilterInput>>;
3172
- declare function OperationContextInputSchema(): z$1.ZodObject<Properties<OperationContextInput>>;
3173
- declare function OperationInputSchema(): z$1.ZodObject<Properties<OperationInput>>;
3174
- declare function OperationWithContextInputSchema(): z$1.ZodObject<Properties<OperationWithContextInput>>;
3175
- declare function OperationsFilterInputSchema(): z$1.ZodObject<Properties<OperationsFilterInput>>;
3176
- declare function PagingInputSchema(): z$1.ZodObject<Properties<PagingInput>>;
3177
- declare function ReactorSignerAppInputSchema(): z$1.ZodObject<Properties<ReactorSignerAppInput>>;
3178
- declare function ReactorSignerInputSchema(): z$1.ZodObject<Properties<ReactorSignerInput>>;
3179
- declare function ReactorSignerUserInputSchema(): z$1.ZodObject<Properties<ReactorSignerUserInput>>;
3180
- declare function RemoteCursorInputSchema(): z$1.ZodObject<Properties<RemoteCursorInput>>;
3181
- declare function RemoteFilterInputSchema(): z$1.ZodObject<Properties<RemoteFilterInput>>;
3182
- declare function SearchFilterInputSchema(): z$1.ZodObject<Properties<SearchFilterInput>>;
3183
- declare function SyncEnvelopeInputSchema(): z$1.ZodObject<Properties<SyncEnvelopeInput>>;
3184
- declare function TouchChannelInputSchema(): z$1.ZodObject<Properties<TouchChannelInput>>;
3185
- declare function ViewFilterInputSchema(): z$1.ZodObject<Properties<ViewFilterInput>>;
3186
- declare const PhDocumentFieldsFragmentDoc: DocumentNode;
3187
- declare const GetDocumentModelsDocument: DocumentNode;
3188
- declare const GetDocumentDocument: DocumentNode;
3189
- declare const GetDocumentWithOperationsDocument: DocumentNode;
3190
- declare const GetDocumentOutgoingRelationshipsDocument: DocumentNode;
3191
- declare const GetDocumentIncomingRelationshipsDocument: DocumentNode;
3192
- declare const FindDocumentsDocument: DocumentNode;
3193
- declare const GetDocumentOperationsDocument: DocumentNode;
3194
- declare const GetJobStatusDocument: DocumentNode;
3195
- declare const EvaluateActionsDocument: DocumentNode;
3196
- declare const CreateDocumentDocument: DocumentNode;
3197
- declare const CreateEmptyDocumentDocument: DocumentNode;
3198
- declare const MutateDocumentDocument: DocumentNode;
3199
- declare const MutateDocumentAsyncDocument: DocumentNode;
3200
- declare const RenameDocumentDocument: DocumentNode;
3201
- declare const SetPreferredEditorDocument: DocumentNode;
3202
- declare const AddRelationshipDocument: DocumentNode;
3203
- declare const RemoveRelationshipDocument: DocumentNode;
3204
- declare const MoveRelationshipDocument: DocumentNode;
3205
- declare const DeleteDocumentDocument: DocumentNode;
3206
- declare const DeleteDocumentsDocument: DocumentNode;
3207
- declare const DocumentChangesDocument: DocumentNode;
3208
- declare const JobChangesDocument: DocumentNode;
3209
- declare const PollSyncEnvelopesDocument: DocumentNode;
3210
- declare const TouchChannelDocument: DocumentNode;
3211
- declare const PushSyncEnvelopesDocument: DocumentNode;
3212
- type Requester<C = {}> = <R, V>(doc: DocumentNode, vars?: V, options?: C) => Promise<R> | AsyncIterable<R>;
3213
- declare function getSdk<C>(requester: Requester<C>): {
4126
+ export declare const isDefinedNonNullAny: (v: any) => v is definedNonNullAny;
4127
+ export declare const definedNonNullAnySchema: z$1.ZodAny & z$1.ZodType<definedNonNullAny, any, z$1.core.$ZodTypeInternals<definedNonNullAny, any>>;
4128
+ export declare const AuthDecisionSchema: z$1.ZodEnum<typeof AuthDecision>;
4129
+ export declare const DocumentChangeTypeSchema: z$1.ZodEnum<typeof DocumentChangeType>;
4130
+ export declare const PropagationModeSchema: z$1.ZodEnum<typeof PropagationMode>;
4131
+ export declare const SyncEnvelopeTypeSchema: z$1.ZodEnum<typeof SyncEnvelopeType>;
4132
+ export declare function ActionCandidateInputSchema(): z$1.ZodObject<Properties<ActionCandidateInput>>;
4133
+ export declare function ActionContextInputSchema(): z$1.ZodObject<Properties<ActionContextInput>>;
4134
+ export declare function ActionInputSchema(): z$1.ZodObject<Properties<ActionInput>>;
4135
+ export declare function ChannelMetaInputSchema(): z$1.ZodObject<Properties<ChannelMetaInput>>;
4136
+ export declare function DocumentOperationsFilterInputSchema(): z$1.ZodObject<Properties<DocumentOperationsFilterInput>>;
4137
+ export declare function ExecutionJobInputSchema(): z$1.ZodObject<Properties<ExecutionJobInput>>;
4138
+ export declare function OperationContextInputSchema(): z$1.ZodObject<Properties<OperationContextInput>>;
4139
+ export declare function OperationInputSchema(): z$1.ZodObject<Properties<OperationInput>>;
4140
+ export declare function OperationWithContextInputSchema(): z$1.ZodObject<Properties<OperationWithContextInput>>;
4141
+ export declare function OperationsFilterInputSchema(): z$1.ZodObject<Properties<OperationsFilterInput>>;
4142
+ export declare function PagingInputSchema(): z$1.ZodObject<Properties<PagingInput>>;
4143
+ export declare function ReactorSignerAppInputSchema(): z$1.ZodObject<Properties<ReactorSignerAppInput>>;
4144
+ export declare function ReactorSignerInputSchema(): z$1.ZodObject<Properties<ReactorSignerInput>>;
4145
+ export declare function ReactorSignerUserInputSchema(): z$1.ZodObject<Properties<ReactorSignerUserInput>>;
4146
+ export declare function RemoteCursorInputSchema(): z$1.ZodObject<Properties<RemoteCursorInput>>;
4147
+ export declare function RemoteFilterInputSchema(): z$1.ZodObject<Properties<RemoteFilterInput>>;
4148
+ export declare function SearchFilterInputSchema(): z$1.ZodObject<Properties<SearchFilterInput>>;
4149
+ export declare function SyncEnvelopeInputSchema(): z$1.ZodObject<Properties<SyncEnvelopeInput>>;
4150
+ export declare function SyncRefusalInputSchema(): z$1.ZodObject<Properties<SyncRefusalInput>>;
4151
+ export declare function TouchChannelInputSchema(): z$1.ZodObject<Properties<TouchChannelInput>>;
4152
+ export declare function ViewFilterInputSchema(): z$1.ZodObject<Properties<ViewFilterInput>>;
4153
+ export declare const PhDocumentFieldsFragmentDoc: DocumentNode;
4154
+ export declare const DocumentRelationshipFieldsFragmentDoc: DocumentNode;
4155
+ export declare const JobInfoFieldsFragmentDoc: DocumentNode;
4156
+ export declare const GetDocumentModelsDocument: DocumentNode;
4157
+ export declare const GetDocumentDocument: DocumentNode;
4158
+ export declare const GetDocumentWithOperationsDocument: DocumentNode;
4159
+ export declare const GetDocumentOutgoingRelationshipsDocument: DocumentNode;
4160
+ export declare const GetDocumentIncomingRelationshipsDocument: DocumentNode;
4161
+ export declare const GetDocumentOutgoingRelationshipEdgesDocument: DocumentNode;
4162
+ export declare const GetDocumentIncomingRelationshipEdgesDocument: DocumentNode;
4163
+ export declare const FindDocumentsDocument: DocumentNode;
4164
+ export declare const GetDocumentOperationsDocument: DocumentNode;
4165
+ export declare const GetJobStatusDocument: DocumentNode;
4166
+ export declare const GetDocumentServedDocument: DocumentNode;
4167
+ export declare const GetCreateDefaultsDocument: DocumentNode;
4168
+ export declare const EvaluateActionsDocument: DocumentNode;
4169
+ export declare const CreateDocumentDocument: DocumentNode;
4170
+ export declare const CreateEmptyDocumentDocument: DocumentNode;
4171
+ export declare const MutateDocumentDocument: DocumentNode;
4172
+ export declare const MutateDocumentAsyncDocument: DocumentNode;
4173
+ export declare const ExecuteBatchDocument: DocumentNode;
4174
+ export declare const RenameDocumentDocument: DocumentNode;
4175
+ export declare const SetPreferredEditorDocument: DocumentNode;
4176
+ export declare const AddRelationshipDocument: DocumentNode;
4177
+ export declare const UpdateRelationshipDocument: DocumentNode;
4178
+ export declare const RemoveRelationshipDocument: DocumentNode;
4179
+ export declare const MoveRelationshipDocument: DocumentNode;
4180
+ export declare const DeleteDocumentDocument: DocumentNode;
4181
+ export declare const DeleteDocumentsDocument: DocumentNode;
4182
+ export declare const DocumentChangesDocument: DocumentNode;
4183
+ export declare const JobChangesDocument: DocumentNode;
4184
+ export declare const PollSyncEnvelopesDocument: DocumentNode;
4185
+ export declare const TouchChannelDocument: DocumentNode;
4186
+ export declare const PushSyncEnvelopesDocument: DocumentNode;
4187
+ export type Requester<C = {}> = <R, V>(doc: DocumentNode, vars?: V, options?: C) => Promise<R> | AsyncIterable<R>;
4188
+ export declare function getSdk<C>(requester: Requester<C>): {
3214
4189
  GetDocumentModels(variables?: GetDocumentModelsQueryVariables, options?: C): Promise<GetDocumentModelsQuery>;
3215
4190
  GetDocument(variables: GetDocumentQueryVariables, options?: C): Promise<GetDocumentQuery>;
3216
4191
  GetDocumentWithOperations(variables: GetDocumentWithOperationsQueryVariables, options?: C): Promise<GetDocumentWithOperationsQuery>;
3217
4192
  GetDocumentOutgoingRelationships(variables: GetDocumentOutgoingRelationshipsQueryVariables, options?: C): Promise<GetDocumentOutgoingRelationshipsQuery>;
3218
4193
  GetDocumentIncomingRelationships(variables: GetDocumentIncomingRelationshipsQueryVariables, options?: C): Promise<GetDocumentIncomingRelationshipsQuery>;
4194
+ GetDocumentOutgoingRelationshipEdges(variables: GetDocumentOutgoingRelationshipEdgesQueryVariables, options?: C): Promise<GetDocumentOutgoingRelationshipEdgesQuery>;
4195
+ GetDocumentIncomingRelationshipEdges(variables: GetDocumentIncomingRelationshipEdgesQueryVariables, options?: C): Promise<GetDocumentIncomingRelationshipEdgesQuery>;
3219
4196
  FindDocuments(variables?: FindDocumentsQueryVariables, options?: C): Promise<FindDocumentsQuery>;
3220
4197
  GetDocumentOperations(variables: GetDocumentOperationsQueryVariables, options?: C): Promise<GetDocumentOperationsQuery>;
3221
4198
  GetJobStatus(variables: GetJobStatusQueryVariables, options?: C): Promise<GetJobStatusQuery>;
4199
+ GetDocumentServed(variables: GetDocumentServedQueryVariables, options?: C): Promise<GetDocumentServedQuery>;
4200
+ GetCreateDefaults(variables?: GetCreateDefaultsQueryVariables, options?: C): Promise<GetCreateDefaultsQuery>;
3222
4201
  EvaluateActions(variables: EvaluateActionsQueryVariables, options?: C): Promise<EvaluateActionsQuery>;
3223
4202
  CreateDocument(variables: CreateDocumentMutationVariables, options?: C): Promise<CreateDocumentMutation>;
3224
4203
  CreateEmptyDocument(variables: CreateEmptyDocumentMutationVariables, options?: C): Promise<CreateEmptyDocumentMutation>;
3225
4204
  MutateDocument(variables: MutateDocumentMutationVariables, options?: C): Promise<MutateDocumentMutation>;
3226
4205
  MutateDocumentAsync(variables: MutateDocumentAsyncMutationVariables, options?: C): Promise<MutateDocumentAsyncMutation>;
4206
+ ExecuteBatch(variables: ExecuteBatchMutationVariables, options?: C): Promise<ExecuteBatchMutation>;
3227
4207
  RenameDocument(variables: RenameDocumentMutationVariables, options?: C): Promise<RenameDocumentMutation>;
3228
4208
  SetPreferredEditor(variables: SetPreferredEditorMutationVariables, options?: C): Promise<SetPreferredEditorMutation>;
3229
4209
  AddRelationship(variables: AddRelationshipMutationVariables, options?: C): Promise<AddRelationshipMutation>;
4210
+ UpdateRelationship(variables: UpdateRelationshipMutationVariables, options?: C): Promise<UpdateRelationshipMutation>;
3230
4211
  RemoveRelationship(variables: RemoveRelationshipMutationVariables, options?: C): Promise<RemoveRelationshipMutation>;
3231
4212
  MoveRelationship(variables: MoveRelationshipMutationVariables, options?: C): Promise<MoveRelationshipMutation>;
3232
4213
  DeleteDocument(variables: DeleteDocumentMutationVariables, options?: C): Promise<DeleteDocumentMutation>;
@@ -3237,13 +4218,13 @@ declare function getSdk<C>(requester: Requester<C>): {
3237
4218
  TouchChannel(variables: TouchChannelMutationVariables, options?: C): Promise<TouchChannelMutation>;
3238
4219
  PushSyncEnvelopes(variables: PushSyncEnvelopesMutationVariables, options?: C): Promise<PushSyncEnvelopesMutation>;
3239
4220
  };
3240
- type Sdk = ReturnType<typeof getSdk>;
4221
+ export type Sdk = ReturnType<typeof getSdk>;
3241
4222
  //#endregion
3242
4223
  //#region src/graphql/reactor/requester.d.ts
3243
4224
  type FetchLike = (input: URL | string, init: RequestInit) => Promise<Response>;
3244
4225
  //#endregion
3245
4226
  //#region src/graphql/reactor/factory.d.ts
3246
- declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike, headers?: Record<string, string>): {
4227
+ export declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike, headers?: Record<string, string>): {
3247
4228
  GetDocumentModels(variables?: Exact<{
3248
4229
  namespace?: InputMaybe<Scalars["String"]["input"]>;
3249
4230
  paging?: InputMaybe<PagingInput>;
@@ -3270,6 +4251,18 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
3270
4251
  view?: InputMaybe<ViewFilterInput>;
3271
4252
  paging?: InputMaybe<PagingInput>;
3272
4253
  }>, options?: {} | undefined): Promise<GetDocumentIncomingRelationshipsQuery>;
4254
+ GetDocumentOutgoingRelationshipEdges(variables: Exact<{
4255
+ sourceIdentifier: Scalars["String"]["input"];
4256
+ relationshipType?: InputMaybe<Scalars["String"]["input"]>;
4257
+ view?: InputMaybe<ViewFilterInput>;
4258
+ paging?: InputMaybe<PagingInput>;
4259
+ }>, options?: {} | undefined): Promise<GetDocumentOutgoingRelationshipEdgesQuery>;
4260
+ GetDocumentIncomingRelationshipEdges(variables: Exact<{
4261
+ targetIdentifier: Scalars["String"]["input"];
4262
+ relationshipType?: InputMaybe<Scalars["String"]["input"]>;
4263
+ view?: InputMaybe<ViewFilterInput>;
4264
+ paging?: InputMaybe<PagingInput>;
4265
+ }>, options?: {} | undefined): Promise<GetDocumentIncomingRelationshipEdgesQuery>;
3273
4266
  FindDocuments(variables?: Exact<{
3274
4267
  search?: InputMaybe<SearchFilterInput>;
3275
4268
  view?: InputMaybe<ViewFilterInput>;
@@ -3282,6 +4275,13 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
3282
4275
  GetJobStatus(variables: Exact<{
3283
4276
  jobId: Scalars["String"]["input"];
3284
4277
  }>, options?: {} | undefined): Promise<GetJobStatusQuery>;
4278
+ GetDocumentServed(variables: Exact<{
4279
+ idOrSlug: Scalars["String"]["input"];
4280
+ view?: InputMaybe<ViewFilterInput>;
4281
+ }>, options?: {} | undefined): Promise<GetDocumentServedQuery>;
4282
+ GetCreateDefaults(variables?: Exact<{
4283
+ parentIdOrSlug?: InputMaybe<Scalars["String"]["input"]>;
4284
+ }> | undefined, options?: {} | undefined): Promise<GetCreateDefaultsQuery>;
3285
4285
  EvaluateActions(variables: Exact<{
3286
4286
  documentIdentifier: Scalars["String"]["input"];
3287
4287
  branch?: InputMaybe<Scalars["String"]["input"]>;
@@ -3305,6 +4305,9 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
3305
4305
  actions: ReadonlyArray<ActionInput>;
3306
4306
  branch?: InputMaybe<Scalars["String"]["input"]>;
3307
4307
  }>, options?: {} | undefined): Promise<MutateDocumentAsyncMutation>;
4308
+ ExecuteBatch(variables: Exact<{
4309
+ jobs: ReadonlyArray<ExecutionJobInput>;
4310
+ }>, options?: {} | undefined): Promise<ExecuteBatchMutation>;
3308
4311
  RenameDocument(variables: Exact<{
3309
4312
  documentIdentifier: Scalars["String"]["input"];
3310
4313
  name: Scalars["String"]["input"];
@@ -3319,8 +4322,16 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
3319
4322
  sourceIdentifier: Scalars["String"]["input"];
3320
4323
  targetIdentifier: Scalars["String"]["input"];
3321
4324
  relationshipType: Scalars["String"]["input"];
4325
+ metadata?: InputMaybe<Scalars["JSONObject"]["input"]>;
3322
4326
  branch?: InputMaybe<Scalars["String"]["input"]>;
3323
4327
  }>, options?: {} | undefined): Promise<AddRelationshipMutation>;
4328
+ UpdateRelationship(variables: Exact<{
4329
+ sourceIdentifier: Scalars["String"]["input"];
4330
+ targetIdentifier: Scalars["String"]["input"];
4331
+ relationshipType: Scalars["String"]["input"];
4332
+ metadata?: InputMaybe<Scalars["JSONObject"]["input"]>;
4333
+ branch?: InputMaybe<Scalars["String"]["input"]>;
4334
+ }>, options?: {} | undefined): Promise<UpdateRelationshipMutation>;
3324
4335
  RemoveRelationship(variables: Exact<{
3325
4336
  sourceIdentifier: Scalars["String"]["input"];
3326
4337
  targetIdentifier: Scalars["String"]["input"];
@@ -3353,40 +4364,59 @@ declare function createReactorGraphQLClient(url: string, fetchImpl?: FetchLike,
3353
4364
  channelId: Scalars["String"]["input"];
3354
4365
  outboxAck: Scalars["Int"]["input"];
3355
4366
  outboxLatest: Scalars["Int"]["input"];
4367
+ manifestRevision?: InputMaybe<Scalars["String"]["input"]>;
4368
+ refusals?: InputMaybe<ReadonlyArray<SyncRefusalInput>>;
3356
4369
  }>, options?: {} | undefined): Promise<PollSyncEnvelopesQuery>;
3357
4370
  TouchChannel(variables: Exact<{
3358
4371
  input: TouchChannelInput;
3359
4372
  }>, options?: {} | undefined): Promise<TouchChannelMutation>;
3360
4373
  PushSyncEnvelopes(variables: Exact<{
3361
4374
  envelopes: ReadonlyArray<SyncEnvelopeInput>;
4375
+ peerManifestRevision?: InputMaybe<Scalars["String"]["input"]>;
3362
4376
  }>, options?: {} | undefined): Promise<PushSyncEnvelopesMutation>;
3363
4377
  };
3364
4378
  //#endregion
3365
4379
  //#region src/graphql/reactor/subgraph.d.ts
3366
- declare class ReactorSubgraph extends BaseSubgraph {
4380
+ export declare class ReactorSubgraph extends BaseSubgraph {
3367
4381
  #private;
3368
4382
  private logger;
3369
4383
  constructor(args: SubgraphArgs);
3370
4384
  name: string;
3371
4385
  hasSubscriptions: boolean;
4386
+ private get documentChanges();
3372
4387
  /**
3373
4388
  * Check operation-level permissions for an array of actions.
3374
4389
  * Delegates to base assertCanExecuteOperation for each action.
3375
4390
  */
3376
4391
  private assertCanExecuteOperations;
3377
- typeDefs: graphql.DocumentNode;
4392
+ /**
4393
+ * Drops the relationship edges whose far-end document the caller cannot read.
4394
+ *
4395
+ * An edge names two documents, so returning it discloses the far end's id. The
4396
+ * document-shaped relationship queries already withhold far-end documents the
4397
+ * caller cannot read; the edge-shaped queries have to withhold the same ones,
4398
+ * or they become a way to enumerate around that check. Supreme admins read
4399
+ * everything, so the per-edge check is skipped for them.
4400
+ *
4401
+ * The cursor describes where to resume in the underlying unfiltered stream,
4402
+ * so it is left as it came. A filtered page is therefore often shorter than
4403
+ * the requested limit, and that is the stream continuing rather than a sign
4404
+ * it ended.
4405
+ */
4406
+ private filterRelationshipEdges;
4407
+ typeDefs: import("graphql").DocumentNode;
3378
4408
  resolvers: Resolvers;
3379
4409
  onSetup(): Promise<void>;
3380
4410
  }
3381
4411
  //#endregion
3382
4412
  //#region src/graphql/system/env/index.d.ts
3383
- declare const ADMIN_USERS: string[];
4413
+ export declare const ADMIN_USERS: string[];
3384
4414
  //#endregion
3385
4415
  //#region src/graphql/system/subgraph.d.ts
3386
- declare class SystemSubgraph extends BaseSubgraph {
4416
+ export declare class SystemSubgraph extends BaseSubgraph {
3387
4417
  name: string;
3388
4418
  hasSubscriptions: boolean;
3389
- typeDefs: graphql.DocumentNode;
4419
+ typeDefs: import("graphql").DocumentNode;
3390
4420
  resolvers: {
3391
4421
  Query: {
3392
4422
  system: () => {
@@ -3399,28 +4429,85 @@ declare class SystemSubgraph extends BaseSubgraph {
3399
4429
  }
3400
4430
  //#endregion
3401
4431
  //#region src/graphql/system/version.d.ts
3402
- declare function getVersion(): string;
3403
- declare function getGitHash(): string;
3404
- declare function getGitUrl(): string | null;
4432
+ export declare function getVersion(): string;
4433
+ export declare function getGitHash(): string;
4434
+ export declare function getGitUrl(): string | null;
3405
4435
  //#endregion
3406
4436
  //#region src/graphql/utils.d.ts
3407
- declare function isSubgraphClass(candidate: unknown): candidate is SubgraphClass$1;
3408
- declare function buildGraphqlOperations(operations: Operation[], skip: number, first: number): GqlOperation$1[];
3409
- declare function buildGraphqlOperation(operation: Operation): GqlOperation$1;
3410
- declare function buildGraphQlDocument(doc: PHDocument): GqlDocument$1;
3411
- declare function buildGraphQlDriveDocument(doc: DocumentDriveDocument): GqlDriveDocument$1;
4437
+ export declare function isSubgraphClass(candidate: unknown): candidate is SubgraphClass$1;
4438
+ export declare function buildGraphqlOperations(operations: Operation[], skip: number, first: number): GqlOperation$1[];
4439
+ export declare function buildGraphqlOperation(operation: Operation): GqlOperation$1;
4440
+ export declare function buildGraphQlDocument(doc: PHDocument): GqlDocument$1;
4441
+ export declare function buildGraphQlDriveDocument(doc: DocumentDriveDocument): GqlDriveDocument$1;
4442
+ //#endregion
4443
+ //#region src/graphql/errors.d.ts
4444
+ /** Caller (authenticated or anonymous) lacks permission for the document. */
4445
+ export declare class ForbiddenError extends GraphQLError {
4446
+ constructor(detail?: string);
4447
+ }
4448
+ /** Anonymous caller on an action that requires logging in. */
4449
+ export declare class AuthenticationRequiredError extends GraphQLError {
4450
+ constructor(detail?: string);
4451
+ }
4452
+ /**
4453
+ * The reactor holds no decision model, so no authorization preflight can be
4454
+ * answered.
4455
+ *
4456
+ * Distinct from a denial, and deliberately so: a caller that cannot get a
4457
+ * prediction should render its controls as it did before it asked and let the
4458
+ * submit path refuse. Reading this as a denial would disable every control on a
4459
+ * switchboard running without authEnforcement. The code is what a client
4460
+ * branches on, since the message is not a contract.
4461
+ */
4462
+ export declare class AuthEvaluationUnsupportedError extends GraphQLError {
4463
+ constructor();
4464
+ }
4465
+ /**
4466
+ * A stored operation cannot be represented in the schema, so it is reported
4467
+ * rather than served.
4468
+ *
4469
+ * The schema declares an action's id, type, timestamp, input and scope
4470
+ * non-null; an operation written before the API rejected an action without an
4471
+ * id violates that. Left to the executor, the missing value nullifies the
4472
+ * action, which bubbles up through the non-null chain until it nullifies the
4473
+ * envelope's whole operation list, and the caller receives a partial response
4474
+ * beside "Cannot return null for non-nullable field Action.id" - which says
4475
+ * nothing about which operation, and which a sync client can only read as a
4476
+ * permanent GraphQL rejection, stopping its poll timer for good.
4477
+ *
4478
+ * Thrown instead, with a code that says the failure is worth polling through:
4479
+ * the document holding the operation needs repairing, but the channel serves
4480
+ * every other document, and a peer that stopped polling would stop receiving
4481
+ * those too. The code is what a client branches on, since the message is not a
4482
+ * contract.
4483
+ */
4484
+ export declare class MalformedStoredOperationError extends GraphQLError {
4485
+ constructor(detail: string);
4486
+ }
4487
+ /**
4488
+ * The marker refusals a poll carried were not recorded, so the poll fails.
4489
+ * The code is recoverable: the client keeps polling and reports them again.
4490
+ */
4491
+ export declare class RefusalNotRecordedError extends GraphQLError {
4492
+ constructor(cause: unknown);
4493
+ }
3412
4494
  //#endregion
3413
4495
  //#region src/packages/import-loader.d.ts
3414
4496
  /**
3415
4497
  * This class is used to load packages using the import keyword.
3416
4498
  */
3417
- declare class ImportPackageLoader implements IPackageLoader {
4499
+ export declare class ImportPackageLoader implements IPackageLoader {
4500
+ private readonly hostDir;
3418
4501
  private readonly logger;
3419
4502
  readonly name = "ImportPackageLoader";
4503
+ constructor(hostDir?: string);
4504
+ private readonly reportedUnbuilt;
3420
4505
  loadDocumentModels(identifier: string): Promise<DocumentModelModule[]>;
3421
4506
  loadUpgradeManifests(identifier: string): Promise<UpgradeManifest<readonly number[]>[]>;
3422
4507
  loadSubgraphs(identifier: string): Promise<SubgraphClass$1[]>;
3423
4508
  loadProcessors(identifier: string): Promise<ProcessorFactoryBuilder | null>;
4509
+ loadPieces(identifier: string): Promise<PackagePieceEntry[]>;
4510
+ private reportUnbuilt;
3424
4511
  }
3425
4512
  //#endregion
3426
4513
  //#region src/packages/package-manager.d.ts
@@ -3436,10 +4523,10 @@ declare class ImportPackageLoader implements IPackageLoader {
3436
4523
  * either bare (`'pkg'`) or as a subpath (`'pkg/subgraphs'`), since loaders
3437
4524
  * import sub-entries like `${pkg}/subgraphs` / `${pkg}/document-models`.
3438
4525
  */
3439
- declare function isExpectedLoaderMiss(error: unknown, pkg: string): boolean;
3440
- declare function getUniqueDocumentModels(...documentModels: readonly (readonly DocumentModelModule<any>[])[]): DocumentModelModule[];
3441
- declare function getUniqueUpgradeManifests(...upgradeManifests: readonly (readonly UpgradeManifest<readonly number[]>[])[]): UpgradeManifest<readonly number[]>[];
3442
- declare class PackageManager implements IPackageManager {
4526
+ export declare function isExpectedLoaderMiss(error: unknown, pkg: string, subPath?: string): boolean;
4527
+ export declare function getUniqueDocumentModels(...documentModels: readonly (readonly DocumentModelModule<any>[])[]): DocumentModelModule[];
4528
+ export declare function getUniqueUpgradeManifests(...upgradeManifests: readonly (readonly UpgradeManifest<readonly number[]>[])[]): UpgradeManifest<readonly number[]>[];
4529
+ export declare class PackageManager implements IPackageManager {
3443
4530
  protected options: IPackageManagerOptions;
3444
4531
  private readonly logger;
3445
4532
  private loaders;
@@ -3447,6 +4534,7 @@ declare class PackageManager implements IPackageManager {
3447
4534
  private upgradeManifestsMap;
3448
4535
  private subgraphsMap;
3449
4536
  private processorMap;
4537
+ private piecesMap;
3450
4538
  private configWatcher;
3451
4539
  private debouncedUpdateCallbacks;
3452
4540
  private eventEmitter;
@@ -3459,10 +4547,12 @@ declare class PackageManager implements IPackageManager {
3459
4547
  private loadUpgradeManifests;
3460
4548
  private loadSubgraphs;
3461
4549
  private loadProcessors;
4550
+ private loadPieces;
3462
4551
  private maybeWarnAllLoadersFailed;
3463
4552
  private updateDocumentModelsForPackage;
3464
4553
  private updateSubgraphsForPackage;
3465
4554
  private updateProcessorsForPackage;
4555
+ private updatePiecesForPackage;
3466
4556
  /** Debounced per key so repeated subscribePackages calls reuse one timer. */
3467
4557
  private getDebouncedUpdateCallback;
3468
4558
  private subscribePackages;
@@ -3472,6 +4562,9 @@ declare class PackageManager implements IPackageManager {
3472
4562
  private updatePackagesMap;
3473
4563
  private updateSubgraphsMap;
3474
4564
  private updateProcessorsMap;
4565
+ private updatePiecesMap;
4566
+ /** The pieces every loaded package ships, keyed by the package. */
4567
+ getPieces(): Map<string, PackagePieceEntry[]>;
3475
4568
  /**
3476
4569
  * Remove `pkg` from all package maps and emit the change events, tearing
3477
4570
  * down everything the package registered (subgraphs, processors, document
@@ -3482,28 +4575,57 @@ declare class PackageManager implements IPackageManager {
3482
4575
  onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
3483
4576
  onSubgraphsChange(handler: (subgraphs: Map<string, SubgraphClass$1[]>) => void): void;
3484
4577
  onProcessorsChange(handler: (processors: Map<string, Processor$1>) => void): void;
4578
+ onPiecesChange(handler: (pieces: Map<string, PackagePieceEntry[]>) => void): void;
3485
4579
  }
3486
4580
  //#endregion
4581
+ //#region src/packages/subgraph-extraction.d.ts
4582
+ /**
4583
+ * The one acceptance rule for a package's `subgraphs` module.
4584
+ *
4585
+ * All three package loaders (vite, import, http) consume the same generated
4586
+ * `subgraphs/index` file, and each used to apply its own rule — the vite
4587
+ * loader required a namespace whose alias equalled the class name inside it,
4588
+ * the http loader took any function one level deep, and the import loader
4589
+ * took every nested value. An export that registered under one loader could
4590
+ * silently vanish under another (the codegen-does-not-register-subgraphs
4591
+ * report). This is now the single rule they all share:
4592
+ *
4593
+ * - an export that is itself a subgraph class is accepted (named or default
4594
+ * export of the class);
4595
+ * - any subgraph class among the values of an exported object is accepted
4596
+ * (a `export * as Alias from ...` namespace under any alias, or a
4597
+ * default-exported object of classes);
4598
+ * - everything else — constants, configs, functions and classes that do not
4599
+ * extend BaseSubgraph — is dropped.
4600
+ *
4601
+ * Codegen emits `export * as <ClassName> from "./<dir>/index.js"`
4602
+ * (makeSubgraphsIndexFile in packages/codegen), which the namespace branch
4603
+ * accepts regardless of the alias; hand-written packages may re-export a
4604
+ * class directly, which the direct branch accepts. A class reached through
4605
+ * both branches is returned once.
4606
+ */
4607
+ export declare function extractSubgraphs(namespace: Record<string, unknown>): SubgraphClass$1[];
4608
+ //#endregion
3487
4609
  //#region src/services/renown-config.d.ts
3488
4610
  /** Where the credential check reads from: a remote Renown or Switchboard
3489
4611
  * instance, or this switchboard's own renown read model. */
3490
- type RenownSource = NonNullable<PHReactorRenown["source"]>;
4612
+ export type RenownSource = NonNullable<PHReactorRenown["source"]>;
3491
4613
  /** The `auth.renown` config block: which Renown instance to authenticate
3492
4614
  * against, before env overrides are applied. */
3493
- type RenownConfig = PHReactorRenown;
4615
+ export type RenownConfig = PHReactorRenown;
3494
4616
  /** Resolved renown coordinates. `url` also drives this reactor's own identity,
3495
4617
  * so it stays meaningful when `source` is "self". */
3496
- type ResolvedRenownConfig = {
4618
+ export type ResolvedRenownConfig = {
3497
4619
  source: RenownSource;
3498
4620
  url: string | undefined;
3499
4621
  switchboardUrl: string | undefined;
3500
4622
  };
3501
4623
  /** Reading credentials from this reactor's own read model needs a host-supplied
3502
4624
  * verifier: core has no idea which subgraph serves that read model. */
3503
- declare function assertCredentialVerifierForSource(source: RenownSource, hasVerifier: boolean): void;
4625
+ export declare function assertCredentialVerifierForSource(source: RenownSource, hasVerifier: boolean): void;
3504
4626
  /** Resolve `auth.renown`; RENOWN_SOURCE / RENOWN_URL / SWITCHBOARD_URL win
3505
4627
  * over the config file, which wins over the SDK defaults. */
3506
- declare function resolveRenownConfig(configured: RenownConfig | undefined, env: NodeJS.ProcessEnv, logger: ILogger): ResolvedRenownConfig;
4628
+ export declare function resolveRenownConfig(configured: RenownConfig | undefined, env: NodeJS.ProcessEnv, logger: ILogger): ResolvedRenownConfig;
3507
4629
  //#endregion
3508
4630
  //#region src/server.d.ts
3509
4631
  type Options = {
@@ -3529,6 +4651,19 @@ type Options = {
3529
4651
  * request. Off by default; `REQUIRE_AUTHENTICATED_CALLER` overrides.
3530
4652
  * Requires identity resolution to be on — refused at boot without it. */
3531
4653
  requireAuthenticatedCaller?: boolean;
4654
+ /** Mounted paths that stay reachable anonymously while
4655
+ * `requireAuthenticatedCaller` is on, for a flow that runs before
4656
+ * sign-in. Matched against the request's pathname in full, never as a
4657
+ * prefix. `REQUIRE_AUTHENTICATED_CALLER_EXEMPT_PATHS` overrides, as a
4658
+ * comma-separated list. Each entry is a hole in the floor: only ever name
4659
+ * a path serving operations that are safe without a caller. */
4660
+ requireAuthenticatedCallerExemptPaths?: string[];
4661
+ /** Decide an attachment read with the referencing document's own policy
4662
+ * instead of the host permission tables. Off by default;
4663
+ * `ATTACHMENT_READS_FOLLOW_DOCUMENT_POLICY` overrides. Requires auth
4664
+ * enforcement, which is what supplies the model — refused at boot
4665
+ * without it. */
4666
+ attachmentReadsFollowDocumentPolicy?: boolean;
3532
4667
  };
3533
4668
  /** Renown coordinates the host already resolved, used verbatim instead of
3534
4669
  * resolving `auth.renown` and the env again (which would warn twice). */
@@ -3560,19 +4695,21 @@ type Options = {
3560
4695
  * or os.tmpdir() for in-memory DB deployments.
3561
4696
  */
3562
4697
  attachmentStoragePath?: string;
4698
+ /** Storage health and workflow facts for the inspection subgraph. */
4699
+ inspection?: ReactorInspectionOptions;
3563
4700
  };
3564
4701
  type ProcessorInitializer = ProcessorFactoryBuilder;
3565
4702
  /**
3566
4703
  * Doc-perms require auth: with auth off no `user` is ever resolved, so every
3567
4704
  * authorization check fails closed. Refuse to boot rather than run broken.
3568
4705
  */
3569
- declare function assertAuthRequiredForDocumentPermissions(authEnabled: boolean, documentPermissionsRequested: boolean): void;
4706
+ export declare function assertAuthRequiredForDocumentPermissions(authEnabled: boolean, documentPermissionsRequested: boolean): void;
3570
4707
  /**
3571
4708
  * Refuses SKIP_CREDENTIAL_VERIFICATION at boot outside tests or an explicit
3572
4709
  * opt-in: it removes the only binding between a token's claimed address and its
3573
4710
  * signing key. Fail-closed — unset NODE_ENV counts as production.
3574
4711
  */
3575
- declare function assertSkipCredentialVerificationAllowed(resolvesCallerIdentity: boolean, skipCredentialVerification: boolean, env: NodeJS.ProcessEnv): void;
4712
+ export declare function assertSkipCredentialVerificationAllowed(resolvesCallerIdentity: boolean, skipCredentialVerification: boolean, env: NodeJS.ProcessEnv): void;
3576
4713
  /**
3577
4714
  * Requiring an authenticated caller requires identity resolution to exist at
3578
4715
  * all: with neither AUTH_ENABLED nor RESOLVE_CALLER_IDENTITY the middleware
@@ -3580,14 +4717,22 @@ declare function assertSkipCredentialVerificationAllowed(resolvesCallerIdentity:
3580
4717
  * require-authenticated-caller middleware would reject every caller —
3581
4718
  * authenticated ones included. Refuse to boot rather than run broken.
3582
4719
  */
3583
- declare function assertRequireAuthenticatedCallerAllowed(requireAuthenticatedCaller: boolean, resolvesCallerIdentity: boolean): void;
4720
+ export declare function assertRequireAuthenticatedCallerAllowed(requireAuthenticatedCaller: boolean, resolvesCallerIdentity: boolean, exemptPaths?: readonly string[]): void;
4721
+ /**
4722
+ * Deciding an attachment read by the document's policy needs a policy model to
4723
+ * decide with, and that is what auth enforcement supplies. Without one there is
4724
+ * nothing to consult, so the setting would silently leave the permission tables
4725
+ * in charge — configuration that describes a protection the server is not
4726
+ * applying, which is worse than no configuration at all. Refuse instead.
4727
+ */
4728
+ export declare function assertAttachmentPolicyReadsAllowed(attachmentReadsFollowDocumentPolicy: boolean, hasDecisionModel: boolean): void;
3584
4729
  /**
3585
4730
  * The GraphiQL explorer page's mount prefix. `path.posix.join` normalizes the
3586
4731
  * join with `basePath` — a naive template literal would produce `//explorer`
3587
4732
  * for the default `/` basePath, which express compiles into a route that only
3588
4733
  * matches `//explorer`, leaving `GET /explorer` a 404.
3589
4734
  */
3590
- declare function getExplorerPrefix(basePath: string): string;
4735
+ export declare function getExplorerPrefix(basePath: string): string;
3591
4736
  /**
3592
4737
  * Initializes and starts the API server using an initializer function.
3593
4738
  * This function first loads packages to get document models, then calls the initializer function
@@ -3603,47 +4748,68 @@ declare function getExplorerPrefix(basePath: string): string;
3603
4748
  * alongside the reactor module so resolvers can dispatch reactor-drive parent
3604
4749
  * ops to it; legacy switchboards omit it.
3605
4750
  */
3606
- interface ClientInitializerResult {
4751
+ export interface ClientInitializerResult {
3607
4752
  module: InProcessReactorClientModule;
3608
4753
  reactorDriveClient?: IDriveClient;
3609
4754
  attachmentReferenceProjection?: AttachmentReferenceProjectionCapability;
3610
4755
  }
3611
- interface ClientInitializerDependencies {
4756
+ export interface ClientInitializerDependencies {
3612
4757
  attachmentReferenceWriter: IAttachmentReferenceWriter;
3613
4758
  /** Upgrade manifests exported by the loaded packages, one per type. */
3614
4759
  upgradeManifests: UpgradeManifest<readonly number[]>[];
3615
4760
  }
3616
- declare function initializeAndStartAPI(clientInitializer: (documentModels: DocumentModelModule[], dependencies: ClientInitializerDependencies) => Promise<ClientInitializerResult>, options: Options, processorApp: ProcessorApp): Promise<API & {
4761
+ export declare function initializeAndStartAPI(clientInitializer: (documentModels: DocumentModelModule[], dependencies: ClientInitializerDependencies) => Promise<ClientInitializerResult>, options: Options, processorApp: ProcessorApp): Promise<API & {
3617
4762
  client: IReactorClient;
3618
4763
  syncManager: ISyncManager;
3619
4764
  documentModelRegistry: IDocumentModelRegistry;
3620
4765
  readiness: ReadinessGate;
3621
4766
  attachmentReferenceProjection: AttachmentReferenceProjectionCapability;
3622
4767
  packageManager: PackageManager;
4768
+ /** Set under DOCUMENT_PERMISSIONS; the privacy add-on erases through it. */
4769
+ documentPermissionService: DocumentPermissionService | undefined;
3623
4770
  }>;
3624
4771
  //#endregion
3625
4772
  //#region src/services/renown-credential-verifier.d.ts
3626
- interface RenownCredentialVerifierConfig {
4773
+ export interface RenownCredentialVerifierConfig {
3627
4774
  renownUrl?: string;
3628
4775
  switchboardUrl?: string;
3629
4776
  }
3630
- declare function createRenownCredentialVerifier(config?: RenownCredentialVerifierConfig): Promise<CredentialVerifier>;
4777
+ export declare function createRenownCredentialVerifier(config?: RenownCredentialVerifierConfig): Promise<CredentialVerifier>;
4778
+ //#endregion
4779
+ //#region src/services/privacy-permissions.d.ts
4780
+ /** One permission row naming an address, as reactor-privacy discloses it. */
4781
+ export type PrivacyPermissionRow = {
4782
+ table: string;
4783
+ column: string;
4784
+ documentId: string | null;
4785
+ detail?: Record<string, unknown>;
4786
+ };
4787
+ /**
4788
+ * reactor-privacy's permission lookup and eraser, over this host's
4789
+ * DocumentPermissionService. Typed structurally on the privacy side.
4790
+ */
4791
+ export declare class PrivacyPermissionAdapter {
4792
+ private readonly service;
4793
+ constructor(service: DocumentPermissionService);
4794
+ rowsForAddress(address: string): Promise<PrivacyPermissionRow[]>;
4795
+ erasePermissions(documentId: string): Promise<Record<string, number>>;
4796
+ }
3631
4797
  //#endregion
3632
4798
  //#region src/utils/create-schema.d.ts
3633
- declare const buildSubgraphSchemaModule: (documentModels: DocumentModelModule[], resolvers: GraphQLResolverMap<Context$1>, typeDefs: DocumentNode) => GraphQLSchemaModule;
3634
- declare const createSchema: (documentModels: DocumentModelModule[], resolvers: GraphQLResolverMap<Context$1>, typeDefs: DocumentNode) => graphql.GraphQLSchema;
4799
+ export declare const buildSubgraphSchemaModule: (documentModels: DocumentModelModule[], resolvers: GraphQLResolverMap<Context$1>, typeDefs: DocumentNode) => GraphQLSchemaModule;
4800
+ export declare const createSchema: (documentModels: DocumentModelModule[], resolvers: GraphQLResolverMap<Context$1>, typeDefs: DocumentNode) => import("graphql").GraphQLSchema;
3635
4801
  /**
3636
4802
  * Create a merged GraphQL schema from multiple subgraph modules.
3637
4803
  * Uses buildSubgraphSchema's array overload to combine type definitions
3638
4804
  * and resolvers from multiple subgraphs into a single executable schema.
3639
4805
  */
3640
- declare const createMergedSchema: (modules: GraphQLSchemaModule[]) => graphql.GraphQLSchema;
3641
- declare function getDocumentModelSchemaName(documentModel: DocumentModelGlobalState$1): string;
3642
- declare const getDocumentModelTypeDefs: (documentModels: DocumentModelModule[], typeDefs: DocumentNode) => DocumentNode;
4806
+ export declare const createMergedSchema: (modules: GraphQLSchemaModule[]) => import("graphql").GraphQLSchema;
4807
+ export declare function getDocumentModelSchemaName(documentModel: DocumentModelGlobalState$1): string;
4808
+ export declare const getDocumentModelTypeDefs: (documentModels: DocumentModelModule[], typeDefs: DocumentNode) => DocumentNode;
3643
4809
  /**
3644
4810
  * Options for generating document model GraphQL schemas.
3645
4811
  */
3646
- interface DocumentModelSchemaOptions {
4812
+ export interface DocumentModelSchemaOptions {
3647
4813
  /**
3648
4814
  * When true, generates new API patterns:
3649
4815
  * - Mutations return full document objects (MutationResult type)
@@ -3660,7 +4826,8 @@ interface DocumentModelSchemaOptions {
3660
4826
  * @param options - Schema generation options
3661
4827
  * @returns GraphQL DocumentNode
3662
4828
  */
3663
- declare function generateDocumentModelSchema(documentModel: DocumentModelGlobalState$1, options?: DocumentModelSchemaOptions): DocumentNode;
4829
+ export declare function generateDocumentModelSchema(documentModel: DocumentModelGlobalState$1, options?: DocumentModelSchemaOptions): DocumentNode;
3664
4830
  //#endregion
3665
- export { ADMIN_USERS, API, Action, ActionCandidateInput, ActionCandidateInputSchema, ActionContext, ActionContextInput, ActionContextInputSchema, ActionContextResolvers, ActionEvaluation, ActionEvaluationResolvers, ActionEvaluations, ActionEvaluationsResolvers, ActionInput, ActionInputSchema, ActionResolvers, AdapterRouteHandle, AddRelationshipDocument, AddRelationshipMutation, AddRelationshipMutationVariables, AnalyticsSubgraph, AttachmentAccessRequest, AttachmentAccessResult, AttachmentAccessService, type AttachmentReferenceProjectionCapability, AuthConfig, AuthContext, AuthDecision, AuthDecisionSchema, AuthFetchMiddleware, AuthService, AuthSubgraph, type AuthorizationConfig, AuthorizationPolicy, AuthorizedDocumentHandle, type AuthorizerResult, BaseSubgraph, CORE_PACKAGE_NAME, 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, ExplorerUrlState, 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, HttpMethod, HttpPackageLoader, HttpPackageLoaderLogger, HttpPackageLoaderOptions, HttpRouteService, type HttpRouteServiceOptions, IAttachmentAccessService, type IAuthorizationService, IGatewayAdapter, IHttpAdapter, type IHttpScope, type IPackageLoader, type IPackageLoaderOptions, IPackageStorage, IProcessorHostModule, IReactorProcessorHostModule, ISubgraph, type IWebhookEndpoints, type IWebhookScope, type IWebhookStore, ImportPackageLoader, InMemoryPackageStorage, Incremental, InputMaybe, InstallPackageResult, InstalledPackageInfo, InvalidNamespaceError, IsTypeOfResolverFn, JobChangeEvent, JobChangeEventResolvers, JobChangesDocument, JobChangesSubscription, JobChangesSubscriptionVariables, JobInfo, JobInfoResolvers, JsonObjectScalarConfig, MakeEmpty, MakeMaybe, MakeOptional, Maybe, MemoryWebhookStore, 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, NodeRouteOptions, type NodeRouteSpec, OperationContext, OperationContextInput, OperationContextInputSchema, OperationContextResolvers, OperationInput, OperationInputSchema, OperationUserPermissionEntry, OperationUserPermissionTable, OperationWithContext, OperationWithContextInput, OperationWithContextInputSchema, OperationWithContextResolvers, OperationsFilterInput, OperationsFilterInputSchema, PACKAGE_ROUTE_SEGMENT, 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, RelationalWebhookStore, 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, type RouteActor, type RouteAuth, type RouteAuthorizer, type RouteBody, type RouteContext, type RouteHandler, type RouteMethod, type RouteOptions, type RouteSpec, type RouteTransport, type RouteUser, Scalars, type ScopedRouteHandle, 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, WEBHOOK_SEGMENT, WS_AUTH_CLOSE_REASONS, WS_CLOSE_REASON_AUTHENTICATION_REQUIRED, WS_CLOSE_REASON_BEARER_REJECTED, type WebhookEndpointInfo, type WebhookEndpointRow, type WebhookField, type WebhookHashAlgorithm, type WebhookPolicy, type WebhookReply, type WebhookRequest, type WebhookScheme, WebhookService, type WebhookSignatureEncoding, type WebhookSpec, type WebhookVerification, WithIndex, WsConnectHandler, WsConnection, WsContextFactory, WsDisposer, WsHandlers, assertAuthRequiredForDocumentPermissions, assertCredentialVerifierForSource, assertHostMountPath, assertRequireAuthenticatedCallerAllowed, assertSkipCredentialVerificationAllowed, buildGraphQlDocument, buildGraphQlDriveDocument, buildGraphqlOperation, buildGraphqlOperations, buildSubgraphSchemaModule, createAuthFetchMiddleware, createCanonicalDocumentIdResolver, createGatewayAdapter, createHttpAdapter, createMergedSchema, createReactorGraphQLClient, createRenownCredentialVerifier, createSchema, createWsAuthHandlers, decodeExplorerUrlState, definedNonNullAnySchema, driveIdFromUrl, extractSubgraphsFromModule, generateDocumentModelSchema, getAuthContext, getDbClient, getDocumentModelSchemaName, getDocumentModelTypeDefs, getExplorerPrefix, getGitHash, getGitUrl, getSdk, getUniqueDocumentModels, getUniqueUpgradeManifests, getVersion, initAnalyticsStoreSql, initializeAndStartAPI, isDefinedNonNullAny, isExpectedLoaderMiss, isSubgraphClass, namespacePath, namespaceSegments, newWebhookToken, parseDriveUrl, parseWebhookBody, redactHeaders, renderGraphqlPlayground, resolvePackageName, resolveRenownConfig, verifyWebhook };
4831
+ export { type AttachmentReadGate, type AuthorizationConfig, type AuthorizerResult, type CanonicalDocumentId, type HttpRouteServiceOptions, type IAuthorizationService, type IDocumentScopeGate, type IHttpScope, type IPackageLoader, type IPackageLoaderOptions, type IPackagePieceSource, type IReactorInspectionSource, type IWebhookEndpoints, type IWebhookScope, type IWebhookStore, type InspectionCallerGate, type InspectionReadField, type NodeRouteSpec, type PackagePiece, type PackagePieceEntry, type PackagesSubgraphArgs, type ParsedDriveUrl, type ReactorInspectionOptions, type RouteActor, type RouteAuth, type RouteAuthorizer, type RouteBody, type RouteContext, type RouteHandler, type RouteMethod, type RouteOptions, type RouteSpec, type RouteTransport, type RouteUser, type ScopedRouteHandle, type WebhookEndpointInfo, type WebhookEndpointRow, type WebhookField, type WebhookHashAlgorithm, type WebhookPolicy, type WebhookReply, type WebhookRequest, type WebhookScheme, type WebhookSignatureEncoding, type WebhookSpec, type WebhookVerification, driveIdFromUrl, parseDriveUrl };
4832
+ export {};
3666
4833
  //# sourceMappingURL=index.d.mts.map