ferrin_spec/shared/provider_options.rs
1//! Provider-scoped option and metadata maps.
2
3use std::collections::BTreeMap;
4
5use crate::json::JsonObject;
6
7/// Provider-specific request options, grouped by provider key.
8///
9/// The outer key is the provider options name (for example `openai` or
10/// `anthropic`); the inner object is interpreted by that provider only.
11/// Adapters must ignore keys that belong to other providers.
12pub type ProviderOptions = BTreeMap<String, JsonObject>;
13
14/// Provider-specific response metadata, grouped by provider key.
15///
16/// Same shape as [`ProviderOptions`]; produced by adapters to expose raw
17/// provider information that has no standardized field.
18pub type ProviderMetadata = BTreeMap<String, JsonObject>;