Extensible model provider abstraction and its remote wire protocol.
This crate is intentionally lightweight (no HTTP stack, no LLM SDKs) so
that both the agent runtime and out-of-process provider implementations
(e.g. infinity-provider-bedrock) can depend on it.
It defines:
- The chat [
message] types and [completion] request/stream types that form the entire model API surface of this project. - [
ModelProvider] — an async trait for listing models and invoking one of them, returning a [ModelStream] of [StreamChunk]s. - [
remote] (featureremote) — a Unix-socket transport so providers can run out of process.