# ============================================================================
# Gadget Drone Worker — Example Configuration
# ============================================================================
# Install this file to one of:
#   ~/.config/gadget/gadget-drone.yaml   (user-level, takes precedence)
#   /etc/gadget/gadget-drone.yaml        (system-level)
#
# Secrets MUST be stored in environment variables, NOT in this file.
# Use ${VAR_NAME} syntax to reference environment variables.
# ============================================================================

# Timezone for the drone worker (used by dayjs and logging)
timezone: "America/New_York"

# ── Platform Connection (REQUIRED) ──────────────────────────────────────────
# The drone connects to the Gadget Code platform via Socket.IO over HTTPS.
# These values are MANDATORY. The drone will refuse to start without them.
platform:
  baseUrl: "https://code.example.com:3443"  # Platform URL (HTTPS)
  gadgetKey: "${GADGET_PLATFORM_KEY}"        # API key for authentication

# ── Google Custom Search Engine (OPTIONAL) ───────────────────────────────────
# If provided, the drone's search_google tool will use these credentials.
# If omitted, web search capabilities will be unavailable.
google:
  cse:
    apiKey: "${GOOGLE_CSE_API_KEY}"    # Google API key with CSE enabled
    engineId: "${GOOGLE_CSE_ENGINE_ID}" # Your custom search engine ID

# ── Logging Configuration ───────────────────────────────────────────────────
# Logs follow XDG Base Directory spec by default.
logging:
  console:
    enabled: true                       # Print to stdout/stderr
  file:
    enabled: true
    path: "~/.local/state/gadget-drone/logs"  # Supports ~ expansion
    name: "gadget-drone"
    maxWritesPerFile: 10000            # Rotate after this many writes
    maxFiles: 10                        # Keep this many rotated files
  levels:
    debug: true                         # Set false in production for less noise
    info: true
    warn: true
