@atlasauth/js 0.42.0 → 0.43.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.
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSecuritySection = createSecuritySection;
4
+ const errors_1 = require("./errors");
5
+ const account_security_1 = require("./account-security");
6
+ const phone_numbers_1 = require("./phone-numbers");
7
+ const step_up_flow_1 = require("./step-up-flow");
8
+ const step_up_1 = require("./step-up");
9
+ const FIELD = {
10
+ code: { name: 'code', kind: 'code', autoComplete: 'one-time-code', secure: false },
11
+ second_code: { name: 'second_code', kind: 'code', autoComplete: 'one-time-code', secure: false },
12
+ current_password: { name: 'current_password', kind: 'password', autoComplete: 'current-password', secure: true },
13
+ new_password: { name: 'new_password', kind: 'password', autoComplete: 'new-password', secure: true },
14
+ };
15
+ const ACTIONS = {
16
+ sessions: ['remove', 'revoke_others'],
17
+ mfa: ['start_totp', 'start_sms', 'remove'],
18
+ passkeys: ['remove'],
19
+ phones: ['add_phone', 'verify_phone', 'make_primary', 'remove'],
20
+ recovery_codes: ['regenerate_codes'],
21
+ connected_accounts: ['remove'],
22
+ password: ['submit'],
23
+ };
24
+ const fail = (errors, stepUpRequired = false) => ({ ok: false, errors, stepUpRequired });
25
+ /** A helper result (`{ ok, errors, stepUpRequired? }`) as an Outcome. */
26
+ function fromResult(r) {
27
+ if (r.ok)
28
+ return { ok: true, value: r };
29
+ const f = r;
30
+ return fail(f.errors, f.stepUpRequired === true);
31
+ }
32
+ /** A helper that throws (phone numbers) as an Outcome. */
33
+ async function fromThrow(fn) {
34
+ try {
35
+ return { ok: true, value: await fn() };
36
+ }
37
+ catch (e) {
38
+ if (e instanceof phone_numbers_1.PhoneNumberRequestError) {
39
+ return fail([{ code: e.code, message: e.message, ...(e.param ? { param: e.param } : {}), ...(e.reason ? { reason: e.reason } : {}) }], e.needsReverification);
40
+ }
41
+ return fail([{ code: 'REQUEST_FAILED', message: e instanceof Error ? e.message : 'The request failed.' }]);
42
+ }
43
+ }
44
+ function createSecuritySection(opts) {
45
+ const { client, kind } = opts;
46
+ const stepper = opts.choose ? (0, step_up_flow_1.createStepUp)({ client, choose: opts.choose, ...(opts.passkeyAssertion ? { passkeyAssertion: opts.passkeyAssertion } : {}) }) : null;
47
+ const listeners = new Set();
48
+ let step = 'list';
49
+ let loading = true;
50
+ let busy = false;
51
+ let items = [];
52
+ let enrollment = null;
53
+ let factorId = null;
54
+ let phoneId = null;
55
+ let sentTo = null;
56
+ let recoveryCodes = null;
57
+ let backupCodesRemaining = null;
58
+ let hasPassword = null;
59
+ let failure = null;
60
+ let stepUpRequired = false;
61
+ const fieldsFor = () => {
62
+ switch (step) {
63
+ case 'totp_enroll': return enrollment && enrollment.requiredCodes > 1 ? [FIELD.code, FIELD.second_code] : [FIELD.code];
64
+ case 'sms_verify':
65
+ case 'phone_verify': return [FIELD.code];
66
+ case 'change_password': return [FIELD.current_password, FIELD.new_password];
67
+ case 'set_password': return [FIELD.new_password];
68
+ default: return [];
69
+ }
70
+ };
71
+ const view = () => ({
72
+ kind,
73
+ step,
74
+ loading,
75
+ busy,
76
+ items,
77
+ fields: fieldsFor(),
78
+ enrollment,
79
+ sentTo,
80
+ recoveryCodes,
81
+ backupCodesRemaining,
82
+ hasPassword,
83
+ actions: [...ACTIONS[kind], ...(kind === 'passkeys' && opts.addPasskey ? ['add_passkey'] : [])],
84
+ error: failure ? (0, errors_1.localizedErrorMessage)(failure, opts.localization) : null,
85
+ reason: failure?.reason ?? null,
86
+ stepUpRequired,
87
+ });
88
+ let current = view();
89
+ const emit = () => {
90
+ current = view();
91
+ for (const l of listeners)
92
+ l(current);
93
+ };
94
+ /** Run a call; on STEP_UP_REQUIRED re-authenticate through `choose` and run it once more. */
95
+ const guard = async (call) => {
96
+ const first = await call();
97
+ if (first.ok || !first.stepUpRequired || !stepper)
98
+ return first;
99
+ try {
100
+ await stepper.reauthenticate('sensitive_action');
101
+ }
102
+ catch (e) {
103
+ if (e instanceof step_up_1.StepUpCancelledError)
104
+ return fail([{ code: e.code, reason: 'step_up_cancelled', message: e.message }], true);
105
+ const err = e;
106
+ return fail([{ code: err.code ?? 'UNAUTHENTICATED', ...(err.reason ? { reason: err.reason } : {}), message: err.message }], true);
107
+ }
108
+ return call();
109
+ };
110
+ /** Run an action: busy, step-up, publish the failure; `onOk` folds the value in. */
111
+ const act = async (call, onOk) => {
112
+ busy = true;
113
+ failure = null;
114
+ stepUpRequired = false;
115
+ emit();
116
+ const out = await guard(call);
117
+ if (out.ok)
118
+ await onOk(out.value);
119
+ else {
120
+ failure = out.errors[0] ?? { code: 'REQUEST_FAILED', message: 'The request failed.' };
121
+ stepUpRequired = out.stepUpRequired && !stepper;
122
+ }
123
+ busy = false;
124
+ emit();
125
+ };
126
+ const read = async () => {
127
+ const apply = (o, fold) => (o.ok ? (fold(o.value), { ok: true, value: undefined }) : o);
128
+ switch (kind) {
129
+ case 'sessions':
130
+ return apply(fromResult(await (0, account_security_1.listSessions)(client)), (r) => {
131
+ items = r.sessions.map((s) => ({ id: s.id, label: s.deviceLabel ?? ([s.browser, s.os].filter(Boolean).join(' on ') || null), detail: s.location ?? s.ipAddress, current: s.current, primary: false, verified: true }));
132
+ });
133
+ case 'mfa':
134
+ case 'recovery_codes':
135
+ return apply(fromResult(await (0, account_security_1.listMfaFactors)(client)), (r) => {
136
+ backupCodesRemaining = r.backupCodesRemaining;
137
+ items = kind === 'mfa' ? r.factors.map((f) => ({ id: f.id, label: f.type, detail: f.phone ?? null, current: false, primary: false, verified: f.verified })) : [];
138
+ });
139
+ case 'passkeys':
140
+ return apply(fromResult(await (0, account_security_1.listPasskeys)(client)), (r) => {
141
+ items = r.passkeys.map((p) => ({ id: p.id, label: p.name ?? p.authenticator?.name ?? null, detail: null, current: false, primary: false, verified: true }));
142
+ });
143
+ case 'phones':
144
+ return apply(await fromThrow(() => (0, phone_numbers_1.listPhoneNumbers)(client)), (list) => {
145
+ items = list.map((n) => ({ id: n.id, label: n.phone_number, detail: null, current: false, primary: n.primary, verified: n.verified }));
146
+ });
147
+ case 'connected_accounts':
148
+ case 'password': {
149
+ const me = await client.get('/v1/client/me');
150
+ if (!me.ok || !me.data)
151
+ return fail(me.errors);
152
+ hasPassword = me.data.has_password === true;
153
+ if (kind === 'connected_accounts')
154
+ items = (me.data.external_accounts ?? []).map((a) => ({ id: a.id, label: a.provider, detail: a.provider_email ?? null, current: false, primary: false, verified: true }));
155
+ if (kind === 'password')
156
+ step = hasPassword ? 'change_password' : 'set_password';
157
+ return { ok: true, value: undefined };
158
+ }
159
+ }
160
+ };
161
+ const load = async () => {
162
+ busy = true;
163
+ failure = null;
164
+ stepUpRequired = false;
165
+ emit();
166
+ const out = await guard(read);
167
+ if (!out.ok) {
168
+ failure = out.errors[0] ?? { code: 'REQUEST_FAILED', message: 'The request failed.' };
169
+ stepUpRequired = out.stepUpRequired && !stepper;
170
+ }
171
+ loading = false;
172
+ busy = false;
173
+ emit();
174
+ };
175
+ const toList = () => {
176
+ step = kind === 'password' ? (hasPassword ? 'change_password' : 'set_password') : 'list';
177
+ enrollment = null;
178
+ factorId = null;
179
+ phoneId = null;
180
+ sentTo = null;
181
+ return read().then(() => undefined);
182
+ };
183
+ const showCodes = (codes) => {
184
+ recoveryCodes = codes;
185
+ step = 'recovery_codes';
186
+ };
187
+ void load();
188
+ return {
189
+ getView: () => current,
190
+ subscribe(listener) {
191
+ listeners.add(listener);
192
+ return () => void listeners.delete(listener);
193
+ },
194
+ load,
195
+ cancel() {
196
+ failure = null;
197
+ void toList().then(emit);
198
+ },
199
+ remove: (id) => act(async () => {
200
+ if (kind === 'sessions')
201
+ return fromResult(await (0, account_security_1.revokeAccountSession)(client, id));
202
+ if (kind === 'mfa')
203
+ return fromResult(await (0, account_security_1.removeMfaFactor)(client, id));
204
+ if (kind === 'passkeys')
205
+ return fromResult(await (0, account_security_1.removePasskey)(client, id));
206
+ if (kind === 'phones')
207
+ return fromThrow(() => (0, phone_numbers_1.removePhoneNumber)(client, id));
208
+ if (kind === 'connected_accounts')
209
+ return fromResult(await (0, account_security_1.unlinkExternalAccount)(client, id));
210
+ return fail([{ code: 'NOT_SUPPORTED', message: 'Nothing to remove here.' }]);
211
+ }, () => toList()),
212
+ revokeOthers: () => act(async () => (kind === 'sessions' ? fromResult(await (0, account_security_1.revokeAllSessions)(client)) : fail([{ code: 'NOT_SUPPORTED', message: 'Not available here.' }])), () => toList()),
213
+ startTotp: () => act(async () => fromResult(await (0, account_security_1.startTotp)(client)), (r) => {
214
+ enrollment = r.enrollment;
215
+ factorId = r.enrollment.factorId;
216
+ step = 'totp_enroll';
217
+ }),
218
+ startSms: (phone) => act(async () => fromResult(await (0, account_security_1.startSms)(client, phone.trim())), (r) => {
219
+ factorId = r.factorId;
220
+ sentTo = r.phone;
221
+ step = 'sms_verify';
222
+ }),
223
+ addPhone: (phone) => act(() => fromThrow(() => (0, phone_numbers_1.addPhoneNumber)(client, phone.trim())), (n) => {
224
+ phoneId = n.id;
225
+ sentTo = n.phone_number;
226
+ step = 'phone_verify';
227
+ }),
228
+ verifyPhone: (id) => act(() => fromThrow(() => (0, phone_numbers_1.preparePhoneNumberVerification)(client, id)), (n) => {
229
+ phoneId = n.id;
230
+ sentTo = n.phone_number;
231
+ step = 'phone_verify';
232
+ }),
233
+ makePrimary: (id) => act(() => fromThrow(() => (0, phone_numbers_1.setPrimaryPhoneNumber)(client, id)), () => toList()),
234
+ addPasskey: () => act(async () => {
235
+ if (!opts.addPasskey)
236
+ return fail([{ code: 'NOT_SUPPORTED', reason: 'native_unavailable', message: 'Passkeys are not set up in this app.' }]);
237
+ const r = await opts.addPasskey(client);
238
+ return r.ok ? { ok: true, value: undefined } : fail(r.errors, r.errors.some((e) => e.code === 'STEP_UP_REQUIRED'));
239
+ }, () => toList()),
240
+ regenerateCodes: () => act(async () => fromResult(await (0, account_security_1.regenerateBackupCodes)(client)), (r) => showCodes(r.codes)),
241
+ acknowledgeCodes() {
242
+ recoveryCodes = null;
243
+ void toList().then(emit);
244
+ },
245
+ submit: (values) => {
246
+ const code = (values.code ?? '').trim();
247
+ if (step === 'totp_enroll' && factorId) {
248
+ const id = factorId;
249
+ const codes = [code, (values.second_code ?? '').trim()].filter(Boolean);
250
+ return act(async () => fromResult(await (0, account_security_1.verifyTotp)(client, id, codes)), (r) => (r.backupCodes?.length ? showCodes(r.backupCodes) : toList()));
251
+ }
252
+ if (step === 'sms_verify' && factorId) {
253
+ const id = factorId;
254
+ return act(async () => fromResult(await (0, account_security_1.verifySms)(client, id, code)), (r) => (r.backupCodes?.length ? showCodes(r.backupCodes) : toList()));
255
+ }
256
+ if (step === 'phone_verify' && phoneId) {
257
+ const id = phoneId;
258
+ return act(() => fromThrow(() => (0, phone_numbers_1.attemptPhoneNumberVerification)(client, id, code)), () => toList());
259
+ }
260
+ if (step === 'change_password') {
261
+ return act(async () => fromResult(await (0, account_security_1.changePassword)(client, { currentPassword: values.current_password ?? '', newPassword: values.new_password ?? '' })), () => undefined);
262
+ }
263
+ if (step === 'set_password') {
264
+ return act(async () => fromResult(await (0, account_security_1.setPassword)(client, values.new_password ?? '')), () => {
265
+ hasPassword = true;
266
+ step = 'change_password';
267
+ });
268
+ }
269
+ return Promise.resolve();
270
+ },
271
+ };
272
+ }
273
+ //# sourceMappingURL=security-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-section.js","sourceRoot":"","sources":["../src/security-section.ts"],"names":[],"mappings":"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"}
@@ -14,11 +14,12 @@
14
14
  import { type FieldError, type PendingPolicy, type ProfileCompletionField } from './attempt';
15
15
  import { type MfaEnrollment } from './mfa-enrollment';
16
16
  import { type PolicyAcceptance } from './policies';
17
+ import { type PasskeyCaptchaSource } from './passkey-sign-in';
17
18
  import { type WebAuthnHost } from './passkey';
18
19
  import { type PasskeyAssertionProvider } from './passkey-second-factor';
19
20
  import { type RecoveryChallenge } from './mfa-recovery';
20
21
  import { type CaptchaFlowKey, type FlowCaptcha, type HeadlessCaptchaSolver } from './captcha-widget';
21
- import { type FapiClient } from './fapi';
22
+ import { type FapiClient, type FlowState } from './fapi';
22
23
  /** The second factors a headless flow can set up mid-sign-in: an authenticator app, or texted codes. */
23
24
  export type EnrollableMethod = 'totp' | 'phone_code';
24
25
  /** What a `needs_required_action` step asks for, by kind. Submit it with the method named on each. */
@@ -127,6 +128,19 @@ export interface FlowSnapshot {
127
128
  /** After `sendSecondFactorCode('sms')`: the masked number the text went to (`+1 ••• 4821`); null otherwise. */
128
129
  sentTo: string | null;
129
130
  }
131
+ /**
132
+ * A sign-in the platform runs for you (the Apple or Google system sheet, a native passkey prompt): it returns the
133
+ * resulting attempt, and the flow takes it from there (second factor, policies, ticket exchange).
134
+ */
135
+ export type NativeSignInProvider = (client: FapiClient, opts: {
136
+ captcha: PasskeyCaptchaSource | null;
137
+ }) => Promise<FlowState>;
138
+ export interface NativeSignInProviders {
139
+ /** Replaces the browser WebAuthn passkey sign-in (React Native: `nativePasskeySignIn(Passkey)` from `@atlasauth/expo-passkeys`). */
140
+ passkey?: NativeSignInProvider;
141
+ apple?: NativeSignInProvider;
142
+ google?: NativeSignInProvider;
143
+ }
130
144
  export interface FlowOptions {
131
145
  client: FapiClient;
132
146
  /**
@@ -144,6 +158,8 @@ export interface FlowOptions {
144
158
  * when the account holds one.
145
159
  */
146
160
  passkeyAssertion?: PasskeyAssertionProvider;
161
+ /** The system-sheet sign-ins a native app runs (passkey, Apple, Google). See {@link NativeSignInProvider}. */
162
+ nativeSignIn?: NativeSignInProviders;
147
163
  }
148
164
  interface Core {
149
165
  /** The current step, errors and busy flag. */
@@ -171,6 +187,8 @@ export interface SignInFlow extends Core {
171
187
  submitEmailCode(code: string): Promise<FlowSnapshot>;
172
188
  /** Sign in with a passkey (starts at `needs_identifier`; needs no identifier). */
173
189
  signInWithPasskey(): Promise<FlowSnapshot>;
190
+ /** Sign in with the Apple or Google system sheet (the `nativeSignIn` option). A dismissed sheet is an error with reason `native_cancelled`. */
191
+ signInNative(provider: 'apple' | 'google'): Promise<FlowSnapshot>;
174
192
  /** `needs_second_factor`: a code for `strategy` (default: authenticator app). */
175
193
  submitSecondFactor(code: string, strategy?: (typeof SECOND_FACTOR_STRATEGIES)[number], options?: {
176
194
  rememberDevice?: boolean;
@@ -278,7 +278,7 @@ function createSignInFlow(opts) {
278
278
  let viaPasskey = false;
279
279
  const passkey = async (solved = false) => {
280
280
  viaPasskey = true;
281
- const snap = await core.run(() => (0, passkey_sign_in_1.signInWithPasskey)(client, { captcha: core.captchaToken ? async () => core.takeCaptchaToken() : null }));
281
+ const snap = await core.run(() => (opts.nativeSignIn?.passkey ?? passkey_sign_in_1.signInWithPasskey)(client, { captcha: core.captchaToken ? async () => core.takeCaptchaToken() : null }));
282
282
  viaPasskey = await core.captchaStepFromErrors();
283
283
  if (!viaPasskey)
284
284
  return snap;
@@ -309,6 +309,12 @@ function createSignInFlow(opts) {
309
309
  sendEmailCode: () => core.run(() => (0, fapi_1.prepareFactor)(client, core.flow, 'email_code')),
310
310
  submitEmailCode: (code) => core.run(() => (0, fapi_1.advance)(client, core.flow, { code })),
311
311
  signInWithPasskey: () => passkey(),
312
+ signInNative: (provider) => {
313
+ const run = opts.nativeSignIn?.[provider];
314
+ if (!run)
315
+ return core.run(async () => ({ ...core.flow, errors: [{ code: 'NATIVE_UNAVAILABLE', reason: 'native_unavailable', message: `Sign in with ${provider === 'apple' ? 'Apple' : 'Google'} is not set up in this app.` }] }));
316
+ return core.run(() => run(client, { captcha: null }));
317
+ },
312
318
  submitSecondFactor: (code, strategy = 'totp', options = {}) => core.run(() => (0, fapi_1.advance)(client, core.flow, {
313
319
  code,
314
320
  ...(strategy === 'email_code' ? { strategy } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"sign-in-flow.js","sourceRoot":"","sources":["../src/sign-in-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign-in-flow.js","sourceRoot":"","sources":["../src/sign-in-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * The view-model of a sign-in screen, with no UI and no framework.
3
+ *
4
+ * `createSignInScreen()` drives `createSignInFlow()` and answers the questions a
5
+ * screen asks: which step am I on, which methods can the person use, which
6
+ * fields do I draw, what do I show when it fails. You render `getView()`, call
7
+ * the actions, and re-render on `subscribe`. The server still decides the next
8
+ * step; this only shapes the flow's answers for a form. Errors come back as
9
+ * sentences in the app's language (`localization`), never as codes.
10
+ *
11
+ * The steps after the credentials are driven too: setting up a second factor
12
+ * (authenticator app with its QR code, or texts), saving the recovery codes,
13
+ * accepting policies and the required actions (new password, verify email,
14
+ * profile, a server-driven form, identity verification). `other` is only a step
15
+ * this SDK does not know yet; `flow` is there for it.
16
+ */
17
+ import { type ErrorStrings } from './errors';
18
+ import type { PendingPolicy } from './attempt';
19
+ import { type FlowOptions, type FlowStep, type RequiredActionStep, type SignInFlow } from './sign-in-flow';
20
+ export type SignInScreenStep = 'identifier' | 'first_factor' | 'second_factor' | 'captcha' | 'redirect'
21
+ /** Mid-sign-in second-factor setup: pick `totp` or `sms`, see `enrollment`. */
22
+ | 'enroll_second_factor'
23
+ /** The factor is set up: show `recoveryCodes` once, then `acknowledgeRecoveryCodes()`. */
24
+ | 'recovery_codes'
25
+ /** `policies` to accept: `acceptPolicies()`. */
26
+ | 'policies'
27
+ /** A mailed code to confirm the address. */
28
+ | 'email_verification'
29
+ /** One owed action: see `requiredAction`. */
30
+ | 'required_action'
31
+ /** A step this SDK does not know yet; use `flow`. */
32
+ | 'other' | 'complete';
33
+ /** What the person can do on a step. `passkey`, `apple` and `google` on the identifier step are one-tap alternatives to typing an identifier. */
34
+ export type SignInMethod = 'password' | 'email_code' | 'passkey' | 'apple' | 'google' | 'totp' | 'sms' | 'backup_code';
35
+ export interface ScreenField {
36
+ /** `identifier`, `password`, `code`, `second_code`, `phone`, `new_password`, `first_name`, `last_name`, `username`, or a server-defined field key. */
37
+ name: string;
38
+ kind: 'text' | 'password' | 'code' | 'phone';
39
+ /** The platform autofill hint (`username`, `current-password`, `new-password`, `one-time-code`, `tel`). */
40
+ autoComplete: 'username' | 'current-password' | 'new-password' | 'one-time-code' | 'tel' | 'off';
41
+ secure: boolean;
42
+ /** Server-defined fields: the label to show, whether it must be filled, and the choices of a select. */
43
+ label?: string;
44
+ required?: boolean;
45
+ options?: string[];
46
+ }
47
+ /** Mid-sign-in second-factor setup. */
48
+ export interface ScreenEnrollment {
49
+ /** The authenticator app's setup, once started: scan `qrSvg` (trusted markup) or `qrCode` (a data URL), or type `secret`. */
50
+ totp: {
51
+ secret: string;
52
+ uri: string;
53
+ qrSvg: string | null;
54
+ qrCode: string | null;
55
+ } | null;
56
+ /** How many consecutive authenticator codes to ask for (field `code`, then `second_code`). */
57
+ totpCodes: 1 | 2;
58
+ /** After a text was sent: the masked number; the next field is the code. */
59
+ phone: string | null;
60
+ }
61
+ /** What the owed action asks for; the fields to draw are in the view's `fields`. */
62
+ export interface ScreenRequiredAction {
63
+ kind: RequiredActionStep['kind'];
64
+ title: string | null;
65
+ intro: string | null;
66
+ /** identity_verification and custom: where to send the person. */
67
+ url: string | null;
68
+ /** identity_verification: the check's status. */
69
+ status: string | null;
70
+ /** How many more actions are queued behind this one. */
71
+ remaining: number;
72
+ /** complete_profile: every field is optional, so it may be skipped (`submit({ skip: 'true' })`). */
73
+ skippable: boolean;
74
+ }
75
+ export interface SignInScreenView {
76
+ step: SignInScreenStep;
77
+ /** The choices for this step's factor (a password or an emailed code; an authenticator code, text, recovery code or passkey). */
78
+ methods: SignInMethod[];
79
+ /** The method the form is on: one of `methods`, or null where there is nothing to choose. */
80
+ method: SignInMethod | null;
81
+ /** The one-tap sign-ins the app set up (identifier step only). */
82
+ alternatives: SignInMethod[];
83
+ /** What to draw for the current method. Empty for a passkey (the platform prompt is the form). */
84
+ fields: ScreenField[];
85
+ /** The current method needs a code sent first (`sendCode()`), and it has not been yet. */
86
+ needsSend: boolean;
87
+ /** A code was sent for the current method; `resend()` is `sendCode()` again. */
88
+ codeSent: boolean;
89
+ /** After a text: the masked number it went to. */
90
+ sentTo: string | null;
91
+ busy: boolean;
92
+ /** The last failure as a sentence, or null. A dismissed system sheet is not a failure. */
93
+ error: string | null;
94
+ /** The stable reason behind `error`, for your own handling. */
95
+ reason: string | null;
96
+ /** The attempt id (for support or your own routes), once there is one. */
97
+ attemptId: string | null;
98
+ /** enroll_second_factor. */
99
+ enrollment: ScreenEnrollment | null;
100
+ /** recovery_codes: shown once. */
101
+ recoveryCodes: string[] | null;
102
+ /** policies. */
103
+ policies: PendingPolicy[];
104
+ /** required_action. */
105
+ requiredAction: ScreenRequiredAction | null;
106
+ /** The flow's own step, for `other` and for the details of `captcha` / `redirect`. */
107
+ flowStep: FlowStep;
108
+ }
109
+ export interface SignInScreenOptions extends FlowOptions {
110
+ /** A `@atlasauth/localizations` bundle (or lookup function) for error sentences. */
111
+ localization?: ErrorStrings | null;
112
+ }
113
+ export interface SignInScreen {
114
+ getView(): SignInScreenView;
115
+ subscribe(listener: (view: SignInScreenView) => void): () => void;
116
+ /** The underlying flow, for the steps reported as `other`. */
117
+ readonly flow: SignInFlow;
118
+ /**
119
+ * Pick a method on the current step (a text or an emailed code is not sent until `sendCode()`).
120
+ * On `enroll_second_factor`, `totp` starts the authenticator setup.
121
+ */
122
+ selectMethod(method: SignInMethod): Promise<void>;
123
+ /** Send the code the current step needs (emailed first-factor code, a text / emailed second-factor code, or the verify-email code of a required action). */
124
+ sendCode(): Promise<void>;
125
+ /** The same as `sendCode()`, for a "send again" button. */
126
+ resend(): Promise<void>;
127
+ /**
128
+ * Submit the form of the current step. Values are by field name (`identifier`, `password`, `code`);
129
+ * `remember_device: 'true'` on a second factor skips it next time. For the passkey method no values are needed.
130
+ */
131
+ submit(values?: Record<string, string>): Promise<void>;
132
+ /** The one-tap sign-ins (identifier step). */
133
+ signInWithPasskey(): Promise<void>;
134
+ signInWithApple(): Promise<void>;
135
+ signInWithGoogle(): Promise<void>;
136
+ /** recovery_codes: the person saved them. */
137
+ acknowledgeRecoveryCodes(): Promise<void>;
138
+ /**
139
+ * policies: accept what the step lists (all of it, or only `only` keys). Pass `scrolledToEnd` / `viewMs` as
140
+ * evidence for a scroll-to-accept policy.
141
+ */
142
+ acceptPolicies(options?: {
143
+ only?: string[];
144
+ scrolledToEnd?: boolean;
145
+ viewMs?: number;
146
+ }): Promise<void>;
147
+ /** required_action / identity_verification: open the check; the action's `url` is where the person goes. */
148
+ startIdentityVerification(redirectUrl?: string): Promise<void>;
149
+ /** required_action / identity_verification: read the verdict after the person came back. */
150
+ checkIdentityVerification(): Promise<void>;
151
+ /** Answer a `captcha` step with a token you obtained yourself. */
152
+ submitCaptcha(token: string): Promise<void>;
153
+ /** Start over from the identifier. */
154
+ reset(): void;
155
+ }
156
+ export declare function createSignInScreen(opts: SignInScreenOptions): SignInScreen;