@stackframe/stack 2.7.26 → 2.7.27
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/CHANGELOG.md +10 -0
- package/dist/components/link.js.map +1 -1
- package/dist/components-page/account-settings.js +127 -0
- package/dist/components-page/account-settings.js.map +1 -1
- package/dist/components-page/cli-auth-confirm.js +123 -0
- package/dist/components-page/cli-auth-confirm.js.map +1 -0
- package/dist/components-page/stack-handler.js +11 -0
- package/dist/components-page/stack-handler.js.map +1 -1
- package/dist/esm/components/link.js.map +1 -1
- package/dist/esm/components-page/account-settings.js +128 -1
- package/dist/esm/components-page/account-settings.js.map +1 -1
- package/dist/esm/components-page/cli-auth-confirm.js +99 -0
- package/dist/esm/components-page/cli-auth-confirm.js.map +1 -0
- package/dist/esm/components-page/stack-handler.js +11 -0
- package/dist/esm/components-page/stack-handler.js.map +1 -1
- package/dist/esm/generated/global-css.js +1 -1
- package/dist/esm/generated/global-css.js.map +1 -1
- package/dist/esm/lib/cookie.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js +12 -1
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js +19 -0
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/common.js +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/common.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js +9 -1
- package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +1 -1
- package/dist/esm/lib/stack-app/common.js.map +1 -1
- package/dist/esm/lib/stack-app/email/index.js +1 -0
- package/dist/esm/lib/stack-app/email/index.js.map +1 -0
- package/dist/esm/lib/stack-app/index.js.map +1 -1
- package/dist/esm/lib/stack-app/teams/index.js.map +1 -1
- package/dist/esm/lib/stack-app/users/index.js.map +1 -1
- package/dist/esm/lib/translations.js.map +1 -1
- package/dist/generated/global-css.js +1 -1
- package/dist/generated/global-css.js.map +1 -1
- package/dist/index.d.mts +29 -1
- package/dist/index.d.ts +29 -1
- package/dist/lib/cookie.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.js +12 -1
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/client-app-impl.js +19 -0
- package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/common.js +1 -1
- package/dist/lib/stack-app/apps/implementations/common.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/server-app-impl.js +9 -1
- package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/client-app.js.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/server-app.js.map +1 -1
- package/dist/lib/stack-app/common.js.map +1 -1
- package/dist/lib/stack-app/connected-accounts/index.js.map +1 -1
- package/dist/lib/stack-app/email/index.js +19 -0
- package/dist/lib/stack-app/email/index.js.map +1 -0
- package/dist/lib/stack-app/index.js.map +1 -1
- package/dist/lib/stack-app/teams/index.js.map +1 -1
- package/dist/lib/stack-app/users/index.js.map +1 -1
- package/dist/lib/translations.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
|
@@ -7,6 +7,7 @@ import { EmailTemplateType } from '@stackframe/stack-shared/dist/interface/crud/
|
|
|
7
7
|
import { InternalSession } from '@stackframe/stack-shared/dist/sessions';
|
|
8
8
|
import { ApiKeysCrud } from '@stackframe/stack-shared/dist/interface/crud/api-keys';
|
|
9
9
|
import { ReadonlyJson } from '@stackframe/stack-shared/dist/utils/json';
|
|
10
|
+
import { GeoInfo } from '@stackframe/stack-shared/dist/utils/geo';
|
|
10
11
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
11
12
|
import { icons } from 'lucide-react';
|
|
12
13
|
import React$1 from 'react';
|
|
@@ -106,6 +107,15 @@ type ApiKeyCreateOptions = {
|
|
|
106
107
|
hasSuperSecretAdminKey: boolean;
|
|
107
108
|
};
|
|
108
109
|
|
|
110
|
+
type AdminSentEmail = {
|
|
111
|
+
id: string;
|
|
112
|
+
to: string[];
|
|
113
|
+
subject: string;
|
|
114
|
+
recipient: string;
|
|
115
|
+
sentAt: Date;
|
|
116
|
+
error?: unknown;
|
|
117
|
+
};
|
|
118
|
+
|
|
109
119
|
type AdminEmailTemplate = {
|
|
110
120
|
type: EmailTemplateType;
|
|
111
121
|
subject: string;
|
|
@@ -362,6 +372,8 @@ type UserExtra = {
|
|
|
362
372
|
setSelectedTeam(team: Team | null): Promise<void>;
|
|
363
373
|
createTeam(data: TeamCreateOptions): Promise<Team>;
|
|
364
374
|
leaveTeam(team: Team): Promise<void>;
|
|
375
|
+
getActiveSessions(): Promise<ActiveSession[]>;
|
|
376
|
+
revokeSession(sessionId: string): Promise<void>;
|
|
365
377
|
getTeamProfile(team: Team): Promise<EditableTeamMemberProfile>;
|
|
366
378
|
useTeamProfile(team: Team): EditableTeamMemberProfile;
|
|
367
379
|
} & AsyncStoreProperty<"team", [id: string], Team | null, false> & AsyncStoreProperty<"teams", [], Team[], true> & AsyncStoreProperty<"permission", [scope: Team, permissionId: string, options?: {
|
|
@@ -378,6 +390,15 @@ type User = BaseUser;
|
|
|
378
390
|
type CurrentUser = BaseUser & Auth & UserExtra;
|
|
379
391
|
type CurrentInternalUser = CurrentUser & InternalUserExtra;
|
|
380
392
|
type ProjectCurrentUser<ProjectId> = ProjectId extends "internal" ? CurrentInternalUser : CurrentUser;
|
|
393
|
+
type ActiveSession = {
|
|
394
|
+
id: string;
|
|
395
|
+
userId: string;
|
|
396
|
+
createdAt: Date;
|
|
397
|
+
isImpersonation: boolean;
|
|
398
|
+
lastUsedAt: Date | undefined;
|
|
399
|
+
isCurrentSession: boolean;
|
|
400
|
+
geoInfo?: GeoInfo;
|
|
401
|
+
};
|
|
381
402
|
type UserUpdateOptions = {
|
|
382
403
|
displayName?: string;
|
|
383
404
|
clientMetadata?: ReadonlyJson;
|
|
@@ -407,6 +428,7 @@ type ServerBaseUser = {
|
|
|
407
428
|
*/
|
|
408
429
|
createSession(options?: {
|
|
409
430
|
expiresInMillis?: number;
|
|
431
|
+
isImpersonation?: boolean;
|
|
410
432
|
}): Promise<Session>;
|
|
411
433
|
} & AsyncStoreProperty<"team", [id: string], ServerTeam | null, false> & AsyncStoreProperty<"teams", [], ServerTeam[], true> & AsyncStoreProperty<"permission", [scope: Team, permissionId: string, options?: {
|
|
412
434
|
direct?: boolean;
|
|
@@ -583,6 +605,7 @@ type StackAdminApp<HasTokenStore extends boolean = boolean, ProjectId extends st
|
|
|
583
605
|
}): Promise<Result<undefined, {
|
|
584
606
|
errorMessage: string;
|
|
585
607
|
}>>;
|
|
608
|
+
listSentEmails(): Promise<AdminSentEmail[]>;
|
|
586
609
|
} & StackServerApp<HasTokenStore, ProjectId>);
|
|
587
610
|
declare const StackAdminApp: StackAdminAppConstructor;
|
|
588
611
|
|
|
@@ -800,6 +823,10 @@ declare function AccountSettings(props: {
|
|
|
800
823
|
}))[];
|
|
801
824
|
}): react_jsx_runtime.JSX.Element;
|
|
802
825
|
|
|
826
|
+
declare function CliAuthConfirmation({ fullPage }: {
|
|
827
|
+
fullPage?: boolean;
|
|
828
|
+
}): react_jsx_runtime.JSX.Element;
|
|
829
|
+
|
|
803
830
|
declare function EmailVerification(props: {
|
|
804
831
|
searchParams?: Record<string, string>;
|
|
805
832
|
fullPage?: boolean;
|
|
@@ -849,6 +876,7 @@ type Components = {
|
|
|
849
876
|
TeamInvitation: typeof TeamInvitation;
|
|
850
877
|
ErrorPage: typeof ErrorPage;
|
|
851
878
|
AccountSettings: typeof AccountSettings;
|
|
879
|
+
CliAuthConfirmation: typeof CliAuthConfirmation;
|
|
852
880
|
};
|
|
853
881
|
type RouteProps = {
|
|
854
882
|
params: Promise<{
|
|
@@ -1053,4 +1081,4 @@ type UserButtonProps = {
|
|
|
1053
1081
|
};
|
|
1054
1082
|
declare function UserButton(props: UserButtonProps): react_jsx_runtime.JSX.Element;
|
|
1055
1083
|
|
|
1056
|
-
export { AccountSettings, type AdminDomainConfig, type AdminEmailConfig, type AdminOAuthProviderConfig, type AdminOwnedProject, type AdminProject, type AdminProjectConfig, type AdminProjectConfigUpdateOptions, type AdminProjectCreateOptions, type AdminProjectUpdateOptions, type AdminTeamPermission, type AdminTeamPermissionDefinition, type AdminTeamPermissionDefinitionCreateOptions, type AdminTeamPermissionDefinitionUpdateOptions, type ApiKey, type ApiKeyBase, type ApiKeyBaseCrudRead, type ApiKeyCreateOptions, type ApiKeyFirstView, type Auth, AuthPage, type Connection, type ContactChannel, CredentialSignIn, CredentialSignUp, type CurrentInternalServerUser, type CurrentInternalUser, type CurrentServerUser, type CurrentUser, type EditableTeamMemberProfile, EmailVerification, ForgotPassword, type GetUserOptions$1 as GetUserOptions, type HandlerUrls, MagicLinkSignIn, MessageCard, OAuthButton, OAuthButtonGroup, type OAuthConnection, type OAuthProviderConfig, type OAuthScopesOnSignIn, PasswordReset, type Project, type ProjectConfig, SelectedTeamSwitcher, type ServerListUsersOptions, type ServerTeam, type ServerTeamCreateOptions, type ServerTeamMemberProfile, type ServerTeamUpdateOptions, type ServerTeamUser, type ServerUser, type Session, SignIn, SignUp, StackAdminApp, type StackAdminAppConstructor, type StackAdminAppConstructorOptions, StackClientApp, type StackClientAppConstructor, type StackClientAppConstructorOptions, type StackClientAppJson, NextStackHandler as StackHandler, NextStackProvider as StackProvider, StackServerApp, type StackServerAppConstructor, type StackServerAppConstructorOptions, StackTheme, type Team, type TeamCreateOptions, type TeamInvitation$1 as TeamInvitation, type TeamMemberProfile, type TeamPermission, type TeamUpdateOptions, type TeamUser, type User, UserAvatar, UserButton, stackAppInternalsSymbol, useStackApp, useUser };
|
|
1084
|
+
export { AccountSettings, type AdminDomainConfig, type AdminEmailConfig, type AdminOAuthProviderConfig, type AdminOwnedProject, type AdminProject, type AdminProjectConfig, type AdminProjectConfigUpdateOptions, type AdminProjectCreateOptions, type AdminProjectUpdateOptions, type AdminSentEmail, type AdminTeamPermission, type AdminTeamPermissionDefinition, type AdminTeamPermissionDefinitionCreateOptions, type AdminTeamPermissionDefinitionUpdateOptions, type ApiKey, type ApiKeyBase, type ApiKeyBaseCrudRead, type ApiKeyCreateOptions, type ApiKeyFirstView, type Auth, AuthPage, type Connection, type ContactChannel, CredentialSignIn, CredentialSignUp, type CurrentInternalServerUser, type CurrentInternalUser, type CurrentServerUser, type CurrentUser, type EditableTeamMemberProfile, EmailVerification, ForgotPassword, type GetUserOptions$1 as GetUserOptions, type HandlerUrls, MagicLinkSignIn, MessageCard, OAuthButton, OAuthButtonGroup, type OAuthConnection, type OAuthProviderConfig, type OAuthScopesOnSignIn, PasswordReset, type Project, type ProjectConfig, SelectedTeamSwitcher, type ServerListUsersOptions, type ServerTeam, type ServerTeamCreateOptions, type ServerTeamMemberProfile, type ServerTeamUpdateOptions, type ServerTeamUser, type ServerUser, type Session, SignIn, SignUp, StackAdminApp, type StackAdminAppConstructor, type StackAdminAppConstructorOptions, StackClientApp, type StackClientAppConstructor, type StackClientAppConstructorOptions, type StackClientAppJson, NextStackHandler as StackHandler, NextStackProvider as StackProvider, StackServerApp, type StackServerAppConstructor, type StackServerAppConstructorOptions, StackTheme, type Team, type TeamCreateOptions, type TeamInvitation$1 as TeamInvitation, type TeamMemberProfile, type TeamPermission, type TeamUpdateOptions, type TeamUser, type User, UserAvatar, UserButton, stackAppInternalsSymbol, useStackApp, useUser };
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { EmailTemplateType } from '@stackframe/stack-shared/dist/interface/crud/
|
|
|
7
7
|
import { InternalSession } from '@stackframe/stack-shared/dist/sessions';
|
|
8
8
|
import { ApiKeysCrud } from '@stackframe/stack-shared/dist/interface/crud/api-keys';
|
|
9
9
|
import { ReadonlyJson } from '@stackframe/stack-shared/dist/utils/json';
|
|
10
|
+
import { GeoInfo } from '@stackframe/stack-shared/dist/utils/geo';
|
|
10
11
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
11
12
|
import { icons } from 'lucide-react';
|
|
12
13
|
import React$1 from 'react';
|
|
@@ -106,6 +107,15 @@ type ApiKeyCreateOptions = {
|
|
|
106
107
|
hasSuperSecretAdminKey: boolean;
|
|
107
108
|
};
|
|
108
109
|
|
|
110
|
+
type AdminSentEmail = {
|
|
111
|
+
id: string;
|
|
112
|
+
to: string[];
|
|
113
|
+
subject: string;
|
|
114
|
+
recipient: string;
|
|
115
|
+
sentAt: Date;
|
|
116
|
+
error?: unknown;
|
|
117
|
+
};
|
|
118
|
+
|
|
109
119
|
type AdminEmailTemplate = {
|
|
110
120
|
type: EmailTemplateType;
|
|
111
121
|
subject: string;
|
|
@@ -362,6 +372,8 @@ type UserExtra = {
|
|
|
362
372
|
setSelectedTeam(team: Team | null): Promise<void>;
|
|
363
373
|
createTeam(data: TeamCreateOptions): Promise<Team>;
|
|
364
374
|
leaveTeam(team: Team): Promise<void>;
|
|
375
|
+
getActiveSessions(): Promise<ActiveSession[]>;
|
|
376
|
+
revokeSession(sessionId: string): Promise<void>;
|
|
365
377
|
getTeamProfile(team: Team): Promise<EditableTeamMemberProfile>;
|
|
366
378
|
useTeamProfile(team: Team): EditableTeamMemberProfile;
|
|
367
379
|
} & AsyncStoreProperty<"team", [id: string], Team | null, false> & AsyncStoreProperty<"teams", [], Team[], true> & AsyncStoreProperty<"permission", [scope: Team, permissionId: string, options?: {
|
|
@@ -378,6 +390,15 @@ type User = BaseUser;
|
|
|
378
390
|
type CurrentUser = BaseUser & Auth & UserExtra;
|
|
379
391
|
type CurrentInternalUser = CurrentUser & InternalUserExtra;
|
|
380
392
|
type ProjectCurrentUser<ProjectId> = ProjectId extends "internal" ? CurrentInternalUser : CurrentUser;
|
|
393
|
+
type ActiveSession = {
|
|
394
|
+
id: string;
|
|
395
|
+
userId: string;
|
|
396
|
+
createdAt: Date;
|
|
397
|
+
isImpersonation: boolean;
|
|
398
|
+
lastUsedAt: Date | undefined;
|
|
399
|
+
isCurrentSession: boolean;
|
|
400
|
+
geoInfo?: GeoInfo;
|
|
401
|
+
};
|
|
381
402
|
type UserUpdateOptions = {
|
|
382
403
|
displayName?: string;
|
|
383
404
|
clientMetadata?: ReadonlyJson;
|
|
@@ -407,6 +428,7 @@ type ServerBaseUser = {
|
|
|
407
428
|
*/
|
|
408
429
|
createSession(options?: {
|
|
409
430
|
expiresInMillis?: number;
|
|
431
|
+
isImpersonation?: boolean;
|
|
410
432
|
}): Promise<Session>;
|
|
411
433
|
} & AsyncStoreProperty<"team", [id: string], ServerTeam | null, false> & AsyncStoreProperty<"teams", [], ServerTeam[], true> & AsyncStoreProperty<"permission", [scope: Team, permissionId: string, options?: {
|
|
412
434
|
direct?: boolean;
|
|
@@ -583,6 +605,7 @@ type StackAdminApp<HasTokenStore extends boolean = boolean, ProjectId extends st
|
|
|
583
605
|
}): Promise<Result<undefined, {
|
|
584
606
|
errorMessage: string;
|
|
585
607
|
}>>;
|
|
608
|
+
listSentEmails(): Promise<AdminSentEmail[]>;
|
|
586
609
|
} & StackServerApp<HasTokenStore, ProjectId>);
|
|
587
610
|
declare const StackAdminApp: StackAdminAppConstructor;
|
|
588
611
|
|
|
@@ -800,6 +823,10 @@ declare function AccountSettings(props: {
|
|
|
800
823
|
}))[];
|
|
801
824
|
}): react_jsx_runtime.JSX.Element;
|
|
802
825
|
|
|
826
|
+
declare function CliAuthConfirmation({ fullPage }: {
|
|
827
|
+
fullPage?: boolean;
|
|
828
|
+
}): react_jsx_runtime.JSX.Element;
|
|
829
|
+
|
|
803
830
|
declare function EmailVerification(props: {
|
|
804
831
|
searchParams?: Record<string, string>;
|
|
805
832
|
fullPage?: boolean;
|
|
@@ -849,6 +876,7 @@ type Components = {
|
|
|
849
876
|
TeamInvitation: typeof TeamInvitation;
|
|
850
877
|
ErrorPage: typeof ErrorPage;
|
|
851
878
|
AccountSettings: typeof AccountSettings;
|
|
879
|
+
CliAuthConfirmation: typeof CliAuthConfirmation;
|
|
852
880
|
};
|
|
853
881
|
type RouteProps = {
|
|
854
882
|
params: Promise<{
|
|
@@ -1053,4 +1081,4 @@ type UserButtonProps = {
|
|
|
1053
1081
|
};
|
|
1054
1082
|
declare function UserButton(props: UserButtonProps): react_jsx_runtime.JSX.Element;
|
|
1055
1083
|
|
|
1056
|
-
export { AccountSettings, type AdminDomainConfig, type AdminEmailConfig, type AdminOAuthProviderConfig, type AdminOwnedProject, type AdminProject, type AdminProjectConfig, type AdminProjectConfigUpdateOptions, type AdminProjectCreateOptions, type AdminProjectUpdateOptions, type AdminTeamPermission, type AdminTeamPermissionDefinition, type AdminTeamPermissionDefinitionCreateOptions, type AdminTeamPermissionDefinitionUpdateOptions, type ApiKey, type ApiKeyBase, type ApiKeyBaseCrudRead, type ApiKeyCreateOptions, type ApiKeyFirstView, type Auth, AuthPage, type Connection, type ContactChannel, CredentialSignIn, CredentialSignUp, type CurrentInternalServerUser, type CurrentInternalUser, type CurrentServerUser, type CurrentUser, type EditableTeamMemberProfile, EmailVerification, ForgotPassword, type GetUserOptions$1 as GetUserOptions, type HandlerUrls, MagicLinkSignIn, MessageCard, OAuthButton, OAuthButtonGroup, type OAuthConnection, type OAuthProviderConfig, type OAuthScopesOnSignIn, PasswordReset, type Project, type ProjectConfig, SelectedTeamSwitcher, type ServerListUsersOptions, type ServerTeam, type ServerTeamCreateOptions, type ServerTeamMemberProfile, type ServerTeamUpdateOptions, type ServerTeamUser, type ServerUser, type Session, SignIn, SignUp, StackAdminApp, type StackAdminAppConstructor, type StackAdminAppConstructorOptions, StackClientApp, type StackClientAppConstructor, type StackClientAppConstructorOptions, type StackClientAppJson, NextStackHandler as StackHandler, NextStackProvider as StackProvider, StackServerApp, type StackServerAppConstructor, type StackServerAppConstructorOptions, StackTheme, type Team, type TeamCreateOptions, type TeamInvitation$1 as TeamInvitation, type TeamMemberProfile, type TeamPermission, type TeamUpdateOptions, type TeamUser, type User, UserAvatar, UserButton, stackAppInternalsSymbol, useStackApp, useUser };
|
|
1084
|
+
export { AccountSettings, type AdminDomainConfig, type AdminEmailConfig, type AdminOAuthProviderConfig, type AdminOwnedProject, type AdminProject, type AdminProjectConfig, type AdminProjectConfigUpdateOptions, type AdminProjectCreateOptions, type AdminProjectUpdateOptions, type AdminSentEmail, type AdminTeamPermission, type AdminTeamPermissionDefinition, type AdminTeamPermissionDefinitionCreateOptions, type AdminTeamPermissionDefinitionUpdateOptions, type ApiKey, type ApiKeyBase, type ApiKeyBaseCrudRead, type ApiKeyCreateOptions, type ApiKeyFirstView, type Auth, AuthPage, type Connection, type ContactChannel, CredentialSignIn, CredentialSignUp, type CurrentInternalServerUser, type CurrentInternalUser, type CurrentServerUser, type CurrentUser, type EditableTeamMemberProfile, EmailVerification, ForgotPassword, type GetUserOptions$1 as GetUserOptions, type HandlerUrls, MagicLinkSignIn, MessageCard, OAuthButton, OAuthButtonGroup, type OAuthConnection, type OAuthProviderConfig, type OAuthScopesOnSignIn, PasswordReset, type Project, type ProjectConfig, SelectedTeamSwitcher, type ServerListUsersOptions, type ServerTeam, type ServerTeamCreateOptions, type ServerTeamMemberProfile, type ServerTeamUpdateOptions, type ServerTeamUser, type ServerUser, type Session, SignIn, SignUp, StackAdminApp, type StackAdminAppConstructor, type StackAdminAppConstructorOptions, StackClientApp, type StackClientAppConstructor, type StackClientAppConstructorOptions, type StackClientAppJson, NextStackHandler as StackHandler, NextStackProvider as StackProvider, StackServerApp, type StackServerAppConstructor, type StackServerAppConstructorOptions, StackTheme, type Team, type TeamCreateOptions, type TeamInvitation$1 as TeamInvitation, type TeamMemberProfile, type TeamPermission, type TeamUpdateOptions, type TeamUser, type User, UserAvatar, UserButton, stackAppInternalsSymbol, useStackApp, useUser };
|