@streamoid/settings 0.7.10 → 0.8.0

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.
package/dist/index.d.mts CHANGED
@@ -53,7 +53,11 @@ type SettingsTab = "profile"
53
53
  * Workspaces. Kept so old links and host code still resolve — it renders
54
54
  * the Workspaces view.
55
55
  */
56
- | "organizationDomains" | "referral" | "billing" | "apikey";
56
+ | "organizationDomains" | "referral" | "billing" | "apikey"
57
+ /** Account › Connected apps — apps (ChatGPT, Codex) acting for you. */
58
+ | "connectedApps"
59
+ /** Organization › Integrations — org admins turn apps on and revoke them. */
60
+ | "organizationIntegrations";
57
61
  /** Which entity a tab acts on. Drives the nav grouping and the breadcrumb. */
58
62
  type SettingsScope = "account" | "workspace" | "organization" | "global";
59
63
  declare const TAB_SCOPE: Record<SettingsTab, SettingsScope>;
@@ -971,6 +975,53 @@ interface SettingsImageUploadAdapter {
971
975
  /** Upload an image file and return its public URL. */
972
976
  upload: (file: File) => Promise<string>;
973
977
  }
978
+ /**
979
+ * One app the user allowed to act for them — today ChatGPT or Codex through
980
+ * the CXO plugin. A connection is always bound to ONE workspace, chosen on the
981
+ * consent screen, and stays listed after it is revoked.
982
+ */
983
+ interface ConnectedApp {
984
+ id: string;
985
+ /** The OAuth client's display name, e.g. "ChatGPT" or "Codex". */
986
+ clientName: string;
987
+ /** Null when the workspace was deleted or the caller can't see it. */
988
+ workspace?: {
989
+ id: string;
990
+ name?: string;
991
+ } | null;
992
+ /** Who connected it. Only the organization listing fills this in. */
993
+ user?: {
994
+ id: string;
995
+ name?: string;
996
+ email?: string;
997
+ } | null;
998
+ status: "active" | "revoked";
999
+ createdAt?: string;
1000
+ lastUsedAt?: string | null;
1001
+ }
1002
+ /**
1003
+ * Personal connections plus the organization admin's controls. The personal
1004
+ * half drives Account › Connected apps; the organization half (all four
1005
+ * `organization*` methods) drives Organization › Integrations, which is shown
1006
+ * only to organization admins and only when every one of them is provided.
1007
+ *
1008
+ * Revoking stops new requests from that app within about a minute; work it
1009
+ * already queued still finishes. The copy on both pages says so.
1010
+ */
1011
+ interface SettingsIntegrationsAdapter {
1012
+ listConnections: (signal?: AbortSignal) => Promise<ConnectedApp[]>;
1013
+ revokeConnection: (connectionId: string) => Promise<void>;
1014
+ /** Every connection made into a workspace of this organization. */
1015
+ listOrganizationConnections?: (organizationId: string, signal?: AbortSignal) => Promise<ConnectedApp[]>;
1016
+ revokeOrganizationConnection?: (organizationId: string, connectionId: string) => Promise<void>;
1017
+ /** Whether members of this organization may connect ChatGPT and Codex. */
1018
+ getOrganizationAccess?: (organizationId: string, signal?: AbortSignal) => Promise<{
1019
+ enabled: boolean;
1020
+ }>;
1021
+ setOrganizationAccess?: (organizationId: string, enabled: boolean) => Promise<{
1022
+ enabled: boolean;
1023
+ }>;
1024
+ }
974
1025
  interface SettingsAdapters {
975
1026
  auth: SettingsAuthAdapter;
976
1027
  workspace: SettingsWorkspaceAdapter;
@@ -979,6 +1030,8 @@ interface SettingsAdapters {
979
1030
  navigation: SettingsNavigationAdapter;
980
1031
  toast: SettingsToastAdapter;
981
1032
  imageUpload: SettingsImageUploadAdapter;
1033
+ /** Optional. Without it the Connected apps and Integrations tabs are hidden. */
1034
+ integrations?: SettingsIntegrationsAdapter;
982
1035
  }
983
1036
 
984
1037
  /**
@@ -1231,6 +1284,37 @@ declare function TokensContent({ embedded, showRevokedOverride, onShowRevokedCha
1231
1284
  onCreateOpenChange?: (v: boolean) => void;
1232
1285
  }): react.JSX.Element;
1233
1286
 
1287
+ /**
1288
+ * Account › Connected apps — the apps (ChatGPT, Codex) the viewer allowed to
1289
+ * use CXO for them, one card per connection, each with Revoke.
1290
+ *
1291
+ * Personal on purpose: a connection belongs to the person who approved it,
1292
+ * whatever organization its workspace sits in, so it lives under Account. The
1293
+ * organization's view of the same records is Organization › Integrations.
1294
+ */
1295
+ declare function ConnectedAppsContent(): react.JSX.Element;
1296
+
1297
+ /**
1298
+ * Organization › Integrations — the org admin's half of connected apps.
1299
+ *
1300
+ * Two jobs, top to bottom: the organization-wide switch that decides whether
1301
+ * members may connect ChatGPT and Codex at all, then every connection made into
1302
+ * one of the organization's workspaces, with Revoke on each. A member still
1303
+ * picks the workspace when they connect; the switch only decides whether they
1304
+ * can.
1305
+ *
1306
+ * Admin-only, matching the backend — both the switch and the listing answer
1307
+ * 403 to anyone else, so the shell never mounts this for a non-admin.
1308
+ */
1309
+ declare function OrganizationIntegrationsContent(): react.JSX.Element;
1310
+
1311
+ /**
1312
+ * "Last used" reads as recency, not as a date: "2h ago" says whether the app
1313
+ * is live; "Oct 5, 2026" makes you do arithmetic. Past a week the date is
1314
+ * clearer than a count of days.
1315
+ */
1316
+ declare function lastUsedLabel(iso?: string | null, now?: number): string;
1317
+
1234
1318
  /**
1235
1319
  * The account-level language preference, shared by every Streamoid dashboard.
1236
1320
  *
@@ -1582,6 +1666,13 @@ declare function minimumCreditLimit(used: number): number;
1582
1666
  declare function formatCredits(value: number): string;
1583
1667
  /** The default limit has no usage floor: lowering it under usage is allowed. */
1584
1668
  declare function validateDefaultCreditLimitInput(raw: string): CreditLimitValidation;
1669
+ /**
1670
+ * What the credits field keeps of what was typed or pasted: digits and a
1671
+ * decimal point. Grouping commas and other characters go, as before, but the
1672
+ * point stays, so "400.5" is refused as not a whole number rather than read as
1673
+ * 4005.
1674
+ */
1675
+ declare function cleanCreditLimitInput(value: string): string;
1585
1676
  /** Digits-only input, an integer, and not below what was already used. */
1586
1677
  declare function validateCreditLimitInput(raw: string, used: number): CreditLimitValidation;
1587
1678
  /** Why a limit was refused for being under `used`, naming the least it can be. */
@@ -1666,4 +1757,4 @@ declare function SettingsAdaptersProvider({ adapters, children, }: {
1666
1757
  */
1667
1758
  declare function useSettingsAdapters(): SettingsAdapters;
1668
1759
 
1669
- export { APP_KEYS, type ApiToken, type AppKey, type AvailableCreditsResponse, BillingContent, type BillingEventPayload, type BillingProduct, type BillingSubscription, BuyCreditsModal, type BuyCreditsPayload, type BuyCreditsResponse, ConfirmDeleteModal, ConfirmLeaveModal, type CreatedToken, type CreditCycleUnit, type CreditLimitValidation, type CustomCreditInfo, type CustomCreditResponse, DEFAULT_PERMISSIONS, DEFAULT_USER_LANGUAGE, ExportDateModal, InviteUpdateModal, type InvoicePdfResponse, type MemberCreditLimit, MemberCreditLimitModal, type MemberCreditLimitRow, type MemberCreditLimitSource, type MemberCreditLimitsResponse, MemberListFrame, type MemberListFrameProps, type MemberListTab, MemberListToolbar, type MemberListToolbarProps, type MemberPermissionsPayload, OrganizationContent, type OrganizationData, type OrganizationInvite, type OrganizationJoinRequest, type OrganizationJoinableWorkspace, type OrganizationMember, OrganizationMemberModal, type OrganizationMemberModalProps, OrganizationModal, type OrganizationView, type OrganizationWorkspaceItem, PerUserLimitsView, type Price, type PriceMetadata, type ProductsResponse, ProfileAvatar, ProfileTab, ReferralTab, SCOPE_LABELS, ScopeHeader, type ScopeHeaderProps, type ServiceItem, type SettingsAdapters, SettingsAdaptersProvider, type SettingsApiAdapter, type SettingsAuthAdapter, type SettingsAuthUser, SettingsContent, type SettingsContentProps, type SettingsImageUploadAdapter, type SettingsNavigationAdapter, type SettingsOrganizationAdapter, type SettingsOrganizationCurrent, type SettingsOrganizationListItem, type SettingsScope, type SettingsTab, type SettingsToastAdapter, SettingsTooltip, type SettingsTooltipPlacement, type SettingsTooltipProps, type SettingsWorkspaceAdapter, type SettingsWorkspaceCurrent, type SettingsWorkspaceListItem, SiconKey, type StoreItem, type SubscriptionPlan, type SubscriptionResponse, TAB_DESCRIPTIONS, TAB_LABELS, TAB_SCOPE, TAB_TO_URL, type TeamMember, TeamsContent, type TokenExpiry, TokensContent, URL_TO_TAB, USER_LANGUAGES, type UpdateSubscriptionPayload, type UpdateSubscriptionResponse, type UsageHistoryItem, type UsageHistoryResponse, type UserLanguage, type UserPermissions, WORKSPACE_LIST_PAGE_SIZE, type WorkspaceData, WorkspaceGeneralTab, type WorkspaceGeneralTabProps, type WorkspaceInvite, type WorkspaceListOrganization, WorkspaceListTab, type WorkspaceMember, WorkspaceModal, type WorkspaceOrganization, type WorkspaceOrganizationRequest, WorkspacePicker, type WorkspacePickerItem, type WorkspacePickerProps, WorkspaceTab, type WorkspaceUsageResponse, belowUsageReason, countLabel, creditCycleUnit, describeDefaultLimit, describeMemberLimit, formatCreditLimit, formatCredits, groupWorkspaceList, isLimitBelowUsage, joinMembersWithLimits, limitBelowUsageUsed, limitSourceLabel, loadWorkspaceOrganization, minimumCreditLimit, resolveSettingsTabFromPath, roundCredits, useSettingsAdapters, useWorkspaceOrganization, userLanguageLabel, validateCreditLimitInput, validateDefaultCreditLimitInput };
1760
+ export { APP_KEYS, type ApiToken, type AppKey, type AvailableCreditsResponse, BillingContent, type BillingEventPayload, type BillingProduct, type BillingSubscription, BuyCreditsModal, type BuyCreditsPayload, type BuyCreditsResponse, ConfirmDeleteModal, ConfirmLeaveModal, type ConnectedApp, ConnectedAppsContent, type CreatedToken, type CreditCycleUnit, type CreditLimitValidation, type CustomCreditInfo, type CustomCreditResponse, DEFAULT_PERMISSIONS, DEFAULT_USER_LANGUAGE, ExportDateModal, InviteUpdateModal, type InvoicePdfResponse, type MemberCreditLimit, MemberCreditLimitModal, type MemberCreditLimitRow, type MemberCreditLimitSource, type MemberCreditLimitsResponse, MemberListFrame, type MemberListFrameProps, type MemberListTab, MemberListToolbar, type MemberListToolbarProps, type MemberPermissionsPayload, OrganizationContent, type OrganizationData, OrganizationIntegrationsContent, type OrganizationInvite, type OrganizationJoinRequest, type OrganizationJoinableWorkspace, type OrganizationMember, OrganizationMemberModal, type OrganizationMemberModalProps, OrganizationModal, type OrganizationView, type OrganizationWorkspaceItem, PerUserLimitsView, type Price, type PriceMetadata, type ProductsResponse, ProfileAvatar, ProfileTab, ReferralTab, SCOPE_LABELS, ScopeHeader, type ScopeHeaderProps, type ServiceItem, type SettingsAdapters, SettingsAdaptersProvider, type SettingsApiAdapter, type SettingsAuthAdapter, type SettingsAuthUser, SettingsContent, type SettingsContentProps, type SettingsImageUploadAdapter, type SettingsIntegrationsAdapter, type SettingsNavigationAdapter, type SettingsOrganizationAdapter, type SettingsOrganizationCurrent, type SettingsOrganizationListItem, type SettingsScope, type SettingsTab, type SettingsToastAdapter, SettingsTooltip, type SettingsTooltipPlacement, type SettingsTooltipProps, type SettingsWorkspaceAdapter, type SettingsWorkspaceCurrent, type SettingsWorkspaceListItem, SiconKey, type StoreItem, type SubscriptionPlan, type SubscriptionResponse, TAB_DESCRIPTIONS, TAB_LABELS, TAB_SCOPE, TAB_TO_URL, type TeamMember, TeamsContent, type TokenExpiry, TokensContent, URL_TO_TAB, USER_LANGUAGES, type UpdateSubscriptionPayload, type UpdateSubscriptionResponse, type UsageHistoryItem, type UsageHistoryResponse, type UserLanguage, type UserPermissions, WORKSPACE_LIST_PAGE_SIZE, type WorkspaceData, WorkspaceGeneralTab, type WorkspaceGeneralTabProps, type WorkspaceInvite, type WorkspaceListOrganization, WorkspaceListTab, type WorkspaceMember, WorkspaceModal, type WorkspaceOrganization, type WorkspaceOrganizationRequest, WorkspacePicker, type WorkspacePickerItem, type WorkspacePickerProps, WorkspaceTab, type WorkspaceUsageResponse, belowUsageReason, cleanCreditLimitInput, countLabel, creditCycleUnit, describeDefaultLimit, describeMemberLimit, formatCreditLimit, formatCredits, groupWorkspaceList, isLimitBelowUsage, joinMembersWithLimits, lastUsedLabel, limitBelowUsageUsed, limitSourceLabel, loadWorkspaceOrganization, minimumCreditLimit, resolveSettingsTabFromPath, roundCredits, useSettingsAdapters, useWorkspaceOrganization, userLanguageLabel, validateCreditLimitInput, validateDefaultCreditLimitInput };
package/dist/index.d.ts CHANGED
@@ -53,7 +53,11 @@ type SettingsTab = "profile"
53
53
  * Workspaces. Kept so old links and host code still resolve — it renders
54
54
  * the Workspaces view.
55
55
  */
56
- | "organizationDomains" | "referral" | "billing" | "apikey";
56
+ | "organizationDomains" | "referral" | "billing" | "apikey"
57
+ /** Account › Connected apps — apps (ChatGPT, Codex) acting for you. */
58
+ | "connectedApps"
59
+ /** Organization › Integrations — org admins turn apps on and revoke them. */
60
+ | "organizationIntegrations";
57
61
  /** Which entity a tab acts on. Drives the nav grouping and the breadcrumb. */
58
62
  type SettingsScope = "account" | "workspace" | "organization" | "global";
59
63
  declare const TAB_SCOPE: Record<SettingsTab, SettingsScope>;
@@ -971,6 +975,53 @@ interface SettingsImageUploadAdapter {
971
975
  /** Upload an image file and return its public URL. */
972
976
  upload: (file: File) => Promise<string>;
973
977
  }
978
+ /**
979
+ * One app the user allowed to act for them — today ChatGPT or Codex through
980
+ * the CXO plugin. A connection is always bound to ONE workspace, chosen on the
981
+ * consent screen, and stays listed after it is revoked.
982
+ */
983
+ interface ConnectedApp {
984
+ id: string;
985
+ /** The OAuth client's display name, e.g. "ChatGPT" or "Codex". */
986
+ clientName: string;
987
+ /** Null when the workspace was deleted or the caller can't see it. */
988
+ workspace?: {
989
+ id: string;
990
+ name?: string;
991
+ } | null;
992
+ /** Who connected it. Only the organization listing fills this in. */
993
+ user?: {
994
+ id: string;
995
+ name?: string;
996
+ email?: string;
997
+ } | null;
998
+ status: "active" | "revoked";
999
+ createdAt?: string;
1000
+ lastUsedAt?: string | null;
1001
+ }
1002
+ /**
1003
+ * Personal connections plus the organization admin's controls. The personal
1004
+ * half drives Account › Connected apps; the organization half (all four
1005
+ * `organization*` methods) drives Organization › Integrations, which is shown
1006
+ * only to organization admins and only when every one of them is provided.
1007
+ *
1008
+ * Revoking stops new requests from that app within about a minute; work it
1009
+ * already queued still finishes. The copy on both pages says so.
1010
+ */
1011
+ interface SettingsIntegrationsAdapter {
1012
+ listConnections: (signal?: AbortSignal) => Promise<ConnectedApp[]>;
1013
+ revokeConnection: (connectionId: string) => Promise<void>;
1014
+ /** Every connection made into a workspace of this organization. */
1015
+ listOrganizationConnections?: (organizationId: string, signal?: AbortSignal) => Promise<ConnectedApp[]>;
1016
+ revokeOrganizationConnection?: (organizationId: string, connectionId: string) => Promise<void>;
1017
+ /** Whether members of this organization may connect ChatGPT and Codex. */
1018
+ getOrganizationAccess?: (organizationId: string, signal?: AbortSignal) => Promise<{
1019
+ enabled: boolean;
1020
+ }>;
1021
+ setOrganizationAccess?: (organizationId: string, enabled: boolean) => Promise<{
1022
+ enabled: boolean;
1023
+ }>;
1024
+ }
974
1025
  interface SettingsAdapters {
975
1026
  auth: SettingsAuthAdapter;
976
1027
  workspace: SettingsWorkspaceAdapter;
@@ -979,6 +1030,8 @@ interface SettingsAdapters {
979
1030
  navigation: SettingsNavigationAdapter;
980
1031
  toast: SettingsToastAdapter;
981
1032
  imageUpload: SettingsImageUploadAdapter;
1033
+ /** Optional. Without it the Connected apps and Integrations tabs are hidden. */
1034
+ integrations?: SettingsIntegrationsAdapter;
982
1035
  }
983
1036
 
984
1037
  /**
@@ -1231,6 +1284,37 @@ declare function TokensContent({ embedded, showRevokedOverride, onShowRevokedCha
1231
1284
  onCreateOpenChange?: (v: boolean) => void;
1232
1285
  }): react.JSX.Element;
1233
1286
 
1287
+ /**
1288
+ * Account › Connected apps — the apps (ChatGPT, Codex) the viewer allowed to
1289
+ * use CXO for them, one card per connection, each with Revoke.
1290
+ *
1291
+ * Personal on purpose: a connection belongs to the person who approved it,
1292
+ * whatever organization its workspace sits in, so it lives under Account. The
1293
+ * organization's view of the same records is Organization › Integrations.
1294
+ */
1295
+ declare function ConnectedAppsContent(): react.JSX.Element;
1296
+
1297
+ /**
1298
+ * Organization › Integrations — the org admin's half of connected apps.
1299
+ *
1300
+ * Two jobs, top to bottom: the organization-wide switch that decides whether
1301
+ * members may connect ChatGPT and Codex at all, then every connection made into
1302
+ * one of the organization's workspaces, with Revoke on each. A member still
1303
+ * picks the workspace when they connect; the switch only decides whether they
1304
+ * can.
1305
+ *
1306
+ * Admin-only, matching the backend — both the switch and the listing answer
1307
+ * 403 to anyone else, so the shell never mounts this for a non-admin.
1308
+ */
1309
+ declare function OrganizationIntegrationsContent(): react.JSX.Element;
1310
+
1311
+ /**
1312
+ * "Last used" reads as recency, not as a date: "2h ago" says whether the app
1313
+ * is live; "Oct 5, 2026" makes you do arithmetic. Past a week the date is
1314
+ * clearer than a count of days.
1315
+ */
1316
+ declare function lastUsedLabel(iso?: string | null, now?: number): string;
1317
+
1234
1318
  /**
1235
1319
  * The account-level language preference, shared by every Streamoid dashboard.
1236
1320
  *
@@ -1582,6 +1666,13 @@ declare function minimumCreditLimit(used: number): number;
1582
1666
  declare function formatCredits(value: number): string;
1583
1667
  /** The default limit has no usage floor: lowering it under usage is allowed. */
1584
1668
  declare function validateDefaultCreditLimitInput(raw: string): CreditLimitValidation;
1669
+ /**
1670
+ * What the credits field keeps of what was typed or pasted: digits and a
1671
+ * decimal point. Grouping commas and other characters go, as before, but the
1672
+ * point stays, so "400.5" is refused as not a whole number rather than read as
1673
+ * 4005.
1674
+ */
1675
+ declare function cleanCreditLimitInput(value: string): string;
1585
1676
  /** Digits-only input, an integer, and not below what was already used. */
1586
1677
  declare function validateCreditLimitInput(raw: string, used: number): CreditLimitValidation;
1587
1678
  /** Why a limit was refused for being under `used`, naming the least it can be. */
@@ -1666,4 +1757,4 @@ declare function SettingsAdaptersProvider({ adapters, children, }: {
1666
1757
  */
1667
1758
  declare function useSettingsAdapters(): SettingsAdapters;
1668
1759
 
1669
- export { APP_KEYS, type ApiToken, type AppKey, type AvailableCreditsResponse, BillingContent, type BillingEventPayload, type BillingProduct, type BillingSubscription, BuyCreditsModal, type BuyCreditsPayload, type BuyCreditsResponse, ConfirmDeleteModal, ConfirmLeaveModal, type CreatedToken, type CreditCycleUnit, type CreditLimitValidation, type CustomCreditInfo, type CustomCreditResponse, DEFAULT_PERMISSIONS, DEFAULT_USER_LANGUAGE, ExportDateModal, InviteUpdateModal, type InvoicePdfResponse, type MemberCreditLimit, MemberCreditLimitModal, type MemberCreditLimitRow, type MemberCreditLimitSource, type MemberCreditLimitsResponse, MemberListFrame, type MemberListFrameProps, type MemberListTab, MemberListToolbar, type MemberListToolbarProps, type MemberPermissionsPayload, OrganizationContent, type OrganizationData, type OrganizationInvite, type OrganizationJoinRequest, type OrganizationJoinableWorkspace, type OrganizationMember, OrganizationMemberModal, type OrganizationMemberModalProps, OrganizationModal, type OrganizationView, type OrganizationWorkspaceItem, PerUserLimitsView, type Price, type PriceMetadata, type ProductsResponse, ProfileAvatar, ProfileTab, ReferralTab, SCOPE_LABELS, ScopeHeader, type ScopeHeaderProps, type ServiceItem, type SettingsAdapters, SettingsAdaptersProvider, type SettingsApiAdapter, type SettingsAuthAdapter, type SettingsAuthUser, SettingsContent, type SettingsContentProps, type SettingsImageUploadAdapter, type SettingsNavigationAdapter, type SettingsOrganizationAdapter, type SettingsOrganizationCurrent, type SettingsOrganizationListItem, type SettingsScope, type SettingsTab, type SettingsToastAdapter, SettingsTooltip, type SettingsTooltipPlacement, type SettingsTooltipProps, type SettingsWorkspaceAdapter, type SettingsWorkspaceCurrent, type SettingsWorkspaceListItem, SiconKey, type StoreItem, type SubscriptionPlan, type SubscriptionResponse, TAB_DESCRIPTIONS, TAB_LABELS, TAB_SCOPE, TAB_TO_URL, type TeamMember, TeamsContent, type TokenExpiry, TokensContent, URL_TO_TAB, USER_LANGUAGES, type UpdateSubscriptionPayload, type UpdateSubscriptionResponse, type UsageHistoryItem, type UsageHistoryResponse, type UserLanguage, type UserPermissions, WORKSPACE_LIST_PAGE_SIZE, type WorkspaceData, WorkspaceGeneralTab, type WorkspaceGeneralTabProps, type WorkspaceInvite, type WorkspaceListOrganization, WorkspaceListTab, type WorkspaceMember, WorkspaceModal, type WorkspaceOrganization, type WorkspaceOrganizationRequest, WorkspacePicker, type WorkspacePickerItem, type WorkspacePickerProps, WorkspaceTab, type WorkspaceUsageResponse, belowUsageReason, countLabel, creditCycleUnit, describeDefaultLimit, describeMemberLimit, formatCreditLimit, formatCredits, groupWorkspaceList, isLimitBelowUsage, joinMembersWithLimits, limitBelowUsageUsed, limitSourceLabel, loadWorkspaceOrganization, minimumCreditLimit, resolveSettingsTabFromPath, roundCredits, useSettingsAdapters, useWorkspaceOrganization, userLanguageLabel, validateCreditLimitInput, validateDefaultCreditLimitInput };
1760
+ export { APP_KEYS, type ApiToken, type AppKey, type AvailableCreditsResponse, BillingContent, type BillingEventPayload, type BillingProduct, type BillingSubscription, BuyCreditsModal, type BuyCreditsPayload, type BuyCreditsResponse, ConfirmDeleteModal, ConfirmLeaveModal, type ConnectedApp, ConnectedAppsContent, type CreatedToken, type CreditCycleUnit, type CreditLimitValidation, type CustomCreditInfo, type CustomCreditResponse, DEFAULT_PERMISSIONS, DEFAULT_USER_LANGUAGE, ExportDateModal, InviteUpdateModal, type InvoicePdfResponse, type MemberCreditLimit, MemberCreditLimitModal, type MemberCreditLimitRow, type MemberCreditLimitSource, type MemberCreditLimitsResponse, MemberListFrame, type MemberListFrameProps, type MemberListTab, MemberListToolbar, type MemberListToolbarProps, type MemberPermissionsPayload, OrganizationContent, type OrganizationData, OrganizationIntegrationsContent, type OrganizationInvite, type OrganizationJoinRequest, type OrganizationJoinableWorkspace, type OrganizationMember, OrganizationMemberModal, type OrganizationMemberModalProps, OrganizationModal, type OrganizationView, type OrganizationWorkspaceItem, PerUserLimitsView, type Price, type PriceMetadata, type ProductsResponse, ProfileAvatar, ProfileTab, ReferralTab, SCOPE_LABELS, ScopeHeader, type ScopeHeaderProps, type ServiceItem, type SettingsAdapters, SettingsAdaptersProvider, type SettingsApiAdapter, type SettingsAuthAdapter, type SettingsAuthUser, SettingsContent, type SettingsContentProps, type SettingsImageUploadAdapter, type SettingsIntegrationsAdapter, type SettingsNavigationAdapter, type SettingsOrganizationAdapter, type SettingsOrganizationCurrent, type SettingsOrganizationListItem, type SettingsScope, type SettingsTab, type SettingsToastAdapter, SettingsTooltip, type SettingsTooltipPlacement, type SettingsTooltipProps, type SettingsWorkspaceAdapter, type SettingsWorkspaceCurrent, type SettingsWorkspaceListItem, SiconKey, type StoreItem, type SubscriptionPlan, type SubscriptionResponse, TAB_DESCRIPTIONS, TAB_LABELS, TAB_SCOPE, TAB_TO_URL, type TeamMember, TeamsContent, type TokenExpiry, TokensContent, URL_TO_TAB, USER_LANGUAGES, type UpdateSubscriptionPayload, type UpdateSubscriptionResponse, type UsageHistoryItem, type UsageHistoryResponse, type UserLanguage, type UserPermissions, WORKSPACE_LIST_PAGE_SIZE, type WorkspaceData, WorkspaceGeneralTab, type WorkspaceGeneralTabProps, type WorkspaceInvite, type WorkspaceListOrganization, WorkspaceListTab, type WorkspaceMember, WorkspaceModal, type WorkspaceOrganization, type WorkspaceOrganizationRequest, WorkspacePicker, type WorkspacePickerItem, type WorkspacePickerProps, WorkspaceTab, type WorkspaceUsageResponse, belowUsageReason, cleanCreditLimitInput, countLabel, creditCycleUnit, describeDefaultLimit, describeMemberLimit, formatCreditLimit, formatCredits, groupWorkspaceList, isLimitBelowUsage, joinMembersWithLimits, lastUsedLabel, limitBelowUsageUsed, limitSourceLabel, loadWorkspaceOrganization, minimumCreditLimit, resolveSettingsTabFromPath, roundCredits, useSettingsAdapters, useWorkspaceOrganization, userLanguageLabel, validateCreditLimitInput, validateDefaultCreditLimitInput };