pub type LlmRequestInterceptFn = Arc<dyn Fn(String, LlmRequest, Option<AnnotatedLlmRequest>) -> Pin<Box<dyn Future<Output = Result<LlmRequestInterceptOutcome>> + Send>> + Send + Sync>;Expand description
Rewrite or annotate an LLM request before execution.
Request intercepts can transform the wire request, attach or replace a
normalized AnnotatedLlmRequest, or both.
§Parameters
- First argument: Logical provider or model family name.
- Second argument: LLM request to transform.
- Third argument: Optional normalized request annotation to carry forward.
§Returns
A Result containing the canonical request-intercept outcome.
Without a request codec, the returned request is authoritative. With a
request codec, its headers remain writable while its content must remain
unchanged; provider-body edits must be returned through the required
annotation.
§Errors
The callback can return any FlowError to abort
the request-intercept chain.
Aliased Type§
pub struct LlmRequestInterceptFn { /* private fields */ }