# ==============================================================================
# ADAM v23.5 - LLM PLUGIN CONFIGURATION (ENTERPRISE GRADE)
# ==============================================================================
# "The Engine Room of Cognition"
#
# INSTRUCTIONS FOR HUMANS:
# 1. Select your 'provider' (uncomment one active provider).
# 2. Ensure API keys are set in your .env file (NEVER COMMIT KEYS HERE).
# 3. Adjust 'machine_parameters' for throughput vs. latency.
# 4. Review 'security_policies' for compliance.
#
# ==============================================================================

# --- ACTIVE PROVIDER SELECTION ---
# Options: 'openai', 'anthropic', 'cohere', 'gemini', 'huggingface', 'mock'
provider: mock  # Default to Safe Mode

# --- PROVIDER CONFIGURATIONS (FLAT NAMESPACE FOR COMPATIBILITY) ---

# 1. OpenAI (Industry Standard)
# Requires: OPENAI_API_KEY, OPENAI_ORG_ID (Optional)
openai_model_name: "gpt-4-turbo-preview"
openai_temperature: 0.7
openai_max_tokens: 4096

# 2. Anthropic (High Context)
# Requires: ANTHROPIC_API_KEY
anthropic_model_name: "claude-3-opus-20240229"

# 3. Google Gemini (Multimodal)
# Requires: GEMINI_API_KEY
gemini_model_name: "gemini-1.5-pro-latest"

# 4. Cohere (Enterprise RAG)
# Requires: COHERE_API_KEY
cohere_model_name: "command-r-plus"

# 5. HuggingFace (Open Source / Local)
# Requires: HF_API_TOKEN (Optional for local)
huggingface_model_name: "google/flan-t5-large"
huggingface_use_pipeline: True
huggingface_device_map: "auto"

# 6. Mock (Dev/Test/CI)
mock_model_name: "apex-architect-mock-v1"
mock_latency_ms: 50 # Simulate network lag

# --- SECURITY POLICIES (MACHINE ENFORCEMENT) ---
security_policies:
  enforce_https: True
  mask_pii: True         # Placeholder for future PII scrubbing
  log_prompts: False     # Disable for production privacy
  max_cost_per_day: 50.0 # USD Soft Cap
  alert_on_key_exposure: True

# --- HUMAN OVERSIGHT (APPROVAL GATES) ---
human_oversight:
  require_approval_for:
    - "execute_trade"
    - "publish_report"
    - "wire_transfer"
  notification_channel: "slack-ops"
  escalation_contact: "ciso@adam-finance.net"

# --- MACHINE PARAMETERS (PERFORMANCE) ---
machine_parameters:
  max_retries: 3
  timeout_seconds: 60
  cache_ttl_seconds: 3600
  circuit_breaker_threshold: 5
