# Test Execution Optimizer Configuration

# Repository settings
repo_path: "."

# Feature detection strategies
feature_detection:
  strategies:
    - type: "folder_based"
      weight: 0.3
      enabled: true
    - type: "file_based" 
      weight: 0.4
      enabled: true
    - type: "annotation_based"
      weight: 0.2
      enabled: true
    - type: "ast_based"
      weight: 0.1
      enabled: false

# Feature definitions
features:
  auth:
    source_patterns:
      - "src/auth/**"
      - "**/*auth*"
    test_patterns:
      - "tests/auth/**"
      - "**/*auth*.test.js"
      - "**/*auth*.spec.js"
    confidence: 0.9
    
  payment:
    source_patterns:
      - "src/payment/**"
      - "**/*payment*"
      - "**/*billing*"
    test_patterns:
      - "tests/payment/**"
      - "**/*payment*.test.js"
      - "**/*payment*.spec.js"
    confidence: 0.8
    
  products:
    source_patterns:
      - "src/products/**"
      - "**/*product*"
      - "**/*catalog*"
    test_patterns:
      - "tests/products/**"
      - "**/*product*.test.js"
      - "**/*product*.spec.js"
    confidence: 0.8

# AI provider configuration
ai_providers:
  primary:
    type: "openai"
    model: "gpt-4"
    api_key: "${OPENAI_API_KEY}"
    timeout: 30000
    max_tokens: 2000
    temperature: 0.1
    
  fallback:
    type: "anthropic"
    model: "claude-3-sonnet-20240229"
    api_key: "${ANTHROPIC_API_KEY}"
    timeout: 30000
    max_tokens: 2000
    temperature: 0.1
    
  local:
    type: "ollama"
    model: "codellama:7b"
    endpoint: "http://localhost:11434"
    timeout: 60000
    max_tokens: 2000
    temperature: 0.1

# Test framework integrations
integrations:
  jest:
    test_dir: "tests"
    test_patterns:
      - "**/*.test.js"
      - "**/*.spec.js"
    config_file: "jest.config.js"
    parallel_execution: true
    max_workers: 4
    timeout: 30000
    collect_coverage: false
    
  playwright:
    test_dir: "tests"
    test_patterns:
      - "**/*.spec.js"
      - "**/*.e2e.js"
    config_file: "playwright.config.js"
    parallel_execution: true
    max_workers: 4
    timeout: 30000
    headed: false

# Execution strategies
execution_strategies:
  conservative:
    confidence_threshold: 0.8
    include_related_tests: true
    max_test_files: 50
    
  balanced:
    confidence_threshold: 0.5
    include_related_tests: true
    max_test_files: 100
    
  aggressive:
    confidence_threshold: 0.3
    include_related_tests: false
    max_test_files: 200

# Logging configuration
logging:
  level: "info"
  format: "json"
  file: "teo.log"
  max_size: "10MB"
  max_files: 5

