{
  "description": "Dashboard component configuration. `taskId` unset ⇒ whole-DAG mode; `showChildren` only applies\nin whole-DAG mode.",
  "type": "object",
  "properties": {
    "dagId": {
      "type": ["null", "string"]
    },
    "taskId": {
      "type": ["null", "string"]
    },
    "showChildren": {
      "type": "boolean"
    },
    "showTriggerButtons": {
      "description": "Show run-trigger buttons (permission-gated at render time).",
      "type": "boolean"
    },
    "showEditButton": {
      "description": "Show edit buttons that open the DAG/task editor in a new tab (permission-gated at render time).",
      "type": "boolean"
    },
    "showParentTitle": {
      "description": "Single-task mode only: prefix the header with the parent DAG name (\"DAG → Task\").",
      "type": "boolean"
    },
    "showTitle": {
      "description": "Show the header title (DAG or task name); opt-out to hide it entirely.",
      "type": "boolean"
    },
    "refreshInterval": {
      "description": "Auto-refresh interval in seconds (clamped to [REFRESH_SECONDS_MIN, REFRESH_SECONDS_MAX]).",
      "type": "number"
    },
    "failureWindowHours": {
      "description": "How long a *recovered* failure keeps showing its \"Last failed\" row, in hours (clamped to\n[FAILURE_WINDOW_HOURS_MIN, FAILURE_WINDOW_HOURS_MAX]). Unrecovered failures always show,\nregardless of this value; `0` therefore means \"only unrecovered failures\".",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
