import type { Context } from '@deepseek-ai/cordis'; import type { Agent } from '@deepseek-ai/dsh-agent'; import type { AccountModelDescriptor } from './account-model-catalog.ts'; import type { RequestBudgetPolicy } from './request-budget.ts'; import { TurnSelectionStore } from './turn-selection.ts'; import type { TaskAssessmentDependencies } from './auto-task-assessment.ts'; import type { ParentModelBinding } from './parent-model-follow.ts'; declare module '@deepseek-ai/cordis' { interface Context { githubCopilotTurnSelection: { get(agent: Agent, turn: number): ReturnType; }; } } export interface AutoModelHostDependencies { loadModels(signal: AbortSignal): Promise; budgetPolicy?: () => Partial; parentModelBindings?: () => readonly ParentModelBinding[]; followParentModel?: () => boolean; admitModel?: (agent: Agent, turn: number, model: string, signal: AbortSignal) => void; semanticAssessment?: () => boolean; highCostModelIds?: () => readonly string[]; allocationEvidence?: () => boolean; classifyTask?: TaskAssessmentDependencies['classify']; assessmentDiagnostic?: (code: string) => void; } /** Resolve virtual Auto once per Core turn before request/header persistence. */ export declare function installAutoModelRouting(ctx: Context, dependencies: AutoModelHostDependencies): () => void; //# sourceMappingURL=auto-model-host.d.ts.map