error_code: String()

in packages/fxa-auth-server/lib/metrics/glean/server_events.ts [1902:2481]


        error_code: String(error_code),
      },
    };
    this.#record({
      user_agent,
      ip_address,
      account_user_id,
      account_user_id_sha256,
      relying_party_oauth_client_id,
      relying_party_service,
      session_device_type,
      session_entrypoint,
      session_entrypoint_experiment,
      session_entrypoint_variation,
      session_flow_id,
      utm_campaign,
      utm_content,
      utm_medium,
      utm_source,
      utm_term,
      event,
    });
  }
  /**
   * Record and submit a inactive_account_deletion_second_email_task_request event:
   * An attempt to insert the second-email task into the cloud task queue.
   * Event is logged using internal mozlog logger.
   *
   * @param {string} user_agent - The user agent.
   * @param {string} ip_address - The IP address. Will be used to decode Geo
   *                              information and scrubbed at ingestion.
   * @param {string} account_user_id - The firefox/mozilla account id.
   * @param {string} account_user_id_sha256 - A hex string of a sha256 hash of the account's uid.
   * @param {string} relying_party_oauth_client_id - The client id of the relying party.
   * @param {string} relying_party_service - The service name of the relying party.
   * @param {string} session_device_type - one of 'mobile', 'tablet', or ''.
   * @param {string} session_entrypoint - Entrypoint to the service.
   * @param {string} session_entrypoint_experiment - Identifier for the experiment the user is part of at the entrypoint.
   * @param {string} session_entrypoint_variation - Identifier for the experiment variation the user is part of at the entrypoint.
   * @param {string} session_flow_id - an ID generated by FxA for its flow metrics.
   * @param {string} utm_campaign - A marketing campaign.  For example, if a user signs into FxA from selecting a Mozilla VPN plan on Mozilla VPN's product site, then the value of this metric could be 'vpn-product-page'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters.  The special value of 'page+referral+-+not+part+of+a+campaign' is also allowed..
   * @param {string} utm_content - The content on which the user acted.  For example, if the user clicked on the (previously available) "Get started here" link in "Looking for Firefox Sync? Get started here", then the value for this metric would be 'fx-sync-get-started'. The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_medium - The "medium" on which the user acted.  For example, if the user clicked on a link in an email, then the value of this metric would be 'email'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_source - The source from where the user started.  For example, if the user clicked on a link on the Mozilla accounts web site, this value could be 'fx-website'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_term - This metric is similar to the `utm.source`; it is used in the Firefox browser.  For example, if the user started from about:welcome, then the value could be 'aboutwelcome-default-screen'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   */
  recordInactiveAccountDeletionSecondEmailTaskRequest({
    user_agent,
    ip_address,
    account_user_id,
    account_user_id_sha256,
    relying_party_oauth_client_id,
    relying_party_service,
    session_device_type,
    session_entrypoint,
    session_entrypoint_experiment,
    session_entrypoint_variation,
    session_flow_id,
    utm_campaign,
    utm_content,
    utm_medium,
    utm_source,
    utm_term,
  }: {
    user_agent: string;
    ip_address: string;
    account_user_id: string;
    account_user_id_sha256: string;
    relying_party_oauth_client_id: string;
    relying_party_service: string;
    session_device_type: string;
    session_entrypoint: string;
    session_entrypoint_experiment: string;
    session_entrypoint_variation: string;
    session_flow_id: string;
    utm_campaign: string;
    utm_content: string;
    utm_medium: string;
    utm_source: string;
    utm_term: string;
  }) {
    const event = {
      category: 'inactive_account_deletion',
      name: 'second_email_task_request',
    };
    this.#record({
      user_agent,
      ip_address,
      account_user_id,
      account_user_id_sha256,
      relying_party_oauth_client_id,
      relying_party_service,
      session_device_type,
      session_entrypoint,
      session_entrypoint_experiment,
      session_entrypoint_variation,
      session_flow_id,
      utm_campaign,
      utm_content,
      utm_medium,
      utm_source,
      utm_term,
      event,
    });
  }
  /**
   * Record and submit a inactive_account_deletion_status_checked event:
   * The active status of an account was checked.
   * Event is logged using internal mozlog logger.
   *
   * @param {string} user_agent - The user agent.
   * @param {string} ip_address - The IP address. Will be used to decode Geo
   *                              information and scrubbed at ingestion.
   * @param {string} account_user_id - The firefox/mozilla account id.
   * @param {string} account_user_id_sha256 - A hex string of a sha256 hash of the account's uid.
   * @param {string} relying_party_oauth_client_id - The client id of the relying party.
   * @param {string} relying_party_service - The service name of the relying party.
   * @param {string} session_device_type - one of 'mobile', 'tablet', or ''.
   * @param {string} session_entrypoint - Entrypoint to the service.
   * @param {string} session_entrypoint_experiment - Identifier for the experiment the user is part of at the entrypoint.
   * @param {string} session_entrypoint_variation - Identifier for the experiment variation the user is part of at the entrypoint.
   * @param {string} session_flow_id - an ID generated by FxA for its flow metrics.
   * @param {string} utm_campaign - A marketing campaign.  For example, if a user signs into FxA from selecting a Mozilla VPN plan on Mozilla VPN's product site, then the value of this metric could be 'vpn-product-page'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters.  The special value of 'page+referral+-+not+part+of+a+campaign' is also allowed..
   * @param {string} utm_content - The content on which the user acted.  For example, if the user clicked on the (previously available) "Get started here" link in "Looking for Firefox Sync? Get started here", then the value for this metric would be 'fx-sync-get-started'. The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_medium - The "medium" on which the user acted.  For example, if the user clicked on a link in an email, then the value of this metric would be 'email'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_source - The source from where the user started.  For example, if the user clicked on a link on the Mozilla accounts web site, this value could be 'fx-website'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_term - This metric is similar to the `utm.source`; it is used in the Firefox browser.  For example, if the user started from about:welcome, then the value could be 'aboutwelcome-default-screen'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   */
  recordInactiveAccountDeletionStatusChecked({
    user_agent,
    ip_address,
    account_user_id,
    account_user_id_sha256,
    relying_party_oauth_client_id,
    relying_party_service,
    session_device_type,
    session_entrypoint,
    session_entrypoint_experiment,
    session_entrypoint_variation,
    session_flow_id,
    utm_campaign,
    utm_content,
    utm_medium,
    utm_source,
    utm_term,
  }: {
    user_agent: string;
    ip_address: string;
    account_user_id: string;
    account_user_id_sha256: string;
    relying_party_oauth_client_id: string;
    relying_party_service: string;
    session_device_type: string;
    session_entrypoint: string;
    session_entrypoint_experiment: string;
    session_entrypoint_variation: string;
    session_flow_id: string;
    utm_campaign: string;
    utm_content: string;
    utm_medium: string;
    utm_source: string;
    utm_term: string;
  }) {
    const event = {
      category: 'inactive_account_deletion',
      name: 'status_checked',
    };
    this.#record({
      user_agent,
      ip_address,
      account_user_id,
      account_user_id_sha256,
      relying_party_oauth_client_id,
      relying_party_service,
      session_device_type,
      session_entrypoint,
      session_entrypoint_experiment,
      session_entrypoint_variation,
      session_flow_id,
      utm_campaign,
      utm_content,
      utm_medium,
      utm_source,
      utm_term,
      event,
    });
  }
  /**
   * Record and submit a login_backup_code_success event:
   * Login Backup Code Success Event that indicates the user successfully authenticated via backup codes.
   * Event is logged using internal mozlog logger.
   *
   * @param {string} user_agent - The user agent.
   * @param {string} ip_address - The IP address. Will be used to decode Geo
   *                              information and scrubbed at ingestion.
   * @param {string} account_user_id - The firefox/mozilla account id.
   * @param {string} account_user_id_sha256 - A hex string of a sha256 hash of the account's uid.
   * @param {string} relying_party_oauth_client_id - The client id of the relying party.
   * @param {string} relying_party_service - The service name of the relying party.
   * @param {string} session_device_type - one of 'mobile', 'tablet', or ''.
   * @param {string} session_entrypoint - Entrypoint to the service.
   * @param {string} session_entrypoint_experiment - Identifier for the experiment the user is part of at the entrypoint.
   * @param {string} session_entrypoint_variation - Identifier for the experiment variation the user is part of at the entrypoint.
   * @param {string} session_flow_id - an ID generated by FxA for its flow metrics.
   * @param {string} utm_campaign - A marketing campaign.  For example, if a user signs into FxA from selecting a Mozilla VPN plan on Mozilla VPN's product site, then the value of this metric could be 'vpn-product-page'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters.  The special value of 'page+referral+-+not+part+of+a+campaign' is also allowed..
   * @param {string} utm_content - The content on which the user acted.  For example, if the user clicked on the (previously available) "Get started here" link in "Looking for Firefox Sync? Get started here", then the value for this metric would be 'fx-sync-get-started'. The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_medium - The "medium" on which the user acted.  For example, if the user clicked on a link in an email, then the value of this metric would be 'email'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_source - The source from where the user started.  For example, if the user clicked on a link on the Mozilla accounts web site, this value could be 'fx-website'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_term - This metric is similar to the `utm.source`; it is used in the Firefox browser.  For example, if the user started from about:welcome, then the value could be 'aboutwelcome-default-screen'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   */
  recordLoginBackupCodeSuccess({
    user_agent,
    ip_address,
    account_user_id,
    account_user_id_sha256,
    relying_party_oauth_client_id,
    relying_party_service,
    session_device_type,
    session_entrypoint,
    session_entrypoint_experiment,
    session_entrypoint_variation,
    session_flow_id,
    utm_campaign,
    utm_content,
    utm_medium,
    utm_source,
    utm_term,
  }: {
    user_agent: string;
    ip_address: string;
    account_user_id: string;
    account_user_id_sha256: string;
    relying_party_oauth_client_id: string;
    relying_party_service: string;
    session_device_type: string;
    session_entrypoint: string;
    session_entrypoint_experiment: string;
    session_entrypoint_variation: string;
    session_flow_id: string;
    utm_campaign: string;
    utm_content: string;
    utm_medium: string;
    utm_source: string;
    utm_term: string;
  }) {
    const event = {
      category: 'login',
      name: 'backup_code_success',
    };
    this.#record({
      user_agent,
      ip_address,
      account_user_id,
      account_user_id_sha256,
      relying_party_oauth_client_id,
      relying_party_service,
      session_device_type,
      session_entrypoint,
      session_entrypoint_experiment,
      session_entrypoint_variation,
      session_flow_id,
      utm_campaign,
      utm_content,
      utm_medium,
      utm_source,
      utm_term,
      event,
    });
  }
  /**
   * Record and submit a login_complete event:
   * Login Complete Event that indicates the login process is complete.
   * Event is logged using internal mozlog logger.
   *
   * @param {string} user_agent - The user agent.
   * @param {string} ip_address - The IP address. Will be used to decode Geo
   *                              information and scrubbed at ingestion.
   * @param {string} account_user_id - The firefox/mozilla account id.
   * @param {string} account_user_id_sha256 - A hex string of a sha256 hash of the account's uid.
   * @param {string} relying_party_oauth_client_id - The client id of the relying party.
   * @param {string} relying_party_service - The service name of the relying party.
   * @param {string} session_device_type - one of 'mobile', 'tablet', or ''.
   * @param {string} session_entrypoint - Entrypoint to the service.
   * @param {string} session_entrypoint_experiment - Identifier for the experiment the user is part of at the entrypoint.
   * @param {string} session_entrypoint_variation - Identifier for the experiment variation the user is part of at the entrypoint.
   * @param {string} session_flow_id - an ID generated by FxA for its flow metrics.
   * @param {string} utm_campaign - A marketing campaign.  For example, if a user signs into FxA from selecting a Mozilla VPN plan on Mozilla VPN's product site, then the value of this metric could be 'vpn-product-page'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters.  The special value of 'page+referral+-+not+part+of+a+campaign' is also allowed..
   * @param {string} utm_content - The content on which the user acted.  For example, if the user clicked on the (previously available) "Get started here" link in "Looking for Firefox Sync? Get started here", then the value for this metric would be 'fx-sync-get-started'. The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_medium - The "medium" on which the user acted.  For example, if the user clicked on a link in an email, then the value of this metric would be 'email'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_source - The source from where the user started.  For example, if the user clicked on a link on the Mozilla accounts web site, this value could be 'fx-website'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_term - This metric is similar to the `utm.source`; it is used in the Firefox browser.  For example, if the user started from about:welcome, then the value could be 'aboutwelcome-default-screen'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   */
  recordLoginComplete({
    user_agent,
    ip_address,
    account_user_id,
    account_user_id_sha256,
    relying_party_oauth_client_id,
    relying_party_service,
    session_device_type,
    session_entrypoint,
    session_entrypoint_experiment,
    session_entrypoint_variation,
    session_flow_id,
    utm_campaign,
    utm_content,
    utm_medium,
    utm_source,
    utm_term,
  }: {
    user_agent: string;
    ip_address: string;
    account_user_id: string;
    account_user_id_sha256: string;
    relying_party_oauth_client_id: string;
    relying_party_service: string;
    session_device_type: string;
    session_entrypoint: string;
    session_entrypoint_experiment: string;
    session_entrypoint_variation: string;
    session_flow_id: string;
    utm_campaign: string;
    utm_content: string;
    utm_medium: string;
    utm_source: string;
    utm_term: string;
  }) {
    const event = {
      category: 'login',
      name: 'complete',
    };
    this.#record({
      user_agent,
      ip_address,
      account_user_id,
      account_user_id_sha256,
      relying_party_oauth_client_id,
      relying_party_service,
      session_device_type,
      session_entrypoint,
      session_entrypoint_experiment,
      session_entrypoint_variation,
      session_flow_id,
      utm_campaign,
      utm_content,
      utm_medium,
      utm_source,
      utm_term,
      event,
    });
  }
  /**
   * Record and submit a login_email_confirmation_sent event:
   * Login Email Sent Event that indicates an email was sent to confirm email.
   * Event is logged using internal mozlog logger.
   *
   * @param {string} user_agent - The user agent.
   * @param {string} ip_address - The IP address. Will be used to decode Geo
   *                              information and scrubbed at ingestion.
   * @param {string} account_user_id - The firefox/mozilla account id.
   * @param {string} account_user_id_sha256 - A hex string of a sha256 hash of the account's uid.
   * @param {string} relying_party_oauth_client_id - The client id of the relying party.
   * @param {string} relying_party_service - The service name of the relying party.
   * @param {string} session_device_type - one of 'mobile', 'tablet', or ''.
   * @param {string} session_entrypoint - Entrypoint to the service.
   * @param {string} session_entrypoint_experiment - Identifier for the experiment the user is part of at the entrypoint.
   * @param {string} session_entrypoint_variation - Identifier for the experiment variation the user is part of at the entrypoint.
   * @param {string} session_flow_id - an ID generated by FxA for its flow metrics.
   * @param {string} utm_campaign - A marketing campaign.  For example, if a user signs into FxA from selecting a Mozilla VPN plan on Mozilla VPN's product site, then the value of this metric could be 'vpn-product-page'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters.  The special value of 'page+referral+-+not+part+of+a+campaign' is also allowed..
   * @param {string} utm_content - The content on which the user acted.  For example, if the user clicked on the (previously available) "Get started here" link in "Looking for Firefox Sync? Get started here", then the value for this metric would be 'fx-sync-get-started'. The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_medium - The "medium" on which the user acted.  For example, if the user clicked on a link in an email, then the value of this metric would be 'email'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_source - The source from where the user started.  For example, if the user clicked on a link on the Mozilla accounts web site, this value could be 'fx-website'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_term - This metric is similar to the `utm.source`; it is used in the Firefox browser.  For example, if the user started from about:welcome, then the value could be 'aboutwelcome-default-screen'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   */
  recordLoginEmailConfirmationSent({
    user_agent,
    ip_address,
    account_user_id,
    account_user_id_sha256,
    relying_party_oauth_client_id,
    relying_party_service,
    session_device_type,
    session_entrypoint,
    session_entrypoint_experiment,
    session_entrypoint_variation,
    session_flow_id,
    utm_campaign,
    utm_content,
    utm_medium,
    utm_source,
    utm_term,
  }: {
    user_agent: string;
    ip_address: string;
    account_user_id: string;
    account_user_id_sha256: string;
    relying_party_oauth_client_id: string;
    relying_party_service: string;
    session_device_type: string;
    session_entrypoint: string;
    session_entrypoint_experiment: string;
    session_entrypoint_variation: string;
    session_flow_id: string;
    utm_campaign: string;
    utm_content: string;
    utm_medium: string;
    utm_source: string;
    utm_term: string;
  }) {
    const event = {
      category: 'login',
      name: 'email_confirmation_sent',
    };
    this.#record({
      user_agent,
      ip_address,
      account_user_id,
      account_user_id_sha256,
      relying_party_oauth_client_id,
      relying_party_service,
      session_device_type,
      session_entrypoint,
      session_entrypoint_experiment,
      session_entrypoint_variation,
      session_flow_id,
      utm_campaign,
      utm_content,
      utm_medium,
      utm_source,
      utm_term,
      event,
    });
  }
  /**
   * Record and submit a login_email_confirmation_success event:
   * Login Email Confirmed (BE) Event that indicates a user successfully confirmed their email for the login flow by entering the code sent in the confirmation email.
   * Event is logged using internal mozlog logger.
   *
   * @param {string} user_agent - The user agent.
   * @param {string} ip_address - The IP address. Will be used to decode Geo
   *                              information and scrubbed at ingestion.
   * @param {string} account_user_id - The firefox/mozilla account id.
   * @param {string} account_user_id_sha256 - A hex string of a sha256 hash of the account's uid.
   * @param {string} relying_party_oauth_client_id - The client id of the relying party.
   * @param {string} relying_party_service - The service name of the relying party.
   * @param {string} session_device_type - one of 'mobile', 'tablet', or ''.
   * @param {string} session_entrypoint - Entrypoint to the service.
   * @param {string} session_entrypoint_experiment - Identifier for the experiment the user is part of at the entrypoint.
   * @param {string} session_entrypoint_variation - Identifier for the experiment variation the user is part of at the entrypoint.
   * @param {string} session_flow_id - an ID generated by FxA for its flow metrics.
   * @param {string} utm_campaign - A marketing campaign.  For example, if a user signs into FxA from selecting a Mozilla VPN plan on Mozilla VPN's product site, then the value of this metric could be 'vpn-product-page'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters.  The special value of 'page+referral+-+not+part+of+a+campaign' is also allowed..
   * @param {string} utm_content - The content on which the user acted.  For example, if the user clicked on the (previously available) "Get started here" link in "Looking for Firefox Sync? Get started here", then the value for this metric would be 'fx-sync-get-started'. The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_medium - The "medium" on which the user acted.  For example, if the user clicked on a link in an email, then the value of this metric would be 'email'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_source - The source from where the user started.  For example, if the user clicked on a link on the Mozilla accounts web site, this value could be 'fx-website'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_term - This metric is similar to the `utm.source`; it is used in the Firefox browser.  For example, if the user started from about:welcome, then the value could be 'aboutwelcome-default-screen'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   */
  recordLoginEmailConfirmationSuccess({
    user_agent,
    ip_address,
    account_user_id,
    account_user_id_sha256,
    relying_party_oauth_client_id,
    relying_party_service,
    session_device_type,
    session_entrypoint,
    session_entrypoint_experiment,
    session_entrypoint_variation,
    session_flow_id,
    utm_campaign,
    utm_content,
    utm_medium,
    utm_source,
    utm_term,
  }: {
    user_agent: string;
    ip_address: string;
    account_user_id: string;
    account_user_id_sha256: string;
    relying_party_oauth_client_id: string;
    relying_party_service: string;
    session_device_type: string;
    session_entrypoint: string;
    session_entrypoint_experiment: string;
    session_entrypoint_variation: string;
    session_flow_id: string;
    utm_campaign: string;
    utm_content: string;
    utm_medium: string;
    utm_source: string;
    utm_term: string;
  }) {
    const event = {
      category: 'login',
      name: 'email_confirmation_success',
    };
    this.#record({
      user_agent,
      ip_address,
      account_user_id,
      account_user_id_sha256,
      relying_party_oauth_client_id,
      relying_party_service,
      session_device_type,
      session_entrypoint,
      session_entrypoint_experiment,
      session_entrypoint_variation,
      session_flow_id,
      utm_campaign,
      utm_content,
      utm_medium,
      utm_source,
      utm_term,
      event,
    });
  }
  /**
   * Record and submit a login_submit_backend_error event:
   * Login Submission Failure (Server) Event that indicates an attempt to login by clicking "Sign in" on the login page was not successful. Ideally we would have additional data on why the login failed. We might expect most reasons to be "Incorrect password".
   * Event is logged using internal mozlog logger.
   *
   * @param {string} user_agent - The user agent.
   * @param {string} ip_address - The IP address. Will be used to decode Geo
   *                              information and scrubbed at ingestion.
   * @param {string} account_user_id - The firefox/mozilla account id.
   * @param {string} account_user_id_sha256 - A hex string of a sha256 hash of the account's uid.
   * @param {string} relying_party_oauth_client_id - The client id of the relying party.
   * @param {string} relying_party_service - The service name of the relying party.
   * @param {string} session_device_type - one of 'mobile', 'tablet', or ''.
   * @param {string} session_entrypoint - Entrypoint to the service.
   * @param {string} session_entrypoint_experiment - Identifier for the experiment the user is part of at the entrypoint.
   * @param {string} session_entrypoint_variation - Identifier for the experiment variation the user is part of at the entrypoint.
   * @param {string} session_flow_id - an ID generated by FxA for its flow metrics.
   * @param {string} utm_campaign - A marketing campaign.  For example, if a user signs into FxA from selecting a Mozilla VPN plan on Mozilla VPN's product site, then the value of this metric could be 'vpn-product-page'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters.  The special value of 'page+referral+-+not+part+of+a+campaign' is also allowed..
   * @param {string} utm_content - The content on which the user acted.  For example, if the user clicked on the (previously available) "Get started here" link in "Looking for Firefox Sync? Get started here", then the value for this metric would be 'fx-sync-get-started'. The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_medium - The "medium" on which the user acted.  For example, if the user clicked on a link in an email, then the value of this metric would be 'email'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_source - The source from where the user started.  For example, if the user clicked on a link on the Mozilla accounts web site, this value could be 'fx-website'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} utm_term - This metric is similar to the `utm.source`; it is used in the Firefox browser.  For example, if the user started from about:welcome, then the value could be 'aboutwelcome-default-screen'.  The value has a max length of 128 characters with the alphanumeric characters, _ (underscore), forward slash (/), . (period), % (percentage sign), and - (hyphen) in the allowed set of characters..
   * @param {string} reason - additional context-dependent info, e.g. the cause of an error.
   */
  recordLoginSubmitBackendError({
    user_agent,
    ip_address,
    account_user_id,
    account_user_id_sha256,
    relying_party_oauth_client_id,
    relying_party_service,
    session_device_type,
    session_entrypoint,
    session_entrypoint_experiment,
    session_entrypoint_variation,
    session_flow_id,
    utm_campaign,
    utm_content,
    utm_medium,
    utm_source,
    utm_term,
    reason,
  }: {
    user_agent: string;
    ip_address: string;
    account_user_id: string;
    account_user_id_sha256: string;
    relying_party_oauth_client_id: string;
    relying_party_service: string;
    session_device_type: string;
    session_entrypoint: string;
    session_entrypoint_experiment: string;
    session_entrypoint_variation: string;
    session_flow_id: string;
    utm_campaign: string;
    utm_content: string;
    utm_medium: string;
    utm_source: string;
    utm_term: string;
    reason: string;
  }) {
    const event = {
      category: 'login',
      name: 'submit_backend_error',
      extra: {