@corbado/observe 0.16.7 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -57,6 +57,16 @@ type UserReference = {
57
57
  identifier?: string;
58
58
  /** Shared UUID used to link sessions across environments. */
59
59
  crossEnvironmentTransactionID?: string;
60
+ /**
61
+ * Email-link transaction UUID on the event that starts the link (page 1). Only read on
62
+ * `email-link` subflow events; set by {@link EmailLinkOperationFull}.
63
+ */
64
+ crossEnvironmentTransactionIDStart?: string;
65
+ /**
66
+ * Email-link transaction UUID on the event that continues the link (page 2). Only read on
67
+ * `email-link` subflow events; set by {@link EmailLinkContinuationOperation}.
68
+ */
69
+ crossEnvironmentTransactionIDFinish?: string;
60
70
  };
61
71
  /**
62
72
  * A stable reference to the flows one flow event belongs to: every flow a `flow_started` opened,
@@ -701,6 +711,15 @@ declare abstract class OperationFull {
701
711
  protected registerLowFlusher(flush: () => void): void;
702
712
  private captureOptions;
703
713
  constructor(tracker: CorbadoTracker, operationName: SubflowType);
714
+ /** Anchor (subflowStartEventId) of the current start; undefined before the first start. */
715
+ protected get captureReference(): string | undefined;
716
+ /** Session the current start was tracked under. */
717
+ protected get captureSession(): string | undefined;
718
+ /**
719
+ * Continue an attempt started elsewhere (e.g. on another page of the same session) without
720
+ * emitting a subflow_started: later steps and low events carry the given anchor and session.
721
+ */
722
+ protected adoptCapture(reference: string, sessionId: string, specType?: string): void;
704
723
  /**
705
724
  * Emits an additional subflow_started; construction already emits the initial start.
706
725
  * `data` supports SubflowTrigger fields (`actor`, `explicitSpecType`, `ignoreAsInteraction`)
@@ -787,6 +806,108 @@ declare class SharedWindowObserver {
787
806
  destroy(): void;
788
807
  }
789
808
 
809
+ interface StorageEngine {
810
+ getItem<T>(key: string): T | null;
811
+ setItem<T>(key: string, value: T): void;
812
+ removeItem(key: string): void;
813
+ }
814
+ /**
815
+ * Suffix a storage key or cross-tab lock name with a namespace. One shared helper so keys and the
816
+ * Web Lock names guarding them can never disagree on the derived name.
817
+ */
818
+ declare function namespacedKey(key: string, namespace: string): string;
819
+ /**
820
+ * Wraps a storage engine so every key is suffixed with a fixed namespace (see {@link namespacedKey}).
821
+ *
822
+ * @remarks
823
+ * All trackers use their project id as the namespace: all SDK state flows through the engines
824
+ * created in the tracker constructor, so wrapping them scopes every persisted key (session, seq,
825
+ * outbox, config cache, experiments, tab id, client-env handle, debug dumps) in one place. Lock
826
+ * names are not storage keys and must be scoped separately by the call sites that own them.
827
+ */
828
+ declare class NamespacedStorage implements StorageEngine {
829
+ private readonly engine;
830
+ private readonly namespace;
831
+ constructor(engine: StorageEngine, namespace: string);
832
+ getItem<T>(key: string): T | null;
833
+ setItem<T>(key: string, value: T): void;
834
+ removeItem(key: string): void;
835
+ }
836
+ declare class LocalStorage implements StorageEngine {
837
+ private logger;
838
+ constructor(logger: Logger);
839
+ /**
840
+ * Error situations:
841
+ * - localStorage is not available: return null
842
+ * - localStorage.getItem throws: catch exception, log error and return null
843
+ * - JSON.parse throws: catch exception, log error and return null
844
+ */
845
+ getItem<T>(key: string): T | null;
846
+ /**
847
+ * Error situations:
848
+ * - localStorage is not available: return without writing
849
+ * - localStorage.setItem throws: catch exception and log error
850
+ * - JSON.stringify throws: catch exception and log error
851
+ */
852
+ setItem<T>(key: string, value: T): void;
853
+ /**
854
+ * Error situations:
855
+ * - localStorage is not available: return without writing
856
+ * - localStorage.removeItem throws: catch exception and log error
857
+ */
858
+ removeItem(key: string): void;
859
+ }
860
+ declare class CookieStorage implements StorageEngine {
861
+ private logger;
862
+ private domain?;
863
+ constructor(logger: Logger, domain?: string | undefined);
864
+ /**
865
+ * Error situations:
866
+ * - document is not available: return null
867
+ * - document.cookie read throws: catch exception, log error and return null
868
+ * - decodeURIComponent throws: catch exception, log error and return null
869
+ * - JSON.parse throws: catch exception, log error and return null
870
+ */
871
+ getItem<T>(key: string): T | null;
872
+ /**
873
+ * Error situations:
874
+ * - document is not available: return without writing
875
+ * - document.cookie write throws: catch exception and log error
876
+ * - JSON.stringify throws: catch exception and log error
877
+ */
878
+ setItem<T>(key: string, value: T): void;
879
+ /**
880
+ * Error situations:
881
+ * - document is not available: return without writing
882
+ * - document.cookie write throws: catch exception and log error
883
+ */
884
+ removeItem(key: string): void;
885
+ }
886
+ declare class SessionStorage implements StorageEngine {
887
+ private logger;
888
+ constructor(logger: Logger);
889
+ /**
890
+ * Error situations:
891
+ * - sessionStorage is not available: return null
892
+ * - sessionStorage.getItem throws: catch exception, log error and return null
893
+ * - JSON.parse throws: catch exception, log error and return null
894
+ */
895
+ getItem<T>(key: string): T | null;
896
+ /**
897
+ * Error situations:
898
+ * - sessionStorage is not available: return without writing
899
+ * - sessionStorage.setItem throws: catch exception and log error
900
+ * - JSON.stringify throws: catch exception and log error
901
+ */
902
+ setItem<T>(key: string, value: T): void;
903
+ /**
904
+ * Error situations:
905
+ * - sessionStorage is not available: return without writing
906
+ * - sessionStorage.removeItem throws: catch exception and log error
907
+ */
908
+ removeItem(key: string): void;
909
+ }
910
+
790
911
  type PasskeyOperationLoginExplicitSpecType = "passkey-cui" | "passkey-known-identifier" | "passkey-no-identifier"
791
912
  /**
792
913
  * The `-auto` variants are the same two ceremonies started by the integration rather than by a
@@ -899,13 +1020,77 @@ type EmailLinkOperationPostResponseStart = {
899
1020
  type EmailLinkOperationConfig = {
900
1021
  /** The classifier drops the attempt if no spec type arrives on any of its events — supply it here or on a step's start data as soon as known. */
901
1022
  explicitSpecType?: EmailLinkOperationSpecType;
1023
+ /**
1024
+ * UUID shared with the page that continues this email link (see
1025
+ * {@link CorbadoTracker.continueEmailLinkOperation}). Generated when omitted; read it from
1026
+ * {@link EmailLinkOperationFull.transactionId}.
1027
+ */
1028
+ transactionId?: string;
1029
+ };
1030
+ type EmailLinkContinuationConfig = {
1031
+ explicitSpecType?: EmailLinkOperationSpecType;
1032
+ /**
1033
+ * The transaction ID of the email link being continued. Optional: without it, the most recent
1034
+ * pending email link of this spec type started in this browser is continued, and the ID can be
1035
+ * supplied later with {@link EmailLinkContinuationOperation.setTransactionId}.
1036
+ */
1037
+ transactionId?: string;
902
1038
  };
1039
+ /**
1040
+ * Page 1 of an email-link journey: starts the `email-link` subflow (carrying the transaction ID as
1041
+ * `crossEnvironmentTransactionIDStart`) and remembers it in this browser so the link's target page can
1042
+ * continue it.
1043
+ */
903
1044
  declare class EmailLinkOperationFull extends OperationFull {
904
1045
  readonly send: StepHelper<EmailLinkOperationSendStart>;
905
1046
  readonly postResponse: StepHelper<EmailLinkOperationPostResponseStart>;
906
1047
  readonly resend: StepHelper;
1048
+ /** Transaction ID of this email link; hand it to the page that continues it. */
1049
+ readonly transactionId: string;
907
1050
  constructor(tracker: CorbadoTracker, config?: EmailLinkOperationConfig);
908
1051
  }
1052
+ /**
1053
+ * Page 2 of an email-link journey (the link's target): continues the `email-link` subflow started
1054
+ * on page 1.
1055
+ *
1056
+ * - **Attached**: page 1 ran in this browser under the same session. No new subflow_started is
1057
+ * emitted; steps and low events carry page 1's anchor, so both pages form one subflow.
1058
+ * - **Detached**: no matching start in this session (other browser, expired, or rotated session).
1059
+ * A subflow_started with `continuation: true` and `crossEnvironmentTransactionIDFinish` is emitted;
1060
+ * the backend joins it to page 1 through the transaction ID. It is emitted lazily — once the
1061
+ * transaction ID is known (constructor or {@link setTransactionId}), on {@link flush}, or on page
1062
+ * hide — and steps called before that are replayed with their original timestamps.
1063
+ */
1064
+ declare class EmailLinkContinuationOperation extends OperationFull {
1065
+ readonly postResponse: StepHelper<EmailLinkOperationPostResponseStart>;
1066
+ readonly resend: StepHelper;
1067
+ readonly mode: "attached" | "detached";
1068
+ private readonly continuationTracker;
1069
+ private readonly specType?;
1070
+ private readonly createdAt;
1071
+ private transaction?;
1072
+ private started;
1073
+ private deferred;
1074
+ private readonly onPageHide;
1075
+ constructor(tracker: CorbadoTracker, config?: EmailLinkContinuationConfig);
1076
+ /** Transaction ID of the continued email link, when known. */
1077
+ get transactionId(): string | undefined;
1078
+ /**
1079
+ * Supply the transaction ID once it is known. In detached mode this emits the deferred
1080
+ * continuation start (back-dated to the first deferred step, or construction) and replays the
1081
+ * deferred steps. Has no effect once a detached start was emitted without an ID.
1082
+ */
1083
+ setTransactionId(transactionId: string): void;
1084
+ /** Emit a pending detached start (without transaction ID) and its deferred steps now. */
1085
+ flush(): void;
1086
+ /** Flush anything pending and release the page-hide listener. */
1087
+ destroy(): void;
1088
+ private firstDeferredAt;
1089
+ private startDetached;
1090
+ private removePageHideListener;
1091
+ /** Defer step calls until the detached start is emitted; mark the continued link on completion. */
1092
+ private deferrable;
1093
+ }
909
1094
 
910
1095
  /**
911
1096
  * Passkey-enrollment spec types. Two vocabularies coexist:
@@ -1351,6 +1536,8 @@ declare class CorbadoTracker {
1351
1536
  *
1352
1537
  * @returns A frozen snapshot, created fresh on every call.
1353
1538
  */
1539
+ /** @internal Project-scoped localStorage used by operation helpers (e.g. email-link continuity). */
1540
+ getPersistentStorage(): StorageEngine | undefined;
1354
1541
  getSdkConfig(): ObserveSdkConfigSnapshot;
1355
1542
  /**
1356
1543
  * Set the data policy code for this tracker (e.g. `setDataPolicy(1)` once the user agreed to
@@ -1724,6 +1911,12 @@ declare class CorbadoTracker {
1724
1911
  passwordLoginFullOperation(autoTrackConfig?: PasswordLoginConfig): PasswordLoginOperationFull;
1725
1912
  passwordEnrollmentFullOperation(autoTrackConfig?: PasswordEnrollmentConfig): PasswordEnrollmentOperationFull;
1726
1913
  emailLinkOperationFull(config?: EmailLinkOperationConfig): EmailLinkOperationFull;
1914
+ /**
1915
+ * Continue an email link started on another page (the link's target page). In the same browser
1916
+ * and session it continues page 1's subflow directly; otherwise it emits a continuation start that
1917
+ * the backend joins to page 1 through the transaction ID. See {@link EmailLinkContinuationOperation}.
1918
+ */
1919
+ continueEmailLinkOperation(config?: EmailLinkContinuationConfig): EmailLinkContinuationOperation;
1727
1920
  emailOtpOperationFull(config?: EmailOTPOperationConfig): EmailOtpOperationFull;
1728
1921
  smsOtpOperationFull(config?: SmsOTPOperationConfig): SmsOtpOperationFull;
1729
1922
  provideIdentifierOperationFull(config?: OperationFullProvideIdentifierWithCUIConfig): OperationFullProvideIdentifierWithCUI;
@@ -1886,108 +2079,6 @@ interface TransportOptions {
1886
2079
  headers?: Record<string, string>;
1887
2080
  }
1888
2081
 
1889
- interface StorageEngine {
1890
- getItem<T>(key: string): T | null;
1891
- setItem<T>(key: string, value: T): void;
1892
- removeItem(key: string): void;
1893
- }
1894
- /**
1895
- * Suffix a storage key or cross-tab lock name with a namespace. One shared helper so keys and the
1896
- * Web Lock names guarding them can never disagree on the derived name.
1897
- */
1898
- declare function namespacedKey(key: string, namespace: string): string;
1899
- /**
1900
- * Wraps a storage engine so every key is suffixed with a fixed namespace (see {@link namespacedKey}).
1901
- *
1902
- * @remarks
1903
- * All trackers use their project id as the namespace: all SDK state flows through the engines
1904
- * created in the tracker constructor, so wrapping them scopes every persisted key (session, seq,
1905
- * outbox, config cache, experiments, tab id, client-env handle, debug dumps) in one place. Lock
1906
- * names are not storage keys and must be scoped separately by the call sites that own them.
1907
- */
1908
- declare class NamespacedStorage implements StorageEngine {
1909
- private readonly engine;
1910
- private readonly namespace;
1911
- constructor(engine: StorageEngine, namespace: string);
1912
- getItem<T>(key: string): T | null;
1913
- setItem<T>(key: string, value: T): void;
1914
- removeItem(key: string): void;
1915
- }
1916
- declare class LocalStorage implements StorageEngine {
1917
- private logger;
1918
- constructor(logger: Logger);
1919
- /**
1920
- * Error situations:
1921
- * - localStorage is not available: return null
1922
- * - localStorage.getItem throws: catch exception, log error and return null
1923
- * - JSON.parse throws: catch exception, log error and return null
1924
- */
1925
- getItem<T>(key: string): T | null;
1926
- /**
1927
- * Error situations:
1928
- * - localStorage is not available: return without writing
1929
- * - localStorage.setItem throws: catch exception and log error
1930
- * - JSON.stringify throws: catch exception and log error
1931
- */
1932
- setItem<T>(key: string, value: T): void;
1933
- /**
1934
- * Error situations:
1935
- * - localStorage is not available: return without writing
1936
- * - localStorage.removeItem throws: catch exception and log error
1937
- */
1938
- removeItem(key: string): void;
1939
- }
1940
- declare class CookieStorage implements StorageEngine {
1941
- private logger;
1942
- private domain?;
1943
- constructor(logger: Logger, domain?: string | undefined);
1944
- /**
1945
- * Error situations:
1946
- * - document is not available: return null
1947
- * - document.cookie read throws: catch exception, log error and return null
1948
- * - decodeURIComponent throws: catch exception, log error and return null
1949
- * - JSON.parse throws: catch exception, log error and return null
1950
- */
1951
- getItem<T>(key: string): T | null;
1952
- /**
1953
- * Error situations:
1954
- * - document is not available: return without writing
1955
- * - document.cookie write throws: catch exception and log error
1956
- * - JSON.stringify throws: catch exception and log error
1957
- */
1958
- setItem<T>(key: string, value: T): void;
1959
- /**
1960
- * Error situations:
1961
- * - document is not available: return without writing
1962
- * - document.cookie write throws: catch exception and log error
1963
- */
1964
- removeItem(key: string): void;
1965
- }
1966
- declare class SessionStorage implements StorageEngine {
1967
- private logger;
1968
- constructor(logger: Logger);
1969
- /**
1970
- * Error situations:
1971
- * - sessionStorage is not available: return null
1972
- * - sessionStorage.getItem throws: catch exception, log error and return null
1973
- * - JSON.parse throws: catch exception, log error and return null
1974
- */
1975
- getItem<T>(key: string): T | null;
1976
- /**
1977
- * Error situations:
1978
- * - sessionStorage is not available: return without writing
1979
- * - sessionStorage.setItem throws: catch exception and log error
1980
- * - JSON.stringify throws: catch exception and log error
1981
- */
1982
- setItem<T>(key: string, value: T): void;
1983
- /**
1984
- * Error situations:
1985
- * - sessionStorage is not available: return without writing
1986
- * - sessionStorage.removeItem throws: catch exception and log error
1987
- */
1988
- removeItem(key: string): void;
1989
- }
1990
-
1991
2082
  interface QueueOptions {
1992
2083
  /**
1993
2084
  * Maximum number of events per request (payload cap). A backlog larger than this is drained in
@@ -2435,4 +2526,4 @@ declare function logInfo(message: string): void;
2435
2526
  declare function logError(message: string): void;
2436
2527
  declare function destroy(): Promise<void>;
2437
2528
 
2438
- 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 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 FlowAutoFinished, type FlowDecided, type FlowFinished, type FlowHandle, type FlowReset, type FlowStarted, type FlowType, type FlushReason, 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, 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 PredefinedEvent, type ProvideDataOperationConfig, ProvideDataOperationFull, type ProvideDataOperationPostResponseStart, type ProvideDataOperationSpecType, type ProvideDataOperationStart, type ProvideIdentifierError, type ProvideIdentifierFinish, type ProvideIdentifierPostResponseStart, type ProvideIdentifierSpecType, type ProvideIdentifierStart, type QueueOptions, RAW_ERROR_BOUNDS, type RawErrorEnvelope, RequestQueue, SDK_NAME, SDK_VERSION, type SdkInfo, type SdkReliabilityConfig, type SdkReliabilityConfigOverrides, type SdkRetryConfig, type SerializeRawErrorOptions, SessionStorage, type SmsOTPOperationConfig, type SmsOTPOperationPostResponseStart, type SmsOTPOperationSpecType, SmsOtpOperationFull, type SocialLoginExchangeCodeFinished, type SocialLoginExchangeCodeStart, type SocialLoginGetRedirectUrlFinished, type SocialLoginGetRedirectUrlStart, type SocialLoginOperationConfig, SocialLoginOperationFull, type SocialLoginProviderType, type SocialLoginSpecType, type SourcePathQueryMode, type StepHelper, type StepOptions, type StorageEngine, type SubflowTrigger, type SubflowType, type TelemetryEntry, type TelemetryLevel, type TelemetrySink, 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, type UserReference, cacheConfig, clearExperiment, clearExperiments, createLogger, destroy, getExperiments, getSessionId, getTracker, init, loadCachedConfig, logError, logInfo, namespacedKey, parseReliabilityConfig, resetSession, resolveRawErrorLimits, resolveReliabilityConfig, sanitizeAssertionResponse, sanitizeCreationOptions, sanitizeCreationResponse, sanitizeRequestOptions, serializeRawError, setExperiment, setExperiments, setUser, telemetry };
2529
+ 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 FlowAutoFinished, type FlowDecided, type FlowFinished, type FlowHandle, type FlowReset, type FlowStarted, type FlowType, type FlushReason, 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, 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 PredefinedEvent, type ProvideDataOperationConfig, ProvideDataOperationFull, type ProvideDataOperationPostResponseStart, type ProvideDataOperationSpecType, type ProvideDataOperationStart, type ProvideIdentifierError, type ProvideIdentifierFinish, type ProvideIdentifierPostResponseStart, type ProvideIdentifierSpecType, type ProvideIdentifierStart, type QueueOptions, RAW_ERROR_BOUNDS, type RawErrorEnvelope, RequestQueue, SDK_NAME, SDK_VERSION, type SdkInfo, type SdkReliabilityConfig, type SdkReliabilityConfigOverrides, type SdkRetryConfig, type SerializeRawErrorOptions, SessionStorage, type SmsOTPOperationConfig, type SmsOTPOperationPostResponseStart, type SmsOTPOperationSpecType, SmsOtpOperationFull, type SocialLoginExchangeCodeFinished, type SocialLoginExchangeCodeStart, type SocialLoginGetRedirectUrlFinished, type SocialLoginGetRedirectUrlStart, type SocialLoginOperationConfig, SocialLoginOperationFull, type SocialLoginProviderType, type SocialLoginSpecType, type SourcePathQueryMode, type StepHelper, type StepOptions, type StorageEngine, type SubflowTrigger, type SubflowType, type TelemetryEntry, type TelemetryLevel, type TelemetrySink, 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, type UserReference, cacheConfig, clearExperiment, clearExperiments, createLogger, destroy, getExperiments, getSessionId, getTracker, init, loadCachedConfig, logError, logInfo, namespacedKey, parseReliabilityConfig, resetSession, resolveRawErrorLimits, resolveReliabilityConfig, sanitizeAssertionResponse, sanitizeCreationOptions, sanitizeCreationResponse, sanitizeRequestOptions, serializeRawError, setExperiment, setExperiments, setUser, telemetry };