export type ProviderId = 'claude' | 'codex' | 'ollama';

export interface ProviderCapabilities {
  upload: boolean;
  context: boolean;
  web: boolean;
  slash: boolean;
  images: boolean;
  defaultModel: string;
  label: string;
}

export const PROVIDER_CAPABILITIES: Record<ProviderId, ProviderCapabilities> = {
  claude: {
    upload: true,
    context: true,
    web: true,
    slash: true,
    images: true,
    defaultModel: 'claude-opus-4-5',
    label: 'Claude',
  },
  codex: {
    upload: true,
    context: true,
    web: false,
    slash: true,
    images: false,
    defaultModel: 'gpt-5.4',
    label: 'Codex',
  },
  ollama: {
    upload: false,
    context: true,
    web: false,
    slash: true,
    images: false,
    defaultModel: 'qwen3:8b',
    label: 'Ollama',
  },
};

export function getCapabilities(provider: string): ProviderCapabilities {
  return PROVIDER_CAPABILITIES[provider as ProviderId] ?? PROVIDER_CAPABILITIES.claude;
}
