pas-external 0.12.0

Ppoppo Accounts System (PAS) external SDK — OAuth2 PKCE, JWT verification port, Axum middleware, session liveness
Documentation
//! M48 audit trait + types — re-exported from `ppoppo-sdk-core`.
//!
//! Phase A (RFC `RFC_2026-05-08_app-credential-collapse.md`) lifted the
//! whole `audit` module to `ppoppo-sdk-core::audit` so multiple SDK
//! crates (`pas-external`, future `pas-plims`, `pcs-external 0.3.0`)
//! and 1st-party services consume one shared trait + impl set.
//!
//! Consumer-facing imports stay at `pas_external::audit::*` and
//! `pas_external::*` (top-level re-export) — relocation is invisible.
//!
//! Audit utilities (`MemoryAuditSink`, `RateLimitedAuditSink`,
//! `MemoryRateLimiter`, `NoopAuditSink`) are co-located with the trait
//! in sdk-core because the audit module is one cohesive unit (utility
//! impls are not pas-external-domain-specific).

pub use ::ppoppo_sdk_core::audit::{
    AuditEvent, AuditSink, IdTokenFailureKind, MemoryRateLimiter, NoopAuditSink, RateLimitKey,
    RateLimitedAuditSink, RateLimiter, VerifyErrorKind, compose_id_token_source_id,
    compose_source_id,
};

#[cfg(any(test, feature = "test-support"))]
pub use ::ppoppo_sdk_core::audit::MemoryAuditSink;