from typing import Dict


CREDENTIAL_HELP: Dict[str, Dict[str, str]] = {
    "OPENAI_API_KEY": {
        "title": "OpenAI API Key",
        "summary": "Create an API key in your OpenAI platform account, then paste the key value here.",
        "where": "OpenAI platform console -> API keys.",
    },
    "ANTHROPIC_API_KEY": {
        "title": "Anthropic API Key",
        "summary": "Create a key in the Anthropic console for the workspace you want OpenClaw to use.",
        "where": "Anthropic Console -> API Keys.",
    },
    "GEMINI_API_KEY": {
        "title": "Google Gemini API Key",
        "summary": "Create an API key in Google AI Studio and paste the generated key here.",
        "where": "Google AI Studio -> Get API key.",
    },
    "OPENROUTER_API_KEY": {
        "title": "OpenRouter API Key",
        "summary": "Create a key in OpenRouter and use that key to access routed models.",
        "where": "OpenRouter dashboard -> Keys.",
    },
    "GROQ_API_KEY": {
        "title": "Groq API Key",
        "summary": "Create a Groq API key and paste it here to use Groq-hosted models.",
        "where": "Groq console -> API Keys.",
    },
    "MISTRAL_API_KEY": {
        "title": "Mistral API Key",
        "summary": "Create a Mistral API key for the workspace you want OpenClaw to use.",
        "where": "Mistral console -> API keys.",
    },
    "TOGETHER_API_KEY": {
        "title": "Together API Key",
        "summary": "Create a Together API key to use Together-hosted model endpoints.",
        "where": "Together dashboard -> API Keys.",
    },
    "CEREBRAS_API_KEY": {
        "title": "Cerebras API Key",
        "summary": "Create a Cerebras API key for Cerebras-hosted model inference.",
        "where": "Cerebras cloud console -> API keys.",
    },
    "OLLAMA_BASE_URL": {
        "title": "Ollama Base URL",
        "summary": "Use the local or remote Ollama HTTP endpoint Armorer should call.",
        "where": "Typical local value: http://localhost:11434/v1/",
    },
    "TELEGRAM_BOT_TOKEN": {
        "title": "Telegram Bot Token",
        "summary": "Create a bot with BotFather, then copy the HTTP API token it returns.",
        "where": "Telegram chat with BotFather -> /newbot.",
    },
    "DISCORD_BOT_TOKEN": {
        "title": "Discord Bot Token",
        "summary": "Create an application and bot in the Discord developer portal, then copy the bot token.",
        "where": "Discord Developer Portal -> Applications -> Bot.",
    },
    "SLACK_BOT_TOKEN": {
        "title": "Slack Bot Token",
        "summary": "Create or edit a Slack app, install it to your workspace, then copy the bot token.",
        "where": "Slack API -> Your Apps -> OAuth & Permissions.",
    },
    "SLACK_APP_TOKEN": {
        "title": "Slack App Token",
        "summary": "Enable Socket Mode for your Slack app and generate an app-level token.",
        "where": "Slack API -> Your Apps -> Basic Information / Socket Mode.",
    },
    "BRAVE_API_KEY": {
        "title": "Brave Search API Key",
        "summary": "Create a Brave Search API key if you want the Brave web-search skill to work.",
        "where": "Brave Search API dashboard.",
    },
    "PERPLEXITY_API_KEY": {
        "title": "Perplexity API Key",
        "summary": "Create a Perplexity API key if you want OpenClaw web search to use Perplexity.",
        "where": "Perplexity account settings -> API.",
    },
    "XAI_API_KEY": {
        "title": "xAI API Key",
        "summary": "Create an xAI API key if you want OpenClaw web search to use Grok.",
        "where": "xAI console -> API keys.",
    },
    "KIMI_API_KEY": {
        "title": "Kimi API Key",
        "summary": "Create a Moonshot API key if you want OpenClaw web search to use Kimi.",
        "where": "Moonshot AI console -> API keys.",
    },
    "MOONSHOT_API_KEY": {
        "title": "Moonshot API Key",
        "summary": "Create a Moonshot API key if you want OpenClaw web search to use Kimi.",
        "where": "Moonshot AI console -> API keys.",
    },
}
