Skip to main content

perspt_sdk/model/
mod.rs

1//! Model plane identity and contract types (PSP-9 systems 1–2, Layer A).
2//!
3//! Everything here is pure data: no transport, no vendor types, no I/O. The
4//! transport *driver* lives in `perspt-core`; the adapter joining the two is
5//! `perspt-agent::transport` — the only place both worlds are in scope. That
6//! layering is what makes Gate S (provider portability) structural rather
7//! than aspirational.
8
9mod capabilities;
10mod conversation;
11mod family;
12mod id;
13mod projection;
14mod tool;
15mod transport;
16
17pub use capabilities::{CapabilityDegradation, ProviderCapabilities, ProviderCapabilityMask};
18pub use conversation::{Conversation, Message};
19pub use family::ModelFamily;
20pub use id::ModelId;
21pub use projection::{
22    ConversationDelta, ConversationDeltaRecord, ConversationProjection, ConversationSeeded,
23    CONVERSATION_EVENT_SCHEMA_VERSION,
24};
25pub use tool::{ProviderToolCall, ToolChoicePolicy, ToolSpec, TurnOutput};
26pub use transport::{GenerationOptions, ModelTransport, TransportFuture};