{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "EventPayloads",
  "description": "The shape of `data` for each Reticle event type. Look up an event by its `type` string. Every payload allows unknown keys, so a newer SDK can add a field without failing an older reader; a field being absent here means this version never described it, not that sending it is an error.",
  "type": "object",
  "properties": {
    "dom.added": {
      "type": "object",
      "properties": {
        "role": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "dom.removed": {
      "type": "object",
      "properties": {
        "role": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "dom.attr": {
      "type": "object",
      "properties": {
        "attr": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "old": {
          "type": "string"
        }
      },
      "required": [
        "attr"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "dom.text": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "old": {
          "type": "string"
        }
      },
      "required": [
        "text"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "net.request": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "status": {
          "type": "number"
        },
        "ok": {
          "type": "boolean"
        },
        "durationMs": {
          "type": "number"
        },
        "initiator": {
          "type": "string"
        },
        "urlRaw": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "method",
        "url",
        "status",
        "ok",
        "durationMs",
        "initiator"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "net.pending": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "initiator": {
          "type": "string"
        },
        "urlRaw": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "method",
        "url",
        "initiator"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "net.stream": {
      "type": "object",
      "properties": {
        "transport": {
          "type": "string",
          "enum": [
            "sse",
            "ws",
            "fetch"
          ]
        },
        "direction": {
          "type": "string",
          "enum": [
            "open",
            "in",
            "out",
            "close"
          ]
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "transport",
        "direction",
        "url"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "download": {
      "type": "object",
      "properties": {
        "mimeType": {
          "type": "string"
        },
        "bytes": {
          "type": "number"
        },
        "filename": {
          "type": "string"
        },
        "lines": {
          "type": "number"
        },
        "preview": {
          "type": "string"
        },
        "previewTruncated": {
          "type": "boolean"
        }
      },
      "required": [
        "mimeType",
        "bytes"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "perf": {
      "type": "object",
      "properties": {
        "metric": {
          "type": "string",
          "enum": [
            "lcp",
            "cls",
            "longtask"
          ]
        },
        "value": {
          "type": "number"
        },
        "at": {
          "type": "number"
        }
      },
      "required": [
        "metric",
        "value",
        "at"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "route.change": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string"
        },
        "to": {
          "type": "string"
        },
        "pathname": {
          "type": "string"
        },
        "search": {
          "type": "string"
        },
        "hash": {
          "type": "string"
        }
      },
      "required": [
        "from",
        "to",
        "pathname",
        "search",
        "hash"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "console.log": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        }
      },
      "required": [
        "message"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "console.warn": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        }
      },
      "required": [
        "message"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "console.error": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        }
      },
      "required": [
        "message"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "console.info": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        }
      },
      "required": [
        "message"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "console.debug": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        }
      },
      "required": [
        "message"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "error.uncaught": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "line": {
          "type": "number"
        },
        "kind": {
          "type": "string"
        }
      },
      "required": [
        "message"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "visible.shown": {
      "type": "object",
      "properties": {
        "role": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "anim.start": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "anim.end": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "scroll.position": {
      "type": "object",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        },
        "percent": {
          "type": "number"
        },
        "direction": {
          "type": "string",
          "enum": [
            "up",
            "down"
          ]
        }
      },
      "required": [
        "x",
        "y",
        "percent",
        "direction"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "reveal.shown": {
      "type": "object",
      "properties": {
        "role": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "signal": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "data": {}
      },
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "state.change": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {}
      },
      "required": [
        "name"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "storage.change": {
      "type": "object",
      "properties": {
        "area": {
          "type": "string",
          "enum": [
            "local",
            "session",
            "cookies"
          ]
        },
        "key": {
          "type": "string"
        },
        "old": {
          "type": "string"
        },
        "new": {
          "type": "string"
        }
      },
      "required": [
        "area",
        "key"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "page.health": {
      "type": "object",
      "properties": {
        "hidden": {
          "type": "boolean"
        },
        "focused": {
          "type": "boolean"
        },
        "reason": {
          "type": "string"
        },
        "brand": {
          "type": "string",
          "enum": [
            "chrome",
            "edge",
            "arc",
            "dia",
            "brave",
            "opera",
            "firefox",
            "safari",
            "other"
          ]
        },
        "runtime": {
          "type": "string"
        },
        "engine": {
          "type": "string"
        }
      },
      "required": [
        "hidden",
        "focused"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "context.opened": {
      "type": "object",
      "properties": {
        "href": {
          "type": "string"
        }
      },
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "dialog.opened": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "alert",
            "confirm",
            "prompt"
          ]
        },
        "message": {
          "type": "string"
        },
        "answered": {
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "render.commit": {
      "type": "object",
      "properties": {
        "commits": {
          "type": "number"
        }
      },
      "required": [
        "commits"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "focus.change": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        },
        "toBody": {
          "type": "boolean"
        }
      },
      "required": [
        "toBody"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "flow.recorded": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "flow": {}
      },
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "transport.overflow": {
      "type": "object",
      "properties": {
        "dropped": {
          "type": "number"
        }
      },
      "required": [
        "dropped"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "truncated": {
      "type": "object",
      "properties": {
        "channel": {
          "type": "string"
        },
        "dropped": {
          "type": "number"
        }
      },
      "required": [
        "channel",
        "dropped"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "blind-spot": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "closed-shadow-root",
            "rate-limited",
            "cross-origin-iframe",
            "uninstrumented-frame",
            "virtualized-unmounted",
            "wrapped-network",
            "unobserved-ipc",
            "verdictless-send",
            "unwatched-state"
          ]
        },
        "count": {
          "type": "number"
        }
      },
      "required": [
        "kind",
        "count"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "sdk.failed": {
      "type": "object",
      "properties": {
        "site": {
          "type": "string",
          "maxLength": 64
        },
        "message": {
          "type": "string",
          "maxLength": 500
        },
        "errorType": {
          "type": "string",
          "maxLength": 64
        }
      },
      "required": [
        "site",
        "message"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "net.detail": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "status": {
          "type": "number"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "resourceType": {
          "type": "string"
        }
      },
      "required": [
        "url",
        "status",
        "headers"
      ],
      "additionalProperties": true,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "human.control": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "pause",
            "resume",
            "end",
            "message",
            "replay",
            "sync"
          ]
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    },
    "human.mark": {
      "type": "object",
      "properties": {
        "note": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "anchor": {
          "type": "string",
          "maxLength": 128
        },
        "strategy": {
          "type": "string",
          "enum": [
            "testid",
            "component",
            "role",
            "position"
          ]
        },
        "label": {
          "type": "string",
          "maxLength": 256
        },
        "source": {
          "type": "object",
          "properties": {
            "file": {
              "type": "string",
              "maxLength": 4096
            },
            "line": {
              "type": "integer",
              "minimum": 0
            }
          },
          "required": [
            "file",
            "line"
          ],
          "additionalProperties": false
        },
        "route": {
          "type": "string",
          "maxLength": 4096
        }
      },
      "required": [
        "note",
        "anchor",
        "strategy"
      ],
      "additionalProperties": false,
      "$schema": "http://json-schema.org/draft-07/schema#"
    }
  }
}
