/** * Provider-routed agent execution bindings. * * This module is deliberately SDK-owned so workflow markdown consumes an * explicit binding receipt instead of guessing CLI commands from model strings. */ import type { GSDConfig } from '../config.js'; import { type ModelFamily, type RuntimeModelReceipt } from './runtime-model-contract.js'; export type AgentExecutionRouterMode = 'provider-cli'; export type AgentExecutionDriverPreference = 'provider-cli' | 'hermes-chat' | 'hermes-terminal-tool'; export type AgentExecutionDriver = 'claude-cli' | 'codex-cli' | 'hermes-chat' | 'hermes-terminal-tool' | 'unsupported'; export type AgentExecutionBindingStatus = 'resolved' | 'unsupported'; export interface AgentExecutionBinding { agent: string; role: string; status: AgentExecutionBindingStatus; configured_model: string | null; provider_family: ModelFamily; execution_driver: AgentExecutionDriver; cli_model: string | null; source: RuntimeModelReceipt['source']; strict: boolean; diagnostic: string; suggested_fix: string | null; } export interface AgentExecutionBindings { router: AgentExecutionRouterMode; strict: true; driver_preference: AgentExecutionDriverPreference; agents: Record; } export declare function resolveAgentExecutionRouterMode(config: Pick | Record): AgentExecutionRouterMode | null; export declare function resolveAgentExecutionDriverPreference(config: Pick | Record): AgentExecutionDriverPreference; export declare function normalizeCliModel(model: string | null | undefined, providerFamily: ModelFamily): string | null; export declare function resolveAgentExecutionBinding(receipt: RuntimeModelReceipt, options?: { driverPreference?: AgentExecutionDriverPreference; }): AgentExecutionBinding; export declare function buildAgentExecutionBindings(config: GSDConfig | Record, modelBindingReceipts: { agents: Record; }): AgentExecutionBindings | null; //# sourceMappingURL=agent-execution-router.d.ts.map