@streamoid/settings 0.7.11 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +109 -3
- package/dist/index.d.ts +109 -3
- package/dist/index.js +1884 -1071
- package/dist/index.mjs +1859 -1046
- package/package.json +1 -1
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>;
|
|
@@ -872,7 +876,11 @@ interface SettingsApiAdapter {
|
|
|
872
876
|
invitationId?: string;
|
|
873
877
|
}) => Promise<void>;
|
|
874
878
|
resendInvite: (invitationId: string) => Promise<void>;
|
|
875
|
-
/**
|
|
879
|
+
/**
|
|
880
|
+
* @deprecated No longer called: `updateMemberRole` makes a member an admin by
|
|
881
|
+
* itself, and promoting first made that request fail. Kept so existing
|
|
882
|
+
* adapters still type-check.
|
|
883
|
+
*/
|
|
876
884
|
promoteAsAdmin?: (userIds: string[]) => Promise<void>;
|
|
877
885
|
/** CXO-only: fetch granular per-user details (services, scopes, etc.). */
|
|
878
886
|
getUserDetail?: (userId: string) => Promise<WorkspaceMember | null>;
|
|
@@ -971,6 +979,53 @@ interface SettingsImageUploadAdapter {
|
|
|
971
979
|
/** Upload an image file and return its public URL. */
|
|
972
980
|
upload: (file: File) => Promise<string>;
|
|
973
981
|
}
|
|
982
|
+
/**
|
|
983
|
+
* One app the user allowed to act for them — today ChatGPT or Codex through
|
|
984
|
+
* the CXO plugin. A connection is always bound to ONE workspace, chosen on the
|
|
985
|
+
* consent screen, and stays listed after it is revoked.
|
|
986
|
+
*/
|
|
987
|
+
interface ConnectedApp {
|
|
988
|
+
id: string;
|
|
989
|
+
/** The OAuth client's display name, e.g. "ChatGPT" or "Codex". */
|
|
990
|
+
clientName: string;
|
|
991
|
+
/** Null when the workspace was deleted or the caller can't see it. */
|
|
992
|
+
workspace?: {
|
|
993
|
+
id: string;
|
|
994
|
+
name?: string;
|
|
995
|
+
} | null;
|
|
996
|
+
/** Who connected it. Only the organization listing fills this in. */
|
|
997
|
+
user?: {
|
|
998
|
+
id: string;
|
|
999
|
+
name?: string;
|
|
1000
|
+
email?: string;
|
|
1001
|
+
} | null;
|
|
1002
|
+
status: "active" | "revoked";
|
|
1003
|
+
createdAt?: string;
|
|
1004
|
+
lastUsedAt?: string | null;
|
|
1005
|
+
}
|
|
1006
|
+
/**
|
|
1007
|
+
* Personal connections plus the organization admin's controls. The personal
|
|
1008
|
+
* half drives Account › Connected apps; the organization half (all four
|
|
1009
|
+
* `organization*` methods) drives Organization › Integrations, which is shown
|
|
1010
|
+
* only to organization admins and only when every one of them is provided.
|
|
1011
|
+
*
|
|
1012
|
+
* Revoking stops new requests from that app within about a minute; work it
|
|
1013
|
+
* already queued still finishes. The copy on both pages says so.
|
|
1014
|
+
*/
|
|
1015
|
+
interface SettingsIntegrationsAdapter {
|
|
1016
|
+
listConnections: (signal?: AbortSignal) => Promise<ConnectedApp[]>;
|
|
1017
|
+
revokeConnection: (connectionId: string) => Promise<void>;
|
|
1018
|
+
/** Every connection made into a workspace of this organization. */
|
|
1019
|
+
listOrganizationConnections?: (organizationId: string, signal?: AbortSignal) => Promise<ConnectedApp[]>;
|
|
1020
|
+
revokeOrganizationConnection?: (organizationId: string, connectionId: string) => Promise<void>;
|
|
1021
|
+
/** Whether members of this organization may connect ChatGPT and Codex. */
|
|
1022
|
+
getOrganizationAccess?: (organizationId: string, signal?: AbortSignal) => Promise<{
|
|
1023
|
+
enabled: boolean;
|
|
1024
|
+
}>;
|
|
1025
|
+
setOrganizationAccess?: (organizationId: string, enabled: boolean) => Promise<{
|
|
1026
|
+
enabled: boolean;
|
|
1027
|
+
}>;
|
|
1028
|
+
}
|
|
974
1029
|
interface SettingsAdapters {
|
|
975
1030
|
auth: SettingsAuthAdapter;
|
|
976
1031
|
workspace: SettingsWorkspaceAdapter;
|
|
@@ -979,6 +1034,8 @@ interface SettingsAdapters {
|
|
|
979
1034
|
navigation: SettingsNavigationAdapter;
|
|
980
1035
|
toast: SettingsToastAdapter;
|
|
981
1036
|
imageUpload: SettingsImageUploadAdapter;
|
|
1037
|
+
/** Optional. Without it the Connected apps and Integrations tabs are hidden. */
|
|
1038
|
+
integrations?: SettingsIntegrationsAdapter;
|
|
982
1039
|
}
|
|
983
1040
|
|
|
984
1041
|
/**
|
|
@@ -1188,6 +1245,24 @@ declare function BillingContent({ embedded, showPlans: showPlansProp, onShowPlan
|
|
|
1188
1245
|
onShowPerUserLimitsChange?: (open: boolean) => void;
|
|
1189
1246
|
}): react__default.JSX.Element;
|
|
1190
1247
|
|
|
1248
|
+
/**
|
|
1249
|
+
* The one `updateMemberRole` request that saving a member sends, or `null`
|
|
1250
|
+
* when there is nothing to save.
|
|
1251
|
+
*
|
|
1252
|
+
* `change-user-role` makes a member an admin by itself (role, flags, and
|
|
1253
|
+
* dropping their app and store grants), so nothing is sent before it. Calling
|
|
1254
|
+
* `promoteAsAdmin` first made the user admin and then had this request refused
|
|
1255
|
+
* with 403 "Already present as admin.".
|
|
1256
|
+
*
|
|
1257
|
+
* An admin kept as admin has no other field to change (the modal hides the
|
|
1258
|
+
* permissions for an admin), so that save sends nothing.
|
|
1259
|
+
*/
|
|
1260
|
+
declare function memberRoleUpdate(current: {
|
|
1261
|
+
userId: string;
|
|
1262
|
+
role: UserPermissions["role"];
|
|
1263
|
+
}, permissions: UserPermissions, services: ServiceItem[]): ({
|
|
1264
|
+
userId: string;
|
|
1265
|
+
} & MemberPermissionsPayload) | null;
|
|
1191
1266
|
declare function TeamsContent({ embedded, onInviteOpen, onInviteOpenChange, workspaceName, workspaceImageUrl, organizationName, hiddenApps, }?: {
|
|
1192
1267
|
embedded?: boolean;
|
|
1193
1268
|
onInviteOpen?: boolean;
|
|
@@ -1231,6 +1306,37 @@ declare function TokensContent({ embedded, showRevokedOverride, onShowRevokedCha
|
|
|
1231
1306
|
onCreateOpenChange?: (v: boolean) => void;
|
|
1232
1307
|
}): react.JSX.Element;
|
|
1233
1308
|
|
|
1309
|
+
/**
|
|
1310
|
+
* Account › Connected apps — the apps (ChatGPT, Codex) the viewer allowed to
|
|
1311
|
+
* use CXO for them, one card per connection, each with Revoke.
|
|
1312
|
+
*
|
|
1313
|
+
* Personal on purpose: a connection belongs to the person who approved it,
|
|
1314
|
+
* whatever organization its workspace sits in, so it lives under Account. The
|
|
1315
|
+
* organization's view of the same records is Organization › Integrations.
|
|
1316
|
+
*/
|
|
1317
|
+
declare function ConnectedAppsContent(): react.JSX.Element;
|
|
1318
|
+
|
|
1319
|
+
/**
|
|
1320
|
+
* Organization › Integrations — the org admin's half of connected apps.
|
|
1321
|
+
*
|
|
1322
|
+
* Two jobs, top to bottom: the organization-wide switch that decides whether
|
|
1323
|
+
* members may connect ChatGPT and Codex at all, then every connection made into
|
|
1324
|
+
* one of the organization's workspaces, with Revoke on each. A member still
|
|
1325
|
+
* picks the workspace when they connect; the switch only decides whether they
|
|
1326
|
+
* can.
|
|
1327
|
+
*
|
|
1328
|
+
* Admin-only, matching the backend — both the switch and the listing answer
|
|
1329
|
+
* 403 to anyone else, so the shell never mounts this for a non-admin.
|
|
1330
|
+
*/
|
|
1331
|
+
declare function OrganizationIntegrationsContent(): react.JSX.Element;
|
|
1332
|
+
|
|
1333
|
+
/**
|
|
1334
|
+
* "Last used" reads as recency, not as a date: "2h ago" says whether the app
|
|
1335
|
+
* is live; "Oct 5, 2026" makes you do arithmetic. Past a week the date is
|
|
1336
|
+
* clearer than a count of days.
|
|
1337
|
+
*/
|
|
1338
|
+
declare function lastUsedLabel(iso?: string | null, now?: number): string;
|
|
1339
|
+
|
|
1234
1340
|
/**
|
|
1235
1341
|
* The account-level language preference, shared by every Streamoid dashboard.
|
|
1236
1342
|
*
|
|
@@ -1673,4 +1779,4 @@ declare function SettingsAdaptersProvider({ adapters, children, }: {
|
|
|
1673
1779
|
*/
|
|
1674
1780
|
declare function useSettingsAdapters(): SettingsAdapters;
|
|
1675
1781
|
|
|
1676
|
-
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, cleanCreditLimitInput, countLabel, creditCycleUnit, describeDefaultLimit, describeMemberLimit, formatCreditLimit, formatCredits, groupWorkspaceList, isLimitBelowUsage, joinMembersWithLimits, limitBelowUsageUsed, limitSourceLabel, loadWorkspaceOrganization, minimumCreditLimit, resolveSettingsTabFromPath, roundCredits, useSettingsAdapters, useWorkspaceOrganization, userLanguageLabel, validateCreditLimitInput, validateDefaultCreditLimitInput };
|
|
1782
|
+
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, memberRoleUpdate, 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>;
|
|
@@ -872,7 +876,11 @@ interface SettingsApiAdapter {
|
|
|
872
876
|
invitationId?: string;
|
|
873
877
|
}) => Promise<void>;
|
|
874
878
|
resendInvite: (invitationId: string) => Promise<void>;
|
|
875
|
-
/**
|
|
879
|
+
/**
|
|
880
|
+
* @deprecated No longer called: `updateMemberRole` makes a member an admin by
|
|
881
|
+
* itself, and promoting first made that request fail. Kept so existing
|
|
882
|
+
* adapters still type-check.
|
|
883
|
+
*/
|
|
876
884
|
promoteAsAdmin?: (userIds: string[]) => Promise<void>;
|
|
877
885
|
/** CXO-only: fetch granular per-user details (services, scopes, etc.). */
|
|
878
886
|
getUserDetail?: (userId: string) => Promise<WorkspaceMember | null>;
|
|
@@ -971,6 +979,53 @@ interface SettingsImageUploadAdapter {
|
|
|
971
979
|
/** Upload an image file and return its public URL. */
|
|
972
980
|
upload: (file: File) => Promise<string>;
|
|
973
981
|
}
|
|
982
|
+
/**
|
|
983
|
+
* One app the user allowed to act for them — today ChatGPT or Codex through
|
|
984
|
+
* the CXO plugin. A connection is always bound to ONE workspace, chosen on the
|
|
985
|
+
* consent screen, and stays listed after it is revoked.
|
|
986
|
+
*/
|
|
987
|
+
interface ConnectedApp {
|
|
988
|
+
id: string;
|
|
989
|
+
/** The OAuth client's display name, e.g. "ChatGPT" or "Codex". */
|
|
990
|
+
clientName: string;
|
|
991
|
+
/** Null when the workspace was deleted or the caller can't see it. */
|
|
992
|
+
workspace?: {
|
|
993
|
+
id: string;
|
|
994
|
+
name?: string;
|
|
995
|
+
} | null;
|
|
996
|
+
/** Who connected it. Only the organization listing fills this in. */
|
|
997
|
+
user?: {
|
|
998
|
+
id: string;
|
|
999
|
+
name?: string;
|
|
1000
|
+
email?: string;
|
|
1001
|
+
} | null;
|
|
1002
|
+
status: "active" | "revoked";
|
|
1003
|
+
createdAt?: string;
|
|
1004
|
+
lastUsedAt?: string | null;
|
|
1005
|
+
}
|
|
1006
|
+
/**
|
|
1007
|
+
* Personal connections plus the organization admin's controls. The personal
|
|
1008
|
+
* half drives Account › Connected apps; the organization half (all four
|
|
1009
|
+
* `organization*` methods) drives Organization › Integrations, which is shown
|
|
1010
|
+
* only to organization admins and only when every one of them is provided.
|
|
1011
|
+
*
|
|
1012
|
+
* Revoking stops new requests from that app within about a minute; work it
|
|
1013
|
+
* already queued still finishes. The copy on both pages says so.
|
|
1014
|
+
*/
|
|
1015
|
+
interface SettingsIntegrationsAdapter {
|
|
1016
|
+
listConnections: (signal?: AbortSignal) => Promise<ConnectedApp[]>;
|
|
1017
|
+
revokeConnection: (connectionId: string) => Promise<void>;
|
|
1018
|
+
/** Every connection made into a workspace of this organization. */
|
|
1019
|
+
listOrganizationConnections?: (organizationId: string, signal?: AbortSignal) => Promise<ConnectedApp[]>;
|
|
1020
|
+
revokeOrganizationConnection?: (organizationId: string, connectionId: string) => Promise<void>;
|
|
1021
|
+
/** Whether members of this organization may connect ChatGPT and Codex. */
|
|
1022
|
+
getOrganizationAccess?: (organizationId: string, signal?: AbortSignal) => Promise<{
|
|
1023
|
+
enabled: boolean;
|
|
1024
|
+
}>;
|
|
1025
|
+
setOrganizationAccess?: (organizationId: string, enabled: boolean) => Promise<{
|
|
1026
|
+
enabled: boolean;
|
|
1027
|
+
}>;
|
|
1028
|
+
}
|
|
974
1029
|
interface SettingsAdapters {
|
|
975
1030
|
auth: SettingsAuthAdapter;
|
|
976
1031
|
workspace: SettingsWorkspaceAdapter;
|
|
@@ -979,6 +1034,8 @@ interface SettingsAdapters {
|
|
|
979
1034
|
navigation: SettingsNavigationAdapter;
|
|
980
1035
|
toast: SettingsToastAdapter;
|
|
981
1036
|
imageUpload: SettingsImageUploadAdapter;
|
|
1037
|
+
/** Optional. Without it the Connected apps and Integrations tabs are hidden. */
|
|
1038
|
+
integrations?: SettingsIntegrationsAdapter;
|
|
982
1039
|
}
|
|
983
1040
|
|
|
984
1041
|
/**
|
|
@@ -1188,6 +1245,24 @@ declare function BillingContent({ embedded, showPlans: showPlansProp, onShowPlan
|
|
|
1188
1245
|
onShowPerUserLimitsChange?: (open: boolean) => void;
|
|
1189
1246
|
}): react__default.JSX.Element;
|
|
1190
1247
|
|
|
1248
|
+
/**
|
|
1249
|
+
* The one `updateMemberRole` request that saving a member sends, or `null`
|
|
1250
|
+
* when there is nothing to save.
|
|
1251
|
+
*
|
|
1252
|
+
* `change-user-role` makes a member an admin by itself (role, flags, and
|
|
1253
|
+
* dropping their app and store grants), so nothing is sent before it. Calling
|
|
1254
|
+
* `promoteAsAdmin` first made the user admin and then had this request refused
|
|
1255
|
+
* with 403 "Already present as admin.".
|
|
1256
|
+
*
|
|
1257
|
+
* An admin kept as admin has no other field to change (the modal hides the
|
|
1258
|
+
* permissions for an admin), so that save sends nothing.
|
|
1259
|
+
*/
|
|
1260
|
+
declare function memberRoleUpdate(current: {
|
|
1261
|
+
userId: string;
|
|
1262
|
+
role: UserPermissions["role"];
|
|
1263
|
+
}, permissions: UserPermissions, services: ServiceItem[]): ({
|
|
1264
|
+
userId: string;
|
|
1265
|
+
} & MemberPermissionsPayload) | null;
|
|
1191
1266
|
declare function TeamsContent({ embedded, onInviteOpen, onInviteOpenChange, workspaceName, workspaceImageUrl, organizationName, hiddenApps, }?: {
|
|
1192
1267
|
embedded?: boolean;
|
|
1193
1268
|
onInviteOpen?: boolean;
|
|
@@ -1231,6 +1306,37 @@ declare function TokensContent({ embedded, showRevokedOverride, onShowRevokedCha
|
|
|
1231
1306
|
onCreateOpenChange?: (v: boolean) => void;
|
|
1232
1307
|
}): react.JSX.Element;
|
|
1233
1308
|
|
|
1309
|
+
/**
|
|
1310
|
+
* Account › Connected apps — the apps (ChatGPT, Codex) the viewer allowed to
|
|
1311
|
+
* use CXO for them, one card per connection, each with Revoke.
|
|
1312
|
+
*
|
|
1313
|
+
* Personal on purpose: a connection belongs to the person who approved it,
|
|
1314
|
+
* whatever organization its workspace sits in, so it lives under Account. The
|
|
1315
|
+
* organization's view of the same records is Organization › Integrations.
|
|
1316
|
+
*/
|
|
1317
|
+
declare function ConnectedAppsContent(): react.JSX.Element;
|
|
1318
|
+
|
|
1319
|
+
/**
|
|
1320
|
+
* Organization › Integrations — the org admin's half of connected apps.
|
|
1321
|
+
*
|
|
1322
|
+
* Two jobs, top to bottom: the organization-wide switch that decides whether
|
|
1323
|
+
* members may connect ChatGPT and Codex at all, then every connection made into
|
|
1324
|
+
* one of the organization's workspaces, with Revoke on each. A member still
|
|
1325
|
+
* picks the workspace when they connect; the switch only decides whether they
|
|
1326
|
+
* can.
|
|
1327
|
+
*
|
|
1328
|
+
* Admin-only, matching the backend — both the switch and the listing answer
|
|
1329
|
+
* 403 to anyone else, so the shell never mounts this for a non-admin.
|
|
1330
|
+
*/
|
|
1331
|
+
declare function OrganizationIntegrationsContent(): react.JSX.Element;
|
|
1332
|
+
|
|
1333
|
+
/**
|
|
1334
|
+
* "Last used" reads as recency, not as a date: "2h ago" says whether the app
|
|
1335
|
+
* is live; "Oct 5, 2026" makes you do arithmetic. Past a week the date is
|
|
1336
|
+
* clearer than a count of days.
|
|
1337
|
+
*/
|
|
1338
|
+
declare function lastUsedLabel(iso?: string | null, now?: number): string;
|
|
1339
|
+
|
|
1234
1340
|
/**
|
|
1235
1341
|
* The account-level language preference, shared by every Streamoid dashboard.
|
|
1236
1342
|
*
|
|
@@ -1673,4 +1779,4 @@ declare function SettingsAdaptersProvider({ adapters, children, }: {
|
|
|
1673
1779
|
*/
|
|
1674
1780
|
declare function useSettingsAdapters(): SettingsAdapters;
|
|
1675
1781
|
|
|
1676
|
-
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, cleanCreditLimitInput, countLabel, creditCycleUnit, describeDefaultLimit, describeMemberLimit, formatCreditLimit, formatCredits, groupWorkspaceList, isLimitBelowUsage, joinMembersWithLimits, limitBelowUsageUsed, limitSourceLabel, loadWorkspaceOrganization, minimumCreditLimit, resolveSettingsTabFromPath, roundCredits, useSettingsAdapters, useWorkspaceOrganization, userLanguageLabel, validateCreditLimitInput, validateDefaultCreditLimitInput };
|
|
1782
|
+
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, memberRoleUpdate, minimumCreditLimit, resolveSettingsTabFromPath, roundCredits, useSettingsAdapters, useWorkspaceOrganization, userLanguageLabel, validateCreditLimitInput, validateDefaultCreditLimitInput };
|