@burdenoff/microfe-technospam 2026.1102.2 → 2026.1102.4

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 (94) hide show
  1. package/dist/generated/global-types.d.ts +307 -41
  2. package/dist/generated/global-types.d.ts.map +1 -1
  3. package/dist/generated/wspace-types.d.ts +1730 -8
  4. package/dist/generated/wspace-types.d.ts.map +1 -1
  5. package/dist/stories/fixtures/technospamFixtures.d.ts.map +1 -1
  6. package/dist/technospam/TechnoSpamRoot.d.ts.map +1 -1
  7. package/dist/technospam/TechnoSpamRoot.js +187 -178
  8. package/dist/technospam/TechnoSpamRoot.js.map +1 -1
  9. package/dist/technospam/TechnoSpamRoutes.d.ts.map +1 -1
  10. package/dist/technospam/TechnoSpamRoutes.js +32 -28
  11. package/dist/technospam/TechnoSpamRoutes.js.map +1 -1
  12. package/dist/technospam/api/assessmentApi.d.ts +183 -0
  13. package/dist/technospam/api/assessmentApi.d.ts.map +1 -0
  14. package/dist/technospam/api/assessmentApi.js +278 -0
  15. package/dist/technospam/api/assessmentApi.js.map +1 -0
  16. package/dist/technospam/api/technospamApi.js +141 -141
  17. package/dist/technospam/api/technospamApi.js.map +1 -1
  18. package/dist/technospam/components/CourseAssessments.d.ts +9 -0
  19. package/dist/technospam/components/CourseAssessments.d.ts.map +1 -0
  20. package/dist/technospam/components/CourseAssessments.js +66 -0
  21. package/dist/technospam/components/CourseAssessments.js.map +1 -0
  22. package/dist/technospam/components/MediaCover.js +2 -2
  23. package/dist/technospam/components/MediaCover.js.map +1 -1
  24. package/dist/technospam/components/MobileSectionTabs.d.ts +9 -0
  25. package/dist/technospam/components/MobileSectionTabs.d.ts.map +1 -0
  26. package/dist/technospam/components/MobileSectionTabs.js +43 -0
  27. package/dist/technospam/components/MobileSectionTabs.js.map +1 -0
  28. package/dist/technospam/components/PageLayout.d.ts +7 -1
  29. package/dist/technospam/components/PageLayout.d.ts.map +1 -1
  30. package/dist/technospam/components/PageLayout.js +40 -28
  31. package/dist/technospam/components/PageLayout.js.map +1 -1
  32. package/dist/technospam/components/StatusBadge.d.ts.map +1 -1
  33. package/dist/technospam/components/StatusBadge.js +8 -1
  34. package/dist/technospam/components/StatusBadge.js.map +1 -1
  35. package/dist/technospam/components/admin/AssessmentsAdminTab.d.ts +7 -0
  36. package/dist/technospam/components/admin/AssessmentsAdminTab.d.ts.map +1 -0
  37. package/dist/technospam/components/admin/AssessmentsAdminTab.js +421 -0
  38. package/dist/technospam/components/admin/AssessmentsAdminTab.js.map +1 -0
  39. package/dist/technospam/components/lesson/LessonKindFields.d.ts +3 -1
  40. package/dist/technospam/components/lesson/LessonKindFields.d.ts.map +1 -1
  41. package/dist/technospam/components/lesson/LessonKindFields.js +2 -2
  42. package/dist/technospam/components/lesson/LessonKindFields.js.map +1 -1
  43. package/dist/technospam/components/lesson/SaveCourseOffline.js +6 -6
  44. package/dist/technospam/hooks/useAssessmentIntegrity.d.ts +29 -0
  45. package/dist/technospam/hooks/useAssessmentIntegrity.d.ts.map +1 -0
  46. package/dist/technospam/hooks/useAssessmentIntegrity.js +57 -0
  47. package/dist/technospam/hooks/useAssessmentIntegrity.js.map +1 -0
  48. package/dist/technospam/hooks/usePhoneLayout.d.ts +18 -0
  49. package/dist/technospam/hooks/usePhoneLayout.d.ts.map +1 -0
  50. package/dist/technospam/hooks/usePhoneLayout.js +14 -0
  51. package/dist/technospam/hooks/usePhoneLayout.js.map +1 -0
  52. package/dist/technospam/pages/AdminAdminDashboardPagePage.d.ts.map +1 -1
  53. package/dist/technospam/pages/AdminAdminDashboardPagePage.js +365 -360
  54. package/dist/technospam/pages/AdminAdminDashboardPagePage.js.map +1 -1
  55. package/dist/technospam/pages/ApplicationsProblemsPagePage.d.ts.map +1 -1
  56. package/dist/technospam/pages/ApplicationsProblemsPagePage.js +89 -87
  57. package/dist/technospam/pages/ApplicationsProblemsPagePage.js.map +1 -1
  58. package/dist/technospam/pages/CoursesAssessmentPagePage.d.ts +9 -0
  59. package/dist/technospam/pages/CoursesAssessmentPagePage.d.ts.map +1 -0
  60. package/dist/technospam/pages/CoursesAssessmentPagePage.js +464 -0
  61. package/dist/technospam/pages/CoursesAssessmentPagePage.js.map +1 -0
  62. package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts.map +1 -1
  63. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js +213 -211
  64. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js.map +1 -1
  65. package/dist/technospam/pages/CoursesCoursesPagePage.d.ts.map +1 -1
  66. package/dist/technospam/pages/CoursesCoursesPagePage.js +117 -81
  67. package/dist/technospam/pages/CoursesCoursesPagePage.js.map +1 -1
  68. package/dist/technospam/pages/CoursesMyLearningPagePage.js +1 -1
  69. package/dist/technospam/pages/CoursesMyLearningPagePage.js.map +1 -1
  70. package/dist/technospam/pages/DashboardDashboardPagePage.d.ts.map +1 -1
  71. package/dist/technospam/pages/DashboardDashboardPagePage.js +21 -17
  72. package/dist/technospam/pages/DashboardDashboardPagePage.js.map +1 -1
  73. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.js +3 -3
  74. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.js.map +1 -1
  75. package/dist/technospam/pages/MentorshipMentorProfilePagePage.js +4 -4
  76. package/dist/technospam/pages/MentorshipMentorProfilePagePage.js.map +1 -1
  77. package/dist/technospam/pages/MentorshipMentorsPagePage.d.ts.map +1 -1
  78. package/dist/technospam/pages/MentorshipMentorsPagePage.js +6 -4
  79. package/dist/technospam/pages/MentorshipMentorsPagePage.js.map +1 -1
  80. package/dist/technospam/pages/MentorshipSessionsPagePage.js +1 -1
  81. package/dist/technospam/pages/MentorshipSessionsPagePage.js.map +1 -1
  82. package/dist/technospam/types/index.d.ts +7 -0
  83. package/dist/technospam/types/index.d.ts.map +1 -1
  84. package/dist/technospam/utils/assessment.d.ts +64 -0
  85. package/dist/technospam/utils/assessment.d.ts.map +1 -0
  86. package/dist/technospam/utils/assessment.js +122 -0
  87. package/dist/technospam/utils/assessment.js.map +1 -0
  88. package/dist/technospam/utils/mobileTabs.d.ts +45 -0
  89. package/dist/technospam/utils/mobileTabs.d.ts.map +1 -0
  90. package/dist/technospam/utils/mobileTabs.js +70 -0
  91. package/dist/technospam/utils/mobileTabs.js.map +1 -0
  92. package/dist/test/matchMedia.d.ts +6 -0
  93. package/dist/test/matchMedia.d.ts.map +1 -0
  94. package/package.json +3 -3
@@ -1636,7 +1636,11 @@ export type AddProjectMemberInput = {
1636
1636
  export type AddReactionInput = {
1637
1637
  commentId: Scalars['ID']['input'];
1638
1638
  emoji: Scalars['String']['input'];
1639
- userId: Scalars['ID']['input'];
1639
+ /**
1640
+ * Deprecated and ignored. The reacting user is always the authenticated actor (x-actor-id); a client-supplied user id is never trusted.
1641
+ * @deprecated Ignored: the reaction always belongs to the authenticated actor.
1642
+ */
1643
+ userId?: InputMaybe<Scalars['ID']['input']>;
1640
1644
  };
1641
1645
  export type AddScorecardMetricInput = {
1642
1646
  /** Operation context for scoping */
@@ -9836,9 +9840,13 @@ export type BotmanorWorkspaceErasure = {
9836
9840
  export type BraAccount = {
9837
9841
  __typename?: 'BraAccount';
9838
9842
  accountMask?: Maybe<Scalars['String']['output']>;
9843
+ advisoryFeeBps?: Maybe<Scalars['Float']['output']>;
9839
9844
  cashBalance: Scalars['Float']['output'];
9840
9845
  createdAt: Scalars['DateTime']['output'];
9841
9846
  currency: Scalars['String']['output'];
9847
+ entityId?: Maybe<Scalars['ID']['output']>;
9848
+ feeAsOf?: Maybe<Scalars['DateTime']['output']>;
9849
+ feeSource?: Maybe<Scalars['String']['output']>;
9842
9850
  holdings: BraHoldingConnection;
9843
9851
  householdId?: Maybe<Scalars['ID']['output']>;
9844
9852
  id: Scalars['ID']['output'];
@@ -9863,6 +9871,16 @@ export type BraAccountConnection = {
9863
9871
  items: Array<BraAccount>;
9864
9872
  pageInfo: BraPageInfo;
9865
9873
  };
9874
+ /** User-entered rates and explicit hypothetical assumptions; not a future-performance prediction. */
9875
+ export type BraAccountFeeReport = {
9876
+ __typename?: 'BraAccountFeeReport';
9877
+ accountId: Scalars['ID']['output'];
9878
+ assumptions: BraFeeAssumptions;
9879
+ calculatedAt: Scalars['DateTime']['output'];
9880
+ currencies: Array<BraFeeCurrencyReport>;
9881
+ transactionPeriodEnd: Scalars['DateTime']['output'];
9882
+ transactionPeriodStart: Scalars['DateTime']['output'];
9883
+ };
9866
9884
  export declare enum BraAccountStatus {
9867
9885
  Active = "ACTIVE",
9868
9886
  Archived = "ARCHIVED",
@@ -10125,6 +10143,79 @@ export type BraCreateTransactionInput = {
10125
10143
  tradeDate: Scalars['DateTime']['input'];
10126
10144
  type: BraTransactionType;
10127
10145
  };
10146
+ export type BraCreateVaultInput = {
10147
+ entityId?: InputMaybe<Scalars['ID']['input']>;
10148
+ householdId?: InputMaybe<Scalars['ID']['input']>;
10149
+ name: Scalars['String']['input'];
10150
+ requestId: Scalars['String']['input'];
10151
+ };
10152
+ export type BraCrmLink = {
10153
+ __typename?: 'BraCrmLink';
10154
+ connectionId: Scalars['ID']['output'];
10155
+ createdAt: Scalars['DateTime']['output'];
10156
+ id: Scalars['ID']['output'];
10157
+ instanceOrigin?: Maybe<Scalars['String']['output']>;
10158
+ lastSyncedAt?: Maybe<Scalars['DateTime']['output']>;
10159
+ provider: BraCrmProvider;
10160
+ recordCount: Scalars['Int']['output'];
10161
+ updatedAt: Scalars['DateTime']['output'];
10162
+ };
10163
+ export type BraCrmLinkPage = {
10164
+ __typename?: 'BraCrmLinkPage';
10165
+ endCursor?: Maybe<Scalars['String']['output']>;
10166
+ hasNextPage: Scalars['Boolean']['output'];
10167
+ nodes: Array<BraCrmLink>;
10168
+ };
10169
+ export declare enum BraCrmProvider {
10170
+ Hubspot = "HUBSPOT",
10171
+ Redtail = "REDTAIL",
10172
+ Salesforce = "SALESFORCE"
10173
+ }
10174
+ /** Read-only CRM projection. CRM accounts do not grant financial household access. */
10175
+ export type BraCrmRecord = {
10176
+ __typename?: 'BraCrmRecord';
10177
+ email?: Maybe<Scalars['String']['output']>;
10178
+ externalId: Scalars['String']['output'];
10179
+ householdExternalId?: Maybe<Scalars['String']['output']>;
10180
+ householdExternalIds: Array<Scalars['String']['output']>;
10181
+ id: Scalars['ID']['output'];
10182
+ kind: BraCrmRecordKind;
10183
+ name: Scalars['String']['output'];
10184
+ occurredAt?: Maybe<Scalars['DateTime']['output']>;
10185
+ };
10186
+ export declare enum BraCrmRecordKind {
10187
+ Activity = "ACTIVITY",
10188
+ Contact = "CONTACT",
10189
+ Household = "HOUSEHOLD"
10190
+ }
10191
+ export type BraCrmRecordPage = {
10192
+ __typename?: 'BraCrmRecordPage';
10193
+ endCursor?: Maybe<Scalars['String']['output']>;
10194
+ hasNextPage: Scalars['Boolean']['output'];
10195
+ nodes: Array<BraCrmRecord>;
10196
+ };
10197
+ export type BraDocumentVault = {
10198
+ __typename?: 'BraDocumentVault';
10199
+ accessExpiresAt?: Maybe<Scalars['DateTime']['output']>;
10200
+ accessWindowSeconds?: Maybe<Scalars['Int']['output']>;
10201
+ checkInDueAt?: Maybe<Scalars['DateTime']['output']>;
10202
+ checkInSeconds?: Maybe<Scalars['Int']['output']>;
10203
+ consentVersion?: Maybe<Scalars['String']['output']>;
10204
+ consentedAt?: Maybe<Scalars['DateTime']['output']>;
10205
+ createdAt: Scalars['DateTime']['output'];
10206
+ entityId?: Maybe<Scalars['ID']['output']>;
10207
+ folderId?: Maybe<Scalars['ID']['output']>;
10208
+ graceSeconds?: Maybe<Scalars['Int']['output']>;
10209
+ graceUntil?: Maybe<Scalars['DateTime']['output']>;
10210
+ householdId?: Maybe<Scalars['ID']['output']>;
10211
+ id: Scalars['ID']['output'];
10212
+ lastCheckInAt?: Maybe<Scalars['DateTime']['output']>;
10213
+ name: Scalars['String']['output'];
10214
+ ownerId: Scalars['ID']['output'];
10215
+ phase: BraVaultPhase;
10216
+ releasedAt?: Maybe<Scalars['DateTime']['output']>;
10217
+ revision: Scalars['Int']['output'];
10218
+ };
10128
10219
  export type BraEnsureAdvisorInput = {
10129
10220
  displayName?: InputMaybe<Scalars['String']['input']>;
10130
10221
  email?: InputMaybe<Scalars['String']['input']>;
@@ -10132,6 +10223,73 @@ export type BraEnsureAdvisorInput = {
10132
10223
  /** Omit to act on the calling actor's own roster row. */
10133
10224
  userId?: InputMaybe<Scalars['ID']['input']>;
10134
10225
  };
10226
+ export type BraEntity = {
10227
+ __typename?: 'BraEntity';
10228
+ createdAt: Scalars['DateTime']['output'];
10229
+ id: Scalars['ID']['output'];
10230
+ name: Scalars['String']['output'];
10231
+ ownerId: Scalars['ID']['output'];
10232
+ ownershipPct: Scalars['Float']['output'];
10233
+ parentId?: Maybe<Scalars['ID']['output']>;
10234
+ type: BraEntityType;
10235
+ viewerIds: Array<Scalars['ID']['output']>;
10236
+ };
10237
+ export type BraEntityCurrencyTotal = {
10238
+ __typename?: 'BraEntityCurrencyTotal';
10239
+ amount: Scalars['String']['output'];
10240
+ currency: Scalars['String']['output'];
10241
+ };
10242
+ export type BraEntityInput = {
10243
+ name: Scalars['String']['input'];
10244
+ ownershipPct?: InputMaybe<Scalars['Float']['input']>;
10245
+ parentId?: InputMaybe<Scalars['ID']['input']>;
10246
+ type: BraEntityType;
10247
+ viewerIds?: InputMaybe<Array<Scalars['ID']['input']>>;
10248
+ };
10249
+ /** Only explicitly accessible entities are included. Currency totals are not converted. */
10250
+ export type BraEntitySummary = {
10251
+ __typename?: 'BraEntitySummary';
10252
+ accountCount: Scalars['Int']['output'];
10253
+ currencyTotals: Array<BraEntityCurrencyTotal>;
10254
+ entityCount: Scalars['Int']['output'];
10255
+ entityId: Scalars['ID']['output'];
10256
+ };
10257
+ export declare enum BraEntityType {
10258
+ FamilyOffice = "FAMILY_OFFICE",
10259
+ HoldingCompany = "HOLDING_COMPANY",
10260
+ Llc = "LLC",
10261
+ Trust = "TRUST"
10262
+ }
10263
+ export type BraFeeAssumptions = {
10264
+ __typename?: 'BraFeeAssumptions';
10265
+ benchmarkFeeBps: Scalars['Float']['output'];
10266
+ grossAnnualReturnPct: Scalars['Float']['output'];
10267
+ years: Scalars['Int']['output'];
10268
+ };
10269
+ export type BraFeeCurrencyReport = {
10270
+ __typename?: 'BraFeeCurrencyReport';
10271
+ annualAdvisoryFee?: Maybe<Scalars['String']['output']>;
10272
+ annualRecurringFee?: Maybe<Scalars['String']['output']>;
10273
+ currency: Scalars['String']['output'];
10274
+ currentValue: Scalars['String']['output'];
10275
+ effectiveFeeBps?: Maybe<Scalars['String']['output']>;
10276
+ expenseDataCoveragePct: Scalars['Float']['output'];
10277
+ knownAnnualExpenseFees: Scalars['String']['output'];
10278
+ missingExpenseRatioCount: Scalars['Int']['output'];
10279
+ projectedBenchmarkDifference?: Maybe<Scalars['String']['output']>;
10280
+ projectedBenchmarkValue?: Maybe<Scalars['String']['output']>;
10281
+ projectedFeeDrag?: Maybe<Scalars['String']['output']>;
10282
+ projectedGrossValue?: Maybe<Scalars['String']['output']>;
10283
+ projectedNetValue?: Maybe<Scalars['String']['output']>;
10284
+ transactionFees: Scalars['String']['output'];
10285
+ unsupportedPositionCount: Scalars['Int']['output'];
10286
+ };
10287
+ export type BraFeeMetadataInput = {
10288
+ asOf?: InputMaybe<Scalars['DateTime']['input']>;
10289
+ /** Null clears the rate to unknown; zero explicitly records no annual fee. */
10290
+ bps?: InputMaybe<Scalars['Float']['input']>;
10291
+ source?: InputMaybe<Scalars['String']['input']>;
10292
+ };
10135
10293
  export type BraFirmAdvisorBreakdown = {
10136
10294
  __typename?: 'BraFirmAdvisorBreakdown';
10137
10295
  advisorId: Scalars['ID']['output'];
@@ -10256,6 +10414,9 @@ export type BraHolding = {
10256
10414
  costBasis: Scalars['Float']['output'];
10257
10415
  createdAt: Scalars['DateTime']['output'];
10258
10416
  currency: Scalars['String']['output'];
10417
+ expenseRatioBps?: Maybe<Scalars['Float']['output']>;
10418
+ feeAsOf?: Maybe<Scalars['DateTime']['output']>;
10419
+ feeSource?: Maybe<Scalars['String']['output']>;
10259
10420
  id: Scalars['ID']['output'];
10260
10421
  lastPrice: Scalars['Float']['output'];
10261
10422
  /** Computed market value = quantity * lastPrice (server-side derived field). */
@@ -10448,6 +10609,11 @@ export type BraPageInfo = {
10448
10609
  cursor?: Maybe<Scalars['String']['output']>;
10449
10610
  hasMore: Scalars['Boolean']['output'];
10450
10611
  };
10612
+ export type BraPinVaultDocumentInput = {
10613
+ fileId: Scalars['ID']['input'];
10614
+ label: Scalars['String']['input'];
10615
+ versionId: Scalars['ID']['input'];
10616
+ };
10451
10617
  export type BraPlaidLinkToken = {
10452
10618
  __typename?: 'BraPlaidLinkToken';
10453
10619
  expiration: Scalars['DateTime']['output'];
@@ -10460,6 +10626,7 @@ export type BraPortfolio = {
10460
10626
  createdAt: Scalars['DateTime']['output'];
10461
10627
  description?: Maybe<Scalars['String']['output']>;
10462
10628
  driftThresholdPct: Scalars['Float']['output'];
10629
+ entityId?: Maybe<Scalars['ID']['output']>;
10463
10630
  holdings: BraHoldingConnection;
10464
10631
  householdId?: Maybe<Scalars['ID']['output']>;
10465
10632
  id: Scalars['ID']['output'];
@@ -10495,9 +10662,20 @@ export declare enum BraPortfolioStatus {
10495
10662
  Archived = "ARCHIVED",
10496
10663
  Draft = "DRAFT"
10497
10664
  }
10665
+ /** Lifecycle event recorded in a rebalance proposal's audit trail. */
10666
+ export declare enum BraRebalanceAuditEvent {
10667
+ Approved = "APPROVED",
10668
+ Cancelled = "CANCELLED",
10669
+ Created = "CREATED",
10670
+ Executed = "EXECUTED",
10671
+ Proposed = "PROPOSED",
10672
+ Rejected = "REJECTED"
10673
+ }
10498
10674
  export type BraRebalanceProposal = {
10499
10675
  __typename?: 'BraRebalanceProposal';
10500
10676
  approvedById?: Maybe<Scalars['ID']['output']>;
10677
+ /** Lifecycle audit trail, oldest first. */
10678
+ auditTrail: Array<BraRebalanceProposalAuditEntry>;
10501
10679
  createdAt: Scalars['DateTime']['output'];
10502
10680
  driftPct: Scalars['Float']['output'];
10503
10681
  executedAt?: Maybe<Scalars['DateTime']['output']>;
@@ -10511,6 +10689,23 @@ export type BraRebalanceProposal = {
10511
10689
  updatedAt: Scalars['DateTime']['output'];
10512
10690
  workspaceId: Scalars['ID']['output'];
10513
10691
  };
10692
+ /** One entry in a rebalance proposal's append-only audit trail: who changed the proposal, when, and from which status to which. */
10693
+ export type BraRebalanceProposalAuditEntry = {
10694
+ __typename?: 'BraRebalanceProposalAuditEntry';
10695
+ /** Actor (user id) who performed the change. */
10696
+ actorId: Scalars['ID']['output'];
10697
+ /** True when the entry was reconstructed from the proposal record for a proposal created before the audit trail existed. */
10698
+ backfilled: Scalars['Boolean']['output'];
10699
+ event: BraRebalanceAuditEvent;
10700
+ /** Status before the change; null for the CREATED event. */
10701
+ fromStatus?: Maybe<BraRebalanceStatus>;
10702
+ id: Scalars['ID']['output'];
10703
+ note?: Maybe<Scalars['String']['output']>;
10704
+ occurredAt: Scalars['DateTime']['output'];
10705
+ proposalId: Scalars['ID']['output'];
10706
+ toStatus: BraRebalanceStatus;
10707
+ workspaceId: Scalars['ID']['output'];
10708
+ };
10514
10709
  export type BraRebalanceProposalConnection = {
10515
10710
  __typename?: 'BraRebalanceProposalConnection';
10516
10711
  items: Array<BraRebalanceProposal>;
@@ -10531,7 +10726,7 @@ export declare enum BraRecurringCategory {
10531
10726
  Uncategorized = "UNCATEGORIZED"
10532
10727
  }
10533
10728
  export type BraRecurringDetectionInput = {
10534
- /** Look-back window in days. Defaults to the service's 180-day default when omitted. */
10729
+ /** Whole-number look-back from 1 to 1095 days; defaults to 180. Analyses over 10,000 transactions fail explicitly; shorten the window. */
10535
10730
  windowDays?: InputMaybe<Scalars['Int']['input']>;
10536
10731
  };
10537
10732
  export declare enum BraRecurringFrequency {
@@ -10813,6 +11008,77 @@ export type BraUpsertAdvisorBrandingInput = {
10813
11008
  primaryColor?: InputMaybe<Scalars['String']['input']>;
10814
11009
  secondaryColor?: InputMaybe<Scalars['String']['input']>;
10815
11010
  };
11011
+ export type BraVaultBeneficiary = {
11012
+ __typename?: 'BraVaultBeneficiary';
11013
+ acceptanceVersion?: Maybe<Scalars['String']['output']>;
11014
+ acceptedAt?: Maybe<Scalars['DateTime']['output']>;
11015
+ createdAt: Scalars['DateTime']['output'];
11016
+ id: Scalars['ID']['output'];
11017
+ recipientId: Scalars['ID']['output'];
11018
+ };
11019
+ export type BraVaultDetail = {
11020
+ __typename?: 'BraVaultDetail';
11021
+ beneficiaries: Array<BraVaultBeneficiary>;
11022
+ documents: Array<BraVaultDocument>;
11023
+ recentEvents: Array<BraVaultEvent>;
11024
+ vault: BraDocumentVault;
11025
+ };
11026
+ export type BraVaultDocument = {
11027
+ __typename?: 'BraVaultDocument';
11028
+ createdAt: Scalars['DateTime']['output'];
11029
+ fileId: Scalars['ID']['output'];
11030
+ id: Scalars['ID']['output'];
11031
+ label: Scalars['String']['output'];
11032
+ versionId: Scalars['ID']['output'];
11033
+ };
11034
+ /** Service-only decision. Files must recheck its metadata and acknowledge before returning a URL. */
11035
+ export type BraVaultDownloadDecision = {
11036
+ __typename?: 'BraVaultDownloadDecision';
11037
+ accessExpiresAt?: Maybe<Scalars['DateTime']['output']>;
11038
+ fileId: Scalars['ID']['output'];
11039
+ folderId: Scalars['ID']['output'];
11040
+ leaseId: Scalars['ID']['output'];
11041
+ ownerId: Scalars['ID']['output'];
11042
+ versionId: Scalars['ID']['output'];
11043
+ };
11044
+ export type BraVaultEvent = {
11045
+ __typename?: 'BraVaultEvent';
11046
+ actorId?: Maybe<Scalars['ID']['output']>;
11047
+ actorKind: Scalars['String']['output'];
11048
+ beneficiaryId?: Maybe<Scalars['ID']['output']>;
11049
+ createdAt: Scalars['DateTime']['output'];
11050
+ documentId?: Maybe<Scalars['ID']['output']>;
11051
+ id: Scalars['ID']['output'];
11052
+ kind: Scalars['String']['output'];
11053
+ revision: Scalars['Int']['output'];
11054
+ };
11055
+ export type BraVaultGrantedDocument = {
11056
+ __typename?: 'BraVaultGrantedDocument';
11057
+ id: Scalars['ID']['output'];
11058
+ label: Scalars['String']['output'];
11059
+ };
11060
+ export type BraVaultInvitation = {
11061
+ __typename?: 'BraVaultInvitation';
11062
+ acceptedAt?: Maybe<Scalars['DateTime']['output']>;
11063
+ id: Scalars['ID']['output'];
11064
+ name: Scalars['String']['output'];
11065
+ ownerId: Scalars['ID']['output'];
11066
+ phase: BraVaultPhase;
11067
+ vaultId: Scalars['ID']['output'];
11068
+ };
11069
+ /** Inactivity authorizes access only; it is not proof of death or legal authority. */
11070
+ export declare enum BraVaultPhase {
11071
+ Armed = "ARMED",
11072
+ Draft = "DRAFT",
11073
+ Expired = "EXPIRED",
11074
+ Grace = "GRACE",
11075
+ Released = "RELEASED"
11076
+ }
11077
+ export type BraVaultTimingInput = {
11078
+ accessWindowSeconds: Scalars['Int']['input'];
11079
+ checkInSeconds: Scalars['Int']['input'];
11080
+ graceSeconds: Scalars['Int']['input'];
11081
+ };
10816
11082
  export type BreedingRecord = {
10817
11083
  __typename?: 'BreedingRecord';
10818
11084
  /** The OBSERVED delivery date (BOFF-6034). Null until the birth is actually recorded. A DELIVERED record with no deliveredOn predates this field — `updatedAt` is not a substitute, being the last edit of any field. Calving interval, days-open and gestation length all depend on this. */
@@ -13836,7 +14102,11 @@ export type ChatWithAgentInput = {
13836
14102
  message: Scalars['String']['input'];
13837
14103
  };
13838
14104
  export type CheckInAssetByTagInput = {
14105
+ /** Client-generated idempotency key (BOFF-3952). The field app's offline queue sends one per queued scan; replaying the same key returns the original custody record instead of applying the action twice. Max 128 characters. */
14106
+ clientMutationId?: InputMaybe<Scalars['String']['input']>;
13839
14107
  notes?: InputMaybe<Scalars['String']['input']>;
14108
+ /** When the scan physically happened on the device. Set by the offline queue so a scan captured without network keeps its real field time. Must not be in the future. Defaults to the server time of the request. */
14109
+ scannedAt?: InputMaybe<Scalars['DateTime']['input']>;
13840
14110
  tagId: Scalars['String']['input'];
13841
14111
  };
13842
14112
  export type CheckInAssetInput = {
@@ -13852,8 +14122,12 @@ export declare enum CheckInStatus {
13852
14122
  export type CheckOutAssetByTagInput = {
13853
14123
  /** Free-text person identifier / email of the person receiving the asset. */
13854
14124
  assignedTo: Scalars['String']['input'];
14125
+ /** Client-generated idempotency key (BOFF-3952). The field app's offline queue sends one per queued scan; replaying the same key returns the original custody record instead of applying the action twice. Max 128 characters. */
14126
+ clientMutationId?: InputMaybe<Scalars['String']['input']>;
13855
14127
  dueAt?: InputMaybe<Scalars['DateTime']['input']>;
13856
14128
  notes?: InputMaybe<Scalars['String']['input']>;
14129
+ /** When the scan physically happened on the device. Set by the offline queue so a scan captured without network keeps its real field time. Must not be in the future. Defaults to the server time of the request. */
14130
+ scannedAt?: InputMaybe<Scalars['DateTime']['input']>;
13857
14131
  tagId: Scalars['String']['input'];
13858
14132
  };
13859
14133
  export type CheckOutAssetInput = {
@@ -16971,6 +17245,83 @@ export declare enum ConnectionVisibility {
16971
17245
  /** Everyone in the workspace whose role allows it: how every connection behaved before sharing */
16972
17246
  Workspace = "WORKSPACE"
16973
17247
  }
17248
+ /** Where an API key connector sends the key. */
17249
+ export declare enum ConnectorApiKeyPlacement {
17250
+ /** In a request header named by `apiKeyName`. */
17251
+ Header = "HEADER",
17252
+ /** In a query parameter named by `apiKeyName`. */
17253
+ Query = "QUERY"
17254
+ }
17255
+ /** A third-party connector submitted for the integrations catalog. */
17256
+ export type ConnectorSubmission = {
17257
+ __typename?: 'ConnectorSubmission';
17258
+ apiKeyName?: Maybe<Scalars['String']['output']>;
17259
+ apiKeyPlacement?: Maybe<ConnectorApiKeyPlacement>;
17260
+ apiKeyPrefix?: Maybe<Scalars['String']['output']>;
17261
+ apiVersion?: Maybe<Scalars['String']['output']>;
17262
+ /** API_KEY, BEARER_TOKEN or BASIC_AUTH. */
17263
+ authType: AuthType;
17264
+ baseUrl: Scalars['String']['output'];
17265
+ category: ProviderCategory;
17266
+ color?: Maybe<Scalars['String']['output']>;
17267
+ createdAt: Scalars['DateTime']['output'];
17268
+ description: Scalars['String']['output'];
17269
+ docsUrl: Scalars['String']['output'];
17270
+ icon?: Maybe<Scalars['String']['output']>;
17271
+ id: Scalars['ID']['output'];
17272
+ /** True while the submission waits for review past `reviewDueAt`. */
17273
+ isReviewOverdue: Scalars['Boolean']['output'];
17274
+ /** Requested catalog key; becomes the provider key on approval. */
17275
+ key: Scalars['String']['output'];
17276
+ name: Scalars['String']['output'];
17277
+ privacyPolicyUrl: Scalars['String']['output'];
17278
+ /** The catalog provider created on approval. */
17279
+ providerId?: Maybe<Scalars['ID']['output']>;
17280
+ publisherName: Scalars['String']['output'];
17281
+ repositoryUrl?: Maybe<Scalars['String']['output']>;
17282
+ /** Review service level: when a reviewer is due to have decided (5 business days). */
17283
+ reviewDueAt: Scalars['DateTime']['output'];
17284
+ reviewNotes?: Maybe<Scalars['String']['output']>;
17285
+ reviewedAt?: Maybe<Scalars['DateTime']['output']>;
17286
+ status: ConnectorSubmissionStatus;
17287
+ submittedAt: Scalars['DateTime']['output'];
17288
+ /** Actor id of the developer who submitted it. */
17289
+ submittedBy: Scalars['ID']['output'];
17290
+ submitterNotes?: Maybe<Scalars['String']['output']>;
17291
+ supportEmail: Scalars['String']['output'];
17292
+ supportedFeatures: Array<Scalars['String']['output']>;
17293
+ termsUrl?: Maybe<Scalars['String']['output']>;
17294
+ updatedAt: Scalars['DateTime']['output'];
17295
+ version: Scalars['String']['output'];
17296
+ website: Scalars['String']['output'];
17297
+ };
17298
+ export type ConnectorSubmissionFilterInput = {
17299
+ status?: InputMaybe<ConnectorSubmissionStatus>;
17300
+ };
17301
+ export type ConnectorSubmissionList = {
17302
+ __typename?: 'ConnectorSubmissionList';
17303
+ hasMore: Scalars['Boolean']['output'];
17304
+ items: Array<ConnectorSubmission>;
17305
+ total: Scalars['Int']['output'];
17306
+ };
17307
+ /** Review queue counters for platform reviewers. */
17308
+ export type ConnectorSubmissionReviewStats = {
17309
+ __typename?: 'ConnectorSubmissionReviewStats';
17310
+ /** Pending submissions past their review due time. */
17311
+ overdue: Scalars['Int']['output'];
17312
+ pending: Scalars['Int']['output'];
17313
+ };
17314
+ /** Where a connector submission is in review. */
17315
+ export declare enum ConnectorSubmissionStatus {
17316
+ /** Approved and installed in the catalog. */
17317
+ Approved = "APPROVED",
17318
+ /** Waiting for a platform reviewer. */
17319
+ PendingReview = "PENDING_REVIEW",
17320
+ /** Rejected; `reviewNotes` says why. */
17321
+ Rejected = "REJECTED",
17322
+ /** Withdrawn by the developer before a decision. */
17323
+ Withdrawn = "WITHDRAWN"
17324
+ }
16974
17325
  /** A bookable appointment window (BOFF-6030). */
16975
17326
  export type ConsultSlot = {
16976
17327
  __typename?: 'ConsultSlot';
@@ -17516,6 +17867,13 @@ export type CooApproveReturnRequestInput = {
17516
17867
  note?: InputMaybe<Scalars['String']['input']>;
17517
17868
  orderId: Scalars['ID']['input'];
17518
17869
  };
17870
+ export type CooBestPriceSummary = {
17871
+ __typename?: 'CooBestPriceSummary';
17872
+ currency: Scalars['String']['output'];
17873
+ lowestPriceMinor?: Maybe<Scalars['Int']['output']>;
17874
+ offerCount: Scalars['Int']['output'];
17875
+ styleItemId: Scalars['ID']['output'];
17876
+ };
17519
17877
  export type CooBrand = {
17520
17878
  __typename?: 'CooBrand';
17521
17879
  aesthetics: Array<Scalars['String']['output']>;
@@ -17702,6 +18060,11 @@ export type CooCollaboration = {
17702
18060
  /** The compensation this collaboration owes its creator, once it is published. Null when nothing is owed: no compensation was agreed, the creator is the brand owner, or the collaboration was published before on-platform payouts. */
17703
18061
  payout?: Maybe<CooCollaborationPayout>;
17704
18062
  publishedAt?: Maybe<Scalars['DateTime']['output']>;
18063
+ quotedDeliverables: Array<Scalars['String']['output']>;
18064
+ quotedDeliveryDays?: Maybe<Scalars['Int']['output']>;
18065
+ rateCardId?: Maybe<Scalars['ID']['output']>;
18066
+ rateCardRevision?: Maybe<Scalars['Int']['output']>;
18067
+ rateCardTitle?: Maybe<Scalars['String']['output']>;
17705
18068
  role: CooCollaboratorRole;
17706
18069
  startDate?: Maybe<Scalars['DateTime']['output']>;
17707
18070
  status: CooCollaborationStatus;
@@ -17858,6 +18221,20 @@ export declare enum CooCommissionReversalStatus {
17858
18221
  /** Reversed: the creator will not be paid this commission. */
17859
18222
  Reversed = "REVERSED"
17860
18223
  }
18224
+ export type CooComparedRetailerOffer = {
18225
+ __typename?: 'CooComparedRetailerOffer';
18226
+ currency: Scalars['String']['output'];
18227
+ gtin?: Maybe<Scalars['String']['output']>;
18228
+ id: Scalars['ID']['output'];
18229
+ inStock: Scalars['Boolean']['output'];
18230
+ name: Scalars['String']['output'];
18231
+ observedAt: Scalars['DateTime']['output'];
18232
+ priceMinor: Scalars['Int']['output'];
18233
+ productUrl: Scalars['String']['output'];
18234
+ retailerId: Scalars['ID']['output'];
18235
+ retailerName: Scalars['String']['output'];
18236
+ retailerSku: Scalars['String']['output'];
18237
+ };
17861
18238
  export type CooCreateBrandInput = {
17862
18239
  aesthetics?: InputMaybe<Array<Scalars['String']['input']>>;
17863
18240
  bio?: InputMaybe<Scalars['String']['input']>;
@@ -17909,6 +18286,11 @@ export type CooCreateLookbookInput = {
17909
18286
  tags?: InputMaybe<Array<Scalars['String']['input']>>;
17910
18287
  visibility?: InputMaybe<CooVisibility>;
17911
18288
  };
18289
+ export type CooCreatePriceAlertInput = {
18290
+ currency: Scalars['String']['input'];
18291
+ styleItemId: Scalars['ID']['input'];
18292
+ targetPriceMinor?: InputMaybe<Scalars['Int']['input']>;
18293
+ };
17912
18294
  export type CooCreateStyleItemInput = {
17913
18295
  brandId: Scalars['ID']['input'];
17914
18296
  category?: InputMaybe<CooStyleCategory>;
@@ -17938,6 +18320,28 @@ export type CooCreateWardrobeItemInput = {
17938
18320
  styleItemId?: InputMaybe<Scalars['ID']['input']>;
17939
18321
  tags?: InputMaybe<Array<Scalars['String']['input']>>;
17940
18322
  };
18323
+ /** The calling creator's dashboard in the selected workspace. Look engagement and follower counts are current totals. Sales and recorded follower changes cover the last 30 days. No buyer identity, other creator identity, payment credential or payout action is exposed. */
18324
+ export type CooCreatorAnalytics = {
18325
+ __typename?: 'CooCreatorAnalytics';
18326
+ asOf: Scalars['DateTime']['output'];
18327
+ /** Attributed order lines paid within the period, excluding every pending or completed commission reversal. This counts lines rather than item quantities. Collaboration fees are excluded. */
18328
+ attributedSaleLines: Scalars['Int']['output'];
18329
+ attributedSalesAmount: Scalars['Float']['output'];
18330
+ /** Accrued look commissions in the selected currency, not a withdrawable balance. Billing synchronization and the return-window hold still govern payout availability. */
18331
+ commissionAmount: Scalars['Float']['output'];
18332
+ currency: Scalars['String']['output'];
18333
+ followerCount: Scalars['Int']['output'];
18334
+ /** First recorded follower change, or null when no change has been recorded yet. This is not a complete historical backfill or a promise of full 30-day coverage. */
18335
+ followerHistoryStartedAt?: Maybe<Scalars['DateTime']['output']>;
18336
+ /** Changes recorded from real edge inserts/deletes. Repeated follows/unfollows do not inflate these counts. Earlier changes before recording began are unavailable. */
18337
+ followersGained: Scalars['Int']['output'];
18338
+ followersLost: Scalars['Int']['output'];
18339
+ likeCount: Scalars['Int']['output'];
18340
+ lookCount: Scalars['Int']['output'];
18341
+ netFollowerChange: Scalars['Int']['output'];
18342
+ periodStart: Scalars['DateTime']['output'];
18343
+ saveCount: Scalars['Int']['output'];
18344
+ };
17941
18345
  export type CooCreatorEarning = {
17942
18346
  __typename?: 'CooCreatorEarning';
17943
18347
  amount: Scalars['Float']['output'];
@@ -18004,6 +18408,42 @@ export type CooCreatorPayout = {
18004
18408
  requestedAmount: Scalars['Float']['output'];
18005
18409
  status: Scalars['String']['output'];
18006
18410
  };
18411
+ export type CooCreatorRateCard = {
18412
+ __typename?: 'CooCreatorRateCard';
18413
+ compensation: Scalars['Float']['output'];
18414
+ createdAt: Scalars['DateTime']['output'];
18415
+ creatorId: Scalars['ID']['output'];
18416
+ currency: Scalars['String']['output'];
18417
+ deliverables: Array<Scalars['String']['output']>;
18418
+ deliveryDays: Scalars['Int']['output'];
18419
+ id: Scalars['ID']['output'];
18420
+ isPublished: Scalars['Boolean']['output'];
18421
+ revision: Scalars['Int']['output'];
18422
+ role: CooCreatorServiceRole;
18423
+ summary?: Maybe<Scalars['String']['output']>;
18424
+ title: Scalars['String']['output'];
18425
+ updatedAt: Scalars['DateTime']['output'];
18426
+ workspaceId: Scalars['ID']['output'];
18427
+ };
18428
+ export type CooCreatorRateCardConnection = {
18429
+ __typename?: 'CooCreatorRateCardConnection';
18430
+ items: Array<CooCreatorRateCard>;
18431
+ pageInfo: CooPageInfo;
18432
+ };
18433
+ export type CooCreatorRateCardInput = {
18434
+ compensation: Scalars['Float']['input'];
18435
+ currency: Scalars['String']['input'];
18436
+ deliverables: Array<Scalars['String']['input']>;
18437
+ deliveryDays: Scalars['Int']['input'];
18438
+ role: CooCreatorServiceRole;
18439
+ summary?: InputMaybe<Scalars['String']['input']>;
18440
+ title: Scalars['String']['input'];
18441
+ };
18442
+ export declare enum CooCreatorServiceRole {
18443
+ Creator = "CREATOR",
18444
+ Photographer = "PHOTOGRAPHER",
18445
+ Stylist = "STYLIST"
18446
+ }
18007
18447
  export type CooCurationItem = {
18008
18448
  __typename?: 'CooCurationItem';
18009
18449
  blockers: Array<CooPublishBlocker>;
@@ -18050,6 +18490,73 @@ export declare enum CooEarningSyncStatus {
18050
18490
  Pending = "PENDING",
18051
18491
  Synced = "SYNCED"
18052
18492
  }
18493
+ export type CooEditorialArticle = {
18494
+ __typename?: 'CooEditorialArticle';
18495
+ authorName: Scalars['String']['output'];
18496
+ body: Scalars['String']['output'];
18497
+ brandIds: Array<Scalars['ID']['output']>;
18498
+ collectionIds: Array<Scalars['ID']['output']>;
18499
+ createdAt: Scalars['DateTime']['output'];
18500
+ features: Array<CooEditorialRelatedContent>;
18501
+ id: Scalars['ID']['output'];
18502
+ lookIds: Array<Scalars['ID']['output']>;
18503
+ publishedAt?: Maybe<Scalars['DateTime']['output']>;
18504
+ slug: Scalars['String']['output'];
18505
+ status: CooEditorialStatus;
18506
+ styleItemIds: Array<Scalars['ID']['output']>;
18507
+ summary: Scalars['String']['output'];
18508
+ tags: Array<Scalars['String']['output']>;
18509
+ title: Scalars['String']['output'];
18510
+ updatedAt: Scalars['DateTime']['output'];
18511
+ workspaceId: Scalars['ID']['output'];
18512
+ };
18513
+ export type CooEditorialArticleConnection = {
18514
+ __typename?: 'CooEditorialArticleConnection';
18515
+ items: Array<CooEditorialArticle>;
18516
+ pageInfo: CooPageInfo;
18517
+ };
18518
+ export type CooEditorialArticleInput = {
18519
+ authorName: Scalars['String']['input'];
18520
+ /** Plain text; rendered without HTML interpretation. */
18521
+ body: Scalars['String']['input'];
18522
+ brandIds?: InputMaybe<Array<Scalars['ID']['input']>>;
18523
+ collectionIds?: InputMaybe<Array<Scalars['ID']['input']>>;
18524
+ lookIds?: InputMaybe<Array<Scalars['ID']['input']>>;
18525
+ slug: Scalars['String']['input'];
18526
+ styleItemIds?: InputMaybe<Array<Scalars['ID']['input']>>;
18527
+ summary: Scalars['String']['input'];
18528
+ tags?: InputMaybe<Array<Scalars['String']['input']>>;
18529
+ title: Scalars['String']['input'];
18530
+ };
18531
+ export type CooEditorialFeatureConnection = {
18532
+ __typename?: 'CooEditorialFeatureConnection';
18533
+ items: Array<CooEditorialFeatureOption>;
18534
+ pageInfo: CooPageInfo;
18535
+ };
18536
+ export declare enum CooEditorialFeatureKind {
18537
+ Brand = "BRAND",
18538
+ Collection = "COLLECTION",
18539
+ Look = "LOOK",
18540
+ StyleItem = "STYLE_ITEM"
18541
+ }
18542
+ export type CooEditorialFeatureOption = {
18543
+ __typename?: 'CooEditorialFeatureOption';
18544
+ id: Scalars['ID']['output'];
18545
+ name: Scalars['String']['output'];
18546
+ };
18547
+ /** Article-selected public excerpts; ownership and publication are rechecked at read time. */
18548
+ export type CooEditorialRelatedContent = {
18549
+ __typename?: 'CooEditorialRelatedContent';
18550
+ id: Scalars['ID']['output'];
18551
+ kind: CooEditorialFeatureKind;
18552
+ name: Scalars['String']['output'];
18553
+ summary: Scalars['String']['output'];
18554
+ };
18555
+ export declare enum CooEditorialStatus {
18556
+ Archived = "ARCHIVED",
18557
+ Draft = "DRAFT",
18558
+ Published = "PUBLISHED"
18559
+ }
18053
18560
  export type CooExternalBrandPreview = {
18054
18561
  __typename?: 'CooExternalBrandPreview';
18055
18562
  bio?: Maybe<Scalars['String']['output']>;
@@ -18124,6 +18631,13 @@ export declare enum CooFulfilmentStatus {
18124
18631
  /** Paid, and the brand has not yet confirmed its part of the order. */
18125
18632
  Unfulfilled = "UNFULFILLED"
18126
18633
  }
18634
+ export type CooGenerateTrendReportInput = {
18635
+ /** Explicitly include the author's own cumulative wardrobe wear counts; publication shares these names/counts. */
18636
+ includeWearCounts?: InputMaybe<Scalars['Boolean']['input']>;
18637
+ periodEnd: Scalars['DateTime']['input'];
18638
+ periodStart: Scalars['DateTime']['input'];
18639
+ title: Scalars['String']['input'];
18640
+ };
18127
18641
  export type CooLegalAcceptance = {
18128
18642
  __typename?: 'CooLegalAcceptance';
18129
18643
  acceptedAt: Scalars['DateTime']['output'];
@@ -18261,6 +18775,18 @@ export type CooLookbookEntryConnection = {
18261
18775
  items: Array<CooLookbookEntry>;
18262
18776
  pageInfo: CooPageInfo;
18263
18777
  };
18778
+ export type CooMappedRetailerOffer = {
18779
+ __typename?: 'CooMappedRetailerOffer';
18780
+ id: Scalars['ID']['output'];
18781
+ styleItemId?: Maybe<Scalars['ID']['output']>;
18782
+ };
18783
+ /** UTC observation-day minimum among approved sources. Missing days contain no evidence. */
18784
+ export type CooObservedPriceDay = {
18785
+ __typename?: 'CooObservedPriceDay';
18786
+ day: Scalars['String']['output'];
18787
+ lowestPriceMinor: Scalars['Int']['output'];
18788
+ observations: Scalars['Int']['output'];
18789
+ };
18264
18790
  export type CooOrder = {
18265
18791
  __typename?: 'CooOrder';
18266
18792
  buyerNote?: Maybe<Scalars['String']['output']>;
@@ -18446,6 +18972,50 @@ export type CooPageInfo = {
18446
18972
  cursor?: Maybe<Scalars['String']['output']>;
18447
18973
  hasMore: Scalars['Boolean']['output'];
18448
18974
  };
18975
+ export type CooPriceAlert = {
18976
+ __typename?: 'CooPriceAlert';
18977
+ createdAt: Scalars['DateTime']['output'];
18978
+ currency: Scalars['String']['output'];
18979
+ enabled: Scalars['Boolean']['output'];
18980
+ id: Scalars['ID']['output'];
18981
+ kind: CooPriceAlertKind;
18982
+ lastEvaluatedAt?: Maybe<Scalars['DateTime']['output']>;
18983
+ styleItemId: Scalars['ID']['output'];
18984
+ targetPriceMinor?: Maybe<Scalars['Int']['output']>;
18985
+ };
18986
+ export type CooPriceAlertConnection = {
18987
+ __typename?: 'CooPriceAlertConnection';
18988
+ items: Array<CooPriceAlert>;
18989
+ pageInfo: CooPageInfo;
18990
+ };
18991
+ export type CooPriceAlertDelivery = {
18992
+ __typename?: 'CooPriceAlertDelivery';
18993
+ createdAt: Scalars['DateTime']['output'];
18994
+ deliveredAt?: Maybe<Scalars['DateTime']['output']>;
18995
+ id: Scalars['ID']['output'];
18996
+ lastErrorCode?: Maybe<Scalars['String']['output']>;
18997
+ notificationId?: Maybe<Scalars['ID']['output']>;
18998
+ status: Scalars['String']['output'];
18999
+ };
19000
+ export type CooPriceAlertDeliveryConnection = {
19001
+ __typename?: 'CooPriceAlertDeliveryConnection';
19002
+ items: Array<CooPriceAlertDelivery>;
19003
+ pageInfo: CooPageInfo;
19004
+ };
19005
+ export type CooPriceAlertInput = {
19006
+ currency: Scalars['String']['input'];
19007
+ kind: CooPriceAlertKind;
19008
+ styleItemId: Scalars['ID']['input'];
19009
+ targetPriceMinor?: InputMaybe<Scalars['Int']['input']>;
19010
+ };
19011
+ export declare enum CooPriceAlertKind {
19012
+ BackInStock = "BACK_IN_STOCK",
19013
+ PriceDrop = "PRICE_DROP"
19014
+ }
19015
+ export declare enum CooProposalDirection {
19016
+ Received = "RECEIVED",
19017
+ Sent = "SENT"
19018
+ }
18449
19019
  export type CooPublishBlocker = {
18450
19020
  __typename?: 'CooPublishBlocker';
18451
19021
  code: CooPublishBlockerCode;
@@ -18460,6 +19030,13 @@ export declare enum CooPublishBlockerCode {
18460
19030
  PriceOutlier = "PRICE_OUTLIER",
18461
19031
  ZeroPrice = "ZERO_PRICE"
18462
19032
  }
19033
+ export type CooRateCardProposalInput = {
19034
+ brandId: Scalars['ID']['input'];
19035
+ brief?: InputMaybe<Scalars['String']['input']>;
19036
+ rateCardId: Scalars['ID']['input'];
19037
+ rateCardRevision: Scalars['Int']['input'];
19038
+ title: Scalars['String']['input'];
19039
+ };
18463
19040
  export type CooRecordLegalAcceptanceInput = {
18464
19041
  checkpointType: CooLegalCheckpointType;
18465
19042
  documentVersion: Scalars['String']['input'];
@@ -18505,6 +19082,49 @@ export declare enum CooRestockStatus {
18505
19082
  /** Asked for, but nothing could go back: none of the refunded pieces took stock when they were bought, or their size/colour variants no longer exist. */
18506
19083
  Skipped = "SKIPPED"
18507
19084
  }
19085
+ export type CooRetailerFeed = {
19086
+ __typename?: 'CooRetailerFeed';
19087
+ createdAt: Scalars['DateTime']['output'];
19088
+ enabled: Scalars['Boolean']['output'];
19089
+ feedUrl?: Maybe<Scalars['String']['output']>;
19090
+ homepageUrl: Scalars['String']['output'];
19091
+ id: Scalars['ID']['output'];
19092
+ kind: CooRetailerFeedKind;
19093
+ lastErrorCode?: Maybe<Scalars['String']['output']>;
19094
+ lastFetchedAt?: Maybe<Scalars['DateTime']['output']>;
19095
+ maxAgeHours: Scalars['Int']['output'];
19096
+ name: Scalars['String']['output'];
19097
+ reviewNotes?: Maybe<Scalars['String']['output']>;
19098
+ reviewStatus: Scalars['String']['output'];
19099
+ };
19100
+ export type CooRetailerFeedConnection = {
19101
+ __typename?: 'CooRetailerFeedConnection';
19102
+ items: Array<CooRetailerFeed>;
19103
+ pageInfo: CooPageInfo;
19104
+ };
19105
+ export type CooRetailerFeedInput = {
19106
+ feedUrl?: InputMaybe<Scalars['String']['input']>;
19107
+ homepageUrl: Scalars['String']['input'];
19108
+ kind?: InputMaybe<CooRetailerFeedKind>;
19109
+ maxAgeHours?: InputMaybe<Scalars['Int']['input']>;
19110
+ name: Scalars['String']['input'];
19111
+ };
19112
+ /** Owner-visible source configuration; public offers never expose source URLs or review metadata. */
19113
+ export declare enum CooRetailerFeedKind {
19114
+ HttpsJson = "HTTPS_JSON",
19115
+ ManualJson = "MANUAL_JSON"
19116
+ }
19117
+ export type CooRetailerRefresh = {
19118
+ __typename?: 'CooRetailerRefresh';
19119
+ fetchedAt: Scalars['DateTime']['output'];
19120
+ imported: Scalars['Int']['output'];
19121
+ };
19122
+ export type CooRetailerSearchInput = {
19123
+ currency: Scalars['String']['input'];
19124
+ gtin?: InputMaybe<Scalars['String']['input']>;
19125
+ retailerId?: InputMaybe<Scalars['ID']['input']>;
19126
+ retailerSku?: InputMaybe<Scalars['String']['input']>;
19127
+ };
18508
19128
  /** A shopper's request to return one brand's pieces of an order. */
18509
19129
  export type CooReturnRequest = {
18510
19130
  __typename?: 'CooReturnRequest';
@@ -18737,6 +19357,23 @@ export type CooSuggestOutfitInput = {
18737
19357
  occasion: CooLookOccasion;
18738
19358
  weatherHint?: InputMaybe<CooWeatherHint>;
18739
19359
  };
19360
+ export type CooTrendReport = {
19361
+ __typename?: 'CooTrendReport';
19362
+ createdAt: Scalars['DateTime']['output'];
19363
+ id: Scalars['ID']['output'];
19364
+ methodology: Scalars['String']['output'];
19365
+ metrics: Scalars['JSON']['output'];
19366
+ periodEnd: Scalars['DateTime']['output'];
19367
+ periodStart: Scalars['DateTime']['output'];
19368
+ publishedAt?: Maybe<Scalars['DateTime']['output']>;
19369
+ title: Scalars['String']['output'];
19370
+ workspaceId: Scalars['ID']['output'];
19371
+ };
19372
+ export type CooTrendReportConnection = {
19373
+ __typename?: 'CooTrendReportConnection';
19374
+ items: Array<CooTrendReport>;
19375
+ pageInfo: CooPageInfo;
19376
+ };
18740
19377
  export type CooUpdateBrandInput = {
18741
19378
  aesthetics?: InputMaybe<Array<Scalars['String']['input']>>;
18742
19379
  bio?: InputMaybe<Scalars['String']['input']>;
@@ -32353,13 +32990,17 @@ export type GgnomadAuditLogEntry = {
32353
32990
  __typename?: 'GgnomadAuditLogEntry';
32354
32991
  action: Scalars['String']['output'];
32355
32992
  actorId: Scalars['String']['output'];
32993
+ correlationId?: Maybe<Scalars['String']['output']>;
32356
32994
  createdAt: Scalars['DateTime']['output'];
32357
32995
  entityId: Scalars['String']['output'];
32358
32996
  entityType: Scalars['String']['output'];
32359
32997
  fromStatus?: Maybe<Scalars['String']['output']>;
32360
32998
  id: Scalars['ID']['output'];
32361
32999
  reason?: Maybe<Scalars['String']['output']>;
33000
+ sandboxId?: Maybe<Scalars['String']['output']>;
32362
33001
  toStatus?: Maybe<Scalars['String']['output']>;
33002
+ /** Verified relay attribution; null on historical or unattributed writes. Actor identity remains unchanged. */
33003
+ via?: Maybe<Scalars['String']['output']>;
32363
33004
  workspaceId: Scalars['String']['output'];
32364
33005
  };
32365
33006
  /** BOFF-3938 — what a host can set on a date. BOOKED is derived from bookings and never set. */
@@ -32839,14 +33480,14 @@ export type GgnomadFxRates = {
32839
33480
  source: Scalars['String']['output'];
32840
33481
  stale: Scalars['Boolean']['output'];
32841
33482
  };
32842
- /** BOFF-3699 — trip planner request. The planner reads only ACTIVE listings in this workspace whose address/location/venue mentions `destination`, priced in `currency`, that the whole party fits. */
33483
+ /** The planner reads only ACTIVE listings in this workspace whose place values match `destination`, priced in `currency`, that the whole party fits. */
32843
33484
  export type GgnomadGenerateTripPlanInput = {
32844
33485
  /** Total budget for the trip in `currency`. Omit for no cap. */
32845
33486
  budget?: InputMaybe<Scalars['Float']['input']>;
32846
33487
  /** ISO 4217 code; only listings priced in this currency are considered (no FX). Defaults to USD. */
32847
33488
  currency?: InputMaybe<Scalars['String']['input']>;
32848
33489
  destination: Scalars['String']['input'];
32849
- /** Inclusive. At most 30 days after startDate. */
33490
+ /** Inclusive. At most 30 calendar days including startDate. */
32850
33491
  endDate: Scalars['DateTime']['input'];
32851
33492
  /** Things the travelers like, e.g. food, live music, trekking. Matched against listing text. */
32852
33493
  interests?: InputMaybe<Array<Scalars['String']['input']>>;
@@ -32854,9 +33495,34 @@ export type GgnomadGenerateTripPlanInput = {
32854
33495
  maxItemsPerDay?: InputMaybe<Scalars['Int']['input']>;
32855
33496
  /** Plan name; defaults to 'Trip to <destination>'. */
32856
33497
  name?: InputMaybe<Scalars['String']['input']>;
33498
+ /** Up to six reviewed priorities. Only eligible workspace inventory can influence ranking; unavailable priorities produce warnings. Budget, capacity and time constraints still apply. */
33499
+ preferredListings?: InputMaybe<Array<GgnomadReviewedListingPreferenceInput>>;
32857
33500
  startDate: Scalars['DateTime']['input'];
32858
33501
  travelers: Scalars['Int']['input'];
32859
33502
  };
33503
+ /** BOFF-4392 — a workspace's data residency and enterprise governance policy. Workspaces that never saved one get the defaults: data pinned to ap-south-1 (India, Mumbai) and exports allowed for every GGNomad entity type. */
33504
+ export type GgnomadGovernancePolicy = {
33505
+ __typename?: 'GgnomadGovernancePolicy';
33506
+ /** Entity types the operator restricted exports to; empty means every type. */
33507
+ allowedExportEntityTypes: Array<Scalars['String']['output']>;
33508
+ /** False until an operator saves the policy; the defaults apply until then. */
33509
+ configured: Scalars['Boolean']['output'];
33510
+ /** AWS region code the workspace's GGNomad data is pinned to, e.g. ap-south-1. */
33511
+ dataRegion: Scalars['String']['output'];
33512
+ dataRegionName: Scalars['String']['output'];
33513
+ /** The entity types that may be exported under this policy. */
33514
+ exportableEntityTypes: Array<Scalars['String']['output']>;
33515
+ /** When false, exportGgnomadEntities is refused for the whole workspace. */
33516
+ exportsEnabled: Scalars['Boolean']['output'];
33517
+ /** The region this deployment, and every GGNomad data store it uses, runs in. */
33518
+ hostingRegion: Scalars['String']['output'];
33519
+ hostingRegionName: Scalars['String']['output'];
33520
+ /** True when dataRegion is the hosting region. Exports are refused while it is false. */
33521
+ residencyCompliant: Scalars['Boolean']['output'];
33522
+ updatedAt?: Maybe<Scalars['DateTime']['output']>;
33523
+ updatedBy?: Maybe<Scalars['String']['output']>;
33524
+ workspaceId: Scalars['ID']['output'];
33525
+ };
32860
33526
  export type GgnomadGroupTrip = {
32861
33527
  __typename?: 'GgnomadGroupTrip';
32862
33528
  createdAt: Scalars['DateTime']['output'];
@@ -33081,6 +33747,13 @@ export declare enum GgnomadPaymentMethod {
33081
33747
  Card = "CARD",
33082
33748
  GooglePay = "GOOGLE_PAY"
33083
33749
  }
33750
+ /** Inventory kinds supported by the grounded itinerary planner. */
33751
+ export declare enum GgnomadPlannerListingKind {
33752
+ Activity = "ACTIVITY",
33753
+ Event = "EVENT",
33754
+ Property = "PROPERTY",
33755
+ Tour = "TOUR"
33756
+ }
33084
33757
  /** BOFF-4378 — a host's pricing rule on one listing. Seasonal rules adjust the base price on the dates they cover (the shortest matching season wins; an explicit nightly price in a property's availability calendar is never adjusted). Occupancy rules replace the default demand tiers for the listing; the highest threshold reached wins. Rules never stack. */
33085
33758
  export type GgnomadPricingRule = {
33086
33759
  __typename?: 'GgnomadPricingRule';
@@ -33326,6 +33999,16 @@ export declare enum GgnomadPushPlatform {
33326
33999
  Ios = "IOS",
33327
34000
  Web = "WEB"
33328
34001
  }
34002
+ /** BOFF-4392 — a region a workspace's GGNomad data can be pinned to. */
34003
+ export type GgnomadResidencyRegion = {
34004
+ __typename?: 'GgnomadResidencyRegion';
34005
+ code: Scalars['String']['output'];
34006
+ /** ISO 3166-1 alpha-2 country of the region's data centres. */
34007
+ country: Scalars['String']['output'];
34008
+ /** True for the region this deployment runs in. */
34009
+ hosting: Scalars['Boolean']['output'];
34010
+ name: Scalars['String']['output'];
34011
+ };
33329
34012
  export type GgnomadReview = {
33330
34013
  __typename?: 'GgnomadReview';
33331
34014
  content?: Maybe<Scalars['String']['output']>;
@@ -33347,6 +34030,11 @@ export type GgnomadReviewSummary = {
33347
34030
  count: Scalars['Int']['output'];
33348
34031
  distribution: Array<Scalars['Int']['output']>;
33349
34032
  };
34033
+ /** A traveler-reviewed preference. It never supplies a listing price or availability claim. */
34034
+ export type GgnomadReviewedListingPreferenceInput = {
34035
+ itemId: Scalars['ID']['input'];
34036
+ itemType: GgnomadPlannerListingKind;
34037
+ };
33350
34038
  /** BOFF-3208 — the inventory kinds ggnomadSearch looks across. */
33351
34039
  export declare enum GgnomadSearchEntityType {
33352
34040
  Activity = "ACTIVITY",
@@ -55971,6 +56659,50 @@ export type MtwDriver = {
55971
56659
  vehicles: Array<MtwVehicle>;
55972
56660
  workspaceId: Scalars['ID']['output'];
55973
56661
  };
56662
+ /** The calling driver's delivery day: the mobile driver task list (BOFF-3991). */
56663
+ export type MtwDriverDay = {
56664
+ __typename?: 'MtwDriverDay';
56665
+ completedStops: Scalars['Int']['output'];
56666
+ /** The requested local calendar date (YYYY-MM-DD). */
56667
+ date: Scalars['String']['output'];
56668
+ /** The calling actor's Driver record, or null when the actor is not a driver in this workspace. */
56669
+ driverId?: Maybe<Scalars['ID']['output']>;
56670
+ driverName?: Maybe<Scalars['String']['output']>;
56671
+ /** The first stop awaiting capture, else the first upcoming stop. */
56672
+ nextStop?: Maybe<MtwDriverStop>;
56673
+ remainingStops: Scalars['Int']['output'];
56674
+ stops: Array<MtwDriverStop>;
56675
+ totalStops: Scalars['Int']['output'];
56676
+ windowEnd: Scalars['DateTime']['output'];
56677
+ windowStart: Scalars['DateTime']['output'];
56678
+ };
56679
+ /** One stop in the calling driver's day, in driving sequence order. */
56680
+ export type MtwDriverStop = {
56681
+ __typename?: 'MtwDriverStop';
56682
+ /** True while the job is out for delivery / in transit and can take an ePOD capture. */
56683
+ awaitingCapture: Scalars['Boolean']['output'];
56684
+ /** When the ePOD was captured, for completed stops. */
56685
+ deliveredAt?: Maybe<Scalars['DateTime']['output']>;
56686
+ deliveryJob: MtwDeliveryJob;
56687
+ /** An open job scheduled before the requested day that carried over onto today. */
56688
+ overdue: Scalars['Boolean']['output'];
56689
+ routeId?: Maybe<Scalars['ID']['output']>;
56690
+ routeName?: Maybe<Scalars['String']['output']>;
56691
+ /** 1-based position in the driver's sequence for the day. */
56692
+ sequence: Scalars['Int']['output'];
56693
+ state: MtwDriverStopState;
56694
+ };
56695
+ /**
56696
+ * Where a stop sits in the calling driver's day (BOFF-3991): COMPLETED once
56697
+ * delivered, EN_ROUTE while out for delivery / in transit (ePOD capture is
56698
+ * possible), UPCOMING before dispatch, FAILED for failed or returned jobs.
56699
+ */
56700
+ export declare enum MtwDriverStopState {
56701
+ Completed = "COMPLETED",
56702
+ EnRoute = "EN_ROUTE",
56703
+ Failed = "FAILED",
56704
+ Upcoming = "UPCOMING"
56705
+ }
55974
56706
  export type MtwDriverSuggestion = {
55975
56707
  __typename?: 'MtwDriverSuggestion';
55976
56708
  driver: MtwDriver;
@@ -59345,6 +60077,8 @@ export type Mutation = {
59345
60077
  /** Approve a pending request: publishes the agent's draft and sets it ACTIVE. Refused for your own request or when the agent changed since it was requested. */
59346
60078
  approveBotmanorAgentActivation: BotmanorAgentApprovalRequest;
59347
60079
  approveChangeRequest: ChangeRequest;
60080
+ /** Approve a pending submission and install it in the catalog. Platform reviewers only. */
60081
+ approveConnectorSubmission: ConnectorSubmission;
59348
60082
  approveCrewPayrollRun: CrewPayrollRun;
59349
60083
  approveExpense: ExpenseEntry;
59350
60084
  /** BOFF-4386 — operator-only: approves a PENDING commission, re-based on the order's bookings that were not cancelled or refunded. */
@@ -59655,14 +60389,27 @@ export type Mutation = {
59655
60389
  bookHousingvistaViewing: HousingVistaViewing;
59656
60390
  /** Gateway-only visitor bootstrap. The subgraph never verifies visitor tokens. */
59657
60391
  bootstrapAssistantWebsiteSession: AssistantWebsiteSessionReceipt;
60392
+ braAcceptVaultInvitation: Scalars['Boolean']['output'];
59658
60393
  braAcknowledgeInsight: BraInsight;
60394
+ braAcknowledgeVaultDownload: Scalars['Boolean']['output'];
59659
60395
  braArchiveAccount: Scalars['Boolean']['output'];
60396
+ braArchiveEntity: Scalars['Boolean']['output'];
59660
60397
  braArchiveGoal: Scalars['Boolean']['output'];
59661
60398
  braArchiveHousehold: Scalars['Boolean']['output'];
59662
60399
  braArchivePortfolio: Scalars['Boolean']['output'];
60400
+ braArchiveVault: Scalars['Boolean']['output'];
60401
+ braArmVault: BraDocumentVault;
60402
+ braAssignAccountEntity: Scalars['Boolean']['output'];
60403
+ braAssignPortfolioEntity: Scalars['Boolean']['output'];
60404
+ braAuthorizeVaultDownload: BraVaultDownloadDecision;
60405
+ braBindVaultFolder: BraDocumentVault;
60406
+ braCheckInVault: BraDocumentVault;
59663
60407
  /** Called after Plaid Link update mode succeeds: clears the link's error and consent-expiry state, marks it ACTIVE and re-syncs it. */
59664
60408
  braCompletePlaidReauthentication: BraAggregationSyncResult;
60409
+ /** Register an existing CRM connection only after verifying the caller may use it. */
60410
+ braConnectMyCrm: BraCrmLink;
59665
60411
  braCreateAccount: BraAccount;
60412
+ braCreateEntity: BraEntity;
59666
60413
  braCreateGoal: BraGoal;
59667
60414
  braCreateHolding: BraHolding;
59668
60415
  braCreateHousehold: BraHousehold;
@@ -59675,9 +60422,13 @@ export type Mutation = {
59675
60422
  braCreateScheduledReport: BraScheduledReport;
59676
60423
  /** Creates a trade-instruction RECOMMENDATION only — never executes anything. */
59677
60424
  braCreateTradeInstruction: BraTradeInstruction;
60425
+ braCreateVault: BraDocumentVault;
59678
60426
  braDeleteHolding: Scalars['Boolean']['output'];
59679
60427
  /** Forces a re-scan of the actor's transaction ledger and returns the resulting patterns. Today, `braListRecurringPatterns` already recomputes on every call (patterns are not persisted), so this mutation exists for API symmetry and to allow future persistence without a schema change. */
59680
60428
  braDetectRecurringPatterns: BraRecurringPatternConnection;
60429
+ braDisarmVault: BraDocumentVault;
60430
+ /** Remove this advisor's retained CRM data without revoking the shared connection. */
60431
+ braDisconnectMyCrm: Scalars['Boolean']['output'];
59681
60432
  braDismissInsight: BraInsight;
59682
60433
  /** Registers/updates the calling actor's own roster row. The very first row in a workspace self-registers as FIRM_ADMIN; every row after that must be invited by an existing FIRM_ADMIN (userId set to someone else). A new row takes one brainyrich.advisor_seats.count seat and is refused with QUOTA_EXHAUSTED when the plan's seats are all ACTIVE. */
59683
60434
  braEnsureAdvisorProfile: BraAdvisor;
@@ -59689,36 +60440,48 @@ export type Mutation = {
59689
60440
  braGenerateRiskInsights: Array<BraInsight>;
59690
60441
  /** Computes tax-loss-harvesting opportunities and persists/updates them as BraInsight rows (type TAX_OPPORTUNITY, idempotent per symbol). Subject to the brainyrich.insights.retained quota for genuinely new rows. */
59691
60442
  braHarvestTaxLossInsights: Array<BraInsight>;
60443
+ braInviteVaultRecipient: BraDocumentVault;
59692
60444
  braLinkGoalFunding: BraGoalFunding;
59693
60445
  braPauseScheduledReport: BraScheduledReport;
60446
+ braPinVaultDocument: Scalars['Boolean']['output'];
59694
60447
  /** Recompute and persist a goal's projection from its funded value vs. target. */
59695
60448
  braRecalcGoalProjection: BraGoal;
59696
60449
  braRecordTransaction: BraTransaction;
59697
60450
  /** Refreshes every holding's lastPrice in one account from real live quotes. Never fails wholesale on one bad symbol. */
59698
60451
  braRefreshHoldingPrices: BraHoldingPriceRefreshResult;
60452
+ braRemoveVaultDocument: Scalars['Boolean']['output'];
59699
60453
  braResolveInsight: BraInsight;
59700
60454
  braResumeScheduledReport: BraScheduledReport;
59701
60455
  /** A human advisor marking an instruction reviewed. status must be ACKNOWLEDGED or DISMISSED — there is deliberately no execute transition. */
59702
60456
  braReviewTradeInstruction: BraTradeInstruction;
59703
60457
  /** Revokes the link (real Plaid /item/remove call) and closes its synced accounts. */
59704
60458
  braRevokeAggregationLink: Scalars['Boolean']['output'];
60459
+ /** Emergency revocation is allowed in every phase and invalidates pending recipient leases. */
60460
+ braRevokeVaultRecipient: Scalars['Boolean']['output'];
60461
+ braSetAccountFee: BraAccount;
59705
60462
  /** Change an existing advisor's role. FIRM_ADMIN only. */
59706
60463
  braSetAdvisorRole: BraAdvisor;
59707
60464
  /** Activate or deactivate an advisor on the firm roster. FIRM_ADMIN only. INACTIVE frees the advisor's seat; ACTIVE takes one and is refused with QUOTA_EXHAUSTED when no seat is free. The last ACTIVE FIRM_ADMIN cannot be deactivated. */
59708
60465
  braSetAdvisorStatus: BraAdvisor;
59709
60466
  /** Saves the caller's base-currency preference for future braNetWorthSummary calls. */
59710
60467
  braSetFxBaseCurrency: BraFxPreference;
60468
+ braSetHoldingExpenseRatio: BraHolding;
59711
60469
  /** Re-syncs accounts + transactions for an existing link via Plaid's real /accounts/get and /transactions/sync endpoints. */
59712
60470
  braSyncAggregationLink: BraAggregationSyncResult;
59713
- /** Advance a rebalance proposal through its review lifecycle (validated transitions). */
60471
+ /** Import all CRM account, contact, and task pages atomically, with bounded resource use. */
60472
+ braSyncMyCrm: BraCrmLink;
60473
+ /** Advance a rebalance proposal through its review lifecycle (validated transitions). Every transition is recorded in the proposal's audit trail together with the optional note. */
59714
60474
  braTransitionRebalanceProposal: BraRebalanceProposal;
59715
60475
  braUnlinkGoalFunding: Scalars['Boolean']['output'];
59716
60476
  braUpdateAccount: BraAccount;
60477
+ braUpdateEntity: BraEntity;
59717
60478
  braUpdateGoal: BraGoal;
59718
60479
  braUpdateHolding: BraHolding;
59719
60480
  braUpdateHousehold: BraHousehold;
59720
60481
  braUpdatePortfolio: BraPortfolio;
59721
60482
  braUpsertMyAdvisorBranding: BraAdvisorBranding;
60483
+ /** Download a pinned document version under a currently valid BrainyRich vault grant. Requires the dedicated vault-recipient permission, not ordinary file access. Existing file permissions are unchanged; URLs expire within 60 seconds. */
60484
+ brainyrichVaultDocumentDownloadUrl: Scalars['String']['output'];
59722
60485
  buiAcknowledgeCourseKnowledgeChange: Scalars['Boolean']['output'];
59723
60486
  /** Admin Q&A grounded in real workspace course/enrollment stats. Never executes anything; may return `proposedActions` for the admin to confirm (BOFF-9687). Restricted to EDITOR+ (same viewerDefault:false shape as `buildmyiq-tutor:list`) — this is an operator surface, not a learner one. */
59724
60487
  buiAdminCopilotAsk: BuiAdminCopilotAnswer;
@@ -60271,6 +61034,8 @@ export type Mutation = {
60271
61034
  cooArchiveBrand: Scalars['Boolean']['output'];
60272
61035
  /** Soft-delete a collection (sets deletedAt; excluded from list/read/nested queries thereafter). Mirrors cooArchiveBrand/cooArchiveStyleItem. */
60273
61036
  cooArchiveCollection: Scalars['Boolean']['output'];
61037
+ cooArchiveCreatorRateCard: Scalars['Boolean']['output'];
61038
+ cooArchiveRetailerFeed: Scalars['Boolean']['output'];
60274
61039
  cooArchiveStyleItem: Scalars['Boolean']['output'];
60275
61040
  /** Bulk-import a brand's catalog: creates the brand, its collections, and all style items in a single transaction. Items are linked to collections by matching `collectionName`. Enforces the `coolandlovely.styleitems.count` quota on the total number of items. */
60276
61041
  cooBulkImportCatalog: CooBulkCatalogImportResult;
@@ -60281,38 +61046,54 @@ export type Mutation = {
60281
61046
  /** Turn the caller's cart into an order and start its payment through global-billing-svc. The cart is emptied once the order exists; the order stays PENDING_PAYMENT until billing confirms the payment. */
60282
61047
  cooCheckout: CooOrderCheckout;
60283
61048
  cooClearCart: CooCart;
61049
+ cooCreateArticle: CooEditorialArticle;
61050
+ cooCreateBackInStockAlert: CooPriceAlert;
60284
61051
  cooCreateBrand: CooBrand;
60285
61052
  cooCreateCollaboration: CooCollaboration;
60286
61053
  cooCreateCollection: CooCollection;
61054
+ /** Creates one of at most 20 active offers for this creator in the selected workspace. Offers do not consume collaboration allowance. */
61055
+ cooCreateCreatorRateCard: CooCreatorRateCard;
60287
61056
  cooCreateLook: CooLook;
60288
61057
  cooCreateLookbook: CooLookbook;
61058
+ cooCreatePriceDropAlert: CooPriceAlert;
61059
+ cooCreateRetailerFeed: CooRetailerFeed;
60289
61060
  cooCreateStyleItem: CooStyleItem;
60290
61061
  cooCreateWardrobeItem: CooWardrobeItem;
60291
61062
  /** Propose which of a brand's DRAFT style items form a coherent story for a season, flag publish blockers and suggest an order. Advisory only. */
60292
61063
  cooCurateCollection: CooCollectionCuration;
60293
61064
  /** Decline a shopper's return with a note. The shopper is notified. Returns the order as the brand now sees it. */
60294
61065
  cooDeclineReturnRequest: CooBrandOrder;
61066
+ cooDeleteArticle: Scalars['Boolean']['output'];
60295
61067
  /** Soft-delete a collaboration that is still PROPOSED (sets deletedAt; excluded from list/read queries thereafter). Once a collaboration has moved past PROPOSED, use cooTransitionCollaboration(CANCELLED) instead — deleting a collaboration the other party has already acted on would erase real history. */
60296
61068
  cooDeleteCollaboration: Scalars['Boolean']['output'];
60297
61069
  cooDeleteLook: Scalars['Boolean']['output'];
60298
61070
  /** Soft-delete a whole lookbook board (sets deletedAt; excluded from list/read queries thereafter, along with its entries). Distinct from cooRemoveLookbookEntry, which removes a single clipped item. */
60299
61071
  cooDeleteLookbook: Scalars['Boolean']['output'];
61072
+ cooDeletePriceAlert: Scalars['Boolean']['output'];
61073
+ cooDeleteTrendReport: Scalars['Boolean']['output'];
60300
61074
  /** Mark a style item as featured for curated discovery surfaces. */
60301
61075
  cooFeatureStyleItem: CooStyleItem;
60302
61076
  /** Follow a user as the calling actor (idempotent; cannot follow yourself). */
60303
61077
  cooFollow: Scalars['Boolean']['output'];
61078
+ cooGenerateTrendReport: CooTrendReport;
61079
+ cooImportRetailerSnapshot: CooRetailerRefresh;
60304
61080
  /** Like a published look (idempotent — liking twice has no further effect). */
60305
61081
  cooLikeLook: CooLook;
60306
61082
  /** Log that the shopper wore a wardrobe piece (increments timesWorn). */
60307
61083
  cooLogWardrobeWear: CooWardrobeItem;
61084
+ cooMapRetailerOffer: CooMappedRetailerOffer;
60308
61085
  /** Pay a published collaboration's agreed compensation as its brand owner, through global-billing-svc. Re-opening re-uses the current billing order while billing still accepts payment for it, so it never creates a second charge. */
60309
61086
  cooPayCollaborationFee: CooCollaborationPaymentCheckout;
60310
61087
  /** Read a brand's catalog from Shopify, WooCommerce or BigCommerce and return it mapped onto CoolAndLovely brand, collection and style-item shapes, ready to review and pass to cooBulkImportCatalog. Writes nothing. A mutation (not a query) because it calls out to the merchant's platform with credentials and must never be cached or replayed. */
60311
61088
  cooPreviewExternalCatalog: CooExternalCatalogPreview;
61089
+ /** Creates an ordinary proposed collaboration with immutable server-selected offer terms. No payment is initiated. */
61090
+ cooProposeRateCard: CooCollaboration;
60312
61091
  cooPublishCollection: CooCollection;
60313
61092
  cooPublishLook: CooLook;
61093
+ cooPublishTrendReport: CooTrendReport;
60314
61094
  /** Record that the CALLING actor accepted a legal document/version at an in-product checkpoint. Self-scoped (Type A): no identity arg. Idempotent — re-accepting the same (checkpointType, documentVersion) updates the timestamp/audit fields rather than duplicating the row. */
60315
61095
  cooRecordLegalAcceptance: CooLegalAcceptance;
61096
+ cooRefreshRetailerFeed: CooRetailerRefresh;
60316
61097
  /** Refund all of the brand's pieces of a paid order to the shopper through global-billing, and reverse the creator commissions on them, optionally returning the pieces to stock. Idempotent: refunding again returns the completed refund (restocking it if `restock` is now true); a failed refund is retried. */
60317
61098
  cooRefundBrandOrder: CooBrandOrder;
60318
61099
  /** Reject a brand storefront back to the owner (PENDING_REVIEW -> DRAFT). */
@@ -60328,8 +61109,13 @@ export type Mutation = {
60328
61109
  cooResumeOrderPayment: CooOrderCheckout;
60329
61110
  /** Review a brand-creator collaboration and accept, reject, publish, or cancel it. */
60330
61111
  cooReviewCollaboration: CooCollaboration;
61112
+ cooReviewRetailerFeed: CooRetailerFeed;
60331
61113
  /** Save/bookmark a look for later (idempotent). Distinct from liking and from clipping into a named lookbook via cooAddLookbookEntry. */
60332
61114
  cooSaveLook: CooLook;
61115
+ cooSavePriceAlert: CooPriceAlert;
61116
+ cooSetArticleStatus: CooEditorialArticle;
61117
+ cooSetCreatorRateCardPublished: CooCreatorRateCard;
61118
+ cooSetRetailerFeedEnabled: CooRetailerFeed;
60333
61119
  /** Turn per-variant stock tracking on or off for a style item and set the stock of its variants (BOFF-9637). With tracking on, checkout reserves stock and the piece's ACTIVE / OUT_OF_STOCK status follows it. */
60334
61120
  cooSetStyleItemInventory: CooStyleItem;
60335
61121
  /** Rank creators by aesthetic fit with a brand's published catalog and draft a PROPOSED collaboration brief for each. Advisory only: nothing is created and no collaboration changes state. */
@@ -60354,12 +61140,14 @@ export type Mutation = {
60354
61140
  cooUnlikeLook: CooLook;
60355
61141
  /** Undo a previous save (idempotent). */
60356
61142
  cooUnsaveLook: CooLook;
61143
+ cooUpdateArticle: CooEditorialArticle;
60357
61144
  cooUpdateBrand: CooBrand;
60358
61145
  /** Set the quantity of one of the caller's cart lines. A quantity of 0 removes the line. */
60359
61146
  cooUpdateCartItem: CooCart;
60360
61147
  /** Edit a collaboration's brief/role/compensation/dates/tags while it is still in flight (PROPOSED, ACCEPTED or IN_PROGRESS). Rejected once the collaboration has reached a terminal status (PUBLISHED, DECLINED, CANCELLED) — use cooTransitionCollaboration for status changes. */
60361
61148
  cooUpdateCollaboration: CooCollaboration;
60362
61149
  cooUpdateCollection: CooCollection;
61150
+ cooUpdateCreatorRateCard: CooCreatorRateCard;
60363
61151
  cooUpdateLook: CooLook;
60364
61152
  /** Move the brand's part of a paid order forward (confirmed, shipped with tracking, delivered). The buyer is notified of every state change. */
60365
61153
  cooUpdateOrderFulfilment: CooBrandOrder;
@@ -61810,6 +62598,7 @@ export type Mutation = {
61810
62598
  * @deprecated Use Query.exportDashboard(id, options) — the v2.0 options-based export. This v1.0 mutation will be removed after Hive confirms no external callers.
61811
62599
  */
61812
62600
  exportDashboard: Scalars['String']['output'];
62601
+ /** Exports GGNomad entities. BOFF-4392 — refused (FORBIDDEN) when the workspace governance policy disables exports, restricts the requested entity types, or pins the workspace's data to a region other than the one this deployment runs in. Every decision is audited. */
61813
62602
  exportGgnomadEntities: GgnomadExportJob;
61814
62603
  exportGroupData: GroupExportResult;
61815
62604
  exportHeadshotmarketingEntities: HeadshotmarketingExportJob;
@@ -63520,6 +64309,8 @@ export type Mutation = {
63520
64309
  pswArchivePractitioner: Scalars['Boolean']['output'];
63521
64310
  pswArchivePractitionerCredential: Scalars['Boolean']['output'];
63522
64311
  pswCancelInvoice: PswInvoice;
64312
+ /** Disables the filing's recurring reminder cron and clears reminderScheduleId. No-op if nothing is scheduled. */
64313
+ pswCancelRecurringFiling: PswRecurringFiling;
63523
64314
  /** Disables the retainer's recurring cron and clears retainerScheduleId. No-op if nothing is scheduled. */
63524
64315
  pswCancelRetainerBilling: PswEngagement;
63525
64316
  pswCancelSignatureRequest: PswSignatureRequest;
@@ -63544,6 +64335,8 @@ export type Mutation = {
63544
64335
  pswCreatePracticeArea: PswPracticeArea;
63545
64336
  pswCreatePractitioner: PswPractitioner;
63546
64337
  pswCreatePractitionerCredential: PswPractitionerCredential;
64338
+ /** Creates a recurring compliance filing/review on an engagement and provisions its reminder cron in the platform scheduler (fires reminderDaysBefore days ahead of each nextDueAt, then advances to the next period on the same cadence). */
64339
+ pswCreateRecurringFiling: PswRecurringFiling;
63547
64340
  pswCreateRetainerDraftInvoice: PswInvoice;
63548
64341
  pswCreateSignatureRequest: PswSignatureRequest;
63549
64342
  pswCreateTrustAccount: PswTrustAccount;
@@ -63584,6 +64377,8 @@ export type Mutation = {
63584
64377
  /** Practitioner-side: revokes a client contact's portal access. */
63585
64378
  pswRevokeClientPortalUser: PswClientPortalUser;
63586
64379
  pswRevokeObligationReminderConsent: PswObligationReminder;
64380
+ /** Scheduler callback target: sends the reminder notification for the filing's current nextDueAt period (idempotent — a retry or a double-fire for the same period is a no-op) and advances nextDueAt to the following period. Not meant to be called directly outside the scheduler job created by pswCreateRecurringFiling. */
64381
+ pswRunScheduledFilingReminder: PswRecurringFiling;
63587
64382
  /** Scheduler callback target: generates the retainer's draft invoice for the engagement's current nextRetainerRunAt period (idempotent — a retry or a double-fire for the same period returns the already-created invoice) and advances nextRetainerRunAt to the following period. Not meant to be called directly outside the scheduler job created by pswScheduleRetainerBilling. */
63588
64383
  pswRunScheduledRetainerBilling: PswInvoice;
63589
64384
  pswScheduleObligationReminder: PswObligationReminder;
@@ -63799,6 +64594,8 @@ export type Mutation = {
63799
64594
  /** Reject a pending request with a reason. Refused for your own request. */
63800
64595
  rejectBotmanorAgentActivation: BotmanorAgentApprovalRequest;
63801
64596
  rejectChangeRequest: ChangeRequest;
64597
+ /** Reject a pending submission with a reason. Platform reviewers only. */
64598
+ rejectConnectorSubmission: ConnectorSubmission;
63802
64599
  rejectExpense: ExpenseEntry;
63803
64600
  /** BOFF-4365 — admin-only: cancels the underlying booking (revoking any issued tickets) and records the rejection. */
63804
64601
  rejectGgnomadBookingApproval: GgnomadBookingApproval;
@@ -63867,7 +64664,7 @@ export type Mutation = {
63867
64664
  removeCrewTimeEntry: Scalars['Boolean']['output'];
63868
64665
  removeCrewTrainingCourse: Scalars['Boolean']['output'];
63869
64666
  removeCrewVendor: Scalars['Boolean']['output'];
63870
- /** Remove a reaction from a comment */
64667
+ /** Remove the caller's own reaction from a comment. Gated like adding one: only the authenticated actor's reaction is ever removed, so it needs no delete permission on the comment itself. */
63871
64668
  removeEntityCommentReaction: Scalars['Boolean']['output'];
63872
64669
  removeGgnomadCartItem: GgnomadCart;
63873
64670
  /** Creator-only. */
@@ -64729,6 +65526,8 @@ export type Mutation = {
64729
65526
  subUpdateRelationship: SubRelationship;
64730
65527
  subVerifyChannel: SubCommunicationChannel;
64731
65528
  submitApprovalRequest: TimeApprovalRequest;
65529
+ /** Submit a third-party connector for review. */
65530
+ submitConnector: ConnectorSubmission;
64732
65531
  submitExpenseForApproval: ExpenseEntry;
64733
65532
  /** BOFF-4388 — moves a DRAFT listing to PENDING_REVIEW so a marketplace operator can vet it. */
64734
65533
  submitGgnomadListingForReview: GgnomadListing;
@@ -64846,6 +65645,8 @@ export type Mutation = {
64846
65645
  tecAddPortfolioItem: TecPortfolioItem;
64847
65646
  /** Approve a pending mentor profile (PENDING -> ACTIVE). */
64848
65647
  tecApproveMentor: TecMentor;
65648
+ /** Close the assessment to new attempts. Existing attempts and certificates stay. */
65649
+ tecArchiveAssessment: TecAssessment;
64849
65650
  /** DESTRUCTIVE: archives the course, removing it from the learner catalog. An agent or UI must get explicit user confirmation before calling this. */
64850
65651
  tecArchiveCourse: Scalars['Boolean']['output'];
64851
65652
  /** Archive (soft-delete) a plan the calling learner owns. */
@@ -64856,12 +65657,15 @@ export type Mutation = {
64856
65657
  tecBookSession: TecMentorSession;
64857
65658
  /** DESTRUCTIVE: cancels a booked mentoring session for both the mentor and the mentee; a cancelled session cannot be reinstated. An agent or UI must get explicit user confirmation before calling this. */
64858
65659
  tecCancelSession: TecMentorSession;
65660
+ /** Retry issuing the certificate for the caller's passed, verified attempt. */
65661
+ tecClaimAssessmentCertificate: TecAssessmentAttempt;
64859
65662
  /** DESTRUCTIVE: completes a hackathon after judging (JUDGING -> COMPLETED), locking judging and final results. An agent or UI must get explicit user confirmation before calling this. */
64860
65663
  tecCompleteHackathon: TecHackathon;
64861
65664
  /** Mark one lesson complete for the calling learner (BOFF-4107) and recompute their enrollment progress from completed lessons. Self-scoped (Type B): the enrollment is looked up by the authenticated actor, and a learner who is not enrolled gets NOT_FOUND. QUIZ lessons and INTERACTIVE lessons with an expected output cannot be completed manually; they are completed by tecSubmitLessonQuiz / tecRunLessonCode. Idempotent. */
64862
65665
  tecCompleteLesson: TecEnrollment;
64863
65666
  tecCompleteSession: TecMentorSession;
64864
65667
  tecConfirmSession: TecMentorSession;
65668
+ tecCreateAssessment: TecAssessment;
64865
65669
  tecCreateCourse: TecCourse;
64866
65670
  tecCreateHackathon: TecHackathon;
64867
65671
  tecCreateLesson: TecLesson;
@@ -64871,6 +65675,8 @@ export type Mutation = {
64871
65675
  /** DESTRUCTIVE: deletes a test-case fixture from a problem, changing how every future submission is graded. An agent or UI must get explicit user confirmation before calling this. */
64872
65676
  tecDeleteProblemTestCase: Scalars['Boolean']['output'];
64873
65677
  tecEnroll: TecEnrollment;
65678
+ /** Export a published course as a SCORM package for an enterprise LMS (BOFF-10574). `version` defaults to SCORM 2004 4th Edition. `appOrigin` is the TechnoSpam app address lessons launch into (the admin UI passes its own origin); it must be a TechnoSpam app shell and defaults to production. Gated like the other course admin actions (update on technospam-course). */
65679
+ tecExportScormPackage: TecScormPackage;
64874
65680
  /** Generate a new, deterministic study plan for the calling learner (see the module honesty note above -- this is rule-based, not AI-personalized). */
64875
65681
  tecGenerateStudyPlan: TecStudyPlan;
64876
65682
  /** Manually override the verdict for a submission (awards points if ACCEPTED). Reserved for author/admin intervention; normal grading is automatic. */
@@ -64879,11 +65685,15 @@ export type Mutation = {
64879
65685
  tecIssueCertificate: TecCertificate;
64880
65686
  /** Open registration for a hackathon (DRAFT -> REGISTRATION_OPEN). */
64881
65687
  tecOpenRegistration: TecHackathon;
65688
+ /** Open the assessment to learners. Needs at least one question. */
65689
+ tecPublishAssessment: TecAssessment;
64882
65690
  /** Publish a course, making it visible to learners (DRAFT -> PUBLISHED). */
64883
65691
  tecPublishCourse: TecCourse;
64884
65692
  /** Publish the calling learner's portfolio, generating a shareable public slug on first publish (kept stable on subsequent re-publishes). */
64885
65693
  tecPublishPortfolio: TecPortfolio;
64886
65694
  tecPublishProblem: TecProblem;
65695
+ /** Report an integrity signal from the caller's browser for their own attempt. */
65696
+ tecRecordAssessmentSignal: TecAssessmentAttempt;
64887
65697
  /** Record an in-product legal acceptance checkpoint for the calling actor. */
64888
65698
  tecRecordLegalAcceptance: TecRecordLegalAcceptancePayload;
64889
65699
  /** Register a team for a hackathon with the calling user as captain. */
@@ -64894,6 +65704,8 @@ export type Mutation = {
64894
65704
  tecRemovePortfolioItem: Scalars['Boolean']['output'];
64895
65705
  /** Reorder the calling learner's portfolio items. */
64896
65706
  tecReorderPortfolioItems: TecPortfolio;
65707
+ /** Decide a FLAGGED or PENDING_REVIEW attempt. VERIFIED on a passed attempt issues its certificate. Reviewers cannot decide their own attempts. */
65708
+ tecReviewAssessmentAttempt: TecAssessmentAttempt;
64897
65709
  /** Explain one of the calling learner's own graded submissions: what failed, why, which concepts to revisit and which problems to practise next. Self-scoped (Type B): the submission is read with the authenticated actor as owner in the same query, so another learner's submission is NOT_FOUND. Returns the stored review when one exists for the current verdict; otherwise writes a new one (rate limited per learner). PENDING submissions are rejected with BAD_USER_INPUT. */
64898
65710
  tecReviewSubmission: TecSubmissionReview;
64899
65711
  /** DESTRUCTIVE: rescinds a learner's issued certificate, their proof of completed work. An agent or UI must get explicit user confirmation before calling this. */
@@ -64902,12 +65714,18 @@ export type Mutation = {
64902
65714
  tecRunLessonCode: TecLessonCodeRun;
64903
65715
  /** Run a solution without submitting it (the editor's Run button): executes the code against the problem's PUBLIC sample cases, or once against custom stdin, and returns the outcome. Nothing is stored and no points are awarded. Gated like tecSubmitSolution because it executes code. */
64904
65716
  tecRunSolution: TecSolutionRun;
65717
+ /** Save the caller's in-progress answers (display order, -1 for unanswered). */
65718
+ tecSaveAssessmentAnswers: TecAssessmentAttempt;
64905
65719
  /** DESTRUCTIVE: records a judge score for a team and optionally marks it WINNER, overwriting any previous score. An agent or UI must get explicit user confirmation before calling this. */
64906
65720
  tecScoreTeam: TecHackathonTeam;
65721
+ /** Start the caller's attempt, or return the one already in progress. The server fixes the deadline and the shuffled order. A monitored assessment needs acceptMonitoring: true (the learner's consent to integrity signals). */
65722
+ tecStartAssessment: TecAssessmentAttempt;
64907
65723
  /** Move a hackathon into its running window (REGISTRATION_OPEN -> IN_PROGRESS). */
64908
65724
  tecStartHackathon: TecHackathon;
64909
65725
  /** Move a hackathon into judging (IN_PROGRESS -> JUDGING). */
64910
65726
  tecStartJudging: TecHackathon;
65727
+ /** Grade and close the caller's attempt. `answers` replaces the saved answers when given. Refused after the deadline (plus a short grace), in which case the attempt is closed on its saved answers. Idempotent once closed. */
65728
+ tecSubmitAssessment: TecAssessmentAttempt;
64911
65729
  /** Grade a QUIZ lesson attempt server-side (BOFF-4107). A passing attempt completes the lesson for the calling learner when they are enrolled. */
64912
65730
  tecSubmitLessonQuiz: TecQuizResult;
64913
65731
  /** Submit a team's project for judging (sets status SUBMITTED). */
@@ -64916,6 +65734,7 @@ export type Mutation = {
64916
65734
  tecSubmitSolution: TecSubmission;
64917
65735
  /** Unpublish the calling learner's portfolio. The public link 404s (tecPublicPortfolio returns null) until republished; the slug is retained so republishing restores the same link. */
64918
65736
  tecUnpublishPortfolio: TecPortfolio;
65737
+ tecUpdateAssessment: TecAssessment;
64919
65738
  tecUpdateCourse: TecCourse;
64920
65739
  tecUpdateHackathon: TecHackathon;
64921
65740
  tecUpdateLesson: TecLesson;
@@ -65316,6 +66135,8 @@ export type Mutation = {
65316
66135
  /** BOFF-3936 — operator-only (ggnomad:manage): sets the workspace's checkout tax, service fee and accepted payment methods. */
65317
66136
  updateGgnomadCheckoutSettings: GgnomadCheckoutSettings;
65318
66137
  updateGgnomadEvent: GgnomadEvent;
66138
+ /** BOFF-4392 — sets the workspace's residency region and export governance. Every change is recorded in the audit trail (ggnomadWorkspaceAuditLog with entityType GOVERNANCE and entityId = the workspace id). Requires ggnomad:manage. */
66139
+ updateGgnomadGovernancePolicy: GgnomadGovernancePolicy;
65319
66140
  updateGgnomadOperatorStorefront: GgnomadOperatorStorefront;
65320
66141
  /** BOFF-4378 — host only: changes a pricing rule. */
65321
66142
  updateGgnomadPricingRule: GgnomadPricingRule;
@@ -65735,6 +66556,8 @@ export type Mutation = {
65735
66556
  votePoll: Poll;
65736
66557
  /** Wake an agent whose tunnel has gone stale by SSHing back into its host and restarting it. The backend finds an online source agent that deployed it (via the mesh link) — that source remembers the SSH target — and relays the restart; the woken agent comes up on a fresh tunnel and re-registers itself. Errors gracefully (ok:false) when no SSH-capable source agent is available. */
65737
66558
  wakeMeshAgent: AgentProxyResponse;
66559
+ /** Withdraw one of your own submissions while it waits for review. */
66560
+ withdrawConnectorSubmission: ConnectorSubmission;
65738
66561
  withdrawHousingvistaOffer: HousingVistaOffer;
65739
66562
  withdrawRequest: TimeApprovalRequest;
65740
66563
  /**
@@ -66480,6 +67303,11 @@ export type MutationApproveChangeRequestArgs = {
66480
67303
  id: Scalars['ID']['input'];
66481
67304
  };
66482
67305
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67306
+ export type MutationApproveConnectorSubmissionArgs = {
67307
+ id: Scalars['ID']['input'];
67308
+ notes?: InputMaybe<Scalars['String']['input']>;
67309
+ };
67310
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
66483
67311
  export type MutationApproveCrewPayrollRunArgs = {
66484
67312
  id: Scalars['ID']['input'];
66485
67313
  };
@@ -67279,14 +68107,28 @@ export type MutationBootstrapAssistantWebsiteSessionArgs = {
67279
68107
  origin: Scalars['String']['input'];
67280
68108
  };
67281
68109
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68110
+ export type MutationBraAcceptVaultInvitationArgs = {
68111
+ acceptanceVersion: Scalars['String']['input'];
68112
+ id: Scalars['ID']['input'];
68113
+ };
68114
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67282
68115
  export type MutationBraAcknowledgeInsightArgs = {
67283
68116
  id: Scalars['ID']['input'];
67284
68117
  };
67285
68118
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68119
+ export type MutationBraAcknowledgeVaultDownloadArgs = {
68120
+ leaseId: Scalars['ID']['input'];
68121
+ recipientId: Scalars['ID']['input'];
68122
+ };
68123
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67286
68124
  export type MutationBraArchiveAccountArgs = {
67287
68125
  id: Scalars['ID']['input'];
67288
68126
  };
67289
68127
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68128
+ export type MutationBraArchiveEntityArgs = {
68129
+ id: Scalars['ID']['input'];
68130
+ };
68131
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67290
68132
  export type MutationBraArchiveGoalArgs = {
67291
68133
  id: Scalars['ID']['input'];
67292
68134
  };
@@ -67299,14 +68141,58 @@ export type MutationBraArchivePortfolioArgs = {
67299
68141
  id: Scalars['ID']['input'];
67300
68142
  };
67301
68143
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68144
+ export type MutationBraArchiveVaultArgs = {
68145
+ id: Scalars['ID']['input'];
68146
+ };
68147
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68148
+ export type MutationBraArmVaultArgs = {
68149
+ consentVersion: Scalars['String']['input'];
68150
+ id: Scalars['ID']['input'];
68151
+ timing: BraVaultTimingInput;
68152
+ };
68153
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68154
+ export type MutationBraAssignAccountEntityArgs = {
68155
+ accountId: Scalars['ID']['input'];
68156
+ entityId?: InputMaybe<Scalars['ID']['input']>;
68157
+ };
68158
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68159
+ export type MutationBraAssignPortfolioEntityArgs = {
68160
+ entityId?: InputMaybe<Scalars['ID']['input']>;
68161
+ portfolioId: Scalars['ID']['input'];
68162
+ };
68163
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68164
+ export type MutationBraAuthorizeVaultDownloadArgs = {
68165
+ documentId: Scalars['ID']['input'];
68166
+ recipientId: Scalars['ID']['input'];
68167
+ };
68168
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68169
+ export type MutationBraBindVaultFolderArgs = {
68170
+ folderId: Scalars['ID']['input'];
68171
+ id: Scalars['ID']['input'];
68172
+ };
68173
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68174
+ export type MutationBraCheckInVaultArgs = {
68175
+ id: Scalars['ID']['input'];
68176
+ };
68177
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67302
68178
  export type MutationBraCompletePlaidReauthenticationArgs = {
67303
68179
  id: Scalars['ID']['input'];
67304
68180
  };
67305
68181
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68182
+ export type MutationBraConnectMyCrmArgs = {
68183
+ connectionId: Scalars['ID']['input'];
68184
+ instanceOrigin?: InputMaybe<Scalars['String']['input']>;
68185
+ provider: BraCrmProvider;
68186
+ };
68187
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67306
68188
  export type MutationBraCreateAccountArgs = {
67307
68189
  input: BraCreateAccountInput;
67308
68190
  };
67309
68191
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68192
+ export type MutationBraCreateEntityArgs = {
68193
+ input: BraEntityInput;
68194
+ };
68195
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67310
68196
  export type MutationBraCreateGoalArgs = {
67311
68197
  input: BraCreateGoalInput;
67312
68198
  };
@@ -67347,6 +68233,10 @@ export type MutationBraCreateTradeInstructionArgs = {
67347
68233
  input: BraCreateTradeInstructionInput;
67348
68234
  };
67349
68235
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68236
+ export type MutationBraCreateVaultArgs = {
68237
+ input: BraCreateVaultInput;
68238
+ };
68239
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67350
68240
  export type MutationBraDeleteHoldingArgs = {
67351
68241
  id: Scalars['ID']['input'];
67352
68242
  };
@@ -67355,6 +68245,14 @@ export type MutationBraDetectRecurringPatternsArgs = {
67355
68245
  input?: InputMaybe<BraRecurringDetectionInput>;
67356
68246
  };
67357
68247
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68248
+ export type MutationBraDisarmVaultArgs = {
68249
+ id: Scalars['ID']['input'];
68250
+ };
68251
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68252
+ export type MutationBraDisconnectMyCrmArgs = {
68253
+ id: Scalars['ID']['input'];
68254
+ };
68255
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67358
68256
  export type MutationBraDismissInsightArgs = {
67359
68257
  id: Scalars['ID']['input'];
67360
68258
  };
@@ -67382,6 +68280,11 @@ export type MutationBraHarvestTaxLossInsightsArgs = {
67382
68280
  thresholds?: InputMaybe<BraTaxLossThresholdInput>;
67383
68281
  };
67384
68282
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68283
+ export type MutationBraInviteVaultRecipientArgs = {
68284
+ id: Scalars['ID']['input'];
68285
+ recipientId: Scalars['ID']['input'];
68286
+ };
68287
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67385
68288
  export type MutationBraLinkGoalFundingArgs = {
67386
68289
  input: BraLinkGoalFundingInput;
67387
68290
  };
@@ -67390,6 +68293,11 @@ export type MutationBraPauseScheduledReportArgs = {
67390
68293
  id: Scalars['ID']['input'];
67391
68294
  };
67392
68295
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68296
+ export type MutationBraPinVaultDocumentArgs = {
68297
+ id: Scalars['ID']['input'];
68298
+ input: BraPinVaultDocumentInput;
68299
+ };
68300
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67393
68301
  export type MutationBraRecalcGoalProjectionArgs = {
67394
68302
  fundedAmount: Scalars['Float']['input'];
67395
68303
  id: Scalars['ID']['input'];
@@ -67403,6 +68311,11 @@ export type MutationBraRefreshHoldingPricesArgs = {
67403
68311
  accountId: Scalars['ID']['input'];
67404
68312
  };
67405
68313
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68314
+ export type MutationBraRemoveVaultDocumentArgs = {
68315
+ documentId: Scalars['ID']['input'];
68316
+ id: Scalars['ID']['input'];
68317
+ };
68318
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67406
68319
  export type MutationBraResolveInsightArgs = {
67407
68320
  id: Scalars['ID']['input'];
67408
68321
  };
@@ -67420,6 +68333,16 @@ export type MutationBraRevokeAggregationLinkArgs = {
67420
68333
  id: Scalars['ID']['input'];
67421
68334
  };
67422
68335
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68336
+ export type MutationBraRevokeVaultRecipientArgs = {
68337
+ beneficiaryId: Scalars['ID']['input'];
68338
+ id: Scalars['ID']['input'];
68339
+ };
68340
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68341
+ export type MutationBraSetAccountFeeArgs = {
68342
+ accountId: Scalars['ID']['input'];
68343
+ input: BraFeeMetadataInput;
68344
+ };
68345
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67423
68346
  export type MutationBraSetAdvisorRoleArgs = {
67424
68347
  role: BraAdvisorRole;
67425
68348
  userId: Scalars['ID']['input'];
@@ -67434,12 +68357,22 @@ export type MutationBraSetFxBaseCurrencyArgs = {
67434
68357
  baseCurrency: Scalars['String']['input'];
67435
68358
  };
67436
68359
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68360
+ export type MutationBraSetHoldingExpenseRatioArgs = {
68361
+ holdingId: Scalars['ID']['input'];
68362
+ input: BraFeeMetadataInput;
68363
+ };
68364
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67437
68365
  export type MutationBraSyncAggregationLinkArgs = {
67438
68366
  id: Scalars['ID']['input'];
67439
68367
  };
67440
68368
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68369
+ export type MutationBraSyncMyCrmArgs = {
68370
+ id: Scalars['ID']['input'];
68371
+ };
68372
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67441
68373
  export type MutationBraTransitionRebalanceProposalArgs = {
67442
68374
  id: Scalars['ID']['input'];
68375
+ note?: InputMaybe<Scalars['String']['input']>;
67443
68376
  status: BraRebalanceStatus;
67444
68377
  };
67445
68378
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
@@ -67452,6 +68385,11 @@ export type MutationBraUpdateAccountArgs = {
67452
68385
  input: BraUpdateAccountInput;
67453
68386
  };
67454
68387
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68388
+ export type MutationBraUpdateEntityArgs = {
68389
+ id: Scalars['ID']['input'];
68390
+ input: BraEntityInput;
68391
+ };
68392
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67455
68393
  export type MutationBraUpdateGoalArgs = {
67456
68394
  id: Scalars['ID']['input'];
67457
68395
  input: BraUpdateGoalInput;
@@ -67476,6 +68414,10 @@ export type MutationBraUpsertMyAdvisorBrandingArgs = {
67476
68414
  input: BraUpsertAdvisorBrandingInput;
67477
68415
  };
67478
68416
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68417
+ export type MutationBrainyrichVaultDocumentDownloadUrlArgs = {
68418
+ documentId: Scalars['ID']['input'];
68419
+ };
68420
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67479
68421
  export type MutationBuiAcknowledgeCourseKnowledgeChangeArgs = {
67480
68422
  id: Scalars['ID']['input'];
67481
68423
  revision: Scalars['ID']['input'];
@@ -68960,6 +69902,14 @@ export type MutationCooArchiveCollectionArgs = {
68960
69902
  id: Scalars['ID']['input'];
68961
69903
  };
68962
69904
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69905
+ export type MutationCooArchiveCreatorRateCardArgs = {
69906
+ id: Scalars['ID']['input'];
69907
+ };
69908
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69909
+ export type MutationCooArchiveRetailerFeedArgs = {
69910
+ id: Scalars['ID']['input'];
69911
+ };
69912
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68963
69913
  export type MutationCooArchiveStyleItemArgs = {
68964
69914
  id: Scalars['ID']['input'];
68965
69915
  };
@@ -68980,6 +69930,14 @@ export type MutationCooCheckoutArgs = {
68980
69930
  input: CooCheckoutInput;
68981
69931
  };
68982
69932
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69933
+ export type MutationCooCreateArticleArgs = {
69934
+ input: CooEditorialArticleInput;
69935
+ };
69936
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69937
+ export type MutationCooCreateBackInStockAlertArgs = {
69938
+ input: CooCreatePriceAlertInput;
69939
+ };
69940
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68983
69941
  export type MutationCooCreateBrandArgs = {
68984
69942
  input: CooCreateBrandInput;
68985
69943
  };
@@ -68992,6 +69950,10 @@ export type MutationCooCreateCollectionArgs = {
68992
69950
  input: CooCreateCollectionInput;
68993
69951
  };
68994
69952
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69953
+ export type MutationCooCreateCreatorRateCardArgs = {
69954
+ input: CooCreatorRateCardInput;
69955
+ };
69956
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68995
69957
  export type MutationCooCreateLookArgs = {
68996
69958
  input: CooCreateLookInput;
68997
69959
  };
@@ -69000,6 +69962,14 @@ export type MutationCooCreateLookbookArgs = {
69000
69962
  input: CooCreateLookbookInput;
69001
69963
  };
69002
69964
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69965
+ export type MutationCooCreatePriceDropAlertArgs = {
69966
+ input: CooCreatePriceAlertInput;
69967
+ };
69968
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69969
+ export type MutationCooCreateRetailerFeedArgs = {
69970
+ input: CooRetailerFeedInput;
69971
+ };
69972
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69003
69973
  export type MutationCooCreateStyleItemArgs = {
69004
69974
  input: CooCreateStyleItemInput;
69005
69975
  };
@@ -69017,6 +69987,10 @@ export type MutationCooDeclineReturnRequestArgs = {
69017
69987
  input: CooDeclineReturnRequestInput;
69018
69988
  };
69019
69989
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69990
+ export type MutationCooDeleteArticleArgs = {
69991
+ id: Scalars['ID']['input'];
69992
+ };
69993
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69020
69994
  export type MutationCooDeleteCollaborationArgs = {
69021
69995
  id: Scalars['ID']['input'];
69022
69996
  };
@@ -69029,6 +70003,14 @@ export type MutationCooDeleteLookbookArgs = {
69029
70003
  id: Scalars['ID']['input'];
69030
70004
  };
69031
70005
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70006
+ export type MutationCooDeletePriceAlertArgs = {
70007
+ id: Scalars['ID']['input'];
70008
+ };
70009
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70010
+ export type MutationCooDeleteTrendReportArgs = {
70011
+ id: Scalars['ID']['input'];
70012
+ };
70013
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69032
70014
  export type MutationCooFeatureStyleItemArgs = {
69033
70015
  id: Scalars['ID']['input'];
69034
70016
  };
@@ -69037,6 +70019,15 @@ export type MutationCooFollowArgs = {
69037
70019
  followeeId: Scalars['ID']['input'];
69038
70020
  };
69039
70021
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70022
+ export type MutationCooGenerateTrendReportArgs = {
70023
+ input: CooGenerateTrendReportInput;
70024
+ };
70025
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70026
+ export type MutationCooImportRetailerSnapshotArgs = {
70027
+ id: Scalars['ID']['input'];
70028
+ snapshot: Scalars['JSON']['input'];
70029
+ };
70030
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69040
70031
  export type MutationCooLikeLookArgs = {
69041
70032
  id: Scalars['ID']['input'];
69042
70033
  };
@@ -69045,6 +70036,11 @@ export type MutationCooLogWardrobeWearArgs = {
69045
70036
  id: Scalars['ID']['input'];
69046
70037
  };
69047
70038
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70039
+ export type MutationCooMapRetailerOfferArgs = {
70040
+ offerId: Scalars['ID']['input'];
70041
+ styleItemId?: InputMaybe<Scalars['ID']['input']>;
70042
+ };
70043
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69048
70044
  export type MutationCooPayCollaborationFeeArgs = {
69049
70045
  id: Scalars['ID']['input'];
69050
70046
  };
@@ -69053,6 +70049,10 @@ export type MutationCooPreviewExternalCatalogArgs = {
69053
70049
  source: CooExternalCatalogSourceInput;
69054
70050
  };
69055
70051
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70052
+ export type MutationCooProposeRateCardArgs = {
70053
+ input: CooRateCardProposalInput;
70054
+ };
70055
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69056
70056
  export type MutationCooPublishCollectionArgs = {
69057
70057
  id: Scalars['ID']['input'];
69058
70058
  };
@@ -69061,10 +70061,19 @@ export type MutationCooPublishLookArgs = {
69061
70061
  id: Scalars['ID']['input'];
69062
70062
  };
69063
70063
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70064
+ export type MutationCooPublishTrendReportArgs = {
70065
+ id: Scalars['ID']['input'];
70066
+ publish: Scalars['Boolean']['input'];
70067
+ };
70068
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69064
70069
  export type MutationCooRecordLegalAcceptanceArgs = {
69065
70070
  input: CooRecordLegalAcceptanceInput;
69066
70071
  };
69067
70072
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70073
+ export type MutationCooRefreshRetailerFeedArgs = {
70074
+ id: Scalars['ID']['input'];
70075
+ };
70076
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69068
70077
  export type MutationCooRefundBrandOrderArgs = {
69069
70078
  input: CooRefundBrandOrderInput;
69070
70079
  };
@@ -69102,10 +70111,35 @@ export type MutationCooReviewCollaborationArgs = {
69102
70111
  input: CooReviewCollaborationInput;
69103
70112
  };
69104
70113
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70114
+ export type MutationCooReviewRetailerFeedArgs = {
70115
+ approved: Scalars['Boolean']['input'];
70116
+ id: Scalars['ID']['input'];
70117
+ notes: Scalars['String']['input'];
70118
+ };
70119
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69105
70120
  export type MutationCooSaveLookArgs = {
69106
70121
  id: Scalars['ID']['input'];
69107
70122
  };
69108
70123
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70124
+ export type MutationCooSavePriceAlertArgs = {
70125
+ input: CooPriceAlertInput;
70126
+ };
70127
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70128
+ export type MutationCooSetArticleStatusArgs = {
70129
+ id: Scalars['ID']['input'];
70130
+ status: CooEditorialStatus;
70131
+ };
70132
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70133
+ export type MutationCooSetCreatorRateCardPublishedArgs = {
70134
+ id: Scalars['ID']['input'];
70135
+ published: Scalars['Boolean']['input'];
70136
+ };
70137
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70138
+ export type MutationCooSetRetailerFeedEnabledArgs = {
70139
+ enabled: Scalars['Boolean']['input'];
70140
+ id: Scalars['ID']['input'];
70141
+ };
70142
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69109
70143
  export type MutationCooSetStyleItemInventoryArgs = {
69110
70144
  id: Scalars['ID']['input'];
69111
70145
  input: CooSetStyleItemInventoryInput;
@@ -69158,6 +70192,11 @@ export type MutationCooUnsaveLookArgs = {
69158
70192
  id: Scalars['ID']['input'];
69159
70193
  };
69160
70194
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70195
+ export type MutationCooUpdateArticleArgs = {
70196
+ id: Scalars['ID']['input'];
70197
+ input: CooEditorialArticleInput;
70198
+ };
70199
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69161
70200
  export type MutationCooUpdateBrandArgs = {
69162
70201
  id: Scalars['ID']['input'];
69163
70202
  input: CooUpdateBrandInput;
@@ -69178,6 +70217,11 @@ export type MutationCooUpdateCollectionArgs = {
69178
70217
  input: CooUpdateCollectionInput;
69179
70218
  };
69180
70219
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70220
+ export type MutationCooUpdateCreatorRateCardArgs = {
70221
+ id: Scalars['ID']['input'];
70222
+ input: CooCreatorRateCardInput;
70223
+ };
70224
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69181
70225
  export type MutationCooUpdateLookArgs = {
69182
70226
  id: Scalars['ID']['input'];
69183
70227
  input: CooUpdateLookInput;
@@ -77871,6 +78915,10 @@ export type MutationPswCancelInvoiceArgs = {
77871
78915
  id: Scalars['ID']['input'];
77872
78916
  };
77873
78917
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
78918
+ export type MutationPswCancelRecurringFilingArgs = {
78919
+ id: Scalars['ID']['input'];
78920
+ };
78921
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
77874
78922
  export type MutationPswCancelRetainerBillingArgs = {
77875
78923
  id: Scalars['ID']['input'];
77876
78924
  };
@@ -77958,6 +79006,10 @@ export type MutationPswCreatePractitionerCredentialArgs = {
77958
79006
  requestKey: Scalars['String']['input'];
77959
79007
  };
77960
79008
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
79009
+ export type MutationPswCreateRecurringFilingArgs = {
79010
+ input: PswCreateRecurringFilingInput;
79011
+ };
79012
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
77961
79013
  export type MutationPswCreateRetainerDraftInvoiceArgs = {
77962
79014
  input: PswCreateRetainerDraftInvoiceInput;
77963
79015
  };
@@ -78089,6 +79141,10 @@ export type MutationPswRevokeObligationReminderConsentArgs = {
78089
79141
  id: Scalars['ID']['input'];
78090
79142
  };
78091
79143
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
79144
+ export type MutationPswRunScheduledFilingReminderArgs = {
79145
+ filingId: Scalars['ID']['input'];
79146
+ };
79147
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
78092
79148
  export type MutationPswRunScheduledRetainerBillingArgs = {
78093
79149
  engagementId: Scalars['ID']['input'];
78094
79150
  };
@@ -78651,6 +79707,11 @@ export type MutationRejectChangeRequestArgs = {
78651
79707
  reason?: InputMaybe<Scalars['String']['input']>;
78652
79708
  };
78653
79709
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
79710
+ export type MutationRejectConnectorSubmissionArgs = {
79711
+ id: Scalars['ID']['input'];
79712
+ reason: Scalars['String']['input'];
79713
+ };
79714
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
78654
79715
  export type MutationRejectExpenseArgs = {
78655
79716
  id: Scalars['ID']['input'];
78656
79717
  reason?: InputMaybe<Scalars['String']['input']>;
@@ -80978,6 +82039,10 @@ export type MutationSubmitApprovalRequestArgs = {
80978
82039
  input: SubmitApprovalRequestInput;
80979
82040
  };
80980
82041
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82042
+ export type MutationSubmitConnectorArgs = {
82043
+ input: SubmitConnectorInput;
82044
+ };
82045
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
80981
82046
  export type MutationSubmitExpenseForApprovalArgs = {
80982
82047
  id: Scalars['ID']['input'];
80983
82048
  workspaceId: Scalars['ID']['input'];
@@ -81276,6 +82341,10 @@ export type MutationTecApproveMentorArgs = {
81276
82341
  id: Scalars['ID']['input'];
81277
82342
  };
81278
82343
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82344
+ export type MutationTecArchiveAssessmentArgs = {
82345
+ id: Scalars['ID']['input'];
82346
+ };
82347
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81279
82348
  export type MutationTecArchiveCourseArgs = {
81280
82349
  id: Scalars['ID']['input'];
81281
82350
  };
@@ -81296,6 +82365,10 @@ export type MutationTecCancelSessionArgs = {
81296
82365
  id: Scalars['ID']['input'];
81297
82366
  };
81298
82367
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82368
+ export type MutationTecClaimAssessmentCertificateArgs = {
82369
+ attemptId: Scalars['ID']['input'];
82370
+ };
82371
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81299
82372
  export type MutationTecCompleteHackathonArgs = {
81300
82373
  id: Scalars['ID']['input'];
81301
82374
  };
@@ -81315,6 +82388,10 @@ export type MutationTecConfirmSessionArgs = {
81315
82388
  meetingUrl?: InputMaybe<Scalars['String']['input']>;
81316
82389
  };
81317
82390
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82391
+ export type MutationTecCreateAssessmentArgs = {
82392
+ input: TecCreateAssessmentInput;
82393
+ };
82394
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81318
82395
  export type MutationTecCreateCourseArgs = {
81319
82396
  input: TecCreateCourseInput;
81320
82397
  };
@@ -81343,6 +82420,12 @@ export type MutationTecEnrollArgs = {
81343
82420
  input: TecEnrollInput;
81344
82421
  };
81345
82422
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82423
+ export type MutationTecExportScormPackageArgs = {
82424
+ appOrigin?: InputMaybe<Scalars['String']['input']>;
82425
+ courseId: Scalars['ID']['input'];
82426
+ version?: InputMaybe<TecScormVersion>;
82427
+ };
82428
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81346
82429
  export type MutationTecGenerateStudyPlanArgs = {
81347
82430
  input: TecGenerateStudyPlanInput;
81348
82431
  };
@@ -81363,6 +82446,10 @@ export type MutationTecOpenRegistrationArgs = {
81363
82446
  id: Scalars['ID']['input'];
81364
82447
  };
81365
82448
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82449
+ export type MutationTecPublishAssessmentArgs = {
82450
+ id: Scalars['ID']['input'];
82451
+ };
82452
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81366
82453
  export type MutationTecPublishCourseArgs = {
81367
82454
  id: Scalars['ID']['input'];
81368
82455
  };
@@ -81371,6 +82458,12 @@ export type MutationTecPublishProblemArgs = {
81371
82458
  id: Scalars['ID']['input'];
81372
82459
  };
81373
82460
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82461
+ export type MutationTecRecordAssessmentSignalArgs = {
82462
+ attemptId: Scalars['ID']['input'];
82463
+ detail?: InputMaybe<Scalars['JSON']['input']>;
82464
+ signal: TecAssessmentSignal;
82465
+ };
82466
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81374
82467
  export type MutationTecRecordLegalAcceptanceArgs = {
81375
82468
  input: TecRecordLegalAcceptanceInput;
81376
82469
  };
@@ -81391,6 +82484,12 @@ export type MutationTecReorderPortfolioItemsArgs = {
81391
82484
  input: TecReorderPortfolioItemsInput;
81392
82485
  };
81393
82486
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82487
+ export type MutationTecReviewAssessmentAttemptArgs = {
82488
+ decision: TecAssessmentReviewDecision;
82489
+ id: Scalars['ID']['input'];
82490
+ notes?: InputMaybe<Scalars['String']['input']>;
82491
+ };
82492
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81394
82493
  export type MutationTecReviewSubmissionArgs = {
81395
82494
  submissionId: Scalars['ID']['input'];
81396
82495
  };
@@ -81408,12 +82507,22 @@ export type MutationTecRunSolutionArgs = {
81408
82507
  input: TecRunSolutionInput;
81409
82508
  };
81410
82509
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82510
+ export type MutationTecSaveAssessmentAnswersArgs = {
82511
+ answers: Array<Scalars['Int']['input']>;
82512
+ attemptId: Scalars['ID']['input'];
82513
+ };
82514
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81411
82515
  export type MutationTecScoreTeamArgs = {
81412
82516
  id: Scalars['ID']['input'];
81413
82517
  score: Scalars['Int']['input'];
81414
82518
  winner?: InputMaybe<Scalars['Boolean']['input']>;
81415
82519
  };
81416
82520
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82521
+ export type MutationTecStartAssessmentArgs = {
82522
+ acceptMonitoring?: InputMaybe<Scalars['Boolean']['input']>;
82523
+ assessmentId: Scalars['ID']['input'];
82524
+ };
82525
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81417
82526
  export type MutationTecStartHackathonArgs = {
81418
82527
  id: Scalars['ID']['input'];
81419
82528
  };
@@ -81422,6 +82531,11 @@ export type MutationTecStartJudgingArgs = {
81422
82531
  id: Scalars['ID']['input'];
81423
82532
  };
81424
82533
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82534
+ export type MutationTecSubmitAssessmentArgs = {
82535
+ answers?: InputMaybe<Array<Scalars['Int']['input']>>;
82536
+ attemptId: Scalars['ID']['input'];
82537
+ };
82538
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81425
82539
  export type MutationTecSubmitLessonQuizArgs = {
81426
82540
  answers: Array<Scalars['Int']['input']>;
81427
82541
  lessonId: Scalars['ID']['input'];
@@ -81435,6 +82549,11 @@ export type MutationTecSubmitSolutionArgs = {
81435
82549
  input: TecSubmitSolutionInput;
81436
82550
  };
81437
82551
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82552
+ export type MutationTecUpdateAssessmentArgs = {
82553
+ id: Scalars['ID']['input'];
82554
+ input: TecUpdateAssessmentInput;
82555
+ };
82556
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81438
82557
  export type MutationTecUpdateCourseArgs = {
81439
82558
  id: Scalars['ID']['input'];
81440
82559
  input: TecUpdateCourseInput;
@@ -82653,6 +83772,10 @@ export type MutationUpdateGgnomadEventArgs = {
82653
83772
  input: UpdateGgnomadEventInput;
82654
83773
  };
82655
83774
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
83775
+ export type MutationUpdateGgnomadGovernancePolicyArgs = {
83776
+ input: UpdateGgnomadGovernancePolicyInput;
83777
+ };
83778
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82656
83779
  export type MutationUpdateGgnomadOperatorStorefrontArgs = {
82657
83780
  id: Scalars['ID']['input'];
82658
83781
  input: UpdateGgnomadOperatorStorefrontInput;
@@ -84080,6 +85203,10 @@ export type MutationWakeMeshAgentArgs = {
84080
85203
  agentId: Scalars['ID']['input'];
84081
85204
  };
84082
85205
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
85206
+ export type MutationWithdrawConnectorSubmissionArgs = {
85207
+ id: Scalars['ID']['input'];
85208
+ };
85209
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
84083
85210
  export type MutationWithdrawHousingvistaOfferArgs = {
84084
85211
  id: Scalars['ID']['input'];
84085
85212
  };
@@ -94122,6 +95249,13 @@ export type PswCreatePractitionerInput = {
94122
95249
  practiceArea: Scalars['String']['input'];
94123
95250
  requestKey: Scalars['String']['input'];
94124
95251
  };
95252
+ export type PswCreateRecurringFilingInput = {
95253
+ cadence: PswRetainerCadence;
95254
+ engagementId: Scalars['ID']['input'];
95255
+ nextDueAt: Scalars['DateTime']['input'];
95256
+ reminderDaysBefore?: InputMaybe<Scalars['Int']['input']>;
95257
+ title: Scalars['String']['input'];
95258
+ };
94125
95259
  export type PswCreateRetainerDraftInvoiceInput = {
94126
95260
  engagementId: Scalars['ID']['input'];
94127
95261
  idempotencyKey: Scalars['String']['input'];
@@ -94454,6 +95588,8 @@ export type PswEngagement = {
94454
95588
  name: Scalars['String']['output'];
94455
95589
  nextRetainerRunAt?: Maybe<Scalars['DateTime']['output']>;
94456
95590
  practiceAreaId?: Maybe<Scalars['ID']['output']>;
95591
+ /** Recurring compliance filings/reviews for this engagement (BOFF-8790). */
95592
+ recurringFilings: Array<PswRecurringFiling>;
94457
95593
  responsiblePartnerId?: Maybe<Scalars['ID']['output']>;
94458
95594
  retainerAmount?: Maybe<Scalars['Float']['output']>;
94459
95595
  retainerCadence?: Maybe<PswRetainerCadence>;
@@ -94722,6 +95858,8 @@ export type PswPracticeAnalytics = {
94722
95858
  __typename?: 'PswPracticeAnalytics';
94723
95859
  activePractitioners: Scalars['Int']['output'];
94724
95860
  agedReceivables: PswAgedReceivables;
95861
+ /** Every currency the workspace has invoiced in (any status, all time), most-used first. */
95862
+ availableCurrencies: Array<Scalars['String']['output']>;
94725
95863
  billableHours: Scalars['Float']['output'];
94726
95864
  /** billableHours / totalHours, 0-100. */
94727
95865
  billableMixPct: Scalars['Float']['output'];
@@ -94811,6 +95949,13 @@ export type PswPrepareObligationReminderInput = {
94811
95949
  requestKey: Scalars['String']['input'];
94812
95950
  scheduledAt: Scalars['DateTime']['input'];
94813
95951
  };
95952
+ export type PswQuotaCountMetric = {
95953
+ __typename?: 'PswQuotaCountMetric';
95954
+ currentValue: Scalars['Int']['output'];
95955
+ productId: Scalars['String']['output'];
95956
+ quotaName: Scalars['String']['output'];
95957
+ workspaceId: Scalars['ID']['output'];
95958
+ };
94814
95959
  export type PswReconcileTrustAccountInput = {
94815
95960
  asOf?: InputMaybe<Scalars['DateTime']['input']>;
94816
95961
  statementBalance?: InputMaybe<Scalars['Float']['input']>;
@@ -94861,6 +96006,22 @@ export declare enum PswRecordedValidity {
94861
96006
  ReportedInterval = "REPORTED_INTERVAL",
94862
96007
  Unknown = "UNKNOWN"
94863
96008
  }
96009
+ export type PswRecurringFiling = {
96010
+ __typename?: 'PswRecurringFiling';
96011
+ active: Scalars['Boolean']['output'];
96012
+ cadence: PswRetainerCadence;
96013
+ createdAt: Scalars['DateTime']['output'];
96014
+ engagementId: Scalars['ID']['output'];
96015
+ id: Scalars['ID']['output'];
96016
+ lastReminderSentAt?: Maybe<Scalars['DateTime']['output']>;
96017
+ nextDueAt: Scalars['DateTime']['output'];
96018
+ reminderDaysBefore: Scalars['Int']['output'];
96019
+ /** Scheduler job id of the recurring reminder cron, set by pswCreateRecurringFiling. Null when not scheduled (e.g. after cancel). */
96020
+ reminderScheduleId?: Maybe<Scalars['String']['output']>;
96021
+ title: Scalars['String']['output'];
96022
+ updatedAt: Scalars['DateTime']['output'];
96023
+ workspaceId: Scalars['ID']['output'];
96024
+ };
94864
96025
  export type PswRequestDataErasureInput = {
94865
96026
  /** Reason for the erasure request; required for the compliance audit trail. */
94866
96027
  reason: Scalars['String']['input'];
@@ -95811,6 +96972,7 @@ export type Query = {
95811
96972
  /** The calling workspace's end-of-term erasure record, if one exists. */
95812
96973
  botmanorWorkspaceErasure?: Maybe<BotmanorWorkspaceErasure>;
95813
96974
  braAccount?: Maybe<BraAccount>;
96975
+ braAccountFeeReport: BraAccountFeeReport;
95814
96976
  /** Admin firm supervision dashboard: AUM, advisors, and household status breakdown. FIRM_ADMIN only. */
95815
96977
  braAdminFirmSummary: BraAdminFirmSummary;
95816
96978
  braAggregationLink?: Maybe<BraAggregationLink>;
@@ -95819,6 +96981,7 @@ export type Query = {
95819
96981
  braClientPortalSummary: BraClientPortalSummary;
95820
96982
  /** Creates a real Plaid Link session token (Sandbox by default) to start the account-linking consent flow. Throws PROVIDER_NOT_CONFIGURED when PLAID_CLIENT_ID/PLAID_SECRET are not set. */
95821
96983
  braCreatePlaidLinkToken: BraPlaidLinkToken;
96984
+ braEntitySummary: BraEntitySummary;
95822
96985
  /** Firm-wide aggregate AUM + per-advisor breakdown. FIRM_ADMIN only. */
95823
96986
  braFirmReport: BraFirmReport;
95824
96987
  /** The caller's saved base-currency preference for braNetWorthSummary (defaults to USD when unset). */
@@ -95834,6 +96997,8 @@ export type Query = {
95834
96997
  /** The full firm roster. FIRM_ADMIN only — see BraAdvisor scope note above. */
95835
96998
  braListAdvisors: Array<BraAdvisor>;
95836
96999
  braListAggregationLinks: BraAggregationLinkConnection;
97000
+ /** Entities share household permissions. Keyset pagination: pass the last ID as after; pages contain at most 100 entities. */
97001
+ braListEntities: Array<BraEntity>;
95837
97002
  braListGoalFundings: BraGoalFundingConnection;
95838
97003
  braListGoals: BraGoalConnection;
95839
97004
  braListHoldings: BraHoldingConnection;
@@ -95855,15 +97020,25 @@ export type Query = {
95855
97020
  braMyAdvisorBranding?: Maybe<BraAdvisorBranding>;
95856
97021
  /** The calling actor's own firm-roster row, or null if they are not on the roster yet. */
95857
97022
  braMyAdvisorProfile?: Maybe<BraAdvisor>;
95858
- /** Aggregate the caller's (or a given owner's) accounts + holdings into a single net-worth summary, broken out by asset class. `baseCurrency` overrides the owner's saved BraFxPreference for this one call; omit to use the saved preference (defaulting to USD when none is set). */
97023
+ braMyCrmLink: BraCrmLink;
97024
+ braMyCrmLinks: BraCrmLinkPage;
97025
+ braMyCrmRecords: BraCrmRecordPage;
97026
+ /** Recipient-owned invitation page, ordered newest first. Use limit/offset to inspect further invitations. */
97027
+ braMyVaultInvitations: Array<BraVaultInvitation>;
97028
+ braMyVaults: Array<BraDocumentVault>;
97029
+ /** Aggregate accounts + holdings visible to the caller into a net-worth summary, broken out by asset class. For a delegated owner, only accounts in households assigned to the caller contribute. `baseCurrency` overrides the caller's saved BraFxPreference for this call; omit to use that preference (default USD). */
95859
97030
  braNetWorthSummary: BraNetWorthSummary;
95860
97031
  braPortfolio?: Maybe<BraPortfolio>;
95861
97032
  braPortfolioRiskSignals: BraPortfolioRiskReport;
95862
97033
  braPortfolioRiskSummary: BraRiskSummary;
97034
+ /** Audit trail (oldest first) of one rebalance proposal the caller can see. */
97035
+ braRebalanceProposalAuditTrail: Array<BraRebalanceProposalAuditEntry>;
95863
97036
  /** Real, regenerated-on-demand PDF for one report run, base64-encoded (same pattern as timeCampusInvoicePdf). */
95864
97037
  braReportRunPdf: Scalars['String']['output'];
95865
97038
  /** Preview tax-loss-harvesting candidates for a portfolio without persisting anything. */
95866
97039
  braTaxLossOpportunities: BraTaxLossReport;
97040
+ braVault: BraVaultDetail;
97041
+ braVaultGrantedDocuments: Array<BraVaultGrantedDocument>;
95867
97042
  budget?: Maybe<AssetBudget>;
95868
97043
  budgets: Array<AssetBudget>;
95869
97044
  /** The workspace's admin copilot proposals and their outcomes, newest first — the audit trail of what was proposed, who confirmed or dismissed it, and what ran. Same gate as `buiAdminCopilotAsk`. */
@@ -96170,11 +97345,17 @@ export type Query = {
96170
97345
  * its owner before saving it (BOFF-9726).
96171
97346
  */
96172
97347
  connectionsNotUsableBy: Array<Scalars['ID']['output']>;
97348
+ /** Pending and overdue counts for the review queue. Platform reviewers only. */
97349
+ connectorSubmissionReviewStats: ConnectorSubmissionReviewStats;
97350
+ /** Review queue: every submission, oldest pending first. Platform reviewers only. */
97351
+ connectorSubmissions: ConnectorSubmissionList;
96173
97352
  /** Whether continuous optimisation is on for this workspace, and the system workflows it seeded. */
96174
97353
  continuousOptimisationSettings: ContinuousOptimisationSettings;
96175
97354
  conversation?: Maybe<Conversation>;
96176
97355
  conversationCapabilities: ConversationFeatures;
96177
97356
  conversations: ConversationConnection;
97357
+ /** At most 100 card IDs; private or missing items are omitted and currencies are never converted. */
97358
+ cooBestPrices: Array<CooBestPriceSummary>;
96178
97359
  cooBrand?: Maybe<CooBrand>;
96179
97360
  /** One paid order as the brand sees it. Returns null when the order holds none of the brand's pieces. */
96180
97361
  cooBrandOrder?: Maybe<CooBrandOrder>;
@@ -96186,6 +97367,10 @@ export type Query = {
96186
97367
  cooBrandReturnRequests: CooReturnRequestConnection;
96187
97368
  cooCollaboration?: Maybe<CooCollaboration>;
96188
97369
  cooCollection?: Maybe<CooCollection>;
97370
+ /** Approved, fresh, in-stock offers ordered by actual integer price, without currency conversion. */
97371
+ cooComparePrices: Array<CooComparedRetailerOffer>;
97372
+ cooCreatorRateCard?: Maybe<CooCreatorRateCard>;
97373
+ cooEditorialFeatureOptions: CooEditorialFeatureConnection;
96189
97374
  /** Liveness/identity probe for the Coolandlovely subgraph. */
96190
97375
  cooHealth: Scalars['String']['output'];
96191
97376
  /** Whether the calling actor currently follows the given user. */
@@ -96201,14 +97386,21 @@ export type Query = {
96201
97386
  cooListWardrobeItems: CooWardrobeItemConnection;
96202
97387
  cooLook?: Maybe<CooLook>;
96203
97388
  cooLookbook?: Maybe<CooLookbook>;
97389
+ /** Author-owned article, with a primary owner-filtered lookup. */
97390
+ cooMyArticle?: Maybe<CooEditorialArticle>;
97391
+ /** Author-owned drafts and published articles in the active workspace. */
97392
+ cooMyArticles: CooEditorialArticleConnection;
96204
97393
  /** The calling shopper's cart in this workspace. */
96205
97394
  cooMyCart: CooCart;
96206
97395
  /** The calling creator's collaboration fees, newest first: fees awaiting the brand's payment and fees already paid into their earnings. */
96207
97396
  cooMyCollaborationPayouts: CooCollaborationPayoutConnection;
97397
+ /** The authenticated creator's analytics. Monetary statistics use only the requested three-letter currency; currencies are never combined or converted. */
97398
+ cooMyCreatorAnalytics: CooCreatorAnalytics;
96208
97399
  /** The calling creator's look commissions, newest first. */
96209
97400
  cooMyCreatorEarnings: CooCreatorEarningConnection;
96210
97401
  /** The calling creator's commission balance, from global-billing's earnings ledger. */
96211
97402
  cooMyCreatorEarningsSummary: CooCreatorEarningsSummary;
97403
+ cooMyCreatorRateCards: CooCreatorRateCardConnection;
96212
97404
  /** Style profiles of the people who follow the calling actor. */
96213
97405
  cooMyFollowers: CooStyleProfileConnection;
96214
97406
  /** Style profiles of the people the calling actor follows. */
@@ -96219,9 +97411,24 @@ export type Query = {
96219
97411
  cooMyOrder?: Maybe<CooOrder>;
96220
97412
  /** The calling shopper's orders, newest first. */
96221
97413
  cooMyOrders: CooOrderConnection;
97414
+ cooMyPriceAlertDeliveries: CooPriceAlertDeliveryConnection;
97415
+ cooMyPriceAlerts: CooPriceAlertConnection;
97416
+ /** Only brands created by the caller can be used to send a rate-card proposal. */
97417
+ cooMyProposalBrands: CooBrandConnection;
97418
+ cooMyProposalInbox: CooCollaborationConnection;
97419
+ cooMyRetailerFeeds: CooRetailerFeedConnection;
96222
97420
  /** The calling shopper's own style profile (workspace-scoped, self). */
96223
97421
  cooMyStyleProfile?: Maybe<CooStyleProfile>;
97422
+ cooMyTrendReports: CooTrendReportConnection;
97423
+ cooPriceHistory: Array<CooObservedPriceDay>;
97424
+ cooPublishedArticle?: Maybe<CooEditorialArticle>;
97425
+ /** Explicitly published articles only. Workspace is a public publisher selector. */
97426
+ cooPublishedArticles: CooEditorialArticleConnection;
97427
+ cooPublishedCreatorRateCards: CooCreatorRateCardConnection;
97428
+ cooPublishedTrendReport?: Maybe<CooTrendReport>;
97429
+ cooPublishedTrendReports: CooTrendReportConnection;
96224
97430
  cooSearchLooks: CooLookConnection;
97431
+ cooSearchRetailerOffers: Array<CooComparedRetailerOffer>;
96225
97432
  cooSearchStyleItems: CooStyleItemConnection;
96226
97433
  /** A piece listed in the Burdenoff store, readable from any workspace. Null unless the piece is on sale in a published brand storefront right now (drafts, retired pieces and pieces of unpublished brands read as null). */
96227
97434
  cooStoreListedPiece?: Maybe<CooStoreListedPiece>;
@@ -97299,9 +98506,13 @@ export type Query = {
97299
98506
  ggnomadEvent?: Maybe<GgnomadEvent>;
97300
98507
  /** `status` (BOFF-4388) narrows to one GgnomadListingStatus. `minSustainabilityScore` (BOFF-4364) is an eco filter. `hasAccessibilityFeatures` (BOFF-4379) is an accessibility filter: only listings that declare every listed feature are returned. */
97301
98508
  ggnomadEvents: Array<GgnomadEvent>;
98509
+ /** BOFF-4392 — the GGNomad entity types the platform export service can export. */
98510
+ ggnomadExportEntityTypes: Array<Scalars['String']['output']>;
97302
98511
  ggnomadFavorites: Array<Scalars['JSON']['output']>;
97303
98512
  /** BOFF-4378 — the published FX rates against `baseCurrency` (default EUR). With `date` (YYYY-MM-DD), the rates that applied on that day (the latest published day on or before it), for reconciling past bookings. Fails with FX_RATES_UNAVAILABLE or FX_CURRENCY_UNSUPPORTED. */
97304
98513
  ggnomadFxRates: GgnomadFxRates;
98514
+ /** BOFF-4392 — the workspace's data residency and export governance policy. Requires ggnomad:manage. */
98515
+ ggnomadGovernancePolicy: GgnomadGovernancePolicy;
97305
98516
  ggnomadGroupTrip?: Maybe<GgnomadGroupTrip>;
97306
98517
  ggnomadGroupTripCostSplit: GgnomadGroupTripCostSplit;
97307
98518
  /** Tally + individual votes for every trip-plan item in the group trip that has at least one vote. */
@@ -97330,6 +98541,8 @@ export type Query = {
97330
98541
  ggnomadProviders: Array<GgnomadProvider>;
97331
98542
  /** BOFF-3699 — constraint violations in the plan (overlaps, capacity, event dates, budget, unavailable listings). Read-only; `budget` overrides the planner budget. Creator of the plan only. */
97332
98543
  ggnomadRepairTripPlan: Array<GgnomadTripPlanIssue>;
98544
+ /** BOFF-4392 — regions a workspace's GGNomad data can be pinned to. */
98545
+ ggnomadResidencyRegions: Array<GgnomadResidencyRegion>;
97333
98546
  ggnomadReviewSummary: GgnomadReviewSummary;
97334
98547
  ggnomadReviews: Array<GgnomadReview>;
97335
98548
  /** BOFF-3208 — searches properties, tours, events, activities and providers in this workspace in one ranked list. Emits a ggnomad.search.executed analytics event. */
@@ -98346,8 +99559,22 @@ export type Query = {
98346
99559
  myAssistantWorkflowConversationMessages: AssistantWorkflowMessagePage;
98347
99560
  myAssistantWorkflowConversations: AssistantWorkflowConversationPage;
98348
99561
  myBalanceTargets: Array<TimeCampusBalanceTarget>;
99562
+ /** One of your own connector submissions. */
99563
+ myConnectorSubmission?: Maybe<ConnectorSubmission>;
99564
+ /** Your own connector submissions, newest first. */
99565
+ myConnectorSubmissions: ConnectorSubmissionList;
98349
99566
  myContextSharingPolicy: TimeCampusContextSharingPolicy;
98350
99567
  myDeadTimeRadar: TimeCampusDeadTimeRadar;
99568
+ /**
99569
+ * Type C self-list: the calling driver's stops for one local calendar day,
99570
+ * ordered into a driving sequence. Identity comes from the authenticated
99571
+ * actor only. `timeZone` is the device's IANA zone (for example
99572
+ * `Asia/Kolkata`) so "today" matches the driver's clock, including on DST
99573
+ * transition days. `timezoneOffsetMinutes` (the client's
99574
+ * `Date#getTimezoneOffset()` value) is a fixed-offset fallback used only
99575
+ * when `timeZone` is omitted.
99576
+ */
99577
+ myDeliveryDay: MtwDriverDay;
98351
99578
  myEpodShipmentStatus?: Maybe<MtwOwnedEpodShipmentStatus>;
98352
99579
  /** BOFF-4386 — the caller's own commissions as a partner (Type B: NOT_FOUND unless the caller is that partner). */
98353
99580
  myGgnomadAffiliateCommissions: Array<GgnomadAffiliateCommission>;
@@ -98887,6 +100114,8 @@ export type Query = {
98887
100114
  promptUsageBreakdownV2: PromptUsageBreakdownV2;
98888
100115
  promptUsageSummary: PromptUsageSummary;
98889
100116
  promptUsageSummaryV2: PromptUsageSummaryV2;
100117
+ /** Ground-truth live counts for wspace-activity-svc's count reconciler (BOFF-10698): one sample per reusable live-count quota (proserviceworld.clients.active, proserviceworld.matters.concurrent) with the value the workspace counter should hold. Reconciler-only feed — the resolver admits service and super_admin actors exclusively; the internal gateway does not enforce @rbac. The request carries no x-workspace-id, so the workspace is bound from the argument via withWorkspaceContext. */
100118
+ proserviceworldCountMetrics: Array<PswQuotaCountMetric>;
98890
100119
  provenanceRecords: Array<ProvenanceRecord>;
98891
100120
  pswClient?: Maybe<PswClient>;
98892
100121
  pswComplianceCheck?: Maybe<PswComplianceCheck>;
@@ -99319,6 +100548,12 @@ export type Query = {
99319
100548
  teamWorkPatternSummary: WorkPatternSummary;
99320
100549
  /** Most recent work-pattern activity across every active member of the workspace, each entry resolved to the logging member's display identity. Powers Team Activity — unlike `workPatterns`, this never defaults to a single user's data. */
99321
100550
  teamWorkPatterns: Array<TeamWorkPatternEntry>;
100551
+ tecAssessment?: Maybe<TecAssessment>;
100552
+ tecAssessmentAttempt?: Maybe<TecAssessmentAttempt>;
100553
+ /** The audit trail of one attempt (instructor / admin). */
100554
+ tecAssessmentAttemptEvents: Array<TecAssessmentEvent>;
100555
+ /** Author view: the questions with their answer key. */
100556
+ tecAssessmentQuestionKey: Array<TecQuizQuestionKey>;
99322
100557
  /** Preview the cost of a session with a mentor before booking it -- does not create anything. Read access mirrors tecMentor (reading the mentor's rate). */
99323
100558
  tecCalculateSessionCost: TecSessionCostEstimate;
99324
100559
  /** BOFF-10480: compare up to `limit` (default 200, max 200) records of each kind in the calling workspace with their canonical Buildmyiq records. Read-only; the background parity check repairs drift on its own schedule. */
@@ -99337,6 +100572,10 @@ export type Query = {
99337
100572
  tecLesson?: Maybe<TecLesson>;
99338
100573
  /** Lesson-author view of a QUIZ lesson including the answer key (BOFF-4107). Gated on technospam-lesson update, the same permission that edits it, so a learner can never read the key. Empty for a lesson without a quiz. */
99339
100574
  tecLessonQuizKey: Array<TecQuizQuestionKey>;
100575
+ /** Instructor / admin view of every learner's attempts, e.g. the review queue (proctoringStatus: FLAGGED or PENDING_REVIEW). */
100576
+ tecListAssessmentAttempts: Array<TecAssessmentAttempt>;
100577
+ /** Assessments in the workspace, optionally for one course or status. */
100578
+ tecListAssessments: Array<TecAssessment>;
99340
100579
  /** Cross-learner, instructor/admin view of certificates — same "list-all" gating as tecListEnrollments. A learner viewing their own certificates must use buiMyCertificates(source: TECHNOSPAM) instead. */
99341
100580
  tecListCertificates: Array<TecCertificate>;
99342
100581
  tecListCourses: TecCourseConnection;
@@ -99358,6 +100597,10 @@ export type Query = {
99358
100597
  tecListSubmissions: TecSubmissionConnection;
99359
100598
  tecListTeams: TecHackathonTeamConnection;
99360
100599
  tecMentor?: Maybe<TecMentor>;
100600
+ /** One of the calling learner's own attempts (Type B); null for anyone else's. */
100601
+ tecMyAssessmentAttempt?: Maybe<TecAssessmentAttempt>;
100602
+ /** The calling learner's own attempts (Type C: filtered by the authenticated actor). An attempt past its deadline is closed and graded on read. */
100603
+ tecMyAssessmentAttempts: Array<TecAssessmentAttempt>;
99361
100604
  /**
99362
100605
  * One of the calling learner's own certificates (BOFF-3863). Self-scoped (Type B): owner-filtered by the authenticated actor; null otherwise.
99363
100606
  * @deprecated Use buiMyCertificate(id: <TecCertificate.buiCertificateId>). Deprecated 2026-10-31 (BOFF-10481, OVL-24); removal no earlier than 2027-01-29.
@@ -99384,6 +100627,8 @@ export type Query = {
99384
100627
  tecMyPayouts: TecMentorPayoutConnection;
99385
100628
  /** The calling learner's own portfolio. Self-scoped (Type C). Get-or-create: auto-provisions an (unpublished) portfolio the first time a learner touches this surface, so the client never has to branch on "no portfolio yet". */
99386
100629
  tecMyPortfolio: TecPortfolio;
100630
+ /** The reminders sent to the calling actor in this workspace, newest first. Self-scoped (Type C): the actorId filter is the access control; there is no recipient argument. `subjectId` narrows to one session or hackathon. `limit` defaults to 20 and is clamped to the range 1 to 100. */
100631
+ tecMyReminderDeliveries: Array<TecReminderDelivery>;
99387
100632
  /** A session the calling actor takes part in (BOFF-3863), as mentee directly or as mentor via their TecMentor profile, mirroring tecMySessions. Self-scoped (Type B): returns null for any other session. */
99388
100633
  tecMySession?: Maybe<TecMentorSession>;
99389
100634
  /** The calling actor's own sessions — as mentee directly, or as mentor via their TecMentor profile. Self-scoped (Type C): identity comes from the authenticated actor, never from a client-supplied mentorId/menteeId — the resolver filters server-side. */
@@ -100833,10 +102078,21 @@ export type QueryBraAccountArgs = {
100833
102078
  id: Scalars['ID']['input'];
100834
102079
  };
100835
102080
  /** Base Query type with placeholder field. Extended by individual query files. */
102081
+ export type QueryBraAccountFeeReportArgs = {
102082
+ accountId: Scalars['ID']['input'];
102083
+ benchmarkFeeBps?: InputMaybe<Scalars['Float']['input']>;
102084
+ grossAnnualReturnPct?: InputMaybe<Scalars['Float']['input']>;
102085
+ years?: InputMaybe<Scalars['Int']['input']>;
102086
+ };
102087
+ /** Base Query type with placeholder field. Extended by individual query files. */
100836
102088
  export type QueryBraAggregationLinkArgs = {
100837
102089
  id: Scalars['ID']['input'];
100838
102090
  };
100839
102091
  /** Base Query type with placeholder field. Extended by individual query files. */
102092
+ export type QueryBraEntitySummaryArgs = {
102093
+ id: Scalars['ID']['input'];
102094
+ };
102095
+ /** Base Query type with placeholder field. Extended by individual query files. */
100840
102096
  export type QueryBraFxRatesArgs = {
100841
102097
  baseCurrency: Scalars['String']['input'];
100842
102098
  };
@@ -100863,6 +102119,10 @@ export type QueryBraListAggregationLinksArgs = {
100863
102119
  pagination?: InputMaybe<PaginationInput>;
100864
102120
  };
100865
102121
  /** Base Query type with placeholder field. Extended by individual query files. */
102122
+ export type QueryBraListEntitiesArgs = {
102123
+ after?: InputMaybe<Scalars['ID']['input']>;
102124
+ };
102125
+ /** Base Query type with placeholder field. Extended by individual query files. */
100866
102126
  export type QueryBraListGoalFundingsArgs = {
100867
102127
  goalId: Scalars['ID']['input'];
100868
102128
  pagination?: InputMaybe<PaginationInput>;
@@ -100937,6 +102197,25 @@ export type QueryBraModelPortfolioArgs = {
100937
102197
  id: Scalars['ID']['input'];
100938
102198
  };
100939
102199
  /** Base Query type with placeholder field. Extended by individual query files. */
102200
+ export type QueryBraMyCrmLinkArgs = {
102201
+ id: Scalars['ID']['input'];
102202
+ };
102203
+ /** Base Query type with placeholder field. Extended by individual query files. */
102204
+ export type QueryBraMyCrmLinksArgs = {
102205
+ after?: InputMaybe<Scalars['String']['input']>;
102206
+ };
102207
+ /** Base Query type with placeholder field. Extended by individual query files. */
102208
+ export type QueryBraMyCrmRecordsArgs = {
102209
+ after?: InputMaybe<Scalars['String']['input']>;
102210
+ kind: BraCrmRecordKind;
102211
+ linkId: Scalars['ID']['input'];
102212
+ };
102213
+ /** Base Query type with placeholder field. Extended by individual query files. */
102214
+ export type QueryBraMyVaultInvitationsArgs = {
102215
+ limit?: InputMaybe<Scalars['Int']['input']>;
102216
+ offset?: InputMaybe<Scalars['Int']['input']>;
102217
+ };
102218
+ /** Base Query type with placeholder field. Extended by individual query files. */
100940
102219
  export type QueryBraNetWorthSummaryArgs = {
100941
102220
  baseCurrency?: InputMaybe<Scalars['String']['input']>;
100942
102221
  ownerId?: InputMaybe<Scalars['ID']['input']>;
@@ -100954,6 +102233,10 @@ export type QueryBraPortfolioRiskSummaryArgs = {
100954
102233
  portfolioId: Scalars['ID']['input'];
100955
102234
  };
100956
102235
  /** Base Query type with placeholder field. Extended by individual query files. */
102236
+ export type QueryBraRebalanceProposalAuditTrailArgs = {
102237
+ proposalId: Scalars['ID']['input'];
102238
+ };
102239
+ /** Base Query type with placeholder field. Extended by individual query files. */
100957
102240
  export type QueryBraReportRunPdfArgs = {
100958
102241
  id: Scalars['ID']['input'];
100959
102242
  };
@@ -100963,6 +102246,14 @@ export type QueryBraTaxLossOpportunitiesArgs = {
100963
102246
  thresholds?: InputMaybe<BraTaxLossThresholdInput>;
100964
102247
  };
100965
102248
  /** Base Query type with placeholder field. Extended by individual query files. */
102249
+ export type QueryBraVaultArgs = {
102250
+ id: Scalars['ID']['input'];
102251
+ };
102252
+ /** Base Query type with placeholder field. Extended by individual query files. */
102253
+ export type QueryBraVaultGrantedDocumentsArgs = {
102254
+ vaultId: Scalars['ID']['input'];
102255
+ };
102256
+ /** Base Query type with placeholder field. Extended by individual query files. */
100966
102257
  export type QueryBudgetArgs = {
100967
102258
  id: Scalars['ID']['input'];
100968
102259
  };
@@ -101803,6 +103094,11 @@ export type QueryConnectionsNotUsableByArgs = {
101803
103094
  principalId: Scalars['ID']['input'];
101804
103095
  };
101805
103096
  /** Base Query type with placeholder field. Extended by individual query files. */
103097
+ export type QueryConnectorSubmissionsArgs = {
103098
+ filter?: InputMaybe<ConnectorSubmissionFilterInput>;
103099
+ pagination?: InputMaybe<IntegrationsPaginationInput>;
103100
+ };
103101
+ /** Base Query type with placeholder field. Extended by individual query files. */
101806
103102
  export type QueryConversationArgs = {
101807
103103
  id: Scalars['ID']['input'];
101808
103104
  };
@@ -101819,6 +103115,11 @@ export type QueryConversationsArgs = {
101819
103115
  sort?: InputMaybe<ConversationSort>;
101820
103116
  };
101821
103117
  /** Base Query type with placeholder field. Extended by individual query files. */
103118
+ export type QueryCooBestPricesArgs = {
103119
+ currency: Scalars['String']['input'];
103120
+ styleItemIds: Array<Scalars['ID']['input']>;
103121
+ };
103122
+ /** Base Query type with placeholder field. Extended by individual query files. */
101822
103123
  export type QueryCooBrandArgs = {
101823
103124
  id: Scalars['ID']['input'];
101824
103125
  };
@@ -101852,6 +103153,20 @@ export type QueryCooCollectionArgs = {
101852
103153
  id: Scalars['ID']['input'];
101853
103154
  };
101854
103155
  /** Base Query type with placeholder field. Extended by individual query files. */
103156
+ export type QueryCooComparePricesArgs = {
103157
+ currency: Scalars['String']['input'];
103158
+ styleItemId: Scalars['ID']['input'];
103159
+ };
103160
+ /** Base Query type with placeholder field. Extended by individual query files. */
103161
+ export type QueryCooCreatorRateCardArgs = {
103162
+ id: Scalars['ID']['input'];
103163
+ };
103164
+ /** Base Query type with placeholder field. Extended by individual query files. */
103165
+ export type QueryCooEditorialFeatureOptionsArgs = {
103166
+ kind: CooEditorialFeatureKind;
103167
+ pagination?: InputMaybe<PaginationInput>;
103168
+ };
103169
+ /** Base Query type with placeholder field. Extended by individual query files. */
101855
103170
  export type QueryCooIsFollowingArgs = {
101856
103171
  followeeId: Scalars['ID']['input'];
101857
103172
  };
@@ -101915,15 +103230,31 @@ export type QueryCooLookbookArgs = {
101915
103230
  id: Scalars['ID']['input'];
101916
103231
  };
101917
103232
  /** Base Query type with placeholder field. Extended by individual query files. */
103233
+ export type QueryCooMyArticleArgs = {
103234
+ id: Scalars['ID']['input'];
103235
+ };
103236
+ /** Base Query type with placeholder field. Extended by individual query files. */
103237
+ export type QueryCooMyArticlesArgs = {
103238
+ pagination?: InputMaybe<PaginationInput>;
103239
+ };
103240
+ /** Base Query type with placeholder field. Extended by individual query files. */
101918
103241
  export type QueryCooMyCollaborationPayoutsArgs = {
101919
103242
  pagination?: InputMaybe<PaginationInput>;
101920
103243
  status?: InputMaybe<CooCollaborationPayoutStatus>;
101921
103244
  };
101922
103245
  /** Base Query type with placeholder field. Extended by individual query files. */
103246
+ export type QueryCooMyCreatorAnalyticsArgs = {
103247
+ currency?: Scalars['String']['input'];
103248
+ };
103249
+ /** Base Query type with placeholder field. Extended by individual query files. */
101923
103250
  export type QueryCooMyCreatorEarningsArgs = {
101924
103251
  pagination?: InputMaybe<PaginationInput>;
101925
103252
  };
101926
103253
  /** Base Query type with placeholder field. Extended by individual query files. */
103254
+ export type QueryCooMyCreatorRateCardsArgs = {
103255
+ pagination?: InputMaybe<PaginationInput>;
103256
+ };
103257
+ /** Base Query type with placeholder field. Extended by individual query files. */
101927
103258
  export type QueryCooMyFollowersArgs = {
101928
103259
  pagination?: InputMaybe<PaginationInput>;
101929
103260
  };
@@ -101946,11 +103277,73 @@ export type QueryCooMyOrdersArgs = {
101946
103277
  status?: InputMaybe<CooOrderStatus>;
101947
103278
  };
101948
103279
  /** Base Query type with placeholder field. Extended by individual query files. */
103280
+ export type QueryCooMyPriceAlertDeliveriesArgs = {
103281
+ alertId: Scalars['ID']['input'];
103282
+ pagination?: InputMaybe<PaginationInput>;
103283
+ };
103284
+ /** Base Query type with placeholder field. Extended by individual query files. */
103285
+ export type QueryCooMyPriceAlertsArgs = {
103286
+ pagination?: InputMaybe<PaginationInput>;
103287
+ };
103288
+ /** Base Query type with placeholder field. Extended by individual query files. */
103289
+ export type QueryCooMyProposalBrandsArgs = {
103290
+ pagination?: InputMaybe<PaginationInput>;
103291
+ };
103292
+ /** Base Query type with placeholder field. Extended by individual query files. */
103293
+ export type QueryCooMyProposalInboxArgs = {
103294
+ direction?: InputMaybe<CooProposalDirection>;
103295
+ pagination?: InputMaybe<PaginationInput>;
103296
+ status?: InputMaybe<CooCollaborationStatus>;
103297
+ };
103298
+ /** Base Query type with placeholder field. Extended by individual query files. */
103299
+ export type QueryCooMyRetailerFeedsArgs = {
103300
+ pagination?: InputMaybe<PaginationInput>;
103301
+ };
103302
+ /** Base Query type with placeholder field. Extended by individual query files. */
103303
+ export type QueryCooMyTrendReportsArgs = {
103304
+ pagination?: InputMaybe<PaginationInput>;
103305
+ };
103306
+ /** Base Query type with placeholder field. Extended by individual query files. */
103307
+ export type QueryCooPriceHistoryArgs = {
103308
+ currency: Scalars['String']['input'];
103309
+ end: Scalars['DateTime']['input'];
103310
+ start: Scalars['DateTime']['input'];
103311
+ styleItemId: Scalars['ID']['input'];
103312
+ };
103313
+ /** Base Query type with placeholder field. Extended by individual query files. */
103314
+ export type QueryCooPublishedArticleArgs = {
103315
+ slug: Scalars['String']['input'];
103316
+ workspaceId: Scalars['ID']['input'];
103317
+ };
103318
+ /** Base Query type with placeholder field. Extended by individual query files. */
103319
+ export type QueryCooPublishedArticlesArgs = {
103320
+ pagination?: InputMaybe<PaginationInput>;
103321
+ workspaceId?: InputMaybe<Scalars['ID']['input']>;
103322
+ };
103323
+ /** Base Query type with placeholder field. Extended by individual query files. */
103324
+ export type QueryCooPublishedCreatorRateCardsArgs = {
103325
+ creatorId?: InputMaybe<Scalars['ID']['input']>;
103326
+ pagination?: InputMaybe<PaginationInput>;
103327
+ };
103328
+ /** Base Query type with placeholder field. Extended by individual query files. */
103329
+ export type QueryCooPublishedTrendReportArgs = {
103330
+ id: Scalars['ID']['input'];
103331
+ };
103332
+ /** Base Query type with placeholder field. Extended by individual query files. */
103333
+ export type QueryCooPublishedTrendReportsArgs = {
103334
+ pagination?: InputMaybe<PaginationInput>;
103335
+ workspaceId?: InputMaybe<Scalars['ID']['input']>;
103336
+ };
103337
+ /** Base Query type with placeholder field. Extended by individual query files. */
101949
103338
  export type QueryCooSearchLooksArgs = {
101950
103339
  input: CooSearchLooksInput;
101951
103340
  pagination?: InputMaybe<PaginationInput>;
101952
103341
  };
101953
103342
  /** Base Query type with placeholder field. Extended by individual query files. */
103343
+ export type QueryCooSearchRetailerOffersArgs = {
103344
+ input: CooRetailerSearchInput;
103345
+ };
103346
+ /** Base Query type with placeholder field. Extended by individual query files. */
101954
103347
  export type QueryCooSearchStyleItemsArgs = {
101955
103348
  input: CooSearchStyleItemsInput;
101956
103349
  pagination?: InputMaybe<PaginationInput>;
@@ -108697,11 +110090,26 @@ export type QueryMyBalanceTargetsArgs = {
108697
110090
  pagination?: InputMaybe<PaginationInput>;
108698
110091
  };
108699
110092
  /** Base Query type with placeholder field. Extended by individual query files. */
110093
+ export type QueryMyConnectorSubmissionArgs = {
110094
+ id: Scalars['ID']['input'];
110095
+ };
110096
+ /** Base Query type with placeholder field. Extended by individual query files. */
110097
+ export type QueryMyConnectorSubmissionsArgs = {
110098
+ filter?: InputMaybe<ConnectorSubmissionFilterInput>;
110099
+ pagination?: InputMaybe<IntegrationsPaginationInput>;
110100
+ };
110101
+ /** Base Query type with placeholder field. Extended by individual query files. */
108700
110102
  export type QueryMyDeadTimeRadarArgs = {
108701
110103
  from: Scalars['DateTime']['input'];
108702
110104
  to: Scalars['DateTime']['input'];
108703
110105
  };
108704
110106
  /** Base Query type with placeholder field. Extended by individual query files. */
110107
+ export type QueryMyDeliveryDayArgs = {
110108
+ date: Scalars['String']['input'];
110109
+ timeZone?: InputMaybe<Scalars['String']['input']>;
110110
+ timezoneOffsetMinutes?: InputMaybe<Scalars['Int']['input']>;
110111
+ };
110112
+ /** Base Query type with placeholder field. Extended by individual query files. */
108705
110113
  export type QueryMyEpodShipmentStatusArgs = {
108706
110114
  deliveryJobId: Scalars['ID']['input'];
108707
110115
  };
@@ -110118,6 +111526,10 @@ export type QueryPromptUsageSummaryV2Args = {
110118
111526
  to: Scalars['DateTime']['input'];
110119
111527
  };
110120
111528
  /** Base Query type with placeholder field. Extended by individual query files. */
111529
+ export type QueryProserviceworldCountMetricsArgs = {
111530
+ workspaceId: Scalars['ID']['input'];
111531
+ };
111532
+ /** Base Query type with placeholder field. Extended by individual query files. */
110121
111533
  export type QueryProvenanceRecordsArgs = {
110122
111534
  pagination?: InputMaybe<AssetHandlerPaginationInput>;
110123
111535
  };
@@ -111437,6 +112849,23 @@ export type QueryTeamWorkPatternsArgs = {
111437
112849
  startDate?: InputMaybe<Scalars['DateTime']['input']>;
111438
112850
  };
111439
112851
  /** Base Query type with placeholder field. Extended by individual query files. */
112852
+ export type QueryTecAssessmentArgs = {
112853
+ id: Scalars['ID']['input'];
112854
+ };
112855
+ /** Base Query type with placeholder field. Extended by individual query files. */
112856
+ export type QueryTecAssessmentAttemptArgs = {
112857
+ id: Scalars['ID']['input'];
112858
+ };
112859
+ /** Base Query type with placeholder field. Extended by individual query files. */
112860
+ export type QueryTecAssessmentAttemptEventsArgs = {
112861
+ attemptId: Scalars['ID']['input'];
112862
+ pagination?: InputMaybe<PaginationInput>;
112863
+ };
112864
+ /** Base Query type with placeholder field. Extended by individual query files. */
112865
+ export type QueryTecAssessmentQuestionKeyArgs = {
112866
+ id: Scalars['ID']['input'];
112867
+ };
112868
+ /** Base Query type with placeholder field. Extended by individual query files. */
111440
112869
  export type QueryTecCalculateSessionCostArgs = {
111441
112870
  durationMinutes?: InputMaybe<Scalars['Int']['input']>;
111442
112871
  mentorId: Scalars['ID']['input'];
@@ -111477,6 +112906,19 @@ export type QueryTecLessonQuizKeyArgs = {
111477
112906
  lessonId: Scalars['ID']['input'];
111478
112907
  };
111479
112908
  /** Base Query type with placeholder field. Extended by individual query files. */
112909
+ export type QueryTecListAssessmentAttemptsArgs = {
112910
+ assessmentId?: InputMaybe<Scalars['ID']['input']>;
112911
+ learnerId?: InputMaybe<Scalars['ID']['input']>;
112912
+ pagination?: InputMaybe<PaginationInput>;
112913
+ proctoringStatus?: InputMaybe<TecProctoringStatus>;
112914
+ };
112915
+ /** Base Query type with placeholder field. Extended by individual query files. */
112916
+ export type QueryTecListAssessmentsArgs = {
112917
+ courseId?: InputMaybe<Scalars['ID']['input']>;
112918
+ pagination?: InputMaybe<PaginationInput>;
112919
+ status?: InputMaybe<TecAssessmentStatus>;
112920
+ };
112921
+ /** Base Query type with placeholder field. Extended by individual query files. */
111480
112922
  export type QueryTecListCertificatesArgs = {
111481
112923
  courseId?: InputMaybe<Scalars['ID']['input']>;
111482
112924
  learnerId?: InputMaybe<Scalars['ID']['input']>;
@@ -111560,6 +113002,15 @@ export type QueryTecMentorArgs = {
111560
113002
  id: Scalars['ID']['input'];
111561
113003
  };
111562
113004
  /** Base Query type with placeholder field. Extended by individual query files. */
113005
+ export type QueryTecMyAssessmentAttemptArgs = {
113006
+ id: Scalars['ID']['input'];
113007
+ };
113008
+ /** Base Query type with placeholder field. Extended by individual query files. */
113009
+ export type QueryTecMyAssessmentAttemptsArgs = {
113010
+ assessmentId?: InputMaybe<Scalars['ID']['input']>;
113011
+ pagination?: InputMaybe<PaginationInput>;
113012
+ };
113013
+ /** Base Query type with placeholder field. Extended by individual query files. */
111563
113014
  export type QueryTecMyCertificateArgs = {
111564
113015
  id: Scalars['ID']['input'];
111565
113016
  };
@@ -111585,6 +113036,11 @@ export type QueryTecMyPayoutsArgs = {
111585
113036
  status?: InputMaybe<TecPayoutStatus>;
111586
113037
  };
111587
113038
  /** Base Query type with placeholder field. Extended by individual query files. */
113039
+ export type QueryTecMyReminderDeliveriesArgs = {
113040
+ limit?: InputMaybe<Scalars['Int']['input']>;
113041
+ subjectId?: InputMaybe<Scalars['ID']['input']>;
113042
+ };
113043
+ /** Base Query type with placeholder field. Extended by individual query files. */
111588
113044
  export type QueryTecMySessionArgs = {
111589
113045
  id: Scalars['ID']['input'];
111590
113046
  };
@@ -113788,7 +115244,11 @@ export type RemoveProjectMemberInput = {
113788
115244
  export type RemoveReactionInput = {
113789
115245
  commentId: Scalars['ID']['input'];
113790
115246
  emoji: Scalars['String']['input'];
113791
- userId: Scalars['ID']['input'];
115247
+ /**
115248
+ * Deprecated and ignored. The reacting user is always the authenticated actor (x-actor-id); a client-supplied user id is never trusted.
115249
+ * @deprecated Ignored: the reaction always belongs to the authenticated actor.
115250
+ */
115251
+ userId?: InputMaybe<Scalars['ID']['input']>;
113792
115252
  };
113793
115253
  export type RemoveReactionPayload = {
113794
115254
  __typename?: 'RemoveReactionPayload';
@@ -121118,6 +122578,41 @@ export type SubmitApprovalRequestInput = {
121118
122578
  startDate: Scalars['DateTime']['input'];
121119
122579
  totalHours: Scalars['Float']['input'];
121120
122580
  };
122581
+ export type SubmitConnectorInput = {
122582
+ /** Header or query parameter name carrying the API key. Required for API_KEY connectors. */
122583
+ apiKeyName?: InputMaybe<Scalars['String']['input']>;
122584
+ /** Required for API_KEY connectors. */
122585
+ apiKeyPlacement?: InputMaybe<ConnectorApiKeyPlacement>;
122586
+ /** Optional word sent before the key in a header, e.g. `Token`. */
122587
+ apiKeyPrefix?: InputMaybe<Scalars['String']['input']>;
122588
+ apiVersion?: InputMaybe<Scalars['String']['input']>;
122589
+ /** API_KEY, BEARER_TOKEN or BASIC_AUTH. */
122590
+ authType: AuthType;
122591
+ /** The API's https base URL. */
122592
+ baseUrl: Scalars['String']['input'];
122593
+ category: ProviderCategory;
122594
+ /** Brand color as #RRGGBB. */
122595
+ color?: InputMaybe<Scalars['String']['input']>;
122596
+ /** What the connector lets a workspace do (10 to 1000 characters). */
122597
+ description: Scalars['String']['input'];
122598
+ docsUrl: Scalars['String']['input'];
122599
+ /** An https image URL or an `iconify:<set>:<name>` icon. */
122600
+ icon?: InputMaybe<Scalars['String']['input']>;
122601
+ /** Lowercase slug naming your service, e.g. `acme-crm`. Must be unused. */
122602
+ key: Scalars['String']['input'];
122603
+ name: Scalars['String']['input'];
122604
+ privacyPolicyUrl: Scalars['String']['input'];
122605
+ publisherName: Scalars['String']['input'];
122606
+ repositoryUrl?: InputMaybe<Scalars['String']['input']>;
122607
+ /** A note for the reviewer. */
122608
+ submitterNotes?: InputMaybe<Scalars['String']['input']>;
122609
+ supportEmail: Scalars['String']['input'];
122610
+ supportedFeatures?: InputMaybe<Array<Scalars['String']['input']>>;
122611
+ termsUrl?: InputMaybe<Scalars['String']['input']>;
122612
+ /** Semantic version, defaults to 1.0.0. */
122613
+ version?: InputMaybe<Scalars['String']['input']>;
122614
+ website: Scalars['String']['input'];
122615
+ };
121121
122616
  export type SubmitMtwInspectorQualificationInput = {
121122
122617
  credentialReference: Scalars['String']['input'];
121123
122618
  evidence: Array<MtwContainerEvidenceInput>;
@@ -123122,6 +124617,128 @@ export type TecAddPortfolioItemInput = {
123122
124617
  /** The TecHackathonTeam.id / TecCertificate.id / TecEnrollment.id (matching `kind`) to showcase. Ownership and completion are verified server-side. */
123123
124618
  sourceId: Scalars['ID']['input'];
123124
124619
  };
124620
+ /** A timed certification assessment on a course. The answer key is never part of this type; authors read it with tecAssessmentQuestionKey. */
124621
+ export type TecAssessment = {
124622
+ __typename?: 'TecAssessment';
124623
+ blockClipboard: Scalars['Boolean']['output'];
124624
+ course?: Maybe<TecCourse>;
124625
+ courseId: Scalars['ID']['output'];
124626
+ createdAt: Scalars['DateTime']['output'];
124627
+ description?: Maybe<Scalars['String']['output']>;
124628
+ id: Scalars['ID']['output'];
124629
+ issuesCertificate: Scalars['Boolean']['output'];
124630
+ maxAttempts: Scalars['Int']['output'];
124631
+ maxIntegrityViolations: Scalars['Int']['output'];
124632
+ passingScore: Scalars['Int']['output'];
124633
+ proctoringMode: TecProctoringMode;
124634
+ publishedAt?: Maybe<Scalars['DateTime']['output']>;
124635
+ questionCount: Scalars['Int']['output'];
124636
+ requireFullscreen: Scalars['Boolean']['output'];
124637
+ shuffleOptions: Scalars['Boolean']['output'];
124638
+ shuffleQuestions: Scalars['Boolean']['output'];
124639
+ status: TecAssessmentStatus;
124640
+ timeLimitMinutes: Scalars['Int']['output'];
124641
+ title: Scalars['String']['output'];
124642
+ updatedAt: Scalars['DateTime']['output'];
124643
+ workspaceId: Scalars['ID']['output'];
124644
+ };
124645
+ export type TecAssessmentAttempt = {
124646
+ __typename?: 'TecAssessmentAttempt';
124647
+ assessment?: Maybe<TecAssessment>;
124648
+ assessmentId: Scalars['ID']['output'];
124649
+ attemptNumber: Scalars['Int']['output'];
124650
+ blockClipboard: Scalars['Boolean']['output'];
124651
+ certificate?: Maybe<TecCertificate>;
124652
+ /** The certificate this attempt earned, once issued. */
124653
+ certificateId?: Maybe<Scalars['ID']['output']>;
124654
+ consentedAt?: Maybe<Scalars['DateTime']['output']>;
124655
+ correctCount: Scalars['Int']['output'];
124656
+ courseId: Scalars['ID']['output'];
124657
+ deadlineAt: Scalars['DateTime']['output'];
124658
+ id: Scalars['ID']['output'];
124659
+ integrityViolations: Scalars['Int']['output'];
124660
+ learnerId: Scalars['ID']['output'];
124661
+ maxIntegrityViolations: Scalars['Int']['output'];
124662
+ passed?: Maybe<Scalars['Boolean']['output']>;
124663
+ passingScore: Scalars['Int']['output'];
124664
+ proctoringMode: TecProctoringMode;
124665
+ proctoringStatus: TecProctoringStatus;
124666
+ /** The questions to answer. Empty once the attempt is closed. */
124667
+ questions: Array<TecAssessmentQuestion>;
124668
+ /** Seconds left before the deadline; 0 once closed. */
124669
+ remainingSeconds: Scalars['Int']['output'];
124670
+ requireFullscreen: Scalars['Boolean']['output'];
124671
+ reviewNotes?: Maybe<Scalars['String']['output']>;
124672
+ reviewedAt?: Maybe<Scalars['DateTime']['output']>;
124673
+ reviewedBy?: Maybe<Scalars['ID']['output']>;
124674
+ /** Saved answers in display order (displayed option index, -1 for unanswered). Empty once the attempt is closed. */
124675
+ savedAnswers: Array<Scalars['Int']['output']>;
124676
+ score?: Maybe<Scalars['Int']['output']>;
124677
+ startedAt: Scalars['DateTime']['output'];
124678
+ status: TecAssessmentAttemptStatus;
124679
+ submittedAt?: Maybe<Scalars['DateTime']['output']>;
124680
+ totalCount: Scalars['Int']['output'];
124681
+ workspaceId: Scalars['ID']['output'];
124682
+ };
124683
+ export declare enum TecAssessmentAttemptStatus {
124684
+ /** The time limit ran out; the saved answers were graded. */
124685
+ Expired = "EXPIRED",
124686
+ InProgress = "IN_PROGRESS",
124687
+ Submitted = "SUBMITTED"
124688
+ }
124689
+ /** One entry of an attempt's audit trail. */
124690
+ export type TecAssessmentEvent = {
124691
+ __typename?: 'TecAssessmentEvent';
124692
+ attemptId: Scalars['ID']['output'];
124693
+ detail?: Maybe<Scalars['JSON']['output']>;
124694
+ id: Scalars['ID']['output'];
124695
+ occurredAt: Scalars['DateTime']['output'];
124696
+ type: TecAssessmentEventType;
124697
+ violation: Scalars['Boolean']['output'];
124698
+ };
124699
+ /** Every event type in an attempt's audit trail: the client signals plus the lifecycle events the server writes. */
124700
+ export declare enum TecAssessmentEventType {
124701
+ CertificateIssued = "CERTIFICATE_ISSUED",
124702
+ ContextMenu = "CONTEXT_MENU",
124703
+ CopyAttempt = "COPY_ATTEMPT",
124704
+ CutAttempt = "CUT_ATTEMPT",
124705
+ Expired = "EXPIRED",
124706
+ FullscreenEnter = "FULLSCREEN_ENTER",
124707
+ FullscreenExit = "FULLSCREEN_EXIT",
124708
+ PasteAttempt = "PASTE_ATTEMPT",
124709
+ Reviewed = "REVIEWED",
124710
+ Started = "STARTED",
124711
+ Submitted = "SUBMITTED",
124712
+ VisibilityHidden = "VISIBILITY_HIDDEN",
124713
+ WindowBlur = "WINDOW_BLUR"
124714
+ }
124715
+ /** One question of an in-progress attempt as the learner sees it: shuffled position and option order, no answer key. */
124716
+ export type TecAssessmentQuestion = {
124717
+ __typename?: 'TecAssessmentQuestion';
124718
+ options: Array<Scalars['String']['output']>;
124719
+ position: Scalars['Int']['output'];
124720
+ prompt: Scalars['String']['output'];
124721
+ };
124722
+ export declare enum TecAssessmentReviewDecision {
124723
+ Rejected = "REJECTED",
124724
+ Verified = "VERIFIED"
124725
+ }
124726
+ /** Integrity signals the learner's browser may report during an attempt. */
124727
+ export declare enum TecAssessmentSignal {
124728
+ ContextMenu = "CONTEXT_MENU",
124729
+ CopyAttempt = "COPY_ATTEMPT",
124730
+ CutAttempt = "CUT_ATTEMPT",
124731
+ FullscreenEnter = "FULLSCREEN_ENTER",
124732
+ FullscreenExit = "FULLSCREEN_EXIT",
124733
+ PasteAttempt = "PASTE_ATTEMPT",
124734
+ VisibilityHidden = "VISIBILITY_HIDDEN",
124735
+ WindowBlur = "WINDOW_BLUR"
124736
+ }
124737
+ export declare enum TecAssessmentStatus {
124738
+ Archived = "ARCHIVED",
124739
+ Draft = "DRAFT",
124740
+ Published = "PUBLISHED"
124741
+ }
123125
124742
  export type TecBookSessionInput = {
123126
124743
  agenda?: InputMaybe<Scalars['String']['input']>;
123127
124744
  durationMinutes?: InputMaybe<Scalars['Int']['input']>;
@@ -123250,6 +124867,28 @@ export declare enum TecCourseStatus {
123250
124867
  Draft = "DRAFT",
123251
124868
  Published = "PUBLISHED"
123252
124869
  }
124870
+ export type TecCreateAssessmentInput = {
124871
+ blockClipboard?: InputMaybe<Scalars['Boolean']['input']>;
124872
+ courseId: Scalars['ID']['input'];
124873
+ description?: InputMaybe<Scalars['String']['input']>;
124874
+ issuesCertificate?: InputMaybe<Scalars['Boolean']['input']>;
124875
+ /** 1 to 10. Default 1. */
124876
+ maxAttempts?: InputMaybe<Scalars['Int']['input']>;
124877
+ /** 0 to 50. Default 3. */
124878
+ maxIntegrityViolations?: InputMaybe<Scalars['Int']['input']>;
124879
+ /** 1 to 100. Default 70. */
124880
+ passingScore?: InputMaybe<Scalars['Int']['input']>;
124881
+ /** Default INTEGRITY_MONITORING. */
124882
+ proctoringMode?: InputMaybe<TecProctoringMode>;
124883
+ /** Up to 50 multiple-choice questions with their answer key. */
124884
+ questions?: InputMaybe<Array<TecQuizQuestionInput>>;
124885
+ requireFullscreen?: InputMaybe<Scalars['Boolean']['input']>;
124886
+ shuffleOptions?: InputMaybe<Scalars['Boolean']['input']>;
124887
+ shuffleQuestions?: InputMaybe<Scalars['Boolean']['input']>;
124888
+ /** 1 to 480 minutes. Default 30. */
124889
+ timeLimitMinutes?: InputMaybe<Scalars['Int']['input']>;
124890
+ title: Scalars['String']['input'];
124891
+ };
123253
124892
  export type TecCreateCourseInput = {
123254
124893
  coverFileId?: InputMaybe<Scalars['ID']['input']>;
123255
124894
  estimatedMinutes?: InputMaybe<Scalars['Int']['input']>;
@@ -123763,6 +125402,24 @@ export type TecProblemTestCase = {
123763
125402
  visibility: TecTestCaseVisibility;
123764
125403
  workspaceId: Scalars['ID']['output'];
123765
125404
  };
125405
+ /** How an assessment protects its integrity. */
125406
+ export declare enum TecProctoringMode {
125407
+ /** The browser reports integrity signals (fullscreen exit, tab switch, clipboard use). An attempt within the violation budget is verified automatically; one over it is flagged for a reviewer. */
125408
+ IntegrityMonitoring = "INTEGRITY_MONITORING",
125409
+ /** No monitoring: a plain timed exam. */
125410
+ None = "NONE",
125411
+ /** Integrity monitoring plus a mandatory reviewer decision on every attempt. */
125412
+ ReviewRequired = "REVIEW_REQUIRED"
125413
+ }
125414
+ export declare enum TecProctoringStatus {
125415
+ Flagged = "FLAGGED",
125416
+ /** In progress under monitoring. */
125417
+ Monitoring = "MONITORING",
125418
+ NotRequired = "NOT_REQUIRED",
125419
+ PendingReview = "PENDING_REVIEW",
125420
+ Rejected = "REJECTED",
125421
+ Verified = "VERIFIED"
125422
+ }
123766
125423
  export type TecPublicPortfolio = {
123767
125424
  __typename?: 'TecPublicPortfolio';
123768
125425
  items: Array<TecPublicPortfolioItem>;
@@ -123840,6 +125497,23 @@ export type TecRegisterTeamInput = {
123840
125497
  memberIds?: InputMaybe<Array<Scalars['String']['input']>>;
123841
125498
  name: Scalars['String']['input'];
123842
125499
  };
125500
+ /** One reminder sent to the calling learner. A row exists only once the push service accepted the reminder; `deliveredDevices` is how many of the learner's registered devices it reached (0 when the learner has not installed the app). */
125501
+ export type TecReminderDelivery = {
125502
+ __typename?: 'TecReminderDelivery';
125503
+ /** When the reminder was sent. */
125504
+ createdAt: Scalars['DateTime']['output'];
125505
+ deliveredDevices: Scalars['Int']['output'];
125506
+ /** When the session starts or the deadline falls. */
125507
+ dueAt: Scalars['DateTime']['output'];
125508
+ id: Scalars['ID']['output'];
125509
+ kind: TecReminderKind;
125510
+ /** The mentor session or hackathon the reminder is about. */
125511
+ subjectId: Scalars['ID']['output'];
125512
+ };
125513
+ export declare enum TecReminderKind {
125514
+ HackathonDeadline = "HACKATHON_DEADLINE",
125515
+ SessionReminder = "SESSION_REMINDER"
125516
+ }
123843
125517
  export type TecReorderPortfolioItemsInput = {
123844
125518
  /** Every existing item id for the calling learner's portfolio, in the desired display order. Must be a permutation of the current item set. */
123845
125519
  itemIds: Array<Scalars['ID']['input']>;
@@ -123864,6 +125538,30 @@ export type TecRunSolutionInput = {
123864
125538
  /** Optional custom stdin. When set, the code runs once against it instead of the sample cases. */
123865
125539
  stdin?: InputMaybe<Scalars['String']['input']>;
123866
125540
  };
125541
+ export type TecScormPackage = {
125542
+ __typename?: 'TecScormPackage';
125543
+ /** TechnoSpam app origin the lessons launch into. */
125544
+ appOrigin: Scalars['String']['output'];
125545
+ courseId: Scalars['ID']['output'];
125546
+ /** Presigned download URL for the ZIP; valid until expiresAt (one hour). */
125547
+ downloadUrl: Scalars['String']['output'];
125548
+ expiresAt: Scalars['DateTime']['output'];
125549
+ /** Id of the stored archive in the workspace file library. */
125550
+ fileId: Scalars['ID']['output'];
125551
+ fileName: Scalars['String']['output'];
125552
+ /** Number of lessons (SCOs) in the package. */
125553
+ lessonCount: Scalars['Int']['output'];
125554
+ /** Lessons that still require a paid TechnoSpam plan when launched. */
125555
+ premiumLessonCount: Scalars['Int']['output'];
125556
+ sizeBytes: Scalars['Int']['output'];
125557
+ version: TecScormVersion;
125558
+ };
125559
+ export declare enum TecScormVersion {
125560
+ /** SCORM 1.2, for LMSs without SCORM 2004 support. */
125561
+ Scorm_12 = "SCORM_12",
125562
+ /** SCORM 2004 4th Edition (recommended). */
125563
+ Scorm_2004_4Th = "SCORM_2004_4TH"
125564
+ }
123867
125565
  /** Read-only preview of what a session with a given mentor and duration would cost, computed from the mentor's real current hourlyRate -- lets the booking UI show the learner the price (and the platform-fee breakdown) before they commit to tecBookSession. Never persists anything. */
123868
125566
  export type TecSessionCostEstimate = {
123869
125567
  __typename?: 'TecSessionCostEstimate';
@@ -124091,6 +125789,22 @@ export declare enum TecTestCaseVisibility {
124091
125789
  Hidden = "HIDDEN",
124092
125790
  Public = "PUBLIC"
124093
125791
  }
125792
+ export type TecUpdateAssessmentInput = {
125793
+ blockClipboard?: InputMaybe<Scalars['Boolean']['input']>;
125794
+ description?: InputMaybe<Scalars['String']['input']>;
125795
+ issuesCertificate?: InputMaybe<Scalars['Boolean']['input']>;
125796
+ maxAttempts?: InputMaybe<Scalars['Int']['input']>;
125797
+ maxIntegrityViolations?: InputMaybe<Scalars['Int']['input']>;
125798
+ passingScore?: InputMaybe<Scalars['Int']['input']>;
125799
+ proctoringMode?: InputMaybe<TecProctoringMode>;
125800
+ /** Replaces the questions. Attempts already started keep their snapshot. */
125801
+ questions?: InputMaybe<Array<TecQuizQuestionInput>>;
125802
+ requireFullscreen?: InputMaybe<Scalars['Boolean']['input']>;
125803
+ shuffleOptions?: InputMaybe<Scalars['Boolean']['input']>;
125804
+ shuffleQuestions?: InputMaybe<Scalars['Boolean']['input']>;
125805
+ timeLimitMinutes?: InputMaybe<Scalars['Int']['input']>;
125806
+ title?: InputMaybe<Scalars['String']['input']>;
125807
+ };
124094
125808
  export type TecUpdateCourseInput = {
124095
125809
  coverFileId?: InputMaybe<Scalars['ID']['input']>;
124096
125810
  estimatedMinutes?: InputMaybe<Scalars['Int']['input']>;
@@ -128846,6 +130560,14 @@ export type UpdateGgnomadEventInput = {
128846
130560
  sustainabilityPractices?: InputMaybe<Array<GgnomadSustainabilityPractice>>;
128847
130561
  venue?: InputMaybe<Scalars['JSON']['input']>;
128848
130562
  };
130563
+ /** BOFF-4392 — changes to the governance policy. Omitted fields keep their value. */
130564
+ export type UpdateGgnomadGovernancePolicyInput = {
130565
+ /** Restrict exports to these entity types (from ggnomadExportEntityTypes); an empty list allows every type. */
130566
+ allowedExportEntityTypes?: InputMaybe<Array<Scalars['String']['input']>>;
130567
+ /** Must be one of ggnomadResidencyRegions. */
130568
+ dataRegion?: InputMaybe<Scalars['String']['input']>;
130569
+ exportsEnabled?: InputMaybe<Scalars['Boolean']['input']>;
130570
+ };
128849
130571
  export type UpdateGgnomadOperatorStorefrontInput = {
128850
130572
  aboutText?: InputMaybe<Scalars['String']['input']>;
128851
130573
  displayName?: InputMaybe<Scalars['String']['input']>;