fabro/lib/foundation/fabro-auth/src/context.rs
Bryan Helmkamp f37151ed46
Adopt lithos vocabulary in fabro-types, fabro-auth, and fabro-config
fabro-types re-exports the lithos request, response, content, tool, and
stream types and absorbs the identifiers, billing rollup, provider ids,
controls, catalog API views, and Fabro catalog policy (`metadata.fabro`)
that lived in fabro-model. Stored and wire formats use the lithos serde
shapes directly with no compatibility shims.

fabro-auth becomes a lithos `CredentialProvider`: `CredentialSource`
resolves credentials per catalog provider, with env, vault, SQL vault,
extra-headers, and API-key sources.

fabro-config's `[llm]` settings become an opaque TOML overlay layer
(`LlmLayer`) that is applied on top of the lithos built-ins and the Fabro
policy layer.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 17:26:57 -06:00

22 lines
519 B
Rust

use lithos_llm::catalog::ProviderId;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum AuthContextRequest {
ApiKey {
provider_id: ProviderId,
display_name: String,
env_var_names: Vec<String>,
api_key_url: Option<String>,
},
DeviceCode {
user_code: String,
verification_uri: String,
expires_in: u64,
},
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum AuthContextResponse {
ApiKey { key: String },
DeviceCodeConfirmed,
}