@buildbase/sdk 0.0.53 → 0.0.54

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.
@@ -1125,6 +1125,8 @@ declare abstract class BaseApi {
1125
1125
  private reportError;
1126
1126
  /** Execute fetch with timeout, retries, debug logging, and error callback. */
1127
1127
  private executeFetch;
1128
+ /** Backoff sleep that ends early (with an AbortError) when the signal fires. */
1129
+ private static delay;
1128
1130
  /** Internal: execute fetch against a resolved URL with timeout, retries, debug logging, and error callback. */
1129
1131
  private executeFetchUrl;
1130
1132
  /**
@@ -1869,15 +1871,40 @@ declare function cleanBBParams(): void;
1869
1871
  /**
1870
1872
  * Security utilities for the SDK.
1871
1873
  */
1874
+ /** Options for {@link validateRedirectUrl}. */
1875
+ interface RedirectValidationOptions {
1876
+ /**
1877
+ * Require absolute URLs to be same-origin with the current page
1878
+ * (`window.location.origin`). Relative paths always pass. Use for any
1879
+ * user-controllable target (return URLs, `?next=` params) — it turns an
1880
+ * open redirect into a same-site navigation. Outside a browser there is no
1881
+ * origin to compare against, so absolute URLs are rejected.
1882
+ */
1883
+ sameOrigin?: boolean;
1884
+ /**
1885
+ * Origins additionally allowed for absolute URLs, e.g.
1886
+ * `['https://checkout.stripe.com']`. Matched against `URL.origin` exactly.
1887
+ */
1888
+ allowedOrigins?: string[];
1889
+ }
1872
1890
  /**
1873
- * Validate that a URL is safe to redirect to.
1874
- * Prevents open redirect attacks by ensuring the URL uses https (or http on localhost).
1875
- * Returns the URL if safe, or null if not.
1891
+ * Validate that a URL is safe to redirect to. Returns the URL if safe, null if
1892
+ * not.
1893
+ *
1894
+ * - **Relative paths** (`/dashboard`) are safe and always allowed —
1895
+ * protocol-relative (`//evil.com`) and backslash (`/\evil.com`) forms are
1896
+ * not treated as relative.
1897
+ * - **Absolute URLs** must be `https:` (or `http:` on localhost). By default
1898
+ * any such URL passes (needed for cross-origin targets like Stripe checkout);
1899
+ * pass `sameOrigin` and/or `allowedOrigins` to restrict — then the URL must
1900
+ * match at least one of them. Always restrict user-controllable targets.
1876
1901
  */
1877
- declare function validateRedirectUrl(url: string | null | undefined): string | null;
1902
+ declare function validateRedirectUrl(url: string | null | undefined, options?: RedirectValidationOptions): string | null;
1878
1903
  /**
1879
1904
  * Safely redirect to a URL after validating it.
1880
- * Falls back to fallbackUrl if the target URL is invalid.
1905
+ * Falls back to fallbackUrl (itself validated — else `/`) if the target URL is
1906
+ * invalid. Pass `options` to restrict user-controllable targets (see
1907
+ * {@link validateRedirectUrl}).
1881
1908
  *
1882
1909
  * Browser-only: navigation requires `window.location`. On non-browser runtimes
1883
1910
  * (Node, edge, Deno, Bun) there is nothing to navigate, so this is a no-op that
@@ -1885,7 +1912,7 @@ declare function validateRedirectUrl(url: string | null | undefined): string | n
1885
1912
  * that needs the resolved target should call {@link validateRedirectUrl} and
1886
1913
  * issue the redirect with its own framework (e.g. `Response.redirect`).
1887
1914
  */
1888
- declare function safeRedirect(url: string | null | undefined, fallbackUrl?: string): boolean;
1915
+ declare function safeRedirect(url: string | null | undefined, fallbackUrl?: string, options?: RedirectValidationOptions): boolean;
1889
1916
 
1890
1917
  /**
1891
1918
  * Auth intent preservation — saves and restores the URL the user was on
@@ -1893,7 +1920,8 @@ declare function safeRedirect(url: string | null | undefined, fallbackUrl?: stri
1893
1920
  */
1894
1921
  /**
1895
1922
  * Save the current URL as the post-auth redirect target.
1896
- * Validates the URL before storing — rejects unsafe URLs silently.
1923
+ * Validates the URL before storing — rejects unsafe URLs silently. Same-origin
1924
+ * only: the return URL is "where the user was", never another site.
1897
1925
  */
1898
1926
  declare function saveAuthIntent(returnUrl: string): void;
1899
1927
  /**
@@ -1925,7 +1953,15 @@ declare const PLAN_CURRENCY_OPTIONS: {
1925
1953
  value: "usd" | "eur" | "gbp" | "jpy" | "cad" | "aud" | "chf" | "cny" | "hkd" | "sgd" | "inr" | "mxn" | "brl" | "nzd" | "sek" | "nok" | "dkk" | "pln" | "thb";
1926
1954
  label: string;
1927
1955
  }[];
1928
- /** Format cents as money string (e.g. 1999, "usd" -> "$19.99"). Caller must pass currency (e.g. from plan or workspace). */
1956
+ /** True when `currency` has no minor unit (JPY, KRW, …) — amounts are whole units, not cents. */
1957
+ declare function isZeroDecimalCurrency(currency: string | null | undefined): boolean;
1958
+ /**
1959
+ * Convert a minor-unit amount to its display number for `currency`:
1960
+ * `minorAmountToDisplay(1999, 'usd')` → `"19.99"`,
1961
+ * `minorAmountToDisplay(1000, 'jpy')` → `"1,000"` (zero-decimal — no division).
1962
+ */
1963
+ declare function minorAmountToDisplay(amount: number, currency: string): string;
1964
+ /** Format cents as money string (e.g. 1999, "usd" -> "$19.99"; 1000, "jpy" -> "¥1,000"). Caller must pass currency (e.g. from plan or workspace). */
1929
1965
  declare function formatCents(cents: number, currency: string): string;
1930
1966
  /** Translatable labels for overage/quota formatting */
1931
1967
  interface OverageLabels {
@@ -4326,14 +4362,24 @@ declare function useSaaSOs(): IOsState;
4326
4362
  */
4327
4363
  declare function useSaaSSettings(): {
4328
4364
  settings: ISettings | null | undefined;
4329
- getSettings: (signal?: AbortSignal) => Promise<ISettings | null>;
4365
+ getSettings: (_signal?: AbortSignal) => Promise<ISettings | null>;
4330
4366
  };
4331
4367
 
4332
4368
  interface UserContextValue {
4333
4369
  attributes: Record<string, string | number | boolean>;
4334
4370
  features: Record<string, boolean>;
4371
+ /** True while EITHER pipeline is loading. Prefer the per-resource flags. */
4335
4372
  isLoading: boolean;
4373
+ /** The first per-resource error, attributes first. Prefer the per-resource errors. */
4336
4374
  error: Error | null;
4375
+ /** True while attributes are loading (independent of features). */
4376
+ attributesLoading: boolean;
4377
+ /** True while features are loading (independent of attributes). */
4378
+ featuresLoading: boolean;
4379
+ /** Last attributes fetch/update error; cleared when a new attributes request starts. */
4380
+ attributesError: Error | null;
4381
+ /** Last features fetch error; cleared when a new features request starts. */
4382
+ featuresError: Error | null;
4337
4383
  updateAttributes: (updates: Record<string, string | number | boolean>) => Promise<IUser>;
4338
4384
  updateAttribute: (attributeKey: string, value: string | number | boolean) => Promise<IUser>;
4339
4385
  refreshAttributes: () => Promise<void>;
@@ -5842,7 +5888,9 @@ declare class WorkspaceSettingsManager {
5842
5888
  */
5843
5889
  subscribe(listener: (state: SettingsManagerState) => void): () => void;
5844
5890
  /**
5845
- * Get current state
5891
+ * Get current state. Returns the internal immutable snapshot (every change
5892
+ * replaces the object, never mutates it) so the reference is stable between
5893
+ * changes — a `useSyncExternalStore.getSnapshot` requirement.
5846
5894
  */
5847
5895
  getState(): SettingsManagerState;
5848
5896
  /**
@@ -5867,5 +5915,5 @@ declare class WorkspaceSettingsManager {
5867
5915
  }
5868
5916
  declare const workspaceSettingsManager: WorkspaceSettingsManager;
5869
5917
 
5870
- export { ApiVersion, AuthApi, AuthStatus, BBAction, BBScreen, BBStatus, BB_PARAM, BaseApi, BetaForm, BillingIntervals, CURRENCY_DISPLAY, CURRENCY_FLAG, ConnectedAgents, ConnectedAgentsApi, CreditActionsProvider, CreditBalance, CreditBalanceContextProvider, CreditBucketSource, CreditBucketStatus, CreditStorePage, CreditTransactionType, DEFAULT_ROLE_PERMISSIONS, DunningState, EmptyState, EventEmitter, FullScreenLoader, InvoiceStatuses, LoadingState, PLAN_CURRENCY_CODES, PLAN_CURRENCY_OPTIONS, PUSH_SERVICE_WORKER_SCRIPT, Permission, PricingPage, PushApi, PushNotificationProvider, QuotaUsageContextProvider, SDKEvent, SETTINGS_SCREENS, SUPPORTED_LOCALES, SaaSOSProvider, SectionHeader, SettingsApi, SettingsScreen, SidebarNavItem, SidebarNavSection, StatusBanner, SubscriptionContextProvider, SubscriptionItemType, SubscriptionStatus, UserApi, WhenAuthenticated, WhenCreditsAvailable, WhenCreditsExhausted, WhenCreditsLow, WhenNoSubscription, WhenNotTrialing, WhenPermission, WhenQuotaAvailable, WhenQuotaExhausted, WhenQuotaOverage, WhenQuotaThreshold, WhenRoles, WhenSubscription, WhenSubscriptionToPlans, WhenTrialEnding, WhenTrialing, WhenUnauthenticated, WhenUserFeatureDisabled, WhenUserFeatureEnabled, WhenWorkspaceFeatureDisabled, WhenWorkspaceFeatureEnabled, WhenWorkspaceRoles, WorkspaceApi, WorkspaceSwitcher, calculateBillableSeats, calculateSeatOverageCents, calculateTotalSubscriptionCents, cleanBBParams, clearAuthIntent, consumeAuthIntent, createBBUrl, createCheckoutRedirectUrls, createCreditPurchaseRedirectUrls, eventEmitter, formatCents, formatOverageRate, formatOverageRateWithLabel, formatQuotaIncludedOverage, formatQuotaWithPrice, getAvailableCurrenciesFromPlans, getBasePriceCents, getBillingIntervalAndCurrencyFromPriceId, getCurrencyFlag, getCurrencySymbol, getDisplayCurrency, getPerSeatPriceCents, getPricingVariant, getQuotaDisplayValue, getQuotaDisplayWithVariant, getQuotaOverageCents, getQuotaUnitLabelFromName, getSeatPricing, getStripePriceIdForInterval, hasPermission, invalidateCreditBalance, invalidateQuotaUsage, invalidateSubscription, mergeUIConfig, readBBParams, resolveMaxUsers, resolvePermissions, safeRedirect, saveAuthIntent, useAllQuotaUsage, useBillingPortal, useCancelSubscription, useConnectedAgents, useConnectedAgentsApi, useConsumeCredits, useCreateCheckoutSession, useCreditBalance, useCreditBalanceContext, useCreditPackages, useCreditTransactions, useExpiringCredits, useFullScreenLoader, useInvoice, useInvoices, usePermissions, usePlanGroup, usePlanGroupVersions, usePublicCreditPackages, usePublicPlanGroupVersion, usePublicPlans, usePurchaseCredits, usePushNotifications, useQuotaUsageContext, useQuotaUsageStatus, useRecordUsage, useResumeSubscription, useSaaSAuth, useSaaSOs, useSaaSSettings, useSaaSWorkspaces, useSeatStatus, useSubscription, useSubscriptionContext, useSubscriptionManagement, useTranslation, useTrialStatus, useUIConfig, useUIVisibility, useUpdateSubscription, useUsageLogs, useUserAttributes, useUserFeatures, validateInvite, validateRedirectUrl, workspaceSettingsManager };
5871
- export type { BBActionType, BBScreenType, BBStatusType, BetaFormData, BetaFormResponse, BillingInterval, CheckoutResult, ConnectedAgentsProps, CreditActionsDetails, CreditBalanceContextValue, CreditBalanceDetails, CreditBucketSourceType, CreditBucketStatusType, CreditStorePageDetails, CreditTransactionTypeValue, 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, IEventCallbacks, IExpiringCreditsResponse, IInvoice, IInvoiceListResponse, IInvoiceResponse, 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, ISettings, IStripePricesByInterval, ISubscription, ISubscriptionItem, ISubscriptionResponse, ISubscriptionUpdateRequest, ISubscriptionUpdateResponse, IUsageLogEntry, IUsageLogsQuery, IUsageLogsResponse, IUser, IWorkspace, InviteBlockReason, InviteValidation, InvoiceStatus, InvoiceStatusType, LoadingProps, LoadingStateProps, MaxUsersConfig, NotificationData, NotificationEvent, NotificationResult, OnWorkspaceChangeParams, PartialSDKMessages, PermissionContext, PermissionKey, PlanVersionWithPricingVariants, PricingPageDetails, PricingPageProps, QuotaDisplayValue, QuotaDisplayWithOverage, QuotaUsageContextValue, RolePermissionMap, SDKLocale, SDKMessages, SDKUIConfig, SaaSOSProviderProps, SeatStatus, SectionHeaderProps, SettingsManagerState, SidebarNavItemProps, SidebarNavSectionProps, StatusBannerProps, StatusBannerVariant, SubscriptionContextValue, SubscriptionItemTypeValue, SubscriptionStatusType, TranslationKey, TrialStatus, UseConnectedAgents, UserCreatedEventData, UserUpdatedEventData, WorkspaceChangedEventData, WorkspaceCreatedEventData, WorkspaceDeletedEventData, WorkspaceSettingsSection, WorkspaceUpdatedEventData, WorkspaceUserAddedEventData, WorkspaceUserRemovedEventData, WorkspaceUserRoleChangedEventData };
5918
+ export { ApiVersion, AuthApi, AuthStatus, BBAction, BBScreen, BBStatus, BB_PARAM, BaseApi, BetaForm, BillingIntervals, CURRENCY_DISPLAY, CURRENCY_FLAG, ConnectedAgents, ConnectedAgentsApi, CreditActionsProvider, CreditBalance, CreditBalanceContextProvider, CreditBucketSource, CreditBucketStatus, CreditStorePage, CreditTransactionType, DEFAULT_ROLE_PERMISSIONS, DunningState, EmptyState, EventEmitter, FullScreenLoader, InvoiceStatuses, LoadingState, PLAN_CURRENCY_CODES, PLAN_CURRENCY_OPTIONS, PUSH_SERVICE_WORKER_SCRIPT, Permission, PricingPage, PushApi, PushNotificationProvider, QuotaUsageContextProvider, SDKEvent, SETTINGS_SCREENS, SUPPORTED_LOCALES, SaaSOSProvider, SectionHeader, SettingsApi, SettingsScreen, SidebarNavItem, SidebarNavSection, StatusBanner, SubscriptionContextProvider, SubscriptionItemType, SubscriptionStatus, UserApi, WhenAuthenticated, WhenCreditsAvailable, WhenCreditsExhausted, WhenCreditsLow, WhenNoSubscription, WhenNotTrialing, WhenPermission, WhenQuotaAvailable, WhenQuotaExhausted, WhenQuotaOverage, WhenQuotaThreshold, WhenRoles, WhenSubscription, WhenSubscriptionToPlans, WhenTrialEnding, WhenTrialing, WhenUnauthenticated, WhenUserFeatureDisabled, WhenUserFeatureEnabled, WhenWorkspaceFeatureDisabled, WhenWorkspaceFeatureEnabled, WhenWorkspaceRoles, WorkspaceApi, WorkspaceSwitcher, calculateBillableSeats, calculateSeatOverageCents, calculateTotalSubscriptionCents, cleanBBParams, clearAuthIntent, consumeAuthIntent, createBBUrl, createCheckoutRedirectUrls, createCreditPurchaseRedirectUrls, eventEmitter, formatCents, formatOverageRate, formatOverageRateWithLabel, formatQuotaIncludedOverage, formatQuotaWithPrice, getAvailableCurrenciesFromPlans, getBasePriceCents, getBillingIntervalAndCurrencyFromPriceId, getCurrencyFlag, getCurrencySymbol, getDisplayCurrency, getPerSeatPriceCents, getPricingVariant, getQuotaDisplayValue, getQuotaDisplayWithVariant, getQuotaOverageCents, getQuotaUnitLabelFromName, getSeatPricing, getStripePriceIdForInterval, hasPermission, invalidateCreditBalance, invalidateQuotaUsage, invalidateSubscription, isZeroDecimalCurrency, mergeUIConfig, minorAmountToDisplay, readBBParams, resolveMaxUsers, resolvePermissions, safeRedirect, saveAuthIntent, useAllQuotaUsage, useBillingPortal, useCancelSubscription, useConnectedAgents, useConnectedAgentsApi, useConsumeCredits, useCreateCheckoutSession, useCreditBalance, useCreditBalanceContext, useCreditPackages, useCreditTransactions, useExpiringCredits, useFullScreenLoader, useInvoice, useInvoices, usePermissions, usePlanGroup, usePlanGroupVersions, usePublicCreditPackages, usePublicPlanGroupVersion, usePublicPlans, usePurchaseCredits, usePushNotifications, useQuotaUsageContext, useQuotaUsageStatus, useRecordUsage, useResumeSubscription, useSaaSAuth, useSaaSOs, useSaaSSettings, useSaaSWorkspaces, useSeatStatus, useSubscription, useSubscriptionContext, useSubscriptionManagement, useTranslation, useTrialStatus, useUIConfig, useUIVisibility, useUpdateSubscription, useUsageLogs, useUserAttributes, useUserFeatures, validateInvite, validateRedirectUrl, workspaceSettingsManager };
5919
+ export type { BBActionType, BBScreenType, BBStatusType, BetaFormData, BetaFormResponse, BillingInterval, CheckoutResult, ConnectedAgentsProps, CreditActionsDetails, CreditBalanceContextValue, CreditBalanceDetails, CreditBucketSourceType, CreditBucketStatusType, CreditStorePageDetails, CreditTransactionTypeValue, 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, IEventCallbacks, IExpiringCreditsResponse, IInvoice, IInvoiceListResponse, IInvoiceResponse, 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, ISettings, IStripePricesByInterval, ISubscription, ISubscriptionItem, ISubscriptionResponse, ISubscriptionUpdateRequest, ISubscriptionUpdateResponse, IUsageLogEntry, IUsageLogsQuery, IUsageLogsResponse, IUser, IWorkspace, InviteBlockReason, InviteValidation, InvoiceStatus, InvoiceStatusType, LoadingProps, LoadingStateProps, MaxUsersConfig, NotificationData, NotificationEvent, NotificationResult, OnWorkspaceChangeParams, PartialSDKMessages, PermissionContext, PermissionKey, PlanVersionWithPricingVariants, PricingPageDetails, PricingPageProps, QuotaDisplayValue, QuotaDisplayWithOverage, QuotaUsageContextValue, RedirectValidationOptions, RolePermissionMap, SDKLocale, SDKMessages, SDKUIConfig, SaaSOSProviderProps, SeatStatus, SectionHeaderProps, SettingsManagerState, SidebarNavItemProps, SidebarNavSectionProps, StatusBannerProps, StatusBannerVariant, SubscriptionContextValue, SubscriptionItemTypeValue, SubscriptionStatusType, TranslationKey, TrialStatus, UseConnectedAgents, UserCreatedEventData, UserUpdatedEventData, WorkspaceChangedEventData, WorkspaceCreatedEventData, WorkspaceDeletedEventData, WorkspaceSettingsSection, WorkspaceUpdatedEventData, WorkspaceUserAddedEventData, WorkspaceUserRemovedEventData, WorkspaceUserRoleChangedEventData };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{az as ApiVersion,aA as AuthApi,aB as AuthStatus,m as BBAction,aC as BBScreen,n as BBStatus,aD as BB_PARAM,aE as BaseApi,aF as BetaForm,ab as BillingIntervals,aG as CURRENCY_DISPLAY,aH as CURRENCY_FLAG,C as ConnectedAgents,aI as ConnectedAgentsApi,aJ as CreditActionsProvider,aK as CreditBalance,aL as CreditBalanceContextProvider,aM as CreditBucketSource,aN as CreditBucketStatus,aO as CreditStorePage,t as CreditTransactionType,aP as DEFAULT_ROLE_PERMISSIONS,ac as DunningState,E as EmptyState,aQ as EventEmitter,aR as FullScreenLoader,$ as InvoiceStatuses,L as LoadingState,aS as PLAN_CURRENCY_CODES,aT as PLAN_CURRENCY_OPTIONS,aU as PUSH_SERVICE_WORKER_SCRIPT,P as Permission,aV as PricingPage,aW as PushApi,aX as PushNotificationProvider,aY as QuotaUsageContextProvider,aZ as SDKEvent,ax as SETTINGS_SCREENS,a_ as SUPPORTED_LOCALES,a$ as SaaSOSProvider,q as SectionHeader,b0 as SettingsApi,aq as SettingsScreen,as as SidebarNavItem,ar as SidebarNavSection,p as StatusBanner,b1 as SubscriptionContextProvider,ae as SubscriptionItemType,a7 as SubscriptionStatus,b2 as UserApi,b3 as WhenAuthenticated,b4 as WhenCreditsAvailable,b5 as WhenCreditsExhausted,b6 as WhenCreditsLow,b7 as WhenNoSubscription,b8 as WhenNotTrialing,b9 as WhenPermission,ba as WhenQuotaAvailable,bb as WhenQuotaExhausted,bc as WhenQuotaOverage,bd as WhenQuotaThreshold,be as WhenRoles,bf as WhenSubscription,bg as WhenSubscriptionToPlans,bh as WhenTrialEnding,bi as WhenTrialing,bj as WhenUnauthenticated,bk as WhenUserFeatureDisabled,bl as WhenUserFeatureEnabled,bm as WhenWorkspaceFeatureDisabled,bn as WhenWorkspaceFeatureEnabled,bo as WhenWorkspaceRoles,bp as WorkspaceApi,bq as WorkspaceSwitcher,br as calculateBillableSeats,bs as calculateSeatOverageCents,bt as calculateTotalSubscriptionCents,bu as cleanBBParams,bv as clearAuthIntent,bw as consumeAuthIntent,bx as createBBUrl,ai as createCheckoutRedirectUrls,r as createCreditPurchaseRedirectUrls,by as eventEmitter,bz as formatCents,bA as formatOverageRate,bB as formatOverageRateWithLabel,bC as formatQuotaIncludedOverage,bD as formatQuotaWithPrice,ay as getAvailableCurrenciesFromPlans,a8 as getBasePriceCents,a6 as getBillingIntervalAndCurrencyFromPriceId,O as getCurrencyFlag,g as getCurrencySymbol,bE as getDisplayCurrency,aa as getPerSeatPriceCents,bF as getPricingVariant,ag as getQuotaDisplayValue,af as getQuotaDisplayWithVariant,am as getQuotaOverageCents,bG as getQuotaUnitLabelFromName,a9 as getSeatPricing,ah as getStripePriceIdForInterval,bH as hasPermission,o as invalidateCreditBalance,bI as invalidateQuotaUsage,aj as invalidateSubscription,au as mergeUIConfig,bJ as readBBParams,bK as resolveMaxUsers,bL as resolvePermissions,s as safeRedirect,bM as saveAuthIntent,bN as useAllQuotaUsage,a4 as useBillingPortal,a2 as useCancelSubscription,bO as useConnectedAgents,bP as useConnectedAgentsApi,bQ as useConsumeCredits,a1 as useCreateCheckoutSession,bR as useCreditBalance,h as useCreditBalanceContext,i as useCreditPackages,k as useCreditTransactions,j as useExpiringCredits,bS as useFullScreenLoader,bT as useInvoice,_ as useInvoices,e as usePermissions,bU as usePlanGroup,a5 as usePlanGroupVersions,bV as usePublicCreditPackages,bW as usePublicPlanGroupVersion,bX as usePublicPlans,l as usePurchaseCredits,X as usePushNotifications,ak as useQuotaUsageContext,bY as useQuotaUsageStatus,bZ as useRecordUsage,a3 as useResumeSubscription,an as useSaaSAuth,b_ as useSaaSOs,z as useSaaSSettings,y as useSaaSWorkspaces,ao as useSeatStatus,b$ as useSubscription,al as useSubscriptionContext,a0 as useSubscriptionManagement,u as useTranslation,c0 as useTrialStatus,at as useUIConfig,f as useUIVisibility,c1 as useUpdateSubscription,c2 as useUsageLogs,c3 as useUserAttributes,c4 as useUserFeatures,c5 as validateInvite,c6 as validateRedirectUrl,w as workspaceSettingsManager}from"./chunks/react-OL1uSkpr.mjs";import"react/jsx-runtime";import"react";import"clsx";import"tailwind-merge";import"intl-messageformat";import"@hookform/resolvers/zod";import"react-hook-form";import"@radix-ui/react-slot";import"class-variance-authority";import"lucide-react";import"@radix-ui/react-label";import"zod";import"@radix-ui/react-avatar";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"@radix-ui/react-separator";
2
+ export{az as ApiVersion,aA as AuthApi,aB as AuthStatus,m as BBAction,aC as BBScreen,n as BBStatus,aD as BB_PARAM,aE as BaseApi,aF as BetaForm,ab as BillingIntervals,aG as CURRENCY_DISPLAY,aH as CURRENCY_FLAG,C as ConnectedAgents,aI as ConnectedAgentsApi,aJ as CreditActionsProvider,aK as CreditBalance,aL as CreditBalanceContextProvider,aM as CreditBucketSource,aN as CreditBucketStatus,aO as CreditStorePage,t as CreditTransactionType,aP as DEFAULT_ROLE_PERMISSIONS,ac as DunningState,E as EmptyState,aQ as EventEmitter,aR as FullScreenLoader,$ as InvoiceStatuses,L as LoadingState,aS as PLAN_CURRENCY_CODES,aT as PLAN_CURRENCY_OPTIONS,aU as PUSH_SERVICE_WORKER_SCRIPT,P as Permission,aV as PricingPage,aW as PushApi,aX as PushNotificationProvider,aY as QuotaUsageContextProvider,aZ as SDKEvent,ax as SETTINGS_SCREENS,a_ as SUPPORTED_LOCALES,a$ as SaaSOSProvider,q as SectionHeader,b0 as SettingsApi,aq as SettingsScreen,as as SidebarNavItem,ar as SidebarNavSection,p as StatusBanner,b1 as SubscriptionContextProvider,ae as SubscriptionItemType,a7 as SubscriptionStatus,b2 as UserApi,b3 as WhenAuthenticated,b4 as WhenCreditsAvailable,b5 as WhenCreditsExhausted,b6 as WhenCreditsLow,b7 as WhenNoSubscription,b8 as WhenNotTrialing,b9 as WhenPermission,ba as WhenQuotaAvailable,bb as WhenQuotaExhausted,bc as WhenQuotaOverage,bd as WhenQuotaThreshold,be as WhenRoles,bf as WhenSubscription,bg as WhenSubscriptionToPlans,bh as WhenTrialEnding,bi as WhenTrialing,bj as WhenUnauthenticated,bk as WhenUserFeatureDisabled,bl as WhenUserFeatureEnabled,bm as WhenWorkspaceFeatureDisabled,bn as WhenWorkspaceFeatureEnabled,bo as WhenWorkspaceRoles,bp as WorkspaceApi,bq as WorkspaceSwitcher,br as calculateBillableSeats,bs as calculateSeatOverageCents,bt as calculateTotalSubscriptionCents,bu as cleanBBParams,bv as clearAuthIntent,bw as consumeAuthIntent,bx as createBBUrl,ai as createCheckoutRedirectUrls,r as createCreditPurchaseRedirectUrls,by as eventEmitter,bz as formatCents,bA as formatOverageRate,bB as formatOverageRateWithLabel,bC as formatQuotaIncludedOverage,bD as formatQuotaWithPrice,ay as getAvailableCurrenciesFromPlans,a8 as getBasePriceCents,a6 as getBillingIntervalAndCurrencyFromPriceId,O as getCurrencyFlag,g as getCurrencySymbol,bE as getDisplayCurrency,aa as getPerSeatPriceCents,bF as getPricingVariant,ag as getQuotaDisplayValue,af as getQuotaDisplayWithVariant,am as getQuotaOverageCents,bG as getQuotaUnitLabelFromName,a9 as getSeatPricing,ah as getStripePriceIdForInterval,bH as hasPermission,o as invalidateCreditBalance,bI as invalidateQuotaUsage,aj as invalidateSubscription,bJ as isZeroDecimalCurrency,au as mergeUIConfig,bK as minorAmountToDisplay,bL as readBBParams,bM as resolveMaxUsers,bN as resolvePermissions,s as safeRedirect,bO as saveAuthIntent,bP as useAllQuotaUsage,a4 as useBillingPortal,a2 as useCancelSubscription,bQ as useConnectedAgents,bR as useConnectedAgentsApi,bS as useConsumeCredits,a1 as useCreateCheckoutSession,bT as useCreditBalance,h as useCreditBalanceContext,i as useCreditPackages,k as useCreditTransactions,j as useExpiringCredits,bU as useFullScreenLoader,bV as useInvoice,_ as useInvoices,e as usePermissions,bW as usePlanGroup,a5 as usePlanGroupVersions,bX as usePublicCreditPackages,bY as usePublicPlanGroupVersion,bZ as usePublicPlans,l as usePurchaseCredits,X as usePushNotifications,ak as useQuotaUsageContext,b_ as useQuotaUsageStatus,b$ as useRecordUsage,a3 as useResumeSubscription,an as useSaaSAuth,c0 as useSaaSOs,z as useSaaSSettings,y as useSaaSWorkspaces,ao as useSeatStatus,c1 as useSubscription,al as useSubscriptionContext,a0 as useSubscriptionManagement,u as useTranslation,c2 as useTrialStatus,at as useUIConfig,f as useUIVisibility,c3 as useUpdateSubscription,c4 as useUsageLogs,c5 as useUserAttributes,c6 as useUserFeatures,c7 as validateInvite,c8 as validateRedirectUrl,w as workspaceSettingsManager}from"./chunks/react-CC6T7Zky.mjs";import"react/jsx-runtime";import"react";import"clsx";import"tailwind-merge";import"intl-messageformat";import"@hookform/resolvers/zod";import"react-hook-form";import"@radix-ui/react-slot";import"class-variance-authority";import"lucide-react";import"@radix-ui/react-label";import"zod";import"@radix-ui/react-avatar";import"@radix-ui/react-dialog";import"@radix-ui/react-icons";import"@radix-ui/react-radio-group";import"@radix-ui/react-scroll-area";import"@radix-ui/react-separator";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buildbase/sdk",
3
- "version": "0.0.53",
3
+ "version": "0.0.54",
4
4
  "type": "module",
5
5
  "description": "A SDK for Buildbase",
6
6
  "main": "dist/index.cjs",
@@ -120,6 +120,7 @@
120
120
  "@rollup/plugin-node-resolve": "^16.0.1",
121
121
  "@rollup/plugin-terser": "^0.4.0",
122
122
  "@rollup/plugin-typescript": "^12.1.4",
123
+ "@types/node": "^26.1.1",
123
124
  "@types/react": "^19.0.0",
124
125
  "@types/react-dom": "^19.0.0",
125
126
  "autoprefixer": "^10.4.16",
@@ -138,7 +139,8 @@
138
139
  "rollup-plugin-visualizer": "^6.0.5",
139
140
  "tailwindcss": "^3.4.17",
140
141
  "tslib": "^2.8.1",
141
- "typescript": "^5.2.0"
142
+ "typescript": "^5.2.0",
143
+ "vitest": "^2.1.9"
142
144
  },
143
145
  "keywords": [
144
146
  "saas",