Skip to main content

Module model

Module model 

Source
Expand description

Model plane identity and contract types (PSP-9 systems 1–2, Layer A).

Everything here is pure data: no transport, no vendor types, no I/O. The transport driver lives in perspt-core; the adapter joining the two is perspt-agent::transport — the only place both worlds are in scope. That layering is what makes Gate S (provider portability) structural rather than aspirational.

Structs§

Conversation
The message log the harness owns: system, user, assistant, assistant-tool-calls, tool-response. Never a vendor type.
ConversationDeltaRecord
ConversationProjection
The sole fold owner for model context, activated tools, unresolved calls, and the canonical conversation digest.
ConversationSeeded
GenerationOptions
Provider-neutral generation controls for a single model turn.
ModelId
A fully qualified model: which configured provider serves it, and which provider-native model name.
ProviderCapabilities
Declared and probed capabilities of one provider route.
ProviderCapabilityMask
A requirement mask for route resolution (RouteObjective::require).
ProviderToolCall
One tool call requested by the model.
ToolSpec
A provider-agnostic tool declaration sent with a chat request.

Enums§

CapabilityDegradation
One recorded degradation: a capability the route lacks and the explicit, invariant-preserving fallback taken instead. Every degradation is a ledger event and is visible in perspt providers; none may silently emulate the missing capability.
ConversationDelta
Message
One entry in the harness conversation log.
ModelFamily
A model’s training lineage, used only as a routing prior.
ToolChoicePolicy
How the harness constrains tool selection for a turn.
TurnOutput
The result of one assistant turn.

Constants§

CONVERSATION_EVENT_SCHEMA_VERSION

Traits§

ModelTransport
The transport port: one assistant turn against one fully qualified model.

Type Aliases§

TransportFuture
Boxed future returned by transport calls.