export const OLLAMA_PROVIDER = 'local-ollama';

export const OLLAMA_CONNECTOR_PROVIDER = 'OLLAMA';

export const LLAMACPP_PROVIDER = 'local-llamacpp';

export const LLAMACPP_CONNECTOR_PROVIDER = 'LLAMACPP';

export const IMAGE_PROVIDER_PREFIX = 'IMAGE_';

export const FILE_GENERATION_PROVIDER = 'FILE_GENERATION';

export const THREAD_CONTEXT_LIMIT = 20;

export const MEMORY_FETCH_LIMIT = 20;

export const WORKSPACE_CONTEXT_LIMIT = 5;

export const APPROX_CHARS_PER_TOKEN = 4;

export const LOCAL_ONLY_ROUTING_MODES = new Set(['LOCAL_ONLY', 'PRIVACY_FIRST']);

export const PROVIDER_BASE_URLS: Record<string, string> = {
  OPENAI: 'https://api.openai.com/v1',
  GEMINI: 'https://generativelanguage.googleapis.com/v1beta/openai',
  DEEPSEEK: 'https://api.deepseek.com/v1',
  ANTHROPIC: 'https://api.anthropic.com/v1',
  GROK: 'https://api.x.ai/v1',
  OLLAMA: 'https://ollama.com/api',
  // LLAMACPP entries are reached via callLlamacpp() using LLAMACPP_SERVICE_URL,
  // not via the cloud provider base-URL flow. Listed here for documentation symmetry.
  LLAMACPP: 'http://llamacpp-service:4017/api/v1/v1',
};
