mod request;
mod response;
mod slot;
mod streaming;
use crate::wire::canonical::CanonicalStopReason;
fn derive_stop_reason(has_tool_use: bool, incomplete_reason: Option<&str>) -> CanonicalStopReason {
match incomplete_reason {
Some("max_output_tokens") => CanonicalStopReason::MaxTokens,
Some(_) => CanonicalStopReason::Other.with_tool_use(has_tool_use),
None => CanonicalStopReason::EndTurn.with_tool_use(has_tool_use),
}
}
pub use request::build_request_body;
pub use response::{buffered_defect, parse_response_object};
pub use streaming::sse_to_canonical_events;