@corbado/observe 1.8.0 → 1.9.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.
Files changed (42) hide show
  1. package/dist/analysis/client.mjs +82 -56
  2. package/dist/analysis/config-manager.mjs +30 -5
  3. package/dist/analysis/device-info-manager.mjs +16 -1
  4. package/dist/analysis/device.mjs +88 -10
  5. package/dist/analysis/handoff.mjs +7 -0
  6. package/dist/analysis/low-events/grouped-input-tracker.mjs +148 -33
  7. package/dist/analysis/low-events/input-tracker.mjs +138 -59
  8. package/dist/analysis/low-events/shared-window-observer.mjs +148 -77
  9. package/dist/analysis/low-events/viewport-batcher.mjs +3 -3
  10. package/dist/analysis/queue.mjs +75 -8
  11. package/dist/analysis/{low-events/input-paste-observer.mjs → readers/input-paste.mjs} +2 -2
  12. package/dist/analysis/readers/input.mjs +61 -0
  13. package/dist/analysis/readers/loader-global.mjs +15 -0
  14. package/dist/analysis/readers/network.mjs +14 -0
  15. package/dist/analysis/readers/page.mjs +30 -0
  16. package/dist/analysis/readers/storage.mjs +28 -0
  17. package/dist/analysis/{utils → readers}/web-lock.mjs +6 -2
  18. package/dist/analysis/readers/window-events.mjs +48 -0
  19. package/dist/analysis/storage/index.mjs +61 -9
  20. package/dist/analysis/store/event-store.mjs +34 -16
  21. package/dist/analysis/transports/fetch.mjs +45 -3
  22. package/dist/analysis/utils/email-link-operation-full.mjs +22 -2
  23. package/dist/analysis/utils/email-otp-operation-full.mjs +0 -1
  24. package/dist/analysis/utils/form-operation-full.mjs +0 -1
  25. package/dist/analysis/utils/operation-full-provide-identifier-with-cui.mjs +6 -6
  26. package/dist/analysis/utils/passkey-enrollment-operation-full.mjs +9 -6
  27. package/dist/analysis/utils/passkey-login-operation-full.mjs +10 -5
  28. package/dist/analysis/utils/password-login-operation-full.mjs +8 -4
  29. package/dist/analysis/utils/password-manager-sampler.mjs +44 -4
  30. package/dist/analysis/utils/sms-otp-operation-full.mjs +0 -1
  31. package/dist/analysis/utils/totp-operation-full.mjs +0 -1
  32. package/dist/analysis/version.mjs +1 -1
  33. package/dist/cdn/script.global.js +4 -4
  34. package/dist/index.d.mts +131 -19
  35. package/dist/index.d.ts +131 -19
  36. package/dist/index.js +2 -2
  37. package/dist/index.mjs +2 -2
  38. package/package.json +5 -3
  39. package/tools/reader-meta-text.d.mts +2 -0
  40. package/tools/reader-meta-text.mjs +26 -0
  41. package/tools/strip-reader-meta.d.mts +33 -0
  42. package/tools/strip-reader-meta.mjs +131 -0
package/dist/index.d.ts CHANGED
@@ -8,7 +8,9 @@
8
8
  * derive the collection manifest of a build, so a call removed by dead-code elimination also
9
9
  * removes its item from the manifest.
10
10
  *
11
- * Vocabulary follows the collection manifest data model v1 (`corbado.collection/v1`).
11
+ * Vocabulary follows the collection manifest data model v1 (`corbado.collection/v1`). Call sites with the
12
+ * same `key` describe one item (the extractor merges them). `title`, `group` and `origin` are optional in
13
+ * the type (additive); every SDK call site declares them (`scripts/check-browser-globals.mjs` enforces it).
12
14
  *
13
15
  * @internal
14
16
  */
@@ -47,13 +49,36 @@ type ReaderField = {
47
49
  path: string;
48
50
  exposure: ReaderExposure;
49
51
  transform?: ReaderTransform;
52
+ /**
53
+ * Customer-readable label of the field: WHAT it is, in plain language (not why it is collected), e.g.
54
+ * `Operating system version`. Same rule as `title` (`customerTextProblem`); the panel shows it instead of
55
+ * the path. Every SDK field declares one (`scripts/check-browser-globals.mjs` enforces it).
56
+ */
57
+ label?: string;
50
58
  };
51
59
  /** Build-time data switch a reader item depends on (see `FixedDataConfig`). */
52
60
  type ReaderDataConfigKey = "pmd" | "privateMode";
61
+ /**
62
+ * Where a collected value comes from: `observe-external` = the user's page or browser;
63
+ * `observe-internal` = written or generated by Observe itself (own `cbo_*` storage, loader globals,
64
+ * generated ids, own endpoints); `host-config` = provided by the customer's integration.
65
+ */
66
+ type ReaderOrigin = "observe-external" | "observe-internal" | "host-config";
53
67
  /** Literal metadata passed to every reader call. */
54
68
  type ReaderMeta = {
55
69
  /** Stable item key `<kind>:<namespace>.<name>`, e.g. `browser-api:device.webdriver`. */
56
70
  key: string;
71
+ /**
72
+ * Customer-readable title of the item: plain language for a customer's PM or security owner, no API names,
73
+ * globals, config keys or code (`scripts/check-browser-globals.mjs` enforces it).
74
+ */
75
+ title?: string;
76
+ /** Technical detail behind the title: the browser APIs, globals, events or keys the reader touches. */
77
+ accessNote?: string;
78
+ /** Customer-facing group label (fixed per SDK reader), e.g. `Device information`. */
79
+ group?: string;
80
+ /** Where the value comes from (see {@link ReaderOrigin}). */
81
+ origin?: ReaderOrigin;
57
82
  /** Fields the reader makes reachable; everything else read stays inside the reader. */
58
83
  fields: readonly ReaderField[];
59
84
  /** The data switch that removes this item from builds that turn it off. */
@@ -1034,9 +1059,7 @@ declare class SharedWindowObserver {
1034
1059
  /** Flush all registered input batches before a high-level lifecycle boundary. */
1035
1060
  flushInputs(): void;
1036
1061
  private emit;
1037
- private listen;
1038
1062
  private extendViewport;
1039
- private observeNavigation;
1040
1063
  destroy(): void;
1041
1064
  }
1042
1065
 
@@ -1069,6 +1092,7 @@ declare class NamespacedStorage implements StorageEngine {
1069
1092
  }
1070
1093
  declare class LocalStorage implements StorageEngine {
1071
1094
  private logger;
1095
+ private readonly area;
1072
1096
  constructor(logger: Logger);
1073
1097
  /**
1074
1098
  * Error situations:
@@ -1094,6 +1118,7 @@ declare class LocalStorage implements StorageEngine {
1094
1118
  declare class CookieStorage implements StorageEngine {
1095
1119
  private logger;
1096
1120
  private domain?;
1121
+ private readonly jar;
1097
1122
  constructor(logger: Logger, domain?: string | undefined);
1098
1123
  /**
1099
1124
  * Error situations:
@@ -1119,6 +1144,7 @@ declare class CookieStorage implements StorageEngine {
1119
1144
  }
1120
1145
  declare class SessionStorage implements StorageEngine {
1121
1146
  private logger;
1147
+ private readonly area;
1122
1148
  constructor(logger: Logger);
1123
1149
  /**
1124
1150
  * Error situations:
@@ -1142,6 +1168,55 @@ declare class SessionStorage implements StorageEngine {
1142
1168
  removeItem(key: string): void;
1143
1169
  }
1144
1170
 
1171
+ declare const INPUT_HANDOFF: unique symbol;
1172
+ declare const WEBAUTHN_PAYLOAD_HANDOFF: unique symbol;
1173
+ declare const WEBAUTHN_ERROR_HANDOFF: unique symbol;
1174
+ /**
1175
+ * An input element released to the SDK input tracking only (e.g. by `@corbado/autocapture`'s
1176
+ * `dom.handoff`). Opaque: it has no readable members, so project code cannot inspect the element
1177
+ * without a cast. Pass it straight to an `inputHtmlField` / `inputHtmlFields` /
1178
+ * `identifierInputHtmlField` option or to `setInputFields`. At runtime it is the element itself.
1179
+ */
1180
+ type SdkInputHandoff = {
1181
+ readonly [INPUT_HANDOFF]: "sdk:input-tracking";
1182
+ };
1183
+ /**
1184
+ * Sanitized WebAuthn payload JSON released to the SDK passkey operation APIs only (e.g. by
1185
+ * `@corbado/autocapture`'s `webauthnPayload`). Opaque: it has no readable members. Pass it straight to
1186
+ * `assertionOptions`, `assertionResponse`, `attestationOptions` or `attestationResponse`. At runtime it
1187
+ * is the JSON string itself.
1188
+ */
1189
+ type SdkWebAuthnPayload = {
1190
+ readonly [WEBAUTHN_PAYLOAD_HANDOFF]: "sdk:webauthn-payload";
1191
+ };
1192
+ /**
1193
+ * The unchanged WebAuthn ceremony rejection released to the SDK ceremony error API only (e.g. by
1194
+ * `@corbado/autocapture`'s `webauthnError`). Opaque: it has no readable members. Pass it straight to a
1195
+ * step's `error(error)`, which accepts any value. At runtime it is the rejection itself.
1196
+ */
1197
+ type SdkWebAuthnError = {
1198
+ readonly [WEBAUTHN_ERROR_HANDOFF]: "sdk:webauthn-error";
1199
+ };
1200
+ type InputHandoffKey = "inputHtmlField" | "identifierInputHtmlField";
1201
+ type InputListHandoffKey = "inputHtmlFields";
1202
+ type PayloadHandoffKey = "assertionOptions" | "assertionResponse" | "attestationOptions" | "attestationResponse";
1203
+ /**
1204
+ * `T` with its input-element and WebAuthn payload options widened to also take the opaque handoffs.
1205
+ * Used only by the additive handoff overloads; the original option types are unchanged.
1206
+ */
1207
+ type WithHandoffs<T> = {
1208
+ [K in keyof T]: K extends InputHandoffKey ? T[K] | SdkInputHandoff : K extends InputListHandoffKey ? T[K] | readonly (HTMLInputElement | SdkInputHandoff)[] : K extends PayloadHandoffKey ? T[K] | SdkWebAuthnPayload : T[K];
1209
+ };
1210
+ /**
1211
+ * A step whose `start` / `finished` also take the opaque handoffs (additive overloads). The
1212
+ * {@link StepHelper} signatures stay as they are and come last, so `Parameters<…>` and existing
1213
+ * assignments to `StepHelper` resolve exactly as before.
1214
+ */
1215
+ type HandoffStepHelper<TStart = {}, TFinished = {}, TTypedError = never> = {
1216
+ start(data: WithHandoffs<TStart>, options?: StepOptions): void;
1217
+ finished(data: WithHandoffs<TFinished>, options?: StepOptions): void;
1218
+ } & StepHelper<TStart, TFinished, TTypedError>;
1219
+
1145
1220
  type PasskeyOperationLoginExplicitSpecType = "passkey-cui" | "passkey-known-identifier" | "passkey-no-identifier"
1146
1221
  /**
1147
1222
  * The `-auto` variants are the same two ceremonies started by the integration rather than by a
@@ -1185,9 +1260,9 @@ type PasskeyLoginOperationConfig = {
1185
1260
  explicitSpecType?: PasskeyOperationLoginExplicitSpecType;
1186
1261
  };
1187
1262
  declare class PasskeyLoginOperationFull extends OperationFull {
1188
- readonly getOptions: StepHelper<PasskeyLoginGetOptionsStart, PasskeyLoginGetOptionsFinished>;
1189
- readonly ceremony: StepHelper<PasskeyLoginCeremonyStart, PasskeyLoginCeremonyFinished>;
1190
- readonly postResponse: StepHelper<PasskeyLoginPostResponseStart>;
1263
+ readonly getOptions: HandoffStepHelper<PasskeyLoginGetOptionsStart, PasskeyLoginGetOptionsFinished>;
1264
+ readonly ceremony: HandoffStepHelper<PasskeyLoginCeremonyStart, PasskeyLoginCeremonyFinished>;
1265
+ readonly postResponse: HandoffStepHelper<PasskeyLoginPostResponseStart>;
1191
1266
  private lowEventTracker;
1192
1267
  constructor(tracker: CorbadoTracker, config?: PasskeyLoginOperationConfig);
1193
1268
  /**
@@ -1219,7 +1294,11 @@ declare class EmailOtpOperationFull extends OperationFull {
1219
1294
  readonly postResponse: StepHelper<EmailOTPOperationPostResponseStart>;
1220
1295
  readonly resend: StepHelper;
1221
1296
  constructor(tracker: CorbadoTracker, config?: EmailOTPOperationConfig);
1222
- /** Rebind the ordered OTP group without starting a new subflow. An empty list detaches it. */
1297
+ /**
1298
+ * Rebind the ordered OTP group without starting a new subflow. An empty list detaches it.
1299
+ * Also takes opaque {@link SdkInputHandoff}s (additive overload); at runtime they are the input elements.
1300
+ */
1301
+ setInputFields(fields: readonly (HTMLInputElement | SdkInputHandoff)[]): void;
1223
1302
  setInputFields(fields: readonly HTMLInputElement[]): void;
1224
1303
  destroy(): void;
1225
1304
  }
@@ -1240,7 +1319,11 @@ declare class SmsOtpOperationFull extends OperationFull {
1240
1319
  readonly postResponse: StepHelper<SmsOTPOperationPostResponseStart>;
1241
1320
  readonly resend: StepHelper;
1242
1321
  constructor(tracker: CorbadoTracker, config?: SmsOTPOperationConfig);
1243
- /** Rebind the ordered OTP group without starting a new subflow. An empty list detaches it. */
1322
+ /**
1323
+ * Rebind the ordered OTP group without starting a new subflow. An empty list detaches it.
1324
+ * Also takes opaque {@link SdkInputHandoff}s (additive overload); at runtime they are the input elements.
1325
+ */
1326
+ setInputFields(fields: readonly (HTMLInputElement | SdkInputHandoff)[]): void;
1244
1327
  setInputFields(fields: readonly HTMLInputElement[]): void;
1245
1328
  destroy(): void;
1246
1329
  }
@@ -1307,6 +1390,7 @@ declare class EmailLinkContinuationOperation extends OperationFull {
1307
1390
  private started;
1308
1391
  private deferred;
1309
1392
  private readonly onPageHide;
1393
+ private removePageHide?;
1310
1394
  constructor(tracker: CorbadoTracker, config?: EmailLinkContinuationConfig);
1311
1395
  /** Transaction ID of the continued email link, when known. */
1312
1396
  get transactionId(): string | undefined;
@@ -1377,9 +1461,9 @@ type PasskeyEnrollmentOperationConfig = {
1377
1461
  ignoreAsInteraction?: boolean;
1378
1462
  };
1379
1463
  declare class PasskeyEnrollmentOperationFull extends OperationFull {
1380
- readonly getOptions: StepHelper<PasskeyEnrollmentGetOptionsStart, PasskeyEnrollmentGetOptionsFinished>;
1381
- readonly ceremony: StepHelper<PasskeyEnrollmentCeremonyStart, PasskeyEnrollmentCeremonyFinished>;
1382
- readonly postResponse: StepHelper<PasskeyEnrollmentPostResponseStart>;
1464
+ readonly getOptions: HandoffStepHelper<PasskeyEnrollmentGetOptionsStart, PasskeyEnrollmentGetOptionsFinished>;
1465
+ readonly ceremony: HandoffStepHelper<PasskeyEnrollmentCeremonyStart, PasskeyEnrollmentCeremonyFinished>;
1466
+ readonly postResponse: HandoffStepHelper<PasskeyEnrollmentPostResponseStart>;
1383
1467
  private lowEventTracker;
1384
1468
  constructor(tracker: CorbadoTracker, config?: PasskeyEnrollmentOperationConfig);
1385
1469
  destroy(): void;
@@ -1447,8 +1531,8 @@ declare class PasswordLoginOperationFull extends OperationFull {
1447
1531
  * attributed to password-login rather than a separate subflow.
1448
1532
  */
1449
1533
  readonly cui: {
1450
- getOptions: StepHelper<PasswordLoginCUIGetOptionsStart, PasswordLoginCUIGetOptionsFinished>;
1451
- ceremony: StepHelper<PasswordLoginCUICeremonyStart, PasskeyLoginCeremonyFinished, PasswordLoginCUITypedError>;
1534
+ getOptions: HandoffStepHelper<PasswordLoginCUIGetOptionsStart, PasswordLoginCUIGetOptionsFinished>;
1535
+ ceremony: HandoffStepHelper<PasswordLoginCUICeremonyStart, PasskeyLoginCeremonyFinished, PasswordLoginCUITypedError>;
1452
1536
  postResponse: StepHelper;
1453
1537
  };
1454
1538
  private lowEventTracker?;
@@ -1511,9 +1595,9 @@ declare class OperationFullProvideIdentifierWithCUI extends OperationFull {
1511
1595
  * @deprecated `subflow_trigger` will be removed in the next major version.
1512
1596
  */
1513
1597
  trigger: (data: SubflowTrigger, options?: StepOptions) => void;
1514
- getOptions: StepHelper<PasskeyLoginCUIGetOptionsStart, PasskeyLoginCUIGetOptionsFinished>;
1515
- ceremony: StepHelper<CUICeremonyStart, PasskeyLoginCeremonyFinished, PasskeyLoginCUITypedError>;
1516
- postResponse: StepHelper<PasskeyLoginPostResponseStart>;
1598
+ getOptions: HandoffStepHelper<PasskeyLoginCUIGetOptionsStart, PasskeyLoginCUIGetOptionsFinished>;
1599
+ ceremony: HandoffStepHelper<CUICeremonyStart, PasskeyLoginCeremonyFinished, PasskeyLoginCUITypedError>;
1600
+ postResponse: HandoffStepHelper<PasskeyLoginPostResponseStart>;
1517
1601
  };
1518
1602
  readonly provideIdentifier: {
1519
1603
  /**
@@ -1593,7 +1677,11 @@ declare class TotpOperationFull extends OperationFull {
1593
1677
  private lowEventTracker?;
1594
1678
  readonly postResponse: StepHelper<TotpOperationPostResponseStart>;
1595
1679
  constructor(tracker: CorbadoTracker, config?: TotpOperationConfig);
1596
- /** Rebind the ordered code input group without starting a new subflow. An empty list detaches it. */
1680
+ /**
1681
+ * Rebind the ordered code input group without starting a new subflow. An empty list detaches it.
1682
+ * Also takes opaque {@link SdkInputHandoff}s (additive overload); at runtime they are the input elements.
1683
+ */
1684
+ setInputFields(fields: readonly (HTMLInputElement | SdkInputHandoff)[]): void;
1597
1685
  setInputFields(fields: readonly HTMLInputElement[]): void;
1598
1686
  destroy(): void;
1599
1687
  }
@@ -1670,7 +1758,11 @@ declare class FormOperationFull extends OperationFull {
1670
1758
  readonly skip: StepHelper;
1671
1759
  private readonly inputBinding?;
1672
1760
  constructor(tracker: CorbadoTracker, config: FormOperationConfig);
1673
- /** Bind the fields the form shows now, without starting a new subflow. An empty list detaches all. */
1761
+ /**
1762
+ * Bind the fields the form shows now, without starting a new subflow. An empty list detaches all.
1763
+ * Also takes opaque {@link SdkInputHandoff}s (additive overload); at runtime they are the input elements.
1764
+ */
1765
+ setInputFields(fields: readonly (HTMLInputElement | SdkInputHandoff)[]): void;
1674
1766
  setInputFields(fields: readonly HTMLInputElement[]): void;
1675
1767
  destroy(): void;
1676
1768
  }
@@ -2367,7 +2459,11 @@ declare class CorbadoTracker {
2367
2459
  * ```
2368
2460
  */
2369
2461
  passkeyDeletionOperationFull(config?: PasskeyDeletionOperationConfig): PasskeyDeletionOperationFull;
2462
+ /** Also accepts an opaque `SdkInputHandoff` wherever the config takes an input element (additive overload). */
2463
+ passwordLoginFullOperation(autoTrackConfig?: WithHandoffs<PasswordLoginConfig>): PasswordLoginOperationFull;
2370
2464
  passwordLoginFullOperation(autoTrackConfig?: PasswordLoginConfig): PasswordLoginOperationFull;
2465
+ /** Also accepts an opaque `SdkInputHandoff` wherever the config takes an input element (additive overload). */
2466
+ passwordEnrollmentFullOperation(autoTrackConfig?: WithHandoffs<PasswordEnrollmentConfig>): PasswordEnrollmentOperationFull;
2371
2467
  passwordEnrollmentFullOperation(autoTrackConfig?: PasswordEnrollmentConfig): PasswordEnrollmentOperationFull;
2372
2468
  emailLinkOperationFull(config?: EmailLinkOperationConfig): EmailLinkOperationFull;
2373
2469
  /**
@@ -2376,7 +2472,11 @@ declare class CorbadoTracker {
2376
2472
  * the backend joins to page 1 through the transaction ID. See {@link EmailLinkContinuationOperation}.
2377
2473
  */
2378
2474
  continueEmailLinkOperation(config?: EmailLinkContinuationConfig): EmailLinkContinuationOperation;
2475
+ /** Also accepts an opaque `SdkInputHandoff` wherever the config takes an input element (additive overload). */
2476
+ emailOtpOperationFull(config?: WithHandoffs<EmailOTPOperationConfig>): EmailOtpOperationFull;
2379
2477
  emailOtpOperationFull(config?: EmailOTPOperationConfig): EmailOtpOperationFull;
2478
+ /** Also accepts an opaque `SdkInputHandoff` wherever the config takes an input element (additive overload). */
2479
+ smsOtpOperationFull(config?: WithHandoffs<SmsOTPOperationConfig>): SmsOtpOperationFull;
2380
2480
  smsOtpOperationFull(config?: SmsOTPOperationConfig): SmsOtpOperationFull;
2381
2481
  /**
2382
2482
  * Track a code from an authenticator app (TOTP) through its verification.
@@ -2392,9 +2492,16 @@ declare class CorbadoTracker {
2392
2492
  * totp.postResponse.start({});
2393
2493
  * totp.postResponse.finished({});
2394
2494
  * ```
2495
+ *
2496
+ * Also accepts an opaque `SdkInputHandoff` wherever the config takes an input element (additive overload).
2395
2497
  */
2498
+ totpOperationFull(config?: WithHandoffs<TotpOperationConfig>): TotpOperationFull;
2396
2499
  totpOperationFull(config?: TotpOperationConfig): TotpOperationFull;
2500
+ /** Also accepts an opaque `SdkInputHandoff` wherever the config takes an input element (additive overload). */
2501
+ provideIdentifierOperationFull(config?: WithHandoffs<OperationFullProvideIdentifierWithCUIConfig>): OperationFullProvideIdentifierWithCUI;
2397
2502
  provideIdentifierOperationFull(config?: OperationFullProvideIdentifierWithCUIConfig): OperationFullProvideIdentifierWithCUI;
2503
+ /** Also accepts an opaque `SdkInputHandoff` wherever the config takes an input element (additive overload). */
2504
+ provideDataOperationFull(config?: WithHandoffs<ProvideDataOperationConfig>): ProvideDataOperationFull;
2398
2505
  provideDataOperationFull(config?: ProvideDataOperationConfig): ProvideDataOperationFull;
2399
2506
  /**
2400
2507
  * Track one form: a page, step or modal where the user provides one coherent set of data and submits
@@ -2421,7 +2528,10 @@ declare class CorbadoTracker {
2421
2528
  * form.submit.error(error);
2422
2529
  * }
2423
2530
  * ```
2531
+ *
2532
+ * Also accepts an opaque `SdkInputHandoff` wherever the config takes an input element (additive overload).
2424
2533
  */
2534
+ formOperationFull(config: WithHandoffs<FormOperationConfig>): FormOperationFull;
2425
2535
  formOperationFull(config: FormOperationConfig): FormOperationFull;
2426
2536
  /**
2427
2537
  * Track a social login with an external provider (e.g. Google, Apple).
@@ -2758,6 +2868,8 @@ declare class RequestQueue {
2758
2868
  private dirtySinceSyncFlush;
2759
2869
  private onVisibilityChange;
2760
2870
  private onPageHide;
2871
+ private removeVisibilityChange;
2872
+ private removePageHide;
2761
2873
  private readonly batchSize;
2762
2874
  private readonly flushIntervalOverride?;
2763
2875
  private readonly debug;
@@ -3214,4 +3326,4 @@ declare function logInfo(message: string): void;
3214
3326
  declare function logError(message: string): void;
3215
3327
  declare function destroy(): Promise<void>;
3216
3328
 
3217
- export { type AppConfirmationOperationCeremonyTypedError, type AppConfirmationOperationConfig, AppConfirmationOperationFull, type AppConfirmationOperationRetryReason, type AppConfirmationOperationSpecType, type AppConfirmationOperationStart, type AuthDecisionFinished, type AuthDecisionStarted, AuthEventName, type AuthMethodDecisionFinished, type AuthMethodDecisionStarted, type AuthMethodType, type BaseEvent, CEREMONY_LOW_EVENT_TAIL_MS, CONFIG_BOUNDS, CONFIG_REQUEST_HEADER, CONFIG_STORAGE_KEY, type CaptchaOperationConfig, CaptchaOperationFull, type CaptchaOperationSpecType, type ClientCapabilities, type ClientEnvHandleMeta, type ClientEnvHandleMetaSource, type Conversion, CookieStorage, CorbadoTracker, type CreateLoggerOptions, type CustomEvent, DEFAULT_DEVICE_INFO_COLLECTOR_TIMEOUT_MS, DEFAULT_FLUSH_INTERVAL_MS, DEFAULT_MAX_ENTRIES, DEFAULT_MAX_SERIALIZED_LENGTH, DEFAULT_RELIABILITY_CONFIG, DEFAULT_SEQ_LOCK_TIMEOUT_MS, DEFAULT_SESSION_INACTIVITY_MS, type DeviceInfo, type DeviceInfoCollectionError, type DeviceInfoDataWeb, type DeviceType, type EmailLinkContinuationConfig, EmailLinkContinuationOperation, type EmailLinkOperationConfig, EmailLinkOperationFull, type EmailLinkOperationPostResponseStart, type EmailLinkOperationSendStart, type EmailLinkOperationSpecType, type EmailOTPOperationConfig, type EmailOTPOperationPostResponseStart, type EmailOTPOperationSendOTPStart, type EmailOTPOperationSpecType, EmailOtpOperationFull, type ErrorStepOptions, type Event, type EventBatch, type EventBatchMeta, type EventMeta, EventStore, type EventType, type FixedDataConfig, type FlowAutoFinished, type FlowDecided, type FlowFinished, type FlowHandle, type FlowReset, type FlowStarted, type FlowType, type FlushReason, type FormOperationConfig, FormOperationFull, type JavaScriptHighEntropy, type KeyOperationConfig, KeyRegistrationOperationFull, KeySigningOperationFull, LocalStorage, type Logger, type LowEvent, type LowEventFieldRole, type LowEventInitiator, type LowEventInputEffect, type LowEventSourceKind, type MultiFlowReset, type MultiFlowStarted, NamespacedStorage, type NormalizedError, OUTBOX_LOCK_NAME, OUTBOX_STORAGE_KEY, type ObserveSdkConfigSnapshot, OperationFull, OperationFullProvideIdentifierWithCUI, type OperationFullProvideIdentifierWithCUIConfig, type OutboxEntry, PROBE_BATCH_MAX_BYTES, PROBE_BATCH_MAX_ITEMS, PROBE_PAYLOAD_MAX_BYTES, PROBE_QUEUE_MAX_BYTES, PROBE_QUEUE_MAX_ITEMS, type PasskeyDeletionDeletionTypedError, type PasskeyDeletionOperationConfig, PasskeyDeletionOperationFull, type PasskeyDeletionUserConfirmationTypedError, type PasskeyEnrollmentCeremonyFinished, type PasskeyEnrollmentCeremonyStart, type PasskeyEnrollmentGetOptionsFinished, type PasskeyEnrollmentGetOptionsStart, type PasskeyEnrollmentOperationConfig, PasskeyEnrollmentOperationFull, type PasskeyEnrollmentPostResponseStart, type PasskeyLoginCUIGetOptionsFinished, type PasskeyLoginCUIGetOptionsStart, type PasskeyLoginCUISpecType, type PasskeyLoginCeremonyFinished, type PasskeyLoginCeremonyStart, type PasskeyLoginClientError, type PasskeyLoginFinish, type PasskeyLoginGetOptionsFinished, type PasskeyLoginGetOptionsStart, type PasskeyLoginOperationConfig, PasskeyLoginOperationFull, type PasskeyLoginPostResponseStart, type PasskeyLoginStartable, type PasskeyLoginSubmitted, type PasskeyOperationEnrollmentExplicitSpecType, type PasskeyOperationLoginExplicitSpecType, type PasswordEnrollmentConfig, PasswordEnrollmentOperationFull, type PasswordEnrollmentTypedError, type PasswordLoginCUICeremonyStart, type PasswordLoginCUIGetOptionsFinished, type PasswordLoginCUIGetOptionsStart, type PasswordLoginCUISpecType, type PasswordLoginCUITypedError, type PasswordLoginConfig, type PasswordLoginExplicitSpecType, PasswordLoginOperationFull, type PasswordLoginTypedError, type PasswordManagerExtension, type PasswordManagerExtensionName, type PredefinedEvent, type ProbeContext, type ProbeEntry, type ProbeInput, type ProvideDataOperationConfig, ProvideDataOperationFull, type ProvideDataOperationPostResponseStart, type ProvideDataOperationSpecType, type ProvideDataOperationStart, type ProvideIdentifierError, type ProvideIdentifierFinish, type ProvideIdentifierPostResponseStart, type ProvideIdentifierSpecType, type ProvideIdentifierStart, type QueueOptions, RAW_ERROR_BOUNDS, READER_EXPOSURES, type RawErrorEnvelope, type ReaderDataConfigKey, type ReaderExposure, type ReaderField, type ReaderMeta, type ReaderTransform, RequestQueue, type ResolvedFixedDataConfig, SDK_NAME, SDK_VERSION, type SdkInfo, type SdkReliabilityConfig, type SdkReliabilityConfigOverrides, type SdkRetryConfig, type SerializeRawErrorOptions, SessionStorage, type SetFlowTagsOptions, type SmsOTPOperationConfig, type SmsOTPOperationPostResponseStart, type SmsOTPOperationSpecType, SmsOtpOperationFull, type SocialLoginEntry, type SocialLoginExchangeCodeFinished, type SocialLoginExchangeCodeStart, type SocialLoginGetRedirectUrlFinished, type SocialLoginGetRedirectUrlStart, type SocialLoginOperationConfig, SocialLoginOperationFull, type SocialLoginProviderType, type SocialLoginSpecType, type SourcePathQueryMode, type SsoLoginExchangeCodeFinished, type SsoLoginExchangeCodeStart, type SsoLoginGetRedirectUrlFinished, type SsoLoginGetRedirectUrlStart, type SsoLoginOperationConfig, SsoLoginOperationFull, type SsoLoginSpecType, type StandaloneDeviceInfoSource, type StepHelper, type StepIdentifier, type StepOptions, type StorageEngine, type SubflowTrigger, type SubflowType, type TelemetryEntry, type TelemetryLevel, type TelemetrySink, type TotpOperationConfig, TotpOperationFull, type TotpOperationPostResponseStart, type TotpOperationSpecType, type TrackerOptions, type Transport, type TransportMakeRequestResponse, type TransportOptions, type TrustedDeviceBindingMetadata, type TrustedDeviceCheckConfig, TrustedDeviceCheckOperationFull, type TrustedDeviceCheckResult, type TrustedDeviceCheckStepResult, type TrustedDeviceCheckTypedError, TrustedDeviceEnrollmentOperationFull, type TrustedDeviceEnrollmentResult, type TrustedDeviceOperationConfig, type TrustedDevicePurpose, type TrustedDeviceStorage, UNLOAD_BUDGET_BYTES, UNLOAD_PROBE_MAX_BYTES, type UserReference, type WebAuthnIdentifierProjector, type WebAuthnIdentifierProjectors, cacheConfig, clearExperiment, clearExperiments, createLogger, destroy, detectPasswordManagerExtensions, getExperiments, getSessionId, getTracker, init, loadCachedConfig, logError, logInfo, namespacedKey, parseReliabilityConfig, resetSession, resolveFixedDataConfig, resolveRawErrorLimits, resolveReliabilityConfig, sanitizeAssertionResponse, sanitizeCreationOptions, sanitizeCreationResponse, sanitizeRequestOptions, serializeRawError, setExperiment, setExperiments, setFlowTags, setUser, telemetry, utf8Length };
3329
+ export { type AppConfirmationOperationCeremonyTypedError, type AppConfirmationOperationConfig, AppConfirmationOperationFull, type AppConfirmationOperationRetryReason, type AppConfirmationOperationSpecType, type AppConfirmationOperationStart, type AuthDecisionFinished, type AuthDecisionStarted, AuthEventName, type AuthMethodDecisionFinished, type AuthMethodDecisionStarted, type AuthMethodType, type BaseEvent, CEREMONY_LOW_EVENT_TAIL_MS, CONFIG_BOUNDS, CONFIG_REQUEST_HEADER, CONFIG_STORAGE_KEY, type CaptchaOperationConfig, CaptchaOperationFull, type CaptchaOperationSpecType, type ClientCapabilities, type ClientEnvHandleMeta, type ClientEnvHandleMetaSource, type Conversion, CookieStorage, CorbadoTracker, type CreateLoggerOptions, type CustomEvent, DEFAULT_DEVICE_INFO_COLLECTOR_TIMEOUT_MS, DEFAULT_FLUSH_INTERVAL_MS, DEFAULT_MAX_ENTRIES, DEFAULT_MAX_SERIALIZED_LENGTH, DEFAULT_RELIABILITY_CONFIG, DEFAULT_SEQ_LOCK_TIMEOUT_MS, DEFAULT_SESSION_INACTIVITY_MS, type DeviceInfo, type DeviceInfoCollectionError, type DeviceInfoDataWeb, type DeviceType, type EmailLinkContinuationConfig, EmailLinkContinuationOperation, type EmailLinkOperationConfig, EmailLinkOperationFull, type EmailLinkOperationPostResponseStart, type EmailLinkOperationSendStart, type EmailLinkOperationSpecType, type EmailOTPOperationConfig, type EmailOTPOperationPostResponseStart, type EmailOTPOperationSendOTPStart, type EmailOTPOperationSpecType, EmailOtpOperationFull, type ErrorStepOptions, type Event, type EventBatch, type EventBatchMeta, type EventMeta, EventStore, type EventType, type FixedDataConfig, type FlowAutoFinished, type FlowDecided, type FlowFinished, type FlowHandle, type FlowReset, type FlowStarted, type FlowType, type FlushReason, type FormOperationConfig, FormOperationFull, type HandoffStepHelper, type JavaScriptHighEntropy, type KeyOperationConfig, KeyRegistrationOperationFull, KeySigningOperationFull, LocalStorage, type Logger, type LowEvent, type LowEventFieldRole, type LowEventInitiator, type LowEventInputEffect, type LowEventSourceKind, type MultiFlowReset, type MultiFlowStarted, NamespacedStorage, type NormalizedError, OUTBOX_LOCK_NAME, OUTBOX_STORAGE_KEY, type ObserveSdkConfigSnapshot, OperationFull, OperationFullProvideIdentifierWithCUI, type OperationFullProvideIdentifierWithCUIConfig, type OutboxEntry, PROBE_BATCH_MAX_BYTES, PROBE_BATCH_MAX_ITEMS, PROBE_PAYLOAD_MAX_BYTES, PROBE_QUEUE_MAX_BYTES, PROBE_QUEUE_MAX_ITEMS, type PasskeyDeletionDeletionTypedError, type PasskeyDeletionOperationConfig, PasskeyDeletionOperationFull, type PasskeyDeletionUserConfirmationTypedError, type PasskeyEnrollmentCeremonyFinished, type PasskeyEnrollmentCeremonyStart, type PasskeyEnrollmentGetOptionsFinished, type PasskeyEnrollmentGetOptionsStart, type PasskeyEnrollmentOperationConfig, PasskeyEnrollmentOperationFull, type PasskeyEnrollmentPostResponseStart, type PasskeyLoginCUIGetOptionsFinished, type PasskeyLoginCUIGetOptionsStart, type PasskeyLoginCUISpecType, type PasskeyLoginCeremonyFinished, type PasskeyLoginCeremonyStart, type PasskeyLoginClientError, type PasskeyLoginFinish, type PasskeyLoginGetOptionsFinished, type PasskeyLoginGetOptionsStart, type PasskeyLoginOperationConfig, PasskeyLoginOperationFull, type PasskeyLoginPostResponseStart, type PasskeyLoginStartable, type PasskeyLoginSubmitted, type PasskeyOperationEnrollmentExplicitSpecType, type PasskeyOperationLoginExplicitSpecType, type PasswordEnrollmentConfig, PasswordEnrollmentOperationFull, type PasswordEnrollmentTypedError, type PasswordLoginCUICeremonyStart, type PasswordLoginCUIGetOptionsFinished, type PasswordLoginCUIGetOptionsStart, type PasswordLoginCUISpecType, type PasswordLoginCUITypedError, type PasswordLoginConfig, type PasswordLoginExplicitSpecType, PasswordLoginOperationFull, type PasswordLoginTypedError, type PasswordManagerExtension, type PasswordManagerExtensionName, type PredefinedEvent, type ProbeContext, type ProbeEntry, type ProbeInput, type ProvideDataOperationConfig, ProvideDataOperationFull, type ProvideDataOperationPostResponseStart, type ProvideDataOperationSpecType, type ProvideDataOperationStart, type ProvideIdentifierError, type ProvideIdentifierFinish, type ProvideIdentifierPostResponseStart, type ProvideIdentifierSpecType, type ProvideIdentifierStart, type QueueOptions, RAW_ERROR_BOUNDS, READER_EXPOSURES, type RawErrorEnvelope, type ReaderDataConfigKey, type ReaderExposure, type ReaderField, type ReaderMeta, type ReaderOrigin, type ReaderTransform, RequestQueue, type ResolvedFixedDataConfig, SDK_NAME, SDK_VERSION, type SdkInfo, type SdkInputHandoff, type SdkReliabilityConfig, type SdkReliabilityConfigOverrides, type SdkRetryConfig, type SdkWebAuthnError, type SdkWebAuthnPayload, type SerializeRawErrorOptions, SessionStorage, type SetFlowTagsOptions, type SmsOTPOperationConfig, type SmsOTPOperationPostResponseStart, type SmsOTPOperationSpecType, SmsOtpOperationFull, type SocialLoginEntry, type SocialLoginExchangeCodeFinished, type SocialLoginExchangeCodeStart, type SocialLoginGetRedirectUrlFinished, type SocialLoginGetRedirectUrlStart, type SocialLoginOperationConfig, SocialLoginOperationFull, type SocialLoginProviderType, type SocialLoginSpecType, type SourcePathQueryMode, type SsoLoginExchangeCodeFinished, type SsoLoginExchangeCodeStart, type SsoLoginGetRedirectUrlFinished, type SsoLoginGetRedirectUrlStart, type SsoLoginOperationConfig, SsoLoginOperationFull, type SsoLoginSpecType, type StandaloneDeviceInfoSource, type StepHelper, type StepIdentifier, type StepOptions, type StorageEngine, type SubflowTrigger, type SubflowType, type TelemetryEntry, type TelemetryLevel, type TelemetrySink, type TotpOperationConfig, TotpOperationFull, type TotpOperationPostResponseStart, type TotpOperationSpecType, type TrackerOptions, type Transport, type TransportMakeRequestResponse, type TransportOptions, type TrustedDeviceBindingMetadata, type TrustedDeviceCheckConfig, TrustedDeviceCheckOperationFull, type TrustedDeviceCheckResult, type TrustedDeviceCheckStepResult, type TrustedDeviceCheckTypedError, TrustedDeviceEnrollmentOperationFull, type TrustedDeviceEnrollmentResult, type TrustedDeviceOperationConfig, type TrustedDevicePurpose, type TrustedDeviceStorage, UNLOAD_BUDGET_BYTES, UNLOAD_PROBE_MAX_BYTES, type UserReference, type WebAuthnIdentifierProjector, type WebAuthnIdentifierProjectors, type WithHandoffs, cacheConfig, clearExperiment, clearExperiments, createLogger, destroy, detectPasswordManagerExtensions, getExperiments, getSessionId, getTracker, init, loadCachedConfig, logError, logInfo, namespacedKey, parseReliabilityConfig, resetSession, resolveFixedDataConfig, resolveRawErrorLimits, resolveReliabilityConfig, sanitizeAssertionResponse, sanitizeCreationOptions, sanitizeCreationResponse, sanitizeRequestOptions, serializeRawError, setExperiment, setExperiments, setFlowTags, setUser, telemetry, utf8Length };