@burdenoff/microfe-technospam 2026.1102.3 → 2026.1102.5

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 (58) 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 +2025 -11
  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/TechnoSpamRoutes.d.ts.map +1 -1
  7. package/dist/technospam/TechnoSpamRoutes.js +32 -28
  8. package/dist/technospam/TechnoSpamRoutes.js.map +1 -1
  9. package/dist/technospam/api/assessmentApi.d.ts +183 -0
  10. package/dist/technospam/api/assessmentApi.d.ts.map +1 -0
  11. package/dist/technospam/api/assessmentApi.js +278 -0
  12. package/dist/technospam/api/assessmentApi.js.map +1 -0
  13. package/dist/technospam/api/technospamApi.d.ts +62 -0
  14. package/dist/technospam/api/technospamApi.d.ts.map +1 -1
  15. package/dist/technospam/api/technospamApi.js +429 -297
  16. package/dist/technospam/api/technospamApi.js.map +1 -1
  17. package/dist/technospam/components/CourseAssessments.d.ts +9 -0
  18. package/dist/technospam/components/CourseAssessments.d.ts.map +1 -0
  19. package/dist/technospam/components/CourseAssessments.js +66 -0
  20. package/dist/technospam/components/CourseAssessments.js.map +1 -0
  21. package/dist/technospam/components/StatusBadge.d.ts.map +1 -1
  22. package/dist/technospam/components/StatusBadge.js +12 -1
  23. package/dist/technospam/components/StatusBadge.js.map +1 -1
  24. package/dist/technospam/components/admin/AssessmentsAdminTab.d.ts +7 -0
  25. package/dist/technospam/components/admin/AssessmentsAdminTab.d.ts.map +1 -0
  26. package/dist/technospam/components/admin/AssessmentsAdminTab.js +421 -0
  27. package/dist/technospam/components/admin/AssessmentsAdminTab.js.map +1 -0
  28. package/dist/technospam/components/admin/EnterpriseIntegrationsTab.d.ts +2 -1
  29. package/dist/technospam/components/admin/EnterpriseIntegrationsTab.d.ts.map +1 -1
  30. package/dist/technospam/components/admin/EnterpriseIntegrationsTab.js +325 -95
  31. package/dist/technospam/components/admin/EnterpriseIntegrationsTab.js.map +1 -1
  32. package/dist/technospam/components/lesson/LessonKindFields.d.ts +3 -1
  33. package/dist/technospam/components/lesson/LessonKindFields.d.ts.map +1 -1
  34. package/dist/technospam/components/lesson/LessonKindFields.js +2 -2
  35. package/dist/technospam/components/lesson/LessonKindFields.js.map +1 -1
  36. package/dist/technospam/hooks/useAssessmentIntegrity.d.ts +29 -0
  37. package/dist/technospam/hooks/useAssessmentIntegrity.d.ts.map +1 -0
  38. package/dist/technospam/hooks/useAssessmentIntegrity.js +57 -0
  39. package/dist/technospam/hooks/useAssessmentIntegrity.js.map +1 -0
  40. package/dist/technospam/lib/enterprise.d.ts +20 -0
  41. package/dist/technospam/lib/enterprise.d.ts.map +1 -1
  42. package/dist/technospam/lib/enterprise.js +33 -1
  43. package/dist/technospam/lib/enterprise.js.map +1 -1
  44. package/dist/technospam/pages/AdminAdminDashboardPagePage.d.ts.map +1 -1
  45. package/dist/technospam/pages/AdminAdminDashboardPagePage.js +364 -359
  46. package/dist/technospam/pages/AdminAdminDashboardPagePage.js.map +1 -1
  47. package/dist/technospam/pages/CoursesAssessmentPagePage.d.ts +9 -0
  48. package/dist/technospam/pages/CoursesAssessmentPagePage.d.ts.map +1 -0
  49. package/dist/technospam/pages/CoursesAssessmentPagePage.js +464 -0
  50. package/dist/technospam/pages/CoursesAssessmentPagePage.js.map +1 -0
  51. package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts.map +1 -1
  52. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js +210 -208
  53. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js.map +1 -1
  54. package/dist/technospam/utils/assessment.d.ts +64 -0
  55. package/dist/technospam/utils/assessment.d.ts.map +1 -0
  56. package/dist/technospam/utils/assessment.js +122 -0
  57. package/dist/technospam/utils/assessment.js.map +1 -0
  58. package/package.json +1 -1
@@ -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']>;
@@ -21355,6 +21992,24 @@ export type CreateGgnomadActivityInput = {
21355
21992
  /** BOFF-4364 — self-attested; omit or pass [] for none. */
21356
21993
  sustainabilityPractices?: InputMaybe<Array<GgnomadSustainabilityPractice>>;
21357
21994
  };
21995
+ export type CreateGgnomadAffiliateCommissionRuleInput = {
21996
+ /** Defaults to true. */
21997
+ active?: InputMaybe<Scalars['Boolean']['input']>;
21998
+ /** Required for CATEGORY; optional for TIER and PROMOTION. */
21999
+ bookingType?: InputMaybe<GgnomadBookingType>;
22000
+ /** 0-50. */
22001
+ commissionPercent: Scalars['Float']['input'];
22002
+ endsAt?: InputMaybe<Scalars['DateTime']['input']>;
22003
+ kind: GgnomadAffiliateRuleKind;
22004
+ name: Scalars['String']['input'];
22005
+ /** Limit the rule to one partner; omit for every partner. */
22006
+ partnerId?: InputMaybe<Scalars['ID']['input']>;
22007
+ startsAt?: InputMaybe<Scalars['DateTime']['input']>;
22008
+ volumeCurrency?: InputMaybe<Scalars['String']['input']>;
22009
+ volumeMetric?: InputMaybe<GgnomadAffiliateVolumeMetric>;
22010
+ volumePeriodDays?: InputMaybe<Scalars['Int']['input']>;
22011
+ volumeThreshold?: InputMaybe<Scalars['Float']['input']>;
22012
+ };
21358
22013
  export type CreateGgnomadAffiliatePartnerInput = {
21359
22014
  /** Workspace member to link as this partner. */
21360
22015
  actorId?: InputMaybe<Scalars['String']['input']>;
@@ -32233,13 +32888,20 @@ export type GgnomadActivityPriceInArgs = {
32233
32888
  };
32234
32889
  export type GgnomadAffiliateCommission = {
32235
32890
  __typename?: 'GgnomadAffiliateCommission';
32891
+ /** BOFF-10615 — every rule that priced at least one line. */
32892
+ appliedRuleIds: Array<Scalars['ID']['output']>;
32236
32893
  approvedAt?: Maybe<Scalars['DateTime']['output']>;
32237
32894
  baseAmount: Scalars['Float']['output'];
32895
+ /** BOFF-10615 — the partner's base rate when the commission was priced; null on commissions that predate rules. */
32896
+ baseCommissionPercent?: Maybe<Scalars['Float']['output']>;
32238
32897
  commissionAmount: Scalars['Float']['output'];
32898
+ /** The effective rate of the whole order (commissionAmount / baseAmount) when the commission has per-booking lines. */
32239
32899
  commissionPercent: Scalars['Float']['output'];
32240
32900
  createdAt: Scalars['DateTime']['output'];
32241
32901
  currency: Scalars['String']['output'];
32242
32902
  id: Scalars['ID']['output'];
32903
+ /** BOFF-10615 — how each booking was priced and which rule produced its rate; empty on commissions that predate rules. */
32904
+ lines: Array<GgnomadAffiliateCommissionLine>;
32243
32905
  orderId: Scalars['ID']['output'];
32244
32906
  /** The order's reference code, for matching against the operator's records. */
32245
32907
  orderReferenceCode?: Maybe<Scalars['String']['output']>;
@@ -32250,6 +32912,52 @@ export type GgnomadAffiliateCommission = {
32250
32912
  voidedAt?: Maybe<Scalars['DateTime']['output']>;
32251
32913
  workspaceId: Scalars['String']['output'];
32252
32914
  };
32915
+ /** How one booking of a commission was priced. */
32916
+ export type GgnomadAffiliateCommissionLine = {
32917
+ __typename?: 'GgnomadAffiliateCommissionLine';
32918
+ baseAmount: Scalars['Float']['output'];
32919
+ /** The booking; null when the order's bookings could not be read and the order was priced as a whole. */
32920
+ bookingId?: Maybe<Scalars['ID']['output']>;
32921
+ bookingType?: Maybe<GgnomadBookingType>;
32922
+ commissionAmount: Scalars['Float']['output'];
32923
+ commissionPercent: Scalars['Float']['output'];
32924
+ /** The rule that set the rate (null for the base rate). */
32925
+ ruleId?: Maybe<Scalars['ID']['output']>;
32926
+ ruleKind?: Maybe<GgnomadAffiliateRuleKind>;
32927
+ /** The rule's name when the commission was priced. */
32928
+ ruleName?: Maybe<Scalars['String']['output']>;
32929
+ source: GgnomadAffiliateRateSource;
32930
+ /** For a TIER rule, the partner's volume when the rule was applied. */
32931
+ volume?: Maybe<Scalars['Float']['output']>;
32932
+ };
32933
+ export type GgnomadAffiliateCommissionRule = {
32934
+ __typename?: 'GgnomadAffiliateCommissionRule';
32935
+ active: Scalars['Boolean']['output'];
32936
+ /** The booking type the rule applies to; null means every type (required for CATEGORY). */
32937
+ bookingType?: Maybe<GgnomadBookingType>;
32938
+ /** 0-50. */
32939
+ commissionPercent: Scalars['Float']['output'];
32940
+ createdAt: Scalars['DateTime']['output'];
32941
+ /** PROMOTION only: exclusive end. */
32942
+ endsAt?: Maybe<Scalars['DateTime']['output']>;
32943
+ id: Scalars['ID']['output'];
32944
+ kind: GgnomadAffiliateRuleKind;
32945
+ name: Scalars['String']['output'];
32946
+ /** The partner the rule applies to; null applies it to every partner. */
32947
+ partnerId?: Maybe<Scalars['ID']['output']>;
32948
+ /** PROMOTION only: inclusive start. */
32949
+ startsAt?: Maybe<Scalars['DateTime']['output']>;
32950
+ updatedAt: Scalars['DateTime']['output'];
32951
+ /** TIER with REVENUE only: the currency revenue is counted in. */
32952
+ volumeCurrency?: Maybe<Scalars['String']['output']>;
32953
+ /** TIER only. */
32954
+ volumeMetric?: Maybe<GgnomadAffiliateVolumeMetric>;
32955
+ /** TIER only: the trailing period, in days (1-365), volume is measured over. */
32956
+ volumePeriodDays?: Maybe<Scalars['Int']['output']>;
32957
+ /** TIER only: the volume at which the rate starts. */
32958
+ volumeThreshold?: Maybe<Scalars['Float']['output']>;
32959
+ workspaceId: Scalars['String']['output'];
32960
+ };
32253
32961
  export declare enum GgnomadAffiliateCommissionStatus {
32254
32962
  /** Reviewed and owed to the partner, re-based on bookings that were not cancelled or refunded. */
32255
32963
  Approved = "APPROVED",
@@ -32310,6 +33018,22 @@ export type GgnomadAffiliatePayout = {
32310
33018
  reference: Scalars['String']['output'];
32311
33019
  workspaceId: Scalars['String']['output'];
32312
33020
  };
33021
+ /** The rate a booking would earn a partner right now. */
33022
+ export type GgnomadAffiliateRatePreview = {
33023
+ __typename?: 'GgnomadAffiliateRatePreview';
33024
+ commissionPercent: Scalars['Float']['output'];
33025
+ ruleId?: Maybe<Scalars['ID']['output']>;
33026
+ ruleKind?: Maybe<GgnomadAffiliateRuleKind>;
33027
+ ruleName?: Maybe<Scalars['String']['output']>;
33028
+ source: GgnomadAffiliateRateSource;
33029
+ volume?: Maybe<Scalars['Float']['output']>;
33030
+ };
33031
+ export declare enum GgnomadAffiliateRateSource {
33032
+ /** The partner's base commissionPercent. */
33033
+ Base = "BASE",
33034
+ /** A commission rule. */
33035
+ Rule = "RULE"
33036
+ }
32313
33037
  /** Result of recording a referral: null fields when the code was unknown, suspended or the caller's own. */
32314
33038
  export type GgnomadAffiliateReferralResult = {
32315
33039
  __typename?: 'GgnomadAffiliateReferralResult';
@@ -32322,6 +33046,20 @@ export declare enum GgnomadAffiliateReferralSource {
32322
33046
  Link = "LINK",
32323
33047
  Widget = "WIDGET"
32324
33048
  }
33049
+ export declare enum GgnomadAffiliateRuleKind {
33050
+ /** A rate for one booking type. */
33051
+ Category = "CATEGORY",
33052
+ /** A rate inside a start and end date. */
33053
+ Promotion = "PROMOTION",
33054
+ /** A rate once the partner's referred volume in a trailing period reaches a threshold. */
33055
+ Tier = "TIER"
33056
+ }
33057
+ export declare enum GgnomadAffiliateVolumeMetric {
33058
+ /** Referred bookings that were not cancelled or refunded. */
33059
+ Bookings = "BOOKINGS",
33060
+ /** The commissionable amount of those bookings, in volumeCurrency. */
33061
+ Revenue = "REVENUE"
33062
+ }
32325
33063
  export type GgnomadAnalytics = {
32326
33064
  __typename?: 'GgnomadAnalytics';
32327
33065
  analyticsDashboard?: Maybe<AnalyticsDashboard>;
@@ -32353,13 +33091,17 @@ export type GgnomadAuditLogEntry = {
32353
33091
  __typename?: 'GgnomadAuditLogEntry';
32354
33092
  action: Scalars['String']['output'];
32355
33093
  actorId: Scalars['String']['output'];
33094
+ correlationId?: Maybe<Scalars['String']['output']>;
32356
33095
  createdAt: Scalars['DateTime']['output'];
32357
33096
  entityId: Scalars['String']['output'];
32358
33097
  entityType: Scalars['String']['output'];
32359
33098
  fromStatus?: Maybe<Scalars['String']['output']>;
32360
33099
  id: Scalars['ID']['output'];
32361
33100
  reason?: Maybe<Scalars['String']['output']>;
33101
+ sandboxId?: Maybe<Scalars['String']['output']>;
32362
33102
  toStatus?: Maybe<Scalars['String']['output']>;
33103
+ /** Verified relay attribution; null on historical or unattributed writes. Actor identity remains unchanged. */
33104
+ via?: Maybe<Scalars['String']['output']>;
32363
33105
  workspaceId: Scalars['String']['output'];
32364
33106
  };
32365
33107
  /** BOFF-3938 — what a host can set on a date. BOOKED is derived from bookings and never set. */
@@ -32839,14 +33581,14 @@ export type GgnomadFxRates = {
32839
33581
  source: Scalars['String']['output'];
32840
33582
  stale: Scalars['Boolean']['output'];
32841
33583
  };
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. */
33584
+ /** The planner reads only ACTIVE listings in this workspace whose place values match `destination`, priced in `currency`, that the whole party fits. */
32843
33585
  export type GgnomadGenerateTripPlanInput = {
32844
33586
  /** Total budget for the trip in `currency`. Omit for no cap. */
32845
33587
  budget?: InputMaybe<Scalars['Float']['input']>;
32846
33588
  /** ISO 4217 code; only listings priced in this currency are considered (no FX). Defaults to USD. */
32847
33589
  currency?: InputMaybe<Scalars['String']['input']>;
32848
33590
  destination: Scalars['String']['input'];
32849
- /** Inclusive. At most 30 days after startDate. */
33591
+ /** Inclusive. At most 30 calendar days including startDate. */
32850
33592
  endDate: Scalars['DateTime']['input'];
32851
33593
  /** Things the travelers like, e.g. food, live music, trekking. Matched against listing text. */
32852
33594
  interests?: InputMaybe<Array<Scalars['String']['input']>>;
@@ -32854,9 +33596,34 @@ export type GgnomadGenerateTripPlanInput = {
32854
33596
  maxItemsPerDay?: InputMaybe<Scalars['Int']['input']>;
32855
33597
  /** Plan name; defaults to 'Trip to <destination>'. */
32856
33598
  name?: InputMaybe<Scalars['String']['input']>;
33599
+ /** Up to six reviewed priorities. Only eligible workspace inventory can influence ranking; unavailable priorities produce warnings. Budget, capacity and time constraints still apply. */
33600
+ preferredListings?: InputMaybe<Array<GgnomadReviewedListingPreferenceInput>>;
32857
33601
  startDate: Scalars['DateTime']['input'];
32858
33602
  travelers: Scalars['Int']['input'];
32859
33603
  };
33604
+ /** 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. */
33605
+ export type GgnomadGovernancePolicy = {
33606
+ __typename?: 'GgnomadGovernancePolicy';
33607
+ /** Entity types the operator restricted exports to; empty means every type. */
33608
+ allowedExportEntityTypes: Array<Scalars['String']['output']>;
33609
+ /** False until an operator saves the policy; the defaults apply until then. */
33610
+ configured: Scalars['Boolean']['output'];
33611
+ /** AWS region code the workspace's GGNomad data is pinned to, e.g. ap-south-1. */
33612
+ dataRegion: Scalars['String']['output'];
33613
+ dataRegionName: Scalars['String']['output'];
33614
+ /** The entity types that may be exported under this policy. */
33615
+ exportableEntityTypes: Array<Scalars['String']['output']>;
33616
+ /** When false, exportGgnomadEntities is refused for the whole workspace. */
33617
+ exportsEnabled: Scalars['Boolean']['output'];
33618
+ /** The region this deployment, and every GGNomad data store it uses, runs in. */
33619
+ hostingRegion: Scalars['String']['output'];
33620
+ hostingRegionName: Scalars['String']['output'];
33621
+ /** True when dataRegion is the hosting region. Exports are refused while it is false. */
33622
+ residencyCompliant: Scalars['Boolean']['output'];
33623
+ updatedAt?: Maybe<Scalars['DateTime']['output']>;
33624
+ updatedBy?: Maybe<Scalars['String']['output']>;
33625
+ workspaceId: Scalars['ID']['output'];
33626
+ };
32860
33627
  export type GgnomadGroupTrip = {
32861
33628
  __typename?: 'GgnomadGroupTrip';
32862
33629
  createdAt: Scalars['DateTime']['output'];
@@ -33040,9 +33807,9 @@ export type GgnomadOrder = {
33040
33807
  referenceCode: Scalars['String']['output'];
33041
33808
  serviceFeeAmount: Scalars['Float']['output'];
33042
33809
  serviceFeePercent: Scalars['Float']['output'];
33043
- /** CART or TRIP_PLAN. */
33810
+ /** CART, TRIP_PLAN, or GUEST for a guest checkout from a storefront's booking widget (BOFF-10616). */
33044
33811
  source: Scalars['String']['output'];
33045
- /** The cart or trip plan id. */
33812
+ /** The cart, trip plan or storefront id. */
33046
33813
  sourceId: Scalars['String']['output'];
33047
33814
  /** PENDING while bookings are being created, then PLACED; FAILED if checkout was rolled back. */
33048
33815
  status: Scalars['String']['output'];
@@ -33081,6 +33848,13 @@ export declare enum GgnomadPaymentMethod {
33081
33848
  Card = "CARD",
33082
33849
  GooglePay = "GOOGLE_PAY"
33083
33850
  }
33851
+ /** Inventory kinds supported by the grounded itinerary planner. */
33852
+ export declare enum GgnomadPlannerListingKind {
33853
+ Activity = "ACTIVITY",
33854
+ Event = "EVENT",
33855
+ Property = "PROPERTY",
33856
+ Tour = "TOUR"
33857
+ }
33084
33858
  /** 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
33859
  export type GgnomadPricingRule = {
33086
33860
  __typename?: 'GgnomadPricingRule';
@@ -33247,21 +34021,35 @@ export type GgnomadProtectionPolicy = {
33247
34021
  };
33248
34022
  export type GgnomadProvider = {
33249
34023
  __typename?: 'GgnomadProvider';
34024
+ /** BOFF-3953 — business address: line1, line2, city, region, postalCode, country. */
34025
+ address?: Maybe<Scalars['JSON']['output']>;
34026
+ /** BOFF-3953 — live: bookings created on this provider's listings since the start of the current UTC month, cancelled and refunded excluded. */
34027
+ bookingsThisMonth: Scalars['Int']['output'];
33250
34028
  contactEmail?: Maybe<Scalars['String']['output']>;
33251
34029
  contactPhone?: Maybe<Scalars['String']['output']>;
33252
34030
  createdAt: Scalars['DateTime']['output'];
33253
34031
  description?: Maybe<Scalars['String']['output']>;
33254
34032
  id: Scalars['ID']['output'];
34033
+ /** BOFF-3953 — live: listings this provider owns that are not ARCHIVED. */
33255
34034
  listingCount: Scalars['Int']['output'];
34035
+ /** BOFF-3953 — logo image URL (http or https). */
34036
+ logo?: Maybe<Scalars['String']['output']>;
33256
34037
  name: Scalars['String']['output'];
34038
+ /** BOFF-3953 — the provider-profile checklist the provider portal shows until every step is complete. */
34039
+ profileCompletion: GgnomadProviderProfileCompletion;
34040
+ /** BOFF-3953 — live: review-weighted mean rating across this provider's rated listings; null when none is rated. */
33257
34041
  rating?: Maybe<Scalars['Float']['output']>;
34042
+ /** BOFF-3953 — live: reviews across this provider's listings. */
33258
34043
  reviewCount: Scalars['Int']['output'];
33259
34044
  status: Scalars['String']['output'];
33260
34045
  /** BOFF-4363 — this provider's branded storefront, or null if it hasn't created one yet. */
33261
34046
  storefront?: Maybe<GgnomadOperatorStorefront>;
34047
+ /** BOFF-3953 — live: booking value across this provider's listings in USD (bookings in other currencies converted at the latest published FX rate), cancelled and refunded bookings excluded. */
33262
34048
  totalRevenue: Scalars['Float']['output'];
33263
34049
  type: GgnomadProviderType;
33264
34050
  updatedAt: Scalars['DateTime']['output'];
34051
+ /** BOFF-3953 — when a marketplace operator verified this provider; null until then. */
34052
+ verifiedAt?: Maybe<Scalars['DateTime']['output']>;
33265
34053
  website?: Maybe<Scalars['String']['output']>;
33266
34054
  workspaceId: Scalars['String']['output'];
33267
34055
  };
@@ -33300,6 +34088,29 @@ export type GgnomadProviderListingAnalytics = {
33300
34088
  listingType: GgnomadBookingType;
33301
34089
  revenue: Scalars['Float']['output'];
33302
34090
  };
34091
+ /** BOFF-3953 — how complete a provider profile is. `percent` is a whole number from 0 to 100. */
34092
+ export type GgnomadProviderProfileCompletion = {
34093
+ __typename?: 'GgnomadProviderProfileCompletion';
34094
+ completedSteps: Scalars['Int']['output'];
34095
+ isComplete: Scalars['Boolean']['output'];
34096
+ percent: Scalars['Int']['output'];
34097
+ steps: Array<GgnomadProviderProfileStepStatus>;
34098
+ totalSteps: Scalars['Int']['output'];
34099
+ };
34100
+ /** BOFF-3953 — one step of the provider-profile checklist. BUSINESS_DETAILS: a description. CONTACT: contact email and phone. LOCATION: an address with city and country. BRANDING: a logo and a website. FIRST_LISTING: at least one listing that is not archived. VERIFICATION: a marketplace operator verified the provider. */
34101
+ export declare enum GgnomadProviderProfileStep {
34102
+ Branding = "BRANDING",
34103
+ BusinessDetails = "BUSINESS_DETAILS",
34104
+ Contact = "CONTACT",
34105
+ FirstListing = "FIRST_LISTING",
34106
+ Location = "LOCATION",
34107
+ Verification = "VERIFICATION"
34108
+ }
34109
+ export type GgnomadProviderProfileStepStatus = {
34110
+ __typename?: 'GgnomadProviderProfileStepStatus';
34111
+ complete: Scalars['Boolean']['output'];
34112
+ step: GgnomadProviderProfileStep;
34113
+ };
33303
34114
  export declare enum GgnomadProviderType {
33304
34115
  ActivityProvider = "ACTIVITY_PROVIDER",
33305
34116
  EventOrganizer = "EVENT_ORGANIZER",
@@ -33326,6 +34137,16 @@ export declare enum GgnomadPushPlatform {
33326
34137
  Ios = "IOS",
33327
34138
  Web = "WEB"
33328
34139
  }
34140
+ /** BOFF-4392 — a region a workspace's GGNomad data can be pinned to. */
34141
+ export type GgnomadResidencyRegion = {
34142
+ __typename?: 'GgnomadResidencyRegion';
34143
+ code: Scalars['String']['output'];
34144
+ /** ISO 3166-1 alpha-2 country of the region's data centres. */
34145
+ country: Scalars['String']['output'];
34146
+ /** True for the region this deployment runs in. */
34147
+ hosting: Scalars['Boolean']['output'];
34148
+ name: Scalars['String']['output'];
34149
+ };
33329
34150
  export type GgnomadReview = {
33330
34151
  __typename?: 'GgnomadReview';
33331
34152
  content?: Maybe<Scalars['String']['output']>;
@@ -33347,6 +34168,11 @@ export type GgnomadReviewSummary = {
33347
34168
  count: Scalars['Int']['output'];
33348
34169
  distribution: Array<Scalars['Int']['output']>;
33349
34170
  };
34171
+ /** A traveler-reviewed preference. It never supplies a listing price or availability claim. */
34172
+ export type GgnomadReviewedListingPreferenceInput = {
34173
+ itemId: Scalars['ID']['input'];
34174
+ itemType: GgnomadPlannerListingKind;
34175
+ };
33350
34176
  /** BOFF-3208 — the inventory kinds ggnomadSearch looks across. */
33351
34177
  export declare enum GgnomadSearchEntityType {
33352
34178
  Activity = "ACTIVITY",
@@ -55971,6 +56797,50 @@ export type MtwDriver = {
55971
56797
  vehicles: Array<MtwVehicle>;
55972
56798
  workspaceId: Scalars['ID']['output'];
55973
56799
  };
56800
+ /** The calling driver's delivery day: the mobile driver task list (BOFF-3991). */
56801
+ export type MtwDriverDay = {
56802
+ __typename?: 'MtwDriverDay';
56803
+ completedStops: Scalars['Int']['output'];
56804
+ /** The requested local calendar date (YYYY-MM-DD). */
56805
+ date: Scalars['String']['output'];
56806
+ /** The calling actor's Driver record, or null when the actor is not a driver in this workspace. */
56807
+ driverId?: Maybe<Scalars['ID']['output']>;
56808
+ driverName?: Maybe<Scalars['String']['output']>;
56809
+ /** The first stop awaiting capture, else the first upcoming stop. */
56810
+ nextStop?: Maybe<MtwDriverStop>;
56811
+ remainingStops: Scalars['Int']['output'];
56812
+ stops: Array<MtwDriverStop>;
56813
+ totalStops: Scalars['Int']['output'];
56814
+ windowEnd: Scalars['DateTime']['output'];
56815
+ windowStart: Scalars['DateTime']['output'];
56816
+ };
56817
+ /** One stop in the calling driver's day, in driving sequence order. */
56818
+ export type MtwDriverStop = {
56819
+ __typename?: 'MtwDriverStop';
56820
+ /** True while the job is out for delivery / in transit and can take an ePOD capture. */
56821
+ awaitingCapture: Scalars['Boolean']['output'];
56822
+ /** When the ePOD was captured, for completed stops. */
56823
+ deliveredAt?: Maybe<Scalars['DateTime']['output']>;
56824
+ deliveryJob: MtwDeliveryJob;
56825
+ /** An open job scheduled before the requested day that carried over onto today. */
56826
+ overdue: Scalars['Boolean']['output'];
56827
+ routeId?: Maybe<Scalars['ID']['output']>;
56828
+ routeName?: Maybe<Scalars['String']['output']>;
56829
+ /** 1-based position in the driver's sequence for the day. */
56830
+ sequence: Scalars['Int']['output'];
56831
+ state: MtwDriverStopState;
56832
+ };
56833
+ /**
56834
+ * Where a stop sits in the calling driver's day (BOFF-3991): COMPLETED once
56835
+ * delivered, EN_ROUTE while out for delivery / in transit (ePOD capture is
56836
+ * possible), UPCOMING before dispatch, FAILED for failed or returned jobs.
56837
+ */
56838
+ export declare enum MtwDriverStopState {
56839
+ Completed = "COMPLETED",
56840
+ EnRoute = "EN_ROUTE",
56841
+ Failed = "FAILED",
56842
+ Upcoming = "UPCOMING"
56843
+ }
55974
56844
  export type MtwDriverSuggestion = {
55975
56845
  __typename?: 'MtwDriverSuggestion';
55976
56846
  driver: MtwDriver;
@@ -59345,6 +60215,8 @@ export type Mutation = {
59345
60215
  /** 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
60216
  approveBotmanorAgentActivation: BotmanorAgentApprovalRequest;
59347
60217
  approveChangeRequest: ChangeRequest;
60218
+ /** Approve a pending submission and install it in the catalog. Platform reviewers only. */
60219
+ approveConnectorSubmission: ConnectorSubmission;
59348
60220
  approveCrewPayrollRun: CrewPayrollRun;
59349
60221
  approveExpense: ExpenseEntry;
59350
60222
  /** BOFF-4386 — operator-only: approves a PENDING commission, re-based on the order's bookings that were not cancelled or refunded. */
@@ -59655,14 +60527,27 @@ export type Mutation = {
59655
60527
  bookHousingvistaViewing: HousingVistaViewing;
59656
60528
  /** Gateway-only visitor bootstrap. The subgraph never verifies visitor tokens. */
59657
60529
  bootstrapAssistantWebsiteSession: AssistantWebsiteSessionReceipt;
60530
+ braAcceptVaultInvitation: Scalars['Boolean']['output'];
59658
60531
  braAcknowledgeInsight: BraInsight;
60532
+ braAcknowledgeVaultDownload: Scalars['Boolean']['output'];
59659
60533
  braArchiveAccount: Scalars['Boolean']['output'];
60534
+ braArchiveEntity: Scalars['Boolean']['output'];
59660
60535
  braArchiveGoal: Scalars['Boolean']['output'];
59661
60536
  braArchiveHousehold: Scalars['Boolean']['output'];
59662
60537
  braArchivePortfolio: Scalars['Boolean']['output'];
60538
+ braArchiveVault: Scalars['Boolean']['output'];
60539
+ braArmVault: BraDocumentVault;
60540
+ braAssignAccountEntity: Scalars['Boolean']['output'];
60541
+ braAssignPortfolioEntity: Scalars['Boolean']['output'];
60542
+ braAuthorizeVaultDownload: BraVaultDownloadDecision;
60543
+ braBindVaultFolder: BraDocumentVault;
60544
+ braCheckInVault: BraDocumentVault;
59663
60545
  /** Called after Plaid Link update mode succeeds: clears the link's error and consent-expiry state, marks it ACTIVE and re-syncs it. */
59664
60546
  braCompletePlaidReauthentication: BraAggregationSyncResult;
60547
+ /** Register an existing CRM connection only after verifying the caller may use it. */
60548
+ braConnectMyCrm: BraCrmLink;
59665
60549
  braCreateAccount: BraAccount;
60550
+ braCreateEntity: BraEntity;
59666
60551
  braCreateGoal: BraGoal;
59667
60552
  braCreateHolding: BraHolding;
59668
60553
  braCreateHousehold: BraHousehold;
@@ -59675,9 +60560,13 @@ export type Mutation = {
59675
60560
  braCreateScheduledReport: BraScheduledReport;
59676
60561
  /** Creates a trade-instruction RECOMMENDATION only — never executes anything. */
59677
60562
  braCreateTradeInstruction: BraTradeInstruction;
60563
+ braCreateVault: BraDocumentVault;
59678
60564
  braDeleteHolding: Scalars['Boolean']['output'];
59679
60565
  /** 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
60566
  braDetectRecurringPatterns: BraRecurringPatternConnection;
60567
+ braDisarmVault: BraDocumentVault;
60568
+ /** Remove this advisor's retained CRM data without revoking the shared connection. */
60569
+ braDisconnectMyCrm: Scalars['Boolean']['output'];
59681
60570
  braDismissInsight: BraInsight;
59682
60571
  /** 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
60572
  braEnsureAdvisorProfile: BraAdvisor;
@@ -59689,36 +60578,48 @@ export type Mutation = {
59689
60578
  braGenerateRiskInsights: Array<BraInsight>;
59690
60579
  /** 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
60580
  braHarvestTaxLossInsights: Array<BraInsight>;
60581
+ braInviteVaultRecipient: BraDocumentVault;
59692
60582
  braLinkGoalFunding: BraGoalFunding;
59693
60583
  braPauseScheduledReport: BraScheduledReport;
60584
+ braPinVaultDocument: Scalars['Boolean']['output'];
59694
60585
  /** Recompute and persist a goal's projection from its funded value vs. target. */
59695
60586
  braRecalcGoalProjection: BraGoal;
59696
60587
  braRecordTransaction: BraTransaction;
59697
60588
  /** Refreshes every holding's lastPrice in one account from real live quotes. Never fails wholesale on one bad symbol. */
59698
60589
  braRefreshHoldingPrices: BraHoldingPriceRefreshResult;
60590
+ braRemoveVaultDocument: Scalars['Boolean']['output'];
59699
60591
  braResolveInsight: BraInsight;
59700
60592
  braResumeScheduledReport: BraScheduledReport;
59701
60593
  /** A human advisor marking an instruction reviewed. status must be ACKNOWLEDGED or DISMISSED — there is deliberately no execute transition. */
59702
60594
  braReviewTradeInstruction: BraTradeInstruction;
59703
60595
  /** Revokes the link (real Plaid /item/remove call) and closes its synced accounts. */
59704
60596
  braRevokeAggregationLink: Scalars['Boolean']['output'];
60597
+ /** Emergency revocation is allowed in every phase and invalidates pending recipient leases. */
60598
+ braRevokeVaultRecipient: Scalars['Boolean']['output'];
60599
+ braSetAccountFee: BraAccount;
59705
60600
  /** Change an existing advisor's role. FIRM_ADMIN only. */
59706
60601
  braSetAdvisorRole: BraAdvisor;
59707
60602
  /** 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
60603
  braSetAdvisorStatus: BraAdvisor;
59709
60604
  /** Saves the caller's base-currency preference for future braNetWorthSummary calls. */
59710
60605
  braSetFxBaseCurrency: BraFxPreference;
60606
+ braSetHoldingExpenseRatio: BraHolding;
59711
60607
  /** Re-syncs accounts + transactions for an existing link via Plaid's real /accounts/get and /transactions/sync endpoints. */
59712
60608
  braSyncAggregationLink: BraAggregationSyncResult;
59713
- /** Advance a rebalance proposal through its review lifecycle (validated transitions). */
60609
+ /** Import all CRM account, contact, and task pages atomically, with bounded resource use. */
60610
+ braSyncMyCrm: BraCrmLink;
60611
+ /** 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
60612
  braTransitionRebalanceProposal: BraRebalanceProposal;
59715
60613
  braUnlinkGoalFunding: Scalars['Boolean']['output'];
59716
60614
  braUpdateAccount: BraAccount;
60615
+ braUpdateEntity: BraEntity;
59717
60616
  braUpdateGoal: BraGoal;
59718
60617
  braUpdateHolding: BraHolding;
59719
60618
  braUpdateHousehold: BraHousehold;
59720
60619
  braUpdatePortfolio: BraPortfolio;
59721
60620
  braUpsertMyAdvisorBranding: BraAdvisorBranding;
60621
+ /** 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. */
60622
+ brainyrichVaultDocumentDownloadUrl: Scalars['String']['output'];
59722
60623
  buiAcknowledgeCourseKnowledgeChange: Scalars['Boolean']['output'];
59723
60624
  /** 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
60625
  buiAdminCopilotAsk: BuiAdminCopilotAnswer;
@@ -60271,6 +61172,8 @@ export type Mutation = {
60271
61172
  cooArchiveBrand: Scalars['Boolean']['output'];
60272
61173
  /** Soft-delete a collection (sets deletedAt; excluded from list/read/nested queries thereafter). Mirrors cooArchiveBrand/cooArchiveStyleItem. */
60273
61174
  cooArchiveCollection: Scalars['Boolean']['output'];
61175
+ cooArchiveCreatorRateCard: Scalars['Boolean']['output'];
61176
+ cooArchiveRetailerFeed: Scalars['Boolean']['output'];
60274
61177
  cooArchiveStyleItem: Scalars['Boolean']['output'];
60275
61178
  /** 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
61179
  cooBulkImportCatalog: CooBulkCatalogImportResult;
@@ -60281,38 +61184,54 @@ export type Mutation = {
60281
61184
  /** 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
61185
  cooCheckout: CooOrderCheckout;
60283
61186
  cooClearCart: CooCart;
61187
+ cooCreateArticle: CooEditorialArticle;
61188
+ cooCreateBackInStockAlert: CooPriceAlert;
60284
61189
  cooCreateBrand: CooBrand;
60285
61190
  cooCreateCollaboration: CooCollaboration;
60286
61191
  cooCreateCollection: CooCollection;
61192
+ /** Creates one of at most 20 active offers for this creator in the selected workspace. Offers do not consume collaboration allowance. */
61193
+ cooCreateCreatorRateCard: CooCreatorRateCard;
60287
61194
  cooCreateLook: CooLook;
60288
61195
  cooCreateLookbook: CooLookbook;
61196
+ cooCreatePriceDropAlert: CooPriceAlert;
61197
+ cooCreateRetailerFeed: CooRetailerFeed;
60289
61198
  cooCreateStyleItem: CooStyleItem;
60290
61199
  cooCreateWardrobeItem: CooWardrobeItem;
60291
61200
  /** 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
61201
  cooCurateCollection: CooCollectionCuration;
60293
61202
  /** Decline a shopper's return with a note. The shopper is notified. Returns the order as the brand now sees it. */
60294
61203
  cooDeclineReturnRequest: CooBrandOrder;
61204
+ cooDeleteArticle: Scalars['Boolean']['output'];
60295
61205
  /** 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
61206
  cooDeleteCollaboration: Scalars['Boolean']['output'];
60297
61207
  cooDeleteLook: Scalars['Boolean']['output'];
60298
61208
  /** 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
61209
  cooDeleteLookbook: Scalars['Boolean']['output'];
61210
+ cooDeletePriceAlert: Scalars['Boolean']['output'];
61211
+ cooDeleteTrendReport: Scalars['Boolean']['output'];
60300
61212
  /** Mark a style item as featured for curated discovery surfaces. */
60301
61213
  cooFeatureStyleItem: CooStyleItem;
60302
61214
  /** Follow a user as the calling actor (idempotent; cannot follow yourself). */
60303
61215
  cooFollow: Scalars['Boolean']['output'];
61216
+ cooGenerateTrendReport: CooTrendReport;
61217
+ cooImportRetailerSnapshot: CooRetailerRefresh;
60304
61218
  /** Like a published look (idempotent — liking twice has no further effect). */
60305
61219
  cooLikeLook: CooLook;
60306
61220
  /** Log that the shopper wore a wardrobe piece (increments timesWorn). */
60307
61221
  cooLogWardrobeWear: CooWardrobeItem;
61222
+ cooMapRetailerOffer: CooMappedRetailerOffer;
60308
61223
  /** 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
61224
  cooPayCollaborationFee: CooCollaborationPaymentCheckout;
60310
61225
  /** 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
61226
  cooPreviewExternalCatalog: CooExternalCatalogPreview;
61227
+ /** Creates an ordinary proposed collaboration with immutable server-selected offer terms. No payment is initiated. */
61228
+ cooProposeRateCard: CooCollaboration;
60312
61229
  cooPublishCollection: CooCollection;
60313
61230
  cooPublishLook: CooLook;
61231
+ cooPublishTrendReport: CooTrendReport;
60314
61232
  /** 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
61233
  cooRecordLegalAcceptance: CooLegalAcceptance;
61234
+ cooRefreshRetailerFeed: CooRetailerRefresh;
60316
61235
  /** 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
61236
  cooRefundBrandOrder: CooBrandOrder;
60318
61237
  /** Reject a brand storefront back to the owner (PENDING_REVIEW -> DRAFT). */
@@ -60328,8 +61247,13 @@ export type Mutation = {
60328
61247
  cooResumeOrderPayment: CooOrderCheckout;
60329
61248
  /** Review a brand-creator collaboration and accept, reject, publish, or cancel it. */
60330
61249
  cooReviewCollaboration: CooCollaboration;
61250
+ cooReviewRetailerFeed: CooRetailerFeed;
60331
61251
  /** Save/bookmark a look for later (idempotent). Distinct from liking and from clipping into a named lookbook via cooAddLookbookEntry. */
60332
61252
  cooSaveLook: CooLook;
61253
+ cooSavePriceAlert: CooPriceAlert;
61254
+ cooSetArticleStatus: CooEditorialArticle;
61255
+ cooSetCreatorRateCardPublished: CooCreatorRateCard;
61256
+ cooSetRetailerFeedEnabled: CooRetailerFeed;
60333
61257
  /** 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
61258
  cooSetStyleItemInventory: CooStyleItem;
60335
61259
  /** 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 +61278,14 @@ export type Mutation = {
60354
61278
  cooUnlikeLook: CooLook;
60355
61279
  /** Undo a previous save (idempotent). */
60356
61280
  cooUnsaveLook: CooLook;
61281
+ cooUpdateArticle: CooEditorialArticle;
60357
61282
  cooUpdateBrand: CooBrand;
60358
61283
  /** Set the quantity of one of the caller's cart lines. A quantity of 0 removes the line. */
60359
61284
  cooUpdateCartItem: CooCart;
60360
61285
  /** 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
61286
  cooUpdateCollaboration: CooCollaboration;
60362
61287
  cooUpdateCollection: CooCollection;
61288
+ cooUpdateCreatorRateCard: CooCreatorRateCard;
60363
61289
  cooUpdateLook: CooLook;
60364
61290
  /** Move the brand's part of a paid order forward (confirmed, shipped with tracking, delivered). The buyer is notified of every state change. */
60365
61291
  cooUpdateOrderFulfilment: CooBrandOrder;
@@ -60598,6 +61524,8 @@ export type Mutation = {
60598
61524
  createGeofence: Geofence;
60599
61525
  /** BOFF-4388 — enters the verification workflow at PENDING_REVIEW (not ACTIVE); use submitGgnomadListingForReview/approveGgnomadListing to progress it. */
60600
61526
  createGgnomadActivity: GgnomadActivity;
61527
+ /** BOFF-10615 — operator-only: adds a category, volume-tier or promotional commission rule. */
61528
+ createGgnomadAffiliateCommissionRule: GgnomadAffiliateCommissionRule;
60601
61529
  /** BOFF-4386 — operator-only: adds an affiliate partner with a referral code. */
60602
61530
  createGgnomadAffiliatePartner: GgnomadAffiliatePartner;
60603
61531
  /** BOFF-4388 — for bookingType PROPERTY/TOUR/EVENT/ACTIVITY, the target listing must be ACTIVE (verified) or this throws LISTING_NOT_BOOKABLE. BOFF-10228: a TRIP must have a verified fare (created from an offerToken) or this throws TRIP_FARE_UNVERIFIED. */
@@ -61163,6 +62091,8 @@ export type Mutation = {
61163
62091
  deleteFolder: Scalars['Boolean']['output'];
61164
62092
  deleteFunnel: Scalars['Boolean']['output'];
61165
62093
  deleteGeofence: Geofence;
62094
+ /** BOFF-10615 — operator-only: deletes a commission rule; commissions already created keep their rate. */
62095
+ deleteGgnomadAffiliateCommissionRule: Scalars['Boolean']['output'];
61166
62096
  /** Removes the mapping and clears any blocking availability slots its inbound sync had created. */
61167
62097
  deleteGgnomadChannelMapping: Scalars['Boolean']['output'];
61168
62098
  /** BOFF-4378 — host only: removes a pricing rule. Returns true when it was removed. */
@@ -61810,6 +62740,7 @@ export type Mutation = {
61810
62740
  * @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
62741
  */
61812
62742
  exportDashboard: Scalars['String']['output'];
62743
+ /** 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
62744
  exportGgnomadEntities: GgnomadExportJob;
61814
62745
  exportGroupData: GroupExportResult;
61815
62746
  exportHeadshotmarketingEntities: HeadshotmarketingExportJob;
@@ -63520,6 +64451,8 @@ export type Mutation = {
63520
64451
  pswArchivePractitioner: Scalars['Boolean']['output'];
63521
64452
  pswArchivePractitionerCredential: Scalars['Boolean']['output'];
63522
64453
  pswCancelInvoice: PswInvoice;
64454
+ /** Disables the filing's recurring reminder cron and clears reminderScheduleId. No-op if nothing is scheduled. */
64455
+ pswCancelRecurringFiling: PswRecurringFiling;
63523
64456
  /** Disables the retainer's recurring cron and clears retainerScheduleId. No-op if nothing is scheduled. */
63524
64457
  pswCancelRetainerBilling: PswEngagement;
63525
64458
  pswCancelSignatureRequest: PswSignatureRequest;
@@ -63544,6 +64477,8 @@ export type Mutation = {
63544
64477
  pswCreatePracticeArea: PswPracticeArea;
63545
64478
  pswCreatePractitioner: PswPractitioner;
63546
64479
  pswCreatePractitionerCredential: PswPractitionerCredential;
64480
+ /** 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). */
64481
+ pswCreateRecurringFiling: PswRecurringFiling;
63547
64482
  pswCreateRetainerDraftInvoice: PswInvoice;
63548
64483
  pswCreateSignatureRequest: PswSignatureRequest;
63549
64484
  pswCreateTrustAccount: PswTrustAccount;
@@ -63584,6 +64519,8 @@ export type Mutation = {
63584
64519
  /** Practitioner-side: revokes a client contact's portal access. */
63585
64520
  pswRevokeClientPortalUser: PswClientPortalUser;
63586
64521
  pswRevokeObligationReminderConsent: PswObligationReminder;
64522
+ /** 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. */
64523
+ pswRunScheduledFilingReminder: PswRecurringFiling;
63587
64524
  /** 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
64525
  pswRunScheduledRetainerBilling: PswInvoice;
63589
64526
  pswScheduleObligationReminder: PswObligationReminder;
@@ -63690,6 +64627,13 @@ export type Mutation = {
63690
64627
  */
63691
64628
  recordAgentToolCall: Scalars['Boolean']['output'];
63692
64629
  recordApplicationUsage: ApplicationUsage;
64630
+ /**
64631
+ * Record what a first-party service did with a connection (BOFF-10575), so it
64632
+ * shows in the connection's log next to the integrations service's own entries.
64633
+ * Service actors only; the connection must belong to the x-workspace-id
64634
+ * workspace and not be deleted.
64635
+ */
64636
+ recordConnectionActivity: IntegrationLog;
63693
64637
  recordFocusScore: FocusScore;
63694
64638
  recordGeofenceEvent: GeofenceEvent;
63695
64639
  /** BOFF-4386 — operator-only: records a payout made to a partner and marks those commissions PAID. */
@@ -63799,6 +64743,8 @@ export type Mutation = {
63799
64743
  /** Reject a pending request with a reason. Refused for your own request. */
63800
64744
  rejectBotmanorAgentActivation: BotmanorAgentApprovalRequest;
63801
64745
  rejectChangeRequest: ChangeRequest;
64746
+ /** Reject a pending submission with a reason. Platform reviewers only. */
64747
+ rejectConnectorSubmission: ConnectorSubmission;
63802
64748
  rejectExpense: ExpenseEntry;
63803
64749
  /** BOFF-4365 — admin-only: cancels the underlying booking (revoking any issued tickets) and records the rejection. */
63804
64750
  rejectGgnomadBookingApproval: GgnomadBookingApproval;
@@ -63867,7 +64813,7 @@ export type Mutation = {
63867
64813
  removeCrewTimeEntry: Scalars['Boolean']['output'];
63868
64814
  removeCrewTrainingCourse: Scalars['Boolean']['output'];
63869
64815
  removeCrewVendor: Scalars['Boolean']['output'];
63870
- /** Remove a reaction from a comment */
64816
+ /** 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
64817
  removeEntityCommentReaction: Scalars['Boolean']['output'];
63872
64818
  removeGgnomadCartItem: GgnomadCart;
63873
64819
  /** Creator-only. */
@@ -64729,6 +65675,8 @@ export type Mutation = {
64729
65675
  subUpdateRelationship: SubRelationship;
64730
65676
  subVerifyChannel: SubCommunicationChannel;
64731
65677
  submitApprovalRequest: TimeApprovalRequest;
65678
+ /** Submit a third-party connector for review. */
65679
+ submitConnector: ConnectorSubmission;
64732
65680
  submitExpenseForApproval: ExpenseEntry;
64733
65681
  /** BOFF-4388 — moves a DRAFT listing to PENDING_REVIEW so a marketplace operator can vet it. */
64734
65682
  submitGgnomadListingForReview: GgnomadListing;
@@ -64846,6 +65794,8 @@ export type Mutation = {
64846
65794
  tecAddPortfolioItem: TecPortfolioItem;
64847
65795
  /** Approve a pending mentor profile (PENDING -> ACTIVE). */
64848
65796
  tecApproveMentor: TecMentor;
65797
+ /** Close the assessment to new attempts. Existing attempts and certificates stay. */
65798
+ tecArchiveAssessment: TecAssessment;
64849
65799
  /** DESTRUCTIVE: archives the course, removing it from the learner catalog. An agent or UI must get explicit user confirmation before calling this. */
64850
65800
  tecArchiveCourse: Scalars['Boolean']['output'];
64851
65801
  /** Archive (soft-delete) a plan the calling learner owns. */
@@ -64856,12 +65806,17 @@ export type Mutation = {
64856
65806
  tecBookSession: TecMentorSession;
64857
65807
  /** 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
65808
  tecCancelSession: TecMentorSession;
65809
+ /** Retry issuing the certificate for the caller's passed, verified attempt. */
65810
+ tecClaimAssessmentCertificate: TecAssessmentAttempt;
64859
65811
  /** 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
65812
  tecCompleteHackathon: TecHackathon;
64861
65813
  /** 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
65814
  tecCompleteLesson: TecEnrollment;
64863
65815
  tecCompleteSession: TecMentorSession;
64864
65816
  tecConfirmSession: TecMentorSession;
65817
+ /** Use an integration connection (provider `xapi-lrs`) as the workspace's Learning Record Store (BOFF-10575). The connection is read as the caller; its endpoint must be a public https address that answers the xAPI /about check. Replaces any LRS connected before; a different connection is pushed the full history. */
65818
+ tecConnectXapiLrs: TecXapiLrsSync;
65819
+ tecCreateAssessment: TecAssessment;
64865
65820
  tecCreateCourse: TecCourse;
64866
65821
  tecCreateHackathon: TecHackathon;
64867
65822
  tecCreateLesson: TecLesson;
@@ -64870,7 +65825,11 @@ export type Mutation = {
64870
65825
  tecCreateProblemTestCase: TecProblemTestCase;
64871
65826
  /** 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
65827
  tecDeleteProblemTestCase: Scalars['Boolean']['output'];
65828
+ /** Stop pushing to the workspace's LRS. The integration connection itself is not deleted; delete it in wspace-integrations-svc to remove the stored secret. Returns false when no LRS was connected. */
65829
+ tecDisconnectXapiLrs: Scalars['Boolean']['output'];
64873
65830
  tecEnroll: TecEnrollment;
65831
+ /** 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). */
65832
+ tecExportScormPackage: TecScormPackage;
64874
65833
  /** Generate a new, deterministic study plan for the calling learner (see the module honesty note above -- this is rule-based, not AI-personalized). */
64875
65834
  tecGenerateStudyPlan: TecStudyPlan;
64876
65835
  /** Manually override the verdict for a submission (awards points if ACCEPTED). Reserved for author/admin intervention; normal grading is automatic. */
@@ -64879,11 +65838,15 @@ export type Mutation = {
64879
65838
  tecIssueCertificate: TecCertificate;
64880
65839
  /** Open registration for a hackathon (DRAFT -> REGISTRATION_OPEN). */
64881
65840
  tecOpenRegistration: TecHackathon;
65841
+ /** Open the assessment to learners. Needs at least one question. */
65842
+ tecPublishAssessment: TecAssessment;
64882
65843
  /** Publish a course, making it visible to learners (DRAFT -> PUBLISHED). */
64883
65844
  tecPublishCourse: TecCourse;
64884
65845
  /** Publish the calling learner's portfolio, generating a shareable public slug on first publish (kept stable on subsequent re-publishes). */
64885
65846
  tecPublishPortfolio: TecPortfolio;
64886
65847
  tecPublishProblem: TecProblem;
65848
+ /** Report an integrity signal from the caller's browser for their own attempt. */
65849
+ tecRecordAssessmentSignal: TecAssessmentAttempt;
64887
65850
  /** Record an in-product legal acceptance checkpoint for the calling actor. */
64888
65851
  tecRecordLegalAcceptance: TecRecordLegalAcceptancePayload;
64889
65852
  /** Register a team for a hackathon with the calling user as captain. */
@@ -64894,6 +65857,8 @@ export type Mutation = {
64894
65857
  tecRemovePortfolioItem: Scalars['Boolean']['output'];
64895
65858
  /** Reorder the calling learner's portfolio items. */
64896
65859
  tecReorderPortfolioItems: TecPortfolio;
65860
+ /** Decide a FLAGGED or PENDING_REVIEW attempt. VERIFIED on a passed attempt issues its certificate. Reviewers cannot decide their own attempts. */
65861
+ tecReviewAssessmentAttempt: TecAssessmentAttempt;
64897
65862
  /** 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
65863
  tecReviewSubmission: TecSubmissionReview;
64899
65864
  /** 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,20 +65867,29 @@ export type Mutation = {
64902
65867
  tecRunLessonCode: TecLessonCodeRun;
64903
65868
  /** 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
65869
  tecRunSolution: TecSolutionRun;
65870
+ /** Save the caller's in-progress answers (display order, -1 for unanswered). */
65871
+ tecSaveAssessmentAnswers: TecAssessmentAttempt;
64905
65872
  /** 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
65873
  tecScoreTeam: TecHackathonTeam;
65874
+ /** 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). */
65875
+ tecStartAssessment: TecAssessmentAttempt;
64907
65876
  /** Move a hackathon into its running window (REGISTRATION_OPEN -> IN_PROGRESS). */
64908
65877
  tecStartHackathon: TecHackathon;
64909
65878
  /** Move a hackathon into judging (IN_PROGRESS -> JUDGING). */
64910
65879
  tecStartJudging: TecHackathon;
65880
+ /** 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. */
65881
+ tecSubmitAssessment: TecAssessmentAttempt;
64911
65882
  /** Grade a QUIZ lesson attempt server-side (BOFF-4107). A passing attempt completes the lesson for the calling learner when they are enrolled. */
64912
65883
  tecSubmitLessonQuiz: TecQuizResult;
64913
65884
  /** Submit a team's project for judging (sets status SUBMITTED). */
64914
65885
  tecSubmitProject: TecHackathonTeam;
64915
65886
  /** Submit a solution to a problem; the grader runs it against the problem's test cases and the returned row already carries the verdict. If the problem has no test cases yet, the language isn't supported by the grader, or the sandbox call fails, the submission is returned PENDING and can be retried with tecRegradeSubmission. */
64916
65887
  tecSubmitSolution: TecSubmission;
65888
+ /** Push now instead of waiting for the schedule. Sends a bounded amount in the request and leaves anything further to the schedule, due immediately. */
65889
+ tecSyncXapiLrsNow: TecXapiLrsSync;
64917
65890
  /** 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
65891
  tecUnpublishPortfolio: TecPortfolio;
65892
+ tecUpdateAssessment: TecAssessment;
64919
65893
  tecUpdateCourse: TecCourse;
64920
65894
  tecUpdateHackathon: TecHackathon;
64921
65895
  tecUpdateLesson: TecLesson;
@@ -65310,16 +66284,22 @@ export type Mutation = {
65310
66284
  updateGeneratedWidgetPosition: PromptGeneration;
65311
66285
  updateGeofence: Geofence;
65312
66286
  updateGgnomadActivity: GgnomadActivity;
66287
+ /** BOFF-10615 — operator-only: edits a commission rule; commissions already created keep their rate. */
66288
+ updateGgnomadAffiliateCommissionRule: GgnomadAffiliateCommissionRule;
65313
66289
  /** BOFF-4386 — operator-only: edits a partner, including suspending or reactivating it. */
65314
66290
  updateGgnomadAffiliatePartner: GgnomadAffiliatePartner;
65315
66291
  updateGgnomadCartItemQuantity: GgnomadCart;
65316
66292
  /** BOFF-3936 — operator-only (ggnomad:manage): sets the workspace's checkout tax, service fee and accepted payment methods. */
65317
66293
  updateGgnomadCheckoutSettings: GgnomadCheckoutSettings;
65318
66294
  updateGgnomadEvent: GgnomadEvent;
66295
+ /** 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. */
66296
+ updateGgnomadGovernancePolicy: GgnomadGovernancePolicy;
65319
66297
  updateGgnomadOperatorStorefront: GgnomadOperatorStorefront;
65320
66298
  /** BOFF-4378 — host only: changes a pricing rule. */
65321
66299
  updateGgnomadPricingRule: GgnomadPricingRule;
65322
66300
  updateGgnomadProperty: GgnomadProperty;
66301
+ /** BOFF-3953 — edits a provider profile. Only the actor who created the profile may edit it; anyone else gets NOT_FOUND. */
66302
+ updateGgnomadProvider: GgnomadProvider;
65323
66303
  updateGgnomadTour: GgnomadTour;
65324
66304
  updateGgnomadTravelPolicy: GgnomadTravelPolicy;
65325
66305
  /** BOFF-10248 — only the traveler who created the trip may change it; NOT_FOUND for anyone else. */
@@ -65718,6 +66698,8 @@ export type Mutation = {
65718
66698
  /** Create or update a scorecard for an entity */
65719
66699
  upsertVibecontrolsScorecard: VibecontrolsScorecard;
65720
66700
  validateDocsBuildImage: VibecontrolsDocsBuildImage;
66701
+ /** BOFF-3953 — operator-only: marks a provider verified (a PENDING provider becomes ACTIVE). Idempotent. Requires ggnomad:manage. */
66702
+ verifyGgnomadProvider: GgnomadProvider;
65721
66703
  /** Mark a LOCKED inventory VERIFIED (verifier action). */
65722
66704
  verifyHealthyBowlGhgInventory: HbGhgInventory;
65723
66705
  verifyMtwInspectorQualification: MtwInspectorQualification;
@@ -65735,6 +66717,8 @@ export type Mutation = {
65735
66717
  votePoll: Poll;
65736
66718
  /** 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
66719
  wakeMeshAgent: AgentProxyResponse;
66720
+ /** Withdraw one of your own submissions while it waits for review. */
66721
+ withdrawConnectorSubmission: ConnectorSubmission;
65738
66722
  withdrawHousingvistaOffer: HousingVistaOffer;
65739
66723
  withdrawRequest: TimeApprovalRequest;
65740
66724
  /**
@@ -66480,6 +67464,11 @@ export type MutationApproveChangeRequestArgs = {
66480
67464
  id: Scalars['ID']['input'];
66481
67465
  };
66482
67466
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67467
+ export type MutationApproveConnectorSubmissionArgs = {
67468
+ id: Scalars['ID']['input'];
67469
+ notes?: InputMaybe<Scalars['String']['input']>;
67470
+ };
67471
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
66483
67472
  export type MutationApproveCrewPayrollRunArgs = {
66484
67473
  id: Scalars['ID']['input'];
66485
67474
  };
@@ -67279,14 +68268,28 @@ export type MutationBootstrapAssistantWebsiteSessionArgs = {
67279
68268
  origin: Scalars['String']['input'];
67280
68269
  };
67281
68270
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68271
+ export type MutationBraAcceptVaultInvitationArgs = {
68272
+ acceptanceVersion: Scalars['String']['input'];
68273
+ id: Scalars['ID']['input'];
68274
+ };
68275
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67282
68276
  export type MutationBraAcknowledgeInsightArgs = {
67283
68277
  id: Scalars['ID']['input'];
67284
68278
  };
67285
68279
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68280
+ export type MutationBraAcknowledgeVaultDownloadArgs = {
68281
+ leaseId: Scalars['ID']['input'];
68282
+ recipientId: Scalars['ID']['input'];
68283
+ };
68284
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67286
68285
  export type MutationBraArchiveAccountArgs = {
67287
68286
  id: Scalars['ID']['input'];
67288
68287
  };
67289
68288
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68289
+ export type MutationBraArchiveEntityArgs = {
68290
+ id: Scalars['ID']['input'];
68291
+ };
68292
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67290
68293
  export type MutationBraArchiveGoalArgs = {
67291
68294
  id: Scalars['ID']['input'];
67292
68295
  };
@@ -67299,14 +68302,58 @@ export type MutationBraArchivePortfolioArgs = {
67299
68302
  id: Scalars['ID']['input'];
67300
68303
  };
67301
68304
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68305
+ export type MutationBraArchiveVaultArgs = {
68306
+ id: Scalars['ID']['input'];
68307
+ };
68308
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68309
+ export type MutationBraArmVaultArgs = {
68310
+ consentVersion: Scalars['String']['input'];
68311
+ id: Scalars['ID']['input'];
68312
+ timing: BraVaultTimingInput;
68313
+ };
68314
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68315
+ export type MutationBraAssignAccountEntityArgs = {
68316
+ accountId: Scalars['ID']['input'];
68317
+ entityId?: InputMaybe<Scalars['ID']['input']>;
68318
+ };
68319
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68320
+ export type MutationBraAssignPortfolioEntityArgs = {
68321
+ entityId?: InputMaybe<Scalars['ID']['input']>;
68322
+ portfolioId: Scalars['ID']['input'];
68323
+ };
68324
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68325
+ export type MutationBraAuthorizeVaultDownloadArgs = {
68326
+ documentId: Scalars['ID']['input'];
68327
+ recipientId: Scalars['ID']['input'];
68328
+ };
68329
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68330
+ export type MutationBraBindVaultFolderArgs = {
68331
+ folderId: Scalars['ID']['input'];
68332
+ id: Scalars['ID']['input'];
68333
+ };
68334
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68335
+ export type MutationBraCheckInVaultArgs = {
68336
+ id: Scalars['ID']['input'];
68337
+ };
68338
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67302
68339
  export type MutationBraCompletePlaidReauthenticationArgs = {
67303
68340
  id: Scalars['ID']['input'];
67304
68341
  };
67305
68342
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68343
+ export type MutationBraConnectMyCrmArgs = {
68344
+ connectionId: Scalars['ID']['input'];
68345
+ instanceOrigin?: InputMaybe<Scalars['String']['input']>;
68346
+ provider: BraCrmProvider;
68347
+ };
68348
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67306
68349
  export type MutationBraCreateAccountArgs = {
67307
68350
  input: BraCreateAccountInput;
67308
68351
  };
67309
68352
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68353
+ export type MutationBraCreateEntityArgs = {
68354
+ input: BraEntityInput;
68355
+ };
68356
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67310
68357
  export type MutationBraCreateGoalArgs = {
67311
68358
  input: BraCreateGoalInput;
67312
68359
  };
@@ -67347,6 +68394,10 @@ export type MutationBraCreateTradeInstructionArgs = {
67347
68394
  input: BraCreateTradeInstructionInput;
67348
68395
  };
67349
68396
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68397
+ export type MutationBraCreateVaultArgs = {
68398
+ input: BraCreateVaultInput;
68399
+ };
68400
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67350
68401
  export type MutationBraDeleteHoldingArgs = {
67351
68402
  id: Scalars['ID']['input'];
67352
68403
  };
@@ -67355,6 +68406,14 @@ export type MutationBraDetectRecurringPatternsArgs = {
67355
68406
  input?: InputMaybe<BraRecurringDetectionInput>;
67356
68407
  };
67357
68408
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68409
+ export type MutationBraDisarmVaultArgs = {
68410
+ id: Scalars['ID']['input'];
68411
+ };
68412
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68413
+ export type MutationBraDisconnectMyCrmArgs = {
68414
+ id: Scalars['ID']['input'];
68415
+ };
68416
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67358
68417
  export type MutationBraDismissInsightArgs = {
67359
68418
  id: Scalars['ID']['input'];
67360
68419
  };
@@ -67382,6 +68441,11 @@ export type MutationBraHarvestTaxLossInsightsArgs = {
67382
68441
  thresholds?: InputMaybe<BraTaxLossThresholdInput>;
67383
68442
  };
67384
68443
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68444
+ export type MutationBraInviteVaultRecipientArgs = {
68445
+ id: Scalars['ID']['input'];
68446
+ recipientId: Scalars['ID']['input'];
68447
+ };
68448
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67385
68449
  export type MutationBraLinkGoalFundingArgs = {
67386
68450
  input: BraLinkGoalFundingInput;
67387
68451
  };
@@ -67390,6 +68454,11 @@ export type MutationBraPauseScheduledReportArgs = {
67390
68454
  id: Scalars['ID']['input'];
67391
68455
  };
67392
68456
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68457
+ export type MutationBraPinVaultDocumentArgs = {
68458
+ id: Scalars['ID']['input'];
68459
+ input: BraPinVaultDocumentInput;
68460
+ };
68461
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67393
68462
  export type MutationBraRecalcGoalProjectionArgs = {
67394
68463
  fundedAmount: Scalars['Float']['input'];
67395
68464
  id: Scalars['ID']['input'];
@@ -67403,6 +68472,11 @@ export type MutationBraRefreshHoldingPricesArgs = {
67403
68472
  accountId: Scalars['ID']['input'];
67404
68473
  };
67405
68474
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68475
+ export type MutationBraRemoveVaultDocumentArgs = {
68476
+ documentId: Scalars['ID']['input'];
68477
+ id: Scalars['ID']['input'];
68478
+ };
68479
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67406
68480
  export type MutationBraResolveInsightArgs = {
67407
68481
  id: Scalars['ID']['input'];
67408
68482
  };
@@ -67420,6 +68494,16 @@ export type MutationBraRevokeAggregationLinkArgs = {
67420
68494
  id: Scalars['ID']['input'];
67421
68495
  };
67422
68496
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68497
+ export type MutationBraRevokeVaultRecipientArgs = {
68498
+ beneficiaryId: Scalars['ID']['input'];
68499
+ id: Scalars['ID']['input'];
68500
+ };
68501
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68502
+ export type MutationBraSetAccountFeeArgs = {
68503
+ accountId: Scalars['ID']['input'];
68504
+ input: BraFeeMetadataInput;
68505
+ };
68506
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67423
68507
  export type MutationBraSetAdvisorRoleArgs = {
67424
68508
  role: BraAdvisorRole;
67425
68509
  userId: Scalars['ID']['input'];
@@ -67434,12 +68518,22 @@ export type MutationBraSetFxBaseCurrencyArgs = {
67434
68518
  baseCurrency: Scalars['String']['input'];
67435
68519
  };
67436
68520
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68521
+ export type MutationBraSetHoldingExpenseRatioArgs = {
68522
+ holdingId: Scalars['ID']['input'];
68523
+ input: BraFeeMetadataInput;
68524
+ };
68525
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67437
68526
  export type MutationBraSyncAggregationLinkArgs = {
67438
68527
  id: Scalars['ID']['input'];
67439
68528
  };
67440
68529
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68530
+ export type MutationBraSyncMyCrmArgs = {
68531
+ id: Scalars['ID']['input'];
68532
+ };
68533
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67441
68534
  export type MutationBraTransitionRebalanceProposalArgs = {
67442
68535
  id: Scalars['ID']['input'];
68536
+ note?: InputMaybe<Scalars['String']['input']>;
67443
68537
  status: BraRebalanceStatus;
67444
68538
  };
67445
68539
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
@@ -67452,6 +68546,11 @@ export type MutationBraUpdateAccountArgs = {
67452
68546
  input: BraUpdateAccountInput;
67453
68547
  };
67454
68548
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68549
+ export type MutationBraUpdateEntityArgs = {
68550
+ id: Scalars['ID']['input'];
68551
+ input: BraEntityInput;
68552
+ };
68553
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67455
68554
  export type MutationBraUpdateGoalArgs = {
67456
68555
  id: Scalars['ID']['input'];
67457
68556
  input: BraUpdateGoalInput;
@@ -67476,6 +68575,10 @@ export type MutationBraUpsertMyAdvisorBrandingArgs = {
67476
68575
  input: BraUpsertAdvisorBrandingInput;
67477
68576
  };
67478
68577
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68578
+ export type MutationBrainyrichVaultDocumentDownloadUrlArgs = {
68579
+ documentId: Scalars['ID']['input'];
68580
+ };
68581
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
67479
68582
  export type MutationBuiAcknowledgeCourseKnowledgeChangeArgs = {
67480
68583
  id: Scalars['ID']['input'];
67481
68584
  revision: Scalars['ID']['input'];
@@ -68960,6 +70063,14 @@ export type MutationCooArchiveCollectionArgs = {
68960
70063
  id: Scalars['ID']['input'];
68961
70064
  };
68962
70065
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70066
+ export type MutationCooArchiveCreatorRateCardArgs = {
70067
+ id: Scalars['ID']['input'];
70068
+ };
70069
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70070
+ export type MutationCooArchiveRetailerFeedArgs = {
70071
+ id: Scalars['ID']['input'];
70072
+ };
70073
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68963
70074
  export type MutationCooArchiveStyleItemArgs = {
68964
70075
  id: Scalars['ID']['input'];
68965
70076
  };
@@ -68980,6 +70091,14 @@ export type MutationCooCheckoutArgs = {
68980
70091
  input: CooCheckoutInput;
68981
70092
  };
68982
70093
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70094
+ export type MutationCooCreateArticleArgs = {
70095
+ input: CooEditorialArticleInput;
70096
+ };
70097
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70098
+ export type MutationCooCreateBackInStockAlertArgs = {
70099
+ input: CooCreatePriceAlertInput;
70100
+ };
70101
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68983
70102
  export type MutationCooCreateBrandArgs = {
68984
70103
  input: CooCreateBrandInput;
68985
70104
  };
@@ -68992,6 +70111,10 @@ export type MutationCooCreateCollectionArgs = {
68992
70111
  input: CooCreateCollectionInput;
68993
70112
  };
68994
70113
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70114
+ export type MutationCooCreateCreatorRateCardArgs = {
70115
+ input: CooCreatorRateCardInput;
70116
+ };
70117
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
68995
70118
  export type MutationCooCreateLookArgs = {
68996
70119
  input: CooCreateLookInput;
68997
70120
  };
@@ -69000,6 +70123,14 @@ export type MutationCooCreateLookbookArgs = {
69000
70123
  input: CooCreateLookbookInput;
69001
70124
  };
69002
70125
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70126
+ export type MutationCooCreatePriceDropAlertArgs = {
70127
+ input: CooCreatePriceAlertInput;
70128
+ };
70129
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70130
+ export type MutationCooCreateRetailerFeedArgs = {
70131
+ input: CooRetailerFeedInput;
70132
+ };
70133
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69003
70134
  export type MutationCooCreateStyleItemArgs = {
69004
70135
  input: CooCreateStyleItemInput;
69005
70136
  };
@@ -69017,6 +70148,10 @@ export type MutationCooDeclineReturnRequestArgs = {
69017
70148
  input: CooDeclineReturnRequestInput;
69018
70149
  };
69019
70150
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70151
+ export type MutationCooDeleteArticleArgs = {
70152
+ id: Scalars['ID']['input'];
70153
+ };
70154
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69020
70155
  export type MutationCooDeleteCollaborationArgs = {
69021
70156
  id: Scalars['ID']['input'];
69022
70157
  };
@@ -69029,6 +70164,14 @@ export type MutationCooDeleteLookbookArgs = {
69029
70164
  id: Scalars['ID']['input'];
69030
70165
  };
69031
70166
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70167
+ export type MutationCooDeletePriceAlertArgs = {
70168
+ id: Scalars['ID']['input'];
70169
+ };
70170
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70171
+ export type MutationCooDeleteTrendReportArgs = {
70172
+ id: Scalars['ID']['input'];
70173
+ };
70174
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69032
70175
  export type MutationCooFeatureStyleItemArgs = {
69033
70176
  id: Scalars['ID']['input'];
69034
70177
  };
@@ -69037,6 +70180,15 @@ export type MutationCooFollowArgs = {
69037
70180
  followeeId: Scalars['ID']['input'];
69038
70181
  };
69039
70182
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70183
+ export type MutationCooGenerateTrendReportArgs = {
70184
+ input: CooGenerateTrendReportInput;
70185
+ };
70186
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70187
+ export type MutationCooImportRetailerSnapshotArgs = {
70188
+ id: Scalars['ID']['input'];
70189
+ snapshot: Scalars['JSON']['input'];
70190
+ };
70191
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69040
70192
  export type MutationCooLikeLookArgs = {
69041
70193
  id: Scalars['ID']['input'];
69042
70194
  };
@@ -69045,6 +70197,11 @@ export type MutationCooLogWardrobeWearArgs = {
69045
70197
  id: Scalars['ID']['input'];
69046
70198
  };
69047
70199
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70200
+ export type MutationCooMapRetailerOfferArgs = {
70201
+ offerId: Scalars['ID']['input'];
70202
+ styleItemId?: InputMaybe<Scalars['ID']['input']>;
70203
+ };
70204
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69048
70205
  export type MutationCooPayCollaborationFeeArgs = {
69049
70206
  id: Scalars['ID']['input'];
69050
70207
  };
@@ -69053,6 +70210,10 @@ export type MutationCooPreviewExternalCatalogArgs = {
69053
70210
  source: CooExternalCatalogSourceInput;
69054
70211
  };
69055
70212
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70213
+ export type MutationCooProposeRateCardArgs = {
70214
+ input: CooRateCardProposalInput;
70215
+ };
70216
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69056
70217
  export type MutationCooPublishCollectionArgs = {
69057
70218
  id: Scalars['ID']['input'];
69058
70219
  };
@@ -69061,10 +70222,19 @@ export type MutationCooPublishLookArgs = {
69061
70222
  id: Scalars['ID']['input'];
69062
70223
  };
69063
70224
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70225
+ export type MutationCooPublishTrendReportArgs = {
70226
+ id: Scalars['ID']['input'];
70227
+ publish: Scalars['Boolean']['input'];
70228
+ };
70229
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69064
70230
  export type MutationCooRecordLegalAcceptanceArgs = {
69065
70231
  input: CooRecordLegalAcceptanceInput;
69066
70232
  };
69067
70233
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70234
+ export type MutationCooRefreshRetailerFeedArgs = {
70235
+ id: Scalars['ID']['input'];
70236
+ };
70237
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69068
70238
  export type MutationCooRefundBrandOrderArgs = {
69069
70239
  input: CooRefundBrandOrderInput;
69070
70240
  };
@@ -69102,10 +70272,35 @@ export type MutationCooReviewCollaborationArgs = {
69102
70272
  input: CooReviewCollaborationInput;
69103
70273
  };
69104
70274
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70275
+ export type MutationCooReviewRetailerFeedArgs = {
70276
+ approved: Scalars['Boolean']['input'];
70277
+ id: Scalars['ID']['input'];
70278
+ notes: Scalars['String']['input'];
70279
+ };
70280
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69105
70281
  export type MutationCooSaveLookArgs = {
69106
70282
  id: Scalars['ID']['input'];
69107
70283
  };
69108
70284
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70285
+ export type MutationCooSavePriceAlertArgs = {
70286
+ input: CooPriceAlertInput;
70287
+ };
70288
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70289
+ export type MutationCooSetArticleStatusArgs = {
70290
+ id: Scalars['ID']['input'];
70291
+ status: CooEditorialStatus;
70292
+ };
70293
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70294
+ export type MutationCooSetCreatorRateCardPublishedArgs = {
70295
+ id: Scalars['ID']['input'];
70296
+ published: Scalars['Boolean']['input'];
70297
+ };
70298
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70299
+ export type MutationCooSetRetailerFeedEnabledArgs = {
70300
+ enabled: Scalars['Boolean']['input'];
70301
+ id: Scalars['ID']['input'];
70302
+ };
70303
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69109
70304
  export type MutationCooSetStyleItemInventoryArgs = {
69110
70305
  id: Scalars['ID']['input'];
69111
70306
  input: CooSetStyleItemInventoryInput;
@@ -69158,6 +70353,11 @@ export type MutationCooUnsaveLookArgs = {
69158
70353
  id: Scalars['ID']['input'];
69159
70354
  };
69160
70355
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70356
+ export type MutationCooUpdateArticleArgs = {
70357
+ id: Scalars['ID']['input'];
70358
+ input: CooEditorialArticleInput;
70359
+ };
70360
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69161
70361
  export type MutationCooUpdateBrandArgs = {
69162
70362
  id: Scalars['ID']['input'];
69163
70363
  input: CooUpdateBrandInput;
@@ -69178,6 +70378,11 @@ export type MutationCooUpdateCollectionArgs = {
69178
70378
  input: CooUpdateCollectionInput;
69179
70379
  };
69180
70380
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
70381
+ export type MutationCooUpdateCreatorRateCardArgs = {
70382
+ id: Scalars['ID']['input'];
70383
+ input: CooCreatorRateCardInput;
70384
+ };
70385
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69181
70386
  export type MutationCooUpdateLookArgs = {
69182
70387
  id: Scalars['ID']['input'];
69183
70388
  input: CooUpdateLookInput;
@@ -69905,6 +71110,10 @@ export type MutationCreateGgnomadActivityArgs = {
69905
71110
  input: CreateGgnomadActivityInput;
69906
71111
  };
69907
71112
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
71113
+ export type MutationCreateGgnomadAffiliateCommissionRuleArgs = {
71114
+ input: CreateGgnomadAffiliateCommissionRuleInput;
71115
+ };
71116
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
69908
71117
  export type MutationCreateGgnomadAffiliatePartnerArgs = {
69909
71118
  input: CreateGgnomadAffiliatePartnerInput;
69910
71119
  };
@@ -71450,6 +72659,10 @@ export type MutationDeleteGeofenceArgs = {
71450
72659
  id: Scalars['ID']['input'];
71451
72660
  };
71452
72661
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
72662
+ export type MutationDeleteGgnomadAffiliateCommissionRuleArgs = {
72663
+ id: Scalars['ID']['input'];
72664
+ };
72665
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
71453
72666
  export type MutationDeleteGgnomadChannelMappingArgs = {
71454
72667
  id: Scalars['ID']['input'];
71455
72668
  };
@@ -77871,6 +79084,10 @@ export type MutationPswCancelInvoiceArgs = {
77871
79084
  id: Scalars['ID']['input'];
77872
79085
  };
77873
79086
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
79087
+ export type MutationPswCancelRecurringFilingArgs = {
79088
+ id: Scalars['ID']['input'];
79089
+ };
79090
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
77874
79091
  export type MutationPswCancelRetainerBillingArgs = {
77875
79092
  id: Scalars['ID']['input'];
77876
79093
  };
@@ -77958,6 +79175,10 @@ export type MutationPswCreatePractitionerCredentialArgs = {
77958
79175
  requestKey: Scalars['String']['input'];
77959
79176
  };
77960
79177
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
79178
+ export type MutationPswCreateRecurringFilingArgs = {
79179
+ input: PswCreateRecurringFilingInput;
79180
+ };
79181
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
77961
79182
  export type MutationPswCreateRetainerDraftInvoiceArgs = {
77962
79183
  input: PswCreateRetainerDraftInvoiceInput;
77963
79184
  };
@@ -78089,6 +79310,10 @@ export type MutationPswRevokeObligationReminderConsentArgs = {
78089
79310
  id: Scalars['ID']['input'];
78090
79311
  };
78091
79312
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
79313
+ export type MutationPswRunScheduledFilingReminderArgs = {
79314
+ filingId: Scalars['ID']['input'];
79315
+ };
79316
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
78092
79317
  export type MutationPswRunScheduledRetainerBillingArgs = {
78093
79318
  engagementId: Scalars['ID']['input'];
78094
79319
  };
@@ -78371,6 +79596,10 @@ export type MutationRecordApplicationUsageArgs = {
78371
79596
  input: RecordApplicationUsageInput;
78372
79597
  };
78373
79598
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
79599
+ export type MutationRecordConnectionActivityArgs = {
79600
+ input: RecordConnectionActivityInput;
79601
+ };
79602
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
78374
79603
  export type MutationRecordFocusScoreArgs = {
78375
79604
  input: RecordFocusScoreInput;
78376
79605
  };
@@ -78651,6 +79880,11 @@ export type MutationRejectChangeRequestArgs = {
78651
79880
  reason?: InputMaybe<Scalars['String']['input']>;
78652
79881
  };
78653
79882
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
79883
+ export type MutationRejectConnectorSubmissionArgs = {
79884
+ id: Scalars['ID']['input'];
79885
+ reason: Scalars['String']['input'];
79886
+ };
79887
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
78654
79888
  export type MutationRejectExpenseArgs = {
78655
79889
  id: Scalars['ID']['input'];
78656
79890
  reason?: InputMaybe<Scalars['String']['input']>;
@@ -80978,6 +82212,10 @@ export type MutationSubmitApprovalRequestArgs = {
80978
82212
  input: SubmitApprovalRequestInput;
80979
82213
  };
80980
82214
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82215
+ export type MutationSubmitConnectorArgs = {
82216
+ input: SubmitConnectorInput;
82217
+ };
82218
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
80981
82219
  export type MutationSubmitExpenseForApprovalArgs = {
80982
82220
  id: Scalars['ID']['input'];
80983
82221
  workspaceId: Scalars['ID']['input'];
@@ -81276,6 +82514,10 @@ export type MutationTecApproveMentorArgs = {
81276
82514
  id: Scalars['ID']['input'];
81277
82515
  };
81278
82516
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82517
+ export type MutationTecArchiveAssessmentArgs = {
82518
+ id: Scalars['ID']['input'];
82519
+ };
82520
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81279
82521
  export type MutationTecArchiveCourseArgs = {
81280
82522
  id: Scalars['ID']['input'];
81281
82523
  };
@@ -81296,6 +82538,10 @@ export type MutationTecCancelSessionArgs = {
81296
82538
  id: Scalars['ID']['input'];
81297
82539
  };
81298
82540
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82541
+ export type MutationTecClaimAssessmentCertificateArgs = {
82542
+ attemptId: Scalars['ID']['input'];
82543
+ };
82544
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81299
82545
  export type MutationTecCompleteHackathonArgs = {
81300
82546
  id: Scalars['ID']['input'];
81301
82547
  };
@@ -81315,6 +82561,14 @@ export type MutationTecConfirmSessionArgs = {
81315
82561
  meetingUrl?: InputMaybe<Scalars['String']['input']>;
81316
82562
  };
81317
82563
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82564
+ export type MutationTecConnectXapiLrsArgs = {
82565
+ connectionId: Scalars['ID']['input'];
82566
+ };
82567
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82568
+ export type MutationTecCreateAssessmentArgs = {
82569
+ input: TecCreateAssessmentInput;
82570
+ };
82571
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81318
82572
  export type MutationTecCreateCourseArgs = {
81319
82573
  input: TecCreateCourseInput;
81320
82574
  };
@@ -81343,6 +82597,12 @@ export type MutationTecEnrollArgs = {
81343
82597
  input: TecEnrollInput;
81344
82598
  };
81345
82599
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82600
+ export type MutationTecExportScormPackageArgs = {
82601
+ appOrigin?: InputMaybe<Scalars['String']['input']>;
82602
+ courseId: Scalars['ID']['input'];
82603
+ version?: InputMaybe<TecScormVersion>;
82604
+ };
82605
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81346
82606
  export type MutationTecGenerateStudyPlanArgs = {
81347
82607
  input: TecGenerateStudyPlanInput;
81348
82608
  };
@@ -81363,6 +82623,10 @@ export type MutationTecOpenRegistrationArgs = {
81363
82623
  id: Scalars['ID']['input'];
81364
82624
  };
81365
82625
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82626
+ export type MutationTecPublishAssessmentArgs = {
82627
+ id: Scalars['ID']['input'];
82628
+ };
82629
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81366
82630
  export type MutationTecPublishCourseArgs = {
81367
82631
  id: Scalars['ID']['input'];
81368
82632
  };
@@ -81371,6 +82635,12 @@ export type MutationTecPublishProblemArgs = {
81371
82635
  id: Scalars['ID']['input'];
81372
82636
  };
81373
82637
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82638
+ export type MutationTecRecordAssessmentSignalArgs = {
82639
+ attemptId: Scalars['ID']['input'];
82640
+ detail?: InputMaybe<Scalars['JSON']['input']>;
82641
+ signal: TecAssessmentSignal;
82642
+ };
82643
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81374
82644
  export type MutationTecRecordLegalAcceptanceArgs = {
81375
82645
  input: TecRecordLegalAcceptanceInput;
81376
82646
  };
@@ -81391,6 +82661,12 @@ export type MutationTecReorderPortfolioItemsArgs = {
81391
82661
  input: TecReorderPortfolioItemsInput;
81392
82662
  };
81393
82663
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82664
+ export type MutationTecReviewAssessmentAttemptArgs = {
82665
+ decision: TecAssessmentReviewDecision;
82666
+ id: Scalars['ID']['input'];
82667
+ notes?: InputMaybe<Scalars['String']['input']>;
82668
+ };
82669
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81394
82670
  export type MutationTecReviewSubmissionArgs = {
81395
82671
  submissionId: Scalars['ID']['input'];
81396
82672
  };
@@ -81408,12 +82684,22 @@ export type MutationTecRunSolutionArgs = {
81408
82684
  input: TecRunSolutionInput;
81409
82685
  };
81410
82686
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82687
+ export type MutationTecSaveAssessmentAnswersArgs = {
82688
+ answers: Array<Scalars['Int']['input']>;
82689
+ attemptId: Scalars['ID']['input'];
82690
+ };
82691
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81411
82692
  export type MutationTecScoreTeamArgs = {
81412
82693
  id: Scalars['ID']['input'];
81413
82694
  score: Scalars['Int']['input'];
81414
82695
  winner?: InputMaybe<Scalars['Boolean']['input']>;
81415
82696
  };
81416
82697
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82698
+ export type MutationTecStartAssessmentArgs = {
82699
+ acceptMonitoring?: InputMaybe<Scalars['Boolean']['input']>;
82700
+ assessmentId: Scalars['ID']['input'];
82701
+ };
82702
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81417
82703
  export type MutationTecStartHackathonArgs = {
81418
82704
  id: Scalars['ID']['input'];
81419
82705
  };
@@ -81422,6 +82708,11 @@ export type MutationTecStartJudgingArgs = {
81422
82708
  id: Scalars['ID']['input'];
81423
82709
  };
81424
82710
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82711
+ export type MutationTecSubmitAssessmentArgs = {
82712
+ answers?: InputMaybe<Array<Scalars['Int']['input']>>;
82713
+ attemptId: Scalars['ID']['input'];
82714
+ };
82715
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81425
82716
  export type MutationTecSubmitLessonQuizArgs = {
81426
82717
  answers: Array<Scalars['Int']['input']>;
81427
82718
  lessonId: Scalars['ID']['input'];
@@ -81435,6 +82726,11 @@ export type MutationTecSubmitSolutionArgs = {
81435
82726
  input: TecSubmitSolutionInput;
81436
82727
  };
81437
82728
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82729
+ export type MutationTecUpdateAssessmentArgs = {
82730
+ id: Scalars['ID']['input'];
82731
+ input: TecUpdateAssessmentInput;
82732
+ };
82733
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
81438
82734
  export type MutationTecUpdateCourseArgs = {
81439
82735
  id: Scalars['ID']['input'];
81440
82736
  input: TecUpdateCourseInput;
@@ -82634,6 +83930,11 @@ export type MutationUpdateGgnomadActivityArgs = {
82634
83930
  input: UpdateGgnomadActivityInput;
82635
83931
  };
82636
83932
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
83933
+ export type MutationUpdateGgnomadAffiliateCommissionRuleArgs = {
83934
+ id: Scalars['ID']['input'];
83935
+ input: UpdateGgnomadAffiliateCommissionRuleInput;
83936
+ };
83937
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82637
83938
  export type MutationUpdateGgnomadAffiliatePartnerArgs = {
82638
83939
  id: Scalars['ID']['input'];
82639
83940
  input: UpdateGgnomadAffiliatePartnerInput;
@@ -82653,6 +83954,10 @@ export type MutationUpdateGgnomadEventArgs = {
82653
83954
  input: UpdateGgnomadEventInput;
82654
83955
  };
82655
83956
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
83957
+ export type MutationUpdateGgnomadGovernancePolicyArgs = {
83958
+ input: UpdateGgnomadGovernancePolicyInput;
83959
+ };
83960
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82656
83961
  export type MutationUpdateGgnomadOperatorStorefrontArgs = {
82657
83962
  id: Scalars['ID']['input'];
82658
83963
  input: UpdateGgnomadOperatorStorefrontInput;
@@ -82668,6 +83973,11 @@ export type MutationUpdateGgnomadPropertyArgs = {
82668
83973
  input: UpdateGgnomadPropertyInput;
82669
83974
  };
82670
83975
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
83976
+ export type MutationUpdateGgnomadProviderArgs = {
83977
+ id: Scalars['ID']['input'];
83978
+ input: UpdateGgnomadProviderInput;
83979
+ };
83980
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
82671
83981
  export type MutationUpdateGgnomadTourArgs = {
82672
83982
  id: Scalars['ID']['input'];
82673
83983
  input: UpdateGgnomadTourInput;
@@ -84035,6 +85345,11 @@ export type MutationValidateDocsBuildImageArgs = {
84035
85345
  id: Scalars['ID']['input'];
84036
85346
  };
84037
85347
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
85348
+ export type MutationVerifyGgnomadProviderArgs = {
85349
+ id: Scalars['ID']['input'];
85350
+ note?: InputMaybe<Scalars['String']['input']>;
85351
+ };
85352
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
84038
85353
  export type MutationVerifyHealthyBowlGhgInventoryArgs = {
84039
85354
  context: ContextInput;
84040
85355
  id: Scalars['ID']['input'];
@@ -84080,6 +85395,10 @@ export type MutationWakeMeshAgentArgs = {
84080
85395
  agentId: Scalars['ID']['input'];
84081
85396
  };
84082
85397
  /** Base Mutation type with placeholder field. Extended by individual mutation files. */
85398
+ export type MutationWithdrawConnectorSubmissionArgs = {
85399
+ id: Scalars['ID']['input'];
85400
+ };
85401
+ /** Base Mutation type with placeholder field. Extended by individual mutation files. */
84083
85402
  export type MutationWithdrawHousingvistaOfferArgs = {
84084
85403
  id: Scalars['ID']['input'];
84085
85404
  };
@@ -94122,6 +95441,13 @@ export type PswCreatePractitionerInput = {
94122
95441
  practiceArea: Scalars['String']['input'];
94123
95442
  requestKey: Scalars['String']['input'];
94124
95443
  };
95444
+ export type PswCreateRecurringFilingInput = {
95445
+ cadence: PswRetainerCadence;
95446
+ engagementId: Scalars['ID']['input'];
95447
+ nextDueAt: Scalars['DateTime']['input'];
95448
+ reminderDaysBefore?: InputMaybe<Scalars['Int']['input']>;
95449
+ title: Scalars['String']['input'];
95450
+ };
94125
95451
  export type PswCreateRetainerDraftInvoiceInput = {
94126
95452
  engagementId: Scalars['ID']['input'];
94127
95453
  idempotencyKey: Scalars['String']['input'];
@@ -94454,6 +95780,8 @@ export type PswEngagement = {
94454
95780
  name: Scalars['String']['output'];
94455
95781
  nextRetainerRunAt?: Maybe<Scalars['DateTime']['output']>;
94456
95782
  practiceAreaId?: Maybe<Scalars['ID']['output']>;
95783
+ /** Recurring compliance filings/reviews for this engagement (BOFF-8790). */
95784
+ recurringFilings: Array<PswRecurringFiling>;
94457
95785
  responsiblePartnerId?: Maybe<Scalars['ID']['output']>;
94458
95786
  retainerAmount?: Maybe<Scalars['Float']['output']>;
94459
95787
  retainerCadence?: Maybe<PswRetainerCadence>;
@@ -94722,6 +96050,8 @@ export type PswPracticeAnalytics = {
94722
96050
  __typename?: 'PswPracticeAnalytics';
94723
96051
  activePractitioners: Scalars['Int']['output'];
94724
96052
  agedReceivables: PswAgedReceivables;
96053
+ /** Every currency the workspace has invoiced in (any status, all time), most-used first. */
96054
+ availableCurrencies: Array<Scalars['String']['output']>;
94725
96055
  billableHours: Scalars['Float']['output'];
94726
96056
  /** billableHours / totalHours, 0-100. */
94727
96057
  billableMixPct: Scalars['Float']['output'];
@@ -94811,6 +96141,13 @@ export type PswPrepareObligationReminderInput = {
94811
96141
  requestKey: Scalars['String']['input'];
94812
96142
  scheduledAt: Scalars['DateTime']['input'];
94813
96143
  };
96144
+ export type PswQuotaCountMetric = {
96145
+ __typename?: 'PswQuotaCountMetric';
96146
+ currentValue: Scalars['Int']['output'];
96147
+ productId: Scalars['String']['output'];
96148
+ quotaName: Scalars['String']['output'];
96149
+ workspaceId: Scalars['ID']['output'];
96150
+ };
94814
96151
  export type PswReconcileTrustAccountInput = {
94815
96152
  asOf?: InputMaybe<Scalars['DateTime']['input']>;
94816
96153
  statementBalance?: InputMaybe<Scalars['Float']['input']>;
@@ -94861,6 +96198,22 @@ export declare enum PswRecordedValidity {
94861
96198
  ReportedInterval = "REPORTED_INTERVAL",
94862
96199
  Unknown = "UNKNOWN"
94863
96200
  }
96201
+ export type PswRecurringFiling = {
96202
+ __typename?: 'PswRecurringFiling';
96203
+ active: Scalars['Boolean']['output'];
96204
+ cadence: PswRetainerCadence;
96205
+ createdAt: Scalars['DateTime']['output'];
96206
+ engagementId: Scalars['ID']['output'];
96207
+ id: Scalars['ID']['output'];
96208
+ lastReminderSentAt?: Maybe<Scalars['DateTime']['output']>;
96209
+ nextDueAt: Scalars['DateTime']['output'];
96210
+ reminderDaysBefore: Scalars['Int']['output'];
96211
+ /** Scheduler job id of the recurring reminder cron, set by pswCreateRecurringFiling. Null when not scheduled (e.g. after cancel). */
96212
+ reminderScheduleId?: Maybe<Scalars['String']['output']>;
96213
+ title: Scalars['String']['output'];
96214
+ updatedAt: Scalars['DateTime']['output'];
96215
+ workspaceId: Scalars['ID']['output'];
96216
+ };
94864
96217
  export type PswRequestDataErasureInput = {
94865
96218
  /** Reason for the erasure request; required for the compliance audit trail. */
94866
96219
  reason: Scalars['String']['input'];
@@ -95811,6 +97164,7 @@ export type Query = {
95811
97164
  /** The calling workspace's end-of-term erasure record, if one exists. */
95812
97165
  botmanorWorkspaceErasure?: Maybe<BotmanorWorkspaceErasure>;
95813
97166
  braAccount?: Maybe<BraAccount>;
97167
+ braAccountFeeReport: BraAccountFeeReport;
95814
97168
  /** Admin firm supervision dashboard: AUM, advisors, and household status breakdown. FIRM_ADMIN only. */
95815
97169
  braAdminFirmSummary: BraAdminFirmSummary;
95816
97170
  braAggregationLink?: Maybe<BraAggregationLink>;
@@ -95819,6 +97173,7 @@ export type Query = {
95819
97173
  braClientPortalSummary: BraClientPortalSummary;
95820
97174
  /** 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
97175
  braCreatePlaidLinkToken: BraPlaidLinkToken;
97176
+ braEntitySummary: BraEntitySummary;
95822
97177
  /** Firm-wide aggregate AUM + per-advisor breakdown. FIRM_ADMIN only. */
95823
97178
  braFirmReport: BraFirmReport;
95824
97179
  /** The caller's saved base-currency preference for braNetWorthSummary (defaults to USD when unset). */
@@ -95834,6 +97189,8 @@ export type Query = {
95834
97189
  /** The full firm roster. FIRM_ADMIN only — see BraAdvisor scope note above. */
95835
97190
  braListAdvisors: Array<BraAdvisor>;
95836
97191
  braListAggregationLinks: BraAggregationLinkConnection;
97192
+ /** Entities share household permissions. Keyset pagination: pass the last ID as after; pages contain at most 100 entities. */
97193
+ braListEntities: Array<BraEntity>;
95837
97194
  braListGoalFundings: BraGoalFundingConnection;
95838
97195
  braListGoals: BraGoalConnection;
95839
97196
  braListHoldings: BraHoldingConnection;
@@ -95855,15 +97212,25 @@ export type Query = {
95855
97212
  braMyAdvisorBranding?: Maybe<BraAdvisorBranding>;
95856
97213
  /** The calling actor's own firm-roster row, or null if they are not on the roster yet. */
95857
97214
  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). */
97215
+ braMyCrmLink: BraCrmLink;
97216
+ braMyCrmLinks: BraCrmLinkPage;
97217
+ braMyCrmRecords: BraCrmRecordPage;
97218
+ /** Recipient-owned invitation page, ordered newest first. Use limit/offset to inspect further invitations. */
97219
+ braMyVaultInvitations: Array<BraVaultInvitation>;
97220
+ braMyVaults: Array<BraDocumentVault>;
97221
+ /** 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
97222
  braNetWorthSummary: BraNetWorthSummary;
95860
97223
  braPortfolio?: Maybe<BraPortfolio>;
95861
97224
  braPortfolioRiskSignals: BraPortfolioRiskReport;
95862
97225
  braPortfolioRiskSummary: BraRiskSummary;
97226
+ /** Audit trail (oldest first) of one rebalance proposal the caller can see. */
97227
+ braRebalanceProposalAuditTrail: Array<BraRebalanceProposalAuditEntry>;
95863
97228
  /** Real, regenerated-on-demand PDF for one report run, base64-encoded (same pattern as timeCampusInvoicePdf). */
95864
97229
  braReportRunPdf: Scalars['String']['output'];
95865
97230
  /** Preview tax-loss-harvesting candidates for a portfolio without persisting anything. */
95866
97231
  braTaxLossOpportunities: BraTaxLossReport;
97232
+ braVault: BraVaultDetail;
97233
+ braVaultGrantedDocuments: Array<BraVaultGrantedDocument>;
95867
97234
  budget?: Maybe<AssetBudget>;
95868
97235
  budgets: Array<AssetBudget>;
95869
97236
  /** 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 +97537,17 @@ export type Query = {
96170
97537
  * its owner before saving it (BOFF-9726).
96171
97538
  */
96172
97539
  connectionsNotUsableBy: Array<Scalars['ID']['output']>;
97540
+ /** Pending and overdue counts for the review queue. Platform reviewers only. */
97541
+ connectorSubmissionReviewStats: ConnectorSubmissionReviewStats;
97542
+ /** Review queue: every submission, oldest pending first. Platform reviewers only. */
97543
+ connectorSubmissions: ConnectorSubmissionList;
96173
97544
  /** Whether continuous optimisation is on for this workspace, and the system workflows it seeded. */
96174
97545
  continuousOptimisationSettings: ContinuousOptimisationSettings;
96175
97546
  conversation?: Maybe<Conversation>;
96176
97547
  conversationCapabilities: ConversationFeatures;
96177
97548
  conversations: ConversationConnection;
97549
+ /** At most 100 card IDs; private or missing items are omitted and currencies are never converted. */
97550
+ cooBestPrices: Array<CooBestPriceSummary>;
96178
97551
  cooBrand?: Maybe<CooBrand>;
96179
97552
  /** One paid order as the brand sees it. Returns null when the order holds none of the brand's pieces. */
96180
97553
  cooBrandOrder?: Maybe<CooBrandOrder>;
@@ -96186,6 +97559,10 @@ export type Query = {
96186
97559
  cooBrandReturnRequests: CooReturnRequestConnection;
96187
97560
  cooCollaboration?: Maybe<CooCollaboration>;
96188
97561
  cooCollection?: Maybe<CooCollection>;
97562
+ /** Approved, fresh, in-stock offers ordered by actual integer price, without currency conversion. */
97563
+ cooComparePrices: Array<CooComparedRetailerOffer>;
97564
+ cooCreatorRateCard?: Maybe<CooCreatorRateCard>;
97565
+ cooEditorialFeatureOptions: CooEditorialFeatureConnection;
96189
97566
  /** Liveness/identity probe for the Coolandlovely subgraph. */
96190
97567
  cooHealth: Scalars['String']['output'];
96191
97568
  /** Whether the calling actor currently follows the given user. */
@@ -96201,14 +97578,21 @@ export type Query = {
96201
97578
  cooListWardrobeItems: CooWardrobeItemConnection;
96202
97579
  cooLook?: Maybe<CooLook>;
96203
97580
  cooLookbook?: Maybe<CooLookbook>;
97581
+ /** Author-owned article, with a primary owner-filtered lookup. */
97582
+ cooMyArticle?: Maybe<CooEditorialArticle>;
97583
+ /** Author-owned drafts and published articles in the active workspace. */
97584
+ cooMyArticles: CooEditorialArticleConnection;
96204
97585
  /** The calling shopper's cart in this workspace. */
96205
97586
  cooMyCart: CooCart;
96206
97587
  /** The calling creator's collaboration fees, newest first: fees awaiting the brand's payment and fees already paid into their earnings. */
96207
97588
  cooMyCollaborationPayouts: CooCollaborationPayoutConnection;
97589
+ /** The authenticated creator's analytics. Monetary statistics use only the requested three-letter currency; currencies are never combined or converted. */
97590
+ cooMyCreatorAnalytics: CooCreatorAnalytics;
96208
97591
  /** The calling creator's look commissions, newest first. */
96209
97592
  cooMyCreatorEarnings: CooCreatorEarningConnection;
96210
97593
  /** The calling creator's commission balance, from global-billing's earnings ledger. */
96211
97594
  cooMyCreatorEarningsSummary: CooCreatorEarningsSummary;
97595
+ cooMyCreatorRateCards: CooCreatorRateCardConnection;
96212
97596
  /** Style profiles of the people who follow the calling actor. */
96213
97597
  cooMyFollowers: CooStyleProfileConnection;
96214
97598
  /** Style profiles of the people the calling actor follows. */
@@ -96219,9 +97603,24 @@ export type Query = {
96219
97603
  cooMyOrder?: Maybe<CooOrder>;
96220
97604
  /** The calling shopper's orders, newest first. */
96221
97605
  cooMyOrders: CooOrderConnection;
97606
+ cooMyPriceAlertDeliveries: CooPriceAlertDeliveryConnection;
97607
+ cooMyPriceAlerts: CooPriceAlertConnection;
97608
+ /** Only brands created by the caller can be used to send a rate-card proposal. */
97609
+ cooMyProposalBrands: CooBrandConnection;
97610
+ cooMyProposalInbox: CooCollaborationConnection;
97611
+ cooMyRetailerFeeds: CooRetailerFeedConnection;
96222
97612
  /** The calling shopper's own style profile (workspace-scoped, self). */
96223
97613
  cooMyStyleProfile?: Maybe<CooStyleProfile>;
97614
+ cooMyTrendReports: CooTrendReportConnection;
97615
+ cooPriceHistory: Array<CooObservedPriceDay>;
97616
+ cooPublishedArticle?: Maybe<CooEditorialArticle>;
97617
+ /** Explicitly published articles only. Workspace is a public publisher selector. */
97618
+ cooPublishedArticles: CooEditorialArticleConnection;
97619
+ cooPublishedCreatorRateCards: CooCreatorRateCardConnection;
97620
+ cooPublishedTrendReport?: Maybe<CooTrendReport>;
97621
+ cooPublishedTrendReports: CooTrendReportConnection;
96224
97622
  cooSearchLooks: CooLookConnection;
97623
+ cooSearchRetailerOffers: Array<CooComparedRetailerOffer>;
96225
97624
  cooSearchStyleItems: CooStyleItemConnection;
96226
97625
  /** 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
97626
  cooStoreListedPiece?: Maybe<CooStoreListedPiece>;
@@ -97259,6 +98658,8 @@ export type Query = {
97259
98658
  /** `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. */
97260
98659
  ggnomadActivities: Array<GgnomadActivity>;
97261
98660
  ggnomadActivity?: Maybe<GgnomadActivity>;
98661
+ /** BOFF-10615 — operator-only: commission rules, oldest first; with partnerId, only the rules that can apply to that partner. */
98662
+ ggnomadAffiliateCommissionRules: Array<GgnomadAffiliateCommissionRule>;
97262
98663
  /** BOFF-4386 — operator-only: commissions, newest first, optionally for one partner or status. */
97263
98664
  ggnomadAffiliateCommissions: Array<GgnomadAffiliateCommission>;
97264
98665
  /** BOFF-4386 — operator-only: one affiliate partner. */
@@ -97267,8 +98668,10 @@ export type Query = {
97267
98668
  ggnomadAffiliatePartners: Array<GgnomadAffiliatePartner>;
97268
98669
  /** BOFF-4386 — operator-only: payouts recorded for one partner, newest first. */
97269
98670
  ggnomadAffiliatePayouts: Array<GgnomadAffiliatePayout>;
98671
+ /** BOFF-10615 — operator-only: the rate a booking of this type would earn the partner if an order were placed now. */
98672
+ ggnomadAffiliateRatePreview: GgnomadAffiliateRatePreview;
97270
98673
  ggnomadAnalytics: GgnomadAnalytics;
97271
- /** BOFF-4388 — the transition history for one listing or booking (entityType PROPERTY/TOUR/EVENT/ACTIVITY/BOOKING). BOFF-10248 — returned only to the people involved: a booking's traveler or host, or a listing's owner. Anyone else gets an empty list; operators use ggnomadWorkspaceAuditLog. */
98674
+ /** BOFF-4388 — the transition history for one listing or booking (entityType PROPERTY/TOUR/EVENT/ACTIVITY/BOOKING, or PROVIDER for a provider's verification since BOFF-3953). BOFF-10248 — returned only to the people involved: a booking's traveler or host, or a listing's owner. Anyone else gets an empty list; operators use ggnomadWorkspaceAuditLog. */
97272
98675
  ggnomadAuditLog: Array<GgnomadAuditLogEntry>;
97273
98676
  /** BOFF-3745 — one booking by id, or null unless the caller made it or hosts its listing (the same visibility as ggnomadBookings). Lets the assistant and deep links resolve a single booking without paging the list. */
97274
98677
  ggnomadBooking?: Maybe<GgnomadBooking>;
@@ -97299,9 +98702,13 @@ export type Query = {
97299
98702
  ggnomadEvent?: Maybe<GgnomadEvent>;
97300
98703
  /** `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
98704
  ggnomadEvents: Array<GgnomadEvent>;
98705
+ /** BOFF-4392 — the GGNomad entity types the platform export service can export. */
98706
+ ggnomadExportEntityTypes: Array<Scalars['String']['output']>;
97302
98707
  ggnomadFavorites: Array<Scalars['JSON']['output']>;
97303
98708
  /** 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
98709
  ggnomadFxRates: GgnomadFxRates;
98710
+ /** BOFF-4392 — the workspace's data residency and export governance policy. Requires ggnomad:manage. */
98711
+ ggnomadGovernancePolicy: GgnomadGovernancePolicy;
97305
98712
  ggnomadGroupTrip?: Maybe<GgnomadGroupTrip>;
97306
98713
  ggnomadGroupTripCostSplit: GgnomadGroupTripCostSplit;
97307
98714
  /** Tally + individual votes for every trip-plan item in the group trip that has at least one vote. */
@@ -97330,6 +98737,8 @@ export type Query = {
97330
98737
  ggnomadProviders: Array<GgnomadProvider>;
97331
98738
  /** 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
98739
  ggnomadRepairTripPlan: Array<GgnomadTripPlanIssue>;
98740
+ /** BOFF-4392 — regions a workspace's GGNomad data can be pinned to. */
98741
+ ggnomadResidencyRegions: Array<GgnomadResidencyRegion>;
97333
98742
  ggnomadReviewSummary: GgnomadReviewSummary;
97334
98743
  ggnomadReviews: Array<GgnomadReview>;
97335
98744
  /** 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 +99755,22 @@ export type Query = {
98346
99755
  myAssistantWorkflowConversationMessages: AssistantWorkflowMessagePage;
98347
99756
  myAssistantWorkflowConversations: AssistantWorkflowConversationPage;
98348
99757
  myBalanceTargets: Array<TimeCampusBalanceTarget>;
99758
+ /** One of your own connector submissions. */
99759
+ myConnectorSubmission?: Maybe<ConnectorSubmission>;
99760
+ /** Your own connector submissions, newest first. */
99761
+ myConnectorSubmissions: ConnectorSubmissionList;
98349
99762
  myContextSharingPolicy: TimeCampusContextSharingPolicy;
98350
99763
  myDeadTimeRadar: TimeCampusDeadTimeRadar;
99764
+ /**
99765
+ * Type C self-list: the calling driver's stops for one local calendar day,
99766
+ * ordered into a driving sequence. Identity comes from the authenticated
99767
+ * actor only. `timeZone` is the device's IANA zone (for example
99768
+ * `Asia/Kolkata`) so "today" matches the driver's clock, including on DST
99769
+ * transition days. `timezoneOffsetMinutes` (the client's
99770
+ * `Date#getTimezoneOffset()` value) is a fixed-offset fallback used only
99771
+ * when `timeZone` is omitted.
99772
+ */
99773
+ myDeliveryDay: MtwDriverDay;
98351
99774
  myEpodShipmentStatus?: Maybe<MtwOwnedEpodShipmentStatus>;
98352
99775
  /** BOFF-4386 — the caller's own commissions as a partner (Type B: NOT_FOUND unless the caller is that partner). */
98353
99776
  myGgnomadAffiliateCommissions: Array<GgnomadAffiliateCommission>;
@@ -98887,6 +100310,8 @@ export type Query = {
98887
100310
  promptUsageBreakdownV2: PromptUsageBreakdownV2;
98888
100311
  promptUsageSummary: PromptUsageSummary;
98889
100312
  promptUsageSummaryV2: PromptUsageSummaryV2;
100313
+ /** 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. */
100314
+ proserviceworldCountMetrics: Array<PswQuotaCountMetric>;
98890
100315
  provenanceRecords: Array<ProvenanceRecord>;
98891
100316
  pswClient?: Maybe<PswClient>;
98892
100317
  pswComplianceCheck?: Maybe<PswComplianceCheck>;
@@ -99319,6 +100744,12 @@ export type Query = {
99319
100744
  teamWorkPatternSummary: WorkPatternSummary;
99320
100745
  /** 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
100746
  teamWorkPatterns: Array<TeamWorkPatternEntry>;
100747
+ tecAssessment?: Maybe<TecAssessment>;
100748
+ tecAssessmentAttempt?: Maybe<TecAssessmentAttempt>;
100749
+ /** The audit trail of one attempt (instructor / admin). */
100750
+ tecAssessmentAttemptEvents: Array<TecAssessmentEvent>;
100751
+ /** Author view: the questions with their answer key. */
100752
+ tecAssessmentQuestionKey: Array<TecQuizQuestionKey>;
99322
100753
  /** 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
100754
  tecCalculateSessionCost: TecSessionCostEstimate;
99324
100755
  /** 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 +100768,10 @@ export type Query = {
99337
100768
  tecLesson?: Maybe<TecLesson>;
99338
100769
  /** 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
100770
  tecLessonQuizKey: Array<TecQuizQuestionKey>;
100771
+ /** Instructor / admin view of every learner's attempts, e.g. the review queue (proctoringStatus: FLAGGED or PENDING_REVIEW). */
100772
+ tecListAssessmentAttempts: Array<TecAssessmentAttempt>;
100773
+ /** Assessments in the workspace, optionally for one course or status. */
100774
+ tecListAssessments: Array<TecAssessment>;
99340
100775
  /** 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
100776
  tecListCertificates: Array<TecCertificate>;
99342
100777
  tecListCourses: TecCourseConnection;
@@ -99358,6 +100793,10 @@ export type Query = {
99358
100793
  tecListSubmissions: TecSubmissionConnection;
99359
100794
  tecListTeams: TecHackathonTeamConnection;
99360
100795
  tecMentor?: Maybe<TecMentor>;
100796
+ /** One of the calling learner's own attempts (Type B); null for anyone else's. */
100797
+ tecMyAssessmentAttempt?: Maybe<TecAssessmentAttempt>;
100798
+ /** The calling learner's own attempts (Type C: filtered by the authenticated actor). An attempt past its deadline is closed and graded on read. */
100799
+ tecMyAssessmentAttempts: Array<TecAssessmentAttempt>;
99361
100800
  /**
99362
100801
  * One of the calling learner's own certificates (BOFF-3863). Self-scoped (Type B): owner-filtered by the authenticated actor; null otherwise.
99363
100802
  * @deprecated Use buiMyCertificate(id: <TecCertificate.buiCertificateId>). Deprecated 2026-10-31 (BOFF-10481, OVL-24); removal no earlier than 2027-01-29.
@@ -99384,6 +100823,8 @@ export type Query = {
99384
100823
  tecMyPayouts: TecMentorPayoutConnection;
99385
100824
  /** 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
100825
  tecMyPortfolio: TecPortfolio;
100826
+ /** 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. */
100827
+ tecMyReminderDeliveries: Array<TecReminderDelivery>;
99387
100828
  /** 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
100829
  tecMySession?: Maybe<TecMentorSession>;
99389
100830
  /** 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. */
@@ -99411,6 +100852,8 @@ export type Query = {
99411
100852
  tecVerifyCertificate: TecCertificateVerification;
99412
100853
  /** Batch variant of tecVerifyCertificate for ATS integrations that verify a whole candidate pipeline at once. At most 25 serials per call; duplicates are collapsed and results keep the request order. */
99413
100854
  tecVerifyCertificates: Array<TecCertificateVerification>;
100855
+ /** The workspace's scheduled xAPI push (BOFF-10575), or null when no LRS is connected. */
100856
+ tecXapiLrsSync?: Maybe<TecXapiLrsSync>;
99414
100857
  testParserExpression: ParserTestResult;
99415
100858
  theAsset?: Maybe<TheAsset>;
99416
100859
  theComplianceCert?: Maybe<TheComplianceCert>;
@@ -100833,10 +102276,21 @@ export type QueryBraAccountArgs = {
100833
102276
  id: Scalars['ID']['input'];
100834
102277
  };
100835
102278
  /** Base Query type with placeholder field. Extended by individual query files. */
102279
+ export type QueryBraAccountFeeReportArgs = {
102280
+ accountId: Scalars['ID']['input'];
102281
+ benchmarkFeeBps?: InputMaybe<Scalars['Float']['input']>;
102282
+ grossAnnualReturnPct?: InputMaybe<Scalars['Float']['input']>;
102283
+ years?: InputMaybe<Scalars['Int']['input']>;
102284
+ };
102285
+ /** Base Query type with placeholder field. Extended by individual query files. */
100836
102286
  export type QueryBraAggregationLinkArgs = {
100837
102287
  id: Scalars['ID']['input'];
100838
102288
  };
100839
102289
  /** Base Query type with placeholder field. Extended by individual query files. */
102290
+ export type QueryBraEntitySummaryArgs = {
102291
+ id: Scalars['ID']['input'];
102292
+ };
102293
+ /** Base Query type with placeholder field. Extended by individual query files. */
100840
102294
  export type QueryBraFxRatesArgs = {
100841
102295
  baseCurrency: Scalars['String']['input'];
100842
102296
  };
@@ -100863,6 +102317,10 @@ export type QueryBraListAggregationLinksArgs = {
100863
102317
  pagination?: InputMaybe<PaginationInput>;
100864
102318
  };
100865
102319
  /** Base Query type with placeholder field. Extended by individual query files. */
102320
+ export type QueryBraListEntitiesArgs = {
102321
+ after?: InputMaybe<Scalars['ID']['input']>;
102322
+ };
102323
+ /** Base Query type with placeholder field. Extended by individual query files. */
100866
102324
  export type QueryBraListGoalFundingsArgs = {
100867
102325
  goalId: Scalars['ID']['input'];
100868
102326
  pagination?: InputMaybe<PaginationInput>;
@@ -100937,6 +102395,25 @@ export type QueryBraModelPortfolioArgs = {
100937
102395
  id: Scalars['ID']['input'];
100938
102396
  };
100939
102397
  /** Base Query type with placeholder field. Extended by individual query files. */
102398
+ export type QueryBraMyCrmLinkArgs = {
102399
+ id: Scalars['ID']['input'];
102400
+ };
102401
+ /** Base Query type with placeholder field. Extended by individual query files. */
102402
+ export type QueryBraMyCrmLinksArgs = {
102403
+ after?: InputMaybe<Scalars['String']['input']>;
102404
+ };
102405
+ /** Base Query type with placeholder field. Extended by individual query files. */
102406
+ export type QueryBraMyCrmRecordsArgs = {
102407
+ after?: InputMaybe<Scalars['String']['input']>;
102408
+ kind: BraCrmRecordKind;
102409
+ linkId: Scalars['ID']['input'];
102410
+ };
102411
+ /** Base Query type with placeholder field. Extended by individual query files. */
102412
+ export type QueryBraMyVaultInvitationsArgs = {
102413
+ limit?: InputMaybe<Scalars['Int']['input']>;
102414
+ offset?: InputMaybe<Scalars['Int']['input']>;
102415
+ };
102416
+ /** Base Query type with placeholder field. Extended by individual query files. */
100940
102417
  export type QueryBraNetWorthSummaryArgs = {
100941
102418
  baseCurrency?: InputMaybe<Scalars['String']['input']>;
100942
102419
  ownerId?: InputMaybe<Scalars['ID']['input']>;
@@ -100954,6 +102431,10 @@ export type QueryBraPortfolioRiskSummaryArgs = {
100954
102431
  portfolioId: Scalars['ID']['input'];
100955
102432
  };
100956
102433
  /** Base Query type with placeholder field. Extended by individual query files. */
102434
+ export type QueryBraRebalanceProposalAuditTrailArgs = {
102435
+ proposalId: Scalars['ID']['input'];
102436
+ };
102437
+ /** Base Query type with placeholder field. Extended by individual query files. */
100957
102438
  export type QueryBraReportRunPdfArgs = {
100958
102439
  id: Scalars['ID']['input'];
100959
102440
  };
@@ -100963,6 +102444,14 @@ export type QueryBraTaxLossOpportunitiesArgs = {
100963
102444
  thresholds?: InputMaybe<BraTaxLossThresholdInput>;
100964
102445
  };
100965
102446
  /** Base Query type with placeholder field. Extended by individual query files. */
102447
+ export type QueryBraVaultArgs = {
102448
+ id: Scalars['ID']['input'];
102449
+ };
102450
+ /** Base Query type with placeholder field. Extended by individual query files. */
102451
+ export type QueryBraVaultGrantedDocumentsArgs = {
102452
+ vaultId: Scalars['ID']['input'];
102453
+ };
102454
+ /** Base Query type with placeholder field. Extended by individual query files. */
100966
102455
  export type QueryBudgetArgs = {
100967
102456
  id: Scalars['ID']['input'];
100968
102457
  };
@@ -101803,6 +103292,11 @@ export type QueryConnectionsNotUsableByArgs = {
101803
103292
  principalId: Scalars['ID']['input'];
101804
103293
  };
101805
103294
  /** Base Query type with placeholder field. Extended by individual query files. */
103295
+ export type QueryConnectorSubmissionsArgs = {
103296
+ filter?: InputMaybe<ConnectorSubmissionFilterInput>;
103297
+ pagination?: InputMaybe<IntegrationsPaginationInput>;
103298
+ };
103299
+ /** Base Query type with placeholder field. Extended by individual query files. */
101806
103300
  export type QueryConversationArgs = {
101807
103301
  id: Scalars['ID']['input'];
101808
103302
  };
@@ -101819,6 +103313,11 @@ export type QueryConversationsArgs = {
101819
103313
  sort?: InputMaybe<ConversationSort>;
101820
103314
  };
101821
103315
  /** Base Query type with placeholder field. Extended by individual query files. */
103316
+ export type QueryCooBestPricesArgs = {
103317
+ currency: Scalars['String']['input'];
103318
+ styleItemIds: Array<Scalars['ID']['input']>;
103319
+ };
103320
+ /** Base Query type with placeholder field. Extended by individual query files. */
101822
103321
  export type QueryCooBrandArgs = {
101823
103322
  id: Scalars['ID']['input'];
101824
103323
  };
@@ -101852,6 +103351,20 @@ export type QueryCooCollectionArgs = {
101852
103351
  id: Scalars['ID']['input'];
101853
103352
  };
101854
103353
  /** Base Query type with placeholder field. Extended by individual query files. */
103354
+ export type QueryCooComparePricesArgs = {
103355
+ currency: Scalars['String']['input'];
103356
+ styleItemId: Scalars['ID']['input'];
103357
+ };
103358
+ /** Base Query type with placeholder field. Extended by individual query files. */
103359
+ export type QueryCooCreatorRateCardArgs = {
103360
+ id: Scalars['ID']['input'];
103361
+ };
103362
+ /** Base Query type with placeholder field. Extended by individual query files. */
103363
+ export type QueryCooEditorialFeatureOptionsArgs = {
103364
+ kind: CooEditorialFeatureKind;
103365
+ pagination?: InputMaybe<PaginationInput>;
103366
+ };
103367
+ /** Base Query type with placeholder field. Extended by individual query files. */
101855
103368
  export type QueryCooIsFollowingArgs = {
101856
103369
  followeeId: Scalars['ID']['input'];
101857
103370
  };
@@ -101915,15 +103428,31 @@ export type QueryCooLookbookArgs = {
101915
103428
  id: Scalars['ID']['input'];
101916
103429
  };
101917
103430
  /** Base Query type with placeholder field. Extended by individual query files. */
103431
+ export type QueryCooMyArticleArgs = {
103432
+ id: Scalars['ID']['input'];
103433
+ };
103434
+ /** Base Query type with placeholder field. Extended by individual query files. */
103435
+ export type QueryCooMyArticlesArgs = {
103436
+ pagination?: InputMaybe<PaginationInput>;
103437
+ };
103438
+ /** Base Query type with placeholder field. Extended by individual query files. */
101918
103439
  export type QueryCooMyCollaborationPayoutsArgs = {
101919
103440
  pagination?: InputMaybe<PaginationInput>;
101920
103441
  status?: InputMaybe<CooCollaborationPayoutStatus>;
101921
103442
  };
101922
103443
  /** Base Query type with placeholder field. Extended by individual query files. */
103444
+ export type QueryCooMyCreatorAnalyticsArgs = {
103445
+ currency?: Scalars['String']['input'];
103446
+ };
103447
+ /** Base Query type with placeholder field. Extended by individual query files. */
101923
103448
  export type QueryCooMyCreatorEarningsArgs = {
101924
103449
  pagination?: InputMaybe<PaginationInput>;
101925
103450
  };
101926
103451
  /** Base Query type with placeholder field. Extended by individual query files. */
103452
+ export type QueryCooMyCreatorRateCardsArgs = {
103453
+ pagination?: InputMaybe<PaginationInput>;
103454
+ };
103455
+ /** Base Query type with placeholder field. Extended by individual query files. */
101927
103456
  export type QueryCooMyFollowersArgs = {
101928
103457
  pagination?: InputMaybe<PaginationInput>;
101929
103458
  };
@@ -101946,11 +103475,73 @@ export type QueryCooMyOrdersArgs = {
101946
103475
  status?: InputMaybe<CooOrderStatus>;
101947
103476
  };
101948
103477
  /** Base Query type with placeholder field. Extended by individual query files. */
103478
+ export type QueryCooMyPriceAlertDeliveriesArgs = {
103479
+ alertId: Scalars['ID']['input'];
103480
+ pagination?: InputMaybe<PaginationInput>;
103481
+ };
103482
+ /** Base Query type with placeholder field. Extended by individual query files. */
103483
+ export type QueryCooMyPriceAlertsArgs = {
103484
+ pagination?: InputMaybe<PaginationInput>;
103485
+ };
103486
+ /** Base Query type with placeholder field. Extended by individual query files. */
103487
+ export type QueryCooMyProposalBrandsArgs = {
103488
+ pagination?: InputMaybe<PaginationInput>;
103489
+ };
103490
+ /** Base Query type with placeholder field. Extended by individual query files. */
103491
+ export type QueryCooMyProposalInboxArgs = {
103492
+ direction?: InputMaybe<CooProposalDirection>;
103493
+ pagination?: InputMaybe<PaginationInput>;
103494
+ status?: InputMaybe<CooCollaborationStatus>;
103495
+ };
103496
+ /** Base Query type with placeholder field. Extended by individual query files. */
103497
+ export type QueryCooMyRetailerFeedsArgs = {
103498
+ pagination?: InputMaybe<PaginationInput>;
103499
+ };
103500
+ /** Base Query type with placeholder field. Extended by individual query files. */
103501
+ export type QueryCooMyTrendReportsArgs = {
103502
+ pagination?: InputMaybe<PaginationInput>;
103503
+ };
103504
+ /** Base Query type with placeholder field. Extended by individual query files. */
103505
+ export type QueryCooPriceHistoryArgs = {
103506
+ currency: Scalars['String']['input'];
103507
+ end: Scalars['DateTime']['input'];
103508
+ start: Scalars['DateTime']['input'];
103509
+ styleItemId: Scalars['ID']['input'];
103510
+ };
103511
+ /** Base Query type with placeholder field. Extended by individual query files. */
103512
+ export type QueryCooPublishedArticleArgs = {
103513
+ slug: Scalars['String']['input'];
103514
+ workspaceId: Scalars['ID']['input'];
103515
+ };
103516
+ /** Base Query type with placeholder field. Extended by individual query files. */
103517
+ export type QueryCooPublishedArticlesArgs = {
103518
+ pagination?: InputMaybe<PaginationInput>;
103519
+ workspaceId?: InputMaybe<Scalars['ID']['input']>;
103520
+ };
103521
+ /** Base Query type with placeholder field. Extended by individual query files. */
103522
+ export type QueryCooPublishedCreatorRateCardsArgs = {
103523
+ creatorId?: InputMaybe<Scalars['ID']['input']>;
103524
+ pagination?: InputMaybe<PaginationInput>;
103525
+ };
103526
+ /** Base Query type with placeholder field. Extended by individual query files. */
103527
+ export type QueryCooPublishedTrendReportArgs = {
103528
+ id: Scalars['ID']['input'];
103529
+ };
103530
+ /** Base Query type with placeholder field. Extended by individual query files. */
103531
+ export type QueryCooPublishedTrendReportsArgs = {
103532
+ pagination?: InputMaybe<PaginationInput>;
103533
+ workspaceId?: InputMaybe<Scalars['ID']['input']>;
103534
+ };
103535
+ /** Base Query type with placeholder field. Extended by individual query files. */
101949
103536
  export type QueryCooSearchLooksArgs = {
101950
103537
  input: CooSearchLooksInput;
101951
103538
  pagination?: InputMaybe<PaginationInput>;
101952
103539
  };
101953
103540
  /** Base Query type with placeholder field. Extended by individual query files. */
103541
+ export type QueryCooSearchRetailerOffersArgs = {
103542
+ input: CooRetailerSearchInput;
103543
+ };
103544
+ /** Base Query type with placeholder field. Extended by individual query files. */
101954
103545
  export type QueryCooSearchStyleItemsArgs = {
101955
103546
  input: CooSearchStyleItemsInput;
101956
103547
  pagination?: InputMaybe<PaginationInput>;
@@ -105260,6 +106851,11 @@ export type QueryGgnomadActivityArgs = {
105260
106851
  id: Scalars['ID']['input'];
105261
106852
  };
105262
106853
  /** Base Query type with placeholder field. Extended by individual query files. */
106854
+ export type QueryGgnomadAffiliateCommissionRulesArgs = {
106855
+ includeInactive?: InputMaybe<Scalars['Boolean']['input']>;
106856
+ partnerId?: InputMaybe<Scalars['ID']['input']>;
106857
+ };
106858
+ /** Base Query type with placeholder field. Extended by individual query files. */
105263
106859
  export type QueryGgnomadAffiliateCommissionsArgs = {
105264
106860
  pagination?: InputMaybe<PaginationInput>;
105265
106861
  partnerId?: InputMaybe<Scalars['ID']['input']>;
@@ -105278,6 +106874,11 @@ export type QueryGgnomadAffiliatePayoutsArgs = {
105278
106874
  partnerId: Scalars['ID']['input'];
105279
106875
  };
105280
106876
  /** Base Query type with placeholder field. Extended by individual query files. */
106877
+ export type QueryGgnomadAffiliateRatePreviewArgs = {
106878
+ bookingType: GgnomadBookingType;
106879
+ partnerId: Scalars['ID']['input'];
106880
+ };
106881
+ /** Base Query type with placeholder field. Extended by individual query files. */
105281
106882
  export type QueryGgnomadAuditLogArgs = {
105282
106883
  entityId: Scalars['String']['input'];
105283
106884
  entityType: Scalars['String']['input'];
@@ -108697,11 +110298,26 @@ export type QueryMyBalanceTargetsArgs = {
108697
110298
  pagination?: InputMaybe<PaginationInput>;
108698
110299
  };
108699
110300
  /** Base Query type with placeholder field. Extended by individual query files. */
110301
+ export type QueryMyConnectorSubmissionArgs = {
110302
+ id: Scalars['ID']['input'];
110303
+ };
110304
+ /** Base Query type with placeholder field. Extended by individual query files. */
110305
+ export type QueryMyConnectorSubmissionsArgs = {
110306
+ filter?: InputMaybe<ConnectorSubmissionFilterInput>;
110307
+ pagination?: InputMaybe<IntegrationsPaginationInput>;
110308
+ };
110309
+ /** Base Query type with placeholder field. Extended by individual query files. */
108700
110310
  export type QueryMyDeadTimeRadarArgs = {
108701
110311
  from: Scalars['DateTime']['input'];
108702
110312
  to: Scalars['DateTime']['input'];
108703
110313
  };
108704
110314
  /** Base Query type with placeholder field. Extended by individual query files. */
110315
+ export type QueryMyDeliveryDayArgs = {
110316
+ date: Scalars['String']['input'];
110317
+ timeZone?: InputMaybe<Scalars['String']['input']>;
110318
+ timezoneOffsetMinutes?: InputMaybe<Scalars['Int']['input']>;
110319
+ };
110320
+ /** Base Query type with placeholder field. Extended by individual query files. */
108705
110321
  export type QueryMyEpodShipmentStatusArgs = {
108706
110322
  deliveryJobId: Scalars['ID']['input'];
108707
110323
  };
@@ -110118,6 +111734,10 @@ export type QueryPromptUsageSummaryV2Args = {
110118
111734
  to: Scalars['DateTime']['input'];
110119
111735
  };
110120
111736
  /** Base Query type with placeholder field. Extended by individual query files. */
111737
+ export type QueryProserviceworldCountMetricsArgs = {
111738
+ workspaceId: Scalars['ID']['input'];
111739
+ };
111740
+ /** Base Query type with placeholder field. Extended by individual query files. */
110121
111741
  export type QueryProvenanceRecordsArgs = {
110122
111742
  pagination?: InputMaybe<AssetHandlerPaginationInput>;
110123
111743
  };
@@ -111437,6 +113057,23 @@ export type QueryTeamWorkPatternsArgs = {
111437
113057
  startDate?: InputMaybe<Scalars['DateTime']['input']>;
111438
113058
  };
111439
113059
  /** Base Query type with placeholder field. Extended by individual query files. */
113060
+ export type QueryTecAssessmentArgs = {
113061
+ id: Scalars['ID']['input'];
113062
+ };
113063
+ /** Base Query type with placeholder field. Extended by individual query files. */
113064
+ export type QueryTecAssessmentAttemptArgs = {
113065
+ id: Scalars['ID']['input'];
113066
+ };
113067
+ /** Base Query type with placeholder field. Extended by individual query files. */
113068
+ export type QueryTecAssessmentAttemptEventsArgs = {
113069
+ attemptId: Scalars['ID']['input'];
113070
+ pagination?: InputMaybe<PaginationInput>;
113071
+ };
113072
+ /** Base Query type with placeholder field. Extended by individual query files. */
113073
+ export type QueryTecAssessmentQuestionKeyArgs = {
113074
+ id: Scalars['ID']['input'];
113075
+ };
113076
+ /** Base Query type with placeholder field. Extended by individual query files. */
111440
113077
  export type QueryTecCalculateSessionCostArgs = {
111441
113078
  durationMinutes?: InputMaybe<Scalars['Int']['input']>;
111442
113079
  mentorId: Scalars['ID']['input'];
@@ -111477,6 +113114,19 @@ export type QueryTecLessonQuizKeyArgs = {
111477
113114
  lessonId: Scalars['ID']['input'];
111478
113115
  };
111479
113116
  /** Base Query type with placeholder field. Extended by individual query files. */
113117
+ export type QueryTecListAssessmentAttemptsArgs = {
113118
+ assessmentId?: InputMaybe<Scalars['ID']['input']>;
113119
+ learnerId?: InputMaybe<Scalars['ID']['input']>;
113120
+ pagination?: InputMaybe<PaginationInput>;
113121
+ proctoringStatus?: InputMaybe<TecProctoringStatus>;
113122
+ };
113123
+ /** Base Query type with placeholder field. Extended by individual query files. */
113124
+ export type QueryTecListAssessmentsArgs = {
113125
+ courseId?: InputMaybe<Scalars['ID']['input']>;
113126
+ pagination?: InputMaybe<PaginationInput>;
113127
+ status?: InputMaybe<TecAssessmentStatus>;
113128
+ };
113129
+ /** Base Query type with placeholder field. Extended by individual query files. */
111480
113130
  export type QueryTecListCertificatesArgs = {
111481
113131
  courseId?: InputMaybe<Scalars['ID']['input']>;
111482
113132
  learnerId?: InputMaybe<Scalars['ID']['input']>;
@@ -111560,6 +113210,15 @@ export type QueryTecMentorArgs = {
111560
113210
  id: Scalars['ID']['input'];
111561
113211
  };
111562
113212
  /** Base Query type with placeholder field. Extended by individual query files. */
113213
+ export type QueryTecMyAssessmentAttemptArgs = {
113214
+ id: Scalars['ID']['input'];
113215
+ };
113216
+ /** Base Query type with placeholder field. Extended by individual query files. */
113217
+ export type QueryTecMyAssessmentAttemptsArgs = {
113218
+ assessmentId?: InputMaybe<Scalars['ID']['input']>;
113219
+ pagination?: InputMaybe<PaginationInput>;
113220
+ };
113221
+ /** Base Query type with placeholder field. Extended by individual query files. */
111563
113222
  export type QueryTecMyCertificateArgs = {
111564
113223
  id: Scalars['ID']['input'];
111565
113224
  };
@@ -111585,6 +113244,11 @@ export type QueryTecMyPayoutsArgs = {
111585
113244
  status?: InputMaybe<TecPayoutStatus>;
111586
113245
  };
111587
113246
  /** Base Query type with placeholder field. Extended by individual query files. */
113247
+ export type QueryTecMyReminderDeliveriesArgs = {
113248
+ limit?: InputMaybe<Scalars['Int']['input']>;
113249
+ subjectId?: InputMaybe<Scalars['ID']['input']>;
113250
+ };
113251
+ /** Base Query type with placeholder field. Extended by individual query files. */
111588
113252
  export type QueryTecMySessionArgs = {
111589
113253
  id: Scalars['ID']['input'];
111590
113254
  };
@@ -113062,6 +114726,26 @@ export type RecordApplicationUsageInput = {
113062
114726
  switches?: InputMaybe<Scalars['Int']['input']>;
113063
114727
  timeSpent: Scalars['Int']['input'];
113064
114728
  };
114729
+ /**
114730
+ * An activity entry a first-party service records against one of the workspace's
114731
+ * connections, for example one scheduled push to a customer endpoint. Always
114732
+ * stored as an API_CALL log.
114733
+ */
114734
+ export type RecordConnectionActivityInput = {
114735
+ connectionId: Scalars['ID']['input'];
114736
+ /** Structured error detail, at most 8 KB once serialized. */
114737
+ errorDetails?: InputMaybe<Scalars['JSON']['input']>;
114738
+ level: LogLevel;
114739
+ /** What happened, at most 1000 characters. */
114740
+ message: Scalars['String']['input'];
114741
+ /** Structured detail, at most 8 KB once serialized. Never include credentials. */
114742
+ metadata?: InputMaybe<Scalars['JSON']['input']>;
114743
+ /** The HTTP method, at most 16 characters. */
114744
+ requestMethod?: InputMaybe<Scalars['String']['input']>;
114745
+ /** The URL that was called, at most 2048 characters. Never include credentials. */
114746
+ requestUrl?: InputMaybe<Scalars['String']['input']>;
114747
+ responseStatus?: InputMaybe<Scalars['Int']['input']>;
114748
+ };
113065
114749
  export type RecordFocusScoreInput = {
113066
114750
  consistencyScore?: InputMaybe<Scalars['Float']['input']>;
113067
114751
  context?: InputMaybe<ContextInput>;
@@ -113788,7 +115472,11 @@ export type RemoveProjectMemberInput = {
113788
115472
  export type RemoveReactionInput = {
113789
115473
  commentId: Scalars['ID']['input'];
113790
115474
  emoji: Scalars['String']['input'];
113791
- userId: Scalars['ID']['input'];
115475
+ /**
115476
+ * Deprecated and ignored. The reacting user is always the authenticated actor (x-actor-id); a client-supplied user id is never trusted.
115477
+ * @deprecated Ignored: the reaction always belongs to the authenticated actor.
115478
+ */
115479
+ userId?: InputMaybe<Scalars['ID']['input']>;
113792
115480
  };
113793
115481
  export type RemoveReactionPayload = {
113794
115482
  __typename?: 'RemoveReactionPayload';
@@ -121118,6 +122806,41 @@ export type SubmitApprovalRequestInput = {
121118
122806
  startDate: Scalars['DateTime']['input'];
121119
122807
  totalHours: Scalars['Float']['input'];
121120
122808
  };
122809
+ export type SubmitConnectorInput = {
122810
+ /** Header or query parameter name carrying the API key. Required for API_KEY connectors. */
122811
+ apiKeyName?: InputMaybe<Scalars['String']['input']>;
122812
+ /** Required for API_KEY connectors. */
122813
+ apiKeyPlacement?: InputMaybe<ConnectorApiKeyPlacement>;
122814
+ /** Optional word sent before the key in a header, e.g. `Token`. */
122815
+ apiKeyPrefix?: InputMaybe<Scalars['String']['input']>;
122816
+ apiVersion?: InputMaybe<Scalars['String']['input']>;
122817
+ /** API_KEY, BEARER_TOKEN or BASIC_AUTH. */
122818
+ authType: AuthType;
122819
+ /** The API's https base URL. */
122820
+ baseUrl: Scalars['String']['input'];
122821
+ category: ProviderCategory;
122822
+ /** Brand color as #RRGGBB. */
122823
+ color?: InputMaybe<Scalars['String']['input']>;
122824
+ /** What the connector lets a workspace do (10 to 1000 characters). */
122825
+ description: Scalars['String']['input'];
122826
+ docsUrl: Scalars['String']['input'];
122827
+ /** An https image URL or an `iconify:<set>:<name>` icon. */
122828
+ icon?: InputMaybe<Scalars['String']['input']>;
122829
+ /** Lowercase slug naming your service, e.g. `acme-crm`. Must be unused. */
122830
+ key: Scalars['String']['input'];
122831
+ name: Scalars['String']['input'];
122832
+ privacyPolicyUrl: Scalars['String']['input'];
122833
+ publisherName: Scalars['String']['input'];
122834
+ repositoryUrl?: InputMaybe<Scalars['String']['input']>;
122835
+ /** A note for the reviewer. */
122836
+ submitterNotes?: InputMaybe<Scalars['String']['input']>;
122837
+ supportEmail: Scalars['String']['input'];
122838
+ supportedFeatures?: InputMaybe<Array<Scalars['String']['input']>>;
122839
+ termsUrl?: InputMaybe<Scalars['String']['input']>;
122840
+ /** Semantic version, defaults to 1.0.0. */
122841
+ version?: InputMaybe<Scalars['String']['input']>;
122842
+ website: Scalars['String']['input'];
122843
+ };
121121
122844
  export type SubmitMtwInspectorQualificationInput = {
121122
122845
  credentialReference: Scalars['String']['input'];
121123
122846
  evidence: Array<MtwContainerEvidenceInput>;
@@ -123122,6 +124845,128 @@ export type TecAddPortfolioItemInput = {
123122
124845
  /** The TecHackathonTeam.id / TecCertificate.id / TecEnrollment.id (matching `kind`) to showcase. Ownership and completion are verified server-side. */
123123
124846
  sourceId: Scalars['ID']['input'];
123124
124847
  };
124848
+ /** A timed certification assessment on a course. The answer key is never part of this type; authors read it with tecAssessmentQuestionKey. */
124849
+ export type TecAssessment = {
124850
+ __typename?: 'TecAssessment';
124851
+ blockClipboard: Scalars['Boolean']['output'];
124852
+ course?: Maybe<TecCourse>;
124853
+ courseId: Scalars['ID']['output'];
124854
+ createdAt: Scalars['DateTime']['output'];
124855
+ description?: Maybe<Scalars['String']['output']>;
124856
+ id: Scalars['ID']['output'];
124857
+ issuesCertificate: Scalars['Boolean']['output'];
124858
+ maxAttempts: Scalars['Int']['output'];
124859
+ maxIntegrityViolations: Scalars['Int']['output'];
124860
+ passingScore: Scalars['Int']['output'];
124861
+ proctoringMode: TecProctoringMode;
124862
+ publishedAt?: Maybe<Scalars['DateTime']['output']>;
124863
+ questionCount: Scalars['Int']['output'];
124864
+ requireFullscreen: Scalars['Boolean']['output'];
124865
+ shuffleOptions: Scalars['Boolean']['output'];
124866
+ shuffleQuestions: Scalars['Boolean']['output'];
124867
+ status: TecAssessmentStatus;
124868
+ timeLimitMinutes: Scalars['Int']['output'];
124869
+ title: Scalars['String']['output'];
124870
+ updatedAt: Scalars['DateTime']['output'];
124871
+ workspaceId: Scalars['ID']['output'];
124872
+ };
124873
+ export type TecAssessmentAttempt = {
124874
+ __typename?: 'TecAssessmentAttempt';
124875
+ assessment?: Maybe<TecAssessment>;
124876
+ assessmentId: Scalars['ID']['output'];
124877
+ attemptNumber: Scalars['Int']['output'];
124878
+ blockClipboard: Scalars['Boolean']['output'];
124879
+ certificate?: Maybe<TecCertificate>;
124880
+ /** The certificate this attempt earned, once issued. */
124881
+ certificateId?: Maybe<Scalars['ID']['output']>;
124882
+ consentedAt?: Maybe<Scalars['DateTime']['output']>;
124883
+ correctCount: Scalars['Int']['output'];
124884
+ courseId: Scalars['ID']['output'];
124885
+ deadlineAt: Scalars['DateTime']['output'];
124886
+ id: Scalars['ID']['output'];
124887
+ integrityViolations: Scalars['Int']['output'];
124888
+ learnerId: Scalars['ID']['output'];
124889
+ maxIntegrityViolations: Scalars['Int']['output'];
124890
+ passed?: Maybe<Scalars['Boolean']['output']>;
124891
+ passingScore: Scalars['Int']['output'];
124892
+ proctoringMode: TecProctoringMode;
124893
+ proctoringStatus: TecProctoringStatus;
124894
+ /** The questions to answer. Empty once the attempt is closed. */
124895
+ questions: Array<TecAssessmentQuestion>;
124896
+ /** Seconds left before the deadline; 0 once closed. */
124897
+ remainingSeconds: Scalars['Int']['output'];
124898
+ requireFullscreen: Scalars['Boolean']['output'];
124899
+ reviewNotes?: Maybe<Scalars['String']['output']>;
124900
+ reviewedAt?: Maybe<Scalars['DateTime']['output']>;
124901
+ reviewedBy?: Maybe<Scalars['ID']['output']>;
124902
+ /** Saved answers in display order (displayed option index, -1 for unanswered). Empty once the attempt is closed. */
124903
+ savedAnswers: Array<Scalars['Int']['output']>;
124904
+ score?: Maybe<Scalars['Int']['output']>;
124905
+ startedAt: Scalars['DateTime']['output'];
124906
+ status: TecAssessmentAttemptStatus;
124907
+ submittedAt?: Maybe<Scalars['DateTime']['output']>;
124908
+ totalCount: Scalars['Int']['output'];
124909
+ workspaceId: Scalars['ID']['output'];
124910
+ };
124911
+ export declare enum TecAssessmentAttemptStatus {
124912
+ /** The time limit ran out; the saved answers were graded. */
124913
+ Expired = "EXPIRED",
124914
+ InProgress = "IN_PROGRESS",
124915
+ Submitted = "SUBMITTED"
124916
+ }
124917
+ /** One entry of an attempt's audit trail. */
124918
+ export type TecAssessmentEvent = {
124919
+ __typename?: 'TecAssessmentEvent';
124920
+ attemptId: Scalars['ID']['output'];
124921
+ detail?: Maybe<Scalars['JSON']['output']>;
124922
+ id: Scalars['ID']['output'];
124923
+ occurredAt: Scalars['DateTime']['output'];
124924
+ type: TecAssessmentEventType;
124925
+ violation: Scalars['Boolean']['output'];
124926
+ };
124927
+ /** Every event type in an attempt's audit trail: the client signals plus the lifecycle events the server writes. */
124928
+ export declare enum TecAssessmentEventType {
124929
+ CertificateIssued = "CERTIFICATE_ISSUED",
124930
+ ContextMenu = "CONTEXT_MENU",
124931
+ CopyAttempt = "COPY_ATTEMPT",
124932
+ CutAttempt = "CUT_ATTEMPT",
124933
+ Expired = "EXPIRED",
124934
+ FullscreenEnter = "FULLSCREEN_ENTER",
124935
+ FullscreenExit = "FULLSCREEN_EXIT",
124936
+ PasteAttempt = "PASTE_ATTEMPT",
124937
+ Reviewed = "REVIEWED",
124938
+ Started = "STARTED",
124939
+ Submitted = "SUBMITTED",
124940
+ VisibilityHidden = "VISIBILITY_HIDDEN",
124941
+ WindowBlur = "WINDOW_BLUR"
124942
+ }
124943
+ /** One question of an in-progress attempt as the learner sees it: shuffled position and option order, no answer key. */
124944
+ export type TecAssessmentQuestion = {
124945
+ __typename?: 'TecAssessmentQuestion';
124946
+ options: Array<Scalars['String']['output']>;
124947
+ position: Scalars['Int']['output'];
124948
+ prompt: Scalars['String']['output'];
124949
+ };
124950
+ export declare enum TecAssessmentReviewDecision {
124951
+ Rejected = "REJECTED",
124952
+ Verified = "VERIFIED"
124953
+ }
124954
+ /** Integrity signals the learner's browser may report during an attempt. */
124955
+ export declare enum TecAssessmentSignal {
124956
+ ContextMenu = "CONTEXT_MENU",
124957
+ CopyAttempt = "COPY_ATTEMPT",
124958
+ CutAttempt = "CUT_ATTEMPT",
124959
+ FullscreenEnter = "FULLSCREEN_ENTER",
124960
+ FullscreenExit = "FULLSCREEN_EXIT",
124961
+ PasteAttempt = "PASTE_ATTEMPT",
124962
+ VisibilityHidden = "VISIBILITY_HIDDEN",
124963
+ WindowBlur = "WINDOW_BLUR"
124964
+ }
124965
+ export declare enum TecAssessmentStatus {
124966
+ Archived = "ARCHIVED",
124967
+ Draft = "DRAFT",
124968
+ Published = "PUBLISHED"
124969
+ }
123125
124970
  export type TecBookSessionInput = {
123126
124971
  agenda?: InputMaybe<Scalars['String']['input']>;
123127
124972
  durationMinutes?: InputMaybe<Scalars['Int']['input']>;
@@ -123250,6 +125095,28 @@ export declare enum TecCourseStatus {
123250
125095
  Draft = "DRAFT",
123251
125096
  Published = "PUBLISHED"
123252
125097
  }
125098
+ export type TecCreateAssessmentInput = {
125099
+ blockClipboard?: InputMaybe<Scalars['Boolean']['input']>;
125100
+ courseId: Scalars['ID']['input'];
125101
+ description?: InputMaybe<Scalars['String']['input']>;
125102
+ issuesCertificate?: InputMaybe<Scalars['Boolean']['input']>;
125103
+ /** 1 to 10. Default 1. */
125104
+ maxAttempts?: InputMaybe<Scalars['Int']['input']>;
125105
+ /** 0 to 50. Default 3. */
125106
+ maxIntegrityViolations?: InputMaybe<Scalars['Int']['input']>;
125107
+ /** 1 to 100. Default 70. */
125108
+ passingScore?: InputMaybe<Scalars['Int']['input']>;
125109
+ /** Default INTEGRITY_MONITORING. */
125110
+ proctoringMode?: InputMaybe<TecProctoringMode>;
125111
+ /** Up to 50 multiple-choice questions with their answer key. */
125112
+ questions?: InputMaybe<Array<TecQuizQuestionInput>>;
125113
+ requireFullscreen?: InputMaybe<Scalars['Boolean']['input']>;
125114
+ shuffleOptions?: InputMaybe<Scalars['Boolean']['input']>;
125115
+ shuffleQuestions?: InputMaybe<Scalars['Boolean']['input']>;
125116
+ /** 1 to 480 minutes. Default 30. */
125117
+ timeLimitMinutes?: InputMaybe<Scalars['Int']['input']>;
125118
+ title: Scalars['String']['input'];
125119
+ };
123253
125120
  export type TecCreateCourseInput = {
123254
125121
  coverFileId?: InputMaybe<Scalars['ID']['input']>;
123255
125122
  estimatedMinutes?: InputMaybe<Scalars['Int']['input']>;
@@ -123763,6 +125630,24 @@ export type TecProblemTestCase = {
123763
125630
  visibility: TecTestCaseVisibility;
123764
125631
  workspaceId: Scalars['ID']['output'];
123765
125632
  };
125633
+ /** How an assessment protects its integrity. */
125634
+ export declare enum TecProctoringMode {
125635
+ /** 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. */
125636
+ IntegrityMonitoring = "INTEGRITY_MONITORING",
125637
+ /** No monitoring: a plain timed exam. */
125638
+ None = "NONE",
125639
+ /** Integrity monitoring plus a mandatory reviewer decision on every attempt. */
125640
+ ReviewRequired = "REVIEW_REQUIRED"
125641
+ }
125642
+ export declare enum TecProctoringStatus {
125643
+ Flagged = "FLAGGED",
125644
+ /** In progress under monitoring. */
125645
+ Monitoring = "MONITORING",
125646
+ NotRequired = "NOT_REQUIRED",
125647
+ PendingReview = "PENDING_REVIEW",
125648
+ Rejected = "REJECTED",
125649
+ Verified = "VERIFIED"
125650
+ }
123766
125651
  export type TecPublicPortfolio = {
123767
125652
  __typename?: 'TecPublicPortfolio';
123768
125653
  items: Array<TecPublicPortfolioItem>;
@@ -123840,6 +125725,23 @@ export type TecRegisterTeamInput = {
123840
125725
  memberIds?: InputMaybe<Array<Scalars['String']['input']>>;
123841
125726
  name: Scalars['String']['input'];
123842
125727
  };
125728
+ /** 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). */
125729
+ export type TecReminderDelivery = {
125730
+ __typename?: 'TecReminderDelivery';
125731
+ /** When the reminder was sent. */
125732
+ createdAt: Scalars['DateTime']['output'];
125733
+ deliveredDevices: Scalars['Int']['output'];
125734
+ /** When the session starts or the deadline falls. */
125735
+ dueAt: Scalars['DateTime']['output'];
125736
+ id: Scalars['ID']['output'];
125737
+ kind: TecReminderKind;
125738
+ /** The mentor session or hackathon the reminder is about. */
125739
+ subjectId: Scalars['ID']['output'];
125740
+ };
125741
+ export declare enum TecReminderKind {
125742
+ HackathonDeadline = "HACKATHON_DEADLINE",
125743
+ SessionReminder = "SESSION_REMINDER"
125744
+ }
123843
125745
  export type TecReorderPortfolioItemsInput = {
123844
125746
  /** 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
125747
  itemIds: Array<Scalars['ID']['input']>;
@@ -123864,6 +125766,30 @@ export type TecRunSolutionInput = {
123864
125766
  /** Optional custom stdin. When set, the code runs once against it instead of the sample cases. */
123865
125767
  stdin?: InputMaybe<Scalars['String']['input']>;
123866
125768
  };
125769
+ export type TecScormPackage = {
125770
+ __typename?: 'TecScormPackage';
125771
+ /** TechnoSpam app origin the lessons launch into. */
125772
+ appOrigin: Scalars['String']['output'];
125773
+ courseId: Scalars['ID']['output'];
125774
+ /** Presigned download URL for the ZIP; valid until expiresAt (one hour). */
125775
+ downloadUrl: Scalars['String']['output'];
125776
+ expiresAt: Scalars['DateTime']['output'];
125777
+ /** Id of the stored archive in the workspace file library. */
125778
+ fileId: Scalars['ID']['output'];
125779
+ fileName: Scalars['String']['output'];
125780
+ /** Number of lessons (SCOs) in the package. */
125781
+ lessonCount: Scalars['Int']['output'];
125782
+ /** Lessons that still require a paid TechnoSpam plan when launched. */
125783
+ premiumLessonCount: Scalars['Int']['output'];
125784
+ sizeBytes: Scalars['Int']['output'];
125785
+ version: TecScormVersion;
125786
+ };
125787
+ export declare enum TecScormVersion {
125788
+ /** SCORM 1.2, for LMSs without SCORM 2004 support. */
125789
+ Scorm_12 = "SCORM_12",
125790
+ /** SCORM 2004 4th Edition (recommended). */
125791
+ Scorm_2004_4Th = "SCORM_2004_4TH"
125792
+ }
123867
125793
  /** 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
125794
  export type TecSessionCostEstimate = {
123869
125795
  __typename?: 'TecSessionCostEstimate';
@@ -124091,6 +126017,22 @@ export declare enum TecTestCaseVisibility {
124091
126017
  Hidden = "HIDDEN",
124092
126018
  Public = "PUBLIC"
124093
126019
  }
126020
+ export type TecUpdateAssessmentInput = {
126021
+ blockClipboard?: InputMaybe<Scalars['Boolean']['input']>;
126022
+ description?: InputMaybe<Scalars['String']['input']>;
126023
+ issuesCertificate?: InputMaybe<Scalars['Boolean']['input']>;
126024
+ maxAttempts?: InputMaybe<Scalars['Int']['input']>;
126025
+ maxIntegrityViolations?: InputMaybe<Scalars['Int']['input']>;
126026
+ passingScore?: InputMaybe<Scalars['Int']['input']>;
126027
+ proctoringMode?: InputMaybe<TecProctoringMode>;
126028
+ /** Replaces the questions. Attempts already started keep their snapshot. */
126029
+ questions?: InputMaybe<Array<TecQuizQuestionInput>>;
126030
+ requireFullscreen?: InputMaybe<Scalars['Boolean']['input']>;
126031
+ shuffleOptions?: InputMaybe<Scalars['Boolean']['input']>;
126032
+ shuffleQuestions?: InputMaybe<Scalars['Boolean']['input']>;
126033
+ timeLimitMinutes?: InputMaybe<Scalars['Int']['input']>;
126034
+ title?: InputMaybe<Scalars['String']['input']>;
126035
+ };
124094
126036
  export type TecUpdateCourseInput = {
124095
126037
  coverFileId?: InputMaybe<Scalars['ID']['input']>;
124096
126038
  estimatedMinutes?: InputMaybe<Scalars['Int']['input']>;
@@ -124169,6 +126111,34 @@ export type TecUpdateStudyPlanStepStatusInput = {
124169
126111
  status: TecStudyPlanStepStatus;
124170
126112
  stepId: Scalars['ID']['input'];
124171
126113
  };
126114
+ /** The workspace's connected LRS and the state of the scheduled push. */
126115
+ export type TecXapiLrsSync = {
126116
+ __typename?: 'TecXapiLrsSync';
126117
+ connectedAt: Scalars['DateTime']['output'];
126118
+ /** The admin who connected the LRS. */
126119
+ connectedBy: Scalars['ID']['output'];
126120
+ /** The wspace-integrations-svc connection that holds the endpoint and credentials. */
126121
+ connectionId: Scalars['ID']['output'];
126122
+ consecutiveFailures: Scalars['Int']['output'];
126123
+ enabled: Scalars['Boolean']['output'];
126124
+ /** Learner activity before this instant has been pushed; null until the first page is accepted. */
126125
+ highWaterMark?: Maybe<Scalars['DateTime']['output']>;
126126
+ /** Minutes between runs while they succeed. */
126127
+ intervalMinutes: Scalars['Int']['output'];
126128
+ /** Why the last run failed; null after a successful run. */
126129
+ lastError?: Maybe<Scalars['String']['output']>;
126130
+ lastErrorAt?: Maybe<Scalars['DateTime']['output']>;
126131
+ /** Statements the most recent successful run pushed. */
126132
+ lastPushedCount: Scalars['Int']['output'];
126133
+ lastSuccessAt?: Maybe<Scalars['DateTime']['output']>;
126134
+ /** When the last run finished, successfully or not. */
126135
+ lastSyncAt?: Maybe<Scalars['DateTime']['output']>;
126136
+ /** When the next run is due. */
126137
+ nextAttemptAt: Scalars['DateTime']['output'];
126138
+ state: TecXapiSyncState;
126139
+ /** Statements the LRS accepted since it was connected. */
126140
+ statementsPushed: Scalars['Int']['output'];
126141
+ };
124172
126142
  /** One page of xAPI 1.0.3 statements. `statements` is an array of standard xAPI Statement objects ready to POST to an LRS `/statements` endpoint. When `hasMore` is true, request the next page with `since: nextSince` (statement ids are deterministic, so the one overlapping timestamp is de-duplicated by the LRS). */
124173
126143
  export type TecXapiStatementPage = {
124174
126144
  __typename?: 'TecXapiStatementPage';
@@ -124179,6 +126149,16 @@ export type TecXapiStatementPage = {
124179
126149
  /** xAPI version the statements conform to. */
124180
126150
  version: Scalars['String']['output'];
124181
126151
  };
126152
+ export declare enum TecXapiSyncState {
126153
+ /** The last run failed; it is retried with backoff (see nextAttemptAt). */
126154
+ Failing = "FAILING",
126155
+ /** Connected, no run has finished yet. */
126156
+ NeverRun = "NEVER_RUN",
126157
+ /** The last run succeeded. */
126158
+ Ok = "OK",
126159
+ /** A run is in progress. */
126160
+ Running = "RUNNING"
126161
+ }
124182
126162
  export declare enum TemplateCategory {
124183
126163
  CodeAssistant = "CODE_ASSISTANT",
124184
126164
  ContentCreation = "CONTENT_CREATION",
@@ -128808,6 +130788,21 @@ export type UpdateGgnomadActivityInput = {
128808
130788
  storeProductId?: InputMaybe<Scalars['String']['input']>;
128809
130789
  sustainabilityPractices?: InputMaybe<Array<GgnomadSustainabilityPractice>>;
128810
130790
  };
130791
+ /** Fields to change; the result is validated as a whole rule. Pass null to clear partnerId or bookingType. */
130792
+ export type UpdateGgnomadAffiliateCommissionRuleInput = {
130793
+ active?: InputMaybe<Scalars['Boolean']['input']>;
130794
+ bookingType?: InputMaybe<GgnomadBookingType>;
130795
+ commissionPercent?: InputMaybe<Scalars['Float']['input']>;
130796
+ endsAt?: InputMaybe<Scalars['DateTime']['input']>;
130797
+ kind?: InputMaybe<GgnomadAffiliateRuleKind>;
130798
+ name?: InputMaybe<Scalars['String']['input']>;
130799
+ partnerId?: InputMaybe<Scalars['ID']['input']>;
130800
+ startsAt?: InputMaybe<Scalars['DateTime']['input']>;
130801
+ volumeCurrency?: InputMaybe<Scalars['String']['input']>;
130802
+ volumeMetric?: InputMaybe<GgnomadAffiliateVolumeMetric>;
130803
+ volumePeriodDays?: InputMaybe<Scalars['Int']['input']>;
130804
+ volumeThreshold?: InputMaybe<Scalars['Float']['input']>;
130805
+ };
128811
130806
  export type UpdateGgnomadAffiliatePartnerInput = {
128812
130807
  actorId?: InputMaybe<Scalars['String']['input']>;
128813
130808
  attributionWindowDays?: InputMaybe<Scalars['Int']['input']>;
@@ -128846,6 +130841,14 @@ export type UpdateGgnomadEventInput = {
128846
130841
  sustainabilityPractices?: InputMaybe<Array<GgnomadSustainabilityPractice>>;
128847
130842
  venue?: InputMaybe<Scalars['JSON']['input']>;
128848
130843
  };
130844
+ /** BOFF-4392 — changes to the governance policy. Omitted fields keep their value. */
130845
+ export type UpdateGgnomadGovernancePolicyInput = {
130846
+ /** Restrict exports to these entity types (from ggnomadExportEntityTypes); an empty list allows every type. */
130847
+ allowedExportEntityTypes?: InputMaybe<Array<Scalars['String']['input']>>;
130848
+ /** Must be one of ggnomadResidencyRegions. */
130849
+ dataRegion?: InputMaybe<Scalars['String']['input']>;
130850
+ exportsEnabled?: InputMaybe<Scalars['Boolean']['input']>;
130851
+ };
128849
130852
  export type UpdateGgnomadOperatorStorefrontInput = {
128850
130853
  aboutText?: InputMaybe<Scalars['String']['input']>;
128851
130854
  displayName?: InputMaybe<Scalars['String']['input']>;
@@ -128889,6 +130892,17 @@ export type UpdateGgnomadPropertyInput = {
128889
130892
  /** BOFF-3938 — Friday/Saturday nightly price; null removes weekend pricing. */
128890
130893
  weekendPricePerNight?: InputMaybe<Scalars['Float']['input']>;
128891
130894
  };
130895
+ /** BOFF-3953 — a partial provider-profile edit: omitted fields are left alone, null or a blank string clears an optional field. `address` takes only the keys line1, line2, city, region, postalCode and country. */
130896
+ export type UpdateGgnomadProviderInput = {
130897
+ address?: InputMaybe<Scalars['JSON']['input']>;
130898
+ contactEmail?: InputMaybe<Scalars['String']['input']>;
130899
+ contactPhone?: InputMaybe<Scalars['String']['input']>;
130900
+ description?: InputMaybe<Scalars['String']['input']>;
130901
+ logo?: InputMaybe<Scalars['String']['input']>;
130902
+ name?: InputMaybe<Scalars['String']['input']>;
130903
+ type?: InputMaybe<GgnomadProviderType>;
130904
+ website?: InputMaybe<Scalars['String']['input']>;
130905
+ };
128892
130906
  export type UpdateGgnomadTourInput = {
128893
130907
  accessibilityFeatures?: InputMaybe<Array<GgnomadAccessibilityFeature>>;
128894
130908
  currency?: InputMaybe<Scalars['String']['input']>;