mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-09 03:20:56 +00:00
Normalize the readable reasoning providers already return into a canonical `ReasoningOutput` and carry it through the `agent.message` run event to storage, SSE, and JSONL. The shape is derived from the final response's canonical message content rather than stored a second time, so there is no duplicate source of truth and retried or replaced streaming buffers never become durable reasoning. OpenAI-compatible `reasoning_details` are now preserved verbatim as an opaque content part; only known readable members are normalized out of them, leaving encrypted entries for a later provider-aware replay phase. This phase is passive: no request parameters change, no capability guessing, and no newly observed provider field is replayed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
23 lines
549 B
Rust
23 lines
549 B
Rust
pub mod adapter_registry;
|
|
mod attachments;
|
|
pub mod client;
|
|
mod codec;
|
|
pub(crate) mod cost;
|
|
pub mod error;
|
|
pub mod generate;
|
|
pub mod middleware;
|
|
pub mod model_test;
|
|
pub mod provider;
|
|
pub mod providers;
|
|
mod reasoning;
|
|
pub mod retry;
|
|
pub mod token_count;
|
|
pub mod tools;
|
|
pub(crate) mod transport;
|
|
pub mod types;
|
|
|
|
pub use error::{Error, ProviderErrorDetail, ProviderErrorKind, Result};
|
|
pub use fabro_model::{ModelHandle, ProviderId};
|
|
pub use token_count::{
|
|
InputTokenCount, InputTokenCountMethod, InputTokenCountPreference, estimate_input_tokens,
|
|
};
|