everruns-provider — the provider/LLM abstraction foundation.
This crate holds the driver-facing types and traits shared by
everruns-core and the individual provider crates (OpenAI, Anthropic,
Gemini, …): the ChatDriver interface, the shared OpenAI/OpenResponses
protocol drivers, model profiles, retry/stream helpers, typed IDs, the
credential form schema, and the LLM error taxonomy.
The goal is that provider crates depend on this crate instead of on
everruns-core, so a provider is a pure ChatDriver implementation with no
dependency on core's agent-loop runtime.
everruns-core depends on this crate and re-exports these modules at their
original paths, so existing everruns_core::… imports keep working. The
adapters that convert core's agent-loop domain types (Message,
RuntimeAgent, ResolvedModel) into these driver types live in
everruns-core (llm_conversions), keeping the dependency one-directional.