@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.
Files changed (61) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/components/link.js.map +1 -1
  3. package/dist/components-page/account-settings.js +127 -0
  4. package/dist/components-page/account-settings.js.map +1 -1
  5. package/dist/components-page/cli-auth-confirm.js +123 -0
  6. package/dist/components-page/cli-auth-confirm.js.map +1 -0
  7. package/dist/components-page/stack-handler.js +11 -0
  8. package/dist/components-page/stack-handler.js.map +1 -1
  9. package/dist/esm/components/link.js.map +1 -1
  10. package/dist/esm/components-page/account-settings.js +128 -1
  11. package/dist/esm/components-page/account-settings.js.map +1 -1
  12. package/dist/esm/components-page/cli-auth-confirm.js +99 -0
  13. package/dist/esm/components-page/cli-auth-confirm.js.map +1 -0
  14. package/dist/esm/components-page/stack-handler.js +11 -0
  15. package/dist/esm/components-page/stack-handler.js.map +1 -1
  16. package/dist/esm/generated/global-css.js +1 -1
  17. package/dist/esm/generated/global-css.js.map +1 -1
  18. package/dist/esm/lib/cookie.js.map +1 -1
  19. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js +12 -1
  20. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -1
  21. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js +19 -0
  22. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -1
  23. package/dist/esm/lib/stack-app/apps/implementations/common.js +1 -1
  24. package/dist/esm/lib/stack-app/apps/implementations/common.js.map +1 -1
  25. package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js +9 -1
  26. package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -1
  27. package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +1 -1
  28. package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +1 -1
  29. package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +1 -1
  30. package/dist/esm/lib/stack-app/common.js.map +1 -1
  31. package/dist/esm/lib/stack-app/email/index.js +1 -0
  32. package/dist/esm/lib/stack-app/email/index.js.map +1 -0
  33. package/dist/esm/lib/stack-app/index.js.map +1 -1
  34. package/dist/esm/lib/stack-app/teams/index.js.map +1 -1
  35. package/dist/esm/lib/stack-app/users/index.js.map +1 -1
  36. package/dist/esm/lib/translations.js.map +1 -1
  37. package/dist/generated/global-css.js +1 -1
  38. package/dist/generated/global-css.js.map +1 -1
  39. package/dist/index.d.mts +29 -1
  40. package/dist/index.d.ts +29 -1
  41. package/dist/lib/cookie.js.map +1 -1
  42. package/dist/lib/stack-app/apps/implementations/admin-app-impl.js +12 -1
  43. package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -1
  44. package/dist/lib/stack-app/apps/implementations/client-app-impl.js +19 -0
  45. package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -1
  46. package/dist/lib/stack-app/apps/implementations/common.js +1 -1
  47. package/dist/lib/stack-app/apps/implementations/common.js.map +1 -1
  48. package/dist/lib/stack-app/apps/implementations/server-app-impl.js +9 -1
  49. package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -1
  50. package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +1 -1
  51. package/dist/lib/stack-app/apps/interfaces/client-app.js.map +1 -1
  52. package/dist/lib/stack-app/apps/interfaces/server-app.js.map +1 -1
  53. package/dist/lib/stack-app/common.js.map +1 -1
  54. package/dist/lib/stack-app/connected-accounts/index.js.map +1 -1
  55. package/dist/lib/stack-app/email/index.js +19 -0
  56. package/dist/lib/stack-app/email/index.js.map +1 -0
  57. package/dist/lib/stack-app/index.js.map +1 -1
  58. package/dist/lib/stack-app/teams/index.js.map +1 -1
  59. package/dist/lib/stack-app/users/index.js.map +1 -1
  60. package/dist/lib/translations.js.map +1 -1
  61. 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 };