@burdenoff/microfe-planmagnet 2026.1009.1 → 2026.1014.1

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.
@@ -408,6 +408,8 @@ export type Addon = {
408
408
  isActive?: Maybe<Scalars['Boolean']['output']>;
409
409
  /** The name of the addon (e.g., 'Extra Bots', 'Additional Storage'). */
410
410
  name?: Maybe<Scalars['String']['output']>;
411
+ /** Apple App Store / Google Play SKU for this addon. */
412
+ nativeProductId?: Maybe<Scalars['String']['output']>;
411
413
  /** The price of the addon. */
412
414
  price?: Maybe<Scalars['Float']['output']>;
413
415
  /** Historical record of price changes for this addon */
@@ -1361,6 +1363,20 @@ export type AssignedQuota = {
1361
1363
  scope: QuotaScope;
1362
1364
  workspaceId?: Maybe<Scalars['ID']['output']>;
1363
1365
  };
1366
+ export type AssistantAccountBudget = {
1367
+ __typename?: 'AssistantAccountBudget';
1368
+ billingAccountId: Scalars['ID']['output'];
1369
+ dailyMicroUsd: Scalars['Int']['output'];
1370
+ dailyTokens: Scalars['Int']['output'];
1371
+ enabled: Scalars['Boolean']['output'];
1372
+ };
1373
+ export type AssistantBudgetReceipt = {
1374
+ __typename?: 'AssistantBudgetReceipt';
1375
+ heldMicroUsd: Scalars['Int']['output'];
1376
+ heldTokens: Scalars['Int']['output'];
1377
+ id: Scalars['ID']['output'];
1378
+ status: Scalars['String']['output'];
1379
+ };
1364
1380
  export type AttachMediaToStepInput = {
1365
1381
  /** Operation context for scoping (workspaceId, userId, productId, moduleId, etc.) */
1366
1382
  context?: InputMaybe<ContextInput>;
@@ -5688,6 +5704,10 @@ export type EvaluateFeatureFlagsInput = {
5688
5704
  productSlug?: InputMaybe<Scalars['String']['input']>;
5689
5705
  workspaceId: Scalars['String']['input'];
5690
5706
  };
5707
+ export type ExchangeOwnDelegationInput = {
5708
+ delegationId: Scalars['ID']['input'];
5709
+ scopes?: InputMaybe<Array<Scalars['String']['input']>>;
5710
+ };
5691
5711
  export type ExchangeTokenInput = {
5692
5712
  appId: Scalars['String']['input'];
5693
5713
  scopes?: InputMaybe<Array<Scalars['String']['input']>>;
@@ -8207,6 +8227,8 @@ export type Mutation = {
8207
8227
  completeSupportAttachmentUpload: SupportAttachmentFile;
8208
8228
  /** Mark a tour as completed for a user */
8209
8229
  completeTour: TourUserProgress;
8230
+ configureAssistantAccountBudget: AssistantAccountBudget;
8231
+ configureAssistantModelPrice: AiModelPrice;
8210
8232
  configureEntitlementSeats: ProductEntitlement;
8211
8233
  /** Configure Kerberos authentication for a tenant */
8212
8234
  configureKerberos: KerberosConfig;
@@ -8577,7 +8599,7 @@ export type Mutation = {
8577
8599
  enableMFA: Scalars['Boolean']['output'];
8578
8600
  enableMaintenanceMode: MaintenanceModeStatus;
8579
8601
  enrollSubscriberInAutomation: AutomationSubscriber;
8580
- /** Idempotently ensure a user is an organization member, primarily for the workspace-invite-accept flow where an invitee gains a workspace inside an org they're not yet a member of. Unlike `addOrganizationMember`: * Returns `OrganizationMember` whether the row was inserted or already existed — no CONFLICT on repeat calls (case 1: already a member). * Does NOT overwrite the existing `role` column on a pre-existing row (case 2: don't demote). * Triggers a real-role assignment in global-rbac-svc at scope = orgId only when the actor has NO existing role assignment at that scope (case 3: real role comes from RBAC, not the data-layer string). The `role` arg defaults to `GUEST` — the most restrictive enum value — because invitees arriving via a workspace invite should not gain first-class org membership. The data-layer string column is a coarse classifier; the authoritative permission decision is evaluated by global-rbac-svc against `actor_role_assignments`. See BOFF-2649 + the RBAC guide at `dev/platform/context/rbac/RBAC_GUIDE_FOR_AI_TOOLS.md`. Called from wspace-workspace-svc::acceptInvitation via service-context (`X-Actor-Type: service`), which bypasses the workspace-admin check inside the resolver. Best-effort from the caller's side — failures must NOT block the upstream invite acceptance. */
8602
+ /** Idempotently ensure a user is an organization member, primarily for the workspace-invite-accept flow where an invitee gains a workspace inside an org they're not yet a member of. Unlike `addOrganizationMember`: * Returns `OrganizationMember` whether the row was inserted or already existed — no CONFLICT on repeat calls (case 1: already a member). * Does NOT overwrite the existing `role` column on a pre-existing row (case 2: don't demote). * Triggers a real-role assignment in global-rbac-svc at scope = orgId only when the actor has NO existing role assignment at that scope (case 3: real role comes from RBAC, not the data-layer string). The `role` arg defaults to `GUEST` — the most restrictive enum value — because invitees arriving via a workspace invite should not gain first-class org membership. The data-layer string column is a coarse classifier; the authoritative permission decision is evaluated by global-rbac-svc against `actor_role_assignments`. See BOFF-2649 + the RBAC guide at `dev/platform/context/identity/rbac/RBAC_GUIDE_FOR_AI_TOOLS.md`. Called from wspace-workspace-svc::acceptInvitation via service-context (`X-Actor-Type: service`), which bypasses the workspace-admin check inside the resolver. Best-effort from the caller's side — failures must NOT block the upstream invite acceptance. */
8581
8603
  ensureOrganizationMember: EnsureOrganizationMemberResult;
8582
8604
  /** Ensure a billing order exists for a store order. Called from the checkout frontend when no billingOrderId is present (e.g. the buyer had no billing account at order-creation time). Creates the billing order server-side so the correct callbackGraphQL endpoint is registered and the billing service can call back after payment to confirm the store order. */
8583
8605
  ensureStoreOrderBillingOrder: EnsureStoreOrderBillingOrderResponse;
@@ -8586,6 +8608,7 @@ export type Mutation = {
8586
8608
  /** Hand this conversation to a person, with its transcript attached. The agent answers only from a baked corpus, so the questions it cannot answer are exactly the ones worth a person's time. This turns the dead end into a handover: it files the conversation as a contact inquiry — the same record the website contact form writes, in the same console, with the same emails — so nobody has to ask the visitor to type their problem out a second time. Requires the conversation token and nothing else. A token that does not own a conversation is reported as NOT_FOUND, never FORBIDDEN, exactly as every other token-scoped call reports it: FORBIDDEN would confirm the conversation exists. Unlike `submitExploreFeedback` this is NOT fire-and-forget — it throws rather than reporting a handover that did not happen, because the visitor is about to be told that someone will get back to them. Rate-limited on the same per-IP budget as sending a message and gated by the same reCAPTCHA, because it is the same anonymous visitor making another public write. Idempotent: one handover per conversation, so a double-clicked button returns the first one rather than putting a second ticket in front of support. */
8587
8609
  escalateExploreConversation: EscalateExploreConversationResult;
8588
8610
  escalateSupportTicket: SupportTicket;
8611
+ exchangeOwnDelegation: AppAsUserTokenResponse;
8589
8612
  /** Exchange app token for app-as-user token (Token Exchange flow) */
8590
8613
  exchangeToken: AppAsUserTokenResponse;
8591
8614
  executeJobNow: JobExecution;
@@ -8934,6 +8957,7 @@ export type Mutation = {
8934
8957
  resendOrganizationInvite: OrganizationInvite;
8935
8958
  resendSurvey: CustomerSatisfactionSurvey;
8936
8959
  resendVerificationEmail: ResendVerificationResult;
8960
+ reserveAssistantAccountBudget: AssistantBudgetReceipt;
8937
8961
  resetCircuitBreaker: CircuitBreakerState;
8938
8962
  /** Reset password using token from email */
8939
8963
  resetPassword: Scalars['Boolean']['output'];
@@ -9030,6 +9054,8 @@ export type Mutation = {
9030
9054
  scheduleNotification: ScheduledNotification;
9031
9055
  /** Overwrite the built-in AthleteBridge user-facing tours from the service-owned seed file. */
9032
9056
  seedAtheleteBridgeUserTours: SeedAtheleteBridgeUserToursResult;
9057
+ /** Overwrite the service-owned BigConsole onboarding tours. Repeated calls update the same slugs. */
9058
+ seedBigconsoleUserTours: SeedBigconsoleUserToursResult;
9033
9059
  /** Overwrite the built-in Buildmyiq user-facing dashboard tour from the service-owned seed file. */
9034
9060
  seedBuildmyiqUserTours: SeedBuildmyiqUserToursResult;
9035
9061
  /** Overwrite the built-in CollabKin user-facing dashboard tour from the service-owned seed file. */
@@ -9101,6 +9127,7 @@ export type Mutation = {
9101
9127
  setUserLanguagePreference: UserLanguagePreference;
9102
9128
  /** Set workspace-level override for a feature flag (super admin or workspace admin). RBAC is scoped to the target workspace via `input.workspaceId`. */
9103
9129
  setWorkspaceFeatureFlagOverride: WorkspaceFeatureFlagOverride;
9130
+ settleAssistantAccountBudget: AssistantBudgetReceipt;
9104
9131
  setupMFA: MfaSetupResult;
9105
9132
  /** Share a WORKFLOW-type application as a public link by setting its visibility to UNLISTED. Only the developer who owns the app can call this. The app must have a manifest (workflow definition) set. */
9106
9133
  shareWorkflow: Application;
@@ -9414,7 +9441,6 @@ export type Mutation = {
9414
9441
  /** M2M: create or update a ShippingAddress for an EXPLICIT user, on behalf of a calling service. Product backends (e.g. Kadaikodi) call this through the INTERNAL gateway so a user's address lives in the canonical store owner rather than a per-product copy. Pass `input.id` to update an existing row (must belong to `input.userId`); omit it to create. Service-actor only. */
9415
9442
  upsertUserShippingAddress: ShippingAddress;
9416
9443
  useCannedResponse: CannedResponse;
9417
- validateApiKey: TokenValidationResponse;
9418
9444
  /** Validate an HMAC signature */
9419
9445
  validateHMACSignature: HmacValidationResult;
9420
9446
  /** Validate a signed cookie */
@@ -9999,6 +10025,19 @@ export type MutationCompleteTourArgs = {
9999
10025
  userId: Scalars['ID']['input'];
10000
10026
  };
10001
10027
  /** Root mutation type */
10028
+ export type MutationConfigureAssistantAccountBudgetArgs = {
10029
+ billingAccountId: Scalars['ID']['input'];
10030
+ dailyMicroUsd: Scalars['Int']['input'];
10031
+ dailyTokens: Scalars['Int']['input'];
10032
+ enabled: Scalars['Boolean']['input'];
10033
+ };
10034
+ /** Root mutation type */
10035
+ export type MutationConfigureAssistantModelPriceArgs = {
10036
+ inputPer1M: Scalars['String']['input'];
10037
+ model: Scalars['String']['input'];
10038
+ outputPer1M: Scalars['String']['input'];
10039
+ };
10040
+ /** Root mutation type */
10002
10041
  export type MutationConfigureEntitlementSeatsArgs = {
10003
10042
  entitlementId: Scalars['ID']['input'];
10004
10043
  maxSeats: Scalars['Int']['input'];
@@ -11038,6 +11077,10 @@ export type MutationEscalateSupportTicketArgs = {
11038
11077
  reason: Scalars['String']['input'];
11039
11078
  };
11040
11079
  /** Root mutation type */
11080
+ export type MutationExchangeOwnDelegationArgs = {
11081
+ input: ExchangeOwnDelegationInput;
11082
+ };
11083
+ /** Root mutation type */
11041
11084
  export type MutationExchangeTokenArgs = {
11042
11085
  input: ExchangeTokenInput;
11043
11086
  };
@@ -11996,6 +12039,10 @@ export type MutationResendVerificationEmailArgs = {
11996
12039
  email: Scalars['String']['input'];
11997
12040
  };
11998
12041
  /** Root mutation type */
12042
+ export type MutationReserveAssistantAccountBudgetArgs = {
12043
+ input: ReserveAssistantBudgetInput;
12044
+ };
12045
+ /** Root mutation type */
11999
12046
  export type MutationResetCircuitBreakerArgs = {
12000
12047
  scope: Scalars['String']['input'];
12001
12048
  scopeValue: Scalars['String']['input'];
@@ -12394,6 +12441,13 @@ export type MutationSetWorkspaceFeatureFlagOverrideArgs = {
12394
12441
  input: SetWorkspaceFeatureFlagOverrideInput;
12395
12442
  };
12396
12443
  /** Root mutation type */
12444
+ export type MutationSettleAssistantAccountBudgetArgs = {
12445
+ id: Scalars['ID']['input'];
12446
+ inputTokens: Scalars['Int']['input'];
12447
+ outputTokens: Scalars['Int']['input'];
12448
+ workspaceId: Scalars['ID']['input'];
12449
+ };
12450
+ /** Root mutation type */
12397
12451
  export type MutationSetupMfaArgs = {
12398
12452
  method: MfaMethod;
12399
12453
  };
@@ -13350,10 +13404,6 @@ export type MutationUseCannedResponseArgs = {
13350
13404
  id: Scalars['ID']['input'];
13351
13405
  };
13352
13406
  /** Root mutation type */
13353
- export type MutationValidateApiKeyArgs = {
13354
- apiKey: Scalars['String']['input'];
13355
- };
13356
- /** Root mutation type */
13357
13407
  export type MutationValidateHmacSignatureArgs = {
13358
13408
  algorithm?: InputMaybe<Scalars['String']['input']>;
13359
13409
  appId: Scalars['ID']['input'];
@@ -15155,6 +15205,8 @@ export type Plan = {
15155
15205
  minSeats?: Maybe<Scalars['Int']['output']>;
15156
15206
  /** The name of the plan (e.g., 'Basic', 'Pro', 'Enterprise'). */
15157
15207
  name?: Maybe<Scalars['String']['output']>;
15208
+ /** Apple App Store / Google Play SKU for this plan. */
15209
+ nativeProductId?: Maybe<Scalars['String']['output']>;
15158
15210
  /** The price of the plan. */
15159
15211
  price?: Maybe<Scalars['Float']['output']>;
15160
15212
  /** Historical record of price changes for this plan */
@@ -20626,6 +20678,13 @@ export type ResendVerificationResult = {
20626
20678
  message: Scalars['String']['output'];
20627
20679
  success: Scalars['Boolean']['output'];
20628
20680
  };
20681
+ export type ReserveAssistantBudgetInput = {
20682
+ id: Scalars['ID']['input'];
20683
+ inputTokens: Scalars['Int']['input'];
20684
+ model: Scalars['String']['input'];
20685
+ outputTokens: Scalars['Int']['input'];
20686
+ workspaceId: Scalars['ID']['input'];
20687
+ };
20629
20688
  /** Input for resolving (or creating) the default billing account for a user/org. At least one of `orgId` or `ownerUserId` MUST be supplied: - `orgId` present → resolve-or-create the org's default billing account. - `ownerUserId` only → resolve an EXISTING billing account already associated with that user's earnings/payout accounts. Creation requires an `orgId` anchor because a billing account is always org-scoped. */
20630
20689
  export type ResolveBillingAccountInput = {
20631
20690
  /** Opaque org id that anchors the billing account. When present the org's default billing account is resolved-or-created. */
@@ -21289,6 +21348,15 @@ export type SeedAtheleteBridgeUserToursResult = {
21289
21348
  updatedCount: Scalars['Int']['output'];
21290
21349
  workspaceId: Scalars['String']['output'];
21291
21350
  };
21351
+ export type SeedBigconsoleUserToursResult = {
21352
+ __typename?: 'SeedBigconsoleUserToursResult';
21353
+ createdCount: Scalars['Int']['output'];
21354
+ productId: Scalars['String']['output'];
21355
+ totalCount: Scalars['Int']['output'];
21356
+ tours: Array<SeededUserTourResult>;
21357
+ updatedCount: Scalars['Int']['output'];
21358
+ workspaceId: Scalars['String']['output'];
21359
+ };
21292
21360
  export type SeedBuildmyiqUserToursResult = {
21293
21361
  __typename?: 'SeedBuildmyiqUserToursResult';
21294
21362
  createdCount: Scalars['Int']['output'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-planmagnet",
3
- "version": "2026.1009.1",
3
+ "version": "2026.1014.1",
4
4
  "description": "Burdenoff PlanMagnet Microfrontend",
5
5
  "type": "module",
6
6
  "files": [