@aurabase/aurabase-js 0.3.0
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/.changeset/config.json +11 -0
- package/CHANGELOG.md +30 -0
- package/LICENSE +21 -0
- package/README.md +833 -0
- package/package.json +90 -0
- package/packages/ai/LICENSE +21 -0
- package/packages/ai/README.md +106 -0
- package/packages/ai/dist/index.cjs +229 -0
- package/packages/ai/dist/index.d.cts +139 -0
- package/packages/ai/dist/index.d.ts +139 -0
- package/packages/ai/dist/index.js +226 -0
- package/packages/ai/node_modules/.bin/esbuild +19 -0
- package/packages/ai/node_modules/.bin/tsc +22 -0
- package/packages/ai/node_modules/.bin/tsserver +22 -0
- package/packages/ai/node_modules/.bin/tsup +22 -0
- package/packages/ai/node_modules/.bin/tsup-node +22 -0
- package/packages/ai/node_modules/.bin/vite +22 -0
- package/packages/ai/node_modules/.bin/vitest +22 -0
- package/packages/ai/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/ai/package.json +61 -0
- package/packages/ai/src/AiService.ts +226 -0
- package/packages/ai/src/index.ts +18 -0
- package/packages/ai/src/sse.ts +141 -0
- package/packages/ai/src/types.ts +30 -0
- package/packages/ai/tests/chat-stream.test.ts +151 -0
- package/packages/ai/tests/rag-namespaces.test.ts +54 -0
- package/packages/ai/tests/sse.test.ts +69 -0
- package/packages/ai/tsconfig.json +5 -0
- package/packages/ai/tsup.config.ts +11 -0
- package/packages/aurabase/LICENSE +21 -0
- package/packages/aurabase/README.md +64 -0
- package/packages/aurabase/dist/AuraClient-DAtDbfPB.d.cts +77 -0
- package/packages/aurabase/dist/AuraClient-DAtDbfPB.d.ts +77 -0
- package/packages/aurabase/dist/index.cjs +237 -0
- package/packages/aurabase/dist/index.d.cts +46 -0
- package/packages/aurabase/dist/index.d.ts +46 -0
- package/packages/aurabase/dist/index.js +177 -0
- package/packages/aurabase/dist/ssr.cjs +224 -0
- package/packages/aurabase/dist/ssr.d.cts +65 -0
- package/packages/aurabase/dist/ssr.d.ts +65 -0
- package/packages/aurabase/dist/ssr.js +214 -0
- package/packages/aurabase/node_modules/.bin/esbuild +19 -0
- package/packages/aurabase/node_modules/.bin/tsc +22 -0
- package/packages/aurabase/node_modules/.bin/tsserver +22 -0
- package/packages/aurabase/node_modules/.bin/tsup +22 -0
- package/packages/aurabase/node_modules/.bin/tsup-node +22 -0
- package/packages/aurabase/node_modules/.bin/vite +22 -0
- package/packages/aurabase/node_modules/.bin/vitest +22 -0
- package/packages/aurabase/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/aurabase/package.json +80 -0
- package/packages/aurabase/src/AuraClient.ts +237 -0
- package/packages/aurabase/src/index.ts +152 -0
- package/packages/aurabase/src/ssr.ts +156 -0
- package/packages/aurabase/tests/ai-streaming-rag-e2e.test.ts +82 -0
- package/packages/aurabase/tests/ai.test.ts +111 -0
- package/packages/aurabase/tests/auth-admin.test.ts +515 -0
- package/packages/aurabase/tests/auth-e2e.test.ts +135 -0
- package/packages/aurabase/tests/auth-hardening.test.ts +206 -0
- package/packages/aurabase/tests/auth.test.ts +947 -0
- package/packages/aurabase/tests/database.test.ts +230 -0
- package/packages/aurabase/tests/db-types-e2e.test.ts +217 -0
- package/packages/aurabase/tests/dispose.test.ts +23 -0
- package/packages/aurabase/tests/foreign-token.e2e.test.ts +129 -0
- package/packages/aurabase/tests/functions.test.ts +107 -0
- package/packages/aurabase/tests/integration.test.ts +413 -0
- package/packages/aurabase/tests/live-production-validation.js +241 -0
- package/packages/aurabase/tests/live-sdk-production-validation.js +293 -0
- package/packages/aurabase/tests/mocks.ts +139 -0
- package/packages/aurabase/tests/notifications.test.ts +314 -0
- package/packages/aurabase/tests/observability-backup.test.ts +186 -0
- package/packages/aurabase/tests/observability-hook.test.ts +130 -0
- package/packages/aurabase/tests/production-robustness.test.ts +268 -0
- package/packages/aurabase/tests/public-api-surface.test.ts +53 -0
- package/packages/aurabase/tests/query-builder.test.ts +329 -0
- package/packages/aurabase/tests/readme-smoke-e2e.test.ts +231 -0
- package/packages/aurabase/tests/realtime-filter-e2e.test.ts +344 -0
- package/packages/aurabase/tests/refresh-locks.test.ts +210 -0
- package/packages/aurabase/tests/retry-option.test.ts +17 -0
- package/packages/aurabase/tests/rpc-e2e.test.ts +254 -0
- package/packages/aurabase/tests/rs256-local-e2e.test.ts +114 -0
- package/packages/aurabase/tests/rt-alias-public-e2e.test.ts +235 -0
- package/packages/aurabase/tests/rt-http-broadcast-e2e.test.ts +124 -0
- package/packages/aurabase/tests/service-role-guard.test.ts +99 -0
- package/packages/aurabase/tests/ssr.test.ts +91 -0
- package/packages/aurabase/tests/storage-backend-e2e.test.ts +481 -0
- package/packages/aurabase/tests/storage-sdk-parity-e2e.test.ts +104 -0
- package/packages/aurabase/tests/storage-transform-e2e.test.ts +684 -0
- package/packages/aurabase/tests/storage.test.ts +55 -0
- package/packages/aurabase/tests/types/client-generic.test-d.ts +79 -0
- package/packages/aurabase/tests/types/docs-snippets.test-d.ts +571 -0
- package/packages/aurabase/tests/types/error-code.test-d.ts +53 -0
- package/packages/aurabase/tsconfig.json +5 -0
- package/packages/aurabase/tsconfig.test-d.json +5 -0
- package/packages/aurabase/tsup.config.ts +11 -0
- package/packages/aurabase/vitest.config.ts +16 -0
- package/packages/aurabase/vitest.e2e.config.ts +9 -0
- package/packages/auth/LICENSE +21 -0
- package/packages/auth/README.md +215 -0
- package/packages/auth/dist/index.cjs +1175 -0
- package/packages/auth/dist/index.d.cts +397 -0
- package/packages/auth/dist/index.d.ts +397 -0
- package/packages/auth/dist/index.js +1170 -0
- package/packages/auth/node_modules/.bin/esbuild +19 -0
- package/packages/auth/node_modules/.bin/tsc +22 -0
- package/packages/auth/node_modules/.bin/tsserver +22 -0
- package/packages/auth/node_modules/.bin/tsup +22 -0
- package/packages/auth/node_modules/.bin/tsup-node +22 -0
- package/packages/auth/node_modules/.bin/vite +22 -0
- package/packages/auth/node_modules/.bin/vitest +22 -0
- package/packages/auth/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/auth/package.json +61 -0
- package/packages/auth/src/AuthAdminService.ts +149 -0
- package/packages/auth/src/AuthService.ts +1166 -0
- package/packages/auth/src/SessionManager.ts +92 -0
- package/packages/auth/src/index.ts +17 -0
- package/packages/auth/src/jwks.ts +337 -0
- package/packages/auth/src/pkce.ts +27 -0
- package/packages/auth/src/types.ts +89 -0
- package/packages/auth/tests/auth-lifecycle.test.ts +149 -0
- package/packages/auth/tests/detect-session.test.ts +361 -0
- package/packages/auth/tests/getclaims.test.ts +780 -0
- package/packages/auth/tests/is-mfa-challenge.test.ts +27 -0
- package/packages/auth/tests/password-recovery.test.ts +124 -0
- package/packages/auth/tests/pkce.test.ts +192 -0
- package/packages/auth/tests/session-manager.test.ts +103 -0
- package/packages/auth/tests/set-session.test.ts +139 -0
- package/packages/auth/tests/verify-otp.test.ts +153 -0
- package/packages/auth/tsconfig.json +5 -0
- package/packages/auth/tsup.config.ts +11 -0
- package/packages/core/LICENSE +21 -0
- package/packages/core/README.md +132 -0
- package/packages/core/dist/index.cjs +695 -0
- package/packages/core/dist/index.d.cts +1137 -0
- package/packages/core/dist/index.d.ts +1137 -0
- package/packages/core/dist/index.js +673 -0
- package/packages/core/node_modules/.bin/esbuild +22 -0
- package/packages/core/node_modules/.bin/tsc +22 -0
- package/packages/core/node_modules/.bin/tsserver +22 -0
- package/packages/core/node_modules/.bin/tsup +22 -0
- package/packages/core/node_modules/.bin/tsup-node +22 -0
- package/packages/core/node_modules/.bin/vite +22 -0
- package/packages/core/node_modules/.bin/vitest +22 -0
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/core/package.json +57 -0
- package/packages/core/src/AuraError.ts +89 -0
- package/packages/core/src/BaseService.ts +44 -0
- package/packages/core/src/client.ts +34 -0
- package/packages/core/src/cookie-utils.ts +42 -0
- package/packages/core/src/fetch.ts +435 -0
- package/packages/core/src/index.ts +22 -0
- package/packages/core/src/retry.ts +63 -0
- package/packages/core/src/serialize.ts +6 -0
- package/packages/core/src/stores/BaseAuthStore.ts +164 -0
- package/packages/core/src/stores/LocalAuthStore.ts +199 -0
- package/packages/core/src/types.ts +1042 -0
- package/packages/core/tests/auth-store.test.ts +300 -0
- package/packages/core/tests/error-code.test.ts +61 -0
- package/packages/core/tests/error.test.ts +24 -0
- package/packages/core/tests/fetch.test.ts +286 -0
- package/packages/core/tests/mocks.ts +139 -0
- package/packages/core/tests/observability.test.ts +86 -0
- package/packages/core/tests/refresh-hardening.test.ts +164 -0
- package/packages/core/tests/refresh-observability.test.ts +111 -0
- package/packages/core/tests/retry.test.ts +106 -0
- package/packages/core/tests/serialize.test.ts +12 -0
- package/packages/core/tests/timeout.test.ts +79 -0
- package/packages/core/tsconfig.json +5 -0
- package/packages/core/tsup.config.ts +11 -0
- package/packages/db/LICENSE +21 -0
- package/packages/db/README.md +152 -0
- package/packages/db/VENDORED.md +93 -0
- package/packages/db/dist/index.cjs +544 -0
- package/packages/db/dist/index.d.cts +1111 -0
- package/packages/db/dist/index.d.ts +1111 -0
- package/packages/db/dist/index.js +541 -0
- package/packages/db/node_modules/.bin/esbuild +19 -0
- package/packages/db/node_modules/.bin/tsc +22 -0
- package/packages/db/node_modules/.bin/tsserver +22 -0
- package/packages/db/node_modules/.bin/tsup +22 -0
- package/packages/db/node_modules/.bin/tsup-node +22 -0
- package/packages/db/node_modules/.bin/vite +22 -0
- package/packages/db/node_modules/.bin/vitest +22 -0
- package/packages/db/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/db/package.json +62 -0
- package/packages/db/src/DatabaseService.ts +170 -0
- package/packages/db/src/QueryBuilder.ts +830 -0
- package/packages/db/src/index.ts +2 -0
- package/packages/db/src/pgrst-types/common/common.ts +86 -0
- package/packages/db/src/pgrst-types/common/rpc.ts +151 -0
- package/packages/db/src/pgrst-types/feature-flags.ts +20 -0
- package/packages/db/src/pgrst-types/types.ts +134 -0
- package/packages/db/src/select-query-parser/parser.ts +479 -0
- package/packages/db/src/select-query-parser/result.ts +553 -0
- package/packages/db/src/select-query-parser/types.ts +132 -0
- package/packages/db/src/select-query-parser/utils.ts +707 -0
- package/packages/db/tests/filters.test.ts +81 -0
- package/packages/db/tests/mutations-filtered.e2e.test.ts +132 -0
- package/packages/db/tests/mutations-filtered.test.ts +188 -0
- package/packages/db/tests/order.test.ts +45 -0
- package/packages/db/tests/rpc.test.ts +41 -0
- package/packages/db/tests/scale/build-large-schema.ts +94 -0
- package/packages/db/tests/scale/scale-compile.test.ts +167 -0
- package/packages/db/tests/schema.test.ts +77 -0
- package/packages/db/tests/single-accept.e2e.test.ts +123 -0
- package/packages/db/tests/single.test.ts +211 -0
- package/packages/db/tests/types/filters.test-d.ts +52 -0
- package/packages/db/tests/types/fixtures.ts +40 -0
- package/packages/db/tests/types/from-views.test-d.ts +18 -0
- package/packages/db/tests/types/mutations.test-d.ts +23 -0
- package/packages/db/tests/types/rpc.test-d.ts +60 -0
- package/packages/db/tests/types/schema-shape.test-d.ts +8 -0
- package/packages/db/tests/types/select-inference.test-d.ts +38 -0
- package/packages/db/tests/vendored/fixtures.ts +83 -0
- package/packages/db/tests/vendored/get-result.test-d.ts +75 -0
- package/packages/db/tsconfig.json +5 -0
- package/packages/db/tsconfig.test-d.json +5 -0
- package/packages/db/tsup.config.ts +11 -0
- package/packages/db/vitest.config.ts +8 -0
- package/packages/functions/LICENSE +21 -0
- package/packages/functions/README.md +96 -0
- package/packages/functions/dist/index.cjs +173 -0
- package/packages/functions/dist/index.d.cts +81 -0
- package/packages/functions/dist/index.d.ts +81 -0
- package/packages/functions/dist/index.js +168 -0
- package/packages/functions/node_modules/.bin/esbuild +19 -0
- package/packages/functions/node_modules/.bin/tsc +22 -0
- package/packages/functions/node_modules/.bin/tsserver +22 -0
- package/packages/functions/node_modules/.bin/tsup +22 -0
- package/packages/functions/node_modules/.bin/tsup-node +22 -0
- package/packages/functions/node_modules/.bin/vite +22 -0
- package/packages/functions/node_modules/.bin/vitest +22 -0
- package/packages/functions/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/functions/package.json +60 -0
- package/packages/functions/src/FunctionsService.ts +188 -0
- package/packages/functions/src/errors.ts +70 -0
- package/packages/functions/src/index.ts +6 -0
- package/packages/functions/tests/invoke.test.ts +97 -0
- package/packages/functions/tests/response-type-errors.test.ts +135 -0
- package/packages/functions/tsconfig.json +5 -0
- package/packages/functions/tsup.config.ts +11 -0
- package/packages/gen/LICENSE +21 -0
- package/packages/gen/README.md +84 -0
- package/packages/gen/dist/cli.cjs +334 -0
- package/packages/gen/dist/cli.d.cts +1 -0
- package/packages/gen/dist/cli.d.ts +1 -0
- package/packages/gen/dist/cli.js +332 -0
- package/packages/gen/dist/index.cjs +257 -0
- package/packages/gen/dist/index.d.cts +12 -0
- package/packages/gen/dist/index.d.ts +12 -0
- package/packages/gen/dist/index.js +255 -0
- package/packages/gen/node_modules/.bin/esbuild +19 -0
- package/packages/gen/node_modules/.bin/tsc +22 -0
- package/packages/gen/node_modules/.bin/tsserver +22 -0
- package/packages/gen/node_modules/.bin/tsup +22 -0
- package/packages/gen/node_modules/.bin/tsup-node +22 -0
- package/packages/gen/node_modules/.bin/vite +22 -0
- package/packages/gen/node_modules/.bin/vitest +22 -0
- package/packages/gen/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/gen/package.json +66 -0
- package/packages/gen/src/cli.ts +67 -0
- package/packages/gen/src/generate.ts +0 -0
- package/packages/gen/src/index.ts +2 -0
- package/packages/gen/tests/compile.test.ts +213 -0
- package/packages/gen/tests/e2e.test.ts +130 -0
- package/packages/gen/tests/generate.test.ts +396 -0
- package/packages/gen/tsconfig.json +5 -0
- package/packages/gen/tsup.config.ts +11 -0
- package/packages/notifications/LICENSE +21 -0
- package/packages/notifications/README.md +134 -0
- package/packages/notifications/dist/index.cjs +128 -0
- package/packages/notifications/dist/index.d.cts +81 -0
- package/packages/notifications/dist/index.d.ts +81 -0
- package/packages/notifications/dist/index.js +125 -0
- package/packages/notifications/node_modules/.bin/esbuild +19 -0
- package/packages/notifications/node_modules/.bin/tsc +22 -0
- package/packages/notifications/node_modules/.bin/tsserver +22 -0
- package/packages/notifications/node_modules/.bin/tsup +22 -0
- package/packages/notifications/node_modules/.bin/tsup-node +22 -0
- package/packages/notifications/node_modules/.bin/vite +22 -0
- package/packages/notifications/node_modules/.bin/vitest +22 -0
- package/packages/notifications/package.json +60 -0
- package/packages/notifications/src/NotificationsService.ts +230 -0
- package/packages/notifications/src/index.ts +19 -0
- package/packages/notifications/tsconfig.json +5 -0
- package/packages/notifications/tsup.config.ts +11 -0
- package/packages/realtime/LICENSE +21 -0
- package/packages/realtime/README.md +183 -0
- package/packages/realtime/dist/index.cjs +977 -0
- package/packages/realtime/dist/index.d.cts +259 -0
- package/packages/realtime/dist/index.d.ts +259 -0
- package/packages/realtime/dist/index.js +973 -0
- package/packages/realtime/node_modules/.bin/esbuild +19 -0
- package/packages/realtime/node_modules/.bin/tsc +22 -0
- package/packages/realtime/node_modules/.bin/tsserver +22 -0
- package/packages/realtime/node_modules/.bin/tsup +22 -0
- package/packages/realtime/node_modules/.bin/tsup-node +22 -0
- package/packages/realtime/node_modules/.bin/vite +22 -0
- package/packages/realtime/node_modules/.bin/vitest +22 -0
- package/packages/realtime/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/realtime/package.json +60 -0
- package/packages/realtime/src/AuraChannel.ts +485 -0
- package/packages/realtime/src/HeartbeatManager.ts +73 -0
- package/packages/realtime/src/RealtimeService.ts +505 -0
- package/packages/realtime/src/columnFilter.ts +301 -0
- package/packages/realtime/src/index.ts +4 -0
- package/packages/realtime/tests/ack-routing.test.ts +81 -0
- package/packages/realtime/tests/column-filter.test.ts +144 -0
- package/packages/realtime/tests/dispatch.test.ts +191 -0
- package/packages/realtime/tests/heartbeat.test.ts +67 -0
- package/packages/realtime/tests/http-broadcast.test.ts +68 -0
- package/packages/realtime/tests/realtime-token.test.ts +43 -0
- package/packages/realtime/tests/reconnect-race.test.ts +149 -0
- package/packages/realtime/tests/ref-id.test.ts +34 -0
- package/packages/realtime/tests/set-auth.test.ts +70 -0
- package/packages/realtime/tsconfig.json +5 -0
- package/packages/realtime/tsup.config.ts +11 -0
- package/packages/storage/LICENSE +21 -0
- package/packages/storage/README.md +141 -0
- package/packages/storage/dist/index.cjs +333 -0
- package/packages/storage/dist/index.d.cts +185 -0
- package/packages/storage/dist/index.d.ts +185 -0
- package/packages/storage/dist/index.js +329 -0
- package/packages/storage/node_modules/.bin/esbuild +19 -0
- package/packages/storage/node_modules/.bin/tsc +22 -0
- package/packages/storage/node_modules/.bin/tsserver +22 -0
- package/packages/storage/node_modules/.bin/tsup +22 -0
- package/packages/storage/node_modules/.bin/tsup-node +22 -0
- package/packages/storage/node_modules/.bin/vite +22 -0
- package/packages/storage/node_modules/.bin/vitest +22 -0
- package/packages/storage/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/storage/package.json +60 -0
- package/packages/storage/src/DownloadBuilder.ts +60 -0
- package/packages/storage/src/StorageService.ts +323 -0
- package/packages/storage/src/index.ts +2 -0
- package/packages/storage/src/path.ts +35 -0
- package/packages/storage/src/transform.ts +15 -0
- package/packages/storage/tests/download.test.ts +64 -0
- package/packages/storage/tests/parity.test.ts +154 -0
- package/packages/storage/tests/path.test.ts +87 -0
- package/packages/storage/tests/transform.test.ts +79 -0
- package/packages/storage/tsconfig.json +5 -0
- package/packages/storage/tsup.config.ts +11 -0
- package/pnpm-workspace.yaml +24 -0
- package/tsconfig.base.json +15 -0
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
import { BaseService, AuraClientLike, AuthChangePayload, SignUpRequest, AuraResponse, LoginResponse, SignInRequest, OAuthSignInOptions, MagicLinkRequest, TokenPair, User, SessionInfo, GetClaimsResult, UpdateUserRequest, PasswordResetRequest, MfaEnrollResponse, MfaVerifyRequest, IdentityInfo, MfaChallenge, AdminUser, AdminCreateUserRequest, AdminUpdateUserRequest, GenerateLinkType, GenerateLinkResult, UserStats, AdminSessionInfo, AuditLogEntry, AuthSettings, EmailTemplateUpdate } from '@aurabase/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Types d'OTP « email » (parité `EmailOtpType` de supabase-js). Tous ne sont pas
|
|
5
|
+
* exercables côté backend Aurabase : `invite` n'a aucun endpoint (→ `verifyOtp`
|
|
6
|
+
* lève `otp_type_unsupported`). Conservé dans l'union pour la parité de surface.
|
|
7
|
+
*/
|
|
8
|
+
type EmailOtpType = 'signup' | 'invite' | 'magiclink' | 'recovery' | 'email_change' | 'email';
|
|
9
|
+
/**
|
|
10
|
+
* Types d'OTP « mobile » (parité `MobileOtpType` de supabase-js). `phone_change`
|
|
11
|
+
* n'a aucun endpoint backend (→ `otp_type_unsupported`).
|
|
12
|
+
*/
|
|
13
|
+
type MobileOtpType = 'sms' | 'phone_change';
|
|
14
|
+
interface VerifySignupOtpParams {
|
|
15
|
+
type: 'signup';
|
|
16
|
+
/** Jeton reçu par email (lien de confirmation d'inscription). */
|
|
17
|
+
token: string;
|
|
18
|
+
}
|
|
19
|
+
interface VerifyMagiclinkOtpParams {
|
|
20
|
+
type: 'magiclink';
|
|
21
|
+
/** Jeton du magic link. */
|
|
22
|
+
token: string;
|
|
23
|
+
}
|
|
24
|
+
interface VerifyEmailOtpParams {
|
|
25
|
+
type: 'email';
|
|
26
|
+
email: string;
|
|
27
|
+
/** Code OTP à 6 chiffres reçu par email (mappé sur `code` côté backend). */
|
|
28
|
+
token: string;
|
|
29
|
+
}
|
|
30
|
+
interface VerifySmsOtpParams {
|
|
31
|
+
type: 'sms';
|
|
32
|
+
phone: string;
|
|
33
|
+
/** Code OTP reçu par SMS (mappé sur `code` côté backend). */
|
|
34
|
+
token: string;
|
|
35
|
+
}
|
|
36
|
+
interface VerifyEmailChangeOtpParams {
|
|
37
|
+
type: 'email_change';
|
|
38
|
+
/** Jeton de confirmation de changement d'email. */
|
|
39
|
+
token: string;
|
|
40
|
+
}
|
|
41
|
+
interface VerifyRecoveryOtpParams {
|
|
42
|
+
type: 'recovery';
|
|
43
|
+
/** Jeton de récupération reçu par email. */
|
|
44
|
+
token: string;
|
|
45
|
+
/**
|
|
46
|
+
* Nouveau mot de passe. REQUIS : le backend `reset-password` fusionne
|
|
47
|
+
* consommation du token + changement de mot de passe (divergence documentée
|
|
48
|
+
* avec supabase-js qui renvoie une session puis attend un `updateUser`).
|
|
49
|
+
*/
|
|
50
|
+
password: string;
|
|
51
|
+
}
|
|
52
|
+
/** Type de surface (parité) sans endpoint backend → `otp_type_unsupported`. */
|
|
53
|
+
interface VerifyInviteOtpParams {
|
|
54
|
+
type: 'invite';
|
|
55
|
+
token: string;
|
|
56
|
+
}
|
|
57
|
+
/** Type de surface (parité) sans endpoint backend → `otp_type_unsupported`. */
|
|
58
|
+
interface VerifyPhoneChangeOtpParams {
|
|
59
|
+
type: 'phone_change';
|
|
60
|
+
phone: string;
|
|
61
|
+
token: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Union discriminée par `type` de la façade `verifyOtp` (parité surface
|
|
65
|
+
* `@supabase/auth-js`). Chaque variante route vers l'endpoint historique
|
|
66
|
+
* correspondant. `invite`/`phone_change` restent dans l'union pour la parité
|
|
67
|
+
* mais lèvent `otp_type_unsupported` tant que le backend ne les expose pas.
|
|
68
|
+
*/
|
|
69
|
+
type VerifyOtpParams = VerifySignupOtpParams | VerifyMagiclinkOtpParams | VerifyEmailOtpParams | VerifySmsOtpParams | VerifyEmailChangeOtpParams | VerifyRecoveryOtpParams | VerifyInviteOtpParams | VerifyPhoneChangeOtpParams;
|
|
70
|
+
|
|
71
|
+
type AuthStateCallback = (payload: AuthChangePayload) => void;
|
|
72
|
+
interface AuthServiceOptions {
|
|
73
|
+
autoRefresh?: boolean;
|
|
74
|
+
persistSession?: boolean;
|
|
75
|
+
/** Interne/test : force l'activation du SessionManager même hors navigateur. */
|
|
76
|
+
forceEnabled?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Détecte/consomme une session dans l'URL au boot (callback OAuth). Défaut :
|
|
79
|
+
* `true` en navigateur, no-op hors navigateur. Voir `_detectSessionInUrl`.
|
|
80
|
+
*/
|
|
81
|
+
detectSessionInUrl?: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Garde de type discriminant `LoginResponse = TokenPair | MfaChallenge` (LOT 3, 3.4).
|
|
85
|
+
* Exportée (`@aurabase/auth` et re-export `aurabase`) pour permettre aux consommateurs
|
|
86
|
+
* de discriminer eux-mêmes le retour de `signUp`/`signInWithPassword` sans réimplémenter
|
|
87
|
+
* la même vérification structurelle (`mfa_required === true`).
|
|
88
|
+
*/
|
|
89
|
+
declare function isMfaChallenge(v: unknown): v is MfaChallenge;
|
|
90
|
+
declare class AuthService extends BaseService {
|
|
91
|
+
private _stateListeners;
|
|
92
|
+
private _sessionManager;
|
|
93
|
+
private _applyingRemote;
|
|
94
|
+
private _unsubStore;
|
|
95
|
+
private _disposed;
|
|
96
|
+
constructor(client: AuraClientLike, options?: AuthServiceOptions);
|
|
97
|
+
/**
|
|
98
|
+
* Détecte et consomme une session présente dans l'URL courante au boot (callback
|
|
99
|
+
* OAuth), à l'image de `detectSessionInUrl` de supabase-js :
|
|
100
|
+
* - fragment `#access_token=…&refresh_token=…` (flux implicit) → `setSession`.
|
|
101
|
+
* - query `?token=…&type=recovery` (lien de récupération de mot de passe) → émet
|
|
102
|
+
* `PASSWORD_RECOVERY` avec `recoveryToken` (AUCUNE session posée, PAS de `SIGNED_IN`).
|
|
103
|
+
* - query `?code=…` (flux PKCE) → `exchangeCodeForSession` (relit le verifier).
|
|
104
|
+
* Puis nettoie l'URL via `history.replaceState` (retire tokens/code de la barre
|
|
105
|
+
* d'adresse et de l'historique). Idempotent, no-op si aucun token/code n'est
|
|
106
|
+
* présent, no-op hors navigateur. NE THROW JAMAIS (best-effort au boot).
|
|
107
|
+
*/
|
|
108
|
+
_detectSessionInUrl(): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Retire de l'URL courante les paramètres d'auth du callback OAuth : le fragment
|
|
111
|
+
* entier (flux implicit) et les query params `code`/`state` (flux PKCE), tout en
|
|
112
|
+
* préservant les autres query params. Via `history.replaceState` (pas de nouvelle
|
|
113
|
+
* entrée d'historique). Best-effort, ne throw jamais.
|
|
114
|
+
*/
|
|
115
|
+
private _cleanAuthParamsFromUrl;
|
|
116
|
+
private _broadcastState;
|
|
117
|
+
private _applyRemoteState;
|
|
118
|
+
/** Démonte le cycle de vie proactif : ticker, visibilité, BroadcastChannel, listeners. */
|
|
119
|
+
dispose(): void;
|
|
120
|
+
private get prefix();
|
|
121
|
+
/** Clé project-scoped du `code_verifier` PKCE (anti-collision multi-projets). */
|
|
122
|
+
private get _pkceVerifierKey();
|
|
123
|
+
/**
|
|
124
|
+
* Clé project-scoped du MARQUEUR d'initiation du flux OAuth implicit (SEC-F3).
|
|
125
|
+
* Posé par `signInWithOAuth` (flux implicit) avant le redirect ; vérifié + purgé
|
|
126
|
+
* par `_detectSessionInUrl` au retour. Un fragment `#access_token` forgé/injecté
|
|
127
|
+
* par un attaquant (login-CSRF / session fixation) n'aura PAS ce marqueur → il ne
|
|
128
|
+
* sera jamais adopté.
|
|
129
|
+
*/
|
|
130
|
+
private get _oauthInitiatedKey();
|
|
131
|
+
onAuthStateChange(callback: AuthStateCallback): {
|
|
132
|
+
unsubscribe: () => void;
|
|
133
|
+
};
|
|
134
|
+
private _emitEvent;
|
|
135
|
+
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>>;
|
|
136
|
+
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>>;
|
|
137
|
+
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{
|
|
138
|
+
url: string;
|
|
139
|
+
}>>;
|
|
140
|
+
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{
|
|
141
|
+
message: string;
|
|
142
|
+
}>>;
|
|
143
|
+
signInAnonymously(): Promise<AuraResponse<TokenPair>>;
|
|
144
|
+
signOut(): Promise<AuraResponse<null>>;
|
|
145
|
+
refreshSession(): Promise<AuraResponse<TokenPair>>;
|
|
146
|
+
/**
|
|
147
|
+
* Session courante lue depuis le store (synchrone en pratique, pas d'appel réseau).
|
|
148
|
+
*
|
|
149
|
+
* ÉCART DE FORME AVEC SUPABASE (LOT 3, 3.5, documenté — pas de breaking change) :
|
|
150
|
+
* `supabase-js` renvoie `AuraResponse`-like `{data:{session: Session|null}, error}`
|
|
151
|
+
* où `Session` regroupe `access_token`/`refresh_token`/`expires_at`/`user`. Ici,
|
|
152
|
+
* `getSession()` renvoie directement `{accessToken, user}` (pas d'enveloppe
|
|
153
|
+
* `{data, error}`, pas de `refreshToken`/`expiresAt`). Ce choix est délibéré :
|
|
154
|
+
* cette méthode ne fait aucune requête réseau et ne peut donc jamais échouer
|
|
155
|
+
* (`error` serait toujours `null`) — l'envelopper aurait été un contrat menteur.
|
|
156
|
+
* Le `refreshToken` n'est pas exposé pour éviter qu'un consommateur le manipule
|
|
157
|
+
* hors du store (contrairement à `accessToken`, souvent nécessaire pour des appels
|
|
158
|
+
* `fetch` manuels côté app). Pour la session complète, lire `client.authStore`
|
|
159
|
+
* directement (`.token`, `.refreshToken`, `.user`, `.isValid`).
|
|
160
|
+
*/
|
|
161
|
+
getSession(): Promise<{
|
|
162
|
+
accessToken: string | null;
|
|
163
|
+
user: User | null;
|
|
164
|
+
}>;
|
|
165
|
+
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>>;
|
|
166
|
+
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<TokenPair>>;
|
|
167
|
+
/**
|
|
168
|
+
* Cœur de l'échange PKCE. `successEvent` détermine l'événement émis en cas de
|
|
169
|
+
* succès : `SIGNED_IN` (connexion normale) ou `PASSWORD_RECOVERY` (callback de
|
|
170
|
+
* récupération de mot de passe, `?code=…&type=recovery` — voir `_detectSessionInUrl`).
|
|
171
|
+
*/
|
|
172
|
+
private _exchangeCode;
|
|
173
|
+
listSessions(): Promise<AuraResponse<SessionInfo[]>>;
|
|
174
|
+
revokeSession(sessionId: string): Promise<AuraResponse<null>>;
|
|
175
|
+
revokeAllSessions(): Promise<AuraResponse<{
|
|
176
|
+
message: string;
|
|
177
|
+
}>>;
|
|
178
|
+
/**
|
|
179
|
+
* Récupère l'utilisateur validé côté serveur.
|
|
180
|
+
*
|
|
181
|
+
* Sans argument : valide le token de la SESSION courante (`store.token`),
|
|
182
|
+
* avec refresh proactif — comportement historique.
|
|
183
|
+
*
|
|
184
|
+
* Avec `jwt` (LOT D) : valide le token ARBITRAIRE passé, via l'override
|
|
185
|
+
* `authToken` (`Authorization: Bearer <jwt>`), SANS toucher la session
|
|
186
|
+
* (`skipAuthRefresh`, aucun refresh ni retry-401 sur le store). Le backend
|
|
187
|
+
* applique l'isolation projet native : un token d'un AUTRE projet → 403.
|
|
188
|
+
*/
|
|
189
|
+
getUser(jwt?: string): Promise<AuraResponse<User>>;
|
|
190
|
+
/**
|
|
191
|
+
* Vérifie et décode les claims d'un JWT.
|
|
192
|
+
*
|
|
193
|
+
* Chemin nominal : vérification LOCALE via JWKS + WebCrypto, uniquement pour
|
|
194
|
+
* `alg ∈ {RS256, ES256}` (anti-alg-confusion : jamais de vérif locale HS256).
|
|
195
|
+
* Chemin fallback : `getUser()` (validation serveur) quand la vérif locale
|
|
196
|
+
* n'est pas applicable — `alg` non supporté (HS256), JWKS vide, aucune clé
|
|
197
|
+
* correspondante, ou fetch JWKS en échec. C'est le chemin nominal sur les
|
|
198
|
+
* déploiements HS256 (JWKS `{"keys":[]}`).
|
|
199
|
+
*
|
|
200
|
+
* FOREIGN-TOKEN (LOT D) : le fallback getUser valide le token RÉELLEMENT visé.
|
|
201
|
+
* Pour le token de session (no-arg, ou `jwt === authStore.token`), c'est
|
|
202
|
+
* `getUser()` (validation du token du store). Pour un `jwt` ÉTRANGER, c'est
|
|
203
|
+
* `getUser(jwt)` qui présente CE token en `Authorization` (override `authToken`,
|
|
204
|
+
* jamais celui du store) : le backend le valide et renvoie SON identité. Aucune
|
|
205
|
+
* misattribution possible — on présente exactement le token à vérifier — et
|
|
206
|
+
* l'isolation projet est native côté gateway (token d'un autre projet → 403,
|
|
207
|
+
* remonté en AuraError, jamais fabriqué).
|
|
208
|
+
*
|
|
209
|
+
* NOTE (fallback) : les claims renvoyées par le chemin fallback sont dérivées
|
|
210
|
+
* de `getUser()` (identité validée serveur) et NE contiennent PAS `exp`/`iat`
|
|
211
|
+
* (ni les autres champs temporels du JWT) — un consommateur ne doit pas se
|
|
212
|
+
* fier à `claims.exp` / `claims.iat` après un fallback. Seul le chemin de
|
|
213
|
+
* vérification locale RS256/ES256 renvoie les claims JWT complètes.
|
|
214
|
+
*/
|
|
215
|
+
getClaims(jwt?: string, options?: {
|
|
216
|
+
allowExpired?: boolean;
|
|
217
|
+
issuer?: string;
|
|
218
|
+
audience?: string;
|
|
219
|
+
}): Promise<AuraResponse<GetClaimsResult>>;
|
|
220
|
+
deleteUser(password: string): Promise<AuraResponse<null>>;
|
|
221
|
+
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>>;
|
|
222
|
+
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{
|
|
223
|
+
message: string;
|
|
224
|
+
}>>;
|
|
225
|
+
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>>;
|
|
226
|
+
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>>;
|
|
227
|
+
mfaVerifySetup(code: string): Promise<AuraResponse<{
|
|
228
|
+
recovery_codes: string[];
|
|
229
|
+
}>>;
|
|
230
|
+
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>>;
|
|
231
|
+
mfaUnenroll(password: string): Promise<AuraResponse<{
|
|
232
|
+
message: string;
|
|
233
|
+
}>>;
|
|
234
|
+
/**
|
|
235
|
+
* Façade unifiée de vérification OTP (parité `verifyOtp` de `@supabase/auth-js`).
|
|
236
|
+
* Route vers l'endpoint historique correct selon `params.type`, en conservant
|
|
237
|
+
* l'effet de bord (sauvegarde de session + émission d'événement). SOURCE DE
|
|
238
|
+
* VÉRITÉ UNIQUE : les méthodes historiques (`verifyEmail`, `verifySmsOtp`, …)
|
|
239
|
+
* délèguent désormais ici.
|
|
240
|
+
*
|
|
241
|
+
* Mapping :
|
|
242
|
+
* - `signup` → POST /verify-email `{ token }` → SIGNED_IN
|
|
243
|
+
* - `magiclink` → POST /magic-link/verify `{ token }` → SIGNED_IN
|
|
244
|
+
* - `email` → POST /email-otp/verify `{ email, code }` → SIGNED_IN
|
|
245
|
+
* - `sms` → POST /sms/verify `{ phone, code }` → SIGNED_IN
|
|
246
|
+
* - `recovery` → POST /reset-password `{ token, password }` → SIGNED_IN
|
|
247
|
+
* - `email_change` → POST /user/confirm-email-change `{ token }` → USER_UPDATED
|
|
248
|
+
*
|
|
249
|
+
* Divergences documentées :
|
|
250
|
+
* - `recovery` EXIGE `password` (le backend fusionne consommation du token +
|
|
251
|
+
* changement de mot de passe) → `AuraError('missing_password')` sans appel réseau sinon.
|
|
252
|
+
* - `invite`/`phone_change` n'ont aucun endpoint backend → `AuraError('otp_type_unsupported')`.
|
|
253
|
+
* - `email_change` émet dorénavant `USER_UPDATED` (auparavant aucun événement) —
|
|
254
|
+
* amélioration assumée (parité), pas une régression.
|
|
255
|
+
*/
|
|
256
|
+
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>;
|
|
257
|
+
verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>>;
|
|
258
|
+
/**
|
|
259
|
+
* Helper commun aux vérifications OTP renvoyant une `TokenPair` : appelle
|
|
260
|
+
* l'endpoint, puis (succès) sauvegarde la session et émet `SIGNED_IN`.
|
|
261
|
+
*/
|
|
262
|
+
private _verifyToTokenPair;
|
|
263
|
+
/** Rétrocompat : délègue à `verifyOtp({ type: 'signup' })` (POST /verify-email). */
|
|
264
|
+
verifyEmail(token: string): Promise<AuraResponse<TokenPair>>;
|
|
265
|
+
resendVerificationEmail(email?: string): Promise<AuraResponse<{
|
|
266
|
+
message: string;
|
|
267
|
+
}>>;
|
|
268
|
+
signInWithEmailOtp(email: string): Promise<AuraResponse<{
|
|
269
|
+
message: string;
|
|
270
|
+
}>>;
|
|
271
|
+
/** Rétrocompat : délègue à `verifyOtp({ type: 'email' })` (POST /email-otp/verify). */
|
|
272
|
+
verifyEmailOtp(email: string, code: string): Promise<AuraResponse<TokenPair>>;
|
|
273
|
+
signInWithSmsOtp(phone: string): Promise<AuraResponse<{
|
|
274
|
+
message: string;
|
|
275
|
+
}>>;
|
|
276
|
+
/** Rétrocompat : délègue à `verifyOtp({ type: 'sms' })` (POST /sms/verify). */
|
|
277
|
+
verifySmsOtp(phone: string, code: string): Promise<AuraResponse<TokenPair>>;
|
|
278
|
+
listIdentities(): Promise<AuraResponse<IdentityInfo[]>>;
|
|
279
|
+
linkIdentity(provider: string): Promise<AuraResponse<{
|
|
280
|
+
url: string;
|
|
281
|
+
provider: string;
|
|
282
|
+
}>>;
|
|
283
|
+
unlinkIdentity(identityId: string): Promise<AuraResponse<{
|
|
284
|
+
message: string;
|
|
285
|
+
}>>;
|
|
286
|
+
/**
|
|
287
|
+
* Rétrocompat : délègue à `verifyOtp({ type: 'email_change' })`.
|
|
288
|
+
* CHANGEMENT ASSUMÉ (parité) : émet désormais `USER_UPDATED` (auparavant aucun
|
|
289
|
+
* événement) — voir CHANGELOG.
|
|
290
|
+
*/
|
|
291
|
+
confirmEmailChange(token: string): Promise<AuraResponse<User>>;
|
|
292
|
+
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{
|
|
293
|
+
recovery_codes: string[];
|
|
294
|
+
}>>;
|
|
295
|
+
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<TokenPair>>;
|
|
296
|
+
/** GoTrue parity : GET /settings — config publique du projet (pas d'auth requise). */
|
|
297
|
+
getSettings(): Promise<AuraResponse<{
|
|
298
|
+
disable_signup: boolean;
|
|
299
|
+
external: Record<string, boolean>;
|
|
300
|
+
mailer_autoconfirm: boolean;
|
|
301
|
+
mfa_enabled: boolean;
|
|
302
|
+
}>>;
|
|
303
|
+
/** Clé publiable (anon key) du projet — GET /anon-key (public, à l'image du modèle Supabase). */
|
|
304
|
+
getAnonKey(): Promise<AuraResponse<{
|
|
305
|
+
anon_key: string;
|
|
306
|
+
}>>;
|
|
307
|
+
/**
|
|
308
|
+
* Consomme le token de récupération de mot de passe et applique le nouveau mot de passe.
|
|
309
|
+
* Body confirmé au handler (`ResetPasswordRequest` — services/aura-auth/src/handlers/auth.rs) :
|
|
310
|
+
* `{ token, password }`. Révoque les anciennes sessions et renvoie une nouvelle TokenPair.
|
|
311
|
+
*/
|
|
312
|
+
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>>;
|
|
313
|
+
/**
|
|
314
|
+
* Convertit l'utilisateur anonyme courant (JWT requis) en compte régulier email+password.
|
|
315
|
+
* Body confirmé au handler (`PromoteAnonymousRequest`) : `{ email, password }`.
|
|
316
|
+
*/
|
|
317
|
+
promoteAnonymous(credentials: {
|
|
318
|
+
email: string;
|
|
319
|
+
password: string;
|
|
320
|
+
}): Promise<AuraResponse<TokenPair>>;
|
|
321
|
+
/**
|
|
322
|
+
* Consomme le token de magic link et renvoie une TokenPair.
|
|
323
|
+
* Body confirmé au handler (`VerifyMagicLinkRequest`) : `{ token }`.
|
|
324
|
+
*/
|
|
325
|
+
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>>;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
declare class AuthAdminService extends BaseService {
|
|
329
|
+
private get prefix();
|
|
330
|
+
listUsers(params?: {
|
|
331
|
+
limit?: number;
|
|
332
|
+
offset?: number;
|
|
333
|
+
search?: string;
|
|
334
|
+
}): Promise<AuraResponse<AdminUser[]>>;
|
|
335
|
+
getUser(userId: string): Promise<AuraResponse<AdminUser>>;
|
|
336
|
+
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>>;
|
|
337
|
+
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>>;
|
|
338
|
+
deleteUser(userId: string): Promise<AuraResponse<null>>;
|
|
339
|
+
banUser(userId: string): Promise<AuraResponse<null>>;
|
|
340
|
+
unbanUser(userId: string): Promise<AuraResponse<null>>;
|
|
341
|
+
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>>;
|
|
342
|
+
getUserStats(): Promise<AuraResponse<UserStats>>;
|
|
343
|
+
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>;
|
|
344
|
+
listSessions(params?: {
|
|
345
|
+
userId?: string;
|
|
346
|
+
limit?: number;
|
|
347
|
+
offset?: number;
|
|
348
|
+
}): Promise<AuraResponse<AdminSessionInfo[]>>;
|
|
349
|
+
revokeSession(sessionId: string): Promise<AuraResponse<null>>;
|
|
350
|
+
getAuditLog(params?: {
|
|
351
|
+
userId?: string;
|
|
352
|
+
limit?: number;
|
|
353
|
+
offset?: number;
|
|
354
|
+
}): Promise<AuraResponse<AuditLogEntry[]>>;
|
|
355
|
+
getSettings(): Promise<AuraResponse<AuthSettings>>;
|
|
356
|
+
updateSettings(data: Partial<AuthSettings>): Promise<AuraResponse<AuthSettings>>;
|
|
357
|
+
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>>;
|
|
358
|
+
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>>;
|
|
359
|
+
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>>;
|
|
360
|
+
deleteEmailTemplate(type: string): Promise<AuraResponse<{
|
|
361
|
+
message: string;
|
|
362
|
+
}>>;
|
|
363
|
+
testEmailTemplate(type: string, body: {
|
|
364
|
+
to_email: string;
|
|
365
|
+
}): Promise<AuraResponse<null>>;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
interface SessionManagerOptions {
|
|
369
|
+
channelName: string;
|
|
370
|
+
enabled: boolean;
|
|
371
|
+
onTick: () => void;
|
|
372
|
+
isRefreshDue: () => boolean;
|
|
373
|
+
onRemoteMessage: (data: unknown) => void;
|
|
374
|
+
tickMs?: number;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Primitive de cycle de vie de session (timers + BroadcastChannel + visibilité).
|
|
378
|
+
* Aucune logique métier auth : `AuthService` fournit les callbacks et pilote `setActive`.
|
|
379
|
+
* Sûr en Node/SSR/RN — tous les globals sont gardés (`typeof … !== 'undefined'`).
|
|
380
|
+
*/
|
|
381
|
+
declare class SessionManager {
|
|
382
|
+
private readonly opts;
|
|
383
|
+
private _interval;
|
|
384
|
+
private _channel;
|
|
385
|
+
private _active;
|
|
386
|
+
private _visHandler;
|
|
387
|
+
constructor(opts: SessionManagerOptions);
|
|
388
|
+
get isActive(): boolean;
|
|
389
|
+
start(): void;
|
|
390
|
+
setActive(active: boolean): void;
|
|
391
|
+
broadcast(data: unknown): void;
|
|
392
|
+
stop(): void;
|
|
393
|
+
private _startInterval;
|
|
394
|
+
private _stopInterval;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export { AuthAdminService, AuthService, type EmailOtpType, type MobileOtpType, SessionManager, type SessionManagerOptions, type VerifyEmailChangeOtpParams, type VerifyEmailOtpParams, type VerifyInviteOtpParams, type VerifyMagiclinkOtpParams, type VerifyOtpParams, type VerifyPhoneChangeOtpParams, type VerifyRecoveryOtpParams, type VerifySignupOtpParams, type VerifySmsOtpParams, isMfaChallenge };
|