import type { Api, Model, SimpleStreamOptions } from "@caupulican/pi-ai/types"; import type { ModelAdaptationProfile } from "./models/adaptation-store.ts"; export declare const MODEL_TOOL_PROTOCOL_VERSION = 1; export type ModelToolProtocolReasonCode = "settings_disabled" | "settings_enabled" | "model_enabled" | "probe_calibrated" | "probe_calibration_missing" | "probe_calibration_failed" | "probe_calibration_invalid" | "probe_native" | "native_default"; export interface ModelToolProtocolResolution { protocol: SimpleStreamOptions["textToolCallProtocol"]; reasonCode: ModelToolProtocolReasonCode; variantsTried?: readonly string[]; } /** * Resolve the effective tool-call transport for any model and execution lane. * * A disabled setting and proven native capability always keep the native path active. Text-protocol * settings and model metadata apply only when native capability has not been proven. A probe-driven * text protocol is usable only with a current, recognized calibration; otherwise the model stays on * native calls for this turn. Callers use the reason code for diagnostics, but never reimplement the * precedence or silently substitute the default dialect. */ export declare function resolveModelToolProtocol(args: { model: Pick, "textToolCallProtocol">; settingsOverride?: boolean; adaptation: Pick; }): ModelToolProtocolResolution; //# sourceMappingURL=model-tool-protocol.d.ts.map