{
  "generatedFrom": [
    "contracts/command_contract_v1.json",
    "contracts/ai_package_contract_v1.json"
  ],
  "commandContractSourceSha256": "E358DBBCCD23C9B7D01A763A98F48EA7D87618FFDB3E7D2E26D6684EF3001E10",
  "format": "scripttap-ai-json-contract",
  "version": 1,
  "scriptPackage": {
    "requiredLiteralFields": {
      "format": "scripttap-json-script",
      "version": 2,
      "kind": "script_package"
    },
    "topLevelFields": [
      "format",
      "version",
      "kind",
      "packageId",
      "createdAtMs",
      "source",
      "rootClientId",
      "requirements",
      "folders",
      "scripts",
      "assetRequirements",
      "notes"
    ],
    "allowedSourceValues": [
      "user_export",
      "ai_generated",
      "script_builder"
    ],
    "requirementsFields": [
      "commandCatalogVersion",
      "requiresUserCompletion",
      "requiresAssets"
    ],
    "folderFields": [
      "id",
      "name",
      "parentId"
    ],
    "scriptFields": [
      "clientId",
      "uploadMode",
      "name",
      "folderId",
      "disabled",
      "commands"
    ],
    "assetRequirementFields": [
      "scriptId",
      "commandId",
      "commandType",
      "assetName",
      "reason"
    ],
    "allowedAssetRequirementReasons": [
      "user_must_capture",
      "user_must_attach_existing",
      "source_export_requires_recapture",
      "ai_cannot_provide"
    ],
    "idPrefixes": {
      "packageId": "pkg_",
      "scriptId": "script_",
      "folderId": "folder_",
      "commandId": "cmd_"
    },
    "idAllowedCharacters": "A-Z a-z 0-9 _ -",
    "idSemantics": {
      "scriptPackageIdsArePackageLocal": true,
      "notLiveAppScriptIds": true,
      "importAssignsFreshRealAppIds": true,
      "inPackageScriptReferencesRemapThroughPackageIds": true
    },
    "importValidationSemantics": {
      "importedPackagesDoNotCarryTrustedValidationOutcomeFields": true,
      "importedScriptsStartDisabled": true,
      "readinessIsDerivedLocallyFromSavedCommandGraph": true,
      "manualImportFormsValidationImmediatelyAfterCanonicalAcceptance": true,
      "bridgeFullScriptMutationUsesOneTwentySecondValidationQuietDeadline": true,
      "syntaxAndCallTopologyCheckedBeforeCanonicalAcceptance": true,
      "dependencyCompletenessIsNotCheckedDuringImport": true,
      "validPackagesCommitAllOrNothing": true,
      "admissionIsNotValidationV2Completion": true,
      "admissionIsNotRunReadiness": true,
      "nonterminalStateRequiresMutationRetry": false,
      "onlyTerminalCompleteClearsValidationBlocking": true,
      "terminalIncompleteRequiresCorrection": true,
      "runtimePermissionsAndPreflightAreSeparate": true
    },
    "nameLimits": {
      "scriptNameMaxChars": 28,
      "folderNameMaxChars": 28,
      "nicknameMaxChars": 20
    },
    "valueRules": {
      "integerLiteralRange": "-2147483648..2147483647",
      "integerLiteralFormat": "signed whole decimal integer only; decimals, blanks, malformed numbers, and overflow values are invalid",
      "variableToken": "Any one ASCII letter plus optional index 1..4096 is a valid variable token. Letters are case-insensitive and canonicalize to lowercase, so D1 and d1 are the same variable. i/d/b/h/s/t are type conventions, not enforced letter types.",
      "booleanLiteralStorage": "Boolean SetVariable input may be JSON true/false or true/false strings; saved command JSON canonicalizes to True/False.",
      "validatorIdentity": "Declaration order, one lowercase ASCII letter, exact type, and LOCAL/THREAD scope. Every suffix and array slot using that letter shares the family type in its visible scope; Integer d[] means D1/d1 cannot be Decimal there.",
      "scopeWire": "variableShared false means LOCAL and true means THREAD; it is the sole scope wire encoding.",
      "packageMetadataBoundary": "Packages contain no validation status, issue, revision, index, phase, owner state, or other validation outcome metadata."
    }
  },
  "flowPairingRules": [
    "loop pairs with end_loop",
    "pause_concurrent pairs with unpause_concurrent",
    "or pairs with end_or",
    "and pairs with end_and",
    "xor pairs with end_xor",
    "rgb_confidence uses an IF end row and remains inside the IF segment",
    "else may appear only inside an IF segment and before that segment's end row"
  ],
  "assetPolicy": {
    "jsonContainsAssetBytes": false,
    "assetReferencesAreNamesOnly": true,
    "missingAssetsRequireAssetRequirements": true,
    "assetBackedCommandsWithMissingAssetsMustBeIncomplete": true
  },
  "minimalPackage": {
    "format": "scripttap-json-script",
    "version": 2,
    "kind": "script_package",
    "packageId": "pkg_example",
    "createdAtMs": 0,
    "source": "ai_generated",
    "rootClientId": "script_root",
    "requirements": {
      "commandCatalogVersion": 1,
      "requiresUserCompletion": false,
      "requiresAssets": false
    },
    "folders": [],
    "scripts": [
      {
        "clientId": "script_root",
        "uploadMode": "new",
        "name": "New Script",
        "folderId": "",
        "disabled": true,
        "commands": []
      }
    ],
    "assetRequirements": [],
    "notes": ""
  },
  "commandContract": {
    "schemaVersion": "1.0.0",
    "title": "ScriptTap public command and Desktop Bridge contract",
    "authoring": {
      "currentCommandTypes": [
        "click",
        "delay",
        "delay_until",
        "retap",
        "multi_click",
        "swipe",
        "gestures",
        "img_find",
        "smart_tap",
        "label",
        "goto",
        "loop",
        "end_loop",
        "break_loop",
        "call",
        "break_call",
        "stop_call",
        "pause_concurrent",
        "unpause_concurrent",
        "break_exclusive",
        "set_variable",
        "mod_variable",
        "text_type",
        "get_pixel_color",
        "pixel_sample_batch",
        "pixel_find",
        "visual_trigger",
        "divider",
        "else",
        "or",
        "end_or",
        "xor",
        "end_xor",
        "and",
        "end_and",
        "rgb_confidence",
        "screenshot",
        "prompt_me",
        "color_classify",
        "array_get",
        "array_set",
        "for_each_index",
        "end_for_each_index",
        "array_segment_scan",
        "append_points",
        "device_settings",
        "pinch",
        "ui_find",
        "http",
        "clipboard",
        "file",
        "text_transform",
        "ocr",
        "reader",
        "json",
        "translate",
        "display",
        "touch_down",
        "touch_move",
        "end_touch",
        "set_coordinates",
        "state_get",
        "use_action"
      ],
      "legacyCompatibilityCommandTypes": [
        "device_open_app",
        "device_intent_action",
        "device_system_nav",
        "alert",
        "device_brightness",
        "device_volume",
        "device_do_not_disturb",
        "device_rotation"
      ],
      "internalGeneratedCommandTypes": [
        "pixel_color_result"
      ]
    },
    "transportBoundaries": {
      "archiveOnlyCommandFields": [
        "targetScope",
        "targetClientId",
        "targetClientIds",
        "coordinateFrame"
      ],
      "internalCommandFields": [
        "estimatedWorkPerSecond",
        "workEstimateVersion"
      ]
    },
    "schemas": {
      "string": {
        "type": "string"
      },
      "colorClassifyOutputType": {
        "type": "string",
        "enum": [
          "integer",
          "decimal",
          "string"
        ]
      },
      "arraySegmentOutputType": {
        "type": "string",
        "enum": [
          "integer",
          "decimal"
        ]
      },
      "nonEmptyString": {
        "type": "string",
        "minLength": 1
      },
      "exactTrimmedString": {
        "type": "string"
      },
      "exactTrimmedNonEmptyString": {
        "type": "string",
        "minLength": 1
      },
      "positiveInt32String": {
        "type": "string",
        "pattern": "^(?:[1-9][0-9]{0,8}|1[0-9]{9}|20[0-9]{8}|21[0-3][0-9]{7}|214[0-6][0-9]{6}|2147[0-3][0-9]{5}|21474[0-7][0-9]{4}|214748[0-2][0-9]{3}|2147483[0-5][0-9]{2}|21474836[0-3][0-9]|214748364[0-7])$"
      },
      "positiveInt32OrIntegerVariableToken": {
        "oneOf": [
          {
            "$ref": "positiveInt32String"
          },
          {
            "type": "string",
            "pattern": "^[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?$"
          }
        ]
      },
      "nonNegativeInt32OrIntegerVariableToken": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^(?:0|[1-9][0-9]{0,8}|1[0-9]{9}|20[0-9]{8}|21[0-3][0-9]{7}|214[0-6][0-9]{6}|2147[0-3][0-9]{5}|21474[0-7][0-9]{4}|214748[0-2][0-9]{3}|2147483[0-5][0-9]{2}|21474836[0-3][0-9]|214748364[0-7])$"
          },
          {
            "type": "string",
            "pattern": "^[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?$"
          }
        ]
      },
      "incompletePositiveInt32OrIntegerVariableToken": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "$ref": "positiveInt32OrIntegerVariableToken"
          }
        ]
      },
      "incompleteNonNegativeInt32OrIntegerVariableToken": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "$ref": "nonNegativeInt32OrIntegerVariableToken"
          }
        ]
      },
      "displayPositiveMillisValue": {
        "type": "string",
        "pattern": "^(?:|[1-9][0-9]{0,18})$"
      },
      "displayIntervalMillisValue": {
        "type": "string",
        "pattern": "^(?:|[1-9][0-9]{2,18})$"
      },
      "executionOrientation": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "type": "string",
            "enum": [
              "portrait",
              "landscape"
            ]
          }
        ]
      },
      "executionSurface": {
        "type": "string",
        "enum": [
          "default",
          "desktop"
        ]
      },
      "desktopCoordinateFrame": {
        "type": "object",
        "properties": {
          "effectiveLogicalWidth": {
            "$ref": "int32"
          },
          "effectiveLogicalHeight": {
            "$ref": "int32"
          },
          "usableLeft": {
            "$ref": "int32"
          },
          "usableTop": {
            "$ref": "int32"
          },
          "usableRight": {
            "$ref": "int32"
          },
          "usableBottom": {
            "$ref": "int32"
          },
          "insetLeft": {
            "$ref": "int32"
          },
          "insetTop": {
            "$ref": "int32"
          },
          "insetRight": {
            "$ref": "int32"
          },
          "insetBottom": {
            "$ref": "int32"
          },
          "density": {
            "type": "number",
            "minimum": 5e-324
          },
          "rotation": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3
          }
        },
        "required": [
          "effectiveLogicalWidth",
          "effectiveLogicalHeight",
          "usableLeft",
          "usableTop",
          "usableRight",
          "usableBottom",
          "insetLeft",
          "insetTop",
          "insetRight",
          "insetBottom",
          "density",
          "rotation"
        ],
        "additionalProperties": false
      },
      "boolean": {
        "type": "boolean"
      },
      "int32": {
        "type": "integer",
        "minimum": -2147483648,
        "maximum": 2147483647
      },
      "int64": {
        "type": "integer"
      },
      "nonNegativeInteger": {
        "type": "integer",
        "minimum": 0
      },
      "uint32": {
        "type": "integer",
        "minimum": 0,
        "maximum": 2147483647
      },
      "percent": {
        "type": "integer",
        "minimum": 0,
        "maximum": 100
      },
      "smartTapGlobalConfidenceRaw": {
        "type": "string",
        "pattern": "^(?:|0*(?:[1-9]|[1-9][0-9]|100))$"
      },
      "smartTapRowConfidenceRaw": {
        "type": "string",
        "pattern": "^0*(?:[0-9]|[1-9][0-9]|100)$"
      },
      "rawDevicePercent": {
        "type": "string",
        "pattern": "^(?:|0*(?:[0-9]|[1-9][0-9]|100))$"
      },
      "imgFindMaxResultsValue": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^(?:[1-9]|[1-9][0-9]{1,2}|[1-3][0-9]{3}|40(?:[0-8][0-9]|9[0-6]))$"
          },
          {
            "type": "string",
            "pattern": "^[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?$"
          }
        ]
      },
      "pixelFindMaxResultsValue": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^\\+?0*(?:[1-9]|[1-9][0-9]{1,2}|[1-3][0-9]{3}|40(?:[0-8][0-9]|9[0-6]))$"
          },
          {
            "type": "string",
            "pattern": "^[A-Za-z](?:0*(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?$"
          }
        ]
      },
      "pixelFindColorToken": {
        "type": "string",
        "pattern": "^(?:[0-9A-Fa-f]{6}|[A-Za-z](?:0*(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?)$"
      },
      "pixelFindColors": {
        "type": "array",
        "maxItems": 20,
        "items": {
          "$ref": "pixelFindColorToken"
        }
      },
      "pixelFindIgnoreRadius": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^\\+?0*(?:0|[1-9][0-9]{0,8}|1[0-9]{9}|20[0-9]{8}|21[0-3][0-9]{7}|214[0-6][0-9]{6}|2147[0-3][0-9]{5}|21474[0-7][0-9]{4}|214748[0-2][0-9]{3}|2147483[0-5][0-9]{2}|21474836[0-3][0-9]|214748364[0-7])$"
          },
          {
            "type": "string",
            "pattern": "^[A-Za-z](?:0*(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?$"
          }
        ]
      },
      "positivePercent": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "stringArray": {
        "type": "array",
        "items": {
          "$ref": "string"
        }
      },
      "scriptMutationFault": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "string"
          },
          "location": {
            "$ref": "string"
          },
          "detail": {
            "$ref": "string"
          }
        },
        "required": [
          "code",
          "location",
          "detail"
        ],
        "additionalProperties": false
      },
      "scriptCreateSuccess": {
        "type": "object",
        "properties": {
          "ok": {
            "$ref": "boolean"
          },
          "apiVersion": {
            "$ref": "int32"
          },
          "kind": {
            "type": "string",
            "enum": [
              "script_transaction"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "adopted"
            ]
          },
          "generation": {
            "$ref": "int64"
          },
          "faults": {
            "type": "array",
            "items": {
              "$ref": "scriptMutationFault"
            },
            "maxItems": 0
          },
          "accepted": {
            "$ref": "boolean"
          },
          "message": {
            "type": "string",
            "enum": [
              "import success"
            ]
          }
        },
        "required": [
          "ok",
          "apiVersion",
          "kind",
          "status",
          "generation",
          "faults",
          "accepted",
          "message"
        ],
        "additionalProperties": false
      },
      "scriptReplaceSuccess": {
        "type": "object",
        "properties": {
          "ok": {
            "$ref": "boolean"
          },
          "apiVersion": {
            "$ref": "int32"
          },
          "kind": {
            "type": "string",
            "enum": [
              "script_transaction"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "adopted",
              "no_change"
            ]
          },
          "generation": {
            "$ref": "int64"
          },
          "faults": {
            "type": "array",
            "items": {
              "$ref": "scriptMutationFault"
            },
            "maxItems": 0
          },
          "accepted": {
            "$ref": "boolean"
          },
          "message": {
            "type": "string",
            "enum": [
              "import success"
            ]
          }
        },
        "required": [
          "ok",
          "apiVersion",
          "kind",
          "status",
          "generation",
          "faults",
          "accepted",
          "message"
        ],
        "additionalProperties": false
      },
      "scriptImportFailure": {
        "type": "object",
        "properties": {
          "ok": {
            "$ref": "boolean"
          },
          "apiVersion": {
            "$ref": "int32"
          },
          "kind": {
            "type": "string",
            "enum": [
              "script_transaction"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "conflict",
              "rejected"
            ]
          },
          "faults": {
            "type": "array",
            "items": {
              "$ref": "scriptMutationFault"
            },
            "minItems": 1
          }
        },
        "required": [
          "ok",
          "apiVersion",
          "kind",
          "status",
          "faults"
        ],
        "additionalProperties": false
      },
      "scriptTransactionSuccess": {
        "type": "object",
        "properties": {
          "ok": {
            "$ref": "boolean"
          },
          "apiVersion": {
            "$ref": "int32"
          },
          "kind": {
            "type": "string",
            "enum": [
              "script_transaction"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "adopted",
              "no_change"
            ]
          },
          "generation": {
            "$ref": "int64"
          },
          "faults": {
            "type": "array",
            "items": {
              "$ref": "scriptMutationFault"
            },
            "maxItems": 0
          },
          "accepted": {
            "$ref": "boolean"
          },
          "message": {
            "type": "string",
            "enum": [
              "import success"
            ]
          },
          "scriptIdMap": {
            "type": "object",
            "properties": {},
            "required": [],
            "additionalProperties": {
              "$ref": "string"
            }
          }
        },
        "required": [
          "ok",
          "apiVersion",
          "kind",
          "status",
          "generation",
          "faults",
          "accepted",
          "message",
          "scriptIdMap"
        ],
        "additionalProperties": false
      },
      "scriptTransactionFailure": {
        "type": "object",
        "properties": {
          "ok": {
            "$ref": "boolean"
          },
          "apiVersion": {
            "$ref": "int32"
          },
          "kind": {
            "type": "string",
            "enum": [
              "script_transaction"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "conflict",
              "rejected"
            ]
          },
          "faults": {
            "type": "array",
            "items": {
              "$ref": "scriptMutationFault"
            },
            "minItems": 1
          },
          "scriptIdMap": {
            "type": "object",
            "properties": {},
            "required": [],
            "additionalProperties": {
              "$ref": "string"
            }
          }
        },
        "required": [
          "ok",
          "apiVersion",
          "kind",
          "status",
          "faults",
          "scriptIdMap"
        ],
        "additionalProperties": false
      },
      "conditionRow": {
        "type": "object",
        "properties": {
          "variableName": {
            "$ref": "string"
          },
          "variableComparator": {
            "type": "string",
            "enum": [
              ">",
              ">=",
              "=",
              "<",
              "<=",
              "<>",
              "between",
              "contains"
            ]
          },
          "variableValue": {
            "$ref": "string"
          },
          "variableValue2": {
            "$ref": "string"
          }
        },
        "required": [
          "variableName",
          "variableComparator",
          "variableValue"
        ],
        "additionalProperties": false
      },
      "promptButtonRow": {
        "type": "object",
        "properties": {
          "variableName": {
            "$ref": "string"
          },
          "caption": {
            "type": "string",
            "maxLength": 8
          }
        },
        "required": [
          "variableName",
          "caption"
        ],
        "additionalProperties": false
      },
      "promptToggleRow": {
        "type": "object",
        "properties": {
          "variableName": {
            "$ref": "string"
          },
          "caption": {
            "type": "string",
            "maxLength": 6
          }
        },
        "required": [
          "variableName",
          "caption"
        ],
        "additionalProperties": false
      },
      "promptMiniButtonRow": {
        "type": "object",
        "properties": {
          "caption": {
            "type": "string",
            "maxLength": 8
          }
        },
        "required": [
          "caption"
        ],
        "additionalProperties": false
      },
      "promptMiniToggleRow": {
        "type": "object",
        "properties": {
          "caption": {
            "type": "string",
            "maxLength": 6
          },
          "variableName": {
            "$ref": "string"
          }
        },
        "required": [
          "caption",
          "variableName"
        ],
        "additionalProperties": false
      },
      "colorTargetRow": {
        "type": "object",
        "properties": {
          "label": {
            "$ref": "string"
          },
          "targetColor": {
            "$ref": "string"
          },
          "resultValue": {
            "$ref": "string"
          }
        },
        "additionalProperties": false
      },
      "bulkEntryRow": {
        "type": "object",
        "properties": {
          "enabled": {
            "$ref": "boolean"
          },
          "indexValue": {
            "$ref": "string"
          },
          "valueSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "literalValue": {
            "$ref": "string"
          },
          "sourceVariableName": {
            "$ref": "string"
          }
        },
        "required": [
          "enabled",
          "indexValue",
          "valueSourceMode",
          "literalValue",
          "sourceVariableName"
        ],
        "additionalProperties": false
      },
      "columnCenterRow": {
        "type": "object",
        "properties": {
          "column": {
            "$ref": "string"
          },
          "x": {
            "$ref": "string"
          },
          "y": {
            "$ref": "string"
          }
        },
        "required": [
          "column",
          "x",
          "y"
        ],
        "additionalProperties": false
      },
      "pointRow": {
        "type": "object",
        "properties": {
          "x": {
            "$ref": "string"
          },
          "y": {
            "$ref": "string"
          },
          "enabled": {
            "$ref": "boolean"
          }
        },
        "required": [
          "x",
          "y",
          "enabled"
        ],
        "additionalProperties": false
      },
      "multiClickRow": {
        "type": "object",
        "properties": {
          "x": {
            "oneOf": [
              {
                "$ref": "string"
              },
              {
                "$ref": "nonNegativeInteger"
              }
            ]
          },
          "y": {
            "oneOf": [
              {
                "$ref": "string"
              },
              {
                "$ref": "nonNegativeInteger"
              }
            ]
          }
        },
        "required": [
          "x",
          "y"
        ],
        "additionalProperties": false
      },
      "gesturePoint": {
        "type": "object",
        "properties": {
          "x": {
            "$ref": "number"
          },
          "y": {
            "$ref": "number"
          },
          "t": {
            "$ref": "nonNegativeInteger"
          }
        },
        "required": [
          "x",
          "y",
          "t"
        ],
        "additionalProperties": false
      },
      "gestureStroke": {
        "type": "object",
        "properties": {
          "start": {
            "$ref": "nonNegativeInteger"
          },
          "duration": {
            "$ref": "nonNegativeInteger"
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "gesturePoint"
            },
            "minItems": 2
          }
        },
        "required": [
          "start",
          "duration",
          "points"
        ],
        "additionalProperties": false
      },
      "gestureLaneInt32Draft": {
        "type": "string",
        "integerTextMinimum": -2147483648,
        "integerTextMaximum": 2147483647
      },
      "gestureLaneNonNegativeDraft": {
        "type": "string",
        "integerTextMinimum": 0,
        "integerTextMaximum": 2147483647
      },
      "gestureLanePositiveDraft": {
        "type": "string",
        "integerTextMinimum": 1,
        "integerTextMaximum": 2147483647
      },
      "gestureLaneTapDuration": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "$ref": "gestureLanePositiveDraft"
          }
        ]
      },
      "gestureLanePoint": {
        "type": "object",
        "properties": {
          "x": {
            "$ref": "gestureLaneInt32Draft"
          },
          "y": {
            "$ref": "gestureLaneInt32Draft"
          },
          "t": {
            "$ref": "gestureLaneNonNegativeDraft"
          }
        },
        "required": [
          "x",
          "y",
          "t"
        ],
        "additionalProperties": false
      },
      "gestureLaneTap": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "tap"
            ]
          },
          "x": {
            "$ref": "gestureLaneInt32Draft"
          },
          "y": {
            "$ref": "gestureLaneInt32Draft"
          },
          "duration": {
            "$ref": "gestureLaneTapDuration"
          }
        },
        "required": [
          "type",
          "x",
          "y",
          "duration"
        ],
        "additionalProperties": false
      },
      "gestureLaneWait": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "wait"
            ]
          },
          "duration": {
            "$ref": "gestureLaneNonNegativeDraft"
          }
        },
        "required": [
          "type",
          "duration"
        ],
        "additionalProperties": false
      },
      "gestureLaneSwipe": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "swipe"
            ]
          },
          "duration": {
            "$ref": "gestureLanePositiveDraft"
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "gestureLanePoint"
            },
            "minItems": 2,
            "maxItems": 4096
          }
        },
        "required": [
          "type",
          "duration",
          "points"
        ],
        "additionalProperties": false,
        "strictIntegerTimeline": {
          "array": "points",
          "property": "t",
          "maximumProperty": "duration",
          "first": 0,
          "lastEquals": true
        }
      },
      "gestureLaneRow": {
        "oneOf": [
          {
            "$ref": "gestureLaneTap"
          },
          {
            "$ref": "gestureLaneSwipe"
          },
          {
            "$ref": "gestureLaneWait"
          }
        ]
      },
      "gestureLane": {
        "type": "object",
        "properties": {
          "lane": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          },
          "enabled": {
            "$ref": "boolean"
          },
          "rows": {
            "type": "array",
            "items": {
              "$ref": "gestureLaneRow"
            }
          }
        },
        "required": [
          "lane",
          "enabled",
          "rows"
        ],
        "additionalProperties": false
      },
      "smartTapAssetRow": {
        "type": "object",
        "properties": {
          "assetName": {
            "$ref": "string"
          },
          "label": {
            "$ref": "string"
          },
          "enabled": {
            "$ref": "boolean"
          },
          "confidencePercent": {
            "$ref": "smartTapRowConfidenceRaw"
          }
        },
        "required": [
          "assetName",
          "label",
          "enabled"
        ],
        "additionalProperties": false
      },
      "httpHeaderRow": {
        "type": "object",
        "properties": {
          "name": {
            "$ref": "string"
          },
          "valueSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "value": {
            "$ref": "string"
          },
          "variableName": {
            "$ref": "string"
          }
        },
        "required": [
          "name",
          "valueSourceMode",
          "value",
          "variableName"
        ],
        "additionalProperties": false
      },
      "volumePercents": {
        "type": "object",
        "properties": {
          "call": {
            "$ref": "percent"
          },
          "media": {
            "$ref": "percent"
          },
          "system": {
            "$ref": "percent"
          },
          "alert": {
            "$ref": "percent"
          },
          "message": {
            "$ref": "percent"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "allVolumePercents": {
        "type": "object",
        "properties": {
          "call": {
            "$ref": "percent"
          },
          "media": {
            "$ref": "percent"
          },
          "system": {
            "$ref": "percent"
          },
          "alert": {
            "$ref": "percent"
          },
          "message": {
            "$ref": "percent"
          }
        },
        "required": [
          "call",
          "media",
          "system",
          "alert",
          "message"
        ],
        "additionalProperties": false
      },
      "volumeApplyStreams": {
        "type": "object",
        "properties": {
          "call": {
            "$ref": "boolean"
          },
          "media": {
            "$ref": "boolean"
          },
          "system": {
            "$ref": "boolean"
          },
          "alert": {
            "$ref": "boolean"
          },
          "message": {
            "$ref": "boolean"
          }
        },
        "required": [
          "call",
          "media",
          "system",
          "alert",
          "message"
        ],
        "additionalProperties": false
      },
      "visualTriggerSlot": {
        "type": "object",
        "properties": {
          "enabled": {
            "$ref": "boolean"
          },
          "visualSlotMode": {
            "type": "string",
            "enum": [
              "pixel_line",
              "asset"
            ]
          },
          "visualLineStartXValue": {
            "$ref": "string"
          },
          "visualLineStartYValue": {
            "$ref": "string"
          },
          "visualLineEndXValue": {
            "$ref": "string"
          },
          "visualLineEndYValue": {
            "$ref": "string"
          },
          "visualLineSampleCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4096
          },
          "visualLineHitRadiusPx": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4096
          },
          "visualLineColorMode": {
            "type": "string",
            "enum": [
              "each_frame",
              "once_on_start"
            ]
          },
          "visualTargetColorHex": {
            "$ref": "string"
          },
          "visualTargetColorConfidence": {
            "$ref": "positivePercent"
          },
          "visualPointerAssetName": {
            "$ref": "string"
          },
          "visualPointerConfidence": {
            "$ref": "positivePercent"
          },
          "visualPointerTipOffsetX": {
            "$ref": "int32"
          },
          "visualPointerTipOffsetY": {
            "$ref": "int32"
          },
          "visualPointerRoiLeftValue": {
            "$ref": "string"
          },
          "visualPointerRoiTopValue": {
            "$ref": "string"
          },
          "visualPointerRoiRightValue": {
            "$ref": "string"
          },
          "visualPointerRoiBottomValue": {
            "$ref": "string"
          }
        },
        "required": [
          "enabled",
          "visualSlotMode",
          "visualLineStartXValue",
          "visualLineStartYValue",
          "visualLineEndXValue",
          "visualLineEndYValue",
          "visualLineSampleCount",
          "visualLineHitRadiusPx",
          "visualLineColorMode",
          "visualTargetColorHex",
          "visualTargetColorConfidence",
          "visualPointerAssetName",
          "visualPointerConfidence",
          "visualPointerTipOffsetX",
          "visualPointerTipOffsetY",
          "visualPointerRoiLeftValue",
          "visualPointerRoiTopValue",
          "visualPointerRoiRightValue",
          "visualPointerRoiBottomValue"
        ],
        "additionalProperties": false
      },
      "deviceSettingsFrame": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "enum": [
              "brightness",
              "volume",
              "do_not_disturb",
              "rotation",
              "screen_timeout",
              "ringer_mode",
              "clock_format",
              "flashlight",
              "flashlight_strength",
              "open_settings_page"
            ]
          },
          "enabled": {
            "$ref": "boolean"
          }
        },
        "required": [
          "key",
          "enabled"
        ],
        "additionalProperties": false
      },
      "deviceSettingsFact": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "brightness"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "mode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "manual",
                  "adaptive"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "brightness"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "percent"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "0",
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6",
                  "7",
                  "8",
                  "9",
                  "10",
                  "11",
                  "12",
                  "13",
                  "14",
                  "15",
                  "16",
                  "17",
                  "18",
                  "19",
                  "20",
                  "21",
                  "22",
                  "23",
                  "24",
                  "25",
                  "26",
                  "27",
                  "28",
                  "29",
                  "30",
                  "31",
                  "32",
                  "33",
                  "34",
                  "35",
                  "36",
                  "37",
                  "38",
                  "39",
                  "40",
                  "41",
                  "42",
                  "43",
                  "44",
                  "45",
                  "46",
                  "47",
                  "48",
                  "49",
                  "50",
                  "51",
                  "52",
                  "53",
                  "54",
                  "55",
                  "56",
                  "57",
                  "58",
                  "59",
                  "60",
                  "61",
                  "62",
                  "63",
                  "64",
                  "65",
                  "66",
                  "67",
                  "68",
                  "69",
                  "70",
                  "71",
                  "72",
                  "73",
                  "74",
                  "75",
                  "76",
                  "77",
                  "78",
                  "79",
                  "80",
                  "81",
                  "82",
                  "83",
                  "84",
                  "85",
                  "86",
                  "87",
                  "88",
                  "89",
                  "90",
                  "91",
                  "92",
                  "93",
                  "94",
                  "95",
                  "96",
                  "97",
                  "98",
                  "99",
                  "100"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "volume"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "call",
                  "media",
                  "system",
                  "alert",
                  "message"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "off",
                  "0",
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6",
                  "7",
                  "8",
                  "9",
                  "10",
                  "11",
                  "12",
                  "13",
                  "14",
                  "15",
                  "16",
                  "17",
                  "18",
                  "19",
                  "20",
                  "21",
                  "22",
                  "23",
                  "24",
                  "25",
                  "26",
                  "27",
                  "28",
                  "29",
                  "30",
                  "31",
                  "32",
                  "33",
                  "34",
                  "35",
                  "36",
                  "37",
                  "38",
                  "39",
                  "40",
                  "41",
                  "42",
                  "43",
                  "44",
                  "45",
                  "46",
                  "47",
                  "48",
                  "49",
                  "50",
                  "51",
                  "52",
                  "53",
                  "54",
                  "55",
                  "56",
                  "57",
                  "58",
                  "59",
                  "60",
                  "61",
                  "62",
                  "63",
                  "64",
                  "65",
                  "66",
                  "67",
                  "68",
                  "69",
                  "70",
                  "71",
                  "72",
                  "73",
                  "74",
                  "75",
                  "76",
                  "77",
                  "78",
                  "79",
                  "80",
                  "81",
                  "82",
                  "83",
                  "84",
                  "85",
                  "86",
                  "87",
                  "88",
                  "89",
                  "90",
                  "91",
                  "92",
                  "93",
                  "94",
                  "95",
                  "96",
                  "97",
                  "98",
                  "99",
                  "100"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "do_not_disturb"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "mode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "off",
                  "priority_only",
                  "alarms_only",
                  "total_silence"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "rotation"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "mode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "auto_rotate",
                  "rotation_lock"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "screen_timeout"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "milliseconds"
                ]
              },
              "value": {
                "$ref": "positiveInt32String"
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "ringer_mode"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "mode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "normal",
                  "vibrate",
                  "silent"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "clock_format"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "mode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "device_default",
                  "12_hour",
                  "24_hour"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "flashlight"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "state"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "off",
                  "on"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "flashlight_strength"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "strength"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "0",
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6",
                  "7",
                  "8",
                  "9",
                  "10",
                  "11",
                  "12",
                  "13",
                  "14",
                  "15",
                  "16",
                  "17",
                  "18",
                  "19",
                  "20",
                  "21",
                  "22",
                  "23",
                  "24",
                  "25",
                  "26",
                  "27",
                  "28",
                  "29",
                  "30",
                  "31",
                  "32",
                  "33",
                  "34",
                  "35",
                  "36",
                  "37",
                  "38",
                  "39",
                  "40",
                  "41",
                  "42",
                  "43",
                  "44",
                  "45",
                  "46",
                  "47",
                  "48",
                  "49",
                  "50",
                  "51",
                  "52",
                  "53",
                  "54",
                  "55",
                  "56",
                  "57",
                  "58",
                  "59",
                  "60",
                  "61",
                  "62",
                  "63",
                  "64",
                  "65",
                  "66",
                  "67",
                  "68",
                  "69",
                  "70",
                  "71",
                  "72",
                  "73",
                  "74",
                  "75",
                  "76",
                  "77",
                  "78",
                  "79",
                  "80",
                  "81",
                  "82",
                  "83",
                  "84",
                  "85",
                  "86",
                  "87",
                  "88",
                  "89",
                  "90",
                  "91",
                  "92",
                  "93",
                  "94",
                  "95",
                  "96",
                  "97",
                  "98",
                  "99",
                  "100"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "open_settings_page"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "page"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "main",
                  "display",
                  "sound",
                  "notifications",
                  "accessibility",
                  "applications",
                  "location",
                  "date_time",
                  "input_method",
                  "language",
                  "battery_saver",
                  "wifi",
                  "bluetooth"
                ]
              }
            },
            "required": [
              "frame",
              "key",
              "value"
            ],
            "additionalProperties": false
          }
        ]
      },
      "stateGetFrame": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "enum": [
              "battery",
              "charge_time",
              "power",
              "advanced_power",
              "thermal_status",
              "thermal_headroom",
              "display",
              "display_settings",
              "device_lock",
              "audio",
              "do_not_disturb",
              "network",
              "network_conditions",
              "network_traffic",
              "wifi",
              "wifi_link_rates",
              "cellular_signal",
              "nfc",
              "location_services",
              "airplane_mode",
              "memory",
              "storage",
              "uptime",
              "cellular_network",
              "call_state",
              "bluetooth",
              "flashlight"
            ]
          },
          "enabled": {
            "$ref": "boolean"
          }
        },
        "required": [
          "key",
          "enabled"
        ],
        "additionalProperties": false
      },
      "stateGetOutput": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "battery"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "level",
                  "charging",
                  "power_source",
                  "status",
                  "health",
                  "temperature_c",
                  "voltage_mv",
                  "current_ma",
                  "capacity_mah",
                  "energy_wh"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "charge_time"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "remaining_seconds",
                  "is_charging"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "power"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "power_saver",
                  "device_idle",
                  "screen_interactive"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "advanced_power"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "light_idle",
                  "low_power_standby"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "thermal_status"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "level"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "thermal_headroom"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "headroom"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "display"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "state",
                  "orientation",
                  "width",
                  "height",
                  "refresh_rate"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "display_settings"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "brightness_percent",
                  "adaptive",
                  "rotation_lock",
                  "timeout_milliseconds",
                  "dark_mode",
                  "clock_format"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "device_lock"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "locked",
                  "secure_lock_configured"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "audio"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "music_active",
                  "microphone_muted",
                  "ringer_mode",
                  "output_route",
                  "call_volume_percent",
                  "media_volume_percent",
                  "system_volume_percent",
                  "alert_volume_percent",
                  "message_volume_percent"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "do_not_disturb"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "current_mode"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "network"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "connected",
                  "internet_validated",
                  "transport",
                  "metered",
                  "vpn_active",
                  "captive_portal",
                  "estimated_download_kbps",
                  "estimated_upload_kbps",
                  "data_saver"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "network_conditions"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "roaming",
                  "congested",
                  "suspended"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "network_traffic"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "rx_kbps",
                  "tx_kbps"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "wifi"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "enabled",
                  "connected",
                  "signal_level",
                  "link_speed_mbps"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "wifi_link_rates"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "rx_mbps",
                  "tx_mbps"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "cellular_signal"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "level"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "nfc"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "enabled"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "location_services"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "enabled"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "airplane_mode"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "enabled"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "memory"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "available_mb",
                  "total_mb",
                  "low_memory"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "storage"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "free_mb",
                  "total_mb"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "uptime"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "seconds"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "cellular_network"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "generation"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "call_state"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "state"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "bluetooth"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "enabled",
                  "audio_connected",
                  "headset_connected"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "frame": {
                "type": "string",
                "enum": [
                  "flashlight"
                ]
              },
              "key": {
                "type": "string",
                "enum": [
                  "enabled",
                  "strength"
                ]
              },
              "destination": {
                "$ref": "exactTrimmedNonEmptyString"
              }
            },
            "required": [
              "frame",
              "key",
              "destination"
            ],
            "additionalProperties": false
          }
        ]
      },
      "useActionFact": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "action",
                  "mode",
                  "duration",
                  "pattern",
                  "strength",
                  "state",
                  "alertMode",
                  "alertSourceType",
                  "alertFileHasReadAccess",
                  "alertPlayMode",
                  "alertLoopTimeoutMsValue",
                  "alertSoundExecution",
                  "alertVolumeMode",
                  "alertVolumePercentValue",
                  "alertRestoreVolume",
                  "alertSaveSuccess",
                  "alertSuccessVariableName",
                  "alertSaveError",
                  "alertErrorVariableName"
                ]
              },
              "value": {
                "type": "string",
                "maxLength": 0
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "devicePackageName",
                  "deviceAppLabel",
                  "deviceIntentUri",
                  "deviceIntentEmailTo",
                  "deviceIntentSubject",
                  "deviceIntentBody",
                  "deviceIntentPhoneNumber",
                  "deviceIntentSmsBody",
                  "deviceIntentShareText",
                  "alertFileUri",
                  "alertFileDisplayName",
                  "alertFileMimeType",
                  "alertRingtoneUri",
                  "alertRingtoneLabel"
                ]
              },
              "value": {
                "$ref": "string"
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertMode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "play",
                  "stop"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertSourceType"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "file",
                  "ringtone"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertPlayMode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "once",
                  "loop"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertSoundExecution"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "concurrent",
                  "wait"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertVolumeMode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "keep",
                  "set"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertFileHasReadAccess",
                  "alertRestoreVolume",
                  "alertSaveSuccess",
                  "alertSaveError"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "true",
                  "false"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertLoopTimeoutMsValue"
                ]
              },
              "value": {
                "type": "string",
                "pattern": "^(?:0|[1-9][0-9]{0,4}|1[0-7][0-9]{4}|180000|(?=.{1,5}$)[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?)$"
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertVolumePercentValue"
                ]
              },
              "value": {
                "type": "string",
                "pattern": "^(?:0|[1-9][0-9]?|100|(?=.{1,5}$)[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?)$"
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "alertSuccessVariableName",
                  "alertErrorVariableName"
                ]
              },
              "value": {
                "type": "string",
                "pattern": "^(?=.{1,5}$)[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?$"
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "action"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "back",
                  "home",
                  "recents",
                  "notifications",
                  "quick_settings",
                  "escape",
                  "scroll_top",
                  "scroll_bottom",
                  "lock_screen"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "action"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "play",
                  "pause",
                  "play_pause",
                  "stop",
                  "next",
                  "previous"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "mode"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "once",
                  "pattern"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "duration"
                ]
              },
              "value": {
                "type": "string",
                "pattern": "^(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|60000)$"
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "pattern"
                ]
              },
              "value": {
                "type": "string",
                "pattern": "^(?:(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|60000))(?:,(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|60000)){0,63}$"
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "strength"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "0",
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6",
                  "7",
                  "8",
                  "9",
                  "10",
                  "11",
                  "12",
                  "13",
                  "14",
                  "15",
                  "16",
                  "17",
                  "18",
                  "19",
                  "20",
                  "21",
                  "22",
                  "23",
                  "24",
                  "25",
                  "26",
                  "27",
                  "28",
                  "29",
                  "30",
                  "31",
                  "32",
                  "33",
                  "34",
                  "35",
                  "36",
                  "37",
                  "38",
                  "39",
                  "40",
                  "41",
                  "42",
                  "43",
                  "44",
                  "45",
                  "46",
                  "47",
                  "48",
                  "49",
                  "50",
                  "51",
                  "52",
                  "53",
                  "54",
                  "55",
                  "56",
                  "57",
                  "58",
                  "59",
                  "60",
                  "61",
                  "62",
                  "63",
                  "64",
                  "65",
                  "66",
                  "67",
                  "68",
                  "69",
                  "70",
                  "71",
                  "72",
                  "73",
                  "74",
                  "75",
                  "76",
                  "77",
                  "78",
                  "79",
                  "80",
                  "81",
                  "82",
                  "83",
                  "84",
                  "85",
                  "86",
                  "87",
                  "88",
                  "89",
                  "90",
                  "91",
                  "92",
                  "93",
                  "94",
                  "95",
                  "96",
                  "97",
                  "98",
                  "99",
                  "100"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "state"
                ]
              },
              "value": {
                "type": "string",
                "enum": [
                  "off",
                  "on"
                ]
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          }
        ]
      },
      "number": {
        "type": "number"
      },
      "readerCanonicalVariableName": {
        "type": "string",
        "pattern": "^[a-z](?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"
      },
      "readerMaxCharactersToken": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^(?:[1-9][0-9]{0,3}|10000)$"
          },
          {
            "type": "string",
            "pattern": "^[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?$"
          }
        ]
      },
      "readerPercentToken": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^(?:[5-9][0-9]|1[0-9]{2}|200)$"
          },
          {
            "type": "string",
            "pattern": "^[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?$"
          }
        ]
      },
      "readerAlarmPercent": {
        "type": "string",
        "pattern": "^(?:[1-9]|[1-9][0-9]|100)$"
      }
    },
    "fieldDefinitions": {
      "id": {
        "$ref": "nonEmptyString"
      },
      "type": {
        "$ref": "string"
      },
      "nickname": {
        "$ref": "string"
      },
      "disabled": {
        "$ref": "boolean"
      },
      "tapXValue": {
        "$ref": "string"
      },
      "tapYValue": {
        "$ref": "string"
      },
      "clickRepeatEnabled": {
        "$ref": "boolean"
      },
      "clickRepeatValue": {
        "$ref": "string"
      },
      "clickRepeatSequential": {
        "$ref": "boolean"
      },
      "clickTapDelayValue": {
        "$ref": "string"
      },
      "tapPressDurationValue": {
        "$ref": "string"
      },
      "useVariableArray": {
        "$ref": "boolean"
      },
      "inArea": {
        "$ref": "boolean"
      },
      "areaLeftValue": {
        "$ref": "string"
      },
      "areaTopValue": {
        "$ref": "string"
      },
      "areaRightValue": {
        "$ref": "string"
      },
      "areaBottomValue": {
        "$ref": "string"
      },
      "xVariableName": {
        "$ref": "string"
      },
      "yVariableName": {
        "$ref": "string"
      },
      "delayMs": {
        "oneOf": [
          {
            "$ref": "nonNegativeInteger"
          },
          {
            "type": "integer",
            "minimum": -1,
            "maximum": -1
          }
        ]
      },
      "delayVariableName": {
        "$ref": "string"
      },
      "delayUntilHourValue": {
        "$ref": "string"
      },
      "delayUntilMinuteValue": {
        "$ref": "string"
      },
      "delayUntilSecondValue": {
        "$ref": "string"
      },
      "delayUntilUseDate": {
        "$ref": "boolean"
      },
      "delayUntilMonthValue": {
        "$ref": "string"
      },
      "delayUntilDayValue": {
        "$ref": "string"
      },
      "delayUntilYearValue": {
        "$ref": "string"
      },
      "delayUntilMode": {
        "type": "string",
        "enum": [
          "time",
          "image",
          "ui_element",
          "pixel",
          "active_app",
          "variable"
        ]
      },
      "delayUntilLeftValue": {
        "$ref": "string"
      },
      "delayUntilTopValue": {
        "$ref": "string"
      },
      "delayUntilRightValue": {
        "$ref": "string"
      },
      "delayUntilBottomValue": {
        "$ref": "string"
      },
      "delayUntilCheckEveryValue": {
        "$ref": "string"
      },
      "assetNames": {
        "$ref": "stringArray"
      },
      "uiFindQuery": {
        "$ref": "string"
      },
      "uiFindTarget": {
        "type": "string",
        "enum": [
          "any",
          "text",
          "content_description",
          "view_id",
          "class_name"
        ]
      },
      "uiFindMatchMode": {
        "type": "string",
        "enum": [
          "exact",
          "contains",
          "regex"
        ]
      },
      "uiFindNthValue": {
        "$ref": "string"
      },
      "uiFindEnabledOnly": {
        "$ref": "boolean"
      },
      "uiFindClickableOnly": {
        "$ref": "boolean"
      },
      "uiFindVisibleOnly": {
        "$ref": "boolean"
      },
      "uiFindPackageFilter": {
        "$ref": "string"
      },
      "variableValue": {
        "$ref": "string"
      },
      "confidencePercentValue": {
        "$ref": "string"
      },
      "devicePackageName": {
        "$ref": "string"
      },
      "deviceAppLabel": {
        "$ref": "string"
      },
      "variableType": {
        "type": "string",
        "enum": [
          "integer",
          "decimal",
          "boolean",
          "hex",
          "string",
          "time"
        ]
      },
      "variableName": {
        "$ref": "string"
      },
      "variableComparator": {
        "type": "string",
        "enum": [
          ">",
          ">=",
          "=",
          "<",
          "<=",
          "<>",
          "between",
          "contains"
        ]
      },
      "retapUseTimeout": {
        "$ref": "boolean"
      },
      "retapMode": {
        "type": "string",
        "enum": [
          "repeat",
          "set_coordinates"
        ]
      },
      "retapCoordinateTimeoutValue": {
        "$ref": "string"
      },
      "retapRepeatsValue": {
        "$ref": "string"
      },
      "retapDelayMsValue": {
        "$ref": "string"
      },
      "retapTimeoutMsValue": {
        "$ref": "string"
      },
      "variableShared": {
        "$ref": "boolean"
      },
      "multiClicks": {
        "type": "array",
        "items": {
          "$ref": "multiClickRow"
        },
        "maxItems": 10
      },
      "swipeMode": {
        "type": "string",
        "enum": [
          "exact",
          "quick"
        ]
      },
      "gestureStrokes": {
        "type": "array",
        "items": {
          "$ref": "gestureStroke"
        }
      },
      "gestureLanes": {
        "type": "array",
        "items": {
          "$ref": "gestureLane"
        },
        "maxItems": 20,
        "ascendingUniqueIntegerProperty": "lane",
        "maximumNestedArrayItems": {
          "property": "rows",
          "maximum": 4096
        }
      },
      "gestureConcurrent": {
        "$ref": "boolean"
      },
      "swipeActionMode": {
        "type": "string",
        "enum": [
          "swipe",
          "drag"
        ]
      },
      "swipePressDurationValue": {
        "$ref": "string"
      },
      "touchXValue": {
        "$ref": "string"
      },
      "touchYValue": {
        "$ref": "string"
      },
      "touchMoveTimeMsValue": {
        "$ref": "string"
      },
      "assetName": {
        "$ref": "string"
      },
      "multiAsset": {
        "$ref": "boolean"
      },
      "useNegativeAssets": {
        "$ref": "boolean"
      },
      "negativeAssetNames": {
        "$ref": "stringArray"
      },
      "imgFindNegativeConfidencePercentValue": {
        "$ref": "string"
      },
      "imgFindOutputMode": {
        "type": "string",
        "enum": [
          "standard",
          "classify",
          "boolean_array"
        ]
      },
      "imgFindClassifyOutputStateVariable": {
        "$ref": "string"
      },
      "imgFindClassifyOutputIndexVariable": {
        "$ref": "string"
      },
      "imgFindClassifyOutputFoundVariable": {
        "$ref": "string"
      },
      "imgFindClassifyOutputXVariable": {
        "$ref": "string"
      },
      "imgFindClassifyOutputYVariable": {
        "$ref": "string"
      },
      "imgFindClassifyOutputConfidenceVariable": {
        "$ref": "string"
      },
      "imgFindBooleanArrayName": {
        "$ref": "string"
      },
      "imgFindMaxResultsValue": {
        "$ref": "imgFindMaxResultsValue"
      },
      "leftValue": {
        "$ref": "string"
      },
      "topValue": {
        "$ref": "string"
      },
      "rightValue": {
        "$ref": "string"
      },
      "bottomValue": {
        "$ref": "string"
      },
      "findAll": {
        "$ref": "boolean"
      },
      "setVariables": {
        "$ref": "boolean"
      },
      "returnXY": {
        "$ref": "boolean"
      },
      "clickIfFound": {
        "$ref": "boolean"
      },
      "clickTargetCenter": {
        "$ref": "boolean"
      },
      "clickTargetXValue": {
        "$ref": "string"
      },
      "clickTargetYValue": {
        "$ref": "string"
      },
      "useCountOutput": {
        "$ref": "boolean"
      },
      "outputCountVariableName": {
        "$ref": "string"
      },
      "findFirstRightToLeft": {
        "$ref": "boolean"
      },
      "findFirstBottomToTop": {
        "$ref": "boolean"
      },
      "uiFindTapMode": {
        "type": "string",
        "enum": [
          "node_click",
          "screen_tap"
        ]
      },
      "uiFindSetMatchedText": {
        "$ref": "boolean"
      },
      "uiFindMatchedTextVariableName": {
        "$ref": "string"
      },
      "ocrMode": {
        "type": "string",
        "enum": [
          "find",
          "read"
        ]
      },
      "ocrLeftValue": {
        "$ref": "string"
      },
      "ocrTopValue": {
        "$ref": "string"
      },
      "ocrRightValue": {
        "$ref": "string"
      },
      "ocrBottomValue": {
        "$ref": "string"
      },
      "ocrQuerySourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "ocrQueryValue": {
        "$ref": "string"
      },
      "ocrQueryVariableName": {
        "$ref": "string"
      },
      "ocrMatchMode": {
        "type": "string",
        "enum": [
          "exact",
          "contains",
          "regex"
        ]
      },
      "ocrCaseSensitive": {
        "$ref": "boolean"
      },
      "ocrTextUnit": {
        "type": "string",
        "enum": [
          "line",
          "word"
        ]
      },
      "ocrTextScript": {
        "type": "string",
        "enum": [
          "latin",
          "chinese",
          "devanagari",
          "japanese",
          "korean"
        ]
      },
      "ocrMatchIndexValue": {
        "$ref": "string"
      },
      "ocrTapIfFound": {
        "$ref": "boolean"
      },
      "ocrSaveFound": {
        "$ref": "boolean"
      },
      "ocrFoundVariableName": {
        "$ref": "string"
      },
      "ocrSaveText": {
        "$ref": "boolean"
      },
      "ocrTextVariableName": {
        "$ref": "string"
      },
      "ocrSaveX": {
        "$ref": "boolean"
      },
      "ocrXVariableName": {
        "$ref": "string"
      },
      "ocrSaveY": {
        "$ref": "boolean"
      },
      "ocrYVariableName": {
        "$ref": "string"
      },
      "ocrSaveError": {
        "$ref": "boolean"
      },
      "ocrErrorVariableName": {
        "$ref": "string"
      },
      "ocrReadOutputVariableName": {
        "$ref": "string"
      },
      "ocrReadSaveSuccess": {
        "$ref": "boolean"
      },
      "ocrReadSuccessVariableName": {
        "$ref": "string"
      },
      "ocrReadSaveError": {
        "$ref": "boolean"
      },
      "ocrReadErrorVariableName": {
        "$ref": "string"
      },
      "smartTapAssets": {
        "type": "array",
        "maxItems": 10,
        "items": {
          "$ref": "smartTapAssetRow"
        }
      },
      "smartTapTriggerMode": {
        "type": "string",
        "enum": [
          "switch_only",
          "first_seen",
          "every_change",
          "every_match"
        ]
      },
      "smartTapTapMode": {
        "type": "string",
        "enum": [
          "matched_center",
          "fixed"
        ]
      },
      "smartTapTapX": {
        "$ref": "string"
      },
      "smartTapTapY": {
        "$ref": "string"
      },
      "smartTapUseNegativeAssets": {
        "$ref": "boolean"
      },
      "smartTapNegativeAssetNames": {
        "type": "array",
        "maxItems": 10,
        "items": {
          "$ref": "string"
        }
      },
      "smartTapOutputChangedVariable": {
        "$ref": "string"
      },
      "smartTapOutputXVariable": {
        "$ref": "string"
      },
      "smartTapOutputYVariable": {
        "$ref": "string"
      },
      "labelName": {
        "$ref": "string"
      },
      "loopInfinite": {
        "$ref": "boolean"
      },
      "loopConcurrent": {
        "$ref": "boolean"
      },
      "loopDelayMsValue": {
        "$ref": "string"
      },
      "loopTimesValue": {
        "$ref": "string"
      },
      "targetMacroId": {
        "$ref": "string"
      },
      "targetMacroIds": {
        "$ref": "stringArray"
      },
      "variableLetter": {
        "$ref": "string"
      },
      "variableArraySizeValue": {
        "$ref": "string"
      },
      "setVariableMode": {
        "type": "string",
        "enum": [
          "single",
          "array"
        ]
      },
      "setVariableTimeFormat": {
        "type": "string",
        "enum": [
          "am_pm",
          "unix"
        ]
      },
      "setVariableTimeSource": {
        "type": "string",
        "enum": [
          "manual",
          "current"
        ]
      },
      "setVariableFromClipboard": {
        "$ref": "boolean"
      },
      "setCoordinatesMode": {
        "type": "string",
        "enum": [
          "point",
          "area"
        ]
      },
      "setCoordinatesPointX": {
        "$ref": "string"
      },
      "setCoordinatesPointY": {
        "$ref": "string"
      },
      "setCoordinatesAreaLeft": {
        "$ref": "string"
      },
      "setCoordinatesAreaTop": {
        "$ref": "string"
      },
      "setCoordinatesAreaRight": {
        "$ref": "string"
      },
      "setCoordinatesAreaBottom": {
        "$ref": "string"
      },
      "setCoordinatesPointXVariableName": {
        "$ref": "string"
      },
      "setCoordinatesPointYVariableName": {
        "$ref": "string"
      },
      "setCoordinatesAreaLeftVariableName": {
        "$ref": "string"
      },
      "setCoordinatesAreaTopVariableName": {
        "$ref": "string"
      },
      "setCoordinatesAreaRightVariableName": {
        "$ref": "string"
      },
      "setCoordinatesAreaBottomVariableName": {
        "$ref": "string"
      },
      "modTargetVariableName": {
        "$ref": "string"
      },
      "modLeftValue": {
        "$ref": "string"
      },
      "modOperator": {
        "type": "string",
        "enum": [
          "+",
          "-",
          "*",
          "/"
        ]
      },
      "modRightValue": {
        "$ref": "string"
      },
      "modUseHex": {
        "$ref": "boolean"
      },
      "modResultType": {
        "type": "string",
        "enum": [
          "integer",
          "decimal"
        ]
      },
      "modMode": {
        "type": "string",
        "enum": [
          "basic",
          "expression",
          "array"
        ]
      },
      "modExpression": {
        "$ref": "string"
      },
      "modArrayTargetLetter": {
        "$ref": "string"
      },
      "modArrayTargetStartIndexValue": {
        "$ref": "string"
      },
      "modArrayCountValue": {
        "$ref": "string"
      },
      "modArrayInputAArrayLetter": {
        "$ref": "string"
      },
      "modArrayInputAStartIndexValue": {
        "$ref": "string"
      },
      "modArrayInputBArrayLetter": {
        "$ref": "string"
      },
      "modArrayInputBStartIndexValue": {
        "$ref": "string"
      },
      "modArrayInputCArrayLetter": {
        "$ref": "string"
      },
      "modArrayInputCStartIndexValue": {
        "$ref": "string"
      },
      "promptHeader": {
        "type": "string",
        "maxLength": 8
      },
      "promptUseButtons": {
        "$ref": "boolean"
      },
      "promptButtons": {
        "type": "array",
        "items": {
          "$ref": "promptButtonRow"
        },
        "maxItems": 6
      },
      "promptUseTogglesText": {
        "$ref": "boolean"
      },
      "promptUseToggles": {
        "$ref": "boolean"
      },
      "promptToggles": {
        "type": "array",
        "items": {
          "$ref": "promptToggleRow"
        },
        "maxItems": 6
      },
      "promptUseText": {
        "$ref": "boolean"
      },
      "promptTextVariableName": {
        "$ref": "string"
      },
      "promptTextCaption": {
        "type": "string",
        "maxLength": 17
      },
      "promptTextType": {
        "type": "string",
        "enum": [
          "string",
          "integer",
          "decimal"
        ]
      },
      "promptMode": {
        "type": "string",
        "enum": [
          "standard",
          "mini"
        ]
      },
      "promptMiniControlMode": {
        "type": "string",
        "enum": [
          "buttons",
          "toggles"
        ]
      },
      "promptMiniPersistent": {
        "$ref": "boolean"
      },
      "promptMiniHeaderEnabled": {
        "$ref": "boolean"
      },
      "promptMiniTitle": {
        "type": "string",
        "maxLength": 8
      },
      "promptMiniRedXStopsScript": {
        "$ref": "boolean"
      },
      "promptMiniSizeMode": {
        "type": "string",
        "enum": [
          "default",
          "manual"
        ]
      },
      "promptMiniConfiguredWidthDp": {
        "type": "integer",
        "minimum": 96,
        "maximum": 420
      },
      "promptMiniConfiguredHeightDp": {
        "type": "integer",
        "minimum": 72,
        "maximum": 420
      },
      "promptMiniButtonVariableName": {
        "$ref": "string"
      },
      "promptMiniButtons": {
        "type": "array",
        "items": {
          "$ref": "promptMiniButtonRow"
        },
        "maxItems": 6
      },
      "promptMiniToggles": {
        "type": "array",
        "items": {
          "$ref": "promptMiniToggleRow"
        },
        "maxItems": 6
      },
      "colorClassifyMode": {
        "type": "string",
        "enum": [
          "single",
          "array"
        ]
      },
      "sourceVariableName": {
        "$ref": "string"
      },
      "sourceArrayLetter": {
        "$ref": "string"
      },
      "sourceArrayStartIndexValue": {
        "$ref": "string"
      },
      "sourceArrayCountValue": {
        "$ref": "string"
      },
      "outputType": {
        "type": "string",
        "enum": [
          "integer",
          "decimal",
          "boolean",
          "hex",
          "string",
          "time"
        ]
      },
      "outputVariableName": {
        "$ref": "string"
      },
      "noMatchValue": {
        "$ref": "string"
      },
      "targets": {
        "type": "array",
        "items": {
          "$ref": "colorTargetRow"
        },
        "maxItems": 16
      },
      "targetSourceMode": {
        "type": "string",
        "enum": [
          "rows",
          "hex_array"
        ]
      },
      "targetArrayLetter": {
        "$ref": "string"
      },
      "targetArrayStartIndexValue": {
        "$ref": "string"
      },
      "targetArrayCountValue": {
        "$ref": "string"
      },
      "arrayLetter": {
        "$ref": "string"
      },
      "indexValue": {
        "$ref": "string"
      },
      "valueSourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "literalValue": {
        "$ref": "string"
      },
      "arraySetMode": {
        "type": "string",
        "enum": [
          "single",
          "bulk",
          "fill_range",
          "sequence"
        ]
      },
      "bulkEntries": {
        "type": "array",
        "maxItems": 255,
        "items": {
          "$ref": "bulkEntryRow"
        }
      },
      "startIndexValue": {
        "$ref": "string"
      },
      "lengthValue": {
        "$ref": "string"
      },
      "startValue": {
        "$ref": "string"
      },
      "stepValue": {
        "$ref": "string"
      },
      "indexVariableName": {
        "$ref": "string"
      },
      "endValue": {
        "$ref": "string"
      },
      "forEachUseStopVariable": {
        "$ref": "boolean"
      },
      "stopVariableName": {
        "$ref": "string"
      },
      "valueType": {
        "type": "string",
        "enum": [
          "integer",
          "decimal",
          "boolean",
          "hex",
          "string",
          "time"
        ]
      },
      "scanDirection": {
        "type": "string",
        "enum": [
          "forward",
          "reverse"
        ]
      },
      "scanMode": {
        "type": "string",
        "enum": [
          "first_non_empty",
          "first_empty",
          "first_equal",
          "count_equal",
          "count_non_empty",
          "run_equal",
          "run_boundary",
          "aggregate"
        ]
      },
      "emptyValue": {
        "$ref": "string"
      },
      "matchValueSourceMode": {
        "type": "string",
        "enum": [
          "none",
          "literal",
          "variable"
        ]
      },
      "matchValue": {
        "$ref": "string"
      },
      "useFoundOutput": {
        "$ref": "boolean"
      },
      "outputFoundVariableName": {
        "$ref": "string"
      },
      "useIndexOutput": {
        "$ref": "boolean"
      },
      "outputIndexVariableName": {
        "$ref": "string"
      },
      "useValueOutput": {
        "$ref": "boolean"
      },
      "outputValueVariableName": {
        "$ref": "string"
      },
      "useAddedCountOutput": {
        "$ref": "boolean"
      },
      "outputAddedCountVariableName": {
        "$ref": "string"
      },
      "points": {
        "type": "array",
        "items": {
          "$ref": "pointRow"
        }
      },
      "xArrayLetter": {
        "$ref": "string"
      },
      "yArrayLetter": {
        "$ref": "string"
      },
      "countVariableName": {
        "$ref": "string"
      },
      "maxCountValue": {
        "$ref": "string"
      },
      "useSuccessOutput": {
        "$ref": "boolean"
      },
      "outputSuccessVariableName": {
        "$ref": "string"
      },
      "appendPointsMode": {
        "type": "string",
        "enum": [
          "rows",
          "grid"
        ]
      },
      "appendPointsRowsValue": {
        "$ref": "string"
      },
      "appendPointsColumnsValue": {
        "$ref": "string"
      },
      "appendPointsLeftValue": {
        "$ref": "string"
      },
      "appendPointsTopValue": {
        "$ref": "string"
      },
      "appendPointsXPitchValue": {
        "$ref": "string"
      },
      "appendPointsYPitchValue": {
        "$ref": "string"
      },
      "appendPointsXOffsetValue": {
        "$ref": "string"
      },
      "appendPointsYOffsetValue": {
        "$ref": "string"
      },
      "appendPointsOrder": {
        "type": "string",
        "enum": [
          "row_major",
          "column_major"
        ]
      },
      "textValue": {
        "$ref": "string"
      },
      "textUseVariable": {
        "$ref": "boolean"
      },
      "pixelXValue": {
        "$ref": "string"
      },
      "pixelYValue": {
        "$ref": "string"
      },
      "pixelSampleSourceMode": {
        "type": "string",
        "enum": [
          "points",
          "arrays"
        ]
      },
      "pixelIgnoreRadius": {
        "$ref": "pixelFindIgnoreRadius"
      },
      "pixelFindMidpoints": {
        "$ref": "boolean"
      },
      "pixelFindUseConfidence": {
        "$ref": "boolean"
      },
      "pixelFindMaxResultsValue": {
        "$ref": "pixelFindMaxResultsValue"
      },
      "pixelColors": {
        "$ref": "pixelFindColors"
      },
      "visualStableFramesValue": {
        "$ref": "string"
      },
      "visualTimeoutMsValue": {
        "$ref": "string"
      },
      "visualCooldownMsValue": {
        "$ref": "string"
      },
      "visualActionMode": {
        "type": "string",
        "enum": [
          "tap_fixed",
          "tap_trigger_slot_1"
        ]
      },
      "visualTapX": {
        "$ref": "string"
      },
      "visualTapY": {
        "$ref": "string"
      },
      "visualTapDelayMsValue": {
        "$ref": "string"
      },
      "visualTriggerCombineMode": {
        "type": "string",
        "enum": [
          "any",
          "all",
          "exactly_one"
        ]
      },
      "visualTriggerSlots": {
        "type": "array",
        "items": {
          "$ref": "visualTriggerSlot"
        },
        "minItems": 3,
        "maxItems": 3
      },
      "screenshotUseArea": {
        "$ref": "boolean"
      },
      "deviceSettingsFrames": {
        "type": "array",
        "maxItems": 10,
        "items": {
          "$ref": "deviceSettingsFrame"
        }
      },
      "deviceSettingsFacts": {
        "type": "array",
        "maxItems": 15,
        "items": {
          "$ref": "deviceSettingsFact"
        }
      },
      "stateGetFrames": {
        "type": "array",
        "items": {
          "$ref": "stateGetFrame"
        }
      },
      "stateGetOutputs": {
        "type": "array",
        "items": {
          "$ref": "stateGetOutput"
        }
      },
      "stateGetSampleTimeMsValue": {
        "$ref": "exactTrimmedNonEmptyString"
      },
      "useActionMode": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "type": "string",
            "enum": [
              "open_app",
              "view_uri",
              "map_uri",
              "app_details",
              "email",
              "sms",
              "dial",
              "share_text",
              "navigation",
              "alert",
              "media_control",
              "vibrate",
              "keep_awake"
            ]
          }
        ]
      },
      "useActionFacts": {
        "type": "array",
        "items": {
          "$ref": "useActionFact"
        },
        "maxItems": 18
      },
      "deviceIntentMode": {
        "type": "string",
        "enum": [
          "view_uri",
          "map_uri",
          "settings",
          "app_details",
          "email",
          "sms",
          "dial",
          "share_text"
        ]
      },
      "deviceIntentUri": {
        "$ref": "string"
      },
      "deviceIntentSettingsAction": {
        "type": "string",
        "enum": [
          "main",
          "display",
          "sound",
          "notifications",
          "accessibility",
          "applications",
          "location",
          "date_time",
          "input_method",
          "language",
          "battery_saver"
        ]
      },
      "deviceIntentEmailTo": {
        "$ref": "string"
      },
      "deviceIntentSubject": {
        "$ref": "string"
      },
      "deviceIntentBody": {
        "$ref": "string"
      },
      "deviceIntentPhoneNumber": {
        "$ref": "string"
      },
      "deviceIntentSmsBody": {
        "$ref": "string"
      },
      "deviceIntentShareText": {
        "$ref": "string"
      },
      "deviceSystemNavAction": {
        "type": "string",
        "enum": [
          "back",
          "home",
          "recents",
          "notifications",
          "quick_settings",
          "escape",
          "scroll_top",
          "scroll_bottom"
        ]
      },
      "httpMethod": {
        "type": "string",
        "enum": [
          "get",
          "post",
          "put",
          "patch",
          "delete"
        ]
      },
      "httpUrlSourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "httpUrlValue": {
        "$ref": "string"
      },
      "httpUrlVariableName": {
        "$ref": "string"
      },
      "httpHeaders": {
        "type": "array",
        "items": {
          "$ref": "httpHeaderRow"
        }
      },
      "httpBodySourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "httpBodyValue": {
        "$ref": "string"
      },
      "httpBodyVariableName": {
        "$ref": "string"
      },
      "httpTimeoutMsValue": {
        "type": "string",
        "pattern": "^(?:[1-9][0-9]{3}|[1-5][0-9]{4}|60000)$"
      },
      "httpSaveSuccess": {
        "$ref": "boolean"
      },
      "httpSuccessVariableName": {
        "$ref": "string"
      },
      "httpSaveStatus": {
        "$ref": "boolean"
      },
      "httpStatusVariableName": {
        "$ref": "string"
      },
      "httpSaveBody": {
        "$ref": "boolean"
      },
      "httpBodyOutputVariableName": {
        "$ref": "string"
      },
      "httpSaveError": {
        "$ref": "boolean"
      },
      "httpErrorVariableName": {
        "$ref": "string"
      },
      "clipboardMode": {
        "type": "string",
        "enum": [
          "get",
          "set"
        ]
      },
      "clipboardOutputVariableName": {
        "$ref": "string"
      },
      "clipboardTextSourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "clipboardTextValue": {
        "$ref": "string"
      },
      "clipboardTextVariableName": {
        "$ref": "string"
      },
      "clipboardSaveSuccess": {
        "$ref": "boolean"
      },
      "clipboardSuccessVariableName": {
        "$ref": "string"
      },
      "clipboardSaveError": {
        "$ref": "boolean"
      },
      "clipboardErrorVariableName": {
        "$ref": "string"
      },
      "textTransformSpec": {
        "type": "object",
        "properties": {
          "textTransformOperation": {
            "type": "string",
            "enum": [
              "contains",
              "extract",
              "replace",
              "split",
              "join",
              "trim",
              "case",
              "parse_int",
              "parse_decimal",
              "find_all"
            ]
          },
          "textInputSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "textInputValue": {
            "$ref": "string"
          },
          "textInputVariableName": {
            "$ref": "string"
          },
          "textSaveSuccess": {
            "$ref": "boolean"
          },
          "textSuccessVariableName": {
            "$ref": "string"
          },
          "textSaveError": {
            "$ref": "boolean"
          },
          "textErrorVariableName": {
            "$ref": "string"
          },
          "textFindSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "textFindValue": {
            "$ref": "string"
          },
          "textFindVariableName": {
            "$ref": "string"
          },
          "textCaseSensitive": {
            "$ref": "boolean"
          },
          "textContainsOutputVariableName": {
            "$ref": "string"
          },
          "textRegexPatternSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "textRegexPatternValue": {
            "$ref": "string"
          },
          "textRegexPatternVariableName": {
            "$ref": "string"
          },
          "textRegexGroupValue": {
            "$ref": "string"
          },
          "textAllowNoMatch": {
            "$ref": "boolean"
          },
          "textExtractOutputVariableName": {
            "$ref": "string"
          },
          "textReplaceFindMode": {
            "type": "string",
            "enum": [
              "literal",
              "exact",
              "contains",
              "regex"
            ]
          },
          "textReplaceFindSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "textReplaceFindValue": {
            "$ref": "string"
          },
          "textReplaceFindVariableName": {
            "$ref": "string"
          },
          "textReplaceValueSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "textReplaceValue": {
            "$ref": "string"
          },
          "textReplaceVariableName": {
            "$ref": "string"
          },
          "textReplaceAll": {
            "$ref": "boolean"
          },
          "textReplaceOutputVariableName": {
            "$ref": "string"
          },
          "textSplitMode": {
            "type": "string",
            "enum": [
              "literal",
              "regex"
            ]
          },
          "textSplitDelimiterSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "textSplitDelimiterValue": {
            "$ref": "string"
          },
          "textSplitDelimiterVariableName": {
            "$ref": "string"
          },
          "textSplitMaxPartsValue": {
            "$ref": "string"
          },
          "textSplitOutputArrayLetter": {
            "$ref": "string"
          },
          "textSplitOutputStartIndexValue": {
            "$ref": "string"
          },
          "textSplitSaveCount": {
            "$ref": "boolean"
          },
          "textSplitCountVariableName": {
            "$ref": "string"
          },
          "textJoinArrayLetter": {
            "$ref": "string"
          },
          "textJoinStartIndexValue": {
            "$ref": "string"
          },
          "textJoinCountValue": {
            "$ref": "string"
          },
          "textJoinDelimiterSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "textJoinDelimiterValue": {
            "$ref": "string"
          },
          "textJoinDelimiterVariableName": {
            "$ref": "string"
          },
          "textJoinOutputVariableName": {
            "$ref": "string"
          },
          "textTrimMode": {
            "type": "string",
            "enum": [
              "both",
              "left",
              "right"
            ]
          },
          "textTrimOutputVariableName": {
            "$ref": "string"
          },
          "textCaseMode": {
            "type": "string",
            "enum": [
              "lower",
              "upper",
              "whole_match",
              "capture_group"
            ]
          },
          "textCaseOutputVariableName": {
            "$ref": "string"
          },
          "textParseIntBaseValue": {
            "$ref": "string"
          },
          "textParseIntUseDefault": {
            "$ref": "boolean"
          },
          "textParseIntDefaultValue": {
            "$ref": "string"
          },
          "textParseIntOutputVariableName": {
            "$ref": "string"
          },
          "textParseDecimalOutputVariableName": {
            "$ref": "string"
          }
        },
        "required": [
          "textTransformOperation",
          "textInputSourceMode",
          "textInputValue",
          "textInputVariableName",
          "textSaveSuccess",
          "textSuccessVariableName",
          "textSaveError",
          "textErrorVariableName",
          "textFindSourceMode",
          "textFindValue",
          "textFindVariableName",
          "textCaseSensitive",
          "textContainsOutputVariableName",
          "textRegexPatternSourceMode",
          "textRegexPatternValue",
          "textRegexPatternVariableName",
          "textRegexGroupValue",
          "textAllowNoMatch",
          "textExtractOutputVariableName",
          "textReplaceFindMode",
          "textReplaceFindSourceMode",
          "textReplaceFindValue",
          "textReplaceFindVariableName",
          "textReplaceValueSourceMode",
          "textReplaceValue",
          "textReplaceVariableName",
          "textReplaceAll",
          "textReplaceOutputVariableName",
          "textSplitMode",
          "textSplitDelimiterSourceMode",
          "textSplitDelimiterValue",
          "textSplitDelimiterVariableName",
          "textSplitMaxPartsValue",
          "textSplitOutputArrayLetter",
          "textSplitOutputStartIndexValue",
          "textSplitSaveCount",
          "textSplitCountVariableName",
          "textJoinArrayLetter",
          "textJoinStartIndexValue",
          "textJoinCountValue",
          "textJoinDelimiterSourceMode",
          "textJoinDelimiterValue",
          "textJoinDelimiterVariableName",
          "textJoinOutputVariableName",
          "textTrimMode",
          "textTrimOutputVariableName",
          "textCaseMode",
          "textCaseOutputVariableName",
          "textParseIntBaseValue",
          "textParseIntUseDefault",
          "textParseIntDefaultValue",
          "textParseIntOutputVariableName",
          "textParseDecimalOutputVariableName"
        ],
        "conditionalRules": [
          {
            "when": {
              "textTransformOperation": "find_all"
            },
            "fields": {
              "textReplaceFindMode": {
                "schema": {
                  "type": "string",
                  "enum": [
                    "exact",
                    "contains",
                    "regex"
                  ]
                }
              },
              "textCaseMode": {
                "schema": {
                  "type": "string",
                  "enum": [
                    "whole_match",
                    "capture_group"
                  ]
                }
              },
              "textSplitOutputArrayLetter": {
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "textSplitOutputStartIndexValue": {
                "tokenBounds": {
                  "kind": "positive_integer_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "textSplitMaxPartsValue": {
                "tokenBounds": {
                  "kind": "non_negative_integer_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "find_all",
              "textReplaceFindMode": "exact"
            },
            "fields": {
              "textCaseMode": {
                "schema": {
                  "type": "string",
                  "enum": [
                    "whole_match"
                  ]
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "find_all",
              "textReplaceFindMode": "contains"
            },
            "fields": {
              "textCaseMode": {
                "schema": {
                  "type": "string",
                  "enum": [
                    "whole_match"
                  ]
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "find_all",
              "textReplaceFindMode": "regex",
              "textCaseMode": "capture_group"
            },
            "fields": {
              "textRegexGroupValue": {
                "tokenBounds": {
                  "kind": "positive_integer_or_variable",
                  "minimum": 1,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "find_all",
              "textSplitSaveCount": "true"
            },
            "fields": {
              "textSplitCountVariableName": {
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "replace"
            },
            "fields": {
              "textReplaceFindMode": {
                "schema": {
                  "type": "string",
                  "enum": [
                    "literal",
                    "regex"
                  ]
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "case"
            },
            "fields": {
              "textCaseMode": {
                "schema": {
                  "type": "string",
                  "enum": [
                    "lower",
                    "upper"
                  ]
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "split"
            },
            "fields": {
              "textSplitMaxPartsValue": {
                "tokenBounds": {
                  "kind": "positive_integer_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": false
                }
              },
              "textSplitOutputStartIndexValue": {
                "tokenBounds": {
                  "kind": "positive_integer_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": false
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "join"
            },
            "fields": {
              "textJoinStartIndexValue": {
                "tokenBounds": {
                  "kind": "positive_integer_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": false
                }
              },
              "textJoinCountValue": {
                "tokenBounds": {
                  "kind": "positive_integer_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": false
                }
              }
            }
          },
          {
            "when": {
              "textTransformOperation": "parse_int"
            },
            "fields": {
              "textParseIntBaseValue": {
                "tokenBounds": {
                  "kind": "positive_integer_or_variable",
                  "minimum": 2,
                  "maximum": 36,
                  "allowBlank": false
                }
              }
            }
          }
        ],
        "additionalProperties": false
      },
      "jsonSpec": {
        "type": "object",
        "properties": {
          "jsonMode": {
            "type": "string",
            "enum": [
              "extract",
              "exists",
              "length",
              "stringify"
            ]
          },
          "jsonInputVariableName": {
            "$ref": "string"
          },
          "jsonPathSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "jsonPathValue": {
            "$ref": "string"
          },
          "jsonPathVariableName": {
            "$ref": "string"
          },
          "jsonSaveSuccess": {
            "$ref": "boolean"
          },
          "jsonSuccessVariableName": {
            "$ref": "string"
          },
          "jsonSaveError": {
            "$ref": "boolean"
          },
          "jsonErrorVariableName": {
            "$ref": "string"
          },
          "jsonExtractOutputType": {
            "type": "string",
            "enum": [
              "string",
              "integer",
              "decimal",
              "boolean",
              "string_array",
              "json_text"
            ]
          },
          "jsonExtractStringVariableName": {
            "$ref": "string"
          },
          "jsonExtractIntegerVariableName": {
            "$ref": "string"
          },
          "jsonExtractDecimalVariableName": {
            "$ref": "string"
          },
          "jsonExtractBooleanVariableName": {
            "$ref": "string"
          },
          "jsonExtractArrayLetter": {
            "$ref": "string"
          },
          "jsonExtractArrayStartIndexValue": {
            "$ref": "string"
          },
          "jsonExtractSaveCount": {
            "$ref": "boolean"
          },
          "jsonExtractCountVariableName": {
            "$ref": "string"
          },
          "jsonExtractJsonTextVariableName": {
            "$ref": "string"
          },
          "jsonExistsOutputVariableName": {
            "$ref": "string"
          },
          "jsonLengthOutputVariableName": {
            "$ref": "string"
          },
          "jsonStringifyFormat": {
            "type": "string",
            "enum": [
              "compact",
              "pretty"
            ]
          },
          "jsonStringifyOutputVariableName": {
            "$ref": "string"
          }
        },
        "required": [
          "jsonMode",
          "jsonInputVariableName",
          "jsonPathSourceMode",
          "jsonPathValue",
          "jsonPathVariableName",
          "jsonSaveSuccess",
          "jsonSuccessVariableName",
          "jsonSaveError",
          "jsonErrorVariableName",
          "jsonExtractOutputType",
          "jsonExtractStringVariableName",
          "jsonExtractIntegerVariableName",
          "jsonExtractDecimalVariableName",
          "jsonExtractBooleanVariableName",
          "jsonExtractArrayLetter",
          "jsonExtractArrayStartIndexValue",
          "jsonExtractSaveCount",
          "jsonExtractCountVariableName",
          "jsonExtractJsonTextVariableName",
          "jsonExistsOutputVariableName",
          "jsonLengthOutputVariableName",
          "jsonStringifyFormat",
          "jsonStringifyOutputVariableName"
        ],
        "additionalProperties": false
      },
      "translateSourceVariableName": {
        "$ref": "string"
      },
      "translateTargetVariableName": {
        "$ref": "string"
      },
      "translateSourceLanguageTag": {
        "$ref": "string"
      },
      "translateTargetLanguageTag": {
        "$ref": "string"
      },
      "fileMode": {
        "type": "string",
        "enum": [
          "read",
          "create",
          "append"
        ]
      },
      "fileFormat": {
        "type": "string",
        "enum": [
          "text",
          "csv",
          "json"
        ]
      },
      "fileUri": {
        "$ref": "string"
      },
      "fileDisplayName": {
        "$ref": "string"
      },
      "fileMimeType": {
        "$ref": "string"
      },
      "fileHasReadAccess": {
        "$ref": "boolean"
      },
      "fileHasWriteAccess": {
        "$ref": "boolean"
      },
      "fileSaveSuccess": {
        "$ref": "boolean"
      },
      "fileSuccessVariableName": {
        "$ref": "string"
      },
      "fileSaveError": {
        "$ref": "boolean"
      },
      "fileErrorVariableName": {
        "$ref": "string"
      },
      "fileReadTextOutputVariableName": {
        "$ref": "string"
      },
      "fileCsvReadMode": {
        "type": "string",
        "enum": [
          "cell",
          "row",
          "column"
        ]
      },
      "fileCsvRowValue": {
        "$ref": "positiveInt32OrIntegerVariableToken"
      },
      "fileCsvColumnSourceMode": {
        "type": "string",
        "enum": [
          "number",
          "header"
        ]
      },
      "fileCsvColumnValue": {
        "$ref": "positiveInt32OrIntegerVariableToken"
      },
      "fileCsvColumnHeaderName": {
        "$ref": "string"
      },
      "fileCsvArrayValueCount": {
        "$ref": "positiveInt32OrIntegerVariableToken"
      },
      "fileCsvOutputStartIndexValue": {
        "$ref": "positiveInt32OrIntegerVariableToken"
      },
      "fileCsvCellOutputVariableName": {
        "$ref": "string"
      },
      "fileCsvArrayOutputLetter": {
        "$ref": "string"
      },
      "fileAppendTextSourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "fileAppendTextValue": {
        "$ref": "string"
      },
      "fileAppendTextVariableName": {
        "$ref": "string"
      },
      "fileAppendNewline": {
        "$ref": "boolean"
      },
      "fileAppendCsvSourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "fileAppendCsvRowValue": {
        "$ref": "string"
      },
      "fileAppendCsvRowVariableName": {
        "$ref": "string"
      },
      "fileAppendCsvEnsureNewRow": {
        "$ref": "boolean"
      },
      "fileCreateNameSourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "fileCreateNameValue": {
        "$ref": "string"
      },
      "fileCreateNameVariableName": {
        "$ref": "string"
      },
      "fileCreateTextSourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "fileCreateTextValue": {
        "$ref": "string"
      },
      "fileCreateTextVariableName": {
        "$ref": "string"
      },
      "fileCreateCsvSourceMode": {
        "type": "string",
        "enum": [
          "csv_text",
          "array_row"
        ]
      },
      "fileCreateCsvTextValue": {
        "$ref": "string"
      },
      "fileCreateCsvArrayLetter": {
        "$ref": "string"
      },
      "fileCreateCsvArrayStartIndexValue": {
        "$ref": "positiveInt32OrIntegerVariableToken"
      },
      "fileCreateCsvArrayValueCount": {
        "$ref": "positiveInt32OrIntegerVariableToken"
      },
      "fileCreateJsonSourceMode": {
        "type": "string",
        "enum": [
          "literal",
          "variable"
        ]
      },
      "fileCreateJsonValue": {
        "$ref": "string"
      },
      "fileCreateJsonVariableName": {
        "$ref": "string"
      },
      "fileCreateIfExistsMode": {
        "type": "string",
        "enum": [
          "overwrite",
          "new_name"
        ]
      },
      "fileCreateNewNameMode": {
        "type": "string",
        "enum": [
          "timestamp",
          "number"
        ]
      },
      "fileSaveFinalName": {
        "$ref": "boolean"
      },
      "fileFinalNameVariableName": {
        "$ref": "string"
      },
      "fileSaveFinalUri": {
        "$ref": "boolean"
      },
      "fileFinalUriVariableName": {
        "$ref": "string"
      },
      "alertMode": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "type": "string",
            "enum": [
              "play",
              "stop"
            ]
          }
        ]
      },
      "alertSourceType": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "type": "string",
            "enum": [
              "file",
              "ringtone"
            ]
          }
        ]
      },
      "alertFileUri": {
        "$ref": "string"
      },
      "alertFileDisplayName": {
        "$ref": "string"
      },
      "alertFileMimeType": {
        "$ref": "string"
      },
      "alertFileHasReadAccess": {
        "$ref": "boolean"
      },
      "alertRingtoneUri": {
        "$ref": "string"
      },
      "alertRingtoneLabel": {
        "$ref": "string"
      },
      "alertPlayMode": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "type": "string",
            "enum": [
              "once",
              "loop"
            ]
          }
        ]
      },
      "alertLoopTimeoutMsValue": {
        "type": "string",
        "pattern": "^(?:|0|[1-9][0-9]{0,4}|1[0-7][0-9]{4}|180000|(?=.{1,5}$)[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?)$"
      },
      "alertSoundExecution": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "type": "string",
            "enum": [
              "concurrent",
              "wait"
            ]
          }
        ]
      },
      "alertVolumeMode": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 0
          },
          {
            "type": "string",
            "enum": [
              "keep",
              "set"
            ]
          }
        ]
      },
      "alertVolumePercentValue": {
        "type": "string",
        "pattern": "^(?:|0|[1-9][0-9]?|100|(?=.{1,5}$)[A-Za-z](?:0{0,3}(?:[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))?)$"
      },
      "alertRestoreVolume": {
        "$ref": "boolean"
      },
      "alertSaveSuccess": {
        "$ref": "boolean"
      },
      "alertSuccessVariableName": {
        "$ref": "string"
      },
      "alertSaveError": {
        "$ref": "boolean"
      },
      "alertErrorVariableName": {
        "$ref": "string"
      },
      "readerSpec": {
        "type": "object",
        "properties": {
          "readerMode": {
            "type": "string",
            "enum": [
              "speakText",
              "readUI",
              "readOCR",
              "stop"
            ]
          },
          "readerTextSourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "readerTextValue": {
            "$ref": "string"
          },
          "readerTextVariableName": {
            "$ref": "string"
          },
          "readerUseArea": {
            "$ref": "boolean"
          },
          "readerLeftValue": {
            "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
          },
          "readerTopValue": {
            "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
          },
          "readerRightValue": {
            "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
          },
          "readerBottomValue": {
            "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
          },
          "readerUiReadMode": {
            "type": "string",
            "enum": [
              "text",
              "content_description",
              "both"
            ]
          },
          "readerMaxCharactersValue": {
            "$ref": "readerMaxCharactersToken"
          },
          "readerStopIfAppChanges": {
            "$ref": "boolean"
          },
          "readerSpeechExecution": {
            "type": "string",
            "enum": [
              "concurrent",
              "wait"
            ]
          },
          "readerVoiceMode": {
            "type": "string",
            "enum": [
              "default",
              "select"
            ]
          },
          "readerTtsEngine": {
            "$ref": "string"
          },
          "readerTtsVoice": {
            "$ref": "string"
          },
          "readerTtsLanguage": {
            "$ref": "string"
          },
          "readerSpeechRatePercentValue": {
            "$ref": "readerPercentToken"
          },
          "readerPitchPercentValue": {
            "$ref": "readerPercentToken"
          },
          "readerExclusiveListeningEnabled": {
            "$ref": "boolean"
          },
          "readerExclusiveListeningAlarmVolumePercentValue": {
            "$ref": "readerAlarmPercent"
          },
          "readerSaveText": {
            "$ref": "boolean"
          },
          "readerTextOutputVariableName": {
            "$ref": "string"
          },
          "readerSaveSuccess": {
            "$ref": "boolean"
          },
          "readerSuccessVariableName": {
            "$ref": "string"
          },
          "readerSaveError": {
            "$ref": "boolean"
          },
          "readerErrorVariableName": {
            "$ref": "string"
          }
        },
        "required": [
          "readerMode",
          "readerTextSourceMode",
          "readerTextValue",
          "readerTextVariableName",
          "readerUseArea",
          "readerLeftValue",
          "readerTopValue",
          "readerRightValue",
          "readerBottomValue",
          "readerUiReadMode",
          "readerMaxCharactersValue",
          "readerStopIfAppChanges",
          "readerSpeechExecution",
          "readerVoiceMode",
          "readerTtsEngine",
          "readerTtsVoice",
          "readerTtsLanguage",
          "readerSpeechRatePercentValue",
          "readerPitchPercentValue",
          "readerExclusiveListeningEnabled",
          "readerExclusiveListeningAlarmVolumePercentValue",
          "readerSaveText",
          "readerTextOutputVariableName",
          "readerSaveSuccess",
          "readerSuccessVariableName",
          "readerSaveError",
          "readerErrorVariableName"
        ],
        "conditionalRules": [
          {
            "when": {
              "readerMode": "speakText",
              "readerTextSourceMode": "variable"
            },
            "fields": {
              "readerTextVariableName": {
                "schema": {
                  "$ref": "readerCanonicalVariableName"
                }
              }
            }
          },
          {
            "when": {
              "readerSaveText": "true"
            },
            "fields": {
              "readerTextOutputVariableName": {
                "schema": {
                  "$ref": "readerCanonicalVariableName"
                }
              }
            }
          },
          {
            "when": {
              "readerSaveSuccess": "true"
            },
            "fields": {
              "readerSuccessVariableName": {
                "schema": {
                  "$ref": "readerCanonicalVariableName"
                }
              }
            }
          },
          {
            "when": {
              "readerSaveError": "true"
            },
            "fields": {
              "readerErrorVariableName": {
                "schema": {
                  "$ref": "readerCanonicalVariableName"
                }
              }
            }
          }
        ],
        "additionalProperties": false
      },
      "displaySpec": {
        "type": "object",
        "properties": {
          "displayMode": {
            "type": "string",
            "enum": [
              "once_text",
              "concurrent_text"
            ]
          },
          "displaySourceMode": {
            "type": "string",
            "enum": [
              "literal",
              "variable"
            ]
          },
          "displayTextValue": {
            "$ref": "string"
          },
          "displayVariableName": {
            "$ref": "string"
          },
          "displayLeftValue": {
            "$ref": "nonNegativeInt32OrIntegerVariableToken"
          },
          "displayTopValue": {
            "$ref": "nonNegativeInt32OrIntegerVariableToken"
          },
          "displayRightValue": {
            "$ref": "nonNegativeInt32OrIntegerVariableToken"
          },
          "displayBottomValue": {
            "$ref": "nonNegativeInt32OrIntegerVariableToken"
          },
          "displayLifespanMsValue": {
            "$ref": "displayPositiveMillisValue"
          },
          "displayRefreshRateMsValue": {
            "$ref": "displayIntervalMillisValue"
          },
          "displayRollingUpdatesEnabled": {
            "$ref": "boolean"
          },
          "displayRollingScrollMsValue": {
            "$ref": "displayIntervalMillisValue"
          },
          "displayUseStopBoolean": {
            "$ref": "boolean"
          },
          "displayStopBooleanVariableName": {
            "$ref": "string"
          },
          "displayCustomFont": {
            "$ref": "boolean"
          },
          "displayFontFamily": {
            "type": "string",
            "enum": [
              "system",
              "sans_serif",
              "serif",
              "monospace",
              "sans_medium",
              "readable_wide"
            ]
          },
          "displayFontStyle": {
            "type": "string",
            "enum": [
              "regular",
              "bold",
              "italic",
              "bold_italic"
            ]
          },
          "displayFontSize": {
            "type": "string",
            "enum": [
              "xsmall",
              "small",
              "medium",
              "large",
              "xlarge"
            ]
          },
          "displayCustomBoxStyle": {
            "$ref": "boolean"
          },
          "displayTextColor": {
            "type": "string",
            "enum": [
              "soft_white",
              "white",
              "yellow",
              "black",
              "cyan",
              "green"
            ]
          },
          "displayBackgroundColor": {
            "type": "string",
            "enum": [
              "black",
              "white",
              "navy",
              "gray"
            ]
          },
          "displayBackgroundOpacity": {
            "type": "string",
            "enum": [
              "100",
              "85",
              "70",
              "50"
            ]
          },
          "displayBorder": {
            "$ref": "boolean"
          },
          "displayCustomAlignment": {
            "$ref": "boolean"
          },
          "displayHorizontalAlignment": {
            "type": "string",
            "enum": [
              "left",
              "center",
              "right"
            ]
          },
          "displayVerticalAlignment": {
            "type": "string",
            "enum": [
              "top",
              "center",
              "bottom"
            ]
          }
        },
        "required": [
          "displayMode",
          "displaySourceMode",
          "displayTextValue",
          "displayVariableName",
          "displayLeftValue",
          "displayTopValue",
          "displayRightValue",
          "displayBottomValue",
          "displayLifespanMsValue",
          "displayRefreshRateMsValue",
          "displayRollingUpdatesEnabled",
          "displayRollingScrollMsValue",
          "displayUseStopBoolean",
          "displayStopBooleanVariableName",
          "displayCustomFont",
          "displayFontFamily",
          "displayFontStyle",
          "displayFontSize",
          "displayCustomBoxStyle",
          "displayTextColor",
          "displayBackgroundColor",
          "displayBackgroundOpacity",
          "displayBorder",
          "displayCustomAlignment",
          "displayHorizontalAlignment",
          "displayVerticalAlignment"
        ],
        "conditionalRules": [
          {
            "when": {
              "displayMode": "once_text"
            },
            "fields": {
              "displayLifespanMsValue": {
                "schema": {
                  "type": "string",
                  "pattern": "^[1-9][0-9]{0,18}$"
                }
              },
              "displayRollingScrollMsValue": {
                "schema": {
                  "type": "string",
                  "maxLength": 0
                }
              }
            }
          },
          {
            "when": {
              "displayMode": "concurrent_text"
            },
            "fields": {
              "displayRefreshRateMsValue": {
                "schema": {
                  "type": "string",
                  "pattern": "^[1-9][0-9]{2,18}$"
                }
              }
            }
          },
          {
            "when": {
              "displaySourceMode": "variable"
            },
            "fields": {
              "displayVariableName": {
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": false
                }
              }
            }
          }
        ],
        "additionalProperties": false
      },
      "deviceBrightnessPercentValue": {
        "$ref": "rawDevicePercent"
      },
      "deviceBrightnessAdaptive": {
        "$ref": "boolean"
      },
      "deviceVolumeRows": {
        "type": "array",
        "maxItems": 5,
        "items": {
          "type": "object",
          "properties": {
            "stream": {
              "type": "string",
              "enum": [
                "call",
                "media",
                "system",
                "alert",
                "message"
              ]
            },
            "enabled": {
              "$ref": "boolean"
            },
            "percent": {
              "$ref": "rawDevicePercent"
            }
          },
          "required": [
            "stream",
            "enabled",
            "percent"
          ],
          "additionalProperties": false
        }
      },
      "deviceToggleState": {
        "type": "string",
        "enum": [
          "on",
          "off"
        ]
      },
      "babyIfAttached": {
        "$ref": "boolean"
      },
      "babyIfParentId": {
        "$ref": "string"
      },
      "babyIfSource": {
        "$ref": "string"
      },
      "conditions": {
        "type": "array",
        "maxItems": 5,
        "items": {
          "$ref": "conditionRow"
        }
      }
    },
    "commands": [
      {
        "position": 1,
        "type": "click",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "tapXValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "tapYValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "clickRepeatEnabled",
            "required": false
          },
          {
            "name": "clickRepeatValue",
            "required": false
          },
          {
            "name": "clickRepeatSequential",
            "required": false
          },
          {
            "name": "clickTapDelayValue",
            "required": false
          },
          {
            "name": "tapPressDurationValue",
            "required": false
          },
          {
            "name": "useVariableArray",
            "required": false
          },
          {
            "name": "inArea",
            "required": false
          },
          {
            "name": "areaLeftValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "areaTopValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "areaRightValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "areaBottomValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "xVariableName",
            "required": false
          },
          {
            "name": "yVariableName",
            "required": false
          }
        ]
      },
      {
        "position": 2,
        "type": "delay",
        "forbiddenFieldValueCombinations": [
          {
            "delayMs": {
              "$ref": "uint32"
            },
            "delayVariableName": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "delayMs",
            "required": false,
            "schema": {
              "oneOf": [
                {
                  "$ref": "uint32"
                },
                {
                  "type": "integer",
                  "minimum": -1,
                  "maximum": -1
                }
              ]
            }
          },
          {
            "name": "delayVariableName",
            "required": false,
            "schema": {
              "oneOf": [
                {
                  "type": "string",
                  "maxLength": 0
                },
                {
                  "type": "string",
                  "maxLength": 5,
                  "pattern": "^[A-Za-z](?:0*(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2}|[1-3][0-9]{3}|40[0-8][0-9]|409[0-6]))?$"
                }
              ]
            }
          }
        ]
      },
      {
        "position": 3,
        "type": "delay_until",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "delayUntilHourValue",
            "required": false
          },
          {
            "name": "delayUntilMinuteValue",
            "required": false
          },
          {
            "name": "delayUntilSecondValue",
            "required": false
          },
          {
            "name": "delayUntilUseDate",
            "required": false
          },
          {
            "name": "delayUntilMonthValue",
            "required": false
          },
          {
            "name": "delayUntilDayValue",
            "required": false
          },
          {
            "name": "delayUntilYearValue",
            "required": false
          },
          {
            "name": "delayUntilMode",
            "required": true
          },
          {
            "name": "delayUntilLeftValue",
            "required": false
          },
          {
            "name": "delayUntilTopValue",
            "required": false
          },
          {
            "name": "delayUntilRightValue",
            "required": false
          },
          {
            "name": "delayUntilBottomValue",
            "required": false
          },
          {
            "name": "delayUntilCheckEveryValue",
            "required": false
          },
          {
            "name": "assetNames",
            "required": false
          },
          {
            "name": "uiFindQuery",
            "required": false
          },
          {
            "name": "uiFindTarget",
            "required": false
          },
          {
            "name": "uiFindMatchMode",
            "required": false
          },
          {
            "name": "uiFindNthValue",
            "required": false
          },
          {
            "name": "uiFindEnabledOnly",
            "required": false
          },
          {
            "name": "uiFindClickableOnly",
            "required": false
          },
          {
            "name": "uiFindVisibleOnly",
            "required": false
          },
          {
            "name": "uiFindPackageFilter",
            "required": false
          },
          {
            "name": "pixelXValue",
            "required": false
          },
          {
            "name": "pixelYValue",
            "required": false
          },
          {
            "name": "confidencePercentValue",
            "required": false
          },
          {
            "name": "devicePackageName",
            "required": false
          },
          {
            "name": "deviceAppLabel",
            "required": false
          },
          {
            "name": "variableName",
            "required": false
          },
          {
            "name": "variableType",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "boolean",
                "integer",
                "decimal",
                "string",
                "hex",
                "time"
              ]
            }
          },
          {
            "name": "variableValue",
            "required": false
          },
          {
            "name": "variableComparator",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                ">",
                ">=",
                "=",
                "<",
                "<=",
                "<>"
              ]
            }
          }
        ],
        "variants": [
          {
            "when": {
              "delayUntilMode": "time",
              "delayUntilUseDate": "false"
            },
            "fields": {
              "delayUntilHourValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 23,
                  "allowBlank": true
                }
              },
              "delayUntilMinuteValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 59,
                  "allowBlank": true
                }
              },
              "delayUntilSecondValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 59,
                  "allowBlank": true
                }
              },
              "delayUntilMonthValue": {
                "required": true,
                "schema": {
                  "$ref": "string"
                }
              },
              "delayUntilDayValue": {
                "required": true,
                "schema": {
                  "$ref": "string"
                }
              },
              "delayUntilYearValue": {
                "required": true,
                "schema": {
                  "$ref": "string"
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "time",
              "delayUntilUseDate": "true"
            },
            "fields": {
              "delayUntilHourValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 23,
                  "allowBlank": true
                }
              },
              "delayUntilMinuteValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 59,
                  "allowBlank": true
                }
              },
              "delayUntilSecondValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 59,
                  "allowBlank": true
                }
              },
              "delayUntilMonthValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 1,
                  "maximum": 12,
                  "allowBlank": true
                }
              },
              "delayUntilDayValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 1,
                  "maximum": 31,
                  "allowBlank": true
                }
              },
              "delayUntilYearValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 1970,
                  "maximum": 9999,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "image"
            },
            "fields": {
              "assetNames": {
                "required": true
              },
              "delayUntilLeftValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "signed_integer_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "delayUntilTopValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "signed_integer_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "delayUntilRightValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "signed_integer_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "delayUntilBottomValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "signed_integer_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "confidencePercentValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 100,
                  "allowBlank": true
                }
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "ui_element"
            },
            "fields": {
              "uiFindQuery": {
                "required": true
              },
              "uiFindTarget": {
                "required": true
              },
              "uiFindMatchMode": {
                "required": true
              },
              "uiFindNthValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "uiFindEnabledOnly": {
                "required": true
              },
              "uiFindClickableOnly": {
                "required": true
              },
              "uiFindVisibleOnly": {
                "required": true
              },
              "uiFindPackageFilter": {
                "required": true
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "pixel"
            },
            "fields": {
              "pixelXValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "pixelYValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "hex_literal_or_variable",
                  "allowBlank": true
                }
              },
              "confidencePercentValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 100,
                  "allowBlank": true
                }
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "active_app"
            },
            "fields": {
              "devicePackageName": {
                "required": true
              },
              "deviceAppLabel": {
                "required": true
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "variable",
              "variableType": "boolean"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableComparator": {
                "required": true,
                "schema": {
                  "type": "string",
                  "enum": [
                    "="
                  ]
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "boolean_literal",
                  "allowBlank": true
                }
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "variable",
              "variableType": "integer"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableComparator": {
                "required": true,
                "schema": {
                  "type": "string",
                  "enum": [
                    "=",
                    "<>",
                    ">",
                    ">=",
                    "<",
                    "<="
                  ]
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "signed_integer_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "variable",
              "variableType": "decimal"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableComparator": {
                "required": true,
                "schema": {
                  "type": "string",
                  "enum": [
                    "=",
                    "<>",
                    ">",
                    ">=",
                    "<",
                    "<="
                  ]
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "decimal_literal_or_variable",
                  "allowBlank": true
                }
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "variable",
              "variableType": "string"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableComparator": {
                "required": true,
                "schema": {
                  "type": "string",
                  "enum": [
                    "="
                  ]
                }
              },
              "uiFindMatchMode": {
                "required": true,
                "schema": {
                  "type": "string",
                  "enum": [
                    "exact",
                    "contains",
                    "regex"
                  ]
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "string_literal_or_variable",
                  "allowBlank": true
                }
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "variable",
              "variableType": "hex"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableComparator": {
                "required": true,
                "schema": {
                  "type": "string",
                  "enum": [
                    "="
                  ]
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "hex_literal_or_variable",
                  "allowBlank": true
                }
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "delayUntilMode": "variable",
              "variableType": "time"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableComparator": {
                "required": true,
                "schema": {
                  "type": "string",
                  "enum": [
                    "=",
                    "<>",
                    ">",
                    ">=",
                    "<",
                    "<="
                  ]
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "time_literal_or_variable",
                  "allowBlank": true
                }
              },
              "delayUntilCheckEveryValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 60000,
                  "allowBlank": true
                }
              }
            }
          }
        ]
      },
      {
        "position": 4,
        "type": "retap",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "retapUseTimeout",
            "required": false
          },
          {
            "name": "retapMode",
            "required": false
          },
          {
            "name": "retapCoordinateTimeoutValue",
            "required": false
          },
          {
            "name": "xVariableName",
            "required": false
          },
          {
            "name": "yVariableName",
            "required": false
          },
          {
            "name": "retapRepeatsValue",
            "required": false
          },
          {
            "name": "retapDelayMsValue",
            "required": false
          },
          {
            "name": "retapTimeoutMsValue",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "retap"
            },
            "fields": {
              "retapRepeatsValue": {
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "retapDelayMsValue": {
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "retapTimeoutMsValue": {
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "retapCoordinateTimeoutValue": {
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "retapMode": {
                "required": false
              },
              "retapUseTimeout": {
                "required": false
              },
              "xVariableName": {
                "required": false
              },
              "yVariableName": {
                "required": false
              },
              "variableShared": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 5,
        "type": "multi_click",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "multiClicks",
            "required": false
          },
          {
            "name": "useVariableArray",
            "required": false
          },
          {
            "name": "xVariableName",
            "required": false
          },
          {
            "name": "yVariableName",
            "required": false
          },
          {
            "name": "inArea",
            "required": false
          },
          {
            "name": "areaLeftValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "areaTopValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "areaRightValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "areaBottomValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "delayMs",
            "required": false
          }
        ]
      },
      {
        "position": 6,
        "type": "swipe",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "swipeMode",
            "required": false
          },
          {
            "name": "gestureStrokes",
            "required": false
          },
          {
            "name": "gestureConcurrent",
            "required": false
          },
          {
            "name": "swipeActionMode",
            "required": false
          },
          {
            "name": "swipePressDurationValue",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "swipe",
              "swipeMode": "exact",
              "swipeActionMode": "swipe"
            },
            "absent": [
              "swipePressDurationValue"
            ],
            "fields": {
              "swipeMode": {
                "required": true
              },
              "swipeActionMode": {
                "required": true
              },
              "gestureStrokes": {
                "required": false
              },
              "gestureConcurrent": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "swipe",
              "swipeMode": "quick",
              "swipeActionMode": "swipe"
            },
            "absent": [
              "swipePressDurationValue"
            ],
            "fields": {
              "swipeMode": {
                "required": true
              },
              "swipeActionMode": {
                "required": true
              },
              "gestureStrokes": {
                "required": false
              },
              "gestureConcurrent": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "swipe",
              "swipeMode": "exact",
              "swipeActionMode": "drag"
            },
            "fields": {
              "swipeMode": {
                "required": true
              },
              "swipeActionMode": {
                "required": true
              },
              "gestureStrokes": {
                "required": false
              },
              "gestureConcurrent": {
                "required": false
              },
              "swipePressDurationValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "type": "swipe",
              "swipeMode": "quick",
              "swipeActionMode": "drag"
            },
            "fields": {
              "swipeMode": {
                "required": true
              },
              "swipeActionMode": {
                "required": true
              },
              "gestureStrokes": {
                "required": false
              },
              "gestureConcurrent": {
                "required": false
              },
              "swipePressDurationValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              }
            }
          }
        ]
      },
      {
        "position": 7,
        "type": "img_find",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "assetName",
            "required": false
          },
          {
            "name": "multiAsset",
            "required": false
          },
          {
            "name": "assetNames",
            "required": false
          },
          {
            "name": "useNegativeAssets",
            "required": false
          },
          {
            "name": "negativeAssetNames",
            "required": false
          },
          {
            "name": "confidencePercentValue",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "imgFindNegativeConfidencePercentValue",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "imgFindOutputMode",
            "required": false
          },
          {
            "name": "imgFindClassifyOutputStateVariable",
            "required": false
          },
          {
            "name": "imgFindClassifyOutputIndexVariable",
            "required": false
          },
          {
            "name": "imgFindClassifyOutputFoundVariable",
            "required": false
          },
          {
            "name": "imgFindClassifyOutputXVariable",
            "required": false
          },
          {
            "name": "imgFindClassifyOutputYVariable",
            "required": false
          },
          {
            "name": "imgFindClassifyOutputConfidenceVariable",
            "required": false
          },
          {
            "name": "imgFindBooleanArrayName",
            "required": false
          },
          {
            "name": "imgFindMaxResultsValue",
            "required": false
          },
          {
            "name": "leftValue",
            "required": false,
            "schema": {
              "$ref": "nonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "topValue",
            "required": false,
            "schema": {
              "$ref": "nonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "rightValue",
            "required": false,
            "schema": {
              "$ref": "nonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "bottomValue",
            "required": false,
            "schema": {
              "$ref": "nonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "findAll",
            "required": false
          },
          {
            "name": "setVariables",
            "required": false
          },
          {
            "name": "clickIfFound",
            "required": false
          },
          {
            "name": "clickTargetCenter",
            "required": false
          },
          {
            "name": "clickTargetXValue",
            "required": false
          },
          {
            "name": "clickTargetYValue",
            "required": false
          },
          {
            "name": "variableName",
            "required": false
          },
          {
            "name": "xVariableName",
            "required": false
          },
          {
            "name": "yVariableName",
            "required": false
          },
          {
            "name": "useCountOutput",
            "required": false
          },
          {
            "name": "outputCountVariableName",
            "required": false
          },
          {
            "name": "findFirstRightToLeft",
            "required": false
          },
          {
            "name": "findFirstBottomToTop",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "img_find"
            },
            "fields": {
              "assetName": {
                "required": false
              },
              "multiAsset": {
                "required": false
              },
              "assetNames": {
                "required": false
              },
              "useNegativeAssets": {
                "required": false
              },
              "negativeAssetNames": {
                "required": false
              },
              "confidencePercentValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "unsigned_integer_literal",
                  "minimum": 0,
                  "maximum": 100,
                  "allowBlank": true
                }
              },
              "imgFindNegativeConfidencePercentValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "unsigned_integer_literal",
                  "minimum": 0,
                  "maximum": 100,
                  "allowBlank": true
                }
              },
              "imgFindOutputMode": {
                "required": false
              },
              "imgFindClassifyOutputStateVariable": {
                "required": false
              },
              "imgFindClassifyOutputIndexVariable": {
                "required": false
              },
              "imgFindClassifyOutputFoundVariable": {
                "required": false
              },
              "imgFindClassifyOutputXVariable": {
                "required": false
              },
              "imgFindClassifyOutputYVariable": {
                "required": false
              },
              "imgFindClassifyOutputConfidenceVariable": {
                "required": false
              },
              "imgFindBooleanArrayName": {
                "required": false
              },
              "imgFindMaxResultsValue": {
                "required": false
              },
              "leftValue": {
                "required": false
              },
              "topValue": {
                "required": false
              },
              "rightValue": {
                "required": false
              },
              "bottomValue": {
                "required": false
              },
              "findAll": {
                "required": false
              },
              "setVariables": {
                "required": false
              },
              "clickIfFound": {
                "required": false
              },
              "clickTargetCenter": {
                "required": false
              },
              "clickTargetXValue": {
                "required": false
              },
              "clickTargetYValue": {
                "required": false
              },
              "variableName": {
                "required": false
              },
              "xVariableName": {
                "required": false
              },
              "yVariableName": {
                "required": false
              },
              "useCountOutput": {
                "required": false
              },
              "outputCountVariableName": {
                "required": false
              },
              "findFirstRightToLeft": {
                "required": false
              },
              "findFirstBottomToTop": {
                "required": false
              },
              "variableShared": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 8,
        "type": "smart_tap",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "smartTapAssets",
            "required": false
          },
          {
            "name": "smartTapTriggerMode",
            "required": false
          },
          {
            "name": "smartTapTapMode",
            "required": false
          },
          {
            "name": "smartTapTapX",
            "required": false
          },
          {
            "name": "smartTapTapY",
            "required": false
          },
          {
            "name": "smartTapUseNegativeAssets",
            "required": false
          },
          {
            "name": "smartTapNegativeAssetNames",
            "required": false
          },
          {
            "name": "setVariables",
            "required": false
          },
          {
            "name": "smartTapOutputChangedVariable",
            "required": false
          },
          {
            "name": "smartTapOutputXVariable",
            "required": false
          },
          {
            "name": "smartTapOutputYVariable",
            "required": false
          },
          {
            "name": "leftValue",
            "required": false
          },
          {
            "name": "topValue",
            "required": false
          },
          {
            "name": "rightValue",
            "required": false
          },
          {
            "name": "bottomValue",
            "required": false
          },
          {
            "name": "confidencePercentValue",
            "required": false,
            "schema": {
              "$ref": "smartTapGlobalConfidenceRaw"
            }
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 9,
        "type": "label",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "labelName",
            "required": false
          }
        ]
      },
      {
        "position": 10,
        "type": "goto",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "labelName",
            "required": false
          }
        ]
      },
      {
        "position": 11,
        "type": "loop",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "loopInfinite",
            "required": false
          },
          {
            "name": "loopConcurrent",
            "required": false
          },
          {
            "name": "loopDelayMsValue",
            "required": false
          },
          {
            "name": "loopTimesValue",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "loop",
              "loopInfinite": "true"
            },
            "absent": [
              "loopTimesValue"
            ],
            "fields": {
              "loopInfinite": {
                "required": true
              },
              "loopConcurrent": {
                "required": false
              },
              "loopDelayMsValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              }
            }
          },
          {
            "when": {
              "type": "loop",
              "loopInfinite": "false"
            },
            "fields": {
              "loopInfinite": {
                "required": true
              },
              "loopConcurrent": {
                "required": false
              },
              "loopDelayMsValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "loopTimesValue": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 12,
        "type": "end_loop",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 13,
        "type": "break_loop",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 14,
        "type": "call",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "targetMacroId",
            "required": false
          }
        ]
      },
      {
        "position": 15,
        "type": "break_call",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 16,
        "type": "stop_call",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "targetMacroIds",
            "required": false
          }
        ]
      },
      {
        "position": 17,
        "type": "pause_concurrent",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 18,
        "type": "unpause_concurrent",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 19,
        "type": "break_exclusive",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 20,
        "type": "set_variable",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "variableName",
            "required": false
          },
          {
            "name": "variableLetter",
            "required": false
          },
          {
            "name": "variableArraySizeValue",
            "required": false
          },
          {
            "name": "setVariableMode",
            "required": false
          },
          {
            "name": "setVariableTimeFormat",
            "required": false
          },
          {
            "name": "setVariableTimeSource",
            "required": false
          },
          {
            "name": "variableType",
            "required": false
          },
          {
            "name": "variableValue",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          },
          {
            "name": "setVariableFromClipboard",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "integer"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "decimal"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "decimal_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "boolean"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "boolean_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "hex"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "hex_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "string",
              "setVariableFromClipboard": "false"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "string_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "time"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "time_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "string",
              "setVariableFromClipboard": "true"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "integer"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "decimal"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "boolean"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "hex"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "string"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "time"
            },
            "absent": [
              "setVariableTimeFormat",
              "setVariableTimeSource"
            ],
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "time",
              "setVariableTimeFormat": "am_pm",
              "setVariableTimeSource": "manual"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "manual_time_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "time",
              "setVariableTimeFormat": "am_pm",
              "setVariableTimeSource": "current"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "decimal",
              "setVariableTimeFormat": "unix",
              "setVariableTimeSource": "manual"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "decimal_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "single",
              "variableType": "decimal",
              "setVariableTimeFormat": "unix",
              "setVariableTimeSource": "current"
            },
            "fields": {
              "variableName": {
                "required": true,
                "tokenBounds": {
                  "kind": "variable_name",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "time",
              "setVariableTimeFormat": "am_pm",
              "setVariableTimeSource": "manual"
            },
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "manual_time_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "time",
              "setVariableTimeFormat": "am_pm",
              "setVariableTimeSource": "current"
            },
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "decimal",
              "setVariableTimeFormat": "unix",
              "setVariableTimeSource": "manual"
            },
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "decimal_literal_or_variable",
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          },
          {
            "when": {
              "setVariableMode": "array",
              "variableType": "decimal",
              "setVariableTimeFormat": "unix",
              "setVariableTimeSource": "current"
            },
            "fields": {
              "variableLetter": {
                "required": true,
                "tokenBounds": {
                  "kind": "action_array",
                  "allowBlank": true
                }
              },
              "variableArraySizeValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": true
              }
            }
          }
        ]
      },
      {
        "position": 21,
        "type": "mod_variable",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "modTargetVariableName",
            "required": false
          },
          {
            "name": "modLeftValue",
            "required": false
          },
          {
            "name": "modOperator",
            "required": false
          },
          {
            "name": "modRightValue",
            "required": false
          },
          {
            "name": "modUseHex",
            "required": false
          },
          {
            "name": "modResultType",
            "required": false
          },
          {
            "name": "modMode",
            "required": false
          },
          {
            "name": "modExpression",
            "required": false
          },
          {
            "name": "modArrayTargetLetter",
            "required": false
          },
          {
            "name": "modArrayTargetStartIndexValue",
            "required": false
          },
          {
            "name": "modArrayCountValue",
            "required": false
          },
          {
            "name": "modArrayInputAArrayLetter",
            "required": false
          },
          {
            "name": "modArrayInputAStartIndexValue",
            "required": false
          },
          {
            "name": "modArrayInputBArrayLetter",
            "required": false
          },
          {
            "name": "modArrayInputBStartIndexValue",
            "required": false
          },
          {
            "name": "modArrayInputCArrayLetter",
            "required": false
          },
          {
            "name": "modArrayInputCStartIndexValue",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "mod_variable",
              "modMode": "basic"
            },
            "absent": [
              "modExpression",
              "modArrayTargetLetter",
              "modArrayTargetStartIndexValue",
              "modArrayCountValue",
              "modArrayInputAArrayLetter",
              "modArrayInputAStartIndexValue",
              "modArrayInputBArrayLetter",
              "modArrayInputBStartIndexValue",
              "modArrayInputCArrayLetter",
              "modArrayInputCStartIndexValue"
            ],
            "fields": {
              "modMode": {
                "required": true
              },
              "modTargetVariableName": {
                "required": false
              },
              "modLeftValue": {
                "required": false
              },
              "modOperator": {
                "required": false
              },
              "modRightValue": {
                "required": false
              },
              "modUseHex": {
                "required": false
              },
              "modResultType": {
                "required": false
              },
              "variableShared": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "mod_variable",
              "modMode": "expression"
            },
            "absent": [
              "modLeftValue",
              "modOperator",
              "modRightValue",
              "modUseHex",
              "modArrayTargetLetter",
              "modArrayTargetStartIndexValue",
              "modArrayCountValue",
              "modArrayInputAArrayLetter",
              "modArrayInputAStartIndexValue",
              "modArrayInputBArrayLetter",
              "modArrayInputBStartIndexValue",
              "modArrayInputCArrayLetter",
              "modArrayInputCStartIndexValue"
            ],
            "fields": {
              "modMode": {
                "required": true
              },
              "modTargetVariableName": {
                "required": false
              },
              "modResultType": {
                "required": false
              },
              "modExpression": {
                "required": false
              },
              "variableShared": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "mod_variable",
              "modMode": "array"
            },
            "absent": [
              "modTargetVariableName",
              "modLeftValue",
              "modOperator",
              "modRightValue",
              "modUseHex"
            ],
            "fields": {
              "modMode": {
                "required": true
              },
              "modExpression": {
                "required": false
              },
              "modResultType": {
                "required": false
              },
              "modArrayTargetLetter": {
                "required": false
              },
              "modArrayTargetStartIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "modArrayCountValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "modArrayInputAArrayLetter": {
                "required": false
              },
              "modArrayInputAStartIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "modArrayInputBArrayLetter": {
                "required": false
              },
              "modArrayInputBStartIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "modArrayInputCArrayLetter": {
                "required": false
              },
              "modArrayInputCStartIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 22,
        "type": "text_type",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "textValue",
            "required": false
          },
          {
            "name": "textUseVariable",
            "required": false
          }
        ]
      },
      {
        "position": 23,
        "type": "get_pixel_color",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "variableName",
            "required": false
          },
          {
            "name": "pixelXValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "pixelYValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 24,
        "type": "pixel_sample_batch",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "pixelSampleSourceMode",
            "required": false
          },
          {
            "name": "points",
            "required": false,
            "schema": {
              "type": "array",
              "maxItems": 2048,
              "items": {
                "$ref": "pointRow"
              }
            }
          },
          {
            "name": "xArrayLetter",
            "required": false
          },
          {
            "name": "yArrayLetter",
            "required": false
          },
          {
            "name": "startIndexValue",
            "required": false
          },
          {
            "name": "lengthValue",
            "required": false
          },
          {
            "name": "arrayLetter",
            "required": false
          },
          {
            "name": "indexValue",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "pixel_sample_batch",
              "pixelSampleSourceMode": "points"
            },
            "absent": [
              "xArrayLetter",
              "yArrayLetter",
              "startIndexValue",
              "lengthValue"
            ],
            "fields": {
              "pixelSampleSourceMode": {
                "required": true
              },
              "points": {
                "required": false
              },
              "arrayLetter": {
                "required": false
              },
              "indexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "pixel_sample_batch",
              "pixelSampleSourceMode": "arrays"
            },
            "absent": [
              "points"
            ],
            "fields": {
              "pixelSampleSourceMode": {
                "required": true
              },
              "xArrayLetter": {
                "required": false
              },
              "yArrayLetter": {
                "required": false
              },
              "startIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "lengthValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 2048,
                  "allowBlank": true
                }
              },
              "arrayLetter": {
                "required": false
              },
              "indexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 25,
        "type": "pixel_find",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "variableName",
            "required": false
          },
          {
            "name": "xVariableName",
            "required": false
          },
          {
            "name": "yVariableName",
            "required": false
          },
          {
            "name": "leftValue",
            "required": false
          },
          {
            "name": "topValue",
            "required": false
          },
          {
            "name": "rightValue",
            "required": false
          },
          {
            "name": "bottomValue",
            "required": false
          },
          {
            "name": "confidencePercentValue",
            "required": false,
            "schema": {
              "$ref": "smartTapGlobalConfidenceRaw"
            }
          },
          {
            "name": "findAll",
            "required": false
          },
          {
            "name": "setVariables",
            "required": false
          },
          {
            "name": "clickIfFound",
            "required": false
          },
          {
            "name": "pixelIgnoreRadius",
            "required": false
          },
          {
            "name": "pixelFindMidpoints",
            "required": false
          },
          {
            "name": "pixelFindUseConfidence",
            "required": false
          },
          {
            "name": "pixelFindMaxResultsValue",
            "required": false
          },
          {
            "name": "pixelColors",
            "required": false
          },
          {
            "name": "imgFindOutputMode",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "standard",
                "classify"
              ]
            }
          },
          {
            "name": "imgFindClassifyOutputIndexVariable",
            "required": false
          },
          {
            "name": "findFirstRightToLeft",
            "required": false
          },
          {
            "name": "findFirstBottomToTop",
            "required": false
          },
          {
            "name": "clickTargetCenter",
            "required": false
          },
          {
            "name": "clickTargetXValue",
            "required": false
          },
          {
            "name": "clickTargetYValue",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 26,
        "type": "pixel_color_result",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "variableName",
            "required": false
          },
          {
            "name": "variableValue",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 27,
        "type": "visual_trigger",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "visualStableFramesValue",
            "required": false
          },
          {
            "name": "visualTimeoutMsValue",
            "required": false
          },
          {
            "name": "visualCooldownMsValue",
            "required": false
          },
          {
            "name": "visualActionMode",
            "required": false
          },
          {
            "name": "visualTapX",
            "required": false
          },
          {
            "name": "visualTapY",
            "required": false
          },
          {
            "name": "visualTapDelayMsValue",
            "required": false
          },
          {
            "name": "visualTriggerCombineMode",
            "required": false
          },
          {
            "name": "visualTriggerSlots",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "visual_trigger"
            },
            "fields": {
              "visualStableFramesValue": {
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "visualTimeoutMsValue": {
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "visualCooldownMsValue": {
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 1,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "visualTapDelayMsValue": {
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "visualActionMode": {
                "required": false
              },
              "visualTapX": {
                "required": false
              },
              "visualTapY": {
                "required": false
              },
              "visualTriggerCombineMode": {
                "required": false
              },
              "visualTriggerSlots": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 28,
        "type": "device_open_app",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "devicePackageName",
            "required": false
          },
          {
            "name": "deviceAppLabel",
            "required": false
          }
        ]
      },
      {
        "position": 29,
        "type": "device_brightness",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "deviceBrightnessPercentValue",
            "required": false
          },
          {
            "name": "deviceBrightnessAdaptive",
            "required": false
          }
        ]
      },
      {
        "position": 30,
        "type": "device_volume",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "deviceVolumeRows",
            "required": false
          }
        ]
      },
      {
        "position": 31,
        "type": "device_do_not_disturb",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "deviceToggleState",
            "required": false
          }
        ]
      },
      {
        "position": 32,
        "type": "device_rotation",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "deviceToggleState",
            "required": false
          }
        ]
      },
      {
        "position": 33,
        "type": "divider",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 34,
        "type": "else",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "babyIfAttached",
            "required": false
          },
          {
            "name": "babyIfParentId",
            "required": false
          },
          {
            "name": "babyIfSource",
            "required": false
          }
        ]
      },
      {
        "position": 35,
        "type": "or",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "conditions",
            "required": false
          },
          {
            "name": "babyIfAttached",
            "required": false
          },
          {
            "name": "babyIfParentId",
            "required": false
          },
          {
            "name": "babyIfSource",
            "required": false
          }
        ]
      },
      {
        "position": 36,
        "type": "end_or",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "babyIfAttached",
            "required": false
          },
          {
            "name": "babyIfParentId",
            "required": false
          },
          {
            "name": "babyIfSource",
            "required": false
          }
        ]
      },
      {
        "position": 37,
        "type": "xor",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "conditions",
            "required": false
          },
          {
            "name": "babyIfAttached",
            "required": false
          },
          {
            "name": "babyIfParentId",
            "required": false
          },
          {
            "name": "babyIfSource",
            "required": false
          }
        ]
      },
      {
        "position": 38,
        "type": "end_xor",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "babyIfAttached",
            "required": false
          },
          {
            "name": "babyIfParentId",
            "required": false
          },
          {
            "name": "babyIfSource",
            "required": false
          }
        ]
      },
      {
        "position": 39,
        "type": "and",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "conditions",
            "required": false
          },
          {
            "name": "babyIfAttached",
            "required": false
          },
          {
            "name": "babyIfParentId",
            "required": false
          },
          {
            "name": "babyIfSource",
            "required": false
          }
        ]
      },
      {
        "position": 40,
        "type": "end_and",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "babyIfAttached",
            "required": false
          },
          {
            "name": "babyIfParentId",
            "required": false
          },
          {
            "name": "babyIfSource",
            "required": false
          }
        ]
      },
      {
        "position": 41,
        "type": "rgb_confidence",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "variableName",
            "required": false
          },
          {
            "name": "variableValue",
            "required": false
          },
          {
            "name": "confidencePercentValue",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "babyIfAttached",
            "required": false
          },
          {
            "name": "babyIfParentId",
            "required": false
          },
          {
            "name": "babyIfSource",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "rgb_confidence"
            },
            "fields": {
              "variableName": {
                "required": false
              },
              "variableValue": {
                "required": false
              },
              "confidencePercentValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "unsigned_integer_literal",
                  "minimum": 1,
                  "maximum": 100,
                  "allowBlank": true
                }
              },
              "babyIfAttached": {
                "required": false
              },
              "babyIfParentId": {
                "required": false
              },
              "babyIfSource": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 42,
        "type": "screenshot",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "screenshotUseArea",
            "required": false
          },
          {
            "name": "leftValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "topValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "rightValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "bottomValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          }
        ]
      },
      {
        "position": 43,
        "type": "prompt_me",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "promptHeader",
            "required": false
          },
          {
            "name": "promptUseButtons",
            "required": false
          },
          {
            "name": "promptButtons",
            "required": false
          },
          {
            "name": "promptUseTogglesText",
            "required": false
          },
          {
            "name": "promptUseToggles",
            "required": false
          },
          {
            "name": "promptToggles",
            "required": false
          },
          {
            "name": "promptUseText",
            "required": false
          },
          {
            "name": "promptTextVariableName",
            "required": false
          },
          {
            "name": "promptTextCaption",
            "required": false
          },
          {
            "name": "promptTextType",
            "required": false
          },
          {
            "name": "promptMode",
            "required": false
          },
          {
            "name": "promptMiniControlMode",
            "required": false
          },
          {
            "name": "promptMiniPersistent",
            "required": false
          },
          {
            "name": "promptMiniHeaderEnabled",
            "required": false
          },
          {
            "name": "promptMiniTitle",
            "required": false
          },
          {
            "name": "promptMiniRedXStopsScript",
            "required": false
          },
          {
            "name": "promptMiniSizeMode",
            "required": false
          },
          {
            "name": "promptMiniConfiguredWidthDp",
            "required": false
          },
          {
            "name": "promptMiniConfiguredHeightDp",
            "required": false
          },
          {
            "name": "promptMiniButtonVariableName",
            "required": false
          },
          {
            "name": "promptMiniButtons",
            "required": false
          },
          {
            "name": "promptMiniToggles",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 44,
        "type": "color_classify",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "colorClassifyMode",
            "required": false
          },
          {
            "name": "sourceVariableName",
            "required": false
          },
          {
            "name": "sourceArrayLetter",
            "required": false
          },
          {
            "name": "sourceArrayStartIndexValue",
            "required": false
          },
          {
            "name": "sourceArrayCountValue",
            "required": false
          },
          {
            "name": "confidencePercentValue",
            "required": false,
            "schema": {
              "$ref": "smartTapGlobalConfidenceRaw"
            }
          },
          {
            "name": "outputType",
            "required": false,
            "schema": {
              "$ref": "colorClassifyOutputType"
            }
          },
          {
            "name": "outputVariableName",
            "required": false
          },
          {
            "name": "noMatchValue",
            "required": false
          },
          {
            "name": "targets",
            "required": false
          },
          {
            "name": "targetSourceMode",
            "required": false
          },
          {
            "name": "targetArrayLetter",
            "required": false
          },
          {
            "name": "targetArrayStartIndexValue",
            "required": false
          },
          {
            "name": "targetArrayCountValue",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "color_classify",
              "colorClassifyMode": "single",
              "targetSourceMode": "rows"
            },
            "absent": [
              "sourceArrayLetter",
              "sourceArrayStartIndexValue",
              "sourceArrayCountValue",
              "targetArrayLetter",
              "targetArrayStartIndexValue",
              "targetArrayCountValue"
            ],
            "fields": {
              "colorClassifyMode": {
                "required": true
              },
              "targetSourceMode": {
                "required": true
              },
              "sourceVariableName": {
                "required": false
              },
              "confidencePercentValue": {
                "required": false
              },
              "outputType": {
                "required": false
              },
              "outputVariableName": {
                "required": false
              },
              "noMatchValue": {
                "required": false
              },
              "targets": {
                "required": false
              },
              "variableShared": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "color_classify",
              "colorClassifyMode": "single",
              "targetSourceMode": "hex_array"
            },
            "absent": [
              "sourceArrayLetter",
              "sourceArrayStartIndexValue",
              "sourceArrayCountValue",
              "targets"
            ],
            "fields": {
              "colorClassifyMode": {
                "required": true
              },
              "targetSourceMode": {
                "required": true
              },
              "sourceVariableName": {
                "required": false
              },
              "confidencePercentValue": {
                "required": false
              },
              "outputType": {
                "required": false
              },
              "outputVariableName": {
                "required": false
              },
              "noMatchValue": {
                "required": false
              },
              "targetArrayLetter": {
                "required": false
              },
              "targetArrayStartIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "targetArrayCountValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "color_classify",
              "colorClassifyMode": "array",
              "targetSourceMode": "rows"
            },
            "absent": [
              "sourceVariableName",
              "targetArrayLetter",
              "targetArrayStartIndexValue",
              "targetArrayCountValue"
            ],
            "fields": {
              "colorClassifyMode": {
                "required": true
              },
              "targetSourceMode": {
                "required": true
              },
              "sourceArrayLetter": {
                "required": false
              },
              "sourceArrayStartIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "sourceArrayCountValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "confidencePercentValue": {
                "required": false
              },
              "outputType": {
                "required": false
              },
              "outputVariableName": {
                "required": false
              },
              "noMatchValue": {
                "required": false
              },
              "targets": {
                "required": false
              },
              "variableShared": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "color_classify",
              "colorClassifyMode": "array",
              "targetSourceMode": "hex_array"
            },
            "absent": [
              "sourceVariableName",
              "targets"
            ],
            "fields": {
              "colorClassifyMode": {
                "required": true
              },
              "targetSourceMode": {
                "required": true
              },
              "sourceArrayLetter": {
                "required": false
              },
              "sourceArrayStartIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "sourceArrayCountValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "confidencePercentValue": {
                "required": false
              },
              "outputType": {
                "required": false
              },
              "outputVariableName": {
                "required": false
              },
              "noMatchValue": {
                "required": false
              },
              "targetArrayLetter": {
                "required": false
              },
              "targetArrayStartIndexValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "targetArrayCountValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "variableShared": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 45,
        "type": "array_get",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "arrayLetter",
            "required": false
          },
          {
            "name": "indexValue",
            "required": false
          },
          {
            "name": "variableType",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          },
          {
            "name": "outputVariableName",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "array_get"
            },
            "fields": {
              "arrayLetter": {
                "required": false
              },
              "indexValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": false
                }
              },
              "variableType": {
                "required": false
              },
              "variableShared": {
                "required": false
              },
              "outputVariableName": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 46,
        "type": "array_set",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "arrayLetter",
            "required": false
          },
          {
            "name": "indexValue",
            "required": false
          },
          {
            "name": "variableType",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          },
          {
            "name": "valueSourceMode",
            "required": false
          },
          {
            "name": "literalValue",
            "required": false
          },
          {
            "name": "sourceVariableName",
            "required": false
          },
          {
            "name": "arraySetMode",
            "required": false
          },
          {
            "name": "bulkEntries",
            "required": false
          },
          {
            "name": "startIndexValue",
            "required": false
          },
          {
            "name": "lengthValue",
            "required": false
          },
          {
            "name": "startValue",
            "required": false
          },
          {
            "name": "stepValue",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "array_set",
              "arraySetMode": "single"
            },
            "absent": [
              "bulkEntries",
              "startIndexValue",
              "lengthValue",
              "startValue",
              "stepValue"
            ],
            "fields": {
              "arrayLetter": {
                "required": false
              },
              "indexValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": false
                }
              },
              "variableType": {
                "required": false
              },
              "variableShared": {
                "required": false
              },
              "valueSourceMode": {
                "required": false
              },
              "literalValue": {
                "required": false
              },
              "sourceVariableName": {
                "required": false
              },
              "arraySetMode": {
                "required": true
              }
            }
          },
          {
            "when": {
              "type": "array_set",
              "arraySetMode": "bulk"
            },
            "absent": [
              "indexValue",
              "startIndexValue",
              "lengthValue",
              "startValue",
              "stepValue"
            ],
            "fields": {
              "arrayLetter": {
                "required": false
              },
              "variableType": {
                "required": false
              },
              "variableShared": {
                "required": false
              },
              "valueSourceMode": {
                "required": false
              },
              "literalValue": {
                "required": false
              },
              "sourceVariableName": {
                "required": false
              },
              "arraySetMode": {
                "required": true
              },
              "bulkEntries": {
                "required": true
              }
            }
          },
          {
            "when": {
              "type": "array_set",
              "arraySetMode": "fill_range"
            },
            "absent": [
              "indexValue",
              "bulkEntries",
              "startValue",
              "stepValue"
            ],
            "fields": {
              "arrayLetter": {
                "required": false
              },
              "variableType": {
                "required": false
              },
              "variableShared": {
                "required": false
              },
              "valueSourceMode": {
                "required": false
              },
              "literalValue": {
                "required": false
              },
              "sourceVariableName": {
                "required": false
              },
              "arraySetMode": {
                "required": true
              },
              "startIndexValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": false
                }
              },
              "lengthValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": false
                }
              }
            }
          },
          {
            "when": {
              "type": "array_set",
              "arraySetMode": "sequence"
            },
            "absent": [
              "indexValue",
              "bulkEntries"
            ],
            "fields": {
              "arrayLetter": {
                "required": false
              },
              "variableType": {
                "required": false
              },
              "variableShared": {
                "required": false
              },
              "valueSourceMode": {
                "required": false
              },
              "literalValue": {
                "required": false
              },
              "sourceVariableName": {
                "required": false
              },
              "arraySetMode": {
                "required": true
              },
              "startIndexValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": false
                }
              },
              "lengthValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": false
                }
              },
              "startValue": {
                "required": false
              },
              "stepValue": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 47,
        "type": "for_each_index",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "indexVariableName",
            "required": false
          },
          {
            "name": "startValue",
            "required": false
          },
          {
            "name": "endValue",
            "required": false
          },
          {
            "name": "stepValue",
            "required": false
          },
          {
            "name": "forEachUseStopVariable",
            "required": false
          },
          {
            "name": "stopVariableName",
            "required": false
          },
          {
            "name": "loopDelayMsValue",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 48,
        "type": "end_for_each_index",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 49,
        "type": "array_segment_scan",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "arrayLetter",
            "required": false
          },
          {
            "name": "valueType",
            "required": false
          },
          {
            "name": "startIndexValue",
            "required": false
          },
          {
            "name": "lengthValue",
            "required": false
          },
          {
            "name": "scanDirection",
            "required": false
          },
          {
            "name": "scanMode",
            "required": false
          },
          {
            "name": "emptyValue",
            "required": false
          },
          {
            "name": "matchValueSourceMode",
            "required": false
          },
          {
            "name": "matchValue",
            "required": false
          },
          {
            "name": "sourceVariableName",
            "required": false
          },
          {
            "name": "useFoundOutput",
            "required": false
          },
          {
            "name": "outputFoundVariableName",
            "required": false
          },
          {
            "name": "useIndexOutput",
            "required": false
          },
          {
            "name": "outputIndexVariableName",
            "required": false
          },
          {
            "name": "useValueOutput",
            "required": false
          },
          {
            "name": "outputValueVariableName",
            "required": false
          },
          {
            "name": "useCountOutput",
            "required": false
          },
          {
            "name": "outputCountVariableName",
            "required": false
          },
          {
            "name": "useAddedCountOutput",
            "required": false
          },
          {
            "name": "outputAddedCountVariableName",
            "required": false
          },
          {
            "name": "valueSourceMode",
            "required": false
          },
          {
            "name": "xArrayLetter",
            "required": false
          },
          {
            "name": "yArrayLetter",
            "required": false
          },
          {
            "name": "countVariableName",
            "required": false
          },
          {
            "name": "maxCountValue",
            "required": false
          },
          {
            "name": "outputType",
            "required": false,
            "schema": {
              "$ref": "arraySegmentOutputType"
            }
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 50,
        "type": "append_points",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "points",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "pointRow"
              },
              "maxItems": 4096
            }
          },
          {
            "name": "xArrayLetter",
            "required": false
          },
          {
            "name": "yArrayLetter",
            "required": false
          },
          {
            "name": "countVariableName",
            "required": false
          },
          {
            "name": "maxCountValue",
            "required": false
          },
          {
            "name": "useAddedCountOutput",
            "required": false
          },
          {
            "name": "outputAddedCountVariableName",
            "required": false
          },
          {
            "name": "useSuccessOutput",
            "required": false
          },
          {
            "name": "outputSuccessVariableName",
            "required": false
          },
          {
            "name": "appendPointsMode",
            "required": false
          },
          {
            "name": "appendPointsRowsValue",
            "required": false
          },
          {
            "name": "appendPointsColumnsValue",
            "required": false
          },
          {
            "name": "appendPointsLeftValue",
            "required": false
          },
          {
            "name": "appendPointsTopValue",
            "required": false
          },
          {
            "name": "appendPointsXPitchValue",
            "required": false
          },
          {
            "name": "appendPointsYPitchValue",
            "required": false
          },
          {
            "name": "appendPointsXOffsetValue",
            "required": false
          },
          {
            "name": "appendPointsYOffsetValue",
            "required": false
          },
          {
            "name": "appendPointsOrder",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "append_points",
              "appendPointsMode": "rows"
            },
            "absent": [
              "appendPointsRowsValue",
              "appendPointsColumnsValue",
              "appendPointsLeftValue",
              "appendPointsTopValue",
              "appendPointsXPitchValue",
              "appendPointsYPitchValue",
              "appendPointsXOffsetValue",
              "appendPointsYOffsetValue",
              "appendPointsOrder"
            ],
            "fields": {
              "appendPointsMode": {
                "required": true
              },
              "points": {
                "required": false
              },
              "xArrayLetter": {
                "required": false
              },
              "yArrayLetter": {
                "required": false
              },
              "countVariableName": {
                "required": false
              },
              "maxCountValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "useAddedCountOutput": {
                "required": false
              },
              "outputAddedCountVariableName": {
                "required": false
              },
              "useSuccessOutput": {
                "required": false
              },
              "outputSuccessVariableName": {
                "required": false
              },
              "variableShared": {
                "required": false
              }
            }
          },
          {
            "when": {
              "type": "append_points",
              "appendPointsMode": "grid"
            },
            "absent": [
              "points"
            ],
            "fields": {
              "appendPointsMode": {
                "required": true
              },
              "xArrayLetter": {
                "required": false
              },
              "yArrayLetter": {
                "required": false
              },
              "countVariableName": {
                "required": false
              },
              "maxCountValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "useAddedCountOutput": {
                "required": false
              },
              "outputAddedCountVariableName": {
                "required": false
              },
              "useSuccessOutput": {
                "required": false
              },
              "outputSuccessVariableName": {
                "required": false
              },
              "appendPointsRowsValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "appendPointsColumnsValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": 1,
                  "maximum": 4096,
                  "allowBlank": true
                }
              },
              "appendPointsLeftValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "appendPointsTopValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "appendPointsXPitchValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "appendPointsYPitchValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "appendPointsXOffsetValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "appendPointsYOffsetValue": {
                "required": false,
                "tokenBounds": {
                  "kind": "c12d_integer_literal_or_variable",
                  "minimum": -2147483648,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "appendPointsOrder": {
                "required": false
              },
              "variableShared": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 51,
        "type": "device_settings",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "deviceSettingsFrames",
            "required": false
          },
          {
            "name": "deviceSettingsFacts",
            "required": false
          }
        ],
        "mutationRequiredFields": [
          "deviceSettingsFrames",
          "deviceSettingsFacts"
        ]
      },
      {
        "position": 52,
        "type": "pinch",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "gestureStrokes",
            "required": false
          },
          {
            "name": "gestureConcurrent",
            "required": false
          }
        ]
      },
      {
        "position": 53,
        "type": "ui_find",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "uiFindQuery",
            "required": false
          },
          {
            "name": "uiFindTarget",
            "required": false
          },
          {
            "name": "uiFindMatchMode",
            "required": false
          },
          {
            "name": "uiFindNthValue",
            "required": false,
            "schema": {
              "$ref": "positiveInt32String"
            }
          },
          {
            "name": "uiFindEnabledOnly",
            "required": false
          },
          {
            "name": "uiFindClickableOnly",
            "required": false
          },
          {
            "name": "uiFindVisibleOnly",
            "required": false
          },
          {
            "name": "uiFindPackageFilter",
            "required": false
          },
          {
            "name": "uiFindTapMode",
            "required": false
          },
          {
            "name": "uiFindSetMatchedText",
            "required": false
          },
          {
            "name": "uiFindMatchedTextVariableName",
            "required": false
          },
          {
            "name": "setVariables",
            "required": false
          },
          {
            "name": "returnXY",
            "required": false
          },
          {
            "name": "clickIfFound",
            "required": false
          },
          {
            "name": "variableName",
            "required": false
          },
          {
            "name": "xVariableName",
            "required": false
          },
          {
            "name": "yVariableName",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 54,
        "type": "device_intent_action",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "deviceIntentMode",
            "required": false
          },
          {
            "name": "deviceIntentUri",
            "required": false
          },
          {
            "name": "deviceIntentSettingsAction",
            "required": false
          },
          {
            "name": "devicePackageName",
            "required": false
          },
          {
            "name": "deviceAppLabel",
            "required": false
          },
          {
            "name": "deviceIntentEmailTo",
            "required": false
          },
          {
            "name": "deviceIntentSubject",
            "required": false
          },
          {
            "name": "deviceIntentBody",
            "required": false
          },
          {
            "name": "deviceIntentPhoneNumber",
            "required": false
          },
          {
            "name": "deviceIntentSmsBody",
            "required": false
          },
          {
            "name": "deviceIntentShareText",
            "required": false
          }
        ]
      },
      {
        "position": 55,
        "type": "device_system_nav",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "deviceSystemNavAction",
            "required": false
          }
        ]
      },
      {
        "position": 56,
        "type": "http",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "httpMethod",
            "required": false
          },
          {
            "name": "httpUrlSourceMode",
            "required": false
          },
          {
            "name": "httpUrlValue",
            "required": false
          },
          {
            "name": "httpUrlVariableName",
            "required": false
          },
          {
            "name": "httpHeaders",
            "required": false
          },
          {
            "name": "httpBodySourceMode",
            "required": false
          },
          {
            "name": "httpBodyValue",
            "required": false
          },
          {
            "name": "httpBodyVariableName",
            "required": false
          },
          {
            "name": "httpTimeoutMsValue",
            "required": false
          },
          {
            "name": "httpSaveSuccess",
            "required": false
          },
          {
            "name": "httpSuccessVariableName",
            "required": false
          },
          {
            "name": "httpSaveStatus",
            "required": false
          },
          {
            "name": "httpStatusVariableName",
            "required": false
          },
          {
            "name": "httpSaveBody",
            "required": false
          },
          {
            "name": "httpBodyOutputVariableName",
            "required": false
          },
          {
            "name": "httpSaveError",
            "required": false
          },
          {
            "name": "httpErrorVariableName",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 57,
        "type": "clipboard",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "clipboardMode",
            "required": false
          },
          {
            "name": "clipboardOutputVariableName",
            "required": false
          },
          {
            "name": "clipboardTextSourceMode",
            "required": false
          },
          {
            "name": "clipboardTextValue",
            "required": false
          },
          {
            "name": "clipboardTextVariableName",
            "required": false
          },
          {
            "name": "clipboardSaveSuccess",
            "required": false
          },
          {
            "name": "clipboardSuccessVariableName",
            "required": false
          },
          {
            "name": "clipboardSaveError",
            "required": false
          },
          {
            "name": "clipboardErrorVariableName",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 58,
        "type": "file",
        "forbiddenFieldValueCombinations": [
          {
            "fileMode": "append",
            "fileFormat": "json"
          }
        ],
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "fileMode",
            "required": false
          },
          {
            "name": "fileFormat",
            "required": false
          },
          {
            "name": "fileUri",
            "required": false
          },
          {
            "name": "fileDisplayName",
            "required": false
          },
          {
            "name": "fileMimeType",
            "required": false
          },
          {
            "name": "fileHasReadAccess",
            "required": false
          },
          {
            "name": "fileHasWriteAccess",
            "required": false
          },
          {
            "name": "fileSaveSuccess",
            "required": false
          },
          {
            "name": "fileSuccessVariableName",
            "required": false
          },
          {
            "name": "fileSaveError",
            "required": false
          },
          {
            "name": "fileErrorVariableName",
            "required": false
          },
          {
            "name": "fileReadTextOutputVariableName",
            "required": false
          },
          {
            "name": "fileCsvReadMode",
            "required": false
          },
          {
            "name": "fileCsvRowValue",
            "required": false
          },
          {
            "name": "fileCsvColumnSourceMode",
            "required": false
          },
          {
            "name": "fileCsvColumnValue",
            "required": false
          },
          {
            "name": "fileCsvColumnHeaderName",
            "required": false
          },
          {
            "name": "fileCsvArrayValueCount",
            "required": false
          },
          {
            "name": "fileCsvOutputStartIndexValue",
            "required": false
          },
          {
            "name": "fileCsvCellOutputVariableName",
            "required": false
          },
          {
            "name": "fileCsvArrayOutputLetter",
            "required": false
          },
          {
            "name": "fileAppendTextSourceMode",
            "required": false
          },
          {
            "name": "fileAppendTextValue",
            "required": false
          },
          {
            "name": "fileAppendTextVariableName",
            "required": false
          },
          {
            "name": "fileAppendNewline",
            "required": false
          },
          {
            "name": "fileAppendCsvSourceMode",
            "required": false
          },
          {
            "name": "fileAppendCsvRowValue",
            "required": false
          },
          {
            "name": "fileAppendCsvRowVariableName",
            "required": false
          },
          {
            "name": "fileAppendCsvEnsureNewRow",
            "required": false
          },
          {
            "name": "fileCreateNameSourceMode",
            "required": false
          },
          {
            "name": "fileCreateNameValue",
            "required": false
          },
          {
            "name": "fileCreateNameVariableName",
            "required": false
          },
          {
            "name": "fileCreateTextSourceMode",
            "required": false
          },
          {
            "name": "fileCreateTextValue",
            "required": false
          },
          {
            "name": "fileCreateTextVariableName",
            "required": false
          },
          {
            "name": "fileCreateCsvSourceMode",
            "required": false
          },
          {
            "name": "fileCreateCsvTextValue",
            "required": false
          },
          {
            "name": "fileCreateCsvArrayLetter",
            "required": false
          },
          {
            "name": "fileCreateCsvArrayStartIndexValue",
            "required": false
          },
          {
            "name": "fileCreateCsvArrayValueCount",
            "required": false
          },
          {
            "name": "fileCreateJsonSourceMode",
            "required": false
          },
          {
            "name": "fileCreateJsonValue",
            "required": false
          },
          {
            "name": "fileCreateJsonVariableName",
            "required": false
          },
          {
            "name": "fileCreateIfExistsMode",
            "required": false
          },
          {
            "name": "fileCreateNewNameMode",
            "required": false
          },
          {
            "name": "fileSaveFinalName",
            "required": false
          },
          {
            "name": "fileFinalNameVariableName",
            "required": false
          },
          {
            "name": "fileSaveFinalUri",
            "required": false
          },
          {
            "name": "fileFinalUriVariableName",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 59,
        "type": "text_transform",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "textTransformSpec",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 60,
        "type": "ocr",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "ocrMode",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "read",
                "find"
              ]
            }
          },
          {
            "name": "ocrLeftValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "ocrTopValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "ocrRightValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "ocrBottomValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "ocrQuerySourceMode",
            "required": false
          },
          {
            "name": "ocrQueryValue",
            "required": false
          },
          {
            "name": "ocrQueryVariableName",
            "required": false
          },
          {
            "name": "ocrMatchMode",
            "required": false
          },
          {
            "name": "ocrCaseSensitive",
            "required": false
          },
          {
            "name": "ocrTextUnit",
            "required": false
          },
          {
            "name": "ocrTextScript",
            "required": false
          },
          {
            "name": "ocrMatchIndexValue",
            "required": false,
            "schema": {
              "$ref": "incompletePositiveInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "ocrTapIfFound",
            "required": false
          },
          {
            "name": "findAll",
            "required": false
          },
          {
            "name": "findFirstRightToLeft",
            "required": false
          },
          {
            "name": "findFirstBottomToTop",
            "required": false
          },
          {
            "name": "clickTargetCenter",
            "required": false
          },
          {
            "name": "clickTargetXValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "clickTargetYValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "ocrSaveFound",
            "required": false
          },
          {
            "name": "ocrFoundVariableName",
            "required": false
          },
          {
            "name": "ocrSaveText",
            "required": false
          },
          {
            "name": "ocrTextVariableName",
            "required": false
          },
          {
            "name": "ocrSaveX",
            "required": false
          },
          {
            "name": "ocrXVariableName",
            "required": false
          },
          {
            "name": "ocrSaveY",
            "required": false
          },
          {
            "name": "ocrYVariableName",
            "required": false
          },
          {
            "name": "ocrSaveError",
            "required": false
          },
          {
            "name": "ocrErrorVariableName",
            "required": false
          },
          {
            "name": "ocrReadOutputVariableName",
            "required": false
          },
          {
            "name": "ocrReadSaveSuccess",
            "required": false
          },
          {
            "name": "ocrReadSuccessVariableName",
            "required": false
          },
          {
            "name": "ocrReadSaveError",
            "required": false
          },
          {
            "name": "ocrReadErrorVariableName",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 61,
        "type": "alert",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "alertMode",
            "required": false
          },
          {
            "name": "alertSourceType",
            "required": false
          },
          {
            "name": "alertFileUri",
            "required": false
          },
          {
            "name": "alertFileDisplayName",
            "required": false
          },
          {
            "name": "alertFileMimeType",
            "required": false
          },
          {
            "name": "alertFileHasReadAccess",
            "required": false
          },
          {
            "name": "alertRingtoneUri",
            "required": false
          },
          {
            "name": "alertRingtoneLabel",
            "required": false
          },
          {
            "name": "alertPlayMode",
            "required": false
          },
          {
            "name": "alertLoopTimeoutMsValue",
            "required": false
          },
          {
            "name": "alertSoundExecution",
            "required": false
          },
          {
            "name": "alertVolumeMode",
            "required": false
          },
          {
            "name": "alertVolumePercentValue",
            "required": false
          },
          {
            "name": "alertRestoreVolume",
            "required": false
          },
          {
            "name": "alertSaveSuccess",
            "required": false
          },
          {
            "name": "alertSuccessVariableName",
            "required": false
          },
          {
            "name": "alertSaveError",
            "required": false
          },
          {
            "name": "alertErrorVariableName",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 62,
        "type": "reader",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "readerSpec",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 63,
        "type": "json",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "jsonSpec",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 64,
        "type": "translate",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "translateSourceVariableName",
            "required": false
          },
          {
            "name": "translateTargetVariableName",
            "required": false
          },
          {
            "name": "translateSourceLanguageTag",
            "required": false
          },
          {
            "name": "translateTargetLanguageTag",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 65,
        "type": "display",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "displaySpec",
            "required": false
          }
        ]
      },
      {
        "position": 66,
        "type": "touch_down",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "touchXValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "touchYValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          }
        ]
      },
      {
        "position": 67,
        "type": "touch_move",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "touchXValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "touchYValue",
            "required": false,
            "schema": {
              "$ref": "incompleteNonNegativeInt32OrIntegerVariableToken"
            }
          },
          {
            "name": "touchMoveTimeMsValue",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "touch_move"
            },
            "fields": {
              "touchMoveTimeMsValue": {
                "tokenBounds": {
                  "kind": "integer_literal_or_variable",
                  "minimum": 0,
                  "maximum": 2147483647,
                  "allowBlank": true
                }
              },
              "touchXValue": {
                "required": false
              },
              "touchYValue": {
                "required": false
              }
            }
          }
        ]
      },
      {
        "position": 68,
        "type": "end_touch",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          }
        ]
      },
      {
        "position": 69,
        "type": "set_coordinates",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "setCoordinatesMode",
            "required": false
          },
          {
            "name": "setCoordinatesPointX",
            "required": false
          },
          {
            "name": "setCoordinatesPointY",
            "required": false
          },
          {
            "name": "setCoordinatesAreaLeft",
            "required": false
          },
          {
            "name": "setCoordinatesAreaTop",
            "required": false
          },
          {
            "name": "setCoordinatesAreaRight",
            "required": false
          },
          {
            "name": "setCoordinatesAreaBottom",
            "required": false
          },
          {
            "name": "setCoordinatesPointXVariableName",
            "required": false
          },
          {
            "name": "setCoordinatesPointYVariableName",
            "required": false
          },
          {
            "name": "setCoordinatesAreaLeftVariableName",
            "required": false
          },
          {
            "name": "setCoordinatesAreaTopVariableName",
            "required": false
          },
          {
            "name": "setCoordinatesAreaRightVariableName",
            "required": false
          },
          {
            "name": "setCoordinatesAreaBottomVariableName",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ]
      },
      {
        "position": 70,
        "type": "state_get",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "stateGetFrames",
            "required": false
          },
          {
            "name": "stateGetOutputs",
            "required": false
          },
          {
            "name": "stateGetSampleTimeMsValue",
            "required": false
          }
        ],
        "variants": [
          {
            "when": {
              "type": "state_get"
            },
            "contains": {
              "stateGetFrames": {
                "key": "network_traffic",
                "enabled": true
              }
            },
            "fields": {
              "stateGetFrames": {
                "required": true
              },
              "stateGetOutputs": {
                "required": false
              },
              "stateGetSampleTimeMsValue": {
                "required": true,
                "tokenBounds": {
                  "kind": "integer_literal",
                  "minimum": 250,
                  "maximum": 60000,
                  "allowBlank": false
                }
              }
            }
          },
          {
            "when": {
              "type": "state_get"
            },
            "notContains": {
              "stateGetFrames": {
                "key": "network_traffic",
                "enabled": true
              }
            },
            "fields": {
              "stateGetFrames": {
                "required": true
              },
              "stateGetOutputs": {
                "required": false
              },
              "stateGetSampleTimeMsValue": {
                "required": false
              }
            }
          }
        ],
        "mutationRequiredFields": [
          "stateGetFrames",
          "stateGetOutputs",
          "stateGetSampleTimeMsValue"
        ]
      },
      {
        "position": 71,
        "type": "use_action",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "useActionMode",
            "required": false
          },
          {
            "name": "useActionFacts",
            "required": false
          },
          {
            "name": "variableShared",
            "required": false
          }
        ],
        "mutationRequiredFields": [
          "useActionMode",
          "useActionFacts"
        ]
      },
      {
        "position": 72,
        "type": "gestures",
        "fields": [
          {
            "name": "id",
            "required": true
          },
          {
            "name": "type",
            "required": true
          },
          {
            "name": "nickname",
            "required": true
          },
          {
            "name": "disabled",
            "required": true
          },
          {
            "name": "gestureLanes",
            "required": false
          }
        ],
        "mutationRequiredFields": [
          "gestureLanes"
        ]
      }
    ],
    "routes": [
      {
        "position": 1,
        "method": "GET",
        "path": "/health",
        "request": {
          "type": "object",
          "properties": {},
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "type": "object",
          "properties": {
            "ok": {
              "$ref": "boolean"
            },
            "apiVersion": {
              "$ref": "int32"
            },
            "surface": {
              "$ref": "string"
            },
            "sessionId": {
              "$ref": "int64"
            },
            "APP_BUSY": {
              "$ref": "int32"
            },
            "routes": {
              "type": "array",
              "items": {
                "$ref": "string"
              }
            },
            "scriptUpload": {
              "type": "object",
              "properties": {
                "method": {
                  "$ref": "string"
                },
                "path": {
                  "$ref": "string"
                },
                "createExample": {
                  "type": "object",
                  "properties": {
                    "scripts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "clientId": {
                            "$ref": "exactTrimmedNonEmptyString"
                          },
                          "addressedScriptId": {
                            "$ref": "exactTrimmedNonEmptyString"
                          },
                          "script": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "$ref": "exactTrimmedNonEmptyString"
                              },
                              "name": {
                                "$ref": "exactTrimmedNonEmptyString"
                              },
                              "folderId": {
                                "$ref": "exactTrimmedString"
                              },
                              "disabled": {
                                "$ref": "boolean"
                              },
                              "executionOrientation": {
                                "$ref": "executionOrientation"
                              },
                              "executionSurface": {
                                "$ref": "executionSurface"
                              },
                              "desktopCoordinateFrame": {
                                "$ref": "desktopCoordinateFrame"
                              },
                              "commands": {
                                "type": "array",
                                "items": {
                                  "$ref": "#/command"
                                }
                              }
                            },
                            "required": [
                              "name",
                              "folderId",
                              "disabled",
                              "executionOrientation",
                              "executionSurface",
                              "commands"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "clientId",
                          "script"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "deleteScriptIds": {
                      "$ref": "stringArray"
                    },
                    "folders": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "$ref": "string"
                          },
                          "name": {
                            "$ref": "string"
                          },
                          "parentId": {
                            "$ref": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "parentId"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "scripts"
                  ],
                  "additionalProperties": false
                },
                "replaceExample": {
                  "type": "object",
                  "properties": {
                    "scripts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "clientId": {
                            "$ref": "exactTrimmedNonEmptyString"
                          },
                          "addressedScriptId": {
                            "$ref": "exactTrimmedNonEmptyString"
                          },
                          "script": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "$ref": "exactTrimmedNonEmptyString"
                              },
                              "name": {
                                "$ref": "exactTrimmedNonEmptyString"
                              },
                              "folderId": {
                                "$ref": "exactTrimmedString"
                              },
                              "disabled": {
                                "$ref": "boolean"
                              },
                              "executionOrientation": {
                                "$ref": "executionOrientation"
                              },
                              "executionSurface": {
                                "$ref": "executionSurface"
                              },
                              "desktopCoordinateFrame": {
                                "$ref": "desktopCoordinateFrame"
                              },
                              "commands": {
                                "type": "array",
                                "items": {
                                  "$ref": "#/command"
                                }
                              }
                            },
                            "required": [
                              "name",
                              "folderId",
                              "disabled",
                              "executionOrientation",
                              "executionSurface",
                              "commands"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "clientId",
                          "script"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "deleteScriptIds": {
                      "$ref": "stringArray"
                    },
                    "folders": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "$ref": "string"
                          },
                          "name": {
                            "$ref": "string"
                          },
                          "parentId": {
                            "$ref": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "parentId"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "scripts"
                  ],
                  "additionalProperties": false
                },
                "documentation": {
                  "type": "object",
                  "properties": {
                    "builderPrompt": {
                      "$ref": "string"
                    },
                    "functionReference": {
                      "$ref": "string"
                    },
                    "jsonContract": {
                      "$ref": "string"
                    }
                  },
                  "required": [
                    "builderPrompt",
                    "functionReference",
                    "jsonContract"
                  ],
                  "additionalProperties": false
                },
                "acceptedCommandFields": {
                  "$ref": "#/commandFieldInventory"
                },
                "rules": {
                  "$ref": "stringArray"
                },
                "acceptedResponse": {
                  "type": "object",
                  "properties": {
                    "accepted": {
                      "$ref": "boolean"
                    },
                    "message": {
                      "$ref": "string"
                    },
                    "scriptIdMap": {
                      "type": "object",
                      "properties": {},
                      "required": [],
                      "additionalProperties": {
                        "$ref": "string"
                      }
                    }
                  },
                  "required": [
                    "accepted",
                    "message",
                    "scriptIdMap"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "method",
                "path",
                "createExample",
                "replaceExample",
                "documentation",
                "acceptedCommandFields",
                "rules",
                "acceptedResponse"
              ],
              "additionalProperties": false
            },
            "screenshotExposure": {
              "type": "object",
              "properties": {
                "enabled": {
                  "$ref": "boolean"
                },
                "defaultEnabled": {
                  "$ref": "boolean"
                },
                "userSet": {
                  "$ref": "boolean"
                },
                "readOnly": {
                  "$ref": "boolean"
                },
                "settingsPath": {
                  "$ref": "string"
                },
                "disabledError": {
                  "$ref": "string"
                },
                "gatedRoutes": {
                  "$ref": "stringArray"
                }
              },
              "required": [
                "enabled",
                "defaultEnabled",
                "userSet",
                "readOnly",
                "settingsPath",
                "disabledError",
                "gatedRoutes"
              ],
              "additionalProperties": false
            },
            "commandContractSchemaVersion": {
              "$ref": "string"
            },
            "commandContractSha256": {
              "$ref": "string"
            },
            "commandContract": {
              "$ref": "#"
            },
            "routeInventory": {
              "$ref": "#/routes"
            }
          },
          "required": [
            "ok",
            "apiVersion",
            "surface",
            "sessionId",
            "APP_BUSY",
            "routes",
            "scriptUpload",
            "screenshotExposure",
            "commandContractSchemaVersion",
            "commandContractSha256",
            "commandContract",
            "routeInventory"
          ],
          "additionalProperties": false
        }
      },
      {
        "position": 2,
        "method": "GET",
        "path": "/scripts",
        "request": {
          "type": "object",
          "properties": {},
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "type": "object",
          "properties": {
            "ok": {
              "$ref": "boolean"
            },
            "apiVersion": {
              "$ref": "int32"
            },
            "generation": {
              "$ref": "int64"
            },
            "scripts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "$ref": "string"
                  },
                  "name": {
                    "$ref": "string"
                  },
                  "folderId": {
                    "$ref": "string"
                  },
                  "disabled": {
                    "$ref": "boolean"
                  },
                  "commandCount": {
                    "$ref": "int32"
                  },
                  "contentRevision": {
                    "$ref": "int64"
                  },
                  "callTargets": {
                    "$ref": "stringArray"
                  },
                  "assets": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "scriptId": {
                          "$ref": "string"
                        },
                        "assetId": {
                          "$ref": "string"
                        },
                        "name": {
                          "$ref": "string"
                        },
                        "relativePath": {
                          "$ref": "string"
                        },
                        "revision": {
                          "$ref": "int64"
                        },
                        "byteCount": {
                          "$ref": "int64"
                        },
                        "sha256": {
                          "$ref": "string"
                        }
                      },
                      "required": [
                        "scriptId",
                        "assetId",
                        "name",
                        "relativePath",
                        "revision",
                        "byteCount",
                        "sha256"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "folderId",
                  "disabled",
                  "commandCount",
                  "contentRevision",
                  "callTargets",
                  "assets"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "ok",
            "apiVersion",
            "generation",
            "scripts"
          ],
          "additionalProperties": false
        }
      },
      {
        "position": 3,
        "method": "GET",
        "path": "/scripts/{id}",
        "request": {
          "type": "object",
          "properties": {},
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "type": "object",
          "properties": {
            "ok": {
              "$ref": "boolean"
            },
            "apiVersion": {
              "$ref": "int32"
            },
            "script": {
              "type": "object",
              "properties": {},
              "required": [],
              "additionalProperties": true
            }
          },
          "required": [
            "ok",
            "apiVersion",
            "script"
          ],
          "additionalProperties": false
        }
      },
      {
        "position": 4,
        "method": "GET",
        "path": "/logs",
        "request": {
          "type": "object",
          "properties": {
            "scriptId": {
              "$ref": "string"
            },
            "status": {
              "$ref": "string"
            },
            "limit": {
              "$ref": "int32"
            },
            "cursor": {
              "$ref": "int32"
            },
            "includeRunning": {
              "$ref": "boolean"
            }
          },
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "type": "object",
          "properties": {
            "ok": {
              "$ref": "boolean"
            },
            "apiVersion": {
              "$ref": "int32"
            },
            "contractVersion": {
              "$ref": "string"
            },
            "pathIncluded": {
              "$ref": "boolean"
            },
            "bytesIncluded": {
              "$ref": "boolean"
            },
            "warnings": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "code": {
                    "$ref": "string"
                  },
                  "message": {
                    "$ref": "string"
                  },
                  "requestedSinceSeq": {
                    "$ref": "int32"
                  },
                  "earliestRetainedSeq": {
                    "$ref": "int32"
                  },
                  "limit": {
                    "$ref": "int32"
                  },
                  "droppedCriticalEventCount": {
                    "$ref": "int32"
                  },
                  "droppedCriticalKinds": {
                    "$ref": "stringArray"
                  }
                },
                "required": [
                  "code",
                  "message"
                ],
                "additionalProperties": false
              }
            },
            "runs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "runId": {
                    "$ref": "string"
                  },
                  "scriptId": {
                    "$ref": "string"
                  },
                  "scriptName": {
                    "$ref": "string"
                  },
                  "startedAtMs": {
                    "$ref": "int64"
                  },
                  "endedAtMs": {
                    "oneOf": [
                      {
                        "$ref": "int64"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "durationMs": {
                    "oneOf": [
                      {
                        "$ref": "int64"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "producerDurationMs": {
                    "oneOf": [
                      {
                        "$ref": "int64"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "status": {
                    "$ref": "string"
                  },
                  "pending": {
                    "$ref": "boolean"
                  },
                  "finalizing": {
                    "$ref": "boolean"
                  },
                  "finalized": {
                    "$ref": "boolean"
                  },
                  "durable": {
                    "$ref": "boolean"
                  },
                  "durability": {
                    "$ref": "string"
                  },
                  "loggingMode": {
                    "$ref": "string"
                  },
                  "loggingDetailMode": {
                    "$ref": "string"
                  },
                  "verboseDetailIncluded": {
                    "$ref": "boolean"
                  },
                  "eventCount": {
                    "$ref": "int32"
                  },
                  "maxSeq": {
                    "$ref": "int32"
                  },
                  "droppedEventCount": {
                    "$ref": "int32"
                  },
                  "retainedCommandLimit": {
                    "$ref": "int32"
                  },
                  "retainedCommandStartCount": {
                    "$ref": "int32"
                  },
                  "suppressedEventCount": {
                    "$ref": "int32"
                  },
                  "variableWriteCount": {
                    "$ref": "int64"
                  },
                  "variableWriteTimelineEmittedCount": {
                    "$ref": "int64"
                  },
                  "variableWriteCoalescedCount": {
                    "$ref": "int64"
                  },
                  "variableWriteSuppressedCount": {
                    "$ref": "int64"
                  },
                  "verboseVariableWriteSuppressedCount": {
                    "$ref": "int64"
                  },
                  "arrayWriteCount": {
                    "$ref": "int64"
                  },
                  "verboseVariableTimelineEnabled": {
                    "$ref": "boolean"
                  },
                  "verboseVariableTimelineCap": {
                    "$ref": "int32"
                  },
                  "verboseVariableTimelineSampled": {
                    "$ref": "boolean"
                  },
                  "runtimeProfile": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": true
                  },
                  "warningCount": {
                    "$ref": "int32"
                  },
                  "errorCount": {
                    "$ref": "int32"
                  },
                  "finalVariableCount": {
                    "$ref": "int32"
                  },
                  "finalScalarCount": {
                    "$ref": "int32"
                  },
                  "finalArrayCount": {
                    "$ref": "int32"
                  },
                  "childRunCount": {
                    "$ref": "int32"
                  },
                  "hasMoreEvents": {
                    "$ref": "boolean"
                  },
                  "snapshot": {
                    "type": "object",
                    "properties": {
                      "screen": {
                        "type": "object",
                        "properties": {},
                        "required": [],
                        "additionalProperties": true
                      },
                      "script": {
                        "type": "object",
                        "properties": {},
                        "required": [],
                        "additionalProperties": true
                      },
                      "commandCount": {
                        "$ref": "int32"
                      }
                    },
                    "required": [
                      "screen",
                      "script",
                      "commandCount"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "runId",
                  "scriptId",
                  "scriptName",
                  "startedAtMs",
                  "endedAtMs",
                  "durationMs",
                  "producerDurationMs",
                  "status",
                  "pending",
                  "finalizing",
                  "finalized",
                  "durable",
                  "durability",
                  "loggingMode",
                  "loggingDetailMode",
                  "verboseDetailIncluded",
                  "eventCount",
                  "maxSeq",
                  "droppedEventCount",
                  "retainedCommandLimit",
                  "retainedCommandStartCount",
                  "suppressedEventCount",
                  "variableWriteCount",
                  "variableWriteTimelineEmittedCount",
                  "variableWriteCoalescedCount",
                  "variableWriteSuppressedCount",
                  "verboseVariableWriteSuppressedCount",
                  "arrayWriteCount",
                  "verboseVariableTimelineEnabled",
                  "verboseVariableTimelineCap",
                  "verboseVariableTimelineSampled",
                  "runtimeProfile",
                  "warningCount",
                  "errorCount",
                  "finalVariableCount",
                  "finalScalarCount",
                  "finalArrayCount",
                  "childRunCount",
                  "hasMoreEvents",
                  "snapshot"
                ],
                "additionalProperties": false
              }
            },
            "page": {
              "type": "object",
              "properties": {
                "limit": {
                  "$ref": "int32"
                },
                "nextCursor": {
                  "oneOf": [
                    {
                      "$ref": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "hasMore": {
                  "$ref": "boolean"
                }
              },
              "required": [
                "limit",
                "nextCursor",
                "hasMore"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "ok",
            "apiVersion",
            "contractVersion",
            "pathIncluded",
            "bytesIncluded",
            "warnings",
            "runs",
            "page"
          ],
          "additionalProperties": false
        }
      },
      {
        "position": 5,
        "method": "GET",
        "path": "/logs/{runId}",
        "request": {
          "type": "object",
          "properties": {
            "eventLimit": {
              "$ref": "int32"
            },
            "eventCursor": {
              "$ref": "int32"
            },
            "cursor": {
              "$ref": "int32"
            },
            "sinceSeq": {
              "$ref": "int32"
            },
            "level": {
              "$ref": "string"
            },
            "kind": {
              "$ref": "string"
            },
            "commandId": {
              "$ref": "string"
            }
          },
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "type": "object",
          "properties": {
            "ok": {
              "$ref": "boolean"
            },
            "apiVersion": {
              "$ref": "int32"
            },
            "contractVersion": {
              "$ref": "string"
            },
            "pathIncluded": {
              "$ref": "boolean"
            },
            "bytesIncluded": {
              "$ref": "boolean"
            },
            "warnings": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "code": {
                    "$ref": "string"
                  },
                  "message": {
                    "$ref": "string"
                  },
                  "requestedSinceSeq": {
                    "$ref": "int32"
                  },
                  "earliestRetainedSeq": {
                    "$ref": "int32"
                  },
                  "limit": {
                    "$ref": "int32"
                  },
                  "droppedCriticalEventCount": {
                    "$ref": "int32"
                  },
                  "droppedCriticalKinds": {
                    "$ref": "stringArray"
                  }
                },
                "required": [
                  "code",
                  "message"
                ],
                "additionalProperties": false
              }
            },
            "summary": {
              "type": "object",
              "properties": {
                "runId": {
                  "$ref": "string"
                },
                "scriptId": {
                  "$ref": "string"
                },
                "scriptName": {
                  "$ref": "string"
                },
                "startedAtMs": {
                  "$ref": "int64"
                },
                "endedAtMs": {
                  "oneOf": [
                    {
                      "$ref": "int64"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "durationMs": {
                  "oneOf": [
                    {
                      "$ref": "int64"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "producerDurationMs": {
                  "oneOf": [
                    {
                      "$ref": "int64"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "$ref": "string"
                },
                "pending": {
                  "$ref": "boolean"
                },
                "finalizing": {
                  "$ref": "boolean"
                },
                "finalized": {
                  "$ref": "boolean"
                },
                "durable": {
                  "$ref": "boolean"
                },
                "durability": {
                  "$ref": "string"
                },
                "loggingMode": {
                  "$ref": "string"
                },
                "loggingDetailMode": {
                  "$ref": "string"
                },
                "verboseDetailIncluded": {
                  "$ref": "boolean"
                },
                "eventCount": {
                  "$ref": "int32"
                },
                "maxSeq": {
                  "$ref": "int32"
                },
                "droppedEventCount": {
                  "$ref": "int32"
                },
                "retainedCommandLimit": {
                  "$ref": "int32"
                },
                "retainedCommandStartCount": {
                  "$ref": "int32"
                },
                "suppressedEventCount": {
                  "$ref": "int32"
                },
                "variableWriteCount": {
                  "$ref": "int64"
                },
                "variableWriteTimelineEmittedCount": {
                  "$ref": "int64"
                },
                "variableWriteCoalescedCount": {
                  "$ref": "int64"
                },
                "variableWriteSuppressedCount": {
                  "$ref": "int64"
                },
                "verboseVariableWriteSuppressedCount": {
                  "$ref": "int64"
                },
                "arrayWriteCount": {
                  "$ref": "int64"
                },
                "verboseVariableTimelineEnabled": {
                  "$ref": "boolean"
                },
                "verboseVariableTimelineCap": {
                  "$ref": "int32"
                },
                "verboseVariableTimelineSampled": {
                  "$ref": "boolean"
                },
                "runtimeProfile": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "warningCount": {
                  "$ref": "int32"
                },
                "errorCount": {
                  "$ref": "int32"
                },
                "finalVariableCount": {
                  "$ref": "int32"
                },
                "finalScalarCount": {
                  "$ref": "int32"
                },
                "finalArrayCount": {
                  "$ref": "int32"
                },
                "childRunCount": {
                  "$ref": "int32"
                }
              },
              "required": [
                "runId",
                "scriptId",
                "scriptName",
                "startedAtMs",
                "endedAtMs",
                "durationMs",
                "producerDurationMs",
                "status",
                "pending",
                "finalizing",
                "finalized",
                "durable",
                "durability",
                "loggingMode",
                "loggingDetailMode",
                "verboseDetailIncluded",
                "eventCount",
                "maxSeq",
                "droppedEventCount",
                "retainedCommandLimit",
                "retainedCommandStartCount",
                "suppressedEventCount",
                "variableWriteCount",
                "variableWriteTimelineEmittedCount",
                "variableWriteCoalescedCount",
                "variableWriteSuppressedCount",
                "verboseVariableWriteSuppressedCount",
                "arrayWriteCount",
                "verboseVariableTimelineEnabled",
                "verboseVariableTimelineCap",
                "verboseVariableTimelineSampled",
                "runtimeProfile",
                "warningCount",
                "errorCount",
                "finalVariableCount",
                "finalScalarCount",
                "finalArrayCount",
                "childRunCount"
              ],
              "additionalProperties": false
            },
            "snapshot": {
              "type": "object",
              "properties": {
                "screen": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "script": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "commands": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": true
                  }
                }
              },
              "required": [
                "screen",
                "script",
                "commands"
              ],
              "additionalProperties": false
            },
            "finalVariables": {
              "type": "object",
              "properties": {
                "scalars": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "arrays": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "scalarCount": {
                  "$ref": "int32"
                },
                "arrayCount": {
                  "$ref": "int32"
                },
                "shownScalarCount": {
                  "$ref": "int32"
                },
                "shownArrayCount": {
                  "$ref": "int32"
                },
                "scalarLimit": {
                  "$ref": "int32"
                },
                "arrayLimit": {
                  "$ref": "int32"
                },
                "arraySlotLimit": {
                  "$ref": "int32"
                },
                "truncated": {
                  "$ref": "boolean"
                }
              },
              "required": [
                "scalars",
                "arrays",
                "scalarCount",
                "arrayCount",
                "shownScalarCount",
                "shownArrayCount",
                "scalarLimit",
                "arrayLimit",
                "arraySlotLimit",
                "truncated"
              ],
              "additionalProperties": false
            },
            "runtimeProfile": {
              "type": "object",
              "properties": {},
              "required": [],
              "additionalProperties": true
            },
            "events": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "seq": {
                    "$ref": "int32"
                  },
                  "timeMs": {
                    "$ref": "int64"
                  },
                  "offsetMs": {
                    "$ref": "int64"
                  },
                  "level": {
                    "$ref": "string"
                  },
                  "kind": {
                    "$ref": "string"
                  },
                  "message": {
                    "$ref": "string"
                  },
                  "scriptId": {
                    "oneOf": [
                      {
                        "$ref": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "scriptName": {
                    "oneOf": [
                      {
                        "$ref": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "commandIndex": {
                    "oneOf": [
                      {
                        "$ref": "int32"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "commandId": {
                    "oneOf": [
                      {
                        "$ref": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "commandType": {
                    "oneOf": [
                      {
                        "$ref": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "commandNickname": {
                    "oneOf": [
                      {
                        "$ref": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "commandNicknameRaw": {
                    "oneOf": [
                      {
                        "$ref": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "commandNicknameResolved": {
                    "$ref": "string"
                  },
                  "decisionId": {
                    "type": "null"
                  },
                  "causeSeq": {
                    "type": "null"
                  },
                  "triggerSeqs": {
                    "type": "array",
                    "items": {
                      "$ref": "int32"
                    }
                  },
                  "data": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": true
                  }
                },
                "required": [
                  "seq",
                  "timeMs",
                  "offsetMs",
                  "level",
                  "kind",
                  "message",
                  "scriptId",
                  "scriptName",
                  "commandIndex",
                  "commandId",
                  "commandType",
                  "commandNickname",
                  "commandNicknameRaw",
                  "commandNicknameResolved",
                  "decisionId",
                  "causeSeq",
                  "triggerSeqs",
                  "data"
                ],
                "additionalProperties": false
              }
            },
            "page": {
              "type": "object",
              "properties": {
                "limit": {
                  "$ref": "int32"
                },
                "fromSeq": {
                  "oneOf": [
                    {
                      "$ref": "int32"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "toSeq": {
                  "$ref": "int32"
                },
                "nextCursor": {
                  "oneOf": [
                    {
                      "$ref": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "hasMore": {
                  "$ref": "boolean"
                }
              },
              "required": [
                "limit",
                "fromSeq",
                "toSeq",
                "nextCursor",
                "hasMore"
              ],
              "additionalProperties": false
            },
            "capPolicy": {
              "type": "object",
              "properties": {
                "maxEvents": {
                  "$ref": "int32"
                },
                "retainedCommandLimit": {
                  "$ref": "int32"
                },
                "verboseVariableTimelineCap": {
                  "$ref": "int32"
                },
                "verboseVariableTimelineSampled": {
                  "$ref": "boolean"
                },
                "retainedCommandStartCount": {
                  "$ref": "int32"
                },
                "retentionRule": {
                  "$ref": "string"
                },
                "criticalEventsPreserved": {
                  "$ref": "boolean"
                },
                "droppedCriticalEventCount": {
                  "$ref": "int32"
                },
                "droppedCriticalKinds": {
                  "$ref": "stringArray"
                }
              },
              "required": [
                "maxEvents",
                "retainedCommandLimit",
                "verboseVariableTimelineCap",
                "verboseVariableTimelineSampled",
                "retainedCommandStartCount",
                "retentionRule",
                "criticalEventsPreserved",
                "droppedCriticalEventCount",
                "droppedCriticalKinds"
              ],
              "additionalProperties": false
            },
            "variableWriteCount": {
              "$ref": "int64"
            },
            "variableWriteTimelineEmittedCount": {
              "$ref": "int64"
            },
            "variableWriteCoalescedCount": {
              "$ref": "int64"
            },
            "variableWriteSuppressedCount": {
              "$ref": "int64"
            },
            "verboseVariableWriteSuppressedCount": {
              "$ref": "int64"
            },
            "arrayWriteCount": {
              "$ref": "int64"
            },
            "verboseVariableTimelineEnabled": {
              "$ref": "boolean"
            },
            "verboseVariableTimelineSampled": {
              "$ref": "boolean"
            },
            "verboseVariableTimelineCap": {
              "$ref": "int32"
            }
          },
          "required": [
            "ok",
            "apiVersion",
            "contractVersion",
            "pathIncluded",
            "bytesIncluded",
            "warnings",
            "summary",
            "snapshot",
            "finalVariables",
            "runtimeProfile",
            "events",
            "page",
            "capPolicy",
            "variableWriteCount",
            "variableWriteTimelineEmittedCount",
            "variableWriteCoalescedCount",
            "variableWriteSuppressedCount",
            "verboseVariableWriteSuppressedCount",
            "arrayWriteCount",
            "verboseVariableTimelineEnabled",
            "verboseVariableTimelineSampled",
            "verboseVariableTimelineCap"
          ],
          "additionalProperties": false
        }
      },
      {
        "position": 6,
        "method": "GET",
        "path": "/screenshots",
        "request": {
          "type": "object",
          "properties": {},
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "type": "object",
          "properties": {
            "ok": {
              "$ref": "boolean"
            },
            "apiVersion": {
              "$ref": "int32"
            },
            "screenshots": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "$ref": "string"
                  },
                  "name": {
                    "$ref": "string"
                  },
                  "createdAtMillis": {
                    "$ref": "int64"
                  },
                  "updatedAtMillis": {
                    "$ref": "int64"
                  },
                  "lastModifiedMillis": {
                    "$ref": "int64"
                  },
                  "sizeBytes": {
                    "$ref": "int64"
                  },
                  "width": {
                    "$ref": "int32"
                  },
                  "height": {
                    "$ref": "int32"
                  },
                  "contentType": {
                    "$ref": "string"
                  },
                  "path": {
                    "$ref": "string"
                  },
                  "detailEndpoint": {
                    "$ref": "string"
                  },
                  "pathIncluded": {
                    "$ref": "boolean"
                  },
                  "hasRuntimeMetadata": {
                    "$ref": "boolean"
                  },
                  "hasRunMetadata": {
                    "$ref": "boolean"
                  },
                  "hasCommandMetadata": {
                    "$ref": "boolean"
                  },
                  "metadata": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": true
                  },
                  "sourceKind": {
                    "$ref": "string"
                  },
                  "runId": {
                    "$ref": "string"
                  },
                  "runLogEndpoint": {
                    "$ref": "string"
                  },
                  "scriptId": {
                    "$ref": "string"
                  },
                  "scriptName": {
                    "$ref": "string"
                  },
                  "commandIndex": {
                    "$ref": "int32"
                  },
                  "commandId": {
                    "$ref": "string"
                  },
                  "commandType": {
                    "$ref": "string"
                  },
                  "commandNickname": {
                    "$ref": "string"
                  },
                  "commandNicknameRaw": {
                    "$ref": "string"
                  },
                  "commandNicknameResolved": {
                    "$ref": "string"
                  },
                  "commandDisplay": {
                    "$ref": "string"
                  },
                  "debugRecordType": {
                    "$ref": "string"
                  },
                  "coordinateSpace": {
                    "$ref": "string"
                  },
                  "captureMode": {
                    "$ref": "string"
                  },
                  "isAreaCapture": {
                    "$ref": "boolean"
                  },
                  "captureAreaText": {
                    "$ref": "string"
                  },
                  "captureAreaInputText": {
                    "$ref": "string"
                  },
                  "capturedAtMillis": {
                    "$ref": "int64"
                  },
                  "savedAtMillis": {
                    "$ref": "int64"
                  },
                  "screen": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": true
                  },
                  "coordinateSource": {
                    "$ref": "string"
                  },
                  "resolvedCoordinates": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": true
                  },
                  "captureBounds": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": true
                  },
                  "image": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": true
                  }
                },
                "required": [
                  "id",
                  "name",
                  "createdAtMillis",
                  "updatedAtMillis",
                  "lastModifiedMillis",
                  "sizeBytes",
                  "width",
                  "height",
                  "contentType",
                  "path",
                  "detailEndpoint",
                  "pathIncluded",
                  "hasRuntimeMetadata",
                  "hasRunMetadata",
                  "hasCommandMetadata",
                  "metadata"
                ],
                "additionalProperties": false
              }
            },
            "retentionLimit": {
              "$ref": "int32"
            },
            "bytesIncluded": {
              "$ref": "boolean"
            },
            "pathIncluded": {
              "$ref": "boolean"
            }
          },
          "required": [
            "ok",
            "apiVersion",
            "screenshots",
            "retentionLimit",
            "bytesIncluded",
            "pathIncluded"
          ],
          "additionalProperties": false
        }
      },
      {
        "position": 7,
        "method": "GET",
        "path": "/screenshots/{id}",
        "request": {
          "type": "object",
          "properties": {},
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "type": "object",
          "properties": {
            "ok": {
              "$ref": "boolean"
            },
            "apiVersion": {
              "$ref": "int32"
            },
            "screenshot": {
              "type": "object",
              "properties": {
                "id": {
                  "$ref": "string"
                },
                "name": {
                  "$ref": "string"
                },
                "createdAtMillis": {
                  "$ref": "int64"
                },
                "updatedAtMillis": {
                  "$ref": "int64"
                },
                "lastModifiedMillis": {
                  "$ref": "int64"
                },
                "sizeBytes": {
                  "$ref": "int64"
                },
                "width": {
                  "$ref": "int32"
                },
                "height": {
                  "$ref": "int32"
                },
                "contentType": {
                  "$ref": "string"
                },
                "path": {
                  "$ref": "string"
                },
                "detailEndpoint": {
                  "$ref": "string"
                },
                "pathIncluded": {
                  "$ref": "boolean"
                },
                "hasRuntimeMetadata": {
                  "$ref": "boolean"
                },
                "hasRunMetadata": {
                  "$ref": "boolean"
                },
                "hasCommandMetadata": {
                  "$ref": "boolean"
                },
                "metadata": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "sourceKind": {
                  "$ref": "string"
                },
                "runId": {
                  "$ref": "string"
                },
                "runLogEndpoint": {
                  "$ref": "string"
                },
                "scriptId": {
                  "$ref": "string"
                },
                "scriptName": {
                  "$ref": "string"
                },
                "commandIndex": {
                  "$ref": "int32"
                },
                "commandId": {
                  "$ref": "string"
                },
                "commandType": {
                  "$ref": "string"
                },
                "commandNickname": {
                  "$ref": "string"
                },
                "commandNicknameRaw": {
                  "$ref": "string"
                },
                "commandNicknameResolved": {
                  "$ref": "string"
                },
                "commandDisplay": {
                  "$ref": "string"
                },
                "debugRecordType": {
                  "$ref": "string"
                },
                "coordinateSpace": {
                  "$ref": "string"
                },
                "captureMode": {
                  "$ref": "string"
                },
                "isAreaCapture": {
                  "$ref": "boolean"
                },
                "captureAreaText": {
                  "$ref": "string"
                },
                "captureAreaInputText": {
                  "$ref": "string"
                },
                "capturedAtMillis": {
                  "$ref": "int64"
                },
                "savedAtMillis": {
                  "$ref": "int64"
                },
                "screen": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "coordinateSource": {
                  "$ref": "string"
                },
                "resolvedCoordinates": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "captureBounds": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                },
                "image": {
                  "type": "object",
                  "properties": {},
                  "required": [],
                  "additionalProperties": true
                }
              },
              "required": [
                "id",
                "name",
                "createdAtMillis",
                "updatedAtMillis",
                "lastModifiedMillis",
                "sizeBytes",
                "width",
                "height",
                "contentType",
                "path",
                "detailEndpoint",
                "pathIncluded",
                "hasRuntimeMetadata",
                "hasRunMetadata",
                "hasCommandMetadata",
                "metadata"
              ],
              "additionalProperties": false
            },
            "contentType": {
              "$ref": "string"
            },
            "encoding": {
              "$ref": "string"
            },
            "bytesBase64": {
              "$ref": "string"
            },
            "pathIncluded": {
              "$ref": "boolean"
            }
          },
          "required": [
            "ok",
            "apiVersion",
            "screenshot",
            "contentType",
            "encoding",
            "bytesBase64",
            "pathIncluded"
          ],
          "additionalProperties": false
        }
      },
      {
        "position": 8,
        "method": "POST",
        "path": "/scripts",
        "request": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "name": {
                  "$ref": "exactTrimmedNonEmptyString"
                },
                "folderId": {
                  "$ref": "exactTrimmedString"
                },
                "disabled": {
                  "$ref": "boolean"
                },
                "executionOrientation": {
                  "$ref": "executionOrientation"
                },
                "executionSurface": {
                  "type": "string",
                  "enum": [
                    "default"
                  ]
                },
                "desktopCoordinateFrame": {
                  "$ref": "desktopCoordinateFrame"
                },
                "commands": {
                  "type": "array",
                  "items": {
                    "$ref": "#/command"
                  }
                }
              },
              "required": [
                "name",
                "folderId",
                "disabled",
                "executionOrientation",
                "executionSurface",
                "commands"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "name": {
                  "$ref": "exactTrimmedNonEmptyString"
                },
                "folderId": {
                  "$ref": "exactTrimmedString"
                },
                "disabled": {
                  "$ref": "boolean"
                },
                "executionOrientation": {
                  "$ref": "executionOrientation"
                },
                "executionSurface": {
                  "type": "string",
                  "enum": [
                    "desktop"
                  ]
                },
                "desktopCoordinateFrame": {
                  "$ref": "desktopCoordinateFrame"
                },
                "commands": {
                  "type": "array",
                  "items": {
                    "$ref": "#/command"
                  }
                }
              },
              "required": [
                "name",
                "folderId",
                "disabled",
                "executionOrientation",
                "executionSurface",
                "desktopCoordinateFrame",
                "commands"
              ],
              "additionalProperties": false
            }
          ]
        },
        "response": {
          "oneOf": [
            {
              "$ref": "scriptCreateSuccess"
            },
            {
              "$ref": "scriptImportFailure"
            }
          ]
        }
      },
      {
        "position": 9,
        "method": "PUT",
        "path": "/scripts/{id}",
        "request": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "$ref": "exactTrimmedNonEmptyString"
                },
                "name": {
                  "$ref": "exactTrimmedNonEmptyString"
                },
                "folderId": {
                  "$ref": "exactTrimmedString"
                },
                "disabled": {
                  "$ref": "boolean"
                },
                "executionOrientation": {
                  "$ref": "executionOrientation"
                },
                "executionSurface": {
                  "type": "string",
                  "enum": [
                    "default"
                  ]
                },
                "desktopCoordinateFrame": {
                  "$ref": "desktopCoordinateFrame"
                },
                "commands": {
                  "type": "array",
                  "items": {
                    "$ref": "#/command"
                  }
                }
              },
              "required": [
                "name",
                "folderId",
                "disabled",
                "executionOrientation",
                "executionSurface",
                "commands"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "id": {
                  "$ref": "exactTrimmedNonEmptyString"
                },
                "name": {
                  "$ref": "exactTrimmedNonEmptyString"
                },
                "folderId": {
                  "$ref": "exactTrimmedString"
                },
                "disabled": {
                  "$ref": "boolean"
                },
                "executionOrientation": {
                  "$ref": "executionOrientation"
                },
                "executionSurface": {
                  "type": "string",
                  "enum": [
                    "desktop"
                  ]
                },
                "desktopCoordinateFrame": {
                  "$ref": "desktopCoordinateFrame"
                },
                "commands": {
                  "type": "array",
                  "items": {
                    "$ref": "#/command"
                  }
                }
              },
              "required": [
                "name",
                "folderId",
                "disabled",
                "executionOrientation",
                "executionSurface",
                "desktopCoordinateFrame",
                "commands"
              ],
              "additionalProperties": false
            }
          ]
        },
        "response": {
          "oneOf": [
            {
              "$ref": "scriptReplaceSuccess"
            },
            {
              "$ref": "scriptImportFailure"
            }
          ]
        }
      },
      {
        "position": 10,
        "method": "DELETE",
        "path": "/scripts/{id}",
        "request": {
          "type": "object",
          "properties": {},
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      {
        "position": 11,
        "method": "POST",
        "path": "/scripts/transaction",
        "request": {
          "type": "object",
          "properties": {
            "scripts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "clientId": {
                    "$ref": "exactTrimmedNonEmptyString"
                  },
                  "addressedScriptId": {
                    "$ref": "exactTrimmedNonEmptyString"
                  },
                  "script": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "$ref": "exactTrimmedNonEmptyString"
                          },
                          "name": {
                            "$ref": "exactTrimmedNonEmptyString"
                          },
                          "folderId": {
                            "$ref": "exactTrimmedString"
                          },
                          "disabled": {
                            "$ref": "boolean"
                          },
                          "executionOrientation": {
                            "$ref": "executionOrientation"
                          },
                          "executionSurface": {
                            "type": "string",
                            "enum": [
                              "default"
                            ]
                          },
                          "desktopCoordinateFrame": {
                            "$ref": "desktopCoordinateFrame"
                          },
                          "commands": {
                            "type": "array",
                            "items": {
                              "$ref": "#/command"
                            }
                          }
                        },
                        "required": [
                          "name",
                          "folderId",
                          "disabled",
                          "executionOrientation",
                          "executionSurface",
                          "commands"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "$ref": "exactTrimmedNonEmptyString"
                          },
                          "name": {
                            "$ref": "exactTrimmedNonEmptyString"
                          },
                          "folderId": {
                            "$ref": "exactTrimmedString"
                          },
                          "disabled": {
                            "$ref": "boolean"
                          },
                          "executionOrientation": {
                            "$ref": "executionOrientation"
                          },
                          "executionSurface": {
                            "type": "string",
                            "enum": [
                              "desktop"
                            ]
                          },
                          "desktopCoordinateFrame": {
                            "$ref": "desktopCoordinateFrame"
                          },
                          "commands": {
                            "type": "array",
                            "items": {
                              "$ref": "#/command"
                            }
                          }
                        },
                        "required": [
                          "name",
                          "folderId",
                          "disabled",
                          "executionOrientation",
                          "executionSurface",
                          "desktopCoordinateFrame",
                          "commands"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "clientId",
                  "script"
                ],
                "additionalProperties": false
              }
            },
            "deleteScriptIds": {
              "$ref": "stringArray"
            },
            "folders": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "$ref": "string"
                  },
                  "name": {
                    "$ref": "string"
                  },
                  "parentId": {
                    "$ref": "string"
                  }
                },
                "required": [
                  "id",
                  "name",
                  "parentId"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "scripts"
          ],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "$ref": "scriptTransactionSuccess"
            },
            {
              "$ref": "scriptTransactionFailure"
            }
          ]
        }
      },
      {
        "position": 12,
        "method": "POST",
        "path": "/scripts/{id}/duplicate",
        "request": {
          "type": "object",
          "properties": {},
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      {
        "position": 13,
        "method": "GET",
        "path": "/assets/{id}",
        "request": {
          "type": "object",
          "properties": {},
          "required": [],
          "additionalProperties": false
        },
        "response": {
          "type": "object",
          "properties": {
            "ok": {
              "$ref": "boolean"
            },
            "apiVersion": {
              "$ref": "int32"
            },
            "asset": {
              "type": "object",
              "properties": {
                "scriptId": {
                  "$ref": "string"
                },
                "assetId": {
                  "$ref": "string"
                },
                "name": {
                  "$ref": "string"
                },
                "relativePath": {
                  "$ref": "string"
                },
                "revision": {
                  "$ref": "int64"
                },
                "byteCount": {
                  "$ref": "int64"
                },
                "sha256": {
                  "$ref": "string"
                }
              },
              "required": [
                "scriptId",
                "assetId",
                "name",
                "relativePath",
                "revision",
                "byteCount",
                "sha256"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "ok",
            "apiVersion",
            "asset"
          ],
          "additionalProperties": false
        }
      },
      {
        "position": 14,
        "method": "POST",
        "path": "/assets/accept",
        "request": {
          "type": "object",
          "properties": {
            "scriptId": {
              "$ref": "string"
            },
            "assetId": {
              "$ref": "string"
            },
            "name": {
              "$ref": "string"
            },
            "folder": {
              "$ref": "string"
            },
            "dataBase64": {
              "$ref": "string"
            }
          },
          "required": [
            "scriptId",
            "name",
            "dataBase64"
          ],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      {
        "position": 15,
        "method": "POST",
        "path": "/assets/upload",
        "request": {
          "type": "object",
          "properties": {
            "scriptId": {
              "$ref": "string"
            },
            "assetId": {
              "$ref": "string"
            },
            "name": {
              "$ref": "string"
            },
            "folder": {
              "$ref": "string"
            },
            "dataBase64": {
              "$ref": "string"
            }
          },
          "required": [
            "scriptId",
            "name",
            "dataBase64"
          ],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      {
        "position": 16,
        "method": "POST",
        "path": "/assets/rename",
        "request": {
          "type": "object",
          "properties": {
            "scriptId": {
              "$ref": "string"
            },
            "assetId": {
              "$ref": "string"
            },
            "name": {
              "$ref": "string"
            }
          },
          "required": [
            "scriptId",
            "assetId",
            "name"
          ],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      {
        "position": 17,
        "method": "POST",
        "path": "/assets/copy",
        "request": {
          "type": "object",
          "properties": {
            "scriptId": {
              "$ref": "string"
            },
            "assetId": {
              "$ref": "string"
            },
            "destinationScriptId": {
              "$ref": "string"
            }
          },
          "required": [
            "scriptId",
            "assetId",
            "destinationScriptId"
          ],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      {
        "position": 18,
        "method": "POST",
        "path": "/assets/move",
        "request": {
          "type": "object",
          "properties": {
            "scriptId": {
              "$ref": "string"
            },
            "assetId": {
              "$ref": "string"
            },
            "destinationScriptId": {
              "$ref": "string"
            }
          },
          "required": [
            "scriptId",
            "assetId",
            "destinationScriptId"
          ],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      {
        "position": 19,
        "method": "POST",
        "path": "/assets/place",
        "request": {
          "type": "object",
          "properties": {
            "scriptId": {
              "$ref": "string"
            },
            "assetId": {
              "$ref": "string"
            },
            "path": {
              "$ref": "string"
            }
          },
          "required": [
            "scriptId",
            "assetId",
            "path"
          ],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      {
        "position": 20,
        "method": "POST",
        "path": "/assets/delete",
        "request": {
          "type": "object",
          "properties": {
            "scriptId": {
              "$ref": "string"
            },
            "assetId": {
              "$ref": "string"
            }
          },
          "required": [
            "scriptId",
            "assetId"
          ],
          "additionalProperties": false
        },
        "response": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "generation"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "ok": {
                  "$ref": "boolean"
                },
                "apiVersion": {
                  "$ref": "int32"
                },
                "kind": {
                  "$ref": "string"
                },
                "status": {
                  "$ref": "string"
                },
                "generation": {
                  "$ref": "int64"
                },
                "faults": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "$ref": "string"
                      },
                      "location": {
                        "$ref": "string"
                      },
                      "detail": {
                        "$ref": "string"
                      }
                    },
                    "required": [
                      "code",
                      "location",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ok",
                "apiVersion",
                "kind",
                "status",
                "faults"
              ],
              "additionalProperties": false
            }
          ]
        }
      }
    ]
  }
}
