{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "CHROME_BINARY": {
      "type": "string",
      "default": "chromium",
      "x-aliases": ["CHROMIUM_BINARY", "GOOGLE_CHROME_BINARY"],
      "description": "Path to Chrome/Chromium binary"
    },
    "CHROME_NODE_BINARY": {
      "type": "string",
      "default": "node",
      "x-fallback": "NODE_BINARY",
      "description": "Path to Node.js binary (for Puppeteer)"
    },
    "CHROME_TIMEOUT": {
      "type": "integer",
      "default": 60,
      "minimum": 5,
      "x-fallback": "TIMEOUT",
      "description": "Timeout for Chrome operations in seconds"
    },
    "CHROME_HEADLESS": {
      "type": "boolean",
      "default": true,
      "description": "Run Chrome in headless mode"
    },
    "CHROME_SANDBOX": {
      "type": "boolean",
      "default": true,
      "description": "Enable Chrome sandbox (disable in Docker with --no-sandbox)"
    },
    "CHROME_RESOLUTION": {
      "type": "string",
      "default": "1440,2000",
      "pattern": "^\\d+,\\d+$",
      "x-fallback": "RESOLUTION",
      "description": "Browser viewport resolution (width,height)"
    },
    "CHROME_USER_DATA_DIR": {
      "type": "string",
      "default": "",
      "description": "Path to Chrome user data directory for persistent sessions (derived from ACTIVE_PERSONA if not set)"
    },
    "CHROME_USER_AGENT": {
      "type": "string",
      "default": "",
      "x-fallback": "USER_AGENT",
      "description": "User agent string for Chrome"
    },
    "CHROME_ARGS": {
      "type": "array",
      "items": {"type": "string"},
      "default": [
        "--no-first-run",
        "--no-default-browser-check",
        "--disable-default-apps",
        "--disable-sync",
        "--disable-infobars",
        "--disable-blink-features=AutomationControlled",
        "--disable-component-update",
        "--disable-domain-reliability",
        "--disable-breakpad",
        "--disable-client-side-phishing-detection",
        "--disable-hang-monitor",
        "--disable-speech-synthesis-api",
        "--disable-speech-api",
        "--disable-print-preview",
        "--disable-notifications",
        "--disable-desktop-notifications",
        "--disable-popup-blocking",
        "--disable-prompt-on-repost",
        "--disable-external-intent-requests",
        "--disable-session-crashed-bubble",
        "--disable-search-engine-choice-screen",
        "--disable-datasaver-prompt",
        "--ash-no-nudges",
        "--hide-crash-restore-bubble",
        "--suppress-message-center-popups",
        "--noerrdialogs",
        "--no-pings",
        "--silent-debugger-extension-api",
        "--deny-permission-prompts",
        "--safebrowsing-disable-auto-update",
        "--metrics-recording-only",
        "--password-store=basic",
        "--use-mock-keychain",
        "--disable-cookie-encryption",
        "--font-render-hinting=none",
        "--force-color-profile=srgb",
        "--disable-partial-raster",
        "--disable-skia-runtime-opts",
        "--disable-2d-canvas-clip-aa",
        "--enable-webgl",
        "--hide-scrollbars",
        "--export-tagged-pdf",
        "--generate-pdf-document-outline",
        "--disable-lazy-loading",
        "--disable-renderer-backgrounding",
        "--disable-background-networking",
        "--disable-background-timer-throttling",
        "--disable-backgrounding-occluded-windows",
        "--disable-ipc-flooding-protection",
        "--disable-extensions-http-throttling",
        "--disable-field-trial-config",
        "--disable-back-forward-cache",
        "--autoplay-policy=no-user-gesture-required",
        "--disable-gesture-requirement-for-media-playback",
        "--lang=en-US,en;q=0.9",
        "--log-level=2",
        "--enable-logging=stderr"
      ],
      "x-aliases": ["CHROME_DEFAULT_ARGS"],
      "description": "Default Chrome command-line arguments (static flags only, dynamic args like --user-data-dir are added at runtime)"
    },
    "CHROME_ARGS_EXTRA": {
      "type": "array",
      "items": {"type": "string"},
      "default": [],
      "x-aliases": ["CHROME_EXTRA_ARGS"],
      "description": "Extra arguments to append to Chrome command (for user customization)"
    },
    "CHROME_PAGELOAD_TIMEOUT": {
      "type": "integer",
      "default": 60,
      "minimum": 5,
      "x-fallback": "CHROME_TIMEOUT",
      "description": "Timeout for page navigation/load in seconds"
    },
    "CHROME_WAIT_FOR": {
      "type": "string",
      "default": "networkidle2",
      "enum": ["domcontentloaded", "load", "networkidle0", "networkidle2"],
      "description": "Page load completion condition (domcontentloaded, load, networkidle0, networkidle2)"
    },
    "CHROME_DELAY_AFTER_LOAD": {
      "type": "number",
      "default": 0,
      "minimum": 0,
      "description": "Extra delay in seconds after page load completes before archiving (useful for JS-heavy SPAs)"
    },
    "CHROME_CHECK_SSL_VALIDITY": {
      "type": "boolean",
      "default": true,
      "x-fallback": "CHECK_SSL_VALIDITY",
      "description": "Whether to verify SSL certificates (disable for self-signed certs)"
    }
  }
}
