diff --git a/.env b/.env deleted file mode 100644 index f8bdaf9..0000000 --- a/.env +++ /dev/null @@ -1,260 +0,0 @@ -############################################################# -# CLASSROOM COPILOT - ENVIRONMENT CONFIGURATION -############################################################# - -## ===================================================== -## APP INFORMATION & METADATA -## ===================================================== -APP_NAME=ClassroomCopilot -APP_VERSION=0.0.1 -APP_DESCRIPTION="An AI copilot for learners and educators." -APP_AUTHOR=KevlarAI -APP_AUTHOR_EMAIL=kcar@kevlarai.com -APP_PROTOCOL=https - -## ===================================================== -## SERVER & RUNTIME CONFIGURATION -## ===================================================== -UVICORN_PORT=8000 -UVICORN_WORKERS=2 -UVICORN_TIMEOUT=300 -DEV_MODE=false -BACKEND_DEV_MODE=false - -## ===================================================== -## ADMIN USER CONFIGURATION -## ===================================================== -# Regular Admin -ADMIN_EMAIL=admin@classroomcopilot.ai -ADMIN_PASSWORD=&%4Dm1n&% -ADMIN_NAME="Kevin Carter (Admin)" -ADMIN_USERNAME=kcar -ADMIN_DISPLAY_NAME="K Car (Admin)" -ADMIN_WORKER_EMAIL=kcar@kevlarai.com - -## ===================================================== -## SUPABASE DATABASE CONFIGURATION -## ===================================================== -SUPABASE_URL=https://supa.classroomcopilot.ai -ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxODE3MjE5LCJpc3MiOiJzdXBhYmFzZSIsInN1YiI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsImV4cCI6MzM0ODYxNzIxOSwicm9sZSI6ImFub24ifQ.JbmQOTOBAzpBJ9JttOrGlo_JTXDXhCjYMjKiFvRkaNQ -SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxNzAwMTAwLCJpc3MiOiJzdXBhYmFzZSIsInN1YiI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsImV4cCI6MjA4NzA2MDEwMCwicm9sZSI6InNlcnZpY2Vfcm9sZSJ9.psBGbPG4TcuZo6NkN3h5yNhTK-p5vpUWXRl3PXGk350 -POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password -POSTGRES_HOST=db -POSTGRES_DB=postgres -JWT_SECRET=mE9FCC2YvHyrFIyyloH27F3lw51Ij93a77ejMZY-NRc - -## ===================================================== -## NEO4J DATABASE CONFIGURATION -## ===================================================== -USER_NEO4J=neo4j -PASSWORD_NEO4J=&%N304j&% -NEO4J_CC_DB=classroomcopilot -PORT_NEO4J_BOLT=7687 -PORT_NEO4J_HTTP=7474 -PORT_NEO4J_HTTPS=7473 - -## ===================================================== -## OLLAMA AI SERVICE CONFIGURATION -## ===================================================== -HOST_OLLAMA=https://ollama.kevlarai.com -PORT_OLLAMA=443 -OLLAMA_MODEL= - -## ===================================================== -## LANGCHAIN CONFIGURATION -## ===================================================== -LANGCHAIN_API_KEY= -LANGCHAIN_TRACING_V2=false -LANGCHAIN_PROJECT='Classroom Copilot' - -## ===================================================== -## GOOGLE API CONFIGURATION -## ===================================================== -YOUTUBE_API_KEY=AIzaSyDbpJInK6dsFUjY6oG60FlzYkj7JUJmUNs -GOOGLE_CLIENT_SECRETS_FILE=Users/kcar/ClassroomCopilot/backend/app/secrets/google_cloud_yt_credentials.json - -## ===================================================== -## DOCUMENT PROCESSING SERVICES -## ===================================================== -# External Service Endpoints -TIKA_URL=https://tika.kevlarai.com -TIKA_TIMEOUT=300 -DOCLING_URL=https://docling.kevlarai.com - -## ===================================================== -## DOCUMENT STRUCTURE DISCOVERY & ANALYSIS -## ===================================================== -# Auto-trigger Phase 1 components after document upload -AUTO_TIKA_PROCESSING=true -AUTO_PAGE_IMAGES=true -AUTO_DOCUMENT_ANALYSIS=true -AUTO_SPLIT_MAP_GENERATION=true - -## ===================================================== -## DOCLING BUNDLE PROCESSING PIPELINES -## ===================================================== -# Pipeline Execution Control (Sequential: no_ocr → ocr → vlm) -AUTO_DOCLING_NO_OCR=true -AUTO_DOCLING_OCR=true -AUTO_DOCLING_VLM=true - -# Bundle Architecture: BY_PAGE Precedence (overrides size thresholds) -# These settings take PRIORITY over DOCLING_SPLIT_THRESHOLD -DOCLING_NO_OCR_BY_PAGE=false -DOCLING_OCR_BY_PAGE=false -DOCLING_VLM_BY_PAGE=true - -# Bundle Processing Decision Logic: -# 1. BY_PAGE=true → Always create page-based bundles (docling_bundle_split) -# 2. BY_PAGE=false + pages < SPLIT_THRESHOLD → Single bundle (docling_bundle) -# 3. BY_PAGE=false + pages >= SPLIT_THRESHOLD → Section/chunk bundles (docling_bundle_split) - -## ===================================================== -## QUEUE SYSTEM & PERFORMANCE -## ===================================================== -# Service Limits (prevent server overload) -QUEUE_TIKA_LIMIT=3 -QUEUE_DOCLING_LIMIT=1 -QUEUE_LLM_LIMIT=1 -QUEUE_SPLIT_MAP_LIMIT=10 -QUEUE_DOCUMENT_ANALYSIS_LIMIT=5 -QUEUE_PAGE_IMAGES_LIMIT=3 - -# Worker Configuration -QUEUE_WORKERS=3 - -# Service Timeouts (per pipeline type) -DOCLING_BUNDLE_TIMEOUT=7200 -DOCLING_FRONTMATTER_TIMEOUT=300 -DOCLING_NOOCR_TIMEOUT=600 -DOCLING_OCR_TIMEOUT=900 -DOCLING_VLM_TIMEOUT=1800 - -# Bundle Architecture Settings -DOCLING_SPLIT_THRESHOLD=50 -DOCLING_FALLBACK_CHUNK_PAGES=25 -DOCLING_USE_SPLIT_MAP=true - -## ===================================================== -## DOCLING API CONFIGURATION (NEW BUNDLE ARCHITECTURE) -## ===================================================== -# Global Processing Settings (Docling API v1.5.1 Compliance) -DOCLING_PDF_BACKEND=dlparse_v4 -DOCLING_INCLUDE_IMAGES=true -DOCLING_IMAGES_SCALE=2.0 - -# OCR Engine Configuration (Global) -OCR_ENGINE=easyocr -OCR_LANG=en -DOCLING_PICTURE_DESCRIPTION_AREA_THRESHOLD=0.05 - -# ===================================================== -# PIPELINE-SPECIFIC PROCESSING OPTIONS -# ===================================================== -# NO_OCR Pipeline (Fast baseline processing) -DOCLING_NO_OCR_TABLE_MODE=fast -DOCLING_NO_OCR_TABLE_CELL_MATCHING=false -DOCLING_NO_OCR_DO_FORMULA_ENRICHMENT=false -DOCLING_NO_OCR_DO_CODE_ENRICHMENT=false -DOCLING_NO_OCR_DO_TABLE_STRUCTURE=true -DOCLING_NO_OCR_DO_PICTURE_CLASSIFICATION=false -DOCLING_NO_OCR_DO_PICTURE_DESCRIPTION=false - -# OCR Pipeline (Accurate processing with text enhancement) -DOCLING_OCR_TABLE_MODE=accurate -DOCLING_OCR_TABLE_CELL_MATCHING=true -DOCLING_OCR_DO_FORMULA_ENRICHMENT=true -DOCLING_OCR_DO_CODE_ENRICHMENT=false -DOCLING_OCR_DO_TABLE_STRUCTURE=true -DOCLING_OCR_DO_PICTURE_CLASSIFICATION=true -DOCLING_OCR_DO_PICTURE_DESCRIPTION=false - -# VLM Pipeline (Vision-enhanced processing) -DOCLING_VLM_MODEL=got_ocr_2 -# VLM_MODEL_LOCAL={"repo_id": "ds4sd/SmolDocling-256M-preview", "response_format": "doctags"} -# VLM_MODEL_API={"url": "http://localhost:1234/v1/chat/completions", "response_format": "doctags"} -DOCLING_VLM_TABLE_MODE=accurate -DOCLING_VLM_TABLE_CELL_MATCHING=true -DOCLING_VLM_DO_FORMULA_ENRICHMENT=true -DOCLING_VLM_DO_CODE_ENRICHMENT=false -DOCLING_VLM_DO_TABLE_STRUCTURE=true -DOCLING_VLM_DO_PICTURE_CLASSIFICATION=true -DOCLING_VLM_DO_PICTURE_DESCRIPTION=true - -## ===================================================== -## APPLICATION DOMAINS & URLS -## ===================================================== -VITE_APP_URL=https://app.classroomcopilot.ai -APP_API_URL=https://api.classroomcopilot.ai -APP_GRAPH_URL=https://graph.classroomcopilot.ai -APP_BOLT_URL=bolt://bolt.classroomcopilot.ai - -## ===================================================== -## REDIS CONFIGURATION & ENVIRONMENT ISOLATION -## ===================================================== -# Redis Connection -REDIS_HOST=localhost -REDIS_PORT=6379 -REDIS_PASSWORD= -REDIS_SSL=false - -# Environment-Specific Database Isolation -REDIS_DB_DEV=0 # Development database (auto-wiped) -REDIS_DB_PROD=1 # Production database (persistent) -REDIS_DB_TEST=2 # Testing database (isolated) - -# Connection URLs (auto-constructed) -REDIS_URL_DEV=redis://localhost:6379/0 -REDIS_URL_PROD=redis://localhost:6379/1 -REDIS_URL_TEST=redis://localhost:6379/2 - -# Queue Persistence Strategy -REDIS_PERSIST_DEV=false # No persistence in dev (fast startup) -REDIS_PERSIST_PROD=true # Full persistence in prod (durability) -REDIS_TASK_TTL_DEV=3600 # 1 hour task retention in dev -REDIS_TASK_TTL_PROD=86400 # 24 hour task retention in prod - -# Health Check & Recovery -REDIS_HEALTH_CHECK_INTERVAL=30 # Health check every 30s -REDIS_RECOVERY_ENABLED=true # Enable automatic recovery -REDIS_MAX_RETRY_ATTEMPTS=3 # Max connection retry attempts - -# Memory-Aware Queue Management -QUEUE_MAX_MEMORY_MB=2048 # 2GB total queue memory limit -QUEUE_MAX_USER_MEMORY_MB=512 # 512MB per user limit -MAX_FILE_SIZE_MB=100 # 100MB max single file size -MEMORY_WARNING_THRESHOLD=0.8 # Warn users at 80% capacity -MEMORY_REJECT_THRESHOLD=0.95 # Reject uploads at 95% capacity - -# Upload Queue Settings -UPLOAD_QUEUE_ENABLED=true # Enable intelligent upload queuing -UPLOAD_IMMEDIATE_PROCESSING=false # Process files immediately (legacy mode) -UPLOAD_STATUS_POLLING_INTERVAL=5 # Status polling interval (seconds) - -## ===================================================== -## CORS & SECURITY SETTINGS -## ===================================================== -CORS_SITE_URL=https://app.classroomcopilot.ai -CORS_GRAPH_URL={APP_GRAPH_URL} -CORS_API_URL={APP_API_URL} - -## ===================================================== -## FILE SYSTEM & STORAGE PATHS -## ===================================================== -NODE_FILESYSTEM_PATH=./data/node_filesystem -BACKEND_INIT_PATH=./data/init_data -LOG_PATH=./data/logs/ - -## =================================================##### -## LOGGING CONFIGURATION -## ===================================================== -# Log level must be lowercase for Node.js services using Pino logger (storage, functions) -# Valid values: trace, debug, info, warn, error, fatal -LOG_LEVEL=debug - - -## =================================================##### -## API KEYS -## ===================================================== -OPENAI_BASE_URL=https://api.openai.com/v1 -OPENAI_API_KEY=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 \ No newline at end of file