@powerhousedao/reactor-api 6.2.0-dev.2 → 6.2.0-dev.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/dist/index.d.mts +148 -178
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +536 -524
- package/dist/index.mjs.map +1 -1
- package/dist/src/packages/vite-loader.mjs +3 -3
- package/dist/src/packages/vite-loader.mjs.map +1 -1
- package/dist/utils-Dh9tl892.mjs +530 -0
- package/dist/utils-Dh9tl892.mjs.map +1 -0
- package/package.json +13 -13
- package/dist/utils-BFkbSO_H.mjs +0 -296
- package/dist/utils-BFkbSO_H.mjs.map +0 -1
package/README.md
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -200,35 +200,6 @@ declare class DocumentPermissionService {
|
|
|
200
200
|
* Delete all permissions for a document (used when deleting a document)
|
|
201
201
|
*/
|
|
202
202
|
deleteAllDocumentPermissions(documentId: string): Promise<void>;
|
|
203
|
-
/**
|
|
204
|
-
* Check if a user can read a document.
|
|
205
|
-
* Returns true if user has READ, WRITE, or ADMIN permission (direct or via group)
|
|
206
|
-
*/
|
|
207
|
-
canReadDocument(documentId: string, userAddress: string | undefined): Promise<boolean>;
|
|
208
|
-
/**
|
|
209
|
-
* Check if a user can write to a document.
|
|
210
|
-
* Returns true if user has WRITE or ADMIN permission (direct or via group)
|
|
211
|
-
*/
|
|
212
|
-
canWriteDocument(documentId: string, userAddress: string | undefined): Promise<boolean>;
|
|
213
|
-
/**
|
|
214
|
-
* Check if a user can manage a document (change permissions, settings).
|
|
215
|
-
* Returns true if user has ADMIN permission (direct or via group)
|
|
216
|
-
*/
|
|
217
|
-
canManageDocument(documentId: string, userAddress: string | undefined): Promise<boolean>;
|
|
218
|
-
/**
|
|
219
|
-
* Check if a user can read a document, including parent permission inheritance.
|
|
220
|
-
* Returns true if user has permission on the document OR any parent in the hierarchy.
|
|
221
|
-
*/
|
|
222
|
-
canRead(documentId: string, userAddress: string | undefined, getParentIds: GetParentIdsFn): Promise<boolean>;
|
|
223
|
-
/**
|
|
224
|
-
* Check if a user can write to a document, including parent permission inheritance.
|
|
225
|
-
* Returns true if user has write permission on the document OR any parent in the hierarchy.
|
|
226
|
-
*/
|
|
227
|
-
canWrite(documentId: string, userAddress: string | undefined, getParentIds: GetParentIdsFn): Promise<boolean>;
|
|
228
|
-
/**
|
|
229
|
-
* Filter a list of document IDs to only include those the user can read.
|
|
230
|
-
*/
|
|
231
|
-
filterReadableDocuments(documentIds: string[], userAddress: string | undefined, getParentIds: GetParentIdsFn): Promise<string[]>;
|
|
232
203
|
/**
|
|
233
204
|
* Create a new group
|
|
234
205
|
*/
|
|
@@ -302,10 +273,10 @@ declare class DocumentPermissionService {
|
|
|
302
273
|
*/
|
|
303
274
|
getOperationGroupPermissions(documentId: string, operationType: string): Promise<OperationGroupPermissionEntry[]>;
|
|
304
275
|
/**
|
|
305
|
-
*
|
|
306
|
-
*
|
|
276
|
+
* Whether an operation-permission row exists for the user on this
|
|
277
|
+
* operation, either directly or via a group the user belongs to.
|
|
307
278
|
*/
|
|
308
|
-
|
|
279
|
+
hasOperationGrant(documentId: string, operationType: string, userAddress: string): Promise<boolean>;
|
|
309
280
|
/**
|
|
310
281
|
* Check if an operation has any permissions set (is restricted)
|
|
311
282
|
*/
|
|
@@ -352,73 +323,80 @@ declare class DocumentPermissionService {
|
|
|
352
323
|
}
|
|
353
324
|
//#endregion
|
|
354
325
|
//#region src/services/authorization.service.d.ts
|
|
326
|
+
/**
|
|
327
|
+
* A document id that has been resolved to its canonical form, never a slug.
|
|
328
|
+
*
|
|
329
|
+
* Protection and grant rows are written under the canonical id, while the
|
|
330
|
+
* read/operation data paths accept an id-or-slug identifier. The decision layer
|
|
331
|
+
* must key on the canonical id, so branding it forces every caller to resolve a
|
|
332
|
+
* slug to its id before consulting this service, closing the slug-aliasing
|
|
333
|
+
* bypass (S-C1). The only sanctioned cast from string to CanonicalDocumentId
|
|
334
|
+
* lives in the BaseSubgraph resolution helpers, immediately after the shared
|
|
335
|
+
* resolveIdOrSlug lookup returns.
|
|
336
|
+
*/
|
|
337
|
+
type CanonicalDocumentId = string & {
|
|
338
|
+
readonly __canonicalDocumentId: unique symbol;
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* Result of a passed per-document authorization check. `fetchIdentifier` is
|
|
342
|
+
* always safe for the data fetch: the canonical id when resolved, or the raw
|
|
343
|
+
* identifier when the check was skipped for a policy-wide caller.
|
|
344
|
+
*/
|
|
345
|
+
declare class AuthorizedDocumentHandle {
|
|
346
|
+
readonly fetchIdentifier: string;
|
|
347
|
+
readonly isResolved: boolean;
|
|
348
|
+
private constructor();
|
|
349
|
+
static resolved(documentId: CanonicalDocumentId): AuthorizedDocumentHandle;
|
|
350
|
+
static skipped(identifier: string): AuthorizedDocumentHandle;
|
|
351
|
+
/** The verified canonical id; throws when resolution was skipped. */
|
|
352
|
+
canonicalId(): CanonicalDocumentId;
|
|
353
|
+
}
|
|
354
|
+
declare const AuthorizationPolicy: {
|
|
355
|
+
readonly OPEN: "OPEN";
|
|
356
|
+
readonly ADMIN_ONLY: "ADMIN_ONLY";
|
|
357
|
+
readonly DOCUMENT_PERMISSIONS: "DOCUMENT_PERMISSIONS";
|
|
358
|
+
};
|
|
359
|
+
type AuthorizationPolicy = (typeof AuthorizationPolicy)[keyof typeof AuthorizationPolicy];
|
|
355
360
|
interface AuthorizationConfig {
|
|
356
361
|
admins: string[];
|
|
357
362
|
defaultProtection: boolean;
|
|
363
|
+
policy: AuthorizationPolicy;
|
|
358
364
|
}
|
|
359
365
|
/**
|
|
360
|
-
*
|
|
366
|
+
* Single source of truth for every permission decision. Always present (never
|
|
367
|
+
* null) so callers branch on data, not on the existence of a service.
|
|
361
368
|
*
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
*
|
|
365
|
-
*
|
|
366
|
-
*
|
|
367
|
-
*
|
|
368
|
-
*
|
|
369
|
-
* - READ: requires explicit READ/WRITE/ADMIN grant (direct or via group/parent)
|
|
370
|
-
* - WRITE: requires explicit WRITE/ADMIN grant (direct or via group/parent)
|
|
371
|
-
* 3. Operation restricted? → Check OperationUserPermission
|
|
372
|
-
* 4. Document owner = implicit ADMIN
|
|
373
|
-
* 5. Drive protected = all children effectively protected
|
|
369
|
+
* The policy selects an implementation once at boot:
|
|
370
|
+
* - OPEN: authentication disabled — everyone (incl. anonymous) is allowed.
|
|
371
|
+
* - ADMIN_ONLY: authentication on, document permissions off — only ADMINS.
|
|
372
|
+
* - DOCUMENT_PERMISSIONS: the full per-document protection + grant model.
|
|
373
|
+
*
|
|
374
|
+
* Permission inheritance walks the parent-document hierarchy through a
|
|
375
|
+
* parent resolver injected at construction; callers never supply one.
|
|
374
376
|
*/
|
|
375
|
-
|
|
376
|
-
private readonly documentPermissionService;
|
|
377
|
+
interface IAuthorizationService {
|
|
377
378
|
readonly config: AuthorizationConfig;
|
|
378
|
-
constructor(documentPermissionService: DocumentPermissionService, config: AuthorizationConfig);
|
|
379
379
|
/**
|
|
380
|
-
*
|
|
380
|
+
* Whether the user has unrestricted, policy-wide access. Under OPEN this is
|
|
381
|
+
* true for everyone (including anonymous callers) by design: OPEN means "no
|
|
382
|
+
* restrictions", and consumers use this check to skip per-document
|
|
383
|
+
* filtering. It does NOT mean the caller is in the ADMINS list.
|
|
381
384
|
*/
|
|
382
385
|
isSupremeAdmin(userAddress?: string): boolean;
|
|
383
386
|
/**
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
*
|
|
387
|
-
* - Not protected → anyone can read (even anonymous)
|
|
388
|
-
* - Protected → requires READ/WRITE/ADMIN grant (direct, group, or parent inheritance)
|
|
389
|
-
* - Owner → yes (implicit ADMIN)
|
|
390
|
-
*/
|
|
391
|
-
canRead(documentId: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
392
|
-
/**
|
|
393
|
-
* Check if a user can write to a document.
|
|
394
|
-
*
|
|
395
|
-
* - Supreme admin → yes
|
|
396
|
-
* - Not protected → anyone can write (even anonymous)
|
|
397
|
-
* - Protected → requires authentication + WRITE/ADMIN grant
|
|
398
|
-
* - Owner → yes (implicit ADMIN)
|
|
399
|
-
*/
|
|
400
|
-
canWrite(documentId: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
401
|
-
/**
|
|
402
|
-
* Check if a user can manage a document (change permissions, protection, transfer ownership).
|
|
403
|
-
*
|
|
404
|
-
* - Supreme admin → yes
|
|
405
|
-
* - Owner → yes
|
|
406
|
-
* - Has ADMIN grant → yes
|
|
387
|
+
* Whether the user may create new documents under the current policy:
|
|
388
|
+
* everyone in OPEN, only admins in ADMIN_ONLY, any authenticated user in
|
|
389
|
+
* DOCUMENT_PERMISSIONS.
|
|
407
390
|
*/
|
|
408
|
-
|
|
391
|
+
canCreate(userAddress?: string): boolean;
|
|
392
|
+
canRead(documentId: CanonicalDocumentId, userAddress?: string): Promise<boolean>;
|
|
393
|
+
canWrite(documentId: CanonicalDocumentId, userAddress?: string): Promise<boolean>;
|
|
409
394
|
/**
|
|
410
|
-
*
|
|
411
|
-
*
|
|
412
|
-
* If the operation is restricted, requires an explicit OperationUserPermission grant.
|
|
395
|
+
* Whether the user administers the document: supreme admin, document
|
|
396
|
+
* owner, or holder of an ADMIN grant (direct or via group).
|
|
413
397
|
*/
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
* Combined check for mutations: can the user write + execute the operation?
|
|
417
|
-
* This enables READ-only users with operation grants to execute specific operations.
|
|
418
|
-
* For restricted operations, only the operation grant is checked (bypasses write check),
|
|
419
|
-
* allowing READ-only users with an explicit operation grant to execute that operation.
|
|
420
|
-
*/
|
|
421
|
-
canMutate(documentId: string, operationType: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
398
|
+
canManage(documentId: CanonicalDocumentId, userAddress?: string): Promise<boolean>;
|
|
399
|
+
canMutate(documentId: CanonicalDocumentId, operationType: string, userAddress?: string): Promise<boolean>;
|
|
422
400
|
}
|
|
423
401
|
//#endregion
|
|
424
402
|
//#region src/graphql/types.d.ts
|
|
@@ -428,14 +406,11 @@ type Context = {
|
|
|
428
406
|
document?: PHDocument;
|
|
429
407
|
headers: IncomingHttpHeaders;
|
|
430
408
|
db: unknown;
|
|
431
|
-
isAdmin?: (address: string) => boolean;
|
|
432
409
|
user?: {
|
|
433
410
|
address: string;
|
|
434
411
|
chainId: number;
|
|
435
412
|
networkId: string;
|
|
436
413
|
};
|
|
437
|
-
documentPermissionService?: DocumentPermissionService;
|
|
438
|
-
authorizationService?: AuthorizationService;
|
|
439
414
|
};
|
|
440
415
|
type ISubgraph = {
|
|
441
416
|
name: string;
|
|
@@ -454,7 +429,7 @@ type SubgraphArgs = {
|
|
|
454
429
|
graphqlManager: GraphQLManager$1;
|
|
455
430
|
syncManager: ISyncManager;
|
|
456
431
|
documentPermissionService?: DocumentPermissionService;
|
|
457
|
-
authorizationService
|
|
432
|
+
authorizationService: IAuthorizationService;
|
|
458
433
|
path?: string;
|
|
459
434
|
};
|
|
460
435
|
type GqlSigner = {
|
|
@@ -516,6 +491,7 @@ type GqlDriveDocument = GqlDocument & {
|
|
|
516
491
|
//#endregion
|
|
517
492
|
//#region src/graphql/base-subgraph.d.ts
|
|
518
493
|
declare class BaseSubgraph implements ISubgraph$1 {
|
|
494
|
+
#private;
|
|
519
495
|
name: string;
|
|
520
496
|
path: string;
|
|
521
497
|
resolvers: Record<string, any>;
|
|
@@ -525,15 +501,47 @@ declare class BaseSubgraph implements ISubgraph$1 {
|
|
|
525
501
|
relationalDb: IRelationalDb;
|
|
526
502
|
syncManager: ISyncManager;
|
|
527
503
|
documentPermissionService?: DocumentPermissionService;
|
|
528
|
-
authorizationService
|
|
504
|
+
authorizationService: IAuthorizationService;
|
|
529
505
|
constructor(args: SubgraphArgs$1);
|
|
530
506
|
onSetup(): Promise<void>;
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
507
|
+
/**
|
|
508
|
+
* Resolves a caller-supplied identifier (id or slug) to its canonical
|
|
509
|
+
* document id, memoized per request. Both the decision layer and the data
|
|
510
|
+
* layer must agree on the subject, so this runs the same resolveIdOrSlug
|
|
511
|
+
* lookup the data path uses. A resolution failure (not found, ambiguous, or
|
|
512
|
+
* transient) surfaces as a generic Forbidden, fail-closed, so a bad
|
|
513
|
+
* identifier cannot be used as a document-existence oracle.
|
|
514
|
+
*/
|
|
515
|
+
resolveCanonicalDocumentId(identifier: string, requestKey: object): Promise<CanonicalDocumentId>;
|
|
516
|
+
/**
|
|
517
|
+
* Resolves the args' `documentId` to canonical form. Unconditional (unlike the
|
|
518
|
+
* assertCan* helpers, no admin skip): ACL rows are keyed on the canonical id.
|
|
519
|
+
*/
|
|
520
|
+
withCanonicalDocumentId<T extends {
|
|
521
|
+
documentId: string;
|
|
522
|
+
}>(args: T, requestKey: object): Promise<T & {
|
|
523
|
+
documentId: CanonicalDocumentId;
|
|
524
|
+
}>;
|
|
525
|
+
/**
|
|
526
|
+
* Read filter for an already-canonical document id (one sourced from the data
|
|
527
|
+
* layer, such as a fetched document's id). Performs no slug resolution.
|
|
528
|
+
*/
|
|
529
|
+
canReadDocument(documentId: CanonicalDocumentId, ctx: Context): Promise<boolean>;
|
|
530
|
+
/**
|
|
531
|
+
* Asserts read access, resolving a slug first. Returns a handle whose
|
|
532
|
+
* `fetchIdentifier` the caller reuses for the data fetch; a denial throws.
|
|
533
|
+
*/
|
|
534
|
+
assertCanRead(identifier: string, ctx: Context): Promise<AuthorizedDocumentHandle>;
|
|
535
|
+
assertCanWrite(identifier: string, ctx: Context): Promise<AuthorizedDocumentHandle>;
|
|
536
|
+
assertCanExecuteOperation(identifier: string, operationType: string, ctx: Context): Promise<AuthorizedDocumentHandle>;
|
|
537
|
+
/**
|
|
538
|
+
* Read assertion for an already-canonical document id. No slug resolution;
|
|
539
|
+
* use only with ids sourced from the data layer or already resolved.
|
|
540
|
+
*/
|
|
541
|
+
assertCanReadCanonical(documentId: CanonicalDocumentId, ctx: Context): Promise<void>;
|
|
542
|
+
assertCanWriteCanonical(documentId: CanonicalDocumentId, ctx: Context): Promise<void>;
|
|
543
|
+
assertCanExecuteOperationCanonical(documentId: CanonicalDocumentId, operationType: string, ctx: Context): Promise<void>;
|
|
544
|
+
assertCanCreate(ctx: Context): void;
|
|
537
545
|
}
|
|
538
546
|
//#endregion
|
|
539
547
|
//#region src/graphql/analytics-subgraph.d.ts
|
|
@@ -676,7 +684,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
676
684
|
user?: {
|
|
677
685
|
address: string;
|
|
678
686
|
};
|
|
679
|
-
isAdmin?: (address: string) => boolean;
|
|
680
687
|
}) => Promise<DocumentProtectionInfo>;
|
|
681
688
|
transferDocumentOwnership: (_parent: unknown, args: {
|
|
682
689
|
documentId: string;
|
|
@@ -685,7 +692,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
685
692
|
user?: {
|
|
686
693
|
address: string;
|
|
687
694
|
};
|
|
688
|
-
isAdmin?: (address: string) => boolean;
|
|
689
695
|
}) => Promise<DocumentProtectionInfo>;
|
|
690
696
|
grantDocumentPermission: (_parent: unknown, args: {
|
|
691
697
|
documentId: string;
|
|
@@ -695,7 +701,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
695
701
|
user?: {
|
|
696
702
|
address: string;
|
|
697
703
|
};
|
|
698
|
-
isAdmin?: (address: string) => boolean;
|
|
699
704
|
}) => Promise<{
|
|
700
705
|
documentId: string;
|
|
701
706
|
userAddress: string;
|
|
@@ -711,7 +716,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
711
716
|
user?: {
|
|
712
717
|
address: string;
|
|
713
718
|
};
|
|
714
|
-
isAdmin?: (address: string) => boolean;
|
|
715
719
|
}) => Promise<boolean>;
|
|
716
720
|
createGroup: (_parent: unknown, args: {
|
|
717
721
|
name: string;
|
|
@@ -736,7 +740,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
736
740
|
user?: {
|
|
737
741
|
address: string;
|
|
738
742
|
};
|
|
739
|
-
isAdmin?: (address: string) => boolean;
|
|
740
743
|
}) => Promise<DocumentGroupPermission>;
|
|
741
744
|
revokeGroupPermission: (_parent: unknown, args: {
|
|
742
745
|
documentId: string;
|
|
@@ -745,7 +748,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
745
748
|
user?: {
|
|
746
749
|
address: string;
|
|
747
750
|
};
|
|
748
|
-
isAdmin?: (address: string) => boolean;
|
|
749
751
|
}) => Promise<boolean>;
|
|
750
752
|
grantOperationPermission: (_parent: unknown, args: {
|
|
751
753
|
documentId: string;
|
|
@@ -755,7 +757,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
755
757
|
user?: {
|
|
756
758
|
address: string;
|
|
757
759
|
};
|
|
758
|
-
isAdmin?: (address: string) => boolean;
|
|
759
760
|
}) => Promise<OperationUserPermission>;
|
|
760
761
|
revokeOperationPermission: (_parent: unknown, args: {
|
|
761
762
|
documentId: string;
|
|
@@ -765,7 +766,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
765
766
|
user?: {
|
|
766
767
|
address: string;
|
|
767
768
|
};
|
|
768
|
-
isAdmin?: (address: string) => boolean;
|
|
769
769
|
}) => Promise<boolean>;
|
|
770
770
|
grantGroupOperationPermission: (_parent: unknown, args: {
|
|
771
771
|
documentId: string;
|
|
@@ -775,7 +775,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
775
775
|
user?: {
|
|
776
776
|
address: string;
|
|
777
777
|
};
|
|
778
|
-
isAdmin?: (address: string) => boolean;
|
|
779
778
|
}) => Promise<OperationGroupPermission>;
|
|
780
779
|
revokeGroupOperationPermission: (_parent: unknown, args: {
|
|
781
780
|
documentId: string;
|
|
@@ -785,7 +784,6 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
785
784
|
user?: {
|
|
786
785
|
address: string;
|
|
787
786
|
};
|
|
788
|
-
isAdmin?: (address: string) => boolean;
|
|
789
787
|
}) => Promise<boolean>;
|
|
790
788
|
};
|
|
791
789
|
Group: {
|
|
@@ -811,8 +809,8 @@ declare class AuthSubgraph extends BaseSubgraph {
|
|
|
811
809
|
interface AuthConfig {
|
|
812
810
|
enabled: boolean;
|
|
813
811
|
admins: string[];
|
|
814
|
-
cacheTtl?: number;
|
|
815
812
|
skipCredentialVerification?: boolean;
|
|
813
|
+
credentialVerificationCacheTtlMs?: number;
|
|
816
814
|
}
|
|
817
815
|
interface User {
|
|
818
816
|
address: string;
|
|
@@ -826,6 +824,7 @@ interface AuthContext {
|
|
|
826
824
|
}
|
|
827
825
|
declare class AuthService {
|
|
828
826
|
private readonly config;
|
|
827
|
+
private readonly credentialCache;
|
|
829
828
|
constructor(config: AuthConfig);
|
|
830
829
|
authenticateRequest(request: globalThis.Request): Promise<AuthContext | globalThis.Response>;
|
|
831
830
|
/**
|
|
@@ -843,27 +842,28 @@ declare class AuthService {
|
|
|
843
842
|
*/
|
|
844
843
|
private extractUserFromVerification;
|
|
845
844
|
/**
|
|
846
|
-
*
|
|
845
|
+
* Verify that the credential still exists on the Renown API.
|
|
846
|
+
*
|
|
847
|
+
* Results are cached per (address, chainId, issuer) for a short TTL so the
|
|
848
|
+
* blocking external round-trip is not paid on every request. Concurrent
|
|
849
|
+
* checks for the same key share a single in-flight request, and entries
|
|
850
|
+
* that resolve to false are evicted immediately so failed or revoked
|
|
851
|
+
* credentials are re-checked on the next request.
|
|
847
852
|
*/
|
|
848
|
-
|
|
849
|
-
isAdmin: (address: string) => boolean;
|
|
850
|
-
};
|
|
853
|
+
private verifyCredentialExists;
|
|
851
854
|
/**
|
|
852
|
-
*
|
|
855
|
+
* Enforce the cache size cap before inserting a new entry: drop expired
|
|
856
|
+
* entries first, then evict oldest-inserted entries (insertion order
|
|
857
|
+
* matches expiry order since the TTL is constant) until under the cap, so
|
|
858
|
+
* a flood of distinct keys cannot grow the map without bound.
|
|
853
859
|
*/
|
|
854
|
-
|
|
855
|
-
user?: undefined;
|
|
856
|
-
} | {
|
|
857
|
-
user: {
|
|
858
|
-
address: string;
|
|
859
|
-
chainId: number;
|
|
860
|
-
networkId: string;
|
|
861
|
-
};
|
|
862
|
-
};
|
|
860
|
+
private pruneCredentialCache;
|
|
863
861
|
/**
|
|
864
|
-
*
|
|
862
|
+
* Fetch the credential from the Renown API and validate it against the
|
|
863
|
+
* expected address, chainId and issuer. Never throws; returns false on any
|
|
864
|
+
* network or validation failure.
|
|
865
865
|
*/
|
|
866
|
-
private
|
|
866
|
+
private fetchCredentialExists;
|
|
867
867
|
}
|
|
868
868
|
//#endregion
|
|
869
869
|
//#region src/graphql/gateway/types.d.ts
|
|
@@ -1016,16 +1016,14 @@ declare class GraphQLManager {
|
|
|
1016
1016
|
private readonly logger;
|
|
1017
1017
|
private readonly httpAdapter;
|
|
1018
1018
|
private readonly gatewayAdapter;
|
|
1019
|
-
private readonly
|
|
1019
|
+
private readonly authService?;
|
|
1020
1020
|
private readonly documentPermissionService?;
|
|
1021
1021
|
private readonly featureFlags;
|
|
1022
1022
|
private readonly port;
|
|
1023
|
-
private readonly authorizationService?;
|
|
1024
1023
|
private initialized;
|
|
1025
1024
|
private coreSubgraphsMap;
|
|
1026
1025
|
private contextFields;
|
|
1027
1026
|
private readonly subgraphs;
|
|
1028
|
-
private authService;
|
|
1029
1027
|
private readonly subgraphWsDisposers;
|
|
1030
1028
|
readonly driveOwnershipCache: DriveOwnershipCache;
|
|
1031
1029
|
/** Cached document models for schema generation - updated on init and regenerate */
|
|
@@ -1037,7 +1035,8 @@ declare class GraphQLManager {
|
|
|
1037
1035
|
* it for reactor-drive parents.
|
|
1038
1036
|
*/
|
|
1039
1037
|
readonly reactorDriveClient?: IDriveClient;
|
|
1040
|
-
|
|
1038
|
+
private readonly authorizationService;
|
|
1039
|
+
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);
|
|
1041
1040
|
init(coreSubgraphs: SubgraphClass$1[], authMiddleware?: AuthFetchMiddleware): Promise<void>;
|
|
1042
1041
|
/**
|
|
1043
1042
|
* Regenerate document model subgraphs when models are dynamically loaded.
|
|
@@ -1053,6 +1052,12 @@ declare class GraphQLManager {
|
|
|
1053
1052
|
* Get the base path used for subgraph registration.
|
|
1054
1053
|
*/
|
|
1055
1054
|
getBasePath(): string;
|
|
1055
|
+
/**
|
|
1056
|
+
* Get the authorization service shared with subgraphs. Use this when
|
|
1057
|
+
* constructing a subgraph instance externally for
|
|
1058
|
+
* {@link registerSubgraphInstance}.
|
|
1059
|
+
*/
|
|
1060
|
+
getAuthorizationService(): IAuthorizationService;
|
|
1056
1061
|
registerSubgraph(subgraph: SubgraphClass$1, supergraph?: string, core?: boolean): Promise<ISubgraph$1>;
|
|
1057
1062
|
updateRouter: (immediate?: boolean) => Promise<void>;
|
|
1058
1063
|
private _updateRouter;
|
|
@@ -1091,6 +1096,10 @@ interface IReactorProcessorHostModule extends IProcessorHostModule {
|
|
|
1091
1096
|
client: IReactorClient;
|
|
1092
1097
|
attachments: IAttachmentClient;
|
|
1093
1098
|
}
|
|
1099
|
+
type ReadinessGate = {
|
|
1100
|
+
isReady: () => boolean;
|
|
1101
|
+
markReady: () => void;
|
|
1102
|
+
};
|
|
1094
1103
|
type API = {
|
|
1095
1104
|
httpAdapter: IHttpAdapter;
|
|
1096
1105
|
graphqlManager: GraphQLManager$1;
|
|
@@ -1323,7 +1332,6 @@ type Scalars = {
|
|
|
1323
1332
|
};
|
|
1324
1333
|
};
|
|
1325
1334
|
type Action = {
|
|
1326
|
-
readonly attachments?: Maybe<ReadonlyArray<Attachment>>;
|
|
1327
1335
|
readonly context?: Maybe<ActionContext>;
|
|
1328
1336
|
readonly id: Scalars["String"]["output"];
|
|
1329
1337
|
readonly input: Scalars["JSONObject"]["output"];
|
|
@@ -1338,7 +1346,6 @@ type ActionContextInput = {
|
|
|
1338
1346
|
readonly signer?: InputMaybe<ReactorSignerInput>;
|
|
1339
1347
|
};
|
|
1340
1348
|
type ActionInput = {
|
|
1341
|
-
readonly attachments?: InputMaybe<ReadonlyArray<AttachmentInput>>;
|
|
1342
1349
|
readonly context?: InputMaybe<ActionContextInput>;
|
|
1343
1350
|
readonly id: Scalars["String"]["input"];
|
|
1344
1351
|
readonly input: Scalars["JSONObject"]["input"];
|
|
@@ -1346,20 +1353,6 @@ type ActionInput = {
|
|
|
1346
1353
|
readonly timestampUtcMs: Scalars["String"]["input"];
|
|
1347
1354
|
readonly type: Scalars["String"]["input"];
|
|
1348
1355
|
};
|
|
1349
|
-
type Attachment = {
|
|
1350
|
-
readonly data: Scalars["String"]["output"];
|
|
1351
|
-
readonly extension?: Maybe<Scalars["String"]["output"]>;
|
|
1352
|
-
readonly fileName?: Maybe<Scalars["String"]["output"]>;
|
|
1353
|
-
readonly hash: Scalars["String"]["output"];
|
|
1354
|
-
readonly mimeType: Scalars["String"]["output"];
|
|
1355
|
-
};
|
|
1356
|
-
type AttachmentInput = {
|
|
1357
|
-
readonly data: Scalars["String"]["input"];
|
|
1358
|
-
readonly extension?: InputMaybe<Scalars["String"]["input"]>;
|
|
1359
|
-
readonly fileName?: InputMaybe<Scalars["String"]["input"]>;
|
|
1360
|
-
readonly hash: Scalars["String"]["input"];
|
|
1361
|
-
readonly mimeType: Scalars["String"]["input"];
|
|
1362
|
-
};
|
|
1363
1356
|
type ChannelMeta = {
|
|
1364
1357
|
readonly id: Scalars["String"]["output"];
|
|
1365
1358
|
};
|
|
@@ -1840,13 +1833,6 @@ type GetDocumentWithOperationsQuery = {
|
|
|
1840
1833
|
readonly timestampUtcMs: string;
|
|
1841
1834
|
readonly input: NonNullable<unknown>;
|
|
1842
1835
|
readonly scope: string;
|
|
1843
|
-
readonly attachments?: ReadonlyArray<{
|
|
1844
|
-
readonly data: string;
|
|
1845
|
-
readonly mimeType: string;
|
|
1846
|
-
readonly hash: string;
|
|
1847
|
-
readonly extension?: string | null | undefined;
|
|
1848
|
-
readonly fileName?: string | null | undefined;
|
|
1849
|
-
}> | null | undefined;
|
|
1850
1836
|
readonly context?: {
|
|
1851
1837
|
readonly signer?: {
|
|
1852
1838
|
readonly signatures: ReadonlyArray<string>;
|
|
@@ -1974,13 +1960,6 @@ type GetDocumentOperationsQuery = {
|
|
|
1974
1960
|
readonly timestampUtcMs: string;
|
|
1975
1961
|
readonly input: NonNullable<unknown>;
|
|
1976
1962
|
readonly scope: string;
|
|
1977
|
-
readonly attachments?: ReadonlyArray<{
|
|
1978
|
-
readonly data: string;
|
|
1979
|
-
readonly mimeType: string;
|
|
1980
|
-
readonly hash: string;
|
|
1981
|
-
readonly extension?: string | null | undefined;
|
|
1982
|
-
readonly fileName?: string | null | undefined;
|
|
1983
|
-
}> | null | undefined;
|
|
1984
1963
|
readonly context?: {
|
|
1985
1964
|
readonly signer?: {
|
|
1986
1965
|
readonly signatures: ReadonlyArray<string>;
|
|
@@ -2278,13 +2257,6 @@ type PollSyncEnvelopesQuery = {
|
|
|
2278
2257
|
readonly timestampUtcMs: string;
|
|
2279
2258
|
readonly input: NonNullable<unknown>;
|
|
2280
2259
|
readonly scope: string;
|
|
2281
|
-
readonly attachments?: ReadonlyArray<{
|
|
2282
|
-
readonly data: string;
|
|
2283
|
-
readonly mimeType: string;
|
|
2284
|
-
readonly hash: string;
|
|
2285
|
-
readonly extension?: string | null | undefined;
|
|
2286
|
-
readonly fileName?: string | null | undefined;
|
|
2287
|
-
}> | null | undefined;
|
|
2288
2260
|
readonly context?: {
|
|
2289
2261
|
readonly signer?: {
|
|
2290
2262
|
readonly signatures: ReadonlyArray<string>;
|
|
@@ -2365,8 +2337,6 @@ type ResolversTypes = ResolversObject<{
|
|
|
2365
2337
|
ActionContext: ResolverTypeWrapper<ActionContext>;
|
|
2366
2338
|
ActionContextInput: ActionContextInput;
|
|
2367
2339
|
ActionInput: ActionInput;
|
|
2368
|
-
Attachment: ResolverTypeWrapper<Attachment>;
|
|
2369
|
-
AttachmentInput: AttachmentInput;
|
|
2370
2340
|
Boolean: ResolverTypeWrapper<Scalars["Boolean"]["output"]>;
|
|
2371
2341
|
ChannelMeta: ResolverTypeWrapper<ChannelMeta>;
|
|
2372
2342
|
ChannelMetaInput: ChannelMetaInput;
|
|
@@ -2425,8 +2395,6 @@ type ResolversParentTypes = ResolversObject<{
|
|
|
2425
2395
|
ActionContext: ActionContext;
|
|
2426
2396
|
ActionContextInput: ActionContextInput;
|
|
2427
2397
|
ActionInput: ActionInput;
|
|
2428
|
-
Attachment: Attachment;
|
|
2429
|
-
AttachmentInput: AttachmentInput;
|
|
2430
2398
|
Boolean: Scalars["Boolean"]["output"];
|
|
2431
2399
|
ChannelMeta: ChannelMeta;
|
|
2432
2400
|
ChannelMetaInput: ChannelMetaInput;
|
|
@@ -2477,7 +2445,6 @@ type ResolversParentTypes = ResolversObject<{
|
|
|
2477
2445
|
ViewFilterInput: ViewFilterInput;
|
|
2478
2446
|
}>;
|
|
2479
2447
|
type ActionResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Action"] = ResolversParentTypes["Action"]> = ResolversObject<{
|
|
2480
|
-
attachments?: Resolver<Maybe<ReadonlyArray<ResolversTypes["Attachment"]>>, ParentType, ContextType>;
|
|
2481
2448
|
context?: Resolver<Maybe<ResolversTypes["ActionContext"]>, ParentType, ContextType>;
|
|
2482
2449
|
id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
|
|
2483
2450
|
input?: Resolver<ResolversTypes["JSONObject"], ParentType, ContextType>;
|
|
@@ -2488,13 +2455,6 @@ type ActionResolvers<ContextType = Context, ParentType extends ResolversParentTy
|
|
|
2488
2455
|
type ActionContextResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ActionContext"] = ResolversParentTypes["ActionContext"]> = ResolversObject<{
|
|
2489
2456
|
signer?: Resolver<Maybe<ResolversTypes["ReactorSigner"]>, ParentType, ContextType>;
|
|
2490
2457
|
}>;
|
|
2491
|
-
type AttachmentResolvers<ContextType = Context, ParentType extends ResolversParentTypes["Attachment"] = ResolversParentTypes["Attachment"]> = ResolversObject<{
|
|
2492
|
-
data?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
|
|
2493
|
-
extension?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
|
|
2494
|
-
fileName?: Resolver<Maybe<ResolversTypes["String"]>, ParentType, ContextType>;
|
|
2495
|
-
hash?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
|
|
2496
|
-
mimeType?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
|
|
2497
|
-
}>;
|
|
2498
2458
|
type ChannelMetaResolvers<ContextType = Context, ParentType extends ResolversParentTypes["ChannelMeta"] = ResolversParentTypes["ChannelMeta"]> = ResolversObject<{
|
|
2499
2459
|
id?: Resolver<ResolversTypes["String"], ParentType, ContextType>;
|
|
2500
2460
|
}>;
|
|
@@ -2676,7 +2636,6 @@ type TouchChannelResultResolvers<ContextType = Context, ParentType extends Resol
|
|
|
2676
2636
|
type Resolvers<ContextType = Context> = ResolversObject<{
|
|
2677
2637
|
Action?: ActionResolvers<ContextType>;
|
|
2678
2638
|
ActionContext?: ActionContextResolvers<ContextType>;
|
|
2679
|
-
Attachment?: AttachmentResolvers<ContextType>;
|
|
2680
2639
|
ChannelMeta?: ChannelMetaResolvers<ContextType>;
|
|
2681
2640
|
DateTime?: GraphQLScalarType;
|
|
2682
2641
|
DeadLetterInfo?: DeadLetterInfoResolvers<ContextType>;
|
|
@@ -2716,7 +2675,6 @@ declare const PropagationModeSchema: z$1.ZodEnum<typeof PropagationMode>;
|
|
|
2716
2675
|
declare const SyncEnvelopeTypeSchema: z$1.ZodEnum<typeof SyncEnvelopeType>;
|
|
2717
2676
|
declare function ActionContextInputSchema(): z$1.ZodObject<Properties<ActionContextInput>>;
|
|
2718
2677
|
declare function ActionInputSchema(): z$1.ZodObject<Properties<ActionInput>>;
|
|
2719
|
-
declare function AttachmentInputSchema(): z$1.ZodObject<Properties<AttachmentInput>>;
|
|
2720
2678
|
declare function ChannelMetaInputSchema(): z$1.ZodObject<Properties<ChannelMetaInput>>;
|
|
2721
2679
|
declare function DocumentOperationsFilterInputSchema(): z$1.ZodObject<Properties<DocumentOperationsFilterInput>>;
|
|
2722
2680
|
declare function OperationContextInputSchema(): z$1.ZodObject<Properties<OperationContextInput>>;
|
|
@@ -3054,6 +3012,17 @@ type Options = {
|
|
|
3054
3012
|
attachmentStoragePath?: string;
|
|
3055
3013
|
};
|
|
3056
3014
|
type ProcessorInitializer = ProcessorFactoryBuilder;
|
|
3015
|
+
/**
|
|
3016
|
+
* Doc-perms require auth: with auth off no `user` is ever resolved, so every
|
|
3017
|
+
* authorization check fails closed. Refuse to boot rather than run broken.
|
|
3018
|
+
*/
|
|
3019
|
+
declare function assertAuthRequiredForDocumentPermissions(authEnabled: boolean, documentPermissionsRequested: boolean): void;
|
|
3020
|
+
/**
|
|
3021
|
+
* Refuses SKIP_CREDENTIAL_VERIFICATION at boot outside tests or an explicit
|
|
3022
|
+
* opt-in: it removes the only binding between a token's claimed address and its
|
|
3023
|
+
* signing key. Fail-closed — unset NODE_ENV counts as production.
|
|
3024
|
+
*/
|
|
3025
|
+
declare function assertSkipCredentialVerificationAllowed(authEnabled: boolean, skipCredentialVerification: boolean, env: NodeJS.ProcessEnv): void;
|
|
3057
3026
|
/**
|
|
3058
3027
|
* Initializes and starts the API server using an initializer function.
|
|
3059
3028
|
* This function first loads packages to get document models, then calls the initializer function
|
|
@@ -3077,6 +3046,7 @@ declare function initializeAndStartAPI(clientInitializer: (documentModels: Docum
|
|
|
3077
3046
|
client: IReactorClient;
|
|
3078
3047
|
syncManager: ISyncManager;
|
|
3079
3048
|
documentModelRegistry: IDocumentModelRegistry;
|
|
3049
|
+
readiness: ReadinessGate;
|
|
3080
3050
|
}>;
|
|
3081
3051
|
//#endregion
|
|
3082
3052
|
//#region src/utils/create-schema.d.ts
|
|
@@ -3112,5 +3082,5 @@ interface DocumentModelSchemaOptions {
|
|
|
3112
3082
|
*/
|
|
3113
3083
|
declare function generateDocumentModelSchema(documentModel: DocumentModelGlobalState$1, options?: DocumentModelSchemaOptions): DocumentNode;
|
|
3114
3084
|
//#endregion
|
|
3115
|
-
export { ADMIN_USERS, API, Action, ActionContext, ActionContextInput, ActionContextInputSchema, ActionContextResolvers, ActionInput, ActionInputSchema, ActionResolvers, AddRelationshipDocument, AddRelationshipMutation, AddRelationshipMutationVariables, AnalyticsSubgraph,
|
|
3085
|
+
export { ADMIN_USERS, API, Action, ActionContext, ActionContextInput, ActionContextInputSchema, ActionContextResolvers, ActionInput, ActionInputSchema, ActionResolvers, AddRelationshipDocument, AddRelationshipMutation, AddRelationshipMutationVariables, AnalyticsSubgraph, AuthConfig, AuthContext, AuthFetchMiddleware, AuthService, AuthSubgraph, type AuthorizationConfig, AuthorizationPolicy, AuthorizedDocumentHandle, BaseSubgraph, type CanonicalDocumentId, ChannelMeta, ChannelMetaInput, ChannelMetaInputSchema, ChannelMetaResolvers, ClientInitializerResult, Context, CreateDocumentDocument, CreateDocumentMutation, CreateDocumentMutationVariables, CreateEmptyDocumentDocument, CreateEmptyDocumentMutation, CreateEmptyDocumentMutationVariables, DateTimeScalarConfig, DbClient, DeadLetterInfo, DeadLetterInfoResolvers, DeleteDocumentDocument, DeleteDocumentMutation, DeleteDocumentMutationVariables, DeleteDocumentsDocument, DeleteDocumentsMutation, DeleteDocumentsMutationVariables, DirectiveResolverFn, DocumentChangeContext, DocumentChangeContextResolvers, DocumentChangeEvent, DocumentChangeEventResolvers, DocumentChangeType, DocumentChangeTypeSchema, DocumentChangesDocument, DocumentChangesSubscription, DocumentChangesSubscriptionVariables, DocumentGroupPermissionEntry, DocumentGroupPermissionTable, DocumentModelGlobalState, DocumentModelGlobalStateResolvers, DocumentModelResultPage, DocumentModelResultPageResolvers, DocumentModelSchemaOptions, DocumentOperationsFilterInput, DocumentOperationsFilterInputSchema, DocumentPermissionConfig, DocumentPermissionDatabase, DocumentPermissionEntry, DocumentPermissionLevel, DocumentPermissionService, DocumentPermissionTable, DocumentProtectionTable, DocumentWithChildren, DocumentWithChildrenResolvers, Exact, FetchHandler, FindDocumentsDocument, FindDocumentsQuery, FindDocumentsQueryVariables, GatewayAdapterType, GatewayContextFactory, GetDocumentDocument, GetDocumentIncomingRelationshipsDocument, GetDocumentIncomingRelationshipsQuery, GetDocumentIncomingRelationshipsQueryVariables, GetDocumentModelsDocument, GetDocumentModelsQuery, GetDocumentModelsQueryVariables, GetDocumentOperationsDocument, GetDocumentOperationsQuery, GetDocumentOperationsQueryVariables, GetDocumentOutgoingRelationshipsDocument, GetDocumentOutgoingRelationshipsQuery, GetDocumentOutgoingRelationshipsQueryVariables, GetDocumentQuery, GetDocumentQueryVariables, GetDocumentWithOperationsDocument, GetDocumentWithOperationsQuery, GetDocumentWithOperationsQueryVariables, GetJobStatusDocument, GetJobStatusQuery, GetJobStatusQueryVariables, GetParentIdsFn, GqlDocument, GqlDriveDocument, GqlOperation, GqlOperationContext, GqlSigner, GqlSignerApp, GqlSignerUser, GraphQLManager, GraphqlManagerFeatureFlags, Group, GroupTable, HttpAdapterSetup, HttpAdapterType, HttpDocumentModelLoader, HttpPackageLoader, HttpPackageLoaderLogger, HttpPackageLoaderOptions, type IAuthorizationService, IGatewayAdapter, IHttpAdapter, type IPackageLoader, type IPackageLoaderOptions, IPackageStorage, IReactorProcessorHostModule, ISubgraph, ImportPackageLoader, InMemoryPackageStorage, Incremental, InputMaybe, InstallPackageResult, InstalledPackageInfo, IsTypeOfResolverFn, JobChangeEvent, JobChangeEventResolvers, JobChangesDocument, JobChangesSubscription, JobChangesSubscriptionVariables, JobInfo, JobInfoResolvers, JsonObjectScalarConfig, MakeEmpty, MakeMaybe, MakeOptional, Maybe, MoveRelationshipDocument, MoveRelationshipMutation, MoveRelationshipMutationVariables, MoveRelationshipResult, MoveRelationshipResultResolvers, MutateDocumentAsyncDocument, MutateDocumentAsyncMutation, MutateDocumentAsyncMutationVariables, MutateDocumentDocument, MutateDocumentMutation, MutateDocumentMutationVariables, Mutation, MutationAddRelationshipArgs, MutationCreateDocumentArgs, MutationCreateEmptyDocumentArgs, MutationDeleteDocumentArgs, MutationDeleteDocumentsArgs, MutationMoveRelationshipArgs, MutationMutateDocumentArgs, MutationMutateDocumentAsyncArgs, MutationPushSyncEnvelopesArgs, MutationRemoveRelationshipArgs, MutationRenameDocumentArgs, MutationResolvers, MutationSetPreferredEditorArgs, MutationTouchChannelArgs, NextResolverFn, OperationContext, OperationContextInput, OperationContextInputSchema, OperationContextResolvers, OperationGroupPermissionEntry, OperationGroupPermissionTable, OperationInput, OperationInputSchema, OperationUserPermissionEntry, OperationUserPermissionTable, OperationWithContext, OperationWithContextInput, OperationWithContextInputSchema, OperationWithContextResolvers, OperationsFilterInput, OperationsFilterInputSchema, PackageManagementService, PackageManagementServiceOptions, PackageManager, PackagesSubgraph, type PackagesSubgraphArgs, PagingInput, PagingInputSchema, type ParsedDriveUrl, PgliteFactory, PhDocument, PhDocumentFieldsFragment, PhDocumentFieldsFragmentDoc, PhDocumentOperationsArgs, PhDocumentResolvers, PhDocumentResultPage, PhDocumentResultPageResolvers, PollSyncEnvelopesDocument, PollSyncEnvelopesQuery, PollSyncEnvelopesQueryVariables, PollSyncEnvelopesResult, PollSyncEnvelopesResultResolvers, Processor, ProcessorDriveFactory, ProcessorFactoryBuilder, PropagationMode, PropagationModeSchema, PushSyncEnvelopesDocument, PushSyncEnvelopesMutation, PushSyncEnvelopesMutationVariables, Query, QueryDocumentArgs, QueryDocumentIncomingRelationshipsArgs, QueryDocumentModelsArgs, QueryDocumentOperationsArgs, QueryDocumentOutgoingRelationshipsArgs, QueryFindDocumentsArgs, QueryJobStatusArgs, QueryPollSyncEnvelopesArgs, QueryResolvers, ReactorModule, ReactorOperation, ReactorOperationResolvers, ReactorOperationResultPage, ReactorOperationResultPageResolvers, ReactorSigner, ReactorSignerApp, ReactorSignerAppInput, ReactorSignerAppInputSchema, ReactorSignerAppResolvers, ReactorSignerInput, ReactorSignerInputSchema, ReactorSignerResolvers, ReactorSignerUser, ReactorSignerUserInput, ReactorSignerUserInputSchema, ReactorSignerUserResolvers, ReactorSubgraph, ReadinessGate, RemoteCursor, RemoteCursorInput, RemoteCursorInputSchema, RemoteCursorResolvers, RemoteFilterInput, RemoteFilterInputSchema, RemoveRelationshipDocument, RemoveRelationshipMutation, RemoveRelationshipMutationVariables, RenameDocumentDocument, RenameDocumentMutation, RenameDocumentMutationVariables, Requester, RequireFields, Resolver, ResolverFn, ResolverTypeWrapper, ResolverWithResolve, Resolvers, ResolversObject, ResolversParentTypes, ResolversTypes, Revision, RevisionResolvers, Scalars, Sdk, SearchFilterInput, SearchFilterInputSchema, SetPreferredEditorDocument, SetPreferredEditorMutation, SetPreferredEditorMutationVariables, SubgraphArgs, SubgraphClass, SubgraphDefinition, Subscription, SubscriptionDocumentChangesArgs, SubscriptionJobChangesArgs, SubscriptionObject, SubscriptionResolveFn, SubscriptionResolver, SubscriptionResolverObject, SubscriptionResolvers, SubscriptionSubscribeFn, SubscriptionSubscriberObject, SyncEnvelope, SyncEnvelopeInput, SyncEnvelopeInputSchema, SyncEnvelopeResolvers, SyncEnvelopeType, SyncEnvelopeTypeSchema, SystemSubgraph, TlsOptions, TouchChannelDocument, TouchChannelInput, TouchChannelInputSchema, TouchChannelMutation, TouchChannelMutationVariables, TouchChannelResult, TouchChannelResultResolvers, TypeResolveFn, User, UserGroupTable, ViewFilterInput, ViewFilterInputSchema, WithIndex, WsContextFactory, WsDisposer, assertAuthRequiredForDocumentPermissions, assertSkipCredentialVerificationAllowed, buildGraphQlDocument, buildGraphQlDriveDocument, buildGraphqlOperation, buildGraphqlOperations, buildSubgraphSchemaModule, createAuthFetchMiddleware, createGatewayAdapter, createHttpAdapter, createMergedSchema, createReactorGraphQLClient, createSchema, definedNonNullAnySchema, driveIdFromUrl, extractSubgraphsFromModule, generateDocumentModelSchema, getAuthContext, getDbClient, getDocumentModelSchemaName, getDocumentModelTypeDefs, getGitHash, getGitUrl, getSdk, getUniqueDocumentModels, getVersion, initAnalyticsStoreSql, initializeAndStartAPI, isDefinedNonNullAny, isExpectedLoaderMiss, isSubgraphClass, parseDriveUrl, renderGraphqlPlayground };
|
|
3116
3086
|
//# sourceMappingURL=index.d.mts.map
|