{"version":3,"sources":["../../modelrouter/types.ts"],"sourcesContent":["/**\n * Model router types for intelligent model selection\n */\n\nexport type ComplexityLevel = 'easy' | 'medium' | 'hard' | 'needs_info';\nexport type RouterMode = 'balanced' | 'aggressive';\nexport type Provider = 'openai' | 'anthropic' | 'gemini';\n\nexport interface RouterConfig {\n  /** Morph API key (defaults to MORPH_API_KEY env var) */\n  apiKey?: string;\n  /** Router API URL (defaults to https://api.morphllm.com) */\n  apiUrl?: string;\n  /** Request timeout in milliseconds (default: 10000) */\n  timeout?: number;\n  /** Enable debug logging */\n  debug?: boolean;\n  /** Retry configuration */\n  retryConfig?: {\n    maxRetries?: number;\n    initialDelay?: number;\n    maxDelay?: number;\n    backoffMultiplier?: number;\n  };\n}\n\nexport interface RouterInput {\n  /** User input or task description */\n  input: string;\n  /** Routing mode: balanced (cheaper models) or aggressive (more capable models) */\n  mode?: RouterMode;\n}\n\nexport interface RouterResult {\n  /** Selected model name */\n  model: string;\n}\n\nexport interface RawRouterResult {\n  /** Raw difficulty classification */\n  difficulty: ComplexityLevel;\n}\n\n/** Classification axes returned by `/v1/router/classify`. */\nexport type ClassifyClass = 'difficulty' | 'ambiguity' | 'domain';\nexport type AmbiguityLevel = 'low' | 'med' | 'high';\nexport type DomainLabel = 'general' | 'summary' | 'coding' | 'design' | 'data';\n\nexport interface ClassifyInput {\n  /** User input or task description to classify. */\n  input: string;\n  /** Which axes to classify (defaults to all three). */\n  classes?: ClassifyClass[];\n}\n\n/** A single classification axis result. */\nexport interface Classification<L extends string = string> {\n  class_id: number;\n  label: L;\n  confidence: number;\n  meets_threshold: boolean;\n}\n\n/** Response from `/v1/router/classify`. Axes are present only when requested. */\nexport interface ClassifyResult {\n  difficulty?: Classification<ComplexityLevel>;\n  ambiguity?: Classification<AmbiguityLevel>;\n  domain?: Classification<DomainLabel>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}