@burdenoff/microfe-billing 2026.517.1 → 2026.517.2

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 (65) hide show
  1. package/dist/billing/BillingUserRoutes.js +1 -1
  2. package/dist/billing/BillingUserRoutes.js.map +1 -1
  3. package/dist/billing/modules/billing/hooks/useInvoices.d.ts +1 -0
  4. package/dist/billing/modules/billing/hooks/useInvoices.d.ts.map +1 -1
  5. package/dist/billing/modules/billing/hooks/useInvoices.js +26 -20
  6. package/dist/billing/modules/billing/hooks/useInvoices.js.map +1 -1
  7. package/dist/billing/modules/billing/pages/InvoicesListPage.d.ts.map +1 -1
  8. package/dist/billing/modules/billing/pages/InvoicesListPage.js +170 -176
  9. package/dist/billing/modules/billing/pages/InvoicesListPage.js.map +1 -1
  10. package/dist/billing/modules/billing/pages/RefundsPage.js +1 -1
  11. package/dist/billing/modules/billing/pages/RefundsPage.js.map +1 -1
  12. package/dist/billing/modules/checkout/components/OrderSummary.js +4 -4
  13. package/dist/billing/modules/checkout/components/OrderSummary.js.map +1 -1
  14. package/dist/billing/modules/checkout/pages/CheckoutPage.d.ts.map +1 -1
  15. package/dist/billing/modules/checkout/pages/CheckoutPage.js +2 -2
  16. package/dist/billing/modules/checkout/pages/CheckoutPage.js.map +1 -1
  17. package/dist/billing/modules/credits/pages/CreditWithdrawalPage.d.ts.map +1 -1
  18. package/dist/billing/modules/credits/pages/CreditWithdrawalPage.js +209 -178
  19. package/dist/billing/modules/credits/pages/CreditWithdrawalPage.js.map +1 -1
  20. package/dist/billing/modules/dashboard/pages/OverviewPage.js +2 -2
  21. package/dist/billing/modules/dashboard/pages/OverviewPage.js.map +1 -1
  22. package/dist/billing/modules/discounts/pages/DiscountsListPage.js +2 -2
  23. package/dist/billing/modules/discounts/pages/DiscountsListPage.js.map +1 -1
  24. package/dist/billing/modules/earnings/api.d.ts +4 -0
  25. package/dist/billing/modules/earnings/api.d.ts.map +1 -1
  26. package/dist/billing/modules/earnings/api.js +14 -10
  27. package/dist/billing/modules/earnings/api.js.map +1 -1
  28. package/dist/billing/modules/earnings/pages/PayoutAdminPage.d.ts.map +1 -1
  29. package/dist/billing/modules/earnings/pages/PayoutAdminPage.js +523 -233
  30. package/dist/billing/modules/earnings/pages/PayoutAdminPage.js.map +1 -1
  31. package/dist/billing/modules/quota/pages/QuotaPage.js +1 -1
  32. package/dist/billing/modules/quota/pages/QuotaPage.js.map +1 -1
  33. package/dist/billing/modules/quota/pages/QuotaTemplateCreatePage.d.ts.map +1 -1
  34. package/dist/billing/modules/quota/pages/QuotaTemplateCreatePage.js +101 -44
  35. package/dist/billing/modules/quota/pages/QuotaTemplateCreatePage.js.map +1 -1
  36. package/dist/billing/modules/quota/pages/QuotaTemplateEditPage.d.ts.map +1 -1
  37. package/dist/billing/modules/quota/pages/QuotaTemplateEditPage.js +105 -46
  38. package/dist/billing/modules/quota/pages/QuotaTemplateEditPage.js.map +1 -1
  39. package/dist/billing/modules/subscriptions/hooks/useSubscriptions.d.ts +1 -1
  40. package/dist/billing/modules/subscriptions/hooks/useSubscriptions.d.ts.map +1 -1
  41. package/dist/billing/modules/subscriptions/hooks/useSubscriptions.js +16 -15
  42. package/dist/billing/modules/subscriptions/hooks/useSubscriptions.js.map +1 -1
  43. package/dist/billing/modules/subscriptions/pages/SubscriptionsListPage.d.ts.map +1 -1
  44. package/dist/billing/modules/subscriptions/pages/SubscriptionsListPage.js +158 -165
  45. package/dist/billing/modules/subscriptions/pages/SubscriptionsListPage.js.map +1 -1
  46. package/dist/billing/modules/usage/hooks/useUsage.d.ts +3 -0
  47. package/dist/billing/modules/usage/hooks/useUsage.d.ts.map +1 -1
  48. package/dist/billing/modules/usage/hooks/useUsage.js +4 -1
  49. package/dist/billing/modules/usage/hooks/useUsage.js.map +1 -1
  50. package/dist/billing/modules/usage/pages/UsagePage.d.ts.map +1 -1
  51. package/dist/billing/modules/usage/pages/UsagePage.js +44 -22
  52. package/dist/billing/modules/usage/pages/UsagePage.js.map +1 -1
  53. package/dist/billing/shared/types/graphql.d.ts +2 -0
  54. package/dist/billing/shared/types/graphql.d.ts.map +1 -1
  55. package/dist/billing/shared/types/graphql.js.map +1 -1
  56. package/dist/generated/global-operations.d.ts +51 -0
  57. package/dist/generated/global-operations.d.ts.map +1 -1
  58. package/dist/generated/global-operations.js +313 -293
  59. package/dist/generated/global-operations.js.map +1 -1
  60. package/dist/generated/global-types.d.ts +350 -1392
  61. package/dist/generated/global-types.d.ts.map +1 -1
  62. package/dist/generated/global-types.js.map +1 -1
  63. package/dist/generated/wspace-types.d.ts +2907 -11652
  64. package/dist/generated/wspace-types.d.ts.map +1 -1
  65. package/package.json +1 -1
@@ -249,22 +249,7 @@ export declare enum ActorType {
249
249
  /** Human user */
250
250
  User = "USER"
251
251
  }
252
- /**
253
- * Specific adapter/provider type for each ChannelPlatform.
254
- * ChannelPlatform = High-level category (EMAIL, SMS, PUSH, etc.)
255
- * AdapterType = Specific provider implementation
256
- *
257
- * Currently supported adapters (must match Prisma schema):
258
- * EMAIL: AWS_SES, AZURE_ACS
259
- * SMS: AWS_SNS, TWILIO_SMS
260
- * WHATSAPP: WHATSAPP_CLOUD, WHATSAPP_TWILIO
261
- * SLACK: SLACK_BOT
262
- * TEAMS: TEAMS_BOT
263
- * DISCORD: DISCORD_BOT
264
- * PUSH: FCM
265
- * INAPP: INAPP_NATIVE
266
- * WEBHOOK: WEBHOOK_HTTP
267
- */
252
+ /** Specific adapter/provider type for each ChannelPlatform. ChannelPlatform = High-level category (EMAIL, SMS, PUSH, etc.) AdapterType = Specific provider implementation Currently supported adapters (must match Prisma schema): EMAIL: AWS_SES, AZURE_ACS SMS: AWS_SNS, TWILIO_SMS WHATSAPP: WHATSAPP_CLOUD, WHATSAPP_TWILIO SLACK: SLACK_BOT TEAMS: TEAMS_BOT DISCORD: DISCORD_BOT PUSH: FCM INAPP: INAPP_NATIVE WEBHOOK: WEBHOOK_HTTP */
268
253
  export declare enum AdapterType {
269
254
  /** Amazon Simple Email Service */
270
255
  AwsSes = "AWS_SES",
@@ -389,19 +374,13 @@ export type Addon = {
389
374
  createdAt?: Maybe<Scalars['DateTime']['output']>;
390
375
  /** The currency in which the addon is priced. Defaults to 'USD'. */
391
376
  currency?: Maybe<Scalars['String']['output']>;
392
- /**
393
- * Prices for all supported currencies with beautiful rounding.
394
- * Example: { "USD": 2.00, "INR": 199, "EUR": 1.99, "GBP": 1.79 }
395
- */
377
+ /** Prices for all supported currencies with beautiful rounding. Example: { "USD": 2.00, "INR": 199, "EUR": 1.99, "GBP": 1.79 } */
396
378
  currencyPrices?: Maybe<Scalars['JSON']['output']>;
397
379
  /** The duration for which the addon is valid (e.g., monthly, yearly). Defaults to 'monthly'. */
398
380
  duration?: Maybe<PlanDuration>;
399
381
  /** A list of features provided by this addon, such as extra quotas or special services. */
400
382
  features?: Maybe<Array<Maybe<SubscriptionFeatures>>>;
401
- /**
402
- * Geography-specific price overrides. The billing account's country/state/region plus
403
- * currency decide whether one of these overrides applies.
404
- */
383
+ /** Geography-specific price overrides. The billing account's country/state/region plus currency decide whether one of these overrides applies. */
405
384
  geoPricingOverrides: Array<GeoPricingOverride>;
406
385
  /** The unique identifier for the Addon, automatically generated as a UUID. */
407
386
  id?: Maybe<Scalars['ID']['output']>;
@@ -418,10 +397,7 @@ export type Addon = {
418
397
  /** The timestamp when the addon was last updated. */
419
398
  updatedAt?: Maybe<Scalars['DateTime']['output']>;
420
399
  };
421
- /**
422
- * Tracks historical price changes for an Addon.
423
- * A new record is created whenever an addon's price is updated.
424
- */
400
+ /** Tracks historical price changes for an Addon. A new record is created whenever an addon's price is updated. */
425
401
  export type AddonPriceHistory = {
426
402
  __typename?: 'AddonPriceHistory';
427
403
  /** The addon this price change belongs to */
@@ -467,11 +443,7 @@ export type AddonSubscription = {
467
443
  updatedAt?: Maybe<Scalars['DateTime']['output']>;
468
444
  };
469
445
  export type AddonsFilter = {
470
- /**
471
- * Include free addons (price = 0) in the response.
472
- * Defaults to true. Set to false on user-facing browse pages
473
- * since free addons are auto-assigned and cannot be purchased.
474
- */
446
+ /** Include free addons (price = 0) in the response. Defaults to true. Set to false on user-facing browse pages since free addons are auto-assigned and cannot be purchased. */
475
447
  includeFree?: InputMaybe<Scalars['Boolean']['input']>;
476
448
  /** Filter addons by product ID. When set, only addons with this productID are returned. */
477
449
  productId?: InputMaybe<Scalars['String']['input']>;
@@ -690,11 +662,7 @@ export type AgentProfile = {
690
662
  createdAt: Scalars['DateTime']['output'];
691
663
  currentChats: Scalars['Int']['output'];
692
664
  currentTickets: Scalars['Int']['output'];
693
- /**
694
- * Anonymized display alias surfaced to end-users in support conversations.
695
- * Stable per agent (deterministic-on-first-use) so the same agent always shows
696
- * the same alias to a given user. Real userId / user are admin-only.
697
- */
665
+ /** Anonymized display alias surfaced to end-users in support conversations. Stable per agent (deterministic-on-first-use) so the same agent always shows the same alias to a given user. Real userId / user are admin-only. */
698
666
  displayAlias?: Maybe<Scalars['String']['output']>;
699
667
  id: Scalars['ID']['output'];
700
668
  isAvailable: Scalars['Boolean']['output'];
@@ -1144,10 +1112,7 @@ export type Application = {
1144
1112
  /** Structured tag assignments via wspace-tags-svc. Resource type: APPLICATION. */
1145
1113
  tagAssignments: Array<ApplicationTagAssignment>;
1146
1114
  /**
1147
- * Legacy free-text tag list. Maintained for backwards compatibility while
1148
- * consumers migrate to `tagAssignments`. New writes should use the
1149
- * `addTagToApplication` / `removeTagFromApplication` mutations and consume
1150
- * `tagAssignments` (resolved via wspace-tags-svc).
1115
+ * Legacy free-text tag list. Maintained for backwards compatibility while consumers migrate to `tagAssignments`. New writes should use the `addTagToApplication` / `removeTagFromApplication` mutations and consume `tagAssignments` (resolved via wspace-tags-svc).
1151
1116
  * @deprecated Use tagAssignments for structured tag data via wspace-tags-svc
1152
1117
  */
1153
1118
  tags: Array<Scalars['String']['output']>;
@@ -1208,10 +1173,7 @@ export type ApplicationScope = {
1208
1173
  metadata?: Maybe<Scalars['JSON']['output']>;
1209
1174
  scope: Scalars['String']['output'];
1210
1175
  };
1211
- /**
1212
- * Tag assignment binding a UniversalTag to an Application. Mirrors the universal
1213
- * tag-assignment shape from wspace-tags-svc.UniversalTagAssignment.
1214
- */
1176
+ /** Tag assignment binding a UniversalTag to an Application. Mirrors the universal tag-assignment shape from wspace-tags-svc.UniversalTagAssignment. */
1215
1177
  export type ApplicationTagAssignment = {
1216
1178
  __typename?: 'ApplicationTagAssignment';
1217
1179
  assignedAt?: Maybe<Scalars['DateTime']['output']>;
@@ -1416,10 +1378,7 @@ export type AuthMethodConfigInput = {
1416
1378
  samlEntityId?: InputMaybe<Scalars['String']['input']>;
1417
1379
  samlSsoUrl?: InputMaybe<Scalars['String']['input']>;
1418
1380
  };
1419
- /**
1420
- * Authentication response with optional MFA challenge support
1421
- * When requiresMFA is true, user/tokens will be null until MFA verification
1422
- */
1381
+ /** Authentication response with optional MFA challenge support When requiresMFA is true, user/tokens will be null until MFA verification */
1423
1382
  export type AuthPayload = {
1424
1383
  __typename?: 'AuthPayload';
1425
1384
  accessToken?: Maybe<Scalars['String']['output']>;
@@ -1521,10 +1480,7 @@ export type BatchOperationResult = {
1521
1480
  failedIds?: Maybe<Array<Scalars['ID']['output']>>;
1522
1481
  success: Scalars['Boolean']['output'];
1523
1482
  };
1524
- /**
1525
- * BillingAccount entity - resolvable via Federation Gateway.
1526
- * Other services (e.g., store-svc) can reference BillingAccount by id.
1527
- */
1483
+ /** BillingAccount entity - resolvable via Federation Gateway. Other services (e.g., store-svc) can reference BillingAccount by id. */
1528
1484
  export type BillingAccount = {
1529
1485
  __typename?: 'BillingAccount';
1530
1486
  /** The billing addresses associated with this billing account */
@@ -1655,10 +1611,7 @@ export type BillingOrder = {
1655
1611
  /** External order ID from the service (e.g., "store-order-12345") */
1656
1612
  id: Scalars['ID']['output'];
1657
1613
  items: Scalars['JSON']['output'];
1658
- /**
1659
- * Tax is calculated at payment time and stored in Transaction/Payment, not BillingOrder.
1660
- * Tax info can be found in metadata.paymentTaxAmount, metadata.paymentTaxRate, metadata.paymentTotal
1661
- */
1614
+ /** Tax is calculated at payment time and stored in Transaction/Payment, not BillingOrder. Tax info can be found in metadata.paymentTaxAmount, metadata.paymentTaxRate, metadata.paymentTotal */
1662
1615
  metadata?: Maybe<Scalars['JSON']['output']>;
1663
1616
  orgId: Scalars['String']['output'];
1664
1617
  status: BillingOrderStatus;
@@ -2048,28 +2001,15 @@ export type ChangePasswordInput = {
2048
2001
  /** Channel represents a configured connection to a communication platform */
2049
2002
  export type Channel = {
2050
2003
  __typename?: 'Channel';
2051
- /**
2052
- * Specific adapter type (SENDGRID, AWS_SES, TWILIO, etc.)
2053
- * Used for priority-based fallback delivery.
2054
- */
2004
+ /** Specific adapter type (SENDGRID, AWS_SES, TWILIO, etc.) Used for priority-based fallback delivery. */
2055
2005
  adapterType?: Maybe<AdapterType>;
2056
- /**
2057
- * Channel type discriminator — determines delivery behaviour.
2058
- * NOTIFICATION (EMAIL, SMS): outbound-only, adapter failover supported.
2059
- * COMMUNICATION (SLACK, TEAMS, DISCORD, WHATSAPP, WEBCHAT, INAPP, WEBHOOK): bi-directional.
2060
- */
2006
+ /** Channel type discriminator — determines delivery behaviour. NOTIFICATION (EMAIL, SMS): outbound-only, adapter failover supported. COMMUNICATION (SLACK, TEAMS, DISCORD, WHATSAPP, WEBCHAT, INAPP, WEBHOOK): bi-directional. */
2061
2007
  channelType: ChannelType;
2062
- /**
2063
- * Typed channel configuration.
2064
- * Returns structured configuration with defaults applied.
2065
- */
2008
+ /** Typed channel configuration. Returns structured configuration with defaults applied. */
2066
2009
  config: ChannelConfig;
2067
2010
  /** Channel connection (authenticated credentials) */
2068
2011
  connection?: Maybe<ChannelConnection>;
2069
- /**
2070
- * Real-time connection health (system-monitored: HEALTHY, DEGRADED, UNHEALTHY).
2071
- * Updated automatically based on API calls and health checks.
2072
- */
2012
+ /** Real-time connection health (system-monitored: HEALTHY, DEGRADED, UNHEALTHY). Updated automatically based on API calls and health checks. */
2073
2013
  connectionHealth: ConnectionHealth;
2074
2014
  /** Number of consecutive API failures (resets to 0 on success) */
2075
2015
  consecutiveFailures: Scalars['Int']['output'];
@@ -2101,16 +2041,9 @@ export type Channel = {
2101
2041
  organizationId: Scalars['ID']['output'];
2102
2042
  /** Communication platform (Slack, Teams, Discord, etc.) */
2103
2043
  platform: ChannelPlatform;
2104
- /**
2105
- * Platform-specific configuration (webhook URLs, channel IDs, etc.)
2106
- * Raw JSON for backward compatibility.
2107
- */
2044
+ /** Platform-specific configuration (webhook URLs, channel IDs, etc.) Raw JSON for backward compatibility. */
2108
2045
  platformConfig?: Maybe<Scalars['JSON']['output']>;
2109
- /**
2110
- * Priority for fallback ordering (lower = higher priority, tried first).
2111
- * Example: SendGrid(1) → AWS SES(2) → Azure ACS(3)
2112
- * All ACTIVE channels are included in the failover chain.
2113
- */
2046
+ /** Priority for fallback ordering (lower = higher priority, tried first). Example: SendGrid(1) → AWS SES(2) → Azure ACS(3) All ACTIVE channels are included in the failover chain. */
2114
2047
  priority: Scalars['Int']['output'];
2115
2048
  /** Current channel status (admin-controlled: ACTIVE, INACTIVE, etc.) */
2116
2049
  status: ChannelStatus;
@@ -2136,10 +2069,7 @@ export declare enum ChannelAuthType {
2136
2069
  /** Webhook-only (no authentication) */
2137
2070
  Webhook = "WEBHOOK"
2138
2071
  }
2139
- /**
2140
- * Channel configuration settings.
2141
- * Strongly-typed configuration instead of generic JSON.
2142
- */
2072
+ /** Channel configuration settings. Strongly-typed configuration instead of generic JSON. */
2143
2073
  export type ChannelConfig = {
2144
2074
  __typename?: 'ChannelConfig';
2145
2075
  /** Default workflow ID to execute for incoming messages (if any) */
@@ -2156,10 +2086,7 @@ export type ChannelConfig = {
2156
2086
  platformSettings?: Maybe<Scalars['JSON']['output']>;
2157
2087
  /** Rate limit: maximum messages per hour for this channel. */
2158
2088
  rateLimitPerHour?: Maybe<Scalars['Int']['output']>;
2159
- /**
2160
- * Rate limit: maximum messages per minute for this channel.
2161
- * Platform-specific limits apply (e.g., Slack: 60/min, WhatsApp: varies).
2162
- */
2089
+ /** Rate limit: maximum messages per minute for this channel. Platform-specific limits apply (e.g., Slack: 60/min, WhatsApp: varies). */
2163
2090
  rateLimitPerMinute?: Maybe<Scalars['Int']['output']>;
2164
2091
  /** Webhook URL for receiving platform events */
2165
2092
  webhookUrl?: Maybe<Scalars['String']['output']>;
@@ -2185,10 +2112,7 @@ export type ChannelConfigInput = {
2185
2112
  /** Webhook URL */
2186
2113
  webhookUrl?: InputMaybe<Scalars['String']['input']>;
2187
2114
  };
2188
- /**
2189
- * ChannelConnection represents an authenticated connection to a platform
2190
- * All credentials are encrypted with AES-256-GCM
2191
- */
2115
+ /** ChannelConnection represents an authenticated connection to a platform All credentials are encrypted with AES-256-GCM */
2192
2116
  export type ChannelConnection = {
2193
2117
  __typename?: 'ChannelConnection';
2194
2118
  /** Authentication type used */
@@ -2215,10 +2139,7 @@ export type ChannelConnection = {
2215
2139
  lastTestedAt?: Maybe<Scalars['DateTime']['output']>;
2216
2140
  /** Whether OAuth tokens need refresh (within 24h of expiry) */
2217
2141
  needsTokenRefresh: Scalars['Boolean']['output'];
2218
- /**
2219
- * Platform-specific metadata (channel IDs, team info, etc.)
2220
- * NOTE: Non-sensitive data only
2221
- */
2142
+ /** Platform-specific metadata (channel IDs, team info, etc.) NOTE: Non-sensitive data only */
2222
2143
  platformMetadata?: Maybe<Scalars['JSON']['output']>;
2223
2144
  /** Tag assignments for this connection (stub — returns empty until wspace-tags-svc supports org-scoped assignments) */
2224
2145
  tagAssignments: Array<ChannelConnectionTagAssignment>;
@@ -2229,10 +2150,7 @@ export type ChannelConnection = {
2229
2150
  /** Last update timestamp */
2230
2151
  updatedAt: Scalars['DateTime']['output'];
2231
2152
  };
2232
- /**
2233
- * Paginated list of channel connections with cursor support.
2234
- * Pass `nextCursor` from a previous response as `cursor` in the next call.
2235
- */
2153
+ /** Paginated list of channel connections with cursor support. Pass `nextCursor` from a previous response as `cursor` in the next call. */
2236
2154
  export type ChannelConnectionList = {
2237
2155
  __typename?: 'ChannelConnectionList';
2238
2156
  hasMore: Scalars['Boolean']['output'];
@@ -2316,14 +2234,7 @@ export type ChannelDeliveryInput = {
2316
2234
  connectionId?: InputMaybe<Scalars['ID']['input']>;
2317
2235
  /** Notification content */
2318
2236
  content: ChannelDeliveryContentInput;
2319
- /**
2320
- * Internal Botlit user ID. When provided, the service automatically resolves
2321
- * the user's DM conversation ID from their UserPlatformConnection record and
2322
- * uses it as the delivery recipient. Requires the user to have connected via
2323
- * OAuth (dmAllowed=true) with notificationsEnabled=true.
2324
- *
2325
- * Either `recipient` or `internalUserId` must be provided.
2326
- */
2237
+ /** Internal Botlit user ID. When provided, the service automatically resolves the user's DM conversation ID from their UserPlatformConnection record and uses it as the delivery recipient. Requires the user to have connected via OAuth (dmAllowed=true) with notificationsEnabled=true. Either `recipient` or `internalUserId` must be provided. */
2327
2238
  internalUserId?: InputMaybe<Scalars['ID']['input']>;
2328
2239
  /** Optional reference to originating notification in notification-svc */
2329
2240
  notificationId?: InputMaybe<Scalars['ID']['input']>;
@@ -2333,18 +2244,7 @@ export type ChannelDeliveryInput = {
2333
2244
  organizationId: Scalars['ID']['input'];
2334
2245
  /** Target delivery platform (EMAIL, SMS, PUSH, SLACK, TEAMS, etc.) */
2335
2246
  platform: ChannelPlatform;
2336
- /**
2337
- * Recipient identifier based on platform:
2338
- * - EMAIL: email address
2339
- * - SMS: phone number (E.164 format)
2340
- * - PUSH: device token
2341
- * - SLACK/TEAMS/DISCORD: user ID or channel ID
2342
- * - WHATSAPP: phone number
2343
- * - WEBHOOK: webhook URL
2344
- * - INAPP: user ID
2345
- *
2346
- * Either `recipient` or `internalUserId` must be provided.
2347
- */
2247
+ /** Recipient identifier based on platform: - EMAIL: email address - SMS: phone number (E.164 format) - PUSH: device token - SLACK/TEAMS/DISCORD: user ID or channel ID - WHATSAPP: phone number - WEBHOOK: webhook URL - INAPP: user ID Either `recipient` or `internalUserId` must be provided. */
2348
2248
  recipient?: InputMaybe<Scalars['String']['input']>;
2349
2249
  };
2350
2250
  /** Delivery options for channel delivery */
@@ -2415,10 +2315,7 @@ export declare enum ChannelExportFormat {
2415
2315
  /** JSON-Lines; one row per line (streaming-friendly). */
2416
2316
  Jsonl = "JSONL"
2417
2317
  }
2418
- /**
2419
- * Export job descriptor returned by channel export mutations.
2420
- * Poll `channelExportJob(id:)` until status=COMPLETED, then GET downloadUrl.
2421
- */
2318
+ /** Export job descriptor returned by channel export mutations. Poll `channelExportJob(id:)` until status=COMPLETED, then GET downloadUrl. */
2422
2319
  export type ChannelExportJob = {
2423
2320
  __typename?: 'ChannelExportJob';
2424
2321
  byteSize?: Maybe<Scalars['Int']['output']>;
@@ -2491,6 +2388,8 @@ export type ChannelHealthUpdate = {
2491
2388
  channel: Channel;
2492
2389
  /** Channel ID that changed */
2493
2390
  channelId: Scalars['ID']['output'];
2391
+ /** New health status alias for frontend compatibility (same as newHealth) */
2392
+ currentHealth: ConnectionHealth;
2494
2393
  /** Error details if health degraded to UNHEALTHY */
2495
2394
  error?: Maybe<Scalars['String']['output']>;
2496
2395
  /** New health status (after the change) */
@@ -2499,6 +2398,8 @@ export type ChannelHealthUpdate = {
2499
2398
  previousHealth: ConnectionHealth;
2500
2399
  /** Reason for the health change (if available) */
2501
2400
  reason?: Maybe<Scalars['String']['output']>;
2401
+ /** Timestamp alias for frontend compatibility (same as changedAt) */
2402
+ timestamp: Scalars['DateTime']['output'];
2502
2403
  };
2503
2404
  /** Channel list response with pagination */
2504
2405
  export type ChannelList = {
@@ -2507,11 +2408,7 @@ export type ChannelList = {
2507
2408
  hasMore: Scalars['Boolean']['output'];
2508
2409
  /** List of channels */
2509
2410
  items: Array<Channel>;
2510
- /**
2511
- * Opaque cursor for fetching the next page (base64 last-id with stable id-tiebreaker).
2512
- * Pass via `pagination.cursor` on the next call. Null when no more results.
2513
- * Non-breaking: offset pagination still works for existing clients.
2514
- */
2411
+ /** Opaque cursor for fetching the next page (base64 last-id with stable id-tiebreaker). Pass via `pagination.cursor` on the next call. Null when no more results. Non-breaking: offset pagination still works for existing clients. */
2515
2412
  nextCursor?: Maybe<Scalars['String']['output']>;
2516
2413
  /** Total count (for pagination) */
2517
2414
  total: Scalars['Int']['output'];
@@ -2655,32 +2552,11 @@ export type ChannelTagAssignment = {
2655
2552
  tag?: Maybe<UniversalTag>;
2656
2553
  tagId: Scalars['ID']['output'];
2657
2554
  };
2658
- /**
2659
- * Channel type discriminator — determines delivery behaviour and webhook handling.
2660
- *
2661
- * NOTIFICATION channels (EMAIL, SMS) are outbound-only:
2662
- * - Support priority-based failover across adapters.
2663
- * - No inbound webhook processing.
2664
- * - No DM conversations.
2665
- * - Recipient resolved via externalEmail (email) or externalUserId (phone).
2666
- *
2667
- * COMMUNICATION channels (SLACK, TEAMS, DISCORD, WHATSAPP, WEBCHAT, INAPP, WEBHOOK)
2668
- * are bi-directional:
2669
- * - Inbound webhooks processed and forwarded to conversations-svc.
2670
- * - DM conversations tracked via dmConversationId.
2671
- * - Recipient resolved via dmConversationId set during OAuth / pairing.
2672
- */
2555
+ /** Channel type discriminator — determines delivery behaviour and webhook handling. NOTIFICATION channels (EMAIL, SMS) are outbound-only: - Support priority-based failover across adapters. - No inbound webhook processing. - No DM conversations. - Recipient resolved via externalEmail (email) or externalUserId (phone). COMMUNICATION channels (SLACK, TEAMS, DISCORD, WHATSAPP, WEBCHAT, INAPP, WEBHOOK) are bi-directional: - Inbound webhooks processed and forwarded to conversations-svc. - DM conversations tracked via dmConversationId. - Recipient resolved via dmConversationId set during OAuth / pairing. */
2673
2556
  export declare enum ChannelType {
2674
- /**
2675
- * Bi-directional platform channels: SLACK, TEAMS, DISCORD,
2676
- * WHATSAPP, WEBCHAT, INAPP, WEBHOOK.
2677
- * Processes inbound webhooks and supports DM conversations.
2678
- */
2557
+ /** Bi-directional platform channels: SLACK, TEAMS, DISCORD, WHATSAPP, WEBCHAT, INAPP, WEBHOOK. Processes inbound webhooks and supports DM conversations. */
2679
2558
  Communication = "COMMUNICATION",
2680
- /**
2681
- * Outbound-only delivery channels: EMAIL, SMS.
2682
- * Supports adapter-level failover (e.g. AWS SES → Azure ACS).
2683
- */
2559
+ /** Outbound-only delivery channels: EMAIL, SMS. Supports adapter-level failover (e.g. AWS SES → Azure ACS). */
2684
2560
  Notification = "NOTIFICATION"
2685
2561
  }
2686
2562
  export type Charge = {
@@ -2800,16 +2676,7 @@ export type ConfigureWorkspaceInput = {
2800
2676
  endpoint?: InputMaybe<Scalars['String']['input']>;
2801
2677
  region?: InputMaybe<Scalars['String']['input']>;
2802
2678
  };
2803
- /**
2804
- * Real-time health status of a channel's connection.
2805
- * Monitored by the system based on API calls and health checks.
2806
- *
2807
- * - `status` = Admin-controlled (ACTIVE, INACTIVE, ARCHIVED)
2808
- * - `connectionHealth` = System-monitored (HEALTHY, DEGRADED, UNHEALTHY)
2809
- *
2810
- * Example: Channel status = ACTIVE but connectionHealth = UNHEALTHY
2811
- * means admin enabled the channel but the API is down.
2812
- */
2679
+ /** Real-time health status of a channel's connection. Monitored by the system based on API calls and health checks. - `status` = Admin-controlled (ACTIVE, INACTIVE, ARCHIVED) - `connectionHealth` = System-monitored (HEALTHY, DEGRADED, UNHEALTHY) Example: Channel status = ACTIVE but connectionHealth = UNHEALTHY means admin enabled the channel but the API is down. */
2813
2680
  export declare enum ConnectionHealth {
2814
2681
  /** Partial failures, high latency, or rate limiting */
2815
2682
  Degraded = "DEGRADED",
@@ -2844,6 +2711,8 @@ export type ConnectionStatusChangedEvent = {
2844
2711
  changedAt: Scalars['DateTime']['output'];
2845
2712
  channelId: Scalars['ID']['output'];
2846
2713
  connectionId: Scalars['ID']['output'];
2714
+ /** Connection ID (alias: id) */
2715
+ id: Scalars['ID']['output'];
2847
2716
  isActive: Scalars['Boolean']['output'];
2848
2717
  isHealthy: Scalars['Boolean']['output'];
2849
2718
  organizationId: Scalars['ID']['output'];
@@ -2971,10 +2840,7 @@ export declare enum ContentVisibility {
2971
2840
  Internal = "INTERNAL",
2972
2841
  Public = "PUBLIC"
2973
2842
  }
2974
- /**
2975
- * Context filter input for querying records by context.
2976
- * Supports exact match filtering on context fields.
2977
- */
2843
+ /** Context filter input for querying records by context. Supports exact match filtering on context fields. */
2978
2844
  export type ContextFilterInput = {
2979
2845
  /** Filter by organization ID */
2980
2846
  organizationId?: InputMaybe<Scalars['ID']['input']>;
@@ -2985,10 +2851,7 @@ export type ContextFilterInput = {
2985
2851
  /** Filter by workspace ID */
2986
2852
  workspaceId?: InputMaybe<Scalars['ID']['input']>;
2987
2853
  };
2988
- /**
2989
- * Operation context for filtering and scoping data.
2990
- * All fields are optional and can be extended as needed.
2991
- */
2854
+ /** Operation context for filtering and scoping data. All fields are optional and can be extended as needed. */
2992
2855
  export type ContextInput = {
2993
2856
  /** Additional custom context as JSON */
2994
2857
  custom?: InputMaybe<Scalars['JSON']['input']>;
@@ -3262,12 +3125,7 @@ export type CreateCategoryInput = {
3262
3125
  export type CreateChannelInput = {
3263
3126
  /** Specific adapter type (SENDGRID, AWS_SES, TWILIO, etc.) */
3264
3127
  adapterType?: InputMaybe<AdapterType>;
3265
- /**
3266
- * Channel type: NOTIFICATION (EMAIL/SMS) or COMMUNICATION (SLACK/TEAMS/etc).
3267
- * If omitted, defaults based on platform:
3268
- * EMAIL, SMS → NOTIFICATION
3269
- * All others → COMMUNICATION
3270
- */
3128
+ /** Channel type: NOTIFICATION (EMAIL/SMS) or COMMUNICATION (SLACK/TEAMS/etc). If omitted, defaults based on platform: EMAIL, SMS → NOTIFICATION All others → COMMUNICATION */
3271
3129
  channelType?: InputMaybe<ChannelType>;
3272
3130
  /** Operation context for scoping */
3273
3131
  context?: InputMaybe<ContextInput>;
@@ -3281,11 +3139,7 @@ export type CreateChannelInput = {
3281
3139
  platform: ChannelPlatform;
3282
3140
  /** Platform-specific configuration (webhook URLs, etc.) */
3283
3141
  platformConfig?: InputMaybe<Scalars['JSON']['input']>;
3284
- /**
3285
- * Priority for fallback ordering (lower = higher priority).
3286
- * Default is 100. Use 1 for highest priority.
3287
- * All ACTIVE channels are included in the failover chain.
3288
- */
3142
+ /** Priority for fallback ordering (lower = higher priority). Default is 100. Use 1 for highest priority. All ACTIVE channels are included in the failover chain. */
3289
3143
  priority?: InputMaybe<Scalars['Int']['input']>;
3290
3144
  /** Channel status (default: ACTIVE) */
3291
3145
  status?: InputMaybe<ChannelStatus>;
@@ -3993,10 +3847,7 @@ export type CreateStoreOrderInput = {
3993
3847
  lineItems: Array<StoreLineItemInput>;
3994
3848
  /** Additional metadata */
3995
3849
  metadata?: InputMaybe<Scalars['JSON']['input']>;
3996
- /**
3997
- * Total product cost (sum of all line items)
3998
- * Note: Currency, tax, and final billing amount calculated by billing service
3999
- */
3850
+ /** Total product cost (sum of all line items) Note: Currency, tax, and final billing amount calculated by billing service */
4000
3851
  total: Scalars['Float']['input'];
4001
3852
  };
4002
3853
  export type CreateSubscriptionInput = {
@@ -4284,10 +4135,7 @@ export type CreditRate = {
4284
4135
  rateUSD: Scalars['Float']['output'];
4285
4136
  updatedAt: Scalars['DateTime']['output'];
4286
4137
  };
4287
- /**
4288
- * CreditTransaction entity - resolvable via Federation Gateway.
4289
- * Other services (e.g., store-svc) can reference CreditTransaction by id.
4290
- */
4138
+ /** CreditTransaction entity - resolvable via Federation Gateway. Other services (e.g., store-svc) can reference CreditTransaction by id. */
4291
4139
  export type CreditTransaction = {
4292
4140
  __typename?: 'CreditTransaction';
4293
4141
  amount: Scalars['Float']['output'];
@@ -4494,10 +4342,7 @@ export type DeleteUserResult = {
4494
4342
  message: Scalars['String']['output'];
4495
4343
  success: Scalars['Boolean']['output'];
4496
4344
  };
4497
- /**
4498
- * Paginated list of delivery attempts with cursor support.
4499
- * Pass `nextCursor` from a previous response as `cursor` in the next call.
4500
- */
4345
+ /** Paginated list of delivery attempts with cursor support. Pass `nextCursor` from a previous response as `cursor` in the next call. */
4501
4346
  export type DeliveryAttemptList = {
4502
4347
  __typename?: 'DeliveryAttemptList';
4503
4348
  hasMore: Scalars['Boolean']['output'];
@@ -4565,6 +4410,13 @@ export declare enum DeliveryStatus {
4565
4410
  /** Successfully sent */
4566
4411
  Sent = "SENT"
4567
4412
  }
4413
+ /** Delivery updated event payload emitted on delivery status changes. */
4414
+ export type DeliveryUpdatedEvent = {
4415
+ __typename?: 'DeliveryUpdatedEvent';
4416
+ channelId: Scalars['ID']['output'];
4417
+ id: Scalars['ID']['output'];
4418
+ status: DeliveryStatus;
4419
+ };
4568
4420
  export type DependencyTriggeredUpdate = {
4569
4421
  __typename?: 'DependencyTriggeredUpdate';
4570
4422
  dependencyCount: Scalars['Int']['output'];
@@ -5016,22 +4868,13 @@ export declare enum DevportalExportFormat {
5016
4868
  /** JSON-Lines; one row per line (good for streaming consumers). */
5017
4869
  Jsonl = "JSONL"
5018
4870
  }
5019
- /**
5020
- * Export job descriptor returned from any of the entity-specific export
5021
- * mutations. For small exports the job typically transitions to COMPLETED
5022
- * synchronously (within the request); larger exports may return CREATED and
5023
- * require the caller to poll `devportalExportJob(id:)`.
5024
- */
4871
+ /** Export job descriptor returned from any of the entity-specific export mutations. For small exports the job typically transitions to COMPLETED synchronously (within the request); larger exports may return CREATED and require the caller to poll `devportalExportJob(id:)`. */
5025
4872
  export type DevportalExportJob = {
5026
4873
  __typename?: 'DevportalExportJob';
5027
4874
  byteSize?: Maybe<Scalars['Int']['output']>;
5028
4875
  completedAt?: Maybe<Scalars['DateTime']['output']>;
5029
4876
  createdAt: Scalars['DateTime']['output'];
5030
- /**
5031
- * Stable URL the caller can GET to retrieve the full payload. Today this is
5032
- * a presigned-style URL hosted by devportal-svc itself; once the platform
5033
- * S3 wiring lands it will be a true presigned S3 URL with TTL.
5034
- */
4877
+ /** Stable URL the caller can GET to retrieve the full payload. Today this is a presigned-style URL hosted by devportal-svc itself; once the platform S3 wiring lands it will be a true presigned S3 URL with TTL. */
5035
4878
  downloadUrl?: Maybe<Scalars['String']['output']>;
5036
4879
  /** ISO timestamp when downloadUrl expires (24h default). */
5037
4880
  downloadUrlExpiresAt?: Maybe<Scalars['DateTime']['output']>;
@@ -5161,16 +5004,9 @@ export type EffectivePermissions = {
5161
5004
  actorId: Scalars['String']['output'];
5162
5005
  /** Cache key for debugging and invalidation */
5163
5006
  cacheKey?: Maybe<Scalars['String']['output']>;
5164
- /**
5165
- * When this permission set should be considered stale.
5166
- * Frontend should refresh after this time.
5167
- */
5007
+ /** When this permission set should be considered stale. Frontend should refresh after this time. */
5168
5008
  expiresAt: Scalars['DateTime']['output'];
5169
- /**
5170
- * Flat permission strings for easy frontend matching.
5171
- * Format: "{resourceType}:{action}" e.g., ["project:read", "project:write", "task:*"]
5172
- * Includes wildcards for ADMIN level (e.g., "project:*")
5173
- */
5009
+ /** Flat permission strings for easy frontend matching. Format: "{resourceType}:{action}" e.g., ["project:read", "project:write", "task:*"] Includes wildcards for ADMIN level (e.g., "project:*") */
5174
5010
  permissionStrings: Array<Scalars['String']['output']>;
5175
5011
  /** Resource types and their effective levels */
5176
5012
  permissions: Array<EffectiveResourcePermission>;
@@ -5475,10 +5311,7 @@ export type FailedBillingOrderCallbacksResponse = {
5475
5311
  orders: Array<BillingOrder>;
5476
5312
  totalCount: Scalars['Int']['output'];
5477
5313
  };
5478
- /**
5479
- * Platform-wide feature flag definition.
5480
- * Managed by super admins. Can be scoped to a product and category.
5481
- */
5314
+ /** Platform-wide feature flag definition. Managed by super admins. Can be scoped to a product and category. */
5482
5315
  export type FeatureFlag = {
5483
5316
  __typename?: 'FeatureFlag';
5484
5317
  category?: Maybe<Scalars['String']['output']>;
@@ -5506,10 +5339,7 @@ export type FeatureFlagBulkEvaluation = {
5506
5339
  __typename?: 'FeatureFlagBulkEvaluation';
5507
5340
  evaluations: Array<FeatureFlagEvaluation>;
5508
5341
  };
5509
- /**
5510
- * Result of evaluating a single feature flag for a specific context.
5511
- * Compatible with OpenFeature ResolutionDetails.
5512
- */
5342
+ /** Result of evaluating a single feature flag for a specific context. Compatible with OpenFeature ResolutionDetails. */
5513
5343
  export type FeatureFlagEvaluation = {
5514
5344
  __typename?: 'FeatureFlagEvaluation';
5515
5345
  errorCode?: Maybe<Scalars['String']['output']>;
@@ -5655,10 +5485,7 @@ export type GetStoreProductTagsInput = {
5655
5485
  };
5656
5486
  export type GrantAppWorkspaceAccessInput = {
5657
5487
  appId: Scalars['ID']['input'];
5658
- /**
5659
- * Optional subset of the app's global scopes. Empty array means the
5660
- * authorization inherits the app's full scope list.
5661
- */
5488
+ /** Optional subset of the app's global scopes. Empty array means the authorization inherits the app's full scope list. */
5662
5489
  scopes?: InputMaybe<Array<Scalars['String']['input']>>;
5663
5490
  tenantId: Scalars['ID']['input'];
5664
5491
  workspaceId: Scalars['ID']['input'];
@@ -5689,31 +5516,13 @@ export type GrantDelegationInput = {
5689
5516
  userId?: InputMaybe<Scalars['String']['input']>;
5690
5517
  workspaceIds?: InputMaybe<Array<Scalars['String']['input']>>;
5691
5518
  };
5692
- /**
5693
- * GraphQL callback configuration for external service notifications
5694
- * Supports two authentication methods (controlled by CALLBACK_AUTH_METHOD env var):
5695
- * 1. token (default): Direct HTTP with authToken
5696
- * 2. internal-gateway: Service credentials via internal gateway
5697
- */
5519
+ /** GraphQL callback configuration for external service notifications Supports two authentication methods (controlled by CALLBACK_AUTH_METHOD env var): 1. token (default): Direct HTTP with authToken 2. internal-gateway: Service credentials via internal gateway */
5698
5520
  export type GraphQlCallbackInput = {
5699
- /**
5700
- * Authentication token for callback (optional)
5701
- * Required only when CALLBACK_AUTH_METHOD=token (default)
5702
- * Not needed when CALLBACK_AUTH_METHOD=internal-gateway
5703
- * Example: Bearer store-service-webhook-secret-xyz
5704
- */
5521
+ /** Authentication token for callback (optional) Required only when CALLBACK_AUTH_METHOD=token (default) Not needed when CALLBACK_AUTH_METHOD=internal-gateway Example: Bearer store-service-webhook-secret-xyz */
5705
5522
  authToken?: InputMaybe<Scalars['String']['input']>;
5706
- /**
5707
- * GraphQL endpoint URL of the external service
5708
- * Must be HTTPS and match BILLING_CALLBACK_ALLOWED_ENDPOINTS/HOSTS/SUFFIXES.
5709
- * Localhost is allowed only outside production for local development.
5710
- * Example: https://graphqlworkspaces.burdenoff.com/workspaces/graphql
5711
- */
5523
+ /** GraphQL endpoint URL of the external service Must be HTTPS and match BILLING_CALLBACK_ALLOWED_ENDPOINTS/HOSTS/SUFFIXES. Localhost is allowed only outside production for local development. Example: https://graphqlworkspaces.burdenoff.com/workspaces/graphql */
5712
5524
  endpoint: Scalars['String']['input'];
5713
- /**
5714
- * Name of the GraphQL mutation to call on payment completion
5715
- * Example: updateOrderPaymentStatus
5716
- */
5525
+ /** Name of the GraphQL mutation to call on payment completion Example: updateOrderPaymentStatus */
5717
5526
  mutationName: Scalars['String']['input'];
5718
5527
  };
5719
5528
  export type Group = {
@@ -5963,10 +5772,7 @@ export type InitiatePaymentInput = {
5963
5772
  amount: Scalars['Float']['input'];
5964
5773
  /** For PLAN purchase: enable automatic renewal when subscription expires */
5965
5774
  autoRenew?: InputMaybe<Scalars['Boolean']['input']>;
5966
- /**
5967
- * For PLAN purchase with autoRenew: payment method ID to use for auto-renewal
5968
- * Must be a verified saved payment method. Required if autoRenew is true.
5969
- */
5775
+ /** For PLAN purchase with autoRenew: payment method ID to use for auto-renewal Must be a verified saved payment method. Required if autoRenew is true. */
5970
5776
  autoRenewPaymentMethodId?: InputMaybe<Scalars['ID']['input']>;
5971
5777
  /** Billing account ID (required for tax calculation) */
5972
5778
  billingAccountId: Scalars['ID']['input'];
@@ -5974,11 +5780,7 @@ export type InitiatePaymentInput = {
5974
5780
  creditAmount?: InputMaybe<Scalars['Int']['input']>;
5975
5781
  /** Currency code (e.g., INR, USD) */
5976
5782
  currency: Scalars['String']['input'];
5977
- /**
5978
- * For PLAN downgrade: the active higher-tier subscription ID being replaced.
5979
- * Old subscription is left active until natural expiry — no cancellation, no refund.
5980
- * User retains old plan quotas during overlap; continues on new plan after expiry.
5981
- */
5783
+ /** For PLAN downgrade: the active higher-tier subscription ID being replaced. Old subscription is left active until natural expiry — no cancellation, no refund. User retains old plan quotas during overlap; continues on new plan after expiry. */
5982
5784
  downgradeFromSubscriptionId?: InputMaybe<Scalars['ID']['input']>;
5983
5785
  /** For PLAN purchase: whether this is an annual subscription (12 months with discount) */
5984
5786
  isAnnual?: InputMaybe<Scalars['Boolean']['input']>;
@@ -6004,16 +5806,9 @@ export type InitiatePaymentInput = {
6004
5806
  quantity?: InputMaybe<Scalars['Int']['input']>;
6005
5807
  /** Whether to save the card for future purchases (only for new card payments) */
6006
5808
  saveCard?: InputMaybe<Scalars['Boolean']['input']>;
6007
- /**
6008
- * For ADDON purchase: subscription ID to attach addon to.
6009
- * Required if billing account has multiple active subscriptions.
6010
- * If only one active subscription exists, it will be auto-selected.
6011
- */
5809
+ /** For ADDON purchase: subscription ID to attach addon to. Required if billing account has multiple active subscriptions. If only one active subscription exists, it will be auto-selected. */
6012
5810
  subscriptionId?: InputMaybe<Scalars['ID']['input']>;
6013
- /**
6014
- * For PLAN upgrade: the subscription ID being upgraded from.
6015
- * If provided, this is an upgrade - old quotas will be moved to new subscription.
6016
- */
5811
+ /** For PLAN upgrade: the subscription ID being upgraded from. If provided, this is an upgrade - old quotas will be moved to new subscription. */
6017
5812
  upgradeFromSubscriptionId?: InputMaybe<Scalars['ID']['input']>;
6018
5813
  };
6019
5814
  /** Response from initiatePayment mutation */
@@ -6392,10 +6187,7 @@ export type KerberosConfigInput = {
6392
6187
  realm: Scalars['String']['input'];
6393
6188
  servicePrincipal: Scalars['String']['input'];
6394
6189
  };
6395
- /**
6396
- * KeyboardShortcut entity - defines a keyboard shortcut action.
6397
- * Shortcuts can be global (all products) or product-specific.
6398
- */
6190
+ /** KeyboardShortcut entity - defines a keyboard shortcut action. Shortcuts can be global (all products) or product-specific. */
6399
6191
  export type KeyboardShortcut = {
6400
6192
  __typename?: 'KeyboardShortcut';
6401
6193
  /** Category for grouping (e.g., "Navigation", "Actions", "UI", "Help") */
@@ -6745,10 +6537,7 @@ export type MessageAttachmentInput = {
6745
6537
  /** Attachment URL */
6746
6538
  url: Scalars['String']['input'];
6747
6539
  };
6748
- /**
6749
- * MessageDeliveryAttempt represents a single delivery attempt (transient, 7-day TTL)
6750
- * Used for debugging and monitoring only
6751
- */
6540
+ /** MessageDeliveryAttempt represents a single delivery attempt (transient, 7-day TTL) Used for debugging and monitoring only */
6752
6541
  export type MessageDeliveryAttempt = {
6753
6542
  __typename?: 'MessageDeliveryAttempt';
6754
6543
  /** Associated channel */
@@ -6822,10 +6611,7 @@ export type MonthlyEarning = {
6822
6611
  orders: Scalars['Int']['output'];
6823
6612
  year: Scalars['Int']['output'];
6824
6613
  };
6825
- /**
6826
- * Input for delivering a notification across multiple platforms and recipients simultaneously.
6827
- * The service fans out per-platform in parallel with independent failover per platform.
6828
- */
6614
+ /** Input for delivering a notification across multiple platforms and recipients simultaneously. The service fans out per-platform in parallel with independent failover per platform. */
6829
6615
  export type MultiPlatformDeliveryInput = {
6830
6616
  /** Notification content (same content sent to all platforms/recipients) */
6831
6617
  content: ChannelDeliveryContentInput;
@@ -6854,10 +6640,7 @@ export type MultiPlatformDeliveryResult = {
6854
6640
  /** Total number of recipients across all platforms */
6855
6641
  totalRecipients: Scalars['Int']['output'];
6856
6642
  };
6857
- /**
6858
- * Per-recipient addresses for multi-platform delivery.
6859
- * Populate the field that matches each target platform.
6860
- */
6643
+ /** Per-recipient addresses for multi-platform delivery. Populate the field that matches each target platform. */
6861
6644
  export type MultiPlatformRecipientInput = {
6862
6645
  /** Email address (for EMAIL platform) */
6863
6646
  email?: InputMaybe<Scalars['String']['input']>;
@@ -6879,15 +6662,9 @@ export type MultiPlatformRecipientInput = {
6879
6662
  /** Root mutation type */
6880
6663
  export type Mutation = {
6881
6664
  __typename?: 'Mutation';
6882
- /**
6883
- * Placeholder field to allow empty Mutation type extension.
6884
- * Must be @shareable since it exists in multiple subgraphs.
6885
- */
6665
+ /** Placeholder field to allow empty Mutation type extension. Must be @shareable since it exists in multiple subgraphs. */
6886
6666
  _empty?: Maybe<Scalars['String']['output']>;
6887
- /**
6888
- * Placeholder mutation (extended by modules)
6889
- * @rbac(public: true, scopeType: "global")
6890
- */
6667
+ /** Placeholder mutation (extended by modules) @rbac(public: true, scopeType: "global") */
6891
6668
  _placeholder?: Maybe<Scalars['String']['output']>;
6892
6669
  _privacyEcho?: Maybe<Scalars['String']['output']>;
6893
6670
  /** Accept an organization invitation */
@@ -6923,11 +6700,7 @@ export type Mutation = {
6923
6700
  addReleaseTesters: Array<ReleaseTrackUser>;
6924
6701
  addSubscribersToList: NewsletterList;
6925
6702
  addSuppression: NewsletterSuppression;
6926
- /**
6927
- * Bind a tag to an Application. The tag must already exist in wspace-tags-svc.
6928
- * Currently a stub-adapter no-op until the global-layer integration with
6929
- * wspace-tags-svc lands (see tracker).
6930
- */
6703
+ /** Bind a tag to an Application. The tag must already exist in wspace-tags-svc. Currently a stub-adapter no-op until the global-layer integration with wspace-tags-svc lands (see tracker). */
6931
6704
  addTagToApplication: ApplicationTagAssignment;
6932
6705
  addTicketTags: SupportTicket;
6933
6706
  /** Add an item to the cart (creates cart if needed) */
@@ -6955,10 +6728,7 @@ export type Mutation = {
6955
6728
  approveReview: ProductReview;
6956
6729
  approveTranslation: Translation;
6957
6730
  approveWaitlist: NewsletterWaitlist;
6958
- /**
6959
- * Soft archive a billing account. Financial history is preserved and the account is removed
6960
- * from active billing operations.
6961
- */
6731
+ /** Soft archive a billing account. Financial history is preserved and the account is removed from active billing operations. */
6962
6732
  archiveBillingAccount: BillingAccount;
6963
6733
  /** Archive a channel */
6964
6734
  archiveChannel: Channel;
@@ -6973,14 +6743,7 @@ export type Mutation = {
6973
6743
  archiveTour: Tour;
6974
6744
  /** Archive a workspace */
6975
6745
  archiveWorkspace: Workspace;
6976
- /**
6977
- * Assign the "Authenticated User" role to a user at the global scope.
6978
- * This should be called when a new user signs up to give them basic platform access.
6979
- * This mutation is idempotent - calling it multiple times for the same user is safe.
6980
- *
6981
- * SECURITY: This mutation is restricted to service and super_admin actors only.
6982
- * It should be called by global-auth-svc when a user signs up, not directly by users.
6983
- */
6746
+ /** Assign the "Authenticated User" role to a user at the global scope. This should be called when a new user signs up to give them basic platform access. This mutation is idempotent - calling it multiple times for the same user is safe. SECURITY: This mutation is restricted to service and super_admin actors only. It should be called by global-auth-svc when a user signs up, not directly by users. */
6984
6747
  assignAuthenticatedUserRole: AssignAuthenticatedUserRoleResult;
6985
6748
  assignEntitlementSeat: ProductEntitlement;
6986
6749
  /** Assign a role to an actor */
@@ -6991,18 +6754,9 @@ export type Mutation = {
6991
6754
  assignTagToUser: UserTagAssignment;
6992
6755
  /** Attach media to a tour step */
6993
6756
  attachMediaToStep: TourStepMedia;
6994
- /**
6995
- * Erase the subject's auth-layer data. With dryRun=true, returns counts
6996
- * without mutating. Sessions and refresh tokens are always purged; the
6997
- * User row is anonymised (email/name nulled, status=DEACTIVATED) rather
6998
- * than deleted to preserve referential integrity for audit logs.
6999
- */
6757
+ /** Erase the subject's auth-layer data. With dryRun=true, returns counts without mutating. Sessions and refresh tokens are always purged; the User row is anonymised (email/name nulled, status=DEACTIVATED) rather than deleted to preserve referential integrity for audit logs. */
7000
6758
  authEraseSubject: AuthEraseResult;
7001
- /**
7002
- * Export the subject's auth-layer data (account, sessions, MFA settings,
7003
- * OAuth accounts, app delegations, audit log entries owned by the user).
7004
- * Idempotent — repeated calls return identical bundles.
7005
- */
6759
+ /** Export the subject's auth-layer data (account, sessions, MFA settings, OAuth accounts, app delegations, audit log entries owned by the user). Idempotent — repeated calls return identical bundles. */
7006
6760
  authExportSubject: Scalars['JSON']['output'];
7007
6761
  authenticate: AuthResult;
7008
6762
  authenticateAPIKey: AuthResult;
@@ -7037,10 +6791,7 @@ export type Mutation = {
7037
6791
  bulkDeleteActivityLogs: Scalars['Int']['output'];
7038
6792
  bulkPauseSchedules: SchedulerBulkOperationResult;
7039
6793
  bulkResumeSchedules: SchedulerBulkOperationResult;
7040
- /**
7041
- * Bulk set user's opt-in/out preference for multiple feature flags.
7042
- * RBAC is scoped to the target workspace via `input.workspaceId`.
7043
- */
6794
+ /** Bulk set user's opt-in/out preference for multiple feature flags. RBAC is scoped to the target workspace via `input.workspaceId`. */
7044
6795
  bulkSetUserFeatureFlagPreferences: Array<UserFeatureFlagPreference>;
7045
6796
  bulkUpdateSchedules: SchedulerBulkOperationResult;
7046
6797
  bulkUpdateTranslations: BulkOperationResult;
@@ -7059,24 +6810,12 @@ export type Mutation = {
7059
6810
  cancelPayout: DeveloperOrgPayout;
7060
6811
  /** Cancel a scheduled notification */
7061
6812
  cancelScheduledNotification: Scalars['Boolean']['output'];
7062
- /**
7063
- * Cancel a subscription - disables auto-renewal but keeps subscription active until endDate.
7064
- * The subscription will not renew when it expires.
7065
- */
6813
+ /** Cancel a subscription - disables auto-renewal but keeps subscription active until endDate. The subscription will not renew when it expires. */
7066
6814
  cancelSubscription: BillingSubscription;
7067
6815
  changePassword: Scalars['Boolean']['output'];
7068
- /**
7069
- * Erase channel-layer subject data. With dryRun=true returns counts.
7070
- * Per-user platform connections are PURGED (OAuth tokens etc).
7071
- * Delivery / webhook / suppression rows are anonymised but retained for
7072
- * spam-complaint / abuse forensics (`retainedForLegalReason: "abuse-2yr"`).
7073
- */
6816
+ /** Erase channel-layer subject data. With dryRun=true returns counts. Per-user platform connections are PURGED (OAuth tokens etc). Delivery / webhook / suppression rows are anonymised but retained for spam-complaint / abuse forensics (`retainedForLegalReason: "abuse-2yr"`). */
7074
6817
  channelEraseSubject: ChannelEraseResult;
7075
- /**
7076
- * Export the subject's channel-layer data: per-user platform connections,
7077
- * delivery attempts addressed to the subject, webhook events, and any
7078
- * channel rows the subject created.
7079
- */
6818
+ /** Export the subject's channel-layer data: per-user platform connections, delivery attempts addressed to the subject, webhook events, and any channel rows the subject created. */
7080
6819
  channelExportSubject: Scalars['JSON']['output'];
7081
6820
  /** Check push MFA challenge status (polling) */
7082
6821
  checkPushMFAStatus: PushMfaStatus;
@@ -7117,10 +6856,7 @@ export type Mutation = {
7117
6856
  createAutomationStep: AutomationStep;
7118
6857
  /** Create a new billing account for the current org (from context) */
7119
6858
  createBillingAccount: BillingAccount;
7120
- /**
7121
- * Create a billing order for external service (e.g., store)
7122
- * Stores order details + GraphQL callback endpoint for payment notifications
7123
- */
6859
+ /** Create a billing order for external service (e.g., store) Stores order details + GraphQL callback endpoint for payment notifications */
7124
6860
  createBillingOrder: CreateBillingOrderResponse;
7125
6861
  createCampaign: NewsletterCampaign;
7126
6862
  createCannedResponse: CannedResponse;
@@ -7186,10 +6922,7 @@ export type Mutation = {
7186
6922
  createProduct: StoreProduct;
7187
6923
  createProductEntitlement: ProductEntitlement;
7188
6924
  createPromoCode: PromoCode;
7189
- /**
7190
- * Create a support ticket from a public/unauthenticated source (e.g. website contact form).
7191
- * Does not require authentication.
7192
- */
6925
+ /** Create a support ticket from a public/unauthenticated source (e.g. website contact form). Does not require authentication. */
7193
6926
  createPublicSupportTicket: SupportTicket;
7194
6927
  createQuota: Scalars['Boolean']['output'];
7195
6928
  createRecurringBillingPlan: RecurringBillingPlan;
@@ -7240,15 +6973,9 @@ export type Mutation = {
7240
6973
  createTourTemplate: TourTemplate;
7241
6974
  createTranslation: Translation;
7242
6975
  createTranslationKey: TranslationKey;
7243
- /**
7244
- * Create complete tenant structure for a new user (tenant, org, workspace)
7245
- * This is typically called after user email verification
7246
- */
6976
+ /** Create complete tenant structure for a new user (tenant, org, workspace) This is typically called after user email verification */
7247
6977
  createUserTenantStructure: CreateUserTenantStructureResponse;
7248
- /**
7249
- * Create a visibility rule for a resource.
7250
- * Auto-registers the resource if not already registered.
7251
- */
6978
+ /** Create a visibility rule for a resource. Auto-registers the resource if not already registered. */
7252
6979
  createVisibilityRule: VisibilityRule;
7253
6980
  createWebhook: Webhook;
7254
6981
  /** Create a new workspace */
@@ -7270,16 +6997,9 @@ export type Mutation = {
7270
6997
  deactivateResource: Scalars['Boolean']['output'];
7271
6998
  /** Deactivate a tour schedule */
7272
6999
  deactivateTourSchedule: TourSchedule;
7273
- /**
7274
- * Pure quota decrement — called by wspace-activity-svc after writing a UsageRecord.
7275
- * Only decrements QuotaAssignment.limits.value. Does NOT write back to activity-svc.
7276
- * Requires the quotaAssignmentId already resolved by checkQuotaExhausted.
7277
- */
7000
+ /** Pure quota decrement — called by wspace-activity-svc after writing a UsageRecord. Only decrements QuotaAssignment.limits.value. Does NOT write back to activity-svc. Requires the quotaAssignmentId already resolved by checkQuotaExhausted. */
7278
7001
  decrementQuota: Scalars['Boolean']['output'];
7279
- /**
7280
- * Delete current user's account permanently
7281
- * Requires password confirmation
7282
- */
7002
+ /** Delete current user's account permanently Requires password confirmation */
7283
7003
  deleteAccount: AccountActionResult;
7284
7004
  deleteActivityLog: Scalars['Boolean']['output'];
7285
7005
  deleteAffiliateCode: Scalars['Boolean']['output'];
@@ -7307,10 +7027,7 @@ export type Mutation = {
7307
7027
  deleteDiscount: Scalars['Boolean']['output'];
7308
7028
  /** Delete an entitlement */
7309
7029
  deleteEntitlement: Scalars['Boolean']['output'];
7310
- /**
7311
- * Delete external OIDC configuration
7312
- * Admin only
7313
- */
7030
+ /** Delete external OIDC configuration Admin only */
7314
7031
  deleteExternalOIDCConfig: AccountActionResult;
7315
7032
  deleteFAQ: Scalars['Boolean']['output'];
7316
7033
  /** Delete a feature flag (super admin only) */
@@ -7401,21 +7118,11 @@ export type Mutation = {
7401
7118
  /** Soft-delete a user platform connection */
7402
7119
  deleteUserPlatformConnection: Scalars['Boolean']['output'];
7403
7120
  deleteWebhook: Scalars['Boolean']['output'];
7404
- /**
7405
- * Deliver the same notification to multiple recipients in bulk.
7406
- * More efficient than multiple single calls for broadcast scenarios.
7407
- */
7121
+ /** Deliver the same notification to multiple recipients in bulk. More efficient than multiple single calls for broadcast scenarios. */
7408
7122
  deliverBulkNotification: BulkChannelDeliveryResult;
7409
- /**
7410
- * Deliver a notification across multiple platforms and multiple recipients in one call.
7411
- * Fans out per-platform in parallel (Promise.allSettled) with independent failover per platform.
7412
- * Adapters that natively support multi-recipient (SES, ACS) send one API call; others loop concurrently.
7413
- */
7123
+ /** Deliver a notification across multiple platforms and multiple recipients in one call. Fans out per-platform in parallel (Promise.allSettled) with independent failover per platform. Adapters that natively support multi-recipient (SES, ACS) send one API call; others loop concurrently. */
7414
7124
  deliverMultiPlatformNotification: MultiPlatformDeliveryResult;
7415
- /**
7416
- * Deliver a notification to a single recipient via Channel service.
7417
- * Called by global-notification-svc to deliver through platform adapters.
7418
- */
7125
+ /** Deliver a notification to a single recipient via Channel service. Called by global-notification-svc to deliver through platform adapters. */
7419
7126
  deliverNotification: ChannelDeliveryResult;
7420
7127
  deprecateApplicationVersion: ApplicationVersion;
7421
7128
  deprecateProduct: StoreProduct;
@@ -7437,11 +7144,7 @@ export type Mutation = {
7437
7144
  enableMFA: Scalars['Boolean']['output'];
7438
7145
  enableMaintenanceMode: MaintenanceModeStatus;
7439
7146
  enrollSubscriberInAutomation: AutomationSubscriber;
7440
- /**
7441
- * Anonymise the subject on the billing layer. With dryRun=true, returns
7442
- * what would change without mutating. Financial records (Transaction,
7443
- * Invoice, Payment) are RETAINED for the statutory 7-year window.
7444
- */
7147
+ /** Anonymise the subject on the billing layer. With dryRun=true, returns what would change without mutating. Financial records (Transaction, Invoice, Payment) are RETAINED for the statutory 7-year window. */
7445
7148
  eraseSubject: EraseResult;
7446
7149
  escalateSupportTicket: SupportTicket;
7447
7150
  /** Exchange app token for app-as-user token (Token Exchange flow) */
@@ -7461,11 +7164,7 @@ export type Mutation = {
7461
7164
  exportDeveloperOrganizations: DevportalExportJob;
7462
7165
  /** Export per-organization revenue rows matching the optional filter. */
7463
7166
  exportRevenue: DevportalExportJob;
7464
- /**
7465
- * Export the subject's billing-layer data (billing accounts, subscriptions,
7466
- * invoices, payment methods on file, transaction history, credits, usage).
7467
- * Idempotent.
7468
- */
7167
+ /** Export the subject's billing-layer data (billing accounts, subscriptions, invoices, payment methods on file, transaction history, credits, usage). Idempotent. */
7469
7168
  exportSubject: Scalars['JSON']['output'];
7470
7169
  /** Export webhook event records matching the filter. */
7471
7170
  exportWebhookEvents: ChannelExportJob;
@@ -7482,10 +7181,7 @@ export type Mutation = {
7482
7181
  generateHMACSecret: HmacCredentialResult;
7483
7182
  /** Generate an invoice for a subscription */
7484
7183
  generateInvoice: Invoice;
7485
- /**
7486
- * Generate OIDC authorization URL for SSO login
7487
- * Returns URL to redirect user to the IdP
7488
- */
7184
+ /** Generate OIDC authorization URL for SSO login Returns URL to redirect user to the IdP */
7489
7185
  generateOIDCAuthUrl: OidcAuthUrlResult;
7490
7186
  /** Generate passkey authentication options (for login) */
7491
7187
  generatePasskeyAuthenticationOptions: PasskeyAuthenticationOptions;
@@ -7500,11 +7196,7 @@ export type Mutation = {
7500
7196
  /** Generate challenge message for wallet signature */
7501
7197
  generateWalletChallenge: WalletChallengeResult;
7502
7198
  getSupportAttachmentPartUploadUrls: Array<SupportAttachmentPresignedPart>;
7503
- /**
7504
- * Grant an app access to act on a specific workspace. Idempotent: re-granting
7505
- * an ACTIVE authorization updates its scopes; re-granting a REVOKED one flips
7506
- * it back to ACTIVE and clears the revoke fields.
7507
- */
7199
+ /** Grant an app access to act on a specific workspace. Idempotent: re-granting an ACTIVE authorization updates its scopes; re-granting a REVOKED one flips it back to ACTIVE and clears the revoke fields. */
7508
7200
  grantAppWorkspaceAccess: AppWorkspaceAuthorization;
7509
7201
  grantConsent: ConsentRecord;
7510
7202
  grantCredits: CreditTransaction;
@@ -7518,63 +7210,29 @@ export type Mutation = {
7518
7210
  /** Mark webhook as ignored */
7519
7211
  ignoreWebhook: Scalars['Boolean']['output'];
7520
7212
  importSubscribers: ImportSubscribersResult;
7521
- /**
7522
- * Initialize billing roles for a billing account by cloning billing role templates.
7523
- * Use this when a new billing account is created.
7524
- *
7525
- * Returns the number of roles created (0 if roles already exist).
7526
- */
7213
+ /** Initialize billing roles for a billing account by cloning billing role templates. Use this when a new billing account is created. Returns the number of roles created (0 if roles already exist). */
7527
7214
  initializeBillingRoles: InitializeBillingRolesResult;
7528
- /**
7529
- * Initialize organization roles by cloning organization role templates.
7530
- * Use this when a new organization is created. The creator will be assigned the Owner role.
7531
- *
7532
- * Returns the number of roles created (0 if roles already exist).
7533
- *
7534
- * SECURITY: This mutation is restricted to service and super_admin actors only.
7535
- * It should be called by global-tenant-svc when an organization is created, not directly by users.
7536
- */
7215
+ /** Initialize organization roles by cloning organization role templates. Use this when a new organization is created. The creator will be assigned the Owner role. Returns the number of roles created (0 if roles already exist). SECURITY: This mutation is restricted to service and super_admin actors only. It should be called by global-tenant-svc when an organization is created, not directly by users. */
7537
7216
  initializeOrganizationRoles: InitializeOrganizationRolesResult;
7538
7217
  /** Initiate Kerberos SPNEGO authentication */
7539
7218
  initiateKerberosAuth: KerberosChallengeResult;
7540
7219
  /** Initiate NTLM authentication (returns Type 2 challenge) */
7541
7220
  initiateNTLMChallenge: NtlmChallengeResult;
7542
- /**
7543
- * Initiate a payment for credits, plans, or addons
7544
- * This creates a Stripe PaymentIntent or Razorpay Order with tax included
7545
- * Returns client secret (Stripe) or order ID (Razorpay) for frontend to complete payment
7546
- */
7221
+ /** Initiate a payment for credits, plans, or addons This creates a Stripe PaymentIntent or Razorpay Order with tax included Returns client secret (Stripe) or order ID (Razorpay) for frontend to complete payment */
7547
7222
  initiatePayment: InitiatePaymentResponse;
7548
7223
  /** Install an application */
7549
7224
  installApp: AppInstallation;
7550
- /**
7551
- * Install a purchased app to a workspace.
7552
- * Validates that the product was purchased before allowing installation.
7553
- * If orderId is not provided, will find the most recent processed order for this product.
7554
- */
7225
+ /** Install a purchased app to a workspace. Validates that the product was purchased before allowing installation. If orderId is not provided, will find the most recent processed order for this product. */
7555
7226
  installPurchasedApp: InstallPurchasedAppResult;
7556
7227
  /** Invite a user to join an organization */
7557
7228
  inviteDeveloperOrgMember: DeveloperOrgInvitation;
7558
7229
  /** Invite a user to an organization by email */
7559
7230
  inviteOrganizationMember: OrganizationInvite;
7560
- /**
7561
- * Public endpoint — no authentication required. Email is normalized (trimmed, lowercased).
7562
- * Must be protected by API gateway rate limiting (recommended: 5 req/min per IP).
7563
- */
7231
+ /** Public endpoint — no authentication required. Email is normalized (trimmed, lowercased). Must be protected by API gateway rate limiting (recommended: 5 req/min per IP). */
7564
7232
  joinWaitlist: NewsletterWaitlist;
7565
7233
  /** Leave an organization */
7566
7234
  leaveDeveloperOrganization: Scalars['Boolean']['output'];
7567
- /**
7568
- * Link a personal integration connection (from wspace-integrations-svc) to a bot channel.
7569
- * Called by microfe-botlit after the user completes OAuth in microfe-integrations.
7570
- *
7571
- * Steps performed internally:
7572
- * 1. Fetch IntegrationConnection data from wspace-integrations-svc via internal GQL
7573
- * 2. Extract platform identity (slackUserId / msUserId / discordUserId / phone) from metadata
7574
- * 3. Open a DM conversation using the bot token from ChannelConnection
7575
- * 4. Upsert UserPlatformConnection (source=OAUTH, dmAllowed=true, dmConversationId set)
7576
- * 5. Send welcome DM (Slack / Teams / Discord where supported)
7577
- */
7235
+ /** Link a personal integration connection (from wspace-integrations-svc) to a bot channel. Called by microfe-botlit after the user completes OAuth in microfe-integrations. Steps performed internally: 1. Fetch IntegrationConnection data from wspace-integrations-svc via internal GQL 2. Extract platform identity (slackUserId / msUserId / discordUserId / phone) from metadata 3. Open a DM conversation using the bot token from ChannelConnection 4. Upsert UserPlatformConnection (source=OAUTH, dmAllowed=true, dmConversationId set) 5. Send welcome DM (Slack / Teams / Discord where supported) */
7578
7236
  linkIntegrationConnection: UserPlatformConnection;
7579
7237
  linkTickets: TicketLink;
7580
7238
  /** Link wallet to existing user account */
@@ -7591,24 +7249,16 @@ export type Mutation = {
7591
7249
  markNotificationsByFilterAsRead: BatchOperationResult;
7592
7250
  /** Mark an order as refunded (admin) */
7593
7251
  markOrderRefunded: StoreOrder;
7252
+ markPayoutPaid: PayoutRequest;
7594
7253
  markReviewHelpful: ProductReview;
7595
7254
  /** Merge a guest cart into the current user's cart (after login) */
7596
7255
  mergeCart: CartPayload;
7597
7256
  mergeTickets: SupportTicket;
7598
7257
  /** Moderate a review (admin) */
7599
7258
  moderateAppReview: AppReview;
7600
- /**
7601
- * Erase newsletter subscriber data. With dryRun=true returns counts.
7602
- * Subscriber + per-list rows + automation enrolments PURGED.
7603
- * Suppression entry ANONYMISED (email hashed) — kept to honour CAN-SPAM
7604
- * unsubscribe permanence. Bounce/complaint/consent-audit rows anonymised
7605
- * but retained for deliverability forensics.
7606
- */
7259
+ /** Erase newsletter subscriber data. With dryRun=true returns counts. Subscriber + per-list rows + automation enrolments PURGED. Suppression entry ANONYMISED (email hashed) — kept to honour CAN-SPAM unsubscribe permanence. Bounce/complaint/consent-audit rows anonymised but retained for deliverability forensics. */
7607
7260
  newsletterEraseSubject: NewsletterEraseResult;
7608
- /**
7609
- * Export the subject's newsletter data: subscriber rows, per-list memberships,
7610
- * consent ledger entries, automation enrolments, waitlist entries.
7611
- */
7261
+ /** Export the subject's newsletter data: subscriber rows, per-list memberships, consent ledger entries, automation enrolments, waitlist entries. */
7612
7262
  newsletterExportSubject: Scalars['JSON']['output'];
7613
7263
  openCircuitBreaker: CircuitBreakerState;
7614
7264
  /** Pause a subscription */
@@ -7628,11 +7278,7 @@ export type Mutation = {
7628
7278
  processScheduledNotifications: Scalars['Int']['output'];
7629
7279
  /** Process a webhook manually (for retry) */
7630
7280
  processWebhook: WebhookProcessingResult;
7631
- /**
7632
- * Switch a tenant to DEDICATED mode and begin provisioning.
7633
- * Sets status to PROVISIONING until endpoint is set.
7634
- * If endpoint is provided, sets status directly to ACTIVE.
7635
- */
7281
+ /** Switch a tenant to DEDICATED mode and begin provisioning. Sets status to PROVISIONING until endpoint is set. If endpoint is provided, sets status directly to ACTIVE. */
7636
7282
  provisionDedicatedTenant: Tenant;
7637
7283
  /** Public unsubscribe via HMAC-signed token from email link. No authentication required. */
7638
7284
  publicUnsubscribeByToken: Scalars['Boolean']['output'];
@@ -7692,10 +7338,7 @@ export type Mutation = {
7692
7338
  /** Reject an organization invite (must be logged in as the invited user) */
7693
7339
  rejectOrganizationInvite: OrganizationInvite;
7694
7340
  rejectPayoutRequest: PayoutRequest;
7695
- /**
7696
- * Admin rejects a submitted product with a mandatory reason. Publisher can
7697
- * edit and resubmit afterwards.
7698
- */
7341
+ /** Admin rejects a submitted product with a mandatory reason. Publisher can edit and resubmit afterwards. */
7699
7342
  rejectProduct: StoreProduct;
7700
7343
  rejectPublisher: Publisher;
7701
7344
  rejectReview: ProductReview;
@@ -7732,24 +7375,15 @@ export type Mutation = {
7732
7375
  /** Remove a tag from a user */
7733
7376
  removeTagFromUser: AccountActionResult;
7734
7377
  removeTicketTags: SupportTicket;
7735
- /**
7736
- * Remove user's preference for a feature flag (reverts to default).
7737
- * RBAC is scoped to the target workspace.
7738
- */
7378
+ /** Remove user's preference for a feature flag (reverts to default). RBAC is scoped to the target workspace. */
7739
7379
  removeUserFeatureFlagPreference: Scalars['Boolean']['output'];
7740
7380
  /** Remove a visibility rule */
7741
7381
  removeVisibilityRule: Scalars['Boolean']['output'];
7742
- /**
7743
- * Remove a workspace override, reverting to the platform default.
7744
- * RBAC is scoped to the target workspace.
7745
- */
7382
+ /** Remove a workspace override, reverting to the platform default. RBAC is scoped to the target workspace. */
7746
7383
  removeWorkspaceFeatureFlagOverride: Scalars['Boolean']['output'];
7747
7384
  /** Remove a member from a workspace */
7748
7385
  removeWorkspaceMember: Scalars['Boolean']['output'];
7749
- /**
7750
- * Remove workspace metadata (membership and routing)
7751
- * Note: This only removes metadata. Use workspaces service to delete actual workspace content.
7752
- */
7386
+ /** Remove workspace metadata (membership and routing) Note: This only removes metadata. Use workspaces service to delete actual workspace content. */
7753
7387
  removeWorkspaceMetadata: Scalars['Boolean']['output'];
7754
7388
  /** Rename a passkey */
7755
7389
  renamePasskey: PasskeyInfo;
@@ -7767,10 +7401,7 @@ export type Mutation = {
7767
7401
  replaceChannelTags: Array<ChannelTagAssignment>;
7768
7402
  /** Replace all tags on a store product */
7769
7403
  replaceStoreProductTags: Array<StoreProductTagAssignment>;
7770
- /**
7771
- * Send an email reply to a contact inquiry. The reply is sent via the notification
7772
- * pipeline (notification-svc → channel-svc → email provider). Auto-updates status to REVIEWED.
7773
- */
7404
+ /** Send an email reply to a contact inquiry. The reply is sent via the notification pipeline (notification-svc → channel-svc → email provider). Auto-updates status to REVIEWED. */
7774
7405
  replyToContactInquiry: ContactInquiryReplyResult;
7775
7406
  replyToReview: ProductReviewReply;
7776
7407
  /** Report a review */
@@ -7778,10 +7409,7 @@ export type Mutation = {
7778
7409
  /** Reprocess a failed webhook event */
7779
7410
  reprocessWebhook: WebhookProcessingResult;
7780
7411
  requestBillingPayout: PayoutRequest;
7781
- /**
7782
- * Request a credit withdrawal. Converts purchased + earned credits to a PayoutRequest
7783
- * denominated in USD at the current credit rate. Uses the specified payout account for payment.
7784
- */
7412
+ /** Request a credit withdrawal. Converts purchased + earned credits to a PayoutRequest denominated in USD at the current credit rate. Uses the specified payout account for payment. */
7785
7413
  requestCreditWithdrawal: PayoutRequest;
7786
7414
  /** Request a manual payout (devportal legacy alias) */
7787
7415
  requestDeveloperOrgPayout: DeveloperOrgPayout;
@@ -7825,10 +7453,7 @@ export type Mutation = {
7825
7453
  resumeSLA: SupportTicket;
7826
7454
  resumeScheduledJob: ScheduledJob;
7827
7455
  retireSubprocessor: Subprocessor;
7828
- /**
7829
- * Manually retry GraphQL callback for a failed billing order (admin only)
7830
- * Useful for retrying after fixing issues in external service
7831
- */
7456
+ /** Manually retry GraphQL callback for a failed billing order (admin only) Useful for retrying after fixing issues in external service */
7832
7457
  retryBillingOrderCallback: RetryBillingOrderCallbackResponse;
7833
7458
  /** Retry a failed delivery attempt */
7834
7459
  retryDelivery: MessageDeliveryResult;
@@ -7841,15 +7466,9 @@ export type Mutation = {
7841
7466
  revertTranslation: Translation;
7842
7467
  reviewTranslation: Translation;
7843
7468
  revokeAPIKey: Scalars['Boolean']['output'];
7844
- /**
7845
- * Revoke all sessions except the current one.
7846
- * Returns the number of sessions that were revoked.
7847
- */
7469
+ /** Revoke all sessions except the current one. Returns the number of sessions that were revoked. */
7848
7470
  revokeAllSessions: RevokeAllSessionsResult;
7849
- /**
7850
- * Revoke an app's access to a workspace. Returns false if the row was already
7851
- * REVOKED or never existed.
7852
- */
7471
+ /** Revoke an app's access to a workspace. Returns false if the row was already REVOKED or never existed. */
7853
7472
  revokeAppWorkspaceAccess: Scalars['Boolean']['output'];
7854
7473
  revokeConsent: NewsletterConsent;
7855
7474
  revokeDelegation: Scalars['Boolean']['output'];
@@ -7858,17 +7477,11 @@ export type Mutation = {
7858
7477
  revokeHMACCredential: Scalars['Boolean']['output'];
7859
7478
  revokeLicense: ProductEntitlement;
7860
7479
  revokeSeat: LicenseSeat;
7861
- /**
7862
- * Revoke (log out) a specific session by ID.
7863
- * Returns true if the session was successfully revoked.
7864
- */
7480
+ /** Revoke (log out) a specific session by ID. Returns true if the session was successfully revoked. */
7865
7481
  revokeSession: Scalars['Boolean']['output'];
7866
7482
  /** Revoke a signed cookie session */
7867
7483
  revokeSignedCookieSession: Scalars['Boolean']['output'];
7868
- /**
7869
- * Revoke a user's platform connection (sets dmAllowed = false, clears tokens).
7870
- * Does NOT delete the record — keeps presence history intact.
7871
- */
7484
+ /** Revoke a user's platform connection (sets dmAllowed = false, clears tokens). Does NOT delete the record — keeps presence history intact. */
7872
7485
  revokeUserPlatformConnection: UserPlatformConnection;
7873
7486
  rollbackRelease: ProductRelease;
7874
7487
  rotateAPIKey: ApiKeyRotateResult;
@@ -7885,11 +7498,7 @@ export type Mutation = {
7885
7498
  scheduleNewsletter: Newsletter;
7886
7499
  /** Schedule a notification for future delivery */
7887
7500
  scheduleNotification: ScheduledNotification;
7888
- /**
7889
- * Seed default feature flags across all products.
7890
- * Creates all default flags if they don't already exist. Returns the count of newly created flags.
7891
- * Skips flags that already exist (by key uniqueness).
7892
- */
7501
+ /** Seed default feature flags across all products. Creates all default flags if they don't already exist. Returns the count of newly created flags. Skips flags that already exist (by key uniqueness). */
7893
7502
  seedDefaultFeatureFlags: Scalars['Int']['output'];
7894
7503
  /** Bulk create default shortcuts for a product */
7895
7504
  seedDefaultShortcuts: Scalars['Int']['output'];
@@ -7908,11 +7517,7 @@ export type Mutation = {
7908
7517
  setAgentOnline: AgentProfile;
7909
7518
  /** Set or update billing address for a billing account */
7910
7519
  setBillingAddress: BillingAddress;
7911
- /**
7912
- * Set a billing account as the default for an org.
7913
- * Only one billing account can be default per org.
7914
- * If another account is currently default, it will be unset.
7915
- */
7520
+ /** Set a billing account as the default for an org. Only one billing account can be default per org. If another account is currently default, it will be unset. */
7916
7521
  setDefaultBillingAccount: BillingAccount;
7917
7522
  setDefaultLanguage: Language;
7918
7523
  /** Set a payment method as default */
@@ -7923,21 +7528,12 @@ export type Mutation = {
7923
7528
  setNotificationTopicSubscription: NotificationTopicSubscription;
7924
7529
  /** Set default permission level for a role on a resource type */
7925
7530
  setRoleDefaultPermission: Role;
7926
- /**
7927
- * Set or update the endpoint URL for a DEDICATED tenant.
7928
- * Transitions PROVISIONING → ACTIVE when endpoint is set.
7929
- */
7531
+ /** Set or update the endpoint URL for a DEDICATED tenant. Transitions PROVISIONING → ACTIVE when endpoint is set. */
7930
7532
  setTenantEndpoint: Tenant;
7931
- /**
7932
- * Set user's opt-in/out preference for a previewable feature flag.
7933
- * RBAC is scoped to the target workspace via `input.workspaceId`.
7934
- */
7533
+ /** Set user's opt-in/out preference for a previewable feature flag. RBAC is scoped to the target workspace via `input.workspaceId`. */
7935
7534
  setUserFeatureFlagPreference: UserFeatureFlagPreference;
7936
7535
  setUserLanguagePreference: UserLanguagePreference;
7937
- /**
7938
- * Set workspace-level override for a feature flag (super admin or workspace admin).
7939
- * RBAC is scoped to the target workspace via `input.workspaceId`.
7940
- */
7536
+ /** Set workspace-level override for a feature flag (super admin or workspace admin). RBAC is scoped to the target workspace via `input.workspaceId`. */
7941
7537
  setWorkspaceFeatureFlagOverride: WorkspaceFeatureFlagOverride;
7942
7538
  setupMFA: MfaSetupResult;
7943
7539
  sideloadApp: StoreAppInstallation;
@@ -7958,42 +7554,19 @@ export type Mutation = {
7958
7554
  /** Mark a tour as started for a user */
7959
7555
  startTour: TourUserProgress;
7960
7556
  submitApplication: Application;
7961
- /**
7962
- * Submit an application to the store for review. Awaits the store-svc
7963
- * submit call and returns the application with the resulting store
7964
- * submission metadata attached to `metadata.storeSubmissionStatus`.
7965
- *
7966
- * The target store's requiresApproval flag decides whether the submission
7967
- * lands in PENDING_REVIEW (public default) or is auto-published (private
7968
- * registries that trust their publishers).
7969
- */
7557
+ /** Submit an application to the store for review. Awaits the store-svc submit call and returns the application with the resulting store submission metadata attached to `metadata.storeSubmissionStatus`. The target store's requiresApproval flag decides whether the submission lands in PENDING_REVIEW (public default) or is auto-published (private registries that trust their publishers). */
7970
7558
  submitApplicationForReview: Application;
7971
- /**
7972
- * Submit a contact inquiry from a public website (no authentication required).
7973
- * Validates reCAPTCHA token server-side using the product's secret key
7974
- * fetched from the tenant service via internal gateway.
7975
- */
7559
+ /** Submit a contact inquiry from a public website (no authentication required). Validates reCAPTCHA token server-side using the product's secret key fetched from the tenant service via internal gateway. */
7976
7560
  submitContactInquiry: SubmitContactInquiryResult;
7977
- /**
7978
- * Submit a product to its target store for review. The store's
7979
- * requiresApproval flag decides whether the product goes to PENDING_REVIEW
7980
- * or is auto-published.
7981
- */
7561
+ /** Submit a product to its target store for review. The store's requiresApproval flag decides whether the product goes to PENDING_REVIEW or is auto-published. */
7982
7562
  submitProduct: StoreProduct;
7983
7563
  submitPublisherVerification: Publisher;
7984
7564
  submitSatisfactionSurvey: CustomerSatisfactionSurvey;
7985
7565
  subscribe: NewsletterSubscriber;
7986
7566
  subscribeToStore: UserStoreSubscription;
7987
- /**
7988
- * Anonymise the subject across support records. With dryRun=true returns
7989
- * counts without mutating. Ticket bodies and agent resolution history are
7990
- * retained for legal-claims defence (`retainedForLegalReason: "claims-3yr"`).
7991
- */
7567
+ /** Anonymise the subject across support records. With dryRun=true returns counts without mutating. Ticket bodies and agent resolution history are retained for legal-claims defence (`retainedForLegalReason: "claims-3yr"`). */
7992
7568
  supportEraseSubject: SupportEraseResult;
7993
- /**
7994
- * Export the subject's support data: tickets they raised, messages they
7995
- * authored, contact inquiries, CSAT surveys submitted.
7996
- */
7569
+ /** Export the subject's support data: tickets they raised, messages they authored, contact inquiries, CSAT surveys submitted. */
7997
7570
  supportExportSubject: Scalars['JSON']['output'];
7998
7571
  suppressIdentifier: SuppressionEntry;
7999
7572
  /** Suspend an installation (admin) */
@@ -8006,17 +7579,9 @@ export type Mutation = {
8006
7579
  suspendTenant: Tenant;
8007
7580
  /** Suspend a workspace */
8008
7581
  suspendWorkspace: Workspace;
8009
- /**
8010
- * Sync tour steps (smart update in ONE call)
8011
- * Send all desired steps, backend handles: update existing, create new, delete removed
8012
- */
7582
+ /** Sync tour steps (smart update in ONE call) Send all desired steps, backend handles: update existing, create new, delete removed */
8013
7583
  syncTourSteps: Array<TourStep>;
8014
- /**
8015
- * Sync workspace metadata from workspace layer to global layer.
8016
- * Called by wspace-workspace-svc when a workspace is created directly via workspace layer.
8017
- * This is the reverse of syncFromGlobal - it syncs global ← wspace.
8018
- * Creates workspace metadata + owner membership in global-tenant-svc.
8019
- */
7584
+ /** Sync workspace metadata from workspace layer to global layer. Called by wspace-workspace-svc when a workspace is created directly via workspace layer. This is the reverse of syncFromGlobal - it syncs global ← wspace. Creates workspace metadata + owner membership in global-tenant-svc. */
8020
7585
  syncWorkspaceFromWspace: SyncWorkspaceFromWspaceResponse;
8021
7586
  tagChannel: ChannelTagAssignment;
8022
7587
  tagChannelConnection: ChannelConnectionTagAssignment;
@@ -8132,15 +7697,9 @@ export type Mutation = {
8132
7697
  updateKeyboardShortcut: KeyboardShortcut;
8133
7698
  updateKnowledgeBaseArticle: KnowledgeBaseArticle;
8134
7699
  updateLanguage: Language;
8135
- /**
8136
- * Update the current user's dashboard widget layout preferences.
8137
- * Replaces the dashboard.widgets array within preferences.
8138
- */
7700
+ /** Update the current user's dashboard widget layout preferences. Replaces the dashboard.widgets array within preferences. */
8139
7701
  updateMyDashboardPreferences: Scalars['JSON']['output'];
8140
- /**
8141
- * Update the current user's general preferences.
8142
- * Merges the provided JSON into the existing preferences field.
8143
- */
7702
+ /** Update the current user's general preferences. Merges the provided JSON into the existing preferences field. */
8144
7703
  updateMyPreferences: UserPreference;
8145
7704
  updateNewsletter: Newsletter;
8146
7705
  updateNewsletterAutomation: NewsletterAutomation;
@@ -8189,18 +7748,11 @@ export type Mutation = {
8189
7748
  updateScheduleTemplate: ScheduleTemplate;
8190
7749
  updateScheduledJob: ScheduledJob;
8191
7750
  updateStore: Store;
8192
- /**
8193
- * Update order payment status (called by billing service callback)
8194
- *
8195
- * This is a PUBLIC mutation called by the billing service after payment completion
8196
- */
7751
+ /** Update order payment status (called by billing service callback) This is a PUBLIC mutation called by the billing service after payment completion */
8197
7752
  updateStoreOrderPaymentStatus: UpdateStoreOrderPaymentStatusResponse;
8198
7753
  updateSubprocessor: Subprocessor;
8199
7754
  updateSubscriber: NewsletterSubscriber;
8200
- /**
8201
- * Update the seat count on an active PER_SEAT subscription.
8202
- * Syncs quantity to the payment gateway and updates the seat quota ceiling.
8203
- */
7755
+ /** Update the seat count on an active PER_SEAT subscription. Syncs quantity to the payment gateway and updates the seat quota ceiling. */
8204
7756
  updateSubscriptionSeats: BillingSubscription;
8205
7757
  updateSupportMessage: SupportMessage;
8206
7758
  updateSupportTicket: SupportTicket;
@@ -8242,17 +7794,11 @@ export type Mutation = {
8242
7794
  /** Upload tour media */
8243
7795
  uploadTourMedia: TourMedia;
8244
7796
  upsertComplianceSettings: NewsletterComplianceSettings;
8245
- /**
8246
- * Create or update external OIDC configuration (Google, Microsoft, etc.)
8247
- * Admin only
8248
- */
7797
+ /** Create or update external OIDC configuration (Google, Microsoft, etc.) Admin only */
8249
7798
  upsertExternalOIDCConfig: ExternalOidcConfiguration;
8250
7799
  /** Create or update fulfillment details for an order (admin) */
8251
7800
  upsertOrderFulfillment: OrderFulfillment;
8252
- /**
8253
- * Upsert a platform connection from a passively-observed webhook event (source = SEEN).
8254
- * Used by WebhookProcessor to track users without granting DM access.
8255
- */
7801
+ /** Upsert a platform connection from a passively-observed webhook event (source = SEEN). Used by WebhookProcessor to track users without granting DM access. */
8256
7802
  upsertSeenUser: UserPlatformConnection;
8257
7803
  useCannedResponse: CannedResponse;
8258
7804
  validateApiKey: TokenValidationResponse;
@@ -8273,17 +7819,7 @@ export type Mutation = {
8273
7819
  /** Verify a payment method (micro-deposits) */
8274
7820
  verifyPaymentMethod: DeveloperOrgPaymentMethod;
8275
7821
  verifyPublisherPayoutMethod: PublisherPayoutMethod;
8276
- /**
8277
- * Verify a WhatsApp pairing code entered by the user in the dashboard.
8278
- * Called by wspace-integrations-svc during its CUSTOM auth step.
8279
- *
8280
- * Looks up the UserPlatformConnection (source=SEEN) for the channel + phone number,
8281
- * checks the pairing code matches and has not expired, then:
8282
- * - Sets pairingStatus = APPROVED
8283
- * - Sets dmAllowed = true
8284
- * - Sets dmConversationId to the WhatsApp JID format
8285
- * Returns true on success, throws on failure.
8286
- */
7822
+ /** Verify a WhatsApp pairing code entered by the user in the dashboard. Called by wspace-integrations-svc during its CUSTOM auth step. Looks up the UserPlatformConnection (source=SEEN) for the channel + phone number, checks the pairing code matches and has not expired, then: - Sets pairingStatus = APPROVED - Sets dmAllowed = true - Sets dmConversationId to the WhatsApp JID format Returns true on success, throws on failure. */
8287
7823
  verifyWhatsAppPairingCode: Scalars['Boolean']['output'];
8288
7824
  /** Void an invoice */
8289
7825
  voidInvoice: Invoice;
@@ -8772,7 +8308,6 @@ export type MutationCompleteStepArgs = {
8772
8308
  };
8773
8309
  /** Root mutation type */
8774
8310
  export type MutationCompleteSupportAttachmentUploadArgs = {
8775
- folderId: Scalars['ID']['input'];
8776
8311
  sessionId: Scalars['ID']['input'];
8777
8312
  ticketId: Scalars['ID']['input'];
8778
8313
  };
@@ -9932,6 +9467,12 @@ export type MutationMarkOrderRefundedArgs = {
9932
9467
  reason?: InputMaybe<Scalars['String']['input']>;
9933
9468
  };
9934
9469
  /** Root mutation type */
9470
+ export type MutationMarkPayoutPaidArgs = {
9471
+ externalReference?: InputMaybe<Scalars['String']['input']>;
9472
+ id: Scalars['ID']['input'];
9473
+ notes?: InputMaybe<Scalars['String']['input']>;
9474
+ };
9475
+ /** Root mutation type */
9935
9476
  export type MutationMarkReviewHelpfulArgs = {
9936
9477
  id: Scalars['ID']['input'];
9937
9478
  };
@@ -11675,12 +11216,7 @@ export type MutationVoteOnAppReviewArgs = {
11675
11216
  export type MutationWithdrawConsentArgs = {
11676
11217
  input: WithdrawConsentInput;
11677
11218
  };
11678
- /**
11679
- * Filter inputs for `myContactInquiries`.
11680
- * Search and email-filter are deliberately not exposed — the query is already
11681
- * scoped to the caller's email, so a full-text search across `name`/`subject`
11682
- * would only surface inquiries the caller already owns.
11683
- */
11219
+ /** Filter inputs for `myContactInquiries`. Search and email-filter are deliberately not exposed — the query is already scoped to the caller's email, so a full-text search across `name`/`subject` would only surface inquiries the caller already owns. */
11684
11220
  export type MyContactInquiryFilterInput = {
11685
11221
  /** Filter by product ID */
11686
11222
  productId?: InputMaybe<Scalars['String']['input']>;
@@ -11801,11 +11337,7 @@ export type NewsletterConsent = {
11801
11337
  subscriberId: Scalars['String']['output'];
11802
11338
  userAgent?: Maybe<Scalars['String']['output']>;
11803
11339
  };
11804
- /**
11805
- * Newsletter-specific context output type.
11806
- * Returns the stored context for each record.
11807
- * Module-specific to avoid federation conflicts with OperationContext in other subgraphs.
11808
- */
11340
+ /** Newsletter-specific context output type. Returns the stored context for each record. Module-specific to avoid federation conflicts with OperationContext in other subgraphs. */
11809
11341
  export type NewsletterContext = {
11810
11342
  __typename?: 'NewsletterContext';
11811
11343
  /** Additional custom context as JSON */
@@ -11823,10 +11355,7 @@ export type NewsletterContext = {
11823
11355
  /** Workspace ID for workspace-level scoping */
11824
11356
  workspaceId?: Maybe<Scalars['ID']['output']>;
11825
11357
  };
11826
- /**
11827
- * Newsletter context filter input for querying records by context.
11828
- * Supports exact match filtering on context fields.
11829
- */
11358
+ /** Newsletter context filter input for querying records by context. Supports exact match filtering on context fields. */
11830
11359
  export type NewsletterContextFilterInput = {
11831
11360
  /** Filter by organization ID */
11832
11361
  organizationId?: InputMaybe<Scalars['ID']['input']>;
@@ -11841,10 +11370,7 @@ export type NewsletterContextFilterInput = {
11841
11370
  /** Filter by workspace ID */
11842
11371
  workspaceId?: InputMaybe<Scalars['ID']['input']>;
11843
11372
  };
11844
- /**
11845
- * Newsletter context input for filtering and scoping data.
11846
- * All fields are optional and can be extended as needed.
11847
- */
11373
+ /** Newsletter context input for filtering and scoping data. All fields are optional and can be extended as needed. */
11848
11374
  export type NewsletterContextInput = {
11849
11375
  /** Additional custom context as JSON */
11850
11376
  custom?: InputMaybe<Scalars['JSON']['input']>;
@@ -12491,10 +12017,7 @@ export type OidcHybridConfig = {
12491
12017
  supportedGrantTypes: Array<Scalars['String']['output']>;
12492
12018
  supportedResponseTypes: Array<Scalars['String']['output']>;
12493
12019
  };
12494
- /**
12495
- * Operation context output type.
12496
- * Returns the stored context for each record.
12497
- */
12020
+ /** Operation context output type. Returns the stored context for each record. */
12498
12021
  export type OperationContext = {
12499
12022
  __typename?: 'OperationContext';
12500
12023
  /** App ID for app-level scoping */
@@ -12644,10 +12167,7 @@ export type OrderStatusUpdatedEvent = {
12644
12167
  updatedAt: Scalars['String']['output'];
12645
12168
  workspaceId?: Maybe<Scalars['ID']['output']>;
12646
12169
  };
12647
- /**
12648
- * Organization type stub - represents an organization entity from another service
12649
- * This service doesn't own the Organization model, but references it
12650
- */
12170
+ /** Organization type stub - represents an organization entity from another service This service doesn't own the Organization model, but references it */
12651
12171
  export type Organization = {
12652
12172
  __typename?: 'Organization';
12653
12173
  createdAt: Scalars['DateTime']['output'];
@@ -12709,11 +12229,7 @@ export type OrganizationAuditLogPageInfo = {
12709
12229
  endCursor?: Maybe<Scalars['String']['output']>;
12710
12230
  hasNextPage: Scalars['Boolean']['output'];
12711
12231
  };
12712
- /**
12713
- * Inline export payload for `exportOrganizationsCsv`. Returns CSV text along
12714
- * with a count of rows and a flag if the result was capped at the requested
12715
- * limit. Pattern mirrors `TenantExport` from the tenant module.
12716
- */
12232
+ /** Inline export payload for `exportOrganizationsCsv`. Returns CSV text along with a count of rows and a flag if the result was capped at the requested limit. Pattern mirrors `TenantExport` from the tenant module. */
12717
12233
  export type OrganizationCsvExport = {
12718
12234
  __typename?: 'OrganizationCsvExport';
12719
12235
  csv: Scalars['String']['output'];
@@ -12809,10 +12325,7 @@ export type PageInfo = {
12809
12325
  hasPreviousPage: Scalars['Boolean']['output'];
12810
12326
  startCursor?: Maybe<Scalars['String']['output']>;
12811
12327
  };
12812
- /**
12813
- * Response type for getTransactionsByBillingAccount query
12814
- * Contains basic billing account info and paginated transactions
12815
- */
12328
+ /** Response type for getTransactionsByBillingAccount query Contains basic billing account info and paginated transactions */
12816
12329
  export type PaginatedBillingAccountTransactions = {
12817
12330
  __typename?: 'PaginatedBillingAccountTransactions';
12818
12331
  /** Billing-specific email (for invoices) */
@@ -13051,10 +12564,7 @@ export declare enum PaymentMethodType {
13051
12564
  Paypal = "PAYPAL",
13052
12565
  Wallet = "WALLET"
13053
12566
  }
13054
- /**
13055
- * Payment provider configuration for frontend integration
13056
- * Contains only public keys safe to expose to the client
13057
- */
12567
+ /** Payment provider configuration for frontend integration Contains only public keys safe to expose to the client */
13058
12568
  export type PaymentProviderConfig = {
13059
12569
  __typename?: 'PaymentProviderConfig';
13060
12570
  /** Whether Razorpay is configured and available */
@@ -13304,19 +12814,13 @@ export type Plan = {
13304
12814
  createdAt?: Maybe<Scalars['DateTime']['output']>;
13305
12815
  /** The currency in which the plan is priced. Defaults to 'USD'. */
13306
12816
  currency?: Maybe<Scalars['String']['output']>;
13307
- /**
13308
- * Prices for all supported currencies with beautiful rounding.
13309
- * Example: { "USD": 2.00, "INR": 199, "EUR": 1.99, "GBP": 1.79 }
13310
- */
12817
+ /** Prices for all supported currencies with beautiful rounding. Example: { "USD": 2.00, "INR": 199, "EUR": 1.99, "GBP": 1.79 } */
13311
12818
  currencyPrices?: Maybe<Scalars['JSON']['output']>;
13312
12819
  /** The duration for which the plan is valid (e.g., monthly, yearly). Defaults to 'monthly'. */
13313
12820
  duration?: Maybe<PlanDuration>;
13314
12821
  /** A list of features provided by this plan, such as quotas or special services. */
13315
12822
  features?: Maybe<Array<Maybe<SubscriptionFeatures>>>;
13316
- /**
13317
- * Geography-specific price overrides. The billing account's country/state/region plus
13318
- * currency decide whether one of these overrides applies.
13319
- */
12823
+ /** Geography-specific price overrides. The billing account's country/state/region plus currency decide whether one of these overrides applies. */
13320
12824
  geoPricingOverrides: Array<GeoPricingOverride>;
13321
12825
  /** The unique identifier for the Plan, automatically generated as a UUID. */
13322
12826
  id?: Maybe<Scalars['ID']['output']>;
@@ -13334,15 +12838,9 @@ export type Plan = {
13334
12838
  price?: Maybe<Scalars['Float']['output']>;
13335
12839
  /** Historical record of price changes for this plan */
13336
12840
  priceHistory: Array<PlanPriceHistory>;
13337
- /**
13338
- * Per-seat rate used when pricingModel is PER_SEAT.
13339
- * Total charge = pricePerSeat × seatCount.
13340
- */
12841
+ /** Per-seat rate used when pricingModel is PER_SEAT. Total charge = pricePerSeat × seatCount. */
13341
12842
  pricePerSeat?: Maybe<Scalars['Float']['output']>;
13342
- /**
13343
- * Whether this plan bills at a flat rate or per seat.
13344
- * PER_SEAT plans pass seatCount as quantity to Stripe/Razorpay.
13345
- */
12843
+ /** Whether this plan bills at a flat rate or per seat. PER_SEAT plans pass seatCount as quantity to Stripe/Razorpay. */
13346
12844
  pricingModel?: Maybe<PlanPricingModel>;
13347
12845
  /** Which product the plan belongs to (reference to product microservice) */
13348
12846
  productID?: Maybe<Scalars['String']['output']>;
@@ -13355,10 +12853,7 @@ export declare enum PlanDuration {
13355
12853
  Monthly = "monthly",
13356
12854
  Yearly = "yearly"
13357
12855
  }
13358
- /**
13359
- * Tracks historical price changes for a Plan.
13360
- * A new record is created whenever a plan's price is updated.
13361
- */
12856
+ /** Tracks historical price changes for a Plan. A new record is created whenever a plan's price is updated. */
13362
12857
  export type PlanPriceHistory = {
13363
12858
  __typename?: 'PlanPriceHistory';
13364
12859
  /** Who made the price change (actor ID) */
@@ -13390,11 +12885,7 @@ export type PlanQuotaInput = {
13390
12885
  quotaId: Scalars['ID']['input'];
13391
12886
  };
13392
12887
  export type PlansFilter = {
13393
- /**
13394
- * Include free plans (price = 0) in the response.
13395
- * Defaults to true. Set to false on user-facing browse pages
13396
- * since free plans are auto-assigned and cannot be purchased.
13397
- */
12888
+ /** Include free plans (price = 0) in the response. Defaults to true. Set to false on user-facing browse pages since free plans are auto-assigned and cannot be purchased. */
13398
12889
  includeFree?: InputMaybe<Scalars['Boolean']['input']>;
13399
12890
  /** Filter plans by product ID. When set, only plans with this productID are returned. */
13400
12891
  productId?: InputMaybe<Scalars['String']['input']>;
@@ -13411,10 +12902,7 @@ export type PlatformDeliveryResult = {
13411
12902
  /** Whether at least one recipient was delivered successfully */
13412
12903
  success: Scalars['Boolean']['output'];
13413
12904
  };
13414
- /**
13415
- * PlatformProduct entity - resolvable via Federation Gateway.
13416
- * Other services can reference PlatformProduct by id or slug.
13417
- */
12905
+ /** PlatformProduct entity - resolvable via Federation Gateway. Other services can reference PlatformProduct by id or slug. */
13418
12906
  export type PlatformProduct = {
13419
12907
  __typename?: 'PlatformProduct';
13420
12908
  /** Number of active users */
@@ -13455,11 +12943,7 @@ export type PlatformProduct = {
13455
12943
  ogImage?: Maybe<Scalars['String']['output']>;
13456
12944
  /** Google Play Store URL */
13457
12945
  playStoreUrl?: Maybe<Scalars['String']['output']>;
13458
- /**
13459
- * reCAPTCHA secret key (server-side) for backend verification.
13460
- * Only accessible via internal gateway (platformProduct query requires auth).
13461
- * The publicProduct query does NOT resolve this field.
13462
- */
12946
+ /** reCAPTCHA secret key (server-side) for backend verification. Only accessible via internal gateway (platformProduct query requires auth). The publicProduct query does NOT resolve this field. */
13463
12947
  recaptchaSecretKey?: Maybe<Scalars['String']['output']>;
13464
12948
  /** reCAPTCHA site key (public) for frontend verification */
13465
12949
  recaptchaSiteKey?: Maybe<Scalars['String']['output']>;
@@ -13662,10 +13146,7 @@ export type ProductChartSnapshot = {
13662
13146
  storeId?: Maybe<Scalars['ID']['output']>;
13663
13147
  window: Scalars['String']['output'];
13664
13148
  };
13665
- /**
13666
- * A content page (privacy policy, terms of service, etc.) stored in markdown format.
13667
- * Supports global defaults (productId = null) and per-product overrides.
13668
- */
13149
+ /** A content page (privacy policy, terms of service, etc.) stored in markdown format. Supports global defaults (productId = null) and per-product overrides. */
13669
13150
  export type ProductContentPage = {
13670
13151
  __typename?: 'ProductContentPage';
13671
13152
  content: Scalars['String']['output'];
@@ -14058,15 +13539,9 @@ export type PushMfaStatus = {
14058
13539
  /** Root query type */
14059
13540
  export type Query = {
14060
13541
  __typename?: 'Query';
14061
- /**
14062
- * Placeholder field to allow empty Query type extension.
14063
- * Must be @shareable since it exists in multiple subgraphs.
14064
- */
13542
+ /** Placeholder field to allow empty Query type extension. Must be @shareable since it exists in multiple subgraphs. */
14065
13543
  _empty?: Maybe<Scalars['String']['output']>;
14066
- /**
14067
- * Health check for the service
14068
- * @rbac(public: true, scopeType: "global")
14069
- */
13544
+ /** Health check for the service @rbac(public: true, scopeType: "global") */
14070
13545
  _health: Scalars['String']['output'];
14071
13546
  _newsletterSubscriptionsPlaceholder?: Maybe<Scalars['String']['output']>;
14072
13547
  _privacyHealth?: Maybe<Scalars['String']['output']>;
@@ -14074,10 +13549,7 @@ export type Query = {
14074
13549
  actionDefinitions: Array<ActionDefinition>;
14075
13550
  /** Get all active schedules (for background processing) */
14076
13551
  activeSchedules: Array<TourSchedule>;
14077
- /**
14078
- * Get all active sessions for the current user.
14079
- * The `isCurrent` field indicates which session belongs to this request.
14080
- */
13552
+ /** Get all active sessions for the current user. The `isCurrent` field indicates which session belongs to this request. */
14081
13553
  activeSessions: SessionConnection;
14082
13554
  activityLog?: Maybe<ActivityLog>;
14083
13555
  activityLogs: ActivityLogConnection;
@@ -14102,6 +13574,10 @@ export type Query = {
14102
13574
  agentProfile?: Maybe<AgentProfile>;
14103
13575
  agentProfileByUserId?: Maybe<AgentProfile>;
14104
13576
  agentProfiles: AgentProfileConnection;
13577
+ /** Admin query: list all organizations in the platform (optionally filtered). Requires global 'organization:read' permission — super admins and platform admins only. For end-user "my orgs" access use myOrganizations instead. */
13578
+ allOrganizations: OrganizationList;
13579
+ /** Admin query: list all workspaces in the platform (optionally filtered). Requires global 'workspace:read' permission — super admins and platform admins only. For end-user "my workspaces" access use myWorkspaces instead. */
13580
+ allWorkspaces: WorkspaceList;
14105
13581
  app?: Maybe<App>;
14106
13582
  /** List API keys for a specific app */
14107
13583
  appApiKeys: ApiKeyConnection;
@@ -14126,10 +13602,7 @@ export type Query = {
14126
13602
  application?: Maybe<Application>;
14127
13603
  applicationAnalytics: Array<ApplicationAnalytics>;
14128
13604
  applications: ApplicationConnection;
14129
- /**
14130
- * Internal: get all approved waitlist entries for an email.
14131
- * Used by tenant-svc for product access checks.
14132
- */
13605
+ /** Internal: get all approved waitlist entries for an email. Used by tenant-svc for product access checks. */
14133
13606
  approvedWaitlistProducts: Array<NewsletterWaitlist>;
14134
13607
  appsActingAsCurrentUser: AppConnection;
14135
13608
  auditLogs: AuditLogConnection;
@@ -14141,44 +13614,12 @@ export type Query = {
14141
13614
  automationSubscribers: Array<AutomationSubscriber>;
14142
13615
  availableAgents: Array<AgentProfile>;
14143
13616
  availableAuthMethods: Array<AuthMethod>;
14144
- /**
14145
- * Get available preview features the user can opt-in to within a workspace.
14146
- * Returns only flags that are previewable, active, and allowed by workspace admin.
14147
- * Bounded by limit/offset to avoid unbounded fetches.
14148
- */
13617
+ /** Get available preview features the user can opt-in to within a workspace. Returns only flags that are previewable, active, and allowed by workspace admin. Bounded by limit/offset to avoid unbounded fetches. */
14149
13618
  availableFeaturePreviews: Array<FeatureFlag>;
14150
13619
  bounceStats: BounceStats;
14151
- /**
14152
- * Browse store products with unified filtering, sorting, and pagination.
14153
- * Search is treated as a filter - all filters combine with AND logic.
14154
- *
14155
- * Example usage:
14156
- * ```graphql
14157
- * query {
14158
- * browseStore(input: {
14159
- * filter: {
14160
- * search: "ai notification"
14161
- * type: NODE
14162
- * pricingModel: FREE
14163
- * minRating: 4.0
14164
- * compatibleWith: "workspaces"
14165
- * }
14166
- * sortBy: RELEVANCE
14167
- * pagination: { limit: 20, offset: 0 }
14168
- * }) {
14169
- * products { id name rating downloads }
14170
- * totalCount
14171
- * hasMore
14172
- * facets { categories { value count } }
14173
- * }
14174
- * }
14175
- * ```
14176
- */
13620
+ /** Browse store products with unified filtering, sorting, and pagination. Search is treated as a filter - all filters combine with AND logic. Example usage: ```graphql query { browseStore(input: { filter: { search: "ai notification" type: NODE pricingModel: FREE minRating: 4.0 compatibleWith: "workspaces" } sortBy: RELEVANCE pagination: { limit: 20, offset: 0 } }) { products { id name rating downloads } totalCount hasMore facets { categories { value count } } } } ``` */
14177
13621
  browseStore: BrowseStoreResult;
14178
- /**
14179
- * Calculate tax for a purchase (preview without creating payment)
14180
- * Used by checkout to show tax breakdown before payment
14181
- */
13622
+ /** Calculate tax for a purchase (preview without creating payment) Used by checkout to show tax breakdown before payment */
14182
13623
  calculateTax: TaxCalculationResult;
14183
13624
  campaign?: Maybe<NewsletterCampaign>;
14184
13625
  campaignBounces: Array<NewsletterBounce>;
@@ -14205,10 +13646,7 @@ export type Query = {
14205
13646
  checkPermissions: Array<PermissionCheckResult>;
14206
13647
  /** Check if a plan has an entitlement for a specific store item */
14207
13648
  checkPlanEntitlement?: Maybe<SubscriptionEntitlement>;
14208
- /**
14209
- * Check if the current user can access a specific product.
14210
- * Returns access status and reason.
14211
- */
13649
+ /** Check if the current user can access a specific product. Returns access status and reason. */
14212
13650
  checkProductAccess: ProductAccessResult;
14213
13651
  checkQuotaExhausted: QuotaCheckResult;
14214
13652
  /** Check if an actor can see a resource */
@@ -14218,10 +13656,7 @@ export type Query = {
14218
13656
  circuitBreakerStatus?: Maybe<CircuitBreakerState>;
14219
13657
  compareVariants: VariantComparisonResult;
14220
13658
  complaintStats: ComplaintStats;
14221
- /**
14222
- * Returns compliance-related audit events (consent changes, suppressions, bounces, complaints)
14223
- * for a given platform product, sorted by most recent first.
14224
- */
13659
+ /** Returns compliance-related audit events (consent changes, suppressions, bounces, complaints) for a given platform product, sorted by most recent first. */
14225
13660
  complianceAuditLog: Array<ComplianceAuditLogEntry>;
14226
13661
  complianceSettings?: Maybe<NewsletterComplianceSettings>;
14227
13662
  consentLedger: ConsentRecordConnection;
@@ -14232,17 +13667,11 @@ export type Query = {
14232
13667
  contactInquiry?: Maybe<ContactInquiry>;
14233
13668
  /** Get a single content page by ID */
14234
13669
  contentPage?: Maybe<ProductContentPage>;
14235
- /**
14236
- * Get a content page by slug and optional product ID.
14237
- * If productId is null, returns the global default page.
14238
- */
13670
+ /** Get a content page by slug and optional product ID. If productId is null, returns the global default page. */
14239
13671
  contentPageBySlug?: Maybe<ProductContentPage>;
14240
13672
  /** List content pages with optional filtering by product */
14241
13673
  contentPages: ProductContentPageList;
14242
- /**
14243
- * Convert an amount from one currency to another (uses live exchange rates)
14244
- * Default fromCurrency is USD
14245
- */
13674
+ /** Convert an amount from one currency to another (uses live exchange rates) Default fromCurrency is USD */
14246
13675
  convertCurrency: CurrencyConversion;
14247
13676
  currentUser?: Maybe<User>;
14248
13677
  currentUserApps: AppConnection;
@@ -14315,26 +13744,12 @@ export type Query = {
14315
13744
  estimateNewsletterRecipients: NewsletterRecipientEstimate;
14316
13745
  /** Estimate shipping for an order with a specific method */
14317
13746
  estimateOrderShipping: OrderShippingEstimate;
14318
- /**
14319
- * Evaluate feature flags for the current actor in a workspace context.
14320
- * Used by frontend providers for bulk flag evaluation.
14321
- * Returns OpenFeature-compatible ResolutionDetails for each flag.
14322
- * RBAC is scoped to the target workspace via `input.workspaceId`.
14323
- */
13747
+ /** Evaluate feature flags for the current actor in a workspace context. Used by frontend providers for bulk flag evaluation. Returns OpenFeature-compatible ResolutionDetails for each flag. RBAC is scoped to the target workspace via `input.workspaceId`. */
14324
13748
  evaluateFeatureFlags: FeatureFlagBulkEvaluation;
14325
- /**
14326
- * Synchronous super_admin export of organizations as a CSV string. Returns
14327
- * inline CSV (RFC-4180 with CWE-1236 protection) plus row count and a
14328
- * truncated flag indicating the result was capped at the requested limit.
14329
- */
13749
+ /** Synchronous super_admin export of organizations as a CSV string. Returns inline CSV (RFC-4180 with CWE-1236 protection) plus row count and a truncated flag indicating the result was capped at the requested limit. */
14330
13750
  exportOrganizationsCsv: OrganizationCsvExport;
14331
13751
  exportSubscribers: Array<ExportSubscriber>;
14332
- /**
14333
- * Synchronous superadmin export of tenants as a CSV string. The wspace-export-svc
14334
- * pipeline is workspace-scoped (every entity needs `workspace_id`) and therefore
14335
- * cannot host a global tenant export. Returning the data inline keeps the surface
14336
- * small; switch to a global-export-svc when the row volume warrants async jobs.
14337
- */
13752
+ /** Synchronous superadmin export of tenants as a CSV string. The wspace-export-svc pipeline is workspace-scoped (every entity needs `workspace_id`) and therefore cannot host a global tenant export. Returning the data inline keeps the surface small; switch to a global-export-svc when the row volume warrants async jobs. */
14338
13753
  exportTenantsCsv: TenantExport;
14339
13754
  exportTranslations: TranslationsExport;
14340
13755
  faq?: Maybe<Faq>;
@@ -14347,15 +13762,9 @@ export type Query = {
14347
13762
  /** List feature flags with optional filtering (super admin only) */
14348
13763
  featureFlags: FeatureFlagList;
14349
13764
  featuredProducts: Array<StoreProduct>;
14350
- /**
14351
- * Get available filter options for a given context.
14352
- * Useful for populating filter dropdowns in UI.
14353
- */
13765
+ /** Get available filter options for a given context. Useful for populating filter dropdowns in UI. */
14354
13766
  filterOptions: FilterOptionsResult;
14355
- /**
14356
- * Get active subscriptions for a billing account (optimized for dashboard)
14357
- * Only returns subscriptions with status = 'active'
14358
- */
13767
+ /** Get active subscriptions for a billing account (optimized for dashboard) Only returns subscriptions with status = 'active' */
14359
13768
  getActiveSubscriptions: Array<BillingSubscription>;
14360
13769
  /** Get the price change history for a specific addon */
14361
13770
  getAddonPriceHistory: Array<AddonPriceHistory>;
@@ -14373,11 +13782,7 @@ export type Query = {
14373
13782
  /** Get a billing account by ID */
14374
13783
  getBillingAccount?: Maybe<BillingAccount>;
14375
13784
  getBillingAccountCreditTransactions: PaginatedCreditTransactions;
14376
- /**
14377
- * Get usage summary for all quotas of a billing account.
14378
- * Returns both subscription (PRODUCT_SPECIFIC) and pooled quotas.
14379
- * If productId is provided, filters subscription quotas by that product.
14380
- */
13785
+ /** Get usage summary for all quotas of a billing account. Returns both subscription (PRODUCT_SPECIFIC) and pooled quotas. If productId is provided, filters subscription quotas by that product. */
14381
13786
  getBillingAccountQuotasSummary: BillingAccountQuotasSummary;
14382
13787
  /** Get all billing accounts for the current org (from context) */
14383
13788
  getBillingAccountsByOrg: Array<BillingAccount>;
@@ -14390,24 +13795,14 @@ export type Query = {
14390
13795
  /** Get a channel by ID */
14391
13796
  getChannel?: Maybe<Channel>;
14392
13797
  getChannelConnectionTags: Array<ChannelConnectionTagAssignment>;
14393
- /**
14394
- * Get recent delivery attempts for a channel.
14395
- * Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
14396
- * Falls back to offset when `cursor` is absent.
14397
- */
13798
+ /** Get recent delivery attempts for a channel. Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`. Falls back to offset when `cursor` is absent. */
14398
13799
  getChannelDeliveryAttempts: DeliveryAttemptList;
14399
- /**
14400
- * Get organization-level channel settings.
14401
- * Returns defaults when no settings have been saved yet.
14402
- */
13800
+ /** Get organization-level channel settings. Returns defaults when no settings have been saved yet. */
14403
13801
  getChannelOrgSettings: ChannelOrgSettings;
14404
13802
  /** Get channel statistics */
14405
13803
  getChannelStats: ChannelStats;
14406
13804
  getChannelTags: Array<ChannelTagAssignment>;
14407
- /**
14408
- * Get recent webhook events for a channel.
14409
- * Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
14410
- */
13805
+ /** Get recent webhook events for a channel. Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`. */
14411
13806
  getChannelWebhookEvents: WebhookEventList;
14412
13807
  /** Get all channels with optional filtering */
14413
13808
  getChannels: ChannelList;
@@ -14415,29 +13810,19 @@ export type Query = {
14415
13810
  getChannelsByOrganization: ChannelList;
14416
13811
  /** Get channels by platform */
14417
13812
  getChannelsByPlatform: ChannelList;
14418
- /**
14419
- * Get channels for failover (sorted by priority, ascending).
14420
- * Returns channels for a platform that are enabled for failover.
14421
- * Used by delivery logic for priority-based fallback.
14422
- */
13813
+ /** Get channels for failover (sorted by priority, ascending). Returns channels for a platform that are enabled for failover. Used by delivery logic for priority-based fallback. */
14423
13814
  getChannelsForFailover: Array<Channel>;
14424
13815
  /** Get a charge by ID */
14425
13816
  getCharge?: Maybe<Charge>;
14426
13817
  /** Get all charges for the current org (from context), optionally filtered by status */
14427
13818
  getCharges: Array<Charge>;
14428
- /**
14429
- * Get a connection by ID
14430
- * NOTE: Credentials are never returned in queries
14431
- */
13819
+ /** Get a connection by ID NOTE: Credentials are never returned in queries */
14432
13820
  getConnection?: Maybe<ChannelConnection>;
14433
13821
  /** Get connection by channel ID */
14434
13822
  getConnectionByChannel?: Maybe<ChannelConnection>;
14435
13823
  /** Get connection status summary */
14436
13824
  getConnectionStatus: ConnectionStatus;
14437
- /**
14438
- * Get all connections for an organization.
14439
- * Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
14440
- */
13825
+ /** Get all connections for an organization. Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`. */
14441
13826
  getConnectionsByOrganization: ChannelConnectionList;
14442
13827
  getCostOfCredits: CreditCost;
14443
13828
  /** Get a coupon by ID */
@@ -14446,22 +13831,14 @@ export type Query = {
14446
13831
  getCouponByCode?: Maybe<Coupon>;
14447
13832
  /** Get coupon usage history */
14448
13833
  getCouponUsageHistory: CouponUsageListResponse;
14449
- /**
14450
- * Get credit balance broken down by type (purchased, earned, granted, withdrawable).
14451
- * Computed from the transaction ledger — use this for withdrawal eligibility checks.
14452
- */
13834
+ /** Get credit balance broken down by type (purchased, earned, granted, withdrawable). Computed from the transaction ledger — use this for withdrawal eligibility checks. */
14453
13835
  getCreditBalanceByType: CreditBalanceByType;
14454
13836
  /** Get credit notes for the current org (from context) */
14455
13837
  getCreditNotes: Array<CreditNote>;
14456
13838
  getCreditTransactionDetails: CreditTransaction;
14457
13839
  /** Get the default/first billing account for the current org (from context) */
14458
13840
  getDefaultBillingAccount?: Maybe<BillingAccount>;
14459
- /**
14460
- * Get the default billing account for a specific organization by orgId.
14461
- * Returns the billing account where isDefault = true for the given orgId.
14462
- * If no default is set, returns the first active billing account.
14463
- * Used by gateway for automatic billing account resolution in usage tracking.
14464
- */
13841
+ /** Get the default billing account for a specific organization by orgId. Returns the billing account where isDefault = true for the given orgId. If no default is set, returns the first active billing account. Used by gateway for automatic billing account resolution in usage tracking. */
14465
13842
  getDefaultBillingAccountByOrgId?: Maybe<BillingAccount>;
14466
13843
  /** Get the default payment method for a billing account */
14467
13844
  getDefaultPaymentMethod?: Maybe<PaymentMethod>;
@@ -14479,20 +13856,11 @@ export type Query = {
14479
13856
  getEntitlement?: Maybe<SubscriptionEntitlement>;
14480
13857
  /** Get external OIDC configuration for a tenant (Google, Microsoft, etc.) */
14481
13858
  getExternalOIDCConfig?: Maybe<ExternalOidcConfiguration>;
14482
- /**
14483
- * Get billing orders with failed callbacks (admin only)
14484
- * Useful for monitoring and manual retry
14485
- */
13859
+ /** Get billing orders with failed callbacks (admin only) Useful for monitoring and manual retry */
14486
13860
  getFailedBillingOrderCallbacks: FailedBillingOrderCallbacksResponse;
14487
- /**
14488
- * Get failed delivery attempts for retry.
14489
- * Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
14490
- */
13861
+ /** Get failed delivery attempts for retry. Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`. */
14491
13862
  getFailedDeliveryAttempts: DeliveryAttemptList;
14492
- /**
14493
- * Get failed webhook events for retry.
14494
- * Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
14495
- */
13863
+ /** Get failed webhook events for retry. Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`. */
14496
13864
  getFailedWebhookEvents: WebhookEventList;
14497
13865
  /** Get an invoice by ID */
14498
13866
  getInvoice?: Maybe<Invoice>;
@@ -14518,10 +13886,7 @@ export type Query = {
14518
13886
  getPaymentFailures: Array<PaymentFailure>;
14519
13887
  /** Get payment methods for a billing account */
14520
13888
  getPaymentMethods: Array<PaymentMethod>;
14521
- /**
14522
- * Get payment provider configuration for frontend integration
14523
- * Returns public keys only (safe to expose to client)
14524
- */
13889
+ /** Get payment provider configuration for frontend integration Returns public keys only (safe to expose to client) */
14525
13890
  getPaymentProviderConfig: PaymentProviderConfig;
14526
13891
  /** Get all payments for the current org (from context), optionally filtered by status */
14527
13892
  getPayments: Array<Payment>;
@@ -14544,10 +13909,7 @@ export type Query = {
14544
13909
  getReferralCodeByCode?: Maybe<ReferralCode>;
14545
13910
  /** Get a single refund record by ID */
14546
13911
  getRefundRecord?: Maybe<RefundRecord>;
14547
- /**
14548
- * Get refund records with filters and pagination (for admin dashboard).
14549
- * Uses orgId from context by default. Super admins can override with orgIdFilter.
14550
- */
13912
+ /** Get refund records with filters and pagination (for admin dashboard). Uses orgId from context by default. Super admins can override with orgIdFilter. */
14551
13913
  getRefundRecords: PaginatedRefundRecords;
14552
13914
  /** Get refund statistics (counts and amounts) */
14553
13915
  getRefundStats: RefundStats;
@@ -14564,12 +13926,7 @@ export type Query = {
14564
13926
  getStoreProductTags: Array<StoreProductTagAssignment>;
14565
13927
  /** Get a subscription by ID */
14566
13928
  getSubscription?: Maybe<BillingSubscription>;
14567
- /**
14568
- * Enhanced subscription overview with better pagination and filtering
14569
- * @param includeExpired - Include past/canceled/expired subscriptions (default: false)
14570
- * @param onlyExpired - Only fetch past subscriptions for lazy loading (default: false)
14571
- * @param searchQuery - Search quotas by name in database (case-insensitive)
14572
- */
13929
+ /** Enhanced subscription overview with better pagination and filtering @param includeExpired - Include past/canceled/expired subscriptions (default: false) @param onlyExpired - Only fetch past subscriptions for lazy loading (default: false) @param searchQuery - Search quotas by name in database (case-insensitive) */
14573
13930
  getSubscriptionUsageOverview?: Maybe<Array<SubscriptionWithQuotas>>;
14574
13931
  getSubscriptionUsages: SubscriptionQuotaUsageWithFilter;
14575
13932
  /** Get tax rates */
@@ -14592,10 +13949,7 @@ export type Query = {
14592
13949
  getWebhookStats: WebhookStats;
14593
13950
  /** Health check endpoint */
14594
13951
  health: HealthStatus;
14595
- /**
14596
- * Get grouped products for homepage.
14597
- * Optionally filter by compatible product (e.g., "bigconsole", "fluidgrids").
14598
- */
13952
+ /** Get grouped products for homepage. Optionally filter by compatible product (e.g., "bigconsole", "fluidgrids"). */
14599
13953
  homeGroupedProducts: GroupedStoreProducts;
14600
13954
  homepageSections: Array<HomepageSection>;
14601
13955
  i18nModule?: Maybe<I18nModule>;
@@ -14610,12 +13964,7 @@ export type Query = {
14610
13964
  /** Initiate HTTP Digest auth challenge */
14611
13965
  initiateDigestChallenge: DigestChallengeResult;
14612
13966
  inventoryAdjustments: Array<InventoryAdjustment>;
14613
- /**
14614
- * Fast check for a single (app, workspace) pair. Used by wspace-auth-svc via
14615
- * the internal global gateway before issuing a workspace token to an app
14616
- * actor. Public (no actor RBAC) because the internal gateway is the only
14617
- * caller and it trusts the x-actor-* headers it injects.
14618
- */
13967
+ /** Fast check for a single (app, workspace) pair. Used by wspace-auth-svc via the internal global gateway before issuing a workspace token to an app actor. Public (no actor RBAC) because the internal gateway is the only caller and it trusts the x-actor-* headers it injects. */
14619
13968
  isAppAuthorizedForWorkspace: Scalars['Boolean']['output'];
14620
13969
  isAppInstalled?: Maybe<StoreAppInstallation>;
14621
13970
  isEmailSuppressed: Scalars['Boolean']['output'];
@@ -14636,27 +13985,15 @@ export type Query = {
14636
13985
  listCoupons: CouponsListResponse;
14637
13986
  /** List all referral codes (admin) */
14638
13987
  listReferralCodes: ReferralCodesListResponse;
14639
- /**
14640
- * List all platform connections for a channel.
14641
- * Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
14642
- */
13988
+ /** List all platform connections for a channel. Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`. */
14643
13989
  listUserPlatformConnectionsByChannel: UserPlatformConnectionList;
14644
- /**
14645
- * List all platform connections for an organization.
14646
- * Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
14647
- */
13990
+ /** List all platform connections for an organization. Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`. */
14648
13991
  listUserPlatformConnectionsByOrganization: UserPlatformConnectionList;
14649
- /**
14650
- * List all platform connections for a given internal user.
14651
- * Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`.
14652
- */
13992
+ /** List all platform connections for a given internal user. Supports cursor pagination — pass `cursor` from the previous page's `nextCursor`. */
14653
13993
  listUserPlatformConnectionsByUser: UserPlatformConnectionList;
14654
13994
  lookupAffiliateCode?: Maybe<AffiliateCode>;
14655
13995
  lowStockProducts: Array<LowStockProduct>;
14656
- /**
14657
- * Returns products the current user can access based on their actor type,
14658
- * email domain, and waitlist approval status. Used by app shells for nav.
14659
- */
13996
+ /** Returns products the current user can access based on their actor type, email domain, and waitlist approval status. Used by app shells for nav. */
14660
13997
  myAccessibleProducts: PlatformProductList;
14661
13998
  myActivityLogs: ActivityLogConnection;
14662
13999
  myAffiliateCodes: AffiliateCodeConnection;
@@ -14667,28 +14004,13 @@ export type Query = {
14667
14004
  myAppInstallations: AppInstallationConnection;
14668
14005
  /** Get my review for an application */
14669
14006
  myAppReview?: Maybe<AppReview>;
14670
- /**
14671
- * Get all workspaces the actor is authorized to access
14672
- * Returns list with basic routing details (name, workspaceId, publicUrl)
14673
- */
14007
+ /** Get all workspaces the actor is authorized to access Returns list with basic routing details (name, workspaceId, publicUrl) */
14674
14008
  myAuthorizedWorkspaces: WorkspaceRoutingList;
14675
14009
  /** Get the current user's active cart */
14676
14010
  myCart?: Maybe<Cart>;
14677
- /**
14678
- * Get the authenticated caller's own contact inquiries.
14679
- *
14680
- * Matches by email (case-insensitive). The public `submitContactInquiry`
14681
- * mutation stores submissions with `createdBy = "anonymous"`, so there is no
14682
- * userId to filter on; scoping by the gateway-forwarded email is the only
14683
- * reliable way to link a signed-in user back to their earlier anonymous
14684
- * submissions.
14685
- */
14011
+ /** Get the authenticated caller's own contact inquiries. Matches by email (case-insensitive). The public `submitContactInquiry` mutation stores submissions with `createdBy = "anonymous"`, so there is no userId to filter on; scoping by the gateway-forwarded email is the only reliable way to link a signed-in user back to their earlier anonymous submissions. */
14686
14012
  myContactInquiries: ContactInquiryList;
14687
- /**
14688
- * Get the current user's dashboard widget layout preferences.
14689
- * Returns the dashboard configuration JSON from preferences,
14690
- * or null if no customization has been saved (frontend uses defaults).
14691
- */
14013
+ /** Get the current user's dashboard widget layout preferences. Returns the dashboard configuration JSON from preferences, or null if no customization has been saved (frontend uses defaults). */
14692
14014
  myDashboardPreferences?: Maybe<Scalars['JSON']['output']>;
14693
14015
  /** Get my developer organizations (where I'm a member) */
14694
14016
  myDeveloperOrganizations: Array<DeveloperOrganization>;
@@ -14703,9 +14025,9 @@ export type Query = {
14703
14025
  myNotificationCountsByChannel: NotificationChannelCounts;
14704
14026
  /** Get all orders for the authenticated user */
14705
14027
  myOrders: Array<StoreOrder>;
14706
- /** Get invites for the current authenticated user (invitee view) */
14028
+ /** Get invites for the current authenticated user (invitee view). Membership-scoped: the resolver filters by actorId (invitee). Any authenticated user may call this; no RBAC permission is checked. */
14707
14029
  myOrganizationInvites: OrganizationInviteList;
14708
- /** Get organizations where the current user is a member */
14030
+ /** Get organizations where the current user is a member (owned + added to). Membership-scoped: the resolver filters by actorId, so the returned set IS the access list. Any authenticated user may call this; no RBAC permission is checked. */
14709
14031
  myOrganizations: OrganizationList;
14710
14032
  /** List user's registered passkeys */
14711
14033
  myPasskeys: Array<PasskeyInfo>;
@@ -14713,25 +14035,16 @@ export type Query = {
14713
14035
  myPayoutRequests: PayoutRequestConnection;
14714
14036
  /** Get my pending invitations */
14715
14037
  myPendingInvitations: Array<DeveloperOrgInvitation>;
14716
- /**
14717
- * Get current user's permissions in a scope (self-service).
14718
- * Returns full permission details including roles, permission strings, and cache TTL.
14719
- */
14038
+ /** Get current user's permissions in a scope (self-service). Returns full permission details including roles, permission strings, and cache TTL. */
14720
14039
  myPermissions: EffectivePermissions;
14721
- /**
14722
- * Get the current user's full preferences record.
14723
- * Creates a default record if none exists.
14724
- */
14040
+ /** Get the current user's full preferences record. Creates a default record if none exists. */
14725
14041
  myPreferences?: Maybe<UserPreference>;
14726
14042
  /** List user's registered public keys */
14727
14043
  myPublicKeys: Array<PublicKeyInfo>;
14728
14044
  /** Get the current user's publisher profile, or null if none exists yet. */
14729
14045
  myPublisher?: Maybe<Publisher>;
14730
14046
  myReviews: Array<ProductReview>;
14731
- /**
14732
- * Get current user's roles in a scope (lightweight, self-service).
14733
- * Use this for quick role checks without fetching full permissions.
14734
- */
14047
+ /** Get current user's roles in a scope (lightweight, self-service). Use this for quick role checks without fetching full permissions. */
14735
14048
  myRoles: MyRolesResult;
14736
14049
  myStoreAppInstallations: StoreAppInstallationConnection;
14737
14050
  /** Stores the current user is subscribed to (auto-includes public stores). */
@@ -14742,24 +14055,14 @@ export type Query = {
14742
14055
  myTenants: TenantList;
14743
14056
  /** Get unread notification count for authenticated user */
14744
14057
  myUnreadNotificationCount: Scalars['Int']['output'];
14745
- /**
14746
- * Get the current authenticated user's platform connection for a given channel.
14747
- * Uses the actor's internal user ID from request context — no internalUserId
14748
- * argument needed. Returns null if the user has not connected this channel.
14749
- */
14058
+ /** Get the current authenticated user's platform connection for a given channel. Uses the actor's internal user ID from request context — no internalUserId argument needed. Returns null if the user has not connected this channel. */
14750
14059
  myUserPlatformConnection?: Maybe<UserPlatformConnection>;
14751
- /**
14752
- * Public: check waitlist status by email + product. Returns null if not on waitlist.
14753
- * Rate-limited at API gateway level.
14754
- */
14060
+ /** Public: check waitlist status by email + product. Returns null if not on waitlist. Rate-limited at API gateway level. */
14755
14061
  myWaitlistStatus?: Maybe<NewsletterWaitlist>;
14756
14062
  /** List user's linked wallets */
14757
14063
  myWallets: Array<WalletInfo>;
14758
14064
  myWishlist: Array<UserWishlist>;
14759
- /**
14760
- * Get workspaces where the current user is a member
14761
- * Self-service query - returns only the authenticated user's workspaces
14762
- */
14065
+ /** Get workspaces where the current user is a member (owned + added to). Membership-scoped: the resolver filters by actorId, so the returned set IS the access list. Any authenticated user may call this; no RBAC permission is checked. */
14763
14066
  myWorkspaces: WorkspaceList;
14764
14067
  newsletter?: Maybe<Newsletter>;
14765
14068
  newsletterAutomation?: Maybe<NewsletterAutomation>;
@@ -14809,11 +14112,7 @@ export type Query = {
14809
14112
  orderFulfillment?: Maybe<OrderFulfillment>;
14810
14113
  /** Get a single organization by ID */
14811
14114
  organization?: Maybe<Organization>;
14812
- /**
14813
- * Paginated keyset connection over the persistent OrganizationAuditLog table.
14814
- * Returns audit events for a single organization, newest first. Supports
14815
- * optional filtering by `action` (event name) and `actorId`.
14816
- */
14115
+ /** Paginated keyset connection over the persistent OrganizationAuditLog table. Returns audit events for a single organization, newest first. Supports optional filtering by `action` (event name) and `actorId`. */
14817
14116
  organizationAuditLogsConnection: OrganizationAuditLogConnection;
14818
14117
  /** Get an organization by slug within a tenant */
14819
14118
  organizationBySlug?: Maybe<Organization>;
@@ -14822,7 +14121,10 @@ export type Query = {
14822
14121
  /** Get members of an organization */
14823
14122
  organizationMembers: OrganizationMemberList;
14824
14123
  organizationScheduleQuotas: OrganizationScheduleQuotas;
14825
- /** List all organizations with optional filtering and pagination */
14124
+ /**
14125
+ * List all organizations with optional filtering and pagination
14126
+ * @deprecated Dual-personality query. Use 'allOrganizations' for admin/global access or 'myOrganizations' for membership-scoped access. Scheduled for removal.
14127
+ */
14826
14128
  organizations: OrganizationList;
14827
14129
  payoutRunHistory: Array<PayoutRunLog>;
14828
14130
  /** Publishers awaiting verification review (admin queue). */
@@ -14860,52 +14162,25 @@ export type Query = {
14860
14162
  productOrders: ItemOrdersList;
14861
14163
  productReleases: Array<ProductRelease>;
14862
14164
  productReviews: Array<ProductReview>;
14863
- /**
14864
- * Get shortcuts for a specific product (includes global shortcuts).
14865
- * Bounded by limit/offset to avoid unbounded fetches.
14866
- */
14165
+ /** Get shortcuts for a specific product (includes global shortcuts). Bounded by limit/offset to avoid unbounded fetches. */
14867
14166
  productShortcuts: Array<KeyboardShortcut>;
14868
14167
  /** Get product-level tour statistics */
14869
14168
  productTourStatistics: ProductTourStatistics;
14870
14169
  products: Array<StoreProduct>;
14871
14170
  pseudoLocaleStats: PseudoLocaleStats;
14872
- /**
14873
- * Get all active addons for a specific product (public, no authentication required).
14874
- * Used by product website pricing pages.
14875
- * Only returns active addons.
14876
- */
14171
+ /** Get all active addons for a specific product (public, no authentication required). Used by product website pricing pages. Only returns active addons. */
14877
14172
  publicAddons: Array<Addon>;
14878
- /**
14879
- * Get a public content page by slug and optional product ID.
14880
- * Only returns pages with visibility=PUBLIC and isPublished=true.
14881
- */
14173
+ /** Get a public content page by slug and optional product ID. Only returns pages with visibility=PUBLIC and isPublished=true. */
14882
14174
  publicContentPage?: Maybe<ProductContentPage>;
14883
- /**
14884
- * List public content pages for a product.
14885
- * Only returns pages with visibility=PUBLIC and isPublished=true.
14886
- */
14175
+ /** List public content pages for a product. Only returns pages with visibility=PUBLIC and isPublished=true. */
14887
14176
  publicContentPages: ProductContentPageList;
14888
- /**
14889
- * Get all active plans for a specific product (public, no authentication required).
14890
- * Used by product website pricing pages.
14891
- * Only returns active plans with their features.
14892
- */
14177
+ /** Get all active plans for a specific product (public, no authentication required). Used by product website pricing pages. Only returns active plans with their features. */
14893
14178
  publicPlans: Array<Plan>;
14894
- /**
14895
- * Get a platform product by slug (public, no auth required).
14896
- * Returns only ACTIVE or WAITLIST products.
14897
- * Does NOT expose sensitive fields like recaptchaSecretKey.
14898
- */
14179
+ /** Get a platform product by slug (public, no auth required). Returns only ACTIVE or WAITLIST products. Does NOT expose sensitive fields like recaptchaSecretKey. */
14899
14180
  publicProduct?: Maybe<PlatformProduct>;
14900
- /**
14901
- * Get all platform products (public, no auth required).
14902
- * Returns only ACTIVE or WAITLIST products (WAITLIST products are visible for waitlist signup).
14903
- */
14181
+ /** Get all platform products (public, no auth required). Returns only ACTIVE or WAITLIST products (WAITLIST products are visible for waitlist signup). */
14904
14182
  publicProducts: PlatformProductList;
14905
- /**
14906
- * Resolve a public content page for a product with template variable replacement.
14907
- * Only returns pages with visibility=PUBLIC and isPublished=true.
14908
- */
14183
+ /** Resolve a public content page for a product with template variable replacement. Only returns pages with visibility=PUBLIC and isPublished=true. */
14909
14184
  publicResolvedContentPage?: Maybe<ProductContentPage>;
14910
14185
  publicScheduleTemplates: ScheduleTemplateConnection;
14911
14186
  publishedProducts: Array<StoreProduct>;
@@ -14920,11 +14195,7 @@ export type Query = {
14920
14195
  recentArticles: Array<KnowledgeBaseArticle>;
14921
14196
  releaseAuditEvents: Array<ProductReleaseAuditEvent>;
14922
14197
  releaseTracks: Array<ReleaseTrack>;
14923
- /**
14924
- * Resolve the effective content page for a product.
14925
- * Returns the product-specific page if it exists, otherwise the global default.
14926
- * Template variables in content (e.g. {{productName}}) are replaced with product data.
14927
- */
14198
+ /** Resolve the effective content page for a product. Returns the product-specific page if it exists, otherwise the global default. Template variables in content (e.g. {{productName}}) are replaced with product data. */
14928
14199
  resolvedContentPage?: Maybe<ProductContentPage>;
14929
14200
  /** Get a specific registered resource by ID */
14930
14201
  resource?: Maybe<Resource>;
@@ -14960,11 +14231,7 @@ export type Query = {
14960
14231
  searchFAQs: Array<Faq>;
14961
14232
  searchKnowledgeBase: Array<KnowledgeBaseArticle>;
14962
14233
  searchProducts: Array<StoreProduct>;
14963
- /**
14964
- * Get search suggestions for autocomplete.
14965
- * Returns suggestions from product names, tags, categories, and authors.
14966
- * Uses trigram matching for fuzzy search.
14967
- */
14234
+ /** Get search suggestions for autocomplete. Returns suggestions from product names, tags, categories, and authors. Uses trigram matching for fuzzy search. */
14968
14235
  searchSuggestions: Array<SearchSuggestion>;
14969
14236
  searchTicketTemplates: Array<TicketTemplate>;
14970
14237
  searchTickets: Array<SupportTicket>;
@@ -14976,26 +14243,7 @@ export type Query = {
14976
14243
  /** Fetch a store by id or slug. */
14977
14244
  store?: Maybe<Store>;
14978
14245
  storeAppInstallation?: Maybe<StoreAppInstallation>;
14979
- /**
14980
- * Get detailed product information for the app details page.
14981
- * Includes product data, reviews, related products, publisher info, and version history.
14982
- * Automatically increments view count.
14983
- *
14984
- * Example usage:
14985
- * ```graphql
14986
- * query {
14987
- * storeProductDetails(input: { id: "product-123" }) {
14988
- * product { id name description manifest rating downloads }
14989
- * reviews { id rating comment }
14990
- * relatedProducts { id name icon }
14991
- * publisher { id name isVerified }
14992
- * versions { id version status }
14993
- * userReview { id rating }
14994
- * isPurchased
14995
- * }
14996
- * }
14997
- * ```
14998
- */
14246
+ /** Get detailed product information for the app details page. Includes product data, reviews, related products, publisher info, and version history. Automatically increments view count. Example usage: ```graphql query { storeProductDetails(input: { id: "product-123" }) { product { id name description manifest rating downloads } reviews { id rating comment } relatedProducts { id name icon } publisher { id name isVerified } versions { id version status } userReview { id rating } isPurchased } } ``` */
14999
14247
  storeProductDetails: StoreProductDetailsResult;
15000
14248
  /** List all stores the caller can see. */
15001
14249
  stores: Array<Store>;
@@ -15025,11 +14273,7 @@ export type Query = {
15025
14273
  tenant?: Maybe<Tenant>;
15026
14274
  /** Get a tenant by slug */
15027
14275
  tenantBySlug?: Maybe<Tenant>;
15028
- /**
15029
- * Get tenant routing info by ID.
15030
- * Lightweight query for gateway routing decisions.
15031
- * Returns type (SHARED/DEDICATED), endpoint, and status.
15032
- */
14276
+ /** Get tenant routing info by ID. Lightweight query for gateway routing decisions. Returns type (SHARED/DEDICATED), endpoint, and status. */
15033
14277
  tenantRoutingInfo?: Maybe<TenantRoutingInfo>;
15034
14278
  /** List all tenants with optional filtering and pagination */
15035
14279
  tenants: TenantList;
@@ -15069,12 +14313,7 @@ export type Query = {
15069
14313
  tourUserProgressList: Array<TourUserProgress>;
15070
14314
  /** Get tours with optional filtering and pagination */
15071
14315
  tours: ToursResponse;
15072
- /**
15073
- * Get tours for a specific context (product/module/page).
15074
- * Public endpoint consumed by frontend SDKs without authentication
15075
- * (the resolver returns published, active, in-window tours and uses an
15076
- * anonymous actor id). See spec global-specs/modules/tours/RBAC.md:34.
15077
- */
14316
+ /** Get tours for a specific context (product/module/page). Public endpoint consumed by frontend SDKs without authentication (the resolver returns published, active, in-window tours and uses an anonymous actor id). See spec global-specs/modules/tours/RBAC.md:34. */
15078
14317
  toursForContext: Array<Tour>;
15079
14318
  translation?: Maybe<Translation>;
15080
14319
  translationAudit: TranslationAuditList;
@@ -15085,19 +14324,13 @@ export type Query = {
15085
14324
  translationKeys: TranslationKeyList;
15086
14325
  translationStats: Scalars['JSON']['output'];
15087
14326
  translations: TranslationList;
15088
- /**
15089
- * Get popular/trending search terms.
15090
- * Useful for showing suggestions when search input is empty.
15091
- */
14327
+ /** Get popular/trending search terms. Useful for showing suggestions when search input is empty. */
15092
14328
  trendingSearches: Array<Scalars['String']['output']>;
15093
14329
  /** Get a user by ID (admin only) */
15094
14330
  user?: Maybe<User>;
15095
14331
  /** Get total count of users (for analytics) */
15096
14332
  userCount: Scalars['Int']['output'];
15097
- /**
15098
- * Get a user's feature flag preferences in a workspace.
15099
- * Bounded by limit/offset to avoid unbounded fetches.
15100
- */
14333
+ /** Get a user's feature flag preferences in a workspace. Bounded by limit/offset to avoid unbounded fetches. */
15101
14334
  userFeatureFlagPreferences: Array<UserFeatureFlagPreference>;
15102
14335
  userLanguagePreference?: Maybe<UserLanguagePreference>;
15103
14336
  /** Check if the current user has reviewed a specific product */
@@ -15110,10 +14343,7 @@ export type Query = {
15110
14343
  users: UserConnection;
15111
14344
  /** Validate a coupon code for a specific order */
15112
14345
  validateCoupon: ValidateCouponResponse;
15113
- /**
15114
- * Validate a license key without modifying state. Used by vibecontrols
15115
- * agents + wspace services to check license validity before plugin load.
15116
- */
14346
+ /** Validate a license key without modifying state. Used by vibecontrols agents + wspace services to check license validity before plugin load. */
15117
14347
  validateLicense: LicenseValidationResult;
15118
14348
  validatePromoCode: PromoCodeValidationResult;
15119
14349
  /** Get visibility rules for a resource */
@@ -15131,27 +14361,20 @@ export type Query = {
15131
14361
  workspaceAnalyticsSummary: WorkspaceTourAnalyticsSummary;
15132
14362
  /** Get a workspace by slug within a tenant */
15133
14363
  workspaceBySlug?: Maybe<Workspace>;
15134
- /**
15135
- * Get workspace overrides for a specific workspace.
15136
- * Bounded by limit/offset to avoid unbounded fetches.
15137
- */
14364
+ /** Get workspace overrides for a specific workspace. Bounded by limit/offset to avoid unbounded fetches. */
15138
14365
  workspaceFeatureFlagOverrides: Array<WorkspaceFeatureFlagOverride>;
15139
14366
  /** Get members of a workspace */
15140
14367
  workspaceMembers: WorkspaceMemberList;
15141
- /**
15142
- * Get public details of a workspace by ID
15143
- * Returns public info if actor is authorized
15144
- */
14368
+ /** Get public details of a workspace by ID Returns public info if actor is authorized */
15145
14369
  workspacePublicDetails?: Maybe<WorkspacePublicDetails>;
15146
- /**
15147
- * Get workspace routing info by ID
15148
- * Returns workspace name, endpoint (publicUrl), region for routing purposes
15149
- * Requires actor to be a member of the workspace
15150
- */
14370
+ /** Get workspace routing info by ID Returns workspace name, endpoint (publicUrl), region for routing purposes Requires actor to be a member of the workspace */
15151
14371
  workspaceRouting?: Maybe<WorkspaceRouting>;
15152
14372
  /** Get workspace store orders with pagination */
15153
14373
  workspaceStoreOrders: StoreOrdersResult;
15154
- /** List all workspaces with optional filtering and pagination */
14374
+ /**
14375
+ * List all workspaces with optional filtering and pagination.
14376
+ * @deprecated Dual-personality query. Use 'allWorkspaces' for admin/global access or 'myWorkspaces' for membership-scoped access. Scheduled for removal.
14377
+ */
15155
14378
  workspaces: WorkspaceList;
15156
14379
  };
15157
14380
  /** Root query type */
@@ -15253,6 +14476,18 @@ export type QueryAgentProfilesArgs = {
15253
14476
  offset?: InputMaybe<Scalars['Int']['input']>;
15254
14477
  };
15255
14478
  /** Root query type */
14479
+ export type QueryAllOrganizationsArgs = {
14480
+ filter?: InputMaybe<OrganizationFilterInput>;
14481
+ limit?: InputMaybe<Scalars['Int']['input']>;
14482
+ offset?: InputMaybe<Scalars['Int']['input']>;
14483
+ };
14484
+ /** Root query type */
14485
+ export type QueryAllWorkspacesArgs = {
14486
+ filter?: InputMaybe<WorkspaceFilterInput>;
14487
+ limit?: InputMaybe<Scalars['Int']['input']>;
14488
+ offset?: InputMaybe<Scalars['Int']['input']>;
14489
+ };
14490
+ /** Root query type */
15256
14491
  export type QueryAppArgs = {
15257
14492
  id: Scalars['ID']['input'];
15258
14493
  };
@@ -16103,6 +15338,7 @@ export type QueryGetPaginatedInvoicesArgs = {
16103
15338
  billingAccountId?: InputMaybe<Scalars['ID']['input']>;
16104
15339
  page?: InputMaybe<Scalars['Int']['input']>;
16105
15340
  pageSize?: InputMaybe<Scalars['Int']['input']>;
15341
+ search?: InputMaybe<Scalars['String']['input']>;
16106
15342
  status?: InputMaybe<InvoiceStatus>;
16107
15343
  };
16108
15344
  /** Root query type */
@@ -16110,6 +15346,7 @@ export type QueryGetPaginatedSubscriptionsArgs = {
16110
15346
  billingAccountId: Scalars['ID']['input'];
16111
15347
  page?: InputMaybe<Scalars['Int']['input']>;
16112
15348
  pageSize?: InputMaybe<Scalars['Int']['input']>;
15349
+ search?: InputMaybe<Scalars['String']['input']>;
16113
15350
  };
16114
15351
  /** Root query type */
16115
15352
  export type QueryGetPaymentArgs = {
@@ -17584,12 +16821,7 @@ export type Quota = {
17584
16821
  name?: Maybe<Scalars['String']['output']>;
17585
16822
  /** Defines whether this quota template is pooled (shared across products) or product-specific. */
17586
16823
  quotaType?: Maybe<QuotaType>;
17587
- /**
17588
- * When does usage reset for assignments of this quota?
17589
- * NEVER = static limit (seats, agents, storage cap)
17590
- * DAILY = resets each day at midnight UTC (API requests/day, AI sessions/day)
17591
- * MONTHLY = resets at the start of each billing cycle
17592
- */
16824
+ /** When does usage reset for assignments of this quota? NEVER = static limit (seats, agents, storage cap) DAILY = resets each day at midnight UTC (API requests/day, AI sessions/day) MONTHLY = resets at the start of each billing cycle */
17593
16825
  resetPeriod?: Maybe<QuotaResetPeriod>;
17594
16826
  /** A Quota is reusable or not (e.g., bot,seats). */
17595
16827
  reusable?: Maybe<Scalars['Boolean']['output']>;
@@ -17614,11 +16846,7 @@ export type QuotaAssignment = {
17614
16846
  endtime?: Maybe<Scalars['DateTime']['output']>;
17615
16847
  /** The unique identifier for the QuotaAssignment, automatically generated as a UUID. */
17616
16848
  id?: Maybe<Scalars['ID']['output']>;
17617
- /**
17618
- * When limits were last restored to their original value by the reset job.
17619
- * Null means this assignment has never been reset in-place.
17620
- * The daily QuotaResetWorkflow uses this to find assignments that need resetting.
17621
- */
16849
+ /** When limits were last restored to their original value by the reset job. Null means this assignment has never been reset in-place. The daily QuotaResetWorkflow uses this to find assignments that need resetting. */
17622
16850
  lastResetAt?: Maybe<Scalars['DateTime']['output']>;
17623
16851
  /** A JSON object defining the limits associated with the assigned quota (e.g., data caps, usage limits). */
17624
16852
  limits?: Maybe<Scalars['JSON']['output']>;
@@ -17626,10 +16854,7 @@ export type QuotaAssignment = {
17626
16854
  name?: Maybe<Scalars['String']['output']>;
17627
16855
  /** The type of quota - POOLED (billing account level) or PRODUCT_SPECIFIC (subscription level). */
17628
16856
  quotaType?: Maybe<QuotaType>;
17629
- /**
17630
- * Copied from parent Quota.resetPeriod at creation. Tells the reset job how often
17631
- * limits.value should be restored. DAILY = restore every midnight UTC.
17632
- */
16857
+ /** Copied from parent Quota.resetPeriod at creation. Tells the reset job how often limits.value should be restored. DAILY = restore every midnight UTC. */
17633
16858
  resetPeriod?: Maybe<QuotaResetPeriod>;
17634
16859
  /** A Quota is reusable or not (e.g., bot,seats). */
17635
16860
  reusable?: Maybe<Scalars['Boolean']['output']>;
@@ -17646,6 +16871,7 @@ export type QuotaAssignment = {
17646
16871
  };
17647
16872
  export type QuotaAssignmentSummary = {
17648
16873
  __typename?: 'QuotaAssignmentSummary';
16874
+ context?: Maybe<Scalars['JSON']['output']>;
17649
16875
  createdAt?: Maybe<Scalars['DateTime']['output']>;
17650
16876
  currentUsageSum?: Maybe<Scalars['Int']['output']>;
17651
16877
  endtime?: Maybe<Scalars['DateTime']['output']>;
@@ -17658,6 +16884,7 @@ export type QuotaAssignmentSummary = {
17658
16884
  /** Summary of a single quota assignment with usage details */
17659
16885
  export type QuotaAssignmentUsageSummary = {
17660
16886
  __typename?: 'QuotaAssignmentUsageSummary';
16887
+ context?: Maybe<Scalars['JSON']['output']>;
17661
16888
  createdAt: Scalars['DateTime']['output'];
17662
16889
  endtime: Scalars['DateTime']['output'];
17663
16890
  id: Scalars['ID']['output'];
@@ -18194,18 +17421,10 @@ export type RegisterProductAssetInput = {
18194
17421
  caption?: InputMaybe<Scalars['String']['input']>;
18195
17422
  fileName?: InputMaybe<Scalars['String']['input']>;
18196
17423
  fileType: ProductAssetType;
18197
- /**
18198
- * File ID returned from wspace-files-svc's completeUpload mutation.
18199
- * The browser uploads the file directly to files-svc, then calls this
18200
- * mutation to link it to the product.
18201
- */
17424
+ /** File ID returned from wspace-files-svc's completeUpload mutation. The browser uploads the file directly to files-svc, then calls this mutation to link it to the product. */
18202
17425
  filesSvcId: Scalars['ID']['input'];
18203
17426
  locale?: InputMaybe<Scalars['String']['input']>;
18204
- /**
18205
- * If true (default), marks previous assets of the same fileType+locale as
18206
- * no longer current. Set to false to keep multiple live copies (e.g. when
18207
- * building a screenshot gallery).
18208
- */
17427
+ /** If true (default), marks previous assets of the same fileType+locale as no longer current. Set to false to keep multiple live copies (e.g. when building a screenshot gallery). */
18209
17428
  makeCurrent?: InputMaybe<Scalars['Boolean']['input']>;
18210
17429
  mimeType?: InputMaybe<Scalars['String']['input']>;
18211
17430
  orderIndex?: InputMaybe<Scalars['Int']['input']>;
@@ -18339,11 +17558,7 @@ export type ResolveContextWidgetConversationInput = {
18339
17558
  title?: InputMaybe<Scalars['String']['input']>;
18340
17559
  workspaceId: Scalars['ID']['input'];
18341
17560
  };
18342
- /**
18343
- * Registered resource with custom permission configurations.
18344
- * Resources are only registered when they have non-default permissions
18345
- * (overrides, visibility rules, or scoped assignments).
18346
- */
17561
+ /** Registered resource with custom permission configurations. Resources are only registered when they have non-default permissions (overrides, visibility rules, or scoped assignments). */
18347
17562
  export type Resource = {
18348
17563
  __typename?: 'Resource';
18349
17564
  children: Array<Resource>;
@@ -19229,32 +18444,17 @@ export type SpendCreditResponse = {
19229
18444
  export type SpendCreditsInput = {
19230
18445
  addOnIds?: InputMaybe<Array<InputMaybe<AddOnInputPayment>>>;
19231
18446
  billingAccountId: Scalars['String']['input'];
19232
- /**
19233
- * For plan downgrades — the active higher-tier subscription ID.
19234
- * Old subscription's auto-renewal is cancelled so it won't charge again;
19235
- * it stays active until natural expiry and then the new plan continues.
19236
- */
18447
+ /** For plan downgrades — the active higher-tier subscription ID. Old subscription's auto-renewal is cancelled so it won't charge again; it stays active until natural expiry and then the new plan continues. */
19237
18448
  downgradeFromSubscriptionId?: InputMaybe<Scalars['String']['input']>;
19238
18449
  isAnnual?: InputMaybe<Scalars['Boolean']['input']>;
19239
18450
  /** Order ID to purchase using credits (for store orders, etc.) */
19240
18451
  orderId?: InputMaybe<Scalars['String']['input']>;
19241
18452
  planId?: InputMaybe<Scalars['String']['input']>;
19242
- /**
19243
- * Number of seats for PER_SEAT plans. Stored on the created subscription.
19244
- * Credits required = pricePerSeat × seatCount × creditsPerUSD (instead of plan.price).
19245
- * Ignored for FLAT_RATE plans.
19246
- */
18453
+ /** Number of seats for PER_SEAT plans. Stored on the created subscription. Credits required = pricePerSeat × seatCount × creditsPerUSD (instead of plan.price). Ignored for FLAT_RATE plans. */
19247
18454
  seatCount?: InputMaybe<Scalars['Int']['input']>;
19248
- /**
19249
- * For addon purchases - the subscription ID to attach addons to.
19250
- * Required if billing account has multiple active subscriptions.
19251
- * If only one active subscription exists, it will be auto-selected.
19252
- */
18455
+ /** For addon purchases - the subscription ID to attach addons to. Required if billing account has multiple active subscriptions. If only one active subscription exists, it will be auto-selected. */
19253
18456
  subscriptionId?: InputMaybe<Scalars['String']['input']>;
19254
- /**
19255
- * For plan upgrades - the subscription ID to upgrade from.
19256
- * Old quotas will be moved to the new subscription.
19257
- */
18457
+ /** For plan upgrades - the subscription ID to upgrade from. Old quotas will be moved to the new subscription. */
19258
18458
  upgradeFromSubscriptionId?: InputMaybe<Scalars['String']['input']>;
19259
18459
  };
19260
18460
  export type Store = {
@@ -19318,10 +18518,7 @@ export type StoreFacets = {
19318
18518
  /** Available types with counts */
19319
18519
  types: Array<FacetCount>;
19320
18520
  };
19321
- /**
19322
- * Unified filter input for browsing/searching store products.
19323
- * All filters combine with AND logic - search is treated as a filter.
19324
- */
18521
+ /** Unified filter input for browsing/searching store products. All filters combine with AND logic - search is treated as a filter. */
19325
18522
  export type StoreFilterInput = {
19326
18523
  /** Filter by author name (partial match) */
19327
18524
  authorName?: InputMaybe<Scalars['String']['input']>;
@@ -19331,10 +18528,7 @@ export type StoreFilterInput = {
19331
18528
  categories?: InputMaybe<Array<Scalars['String']['input']>>;
19332
18529
  /** Filter by exact category match (e.g., "Customer Support", "Notification") */
19333
18530
  category?: InputMaybe<Scalars['String']['input']>;
19334
- /**
19335
- * Filter by compatible product (e.g., "workspaces", "fluidgrids", "bigconsole")
19336
- * Products must be compatible with this product.
19337
- */
18531
+ /** Filter by compatible product (e.g., "workspaces", "fluidgrids", "bigconsole") Products must be compatible with this product. */
19338
18532
  compatibleWith?: InputMaybe<Scalars['String']['input']>;
19339
18533
  /** Filter only featured products */
19340
18534
  featured?: InputMaybe<Scalars['Boolean']['input']>;
@@ -19364,24 +18558,11 @@ export type StoreFilterInput = {
19364
18558
  publisherId?: InputMaybe<Scalars['String']['input']>;
19365
18559
  /** Filter products that require shipping */
19366
18560
  requiresShipping?: InputMaybe<Scalars['Boolean']['input']>;
19367
- /**
19368
- * Full-text search query. Searches across:
19369
- * - name (highest priority)
19370
- * - description
19371
- * - tags
19372
- * - authorName, category (lowest priority)
19373
- * Uses PostgreSQL tsvector with weighted ranking.
19374
- */
18561
+ /** Full-text search query. Searches across: - name (highest priority) - description - tags - authorName, category (lowest priority) Uses PostgreSQL tsvector with weighted ranking. */
19375
18562
  search?: InputMaybe<Scalars['String']['input']>;
19376
18563
  /** Filter by product status (defaults to PUBLISHED for consumer queries) */
19377
18564
  status?: InputMaybe<ProductStatus>;
19378
- /**
19379
- * Filter by type-specific subtype.
19380
- * Examples:
19381
- * - For AGENT: "task_automation", "conversational", "research"
19382
- * - For NODE: "action", "trigger", "integration", "ai"
19383
- * - For WIDGET: "chart", "metric", "table", "map"
19384
- */
18565
+ /** Filter by type-specific subtype. Examples: - For AGENT: "task_automation", "conversational", "research" - For NODE: "action", "trigger", "integration", "ai" - For WIDGET: "chart", "metric", "table", "map" */
19385
18566
  subType?: InputMaybe<Scalars['String']['input']>;
19386
18567
  /** Filter by multiple subtypes (OR within this filter) */
19387
18568
  subTypes?: InputMaybe<Array<Scalars['String']['input']>>;
@@ -19406,12 +18587,7 @@ export declare enum StoreInstallationStatus {
19406
18587
  Pending = "PENDING",
19407
18588
  Uninstalled = "UNINSTALLED"
19408
18589
  }
19409
- /**
19410
- * StoreItem entity reference.
19411
- * The actual StoreItem is defined in the Store service.
19412
- * In Federation 2 setup, this will be marked with @key directive.
19413
- * For now, this is a reference type that returns the itemId for the Gateway to resolve.
19414
- */
18590
+ /** StoreItem entity reference. The actual StoreItem is defined in the Store service. In Federation 2 setup, this will be marked with @key directive. For now, this is a reference type that returns the itemId for the Gateway to resolve. */
19415
18591
  export type StoreItem = {
19416
18592
  __typename?: 'StoreItem';
19417
18593
  /** The unique identifier for the store item */
@@ -19438,11 +18614,7 @@ export type StoreLineItemInput = {
19438
18614
  /** Product version at time of purchase */
19439
18615
  version?: InputMaybe<Scalars['String']['input']>;
19440
18616
  };
19441
- /**
19442
- * External entity stub for StoreOrder from store-svc.
19443
- * Federation gateway will resolve full StoreOrder data from store-svc.
19444
- * Used by: BillingAccount.storeOrders (if extended), Transaction.storeOrder
19445
- */
18617
+ /** External entity stub for StoreOrder from store-svc. Federation gateway will resolve full StoreOrder data from store-svc. Used by: BillingAccount.storeOrders (if extended), Transaction.storeOrder */
19446
18618
  export type StoreOrder = {
19447
18619
  __typename?: 'StoreOrder';
19448
18620
  appliedEntitlementId?: Maybe<Scalars['String']['output']>;
@@ -19453,11 +18625,7 @@ export type StoreOrder = {
19453
18625
  /** Context JSON (must include workspace_id) */
19454
18626
  context: Scalars['JSON']['output'];
19455
18627
  createdAt: Scalars['DateTime']['output'];
19456
- /**
19457
- * Currency captured when the store order was created.
19458
- * Billing may still convert at payment time, but this is the canonical
19459
- * order currency for checkout display and reconciliation.
19460
- */
18628
+ /** Currency captured when the store order was created. Billing may still convert at payment time, but this is the canonical order currency for checkout display and reconciliation. */
19461
18629
  currency: Scalars['String']['output'];
19462
18630
  /** Fulfillment tracking for physical orders */
19463
18631
  fulfillment?: Maybe<OrderFulfillment>;
@@ -19470,10 +18638,7 @@ export type StoreOrder = {
19470
18638
  /** When payment was completed (null if still pending) */
19471
18639
  purchasedAt?: Maybe<Scalars['DateTime']['output']>;
19472
18640
  status: OrderStatus;
19473
- /**
19474
- * Total product cost (sum of line items)
19475
- * Note: Currency, tax, and final billing amount handled by billing service
19476
- */
18641
+ /** Total product cost (sum of line items) Note: Currency, tax, and final billing amount handled by billing service */
19477
18642
  total: Scalars['Float']['output'];
19478
18643
  transaction?: Maybe<Transaction>;
19479
18644
  /** Transaction ID from billing service (set after payment) */
@@ -19497,11 +18662,7 @@ export type StorePaginationInput = {
19497
18662
  /** Number of items to skip (for offset pagination) */
19498
18663
  offset?: InputMaybe<Scalars['Int']['input']>;
19499
18664
  };
19500
- /**
19501
- * External entity stub for StoreProduct from store-svc.
19502
- * Federation gateway will resolve full StoreProduct data from store-svc.
19503
- * Used by: SubscriptionEntitlement.storeProduct
19504
- */
18665
+ /** External entity stub for StoreProduct from store-svc. Federation gateway will resolve full StoreProduct data from store-svc. Used by: SubscriptionEntitlement.storeProduct */
19505
18666
  export type StoreProduct = {
19506
18667
  __typename?: 'StoreProduct';
19507
18668
  /** Allow orders when out of stock (physical products) */
@@ -19511,10 +18672,7 @@ export type StoreProduct = {
19511
18672
  /** Brand name (physical products) */
19512
18673
  brand?: Maybe<Scalars['String']['output']>;
19513
18674
  category?: Maybe<Scalars['String']['output']>;
19514
- /**
19515
- * Compatible products (from manifest.compatibility.products)
19516
- * Examples: ["fluidgrids", "workspaces", "bigconsole", "botlit"]
19517
- */
18675
+ /** Compatible products (from manifest.compatibility.products) Examples: ["fluidgrids", "workspaces", "bigconsole", "botlit"] */
19518
18676
  compatibleProducts: Array<Scalars['String']['output']>;
19519
18677
  content?: Maybe<Scalars['JSON']['output']>;
19520
18678
  context?: Maybe<Scalars['JSON']['output']>;
@@ -19533,15 +18691,9 @@ export type StoreProduct = {
19533
18691
  height?: Maybe<Scalars['Float']['output']>;
19534
18692
  icon?: Maybe<Scalars['String']['output']>;
19535
18693
  id: Scalars['ID']['output'];
19536
- /**
19537
- * Integration dependencies (from manifest.dependencies.integrations)
19538
- * Examples: ["slack", "sendgrid", "zendesk", "salesforce"]
19539
- */
18694
+ /** Integration dependencies (from manifest.dependencies.integrations) Examples: ["slack", "sendgrid", "zendesk", "salesforce"] */
19540
18695
  integrationDeps: Array<Scalars['String']['output']>;
19541
- /**
19542
- * Whether this product is already purchased by the current billing account.
19543
- * Computed field based on billingAccountId context.
19544
- */
18696
+ /** Whether this product is already purchased by the current billing account. Computed field based on billingAccountId context. */
19545
18697
  isPurchased?: Maybe<Scalars['Boolean']['output']>;
19546
18698
  /** Product length (physical products) */
19547
18699
  length?: Maybe<Scalars['Float']['output']>;
@@ -19572,10 +18724,7 @@ export type StoreProduct = {
19572
18724
  rating?: Maybe<Scalars['Float']['output']>;
19573
18725
  rejectedReason?: Maybe<Scalars['String']['output']>;
19574
18726
  repositoryUrl?: Maybe<Scalars['String']['output']>;
19575
- /**
19576
- * Required permissions (from manifest.permissions)
19577
- * Examples: ["network.outbound", "database.write", "notification.email"]
19578
- */
18727
+ /** Required permissions (from manifest.permissions) Examples: ["network.outbound", "database.write", "notification.email"] */
19579
18728
  requiredPermissions: Array<Scalars['String']['output']>;
19580
18729
  /** Whether this product requires shipping (physical products) */
19581
18730
  requiresShipping?: Maybe<Scalars['Boolean']['output']>;
@@ -19594,13 +18743,7 @@ export type StoreProduct = {
19594
18743
  /** Current stock quantity (physical products) */
19595
18744
  stockQuantity?: Maybe<Scalars['Int']['output']>;
19596
18745
  storeId?: Maybe<Scalars['ID']['output']>;
19597
- /**
19598
- * Type-specific subtype from manifest.json.
19599
- * Examples:
19600
- * - Agent: task_automation, conversational, research, code_assistant
19601
- * - Node: action, transform, trigger, logic, integration, data, notification, ai
19602
- * - Widget: chart, metric, table, map, form, text, custom
19603
- */
18746
+ /** Type-specific subtype from manifest.json. Examples: - Agent: task_automation, conversational, research, code_assistant - Node: action, transform, trigger, logic, integration, data, notification, ai - Widget: chart, metric, table, map, form, text, custom */
19604
18747
  subType?: Maybe<Scalars['String']['output']>;
19605
18748
  submittedAt?: Maybe<Scalars['DateTime']['output']>;
19606
18749
  submittedBy?: Maybe<Scalars['String']['output']>;
@@ -19726,10 +18869,7 @@ export type SubmissionStatusUpdatedEvent = {
19726
18869
  submissionId: Scalars['ID']['output'];
19727
18870
  updatedAt: Scalars['String']['output'];
19728
18871
  };
19729
- /**
19730
- * Input for submitting a contact inquiry from a public website.
19731
- * reCAPTCHA token is required only when CAPTCHA_ENABLED=true.
19732
- */
18872
+ /** Input for submitting a contact inquiry from a public website. reCAPTCHA token is required only when CAPTCHA_ENABLED=true. */
19733
18873
  export type SubmitContactInquiryInput = {
19734
18874
  /** Company name (optional) */
19735
18875
  company?: InputMaybe<Scalars['String']['input']>;
@@ -19874,55 +19014,31 @@ export type Subscription = {
19874
19014
  _emptyBilling?: Maybe<Scalars['String']['output']>;
19875
19015
  _emptyDevportal?: Maybe<Scalars['String']['output']>;
19876
19016
  _emptyI18n?: Maybe<Scalars['String']['output']>;
19877
- /**
19878
- * Placeholder field to allow empty Subscription type extension.
19879
- * Each module has a unique placeholder to avoid naming conflicts across subgraphs.
19880
- */
19017
+ /** Placeholder field to allow empty Subscription type extension. Each module has a unique placeholder to avoid naming conflicts across subgraphs. */
19881
19018
  _emptyNewsletter?: Maybe<Scalars['String']['output']>;
19882
19019
  _emptyNotification?: Maybe<Scalars['String']['output']>;
19883
- /**
19884
- * Placeholder field to allow empty Subscription type extension.
19885
- * Each module has a unique placeholder to avoid naming conflicts across subgraphs.
19886
- */
19020
+ /** Placeholder field to allow empty Subscription type extension. Each module has a unique placeholder to avoid naming conflicts across subgraphs. */
19887
19021
  _emptySupport?: Maybe<Scalars['String']['output']>;
19888
19022
  _emptyTours?: Maybe<Scalars['String']['output']>;
19889
- /**
19890
- * Placeholder subscription (extended by modules)
19891
- * @rbac(public: true, scopeType: "global")
19892
- */
19023
+ /** Placeholder subscription (extended by modules) @rbac(public: true, scopeType: "global") */
19893
19024
  _placeholder?: Maybe<Scalars['String']['output']>;
19894
19025
  agentStatusChanged: AgentProfile;
19895
- /**
19896
- * Fires whenever the AppReview lifecycle changes for a given application
19897
- * (submission -> moderation -> publish/reject).
19898
- */
19026
+ /** Fires whenever the AppReview lifecycle changes for a given application (submission -> moderation -> publish/reject). */
19899
19027
  appReviewStatusChanged: AppReview;
19900
- /**
19901
- * Subscribe to channel health changes.
19902
- * Emits when a channel's connectionHealth status changes (HEALTHY → DEGRADED, etc.)
19903
- *
19904
- * Use cases:
19905
- * - Real-time dashboard updates showing channel health
19906
- * - Alerting systems monitoring channel availability
19907
- * - Auto-failover logic reacting to health degradation
19908
- */
19028
+ /** Subscribe to channel health changes. Emits when a channel's connectionHealth status changes (HEALTHY → DEGRADED, etc.) Use cases: - Real-time dashboard updates showing channel health - Alerting systems monitoring channel availability - Auto-failover logic reacting to health degradation */
19909
19029
  channelHealthChanged: ChannelHealthUpdate;
19910
- /**
19911
- * Subscribe to connection-status changes for a channel.
19912
- * Emits when isActive or isHealthy flips on the channel's connection.
19913
- */
19030
+ /** Subscribe to connection-status changes for an organization. Emits when isActive or isHealthy flips on any channel connection in the org. Pass either organizationId (to watch all connections in the org) or channelId (to watch a specific channel's connection — deprecated arg, kept for backward compat). */
19914
19031
  connectionStatusChanged: ConnectionStatusChangedEvent;
19915
19032
  /** Emits the deleted content-page id. */
19916
19033
  contentPageDeleted: Scalars['ID']['output'];
19917
19034
  /** Notifies clients when a content page is created or updated. */
19918
19035
  contentPageUpdated: ProductContentPage;
19919
19036
  coverageChanged: CoverageChangeEvent;
19037
+ /** Subscribe to delivery status updates for a channel. Emits when a message delivery attempt changes status (SENDING, SENT, FAILED, etc.) */
19038
+ deliveryUpdated: DeliveryUpdatedEvent;
19920
19039
  dependencyTriggered: DependencyTriggeredUpdate;
19921
19040
  executionUpdated: ExecutionUpdate;
19922
- /**
19923
- * Notifies clients when a feature flag definition is created or updated.
19924
- * Subscribers can pass `flagKey` to receive only matching events.
19925
- */
19041
+ /** Notifies clients when a feature flag definition is created or updated. Subscribers can pass `flagKey` to receive only matching events. */
19926
19042
  featureFlagChanged: FeatureFlag;
19927
19043
  /** Emits the deleted feature-flag id so clients can drop it from their cache. */
19928
19044
  featureFlagDeleted: Scalars['ID']['output'];
@@ -19930,54 +19046,33 @@ export type Subscription = {
19930
19046
  /** Subscribe to app installation status changes for a workspace. */
19931
19047
  installationStatusUpdated?: Maybe<InstallationStatusUpdatedEvent>;
19932
19048
  jobStatusUpdated: JobStatusUpdate;
19933
- /**
19934
- * Notifies clients when a keyboard shortcut is created, updated, or toggled.
19935
- * Subscribers can pass `productId` to scope the stream to a single product.
19936
- */
19049
+ /** Notifies clients when a keyboard shortcut is created, updated, or toggled. Subscribers can pass `productId` to scope the stream to a single product. */
19937
19050
  keyboardShortcutChanged: KeyboardShortcut;
19938
19051
  /** Emits the deleted shortcut id so clients can drop it from their cache. */
19939
19052
  keyboardShortcutDeleted: Scalars['ID']['output'];
19940
19053
  /** Subscribe to license entitlement status changes. */
19941
19054
  licenseStatusUpdated?: Maybe<LicenseStatusUpdatedEvent>;
19942
19055
  metricsUpdated: SchedulerMetricsUpdate;
19943
- /**
19944
- * Live stream of the authenticated caller's unread notification count.
19945
- * Mirrors the result of `myUnreadNotificationCount` and replaces 30s
19946
- * polling on the FE NotificationCenter — backend publishes on every
19947
- * notification create / read / archive / delete.
19948
- */
19056
+ /** Live stream of the authenticated caller's unread notification count. Mirrors the result of `myUnreadNotificationCount` and replaces 30s polling on the FE NotificationCenter — backend publishes on every notification create / read / archive / delete. */
19949
19057
  myUnreadNotificationCountStream: Scalars['Int']['output'];
19950
19058
  newTicketInQueue: SupportTicket;
19951
19059
  /** Subscribe to new notifications for the authenticated user */
19952
19060
  notificationReceived?: Maybe<Notification>;
19953
- /**
19954
- * Subscribe to delivery status updates for a notification.
19955
- * Useful for real-time tracking of delivery progress.
19956
- */
19061
+ /** Subscribe to delivery status updates for a notification. Useful for real-time tracking of delivery progress. */
19957
19062
  onDeliveryStatusUpdate: ChannelDeliveryStatusUpdate;
19958
19063
  /** Subscribe to order status changes for a specific order or workspace. */
19959
19064
  orderStatusUpdated?: Maybe<OrderStatusUpdatedEvent>;
19960
19065
  /** Emits the deleted product id so clients can drop it from their cache. */
19961
19066
  productDeleted: Scalars['ID']['output'];
19962
- /**
19963
- * Notifies clients when a platform product is created or updated.
19964
- * Fires on create + update mutations; deletes are reported via `productDeleted`.
19965
- */
19067
+ /** Notifies clients when a platform product is created or updated. Fires on create + update mutations; deletes are reported via `productDeleted`. */
19966
19068
  productUpdated: PlatformProduct;
19967
- /**
19968
- * Fires when the per-organization revenue rollup recomputes
19969
- * (currently every cron tick or after a settled sale).
19970
- */
19069
+ /** Fires when the per-organization revenue rollup recomputes (currently every cron tick or after a settled sale). */
19971
19070
  revenueUpdated: DeveloperOrgRevenueAnalytics;
19972
19071
  /** Subscribe to publisher submission status changes. */
19973
19072
  submissionStatusUpdated?: Maybe<SubmissionStatusUpdatedEvent>;
19974
19073
  /** Stream of soft-deleted tenant ids. */
19975
19074
  tenantDeleted: Scalars['ID']['output'];
19976
- /**
19977
- * Stream of tenant lifecycle changes (create/update/configure/suspend/activate/
19978
- * provision/endpoint-set). Backed by an in-memory pubsub fed by the matching
19979
- * mutations. Lets the admin tenant list refresh in real time without polling.
19980
- */
19075
+ /** Stream of tenant lifecycle changes (create/update/configure/suspend/activate/ provision/endpoint-set). Backed by an in-memory pubsub fed by the matching mutations. Lets the admin tenant list refresh in real time without polling. */
19981
19076
  tenantUpdated: Tenant;
19982
19077
  ticketMessageAdded: SupportMessage;
19983
19078
  ticketUpdated: SupportTicket;
@@ -19985,16 +19080,9 @@ export type Subscription = {
19985
19080
  translationUpdated: TranslationUpdateEvent;
19986
19081
  /** Subscribe to unread count changes for the authenticated user */
19987
19082
  unreadCountUpdated?: Maybe<Scalars['Int']['output']>;
19988
- /**
19989
- * Fires on every WebhookDelivery state transition for the given webhook
19990
- * (PENDING -> DELIVERING -> DELIVERED|FAILED|RETRYING).
19991
- */
19083
+ /** Fires on every WebhookDelivery state transition for the given webhook (PENDING -> DELIVERING -> DELIVERED|FAILED|RETRYING). */
19992
19084
  webhookDeliveryUpdated: WebhookDelivery;
19993
- /**
19994
- * Subscribe to webhook events received by a channel.
19995
- * Emits when a new WebhookEvent row is persisted (before downstream processing).
19996
- * Resolver-level filter scopes to the requested channelId.
19997
- */
19085
+ /** Subscribe to webhook events received by a channel. Emits when a new WebhookEvent row is persisted (before downstream processing). Resolver-level filter scopes to the requested channelId. */
19998
19086
  webhookReceived: WebhookReceivedEvent;
19999
19087
  };
20000
19088
  /** Root subscription type */
@@ -20007,7 +19095,8 @@ export type SubscriptionChannelHealthChangedArgs = {
20007
19095
  };
20008
19096
  /** Root subscription type */
20009
19097
  export type SubscriptionConnectionStatusChangedArgs = {
20010
- channelId: Scalars['ID']['input'];
19098
+ channelId?: InputMaybe<Scalars['ID']['input']>;
19099
+ organizationId?: InputMaybe<Scalars['ID']['input']>;
20011
19100
  };
20012
19101
  /** Root subscription type */
20013
19102
  export type SubscriptionContentPageUpdatedArgs = {
@@ -20018,6 +19107,10 @@ export type SubscriptionCoverageChangedArgs = {
20018
19107
  productCode: Scalars['String']['input'];
20019
19108
  };
20020
19109
  /** Root subscription type */
19110
+ export type SubscriptionDeliveryUpdatedArgs = {
19111
+ channelId: Scalars['ID']['input'];
19112
+ };
19113
+ /** Root subscription type */
20021
19114
  export type SubscriptionDependencyTriggeredArgs = {
20022
19115
  scheduleId?: InputMaybe<Scalars['ID']['input']>;
20023
19116
  };
@@ -20119,10 +19212,7 @@ export type SubscriptionWebhookDeliveryUpdatedArgs = {
20119
19212
  export type SubscriptionWebhookReceivedArgs = {
20120
19213
  channelId: Scalars['ID']['input'];
20121
19214
  };
20122
- /**
20123
- * SubscriptionEntitlement defines what store items a plan grants access to.
20124
- * This allows plans to provide discounts or free access to store items.
20125
- */
19215
+ /** SubscriptionEntitlement defines what store items a plan grants access to. This allows plans to provide discounts or free access to store items. */
20126
19216
  export type SubscriptionEntitlement = {
20127
19217
  __typename?: 'SubscriptionEntitlement';
20128
19218
  /** The type of access granted (FREE_ACCESS or DISCOUNT) */
@@ -20137,10 +19227,7 @@ export type SubscriptionEntitlement = {
20137
19227
  id: Scalars['ID']['output'];
20138
19228
  /** Reference to the store item entity (resolved via Federation) */
20139
19229
  item?: Maybe<StoreItem>;
20140
- /**
20141
- * Reference to the store item (external entity from Store service)
20142
- * Resolved via Federation 2 Gateway
20143
- */
19230
+ /** Reference to the store item (external entity from Store service) Resolved via Federation 2 Gateway */
20144
19231
  itemId: Scalars['String']['output'];
20145
19232
  /** The plan that grants this entitlement */
20146
19233
  plan: Plan;
@@ -20229,7 +19316,10 @@ export type SupportAttachmentPresignedPart = {
20229
19316
  };
20230
19317
  export type SupportAttachmentUploadSession = {
20231
19318
  __typename?: 'SupportAttachmentUploadSession';
19319
+ attachmentId: Scalars['ID']['output'];
19320
+ /** @deprecated Support attachments no longer use files-module folders. */
20232
19321
  folderId: Scalars['ID']['output'];
19322
+ /** @deprecated Support attachments are stored directly in support-owned S3 prefixes. */
20233
19323
  folderPath: Scalars['String']['output'];
20234
19324
  partSize: Scalars['Int']['output'];
20235
19325
  presignedUrls: Array<SupportAttachmentPresignedPart>;
@@ -20238,25 +19328,14 @@ export type SupportAttachmentUploadSession = {
20238
19328
  uploadType: Scalars['String']['output'];
20239
19329
  uploadUrl?: Maybe<Scalars['String']['output']>;
20240
19330
  };
20241
- /**
20242
- * Privacy-preserving author projection for SupportMessage. End-users only ever see
20243
- * the anonymized alias + generated avatar for agent authors; super_admin / service
20244
- * actors (admin app) see the real identity.
20245
- */
19331
+ /** Privacy-preserving author projection for SupportMessage. End-users only ever see the anonymized alias + generated avatar for agent authors; super_admin / service actors (admin app) see the real identity. */
20246
19332
  export type SupportAuthor = {
20247
19333
  __typename?: 'SupportAuthor';
20248
19334
  avatar: Scalars['String']['output'];
20249
19335
  displayName: Scalars['String']['output'];
20250
- /**
20251
- * Stable opaque identifier safe for both viewer scopes. For agent authors viewed
20252
- * by an end-user this is the AgentProfile id (NOT the underlying userId); for
20253
- * admin viewers and customer authors it is the underlying actor id.
20254
- */
19336
+ /** Stable opaque identifier safe for both viewer scopes. For agent authors viewed by an end-user this is the AgentProfile id (NOT the underlying userId); for admin viewers and customer authors it is the underlying actor id. */
20255
19337
  id: Scalars['ID']['output'];
20256
- /**
20257
- * True when the viewer was scoped down to the anonymized projection. Admins see
20258
- * this as false; end-users see it as true for agent authors.
20259
- */
19338
+ /** True when the viewer was scoped down to the anonymized projection. Admins see this as false; end-users see it as true for agent authors. */
20260
19339
  isAnonymized: Scalars['Boolean']['output'];
20261
19340
  /** AGENT | CUSTOMER | SYSTEM — drives UI styling without leaking identity. */
20262
19341
  kind: SupportAuthorKind;
@@ -20266,11 +19345,7 @@ export declare enum SupportAuthorKind {
20266
19345
  Customer = "CUSTOMER",
20267
19346
  System = "SYSTEM"
20268
19347
  }
20269
- /**
20270
- * Support-specific context output type.
20271
- * Returns the stored context for each record.
20272
- * Uses a unique type name to avoid federation conflicts with other services.
20273
- */
19348
+ /** Support-specific context output type. Returns the stored context for each record. Uses a unique type name to avoid federation conflicts with other services. */
20274
19349
  export type SupportContext = {
20275
19350
  __typename?: 'SupportContext';
20276
19351
  custom?: Maybe<Scalars['JSON']['output']>;
@@ -20281,11 +19356,7 @@ export type SupportContext = {
20281
19356
  userId?: Maybe<Scalars['ID']['output']>;
20282
19357
  workspaceId?: Maybe<Scalars['ID']['output']>;
20283
19358
  };
20284
- /**
20285
- * Context filter input for querying records by context.
20286
- * Supports exact match filtering on context fields.
20287
- * Note: tenantId filtering is applied automatically from context.tenant?.id.
20288
- */
19359
+ /** Context filter input for querying records by context. Supports exact match filtering on context fields. Note: tenantId filtering is applied automatically from context.tenant?.id. */
20289
19360
  export type SupportContextFilterInput = {
20290
19361
  organizationId?: InputMaybe<Scalars['ID']['input']>;
20291
19362
  productId?: InputMaybe<Scalars['ID']['input']>;
@@ -20293,11 +19364,7 @@ export type SupportContextFilterInput = {
20293
19364
  userId?: InputMaybe<Scalars['ID']['input']>;
20294
19365
  workspaceId?: InputMaybe<Scalars['ID']['input']>;
20295
19366
  };
20296
- /**
20297
- * Support context input for filtering and scoping data.
20298
- * All fields are optional and can be extended as needed.
20299
- * Note: tenantId is derived from context.tenant?.id (gateway header), not from client input.
20300
- */
19367
+ /** Support context input for filtering and scoping data. All fields are optional and can be extended as needed. Note: tenantId is derived from context.tenant?.id (gateway header), not from client input. */
20301
19368
  export type SupportContextInput = {
20302
19369
  custom?: InputMaybe<Scalars['JSON']['input']>;
20303
19370
  organizationId?: InputMaybe<Scalars['ID']['input']>;
@@ -20326,10 +19393,7 @@ export type SupportMessage = {
20326
19393
  __typename?: 'SupportMessage';
20327
19394
  attachmentCount: Scalars['Int']['output'];
20328
19395
  attachments: Array<Scalars['String']['output']>;
20329
- /**
20330
- * Privacy-aware author projection. Returns the anonymized alias + avatar for
20331
- * end-users; admin app (super_admin / service) sees the real identity.
20332
- */
19396
+ /** Privacy-aware author projection. Returns the anonymized alias + avatar for end-users; admin app (super_admin / service) sees the real identity. */
20333
19397
  author: SupportAuthor;
20334
19398
  authorId: Scalars['String']['output'];
20335
19399
  /** Contextual IDs for filtering and scoping (workspaceId, userId, projectId, etc.) */
@@ -20543,10 +19607,7 @@ export type SyncTourStepInput = {
20543
19607
  waitForSelector?: InputMaybe<Scalars['String']['input']>;
20544
19608
  waitForTimeout?: InputMaybe<Scalars['Int']['input']>;
20545
19609
  };
20546
- /**
20547
- * Input for syncing workspace from workspace layer to global layer
20548
- * Called by wspace-workspace-svc after creating a workspace directly
20549
- */
19610
+ /** Input for syncing workspace from workspace layer to global layer Called by wspace-workspace-svc after creating a workspace directly */
20550
19611
  export type SyncWorkspaceFromWspaceInput = {
20551
19612
  /** Workspace name */
20552
19613
  name: Scalars['String']['input'];
@@ -20641,20 +19702,13 @@ export type TemplateNotificationResult = {
20641
19702
  /** Number of notifications successfully triggered */
20642
19703
  totalTriggered: Scalars['Int']['output'];
20643
19704
  };
20644
- /**
20645
- * Tenant type stub - represents a tenant entity from the tenant service
20646
- * This service doesn't own the Tenant model, but references it
20647
- */
19705
+ /** Tenant type stub - represents a tenant entity from the tenant service This service doesn't own the Tenant model, but references it */
20648
19706
  export type Tenant = {
20649
19707
  __typename?: 'Tenant';
20650
19708
  config?: Maybe<TenantConfig>;
20651
19709
  createdAt: Scalars['DateTime']['output'];
20652
19710
  customDomain?: Maybe<Scalars['String']['output']>;
20653
- /**
20654
- * Service routing endpoint for dedicated tenants
20655
- * For SHARED tenants, this is null (uses default service)
20656
- * For DEDICATED tenants, this points to the dedicated service instance
20657
- */
19711
+ /** Service routing endpoint for dedicated tenants For SHARED tenants, this is null (uses default service) For DEDICATED tenants, this points to the dedicated service instance */
20658
19712
  endpoint?: Maybe<Scalars['String']['output']>;
20659
19713
  id: Scalars['ID']['output'];
20660
19714
  metadata?: Maybe<Scalars['JSON']['output']>;
@@ -20677,10 +19731,7 @@ export type TenantConfig = {
20677
19731
  features?: Maybe<Scalars['JSON']['output']>;
20678
19732
  region?: Maybe<Scalars['String']['output']>;
20679
19733
  };
20680
- /**
20681
- * Inline export payload for `exportTenantsCsv`. Returns CSV text along with a
20682
- * count of rows and a flag if the result was capped at the requested limit.
20683
- */
19734
+ /** Inline export payload for `exportTenantsCsv`. Returns CSV text along with a count of rows and a flag if the result was capped at the requested limit. */
20684
19735
  export type TenantExport = {
20685
19736
  __typename?: 'TenantExport';
20686
19737
  csv: Scalars['String']['output'];
@@ -20704,10 +19755,7 @@ export type TenantList = {
20704
19755
  offset: Scalars['Int']['output'];
20705
19756
  total: Scalars['Int']['output'];
20706
19757
  };
20707
- /**
20708
- * Lightweight tenant routing info used by gateways to decide
20709
- * whether to proxy requests to a dedicated tenant endpoint.
20710
- */
19758
+ /** Lightweight tenant routing info used by gateways to decide whether to proxy requests to a dedicated tenant endpoint. */
20711
19759
  export type TenantRoutingInfo = {
20712
19760
  __typename?: 'TenantRoutingInfo';
20713
19761
  endpoint?: Maybe<Scalars['String']['output']>;
@@ -20882,13 +19930,7 @@ export type Tour = {
20882
19930
  metadata?: Maybe<Scalars['JSON']['output']>;
20883
19931
  mobileConfig?: Maybe<Scalars['JSON']['output']>;
20884
19932
  moduleId?: Maybe<Scalars['String']['output']>;
20885
- /**
20886
- * The current authenticated user's progress for this tour, or null if the
20887
- * user has not interacted with it yet. Resolves to the most recent
20888
- * TourUserProgress row for the requesting actor. Used by the TourTrigger
20889
- * dropdown to render per-tour status chips (Completed / In progress /
20890
- * Skipped) without requiring a second round-trip.
20891
- */
19933
+ /** The current authenticated user's progress for this tour, or null if the user has not interacted with it yet. Resolves to the most recent TourUserProgress row for the requesting actor. Used by the TourTrigger dropdown to render per-tour status chips (Completed / In progress / Skipped) without requiring a second round-trip. */
20892
19934
  myProgress?: Maybe<TourUserProgress>;
20893
19935
  name: Scalars['String']['output'];
20894
19936
  pageId?: Maybe<Scalars['String']['output']>;
@@ -21161,12 +20203,7 @@ export declare enum TourUserStatus {
21161
20203
  NotStarted = "NOT_STARTED",
21162
20204
  Skipped = "SKIPPED"
21163
20205
  }
21164
- /**
21165
- * Tours-specific context output type.
21166
- * Returns the stored context for each record.
21167
- * Uses a unique type name to avoid federation conflicts with other services.
21168
- * Must be @shareable since context types may exist in multiple subgraphs.
21169
- */
20206
+ /** Tours-specific context output type. Returns the stored context for each record. Uses a unique type name to avoid federation conflicts with other services. Must be @shareable since context types may exist in multiple subgraphs. */
21170
20207
  export type ToursContext = {
21171
20208
  __typename?: 'ToursContext';
21172
20209
  /** Additional custom context as JSON */
@@ -21199,10 +20236,7 @@ export type ToursResponse = {
21199
20236
  total: Scalars['Int']['output'];
21200
20237
  tours: Array<Tour>;
21201
20238
  };
21202
- /**
21203
- * Transaction entity - resolvable via Federation Gateway.
21204
- * Other services (e.g., store-svc) can reference Transaction by id.
21205
- */
20239
+ /** Transaction entity - resolvable via Federation Gateway. Other services (e.g., store-svc) can reference Transaction by id. */
21206
20240
  export type Transaction = {
21207
20241
  __typename?: 'Transaction';
21208
20242
  amount: Scalars['Float']['output'];
@@ -21651,10 +20685,7 @@ export type UpdateChannelInput = {
21651
20685
  export type UpdateConnectionInput = {
21652
20686
  /** Operation context for scoping */
21653
20687
  context?: InputMaybe<ContextInput>;
21654
- /**
21655
- * Platform-specific credentials (API keys, tokens, etc.)
21656
- * Will be encrypted before storage.
21657
- */
20688
+ /** Platform-specific credentials (API keys, tokens, etc.) Will be encrypted before storage. */
21658
20689
  credentials?: InputMaybe<Scalars['JSON']['input']>;
21659
20690
  /** Connection status */
21660
20691
  isActive?: InputMaybe<Scalars['Boolean']['input']>;
@@ -22234,10 +21265,7 @@ export type UpdateSubscriptionInput = {
22234
21265
  export type UpdateSubscriptionSeatsInput = {
22235
21266
  /** Billing account that owns this subscription. */
22236
21267
  billingAccountId: Scalars['ID']['input'];
22237
- /**
22238
- * New seat count. Must be >= plan.minSeats. Applied immediately on Stripe (with proration)
22239
- * and at next cycle on Razorpay (proration delta charged as a separate one-time order).
22240
- */
21268
+ /** New seat count. Must be >= plan.minSeats. Applied immediately on Stripe (with proration) and at next cycle on Razorpay (proration delta charged as a separate one-time order). */
22241
21269
  seatCount: Scalars['Int']['input'];
22242
21270
  subscriptionId: Scalars['ID']['input'];
22243
21271
  };
@@ -22390,6 +21418,7 @@ export type UpdateTranslationKeyInput = {
22390
21418
  };
22391
21419
  /** Input for updating user profile information */
22392
21420
  export type UpdateUserInput = {
21421
+ avatar?: InputMaybe<Scalars['String']['input']>;
22393
21422
  firstName?: InputMaybe<Scalars['String']['input']>;
22394
21423
  language?: InputMaybe<Scalars['String']['input']>;
22395
21424
  lastName?: InputMaybe<Scalars['String']['input']>;
@@ -22575,15 +21604,12 @@ export type UsageTrends = {
22575
21604
  /** Predicted usage for next period */
22576
21605
  predictedUsage?: Maybe<Scalars['Float']['output']>;
22577
21606
  };
22578
- /**
22579
- * User type stub - represents a user entity from the auth/user service
22580
- * This service doesn't own the User model, but references it in usage tracking
22581
- * Federation gateway will resolve full User data from auth/user service.
22582
- */
21607
+ /** User type stub - represents a user entity from the auth/user service This service doesn't own the User model, but references it in usage tracking Federation gateway will resolve full User data from auth/user service. */
22583
21608
  export type User = {
22584
21609
  __typename?: 'User';
22585
21610
  /** Tickets assigned to this user (if support agent) */
22586
21611
  assignedTickets: SupportTicketConnection;
21612
+ avatar?: Maybe<Scalars['String']['output']>;
22587
21613
  createdAt: Scalars['DateTime']['output'];
22588
21614
  defaultWorkspaceId?: Maybe<Scalars['String']['output']>;
22589
21615
  email: Scalars['String']['output'];
@@ -22607,21 +21633,13 @@ export type User = {
22607
21633
  updatedAt: Scalars['DateTime']['output'];
22608
21634
  username: Scalars['String']['output'];
22609
21635
  };
22610
- /**
22611
- * User type stub - represents a user entity from the auth/user service
22612
- * This service doesn't own the User model, but references it in usage tracking
22613
- * Federation gateway will resolve full User data from auth/user service.
22614
- */
21636
+ /** User type stub - represents a user entity from the auth/user service This service doesn't own the User model, but references it in usage tracking Federation gateway will resolve full User data from auth/user service. */
22615
21637
  export type UserAssignedTicketsArgs = {
22616
21638
  filter?: InputMaybe<SupportTicketFilterInput>;
22617
21639
  limit?: InputMaybe<Scalars['Int']['input']>;
22618
21640
  offset?: InputMaybe<Scalars['Int']['input']>;
22619
21641
  };
22620
- /**
22621
- * User type stub - represents a user entity from the auth/user service
22622
- * This service doesn't own the User model, but references it in usage tracking
22623
- * Federation gateway will resolve full User data from auth/user service.
22624
- */
21642
+ /** User type stub - represents a user entity from the auth/user service This service doesn't own the User model, but references it in usage tracking Federation gateway will resolve full User data from auth/user service. */
22625
21643
  export type UserTicketsArgs = {
22626
21644
  filter?: InputMaybe<SupportTicketFilterInput>;
22627
21645
  limit?: InputMaybe<Scalars['Int']['input']>;
@@ -22675,17 +21693,10 @@ export type UserLanguagePreference = {
22675
21693
  updatedAt: Scalars['DateTime']['output'];
22676
21694
  userId: Scalars['String']['output'];
22677
21695
  };
22678
- /**
22679
- * UserPlatformConnection represents a verified user identity on a communication platform.
22680
- * It serves as the DM authorization allowlist and notification delivery target.
22681
- * Replaces the former ChannelUser model.
22682
- */
21696
+ /** UserPlatformConnection represents a verified user identity on a communication platform. It serves as the DM authorization allowlist and notification delivery target. Replaces the former ChannelUser model. */
22683
21697
  export type UserPlatformConnection = {
22684
21698
  __typename?: 'UserPlatformConnection';
22685
- /**
22686
- * Whether the user has a valid DM conversation target
22687
- * (dmAllowed = true AND dmConversationId is set)
22688
- */
21699
+ /** Whether the user has a valid DM conversation target (dmAllowed = true AND dmConversationId is set) */
22689
21700
  canReceiveDm: Scalars['Boolean']['output'];
22690
21701
  /** Associated channel */
22691
21702
  channel: Channel;
@@ -22701,16 +21712,9 @@ export type UserPlatformConnection = {
22701
21712
  customStatus?: Maybe<Scalars['String']['output']>;
22702
21713
  /** When this record was soft-deleted (null = active) */
22703
21714
  deletedAt?: Maybe<Scalars['DateTime']['output']>;
22704
- /**
22705
- * Whether DMs to/from this user are allowed.
22706
- * Only true when source = OAUTH or PAIRED; never for SEEN.
22707
- */
21715
+ /** Whether DMs to/from this user are allowed. Only true when source = OAUTH or PAIRED; never for SEEN. */
22708
21716
  dmAllowed: Scalars['Boolean']['output'];
22709
- /**
22710
- * Platform-specific DM conversation ID.
22711
- * Slack: D0A1B2C3 | Teams: conversation reference JSON |
22712
- * WhatsApp: JID | Discord: N/A | Google Chat: space name
22713
- */
21717
+ /** Platform-specific DM conversation ID. Slack: D0A1B2C3 | Teams: conversation reference JSON | WhatsApp: JID | Discord: N/A | Google Chat: space name */
22714
21718
  dmConversationId?: Maybe<Scalars['String']['output']>;
22715
21719
  /** Platform avatar URL */
22716
21720
  externalAvatarUrl?: Maybe<Scalars['String']['output']>;
@@ -22726,12 +21730,7 @@ export type UserPlatformConnection = {
22726
21730
  externalUsername?: Maybe<Scalars['String']['output']>;
22727
21731
  /** Unique connection ID */
22728
21732
  id: Scalars['ID']['output'];
22729
- /**
22730
- * Opaque reference to the IntegrationConnection in wspace-integrations-svc
22731
- * that holds this user's personal OAuth token. Set after the user completes
22732
- * the OAuth flow in microfe-integrations and clicks "Link to bot channel".
22733
- * Null for connections created via the legacy Slack OAuth flow.
22734
- */
21733
+ /** Opaque reference to the IntegrationConnection in wspace-integrations-svc that holds this user's personal OAuth token. Set after the user completes the OAuth flow in microfe-integrations and clicks "Link to bot channel". Null for connections created via the legacy Slack OAuth flow. */
22735
21734
  integrationConnectionId?: Maybe<Scalars['ID']['output']>;
22736
21735
  /** Internal Botlit user ID (opaque reference) */
22737
21736
  internalUserId?: Maybe<Scalars['ID']['output']>;
@@ -22749,10 +21748,7 @@ export type UserPlatformConnection = {
22749
21748
  organizationId: Scalars['ID']['output'];
22750
21749
  /** When pairing was approved */
22751
21750
  pairingApprovedAt?: Maybe<Scalars['DateTime']['output']>;
22752
- /**
22753
- * 8-character pairing code (WhatsApp / Discord only).
22754
- * Only present when pairingStatus = PENDING.
22755
- */
21751
+ /** 8-character pairing code (WhatsApp / Discord only). Only present when pairingStatus = PENDING. */
22756
21752
  pairingCode?: Maybe<Scalars['String']['output']>;
22757
21753
  /** When the pairing code expires (1-hour TTL from generation) */
22758
21754
  pairingCodeExpiresAt?: Maybe<Scalars['DateTime']['output']>;
@@ -22770,10 +21766,7 @@ export type UserPlatformConnection = {
22770
21766
  source: UserPlatformSource;
22771
21767
  /** Last update timestamp */
22772
21768
  updatedAt: Scalars['DateTime']['output'];
22773
- /**
22774
- * User's personal OAuth token expiry (AES-256-GCM encrypted at rest)
22775
- * NOTE: The token itself is never returned by queries; only the expiry is exposed.
22776
- */
21769
+ /** User's personal OAuth token expiry (AES-256-GCM encrypted at rest) NOTE: The token itself is never returned by queries; only the expiry is exposed. */
22777
21770
  userTokenExpiresAt?: Maybe<Scalars['DateTime']['output']>;
22778
21771
  /** Scopes granted by the user's personal OAuth token */
22779
21772
  userTokenScope?: Maybe<Scalars['String']['output']>;
@@ -22797,10 +21790,7 @@ export type UserPlatformConnectionFilterInput = {
22797
21790
  /** Filter by connection source */
22798
21791
  source?: InputMaybe<UserPlatformSource>;
22799
21792
  };
22800
- /**
22801
- * Paginated list of user platform connections with cursor support.
22802
- * Pass `nextCursor` from a previous response as `cursor` in the next call.
22803
- */
21793
+ /** Paginated list of user platform connections with cursor support. Pass `nextCursor` from a previous response as `cursor` in the next call. */
22804
21794
  export type UserPlatformConnectionList = {
22805
21795
  __typename?: 'UserPlatformConnectionList';
22806
21796
  hasMore: Scalars['Boolean']['output'];
@@ -22808,35 +21798,20 @@ export type UserPlatformConnectionList = {
22808
21798
  nextCursor?: Maybe<Scalars['String']['output']>;
22809
21799
  total: Scalars['Int']['output'];
22810
21800
  };
22811
- /**
22812
- * How a UserPlatformConnection was established.
22813
- * Controls whether dmAllowed can be set to true.
22814
- */
21801
+ /** How a UserPlatformConnection was established. Controls whether dmAllowed can be set to true. */
22815
21802
  export declare enum UserPlatformSource {
22816
21803
  /** Bulk-imported user record (e.g. from CSV or directory sync). */
22817
21804
  Import = "IMPORT",
22818
21805
  /** Admin manually added the user (back-office operation). */
22819
21806
  Manual = "MANUAL",
22820
- /**
22821
- * Connected via dashboard OAuth flow (Slack, Teams, Google Chat).
22822
- * Grants dmAllowed = true immediately after token exchange.
22823
- */
21807
+ /** Connected via dashboard OAuth flow (Slack, Teams, Google Chat). Grants dmAllowed = true immediately after token exchange. */
22824
21808
  Oauth = "OAUTH",
22825
- /**
22826
- * Connected via pairing code (WhatsApp, Discord).
22827
- * Grants dmAllowed = true once the user approves the pairing code in the dashboard.
22828
- */
21809
+ /** Connected via pairing code (WhatsApp, Discord). Grants dmAllowed = true once the user approves the pairing code in the dashboard. */
22829
21810
  Paired = "PAIRED",
22830
- /**
22831
- * Passively observed from an inbound webhook event.
22832
- * Never grants dmAllowed = true automatically.
22833
- */
21811
+ /** Passively observed from an inbound webhook event. Never grants dmAllowed = true automatically. */
22834
21812
  Seen = "SEEN"
22835
21813
  }
22836
- /**
22837
- * User preference record storing theme, notification settings,
22838
- * dashboard customization, and other user-specific configuration.
22839
- */
21814
+ /** User preference record storing theme, notification settings, dashboard customization, and other user-specific configuration. */
22840
21815
  export type UserPreference = {
22841
21816
  __typename?: 'UserPreference';
22842
21817
  accessibility?: Maybe<Scalars['JSON']['output']>;
@@ -22849,10 +21824,7 @@ export type UserPreference = {
22849
21824
  updatedAt: Scalars['DateTime']['output'];
22850
21825
  userId: Scalars['String']['output'];
22851
21826
  };
22852
- /**
22853
- * User presence status on the communication platform.
22854
- * Synced from platform webhooks or periodic polling.
22855
- */
21827
+ /** User presence status on the communication platform. Synced from platform webhooks or periodic polling. */
22856
21828
  export declare enum UserPresenceStatus {
22857
21829
  /** User is away or idle */
22858
21830
  Away = "AWAY",
@@ -23143,10 +22115,7 @@ export declare enum WebhookDeliveryStatus {
23143
22115
  Pending = "PENDING",
23144
22116
  Retrying = "RETRYING"
23145
22117
  }
23146
- /**
23147
- * WebhookEvent represents a received webhook (transient, 7-day TTL)
23148
- * Used for debugging and monitoring only
23149
- */
22118
+ /** WebhookEvent represents a received webhook (transient, 7-day TTL) Used for debugging and monitoring only */
23150
22119
  export type WebhookEvent = {
23151
22120
  __typename?: 'WebhookEvent';
23152
22121
  /** Associated channel */
@@ -23182,10 +22151,7 @@ export type WebhookEvent = {
23182
22151
  /** Last update timestamp */
23183
22152
  updatedAt: Scalars['DateTime']['output'];
23184
22153
  };
23185
- /**
23186
- * Paginated list of webhook events with cursor support.
23187
- * Pass `nextCursor` from a previous response as `cursor` in the next call.
23188
- */
22154
+ /** Paginated list of webhook events with cursor support. Pass `nextCursor` from a previous response as `cursor` in the next call. */
23189
22155
  export type WebhookEventList = {
23190
22156
  __typename?: 'WebhookEventList';
23191
22157
  hasMore: Scalars['Boolean']['output'];
@@ -23313,18 +22279,11 @@ export type WithdrawConsentInput = {
23313
22279
  subjectId: Scalars['ID']['input'];
23314
22280
  subjectType: Scalars['String']['input'];
23315
22281
  };
23316
- /**
23317
- * Workspace type stub - represents a workspace entity from the workspace service
23318
- * This service doesn't own the Workspace model, but references it
23319
- */
22282
+ /** Workspace type stub - represents a workspace entity from the workspace service This service doesn't own the Workspace model, but references it */
23320
22283
  export type Workspace = {
23321
22284
  __typename?: 'Workspace';
23322
22285
  createdAt: Scalars['DateTime']['output'];
23323
- /**
23324
- * Service routing endpoint for dedicated tenants
23325
- * For SHARED tenants, this is null (uses default workspace service)
23326
- * For DEDICATED tenants, this points to the dedicated workspace service instance
23327
- */
22286
+ /** Service routing endpoint for dedicated tenants For SHARED tenants, this is null (uses default workspace service) For DEDICATED tenants, this points to the dedicated workspace service instance */
23328
22287
  endpoint?: Maybe<Scalars['String']['output']>;
23329
22288
  id: Scalars['ID']['output'];
23330
22289
  /** Member count */
@@ -23345,10 +22304,7 @@ export type Workspace = {
23345
22304
  type: WorkspaceType;
23346
22305
  updatedAt: Scalars['DateTime']['output'];
23347
22306
  };
23348
- /**
23349
- * Workspace-level override for a feature flag.
23350
- * Workspace admins can disable flags or control user opt-in for their workspace.
23351
- */
22307
+ /** Workspace-level override for a feature flag. Workspace admins can disable flags or control user opt-in for their workspace. */
23352
22308
  export type WorkspaceFeatureFlagOverride = {
23353
22309
  __typename?: 'WorkspaceFeatureFlagOverride';
23354
22310
  allowUserOptIn: Scalars['Boolean']['output'];
@@ -23476,6 +22432,7 @@ export type CreatePlanInput = {
23476
22432
  quotas: Array<PlanQuotaInput>;
23477
22433
  };
23478
22434
  export type CreateQuotaInput = {
22435
+ context?: InputMaybe<Scalars['JSON']['input']>;
23479
22436
  limits: Scalars['JSON']['input'];
23480
22437
  name: Scalars['String']['input'];
23481
22438
  quotaType?: InputMaybe<QuotaType>;
@@ -23510,6 +22467,7 @@ export type UpdatePlanInput = {
23510
22467
  quotas: Array<PlanQuotaInput>;
23511
22468
  };
23512
22469
  export type UpdateQuotaInput = {
22470
+ context?: InputMaybe<Scalars['JSON']['input']>;
23513
22471
  id: Scalars['String']['input'];
23514
22472
  isActive: Scalars['Boolean']['input'];
23515
22473
  limits?: InputMaybe<Scalars['JSON']['input']>;