# Lightwave Ecosystem documentation Environment Configuration
# =============================================
#
# This file contains environment variables for the the lightwave ecosystem.
# IMPORTANT: Never commit the actual .env file to version control!
# Instead, keep this .env.example as a template and documentation.
#
# Security Best Practices:
# 1. Always use strong, unique API tokens
# 2. Rotate tokens periodically
# 3. Use different tokens for development, staging, and production
# 4. Set appropriate token permissions (least privilege principle)
# 5. Never share or expose tokens in logs, error messages, or public repositories

# ======================
# Development Settings
# ======================

# Environment Type
# ---------------
# Valid values: development, staging, production
# Controls logging level and feature availability
ENV_TYPE=development

# Logging Configuration
# -------------------
# Valid levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
LOG_FORMAT=detailed  # simple, detailed, or json


# ======================
# ClickUp Configuration
# ======================

# ClickUp API Token (Required)
# ---------------------------
# Generate from: https://app.clickup.com/settings/apps
CLICKUP_API_TOKEN=pk_132041892_WMPOKUF86DJ30IBRB2RE7YG5ZDP7HGYD

# ClickUp Workspace Configuration
# -----------------------------------
# Lightwave Workspace ID
CLICKUP_WORKSPACE_ID=9013813344

# Lightwave Workspace Subspaces
CLICKUP_SUBSPACE_WORK_ID=90133397931
CLICKUP_SUBSPACE_OPERATIONS_ID=90133398251
CLICKUP_SUBSPACE_HOME_ID=90133398331
CLICKUP_SUBSPACE_GROWTH_ID=90133398411

# ClickUp Lightwave Workspace members
# -----------------------------------
LIGHTWAVE_ADMIN_MEMBER_ID=132041892 # owner of the workspace
LIGHTWAVE_JOEL_MEMBER_ID=88043008 # Joel's member ID
# LIGHTWAVE_ERIN_MEMBER_ID=132041892 Future member

# ClickUp App Configuration
# -----------------------------------
# Required for OAuth2 authentication
CLICKUP_APP_CLIENT_ID=X8VYMVS12LTSJVNQWY6QGDUA0L98YDWU
CLICKUP_APP_CLIENT_SECRET=AEN8DXVXMMDV7IAEPCE0J1Q1Z3IFH6UQ0AMGC0LC022IRREQTA7JQ76OJRRX0HEA

# ClickUp API Configuration 
# --------------------------
# Customize API behavior and timeouts
CLICKUP_API_TIMEOUT=30  # API request timeout in seconds
CLICKUP_API_RETRIES=3   # Number of retries for failed requests
CLICKUP_API_RETRY_DELAY=1  # Delay between retries in seconds

# Feature Flags 
# ----------------------
# Enable/disable specific features
CLICKUP_ENABLE_CACHING=true  # Enable response caching
CLICKUP_CACHE_TTL=300  # Cache TTL in seconds
CLICKUP_DEBUG_MODE=false  # Enable detailed debug logging

# Formatting Preferences
# ------------------------------
# Customize output formatting
CLICKUP_DATE_FORMAT="%Y-%m-%d %H:%M:%S"  # Python strftime format
CLICKUP_OUTPUT_COLOR=true  # Enable colored output in CLI

# Sync interval in minutes (for scheduled sync)
CLICKUP_SYNC_INTERVAL=15


# ======================
# AI/LLM Configuration
# ======================

# API Keys for LLM providers
GOOGLE_API_KEY="AIzaSyB94mDUvsZ7DNouejxkrDN-KDkyBwoF9iE"  # API key expired - needs renewal
OPENAI_API_KEY=""  # Optional - for OpenAI models if needed as fallback

# Model configuration
PYDANTIC_AI_DEFAULT_MODEL="google-gla:gemini-1.5-flash"  # Default model to use
AI_USE_MOCK=true  # Use mock mode until API key is renewed

# LLM configuration
AI_MODEL="google-gla:gemini-1.5-flash"  # Google Gemini model
AI_TEMPERATURE=0.2  # Temperature for generation
AI_MAX_TOKENS=8000  # Maximum tokens for responses

# Documentation Settings
# Use local docs path instead of GitHub
DOCS_REPO_URL=/Users/joelschaeffer/dev/lightwave/lightwave-cli

# Optional logging configuration
LOGFIRE_PROJECT=""  # Optional - for Pydantic Logfire integration
PYDANTIC_AI_LOGGING=true  # Enable/disable debug logging

# ======================
# Package Management
# ======================

# Set up uv as the default package manager
UV_NATIVE_EXTENSIONS=1  # Use native extensions
UV_NO_VENV=0  # Don't disable virtual environments
UV_USE_SYSTEM_PYTHONS=0  # Don't use system Python installations


# =============================================
# Documentation Synchronization Configuration
# =============================================

# GitHub App Authentication
# These are used by the GitHub Actions workflows for documentation sync
# See github-app-setup.md for detailed setup instructions
# IMPORTANT: For GitHub Actions workflows, these must be set as repository secrets
# in GitHub, not just in this .env file. See setup-github-secrets.md for instructions.

# GitHub App ID
# This is the numeric ID of your GitHub App
# Find it in GitHub > Developer Settings > GitHub Apps > Your App
# Example: GITHUB_APP_ID=1234567
GITHUB_APP_ID=1197957

# GitHub App Private Key (Base64 Encoded)
# This is the private key for your GitHub App, encoded in base64
# To generate: cat private-key.pem | base64 | tr -d '\n'
# IMPORTANT: Keep this secret! Never commit the actual value to git.
# The properly formatted base64-encoded private key is now set below
GITHUB_APP_PRIVATE_KEY="LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc2lWbVlpM1JNeEtCcFRWVk1WcTFDZkxLM3VpQTFxUllMRmZBUWNYWlEzaWpySXAwClc1aGcxTkp2cllIdmNGOS92VW9iOVdza1JZUmFUVXhaai9xbHdab3hURVZXT0lxZ0dGSEJhZWJhekFwMjJwaWoKd1ViWHlsZFZrQ1NBTUZ5NTZseW1Od3QyQ0J2UHI3YjVTYWt6Z2NpT3BjZmgwd0VBaFN4ays3MlE2K2ROY1IrbwpINmgwWkV5ZkRGRy9mNzBBNzRYQ3Q0UDRmb1JWeFVSRVVCeG9MbjA3TDBDaTlNZWgydUZjVWFKdFhRMDVmdWNwCm1ETFBEZm5rY0dhR3RZUjJtcGlvaGlKdVhERFBLN3dVY2xOdHJGdDRqZmtoZXFsNE5Bb0FtTkt0L2JneFA0SHQKNFpMKy9zZyt4TktxRVh2ZVdTODVQa3pyNW1wMCtaTm9xRmIvK1FJREFRQUJBb0lCQVFDTEJGQi9NUTNkY3dXawpySmZNcWVJNDN6U2Mrb2IvK01PdDV0UnEvei9xUFF4TXFzYmVhMnkwNTNxcXhZamFBa3dtcE54b2liR0daaUFwCnpmamVPRlI5WGh3MlRxMVg5aVcwbEtnQVFseGZlWk1DUnJjVExudGF0UWhhTVlHdk84MEJMRWV4RU1xTXpWY20KNGZ4ckZSVFNwSFZjdlR4bWNwTzdXTWQ5QTVOQjRyTGVlQkRMLzhTQjdaVmRYNnFiZ2FEMXF2WmxXZk9uQTRtYgpFMzkzUTB5SXprcmdrd2dORjF4OE4yeldreHJRemtTRWRkQWwxWmVsRVBnZXluSS8wVWwxV25CN0cyQlV5d1VRCklPM0J0V05Pb0RLK3JmeGdQbWk5TERIYWFndlpJVVZsM3pkcXVvS1JUNkY3RDk1eDdXR0tYaHBuMEZTU3kzNWcKK2RXTUQ4TzVBb0dCQU5qNGlMTVhjNGhaem5pTUd1MzViVjZ3a3RyU3pOell4VmQyT0ZPTlZvZlo0VXFnWjY0ZwpZVElGYjV4WDA3eVJKTG82TFFJcC81QThBM0ZWbDNPUUgwc3k5ejR5b3dJb1BjSmwxaE04L1U2YTFYWStMdDA4ClVTQ2JnWTNieThQU0ZzWHgyUFZhbjdhL1dPUTJpaWFGb0dSVWlnZmZuVHJTNnJNNFN6eUJsNG9YQW9HQkFOSXcKL25Ba0pVTUMwdG1SbzRMOVpSRFRIZmxyOU94Sitld2pSRHRGZkxsMHVLeCs5YjdISU1leUJsQWI3U05kNDExZAp6YzJoYU5RbFlsWCtNWkkzL1JORHBuak9DWXE4bG1LNWc3UTFPd2FNOUsxemZ6VE9EZEFWbkNwWDVKZ3pvazY1CnExall0cHRrazNoL0NndXBXZ004SHJKV0hPZEt2Y1Z2MUI1T1l1QnZBb0dBSzhsc2ZRZ2Nqc1hnL3o3M0tGT1EKR08zMWxTZTVwRkF5ODBXdWRGNHZ1bGJrT3BWSWwwRjluQVN3MDVKOTdxNDBCVWs4VUJWOXQvUUVsZGk2S2Q1SwpFbmtFb0k3RGl1bm9ITlZFY0xsOFBXTE45WUR6SUQ3TitKQ3BncUY2NjlmNE5KWnNQSWUvZDdnQ0RueGJRUTd5Cm9ZeldGbVN3YkhDb1lPYlplQ3FIRkowQ2dZQlMraVI0QU16MDkxaGxxNmp4UFRkNHZOOUlaK1g0b2Z1VlBDN2oKZHpzVnU0NXNDbkxaTGFNek1vUnJlNXJTSzI1bW5YRnhqQmJtS1J2NDlyQjdHTDgvcTZVOGE1bzR1dHBqZnZrUApXelJDRWNORjlpSnhwaWF0enRvbm5Tc1JLdEVZWXhQUnJ6dm5mSHo3Ukt1aWp1aUovbUhmNVQ3ajBBMjZzN3I1CmU5aHM0UUtCZ0VlK1I1aERtMnA5VGtYVG9yRi8vVnNhRDRtSUlrcW5VNFVaQ3lSckVrVTF6N0xzcWQ5V2s0K08KU3JUZUNrbHJIaEFTWmJENFo5VUUySFR5WEV5aC8yT0duNHd0dmpCbkZVUlNERVBBYnJXYVJWQlJMWjcxenQxQwowdU9ZWVQvQnNQTGdrTncwNVJSK3J2SSs2eXp0b3AxVWtUUXI2d0tzNHo3WmhjZVVTS0ZYCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg=="

# Documentation Sync Settings
# Configure the behavior of the documentation synchronization

# Primary Documentation Repository
# This is the central source of truth for all documentation
DOCS_PRIMARY_REPO=kiwi-dev-la/lightwave-eco-system-docs

# Repository Configurations
# Format: DOCS_REPO_name=repository-path
DOCS_REPO_AI_SERVICES=kiwi-dev-la/lightwave-ai-services
DOCS_REPO_SHARED_CORE=kiwi-dev-la/lightwave-shared-core
DOCS_REPO_DESIGN_SYSTEM=kiwi-dev-la/lightwave-design-system
DOCS_REPO_PROJECT_STARTER=kiwi-dev-la/lightwave-project-starter
DOCS_REPO_INFRASTRUCTURE=kiwi-dev-la/lightwave-infrastructure
DOCS_REPO_CI_CD=kiwi-dev-la/lightwave-ci-cd
DOCS_REPO_MONITORING=kiwi-dev-la/lightwave-monitoring
DOCS_REPO_API_GATEWAY=kiwi-dev-la/lightwave-api-gateway
DOCS_REPO_DEV_TOOLS=kiwi-dev-la/lightwave-dev-tools
DOCS_REPO_GIT_STRUCTURE=kiwi-dev-la/lightwave-git-structure
DOCS_REPO_PHOTOGRAPHYOS=kiwi-dev-la/photographyos.io
DOCS_REPO_CINEOS=kiwi-dev-la/cineos.io
DOCS_REPO_CREATEOS=kiwi-dev-la/createos.io
DOCS_REPO_JOELSCHAEFFER=kiwi-dev-la/joelschaeffer.com
DOCS_REPO_CORPORATE=kiwi-dev-la/lightwave-media.site

# Documentation Path Mappings
# Format: DOCS_PATH_name=source-path:target-path
# Where source-path is the directory in lightwave-eco-system-docs
# and target-path is the directory in the target repository
DOCS_PATH_AI_SERVICES=docs/lightwave-ai-services:docs/lightwave-ai-services
DOCS_PATH_SHARED_CORE=docs/lightwave-shared-core:docs/lightwave-shared-core
DOCS_PATH_DESIGN_SYSTEM=docs/lightwave-design-system:docs/lightwave-design-system
DOCS_PATH_PROJECT_STARTER=docs/lightwave-project-starter:docs/lightwave-project-starter
DOCS_PATH_INFRASTRUCTURE=docs/lightwave-infrastructure:docs/lightwave-infrastructure
DOCS_PATH_CI_CD=docs/lightwave-ci-cd:docs/lightwave-ci-cd
DOCS_PATH_MONITORING=docs/lightwave-monitoring:docs/lightwave-monitoring
DOCS_PATH_API_GATEWAY=docs/lightwave-api-gateway:docs/lightwave-api-gateway
DOCS_PATH_DEV_TOOLS=docs/lightwave-dev-tools:docs/lightwave-dev-tools
DOCS_PATH_GIT_STRUCTURE=docs/lightwave-git-structure:docs/lightwave-git-structure
DOCS_PATH_PHOTOGRAPHYOS=docs/photographyos.io:docs/photographyos.io
DOCS_PATH_CINEOS=docs/cineos.io:docs/cineos.io
DOCS_PATH_CREATEOS=docs/createos.io:docs/createos.io
DOCS_PATH_JOELSCHAEFFER=docs/joelschaeffer.com:docs/joelschaeffer.com
DOCS_PATH_CORPORATE=docs/lightwave-media.site:docs/lightwave-media.site

# Sync Schedule
# Cron expression for the scheduled sync (default: midnight daily)
# Format: minute hour day-of-month month day-of-week
DOCS_SYNC_SCHEDULE='0 0 * * *'

# Conflict Resolution
# How to handle documentation conflicts
# Options: 'report' (create issue), 'prefer-primary' (use eco-system-docs version)
DOCS_CONFLICT_STRATEGY=prefer-primary

# Sync Behavior
# Configure what content should be synchronized
DOCS_INCLUDE_PATTERNS=*.md,*.mdx,*.png,*.jpg,*.svg
DOCS_EXCLUDE_PATTERNS=*draft*,*WIP*,*.temp.md

# Documentation Structure
# Controls whether to create and maintain the same structure
DOCS_MAINTAIN_STRUCTURE=true
DOCS_CREATE_INDEX=true

# Notification Settings
# ------------------------------
# Configure notification preferences for sync events
DOCS_NOTIFY_ON_CONFLICT=true  # Send notifications on conflict detection
DOCS_NOTIFY_ON_SUCCESS=false  # Send notifications on successful sync
DOCS_NOTIFICATION_EMAIL=admin@lightwave-media.ltd  # Email for notifications
