{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/glasswarp-com/json-schema/glasswarp-com-grounding-target-schema.json",
  "title": "GroundingTarget",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/glasswarp-com-openapi.yaml#/components/schemas/GroundingTarget",
  "type": "object",
  "required": [
    "id",
    "x",
    "y",
    "w",
    "h"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Stable id for click_target / SoM mark"
    },
    "x": {
      "type": "integer",
      "description": "Native capture origin X"
    },
    "y": {
      "type": "integer",
      "description": "Native capture origin Y"
    },
    "w": {
      "type": "integer"
    },
    "h": {
      "type": "integer"
    },
    "role": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "enum": [
        "uia",
        "cv",
        "grid",
        "client"
      ],
      "description": "Where the target came from"
    },
    "focused": {
      "type": "boolean",
      "description": "True when this control has keyboard focus"
    },
    "masked": {
      "type": "boolean",
      "description": "Password / masked field — value is always redacted"
    },
    "value": {
      "type": "string",
      "description": "ValuePattern text when available. Always `[redacted]` when\n`masked` is true — plaintext passwords are never returned.\n"
    }
  }
}