/** npm packages per LLM provider */
export const LLM_PROVIDER_NPM = {
    openai: ['openai'],
    'azure-openai': ['@azure/openai'],
    anthropic: ['@anthropic-ai/sdk'],
    google: ['@google/generative-ai', '@langchain/google-genai', '@google-cloud/aiplatform'],
    mistral: ['@mistralai/mistralai'],
    cohere: ['cohere-ai', 'cohere'],
    huggingface: ['@huggingface/inference', '@huggingface/hub'],
    local: ['ollama', '@xenova/transformers'],
};
/** Env var names per LLM provider */
export const LLM_PROVIDER_ENV = {
    openai: ['OPENAI_API_KEY'],
    'azure-openai': ['AZURE_OPENAI_API_KEY', 'AZURE_OPENAI_ENDPOINT'],
    anthropic: ['ANTHROPIC_API_KEY'],
    google: ['GOOGLE_API_KEY', 'GOOGLE_GENERATIVE_AI_API_KEY'],
    mistral: ['MISTRAL_API_KEY'],
    cohere: ['COHERE_API_KEY'],
    huggingface: ['HUGGINGFACE_API_KEY', 'HF_API_TOKEN'],
    local: [],
};
/** Python package names per LLM provider */
export const LLM_PROVIDER_PYTHON = {
    openai: ['openai'],
    'azure-openai': ['openai', 'azure-ai-inference'],
    anthropic: ['anthropic'],
    google: ['google-generativeai', 'google-cloud-aiplatform', 'vertexai'],
    mistral: ['mistralai'],
    cohere: ['cohere'],
    huggingface: ['transformers', 'huggingface-hub', 'sentence-transformers'],
    local: ['ollama', 'llama-cpp-python'],
};
/** npm packages per LLM framework */
export const LLM_FRAMEWORK_NPM = {
    langchain: ['langchain', '@langchain/core', '@langchain/openai', '@langchain/community'],
    llamaindex: ['llamaindex'],
    'raw-sdk': [],
    'vercel-ai': ['ai'],
    mastra: ['@mastra/core'],
};
/** npm packages per vectorstore */
export const VECTORSTORE_NPM = {
    pinecone: ['@pinecone-database/pinecone'],
    chroma: ['chromadb'],
    qdrant: ['@qdrant/js-client-rest'],
    pgvector: ['pgvector'],
    weaviate: ['weaviate-ts-client', 'weaviate-client'],
    faiss: ['faiss-node'],
    'redis-vector': ['redis'],
};
/** Python packages per vectorstore */
export const VECTORSTORE_PYTHON = {
    pinecone: ['pinecone-client', 'pinecone'],
    chroma: ['chromadb'],
    qdrant: ['qdrant-client'],
    pgvector: ['pgvector'],
    weaviate: ['weaviate-client'],
    faiss: ['faiss-cpu', 'faiss'],
    'redis-vector': ['redis'],
};
/** RAG-related code patterns to search in source files */
export const RAG_CODE_PATTERNS = [
    'similarity_search',
    'embed_documents',
    'upsert',
    'vectorstore',
    'VectorStore',
    'embeddings.embed',
    'similarity search',
];
/** Tool use patterns in source files */
export const TOOL_USE_PATTERNS = [
    '"tools":',
    '"functions":',
    '"tool_choice"',
    'tool_calls',
    'toolChoice',
];
/** EU AI Act high-risk domain keyword map */
export const EU_AI_DOMAIN_KEYWORDS = {
    healthcare: ['healthcare', 'medical', 'clinical', 'hospital', 'patient', 'diagnosis', 'therapy'],
    employment: ['hr', 'hiring', 'recruitment', 'employee', 'resume', 'job application', 'workforce'],
    credit: ['credit', 'loan', 'mortgage', 'insurance', 'financial assessment', 'creditworthiness'],
    education: ['education', 'student', 'exam', 'grading', 'school', 'university'],
    'critical-infrastructure': [
        'critical infrastructure',
        'power grid',
        'water treatment',
        'transport',
        'pipeline',
    ],
    justice: ['law enforcement', 'justice', 'court', 'police', 'surveillance', 'crime prediction'],
};
export const EU_AI_UNACCEPTABLE_KEYWORDS = [
    'biometric',
    'social scoring',
    'social credit',
    'subliminal',
    'emotion recognition',
    'facial recognition',
];
/** Fine-tuning patterns */
export const FINE_TUNING_FILES = [
    'train.py',
    'finetune.py',
    'training_config.yaml',
    'training_config.yml',
];
export const FINE_TUNING_PACKAGES_PYTHON = ['transformers', 'peft', 'trl', 'accelerate'];
export const FINE_TUNING_PACKAGES_NPM = [];
//# sourceMappingURL=provider-maps.js.map