{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "contract": {
      "type": "string",
      "const": "RenderTree"
    },
    "treeId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "product": {
      "type": "string",
      "enum": [
        "studio",
        "kernel"
      ]
    },
    "rootNodeId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "nodes": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "contract": {
            "type": "string",
            "const": "RenderNode"
          },
          "nodeId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "kind": {
            "type": "string",
            "enum": [
              "shell",
              "page",
              "navigation",
              "view",
              "record",
              "control",
              "detail",
              "action",
              "overlay",
              "professional-provider"
            ]
          },
          "version": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "ownerRepo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "parentNodeId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "children": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "slot": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "pageRef": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "minLength": 1
                  }
                ]
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          "semanticRef": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "minLength": 1
                  }
                ]
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          "dataContextRef": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "minLength": 1
                  }
                ]
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          "capabilityRef": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "minLength": 1
                  }
                ]
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          "runtimeContractVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "providerRef": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "minLength": 1
                  }
                ]
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          "stateRef": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "minLength": 1
                  }
                ]
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          "surface": {
            "type": "object",
            "properties": {
              "frameOwner": {
                "type": "string",
                "enum": [
                  "host",
                  "provider",
                  "none"
                ]
              },
              "tone": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "density": {
                "type": "string",
                "enum": [
                  "compact",
                  "default",
                  "comfortable"
                ]
              }
            },
            "required": [
              "frameOwner",
              "density"
            ],
            "additionalProperties": false
          },
          "scroll": {
            "type": "object",
            "properties": {
              "owner": {
                "type": "string",
                "enum": [
                  "page",
                  "surface",
                  "provider"
                ]
              },
              "axis": {
                "type": "string",
                "enum": [
                  "x",
                  "y",
                  "both",
                  "none"
                ]
              },
              "restoreKey": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "virtualizationBoundary": {
                "type": "boolean"
              }
            },
            "required": [
              "owner",
              "axis",
              "virtualizationBoundary"
            ],
            "additionalProperties": false
          },
          "activation": {
            "type": "object",
            "properties": {
              "activationId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "mode": {
                "type": "string",
                "enum": [
                  "navigate",
                  "select",
                  "drawer",
                  "modal",
                  "fullscreen",
                  "inline"
                ]
              },
              "targetPath": {
                "type": "string",
                "pattern": "^\\/(?!\\/)"
              },
              "history": {
                "type": "string",
                "enum": [
                  "push",
                  "replace"
                ]
              }
            },
            "required": [
              "activationId",
              "mode"
            ],
            "additionalProperties": false
          },
          "lifecycle": {
            "type": "object",
            "properties": {
              "mountPolicy": {
                "type": "string",
                "enum": [
                  "always",
                  "when-visible",
                  "when-active"
                ]
              },
              "queryPolicy": {
                "type": "string",
                "enum": [
                  "always",
                  "when-visible",
                  "when-active",
                  "manual"
                ]
              },
              "retainOnDeactivate": {
                "type": "boolean"
              },
              "deepLink": {
                "type": "boolean"
              },
              "focusReturn": {
                "type": "boolean"
              }
            },
            "required": [
              "mountPolicy",
              "queryPolicy",
              "retainOnDeactivate",
              "deepLink",
              "focusReturn"
            ],
            "additionalProperties": false
          },
          "layout": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "contents",
                  "block",
                  "flex",
                  "grid",
                  "absolute"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "row",
                  "column"
                ]
              },
              "columns": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "align": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "stretch"
                ]
              },
              "justify": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "between",
                  "around"
                ]
              },
              "gapTokenRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "version": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "string",
                        "minLength": 1
                      }
                    ]
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          },
          "style": {
            "type": "object",
            "properties": {
              "width": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "height": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "minWidth": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "maxWidth": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "minHeight": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "maxHeight": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "padding": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "paddingBlock": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "paddingInline": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "margin": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "marginBlockStart": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "marginBlockEnd": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "marginInlineStart": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "marginInlineEnd": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "display": {
                "type": "string",
                "enum": [
                  "none",
                  "block",
                  "inline",
                  "inline-block",
                  "flex",
                  "inline-flex",
                  "grid",
                  "contents"
                ]
              },
              "gap": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "rowGap": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "columnGap": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "background": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "color": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "borderColor": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "borderWidth": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "borderStyle": {
                "type": "string",
                "enum": [
                  "none",
                  "solid",
                  "dashed",
                  "dotted"
                ]
              },
              "borderRadius": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "boxShadow": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "fontSize": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "fontFamily": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "fontWeight": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "lineHeight": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "textAlign": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "left",
                  "right"
                ]
              },
              "whiteSpace": {
                "type": "string",
                "enum": [
                  "normal",
                  "nowrap",
                  "pre",
                  "pre-wrap",
                  "pre-line",
                  "break-spaces"
                ]
              },
              "overflow": {
                "type": "string",
                "enum": [
                  "visible",
                  "hidden",
                  "auto",
                  "scroll",
                  "clip"
                ]
              },
              "overflowX": {
                "type": "string",
                "enum": [
                  "visible",
                  "hidden",
                  "auto",
                  "scroll",
                  "clip"
                ]
              },
              "overflowY": {
                "type": "string",
                "enum": [
                  "visible",
                  "hidden",
                  "auto",
                  "scroll",
                  "clip"
                ]
              },
              "position": {
                "type": "string",
                "enum": [
                  "static",
                  "relative",
                  "absolute",
                  "sticky",
                  "fixed"
                ]
              },
              "inset": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "top": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "right": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "bottom": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "left": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "gridTemplateColumns": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "gridColumn": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "gridRow": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "flex": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "flexDirection": {
                "type": "string",
                "enum": [
                  "row",
                  "row-reverse",
                  "column",
                  "column-reverse"
                ]
              },
              "flexWrap": {
                "type": "string",
                "enum": [
                  "nowrap",
                  "wrap",
                  "wrap-reverse"
                ]
              },
              "alignItems": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "stretch",
                  "baseline"
                ]
              },
              "justifyContent": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "space-between",
                  "space-around",
                  "space-evenly"
                ]
              },
              "flexGrow": {
                "type": "number",
                "minimum": 0
              },
              "flexShrink": {
                "type": "number",
                "minimum": 0
              },
              "alignSelf": {
                "type": "string",
                "enum": [
                  "auto",
                  "start",
                  "center",
                  "end",
                  "stretch"
                ]
              },
              "justifySelf": {
                "type": "string",
                "enum": [
                  "auto",
                  "start",
                  "center",
                  "end",
                  "stretch"
                ]
              },
              "objectFit": {
                "type": "string",
                "enum": [
                  "contain",
                  "cover",
                  "fill",
                  "none",
                  "scale-down"
                ]
              },
              "opacity": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              }
            },
            "additionalProperties": false
          },
          "responsive": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "minWidthPx": {
                  "type": "number",
                  "minimum": 0
                },
                "maxWidthPx": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "layout": {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "enum": [
                        "contents",
                        "block",
                        "flex",
                        "grid",
                        "absolute"
                      ]
                    },
                    "direction": {
                      "type": "string",
                      "enum": [
                        "row",
                        "column"
                      ]
                    },
                    "columns": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    },
                    "align": {
                      "type": "string",
                      "enum": [
                        "start",
                        "center",
                        "end",
                        "stretch"
                      ]
                    },
                    "justify": {
                      "type": "string",
                      "enum": [
                        "start",
                        "center",
                        "end",
                        "between",
                        "around"
                      ]
                    },
                    "gapTokenRef": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "version": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            {
                              "type": "string",
                              "minLength": 1
                            }
                          ]
                        },
                        "ownerRepo": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      },
                      "required": [
                        "kind",
                        "id"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "mode"
                  ],
                  "additionalProperties": false
                },
                "style": {
                  "type": "object",
                  "properties": {
                    "width": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "height": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "minWidth": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "maxWidth": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "minHeight": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "maxHeight": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "padding": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "paddingBlock": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "paddingInline": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "margin": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "marginBlockStart": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "marginBlockEnd": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "marginInlineStart": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "marginInlineEnd": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "display": {
                      "type": "string",
                      "enum": [
                        "none",
                        "block",
                        "inline",
                        "inline-block",
                        "flex",
                        "inline-flex",
                        "grid",
                        "contents"
                      ]
                    },
                    "gap": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "rowGap": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "columnGap": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "background": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "color": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "borderColor": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "borderWidth": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "borderStyle": {
                      "type": "string",
                      "enum": [
                        "none",
                        "solid",
                        "dashed",
                        "dotted"
                      ]
                    },
                    "borderRadius": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "boxShadow": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "fontSize": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "fontFamily": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "fontWeight": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "lineHeight": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "textAlign": {
                      "type": "string",
                      "enum": [
                        "start",
                        "center",
                        "end",
                        "left",
                        "right"
                      ]
                    },
                    "whiteSpace": {
                      "type": "string",
                      "enum": [
                        "normal",
                        "nowrap",
                        "pre",
                        "pre-wrap",
                        "pre-line",
                        "break-spaces"
                      ]
                    },
                    "overflow": {
                      "type": "string",
                      "enum": [
                        "visible",
                        "hidden",
                        "auto",
                        "scroll",
                        "clip"
                      ]
                    },
                    "overflowX": {
                      "type": "string",
                      "enum": [
                        "visible",
                        "hidden",
                        "auto",
                        "scroll",
                        "clip"
                      ]
                    },
                    "overflowY": {
                      "type": "string",
                      "enum": [
                        "visible",
                        "hidden",
                        "auto",
                        "scroll",
                        "clip"
                      ]
                    },
                    "position": {
                      "type": "string",
                      "enum": [
                        "static",
                        "relative",
                        "absolute",
                        "sticky",
                        "fixed"
                      ]
                    },
                    "inset": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "top": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "right": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "bottom": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "left": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "gridTemplateColumns": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "gridColumn": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "gridRow": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "flex": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        }
                      ]
                    },
                    "flexDirection": {
                      "type": "string",
                      "enum": [
                        "row",
                        "row-reverse",
                        "column",
                        "column-reverse"
                      ]
                    },
                    "flexWrap": {
                      "type": "string",
                      "enum": [
                        "nowrap",
                        "wrap",
                        "wrap-reverse"
                      ]
                    },
                    "alignItems": {
                      "type": "string",
                      "enum": [
                        "start",
                        "center",
                        "end",
                        "stretch",
                        "baseline"
                      ]
                    },
                    "justifyContent": {
                      "type": "string",
                      "enum": [
                        "start",
                        "center",
                        "end",
                        "space-between",
                        "space-around",
                        "space-evenly"
                      ]
                    },
                    "flexGrow": {
                      "type": "number",
                      "minimum": 0
                    },
                    "flexShrink": {
                      "type": "number",
                      "minimum": 0
                    },
                    "alignSelf": {
                      "type": "string",
                      "enum": [
                        "auto",
                        "start",
                        "center",
                        "end",
                        "stretch"
                      ]
                    },
                    "justifySelf": {
                      "type": "string",
                      "enum": [
                        "auto",
                        "start",
                        "center",
                        "end",
                        "stretch"
                      ]
                    },
                    "objectFit": {
                      "type": "string",
                      "enum": [
                        "contain",
                        "cover",
                        "fill",
                        "none",
                        "scale-down"
                      ]
                    },
                    "opacity": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    }
                  },
                  "additionalProperties": false
                }
              },
              "required": [
                "layout"
              ],
              "additionalProperties": false
            }
          },
          "accessRef": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "minLength": 1
                  }
                ]
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          "evidenceRef": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "string",
                    "minLength": 1
                  }
                ]
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": false
          },
          "state": {
            "type": "string",
            "enum": [
              "idle",
              "loading",
              "empty",
              "error",
              "success",
              "disabled",
              "selected"
            ]
          },
          "renderModel": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "repeat": {
            "type": "object",
            "properties": {
              "source": {
                "$ref": "#/$defs/__schema1"
              },
              "keyPath": {
                "minItems": 1,
                "maxItems": 16,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "limit": {
                "default": 200,
                "type": "integer",
                "minimum": 1,
                "maximum": 1000
              }
            },
            "required": [
              "source",
              "keyPath",
              "limit"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "contract",
          "nodeId",
          "kind",
          "version",
          "ownerRepo",
          "children",
          "pageRef",
          "capabilityRef",
          "surface",
          "scroll",
          "activation",
          "lifecycle",
          "layout",
          "responsive",
          "state",
          "renderModel"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "contract",
    "treeId",
    "product",
    "rootNodeId",
    "nodes"
  ],
  "additionalProperties": false,
  "$defs": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/__schema0"
          }
        }
      ]
    },
    "__schema1": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "literal"
            },
            "value": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "read"
            },
            "root": {
              "type": "string",
              "enum": [
                "state",
                "model",
                "bindings",
                "queries",
                "scope",
                "intent",
                "result",
                "actions"
              ]
            },
            "path": {
              "maxItems": 16,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            }
          },
          "required": [
            "kind",
            "root",
            "path"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "operator"
            },
            "operator": {
              "type": "string",
              "enum": [
                "add",
                "subtract",
                "multiply",
                "divide",
                "min",
                "max",
                "round",
                "equals",
                "not-equals",
                "less-than",
                "less-or-equal",
                "greater-than",
                "greater-or-equal",
                "and",
                "or",
                "not",
                "coalesce",
                "concat",
                "string",
                "number",
                "length",
                "includes",
                "get",
                "set-path",
                "merge",
                "entries",
                "from-entries",
                "array-concat",
                "slice",
                "trim",
                "fixed",
                "number-format",
                "encode-uri-component"
              ]
            },
            "arguments": {
              "minItems": 1,
              "maxItems": 32,
              "type": "array",
              "items": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "operator",
            "arguments"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "conditional"
            },
            "condition": {
              "$ref": "#/$defs/__schema1"
            },
            "then": {
              "$ref": "#/$defs/__schema1"
            },
            "else": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "condition",
            "then",
            "else"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "object"
            },
            "fields": {
              "type": "object",
              "propertyNames": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "additionalProperties": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "fields"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "array"
            },
            "items": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "items"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "map"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "filter"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "sum"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "$id": "https://schemas.infmonkeys.com/contracts/render-tree.schema.json",
  "title": "render-tree"
}
