defect-core 0.1.0-alpha.6

Foundational shared types for defect: error, LLM protocol types, HTTP client trait, and tool schema. Zero dependency on the agent runtime, so provider/transport crates (defect-llm, defect-http) can depend on it without pulling in the session/turn machinery.
Documentation

defect-core — foundational shared types for the defect workspace.

This crate holds the pure types and traits that both the agent runtime (defect-agent) and the provider/transport crates (defect-llm, defect-http) need, with zero dependency on the agent runtime (no session / turn loop / hooks). Pulling these out of defect-agent lets a provider or HTTP-stack crate be depended on independently — e.g. via a git dependency — without dragging in the whole session machinery.

defect-agent re-exports everything here under its original paths (defect_agent::error, defect_agent::llm::*, defect_agent::http, defect_agent::tool::ToolSchema), so existing call sites are unaffected.

What lives here: [error::BoxError], the LLM protocol types in [llm], the [http::HttpClient] trait, and [tool::ToolSchema]. What does not: the ProviderRegistry (depends on session capabilities config), the full Tool trait / ToolContext, events, policy, and the session runtime — those stay in defect-agent.