@buildbase/sdk 0.0.71 → 0.0.74

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 (50) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/README.md +43 -10
  3. package/dist/cli.mjs +2 -0
  4. package/dist/css/styles.css +1 -1
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.d.ts +103 -2
  7. package/dist/index.mjs +1 -1
  8. package/dist/mcp/index.cjs +1 -1
  9. package/dist/mcp/index.d.ts +30 -0
  10. package/dist/mcp/index.mjs +1 -1
  11. package/dist/react/chunks/SettingsDialog-C0ocJMBA.cjs +2 -0
  12. package/dist/react/chunks/SettingsDialog-CWrmSyKV.mjs +2 -0
  13. package/dist/react/chunks/{SubscriptionDialog-Bkue_qyM.cjs → SubscriptionDialog-CLh4zW9Y.cjs} +1 -1
  14. package/dist/react/chunks/{SubscriptionDialog-ZjdyTmxn.mjs → SubscriptionDialog-sH0cQdPD.mjs} +1 -1
  15. package/dist/react/chunks/react-BBSVsY3n.cjs +2 -0
  16. package/dist/react/chunks/react-CNHfoa5L.mjs +2 -0
  17. package/dist/react/index.cjs +1 -1
  18. package/dist/react/index.d.ts +130 -8
  19. package/dist/react/index.mjs +1 -1
  20. package/dist/server/browser.cjs +1 -0
  21. package/dist/server/browser.mjs +1 -0
  22. package/dist/server/index.cjs +1 -0
  23. package/dist/server/index.d.ts +556 -0
  24. package/dist/server/index.mjs +1 -0
  25. package/dist/server/next/index.cjs +1 -0
  26. package/dist/server/next/index.d.ts +156 -0
  27. package/dist/server/next/index.mjs +1 -0
  28. package/dist/tracking/index.cjs +1 -1
  29. package/dist/tracking/index.d.ts +205 -8
  30. package/dist/tracking/index.mjs +1 -1
  31. package/docs/SERVER-CONTENT.md +297 -0
  32. package/package.json +65 -5
  33. package/dist/react/chunks/SettingsDialog-D5lLHG9-.cjs +0 -2
  34. package/dist/react/chunks/SettingsDialog-DiTnAWFt.mjs +0 -2
  35. package/dist/react/chunks/react-BIZcTNos.mjs +0 -2
  36. package/dist/react/chunks/react-DM1nGVlR.cjs +0 -2
  37. /package/dist/react/chunks/{ar-D_agqxXa.cjs → ar-CRVhjpVE.cjs} +0 -0
  38. /package/dist/react/chunks/{ar-By_nJtJ6.mjs → ar-DFPDdu2U.mjs} +0 -0
  39. /package/dist/react/chunks/{de-D7j-9T8u.cjs → de-BGhzn711.cjs} +0 -0
  40. /package/dist/react/chunks/{de-CQW2yLLr.mjs → de-Bqi8scew.mjs} +0 -0
  41. /package/dist/react/chunks/{es-CggBj8dc.mjs → es-D_Eqhob3.mjs} +0 -0
  42. /package/dist/react/chunks/{es-DYtfnqFg.cjs → es-DyrMaeUp.cjs} +0 -0
  43. /package/dist/react/chunks/{fr-Bu6_05LA.cjs → fr-C0SkloRr.cjs} +0 -0
  44. /package/dist/react/chunks/{fr-CbvudRKC.mjs → fr-DkZpFQ1Q.mjs} +0 -0
  45. /package/dist/react/chunks/{hi-dKtSIE95.cjs → hi-B9TK87T8.cjs} +0 -0
  46. /package/dist/react/chunks/{hi-DrJIuj_0.mjs → hi-DrTcPkiY.mjs} +0 -0
  47. /package/dist/react/chunks/{ja-BtZsSYAE.mjs → ja-Dgahn--0.mjs} +0 -0
  48. /package/dist/react/chunks/{ja-6AwwCaS_.cjs → ja-LjzlAhAT.cjs} +0 -0
  49. /package/dist/react/chunks/{zh-BZsPG6yc.mjs → zh-BezRHDHs.mjs} +0 -0
  50. /package/dist/react/chunks/{zh-C6onHYpa.cjs → zh-CcodKi4U.cjs} +0 -0
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";var e=require("./chunks/react-DM1nGVlR.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"),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.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.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.readBBParams=e.readBBParams,exports.readPendingInvite=e.readPendingInvite,exports.resendCooldownSeconds=e.resendCooldownSeconds,exports.resolveMaxUsers=e.resolveMaxUsers,exports.resolvePermissions=e.resolvePermissions,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-BBSVsY3n.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;
@@ -1110,6 +1110,16 @@ interface ISettings {
1110
1110
  canInviteMembers: boolean | 'admin-only';
1111
1111
  /** Custom role→permission mapping. Overrides SDK defaults when provided by backend. */
1112
1112
  permissions?: Record<string, string[]>;
1113
+ /**
1114
+ * The organization's own permissions, defined in the BuildBase console:
1115
+ * `{ key: 'app:reports:export', label: 'Export reports', group: 'Reports' }`.
1116
+ * Absent on a server from before release 23.
1117
+ */
1118
+ customPermissions?: {
1119
+ key: string;
1120
+ label: string;
1121
+ group?: string;
1122
+ }[];
1113
1123
  /** Show workspace switcher in the UI */
1114
1124
  showSwitcher: boolean;
1115
1125
  /** Max workspaces a user can own. 0 = unlimited */
@@ -1312,6 +1322,18 @@ interface AuthRequestParams {
1312
1322
  * Populated automatically from the tracking provider when one is mounted.
1313
1323
  * Omitted means unanswered, which is not the same as refused.
1314
1324
  */
1325
+ /**
1326
+ * Where the visitor came from - the click ids and campaign fields captured
1327
+ * on their landing page, when, and where. Stored on the user the hosted
1328
+ * pages create, so a conversion that happens later with no browser (a trial
1329
+ * converting, a renewal) can still be joined to the ad click. Populated
1330
+ * automatically from the attribution cookie when tracking is mounted.
1331
+ */
1332
+ trackingAttribution?: {
1333
+ params: Record<string, string>;
1334
+ capturedAt?: number;
1335
+ landingUrl?: string;
1336
+ };
1315
1337
  trackingConsent?: {
1316
1338
  analytics: boolean;
1317
1339
  marketing: boolean;
@@ -1690,6 +1712,15 @@ declare class UserApi extends BaseApi {
1690
1712
  getFeatures(signal?: AbortSignal): Promise<Record<string, boolean>>;
1691
1713
  }
1692
1714
 
1715
+ /** What a member may do in a workspace, as the server resolved it. */
1716
+ interface WorkspaceMemberPermissions {
1717
+ /** The member's role, or null when they are not a member. */
1718
+ role: string | null;
1719
+ /** The workspace's owner holds every permission. */
1720
+ isOwner: boolean;
1721
+ /** Platform keys (`workspace:*`) and the organization's own keys. */
1722
+ permissions: string[];
1723
+ }
1693
1724
  /** Data passed to a notification template for merge tag replacement. */
1694
1725
  interface NotificationData {
1695
1726
  /** Push notification title. Falls back to the event name if not provided. */
@@ -1798,6 +1829,12 @@ declare class WorkspaceApi extends BaseApi {
1798
1829
  createWorkspace(data: {
1799
1830
  name: string;
1800
1831
  image?: string;
1832
+ /** Where the creator came from. Stored on the workspace for conversions recorded later. */
1833
+ trackingAttribution?: {
1834
+ params: Record<string, string>;
1835
+ capturedAt?: number;
1836
+ landingUrl?: string;
1837
+ };
1801
1838
  }, signal?: AbortSignal): Promise<IWorkspace>;
1802
1839
  updateWorkspace(id: string, data: Partial<IWorkspace>, signal?: AbortSignal): Promise<IWorkspace>;
1803
1840
  deleteWorkspace(id: string, signal?: AbortSignal): Promise<{
@@ -1881,6 +1918,12 @@ declare class WorkspaceApi extends BaseApi {
1881
1918
  permissions: Record<string, string[]>;
1882
1919
  }, signal?: AbortSignal): Promise<any>;
1883
1920
  updateWorkspacePermissions(workspaceId: string, permissions: Record<string, string[]>, signal?: AbortSignal): Promise<any>;
1921
+ /**
1922
+ * What the signed-in member may do in a workspace, as the server resolves
1923
+ * it: the platform's permissions and the organization's own. A backend asks
1924
+ * this rather than trusting a flag the browser sent.
1925
+ */
1926
+ getMyPermissions(workspaceId: string, signal?: AbortSignal): Promise<WorkspaceMemberPermissions>;
1884
1927
  getFeatures(signal?: AbortSignal): Promise<IWorkspaceFeature[]>;
1885
1928
  updateFeature(workspaceId: string, key: string, value: boolean, signal?: AbortSignal): Promise<IWorkspace>;
1886
1929
  getWorkspace(workspaceId: string, signal?: AbortSignal): Promise<IWorkspace>;
@@ -2738,17 +2781,45 @@ declare const Permission: {
2738
2781
  readonly WORKSPACE_BILLING_VIEW: "workspace:billing:view";
2739
2782
  readonly WORKSPACE_BILLING_MANAGE: "workspace:billing:manage";
2740
2783
  readonly WORKSPACE_USAGE_VIEW: "workspace:usage:view";
2784
+ /** Record usage and spend the workspace's credits. Withheld from viewers. */
2785
+ readonly WORKSPACE_USAGE_RECORD: "workspace:usage:record";
2741
2786
  };
2742
2787
  type PermissionKey = (typeof Permission)[keyof typeof Permission];
2743
2788
  type RolePermissionMap = Record<string, string[]>;
2789
+ /**
2790
+ * Defaults for the three roles every org is seeded with, the same lists the
2791
+ * server enforces. Servers now send each role's effective permissions in the
2792
+ * public settings, so these apply only to a server that does not. There is no
2793
+ * `member` entry: no one can hold that role, and `editor` had none, so an
2794
+ * editor was shown nothing the server let them do.
2795
+ */
2744
2796
  declare const DEFAULT_ROLE_PERMISSIONS: RolePermissionMap;
2797
+ /** The least privileged built-in role, used when no default is usable. */
2798
+ declare const FALLBACK_WORKSPACE_ROLE = "viewer";
2799
+ /**
2800
+ * The role to preselect for someone joining: the org's default role when it
2801
+ * is on the list, but never `admin`, which must be a deliberate choice. Then
2802
+ * viewer, then any role other than admin.
2803
+ */
2804
+ declare function pickDefaultRole(roles: readonly string[], defaultRole?: string | null): string;
2745
2805
  interface WorkspaceLike extends WorkspaceLike$1 {
2746
2806
  permissions?: Record<string, string[]>;
2747
2807
  }
2808
+ /**
2809
+ * A permission the organization defined for its own application, in the
2810
+ * BuildBase console. The server stores and resolves it exactly like a platform
2811
+ * permission; what it means is the application's business.
2812
+ */
2813
+ interface WorkspacePermissionDefinition {
2814
+ key: string;
2815
+ label: string;
2816
+ group?: string;
2817
+ }
2748
2818
  interface SettingsLike {
2749
2819
  workspace?: {
2750
2820
  defaultRole?: string;
2751
2821
  permissions?: Record<string, string[]>;
2822
+ customPermissions?: WorkspacePermissionDefinition[];
2752
2823
  canInviteMembers?: boolean | 'admin-only';
2753
2824
  canCreateWorkspace?: boolean | 'owner-only';
2754
2825
  };
@@ -2778,12 +2849,31 @@ interface PermissionContext {
2778
2849
  * 7. Apply setting restrictions (canInviteMembers)
2779
2850
  */
2780
2851
  declare function resolvePermissions(ctx: PermissionContext): Set<string>;
2852
+ /**
2853
+ * What one role may do in a workspace, by the same tiers the server uses.
2854
+ * `resolvePermissions` answers for a user; this answers for a role, which is
2855
+ * what a screen editing the matrix needs. `applyRestrictions: false` leaves
2856
+ * out the org's live switches (who may invite), so a screen does not write a
2857
+ * switch's current effect into a saved override.
2858
+ */
2859
+ declare function resolveRolePermissions(role: string, ctx: Pick<PermissionContext, 'workspace' | 'settings' | 'appPermissions'>, options?: {
2860
+ applyRestrictions?: boolean;
2861
+ }): Set<string>;
2781
2862
  /**
2782
2863
  * Check if a user has a specific permission (or all of an array).
2783
2864
  * Works with both platform permissions (Permission.WORKSPACE_*) and
2784
2865
  * app permissions (any custom string).
2785
2866
  */
2786
2867
  declare function hasPermission(permission: string | string[], ctx: PermissionContext): boolean;
2868
+ /** Where a permission the app checks was defined. */
2869
+ declare const APP_PERMISSION_FALLBACK_GROUP = "App";
2870
+ /**
2871
+ * Every permission this application defines, for a UI that lists them: the
2872
+ * organization's catalogue from the console, plus any key the app passed
2873
+ * through `defaultPermissions` that the catalogue does not name yet. Keys from
2874
+ * the prop keep working, so adopting the console costs nothing.
2875
+ */
2876
+ declare function appPermissionCatalogue(settings?: SettingsLike | null, appPermissions?: Record<string, string[]> | null): WorkspacePermissionDefinition[];
2787
2877
 
2788
2878
  /**
2789
2879
  * Push notification service worker source code.
@@ -4005,6 +4095,27 @@ declare function useTranslation(): {
4005
4095
  messages: SDKMessages;
4006
4096
  };
4007
4097
 
4098
+ /** A consent default: what applies before the visitor has answered. */
4099
+ type ConsentDefault = 'granted' | 'denied';
4100
+ /**
4101
+ * A consent default that depends on where the visitor is.
4102
+ *
4103
+ * `default` covers everyone no region rule matches. Region entries are ISO
4104
+ * 3166-1 alpha-2 countries (`GB`), ISO 3166-2 subdivisions (`US-CA`), or `EEA`,
4105
+ * which expands to the current member states.
4106
+ *
4107
+ * @example The recommended setting
4108
+ * ```ts
4109
+ * { default: 'granted', regions: { denied: ['EEA', 'GB', 'CH'] } }
4110
+ * ```
4111
+ */
4112
+ interface RegionalConsent {
4113
+ default: ConsentDefault;
4114
+ regions?: {
4115
+ denied?: string[];
4116
+ granted?: string[];
4117
+ };
4118
+ }
4008
4119
  /**
4009
4120
  * The events the SDK fires on the app's behalf.
4010
4121
  *
@@ -4033,12 +4144,21 @@ interface TrackingOptions {
4033
4144
  /** Set false to fetch nothing and render nothing. */
4034
4145
  enabled?: boolean;
4035
4146
  /**
4036
- * `auto` (default) sets Consent Mode v2 to denied and waits for
4037
- * `setConsent`. `granted` is the app asserting it has a lawful basis
4038
- * already - documented as their assertion, not ours. `denied` keeps
4039
- * everything off.
4147
+ * The consent default, before the visitor answers.
4148
+ *
4149
+ * - `auto` (default): the client's regional default from the console, when
4150
+ * one is set; otherwise Consent Mode v2 denied everywhere until
4151
+ * `consent.set()`.
4152
+ * - `{ default, regions }`: a regional default set in code, which wins over
4153
+ * the console's. Resolved against the country the server saw.
4154
+ * - `granted`: the app asserting it already has a lawful basis everywhere -
4155
+ * their assertion, not ours.
4156
+ * - `denied`: nothing loads at all, not even a Consent Mode tag.
4157
+ *
4158
+ * Whichever default applies, `consent.set()` replaces it. The choice of
4159
+ * default, and its lawful basis, belong to the app.
4040
4160
  */
4041
- consent?: 'auto' | 'granted' | 'denied';
4161
+ consent?: 'auto' | 'granted' | 'denied' | RegionalConsent;
4042
4162
  /**
4043
4163
  * Fire a `page_view` on SPA navigation. Turn it off when the app's GTM
4044
4164
  * container already does it - double-counted pageviews is the single most
@@ -4698,6 +4818,7 @@ declare function usePermissions(workspace?: WorkspaceLike | null): {
4698
4818
  permissions: Set<string>;
4699
4819
  isOwner: boolean;
4700
4820
  role: string | null;
4821
+ appPermissionDefinitions: WorkspacePermissionDefinition[];
4701
4822
  };
4702
4823
 
4703
4824
  /** Memoized ConnectedAgentsApi instance. Recreates only when serverUrl/version change. */
@@ -7153,7 +7274,8 @@ interface SeatStatus {
7153
7274
  * Must be used within SubscriptionContextProvider.
7154
7275
  *
7155
7276
  * @param workspace - The current workspace (needs users array, limits, billingCurrency)
7156
- * @param options - Optional overrides (e.g. settingsMaxUsers fallback)
7277
+ * @param options - Optional overrides. `settingsMaxUsers` defaults to the org's
7278
+ * `maxWorkspaceUsers` from the SDK settings, the ceiling the server enforces.
7157
7279
  * @returns SeatStatus — computed seat and invite information
7158
7280
  *
7159
7281
  * @example
@@ -7494,5 +7616,5 @@ declare class WorkspaceSettingsManager {
7494
7616
  }
7495
7617
  declare const workspaceSettingsManager: WorkspaceSettingsManager;
7496
7618
 
7497
- export { ApiVersion, AuthApi, AuthStatus, BBAction, BBScreen, BBStatus, BB_PARAM, BaseApi, BetaForm, BillingIntervals, BuildBaseBadge, SaaSOSProvider as BuildBaseProvider, CURRENCY_DISPLAY, CURRENCY_FLAG, ConnectMcpGuide, ConnectedAgents, ConnectedAgentsApi, CreditActionsProvider, CreditBalance, CreditBalanceContextProvider, CreditBucketSource, CreditBucketStatus, CreditStorePage, CreditTransactionType, DEFAULT_ROLE_PERMISSIONS, Devices, DevicesApi, DunningState, EmptyState, EventEmitter, FullScreenLoader, INVITATION_ERROR_CODE, InvoiceStatuses, LoadingState, NotificationBell, NotificationInbox, NotificationsApi, PLAN_CURRENCY_CODES, PLAN_CURRENCY_OPTIONS, PUSH_SERVICE_WORKER_SCRIPT, PendingInvitations, Permission, PricingPage, PushApi, PushNotificationProvider, QuotaUsageContextProvider, SDKEvent, SETTINGS_SCREENS, SUPPORTED_LOCALES, SaaSOSProvider, SectionHeader, Sessions, SessionsApi, SettingsApi, SettingsScreen, SidebarNavItem, SidebarNavSection, StatusBanner, SubscriptionContextProvider, SubscriptionItemType, SubscriptionStatus, UserApi, WhenAuthenticated, WhenCreditsAvailable, WhenCreditsExhausted, WhenCreditsLow, WhenNoSubscription, WhenNotTrialing, WhenPendingInvitations, WhenPermission, WhenQuotaAvailable, WhenQuotaExhausted, WhenQuotaOverage, WhenQuotaThreshold, WhenRoles, WhenSubscription, WhenSubscriptionToPlans, WhenTrialEnding, WhenTrialing, WhenUnauthenticated, WhenUserFeatureDisabled, WhenUserFeatureEnabled, WhenWorkspaceFeatureDisabled, WhenWorkspaceFeatureEnabled, WhenWorkspaceRoles, WorkspaceApi, WorkspaceSwitcher, actionableInvitations, calculateBillableSeats, calculateSeatOverageCents, calculateTotalSubscriptionCents, cleanBBParams, clearAuthIntent, clearPendingInvite, coerceBadgeRef, consumeAuthIntent, createBBUrl, createCheckoutRedirectUrls, createCreditPurchaseRedirectUrls, eventEmitter, fillMcpTemplate, formatCents, formatMinorAmountIntl, formatOverageRate, formatOverageRateWithLabel, formatQuotaIncludedOverage, formatQuotaWithPrice, getAvailableCurrenciesFromPlans, getBasePriceCents, getBillingIntervalAndCurrencyFromPriceId, getCurrencyDecimals, getCurrencyFlag, getCurrencySymbol, getDisplayCurrency, getPerSeatPriceCents, getPricingVariant, getQuotaDisplayValue, getQuotaDisplayWithVariant, getQuotaOverageCents, getQuotaUnitLabelFromName, getSeatPricing, getStripePriceIdForInterval, hasPermission, invalidateCreditBalance, invalidateQuotaUsage, invalidateSubscription, inviterNameOf, isInvitationActionable, isInvitationError, isInvitationLapsed, isZeroDecimalCurrency, mcpServerKey, mergeUIConfig, minorAmountToDisplay, parkPendingInvite, readBBParams, readPendingInvite, resendCooldownSeconds, resolveMaxUsers, resolvePermissions, safeRedirect, saveAuthIntent, sortInvitations, useAllQuotaUsage, useBillingPortal, useCancelSubscription, useConnectedAgents, useConnectedAgentsApi, useConsumeCredits, useCreateCheckoutSession, useCreditBalance, useCreditBalanceContext, useCreditPackages, useCreditTransactions, useDevices, useDevicesApi, useExpiringCredits, useFullScreenLoader, useInvoice, useInvoices, useMcpConnection, useMyInvitations, useNotifications, useNotificationsApi, usePermissions, usePlanGroup, usePlanGroupVersions, usePublicCreditPackages, usePublicPlanGroupVersion, usePublicPlans, usePurchaseCredits, usePushNotifications, useQuotaUsageContext, useQuotaUsageStatus, useRecordUsage, useResumeSubscription, useSaaSAuth, useSaaSOs, useSaaSSettings, useSaaSWorkspaces, useSeatStatus, useSessions, useSessionsApi, useSubscription, useSubscriptionContext, useSubscriptionManagement, useTranslation, useTrialStatus, useUIConfig, useUIVisibility, useUpdateSubscription, useUsageLogs, useUserAttributes, useUserFeatures, useWorkspaceInvitations, validateInvite, validateRedirectUrl, workspaceIdOf, workspaceNameOf, workspaceSettingsManager };
7498
- export type { BBActionType, BBScreenType, BBStatusType, BadgeHrefOptions, BetaFormData, BetaFormResponse, BillingInterval, BuildBaseBadgeProps, BuildBaseBadgeSize, BuildBaseBadgeTheme, BuildBaseBadgeVariant, SaaSOSProviderProps as BuildBaseProviderProps, CheckoutResult, ConnectMcpGuideProps, ConnectedAgentsProps, CreditActionsDetails, CreditBalanceContextValue, CreditBalanceDetails, CreditBucketSourceType, CreditBucketStatusType, CreditStorePageDetails, CreditTransactionTypeValue, DevicesProps, DunningStateType, EmptyStateProps, EventData, EventType, FormatQuotaWithPriceOptions, FullScreenLoaderProps, GetCheckoutStripeParams, IAllQuotaUsageResponse, IBaseApiConfig, IBasePricing, IBetaConfig, ICheckoutSessionRequest, ICheckoutSessionResponse, ICheckoutStripeOptions, IConnectedAgent, IConsumeCreditsRequest, IConsumeCreditsResponse, ICreditBalance, ICreditBucket, ICreditBucketsQuery, ICreditBucketsResponse, ICreditPackage, ICreditPackagePricingVariant, ICreditPurchaseRequest, ICreditPurchaseResponse, ICreditTransaction, ICreditTransactionsQuery, ICreditTransactionsResponse, IDeviceView, IEventCallbacks, IExpiringCreditsResponse, IInvoice, IInvoiceListResponse, IInvoiceResponse, IIpInfoLite, INotificationItem, IOsConfig, IOsState, IPlan, IPlanGroup, IPlanGroupInfo, IPlanGroupLatestVersion, IPlanGroupResponse, IPlanGroupVersion, IPlanGroupVersionWithPlans, IPlanGroupVersionsResponse, IPlanVersion, IPlanVersionSummary, IPlanVersionWithPlan, IPricingVariant, IPublicCreditPackage, IPublicCreditPackagesResponse, IPublicPlanItem, IPublicPlanItemCategory, IPublicPlanVersion, IPublicPlansResponse, IQuotaByInterval, IQuotaIntervalValue, IQuotaOveragePriceIdsByInterval, IQuotaOveragesByInterval, IQuotaUsageStatus, IQuotaUsageStatusResponse, IRecordUsageRequest, IRecordUsageResponse, ISessionView, ISettings, IStripePricesByInterval, ISubscription, ISubscriptionItem, ISubscriptionResponse, ISubscriptionUpdateRequest, ISubscriptionUpdateResponse, IUsageLogEntry, IUsageLogsQuery, IUsageLogsResponse, IUser, IWorkspace, IWorkspaceInvitation, IWorkspaceInvitationPreview, IWorkspaceInvitationStatus, InvitationError, InvitationErrorCode, InvitationErrorFields, InviteBlockReason, InviteValidation, InvoiceStatus, InvoiceStatusType, LoadingProps, LoadingStateProps, MaxUsersConfig, McpClientGuide, McpConnectionConfig, MyNotificationPreferences, NotificationBellProps, NotificationChannelPreference, NotificationCounts, NotificationData, NotificationEvent, NotificationInboxProps, NotificationListParams, NotificationPage, NotificationResult, NotificationScope, OnWorkspaceChangeParams, PartialSDKMessages, PendingInvitationsProps, PermissionContext, PermissionKey, PlanVersionWithPricingVariants, PricingPageDetails, PricingPageProps, QuotaDisplayValue, QuotaDisplayWithOverage, QuotaUsageContextValue, RedirectValidationOptions, RolePermissionMap, SDKLocale, SDKMessages, SDKUIConfig, SaaSOSProviderProps, SeatStatus, SectionHeaderProps, SessionsProps, SettingsManagerState, SidebarNavItemProps, SidebarNavSectionProps, SignOutOptions, StatusBannerProps, StatusBannerVariant, SubscriptionContextValue, SubscriptionItemTypeValue, SubscriptionStatusType, TranslationKey, TrialStatus, UseConnectedAgents, UseDevices, UseMyInvitations, UseNotifications, UseNotificationsOptions, UseSessions, UseWorkspaceInvitations, UserCreatedEventData, UserUpdatedEventData, WorkspaceChangedEventData, WorkspaceCreatedEventData, WorkspaceDeletedEventData, WorkspaceInvitationAcceptedEventData, WorkspaceInvitationDeclinedEventData, WorkspaceInvitationRevokedEventData, WorkspaceInvitationSentEventData, WorkspaceNotificationDefault, WorkspaceSettingsSection, WorkspaceUpdatedEventData, WorkspaceUserAddedEventData, WorkspaceUserRemovedEventData, WorkspaceUserRoleChangedEventData };
7619
+ export { APP_PERMISSION_FALLBACK_GROUP, ApiVersion, AuthApi, AuthStatus, BBAction, BBScreen, BBStatus, BB_PARAM, BaseApi, BetaForm, BillingIntervals, BuildBaseBadge, SaaSOSProvider as BuildBaseProvider, CURRENCY_DISPLAY, CURRENCY_FLAG, ConnectMcpGuide, ConnectedAgents, ConnectedAgentsApi, CreditActionsProvider, CreditBalance, CreditBalanceContextProvider, CreditBucketSource, CreditBucketStatus, CreditStorePage, CreditTransactionType, DEFAULT_ROLE_PERMISSIONS, Devices, DevicesApi, DunningState, EmptyState, EventEmitter, FALLBACK_WORKSPACE_ROLE, FullScreenLoader, INVITATION_ERROR_CODE, InvoiceStatuses, LoadingState, NotificationBell, NotificationInbox, NotificationsApi, PLAN_CURRENCY_CODES, PLAN_CURRENCY_OPTIONS, PUSH_SERVICE_WORKER_SCRIPT, PendingInvitations, Permission, PricingPage, PushApi, PushNotificationProvider, QuotaUsageContextProvider, SDKEvent, SETTINGS_SCREENS, SUPPORTED_LOCALES, SaaSOSProvider, SectionHeader, Sessions, SessionsApi, SettingsApi, SettingsScreen, SidebarNavItem, SidebarNavSection, StatusBanner, SubscriptionContextProvider, SubscriptionItemType, SubscriptionStatus, UserApi, WhenAuthenticated, WhenCreditsAvailable, WhenCreditsExhausted, WhenCreditsLow, WhenNoSubscription, WhenNotTrialing, WhenPendingInvitations, WhenPermission, WhenQuotaAvailable, WhenQuotaExhausted, WhenQuotaOverage, WhenQuotaThreshold, WhenRoles, WhenSubscription, WhenSubscriptionToPlans, WhenTrialEnding, WhenTrialing, WhenUnauthenticated, WhenUserFeatureDisabled, WhenUserFeatureEnabled, WhenWorkspaceFeatureDisabled, WhenWorkspaceFeatureEnabled, WhenWorkspaceRoles, WorkspaceApi, WorkspaceSwitcher, actionableInvitations, appPermissionCatalogue, calculateBillableSeats, calculateSeatOverageCents, calculateTotalSubscriptionCents, cleanBBParams, clearAuthIntent, clearPendingInvite, coerceBadgeRef, consumeAuthIntent, createBBUrl, createCheckoutRedirectUrls, createCreditPurchaseRedirectUrls, eventEmitter, fillMcpTemplate, formatCents, formatMinorAmountIntl, formatOverageRate, formatOverageRateWithLabel, formatQuotaIncludedOverage, formatQuotaWithPrice, getAvailableCurrenciesFromPlans, getBasePriceCents, getBillingIntervalAndCurrencyFromPriceId, getCurrencyDecimals, getCurrencyFlag, getCurrencySymbol, getDisplayCurrency, getPerSeatPriceCents, getPricingVariant, getQuotaDisplayValue, getQuotaDisplayWithVariant, getQuotaOverageCents, getQuotaUnitLabelFromName, getSeatPricing, getStripePriceIdForInterval, hasPermission, invalidateCreditBalance, invalidateQuotaUsage, invalidateSubscription, inviterNameOf, isInvitationActionable, isInvitationError, isInvitationLapsed, isZeroDecimalCurrency, mcpServerKey, mergeUIConfig, minorAmountToDisplay, parkPendingInvite, pickDefaultRole, readBBParams, readPendingInvite, resendCooldownSeconds, resolveMaxUsers, resolvePermissions, resolveRolePermissions, safeRedirect, saveAuthIntent, sortInvitations, useAllQuotaUsage, useBillingPortal, useCancelSubscription, useConnectedAgents, useConnectedAgentsApi, useConsumeCredits, useCreateCheckoutSession, useCreditBalance, useCreditBalanceContext, useCreditPackages, useCreditTransactions, useDevices, useDevicesApi, useExpiringCredits, useFullScreenLoader, useInvoice, useInvoices, useMcpConnection, useMyInvitations, useNotifications, useNotificationsApi, usePermissions, usePlanGroup, usePlanGroupVersions, usePublicCreditPackages, usePublicPlanGroupVersion, usePublicPlans, usePurchaseCredits, usePushNotifications, useQuotaUsageContext, useQuotaUsageStatus, useRecordUsage, useResumeSubscription, useSaaSAuth, useSaaSOs, useSaaSSettings, useSaaSWorkspaces, useSeatStatus, useSessions, useSessionsApi, useSubscription, useSubscriptionContext, useSubscriptionManagement, useTranslation, useTrialStatus, useUIConfig, useUIVisibility, useUpdateSubscription, useUsageLogs, useUserAttributes, useUserFeatures, useWorkspaceInvitations, validateInvite, validateRedirectUrl, workspaceIdOf, workspaceNameOf, workspaceSettingsManager };
7620
+ export type { BBActionType, BBScreenType, BBStatusType, BadgeHrefOptions, BetaFormData, BetaFormResponse, BillingInterval, BuildBaseBadgeProps, BuildBaseBadgeSize, BuildBaseBadgeTheme, BuildBaseBadgeVariant, SaaSOSProviderProps as BuildBaseProviderProps, CheckoutResult, ConnectMcpGuideProps, ConnectedAgentsProps, CreditActionsDetails, CreditBalanceContextValue, CreditBalanceDetails, CreditBucketSourceType, CreditBucketStatusType, CreditStorePageDetails, CreditTransactionTypeValue, DevicesProps, DunningStateType, EmptyStateProps, EventData, EventType, FormatQuotaWithPriceOptions, FullScreenLoaderProps, GetCheckoutStripeParams, IAllQuotaUsageResponse, IBaseApiConfig, IBasePricing, IBetaConfig, ICheckoutSessionRequest, ICheckoutSessionResponse, ICheckoutStripeOptions, IConnectedAgent, IConsumeCreditsRequest, IConsumeCreditsResponse, ICreditBalance, ICreditBucket, ICreditBucketsQuery, ICreditBucketsResponse, ICreditPackage, ICreditPackagePricingVariant, ICreditPurchaseRequest, ICreditPurchaseResponse, ICreditTransaction, ICreditTransactionsQuery, ICreditTransactionsResponse, IDeviceView, IEventCallbacks, IExpiringCreditsResponse, IInvoice, IInvoiceListResponse, IInvoiceResponse, IIpInfoLite, INotificationItem, IOsConfig, IOsState, IPlan, IPlanGroup, IPlanGroupInfo, IPlanGroupLatestVersion, IPlanGroupResponse, IPlanGroupVersion, IPlanGroupVersionWithPlans, IPlanGroupVersionsResponse, IPlanVersion, IPlanVersionSummary, IPlanVersionWithPlan, IPricingVariant, IPublicCreditPackage, IPublicCreditPackagesResponse, IPublicPlanItem, IPublicPlanItemCategory, IPublicPlanVersion, IPublicPlansResponse, IQuotaByInterval, IQuotaIntervalValue, IQuotaOveragePriceIdsByInterval, IQuotaOveragesByInterval, IQuotaUsageStatus, IQuotaUsageStatusResponse, IRecordUsageRequest, IRecordUsageResponse, ISessionView, ISettings, IStripePricesByInterval, ISubscription, ISubscriptionItem, ISubscriptionResponse, ISubscriptionUpdateRequest, ISubscriptionUpdateResponse, IUsageLogEntry, IUsageLogsQuery, IUsageLogsResponse, IUser, IWorkspace, IWorkspaceInvitation, IWorkspaceInvitationPreview, IWorkspaceInvitationStatus, InvitationError, InvitationErrorCode, InvitationErrorFields, InviteBlockReason, InviteValidation, InvoiceStatus, InvoiceStatusType, LoadingProps, LoadingStateProps, MaxUsersConfig, McpClientGuide, McpConnectionConfig, MyNotificationPreferences, NotificationBellProps, NotificationChannelPreference, NotificationCounts, NotificationData, NotificationEvent, NotificationInboxProps, NotificationListParams, NotificationPage, NotificationResult, NotificationScope, OnWorkspaceChangeParams, PartialSDKMessages, PendingInvitationsProps, PermissionContext, PermissionKey, PlanVersionWithPricingVariants, PricingPageDetails, PricingPageProps, QuotaDisplayValue, QuotaDisplayWithOverage, QuotaUsageContextValue, RedirectValidationOptions, RolePermissionMap, SDKLocale, SDKMessages, SDKUIConfig, SaaSOSProviderProps, SeatStatus, SectionHeaderProps, SessionsProps, SettingsManagerState, SidebarNavItemProps, SidebarNavSectionProps, SignOutOptions, StatusBannerProps, StatusBannerVariant, SubscriptionContextValue, SubscriptionItemTypeValue, SubscriptionStatusType, TranslationKey, TrialStatus, UseConnectedAgents, UseDevices, UseMyInvitations, UseNotifications, UseNotificationsOptions, UseSessions, UseWorkspaceInvitations, UserCreatedEventData, UserUpdatedEventData, WorkspaceChangedEventData, WorkspaceCreatedEventData, WorkspaceDeletedEventData, WorkspaceInvitationAcceptedEventData, WorkspaceInvitationDeclinedEventData, WorkspaceInvitationRevokedEventData, WorkspaceInvitationSentEventData, WorkspaceMemberPermissions, WorkspaceNotificationDefault, WorkspacePermissionDefinition, WorkspaceSettingsSection, WorkspaceUpdatedEventData, WorkspaceUserAddedEventData, WorkspaceUserRemovedEventData, WorkspaceUserRoleChangedEventData };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{a$ as ApiVersion,b0 as AuthApi,b1 as AuthStatus,o as BBAction,b2 as BBScreen,p as BBStatus,b3 as BB_PARAM,b4 as BaseApi,b5 as BetaForm,ai as BillingIntervals,b6 as BuildBaseBadge,b7 as BuildBaseProvider,b8 as CURRENCY_DISPLAY,b9 as CURRENCY_FLAG,ba as ConnectMcpGuide,C as ConnectedAgents,bb as ConnectedAgentsApi,bc as CreditActionsProvider,bd as CreditBalance,be as CreditBalanceContextProvider,bf as CreditBucketSource,bg as CreditBucketStatus,bh as CreditStorePage,y as CreditTransactionType,bi as DEFAULT_ROLE_PERMISSIONS,R as Devices,bj as DevicesApi,az as DunningState,E as EmptyState,bk as EventEmitter,bl as FullScreenLoader,bm as INVITATION_ERROR_CODE,ag as InvoiceStatuses,L as LoadingState,bn as NotificationBell,bo as NotificationInbox,bp as NotificationsApi,bq as PLAN_CURRENCY_CODES,br as PLAN_CURRENCY_OPTIONS,bs as PUSH_SERVICE_WORKER_SCRIPT,bt as PendingInvitations,P as Permission,bu as PricingPage,bv as PushApi,bw as PushNotificationProvider,bx as QuotaUsageContextProvider,by as SDKEvent,aX as SETTINGS_SCREENS,bz as SUPPORTED_LOCALES,b7 as SaaSOSProvider,s as SectionHeader,T as Sessions,bA as SessionsApi,bB as SettingsApi,aR as SettingsScreen,aT as SidebarNavItem,aS as SidebarNavSection,r as StatusBanner,bC as SubscriptionContextProvider,aj as SubscriptionItemType,am as SubscriptionStatus,bD as UserApi,bE as WhenAuthenticated,bF as WhenCreditsAvailable,bG as WhenCreditsExhausted,bH as WhenCreditsLow,bI as WhenNoSubscription,bJ as WhenNotTrialing,bK as WhenPendingInvitations,bL as WhenPermission,bM as WhenQuotaAvailable,bN as WhenQuotaExhausted,bO as WhenQuotaOverage,bP as WhenQuotaThreshold,bQ as WhenRoles,bR as WhenSubscription,bS as WhenSubscriptionToPlans,bT as WhenTrialEnding,bU as WhenTrialing,bV as WhenUnauthenticated,bW as WhenUserFeatureDisabled,bX as WhenUserFeatureEnabled,bY as WhenWorkspaceFeatureDisabled,bZ as WhenWorkspaceFeatureEnabled,b_ as WhenWorkspaceRoles,b$ as WorkspaceApi,c0 as WorkspaceSwitcher,c1 as actionableInvitations,c2 as calculateBillableSeats,c3 as calculateSeatOverageCents,c4 as calculateTotalSubscriptionCents,c5 as cleanBBParams,c6 as clearAuthIntent,c7 as clearPendingInvite,c8 as coerceBadgeRef,c9 as consumeAuthIntent,ca as createBBUrl,aB as createCheckoutRedirectUrls,v as createCreditPurchaseRedirectUrls,cb as eventEmitter,cc as fillMcpTemplate,cd as formatCents,f as formatMinorAmountIntl,ce as formatOverageRate,cf as formatOverageRateWithLabel,cg as formatQuotaIncludedOverage,ch as formatQuotaWithPrice,aZ as getAvailableCurrenciesFromPlans,aw as getBasePriceCents,av as getBillingIntervalAndCurrencyFromPriceId,e as getCurrencyDecimals,a0 as getCurrencyFlag,g as getCurrencySymbol,ci as getDisplayCurrency,ay as getPerSeatPriceCents,aY as getPricingVariant,al as getQuotaDisplayValue,ak as getQuotaDisplayWithVariant,aF as getQuotaOverageCents,cj as getQuotaUnitLabelFromName,ax as getSeatPricing,aA as getStripePriceIdForInterval,ck as hasPermission,q as invalidateCreditBalance,cl as invalidateQuotaUsage,aC as invalidateSubscription,cm as inviterNameOf,cn as isInvitationActionable,co as isInvitationError,aO as isInvitationLapsed,cp as isZeroDecimalCurrency,cq as mcpServerKey,aU as mergeUIConfig,cr as minorAmountToDisplay,cs as parkPendingInvite,ct as readBBParams,cu as readPendingInvite,aN as resendCooldownSeconds,cv as resolveMaxUsers,cw as resolvePermissions,x as safeRedirect,cx as saveAuthIntent,cy as sortInvitations,cz as useAllQuotaUsage,as as useBillingPortal,aq as useCancelSubscription,cA as useConnectedAgents,cB as useConnectedAgentsApi,cC as useConsumeCredits,ap as useCreateCheckoutSession,cD as useCreditBalance,j as useCreditBalanceContext,k as useCreditPackages,m as useCreditTransactions,cE as useDevices,cF as useDevicesApi,l as useExpiringCredits,cG as useFullScreenLoader,cH as useInvoice,ae as useInvoices,cI as useMcpConnection,cJ as useMyInvitations,cK as useNotifications,cL as useNotificationsApi,h as usePermissions,cM as usePlanGroup,at as usePlanGroupVersions,cN as usePublicCreditPackages,cO as usePublicPlanGroupVersion,cP as usePublicPlans,n as usePurchaseCredits,a7 as usePushNotifications,aD as useQuotaUsageContext,cQ as useQuotaUsageStatus,cR as useRecordUsage,ar as useResumeSubscription,aH as useSaaSAuth,cS as useSaaSOs,A as useSaaSSettings,z as useSaaSWorkspaces,aL as useSeatStatus,cT as useSessions,cU as useSessionsApi,cV as useSubscription,aE as useSubscriptionContext,ao as useSubscriptionManagement,u as useTranslation,cW as useTrialStatus,aM as useUIConfig,i as useUIVisibility,cX as useUpdateSubscription,cY as useUsageLogs,cZ as useUserAttributes,c_ as useUserFeatures,aJ as useWorkspaceInvitations,c$ as validateInvite,d0 as validateRedirectUrl,d1 as workspaceIdOf,d2 as workspaceNameOf,w as workspaceSettingsManager}from"./chunks/react-BIZcTNos.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-CNHfoa5L.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";
@@ -0,0 +1 @@
1
+ "use strict";throw new Error("@buildbase/sdk/server holds your org API token and must only run on a server. Import it from server code (an API route, a server component, a build script), never from code that ships to the browser.");
@@ -0,0 +1 @@
1
+ throw new Error("@buildbase/sdk/server holds your org API token and must only run on a server. Import it from server code (an API route, a server component, a build script), never from code that ships to the browser.");
@@ -0,0 +1 @@
1
+ "use strict";function t(t={}){const e=Math.max(1,t.maxEntries??1e3),n=new Map,o=new Map,s=t=>{const e=n.get(t);e&&(n.delete(t),((t,e)=>{for(const n of e.tags){const e=o.get(n);e&&(e.delete(t),0===e.size&&o.delete(n))}})(t,e.entry))};return{async get(t){const e=n.get(t);if(e){if(!(e.expiresAt<=Date.now()))return n.delete(t),n.set(t,e),e.entry;s(t)}},async set(t,a,r){s(t),n.set(t,{entry:a,expiresAt:Date.now()+1e3*r});for(const e of a.tags){let n=o.get(e);n||o.set(e,n=new Set),n.add(t)}for(;n.size>e;){const t=n.keys().next().value;if(void 0===t)break;s(t)}},async delete(t){s(t)},async deleteByTag(t){const e=o.get(t);if(e)for(const t of[...e])s(t)}}}function e(t,n,o){if(null!=o)if(Array.isArray(o))o.forEach((o,s)=>e(t,`${n}[${s}]`,o));else if("object"!=typeof o)t.append(n,String(o));else for(const[s,a]of Object.entries(o))e(t,`${n}[${s}]`,a)}function n(t){if(!t)return"";const n=new URLSearchParams;for(const o of Object.keys(t).sort())e(n,o,t[o]);n.sort();const o=n.toString();return o?`?${o}`:""}const o=["blog","doc","faq","faq_collection","testimonial","rich_content","collection"],s="buildbase:all",a={module:t=>`buildbase:${t}`,slug:(t,e)=>`buildbase:${t}:${e}`,id:(t,e)=>`buildbase:${t}:id:${e}`,collection:t=>`buildbase:collection:${t}`,all:s},r=["blog.published","blog.updated","blog.unpublished","blog.deleted","doc.published","doc.updated","doc.unpublished","doc.deleted","faq.updated","faq_collection.updated","testimonial.updated","testimonial.deleted","rich_content.updated","rich_content.deleted","collection.version_published","collection.record_created","collection.record_updated","collection.record_deleted"],i=new Set(r);function c(t){return i.has(t)}function l(t,e){if(e&&Array.isArray(e.tags)&&e.tags.length>0)return[...new Set(e.tags.filter(t=>"string"==typeof t))];const n=e?.module??t.split(".")[0];if(!o.includes(n))return[];const s=[a.module(n)];return e?.slug&&s.push(a.slug(n,e.slug)),e?.id&&s.push(a.id(n,e.id)),"faq.updated"===t&&s.push(a.module("faq_collection")),s}const d="@buildbase/sdk/server holds your org API token and must only run on a server. Import it from server code (an API route, a server component, a build script), never from code that ships to the browser.";class u extends Error{constructor(t,e,n,o){super(t),this.status=e,this.url=n,this.body=o,this.name="BuildBaseContentError"}}const f=/^[0-9a-f]{24}$/i,p=new WeakMap;function h(t){return Array.isArray(t)?t:t&&"object"==typeof t&&Array.isArray(t.docs)?t.docs:[]}function g(t){const e=t.split("/").filter(Boolean);return e[e.length-1]??t}function y(t={},e={}){const n={...e,...t.filter};return{$page:t.page,$limit:t.limit,filter:Object.keys(n).length>0?n:void 0,sort:t.sort}}const w=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),m=(t,e)=>t>>>e|t<<32-e;function b(t){let e=1779033703,n=3144134277,o=1013904242,s=2773480762,a=1359893119,r=2600822924,i=528734635,c=1541459225;const l=t.length,d=l+1,u=d+(56-d%64+64)%64+8,f=new Uint8Array(u);f.set(t,0),f[l]=128;const p=8*l,h=Math.floor(p/4294967296),g=p>>>0;f[u-8]=h>>>24&255,f[u-7]=h>>>16&255,f[u-6]=h>>>8&255,f[u-5]=255&h,f[u-4]=g>>>24&255,f[u-3]=g>>>16&255,f[u-2]=g>>>8&255,f[u-1]=255&g;const y=new Uint32Array(64);for(let t=0;t<u;t+=64){for(let e=0;e<16;e++){const n=t+4*e;y[e]=f[n]<<24|f[n+1]<<16|f[n+2]<<8|f[n+3]}for(let t=16;t<64;t++){const e=m(y[t-15],7)^m(y[t-15],18)^y[t-15]>>>3,n=m(y[t-2],17)^m(y[t-2],19)^y[t-2]>>>10;y[t]=y[t-16]+e+y[t-7]+n>>>0}let l=e,d=n,u=o,p=s,h=a,g=r,b=i,v=c;for(let t=0;t<64;t++){const e=v+(m(h,6)^m(h,11)^m(h,25))+(h&g^~h&b)+w[t]+y[t]>>>0,n=l&d^l&u^d&u;v=b,b=g,g=h,h=p+e>>>0,p=u,u=d,d=l,l=e+((m(l,2)^m(l,13)^m(l,22))+n>>>0)>>>0}e=e+l>>>0,n=n+d>>>0,o=o+u>>>0,s=s+p>>>0,a=a+h>>>0,r=r+g>>>0,i=i+b>>>0,c=c+v>>>0}const b=new Uint8Array(32),v=[e,n,o,s,a,r,i,c];for(let t=0;t<8;t++)b[4*t]=v[t]>>>24&255,b[4*t+1]=v[t]>>>16&255,b[4*t+2]=v[t]>>>8&255,b[4*t+3]=255&v[t];return b}function v(t){return(new TextEncoder).encode(t)}function $(t,e){const n=new Uint8Array(t.length+e.length);return n.set(t,0),n.set(e,t.length),n}function x(t){const{body:e,signature:n,timestamp:o,secret:s,maxAgeSeconds:a=300}=t;if(!(n&&o&&s&&e))return!1;const r="sha256=";if(!n.startsWith(r))return!1;const i=n.slice(7);if(a>0){const t=parseInt(o,10);if(isNaN(t))return!1;if(Math.abs(Math.floor(Date.now()/1e3)-t)>a)return!1}const c=function(t){if(t.length%2!=0)return null;const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const o=parseInt(t.slice(2*n,2*n+2),16);if(Number.isNaN(o))return null;e[n]=o}return e}(i);if(!c)return!1;const l=function(t,e){let n=t;n.length>64&&(n=b(n));const o=new Uint8Array(64),s=new Uint8Array(64);for(let t=0;t<64;t++){const e=t<n.length?n[t]:0;o[t]=54^e,s[t]=92^e}const a=b($(o,e));return b($(s,a))}(v(s),v(`${o}.${e}`));return c.length===l.length&&function(t,e){if(t.length!==e.length)return!1;let n=0;for(let o=0;o<t.length;o++)n|=t[o]^e[o];return 0===n}(c,l)}const q=(t,e)=>new Response(JSON.stringify(e),{status:t,headers:{"Content-Type":"application/json"}});async function A(t,e){if("POST"!==t.method)return q(405,{error:"method_not_allowed"});const n=function(t){if(!x(t))return null;try{return JSON.parse(t.body)}catch{return null}}({body:await t.text(),signature:t.headers.get("x-buildbase-signature"),timestamp:t.headers.get("x-buildbase-timestamp"),secret:e.secret,maxAgeSeconds:e.maxAgeSeconds??300});if(!n)return q(401,{error:"invalid_signature"});if(!c(n.event))return q(200,{ignored:!0,event:n.event});const o=l(n.event,n.data);return e.cache&&await Promise.all(o.map(t=>e.cache.deleteByTag(t))),e.revalidate&&await e.revalidate(o),e.onEvent&&await e.onEvent(n,o),q(200,{revalidated:o})}function E(t){return t instanceof Uint8Array}const S=["blogs","docs","faqs","testimonials","richContent","collections"];async function C(t){const e=[];for(let n=1;n<=1e4;n++){const o=await t(n);e.push(...o.docs);if(!(o.hasNextPage??(void 0!==o.totalPages&&n<o.totalPages))||0===o.docs.length)break}return e}exports.ALL_TAG=s,exports.BuildBaseContentError=u,exports.CONTENT_MODULES=o,exports.CONTENT_WEBHOOK_EVENTS=r,exports.PULL_MODULES=S,exports.SERVER_ONLY_MESSAGE=d,exports.contentTags=a,exports.createContentWebhookHandler=function(t){return e=>A(e,t)},exports.createServerClient=function(e){if("undefined"!=typeof window&&"undefined"!=typeof document)throw new Error(d);if(!e||"string"!=typeof e.serverUrl||!e.serverUrl)throw new Error("createServerClient: `serverUrl` is required");if("string"!=typeof e.apiToken||!e.apiToken.includes(":"))throw new Error("createServerClient: `apiToken` must be an org API token of the form <orgId>:<secret> (console, Settings, API tokens)");const o=e.serverUrl.replace(/\/+$/,""),r=e.apiToken,i=r.slice(0,r.indexOf(":")),c=!1===e.cache?null:e.cache??t(),l=e.fetch??((t,e)=>globalThis.fetch(t,e)),w=e.timeoutMs??1e4,m=e.defaultTtlSeconds??60,b=Math.max(e.retainSeconds??86400,1),v=e.staleOnError??!0,$=new Map,x=(t,e)=>(t&&"object"==typeof t&&p.set(t,e),t);async function q(t,n,s){const a="function"==typeof e.requestInit?e.requestInit({path:t,tags:n}):e.requestInit??{},i=new Headers(a.headers);i.set("Authorization",`Bearer ${r}`),i.set("Accept","application/json"),s&&i.set("If-None-Match",s);const c=new AbortController,d=setTimeout(()=>c.abort(),w);try{return await l(`${o}${t}`,{...a,method:"GET",headers:i,signal:a.signal??c.signal})}finally{clearTimeout(d)}}async function A(t){const e=`${t.path}${n(t.query)}`,a=`${i}:${e}`,r=c?await c.get(a):void 0,l=Date.now();if(r&&r.freshUntil>l)return x(r.data,r.tags);const d=()=>{const n=async function(){let n;try{n=await q(e,t.tags,r?.etag),304!==n.status||r||(n=await q(e,t.tags))}catch(t){if(v&&r)return x(r.data,r.tags);throw new u(`BuildBase request failed: ${t instanceof Error?t.message:String(t)}`,0,`${o}${e}`)}const i=function(t,e){const n=t.headers.get("cache-control");if(!n)return e;const o=n.toLowerCase().split(",").map(t=>t.trim());if(o.includes("no-store"))return null;if(o.includes("no-cache"))return 0;const s=o.find(t=>t.startsWith("max-age="));if(s){const t=Number(s.slice(8));if(Number.isFinite(t)&&t>=0)return t}return e}(n,m),l=function(t){const e=t.headers.get("cache-control");if(!e)return 0;const n=e.toLowerCase().split(",").map(t=>t.trim()).find(t=>t.startsWith("stale-while-revalidate=")),o=n?Number(n.slice(23)):0;return Number.isFinite(o)&&o>0?o:0}(n);if(304===n.status&&r){const t={...r,etag:n.headers.get("etag")??r.etag,freshUntil:Date.now()+1e3*(i??0),staleUntil:l>0?Date.now()+1e3*((i??0)+l):void 0};return c&&await c.set(a,t,b),x(r.data,r.tags)}if(404===n.status&&t.nullOnNotFound)return null;if(!n.ok){const s=await n.text().catch(()=>"");let a=s;try{a=s?JSON.parse(s):void 0}catch{}if(v&&r&&401!==n.status&&403!==n.status)return x(r.data,r.tags);const i=a?.message??`BuildBase responded ${n.status} for ${t.path}`;throw new u(i,n.status,`${o}${e}`,a)}const d=(f=await n.json().catch(()=>null),f&&"object"==typeof f&&!Array.isArray(f)&&"data"in f&&"success"in f&&!("docs"in f)?f.data:f);var f;if(null==d&&t.nullOnNotFound)return null;const p=t.transform?t.transform(d):d,h=[...new Set([...t.tags,...t.tagsFrom?t.tagsFrom(p):[],s])];c&&null!==i&&await c.set(a,{data:p,etag:n.headers.get("etag")??void 0,freshUntil:Date.now()+1e3*i,staleUntil:l>0?Date.now()+1e3*(i+l):void 0,tags:h},Math.max(b,i));return x(p,h)}();return $.set(a,n),n.then(()=>$.delete(a),()=>$.delete(a)),n};if(r&&void 0!==r.staleUntil&&r.staleUntil>l)return $.has(a)||d().catch(()=>{}),x(r.data,r.tags);const f=$.get(a);return f||d()}const E=t=>e=>{const n=[];return e?._id&&n.push(a.id(t,e._id)),e?.slug&&n.push(a.slug(t,e.slug)),n};function S(t,e){const n=a.module(e);return{list:(e={})=>A({path:`/api/${t}`,query:y(e,e.includeDrafts?{}:{published:!0}),tags:[n]}),get:n=>A({path:`/api/${t}/${encodeURIComponent(n)}`,tags:[a.id(e,n)],tagsFrom:E(e),nullOnNotFound:!0}),byPath:(n,o={})=>A({path:`/api/${t}/path`,query:{path:n,draftPreview:!!o.draftPreview||void 0},tags:[a.slug(e,g(n))],tagsFrom:E(e),nullOnNotFound:!0}),tree:(e={})=>A({path:`/api/${t}/folders/tree`,query:{folder:e.folder},tags:[n]}),tags:(e={})=>A({path:`/api/${t}/tags`,query:y(e),tags:[n]}),authors:(e={})=>A({path:`/api/${t}/authors`,query:y(e),tags:[n]})}}const C=a.module("faq_collection");async function N(t){const e=f.test(t);return A({path:e?`/api/faqs/collections/${encodeURIComponent(t)}`:`/api/faqs/collections/slug/${encodeURIComponent(t)}`,tags:[e?a.id("faq_collection",t):a.slug("faq_collection",t)],tagsFrom:E("faq_collection"),nullOnNotFound:!0})}return{blogs:S("blogs","blog"),docs:S("docs","doc"),faqs:{collections:(t={})=>A({path:"/api/faqs/collections",query:y(t,{archived:!1}),tags:[C]}),collection:N,async questions(t){const e=f.test(t);if(e&&!await N(t))return[];return await A({path:e?`/api/faqs/collections/${encodeURIComponent(t)}/faqs`:`/api/faqs/collections/slug/${encodeURIComponent(t)}/faqs`,query:{pagination:!1},tags:[a.module("faq"),e?a.id("faq_collection",t):a.slug("faq_collection",t)],transform:t=>h(t).filter(t=>!t.archived),nullOnNotFound:!0})??[]}},testimonials:{list:(t={})=>A({path:"/api/testimonials",query:y(t,t.includeUnpublished?{archived:!1}:{published:!0,archived:!1}),tags:[a.module("testimonial")]}),get:t=>A({path:`/api/testimonials/${encodeURIComponent(t)}`,tags:[a.id("testimonial",t)],nullOnNotFound:!0})},richContent:{get:t=>A({path:`/api/rich-content/slug/${encodeURIComponent(t)}`,tags:[a.slug("rich_content",t)],tagsFrom:E("rich_content"),nullOnNotFound:!0}),list:(t={})=>A({path:"/api/rich-content",query:y(t,{archived:!1}),tags:[a.module("rich_content")]})},collections:{list:(t={})=>A({path:"/api/collections",query:y(t,{archived:!1}),tags:[a.module("collection")]}),data(t,e={}){const n=void 0===e.version;return A({path:`/api/collections/data/${encodeURIComponent(t)}`,query:n?{latest:!0}:{version:e.version},tags:[a.collection(t)],transform:t=>h(t).filter(t=>!t.archived)})}},async revalidate(t){c&&await c.deleteByTag(t)},async revalidateAll(){c&&await c.deleteByTag(s)},cache:c}},exports.encodeQuery=n,exports.getContentTags=function(t){return t&&"object"==typeof t?p.get(t)??[]:[]},exports.handleContentWebhook=A,exports.isContentWebhookEvent=c,exports.kvCache=function(t,e={}){const n=e.prefix??"buildbase:sdk:",o=t=>`${n}e:${t}`,s=t=>`${n}t:${t}`,a=t=>Math.max(60,Math.ceil(t)),r=async e=>{const n=await t.get(e);if(null!=n){if("string"==typeof n)try{return JSON.parse(n)}catch{return}return n}},i=async(e,n,o)=>{const s=JSON.stringify(n);if("function"==typeof t.put)await t.put(e,s,{expirationTtl:a(o)});else{if("function"!=typeof t.set)throw new Error("kvCache: the binding needs put() or set()");await t.set(e,s,{ex:a(o)})}},c=async e=>{"function"==typeof t.delete?await t.delete(e):"function"==typeof t.del&&await t.del(e)};return{get:async t=>r(o(t)),async set(t,e,n){await i(o(t),e,n);for(const o of e.tags){const e=await r(s(o))??[];e.includes(t)||e.push(t),await i(s(o),e,n)}},async delete(t){await c(o(t))},async deleteByTag(t){const e=await r(s(t))??[];await Promise.all(e.map(t=>c(o(t)))),await c(s(t))}}},exports.memoryCache=t,exports.pullContent=async function(t,e={}){const n=new Set(e.modules??S),o=e.pageSize??100,s={generatedAt:(new Date).toISOString()};if(n.has("blogs")&&(s.blogs=await C(e=>t.blogs.list({page:e,limit:o}))),n.has("docs")&&(s.docs=await C(e=>t.docs.list({page:e,limit:o}))),n.has("faqs")){const e=await C(e=>t.faqs.collections({page:e,limit:o}));s.faqs=[];for(const n of e)s.faqs.push({...n,questions:await t.faqs.questions(n._id)})}if(n.has("testimonials")&&(s.testimonials=await C(e=>t.testimonials.list({page:e,limit:o}))),n.has("richContent")&&(s.richContent=await C(e=>t.richContent.list({page:e,limit:o}))),n.has("collections")){const n=e.collections??(await C(e=>t.collections.list({page:e,limit:o}))).map(t=>t.slug);s.collections={};for(const e of n)s.collections[e]=await t.collections.data(e)}return s},exports.redisCache=function(t,e={}){const n=e.prefix??"buildbase:sdk:",o="function"==typeof t.sAdd&&"function"==typeof t.sMembers,s=t=>`${n}e:${t}`,a=t=>`${n}t:${t}`,r=(e,n)=>o?t.sAdd(e,n):t.sadd(e,n),i=e=>0===e.length?Promise.resolve():o?t.del(e):t.del(...e);if(!o&&("function"!=typeof t.sadd||"function"!=typeof t.smembers))throw new Error("redisCache: the client needs set commands (sadd/smembers or sAdd/sMembers)");return{async get(e){const n=await t.get(s(e));if(n)try{return JSON.parse(n)}catch{return}},async set(e,n,i){const c=Math.max(1,Math.ceil(i));await((e,n,s)=>o?t.set(e,n,{EX:s}):t.set(e,n,"EX",s))(s(e),JSON.stringify(n),c);for(const o of n.tags)await r(a(o),e),"function"==typeof t.expire&&await t.expire(a(o),c)},async delete(t){await i([s(t)])},async deleteByTag(e){const n=await(r=a(e),o?t.sMembers(r):t.smembers(r));var r;await i([...n.map(s),a(e)])}}},exports.tagsForContentEvent=l,exports.toNodeHandler=function(t){return async(e,n)=>{let o;try{const n=await async function(t){for(const e of[t.rawBody,t.body]){if("string"==typeof e)return e;if(E(e))return(new TextDecoder).decode(e)}if(t.body&&"object"==typeof t.body)throw new Error("toNodeHandler: the body was already parsed as JSON. Mount the webhook route with a raw body (Express: express.raw({ type: 'application/json' }); Fastify: a raw-body content-type parser).");return!t.on||t.readableEnded?"":new Promise((e,n)=>{const o=[];t.on("data",t=>o.push("string"==typeof t?(new TextEncoder).encode(t):t)),t.on("end",()=>{const t=o.reduce((t,e)=>t+e.length,0),n=new Uint8Array(t);let s=0;for(const t of o)n.set(t,s),s+=t.length;e((new TextDecoder).decode(n))}),t.on("error",n)})}(e),s=new Headers;for(const[t,n]of Object.entries(e.headers))void 0!==n&&s.set(t,Array.isArray(n)?n.join(", "):n);const a=s.get("host")??"localhost",r=e.method??"POST";o=await t(new Request(`http://${a}${e.originalUrl??e.url??"/"}`,{method:r,headers:s,body:"GET"===r||"HEAD"===r?void 0:n}))}catch(t){o=new Response(JSON.stringify({error:t instanceof Error?t.message:String(t)}),{status:400,headers:{"Content-Type":"application/json"}})}n.statusCode=o.status,o.headers.forEach((t,e)=>n.setHeader(e,t)),n.end(new Uint8Array(await o.arrayBuffer()))}};