@buildbase/sdk 0.0.75 → 0.0.76

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.
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";var e=require("./chunks/react-DTOi9eck.cjs");require("react/jsx-runtime"),require("react"),require("clsx"),require("tailwind-merge"),require("intl-messageformat"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("lucide-react"),require("@radix-ui/react-dialog"),require("@radix-ui/react-icons"),require("@hookform/resolvers/zod"),require("react-hook-form"),require("@radix-ui/react-label"),require("zod"),require("@radix-ui/react-avatar"),require("@radix-ui/react-radio-group"),require("@radix-ui/react-scroll-area"),require("@radix-ui/react-separator"),require("@radix-ui/react-accordion"),require("@radix-ui/react-alert-dialog"),require("@radix-ui/react-popover"),exports.APP_PERMISSION_FALLBACK_GROUP=e.APP_PERMISSION_FALLBACK_GROUP,Object.defineProperty(exports,"ApiVersion",{enumerable:!0,get:function(){return e.ApiVersion}}),exports.AuthApi=e.AuthApi,Object.defineProperty(exports,"AuthStatus",{enumerable:!0,get:function(){return e.AuthStatus}}),exports.BBAction=e.BBAction,exports.BBScreen=e.BBScreen,exports.BBStatus=e.BBStatus,exports.BB_PARAM=e.BB_PARAM,exports.BaseApi=e.BaseApi,exports.BetaForm=e.BetaForm,exports.BillingIntervals=e.BillingIntervals,exports.BuildBaseBadge=e.BuildBaseBadge,exports.BuildBaseProvider=e.SaaSOSProvider,exports.CURRENCY_DISPLAY=e.CURRENCY_DISPLAY,exports.CURRENCY_FLAG=e.CURRENCY_FLAG,exports.ConnectMcpGuide=e.ConnectMcpGuide,exports.ConnectedAgents=e.ConnectedAgents,exports.ConnectedAgentsApi=e.ConnectedAgentsApi,exports.CreditActionsProvider=e.CreditActionsProvider,exports.CreditBalance=e.CreditBalance,exports.CreditBalanceContextProvider=e.CreditBalanceContextProvider,exports.CreditBucketSource=e.CreditBucketSource,exports.CreditBucketStatus=e.CreditBucketStatus,exports.CreditStorePage=e.CreditStorePage,exports.CreditTransactionType=e.CreditTransactionType,exports.DEFAULT_ROLE_PERMISSIONS=e.DEFAULT_ROLE_PERMISSIONS,exports.Devices=e.Devices,exports.DevicesApi=e.DevicesApi,exports.DunningState=e.DunningState,exports.EmptyState=e.EmptyState,exports.EventEmitter=e.EventEmitter,exports.FALLBACK_WORKSPACE_ROLE=e.FALLBACK_WORKSPACE_ROLE,exports.FullScreenLoader=e.FullScreenLoader,exports.INVITATION_ERROR_CODE=e.INVITATION_ERROR_CODE,exports.InvoiceStatuses=e.InvoiceStatuses,exports.LoadingState=e.LoadingState,exports.NotificationBell=e.NotificationBell,exports.NotificationInbox=e.NotificationInbox,exports.NotificationsApi=e.NotificationsApi,exports.PLAN_CURRENCY_CODES=e.PLAN_CURRENCY_CODES,exports.PLAN_CURRENCY_OPTIONS=e.PLAN_CURRENCY_OPTIONS,exports.PUSH_SERVICE_WORKER_SCRIPT=e.PUSH_SERVICE_WORKER_SCRIPT,exports.PendingInvitations=e.PendingInvitations,exports.Permission=e.Permission,exports.PricingPage=e.PricingPage,exports.PushApi=e.PushApi,exports.PushNotificationProvider=e.PushNotificationProvider,exports.QuotaUsageContextProvider=e.QuotaUsageContextProvider,exports.SDKEvent=e.SDKEvent,exports.SETTINGS_SCREENS=e.SETTINGS_SCREENS,exports.SUPPORTED_LOCALES=e.SUPPORTED_LOCALES,exports.SaaSOSProvider=e.SaaSOSProvider,exports.SectionHeader=e.SectionHeader,exports.Sessions=e.Sessions,exports.SessionsApi=e.SessionsApi,exports.SettingsApi=e.SettingsApi,exports.SettingsScreen=e.SettingsScreen,exports.SidebarNavItem=e.SidebarNavItem,exports.SidebarNavSection=e.SidebarNavSection,exports.StatusBanner=e.StatusBanner,exports.SubscriptionContextProvider=e.SubscriptionContextProvider,exports.SubscriptionItemType=e.SubscriptionItemType,exports.SubscriptionStatus=e.SubscriptionStatus,exports.UserApi=e.UserApi,exports.WhenAuthenticated=e.WhenAuthenticated,exports.WhenCreditsAvailable=e.WhenCreditsAvailable,exports.WhenCreditsExhausted=e.WhenCreditsExhausted,exports.WhenCreditsLow=e.WhenCreditsLow,exports.WhenNoSubscription=e.WhenNoSubscription,exports.WhenNotTrialing=e.WhenNotTrialing,exports.WhenPendingInvitations=e.WhenPendingInvitations,exports.WhenPermission=e.WhenPermission,exports.WhenQuotaAvailable=e.WhenQuotaAvailable,exports.WhenQuotaExhausted=e.WhenQuotaExhausted,exports.WhenQuotaOverage=e.WhenQuotaOverage,exports.WhenQuotaThreshold=e.WhenQuotaThreshold,exports.WhenRoles=e.WhenRoles,exports.WhenSubscription=e.WhenSubscription,exports.WhenSubscriptionToPlans=e.WhenSubscriptionToPlans,exports.WhenTrialEnding=e.WhenTrialEnding,exports.WhenTrialing=e.WhenTrialing,exports.WhenUnauthenticated=e.WhenUnauthenticated,exports.WhenUserFeatureDisabled=e.WhenUserFeatureDisabled,exports.WhenUserFeatureEnabled=e.WhenUserFeatureEnabled,exports.WhenWorkspaceFeatureDisabled=e.WhenWorkspaceFeatureDisabled,exports.WhenWorkspaceFeatureEnabled=e.WhenWorkspaceFeatureEnabled,exports.WhenWorkspaceRoles=e.WhenWorkspaceRoles,exports.WorkspaceApi=e.WorkspaceApi,exports.WorkspaceSwitcher=e.WorkspaceSwitcher,exports.actionableInvitations=e.actionableInvitations,exports.appPermissionCatalogue=e.appPermissionCatalogue,exports.calculateBillableSeats=e.calculateBillableSeats,exports.calculateSeatOverageCents=e.calculateSeatOverageCents,exports.calculateTotalSubscriptionCents=e.calculateTotalSubscriptionCents,exports.cleanBBParams=e.cleanBBParams,exports.clearAuthIntent=e.clearAuthIntent,exports.clearPendingInvite=e.clearPendingInvite,exports.coerceBadgeRef=e.coerceBadgeRef,exports.consumeAuthIntent=e.consumeAuthIntent,exports.createBBUrl=e.createBBUrl,exports.createCheckoutRedirectUrls=e.createCheckoutRedirectUrls,exports.createCreditPurchaseRedirectUrls=e.createCreditPurchaseRedirectUrls,exports.eventEmitter=e.eventEmitter,exports.fillMcpTemplate=e.fillMcpTemplate,exports.formatCents=e.formatCents,exports.formatMinorAmountIntl=e.formatMinorAmountIntl,exports.formatOverageRate=e.formatOverageRate,exports.formatOverageRateWithLabel=e.formatOverageRateWithLabel,exports.formatQuotaIncludedOverage=e.formatQuotaIncludedOverage,exports.formatQuotaWithPrice=e.formatQuotaWithPrice,exports.getAvailableCurrenciesFromPlans=e.getAvailableCurrenciesFromPlans,exports.getBasePriceCents=e.getBasePriceCents,exports.getBillingIntervalAndCurrencyFromPriceId=e.getBillingIntervalAndCurrencyFromPriceId,exports.getCurrencyDecimals=e.getCurrencyDecimals,exports.getCurrencyFlag=e.getCurrencyFlag,exports.getCurrencySymbol=e.getCurrencySymbol,exports.getDisplayCurrency=e.getDisplayCurrency,exports.getPerSeatPriceCents=e.getPerSeatPriceCents,exports.getPricingVariant=e.getPricingVariant,exports.getQuotaDisplayValue=e.getQuotaDisplayValue,exports.getQuotaDisplayWithVariant=e.getQuotaDisplayWithVariant,exports.getQuotaOverageCents=e.getQuotaOverageCents,exports.getQuotaUnitLabelFromName=e.getQuotaUnitLabelFromName,exports.getSeatPricing=e.getSeatPricing,exports.getStripePriceIdForInterval=e.getStripePriceIdForInterval,exports.hasPermission=e.hasPermission,exports.invalidateCreditBalance=e.invalidateCreditBalance,exports.invalidateQuotaUsage=e.invalidateQuotaUsage,exports.invalidateSubscription=e.invalidateSubscription,exports.inviterNameOf=e.inviterNameOf,exports.isInvitationActionable=e.isInvitationActionable,exports.isInvitationError=e.isInvitationError,exports.isInvitationLapsed=e.isInvitationLapsed,exports.isZeroDecimalCurrency=e.isZeroDecimalCurrency,exports.mcpServerKey=e.mcpServerKey,exports.mergeUIConfig=e.mergeUIConfig,exports.minorAmountToDisplay=e.minorAmountToDisplay,exports.parkPendingInvite=e.parkPendingInvite,exports.pickDefaultRole=e.pickDefaultRole,exports.readBBParams=e.readBBParams,exports.readPendingInvite=e.readPendingInvite,exports.resendCooldownSeconds=e.resendCooldownSeconds,exports.resolveMaxUsers=e.resolveMaxUsers,exports.resolvePermissions=e.resolvePermissions,exports.resolveRolePermissions=e.resolveRolePermissions,exports.safeRedirect=e.safeRedirect,exports.saveAuthIntent=e.saveAuthIntent,exports.sortInvitations=e.sortInvitations,exports.useAllQuotaUsage=e.useAllQuotaUsage,exports.useBillingPortal=e.useBillingPortal,exports.useCancelSubscription=e.useCancelSubscription,exports.useConnectedAgents=e.useConnectedAgents,exports.useConnectedAgentsApi=e.useConnectedAgentsApi,exports.useConsumeCredits=e.useConsumeCredits,exports.useCreateCheckoutSession=e.useCreateCheckoutSession,exports.useCreditBalance=e.useCreditBalance,exports.useCreditBalanceContext=e.useCreditBalanceContext,exports.useCreditPackages=e.useCreditPackages,exports.useCreditTransactions=e.useCreditTransactions,exports.useDevices=e.useDevices,exports.useDevicesApi=e.useDevicesApi,exports.useExpiringCredits=e.useExpiringCredits,exports.useFullScreenLoader=e.useFullScreenLoader,exports.useInvoice=e.useInvoice,exports.useInvoices=e.useInvoices,exports.useMcpConnection=e.useMcpConnection,exports.useMyInvitations=e.useMyInvitations,exports.useNotifications=e.useNotifications,exports.useNotificationsApi=e.useNotificationsApi,exports.usePermissions=e.usePermissions,exports.usePlanGroup=e.usePlanGroup,exports.usePlanGroupVersions=e.usePlanGroupVersions,exports.usePublicCreditPackages=e.usePublicCreditPackages,exports.usePublicPlanGroupVersion=e.usePublicPlanGroupVersion,exports.usePublicPlans=e.usePublicPlans,exports.usePurchaseCredits=e.usePurchaseCredits,exports.usePushNotifications=e.usePushNotifications,exports.useQuotaUsageContext=e.useQuotaUsageContext,exports.useQuotaUsageStatus=e.useQuotaUsageStatus,exports.useRecordUsage=e.useRecordUsage,exports.useResumeSubscription=e.useResumeSubscription,exports.useSaaSAuth=e.useSaaSAuth,exports.useSaaSOs=e.useSaaSOs,exports.useSaaSSettings=e.useSaaSSettings,exports.useSaaSWorkspaces=e.useSaaSWorkspaces,exports.useSeatStatus=e.useSeatStatus,exports.useSessions=e.useSessions,exports.useSessionsApi=e.useSessionsApi,exports.useSubscription=e.useSubscription,exports.useSubscriptionContext=e.useSubscriptionContext,exports.useSubscriptionManagement=e.useSubscriptionManagement,exports.useTranslation=e.useTranslation,exports.useTrialStatus=e.useTrialStatus,exports.useUIConfig=e.useUIConfig,exports.useUIVisibility=e.useUIVisibility,exports.useUpdateSubscription=e.useUpdateSubscription,exports.useUsageLogs=e.useUsageLogs,exports.useUserAttributes=e.useUserAttributes,exports.useUserFeatures=e.useUserFeatures,exports.useWorkspaceInvitations=e.useWorkspaceInvitations,exports.validateInvite=e.validateInvite,exports.validateRedirectUrl=e.validateRedirectUrl,exports.workspaceIdOf=e.workspaceIdOf,exports.workspaceNameOf=e.workspaceNameOf,exports.workspaceSettingsManager=e.workspaceSettingsManager;
2
+ "use strict";var e=require("./chunks/react-KC1YFLkh.cjs");require("react/jsx-runtime"),require("react"),require("clsx"),require("tailwind-merge"),require("intl-messageformat"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("lucide-react"),require("@radix-ui/react-dialog"),require("@radix-ui/react-icons"),require("@hookform/resolvers/zod"),require("react-hook-form"),require("@radix-ui/react-label"),require("zod"),require("@radix-ui/react-avatar"),require("@radix-ui/react-radio-group"),require("@radix-ui/react-scroll-area"),require("@radix-ui/react-separator"),require("@radix-ui/react-accordion"),require("@radix-ui/react-alert-dialog"),require("@radix-ui/react-popover"),exports.APP_PERMISSION_FALLBACK_GROUP=e.APP_PERMISSION_FALLBACK_GROUP,Object.defineProperty(exports,"ApiVersion",{enumerable:!0,get:function(){return e.ApiVersion}}),exports.AuthApi=e.AuthApi,Object.defineProperty(exports,"AuthStatus",{enumerable:!0,get:function(){return e.AuthStatus}}),exports.BBAction=e.BBAction,exports.BBScreen=e.BBScreen,exports.BBStatus=e.BBStatus,exports.BB_PARAM=e.BB_PARAM,exports.BaseApi=e.BaseApi,exports.BetaForm=e.BetaForm,exports.BillingIntervals=e.BillingIntervals,exports.BuildBaseBadge=e.BuildBaseBadge,exports.BuildBaseProvider=e.SaaSOSProvider,exports.CURRENCY_DISPLAY=e.CURRENCY_DISPLAY,exports.CURRENCY_FLAG=e.CURRENCY_FLAG,exports.ConnectMcpGuide=e.ConnectMcpGuide,exports.ConnectedAgents=e.ConnectedAgents,exports.ConnectedAgentsApi=e.ConnectedAgentsApi,exports.CreditActionsProvider=e.CreditActionsProvider,exports.CreditBalance=e.CreditBalance,exports.CreditBalanceContextProvider=e.CreditBalanceContextProvider,exports.CreditBucketSource=e.CreditBucketSource,exports.CreditBucketStatus=e.CreditBucketStatus,exports.CreditStorePage=e.CreditStorePage,exports.CreditTransactionType=e.CreditTransactionType,exports.DEFAULT_ROLE_PERMISSIONS=e.DEFAULT_ROLE_PERMISSIONS,exports.Devices=e.Devices,exports.DevicesApi=e.DevicesApi,exports.DunningState=e.DunningState,exports.EmptyState=e.EmptyState,exports.EventEmitter=e.EventEmitter,exports.FALLBACK_WORKSPACE_ROLE=e.FALLBACK_WORKSPACE_ROLE,exports.FullScreenLoader=e.FullScreenLoader,exports.INVITATION_ERROR_CODE=e.INVITATION_ERROR_CODE,exports.InvoiceStatuses=e.InvoiceStatuses,exports.LoadingState=e.LoadingState,exports.NotificationBell=e.NotificationBell,exports.NotificationInbox=e.NotificationInbox,exports.NotificationsApi=e.NotificationsApi,exports.PLAN_CURRENCY_CODES=e.PLAN_CURRENCY_CODES,exports.PLAN_CURRENCY_OPTIONS=e.PLAN_CURRENCY_OPTIONS,exports.PUSH_SERVICE_WORKER_SCRIPT=e.PUSH_SERVICE_WORKER_SCRIPT,exports.PendingInvitations=e.PendingInvitations,exports.Permission=e.Permission,exports.PricingPage=e.PricingPage,exports.PushApi=e.PushApi,exports.PushNotificationProvider=e.PushNotificationProvider,exports.QuotaUsageContextProvider=e.QuotaUsageContextProvider,exports.SDKEvent=e.SDKEvent,exports.SETTINGS_SCREENS=e.SETTINGS_SCREENS,exports.SUPPORTED_LOCALES=e.SUPPORTED_LOCALES,exports.SaaSOSProvider=e.SaaSOSProvider,exports.SectionHeader=e.SectionHeader,exports.Sessions=e.Sessions,exports.SessionsApi=e.SessionsApi,exports.SettingsApi=e.SettingsApi,exports.SettingsScreen=e.SettingsScreen,exports.SidebarNavItem=e.SidebarNavItem,exports.SidebarNavSection=e.SidebarNavSection,exports.StatusBanner=e.StatusBanner,exports.SubscriptionContextProvider=e.SubscriptionContextProvider,exports.SubscriptionItemType=e.SubscriptionItemType,exports.SubscriptionStatus=e.SubscriptionStatus,exports.UserApi=e.UserApi,exports.WhenAuthenticated=e.WhenAuthenticated,exports.WhenCreditsAvailable=e.WhenCreditsAvailable,exports.WhenCreditsExhausted=e.WhenCreditsExhausted,exports.WhenCreditsLow=e.WhenCreditsLow,exports.WhenNoSubscription=e.WhenNoSubscription,exports.WhenNotTrialing=e.WhenNotTrialing,exports.WhenPendingInvitations=e.WhenPendingInvitations,exports.WhenPermission=e.WhenPermission,exports.WhenQuotaAvailable=e.WhenQuotaAvailable,exports.WhenQuotaExhausted=e.WhenQuotaExhausted,exports.WhenQuotaOverage=e.WhenQuotaOverage,exports.WhenQuotaThreshold=e.WhenQuotaThreshold,exports.WhenRoles=e.WhenRoles,exports.WhenSubscription=e.WhenSubscription,exports.WhenSubscriptionToPlans=e.WhenSubscriptionToPlans,exports.WhenTrialEnding=e.WhenTrialEnding,exports.WhenTrialing=e.WhenTrialing,exports.WhenUnauthenticated=e.WhenUnauthenticated,exports.WhenUserFeatureDisabled=e.WhenUserFeatureDisabled,exports.WhenUserFeatureEnabled=e.WhenUserFeatureEnabled,exports.WhenWorkspaceFeatureDisabled=e.WhenWorkspaceFeatureDisabled,exports.WhenWorkspaceFeatureEnabled=e.WhenWorkspaceFeatureEnabled,exports.WhenWorkspaceRoles=e.WhenWorkspaceRoles,exports.WorkspaceApi=e.WorkspaceApi,exports.WorkspaceSwitcher=e.WorkspaceSwitcher,exports.actionableInvitations=e.actionableInvitations,exports.appPermissionCatalogue=e.appPermissionCatalogue,exports.calculateBillableSeats=e.calculateBillableSeats,exports.calculateSeatOverageCents=e.calculateSeatOverageCents,exports.calculateTotalSubscriptionCents=e.calculateTotalSubscriptionCents,exports.cleanBBParams=e.cleanBBParams,exports.clearAuthIntent=e.clearAuthIntent,exports.clearPendingInvite=e.clearPendingInvite,exports.coerceBadgeRef=e.coerceBadgeRef,exports.consumeAuthIntent=e.consumeAuthIntent,exports.createBBUrl=e.createBBUrl,exports.createCheckoutRedirectUrls=e.createCheckoutRedirectUrls,exports.createCreditPurchaseRedirectUrls=e.createCreditPurchaseRedirectUrls,exports.eventEmitter=e.eventEmitter,exports.fillMcpTemplate=e.fillMcpTemplate,exports.formatCents=e.formatCents,exports.formatMinorAmountIntl=e.formatMinorAmountIntl,exports.formatOverageRate=e.formatOverageRate,exports.formatOverageRateWithLabel=e.formatOverageRateWithLabel,exports.formatQuotaIncludedOverage=e.formatQuotaIncludedOverage,exports.formatQuotaWithPrice=e.formatQuotaWithPrice,exports.getAvailableCurrenciesFromPlans=e.getAvailableCurrenciesFromPlans,exports.getBasePriceCents=e.getBasePriceCents,exports.getBillingIntervalAndCurrencyFromPriceId=e.getBillingIntervalAndCurrencyFromPriceId,exports.getCurrencyDecimals=e.getCurrencyDecimals,exports.getCurrencyFlag=e.getCurrencyFlag,exports.getCurrencySymbol=e.getCurrencySymbol,exports.getDisplayCurrency=e.getDisplayCurrency,exports.getPerSeatPriceCents=e.getPerSeatPriceCents,exports.getPricingVariant=e.getPricingVariant,exports.getQuotaDisplayValue=e.getQuotaDisplayValue,exports.getQuotaDisplayWithVariant=e.getQuotaDisplayWithVariant,exports.getQuotaOverageCents=e.getQuotaOverageCents,exports.getQuotaUnitLabelFromName=e.getQuotaUnitLabelFromName,exports.getSeatPricing=e.getSeatPricing,exports.getStripePriceIdForInterval=e.getStripePriceIdForInterval,exports.hasPermission=e.hasPermission,exports.invalidateCreditBalance=e.invalidateCreditBalance,exports.invalidateQuotaUsage=e.invalidateQuotaUsage,exports.invalidateSubscription=e.invalidateSubscription,exports.inviterNameOf=e.inviterNameOf,exports.isInvitationActionable=e.isInvitationActionable,exports.isInvitationError=e.isInvitationError,exports.isInvitationLapsed=e.isInvitationLapsed,exports.isZeroDecimalCurrency=e.isZeroDecimalCurrency,exports.mcpServerKey=e.mcpServerKey,exports.mergeUIConfig=e.mergeUIConfig,exports.minorAmountToDisplay=e.minorAmountToDisplay,exports.parkPendingInvite=e.parkPendingInvite,exports.pickDefaultRole=e.pickDefaultRole,exports.readBBParams=e.readBBParams,exports.readPendingInvite=e.readPendingInvite,exports.resendCooldownSeconds=e.resendCooldownSeconds,exports.resolveMaxUsers=e.resolveMaxUsers,exports.resolvePermissions=e.resolvePermissions,exports.resolveRolePermissions=e.resolveRolePermissions,exports.safeRedirect=e.safeRedirect,exports.saveAuthIntent=e.saveAuthIntent,exports.sortInvitations=e.sortInvitations,exports.useAllQuotaUsage=e.useAllQuotaUsage,exports.useBillingPortal=e.useBillingPortal,exports.useCancelSubscription=e.useCancelSubscription,exports.useConnectedAgents=e.useConnectedAgents,exports.useConnectedAgentsApi=e.useConnectedAgentsApi,exports.useConsumeCredits=e.useConsumeCredits,exports.useCreateCheckoutSession=e.useCreateCheckoutSession,exports.useCreditBalance=e.useCreditBalance,exports.useCreditBalanceContext=e.useCreditBalanceContext,exports.useCreditPackages=e.useCreditPackages,exports.useCreditTransactions=e.useCreditTransactions,exports.useDevices=e.useDevices,exports.useDevicesApi=e.useDevicesApi,exports.useExpiringCredits=e.useExpiringCredits,exports.useFullScreenLoader=e.useFullScreenLoader,exports.useInvoice=e.useInvoice,exports.useInvoices=e.useInvoices,exports.useMcpConnection=e.useMcpConnection,exports.useMyInvitations=e.useMyInvitations,exports.useNotifications=e.useNotifications,exports.useNotificationsApi=e.useNotificationsApi,exports.usePermissions=e.usePermissions,exports.usePlanGroup=e.usePlanGroup,exports.usePlanGroupVersions=e.usePlanGroupVersions,exports.usePublicCreditPackages=e.usePublicCreditPackages,exports.usePublicPlanGroupVersion=e.usePublicPlanGroupVersion,exports.usePublicPlans=e.usePublicPlans,exports.usePurchaseCredits=e.usePurchaseCredits,exports.usePushNotifications=e.usePushNotifications,exports.useQuotaUsageContext=e.useQuotaUsageContext,exports.useQuotaUsageStatus=e.useQuotaUsageStatus,exports.useRecordUsage=e.useRecordUsage,exports.useResumeSubscription=e.useResumeSubscription,exports.useSaaSAuth=e.useSaaSAuth,exports.useSaaSOs=e.useSaaSOs,exports.useSaaSSettings=e.useSaaSSettings,exports.useSaaSWorkspaces=e.useSaaSWorkspaces,exports.useSeatStatus=e.useSeatStatus,exports.useSessions=e.useSessions,exports.useSessionsApi=e.useSessionsApi,exports.useSubscription=e.useSubscription,exports.useSubscriptionContext=e.useSubscriptionContext,exports.useSubscriptionManagement=e.useSubscriptionManagement,exports.useTranslation=e.useTranslation,exports.useTrialStatus=e.useTrialStatus,exports.useUIConfig=e.useUIConfig,exports.useUIVisibility=e.useUIVisibility,exports.useUpdateSubscription=e.useUpdateSubscription,exports.useUsageLogs=e.useUsageLogs,exports.useUserAttributes=e.useUserAttributes,exports.useUserFeatures=e.useUserFeatures,exports.useWorkspaceInvitations=e.useWorkspaceInvitations,exports.validateInvite=e.validateInvite,exports.validateRedirectUrl=e.validateRedirectUrl,exports.workspaceIdOf=e.workspaceIdOf,exports.workspaceNameOf=e.workspaceNameOf,exports.workspaceSettingsManager=e.workspaceSettingsManager;
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{b2 as APP_PERMISSION_FALLBACK_GROUP,b3 as ApiVersion,b4 as AuthApi,b5 as AuthStatus,o as BBAction,b6 as BBScreen,p as BBStatus,b7 as BB_PARAM,b8 as BaseApi,b9 as BetaForm,ak as BillingIntervals,ba as BuildBaseBadge,bb as BuildBaseProvider,bc as CURRENCY_DISPLAY,bd as CURRENCY_FLAG,be as ConnectMcpGuide,C as ConnectedAgents,bf as ConnectedAgentsApi,bg as CreditActionsProvider,bh as CreditBalance,bi as CreditBalanceContextProvider,bj as CreditBucketSource,bk as CreditBucketStatus,bl as CreditStorePage,y as CreditTransactionType,bm as DEFAULT_ROLE_PERMISSIONS,R as Devices,bn as DevicesApi,aB as DunningState,E as EmptyState,bo as EventEmitter,bp as FALLBACK_WORKSPACE_ROLE,bq as FullScreenLoader,br as INVITATION_ERROR_CODE,ai as InvoiceStatuses,L as LoadingState,bs as NotificationBell,bt as NotificationInbox,bu as NotificationsApi,bv as PLAN_CURRENCY_CODES,bw as PLAN_CURRENCY_OPTIONS,bx as PUSH_SERVICE_WORKER_SCRIPT,by as PendingInvitations,P as Permission,bz as PricingPage,bA as PushApi,bB as PushNotificationProvider,bC as QuotaUsageContextProvider,bD as SDKEvent,a_ as SETTINGS_SCREENS,bE as SUPPORTED_LOCALES,bb as SaaSOSProvider,s as SectionHeader,T as Sessions,bF as SessionsApi,bG as SettingsApi,aU as SettingsScreen,aW as SidebarNavItem,aV as SidebarNavSection,r as StatusBanner,bH as SubscriptionContextProvider,al as SubscriptionItemType,ao as SubscriptionStatus,bI as UserApi,bJ as WhenAuthenticated,bK as WhenCreditsAvailable,bL as WhenCreditsExhausted,bM as WhenCreditsLow,bN as WhenNoSubscription,bO as WhenNotTrialing,bP as WhenPendingInvitations,bQ as WhenPermission,bR as WhenQuotaAvailable,bS as WhenQuotaExhausted,bT as WhenQuotaOverage,bU as WhenQuotaThreshold,bV as WhenRoles,bW as WhenSubscription,bX as WhenSubscriptionToPlans,bY as WhenTrialEnding,bZ as WhenTrialing,b_ as WhenUnauthenticated,b$ as WhenUserFeatureDisabled,c0 as WhenUserFeatureEnabled,c1 as WhenWorkspaceFeatureDisabled,c2 as WhenWorkspaceFeatureEnabled,c3 as WhenWorkspaceRoles,c4 as WorkspaceApi,c5 as WorkspaceSwitcher,c6 as actionableInvitations,aa as appPermissionCatalogue,c7 as calculateBillableSeats,c8 as calculateSeatOverageCents,c9 as calculateTotalSubscriptionCents,ca as cleanBBParams,cb as clearAuthIntent,cc as clearPendingInvite,cd as coerceBadgeRef,ce as consumeAuthIntent,cf as createBBUrl,aD as createCheckoutRedirectUrls,v as createCreditPurchaseRedirectUrls,cg as eventEmitter,ch as fillMcpTemplate,ci as formatCents,f as formatMinorAmountIntl,cj as formatOverageRate,ck as formatOverageRateWithLabel,cl as formatQuotaIncludedOverage,cm as formatQuotaWithPrice,b0 as getAvailableCurrenciesFromPlans,ay as getBasePriceCents,ax as getBillingIntervalAndCurrencyFromPriceId,e as getCurrencyDecimals,a0 as getCurrencyFlag,g as getCurrencySymbol,cn as getDisplayCurrency,aA as getPerSeatPriceCents,a$ as getPricingVariant,an as getQuotaDisplayValue,am as getQuotaDisplayWithVariant,aH as getQuotaOverageCents,co as getQuotaUnitLabelFromName,az as getSeatPricing,aC as getStripePriceIdForInterval,cp as hasPermission,q as invalidateCreditBalance,cq as invalidateQuotaUsage,aE as invalidateSubscription,cr as inviterNameOf,cs as isInvitationActionable,ct as isInvitationError,aR as isInvitationLapsed,cu as isZeroDecimalCurrency,cv as mcpServerKey,aX as mergeUIConfig,cw as minorAmountToDisplay,cx as parkPendingInvite,aO as pickDefaultRole,cy as readBBParams,cz as readPendingInvite,aQ as resendCooldownSeconds,cA as resolveMaxUsers,cB as resolvePermissions,ab as resolveRolePermissions,x as safeRedirect,cC as saveAuthIntent,cD as sortInvitations,cE as useAllQuotaUsage,au as useBillingPortal,as as useCancelSubscription,cF as useConnectedAgents,cG as useConnectedAgentsApi,cH as useConsumeCredits,ar as useCreateCheckoutSession,cI as useCreditBalance,j as useCreditBalanceContext,k as useCreditPackages,m as useCreditTransactions,cJ as useDevices,cK as useDevicesApi,l as useExpiringCredits,cL as useFullScreenLoader,cM as useInvoice,ag as useInvoices,cN as useMcpConnection,cO as useMyInvitations,cP as useNotifications,cQ as useNotificationsApi,h as usePermissions,cR as usePlanGroup,av as usePlanGroupVersions,cS as usePublicCreditPackages,cT as usePublicPlanGroupVersion,cU as usePublicPlans,n as usePurchaseCredits,a7 as usePushNotifications,aF as useQuotaUsageContext,cV as useQuotaUsageStatus,cW as useRecordUsage,at as useResumeSubscription,aJ as useSaaSAuth,cX as useSaaSOs,A as useSaaSSettings,z as useSaaSWorkspaces,aN as useSeatStatus,cY as useSessions,cZ as useSessionsApi,c_ as useSubscription,aG as useSubscriptionContext,aq as useSubscriptionManagement,u as useTranslation,c$ as useTrialStatus,aP as useUIConfig,i as useUIVisibility,d0 as useUpdateSubscription,d1 as useUsageLogs,d2 as useUserAttributes,d3 as useUserFeatures,aL as useWorkspaceInvitations,d4 as validateInvite,d5 as validateRedirectUrl,d6 as workspaceIdOf,d7 as workspaceNameOf,w as workspaceSettingsManager}from"./chunks/react-DkhpyQTr.mjs";import"react/jsx-runtime";import"react";import"clsx";import"tailwind-merge";import"intl-messageformat";import"@radix-ui/react-slot";import"class-variance-authority";import"lucide-react";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@hookform/resolvers/zod";import"react-hook-form";import"@radix-ui/react-label";import"zod";import"@radix-ui/react-avatar";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"@radix-ui/react-separator";import"@radix-ui/react-accordion";import"@radix-ui/react-alert-dialog";import"@radix-ui/react-popover";
2
+ export{b2 as APP_PERMISSION_FALLBACK_GROUP,b3 as ApiVersion,b4 as AuthApi,b5 as AuthStatus,o as BBAction,b6 as BBScreen,p as BBStatus,b7 as BB_PARAM,b8 as BaseApi,b9 as BetaForm,ak as BillingIntervals,ba as BuildBaseBadge,bb as BuildBaseProvider,bc as CURRENCY_DISPLAY,bd as CURRENCY_FLAG,be as ConnectMcpGuide,C as ConnectedAgents,bf as ConnectedAgentsApi,bg as CreditActionsProvider,bh as CreditBalance,bi as CreditBalanceContextProvider,bj as CreditBucketSource,bk as CreditBucketStatus,bl as CreditStorePage,y as CreditTransactionType,bm as DEFAULT_ROLE_PERMISSIONS,R as Devices,bn as DevicesApi,aB as DunningState,E as EmptyState,bo as EventEmitter,bp as FALLBACK_WORKSPACE_ROLE,bq as FullScreenLoader,br as INVITATION_ERROR_CODE,ai as InvoiceStatuses,L as LoadingState,bs as NotificationBell,bt as NotificationInbox,bu as NotificationsApi,bv as PLAN_CURRENCY_CODES,bw as PLAN_CURRENCY_OPTIONS,bx as PUSH_SERVICE_WORKER_SCRIPT,by as PendingInvitations,P as Permission,bz as PricingPage,bA as PushApi,bB as PushNotificationProvider,bC as QuotaUsageContextProvider,bD as SDKEvent,a_ as SETTINGS_SCREENS,bE as SUPPORTED_LOCALES,bb as SaaSOSProvider,s as SectionHeader,T as Sessions,bF as SessionsApi,bG as SettingsApi,aU as SettingsScreen,aW as SidebarNavItem,aV as SidebarNavSection,r as StatusBanner,bH as SubscriptionContextProvider,al as SubscriptionItemType,ao as SubscriptionStatus,bI as UserApi,bJ as WhenAuthenticated,bK as WhenCreditsAvailable,bL as WhenCreditsExhausted,bM as WhenCreditsLow,bN as WhenNoSubscription,bO as WhenNotTrialing,bP as WhenPendingInvitations,bQ as WhenPermission,bR as WhenQuotaAvailable,bS as WhenQuotaExhausted,bT as WhenQuotaOverage,bU as WhenQuotaThreshold,bV as WhenRoles,bW as WhenSubscription,bX as WhenSubscriptionToPlans,bY as WhenTrialEnding,bZ as WhenTrialing,b_ as WhenUnauthenticated,b$ as WhenUserFeatureDisabled,c0 as WhenUserFeatureEnabled,c1 as WhenWorkspaceFeatureDisabled,c2 as WhenWorkspaceFeatureEnabled,c3 as WhenWorkspaceRoles,c4 as WorkspaceApi,c5 as WorkspaceSwitcher,c6 as actionableInvitations,aa as appPermissionCatalogue,c7 as calculateBillableSeats,c8 as calculateSeatOverageCents,c9 as calculateTotalSubscriptionCents,ca as cleanBBParams,cb as clearAuthIntent,cc as clearPendingInvite,cd as coerceBadgeRef,ce as consumeAuthIntent,cf as createBBUrl,aD as createCheckoutRedirectUrls,v as createCreditPurchaseRedirectUrls,cg as eventEmitter,ch as fillMcpTemplate,ci as formatCents,f as formatMinorAmountIntl,cj as formatOverageRate,ck as formatOverageRateWithLabel,cl as formatQuotaIncludedOverage,cm as formatQuotaWithPrice,b0 as getAvailableCurrenciesFromPlans,ay as getBasePriceCents,ax as getBillingIntervalAndCurrencyFromPriceId,e as getCurrencyDecimals,a0 as getCurrencyFlag,g as getCurrencySymbol,cn as getDisplayCurrency,aA as getPerSeatPriceCents,a$ as getPricingVariant,an as getQuotaDisplayValue,am as getQuotaDisplayWithVariant,aH as getQuotaOverageCents,co as getQuotaUnitLabelFromName,az as getSeatPricing,aC as getStripePriceIdForInterval,cp as hasPermission,q as invalidateCreditBalance,cq as invalidateQuotaUsage,aE as invalidateSubscription,cr as inviterNameOf,cs as isInvitationActionable,ct as isInvitationError,aR as isInvitationLapsed,cu as isZeroDecimalCurrency,cv as mcpServerKey,aX as mergeUIConfig,cw as minorAmountToDisplay,cx as parkPendingInvite,aO as pickDefaultRole,cy as readBBParams,cz as readPendingInvite,aQ as resendCooldownSeconds,cA as resolveMaxUsers,cB as resolvePermissions,ab as resolveRolePermissions,x as safeRedirect,cC as saveAuthIntent,cD as sortInvitations,cE as useAllQuotaUsage,au as useBillingPortal,as as useCancelSubscription,cF as useConnectedAgents,cG as useConnectedAgentsApi,cH as useConsumeCredits,ar as useCreateCheckoutSession,cI as useCreditBalance,j as useCreditBalanceContext,k as useCreditPackages,m as useCreditTransactions,cJ as useDevices,cK as useDevicesApi,l as useExpiringCredits,cL as useFullScreenLoader,cM as useInvoice,ag as useInvoices,cN as useMcpConnection,cO as useMyInvitations,cP as useNotifications,cQ as useNotificationsApi,h as usePermissions,cR as usePlanGroup,av as usePlanGroupVersions,cS as usePublicCreditPackages,cT as usePublicPlanGroupVersion,cU as usePublicPlans,n as usePurchaseCredits,a7 as usePushNotifications,aF as useQuotaUsageContext,cV as useQuotaUsageStatus,cW as useRecordUsage,at as useResumeSubscription,aJ as useSaaSAuth,cX as useSaaSOs,A as useSaaSSettings,z as useSaaSWorkspaces,aN as useSeatStatus,cY as useSessions,cZ as useSessionsApi,c_ as useSubscription,aG as useSubscriptionContext,aq as useSubscriptionManagement,u as useTranslation,c$ as useTrialStatus,aP as useUIConfig,i as useUIVisibility,d0 as useUpdateSubscription,d1 as useUsageLogs,d2 as useUserAttributes,d3 as useUserFeatures,aL as useWorkspaceInvitations,d4 as validateInvite,d5 as validateRedirectUrl,d6 as workspaceIdOf,d7 as workspaceNameOf,w as workspaceSettingsManager}from"./chunks/react-FgrZjc24.mjs";import"react/jsx-runtime";import"react";import"clsx";import"tailwind-merge";import"intl-messageformat";import"@radix-ui/react-slot";import"class-variance-authority";import"lucide-react";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@hookform/resolvers/zod";import"react-hook-form";import"@radix-ui/react-label";import"zod";import"@radix-ui/react-avatar";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"@radix-ui/react-separator";import"@radix-ui/react-accordion";import"@radix-ui/react-alert-dialog";import"@radix-ui/react-popover";
@@ -1,103 +1,66 @@
1
1
  # Error Codes Reference
2
2
 
3
- This document lists error codes used in the BuildBase SDK and their meanings. These codes can be used with `createSDKError()` and may be set on `SDKError.code` when the SDK throws. Not every code is used in every release; this doc serves as the canonical reference.
4
-
5
- ## SDK Error Codes
6
-
7
- ### Authentication Errors
8
-
9
- | Code | Description | When It Occurs |
10
- | ----------------- | ----------------------- | ----------------------------------------------------------------------- |
11
- | `AUTH_FAILED` | Authentication failed | When OAuth flow fails or user cannot be authenticated |
12
- | `AUTH_REQUIRED` | Authentication required | When an operation requires authentication but user is not authenticated |
13
- | `SESSION_EXPIRED` | Session expired | When user session has expired and needs to be refreshed |
14
- | `INVALID_SESSION` | Invalid session | When session data is corrupted or invalid |
15
-
16
- ### Network Errors
17
-
18
- | Code | Description | When It Occurs |
19
- | ----------------- | ------------------------- | ----------------------------------------------------------- |
20
- | `NETWORK_ERROR` | Network connection failed | When fetch fails due to network issues (offline, DNS, CORS) |
21
- | `REQUEST_TIMEOUT` | Request timeout | When request exceeds timeout duration |
22
- | `ABORT_ERROR` | Request aborted | When request is cancelled via AbortController |
23
-
24
- ### API Errors
25
-
26
- | Code | Description | When It Occurs |
27
- | -------------- | ------------------- | ------------------------------------------ |
28
- | `API_ERROR` | Generic API error | When API returns an error response |
29
- | `BAD_REQUEST` | Bad request (400) | When request is malformed or invalid |
30
- | `UNAUTHORIZED` | Unauthorized (401) | When authentication is required or invalid |
31
- | `FORBIDDEN` | Forbidden (403) | When user doesn't have permission |
32
- | `NOT_FOUND` | Not found (404) | When resource doesn't exist |
33
- | `SERVER_ERROR` | Server error (500+) | When server encounters an error |
34
-
35
- ### Workspace Errors
36
-
37
- | Code | Description | When It Occurs |
38
- | -------------------------- | ------------------------ | -------------------------------------------------------- |
39
- | `WORKSPACE_NOT_FOUND` | Workspace not found | When workspace doesn't exist or user doesn't have access |
40
- | `WORKSPACE_ACCESS_DENIED` | Workspace access denied | When user doesn't have permission to access workspace |
41
- | `WORKSPACE_OWNER_REQUIRED` | Workspace owner required | When operation requires workspace owner (e.g., delete) |
42
- | `INVALID_WORKSPACE_ID` | Invalid workspace ID | When workspace ID format is invalid |
43
-
44
- ### Workspace Invitation Errors
45
-
46
- Thrown by `inviteMember`, `resendInvitation`, `revokeInvitation`, `acceptInvitation`, `declineInvitation` and `previewInvitation`. The error is a plain `Error` with `status` and `code` properties, plus the fields listed; check with `isInvitationError(err)`.
47
-
48
- | Code | HTTP | When It Occurs | Extra fields |
49
- | ---------------------------- | ---- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
50
- | `SEAT_LIMIT_REACHED` | 402 | Members plus pending invitations fill the plan's seats or `maxWorkspaceUsers` | `currentUserCount`, `limit` |
51
- | `INVITATION_NOT_FOUND` | 404 | Unknown id, or a revoked link | |
52
- | `INVITATION_ALREADY_HANDLED` | 409 | Already accepted, declined, or already a live invitation for that address | `invitationStatus`, `invitationId` |
53
- | `INVITATION_EXPIRED` | 410 | Past its 14 days, or the workspace no longer exists | |
54
- | `INVITATION_EMAIL_MISMATCH` | 403 | The signed-in account is not the invited address | `invitedEmail` (scrambled) |
55
- | `EMAIL_NOT_VERIFIED` | 403 | Accepting from the list needs a verified email. An accept carrying the link's `token` proves the address instead | |
56
- | `WORKSPACE_INVITES_DISABLED` | 403 | The organization's workspace mode does not allow invitations | |
57
- | `INVITATION_RATE_LIMITED` | 429 | Resend inside the cooldown, or the hourly/daily send budget | `retryAfterSeconds` (resend only) |
58
- | `INVITATION_EMAIL_FAILED` | 502 | The invitation email could not be sent; nothing was created | |
59
- | `USER_BLOCKED` | 403 | The invited or accepting account is blocked | |
60
-
61
- ### Notification Send Errors
62
-
63
- | Code | HTTP | When It Occurs | Extra fields |
64
- | ------------------------------- | ---- | -------------------------------------------------------------------------------------------------------------------------- | ------------ |
65
- | `NOTIFICATION_EVENT_NOT_SET_UP` | 403 | `notification.send()` named a slug the org has not set up and the plan's custom-event limit is reached (server release 22) | |
66
- | `NO_SENDER_CONFIGURED` | 503 | The organization has no usable email sender, so nothing can be sent | |
67
-
68
- ### User Management Errors
69
-
70
- | Code | Description | When It Occurs |
71
- | -------------------------- | ------------------------ | -------------------------------------------- |
72
- | `USER_NOT_FOUND` | User not found | When user doesn't exist |
73
- | `USER_ALREADY_EXISTS` | User already exists | When trying to add user that already exists |
74
- | `CANNOT_REMOVE_OWNER` | Cannot remove owner | When trying to remove workspace owner |
75
- | `CANNOT_CHANGE_OWNER_ROLE` | Cannot change owner role | When trying to change workspace owner's role |
76
-
77
- ### Subscription Errors
78
-
79
- | Code | Description | When It Occurs |
80
- | ------------------------ | ---------------------- | ------------------------------------ |
81
- | `SUBSCRIPTION_NOT_FOUND` | Subscription not found | When workspace has no subscription |
82
- | `SUBSCRIPTION_ERROR` | Subscription error | When subscription operation fails |
83
- | `CHECKOUT_ERROR` | Checkout error | When checkout session creation fails |
84
- | `PLAN_NOT_FOUND` | Plan not found | When plan doesn't exist |
85
-
86
- ### Configuration Errors
87
-
88
- | Code | Description | When It Occurs |
89
- | -------------------- | ----------------------- | ------------------------------------------ |
90
- | `INVALID_CONFIG` | Invalid configuration | When SDK configuration is invalid |
91
- | `INVALID_SERVER_URL` | Invalid server URL | When serverUrl is not a valid URL |
92
- | `INVALID_ORG_ID` | Invalid organization ID | When orgId is not a valid MongoDB ObjectId |
93
- | `INVALID_VERSION` | Invalid API version | When API version is not supported |
94
-
95
- ### Generic Errors
96
-
97
- | Code | Description | When It Occurs |
98
- | ------------------ | ---------------- | ------------------------------------ |
99
- | `UNKNOWN_ERROR` | Unknown error | When error type cannot be determined |
100
- | `VALIDATION_ERROR` | Validation error | When input validation fails |
3
+ The `code` values the SDK actually sets on a thrown error, and where each one
4
+ comes from. Match on these; an error with no `code` is matched by its
5
+ situation, not by its message.
6
+
7
+ Earlier revisions of this page listed forty-three codes covering authentication,
8
+ network, API, workspace and validation failures. Those names come from a JSDoc
9
+ example on `createSDKError()` and nothing throws them, so code written against
10
+ them never matched. They are gone rather than marked, because a reference whose
11
+ rows have to be checked against the source is doing the opposite of its job.
12
+
13
+ ## Invitation codes
14
+
15
+ `InvitationError`, thrown by the invitation calls on `bb.workspaces`. The full
16
+ list lives in `INVITATION_ERROR_CODE`, and each carries the HTTP `status` the
17
+ server answered with.
18
+
19
+ | Code | When it occurs |
20
+ | ---------------------------- | ------------------------------------------------------------------- |
21
+ | `INVITATION_NOT_FOUND` | No invitation matches the token |
22
+ | `INVITATION_EXPIRED` | The invitation is past its expiry |
23
+ | `INVITATION_ALREADY_HANDLED` | Already accepted, declined or revoked |
24
+ | `INVITATION_EMAIL_MISMATCH` | The signed-in address is not the one invited |
25
+ | `EMAIL_NOT_VERIFIED` | The accepting account has not verified its address |
26
+ | `WORKSPACE_INVITES_DISABLED` | The workspace does not allow invitations |
27
+ | `INVITATION_RATE_LIMITED` | Too many invitations in the window |
28
+ | `INVITATION_EMAIL_FAILED` | The invitation was created but its mail could not be sent |
29
+ | `SEAT_LIMIT_REACHED` | The plan has no seat for another member |
30
+ | `USER_BLOCKED` | The invited or accepting account is blocked |
31
+ | `NO_SENDER_CONFIGURED` | The organization has no usable email sender, so nothing can be sent |
32
+
33
+ ## Credit codes
34
+
35
+ | Code | When it occurs |
36
+ | ---------------------- | ----------------------------------------------------------------------------------------------- |
37
+ | `INSUFFICIENT_CREDITS` | A spend exceeds the balance. Carries `available` and `requested`, and the server answered `402` |
38
+
39
+ ## App bridge codes
40
+
41
+ `AppBridgeError`, from `verifyClientJwt()` and the app-token helpers. Lower case,
42
+ because they are the values the OAuth error responses carry.
43
+
44
+ | Code | When it occurs |
45
+ | --------------------- | ------------------------------------------------ |
46
+ | `invalid_token` | The token is malformed or cannot be parsed |
47
+ | `invalid_signature` | The signature does not verify |
48
+ | `invalid_algorithm` | The token is signed with an unexpected algorithm |
49
+ | `invalid_issuer` | `iss` is not the expected issuer |
50
+ | `invalid_audience` | `aud` does not contain the audience you passed |
51
+ | `invalid_secret` | The verifying secret is missing or unusable |
52
+ | `token_expired` | `exp` is in the past |
53
+ | `token_not_yet_valid` | `nbf` is in the future |
54
+
55
+ `handleAppTokenRequest()` and `handleAppRevokeRequest()` catch these and answer
56
+ `401` with the code as the body's `message`, so you handle `AppBridgeError`
57
+ yourself only when you call the verify functions directly.
58
+
59
+ ## Tracking codes
60
+
61
+ The `code` on an `sdk_error` tracking event is `SDK_ERROR` when the operation
62
+ threw an `Error`, and `UNKNOWN_ERROR` when it threw something that was not one.
63
+ `component` and `action` on the same event say which operation failed.
101
64
 
102
65
  ## HTTP Status Code Mappings
103
66
 
package/docs/THEMING.md CHANGED
@@ -4,16 +4,26 @@ All SDK components — settings screens, dialogs, banners, empty states, sidebar
4
4
 
5
5
  ## How it works
6
6
 
7
- The SDK stylesheet (`@buildbase/sdk/css/styles.css`) defines a default light theme on `:root` and a dark theme on `.dark`. Every color in the UI resolves from these variables, so overriding them re-skins everything at once.
7
+ The SDK stylesheet (`@buildbase/sdk/css/styles.css`) declares its variables on
8
+ `.saas-os-ui`, the class the SDK puts on its own container, and its dark values
9
+ on `.dark .saas-os-ui, .saas-os-ui .dark, .saas-os-ui.dark`. Every color in the
10
+ UI resolves from these variables, so overriding them re-skins everything at
11
+ once.
12
+
13
+ Scoped to that class rather than `:root` so the SDK cannot restyle your app:
14
+ variables with these names in your own design system keep their values
15
+ everywhere outside SDK UI. It also means an override on `:root` alone is
16
+ shadowed by the SDK's own, more specific rule, so write yours against the same
17
+ selector.
8
18
 
9
19
  Values are **HSL triplets without the `hsl()` wrapper** (shadcn/ui convention), which lets the SDK derive tints — e.g. success banners use `hsl(var(--success) / 0.1)` for their background automatically.
10
20
 
11
21
  ## Override example
12
22
 
13
- Load your overrides after the SDK stylesheet:
23
+ Load your overrides after the SDK stylesheet, against the SDK's own selector:
14
24
 
15
25
  ```css
16
- :root {
26
+ .saas-os-ui {
17
27
  /* Brand */
18
28
  --primary: 262 83% 58%; /* your brand color — buttons, active nav, focus */
19
29
  --primary-foreground: 0 0% 100%;
@@ -54,7 +64,28 @@ Load your overrides after the SDK stylesheet:
54
64
 
55
65
  ## Dark mode
56
66
 
57
- Add the `.dark` class to a root element and override the same variables under `.dark { … }`. The SDK ships dark defaults for every variable.
67
+ The SDK ships dark values for every variable, and its selectors match a `dark`
68
+ class **on any ancestor** as well as on the container itself. So a `dark` class
69
+ on `<html>`, which is what next-themes and Tailwind's `darkMode: 'class'`
70
+ write, switches SDK UI with no CSS of your own (SDK 0.0.71 or later; before
71
+ that only `.saas-os-ui .dark` matched, so a class on `<html>` did nothing).
72
+
73
+ To change the dark palette, override the same variables under
74
+ `.dark .saas-os-ui`:
75
+
76
+ ```css
77
+ .dark .saas-os-ui {
78
+ --primary: 263 70% 65%;
79
+ --primary-foreground: 0 0% 100%;
80
+ }
81
+ ```
82
+
83
+ That has the same specificity as the SDK's own dark rule, so load your
84
+ stylesheet after it.
85
+
86
+ To follow the operating system instead of a class, put the full dark palette
87
+ inside `@media (prefers-color-scheme: dark) { .saas-os-ui { … } }`. The shipped
88
+ CSS has no media query of its own, so nothing competes with it.
58
89
 
59
90
  ## Components that work without the stylesheet
60
91
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buildbase/sdk",
3
- "version": "0.0.75",
3
+ "version": "0.0.76",
4
4
  "type": "module",
5
5
  "description": "A SDK for Buildbase",
6
6
  "main": "dist/index.cjs",