{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:orbiplex:schema:bounded-http-fetch-error-codes:v1",
  "title": "Bounded HTTP Fetch Error Codes v1",
  "$defs": {
    "code": {
      "enum": [
        "invalid-request", "consumer-denied", "origin-denied", "dns-failed",
        "dns-answer-limit", "destination-denied", "connect-failed", "tls-failed", "redirect-invalid",
        "redirect-denied", "redirect-limit", "header-limit", "compressed-body-limit",
        "decompressed-body-limit", "unsupported-content-encoding", "timeout",
        "concurrency-limit", "artifact-store-failed", "transport-failed"
      ]
    }
  },
  "type": "object",
  "additionalProperties": false,
  "required": ["schema", "schema/v", "entries"],
  "properties": {
    "schema": { "const": "bounded-http-fetch-error-codes.v1" },
    "schema/v": { "const": 1 },
    "entries": {
      "type": "array",
      "minItems": 19,
      "maxItems": 19,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["code", "retry/class"],
        "properties": {
          "code": { "$ref": "#/$defs/code" },
          "retry/class": { "enum": ["terminal", "retryable", "policy-dependent"] }
        }
      }
    }
  }
}
