@stackframe/stack-shared 2.8.12 → 2.8.17

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 (168) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/config/format.js +2 -2
  3. package/dist/config/schema.d.mts +32 -32
  4. package/dist/config/schema.d.ts +32 -32
  5. package/dist/config/schema.js +4 -4
  6. package/dist/config/schema.js.map +1 -1
  7. package/dist/crud.js +2 -2
  8. package/dist/esm/config/format.js +2 -2
  9. package/dist/esm/config/schema.js +4 -4
  10. package/dist/esm/config/schema.js.map +1 -1
  11. package/dist/esm/crud.js +2 -2
  12. package/dist/esm/helpers/password.js +1 -1
  13. package/dist/esm/helpers/production-mode.js +2 -2
  14. package/dist/esm/hooks/use-async-callback.js +1 -1
  15. package/dist/esm/hooks/use-async-external-store.js +1 -1
  16. package/dist/esm/hooks/use-hash.js +1 -1
  17. package/dist/esm/hooks/use-strict-memo.js +1 -1
  18. package/dist/esm/index.js +4 -4
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/interface/{adminInterface.js → admin-interface.js} +19 -3
  21. package/dist/esm/interface/admin-interface.js.map +1 -0
  22. package/dist/esm/interface/{clientInterface.js → client-interface.js} +74 -856
  23. package/dist/esm/interface/client-interface.js.map +1 -0
  24. package/dist/esm/interface/crud/contact-channels.js +2 -2
  25. package/dist/esm/interface/crud/current-user.js +4 -4
  26. package/dist/esm/interface/crud/email-templates.js +3 -3
  27. package/dist/esm/interface/crud/email-templates.js.map +1 -1
  28. package/dist/esm/interface/crud/emails.js +3 -3
  29. package/dist/esm/interface/crud/internal-api-keys.js +2 -2
  30. package/dist/esm/interface/crud/notification-preferences.js +20 -0
  31. package/dist/esm/interface/crud/notification-preferences.js.map +1 -0
  32. package/dist/esm/interface/crud/oauth.js +2 -2
  33. package/dist/esm/interface/crud/project-api-keys.js +3 -3
  34. package/dist/esm/interface/crud/project-permissions.js +3 -3
  35. package/dist/esm/interface/crud/projects.js +3 -3
  36. package/dist/esm/interface/crud/sessions.js +3 -3
  37. package/dist/esm/interface/crud/svix-token.js +2 -2
  38. package/dist/esm/interface/crud/team-invitation-details.js +3 -3
  39. package/dist/esm/interface/crud/team-invitation.js +3 -3
  40. package/dist/esm/interface/crud/team-member-profiles.js +4 -4
  41. package/dist/esm/interface/crud/team-memberships.js +2 -2
  42. package/dist/esm/interface/crud/team-permissions.js +3 -3
  43. package/dist/esm/interface/crud/teams.js +3 -3
  44. package/dist/esm/interface/crud/users.js +3 -3
  45. package/dist/esm/interface/{serverInterface.js → server-interface.js} +34 -8
  46. package/dist/esm/interface/server-interface.js.map +1 -0
  47. package/dist/esm/interface/webhooks.js +4 -4
  48. package/dist/esm/known-errors.js +3 -3
  49. package/dist/esm/schema-fields.js +11 -11
  50. package/dist/esm/schema-fields.js.map +1 -1
  51. package/dist/esm/sessions.js +2 -2
  52. package/dist/esm/utils/api-keys.js +3 -3
  53. package/dist/esm/utils/arrays.js +1 -1
  54. package/dist/esm/utils/bytes.js +4 -27
  55. package/dist/esm/utils/bytes.js.map +1 -1
  56. package/dist/esm/utils/caches.js +4 -4
  57. package/dist/esm/utils/crypto.js +3 -3
  58. package/dist/esm/utils/dates.js +1 -1
  59. package/dist/esm/utils/env.js +2 -2
  60. package/dist/esm/utils/errors.js +3 -3
  61. package/dist/esm/utils/geo.js +1 -1
  62. package/dist/esm/utils/hashes.js +1 -1
  63. package/dist/esm/utils/html.js +1 -1
  64. package/dist/esm/utils/http.js +1 -1
  65. package/dist/esm/utils/json.js +1 -1
  66. package/dist/esm/utils/jwt.js +4 -4
  67. package/dist/esm/utils/maps.js +1 -1
  68. package/dist/esm/utils/node-http.js +1 -1
  69. package/dist/esm/utils/objects.js +3 -3
  70. package/dist/esm/utils/promises.js +5 -5
  71. package/dist/esm/utils/proxies.js +1 -1
  72. package/dist/esm/utils/react.js +3 -3
  73. package/dist/esm/utils/results.js +2 -2
  74. package/dist/esm/utils/stores.js +4 -4
  75. package/dist/esm/utils/strings.js +6 -3
  76. package/dist/esm/utils/strings.js.map +1 -1
  77. package/dist/esm/utils/strings.nicify.test.js +1 -1
  78. package/dist/esm/utils/unicode.js +1 -1
  79. package/dist/esm/utils/urls.js +2 -2
  80. package/dist/esm/utils/uuids.js +1 -1
  81. package/dist/helpers/password.js +1 -1
  82. package/dist/helpers/production-mode.js +2 -2
  83. package/dist/hooks/use-async-callback.js +1 -1
  84. package/dist/hooks/use-async-external-store.js +1 -1
  85. package/dist/hooks/use-hash.js +1 -1
  86. package/dist/hooks/use-strict-memo.js +1 -1
  87. package/dist/index.d.mts +4 -3
  88. package/dist/index.d.ts +4 -3
  89. package/dist/index.js +7 -7
  90. package/dist/index.js.map +1 -1
  91. package/dist/interface/{adminInterface.d.mts → admin-interface.d.mts} +4 -2
  92. package/dist/interface/{adminInterface.d.ts → admin-interface.d.ts} +4 -2
  93. package/dist/interface/{adminInterface.js → admin-interface.js} +23 -7
  94. package/dist/interface/admin-interface.js.map +1 -0
  95. package/dist/interface/{clientInterface.d.mts → client-interface.d.mts} +8 -0
  96. package/dist/interface/{clientInterface.d.ts → client-interface.d.ts} +8 -0
  97. package/dist/interface/{clientInterface.js → client-interface.js} +87 -861
  98. package/dist/interface/client-interface.js.map +1 -0
  99. package/dist/interface/crud/contact-channels.js +2 -2
  100. package/dist/interface/crud/current-user.js +4 -4
  101. package/dist/interface/crud/email-templates.d.mts +5 -5
  102. package/dist/interface/crud/email-templates.d.ts +5 -5
  103. package/dist/interface/crud/email-templates.js +3 -3
  104. package/dist/interface/crud/email-templates.js.map +1 -1
  105. package/dist/interface/crud/emails.js +3 -3
  106. package/dist/interface/crud/internal-api-keys.js +2 -2
  107. package/dist/interface/crud/notification-preferences.d.mts +25 -0
  108. package/dist/interface/crud/notification-preferences.d.ts +25 -0
  109. package/dist/interface/crud/notification-preferences.js +45 -0
  110. package/dist/interface/crud/notification-preferences.js.map +1 -0
  111. package/dist/interface/crud/oauth.js +2 -2
  112. package/dist/interface/crud/project-api-keys.js +3 -3
  113. package/dist/interface/crud/project-permissions.js +3 -3
  114. package/dist/interface/crud/projects.js +3 -3
  115. package/dist/interface/crud/sessions.js +3 -3
  116. package/dist/interface/crud/svix-token.js +2 -2
  117. package/dist/interface/crud/team-invitation-details.js +3 -3
  118. package/dist/interface/crud/team-invitation.js +3 -3
  119. package/dist/interface/crud/team-member-profiles.js +4 -4
  120. package/dist/interface/crud/team-memberships.js +2 -2
  121. package/dist/interface/crud/team-permissions.js +3 -3
  122. package/dist/interface/crud/teams.js +3 -3
  123. package/dist/interface/crud/users.js +3 -3
  124. package/dist/interface/{serverInterface.d.mts → server-interface.d.mts} +4 -1
  125. package/dist/interface/{serverInterface.d.ts → server-interface.d.ts} +4 -1
  126. package/dist/interface/{serverInterface.js → server-interface.js} +38 -12
  127. package/dist/interface/server-interface.js.map +1 -0
  128. package/dist/interface/webhooks.js +4 -4
  129. package/dist/known-errors.js +3 -3
  130. package/dist/schema-fields.js +11 -11
  131. package/dist/schema-fields.js.map +1 -1
  132. package/dist/sessions.js +2 -2
  133. package/dist/utils/api-keys.js +3 -3
  134. package/dist/utils/arrays.js +1 -1
  135. package/dist/utils/bytes.js +4 -27
  136. package/dist/utils/bytes.js.map +1 -1
  137. package/dist/utils/caches.js +4 -4
  138. package/dist/utils/crypto.js +3 -3
  139. package/dist/utils/dates.js +1 -1
  140. package/dist/utils/env.js +2 -2
  141. package/dist/utils/errors.js +3 -3
  142. package/dist/utils/geo.js +1 -1
  143. package/dist/utils/hashes.js +1 -1
  144. package/dist/utils/html.js +1 -1
  145. package/dist/utils/http.js +1 -1
  146. package/dist/utils/json.js +1 -1
  147. package/dist/utils/jwt.js +4 -4
  148. package/dist/utils/maps.js +1 -1
  149. package/dist/utils/node-http.js +1 -1
  150. package/dist/utils/objects.js +3 -3
  151. package/dist/utils/promises.js +5 -5
  152. package/dist/utils/proxies.js +1 -1
  153. package/dist/utils/react.js +3 -3
  154. package/dist/utils/results.js +2 -2
  155. package/dist/utils/stores.js +4 -4
  156. package/dist/utils/strings.js +6 -3
  157. package/dist/utils/strings.js.map +1 -1
  158. package/dist/utils/strings.nicify.test.js +1 -1
  159. package/dist/utils/unicode.js +1 -1
  160. package/dist/utils/urls.js +2 -2
  161. package/dist/utils/uuids.js +1 -1
  162. package/package.json +1 -1
  163. package/dist/esm/interface/adminInterface.js.map +0 -1
  164. package/dist/esm/interface/clientInterface.js.map +0 -1
  165. package/dist/esm/interface/serverInterface.js.map +0 -1
  166. package/dist/interface/adminInterface.js.map +0 -1
  167. package/dist/interface/clientInterface.js.map +0 -1
  168. package/dist/interface/serverInterface.js.map +0 -1
@@ -6,8 +6,8 @@ import { ProjectPermissionDefinitionsCrud } from './crud/project-permissions.js'
6
6
  import { ProjectsCrud } from './crud/projects.js';
7
7
  import { SvixTokenCrud } from './crud/svix-token.js';
8
8
  import { TeamPermissionDefinitionsCrud } from './crud/team-permissions.js';
9
- import { ServerAuthApplicationOptions, StackServerInterface } from './serverInterface.js';
10
- import './clientInterface.js';
9
+ import { ServerAuthApplicationOptions, StackServerInterface } from './server-interface.js';
10
+ import './client-interface.js';
11
11
  import '../known-errors.js';
12
12
  import 'jose';
13
13
  import '../crud.js';
@@ -16,6 +16,7 @@ import '../utils/types.js';
16
16
  import '../utils/results.js';
17
17
  import './crud/contact-channels.js';
18
18
  import './crud/current-user.js';
19
+ import './crud/notification-preferences.js';
19
20
  import './crud/oauth.js';
20
21
  import './crud/sessions.js';
21
22
  import './crud/team-invitation.js';
@@ -89,6 +90,7 @@ declare class StackAdminInterface extends StackServerInterface {
89
90
  error_message?: string;
90
91
  }>;
91
92
  listSentEmails(): Promise<InternalEmailsCrud["Admin"]["List"]>;
93
+ sendSignInInvitationEmail(email: string, callbackUrl: string): Promise<void>;
92
94
  }
93
95
 
94
96
  export { type AdminAuthApplicationOptions, type InternalApiKeyCreateCrudRequest, type InternalApiKeyCreateCrudResponse, StackAdminInterface };
@@ -17,14 +17,14 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/interface/adminInterface.ts
21
- var adminInterface_exports = {};
22
- __export(adminInterface_exports, {
20
+ // src/interface/admin-interface.ts
21
+ var admin_interface_exports = {};
22
+ __export(admin_interface_exports, {
23
23
  StackAdminInterface: () => StackAdminInterface
24
24
  });
25
- module.exports = __toCommonJS(adminInterface_exports);
26
- var import_serverInterface = require("./serverInterface");
27
- var StackAdminInterface = class extends import_serverInterface.StackServerInterface {
25
+ module.exports = __toCommonJS(admin_interface_exports);
26
+ var import_server_interface = require("./server-interface.js");
27
+ var StackAdminInterface = class extends import_server_interface.StackServerInterface {
28
28
  constructor(options) {
29
29
  super(options);
30
30
  this.options = options;
@@ -261,9 +261,25 @@ var StackAdminInterface = class extends import_serverInterface.StackServerInterf
261
261
  }, null);
262
262
  return await response.json();
263
263
  }
264
+ async sendSignInInvitationEmail(email, callbackUrl) {
265
+ await this.sendAdminRequest(
266
+ "/internal/send-sign-in-invitation",
267
+ {
268
+ method: "POST",
269
+ headers: {
270
+ "Content-Type": "application/json"
271
+ },
272
+ body: JSON.stringify({
273
+ email,
274
+ callback_url: callbackUrl
275
+ })
276
+ },
277
+ null
278
+ );
279
+ }
264
280
  };
265
281
  // Annotate the CommonJS export names for ESM import in node:
266
282
  0 && (module.exports = {
267
283
  StackAdminInterface
268
284
  });
269
- //# sourceMappingURL=adminInterface.js.map
285
+ //# sourceMappingURL=admin-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/interface/admin-interface.ts"],"sourcesContent":["import { InternalSession } from \"../sessions\";\nimport { EmailTemplateCrud, EmailTemplateType } from \"./crud/email-templates\";\nimport { InternalEmailsCrud } from \"./crud/emails\";\nimport { InternalApiKeysCrud } from \"./crud/internal-api-keys\";\nimport { ProjectPermissionDefinitionsCrud } from \"./crud/project-permissions\";\nimport { ProjectsCrud } from \"./crud/projects\";\nimport { SvixTokenCrud } from \"./crud/svix-token\";\nimport { TeamPermissionDefinitionsCrud } from \"./crud/team-permissions\";\nimport { ServerAuthApplicationOptions, StackServerInterface } from \"./server-interface\";\n\nexport type AdminAuthApplicationOptions = ServerAuthApplicationOptions &(\n | {\n superSecretAdminKey: string,\n }\n | {\n projectOwnerSession: InternalSession,\n }\n);\n\nexport type InternalApiKeyCreateCrudRequest = {\n has_publishable_client_key: boolean,\n has_secret_server_key: boolean,\n has_super_secret_admin_key: boolean,\n expires_at_millis: number,\n description: string,\n};\n\nexport type InternalApiKeyCreateCrudResponse = InternalApiKeysCrud[\"Admin\"][\"Read\"] & {\n publishable_client_key?: string,\n secret_server_key?: string,\n super_secret_admin_key?: string,\n};\n\nexport class StackAdminInterface extends StackServerInterface {\n constructor(public readonly options: AdminAuthApplicationOptions) {\n super(options);\n }\n\n public async sendAdminRequest(path: string, options: RequestInit, session: InternalSession | null, requestType: \"admin\" = \"admin\") {\n return await this.sendServerRequest(\n path,\n {\n ...options,\n headers: {\n \"x-stack-super-secret-admin-key\": \"superSecretAdminKey\" in this.options ? this.options.superSecretAdminKey : \"\",\n ...options.headers,\n },\n },\n session,\n requestType,\n );\n }\n\n async getProject(): Promise<ProjectsCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"GET\",\n },\n null,\n );\n return await response.json();\n }\n\n async updateProject(update: ProjectsCrud[\"Admin\"][\"Update\"]): Promise<ProjectsCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(update),\n },\n null,\n );\n return await response.json();\n }\n\n async createInternalApiKey(\n options: InternalApiKeyCreateCrudRequest,\n ): Promise<InternalApiKeyCreateCrudResponse> {\n const response = await this.sendAdminRequest(\n \"/internal/api-keys\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(options),\n },\n null,\n );\n return await response.json();\n }\n\n async listInternalApiKeys(): Promise<InternalApiKeysCrud[\"Admin\"][\"Read\"][]> {\n const response = await this.sendAdminRequest(\"/internal/api-keys\", {}, null);\n const result = await response.json() as InternalApiKeysCrud[\"Admin\"][\"List\"];\n return result.items;\n }\n\n async revokeInternalApiKeyById(id: string) {\n await this.sendAdminRequest(\n `/internal/api-keys/${id}`, {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({\n revoked: true,\n }),\n },\n null,\n );\n }\n\n async getInternalApiKey(id: string, session: InternalSession): Promise<InternalApiKeysCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(`/internal/api-keys/${id}`, {}, session);\n return await response.json();\n }\n\n async listEmailTemplates(): Promise<EmailTemplateCrud['Admin']['Read'][]> {\n const response = await this.sendAdminRequest(`/email-templates`, {}, null);\n const result = await response.json() as EmailTemplateCrud['Admin']['List'];\n return result.items;\n }\n\n async updateEmailTemplate(type: EmailTemplateType, data: EmailTemplateCrud['Admin']['Update']): Promise<EmailTemplateCrud['Admin']['Read']> {\n const result = await this.sendAdminRequest(\n `/email-templates/${type}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await result.json();\n }\n\n async resetEmailTemplate(type: EmailTemplateType): Promise<void> {\n await this.sendAdminRequest(\n `/email-templates/${type}`,\n { method: \"DELETE\" },\n null\n );\n }\n\n // Team permission definitions methods\n async listTeamPermissionDefinitions(): Promise<TeamPermissionDefinitionsCrud['Admin']['Read'][]> {\n const response = await this.sendAdminRequest(`/team-permission-definitions`, {}, null);\n const result = await response.json() as TeamPermissionDefinitionsCrud['Admin']['List'];\n return result.items;\n }\n\n async createTeamPermissionDefinition(data: TeamPermissionDefinitionsCrud['Admin']['Create']): Promise<TeamPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n \"/team-permission-definitions\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async updateTeamPermissionDefinition(permissionId: string, data: TeamPermissionDefinitionsCrud['Admin']['Update']): Promise<TeamPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n `/team-permission-definitions/${permissionId}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteTeamPermissionDefinition(permissionId: string): Promise<void> {\n await this.sendAdminRequest(\n `/team-permission-definitions/${permissionId}`,\n { method: \"DELETE\" },\n null,\n );\n }\n\n async listProjectPermissionDefinitions(): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read'][]> {\n const response = await this.sendAdminRequest(`/project-permission-definitions`, {}, null);\n const result = await response.json() as ProjectPermissionDefinitionsCrud['Admin']['List'];\n return result.items;\n }\n\n async createProjectPermissionDefinition(data: ProjectPermissionDefinitionsCrud['Admin']['Create']): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n \"/project-permission-definitions\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async updateProjectPermissionDefinition(permissionId: string, data: ProjectPermissionDefinitionsCrud['Admin']['Update']): Promise<ProjectPermissionDefinitionsCrud['Admin']['Read']> {\n const response = await this.sendAdminRequest(\n `/project-permission-definitions/${permissionId}`,\n {\n method: \"PATCH\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteProjectPermissionDefinition(permissionId: string): Promise<void> {\n await this.sendAdminRequest(\n `/project-permission-definitions/${permissionId}`,\n { method: \"DELETE\" },\n null,\n );\n }\n\n async getSvixToken(): Promise<SvixTokenCrud[\"Admin\"][\"Read\"]> {\n const response = await this.sendAdminRequest(\n \"/webhooks/svix-token\",\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify({}),\n },\n null,\n );\n return await response.json();\n }\n\n async deleteProject(): Promise<void> {\n await this.sendAdminRequest(\n \"/internal/projects/current\",\n {\n method: \"DELETE\",\n },\n null,\n );\n }\n\n async getMetrics(): Promise<any> {\n const response = await this.sendAdminRequest(\n \"/internal/metrics\",\n {\n method: \"GET\",\n },\n null,\n );\n return await response.json();\n }\n\n async sendTestEmail(data: {\n recipient_email: string,\n email_config: {\n host: string,\n port: number,\n username: string,\n password: string,\n sender_email: string,\n sender_name: string,\n },\n }): Promise<{ success: boolean, error_message?: string }> {\n const response = await this.sendAdminRequest(`/internal/send-test-email`, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(data),\n }, null);\n return await response.json();\n }\n\n async listSentEmails(): Promise<InternalEmailsCrud[\"Admin\"][\"List\"]> {\n const response = await this.sendAdminRequest(\"/internal/emails\", {\n method: \"GET\",\n }, null);\n return await response.json();\n }\n\n async sendSignInInvitationEmail(\n email: string,\n callbackUrl: string,\n ): Promise<void> {\n await this.sendAdminRequest(\n \"/internal/send-sign-in-invitation\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email,\n callback_url: callbackUrl,\n }),\n },\n null,\n );\n }\n}\n"],"mappings":"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","names":[]}
@@ -6,6 +6,7 @@ import { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON, Publi
6
6
  import { Result } from '../utils/results.mjs';
7
7
  import { ContactChannelsCrud } from './crud/contact-channels.mjs';
8
8
  import { CurrentUserCrud } from './crud/current-user.mjs';
9
+ import { NotificationPreferenceCrud } from './crud/notification-preferences.mjs';
9
10
  import { ConnectedAccountAccessTokenCrud } from './crud/oauth.mjs';
10
11
  import { UserApiKeysCrud, TeamApiKeysCrud, userApiKeysCreateInputSchema, userApiKeysCreateOutputSchema, teamApiKeysCreateInputSchema, teamApiKeysCreateOutputSchema } from './crud/project-api-keys.mjs';
11
12
  import { ProjectPermissionsCrud } from './crud/project-permissions.mjs';
@@ -134,6 +135,11 @@ declare class StackClientInterface {
134
135
  accessToken: string;
135
136
  refreshToken: string;
136
137
  }, KnownErrors["VerificationCodeError"]>>;
138
+ signInWithMfa(totp: string, code: string): Promise<Result<{
139
+ newUser: boolean;
140
+ accessToken: string;
141
+ refreshToken: string;
142
+ }, KnownErrors["VerificationCodeError"]>>;
137
143
  signInWithPasskey(body: {
138
144
  authentication_response: AuthenticationResponseJSON;
139
145
  code: string;
@@ -255,6 +261,8 @@ declare class StackClientInterface {
255
261
  checkProjectApiKey(type: "user", apiKey: string, session: InternalSession | null, requestType: "client" | "server" | "admin"): Promise<UserApiKeysCrud['Client']['Read'] | null>;
256
262
  checkProjectApiKey(type: "team", apiKey: string, session: InternalSession | null, requestType: "client" | "server" | "admin"): Promise<TeamApiKeysCrud['Client']['Read'] | null>;
257
263
  checkProjectApiKey(type: "user" | "team", apiKey: string, session: InternalSession | null, requestType: "client" | "server" | "admin"): Promise<UserApiKeysCrud['Client']['Read'] | TeamApiKeysCrud['Client']['Read'] | null>;
264
+ listNotificationCategories(session: InternalSession): Promise<NotificationPreferenceCrud['Client']['Read'][]>;
265
+ setNotificationsEnabled(notificationCategoryId: string, enabled: boolean, session: InternalSession): Promise<void>;
258
266
  }
259
267
 
260
268
  export { type ClientInterfaceOptions, StackClientInterface };
@@ -6,6 +6,7 @@ import { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON, Publi
6
6
  import { Result } from '../utils/results.js';
7
7
  import { ContactChannelsCrud } from './crud/contact-channels.js';
8
8
  import { CurrentUserCrud } from './crud/current-user.js';
9
+ import { NotificationPreferenceCrud } from './crud/notification-preferences.js';
9
10
  import { ConnectedAccountAccessTokenCrud } from './crud/oauth.js';
10
11
  import { UserApiKeysCrud, TeamApiKeysCrud, userApiKeysCreateInputSchema, userApiKeysCreateOutputSchema, teamApiKeysCreateInputSchema, teamApiKeysCreateOutputSchema } from './crud/project-api-keys.js';
11
12
  import { ProjectPermissionsCrud } from './crud/project-permissions.js';
@@ -134,6 +135,11 @@ declare class StackClientInterface {
134
135
  accessToken: string;
135
136
  refreshToken: string;
136
137
  }, KnownErrors["VerificationCodeError"]>>;
138
+ signInWithMfa(totp: string, code: string): Promise<Result<{
139
+ newUser: boolean;
140
+ accessToken: string;
141
+ refreshToken: string;
142
+ }, KnownErrors["VerificationCodeError"]>>;
137
143
  signInWithPasskey(body: {
138
144
  authentication_response: AuthenticationResponseJSON;
139
145
  code: string;
@@ -255,6 +261,8 @@ declare class StackClientInterface {
255
261
  checkProjectApiKey(type: "user", apiKey: string, session: InternalSession | null, requestType: "client" | "server" | "admin"): Promise<UserApiKeysCrud['Client']['Read'] | null>;
256
262
  checkProjectApiKey(type: "team", apiKey: string, session: InternalSession | null, requestType: "client" | "server" | "admin"): Promise<TeamApiKeysCrud['Client']['Read'] | null>;
257
263
  checkProjectApiKey(type: "user" | "team", apiKey: string, session: InternalSession | null, requestType: "client" | "server" | "admin"): Promise<UserApiKeysCrud['Client']['Read'] | TeamApiKeysCrud['Client']['Read'] | null>;
264
+ listNotificationCategories(session: InternalSession): Promise<NotificationPreferenceCrud['Client']['Read'][]>;
265
+ setNotificationsEnabled(notificationCategoryId: string, enabled: boolean, session: InternalSession): Promise<void>;
258
266
  }
259
267
 
260
268
  export { type ClientInterfaceOptions, StackClientInterface };