@burdenoff/microfe-technospam 2026.1102.4 → 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.
@@ -21992,6 +21992,24 @@ export type CreateGgnomadActivityInput = {
21992
21992
  /** BOFF-4364 — self-attested; omit or pass [] for none. */
21993
21993
  sustainabilityPractices?: InputMaybe<Array<GgnomadSustainabilityPractice>>;
21994
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
+ };
21995
22013
  export type CreateGgnomadAffiliatePartnerInput = {
21996
22014
  /** Workspace member to link as this partner. */
21997
22015
  actorId?: InputMaybe<Scalars['String']['input']>;
@@ -32870,13 +32888,20 @@ export type GgnomadActivityPriceInArgs = {
32870
32888
  };
32871
32889
  export type GgnomadAffiliateCommission = {
32872
32890
  __typename?: 'GgnomadAffiliateCommission';
32891
+ /** BOFF-10615 — every rule that priced at least one line. */
32892
+ appliedRuleIds: Array<Scalars['ID']['output']>;
32873
32893
  approvedAt?: Maybe<Scalars['DateTime']['output']>;
32874
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']>;
32875
32897
  commissionAmount: Scalars['Float']['output'];
32898
+ /** The effective rate of the whole order (commissionAmount / baseAmount) when the commission has per-booking lines. */
32876
32899
  commissionPercent: Scalars['Float']['output'];
32877
32900
  createdAt: Scalars['DateTime']['output'];
32878
32901
  currency: Scalars['String']['output'];
32879
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>;
32880
32905
  orderId: Scalars['ID']['output'];
32881
32906
  /** The order's reference code, for matching against the operator's records. */
32882
32907
  orderReferenceCode?: Maybe<Scalars['String']['output']>;
@@ -32887,6 +32912,52 @@ export type GgnomadAffiliateCommission = {
32887
32912
  voidedAt?: Maybe<Scalars['DateTime']['output']>;
32888
32913
  workspaceId: Scalars['String']['output'];
32889
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
+ };
32890
32961
  export declare enum GgnomadAffiliateCommissionStatus {
32891
32962
  /** Reviewed and owed to the partner, re-based on bookings that were not cancelled or refunded. */
32892
32963
  Approved = "APPROVED",
@@ -32947,6 +33018,22 @@ export type GgnomadAffiliatePayout = {
32947
33018
  reference: Scalars['String']['output'];
32948
33019
  workspaceId: Scalars['String']['output'];
32949
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
+ }
32950
33037
  /** Result of recording a referral: null fields when the code was unknown, suspended or the caller's own. */
32951
33038
  export type GgnomadAffiliateReferralResult = {
32952
33039
  __typename?: 'GgnomadAffiliateReferralResult';
@@ -32959,6 +33046,20 @@ export declare enum GgnomadAffiliateReferralSource {
32959
33046
  Link = "LINK",
32960
33047
  Widget = "WIDGET"
32961
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
+ }
32962
33063
  export type GgnomadAnalytics = {
32963
33064
  __typename?: 'GgnomadAnalytics';
32964
33065
  analyticsDashboard?: Maybe<AnalyticsDashboard>;
@@ -33706,9 +33807,9 @@ export type GgnomadOrder = {
33706
33807
  referenceCode: Scalars['String']['output'];
33707
33808
  serviceFeeAmount: Scalars['Float']['output'];
33708
33809
  serviceFeePercent: Scalars['Float']['output'];
33709
- /** CART or TRIP_PLAN. */
33810
+ /** CART, TRIP_PLAN, or GUEST for a guest checkout from a storefront's booking widget (BOFF-10616). */
33710
33811
  source: Scalars['String']['output'];
33711
- /** The cart or trip plan id. */
33812
+ /** The cart, trip plan or storefront id. */
33712
33813
  sourceId: Scalars['String']['output'];
33713
33814
  /** PENDING while bookings are being created, then PLACED; FAILED if checkout was rolled back. */
33714
33815
  status: Scalars['String']['output'];
@@ -33920,21 +34021,35 @@ export type GgnomadProtectionPolicy = {
33920
34021
  };
33921
34022
  export type GgnomadProvider = {
33922
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'];
33923
34028
  contactEmail?: Maybe<Scalars['String']['output']>;
33924
34029
  contactPhone?: Maybe<Scalars['String']['output']>;
33925
34030
  createdAt: Scalars['DateTime']['output'];
33926
34031
  description?: Maybe<Scalars['String']['output']>;
33927
34032
  id: Scalars['ID']['output'];
34033
+ /** BOFF-3953 — live: listings this provider owns that are not ARCHIVED. */
33928
34034
  listingCount: Scalars['Int']['output'];
34035
+ /** BOFF-3953 — logo image URL (http or https). */
34036
+ logo?: Maybe<Scalars['String']['output']>;
33929
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. */
33930
34041
  rating?: Maybe<Scalars['Float']['output']>;
34042
+ /** BOFF-3953 — live: reviews across this provider's listings. */
33931
34043
  reviewCount: Scalars['Int']['output'];
33932
34044
  status: Scalars['String']['output'];
33933
34045
  /** BOFF-4363 — this provider's branded storefront, or null if it hasn't created one yet. */
33934
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. */
33935
34048
  totalRevenue: Scalars['Float']['output'];
33936
34049
  type: GgnomadProviderType;
33937
34050
  updatedAt: Scalars['DateTime']['output'];
34051
+ /** BOFF-3953 — when a marketplace operator verified this provider; null until then. */
34052
+ verifiedAt?: Maybe<Scalars['DateTime']['output']>;
33938
34053
  website?: Maybe<Scalars['String']['output']>;
33939
34054
  workspaceId: Scalars['String']['output'];
33940
34055
  };
@@ -33973,6 +34088,29 @@ export type GgnomadProviderListingAnalytics = {
33973
34088
  listingType: GgnomadBookingType;
33974
34089
  revenue: Scalars['Float']['output'];
33975
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
+ };
33976
34114
  export declare enum GgnomadProviderType {
33977
34115
  ActivityProvider = "ACTIVITY_PROVIDER",
33978
34116
  EventOrganizer = "EVENT_ORGANIZER",
@@ -61386,6 +61524,8 @@ export type Mutation = {
61386
61524
  createGeofence: Geofence;
61387
61525
  /** BOFF-4388 — enters the verification workflow at PENDING_REVIEW (not ACTIVE); use submitGgnomadListingForReview/approveGgnomadListing to progress it. */
61388
61526
  createGgnomadActivity: GgnomadActivity;
61527
+ /** BOFF-10615 — operator-only: adds a category, volume-tier or promotional commission rule. */
61528
+ createGgnomadAffiliateCommissionRule: GgnomadAffiliateCommissionRule;
61389
61529
  /** BOFF-4386 — operator-only: adds an affiliate partner with a referral code. */
61390
61530
  createGgnomadAffiliatePartner: GgnomadAffiliatePartner;
61391
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. */
@@ -61951,6 +62091,8 @@ export type Mutation = {
61951
62091
  deleteFolder: Scalars['Boolean']['output'];
61952
62092
  deleteFunnel: Scalars['Boolean']['output'];
61953
62093
  deleteGeofence: Geofence;
62094
+ /** BOFF-10615 — operator-only: deletes a commission rule; commissions already created keep their rate. */
62095
+ deleteGgnomadAffiliateCommissionRule: Scalars['Boolean']['output'];
61954
62096
  /** Removes the mapping and clears any blocking availability slots its inbound sync had created. */
61955
62097
  deleteGgnomadChannelMapping: Scalars['Boolean']['output'];
61956
62098
  /** BOFF-4378 — host only: removes a pricing rule. Returns true when it was removed. */
@@ -64485,6 +64627,13 @@ export type Mutation = {
64485
64627
  */
64486
64628
  recordAgentToolCall: Scalars['Boolean']['output'];
64487
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;
64488
64637
  recordFocusScore: FocusScore;
64489
64638
  recordGeofenceEvent: GeofenceEvent;
64490
64639
  /** BOFF-4386 — operator-only: records a payout made to a partner and marks those commissions PAID. */
@@ -65665,6 +65814,8 @@ export type Mutation = {
65665
65814
  tecCompleteLesson: TecEnrollment;
65666
65815
  tecCompleteSession: TecMentorSession;
65667
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;
65668
65819
  tecCreateAssessment: TecAssessment;
65669
65820
  tecCreateCourse: TecCourse;
65670
65821
  tecCreateHackathon: TecHackathon;
@@ -65674,6 +65825,8 @@ export type Mutation = {
65674
65825
  tecCreateProblemTestCase: TecProblemTestCase;
65675
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. */
65676
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'];
65677
65830
  tecEnroll: TecEnrollment;
65678
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). */
65679
65832
  tecExportScormPackage: TecScormPackage;
@@ -65732,6 +65885,8 @@ export type Mutation = {
65732
65885
  tecSubmitProject: TecHackathonTeam;
65733
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. */
65734
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;
65735
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. */
65736
65891
  tecUnpublishPortfolio: TecPortfolio;
65737
65892
  tecUpdateAssessment: TecAssessment;
@@ -66129,6 +66284,8 @@ export type Mutation = {
66129
66284
  updateGeneratedWidgetPosition: PromptGeneration;
66130
66285
  updateGeofence: Geofence;
66131
66286
  updateGgnomadActivity: GgnomadActivity;
66287
+ /** BOFF-10615 — operator-only: edits a commission rule; commissions already created keep their rate. */
66288
+ updateGgnomadAffiliateCommissionRule: GgnomadAffiliateCommissionRule;
66132
66289
  /** BOFF-4386 — operator-only: edits a partner, including suspending or reactivating it. */
66133
66290
  updateGgnomadAffiliatePartner: GgnomadAffiliatePartner;
66134
66291
  updateGgnomadCartItemQuantity: GgnomadCart;
@@ -66141,6 +66298,8 @@ export type Mutation = {
66141
66298
  /** BOFF-4378 — host only: changes a pricing rule. */
66142
66299
  updateGgnomadPricingRule: GgnomadPricingRule;
66143
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;
66144
66303
  updateGgnomadTour: GgnomadTour;
66145
66304
  updateGgnomadTravelPolicy: GgnomadTravelPolicy;
66146
66305
  /** BOFF-10248 — only the traveler who created the trip may change it; NOT_FOUND for anyone else. */
@@ -66539,6 +66698,8 @@ export type Mutation = {
66539
66698
  /** Create or update a scorecard for an entity */
66540
66699
  upsertVibecontrolsScorecard: VibecontrolsScorecard;
66541
66700
  validateDocsBuildImage: VibecontrolsDocsBuildImage;
66701
+ /** BOFF-3953 — operator-only: marks a provider verified (a PENDING provider becomes ACTIVE). Idempotent. Requires ggnomad:manage. */
66702
+ verifyGgnomadProvider: GgnomadProvider;
66542
66703
  /** Mark a LOCKED inventory VERIFIED (verifier action). */
66543
66704
  verifyHealthyBowlGhgInventory: HbGhgInventory;
66544
66705
  verifyMtwInspectorQualification: MtwInspectorQualification;
@@ -70949,6 +71110,10 @@ export type MutationCreateGgnomadActivityArgs = {
70949
71110
  input: CreateGgnomadActivityInput;
70950
71111
  };
70951
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. */
70952
71117
  export type MutationCreateGgnomadAffiliatePartnerArgs = {
70953
71118
  input: CreateGgnomadAffiliatePartnerInput;
70954
71119
  };
@@ -72494,6 +72659,10 @@ export type MutationDeleteGeofenceArgs = {
72494
72659
  id: Scalars['ID']['input'];
72495
72660
  };
72496
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. */
72497
72666
  export type MutationDeleteGgnomadChannelMappingArgs = {
72498
72667
  id: Scalars['ID']['input'];
72499
72668
  };
@@ -79427,6 +79596,10 @@ export type MutationRecordApplicationUsageArgs = {
79427
79596
  input: RecordApplicationUsageInput;
79428
79597
  };
79429
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. */
79430
79603
  export type MutationRecordFocusScoreArgs = {
79431
79604
  input: RecordFocusScoreInput;
79432
79605
  };
@@ -82388,6 +82561,10 @@ export type MutationTecConfirmSessionArgs = {
82388
82561
  meetingUrl?: InputMaybe<Scalars['String']['input']>;
82389
82562
  };
82390
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. */
82391
82568
  export type MutationTecCreateAssessmentArgs = {
82392
82569
  input: TecCreateAssessmentInput;
82393
82570
  };
@@ -83753,6 +83930,11 @@ export type MutationUpdateGgnomadActivityArgs = {
83753
83930
  input: UpdateGgnomadActivityInput;
83754
83931
  };
83755
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. */
83756
83938
  export type MutationUpdateGgnomadAffiliatePartnerArgs = {
83757
83939
  id: Scalars['ID']['input'];
83758
83940
  input: UpdateGgnomadAffiliatePartnerInput;
@@ -83791,6 +83973,11 @@ export type MutationUpdateGgnomadPropertyArgs = {
83791
83973
  input: UpdateGgnomadPropertyInput;
83792
83974
  };
83793
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. */
83794
83981
  export type MutationUpdateGgnomadTourArgs = {
83795
83982
  id: Scalars['ID']['input'];
83796
83983
  input: UpdateGgnomadTourInput;
@@ -85158,6 +85345,11 @@ export type MutationValidateDocsBuildImageArgs = {
85158
85345
  id: Scalars['ID']['input'];
85159
85346
  };
85160
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. */
85161
85353
  export type MutationVerifyHealthyBowlGhgInventoryArgs = {
85162
85354
  context: ContextInput;
85163
85355
  id: Scalars['ID']['input'];
@@ -98466,6 +98658,8 @@ export type Query = {
98466
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. */
98467
98659
  ggnomadActivities: Array<GgnomadActivity>;
98468
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>;
98469
98663
  /** BOFF-4386 — operator-only: commissions, newest first, optionally for one partner or status. */
98470
98664
  ggnomadAffiliateCommissions: Array<GgnomadAffiliateCommission>;
98471
98665
  /** BOFF-4386 — operator-only: one affiliate partner. */
@@ -98474,8 +98668,10 @@ export type Query = {
98474
98668
  ggnomadAffiliatePartners: Array<GgnomadAffiliatePartner>;
98475
98669
  /** BOFF-4386 — operator-only: payouts recorded for one partner, newest first. */
98476
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;
98477
98673
  ggnomadAnalytics: GgnomadAnalytics;
98478
- /** 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. */
98479
98675
  ggnomadAuditLog: Array<GgnomadAuditLogEntry>;
98480
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. */
98481
98677
  ggnomadBooking?: Maybe<GgnomadBooking>;
@@ -100656,6 +100852,8 @@ export type Query = {
100656
100852
  tecVerifyCertificate: TecCertificateVerification;
100657
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. */
100658
100854
  tecVerifyCertificates: Array<TecCertificateVerification>;
100855
+ /** The workspace's scheduled xAPI push (BOFF-10575), or null when no LRS is connected. */
100856
+ tecXapiLrsSync?: Maybe<TecXapiLrsSync>;
100659
100857
  testParserExpression: ParserTestResult;
100660
100858
  theAsset?: Maybe<TheAsset>;
100661
100859
  theComplianceCert?: Maybe<TheComplianceCert>;
@@ -106653,6 +106851,11 @@ export type QueryGgnomadActivityArgs = {
106653
106851
  id: Scalars['ID']['input'];
106654
106852
  };
106655
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. */
106656
106859
  export type QueryGgnomadAffiliateCommissionsArgs = {
106657
106860
  pagination?: InputMaybe<PaginationInput>;
106658
106861
  partnerId?: InputMaybe<Scalars['ID']['input']>;
@@ -106671,6 +106874,11 @@ export type QueryGgnomadAffiliatePayoutsArgs = {
106671
106874
  partnerId: Scalars['ID']['input'];
106672
106875
  };
106673
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. */
106674
106882
  export type QueryGgnomadAuditLogArgs = {
106675
106883
  entityId: Scalars['String']['input'];
106676
106884
  entityType: Scalars['String']['input'];
@@ -114518,6 +114726,26 @@ export type RecordApplicationUsageInput = {
114518
114726
  switches?: InputMaybe<Scalars['Int']['input']>;
114519
114727
  timeSpent: Scalars['Int']['input'];
114520
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
+ };
114521
114749
  export type RecordFocusScoreInput = {
114522
114750
  consistencyScore?: InputMaybe<Scalars['Float']['input']>;
114523
114751
  context?: InputMaybe<ContextInput>;
@@ -125883,6 +126111,34 @@ export type TecUpdateStudyPlanStepStatusInput = {
125883
126111
  status: TecStudyPlanStepStatus;
125884
126112
  stepId: Scalars['ID']['input'];
125885
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
+ };
125886
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). */
125887
126143
  export type TecXapiStatementPage = {
125888
126144
  __typename?: 'TecXapiStatementPage';
@@ -125893,6 +126149,16 @@ export type TecXapiStatementPage = {
125893
126149
  /** xAPI version the statements conform to. */
125894
126150
  version: Scalars['String']['output'];
125895
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
+ }
125896
126162
  export declare enum TemplateCategory {
125897
126163
  CodeAssistant = "CODE_ASSISTANT",
125898
126164
  ContentCreation = "CONTENT_CREATION",
@@ -130522,6 +130788,21 @@ export type UpdateGgnomadActivityInput = {
130522
130788
  storeProductId?: InputMaybe<Scalars['String']['input']>;
130523
130789
  sustainabilityPractices?: InputMaybe<Array<GgnomadSustainabilityPractice>>;
130524
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
+ };
130525
130806
  export type UpdateGgnomadAffiliatePartnerInput = {
130526
130807
  actorId?: InputMaybe<Scalars['String']['input']>;
130527
130808
  attributionWindowDays?: InputMaybe<Scalars['Int']['input']>;
@@ -130611,6 +130892,17 @@ export type UpdateGgnomadPropertyInput = {
130611
130892
  /** BOFF-3938 — Friday/Saturday nightly price; null removes weekend pricing. */
130612
130893
  weekendPricePerNight?: InputMaybe<Scalars['Float']['input']>;
130613
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
+ };
130614
130906
  export type UpdateGgnomadTourInput = {
130615
130907
  accessibilityFeatures?: InputMaybe<Array<GgnomadAccessibilityFeature>>;
130616
130908
  currency?: InputMaybe<Scalars['String']['input']>;