@stackframe/stack-shared 2.4.4 → 2.4.5

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.
@@ -1,5 +1,5 @@
1
1
  import { ServerAuthApplicationOptions, StackServerInterface } from "./serverInterface";
2
- import { ProjectJson, ReadonlyTokenStore, SharedProvider, StandardProvider, TokenStore } from "./clientInterface";
2
+ import { EmailConfigJson, ProjectJson, ReadonlyTokenStore, SharedProvider, StandardProvider, TokenStore } from "./clientInterface";
3
3
  export type AdminAuthApplicationOptions = Readonly<ServerAuthApplicationOptions & ({
4
4
  superSecretAdminKey: string;
5
5
  } | {
@@ -30,6 +30,7 @@ export type ProjectUpdateOptions = {
30
30
  magicLinkEnabled?: boolean;
31
31
  allowLocalhost?: boolean;
32
32
  createTeamOnSignUp?: boolean;
33
+ emailConfig?: EmailConfigJson;
33
34
  };
34
35
  };
35
36
  export type ApiKeySetBaseJson = {
@@ -7,6 +7,7 @@ import { ProjectUpdateOptions } from './adminInterface';
7
7
  type UserCustomizableJson = {
8
8
  displayName: string | null;
9
9
  clientMetadata: ReadonlyJson;
10
+ selectedTeamId: string | null;
10
11
  };
11
12
  export type UserJson = UserCustomizableJson & {
12
13
  projectId: string;
@@ -24,6 +25,7 @@ export type UserJson = UserCustomizableJson & {
24
25
  hasPassword: boolean;
25
26
  authWithEmail: boolean;
26
27
  oauthProviders: string[];
28
+ selectedTeamId: string | null;
27
29
  };
28
30
  export type UserUpdateJson = Partial<UserCustomizableJson>;
29
31
  export type ClientProjectJson = {
@@ -95,7 +97,6 @@ export type EmailConfigJson = ({
95
97
  password: string;
96
98
  } | {
97
99
  type: "shared";
98
- senderName: string;
99
100
  });
100
101
  export type DomainConfigJson = {
101
102
  domain: string;
@@ -164,7 +165,7 @@ export declare class StackClientInterface {
164
165
  verifyPasswordResetCode(code: string): Promise<KnownErrors["PasswordResetCodeError"] | undefined>;
165
166
  verifyEmail(code: string): Promise<KnownErrors["EmailVerificationError"] | undefined>;
166
167
  signInWithCredential(email: string, password: string, tokenStore: TokenStore): Promise<KnownErrors["EmailPasswordMismatch"] | undefined>;
167
- signUpWithCredential(email: string, password: string, emailVerificationRedirectUrl: string, tokenStore: TokenStore): Promise<KnownErrors["UserEmailAlreadyExists"] | undefined>;
168
+ signUpWithCredential(email: string, password: string, emailVerificationRedirectUrl: string, tokenStore: TokenStore): Promise<KnownErrors["UserEmailAlreadyExists"] | KnownErrors["PasswordRequirementsNotMet"] | undefined>;
168
169
  signInWithMagicLink(code: string, tokenStore: TokenStore): Promise<KnownErrors["MagicLinkError"] | {
169
170
  newUser: boolean;
170
171
  }>;
@@ -1,5 +1,5 @@
1
1
  import * as oauth from 'oauth4webapi';
2
- import crypto from "crypto";
2
+ import crypto from "crypto-browserify";
3
3
  import { Result } from "../utils/results";
4
4
  import { AsyncStore } from '../utils/stores';
5
5
  import { KnownError, KnownErrors } from '../known-errors';
@@ -330,7 +330,7 @@ export class StackClientInterface {
330
330
  password,
331
331
  emailVerificationRedirectUrl,
332
332
  }),
333
- }, tokenStore, [KnownErrors.UserEmailAlreadyExists]);
333
+ }, tokenStore, [KnownErrors.UserEmailAlreadyExists, KnownErrors.PasswordRequirementsNotMet]);
334
334
  if (res.status === "error") {
335
335
  return res.error;
336
336
  }
@@ -495,7 +495,7 @@ export class StackClientInterface {
495
495
  }
496
496
  export function getProductionModeErrors(project) {
497
497
  const errors = [];
498
- const fixUrlRelative = `/projects/${project.id}/urls-and-callbacks`;
498
+ const fixUrlRelative = `/projects/${project.id}/domains`;
499
499
  if (project.evaluatedConfig.allowLocalhost) {
500
500
  errors.push({
501
501
  errorMessage: "Localhost is not allowed in production mode, turn off 'Allow localhost' in project settings",
@@ -10,6 +10,7 @@ export declare const currentUserCrud: {
10
10
  clientMetadata: {} | null;
11
11
  primaryEmail: string | null;
12
12
  primaryEmailVerified: NonNullable<boolean | undefined>;
13
+ selectedTeamId: string | null;
13
14
  profileImageUrl: string | null;
14
15
  signedUpAtMillis: number;
15
16
  authMethod: NonNullable<"credential" | "oauth" | undefined>;
@@ -23,6 +24,7 @@ export declare const currentUserCrud: {
23
24
  primaryEmailVerified: undefined;
24
25
  displayName: undefined;
25
26
  clientMetadata: {};
27
+ selectedTeamId: undefined;
26
28
  profileImageUrl: undefined;
27
29
  signedUpAtMillis: undefined;
28
30
  authMethod: undefined;
@@ -34,12 +36,14 @@ export declare const currentUserCrud: {
34
36
  updateSchema: yup.ObjectSchema<{
35
37
  displayName: string | undefined;
36
38
  clientMetadata: {} | undefined;
39
+ selectedTeamId: string | null | undefined;
37
40
  }, yup.AnyObject, {
38
41
  displayName: undefined;
39
42
  clientMetadata: {};
40
43
  serverMetadata: {};
41
44
  primaryEmail: undefined;
42
45
  primaryEmailVerified: undefined;
46
+ selectedTeamId: undefined;
43
47
  }, "">;
44
48
  deleteSchema: undefined;
45
49
  };
@@ -52,6 +56,7 @@ export declare const currentUserCrud: {
52
56
  primaryEmailVerified: NonNullable<boolean | undefined>;
53
57
  displayName: string | null;
54
58
  clientMetadata: {} | null;
59
+ selectedTeamId: string | null;
55
60
  profileImageUrl: string | null;
56
61
  signedUpAtMillis: number;
57
62
  authMethod: NonNullable<"credential" | "oauth" | undefined>;
@@ -66,6 +71,7 @@ export declare const currentUserCrud: {
66
71
  primaryEmailVerified: undefined;
67
72
  displayName: undefined;
68
73
  clientMetadata: {};
74
+ selectedTeamId: undefined;
69
75
  profileImageUrl: undefined;
70
76
  signedUpAtMillis: undefined;
71
77
  authMethod: undefined;
@@ -80,12 +86,14 @@ export declare const currentUserCrud: {
80
86
  serverMetadata: {} | undefined;
81
87
  primaryEmail: string | undefined;
82
88
  primaryEmailVerified: boolean | undefined;
89
+ selectedTeamId: string | null | undefined;
83
90
  }, yup.AnyObject, {
84
91
  displayName: undefined;
85
92
  clientMetadata: {};
86
93
  serverMetadata: {};
87
94
  primaryEmail: undefined;
88
95
  primaryEmailVerified: undefined;
96
+ selectedTeamId: undefined;
89
97
  }, "">;
90
98
  deleteSchema: undefined;
91
99
  };
@@ -98,6 +106,7 @@ export declare const currentUserCrud: {
98
106
  primaryEmailVerified: NonNullable<boolean | undefined>;
99
107
  displayName: string | null;
100
108
  clientMetadata: {} | null;
109
+ selectedTeamId: string | null;
101
110
  profileImageUrl: string | null;
102
111
  signedUpAtMillis: number;
103
112
  authMethod: NonNullable<"credential" | "oauth" | undefined>;
@@ -112,6 +121,7 @@ export declare const currentUserCrud: {
112
121
  primaryEmailVerified: undefined;
113
122
  displayName: undefined;
114
123
  clientMetadata: {};
124
+ selectedTeamId: undefined;
115
125
  profileImageUrl: undefined;
116
126
  signedUpAtMillis: undefined;
117
127
  authMethod: undefined;
@@ -126,12 +136,14 @@ export declare const currentUserCrud: {
126
136
  serverMetadata: {} | undefined;
127
137
  primaryEmail: string | undefined;
128
138
  primaryEmailVerified: boolean | undefined;
139
+ selectedTeamId: string | null | undefined;
129
140
  }, yup.AnyObject, {
130
141
  displayName: undefined;
131
142
  clientMetadata: {};
132
143
  serverMetadata: {};
133
144
  primaryEmail: undefined;
134
145
  primaryEmailVerified: undefined;
146
+ selectedTeamId: undefined;
135
147
  }, "">;
136
148
  deleteSchema: undefined;
137
149
  };
@@ -3,6 +3,7 @@ import { usersCrudServerReadSchema, usersCrudServerUpdateSchema } from "./users"
3
3
  const clientUpdateSchema = usersCrudServerUpdateSchema.pick([
4
4
  "displayName",
5
5
  "clientMetadata",
6
+ "selectedTeamId",
6
7
  ]).required();
7
8
  const serverUpdateSchema = usersCrudServerUpdateSchema;
8
9
  const clientReadSchema = usersCrudServerReadSchema.pick([
@@ -18,6 +19,7 @@ const clientReadSchema = usersCrudServerReadSchema.pick([
18
19
  "hasPassword",
19
20
  "authWithEmail",
20
21
  "oauthProviders",
22
+ "selectedTeamId",
21
23
  ]).nullable().defined();
22
24
  const serverReadSchema = usersCrudServerReadSchema.nullable().defined();
23
25
  export const currentUserCrud = createCrud({
@@ -6,12 +6,14 @@ export declare const usersCrudServerUpdateSchema: yup.ObjectSchema<{
6
6
  serverMetadata: {} | undefined;
7
7
  primaryEmail: string | undefined;
8
8
  primaryEmailVerified: boolean | undefined;
9
+ selectedTeamId: string | null | undefined;
9
10
  }, yup.AnyObject, {
10
11
  displayName: undefined;
11
12
  clientMetadata: {};
12
13
  serverMetadata: {};
13
14
  primaryEmail: undefined;
14
15
  primaryEmailVerified: undefined;
16
+ selectedTeamId: undefined;
15
17
  }, "">;
16
18
  export declare const usersCrudServerReadSchema: yup.ObjectSchema<{
17
19
  projectId: string;
@@ -20,6 +22,7 @@ export declare const usersCrudServerReadSchema: yup.ObjectSchema<{
20
22
  primaryEmailVerified: NonNullable<boolean | undefined>;
21
23
  displayName: string | null;
22
24
  clientMetadata: {} | null;
25
+ selectedTeamId: string | null;
23
26
  profileImageUrl: string | null;
24
27
  signedUpAtMillis: number;
25
28
  authMethod: NonNullable<"credential" | "oauth" | undefined>;
@@ -34,6 +37,7 @@ export declare const usersCrudServerReadSchema: yup.ObjectSchema<{
34
37
  primaryEmailVerified: undefined;
35
38
  displayName: undefined;
36
39
  clientMetadata: {};
40
+ selectedTeamId: undefined;
37
41
  profileImageUrl: undefined;
38
42
  signedUpAtMillis: undefined;
39
43
  authMethod: undefined;
@@ -58,6 +62,7 @@ export declare const usersCrud: {
58
62
  primaryEmailVerified: NonNullable<boolean | undefined>;
59
63
  displayName: string | null;
60
64
  clientMetadata: {} | null;
65
+ selectedTeamId: string | null;
61
66
  profileImageUrl: string | null;
62
67
  signedUpAtMillis: number;
63
68
  authMethod: NonNullable<"credential" | "oauth" | undefined>;
@@ -72,6 +77,7 @@ export declare const usersCrud: {
72
77
  primaryEmailVerified: undefined;
73
78
  displayName: undefined;
74
79
  clientMetadata: {};
80
+ selectedTeamId: undefined;
75
81
  profileImageUrl: undefined;
76
82
  signedUpAtMillis: undefined;
77
83
  authMethod: undefined;
@@ -86,12 +92,14 @@ export declare const usersCrud: {
86
92
  serverMetadata: {} | undefined;
87
93
  primaryEmail: string | undefined;
88
94
  primaryEmailVerified: boolean | undefined;
95
+ selectedTeamId: string | null | undefined;
89
96
  }, yup.AnyObject, {
90
97
  displayName: undefined;
91
98
  clientMetadata: {};
92
99
  serverMetadata: {};
93
100
  primaryEmail: undefined;
94
101
  primaryEmailVerified: undefined;
102
+ selectedTeamId: undefined;
95
103
  }, "">;
96
104
  deleteSchema: yup.MixedSchema<{} | undefined, yup.AnyObject, undefined, "">;
97
105
  };
@@ -104,6 +112,7 @@ export declare const usersCrud: {
104
112
  primaryEmailVerified: NonNullable<boolean | undefined>;
105
113
  displayName: string | null;
106
114
  clientMetadata: {} | null;
115
+ selectedTeamId: string | null;
107
116
  profileImageUrl: string | null;
108
117
  signedUpAtMillis: number;
109
118
  authMethod: NonNullable<"credential" | "oauth" | undefined>;
@@ -118,6 +127,7 @@ export declare const usersCrud: {
118
127
  primaryEmailVerified: undefined;
119
128
  displayName: undefined;
120
129
  clientMetadata: {};
130
+ selectedTeamId: undefined;
121
131
  profileImageUrl: undefined;
122
132
  signedUpAtMillis: undefined;
123
133
  authMethod: undefined;
@@ -132,12 +142,14 @@ export declare const usersCrud: {
132
142
  serverMetadata: {} | undefined;
133
143
  primaryEmail: string | undefined;
134
144
  primaryEmailVerified: boolean | undefined;
145
+ selectedTeamId: string | null | undefined;
135
146
  }, yup.AnyObject, {
136
147
  displayName: undefined;
137
148
  clientMetadata: {};
138
149
  serverMetadata: {};
139
150
  primaryEmail: undefined;
140
151
  primaryEmailVerified: undefined;
152
+ selectedTeamId: undefined;
141
153
  }, "">;
142
154
  deleteSchema: yup.MixedSchema<{} | undefined, yup.AnyObject, undefined, "">;
143
155
  };
@@ -6,6 +6,7 @@ export const usersCrudServerUpdateSchema = yup.object({
6
6
  serverMetadata: yup.object().optional(),
7
7
  primaryEmail: yup.string().optional(),
8
8
  primaryEmailVerified: yup.boolean().optional(),
9
+ selectedTeamId: yup.string().nullable().optional(),
9
10
  }).required();
10
11
  export const usersCrudServerReadSchema = yup.object({
11
12
  projectId: yup.string().required(),
@@ -14,6 +15,7 @@ export const usersCrudServerReadSchema = yup.object({
14
15
  primaryEmailVerified: yup.boolean().required(),
15
16
  displayName: yup.string().nullable().defined(),
16
17
  clientMetadata: yup.object().nullable().defined().transform((value) => JSON.parse(JSON.stringify(value))),
18
+ selectedTeamId: yup.string().nullable().defined(),
17
19
  profileImageUrl: yup.string().nullable().defined(),
18
20
  signedUpAtMillis: yup.number().required(),
19
21
  /**
@@ -1,4 +1,4 @@
1
- import crypto from "crypto";
1
+ import crypto from "crypto-browserify";
2
2
  import { encodeBase32 } from "./bytes";
3
3
  /**
4
4
  * Generates a secure alphanumeric string using the system's cryptographically secure
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackframe/stack-shared",
3
- "version": "2.4.4",
3
+ "version": "2.4.5",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "files": [
@@ -24,6 +24,7 @@
24
24
  "jose": "^5.2.2",
25
25
  "oauth4webapi": "^2.10.3",
26
26
  "uuid": "^9.0.1",
27
+ "crypto-browserify": "^3.12.0",
27
28
  "@stackframe/stack-sc": "1.5.2"
28
29
  },
29
30
  "devDependencies": {