{
  "$schema": "https://json-schema.org/schema",
  "version": 2,
  "title": "Schema for Playwright Wait For Web Server Executor",
  "description": "Waits for the E2E web server(s) to be ready.",
  "type": "object",
  "properties": {
    "servers": {
      "type": "array",
      "description": "The web servers to wait for.",
      "items": {
        "type": "object",
        "properties": {
          "port": {
            "type": "number",
            "description": "The port to wait for TCP connections on.",
            "minimum": 1,
            "maximum": 65535,
            "multipleOf": 1
          },
          "url": {
            "type": "string",
            "description": "The URL to poll. Redirects are followed and the server is ready once the final response has a status from 200 to 403."
          },
          "ignoreHTTPSErrors": {
            "type": "boolean",
            "description": "Whether to ignore HTTPS errors (e.g. a self-signed certificate) when polling the URL.",
            "default": false
          },
          "timeout": {
            "type": "number",
            "description": "The maximum time to wait for this server in milliseconds. A value of 0 means unset, as it does for Playwright's webServer.timeout. Defaults to 60000.",
            "default": 60000
          }
        }
      }
    },
    "timeout": {
      "type": "number",
      "description": "The maximum time to wait in milliseconds before failing. Overrides the timeout configured on every server. A value of 0 means unset, as it does for Playwright's webServer.timeout."
    }
  },
  "required": ["servers"]
}
