/** * Resolve per-provider HTTP defaults from {@link Config}. * * Lookup order for `request.timeoutMs` and `request.headers`: * 1. cfg.providers..request.{timeoutMs|headers} (typed schema field — not yet present in Step 1) * 2. cfg.providers..{timeoutMs|headers} (loose / future) * 3. fallbacks supplied by caller * * In Step 1 the Zod schema does not yet declare these fields. We still parse * defensively from `unknown` so this module is forward-compatible: when Step 4 * adds the schema fields, no consumer changes are needed. */ import type { Config } from '../../config/schema.js'; export interface ResolvedProviderHttpDefaults { /** Default per-call timeout in ms (provider-level), or undefined. */ timeoutMs?: number; /** Default headers merged into every request. Lower-case keys recommended. */ headers: Record; } export interface ResolveProviderHttpRequestConfigOptions { /** Provider id, e.g. "openai", "dashscope", "minimax". */ providerId: string; /** Active xopc config (optional). */ cfg?: Config; /** Built-in defaults (e.g. 60_000ms). Used only if config provides nothing. */ fallbackTimeoutMs?: number; /** Built-in headers (e.g. User-Agent). Caller request headers still win. */ fallbackHeaders?: Record; } export declare function resolveProviderHttpRequestConfig(options: ResolveProviderHttpRequestConfigOptions): ResolvedProviderHttpDefaults;