Source: caep/constants.js

const CAEP_BASE = 'https://schemas.openid.net/secevent/caep/event-type/';
const SSF_BASE = 'https://schemas.openid.net/secevent/ssf/event-type/';
const RISC_BASE = 'https://schemas.openid.net/secevent/risc/event-type/';

/** OpenID CAEP 1.0 event types. */
export const CAEP = Object.freeze({
  SESSION_REVOKED: `${CAEP_BASE}session-revoked`,
  TOKEN_CLAIMS_CHANGE: `${CAEP_BASE}token-claims-change`,
  CREDENTIAL_CHANGE: `${CAEP_BASE}credential-change`,
  ASSURANCE_LEVEL_CHANGE: `${CAEP_BASE}assurance-level-change`,
  DEVICE_COMPLIANCE_CHANGE: `${CAEP_BASE}device-compliance-change`,
  SESSION_ESTABLISHED: `${CAEP_BASE}session-established`,
  SESSION_PRESENTED: `${CAEP_BASE}session-presented`,
  RISK_LEVEL_CHANGE: `${CAEP_BASE}risk-level-change`,
});

/** OpenID Shared Signals Framework 1.0 stream-control event types. */
export const SSF = Object.freeze({
  VERIFICATION: `${SSF_BASE}verification`,
  STREAM_UPDATED: `${SSF_BASE}stream-updated`,
});

/** OpenID RISC 1.0 event types (receivable through `onEvent(RISC.X, handler)`). */
export const RISC = Object.freeze({
  ACCOUNT_CREDENTIAL_CHANGE_REQUIRED: `${RISC_BASE}account-credential-change-required`,
  ACCOUNT_PURGED: `${RISC_BASE}account-purged`,
  ACCOUNT_DISABLED: `${RISC_BASE}account-disabled`,
  ACCOUNT_ENABLED: `${RISC_BASE}account-enabled`,
  IDENTIFIER_CHANGED: `${RISC_BASE}identifier-changed`,
  IDENTIFIER_RECYCLED: `${RISC_BASE}identifier-recycled`,
  CREDENTIAL_COMPROMISE: `${RISC_BASE}credential-compromise`,
  OPT_IN: `${RISC_BASE}opt-in`,
  OPT_OUT_INITIATED: `${RISC_BASE}opt-out-initiated`,
  OPT_OUT_CANCELLED: `${RISC_BASE}opt-out-cancelled`,
  OPT_OUT_EFFECTIVE: `${RISC_BASE}opt-out-effective`,
  RECOVERY_ACTIVATED: `${RISC_BASE}recovery-activated`,
  RECOVERY_INFORMATION_CHANGED: `${RISC_BASE}recovery-information-changed`,
});

/** SSF delivery methods. */
export const DELIVERY = Object.freeze({
  PUSH: 'urn:ietf:rfc:8935',
  POLL: 'urn:ietf:rfc:8936',
});

/** Short name ("session-revoked") for an event type URI. */
export function eventName(uri) {
  return uri.slice(uri.lastIndexOf('/') + 1);
}