@grantjs/schema 1.0.0 → 1.1.0

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 (77) hide show
  1. package/package.json +8 -8
  2. package/src/cdm/cdm-export-sections.ts +22 -0
  3. package/src/generated/graphql.ts +1656 -46
  4. package/src/generated/resolvers.ts +727 -0
  5. package/src/index.ts +11 -10
  6. package/src/operations/auth/login.graphql +2 -0
  7. package/src/operations/auth/setupMfa.graphql +7 -0
  8. package/src/operations/auth/verifyMfa.graphql +7 -0
  9. package/src/operations/auth/verifyMfaRecoveryCode.graphql +7 -0
  10. package/src/operations/me/createMyMfaEnrollment.graphql +7 -0
  11. package/src/operations/me/generateMyMfaRecoveryCodes.graphql +3 -0
  12. package/src/operations/me/me.graphql +1 -0
  13. package/src/operations/me/myMfaDevices.graphql +10 -0
  14. package/src/operations/me/myMfaRecoveryCodeStatus.graphql +6 -0
  15. package/src/operations/me/removeMyMfaDevice.graphql +5 -0
  16. package/src/operations/me/setMyPrimaryMfaDevice.graphql +6 -0
  17. package/src/operations/me/verifyMyMfaEnrollment.graphql +5 -0
  18. package/src/operations/organizations/getOrganizations.graphql +1 -0
  19. package/src/operations/organizations/updateOrganization.graphql +1 -0
  20. package/src/operations/projects/cancel-project-sync.graphql +17 -0
  21. package/src/operations/projects/project-sync-job.graphql +37 -0
  22. package/src/operations/projects/project-sync-jobs.graphql +40 -0
  23. package/src/operations/projects/start-project-export.graphql +20 -0
  24. package/src/operations/projects/start-project-sync.graphql +17 -0
  25. package/src/operations/resources/createResource.graphql +6 -0
  26. package/src/schema/auth/inputs/verify-mfa-recovery-code.graphql +3 -0
  27. package/src/schema/auth/inputs/verify-mfa.graphql +3 -0
  28. package/src/schema/auth/mutations/setup-mfa.graphql +3 -0
  29. package/src/schema/auth/mutations/verify-mfa-recovery-code.graphql +3 -0
  30. package/src/schema/auth/mutations/verify-mfa.graphql +3 -0
  31. package/src/schema/auth/types/login-response.graphql +5 -0
  32. package/src/schema/auth/types/mfa-setup-response.graphql +5 -0
  33. package/src/schema/auth/types/mfa-verify-response.graphql +5 -0
  34. package/src/schema/me/inputs/generate-my-mfa-recovery-codes.graphql +3 -0
  35. package/src/schema/me/inputs/remove-my-mfa-device.graphql +3 -0
  36. package/src/schema/me/inputs/set-my-primary-mfa-device.graphql +3 -0
  37. package/src/schema/me/inputs/verify-my-mfa-enrollment.graphql +3 -0
  38. package/src/schema/me/mutations/create-my-mfa-enrollment.graphql +3 -0
  39. package/src/schema/me/mutations/generate-my-mfa-recovery-codes.graphql +3 -0
  40. package/src/schema/me/mutations/remove-my-mfa-device.graphql +3 -0
  41. package/src/schema/me/mutations/set-my-primary-mfa-device.graphql +3 -0
  42. package/src/schema/me/mutations/verify-my-mfa-enrollment.graphql +3 -0
  43. package/src/schema/me/queries/my-mfa-devices.graphql +3 -0
  44. package/src/schema/me/queries/my-mfa-recovery-code-status.graphql +3 -0
  45. package/src/schema/me/types/me-response.graphql +1 -0
  46. package/src/schema/me/types/mfa-device.graphql +8 -0
  47. package/src/schema/me/types/mfa-enrollment.graphql +5 -0
  48. package/src/schema/me/types/mfa-recovery-code-status.graphql +4 -0
  49. package/src/schema/me/types/mfa-verify-result.graphql +3 -0
  50. package/src/schema/organization-users/inputs/add-organization-user.graphql +1 -0
  51. package/src/schema/organization-users/types/organization-user.graphql +1 -0
  52. package/src/schema/organizations/inputs/update-organization.graphql +1 -0
  53. package/src/schema/organizations/types/organization.graphql +1 -0
  54. package/src/schema/permissions/inputs/create-permission.graphql +1 -0
  55. package/src/schema/permissions/inputs/update-permission.graphql +1 -0
  56. package/src/schema/permissions/types/permission.graphql +1 -0
  57. package/src/schema/project-user-api-keys/inputs/add-project-user-api-key.graphql +4 -0
  58. package/src/schema/project-users/inputs/add-project-user.graphql +1 -0
  59. package/src/schema/project-users/types/project-user.graphql +3 -0
  60. package/src/schema/projects/inputs/project-sync-job-sort.graphql +4 -0
  61. package/src/schema/projects/inputs/start-project-export.graphql +31 -0
  62. package/src/schema/projects/inputs/sync-project-cdm.graphql +132 -0
  63. package/src/schema/projects/mutations/cancel-project-sync.graphql +9 -0
  64. package/src/schema/projects/mutations/start-project-export.graphql +12 -0
  65. package/src/schema/projects/mutations/start-project-sync.graphql +15 -0
  66. package/src/schema/projects/queries/project-sync-job.graphql +7 -0
  67. package/src/schema/projects/queries/project-sync-jobs.graphql +17 -0
  68. package/src/schema/projects/types/project-sync-job-page.graphql +8 -0
  69. package/src/schema/projects/types/project-sync-job-sortable-field.graphql +7 -0
  70. package/src/schema/projects/types/project-sync-job.graphql +53 -0
  71. package/src/schema/projects/types/sync-project-result.graphql +27 -0
  72. package/src/schema/resources/inputs/create-resource.graphql +2 -0
  73. package/src/schema/resources/inputs/update-resource.graphql +1 -0
  74. package/src/schema/resources/types/resource.graphql +2 -0
  75. package/src/schema/tags/inputs/create-tag.graphql +1 -0
  76. package/src/schema/tags/inputs/update-tag.graphql +1 -0
  77. package/src/schema/tags/types/tag.graphql +1 -0
@@ -234,6 +234,7 @@ export type AddOrganizationTagInput = {
234
234
 
235
235
  export type AddOrganizationUserInput = {
236
236
  organizationId: Scalars['ID']['input'];
237
+ roleId: Scalars['ID']['input'];
237
238
  userId: Scalars['ID']['input'];
238
239
  };
239
240
 
@@ -277,11 +278,14 @@ export type AddProjectTagInput = {
277
278
 
278
279
  export type AddProjectUserApiKeyInput = {
279
280
  apiKeyId: Scalars['ID']['input'];
281
+ /** Optional pivot metadata (e.g. CDM `cdmImport` / `cdmSource`); omit for normal API creates. */
282
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
280
283
  projectId: Scalars['ID']['input'];
281
284
  userId: Scalars['ID']['input'];
282
285
  };
283
286
 
284
287
  export type AddProjectUserInput = {
288
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
285
289
  projectId: Scalars['ID']['input'];
286
290
  userId: Scalars['ID']['input'];
287
291
  };
@@ -397,6 +401,43 @@ export type AuthorizationResult = {
397
401
  reason?: Maybe<AuthorizationReason>;
398
402
  };
399
403
 
404
+ export enum CdmFindBy {
405
+ Email = 'email',
406
+ Id = 'id',
407
+ Key = 'key',
408
+ Name = 'name',
409
+ Slug = 'slug',
410
+ }
411
+
412
+ export enum CdmIfMissing {
413
+ CreateNew = 'createNew',
414
+ Fail = 'fail',
415
+ Skip = 'skip',
416
+ }
417
+
418
+ export type CdmKeyResolverInput = {
419
+ findBy?: InputMaybe<CdmFindBy>;
420
+ ifMissing?: InputMaybe<CdmIfMissing>;
421
+ value: Scalars['String']['input'];
422
+ };
423
+
424
+ export type CdmModeInput = {
425
+ confirmDestructive?: InputMaybe<Scalars['Boolean']['input']>;
426
+ onConflict?: InputMaybe<CdmOnConflict>;
427
+ strategy: CdmModeStrategy;
428
+ };
429
+
430
+ export enum CdmModeStrategy {
431
+ Merge = 'merge',
432
+ Replace = 'replace',
433
+ }
434
+
435
+ export enum CdmOnConflict {
436
+ Fail = 'fail',
437
+ Skip = 'skip',
438
+ Update = 'update',
439
+ }
440
+
400
441
  export type ChangeMyPasswordInput = {
401
442
  confirmPassword: Scalars['String']['input'];
402
443
  currentPassword: Scalars['String']['input'];
@@ -496,6 +537,7 @@ export type CreatePermissionInput = {
496
537
  action: Scalars['String']['input'];
497
538
  condition?: InputMaybe<Scalars['JSON']['input']>;
498
539
  description?: InputMaybe<Scalars['String']['input']>;
540
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
499
541
  name: Scalars['String']['input'];
500
542
  primaryTagId?: InputMaybe<Scalars['ID']['input']>;
501
543
  resourceId?: InputMaybe<Scalars['ID']['input']>;
@@ -547,8 +589,10 @@ export type CreateProjectInput = {
547
589
 
548
590
  export type CreateResourceInput = {
549
591
  actions?: InputMaybe<Array<Scalars['String']['input']>>;
592
+ createPermissions?: InputMaybe<Scalars['Boolean']['input']>;
550
593
  description?: InputMaybe<Scalars['String']['input']>;
551
594
  isActive?: InputMaybe<Scalars['Boolean']['input']>;
595
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
552
596
  name: Scalars['String']['input'];
553
597
  primaryTagId?: InputMaybe<Scalars['ID']['input']>;
554
598
  scope: Scope;
@@ -568,6 +612,7 @@ export type CreateRoleInput = {
568
612
 
569
613
  export type CreateTagInput = {
570
614
  color: Scalars['String']['input'];
615
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
571
616
  name: Scalars['String']['input'];
572
617
  scope: Scope;
573
618
  };
@@ -631,6 +676,10 @@ export type ExchangeApiKeyResult = {
631
676
  expiresIn: Scalars['Int']['output'];
632
677
  };
633
678
 
679
+ export type GenerateMyMfaRecoveryCodesInput = {
680
+ factorId?: InputMaybe<Scalars['ID']['input']>;
681
+ };
682
+
634
683
  export type GetUserAuthenticationMethodsInput = {
635
684
  provider?: InputMaybe<UserAuthenticationMethodProvider>;
636
685
  userId?: InputMaybe<Scalars['ID']['input']>;
@@ -663,6 +712,16 @@ export type Group = Auditable & {
663
712
  updatedAt: Scalars['Date']['output'];
664
713
  };
665
714
 
715
+ export type GroupCdmInput = {
716
+ description?: InputMaybe<Scalars['String']['input']>;
717
+ key: Scalars['String']['input'];
718
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
719
+ name: Scalars['String']['input'];
720
+ permissions?: InputMaybe<Array<Scalars['String']['input']>>;
721
+ primaryTag?: InputMaybe<Scalars['String']['input']>;
722
+ tags?: InputMaybe<Array<Scalars['String']['input']>>;
723
+ };
724
+
666
725
  export type GroupPage = PaginatedResults & {
667
726
  __typename?: 'GroupPage';
668
727
  groups: Array<Group>;
@@ -756,8 +815,11 @@ export type LoginResponse = {
756
815
  accessToken: Scalars['String']['output'];
757
816
  accounts: Array<Account>;
758
817
  email?: Maybe<Scalars['String']['output']>;
818
+ mfaVerified?: Maybe<Scalars['Boolean']['output']>;
759
819
  refreshToken: Scalars['String']['output'];
760
820
  requiresEmailVerification?: Maybe<Scalars['Boolean']['output']>;
821
+ /** When true, the client should complete MFA before expecting full API access (see AUTH_MIN_AAL_AT_LOGIN). */
822
+ requiresMfaStepUp?: Maybe<Scalars['Boolean']['output']>;
761
823
  verificationExpiry?: Maybe<Scalars['Date']['output']>;
762
824
  };
763
825
 
@@ -770,6 +832,7 @@ export type MeResponse = {
770
832
  __typename?: 'MeResponse';
771
833
  accounts: Array<Account>;
772
834
  email?: Maybe<Scalars['String']['output']>;
835
+ mfaVerified?: Maybe<Scalars['Boolean']['output']>;
773
836
  requiresEmailVerification?: Maybe<Scalars['Boolean']['output']>;
774
837
  verificationExpiry?: Maybe<Scalars['Date']['output']>;
775
838
  };
@@ -779,13 +842,63 @@ export enum MemberType {
779
842
  Member = 'member',
780
843
  }
781
844
 
845
+ export type MfaDevice = {
846
+ __typename?: 'MfaDevice';
847
+ createdAt: Scalars['Date']['output'];
848
+ id: Scalars['ID']['output'];
849
+ isEnabled: Scalars['Boolean']['output'];
850
+ isPrimary: Scalars['Boolean']['output'];
851
+ lastUsedAt?: Maybe<Scalars['Date']['output']>;
852
+ name: Scalars['String']['output'];
853
+ };
854
+
855
+ export type MfaEnrollment = {
856
+ __typename?: 'MfaEnrollment';
857
+ factorId: Scalars['ID']['output'];
858
+ otpAuthUrl: Scalars['String']['output'];
859
+ secret: Scalars['String']['output'];
860
+ };
861
+
862
+ export type MfaRecoveryCodeStatus = {
863
+ __typename?: 'MfaRecoveryCodeStatus';
864
+ activeCount: Scalars['Int']['output'];
865
+ lastGeneratedAt?: Maybe<Scalars['Date']['output']>;
866
+ };
867
+
868
+ export type MfaSetupResponse = {
869
+ __typename?: 'MfaSetupResponse';
870
+ factorId: Scalars['ID']['output'];
871
+ otpAuthUrl: Scalars['String']['output'];
872
+ secret: Scalars['String']['output'];
873
+ };
874
+
875
+ export type MfaVerifyResponse = {
876
+ __typename?: 'MfaVerifyResponse';
877
+ accessToken: Scalars['String']['output'];
878
+ mfaVerified: Scalars['Boolean']['output'];
879
+ refreshToken: Scalars['String']['output'];
880
+ };
881
+
882
+ export type MfaVerifyResult = {
883
+ __typename?: 'MfaVerifyResult';
884
+ success: Scalars['Boolean']['output'];
885
+ };
886
+
782
887
  export type Mutation = {
783
888
  __typename?: 'Mutation';
784
889
  _empty?: Maybe<Scalars['String']['output']>;
785
890
  acceptInvitation: AcceptInvitationResult;
891
+ /**
892
+ * Cancel a pending or running project CDM sync job. Cancellation is
893
+ * immediate when the job is still PENDING; if the job is already RUNNING, the
894
+ * cancellation is recorded and the worker stops at the next checkpoint
895
+ * (best-effort).
896
+ */
897
+ cancelProjectSync: ProjectSyncJob;
786
898
  changeMyPassword: ChangeMyPasswordResult;
787
899
  createApiKey: CreateApiKeyResult;
788
900
  createGroup: Group;
901
+ createMyMfaEnrollment: MfaEnrollment;
789
902
  createMySecondaryAccount: CreateMySecondaryAccountResult;
790
903
  createMyUserAuthenticationMethod: UserAuthenticationMethod;
791
904
  createOrganization: Organization;
@@ -810,11 +923,13 @@ export type Mutation = {
810
923
  deleteTag: Tag;
811
924
  deleteUser: User;
812
925
  exchangeApiKey: ExchangeApiKeyResult;
926
+ generateMyMfaRecoveryCodes: Array<Scalars['String']['output']>;
813
927
  inviteMember: OrganizationInvitation;
814
928
  login: LoginResponse;
815
929
  logoutMyUser: LogoutMyUserResponse;
816
930
  refreshSession: RefreshSessionResponse;
817
931
  register: CreateAccountResult;
932
+ removeMyMfaDevice: MfaVerifyResult;
818
933
  removeOrganizationMember: OrganizationMember;
819
934
  renewInvitation: OrganizationInvitation;
820
935
  requestPasswordReset: RequestPasswordResetResponse;
@@ -831,6 +946,31 @@ export type Mutation = {
831
946
  */
832
947
  rotateSigningKey: SigningKey;
833
948
  setMyPrimaryAuthenticationMethod: UserAuthenticationMethod;
949
+ setMyPrimaryMfaDevice: MfaDevice;
950
+ setupMfa: MfaSetupResponse;
951
+ /**
952
+ * Enqueue an asynchronous CDM **export** job for the given project. The worker
953
+ * snapshots current permission state into a replay-ready `SyncProjectInput` and
954
+ * stores it on the job row (`snapshot`); poll `projectSyncJob` for status.
955
+ *
956
+ * Requires Project:update in the given project scope (same as starting import jobs).
957
+ *
958
+ * Pass optional `input.jobName` for idempotency with the same rules as import `input.id`.
959
+ */
960
+ startProjectExport: ProjectSyncJob;
961
+ /**
962
+ * Enqueue an asynchronous project CDM import job for the given project.
963
+ * Applies a canonical data model document: roles, groups, resources, permissions,
964
+ * tags, project pivots, and user assignments scoped to the project.
965
+ * Requires Project:update in the given project scope.
966
+ *
967
+ * Returns immediately with a job descriptor in the PENDING status; the actual
968
+ * import runs in the background. Poll `projectSyncJob` for status.
969
+ * Pass optional `input.id` as a stable **job name** for idempotency: if an active job
970
+ * already exists for the same `(project, operation=IMPORT, jobName)`, that job is
971
+ * returned instead of creating a new one.
972
+ */
973
+ startProjectSync: ProjectSyncJob;
834
974
  updateGroup: Group;
835
975
  updateMyUser: User;
836
976
  updateOrganization: Organization;
@@ -846,12 +986,21 @@ export type Mutation = {
846
986
  uploadMyUserPicture: UploadUserPictureResult;
847
987
  uploadUserPicture: UploadUserPictureResult;
848
988
  verifyEmail: VerifyEmailResponse;
989
+ verifyMfa: MfaVerifyResponse;
990
+ verifyMfaRecoveryCode: MfaVerifyResponse;
991
+ verifyMyMfaEnrollment: MfaVerifyResult;
849
992
  };
850
993
 
851
994
  export type MutationAcceptInvitationArgs = {
852
995
  input: AcceptInvitationInput;
853
996
  };
854
997
 
998
+ export type MutationCancelProjectSyncArgs = {
999
+ id: Scalars['ID']['input'];
1000
+ jobId: Scalars['ID']['input'];
1001
+ scope: Scope;
1002
+ };
1003
+
855
1004
  export type MutationChangeMyPasswordArgs = {
856
1005
  input: ChangeMyPasswordInput;
857
1006
  };
@@ -961,6 +1110,10 @@ export type MutationExchangeApiKeyArgs = {
961
1110
  input: ExchangeApiKeyInput;
962
1111
  };
963
1112
 
1113
+ export type MutationGenerateMyMfaRecoveryCodesArgs = {
1114
+ input?: InputMaybe<GenerateMyMfaRecoveryCodesInput>;
1115
+ };
1116
+
964
1117
  export type MutationInviteMemberArgs = {
965
1118
  input: InviteMemberInput;
966
1119
  };
@@ -973,6 +1126,10 @@ export type MutationRegisterArgs = {
973
1126
  input: RegisterInput;
974
1127
  };
975
1128
 
1129
+ export type MutationRemoveMyMfaDeviceArgs = {
1130
+ input: RemoveMyMfaDeviceInput;
1131
+ };
1132
+
976
1133
  export type MutationRemoveOrganizationMemberArgs = {
977
1134
  input: RemoveOrganizationMemberInput;
978
1135
  userId: Scalars['ID']['input'];
@@ -1021,6 +1178,22 @@ export type MutationSetMyPrimaryAuthenticationMethodArgs = {
1021
1178
  id: Scalars['ID']['input'];
1022
1179
  };
1023
1180
 
1181
+ export type MutationSetMyPrimaryMfaDeviceArgs = {
1182
+ input: SetMyPrimaryMfaDeviceInput;
1183
+ };
1184
+
1185
+ export type MutationStartProjectExportArgs = {
1186
+ id: Scalars['ID']['input'];
1187
+ input: StartProjectExportInput;
1188
+ scope: Scope;
1189
+ };
1190
+
1191
+ export type MutationStartProjectSyncArgs = {
1192
+ id: Scalars['ID']['input'];
1193
+ input: SyncProjectInput;
1194
+ scope: Scope;
1195
+ };
1196
+
1024
1197
  export type MutationUpdateGroupArgs = {
1025
1198
  id: Scalars['ID']['input'];
1026
1199
  input: UpdateGroupInput;
@@ -1087,6 +1260,18 @@ export type MutationVerifyEmailArgs = {
1087
1260
  input: VerifyEmailInput;
1088
1261
  };
1089
1262
 
1263
+ export type MutationVerifyMfaArgs = {
1264
+ input: VerifyMfaInput;
1265
+ };
1266
+
1267
+ export type MutationVerifyMfaRecoveryCodeArgs = {
1268
+ input: VerifyMfaRecoveryCodeInput;
1269
+ };
1270
+
1271
+ export type MutationVerifyMyMfaEnrollmentArgs = {
1272
+ input: VerifyMyMfaEnrollmentInput;
1273
+ };
1274
+
1090
1275
  export type MyUserSessionsInput = {
1091
1276
  audience?: InputMaybe<Scalars['String']['input']>;
1092
1277
  limit?: InputMaybe<Scalars['Int']['input']>;
@@ -1103,6 +1288,7 @@ export type Organization = Auditable & {
1103
1288
  name: Scalars['String']['output'];
1104
1289
  permissions?: Maybe<Array<Permission>>;
1105
1290
  projects?: Maybe<Array<Project>>;
1291
+ requireMfaForSensitiveActions: Scalars['Boolean']['output'];
1106
1292
  roles?: Maybe<Array<Role>>;
1107
1293
  slug: Scalars['String']['output'];
1108
1294
  tags?: Maybe<Array<Tag>>;
@@ -1327,6 +1513,7 @@ export type OrganizationUser = Auditable & {
1327
1513
  id: Scalars['ID']['output'];
1328
1514
  organization?: Maybe<Organization>;
1329
1515
  organizationId: Scalars['ID']['output'];
1516
+ roleId: Scalars['ID']['output'];
1330
1517
  updatedAt: Scalars['Date']['output'];
1331
1518
  user?: Maybe<User>;
1332
1519
  userId: Scalars['ID']['output'];
@@ -1345,6 +1532,7 @@ export type Permission = Auditable & {
1345
1532
  deletedAt?: Maybe<Scalars['Date']['output']>;
1346
1533
  description?: Maybe<Scalars['String']['output']>;
1347
1534
  id: Scalars['ID']['output'];
1535
+ metadata: Scalars['JSON']['output'];
1348
1536
  name: Scalars['String']['output'];
1349
1537
  resource?: Maybe<Resource>;
1350
1538
  resourceId?: Maybe<Scalars['ID']['output']>;
@@ -1352,6 +1540,20 @@ export type Permission = Auditable & {
1352
1540
  updatedAt: Scalars['Date']['output'];
1353
1541
  };
1354
1542
 
1543
+ /** Custom permission for this project; `resource` is an opaque key in the same document. */
1544
+ export type PermissionCdmInput = {
1545
+ action: Scalars['String']['input'];
1546
+ condition?: InputMaybe<Scalars['JSON']['input']>;
1547
+ description?: InputMaybe<Scalars['String']['input']>;
1548
+ groups?: InputMaybe<Array<Scalars['String']['input']>>;
1549
+ key: Scalars['String']['input'];
1550
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
1551
+ name: Scalars['String']['input'];
1552
+ primaryTag?: InputMaybe<Scalars['String']['input']>;
1553
+ resource: Scalars['String']['input'];
1554
+ tags?: InputMaybe<Array<Scalars['String']['input']>>;
1555
+ };
1556
+
1355
1557
  export type PermissionPage = PaginatedResults & {
1356
1558
  __typename?: 'PermissionPage';
1357
1559
  hasNextPage: Scalars['Boolean']['output'];
@@ -1562,6 +1764,68 @@ export enum ProjectSortableField {
1562
1764
  UpdatedAt = 'updatedAt',
1563
1765
  }
1564
1766
 
1767
+ /** Asynchronous project CDM import or export job. */
1768
+ export type ProjectSyncJob = {
1769
+ __typename?: 'ProjectSyncJob';
1770
+ cancelledAt?: Maybe<Scalars['Date']['output']>;
1771
+ cdmVersion: Scalars['Int']['output'];
1772
+ completedAt?: Maybe<Scalars['Date']['output']>;
1773
+ enqueuedAt: Scalars['Date']['output'];
1774
+ errorMessage?: Maybe<Scalars['String']['output']>;
1775
+ /** Rollback snapshot (import) or exported CDM (export); REST `.../snapshot`. */
1776
+ hasSnapshot: Scalars['Boolean']['output'];
1777
+ id: Scalars['ID']['output'];
1778
+ /** Client idempotency key from `SyncProjectInput.id` on import. */
1779
+ jobName?: Maybe<Scalars['String']['output']>;
1780
+ /** Import merge/replace; null for export. */
1781
+ modeStrategy?: Maybe<CdmModeStrategy>;
1782
+ operation: ProjectSyncJobOperation;
1783
+ projectId: Scalars['ID']['output'];
1784
+ /** Import counters when completed; null for export (CDM in snapshot download). */
1785
+ result?: Maybe<SyncProjectResult>;
1786
+ snapshotSizeBytes?: Maybe<Scalars['Int']['output']>;
1787
+ snapshotTakenAt?: Maybe<Scalars['Date']['output']>;
1788
+ startedAt?: Maybe<Scalars['Date']['output']>;
1789
+ status: ProjectSyncJobStatus;
1790
+ warnings: Array<Scalars['String']['output']>;
1791
+ };
1792
+
1793
+ /** CDM import or export work for a project (`project_sync_jobs`). */
1794
+ export enum ProjectSyncJobOperation {
1795
+ Export = 'EXPORT',
1796
+ Import = 'IMPORT',
1797
+ }
1798
+
1799
+ /** Paginated list of project CDM sync jobs. */
1800
+ export type ProjectSyncJobPage = PaginatedResults & {
1801
+ __typename?: 'ProjectSyncJobPage';
1802
+ hasNextPage: Scalars['Boolean']['output'];
1803
+ jobs: Array<ProjectSyncJob>;
1804
+ totalCount: Scalars['Int']['output'];
1805
+ };
1806
+
1807
+ export type ProjectSyncJobSortInput = {
1808
+ field: ProjectSyncJobSortableField;
1809
+ order: SortOrder;
1810
+ };
1811
+
1812
+ export enum ProjectSyncJobSortableField {
1813
+ CompletedAt = 'completedAt',
1814
+ EnqueuedAt = 'enqueuedAt',
1815
+ JobName = 'jobName',
1816
+ StartedAt = 'startedAt',
1817
+ Status = 'status',
1818
+ }
1819
+
1820
+ /** Lifecycle status of an asynchronous project CDM sync job. */
1821
+ export enum ProjectSyncJobStatus {
1822
+ Cancelled = 'CANCELLED',
1823
+ Completed = 'COMPLETED',
1824
+ Failed = 'FAILED',
1825
+ Pending = 'PENDING',
1826
+ Running = 'RUNNING',
1827
+ }
1828
+
1565
1829
  export type ProjectTag = Auditable & {
1566
1830
  __typename?: 'ProjectTag';
1567
1831
  createdAt: Scalars['Date']['output'];
@@ -1583,7 +1847,10 @@ export type ProjectUser = Auditable & {
1583
1847
  __typename?: 'ProjectUser';
1584
1848
  createdAt: Scalars['Date']['output'];
1585
1849
  deletedAt?: Maybe<Scalars['Date']['output']>;
1850
+ displayName?: Maybe<Scalars['String']['output']>;
1586
1851
  id: Scalars['ID']['output'];
1852
+ metadata: Scalars['JSON']['output'];
1853
+ pictureUrl?: Maybe<Scalars['String']['output']>;
1587
1854
  project?: Maybe<Project>;
1588
1855
  projectId: Scalars['ID']['output'];
1589
1856
  updatedAt: Scalars['Date']['output'];
@@ -1617,6 +1884,8 @@ export type Query = {
1617
1884
  invitation?: Maybe<OrganizationInvitation>;
1618
1885
  isAuthorized: AuthorizationResult;
1619
1886
  me: MeResponse;
1887
+ myMfaDevices: Array<MfaDevice>;
1888
+ myMfaRecoveryCodeStatus: MfaRecoveryCodeStatus;
1620
1889
  myUserAuthenticationMethods: Array<UserAuthenticationMethod>;
1621
1890
  myUserDataExport: UserDataExport;
1622
1891
  myUserSessions: UserSessionPage;
@@ -1626,6 +1895,18 @@ export type Query = {
1626
1895
  permissions: PermissionPage;
1627
1896
  /** List OAuth apps for the given project scope. Allowed scopes: accountProject, organizationProject. */
1628
1897
  projectApps: ProjectAppPage;
1898
+ /**
1899
+ * Read the current state of a project CDM sync job. Use this to poll
1900
+ * the lifecycle of a job started via `startProjectSync`.
1901
+ */
1902
+ projectSyncJob: ProjectSyncJob;
1903
+ /**
1904
+ * List project CDM sync jobs for a project, with optional pagination,
1905
+ * search (matches jobName), status filter, and sort. Use this to populate the
1906
+ * job history view. Use `projectSyncJob` to read a single job's
1907
+ * current state for polling.
1908
+ */
1909
+ projectSyncJobs: ProjectSyncJobPage;
1629
1910
  projects: ProjectPage;
1630
1911
  resources: ResourcePage;
1631
1912
  roles: RolePage;
@@ -1717,6 +1998,22 @@ export type QueryProjectAppsArgs = {
1717
1998
  tagIds?: InputMaybe<Array<Scalars['ID']['input']>>;
1718
1999
  };
1719
2000
 
2001
+ export type QueryProjectSyncJobArgs = {
2002
+ id: Scalars['ID']['input'];
2003
+ jobId: Scalars['ID']['input'];
2004
+ scope: Scope;
2005
+ };
2006
+
2007
+ export type QueryProjectSyncJobsArgs = {
2008
+ id: Scalars['ID']['input'];
2009
+ limit?: InputMaybe<Scalars['Int']['input']>;
2010
+ page?: InputMaybe<Scalars['Int']['input']>;
2011
+ scope: Scope;
2012
+ search?: InputMaybe<Scalars['String']['input']>;
2013
+ sort?: InputMaybe<ProjectSyncJobSortInput>;
2014
+ status?: InputMaybe<ProjectSyncJobStatus>;
2015
+ };
2016
+
1720
2017
  export type QueryProjectsArgs = {
1721
2018
  ids?: InputMaybe<Array<Scalars['ID']['input']>>;
1722
2019
  limit?: InputMaybe<Scalars['Int']['input']>;
@@ -1974,6 +2271,10 @@ export type RemoveGroupTagInput = {
1974
2271
  tagId: Scalars['ID']['input'];
1975
2272
  };
1976
2273
 
2274
+ export type RemoveMyMfaDeviceInput = {
2275
+ factorId: Scalars['ID']['input'];
2276
+ };
2277
+
1977
2278
  export type RemoveOrganizationGroupInput = {
1978
2279
  groupId: Scalars['ID']['input'];
1979
2280
  organizationId: Scalars['ID']['input'];
@@ -2133,12 +2434,26 @@ export type Resource = Auditable & {
2133
2434
  description?: Maybe<Scalars['String']['output']>;
2134
2435
  id: Scalars['ID']['output'];
2135
2436
  isActive: Scalars['Boolean']['output'];
2437
+ metadata: Scalars['JSON']['output'];
2136
2438
  name: Scalars['String']['output'];
2439
+ permissions?: Maybe<Array<Permission>>;
2137
2440
  slug: Scalars['String']['output'];
2138
2441
  tags: Array<Tag>;
2139
2442
  updatedAt: Scalars['Date']['output'];
2140
2443
  };
2141
2444
 
2445
+ /** Project resource row for CDM import/export. */
2446
+ export type ResourceCdmInput = {
2447
+ actions: Array<Scalars['String']['input']>;
2448
+ description?: InputMaybe<Scalars['String']['input']>;
2449
+ key: Scalars['String']['input'];
2450
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
2451
+ name: Scalars['String']['input'];
2452
+ primaryTag?: InputMaybe<Scalars['String']['input']>;
2453
+ slug?: InputMaybe<Scalars['String']['input']>;
2454
+ tags?: InputMaybe<Array<Scalars['String']['input']>>;
2455
+ };
2456
+
2142
2457
  export type ResourcePage = PaginatedResults & {
2143
2458
  __typename?: 'ResourcePage';
2144
2459
  hasNextPage: Scalars['Boolean']['output'];
@@ -2209,6 +2524,17 @@ export type Role = Auditable & {
2209
2524
  updatedAt: Scalars['Date']['output'];
2210
2525
  };
2211
2526
 
2527
+ export type RoleCdmInput = {
2528
+ description?: InputMaybe<Scalars['String']['input']>;
2529
+ groups?: InputMaybe<Array<Scalars['String']['input']>>;
2530
+ key: Scalars['String']['input'];
2531
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
2532
+ name: Scalars['String']['input'];
2533
+ permissions?: InputMaybe<Array<Scalars['String']['input']>>;
2534
+ primaryTag?: InputMaybe<Scalars['String']['input']>;
2535
+ tags?: InputMaybe<Array<Scalars['String']['input']>>;
2536
+ };
2537
+
2212
2538
  export type RoleGroup = Auditable & {
2213
2539
  __typename?: 'RoleGroup';
2214
2540
  createdAt: Scalars['Date']['output'];
@@ -2292,6 +2618,10 @@ export type SessionExportData = {
2292
2618
  userAgent?: Maybe<Scalars['String']['output']>;
2293
2619
  };
2294
2620
 
2621
+ export type SetMyPrimaryMfaDeviceInput = {
2622
+ factorId: Scalars['ID']['input'];
2623
+ };
2624
+
2295
2625
  /**
2296
2626
  * Signing key for a scope (e.g. project). Used for RS256 API key tokens; public key is exposed in JWKS.
2297
2627
  * Only project scopes (accountProject, organizationProject) have manageable keys; system key is internal.
@@ -2317,6 +2647,77 @@ export enum SortOrder {
2317
2647
  Desc = 'DESC',
2318
2648
  }
2319
2649
 
2650
+ /**
2651
+ * Parameters for enqueueing an asynchronous CDM **export** job. The worker
2652
+ * materialises a `SyncProjectInput` document and stores it in the job `snapshot`
2653
+ * column; this input is persisted as the job `payload` (export options only).
2654
+ */
2655
+ export type StartProjectExportInput = {
2656
+ /**
2657
+ * When `users` are exported, whether to emit CDM-managed project user API key rows
2658
+ * (identity only). Omit = default true (full export behaviour).
2659
+ */
2660
+ includeUserApiKeys?: InputMaybe<Scalars['Boolean']['input']>;
2661
+ /**
2662
+ * Optional stable idempotency / display name (same column as import `SyncProjectInput.id`).
2663
+ * When set, an active job for the same `(project, operation=EXPORT, jobName)` is returned
2664
+ * instead of creating a new one.
2665
+ */
2666
+ jobName?: InputMaybe<Scalars['String']['input']>;
2667
+ /**
2668
+ * Embedded in the exported CDM document `mode` block for re-import.
2669
+ * Does not change export execution (snapshot is always read-only).
2670
+ */
2671
+ mode?: InputMaybe<CdmModeInput>;
2672
+ /** Subset of CDM slices to export; omit or empty for a full project export. */
2673
+ sections?: InputMaybe<Array<Scalars['String']['input']>>;
2674
+ /** CDM document version (only `1` is supported). */
2675
+ version: Scalars['Int']['input'];
2676
+ };
2677
+
2678
+ /**
2679
+ * Versioned canonical project document (CDM) for export/import: roles, users,
2680
+ * resources, permissions, groups, and tags scoped to one project.
2681
+ */
2682
+ export type SyncProjectInput = {
2683
+ groups?: InputMaybe<Array<GroupCdmInput>>;
2684
+ id?: InputMaybe<Scalars['String']['input']>;
2685
+ mode: CdmModeInput;
2686
+ permissions?: InputMaybe<Array<PermissionCdmInput>>;
2687
+ resources?: InputMaybe<Array<ResourceCdmInput>>;
2688
+ roles: Array<RoleCdmInput>;
2689
+ tags?: InputMaybe<Array<TagCdmInput>>;
2690
+ users: Array<UserCdmInput>;
2691
+ version: Scalars['Int']['input'];
2692
+ };
2693
+
2694
+ /** Counters and warnings from a completed CDM import. */
2695
+ export type SyncProjectResult = {
2696
+ __typename?: 'SyncProjectResult';
2697
+ groupPermissionsLinked: Scalars['Int']['output'];
2698
+ groupTagsLinked: Scalars['Int']['output'];
2699
+ groupsCreated: Scalars['Int']['output'];
2700
+ importId?: Maybe<Scalars['String']['output']>;
2701
+ permissionsCreated: Scalars['Int']['output'];
2702
+ projectGroupsLinked: Scalars['Int']['output'];
2703
+ projectId: Scalars['ID']['output'];
2704
+ projectPermissionsLinked: Scalars['Int']['output'];
2705
+ projectResourcesLinked: Scalars['Int']['output'];
2706
+ projectRolesLinked: Scalars['Int']['output'];
2707
+ projectTagsLinked: Scalars['Int']['output'];
2708
+ projectUserApiKeysCreated: Scalars['Int']['output'];
2709
+ projectUsersEnsured: Scalars['Int']['output'];
2710
+ resourcesCreated: Scalars['Int']['output'];
2711
+ roleGroupsLinked: Scalars['Int']['output'];
2712
+ roleTagsLinked: Scalars['Int']['output'];
2713
+ rolesCreated: Scalars['Int']['output'];
2714
+ tagsCreated: Scalars['Int']['output'];
2715
+ userRolesAssigned: Scalars['Int']['output'];
2716
+ userTagsLinked: Scalars['Int']['output'];
2717
+ usersCreated: Scalars['Int']['output'];
2718
+ warnings: Array<Scalars['String']['output']>;
2719
+ };
2720
+
2320
2721
  export type Tag = Auditable & {
2321
2722
  __typename?: 'Tag';
2322
2723
  color: Scalars['String']['output'];
@@ -2324,10 +2725,18 @@ export type Tag = Auditable & {
2324
2725
  deletedAt?: Maybe<Scalars['Date']['output']>;
2325
2726
  id: Scalars['ID']['output'];
2326
2727
  isPrimary?: Maybe<Scalars['Boolean']['output']>;
2728
+ metadata: Scalars['JSON']['output'];
2327
2729
  name: Scalars['String']['output'];
2328
2730
  updatedAt: Scalars['Date']['output'];
2329
2731
  };
2330
2732
 
2733
+ export type TagCdmInput = {
2734
+ color: Scalars['String']['input'];
2735
+ key: Scalars['String']['input'];
2736
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
2737
+ name: Scalars['String']['input'];
2738
+ };
2739
+
2331
2740
  export type TagPage = PaginatedResults & {
2332
2741
  __typename?: 'TagPage';
2333
2742
  hasNextPage: Scalars['Boolean']['output'];
@@ -2413,6 +2822,7 @@ export type UpdateMyUserInput = {
2413
2822
 
2414
2823
  export type UpdateOrganizationInput = {
2415
2824
  name?: InputMaybe<Scalars['String']['input']>;
2825
+ requireMfaForSensitiveActions?: InputMaybe<Scalars['Boolean']['input']>;
2416
2826
  scope: Scope;
2417
2827
  };
2418
2828
 
@@ -2446,6 +2856,7 @@ export type UpdatePermissionInput = {
2446
2856
  action?: InputMaybe<Scalars['String']['input']>;
2447
2857
  condition?: InputMaybe<Scalars['JSON']['input']>;
2448
2858
  description?: InputMaybe<Scalars['String']['input']>;
2859
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
2449
2860
  name?: InputMaybe<Scalars['String']['input']>;
2450
2861
  primaryTagId?: InputMaybe<Scalars['ID']['input']>;
2451
2862
  resourceId?: InputMaybe<Scalars['ID']['input']>;
@@ -2501,6 +2912,7 @@ export type UpdateResourceInput = {
2501
2912
  actions?: InputMaybe<Array<Scalars['String']['input']>>;
2502
2913
  description?: InputMaybe<Scalars['String']['input']>;
2503
2914
  isActive?: InputMaybe<Scalars['Boolean']['input']>;
2915
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
2504
2916
  name?: InputMaybe<Scalars['String']['input']>;
2505
2917
  primaryTagId?: InputMaybe<Scalars['ID']['input']>;
2506
2918
  scope: Scope;
@@ -2532,6 +2944,7 @@ export type UpdateRoleTagInput = {
2532
2944
 
2533
2945
  export type UpdateTagInput = {
2534
2946
  color?: InputMaybe<Scalars['String']['input']>;
2947
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
2535
2948
  name?: InputMaybe<Scalars['String']['input']>;
2536
2949
  scope: Scope;
2537
2950
  };
@@ -2602,6 +3015,16 @@ export type User = Auditable & {
2602
3015
  updatedAt: Scalars['Date']['output'];
2603
3016
  };
2604
3017
 
3018
+ export type UserApiKeyCdmInput = {
3019
+ clientId?: InputMaybe<Scalars['String']['input']>;
3020
+ clientSecret?: InputMaybe<Scalars['String']['input']>;
3021
+ description?: InputMaybe<Scalars['String']['input']>;
3022
+ expiresAt?: InputMaybe<Scalars['Date']['input']>;
3023
+ key?: InputMaybe<Scalars['String']['input']>;
3024
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
3025
+ name?: InputMaybe<Scalars['String']['input']>;
3026
+ };
3027
+
2605
3028
  export enum UserAuthenticationEmailProviderAction {
2606
3029
  Connect = 'connect',
2607
3030
  Login = 'login',
@@ -2630,6 +3053,18 @@ export enum UserAuthenticationMethodProvider {
2630
3053
  Google = 'google',
2631
3054
  }
2632
3055
 
3056
+ export type UserCdmInput = {
3057
+ apiKeys?: InputMaybe<Array<UserApiKeyCdmInput>>;
3058
+ groups?: InputMaybe<Array<Scalars['String']['input']>>;
3059
+ key: CdmKeyResolverInput;
3060
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
3061
+ name: Scalars['String']['input'];
3062
+ permissions?: InputMaybe<Array<Scalars['String']['input']>>;
3063
+ primaryTag?: InputMaybe<Scalars['String']['input']>;
3064
+ roles?: InputMaybe<Array<Scalars['String']['input']>>;
3065
+ tags?: InputMaybe<Array<Scalars['String']['input']>>;
3066
+ };
3067
+
2633
3068
  export type UserDataExport = {
2634
3069
  __typename?: 'UserDataExport';
2635
3070
  accounts: Array<AccountExportData>;
@@ -2769,6 +3204,18 @@ export type VerifyEmailResponse = {
2769
3204
  success: Scalars['Boolean']['output'];
2770
3205
  };
2771
3206
 
3207
+ export type VerifyMfaInput = {
3208
+ code: Scalars['String']['input'];
3209
+ };
3210
+
3211
+ export type VerifyMfaRecoveryCodeInput = {
3212
+ code: Scalars['String']['input'];
3213
+ };
3214
+
3215
+ export type VerifyMyMfaEnrollmentInput = {
3216
+ code: Scalars['String']['input'];
3217
+ };
3218
+
2772
3219
  export type CreateApiKeyMutationVariables = Exact<{
2773
3220
  input: CreateApiKeyInput;
2774
3221
  }>;
@@ -2901,6 +3348,8 @@ export type LoginMutation = {
2901
3348
  __typename?: 'LoginResponse';
2902
3349
  accessToken: string;
2903
3350
  refreshToken: string;
3351
+ mfaVerified?: boolean | null;
3352
+ requiresMfaStepUp?: boolean | null;
2904
3353
  requiresEmailVerification?: boolean | null;
2905
3354
  verificationExpiry?: Date | null;
2906
3355
  email?: string | null;
@@ -2999,6 +3448,18 @@ export type ResetPasswordMutation = {
2999
3448
  };
3000
3449
  };
3001
3450
 
3451
+ export type SetupMfaMutationVariables = Exact<{ [key: string]: never }>;
3452
+
3453
+ export type SetupMfaMutation = {
3454
+ __typename?: 'Mutation';
3455
+ setupMfa: {
3456
+ __typename?: 'MfaSetupResponse';
3457
+ factorId: string;
3458
+ secret: string;
3459
+ otpAuthUrl: string;
3460
+ };
3461
+ };
3462
+
3002
3463
  export type VerifyEmailMutationVariables = Exact<{
3003
3464
  input: VerifyEmailInput;
3004
3465
  }>;
@@ -3008,6 +3469,34 @@ export type VerifyEmailMutation = {
3008
3469
  verifyEmail: { __typename?: 'VerifyEmailResponse'; success: boolean; message: string };
3009
3470
  };
3010
3471
 
3472
+ export type VerifyMfaMutationVariables = Exact<{
3473
+ input: VerifyMfaInput;
3474
+ }>;
3475
+
3476
+ export type VerifyMfaMutation = {
3477
+ __typename?: 'Mutation';
3478
+ verifyMfa: {
3479
+ __typename?: 'MfaVerifyResponse';
3480
+ accessToken: string;
3481
+ refreshToken: string;
3482
+ mfaVerified: boolean;
3483
+ };
3484
+ };
3485
+
3486
+ export type VerifyMfaRecoveryCodeMutationVariables = Exact<{
3487
+ input: VerifyMfaRecoveryCodeInput;
3488
+ }>;
3489
+
3490
+ export type VerifyMfaRecoveryCodeMutation = {
3491
+ __typename?: 'Mutation';
3492
+ verifyMfaRecoveryCode: {
3493
+ __typename?: 'MfaVerifyResponse';
3494
+ accessToken: string;
3495
+ refreshToken: string;
3496
+ mfaVerified: boolean;
3497
+ };
3498
+ };
3499
+
3011
3500
  export type CreateGroupMutationVariables = Exact<{
3012
3501
  input: CreateGroupInput;
3013
3502
  }>;
@@ -3176,6 +3665,18 @@ export type CreateMyUserAuthenticationMethodMutation = {
3176
3665
  };
3177
3666
  };
3178
3667
 
3668
+ export type CreateMyMfaEnrollmentMutationVariables = Exact<{ [key: string]: never }>;
3669
+
3670
+ export type CreateMyMfaEnrollmentMutation = {
3671
+ __typename?: 'Mutation';
3672
+ createMyMfaEnrollment: {
3673
+ __typename?: 'MfaEnrollment';
3674
+ factorId: string;
3675
+ secret: string;
3676
+ otpAuthUrl: string;
3677
+ };
3678
+ };
3679
+
3179
3680
  export type DeleteMyAccountsMutationVariables = Exact<{
3180
3681
  input: DeleteMyAccountsInput;
3181
3682
  }>;
@@ -3212,6 +3713,15 @@ export type DeleteMyUserAuthenticationMethodMutation = {
3212
3713
  };
3213
3714
  };
3214
3715
 
3716
+ export type GenerateMyMfaRecoveryCodesMutationVariables = Exact<{
3717
+ input?: InputMaybe<GenerateMyMfaRecoveryCodesInput>;
3718
+ }>;
3719
+
3720
+ export type GenerateMyMfaRecoveryCodesMutation = {
3721
+ __typename?: 'Mutation';
3722
+ generateMyMfaRecoveryCodes: Array<string>;
3723
+ };
3724
+
3215
3725
  export type LogoutMyUserMutationVariables = Exact<{ [key: string]: never }>;
3216
3726
 
3217
3727
  export type LogoutMyUserMutation = {
@@ -3225,6 +3735,7 @@ export type MeQuery = {
3225
3735
  __typename?: 'Query';
3226
3736
  me: {
3227
3737
  __typename?: 'MeResponse';
3738
+ mfaVerified?: boolean | null;
3228
3739
  requiresEmailVerification?: boolean | null;
3229
3740
  verificationExpiry?: Date | null;
3230
3741
  email?: string | null;
@@ -3352,6 +3863,41 @@ export type MyUserSessionsQuery = {
3352
3863
  };
3353
3864
  };
3354
3865
 
3866
+ export type MyMfaDevicesQueryVariables = Exact<{ [key: string]: never }>;
3867
+
3868
+ export type MyMfaDevicesQuery = {
3869
+ __typename?: 'Query';
3870
+ myMfaDevices: Array<{
3871
+ __typename?: 'MfaDevice';
3872
+ id: string;
3873
+ name: string;
3874
+ isPrimary: boolean;
3875
+ isEnabled: boolean;
3876
+ createdAt: Date;
3877
+ lastUsedAt?: Date | null;
3878
+ }>;
3879
+ };
3880
+
3881
+ export type MyMfaRecoveryCodeStatusQueryVariables = Exact<{ [key: string]: never }>;
3882
+
3883
+ export type MyMfaRecoveryCodeStatusQuery = {
3884
+ __typename?: 'Query';
3885
+ myMfaRecoveryCodeStatus: {
3886
+ __typename?: 'MfaRecoveryCodeStatus';
3887
+ activeCount: number;
3888
+ lastGeneratedAt?: Date | null;
3889
+ };
3890
+ };
3891
+
3892
+ export type RemoveMyMfaDeviceMutationVariables = Exact<{
3893
+ input: RemoveMyMfaDeviceInput;
3894
+ }>;
3895
+
3896
+ export type RemoveMyMfaDeviceMutation = {
3897
+ __typename?: 'Mutation';
3898
+ removeMyMfaDevice: { __typename?: 'MfaVerifyResult'; success: boolean };
3899
+ };
3900
+
3355
3901
  export type RevokeMyUserSessionMutationVariables = Exact<{
3356
3902
  id: Scalars['ID']['input'];
3357
3903
  }>;
@@ -3385,6 +3931,15 @@ export type SetMyPrimaryAuthenticationMethodMutation = {
3385
3931
  };
3386
3932
  };
3387
3933
 
3934
+ export type SetMyPrimaryMfaDeviceMutationVariables = Exact<{
3935
+ input: SetMyPrimaryMfaDeviceInput;
3936
+ }>;
3937
+
3938
+ export type SetMyPrimaryMfaDeviceMutation = {
3939
+ __typename?: 'Mutation';
3940
+ setMyPrimaryMfaDevice: { __typename?: 'MfaDevice'; id: string; isPrimary: boolean };
3941
+ };
3942
+
3388
3943
  export type UpdateMyUserMutationVariables = Exact<{
3389
3944
  input: UpdateMyUserInput;
3390
3945
  }>;
@@ -3410,6 +3965,15 @@ export type UploadMyUserPictureMutation = {
3410
3965
  uploadMyUserPicture: { __typename?: 'UploadUserPictureResult'; url: string; path: string };
3411
3966
  };
3412
3967
 
3968
+ export type VerifyMyMfaEnrollmentMutationVariables = Exact<{
3969
+ input: VerifyMyMfaEnrollmentInput;
3970
+ }>;
3971
+
3972
+ export type VerifyMyMfaEnrollmentMutation = {
3973
+ __typename?: 'Mutation';
3974
+ verifyMyMfaEnrollment: { __typename?: 'MfaVerifyResult'; success: boolean };
3975
+ };
3976
+
3413
3977
  export type AcceptInvitationMutationVariables = Exact<{
3414
3978
  input: AcceptInvitationInput;
3415
3979
  }>;
@@ -3703,6 +4267,7 @@ export type GetOrganizationsQuery = {
3703
4267
  id: string;
3704
4268
  name: string;
3705
4269
  slug: string;
4270
+ requireMfaForSensitiveActions: boolean;
3706
4271
  createdAt: Date;
3707
4272
  updatedAt: Date;
3708
4273
  tags?: Array<{
@@ -3728,6 +4293,7 @@ export type UpdateOrganizationMutation = {
3728
4293
  id: string;
3729
4294
  name: string;
3730
4295
  slug: string;
4296
+ requireMfaForSensitiveActions: boolean;
3731
4297
  createdAt: Date;
3732
4298
  updatedAt: Date;
3733
4299
  };
@@ -3939,6 +4505,32 @@ export type UpdateProjectAppMutation = {
3939
4505
  };
3940
4506
  };
3941
4507
 
4508
+ export type CancelProjectSyncMutationVariables = Exact<{
4509
+ id: Scalars['ID']['input'];
4510
+ scope: Scope;
4511
+ jobId: Scalars['ID']['input'];
4512
+ }>;
4513
+
4514
+ export type CancelProjectSyncMutation = {
4515
+ __typename?: 'Mutation';
4516
+ cancelProjectSync: {
4517
+ __typename?: 'ProjectSyncJob';
4518
+ id: string;
4519
+ projectId: string;
4520
+ status: ProjectSyncJobStatus;
4521
+ cdmVersion: number;
4522
+ jobName?: string | null;
4523
+ operation: ProjectSyncJobOperation;
4524
+ modeStrategy?: CdmModeStrategy | null;
4525
+ warnings: Array<string>;
4526
+ errorMessage?: string | null;
4527
+ enqueuedAt: Date;
4528
+ startedAt?: Date | null;
4529
+ completedAt?: Date | null;
4530
+ cancelledAt?: Date | null;
4531
+ };
4532
+ };
4533
+
3942
4534
  export type CreateProjectMutationVariables = Exact<{
3943
4535
  input: CreateProjectInput;
3944
4536
  }>;
@@ -4048,15 +4640,155 @@ export type GetProjectsQuery = {
4048
4640
  };
4049
4641
  };
4050
4642
 
4051
- export type UpdateProjectMutationVariables = Exact<{
4643
+ export type ProjectSyncJobQueryVariables = Exact<{
4052
4644
  id: Scalars['ID']['input'];
4053
- input: UpdateProjectInput;
4645
+ scope: Scope;
4646
+ jobId: Scalars['ID']['input'];
4054
4647
  }>;
4055
4648
 
4056
- export type UpdateProjectMutation = {
4057
- __typename?: 'Mutation';
4058
- updateProject: {
4059
- __typename?: 'Project';
4649
+ export type ProjectSyncJobQuery = {
4650
+ __typename?: 'Query';
4651
+ projectSyncJob: {
4652
+ __typename?: 'ProjectSyncJob';
4653
+ id: string;
4654
+ projectId: string;
4655
+ status: ProjectSyncJobStatus;
4656
+ cdmVersion: number;
4657
+ jobName?: string | null;
4658
+ operation: ProjectSyncJobOperation;
4659
+ modeStrategy?: CdmModeStrategy | null;
4660
+ warnings: Array<string>;
4661
+ errorMessage?: string | null;
4662
+ enqueuedAt: Date;
4663
+ startedAt?: Date | null;
4664
+ completedAt?: Date | null;
4665
+ cancelledAt?: Date | null;
4666
+ hasSnapshot: boolean;
4667
+ snapshotTakenAt?: Date | null;
4668
+ snapshotSizeBytes?: number | null;
4669
+ result?: {
4670
+ __typename?: 'SyncProjectResult';
4671
+ projectId: string;
4672
+ importId?: string | null;
4673
+ rolesCreated: number;
4674
+ groupsCreated: number;
4675
+ roleGroupsLinked: number;
4676
+ groupPermissionsLinked: number;
4677
+ projectRolesLinked: number;
4678
+ projectGroupsLinked: number;
4679
+ projectPermissionsLinked: number;
4680
+ projectResourcesLinked: number;
4681
+ projectUsersEnsured: number;
4682
+ usersCreated: number;
4683
+ userRolesAssigned: number;
4684
+ projectUserApiKeysCreated: number;
4685
+ warnings: Array<string>;
4686
+ } | null;
4687
+ };
4688
+ };
4689
+
4690
+ export type ProjectSyncJobsQueryVariables = Exact<{
4691
+ id: Scalars['ID']['input'];
4692
+ scope: Scope;
4693
+ page?: InputMaybe<Scalars['Int']['input']>;
4694
+ limit?: InputMaybe<Scalars['Int']['input']>;
4695
+ search?: InputMaybe<Scalars['String']['input']>;
4696
+ sort?: InputMaybe<ProjectSyncJobSortInput>;
4697
+ status?: InputMaybe<ProjectSyncJobStatus>;
4698
+ }>;
4699
+
4700
+ export type ProjectSyncJobsQuery = {
4701
+ __typename?: 'Query';
4702
+ projectSyncJobs: {
4703
+ __typename?: 'ProjectSyncJobPage';
4704
+ totalCount: number;
4705
+ hasNextPage: boolean;
4706
+ jobs: Array<{
4707
+ __typename?: 'ProjectSyncJob';
4708
+ id: string;
4709
+ projectId: string;
4710
+ status: ProjectSyncJobStatus;
4711
+ cdmVersion: number;
4712
+ jobName?: string | null;
4713
+ operation: ProjectSyncJobOperation;
4714
+ modeStrategy?: CdmModeStrategy | null;
4715
+ warnings: Array<string>;
4716
+ errorMessage?: string | null;
4717
+ enqueuedAt: Date;
4718
+ startedAt?: Date | null;
4719
+ completedAt?: Date | null;
4720
+ cancelledAt?: Date | null;
4721
+ hasSnapshot: boolean;
4722
+ snapshotTakenAt?: Date | null;
4723
+ snapshotSizeBytes?: number | null;
4724
+ }>;
4725
+ };
4726
+ };
4727
+
4728
+ export type StartProjectExportMutationVariables = Exact<{
4729
+ id: Scalars['ID']['input'];
4730
+ scope: Scope;
4731
+ input: StartProjectExportInput;
4732
+ }>;
4733
+
4734
+ export type StartProjectExportMutation = {
4735
+ __typename?: 'Mutation';
4736
+ startProjectExport: {
4737
+ __typename?: 'ProjectSyncJob';
4738
+ id: string;
4739
+ projectId: string;
4740
+ status: ProjectSyncJobStatus;
4741
+ cdmVersion: number;
4742
+ jobName?: string | null;
4743
+ operation: ProjectSyncJobOperation;
4744
+ modeStrategy?: CdmModeStrategy | null;
4745
+ warnings: Array<string>;
4746
+ errorMessage?: string | null;
4747
+ enqueuedAt: Date;
4748
+ startedAt?: Date | null;
4749
+ completedAt?: Date | null;
4750
+ cancelledAt?: Date | null;
4751
+ hasSnapshot: boolean;
4752
+ snapshotTakenAt?: Date | null;
4753
+ snapshotSizeBytes?: number | null;
4754
+ };
4755
+ };
4756
+
4757
+ export type StartProjectSyncMutationVariables = Exact<{
4758
+ id: Scalars['ID']['input'];
4759
+ scope: Scope;
4760
+ input: SyncProjectInput;
4761
+ }>;
4762
+
4763
+ export type StartProjectSyncMutation = {
4764
+ __typename?: 'Mutation';
4765
+ startProjectSync: {
4766
+ __typename?: 'ProjectSyncJob';
4767
+ id: string;
4768
+ projectId: string;
4769
+ status: ProjectSyncJobStatus;
4770
+ cdmVersion: number;
4771
+ jobName?: string | null;
4772
+ operation: ProjectSyncJobOperation;
4773
+ modeStrategy?: CdmModeStrategy | null;
4774
+ warnings: Array<string>;
4775
+ errorMessage?: string | null;
4776
+ enqueuedAt: Date;
4777
+ startedAt?: Date | null;
4778
+ completedAt?: Date | null;
4779
+ cancelledAt?: Date | null;
4780
+ };
4781
+ };
4782
+
4783
+ export type UpdateProjectMutationVariables = Exact<{
4784
+ id: Scalars['ID']['input'];
4785
+ input: UpdateProjectInput;
4786
+ }>;
4787
+
4788
+ export type UpdateProjectMutation = {
4789
+ __typename?: 'Mutation';
4790
+ updateProject: {
4791
+ __typename?: 'Project';
4060
4792
  id: string;
4061
4793
  name: string;
4062
4794
  slug: string;
@@ -4082,6 +4814,13 @@ export type CreateResourceMutation = {
4082
4814
  isActive: boolean;
4083
4815
  createdAt: Date;
4084
4816
  updatedAt: Date;
4817
+ permissions?: Array<{
4818
+ __typename?: 'Permission';
4819
+ id: string;
4820
+ name: string;
4821
+ action: string;
4822
+ resourceId?: string | null;
4823
+ }> | null;
4085
4824
  };
4086
4825
  };
4087
4826
 
@@ -4867,6 +5606,8 @@ export const LoginDocument = {
4867
5606
  selections: [
4868
5607
  { kind: 'Field', name: { kind: 'Name', value: 'accessToken' } },
4869
5608
  { kind: 'Field', name: { kind: 'Name', value: 'refreshToken' } },
5609
+ { kind: 'Field', name: { kind: 'Name', value: 'mfaVerified' } },
5610
+ { kind: 'Field', name: { kind: 'Name', value: 'requiresMfaStepUp' } },
4870
5611
  { kind: 'Field', name: { kind: 'Name', value: 'requiresEmailVerification' } },
4871
5612
  { kind: 'Field', name: { kind: 'Name', value: 'verificationExpiry' } },
4872
5613
  { kind: 'Field', name: { kind: 'Name', value: 'email' } },
@@ -5129,6 +5870,33 @@ export const ResetPasswordDocument = {
5129
5870
  },
5130
5871
  ],
5131
5872
  } as unknown as DocumentNode<ResetPasswordMutation, ResetPasswordMutationVariables>;
5873
+ export const SetupMfaDocument = {
5874
+ kind: 'Document',
5875
+ definitions: [
5876
+ {
5877
+ kind: 'OperationDefinition',
5878
+ operation: 'mutation',
5879
+ name: { kind: 'Name', value: 'SetupMfa' },
5880
+ selectionSet: {
5881
+ kind: 'SelectionSet',
5882
+ selections: [
5883
+ {
5884
+ kind: 'Field',
5885
+ name: { kind: 'Name', value: 'setupMfa' },
5886
+ selectionSet: {
5887
+ kind: 'SelectionSet',
5888
+ selections: [
5889
+ { kind: 'Field', name: { kind: 'Name', value: 'factorId' } },
5890
+ { kind: 'Field', name: { kind: 'Name', value: 'secret' } },
5891
+ { kind: 'Field', name: { kind: 'Name', value: 'otpAuthUrl' } },
5892
+ ],
5893
+ },
5894
+ },
5895
+ ],
5896
+ },
5897
+ },
5898
+ ],
5899
+ } as unknown as DocumentNode<SetupMfaMutation, SetupMfaMutationVariables>;
5132
5900
  export const VerifyEmailDocument = {
5133
5901
  kind: 'Document',
5134
5902
  definitions: [
@@ -5172,6 +5940,97 @@ export const VerifyEmailDocument = {
5172
5940
  },
5173
5941
  ],
5174
5942
  } as unknown as DocumentNode<VerifyEmailMutation, VerifyEmailMutationVariables>;
5943
+ export const VerifyMfaDocument = {
5944
+ kind: 'Document',
5945
+ definitions: [
5946
+ {
5947
+ kind: 'OperationDefinition',
5948
+ operation: 'mutation',
5949
+ name: { kind: 'Name', value: 'VerifyMfa' },
5950
+ variableDefinitions: [
5951
+ {
5952
+ kind: 'VariableDefinition',
5953
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
5954
+ type: {
5955
+ kind: 'NonNullType',
5956
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'VerifyMfaInput' } },
5957
+ },
5958
+ },
5959
+ ],
5960
+ selectionSet: {
5961
+ kind: 'SelectionSet',
5962
+ selections: [
5963
+ {
5964
+ kind: 'Field',
5965
+ name: { kind: 'Name', value: 'verifyMfa' },
5966
+ arguments: [
5967
+ {
5968
+ kind: 'Argument',
5969
+ name: { kind: 'Name', value: 'input' },
5970
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
5971
+ },
5972
+ ],
5973
+ selectionSet: {
5974
+ kind: 'SelectionSet',
5975
+ selections: [
5976
+ { kind: 'Field', name: { kind: 'Name', value: 'accessToken' } },
5977
+ { kind: 'Field', name: { kind: 'Name', value: 'refreshToken' } },
5978
+ { kind: 'Field', name: { kind: 'Name', value: 'mfaVerified' } },
5979
+ ],
5980
+ },
5981
+ },
5982
+ ],
5983
+ },
5984
+ },
5985
+ ],
5986
+ } as unknown as DocumentNode<VerifyMfaMutation, VerifyMfaMutationVariables>;
5987
+ export const VerifyMfaRecoveryCodeDocument = {
5988
+ kind: 'Document',
5989
+ definitions: [
5990
+ {
5991
+ kind: 'OperationDefinition',
5992
+ operation: 'mutation',
5993
+ name: { kind: 'Name', value: 'VerifyMfaRecoveryCode' },
5994
+ variableDefinitions: [
5995
+ {
5996
+ kind: 'VariableDefinition',
5997
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
5998
+ type: {
5999
+ kind: 'NonNullType',
6000
+ type: {
6001
+ kind: 'NamedType',
6002
+ name: { kind: 'Name', value: 'VerifyMfaRecoveryCodeInput' },
6003
+ },
6004
+ },
6005
+ },
6006
+ ],
6007
+ selectionSet: {
6008
+ kind: 'SelectionSet',
6009
+ selections: [
6010
+ {
6011
+ kind: 'Field',
6012
+ name: { kind: 'Name', value: 'verifyMfaRecoveryCode' },
6013
+ arguments: [
6014
+ {
6015
+ kind: 'Argument',
6016
+ name: { kind: 'Name', value: 'input' },
6017
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
6018
+ },
6019
+ ],
6020
+ selectionSet: {
6021
+ kind: 'SelectionSet',
6022
+ selections: [
6023
+ { kind: 'Field', name: { kind: 'Name', value: 'accessToken' } },
6024
+ { kind: 'Field', name: { kind: 'Name', value: 'refreshToken' } },
6025
+ { kind: 'Field', name: { kind: 'Name', value: 'mfaVerified' } },
6026
+ ],
6027
+ },
6028
+ },
6029
+ ],
6030
+ },
6031
+ },
6032
+ ],
6033
+ } as unknown as DocumentNode<VerifyMfaRecoveryCodeMutation, VerifyMfaRecoveryCodeMutationVariables>;
5175
6034
  export const CreateGroupDocument = {
5176
6035
  kind: 'Document',
5177
6036
  definitions: [
@@ -5686,6 +6545,33 @@ export const CreateMyUserAuthenticationMethodDocument = {
5686
6545
  CreateMyUserAuthenticationMethodMutation,
5687
6546
  CreateMyUserAuthenticationMethodMutationVariables
5688
6547
  >;
6548
+ export const CreateMyMfaEnrollmentDocument = {
6549
+ kind: 'Document',
6550
+ definitions: [
6551
+ {
6552
+ kind: 'OperationDefinition',
6553
+ operation: 'mutation',
6554
+ name: { kind: 'Name', value: 'CreateMyMfaEnrollment' },
6555
+ selectionSet: {
6556
+ kind: 'SelectionSet',
6557
+ selections: [
6558
+ {
6559
+ kind: 'Field',
6560
+ name: { kind: 'Name', value: 'createMyMfaEnrollment' },
6561
+ selectionSet: {
6562
+ kind: 'SelectionSet',
6563
+ selections: [
6564
+ { kind: 'Field', name: { kind: 'Name', value: 'factorId' } },
6565
+ { kind: 'Field', name: { kind: 'Name', value: 'secret' } },
6566
+ { kind: 'Field', name: { kind: 'Name', value: 'otpAuthUrl' } },
6567
+ ],
6568
+ },
6569
+ },
6570
+ ],
6571
+ },
6572
+ },
6573
+ ],
6574
+ } as unknown as DocumentNode<CreateMyMfaEnrollmentMutation, CreateMyMfaEnrollmentMutationVariables>;
5689
6575
  export const DeleteMyAccountsDocument = {
5690
6576
  kind: 'Document',
5691
6577
  definitions: [
@@ -5785,6 +6671,45 @@ export const DeleteMyUserAuthenticationMethodDocument = {
5785
6671
  DeleteMyUserAuthenticationMethodMutation,
5786
6672
  DeleteMyUserAuthenticationMethodMutationVariables
5787
6673
  >;
6674
+ export const GenerateMyMfaRecoveryCodesDocument = {
6675
+ kind: 'Document',
6676
+ definitions: [
6677
+ {
6678
+ kind: 'OperationDefinition',
6679
+ operation: 'mutation',
6680
+ name: { kind: 'Name', value: 'GenerateMyMfaRecoveryCodes' },
6681
+ variableDefinitions: [
6682
+ {
6683
+ kind: 'VariableDefinition',
6684
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
6685
+ type: {
6686
+ kind: 'NamedType',
6687
+ name: { kind: 'Name', value: 'GenerateMyMfaRecoveryCodesInput' },
6688
+ },
6689
+ },
6690
+ ],
6691
+ selectionSet: {
6692
+ kind: 'SelectionSet',
6693
+ selections: [
6694
+ {
6695
+ kind: 'Field',
6696
+ name: { kind: 'Name', value: 'generateMyMfaRecoveryCodes' },
6697
+ arguments: [
6698
+ {
6699
+ kind: 'Argument',
6700
+ name: { kind: 'Name', value: 'input' },
6701
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
6702
+ },
6703
+ ],
6704
+ },
6705
+ ],
6706
+ },
6707
+ },
6708
+ ],
6709
+ } as unknown as DocumentNode<
6710
+ GenerateMyMfaRecoveryCodesMutation,
6711
+ GenerateMyMfaRecoveryCodesMutationVariables
6712
+ >;
5788
6713
  export const LogoutMyUserDocument = {
5789
6714
  kind: 'Document',
5790
6715
  definitions: [
@@ -5853,6 +6778,7 @@ export const MeDocument = {
5853
6778
  ],
5854
6779
  },
5855
6780
  },
6781
+ { kind: 'Field', name: { kind: 'Name', value: 'mfaVerified' } },
5856
6782
  { kind: 'Field', name: { kind: 'Name', value: 'requiresEmailVerification' } },
5857
6783
  { kind: 'Field', name: { kind: 'Name', value: 'verificationExpiry' } },
5858
6784
  { kind: 'Field', name: { kind: 'Name', value: 'email' } },
@@ -6082,41 +7008,28 @@ export const MyUserSessionsDocument = {
6082
7008
  },
6083
7009
  ],
6084
7010
  } as unknown as DocumentNode<MyUserSessionsQuery, MyUserSessionsQueryVariables>;
6085
- export const RevokeMyUserSessionDocument = {
7011
+ export const MyMfaDevicesDocument = {
6086
7012
  kind: 'Document',
6087
7013
  definitions: [
6088
7014
  {
6089
7015
  kind: 'OperationDefinition',
6090
- operation: 'mutation',
6091
- name: { kind: 'Name', value: 'RevokeMyUserSession' },
6092
- variableDefinitions: [
6093
- {
6094
- kind: 'VariableDefinition',
6095
- variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
6096
- type: {
6097
- kind: 'NonNullType',
6098
- type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
6099
- },
6100
- },
6101
- ],
7016
+ operation: 'query',
7017
+ name: { kind: 'Name', value: 'MyMfaDevices' },
6102
7018
  selectionSet: {
6103
7019
  kind: 'SelectionSet',
6104
7020
  selections: [
6105
7021
  {
6106
7022
  kind: 'Field',
6107
- name: { kind: 'Name', value: 'revokeMyUserSession' },
6108
- arguments: [
6109
- {
6110
- kind: 'Argument',
6111
- name: { kind: 'Name', value: 'id' },
6112
- value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
6113
- },
6114
- ],
7023
+ name: { kind: 'Name', value: 'myMfaDevices' },
6115
7024
  selectionSet: {
6116
7025
  kind: 'SelectionSet',
6117
7026
  selections: [
6118
- { kind: 'Field', name: { kind: 'Name', value: 'success' } },
6119
- { kind: 'Field', name: { kind: 'Name', value: 'message' } },
7027
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
7028
+ { kind: 'Field', name: { kind: 'Name', value: 'name' } },
7029
+ { kind: 'Field', name: { kind: 'Name', value: 'isPrimary' } },
7030
+ { kind: 'Field', name: { kind: 'Name', value: 'isEnabled' } },
7031
+ { kind: 'Field', name: { kind: 'Name', value: 'createdAt' } },
7032
+ { kind: 'Field', name: { kind: 'Name', value: 'lastUsedAt' } },
6120
7033
  ],
6121
7034
  },
6122
7035
  },
@@ -6124,31 +7037,140 @@ export const RevokeMyUserSessionDocument = {
6124
7037
  },
6125
7038
  },
6126
7039
  ],
6127
- } as unknown as DocumentNode<RevokeMyUserSessionMutation, RevokeMyUserSessionMutationVariables>;
6128
- export const SetMyPrimaryAuthenticationMethodDocument = {
7040
+ } as unknown as DocumentNode<MyMfaDevicesQuery, MyMfaDevicesQueryVariables>;
7041
+ export const MyMfaRecoveryCodeStatusDocument = {
6129
7042
  kind: 'Document',
6130
7043
  definitions: [
6131
7044
  {
6132
7045
  kind: 'OperationDefinition',
6133
- operation: 'mutation',
6134
- name: { kind: 'Name', value: 'SetMyPrimaryAuthenticationMethod' },
6135
- variableDefinitions: [
6136
- {
6137
- kind: 'VariableDefinition',
6138
- variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
6139
- type: {
6140
- kind: 'NonNullType',
6141
- type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
6142
- },
6143
- },
6144
- ],
7046
+ operation: 'query',
7047
+ name: { kind: 'Name', value: 'MyMfaRecoveryCodeStatus' },
6145
7048
  selectionSet: {
6146
7049
  kind: 'SelectionSet',
6147
7050
  selections: [
6148
7051
  {
6149
7052
  kind: 'Field',
6150
- name: { kind: 'Name', value: 'setMyPrimaryAuthenticationMethod' },
6151
- arguments: [
7053
+ name: { kind: 'Name', value: 'myMfaRecoveryCodeStatus' },
7054
+ selectionSet: {
7055
+ kind: 'SelectionSet',
7056
+ selections: [
7057
+ { kind: 'Field', name: { kind: 'Name', value: 'activeCount' } },
7058
+ { kind: 'Field', name: { kind: 'Name', value: 'lastGeneratedAt' } },
7059
+ ],
7060
+ },
7061
+ },
7062
+ ],
7063
+ },
7064
+ },
7065
+ ],
7066
+ } as unknown as DocumentNode<MyMfaRecoveryCodeStatusQuery, MyMfaRecoveryCodeStatusQueryVariables>;
7067
+ export const RemoveMyMfaDeviceDocument = {
7068
+ kind: 'Document',
7069
+ definitions: [
7070
+ {
7071
+ kind: 'OperationDefinition',
7072
+ operation: 'mutation',
7073
+ name: { kind: 'Name', value: 'RemoveMyMfaDevice' },
7074
+ variableDefinitions: [
7075
+ {
7076
+ kind: 'VariableDefinition',
7077
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
7078
+ type: {
7079
+ kind: 'NonNullType',
7080
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'RemoveMyMfaDeviceInput' } },
7081
+ },
7082
+ },
7083
+ ],
7084
+ selectionSet: {
7085
+ kind: 'SelectionSet',
7086
+ selections: [
7087
+ {
7088
+ kind: 'Field',
7089
+ name: { kind: 'Name', value: 'removeMyMfaDevice' },
7090
+ arguments: [
7091
+ {
7092
+ kind: 'Argument',
7093
+ name: { kind: 'Name', value: 'input' },
7094
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
7095
+ },
7096
+ ],
7097
+ selectionSet: {
7098
+ kind: 'SelectionSet',
7099
+ selections: [{ kind: 'Field', name: { kind: 'Name', value: 'success' } }],
7100
+ },
7101
+ },
7102
+ ],
7103
+ },
7104
+ },
7105
+ ],
7106
+ } as unknown as DocumentNode<RemoveMyMfaDeviceMutation, RemoveMyMfaDeviceMutationVariables>;
7107
+ export const RevokeMyUserSessionDocument = {
7108
+ kind: 'Document',
7109
+ definitions: [
7110
+ {
7111
+ kind: 'OperationDefinition',
7112
+ operation: 'mutation',
7113
+ name: { kind: 'Name', value: 'RevokeMyUserSession' },
7114
+ variableDefinitions: [
7115
+ {
7116
+ kind: 'VariableDefinition',
7117
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
7118
+ type: {
7119
+ kind: 'NonNullType',
7120
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
7121
+ },
7122
+ },
7123
+ ],
7124
+ selectionSet: {
7125
+ kind: 'SelectionSet',
7126
+ selections: [
7127
+ {
7128
+ kind: 'Field',
7129
+ name: { kind: 'Name', value: 'revokeMyUserSession' },
7130
+ arguments: [
7131
+ {
7132
+ kind: 'Argument',
7133
+ name: { kind: 'Name', value: 'id' },
7134
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
7135
+ },
7136
+ ],
7137
+ selectionSet: {
7138
+ kind: 'SelectionSet',
7139
+ selections: [
7140
+ { kind: 'Field', name: { kind: 'Name', value: 'success' } },
7141
+ { kind: 'Field', name: { kind: 'Name', value: 'message' } },
7142
+ ],
7143
+ },
7144
+ },
7145
+ ],
7146
+ },
7147
+ },
7148
+ ],
7149
+ } as unknown as DocumentNode<RevokeMyUserSessionMutation, RevokeMyUserSessionMutationVariables>;
7150
+ export const SetMyPrimaryAuthenticationMethodDocument = {
7151
+ kind: 'Document',
7152
+ definitions: [
7153
+ {
7154
+ kind: 'OperationDefinition',
7155
+ operation: 'mutation',
7156
+ name: { kind: 'Name', value: 'SetMyPrimaryAuthenticationMethod' },
7157
+ variableDefinitions: [
7158
+ {
7159
+ kind: 'VariableDefinition',
7160
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
7161
+ type: {
7162
+ kind: 'NonNullType',
7163
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
7164
+ },
7165
+ },
7166
+ ],
7167
+ selectionSet: {
7168
+ kind: 'SelectionSet',
7169
+ selections: [
7170
+ {
7171
+ kind: 'Field',
7172
+ name: { kind: 'Name', value: 'setMyPrimaryAuthenticationMethod' },
7173
+ arguments: [
6152
7174
  {
6153
7175
  kind: 'Argument',
6154
7176
  name: { kind: 'Name', value: 'id' },
@@ -6178,6 +7200,52 @@ export const SetMyPrimaryAuthenticationMethodDocument = {
6178
7200
  SetMyPrimaryAuthenticationMethodMutation,
6179
7201
  SetMyPrimaryAuthenticationMethodMutationVariables
6180
7202
  >;
7203
+ export const SetMyPrimaryMfaDeviceDocument = {
7204
+ kind: 'Document',
7205
+ definitions: [
7206
+ {
7207
+ kind: 'OperationDefinition',
7208
+ operation: 'mutation',
7209
+ name: { kind: 'Name', value: 'SetMyPrimaryMfaDevice' },
7210
+ variableDefinitions: [
7211
+ {
7212
+ kind: 'VariableDefinition',
7213
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
7214
+ type: {
7215
+ kind: 'NonNullType',
7216
+ type: {
7217
+ kind: 'NamedType',
7218
+ name: { kind: 'Name', value: 'SetMyPrimaryMfaDeviceInput' },
7219
+ },
7220
+ },
7221
+ },
7222
+ ],
7223
+ selectionSet: {
7224
+ kind: 'SelectionSet',
7225
+ selections: [
7226
+ {
7227
+ kind: 'Field',
7228
+ name: { kind: 'Name', value: 'setMyPrimaryMfaDevice' },
7229
+ arguments: [
7230
+ {
7231
+ kind: 'Argument',
7232
+ name: { kind: 'Name', value: 'input' },
7233
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
7234
+ },
7235
+ ],
7236
+ selectionSet: {
7237
+ kind: 'SelectionSet',
7238
+ selections: [
7239
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
7240
+ { kind: 'Field', name: { kind: 'Name', value: 'isPrimary' } },
7241
+ ],
7242
+ },
7243
+ },
7244
+ ],
7245
+ },
7246
+ },
7247
+ ],
7248
+ } as unknown as DocumentNode<SetMyPrimaryMfaDeviceMutation, SetMyPrimaryMfaDeviceMutationVariables>;
6181
7249
  export const UpdateMyUserDocument = {
6182
7250
  kind: 'Document',
6183
7251
  definitions: [
@@ -6267,6 +7335,49 @@ export const UploadMyUserPictureDocument = {
6267
7335
  },
6268
7336
  ],
6269
7337
  } as unknown as DocumentNode<UploadMyUserPictureMutation, UploadMyUserPictureMutationVariables>;
7338
+ export const VerifyMyMfaEnrollmentDocument = {
7339
+ kind: 'Document',
7340
+ definitions: [
7341
+ {
7342
+ kind: 'OperationDefinition',
7343
+ operation: 'mutation',
7344
+ name: { kind: 'Name', value: 'VerifyMyMfaEnrollment' },
7345
+ variableDefinitions: [
7346
+ {
7347
+ kind: 'VariableDefinition',
7348
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
7349
+ type: {
7350
+ kind: 'NonNullType',
7351
+ type: {
7352
+ kind: 'NamedType',
7353
+ name: { kind: 'Name', value: 'VerifyMyMfaEnrollmentInput' },
7354
+ },
7355
+ },
7356
+ },
7357
+ ],
7358
+ selectionSet: {
7359
+ kind: 'SelectionSet',
7360
+ selections: [
7361
+ {
7362
+ kind: 'Field',
7363
+ name: { kind: 'Name', value: 'verifyMyMfaEnrollment' },
7364
+ arguments: [
7365
+ {
7366
+ kind: 'Argument',
7367
+ name: { kind: 'Name', value: 'input' },
7368
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
7369
+ },
7370
+ ],
7371
+ selectionSet: {
7372
+ kind: 'SelectionSet',
7373
+ selections: [{ kind: 'Field', name: { kind: 'Name', value: 'success' } }],
7374
+ },
7375
+ },
7376
+ ],
7377
+ },
7378
+ },
7379
+ ],
7380
+ } as unknown as DocumentNode<VerifyMyMfaEnrollmentMutation, VerifyMyMfaEnrollmentMutationVariables>;
6270
7381
  export const AcceptInvitationDocument = {
6271
7382
  kind: 'Document',
6272
7383
  definitions: [
@@ -7307,6 +8418,10 @@ export const GetOrganizationsDocument = {
7307
8418
  { kind: 'Field', name: { kind: 'Name', value: 'id' } },
7308
8419
  { kind: 'Field', name: { kind: 'Name', value: 'name' } },
7309
8420
  { kind: 'Field', name: { kind: 'Name', value: 'slug' } },
8421
+ {
8422
+ kind: 'Field',
8423
+ name: { kind: 'Name', value: 'requireMfaForSensitiveActions' },
8424
+ },
7310
8425
  { kind: 'Field', name: { kind: 'Name', value: 'createdAt' } },
7311
8426
  { kind: 'Field', name: { kind: 'Name', value: 'updatedAt' } },
7312
8427
  {
@@ -7384,6 +8499,7 @@ export const UpdateOrganizationDocument = {
7384
8499
  { kind: 'Field', name: { kind: 'Name', value: 'id' } },
7385
8500
  { kind: 'Field', name: { kind: 'Name', value: 'name' } },
7386
8501
  { kind: 'Field', name: { kind: 'Name', value: 'slug' } },
8502
+ { kind: 'Field', name: { kind: 'Name', value: 'requireMfaForSensitiveActions' } },
7387
8503
  { kind: 'Field', name: { kind: 'Name', value: 'createdAt' } },
7388
8504
  { kind: 'Field', name: { kind: 'Name', value: 'updatedAt' } },
7389
8505
  ],
@@ -8107,6 +9223,86 @@ export const UpdateProjectAppDocument = {
8107
9223
  },
8108
9224
  ],
8109
9225
  } as unknown as DocumentNode<UpdateProjectAppMutation, UpdateProjectAppMutationVariables>;
9226
+ export const CancelProjectSyncDocument = {
9227
+ kind: 'Document',
9228
+ definitions: [
9229
+ {
9230
+ kind: 'OperationDefinition',
9231
+ operation: 'mutation',
9232
+ name: { kind: 'Name', value: 'CancelProjectSync' },
9233
+ variableDefinitions: [
9234
+ {
9235
+ kind: 'VariableDefinition',
9236
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
9237
+ type: {
9238
+ kind: 'NonNullType',
9239
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
9240
+ },
9241
+ },
9242
+ {
9243
+ kind: 'VariableDefinition',
9244
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
9245
+ type: {
9246
+ kind: 'NonNullType',
9247
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'Scope' } },
9248
+ },
9249
+ },
9250
+ {
9251
+ kind: 'VariableDefinition',
9252
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'jobId' } },
9253
+ type: {
9254
+ kind: 'NonNullType',
9255
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
9256
+ },
9257
+ },
9258
+ ],
9259
+ selectionSet: {
9260
+ kind: 'SelectionSet',
9261
+ selections: [
9262
+ {
9263
+ kind: 'Field',
9264
+ name: { kind: 'Name', value: 'cancelProjectSync' },
9265
+ arguments: [
9266
+ {
9267
+ kind: 'Argument',
9268
+ name: { kind: 'Name', value: 'id' },
9269
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
9270
+ },
9271
+ {
9272
+ kind: 'Argument',
9273
+ name: { kind: 'Name', value: 'scope' },
9274
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
9275
+ },
9276
+ {
9277
+ kind: 'Argument',
9278
+ name: { kind: 'Name', value: 'jobId' },
9279
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'jobId' } },
9280
+ },
9281
+ ],
9282
+ selectionSet: {
9283
+ kind: 'SelectionSet',
9284
+ selections: [
9285
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
9286
+ { kind: 'Field', name: { kind: 'Name', value: 'projectId' } },
9287
+ { kind: 'Field', name: { kind: 'Name', value: 'status' } },
9288
+ { kind: 'Field', name: { kind: 'Name', value: 'cdmVersion' } },
9289
+ { kind: 'Field', name: { kind: 'Name', value: 'jobName' } },
9290
+ { kind: 'Field', name: { kind: 'Name', value: 'operation' } },
9291
+ { kind: 'Field', name: { kind: 'Name', value: 'modeStrategy' } },
9292
+ { kind: 'Field', name: { kind: 'Name', value: 'warnings' } },
9293
+ { kind: 'Field', name: { kind: 'Name', value: 'errorMessage' } },
9294
+ { kind: 'Field', name: { kind: 'Name', value: 'enqueuedAt' } },
9295
+ { kind: 'Field', name: { kind: 'Name', value: 'startedAt' } },
9296
+ { kind: 'Field', name: { kind: 'Name', value: 'completedAt' } },
9297
+ { kind: 'Field', name: { kind: 'Name', value: 'cancelledAt' } },
9298
+ ],
9299
+ },
9300
+ },
9301
+ ],
9302
+ },
9303
+ },
9304
+ ],
9305
+ } as unknown as DocumentNode<CancelProjectSyncMutation, CancelProjectSyncMutationVariables>;
8110
9306
  export const CreateProjectDocument = {
8111
9307
  kind: 'Document',
8112
9308
  definitions: [
@@ -8490,7 +9686,408 @@ export const GetProjectsDocument = {
8490
9686
  },
8491
9687
  ],
8492
9688
  } as unknown as DocumentNode<GetProjectsQuery, GetProjectsQueryVariables>;
8493
- export const UpdateProjectDocument = {
9689
+ export const ProjectSyncJobDocument = {
9690
+ kind: 'Document',
9691
+ definitions: [
9692
+ {
9693
+ kind: 'OperationDefinition',
9694
+ operation: 'query',
9695
+ name: { kind: 'Name', value: 'ProjectSyncJob' },
9696
+ variableDefinitions: [
9697
+ {
9698
+ kind: 'VariableDefinition',
9699
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
9700
+ type: {
9701
+ kind: 'NonNullType',
9702
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
9703
+ },
9704
+ },
9705
+ {
9706
+ kind: 'VariableDefinition',
9707
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
9708
+ type: {
9709
+ kind: 'NonNullType',
9710
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'Scope' } },
9711
+ },
9712
+ },
9713
+ {
9714
+ kind: 'VariableDefinition',
9715
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'jobId' } },
9716
+ type: {
9717
+ kind: 'NonNullType',
9718
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
9719
+ },
9720
+ },
9721
+ ],
9722
+ selectionSet: {
9723
+ kind: 'SelectionSet',
9724
+ selections: [
9725
+ {
9726
+ kind: 'Field',
9727
+ name: { kind: 'Name', value: 'projectSyncJob' },
9728
+ arguments: [
9729
+ {
9730
+ kind: 'Argument',
9731
+ name: { kind: 'Name', value: 'id' },
9732
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
9733
+ },
9734
+ {
9735
+ kind: 'Argument',
9736
+ name: { kind: 'Name', value: 'scope' },
9737
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
9738
+ },
9739
+ {
9740
+ kind: 'Argument',
9741
+ name: { kind: 'Name', value: 'jobId' },
9742
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'jobId' } },
9743
+ },
9744
+ ],
9745
+ selectionSet: {
9746
+ kind: 'SelectionSet',
9747
+ selections: [
9748
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
9749
+ { kind: 'Field', name: { kind: 'Name', value: 'projectId' } },
9750
+ { kind: 'Field', name: { kind: 'Name', value: 'status' } },
9751
+ { kind: 'Field', name: { kind: 'Name', value: 'cdmVersion' } },
9752
+ { kind: 'Field', name: { kind: 'Name', value: 'jobName' } },
9753
+ { kind: 'Field', name: { kind: 'Name', value: 'operation' } },
9754
+ { kind: 'Field', name: { kind: 'Name', value: 'modeStrategy' } },
9755
+ {
9756
+ kind: 'Field',
9757
+ name: { kind: 'Name', value: 'result' },
9758
+ selectionSet: {
9759
+ kind: 'SelectionSet',
9760
+ selections: [
9761
+ { kind: 'Field', name: { kind: 'Name', value: 'projectId' } },
9762
+ { kind: 'Field', name: { kind: 'Name', value: 'importId' } },
9763
+ { kind: 'Field', name: { kind: 'Name', value: 'rolesCreated' } },
9764
+ { kind: 'Field', name: { kind: 'Name', value: 'groupsCreated' } },
9765
+ { kind: 'Field', name: { kind: 'Name', value: 'roleGroupsLinked' } },
9766
+ { kind: 'Field', name: { kind: 'Name', value: 'groupPermissionsLinked' } },
9767
+ { kind: 'Field', name: { kind: 'Name', value: 'projectRolesLinked' } },
9768
+ { kind: 'Field', name: { kind: 'Name', value: 'projectGroupsLinked' } },
9769
+ { kind: 'Field', name: { kind: 'Name', value: 'projectPermissionsLinked' } },
9770
+ { kind: 'Field', name: { kind: 'Name', value: 'projectResourcesLinked' } },
9771
+ { kind: 'Field', name: { kind: 'Name', value: 'projectUsersEnsured' } },
9772
+ { kind: 'Field', name: { kind: 'Name', value: 'usersCreated' } },
9773
+ { kind: 'Field', name: { kind: 'Name', value: 'userRolesAssigned' } },
9774
+ { kind: 'Field', name: { kind: 'Name', value: 'projectUserApiKeysCreated' } },
9775
+ { kind: 'Field', name: { kind: 'Name', value: 'warnings' } },
9776
+ ],
9777
+ },
9778
+ },
9779
+ { kind: 'Field', name: { kind: 'Name', value: 'warnings' } },
9780
+ { kind: 'Field', name: { kind: 'Name', value: 'errorMessage' } },
9781
+ { kind: 'Field', name: { kind: 'Name', value: 'enqueuedAt' } },
9782
+ { kind: 'Field', name: { kind: 'Name', value: 'startedAt' } },
9783
+ { kind: 'Field', name: { kind: 'Name', value: 'completedAt' } },
9784
+ { kind: 'Field', name: { kind: 'Name', value: 'cancelledAt' } },
9785
+ { kind: 'Field', name: { kind: 'Name', value: 'hasSnapshot' } },
9786
+ { kind: 'Field', name: { kind: 'Name', value: 'snapshotTakenAt' } },
9787
+ { kind: 'Field', name: { kind: 'Name', value: 'snapshotSizeBytes' } },
9788
+ ],
9789
+ },
9790
+ },
9791
+ ],
9792
+ },
9793
+ },
9794
+ ],
9795
+ } as unknown as DocumentNode<ProjectSyncJobQuery, ProjectSyncJobQueryVariables>;
9796
+ export const ProjectSyncJobsDocument = {
9797
+ kind: 'Document',
9798
+ definitions: [
9799
+ {
9800
+ kind: 'OperationDefinition',
9801
+ operation: 'query',
9802
+ name: { kind: 'Name', value: 'ProjectSyncJobs' },
9803
+ variableDefinitions: [
9804
+ {
9805
+ kind: 'VariableDefinition',
9806
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
9807
+ type: {
9808
+ kind: 'NonNullType',
9809
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
9810
+ },
9811
+ },
9812
+ {
9813
+ kind: 'VariableDefinition',
9814
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
9815
+ type: {
9816
+ kind: 'NonNullType',
9817
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'Scope' } },
9818
+ },
9819
+ },
9820
+ {
9821
+ kind: 'VariableDefinition',
9822
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'page' } },
9823
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } },
9824
+ },
9825
+ {
9826
+ kind: 'VariableDefinition',
9827
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'limit' } },
9828
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } },
9829
+ },
9830
+ {
9831
+ kind: 'VariableDefinition',
9832
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'search' } },
9833
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } },
9834
+ },
9835
+ {
9836
+ kind: 'VariableDefinition',
9837
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'sort' } },
9838
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ProjectSyncJobSortInput' } },
9839
+ },
9840
+ {
9841
+ kind: 'VariableDefinition',
9842
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'status' } },
9843
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ProjectSyncJobStatus' } },
9844
+ },
9845
+ ],
9846
+ selectionSet: {
9847
+ kind: 'SelectionSet',
9848
+ selections: [
9849
+ {
9850
+ kind: 'Field',
9851
+ name: { kind: 'Name', value: 'projectSyncJobs' },
9852
+ arguments: [
9853
+ {
9854
+ kind: 'Argument',
9855
+ name: { kind: 'Name', value: 'id' },
9856
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
9857
+ },
9858
+ {
9859
+ kind: 'Argument',
9860
+ name: { kind: 'Name', value: 'scope' },
9861
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
9862
+ },
9863
+ {
9864
+ kind: 'Argument',
9865
+ name: { kind: 'Name', value: 'page' },
9866
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'page' } },
9867
+ },
9868
+ {
9869
+ kind: 'Argument',
9870
+ name: { kind: 'Name', value: 'limit' },
9871
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'limit' } },
9872
+ },
9873
+ {
9874
+ kind: 'Argument',
9875
+ name: { kind: 'Name', value: 'search' },
9876
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'search' } },
9877
+ },
9878
+ {
9879
+ kind: 'Argument',
9880
+ name: { kind: 'Name', value: 'sort' },
9881
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'sort' } },
9882
+ },
9883
+ {
9884
+ kind: 'Argument',
9885
+ name: { kind: 'Name', value: 'status' },
9886
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'status' } },
9887
+ },
9888
+ ],
9889
+ selectionSet: {
9890
+ kind: 'SelectionSet',
9891
+ selections: [
9892
+ {
9893
+ kind: 'Field',
9894
+ name: { kind: 'Name', value: 'jobs' },
9895
+ selectionSet: {
9896
+ kind: 'SelectionSet',
9897
+ selections: [
9898
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
9899
+ { kind: 'Field', name: { kind: 'Name', value: 'projectId' } },
9900
+ { kind: 'Field', name: { kind: 'Name', value: 'status' } },
9901
+ { kind: 'Field', name: { kind: 'Name', value: 'cdmVersion' } },
9902
+ { kind: 'Field', name: { kind: 'Name', value: 'jobName' } },
9903
+ { kind: 'Field', name: { kind: 'Name', value: 'operation' } },
9904
+ { kind: 'Field', name: { kind: 'Name', value: 'modeStrategy' } },
9905
+ { kind: 'Field', name: { kind: 'Name', value: 'warnings' } },
9906
+ { kind: 'Field', name: { kind: 'Name', value: 'errorMessage' } },
9907
+ { kind: 'Field', name: { kind: 'Name', value: 'enqueuedAt' } },
9908
+ { kind: 'Field', name: { kind: 'Name', value: 'startedAt' } },
9909
+ { kind: 'Field', name: { kind: 'Name', value: 'completedAt' } },
9910
+ { kind: 'Field', name: { kind: 'Name', value: 'cancelledAt' } },
9911
+ { kind: 'Field', name: { kind: 'Name', value: 'hasSnapshot' } },
9912
+ { kind: 'Field', name: { kind: 'Name', value: 'snapshotTakenAt' } },
9913
+ { kind: 'Field', name: { kind: 'Name', value: 'snapshotSizeBytes' } },
9914
+ ],
9915
+ },
9916
+ },
9917
+ { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } },
9918
+ { kind: 'Field', name: { kind: 'Name', value: 'hasNextPage' } },
9919
+ ],
9920
+ },
9921
+ },
9922
+ ],
9923
+ },
9924
+ },
9925
+ ],
9926
+ } as unknown as DocumentNode<ProjectSyncJobsQuery, ProjectSyncJobsQueryVariables>;
9927
+ export const StartProjectExportDocument = {
9928
+ kind: 'Document',
9929
+ definitions: [
9930
+ {
9931
+ kind: 'OperationDefinition',
9932
+ operation: 'mutation',
9933
+ name: { kind: 'Name', value: 'StartProjectExport' },
9934
+ variableDefinitions: [
9935
+ {
9936
+ kind: 'VariableDefinition',
9937
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
9938
+ type: {
9939
+ kind: 'NonNullType',
9940
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
9941
+ },
9942
+ },
9943
+ {
9944
+ kind: 'VariableDefinition',
9945
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
9946
+ type: {
9947
+ kind: 'NonNullType',
9948
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'Scope' } },
9949
+ },
9950
+ },
9951
+ {
9952
+ kind: 'VariableDefinition',
9953
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
9954
+ type: {
9955
+ kind: 'NonNullType',
9956
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'StartProjectExportInput' } },
9957
+ },
9958
+ },
9959
+ ],
9960
+ selectionSet: {
9961
+ kind: 'SelectionSet',
9962
+ selections: [
9963
+ {
9964
+ kind: 'Field',
9965
+ name: { kind: 'Name', value: 'startProjectExport' },
9966
+ arguments: [
9967
+ {
9968
+ kind: 'Argument',
9969
+ name: { kind: 'Name', value: 'id' },
9970
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
9971
+ },
9972
+ {
9973
+ kind: 'Argument',
9974
+ name: { kind: 'Name', value: 'scope' },
9975
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
9976
+ },
9977
+ {
9978
+ kind: 'Argument',
9979
+ name: { kind: 'Name', value: 'input' },
9980
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
9981
+ },
9982
+ ],
9983
+ selectionSet: {
9984
+ kind: 'SelectionSet',
9985
+ selections: [
9986
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
9987
+ { kind: 'Field', name: { kind: 'Name', value: 'projectId' } },
9988
+ { kind: 'Field', name: { kind: 'Name', value: 'status' } },
9989
+ { kind: 'Field', name: { kind: 'Name', value: 'cdmVersion' } },
9990
+ { kind: 'Field', name: { kind: 'Name', value: 'jobName' } },
9991
+ { kind: 'Field', name: { kind: 'Name', value: 'operation' } },
9992
+ { kind: 'Field', name: { kind: 'Name', value: 'modeStrategy' } },
9993
+ { kind: 'Field', name: { kind: 'Name', value: 'warnings' } },
9994
+ { kind: 'Field', name: { kind: 'Name', value: 'errorMessage' } },
9995
+ { kind: 'Field', name: { kind: 'Name', value: 'enqueuedAt' } },
9996
+ { kind: 'Field', name: { kind: 'Name', value: 'startedAt' } },
9997
+ { kind: 'Field', name: { kind: 'Name', value: 'completedAt' } },
9998
+ { kind: 'Field', name: { kind: 'Name', value: 'cancelledAt' } },
9999
+ { kind: 'Field', name: { kind: 'Name', value: 'hasSnapshot' } },
10000
+ { kind: 'Field', name: { kind: 'Name', value: 'snapshotTakenAt' } },
10001
+ { kind: 'Field', name: { kind: 'Name', value: 'snapshotSizeBytes' } },
10002
+ ],
10003
+ },
10004
+ },
10005
+ ],
10006
+ },
10007
+ },
10008
+ ],
10009
+ } as unknown as DocumentNode<StartProjectExportMutation, StartProjectExportMutationVariables>;
10010
+ export const StartProjectSyncDocument = {
10011
+ kind: 'Document',
10012
+ definitions: [
10013
+ {
10014
+ kind: 'OperationDefinition',
10015
+ operation: 'mutation',
10016
+ name: { kind: 'Name', value: 'StartProjectSync' },
10017
+ variableDefinitions: [
10018
+ {
10019
+ kind: 'VariableDefinition',
10020
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
10021
+ type: {
10022
+ kind: 'NonNullType',
10023
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
10024
+ },
10025
+ },
10026
+ {
10027
+ kind: 'VariableDefinition',
10028
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
10029
+ type: {
10030
+ kind: 'NonNullType',
10031
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'Scope' } },
10032
+ },
10033
+ },
10034
+ {
10035
+ kind: 'VariableDefinition',
10036
+ variable: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
10037
+ type: {
10038
+ kind: 'NonNullType',
10039
+ type: { kind: 'NamedType', name: { kind: 'Name', value: 'SyncProjectInput' } },
10040
+ },
10041
+ },
10042
+ ],
10043
+ selectionSet: {
10044
+ kind: 'SelectionSet',
10045
+ selections: [
10046
+ {
10047
+ kind: 'Field',
10048
+ name: { kind: 'Name', value: 'startProjectSync' },
10049
+ arguments: [
10050
+ {
10051
+ kind: 'Argument',
10052
+ name: { kind: 'Name', value: 'id' },
10053
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } },
10054
+ },
10055
+ {
10056
+ kind: 'Argument',
10057
+ name: { kind: 'Name', value: 'scope' },
10058
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'scope' } },
10059
+ },
10060
+ {
10061
+ kind: 'Argument',
10062
+ name: { kind: 'Name', value: 'input' },
10063
+ value: { kind: 'Variable', name: { kind: 'Name', value: 'input' } },
10064
+ },
10065
+ ],
10066
+ selectionSet: {
10067
+ kind: 'SelectionSet',
10068
+ selections: [
10069
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
10070
+ { kind: 'Field', name: { kind: 'Name', value: 'projectId' } },
10071
+ { kind: 'Field', name: { kind: 'Name', value: 'status' } },
10072
+ { kind: 'Field', name: { kind: 'Name', value: 'cdmVersion' } },
10073
+ { kind: 'Field', name: { kind: 'Name', value: 'jobName' } },
10074
+ { kind: 'Field', name: { kind: 'Name', value: 'operation' } },
10075
+ { kind: 'Field', name: { kind: 'Name', value: 'modeStrategy' } },
10076
+ { kind: 'Field', name: { kind: 'Name', value: 'warnings' } },
10077
+ { kind: 'Field', name: { kind: 'Name', value: 'errorMessage' } },
10078
+ { kind: 'Field', name: { kind: 'Name', value: 'enqueuedAt' } },
10079
+ { kind: 'Field', name: { kind: 'Name', value: 'startedAt' } },
10080
+ { kind: 'Field', name: { kind: 'Name', value: 'completedAt' } },
10081
+ { kind: 'Field', name: { kind: 'Name', value: 'cancelledAt' } },
10082
+ ],
10083
+ },
10084
+ },
10085
+ ],
10086
+ },
10087
+ },
10088
+ ],
10089
+ } as unknown as DocumentNode<StartProjectSyncMutation, StartProjectSyncMutationVariables>;
10090
+ export const UpdateProjectDocument = {
8494
10091
  kind: 'Document',
8495
10092
  definitions: [
8496
10093
  {
@@ -8591,6 +10188,19 @@ export const CreateResourceDocument = {
8591
10188
  { kind: 'Field', name: { kind: 'Name', value: 'isActive' } },
8592
10189
  { kind: 'Field', name: { kind: 'Name', value: 'createdAt' } },
8593
10190
  { kind: 'Field', name: { kind: 'Name', value: 'updatedAt' } },
10191
+ {
10192
+ kind: 'Field',
10193
+ name: { kind: 'Name', value: 'permissions' },
10194
+ selectionSet: {
10195
+ kind: 'SelectionSet',
10196
+ selections: [
10197
+ { kind: 'Field', name: { kind: 'Name', value: 'id' } },
10198
+ { kind: 'Field', name: { kind: 'Name', value: 'name' } },
10199
+ { kind: 'Field', name: { kind: 'Name', value: 'action' } },
10200
+ { kind: 'Field', name: { kind: 'Name', value: 'resourceId' } },
10201
+ ],
10202
+ },
10203
+ },
8594
10204
  ],
8595
10205
  },
8596
10206
  },