import { type Static, Type } from "typebox"; import type { ToolDefinition } from "../extensions/types.ts"; import type { ModelFitnessReport } from "../research/model-fitness.ts"; declare const modelFitnessSchema: Type.TObject<{ model: Type.TString; trials: Type.TOptional; }>; export type ModelFitnessToolInput = Static; export interface ModelFitnessToolDetails { started: boolean; skipReason?: string; model?: string; report?: ModelFitnessReport; } export interface ModelFitnessToolDependencies { runProbe: (args: { model: string; trials?: number; /** * The LLM tool-call id for THIS invocation: the idempotency token a retry of the same * tool call reuses, so the spawned-usage reportId stays stable on a retry instead of falling * back to a bare (model, trials) identity — which two deliberately separate tool calls on the * same model/trials would otherwise collide on and silently under-count. */ toolCallId?: string; }) => Promise<{ started: true; model: string; report: ModelFitnessReport; } | { started: false; skipReason: string; }>; } export declare function createModelFitnessToolDefinition(deps: ModelFitnessToolDependencies): ToolDefinition; export {}; //# sourceMappingURL=model-fitness.d.ts.map