@effect-auth/core 0.1.0-alpha.3 → 0.1.0-alpha.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.
Files changed (158) hide show
  1. package/README.md +148 -13
  2. package/dist/ApiKey.d.ts +207 -0
  3. package/dist/ApiKey.d.ts.map +1 -0
  4. package/dist/ApiKey.js +275 -0
  5. package/dist/ApiKey.js.map +1 -0
  6. package/dist/AuditLog.d.ts +204 -1
  7. package/dist/AuditLog.d.ts.map +1 -1
  8. package/dist/AuditLog.js +170 -0
  9. package/dist/AuditLog.js.map +1 -1
  10. package/dist/AuthConfig.d.ts +0 -9
  11. package/dist/AuthConfig.d.ts.map +1 -1
  12. package/dist/AuthConfig.js +1 -14
  13. package/dist/AuthConfig.js.map +1 -1
  14. package/dist/AuthFlow.d.ts +220 -51
  15. package/dist/AuthFlow.d.ts.map +1 -1
  16. package/dist/AuthFlow.js +550 -22
  17. package/dist/AuthFlow.js.map +1 -1
  18. package/dist/AuthKernel.d.ts +1 -1
  19. package/dist/Challenge.d.ts +5 -1
  20. package/dist/Challenge.d.ts.map +1 -1
  21. package/dist/Challenge.js +58 -48
  22. package/dist/Challenge.js.map +1 -1
  23. package/dist/Client.d.ts +263 -1
  24. package/dist/Client.d.ts.map +1 -1
  25. package/dist/Client.js +533 -1
  26. package/dist/Client.js.map +1 -1
  27. package/dist/D1Kysely.d.ts +1 -1
  28. package/dist/D1Kysely.d.ts.map +1 -1
  29. package/dist/EffectQbSqliteStorage.d.ts +115 -3
  30. package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
  31. package/dist/EffectQbSqliteStorage.js +314 -4
  32. package/dist/EffectQbSqliteStorage.js.map +1 -1
  33. package/dist/EmailOtp.d.ts +5 -2
  34. package/dist/EmailOtp.d.ts.map +1 -1
  35. package/dist/EmailOtp.js +11 -4
  36. package/dist/EmailOtp.js.map +1 -1
  37. package/dist/EmailVerification.d.ts +2 -2
  38. package/dist/EmailVerification.d.ts.map +1 -1
  39. package/dist/EmailVerification.js +2 -3
  40. package/dist/EmailVerification.js.map +1 -1
  41. package/dist/HttpApi/Api.d.ts +1363 -19
  42. package/dist/HttpApi/Api.d.ts.map +1 -1
  43. package/dist/HttpApi/Api.js +1625 -20
  44. package/dist/HttpApi/Api.js.map +1 -1
  45. package/dist/HttpApi/Endpoints.d.ts +682 -0
  46. package/dist/HttpApi/Endpoints.d.ts.map +1 -1
  47. package/dist/HttpApi/Endpoints.js +252 -1
  48. package/dist/HttpApi/Endpoints.js.map +1 -1
  49. package/dist/HttpApi/Schemas.d.ts +841 -0
  50. package/dist/HttpApi/Schemas.d.ts.map +1 -1
  51. package/dist/HttpApi/Schemas.js +513 -1
  52. package/dist/HttpApi/Schemas.js.map +1 -1
  53. package/dist/HttpApi/Security.d.ts +13 -1
  54. package/dist/HttpApi/Security.d.ts.map +1 -1
  55. package/dist/HttpApi/Security.js +107 -16
  56. package/dist/HttpApi/Security.js.map +1 -1
  57. package/dist/HttpApi/Transport.d.ts +36 -2
  58. package/dist/HttpApi/Transport.d.ts.map +1 -1
  59. package/dist/HttpApi/Transport.js +151 -9
  60. package/dist/HttpApi/Transport.js.map +1 -1
  61. package/dist/Jwt.d.ts +271 -0
  62. package/dist/Jwt.d.ts.map +1 -0
  63. package/dist/Jwt.js +512 -0
  64. package/dist/Jwt.js.map +1 -0
  65. package/dist/KyselyStorage.d.ts +151 -1
  66. package/dist/KyselyStorage.d.ts.map +1 -1
  67. package/dist/KyselyStorage.js +1021 -4
  68. package/dist/KyselyStorage.js.map +1 -1
  69. package/dist/LoginApproval.d.ts +314 -0
  70. package/dist/LoginApproval.d.ts.map +1 -0
  71. package/dist/LoginApproval.js +551 -0
  72. package/dist/LoginApproval.js.map +1 -0
  73. package/dist/LoginNotification.d.ts +183 -0
  74. package/dist/LoginNotification.d.ts.map +1 -0
  75. package/dist/LoginNotification.js +329 -0
  76. package/dist/LoginNotification.js.map +1 -0
  77. package/dist/LoginRisk.d.ts +73 -0
  78. package/dist/LoginRisk.d.ts.map +1 -0
  79. package/dist/LoginRisk.js +57 -0
  80. package/dist/LoginRisk.js.map +1 -0
  81. package/dist/MagicLink.d.ts +85 -0
  82. package/dist/MagicLink.d.ts.map +1 -0
  83. package/dist/MagicLink.js +206 -0
  84. package/dist/MagicLink.js.map +1 -0
  85. package/dist/Mailer.d.ts +33 -2
  86. package/dist/Mailer.d.ts.map +1 -1
  87. package/dist/Mailer.js +107 -0
  88. package/dist/Mailer.js.map +1 -1
  89. package/dist/OAuth.d.ts +742 -0
  90. package/dist/OAuth.d.ts.map +1 -0
  91. package/dist/OAuth.js +1387 -0
  92. package/dist/OAuth.js.map +1 -0
  93. package/dist/Passkey.d.ts +334 -0
  94. package/dist/Passkey.d.ts.map +1 -0
  95. package/dist/Passkey.js +422 -0
  96. package/dist/Passkey.js.map +1 -0
  97. package/dist/Password.d.ts +138 -8
  98. package/dist/Password.d.ts.map +1 -1
  99. package/dist/Password.js +397 -8
  100. package/dist/Password.js.map +1 -1
  101. package/dist/RecoveryCode.d.ts +169 -0
  102. package/dist/RecoveryCode.d.ts.map +1 -0
  103. package/dist/RecoveryCode.js +299 -0
  104. package/dist/RecoveryCode.js.map +1 -0
  105. package/dist/RefreshToken.d.ts +222 -0
  106. package/dist/RefreshToken.d.ts.map +1 -0
  107. package/dist/RefreshToken.js +342 -0
  108. package/dist/RefreshToken.js.map +1 -0
  109. package/dist/Sessions.d.ts +52 -2
  110. package/dist/Sessions.d.ts.map +1 -1
  111. package/dist/Sessions.js +123 -1
  112. package/dist/Sessions.js.map +1 -1
  113. package/dist/StepUp.d.ts +44 -0
  114. package/dist/StepUp.d.ts.map +1 -0
  115. package/dist/StepUp.js +82 -0
  116. package/dist/StepUp.js.map +1 -0
  117. package/dist/Storage.d.ts +14 -1
  118. package/dist/Storage.d.ts.map +1 -1
  119. package/dist/Storage.js.map +1 -1
  120. package/dist/StorageMigrations.d.ts +10 -1
  121. package/dist/StorageMigrations.d.ts.map +1 -1
  122. package/dist/StorageMigrations.js +179 -0
  123. package/dist/StorageMigrations.js.map +1 -1
  124. package/dist/Testing.d.ts +1 -1
  125. package/dist/Totp.d.ts +220 -0
  126. package/dist/Totp.d.ts.map +1 -0
  127. package/dist/Totp.js +477 -0
  128. package/dist/Totp.js.map +1 -0
  129. package/dist/TrustedDevice.d.ts +115 -0
  130. package/dist/TrustedDevice.d.ts.map +1 -0
  131. package/dist/TrustedDevice.js +222 -0
  132. package/dist/TrustedDevice.js.map +1 -0
  133. package/dist/Webhook.d.ts +72 -0
  134. package/dist/Webhook.d.ts.map +1 -0
  135. package/dist/Webhook.js +82 -0
  136. package/dist/Webhook.js.map +1 -0
  137. package/dist/alchemy/cloudflare/Email.d.ts +25 -0
  138. package/dist/alchemy/cloudflare/Email.d.ts.map +1 -0
  139. package/dist/alchemy/cloudflare/Email.js +117 -0
  140. package/dist/alchemy/cloudflare/Email.js.map +1 -0
  141. package/dist/cloudflare/Email.d.ts +25 -0
  142. package/dist/cloudflare/Email.d.ts.map +1 -0
  143. package/dist/cloudflare/Email.js +153 -0
  144. package/dist/cloudflare/Email.js.map +1 -0
  145. package/dist/index.d.ts +14 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +14 -0
  148. package/dist/index.js.map +1 -1
  149. package/migrations/0003_auth_login_approval_review.sql +22 -0
  150. package/migrations/0004_auth_trusted_device.sql +12 -0
  151. package/migrations/0005_auth_passkey.sql +17 -0
  152. package/migrations/0006_auth_totp_factor.sql +17 -0
  153. package/migrations/0007_auth_recovery_code.sql +13 -0
  154. package/migrations/0008_auth_api_key.sql +17 -0
  155. package/migrations/0009_auth_refresh_token.sql +21 -0
  156. package/migrations/0010_auth_jwt_revocation.sql +8 -0
  157. package/migrations/0011_auth_oauth_account.sql +16 -0
  158. package/package.json +65 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI/D,OAAO,EAGL,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CACtD,OAAO,kBAAkB,CAC1B,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CACtD,OAAO,kBAAkB,CAC1B,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAC9D,OAAO,0BAA0B,CAClC,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAC/D,OAAO,2BAA2B,CACnC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACnD,OAAO,mBAAmB,CAC3B,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACrD,OAAO,sBAAsB,CAC9B,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,qBAAqB,EAC5B,OAAO,CAAC,EAAE,wBAAwB,KAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACnC,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,qBAAqB,EAC5B,OAAO,CAAC,EAAE,wBAAwB,KAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC;KACpC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,CAAC,EAAE,wBAAwB,KAC/B,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACrC,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,OAAO,CAAC,EAAE,wBAAwB,KAC/B,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;QACjD,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,CAAC,EAAE,wBAAwB,KAC/B,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACrC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACxE,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE;QAC1B,QAAQ,CAAC,KAAK,EAAE,CACd,KAAK,EAAE,6BAA6B,EACpC,OAAO,CAAC,EAAE,wBAAwB,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,8BAA8B,EACrC,OAAO,CAAC,EAAE,wBAAwB,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AASD,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,MAYvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAS,iBAAsB,KAC9B,UA4FF,CAAC"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
package/dist/Client.js CHANGED
@@ -1,8 +1,99 @@
1
1
  import { Effect, Layer, ManagedRuntime, Schema } from "effect";
2
2
  import { FetchHttpClient, HttpClient } from "effect/unstable/http";
3
3
  import { HttpApiClient } from "effect/unstable/httpapi";
4
- import { AuthApi, AuthUnauthenticatedError, CurrentSessionHttpBody, EmailVerificationStartBody, EmailVerificationVerifyBody, PasswordAuthSuccess, PasswordSignInBody, PasswordSignUpBody, } from "./HttpApi.js";
4
+ import { AuthApi, AuthUnauthenticatedError, ActiveSessionsHttpBody, ApiKeyCreateBody, ApiKeyCreatedBody, ApiKeysBody, ApiKeyRevokeBody, AuthenticatedHttpBody, CurrentSessionHttpBody, EmailOtpStartedBody, EmailOtpStartBody, EmailOtpVerifyBody, EmailVerificationStartBody, EmailVerificationVerifyBody, LoginApprovalApproveBody, LoginApprovalFinalizeBody, LoginNotificationReportBody, LoginApprovalReviewStatusBody, LoginApprovalReviewStatusHttpBody, JwtIntrospectBody, JwtIntrospectionBody, JwtRevokeBody, MagicLinkStartedBody, MagicLinkStartBody, MagicLinkVerifyBody, MfaOptionsBody, MfaOptionsResultBody, OAuthAccountUnlinkBody, OAuthAccountUnlinkResolutionBody, OAuthAuthorizationStartedBody, OAuthAuthorizationStartBody, PasskeyAuthenticationFinishBody, PasskeyAuthenticationStartBody, PasskeyAuthenticationStartedBody, PasskeyCredentialRevokeBody, PasskeyCredentialsBody, PasskeyMfaStartBody, PasskeyMfaVerifyBody, PasskeyRegisteredBody, PasskeyRegistrationFinishBody, PasskeyRegistrationStartBody, PasskeyRegistrationStartedBody, PasswordChangeBody, PasswordAuthSuccess, PasswordResetStartBody, PasswordResetVerifyBody, PasswordSetBody, SessionRevokeBody, PasswordSignInBody, PasswordSignUpBody, RecoveryCodeGenerateBody, RecoveryCodeMfaVerifyBody, RecoveryCodeMfaVerifyForFlowBody, RefreshTokenRefreshBody, RefreshTokenRefreshedBody, RecoveryCodeRevokeBody, RecoveryCodesBody, RecoveryCodesGeneratedBody, RecoveryCodeVerifyBody, RecoveryCodeVerifyResultBody, TotpEnrollmentConfirmBody, TotpEnrollmentStartedBody, TotpEnrollmentStartBody, TotpFactorHttpBody, TotpFactorRevokeBody, TotpFactorsBody, TotpMfaVerifyBody, TotpMfaVerifyForFlowBody, TotpVerifyBody, TotpVerifyResultBody, } from "./HttpApi.js";
5
5
  const defaultRequestInit = { credentials: "include" };
6
+ const defaultPasskeyPrefix = "/auth/passkey";
7
+ const defaultPasskeyClientPaths = {
8
+ registrationStart: "/register/start",
9
+ registrationFinish: "/register/finish",
10
+ authenticationStart: "/authenticate/start",
11
+ authenticationFinish: "/authenticate/finish",
12
+ credentialList: "/credentials",
13
+ credentialRevoke: "/credentials/revoke",
14
+ };
15
+ const defaultTotpPrefix = "/auth/totp";
16
+ const defaultTotpClientPaths = {
17
+ enrollmentStart: "/enroll/start",
18
+ enrollmentConfirm: "/enroll/confirm",
19
+ verify: "/verify",
20
+ factorList: "/factors",
21
+ factorRevoke: "/factors/revoke",
22
+ };
23
+ const defaultRecoveryCodePrefix = "/auth/recovery-codes";
24
+ const defaultRecoveryCodeClientPaths = {
25
+ generate: "/generate",
26
+ verify: "/verify",
27
+ list: "/codes",
28
+ revoke: "/codes/revoke",
29
+ };
30
+ const defaultApiKeyPrefix = "/auth/api-keys";
31
+ const defaultApiKeyClientPaths = {
32
+ create: "/",
33
+ list: "/",
34
+ revoke: "/revoke",
35
+ };
36
+ const defaultRefreshTokenPrefix = "/auth/token";
37
+ const defaultRefreshTokenClientPaths = {
38
+ refresh: "/refresh",
39
+ };
40
+ const defaultJwtPrefix = "/auth/jwt";
41
+ const defaultJwtClientPaths = {
42
+ introspect: "/introspect",
43
+ revoke: "/revoke",
44
+ };
45
+ const defaultMfaPrefix = "/auth/mfa";
46
+ const defaultMfaClientPaths = {
47
+ options: "/options",
48
+ totpVerify: "/totp/verify",
49
+ totpVerifyForFlow: "/totp/verify-flow",
50
+ recoveryCodeVerify: "/recovery-code/verify",
51
+ recoveryCodeVerifyForFlow: "/recovery-code/verify-flow",
52
+ passkeyStart: "/passkey/start",
53
+ passkeyVerify: "/passkey/verify",
54
+ };
55
+ const defaultOAuthPrefix = "/auth/oauth";
56
+ const defaultOAuthClientPaths = {
57
+ authorizationStart: "/start",
58
+ accountUnlink: "/unlink",
59
+ };
60
+ const joinPath = (prefix, path) => {
61
+ const normalizedPrefix = prefix.replace(/\/+$/, "");
62
+ const normalizedPath = path.replace(/^\/+/, "");
63
+ if (normalizedPath.length === 0) {
64
+ return normalizedPrefix.length === 0 ? "/" : normalizedPrefix;
65
+ }
66
+ return normalizedPrefix.length === 0
67
+ ? `/${normalizedPath}`
68
+ : `${normalizedPrefix}/${normalizedPath}`;
69
+ };
70
+ const clientUrl = (baseUrl, path) => (baseUrl === undefined ? path : String(new URL(path, baseUrl)));
71
+ const responseJson = async (response) => {
72
+ const text = await response.text();
73
+ if (text.length === 0) {
74
+ return undefined;
75
+ }
76
+ try {
77
+ return JSON.parse(text);
78
+ }
79
+ catch {
80
+ return { message: text };
81
+ }
82
+ };
83
+ const throwFailedResponse = async (response) => {
84
+ const body = await responseJson(response);
85
+ throw body ?? {
86
+ code: `http_${response.status}`,
87
+ message: response.statusText || "Request failed",
88
+ };
89
+ };
90
+ const requestHeaders = (requestInit, body) => {
91
+ const headers = new Headers(requestInit.headers);
92
+ if (body !== undefined && !headers.has("content-type")) {
93
+ headers.set("content-type", "application/json");
94
+ }
95
+ return headers;
96
+ };
6
97
  const authClientErrorShape = (error) => typeof error === "object" && error !== null
7
98
  ? error
8
99
  : undefined;
@@ -16,6 +107,409 @@ export const authClientErrorMessage = (error) => {
16
107
  }
17
108
  return error instanceof Error ? error.message : "Request failed";
18
109
  };
110
+ export const createPasskeyClient = (options = {}) => {
111
+ const requestInit = {
112
+ ...defaultRequestInit,
113
+ ...options.requestInit,
114
+ };
115
+ const fetch = options.fetch ?? globalThis.fetch;
116
+ const prefix = options.prefix ?? defaultPasskeyPrefix;
117
+ const paths = {
118
+ ...defaultPasskeyClientPaths,
119
+ ...options.paths,
120
+ };
121
+ const url = (path) => clientUrl(options.baseUrl, joinPath(prefix, path));
122
+ const decodePasskeyRegistrationStart = Schema.decodeUnknownEffect(PasskeyRegistrationStartBody);
123
+ const decodePasskeyRegistrationFinish = Schema.decodeUnknownEffect(PasskeyRegistrationFinishBody);
124
+ const decodePasskeyAuthenticationStart = Schema.decodeUnknownEffect(PasskeyAuthenticationStartBody);
125
+ const decodePasskeyAuthenticationFinish = Schema.decodeUnknownEffect(PasskeyAuthenticationFinishBody);
126
+ const decodePasskeyCredentialRevoke = Schema.decodeUnknownEffect(PasskeyCredentialRevokeBody);
127
+ const decodePasskeyRegistrationStarted = Schema.decodeUnknownEffect(PasskeyRegistrationStartedBody);
128
+ const decodePasskeyRegistered = Schema.decodeUnknownEffect(PasskeyRegisteredBody);
129
+ const decodePasskeyAuthenticationStarted = Schema.decodeUnknownEffect(PasskeyAuthenticationStartedBody);
130
+ const decodeAuthenticated = Schema.decodeUnknownEffect(AuthenticatedHttpBody);
131
+ const decodePasskeyCredentials = Schema.decodeUnknownEffect(PasskeyCredentialsBody);
132
+ const decode = (effect) => Effect.runPromise(effect);
133
+ const request = async (method, path, body, requestOptions, decodeResponse) => {
134
+ const response = await fetch(url(path), {
135
+ ...requestInit,
136
+ method,
137
+ headers: requestHeaders(requestInit, body),
138
+ body: body === undefined ? undefined : JSON.stringify(body),
139
+ signal: requestOptions?.signal,
140
+ });
141
+ if (!response.ok) {
142
+ return throwFailedResponse(response);
143
+ }
144
+ return decode(decodeResponse(await responseJson(response)));
145
+ };
146
+ const requestNoContent = async (path, body, requestOptions) => {
147
+ const response = await fetch(url(path), {
148
+ ...requestInit,
149
+ method: "POST",
150
+ headers: requestHeaders(requestInit, body),
151
+ body: JSON.stringify(body),
152
+ signal: requestOptions?.signal,
153
+ });
154
+ if (!response.ok) {
155
+ return throwFailedResponse(response);
156
+ }
157
+ };
158
+ return {
159
+ registration: {
160
+ start: async (input, requestOptions) => request("POST", paths.registrationStart, await decode(decodePasskeyRegistrationStart(input)), requestOptions, decodePasskeyRegistrationStarted),
161
+ finish: async (input, requestOptions) => request("POST", paths.registrationFinish, await decode(decodePasskeyRegistrationFinish(input)), requestOptions, decodePasskeyRegistered),
162
+ },
163
+ authentication: {
164
+ start: async (input, requestOptions) => request("POST", paths.authenticationStart, await decode(decodePasskeyAuthenticationStart(input)), requestOptions, decodePasskeyAuthenticationStarted),
165
+ finish: async (input, requestOptions) => request("POST", paths.authenticationFinish, await decode(decodePasskeyAuthenticationFinish(input)), requestOptions, decodeAuthenticated),
166
+ },
167
+ credentials: {
168
+ list: (requestOptions) => request("GET", paths.credentialList, undefined, requestOptions, decodePasskeyCredentials),
169
+ revoke: async (input, requestOptions) => requestNoContent(paths.credentialRevoke, await decode(decodePasskeyCredentialRevoke(input)), requestOptions),
170
+ },
171
+ };
172
+ };
173
+ export const createTotpClient = (options = {}) => {
174
+ const requestInit = {
175
+ ...defaultRequestInit,
176
+ ...options.requestInit,
177
+ };
178
+ const fetch = options.fetch ?? globalThis.fetch;
179
+ const prefix = options.prefix ?? defaultTotpPrefix;
180
+ const paths = {
181
+ ...defaultTotpClientPaths,
182
+ ...options.paths,
183
+ };
184
+ const url = (path) => clientUrl(options.baseUrl, joinPath(prefix, path));
185
+ const decodeTotpEnrollmentStart = Schema.decodeUnknownEffect(TotpEnrollmentStartBody);
186
+ const decodeTotpEnrollmentConfirm = Schema.decodeUnknownEffect(TotpEnrollmentConfirmBody);
187
+ const decodeTotpVerify = Schema.decodeUnknownEffect(TotpVerifyBody);
188
+ const decodeTotpFactorRevoke = Schema.decodeUnknownEffect(TotpFactorRevokeBody);
189
+ const decodeTotpEnrollmentStarted = Schema.decodeUnknownEffect(TotpEnrollmentStartedBody);
190
+ const decodeTotpFactor = Schema.decodeUnknownEffect(TotpFactorHttpBody);
191
+ const decodeTotpVerifyResult = Schema.decodeUnknownEffect(TotpVerifyResultBody);
192
+ const decodeTotpFactors = Schema.decodeUnknownEffect(TotpFactorsBody);
193
+ const decode = (effect) => Effect.runPromise(effect);
194
+ const request = async (method, path, body, requestOptions, decodeResponse) => {
195
+ const response = await fetch(url(path), {
196
+ ...requestInit,
197
+ method,
198
+ headers: requestHeaders(requestInit, body),
199
+ body: body === undefined ? undefined : JSON.stringify(body),
200
+ signal: requestOptions?.signal,
201
+ });
202
+ if (!response.ok) {
203
+ return throwFailedResponse(response);
204
+ }
205
+ return decode(decodeResponse(await responseJson(response)));
206
+ };
207
+ const requestNoContent = async (path, body, requestOptions) => {
208
+ const response = await fetch(url(path), {
209
+ ...requestInit,
210
+ method: "POST",
211
+ headers: requestHeaders(requestInit, body),
212
+ body: JSON.stringify(body),
213
+ signal: requestOptions?.signal,
214
+ });
215
+ if (!response.ok) {
216
+ return throwFailedResponse(response);
217
+ }
218
+ };
219
+ return {
220
+ enrollment: {
221
+ start: async (input, requestOptions) => request("POST", paths.enrollmentStart, await decode(decodeTotpEnrollmentStart(input)), requestOptions, decodeTotpEnrollmentStarted),
222
+ confirm: async (input, requestOptions) => request("POST", paths.enrollmentConfirm, await decode(decodeTotpEnrollmentConfirm(input)), requestOptions, decodeTotpFactor),
223
+ },
224
+ verification: {
225
+ verify: async (input, requestOptions) => request("POST", paths.verify, await decode(decodeTotpVerify(input)), requestOptions, decodeTotpVerifyResult),
226
+ },
227
+ factors: {
228
+ list: (requestOptions) => request("GET", paths.factorList, undefined, requestOptions, decodeTotpFactors),
229
+ revoke: async (input, requestOptions) => requestNoContent(paths.factorRevoke, await decode(decodeTotpFactorRevoke(input)), requestOptions),
230
+ },
231
+ };
232
+ };
233
+ export const createRecoveryCodeClient = (options = {}) => {
234
+ const requestInit = {
235
+ ...defaultRequestInit,
236
+ ...options.requestInit,
237
+ };
238
+ const fetch = options.fetch ?? globalThis.fetch;
239
+ const prefix = options.prefix ?? defaultRecoveryCodePrefix;
240
+ const paths = {
241
+ ...defaultRecoveryCodeClientPaths,
242
+ ...options.paths,
243
+ };
244
+ const url = (path) => clientUrl(options.baseUrl, joinPath(prefix, path));
245
+ const decodeRecoveryCodeGenerate = Schema.decodeUnknownEffect(RecoveryCodeGenerateBody);
246
+ const decodeRecoveryCodeVerify = Schema.decodeUnknownEffect(RecoveryCodeVerifyBody);
247
+ const decodeRecoveryCodeRevoke = Schema.decodeUnknownEffect(RecoveryCodeRevokeBody);
248
+ const decodeRecoveryCodesGenerated = Schema.decodeUnknownEffect(RecoveryCodesGeneratedBody);
249
+ const decodeRecoveryCodeVerifyResult = Schema.decodeUnknownEffect(RecoveryCodeVerifyResultBody);
250
+ const decodeRecoveryCodes = Schema.decodeUnknownEffect(RecoveryCodesBody);
251
+ const decode = (effect) => Effect.runPromise(effect);
252
+ const request = async (method, path, body, requestOptions, decodeResponse) => {
253
+ const response = await fetch(url(path), {
254
+ ...requestInit,
255
+ method,
256
+ headers: requestHeaders(requestInit, body),
257
+ body: body === undefined ? undefined : JSON.stringify(body),
258
+ signal: requestOptions?.signal,
259
+ });
260
+ if (!response.ok) {
261
+ return throwFailedResponse(response);
262
+ }
263
+ return decode(decodeResponse(await responseJson(response)));
264
+ };
265
+ const requestNoContent = async (path, body, requestOptions) => {
266
+ const response = await fetch(url(path), {
267
+ ...requestInit,
268
+ method: "POST",
269
+ headers: requestHeaders(requestInit, body),
270
+ body: JSON.stringify(body),
271
+ signal: requestOptions?.signal,
272
+ });
273
+ if (!response.ok) {
274
+ return throwFailedResponse(response);
275
+ }
276
+ };
277
+ return {
278
+ generation: {
279
+ generate: async (input, requestOptions) => request("POST", paths.generate, await decode(decodeRecoveryCodeGenerate(input)), requestOptions, decodeRecoveryCodesGenerated),
280
+ },
281
+ verification: {
282
+ verify: async (input, requestOptions) => request("POST", paths.verify, await decode(decodeRecoveryCodeVerify(input)), requestOptions, decodeRecoveryCodeVerifyResult),
283
+ },
284
+ codes: {
285
+ list: (requestOptions) => request("GET", paths.list, undefined, requestOptions, decodeRecoveryCodes),
286
+ revoke: async (input, requestOptions) => requestNoContent(paths.revoke, await decode(decodeRecoveryCodeRevoke(input)), requestOptions),
287
+ },
288
+ };
289
+ };
290
+ export const createApiKeyClient = (options = {}) => {
291
+ const requestInit = {
292
+ ...defaultRequestInit,
293
+ ...options.requestInit,
294
+ };
295
+ const fetch = options.fetch ?? globalThis.fetch;
296
+ const prefix = options.prefix ?? defaultApiKeyPrefix;
297
+ const paths = {
298
+ ...defaultApiKeyClientPaths,
299
+ ...options.paths,
300
+ };
301
+ const url = (path) => clientUrl(options.baseUrl, joinPath(prefix, path));
302
+ const decodeApiKeyCreate = Schema.decodeUnknownEffect(ApiKeyCreateBody);
303
+ const decodeApiKeyRevoke = Schema.decodeUnknownEffect(ApiKeyRevokeBody);
304
+ const decodeApiKeyCreated = Schema.decodeUnknownEffect(ApiKeyCreatedBody);
305
+ const decodeApiKeys = Schema.decodeUnknownEffect(ApiKeysBody);
306
+ const decode = (effect) => Effect.runPromise(effect);
307
+ const request = async (method, path, body, requestOptions, decodeResponse) => {
308
+ const response = await fetch(url(path), {
309
+ ...requestInit,
310
+ method,
311
+ headers: requestHeaders(requestInit, body),
312
+ body: body === undefined ? undefined : JSON.stringify(body),
313
+ signal: requestOptions?.signal,
314
+ });
315
+ if (!response.ok) {
316
+ return throwFailedResponse(response);
317
+ }
318
+ return decode(decodeResponse(await responseJson(response)));
319
+ };
320
+ const requestNoContent = async (path, body, requestOptions) => {
321
+ const response = await fetch(url(path), {
322
+ ...requestInit,
323
+ method: "POST",
324
+ headers: requestHeaders(requestInit, body),
325
+ body: JSON.stringify(body),
326
+ signal: requestOptions?.signal,
327
+ });
328
+ if (!response.ok) {
329
+ return throwFailedResponse(response);
330
+ }
331
+ };
332
+ return {
333
+ keys: {
334
+ create: async (input, requestOptions) => request("POST", paths.create, await decode(decodeApiKeyCreate(input)), requestOptions, decodeApiKeyCreated),
335
+ list: (requestOptions) => request("GET", paths.list, undefined, requestOptions, decodeApiKeys),
336
+ revoke: async (input, requestOptions) => requestNoContent(paths.revoke, await decode(decodeApiKeyRevoke(input)), requestOptions),
337
+ },
338
+ };
339
+ };
340
+ export const createRefreshTokenClient = (options = {}) => {
341
+ const requestInit = {
342
+ ...defaultRequestInit,
343
+ ...options.requestInit,
344
+ };
345
+ const fetch = options.fetch ?? globalThis.fetch;
346
+ const prefix = options.prefix ?? defaultRefreshTokenPrefix;
347
+ const paths = {
348
+ ...defaultRefreshTokenClientPaths,
349
+ ...options.paths,
350
+ };
351
+ const url = (path) => clientUrl(options.baseUrl, joinPath(prefix, path));
352
+ const decodeRefreshTokenRefresh = Schema.decodeUnknownEffect(RefreshTokenRefreshBody);
353
+ const decodeRefreshTokenRefreshed = Schema.decodeUnknownEffect(RefreshTokenRefreshedBody);
354
+ const decode = (effect) => Effect.runPromise(effect);
355
+ const request = async (path, body, requestOptions, decodeResponse) => {
356
+ const response = await fetch(url(path), {
357
+ ...requestInit,
358
+ method: "POST",
359
+ headers: requestHeaders(requestInit, body),
360
+ body: JSON.stringify(body),
361
+ signal: requestOptions?.signal,
362
+ });
363
+ if (!response.ok) {
364
+ return throwFailedResponse(response);
365
+ }
366
+ return decode(decodeResponse(await responseJson(response)));
367
+ };
368
+ return {
369
+ token: {
370
+ refresh: async (input, requestOptions) => request(paths.refresh, await decode(decodeRefreshTokenRefresh(input)), requestOptions, decodeRefreshTokenRefreshed),
371
+ },
372
+ };
373
+ };
374
+ export const createJwtClient = (options = {}) => {
375
+ const requestInit = {
376
+ ...defaultRequestInit,
377
+ ...options.requestInit,
378
+ };
379
+ const fetch = options.fetch ?? globalThis.fetch;
380
+ const prefix = options.prefix ?? defaultJwtPrefix;
381
+ const paths = {
382
+ ...defaultJwtClientPaths,
383
+ ...options.paths,
384
+ };
385
+ const url = (path) => clientUrl(options.baseUrl, joinPath(prefix, path));
386
+ const decodeJwtIntrospect = Schema.decodeUnknownEffect(JwtIntrospectBody);
387
+ const decodeJwtRevoke = Schema.decodeUnknownEffect(JwtRevokeBody);
388
+ const decodeJwtIntrospection = Schema.decodeUnknownEffect(JwtIntrospectionBody);
389
+ const decode = (effect) => Effect.runPromise(effect);
390
+ const request = async (path, body, requestOptions, decodeResponse) => {
391
+ const response = await fetch(url(path), {
392
+ ...requestInit,
393
+ method: "POST",
394
+ headers: requestHeaders(requestInit, body),
395
+ body: JSON.stringify(body),
396
+ signal: requestOptions?.signal,
397
+ });
398
+ if (!response.ok) {
399
+ return throwFailedResponse(response);
400
+ }
401
+ return decode(decodeResponse(await responseJson(response)));
402
+ };
403
+ const requestNoContent = async (path, body, requestOptions) => {
404
+ const response = await fetch(url(path), {
405
+ ...requestInit,
406
+ method: "POST",
407
+ headers: requestHeaders(requestInit, body),
408
+ body: JSON.stringify(body),
409
+ signal: requestOptions?.signal,
410
+ });
411
+ if (!response.ok) {
412
+ return throwFailedResponse(response);
413
+ }
414
+ };
415
+ return {
416
+ token: {
417
+ introspect: async (input, requestOptions) => request(paths.introspect, await decode(decodeJwtIntrospect(input)), requestOptions, decodeJwtIntrospection),
418
+ revoke: async (input, requestOptions) => requestNoContent(paths.revoke, await decode(decodeJwtRevoke(input)), requestOptions),
419
+ },
420
+ };
421
+ };
422
+ export const createMfaClient = (options = {}) => {
423
+ const requestInit = {
424
+ ...defaultRequestInit,
425
+ ...options.requestInit,
426
+ };
427
+ const fetch = options.fetch ?? globalThis.fetch;
428
+ const prefix = options.prefix ?? defaultMfaPrefix;
429
+ const paths = {
430
+ ...defaultMfaClientPaths,
431
+ ...options.paths,
432
+ };
433
+ const url = (path) => clientUrl(options.baseUrl, joinPath(prefix, path));
434
+ const decodeMfaOptions = Schema.decodeUnknownEffect(MfaOptionsBody);
435
+ const decodeTotpMfaVerify = Schema.decodeUnknownEffect(TotpMfaVerifyBody);
436
+ const decodeTotpMfaVerifyForFlow = Schema.decodeUnknownEffect(TotpMfaVerifyForFlowBody);
437
+ const decodeRecoveryCodeMfaVerify = Schema.decodeUnknownEffect(RecoveryCodeMfaVerifyBody);
438
+ const decodeRecoveryCodeMfaVerifyForFlow = Schema.decodeUnknownEffect(RecoveryCodeMfaVerifyForFlowBody);
439
+ const decodePasskeyMfaStart = Schema.decodeUnknownEffect(PasskeyMfaStartBody);
440
+ const decodePasskeyMfaVerify = Schema.decodeUnknownEffect(PasskeyMfaVerifyBody);
441
+ const decodePasskeyAuthenticationStarted = Schema.decodeUnknownEffect(PasskeyAuthenticationStartedBody);
442
+ const decodeMfaOptionsResult = Schema.decodeUnknownEffect(MfaOptionsResultBody);
443
+ const decodeAuthenticated = Schema.decodeUnknownEffect(AuthenticatedHttpBody);
444
+ const decode = (effect) => Effect.runPromise(effect);
445
+ const request = async (path, body, requestOptions, decodeResponse) => {
446
+ const response = await fetch(url(path), {
447
+ ...requestInit,
448
+ method: "POST",
449
+ headers: requestHeaders(requestInit, body),
450
+ body: JSON.stringify(body),
451
+ signal: requestOptions?.signal,
452
+ });
453
+ if (!response.ok) {
454
+ return throwFailedResponse(response);
455
+ }
456
+ return decode(decodeResponse(await responseJson(response)));
457
+ };
458
+ return {
459
+ options: async (input, requestOptions) => request(paths.options, await decode(decodeMfaOptions(input)), requestOptions, decodeMfaOptionsResult),
460
+ totp: {
461
+ verify: async (input, requestOptions) => request(paths.totpVerify, await decode(decodeTotpMfaVerify(input)), requestOptions, decodeAuthenticated),
462
+ verifyForFlow: async (input, requestOptions) => request(paths.totpVerifyForFlow, await decode(decodeTotpMfaVerifyForFlow(input)), requestOptions, decodeAuthenticated),
463
+ },
464
+ recoveryCode: {
465
+ verify: async (input, requestOptions) => request(paths.recoveryCodeVerify, await decode(decodeRecoveryCodeMfaVerify(input)), requestOptions, decodeAuthenticated),
466
+ verifyForFlow: async (input, requestOptions) => request(paths.recoveryCodeVerifyForFlow, await decode(decodeRecoveryCodeMfaVerifyForFlow(input)), requestOptions, decodeAuthenticated),
467
+ },
468
+ passkey: {
469
+ start: async (input, requestOptions) => request(paths.passkeyStart, await decode(decodePasskeyMfaStart(input)), requestOptions, decodePasskeyAuthenticationStarted),
470
+ verify: async (input, requestOptions) => request(paths.passkeyVerify, await decode(decodePasskeyMfaVerify(input)), requestOptions, decodeAuthenticated),
471
+ },
472
+ };
473
+ };
474
+ export const createOAuthClient = (options = {}) => {
475
+ const requestInit = {
476
+ ...defaultRequestInit,
477
+ ...options.requestInit,
478
+ };
479
+ const fetch = options.fetch ?? globalThis.fetch;
480
+ const prefix = options.prefix ?? defaultOAuthPrefix;
481
+ const paths = {
482
+ ...defaultOAuthClientPaths,
483
+ ...options.paths,
484
+ };
485
+ const url = (path) => clientUrl(options.baseUrl, joinPath(prefix, path));
486
+ const decodeOAuthAuthorizationStart = Schema.decodeUnknownEffect(OAuthAuthorizationStartBody);
487
+ const decodeOAuthAccountUnlink = Schema.decodeUnknownEffect(OAuthAccountUnlinkBody);
488
+ const decodeOAuthAuthorizationStarted = Schema.decodeUnknownEffect(OAuthAuthorizationStartedBody);
489
+ const decodeOAuthAccountUnlinkResolution = Schema.decodeUnknownEffect(OAuthAccountUnlinkResolutionBody);
490
+ const decode = (effect) => Effect.runPromise(effect);
491
+ const request = async (path, body, requestOptions, decodeResponse) => {
492
+ const response = await fetch(url(path), {
493
+ ...requestInit,
494
+ method: "POST",
495
+ headers: requestHeaders(requestInit, body),
496
+ body: JSON.stringify(body),
497
+ signal: requestOptions?.signal,
498
+ });
499
+ if (!response.ok) {
500
+ return throwFailedResponse(response);
501
+ }
502
+ return decode(decodeResponse(await responseJson(response)));
503
+ };
504
+ return {
505
+ authorization: {
506
+ start: async (input, requestOptions) => request(paths.authorizationStart, await decode(decodeOAuthAuthorizationStart(input)), requestOptions, decodeOAuthAuthorizationStarted),
507
+ },
508
+ accounts: {
509
+ unlink: async (input, requestOptions) => request(paths.accountUnlink, await decode(decodeOAuthAccountUnlink(input)), requestOptions, decodeOAuthAccountUnlinkResolution),
510
+ },
511
+ };
512
+ };
19
513
  export const createAuthClient = (options = {}) => {
20
514
  const requestInit = {
21
515
  ...defaultRequestInit,
@@ -30,25 +524,63 @@ export const createAuthClient = (options = {}) => {
30
524
  });
31
525
  const decodePasswordSignIn = Schema.decodeUnknownEffect(PasswordSignInBody);
32
526
  const decodePasswordSignUp = Schema.decodeUnknownEffect(PasswordSignUpBody);
527
+ const decodePasswordResetStart = Schema.decodeUnknownEffect(PasswordResetStartBody);
528
+ const decodePasswordResetVerify = Schema.decodeUnknownEffect(PasswordResetVerifyBody);
529
+ const decodePasswordSet = Schema.decodeUnknownEffect(PasswordSetBody);
530
+ const decodePasswordChange = Schema.decodeUnknownEffect(PasswordChangeBody);
531
+ const decodeSessionRevoke = Schema.decodeUnknownEffect(SessionRevokeBody);
33
532
  const decodeEmailVerificationStart = Schema.decodeUnknownEffect(EmailVerificationStartBody);
34
533
  const decodeEmailVerificationVerify = Schema.decodeUnknownEffect(EmailVerificationVerifyBody);
534
+ const decodeEmailOtpStart = Schema.decodeUnknownEffect(EmailOtpStartBody);
535
+ const decodeEmailOtpVerify = Schema.decodeUnknownEffect(EmailOtpVerifyBody);
536
+ const decodeMagicLinkStart = Schema.decodeUnknownEffect(MagicLinkStartBody);
537
+ const decodeMagicLinkVerify = Schema.decodeUnknownEffect(MagicLinkVerifyBody);
538
+ const decodeLoginApprovalApprove = Schema.decodeUnknownEffect(LoginApprovalApproveBody);
539
+ const decodeLoginApprovalStatus = Schema.decodeUnknownEffect(LoginApprovalReviewStatusBody);
540
+ const decodeLoginApprovalFinalize = Schema.decodeUnknownEffect(LoginApprovalFinalizeBody);
541
+ const decodeLoginNotificationReport = Schema.decodeUnknownEffect(LoginNotificationReportBody);
35
542
  const run = (effect, requestOptions = {}) => runtime.runPromise(effect, requestOptions);
36
543
  const withClient = (effect, requestOptions) => run(Effect.flatMap(clientEffect, effect), requestOptions);
37
544
  return {
38
545
  password: {
39
546
  signIn: (input, requestOptions) => withClient((client) => Effect.flatMap(decodePasswordSignIn(input), (payload) => client.password.signIn({ payload })), requestOptions),
40
547
  signUp: (input, requestOptions) => withClient((client) => Effect.flatMap(decodePasswordSignUp(input), (payload) => client.password.signUp({ payload })), requestOptions),
548
+ reset: {
549
+ start: (input, requestOptions) => withClient((client) => Effect.flatMap(decodePasswordResetStart(input), (payload) => client.password.resetStart({ payload })), requestOptions),
550
+ verify: (input, requestOptions) => withClient((client) => Effect.flatMap(decodePasswordResetVerify(input), (payload) => client.password.resetVerify({ payload })), requestOptions),
551
+ },
552
+ set: (input, requestOptions) => withClient((client) => Effect.flatMap(decodePasswordSet(input), (payload) => client.password.set({ payload })), requestOptions),
553
+ change: (input, requestOptions) => withClient((client) => Effect.flatMap(decodePasswordChange(input), (payload) => client.password.change({ payload })), requestOptions),
41
554
  },
42
555
  session: {
43
556
  current: (requestOptions) => withClient((client) => client.session.current(), requestOptions),
44
557
  currentOrUndefined: (requestOptions) => withClient((client) => client.session.current().pipe(Effect.catchIf((error) => error instanceof AuthUnauthenticatedError, () => Effect.succeed(undefined))), requestOptions),
45
558
  refresh: (requestOptions) => withClient((client) => client.session.refresh(), requestOptions),
46
559
  logout: (requestOptions) => withClient((client) => client.session.logout(), requestOptions),
560
+ list: (requestOptions) => withClient((client) => client.session.list(), requestOptions),
561
+ revoke: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeSessionRevoke(input), (payload) => client.session.revoke({ payload })), requestOptions),
562
+ revokeOthers: (requestOptions) => withClient((client) => client.session.revokeOthers(), requestOptions),
47
563
  },
48
564
  emailVerification: {
49
565
  start: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeEmailVerificationStart(input), (payload) => client.emailVerification.start({ payload })), requestOptions),
50
566
  verify: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeEmailVerificationVerify(input), (payload) => client.emailVerification.verify({ payload })), requestOptions),
51
567
  },
568
+ emailOtp: {
569
+ start: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeEmailOtpStart(input), (payload) => client.emailOtp.start({ payload })), requestOptions),
570
+ verify: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeEmailOtpVerify(input), (payload) => client.emailOtp.verify({ payload })), requestOptions),
571
+ },
572
+ magicLink: {
573
+ start: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeMagicLinkStart(input), (payload) => client.magicLink.start({ payload })), requestOptions),
574
+ verify: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeMagicLinkVerify(input), (payload) => client.magicLink.verify({ payload })), requestOptions),
575
+ },
576
+ loginApproval: {
577
+ approve: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeLoginApprovalApprove(input), (payload) => client.loginApproval.approve({ payload })), requestOptions),
578
+ status: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeLoginApprovalStatus(input), (payload) => client.loginApproval.status({ payload })), requestOptions),
579
+ finalize: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeLoginApprovalFinalize(input), (payload) => client.loginApproval.finalize({ payload })), requestOptions),
580
+ },
581
+ security: {
582
+ reportLogin: (input, requestOptions) => withClient((client) => Effect.flatMap(decodeLoginNotificationReport(input), (payload) => client.security.reportLogin({ payload })), requestOptions),
583
+ },
52
584
  dispose: () => runtime.dispose(),
53
585
  };
54
586
  };