pcs-external 0.2.0

Ppoppo Chat System (PCS) External API client -- gRPC client for the External Developer Platform
Documentation
//! PCS External network-boundary port.
//!
//! Hot-path domain-typed trait + production gRPC adapter + in-memory
//! test fake. See `0context/RFC_2026-05-01_deepen-pcs-external-port.md`
//! for the design rationale.
//!
//! Module structure:
//!
//! - [`PcsExternalPort`] / [`PcsFailure`] / [`RawPcsChannel`] — port +
//!   failure vocabulary + escape-hatch handle.
//! - [`GrpcPcsAdapter`] — production adapter wrapping
//!   [`crate::external::ExternalChannel`].
//! - Domain types ([`TemplateId`], [`Ppnum`], [`Recipient`],
//!   [`RecipientList`], [`SendOutcome`], [`SendStatus`], …).
//! - [`MemoryPcsExternal`] — in-process fake under the `test-support`
//!   feature; intended for consumer integration tests where a real
//!   PCS endpoint is undesirable.

mod adapter;
mod failure;
mod port;
mod types;

#[cfg(any(test, feature = "test-support"))]
mod memory;

pub use adapter::GrpcPcsAdapter;
pub use failure::{PcsFailure, classify_status, classify_transport};
pub use port::{PcsExternalPort, RawPcsChannel};
pub use types::{
    PollConfig, Ppnum, PpnumError, Recipient, RecipientList, RecipientListError, SendOutcome,
    SendRequestId, SendRequestState, SendStatus, SendStatusTotals, TemplateId,
};

#[cfg(any(test, feature = "test-support"))]
pub use memory::{MemoryPcsExternal, RecordedSend};