{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/yandex-workflow-language/latest.json",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/yandex-cloud/json-schema-store/master/serverless/workflows/yawl.json",
    "sourceSha256": "fcb33e2dba42d2adcecbe4997cfb48daef8fb761c78ec2e7486226dc62cc7401",
    "fileMatch": [
      "*.yawl.yaml",
      "*.yawl.yml"
    ],
    "parsers": [
      "yaml"
    ]
  },
  "$defs": {
    "Workflow": {
      "required": [
        "yawl",
        "start",
        "steps"
      ],
      "properties": {
        "yawl": {
          "pattern": "^0.1$",
          "type": "string"
        },
        "start": {
          "type": "string"
        },
        "defaultRetryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "steps": {
          "minProperties": 1,
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/yawl.Step",
            "additionalProperties": false
          }
        }
      },
      "title": "Workflow",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.AIAgent": {
      "required": [
        "agentConfig",
        "tasks"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "agentConfig": {
          "$ref": "#/$defs/yawl.AIAgentConfig",
          "additionalProperties": false
        },
        "tasks": {
          "items": {
            "$ref": "#/$defs/yawl.AIAgentTask"
          },
          "type": "array",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "AI Agent",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.AIAgentConfig": {
      "required": [
        "goal",
        "role"
      ],
      "properties": {
        "goal": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "backstory": {
          "type": "string"
        },
        "model": {
          "$ref": "#/$defs/yawl.AIAgentModel",
          "additionalProperties": false
        },
        "knowledgeSources": {
          "items": {
            "$ref": "#/$defs/yawl.KnowledgeSource"
          },
          "type": "array",
          "additionalProperties": false
        },
        "tools": {
          "items": {
            "$ref": "#/$defs/yawl.AIAgentTool"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "AI Agent Config",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.AIAgentModel": {
      "properties": {
        "name": {
          "type": "string"
        },
        "uri": {
          "type": "string"
        }
      },
      "title": "AI Agent Model",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "name"
              ]
            },
            {
              "required": [
                "uri"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.AIAgentTask": {
      "required": [
        "description"
      ],
      "properties": {
        "description": {
          "type": "string"
        },
        "result": {
          "type": "string"
        }
      },
      "title": "AI Agent Task",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.AIAgentTool": {
      "properties": {
        "mcpServer": {
          "$ref": "#/$defs/yawl.MCPServer",
          "additionalProperties": false
        }
      },
      "title": "AI Agent Tool",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "mcpServer"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.AIStudioAgent": {
      "required": [
        "promptTemplateId"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "promptTemplateId": {
          "type": "string"
        },
        "variables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "message": {
          "type": "string"
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "AI Studio Agent",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Branch": {
      "required": [
        "start",
        "steps"
      ],
      "properties": {
        "start": {
          "type": "string"
        },
        "steps": {
          "minProperties": 1,
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/yawl.Step",
            "additionalProperties": false
          }
        }
      },
      "title": "Branch",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.CatchRule": {
      "required": [
        "errorList",
        "output",
        "next"
      ],
      "properties": {
        "errorList": {
          "items": {
            "enum": [
              "ALL",
              "INVALID_INPUT",
              "CANCELLED",
              "TERMINATED",
              "TIMEOUT",
              "STEP_DATA_LIMIT_EXCEEDED",
              "STEP_NO_CHOICE_MATCHED",
              "STEP_PERMISSION_DENIED",
              "STEP_TIMEOUT",
              "STEP_INVALID_OUTPUT",
              "STEP_INTERNAL",
              "STEP_INVALID_TEMPLATE_EXPRESSION",
              "STEP_FAIL",
              "STEP_INVALID_ARGUMENT",
              "STEP_QUOTA_EXCEEDED",
              "STEP_FAILED_PRECONDITION",
              "HTTP_CALL_400",
              "HTTP_CALL_401",
              "HTTP_CALL_402",
              "HTTP_CALL_403",
              "HTTP_CALL_404",
              "HTTP_CALL_405",
              "HTTP_CALL_406",
              "HTTP_CALL_407",
              "HTTP_CALL_408",
              "HTTP_CALL_409",
              "HTTP_CALL_410",
              "HTTP_CALL_411",
              "HTTP_CALL_412",
              "HTTP_CALL_413",
              "HTTP_CALL_414",
              "HTTP_CALL_415",
              "HTTP_CALL_416",
              "HTTP_CALL_417",
              "HTTP_CALL_418",
              "HTTP_CALL_419",
              "HTTP_CALL_420",
              "HTTP_CALL_421",
              "HTTP_CALL_422",
              "HTTP_CALL_423",
              "HTTP_CALL_424",
              "HTTP_CALL_425",
              "HTTP_CALL_426",
              "HTTP_CALL_427",
              "HTTP_CALL_428",
              "HTTP_CALL_429",
              "HTTP_CALL_431",
              "HTTP_CALL_449",
              "HTTP_CALL_451",
              "HTTP_CALL_499",
              "HTTP_CALL_500",
              "HTTP_CALL_501",
              "HTTP_CALL_505",
              "HTTP_CALL_502",
              "HTTP_CALL_503",
              "HTTP_CALL_504",
              "HTTP_CALL_506",
              "HTTP_CALL_507",
              "HTTP_CALL_508",
              "HTTP_CALL_509",
              "HTTP_CALL_510",
              "HTTP_CALL_511",
              "HTTP_CALL_520",
              "HTTP_CALL_521",
              "HTTP_CALL_522",
              "HTTP_CALL_523",
              "HTTP_CALL_524",
              "HTTP_CALL_525",
              "HTTP_CALL_526",
              "GRPC_CALL_CANCELLED",
              "GRPC_CALL_DEADLINE_EXCEEDED",
              "GRPC_CALL_UNIMPLEMENTED",
              "GRPC_CALL_UNAVAILABLE",
              "GRPC_CALL_UNKNOWN",
              "GRPC_CALL_INTERNAL",
              "GRPC_CALL_RESOURCE_EXHAUSTED",
              "GRPC_CALL_UNAUTHENTICATED",
              "GRPC_CALL_INVALID_ARGUMENT",
              "GRPC_CALL_NOT_FOUND",
              "GRPC_CALL_ALREADY_EXISTS",
              "GRPC_CALL_PERMISSION_DENIED",
              "GRPC_CALL_FAILED_PRECONDITION",
              "GRPC_CALL_ABORTED",
              "GRPC_CALL_OUT_OF_RANGE",
              "GRPC_CALL_DATA_LOSS",
              "GRPC_CALL_INVALID_OPTIONS",
              "GRPC_CALL_INVALID_REFLECTION_SERVER_RESPONSE",
              "FUNCTION_CALL_INVALID_RESPONSE",
              "CONTAINER_CALL_400",
              "CONTAINER_CALL_401",
              "CONTAINER_CALL_402",
              "CONTAINER_CALL_403",
              "CONTAINER_CALL_404",
              "CONTAINER_CALL_405",
              "CONTAINER_CALL_406",
              "CONTAINER_CALL_407",
              "CONTAINER_CALL_408",
              "CONTAINER_CALL_409",
              "CONTAINER_CALL_410",
              "CONTAINER_CALL_411",
              "CONTAINER_CALL_412",
              "CONTAINER_CALL_413",
              "CONTAINER_CALL_414",
              "CONTAINER_CALL_415",
              "CONTAINER_CALL_416",
              "CONTAINER_CALL_417",
              "CONTAINER_CALL_418",
              "CONTAINER_CALL_419",
              "CONTAINER_CALL_420",
              "CONTAINER_CALL_421",
              "CONTAINER_CALL_422",
              "CONTAINER_CALL_423",
              "CONTAINER_CALL_424",
              "CONTAINER_CALL_425",
              "CONTAINER_CALL_426",
              "CONTAINER_CALL_427",
              "CONTAINER_CALL_428",
              "CONTAINER_CALL_429",
              "CONTAINER_CALL_431",
              "CONTAINER_CALL_449",
              "CONTAINER_CALL_451",
              "CONTAINER_CALL_499",
              "CONTAINER_CALL_500",
              "CONTAINER_CALL_501",
              "CONTAINER_CALL_505",
              "CONTAINER_CALL_502",
              "CONTAINER_CALL_503",
              "CONTAINER_CALL_504",
              "CONTAINER_CALL_506",
              "CONTAINER_CALL_507",
              "CONTAINER_CALL_508",
              "CONTAINER_CALL_509",
              "CONTAINER_CALL_510",
              "CONTAINER_CALL_511",
              "CONTAINER_CALL_520",
              "CONTAINER_CALL_521",
              "CONTAINER_CALL_522",
              "CONTAINER_CALL_523",
              "CONTAINER_CALL_524",
              "CONTAINER_CALL_525",
              "CONTAINER_CALL_526",
              "YDB_CALL_SERVICE_UNAVAILABLE",
              "AI_AGENT_MCP_TOOLS_BAD_CONFIGURATION",
              "AI_AGENT_MAX_ITERATIONS_REACHED",
              "DATABASE_QUERY_CONNECTION_FAILED",
              "DATABASE_QUERY_UNAVAILABLE",
              "DATABASE_QUERY_CONSTRAINT_VIOLATION",
              "DATABASE_QUERY_DEADLOCK"
            ]
          },
          "type": "array",
          "title": "Workflow Error"
        },
        "errorListMode": {
          "enum": [
            "INCLUDE",
            "EXCLUDE"
          ],
          "type": "string",
          "title": "Mode"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        }
      },
      "title": "Catch Rule",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Choice": {
      "required": [
        "condition",
        "next"
      ],
      "properties": {
        "condition": {
          "type": "string"
        },
        "next": {
          "type": "string"
        }
      },
      "title": "Choice",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.ContainerCall": {
      "required": [
        "containerId"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "containerId": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "method": {
          "enum": [
            "OPTIONS",
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "PATCH",
            "DELETE",
            "TRACE",
            "CONNECT"
          ],
          "type": "string",
          "title": "HTTP Method"
        },
        "body": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "query": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Container Call",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.DatabaseConnection": {
      "required": [
        "type",
        "host",
        "port",
        "database"
      ],
      "properties": {
        "type": {
          "enum": [
            "UNSPECIFIED",
            "MYSQL",
            "POSTGRES",
            "YDB",
            "CLICKHOUSE"
          ],
          "type": "string",
          "title": "Type"
        },
        "host": {
          "type": "string"
        },
        "port": {
          "type": "integer"
        },
        "database": {
          "type": "string"
        },
        "ssl": {
          "type": "boolean"
        },
        "simple": {
          "$ref": "#/$defs/yawl.DatabaseConnectionSimpleAuth",
          "additionalProperties": false
        },
        "iam": {
          "type": "boolean"
        }
      },
      "title": "Database Connection",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "simple"
              ]
            },
            {
              "required": [
                "iam"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.DatabaseConnectionSimpleAuth": {
      "required": [
        "username",
        "password"
      ],
      "properties": {
        "username": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      },
      "title": "Database Connection Simple Auth",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.DatabaseQuery": {
      "required": [
        "query",
        "mode"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "connection": {
          "$ref": "#/$defs/yawl.DatabaseConnection",
          "additionalProperties": false
        },
        "dsn": {
          "type": "string"
        },
        "query": {
          "type": "string"
        },
        "mode": {
          "enum": [
            "UNSPECIFIED",
            "EXEC",
            "QUERY"
          ],
          "type": "string",
          "title": "Query Mode"
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Database Query",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "connection"
              ]
            },
            {
              "required": [
                "dsn"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.Default": {
      "required": [
        "next"
      ],
      "properties": {
        "next": {
          "type": "string"
        }
      },
      "title": "Default",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Disk": {
      "required": [
        "oauthToken",
        "path"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "oauthToken": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "sharedDiskId": {
          "type": "string"
        },
        "upload": {
          "$ref": "#/$defs/yawl.DiskUpload",
          "additionalProperties": false
        },
        "download": {
          "$ref": "#/$defs/yawl.DiskDownload",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Disk",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "upload"
              ]
            },
            {
              "required": [
                "download"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.DiskDownload": {
      "properties": {
        "contentType": {
          "enum": [
            "BINARY",
            "JSON",
            "TEXT",
            "EXCEL",
            "CSV"
          ],
          "type": "string",
          "title": "Storage Content Type",
          "description": "Used for Object Storage and Yandex Disk downloads"
        }
      },
      "title": "Disk Download",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.DiskUpload": {
      "required": [
        "content"
      ],
      "properties": {
        "content": {
          "type": "string"
        },
        "contentType": {
          "enum": [
            "BINARY",
            "JSON",
            "TEXT",
            "EXCEL",
            "CSV"
          ],
          "type": "string",
          "title": "Storage Content Type",
          "description": "Used for Object Storage and Yandex Disk downloads"
        }
      },
      "title": "Disk Upload",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Fail": {
      "required": [
        "errorMessage"
      ],
      "properties": {
        "errorMessage": {
          "type": "string"
        }
      },
      "title": "Fail",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FileKnowledgeSource": {
      "required": [
        "dataSource",
        "type"
      ],
      "properties": {
        "dataSource": {
          "$ref": "#/$defs/yawl.FileKnowledgeSource.DataSource",
          "additionalProperties": false
        },
        "type": {
          "enum": [
            "UNSPECIFIED",
            "TEXT",
            "JSON",
            "CSV",
            "PDF",
            "EXCEL"
          ],
          "type": "string",
          "title": "Type"
        }
      },
      "title": "File Knowledge Source",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FileKnowledgeSource.DataSource": {
      "properties": {
        "urlSource": {
          "$ref": "#/$defs/yawl.FileKnowledgeSource.UrlDataSource",
          "additionalProperties": false
        },
        "objectStorageSource": {
          "$ref": "#/$defs/yawl.FileKnowledgeSource.ObjectStorageDataSource",
          "additionalProperties": false
        }
      },
      "title": "Data Source",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "urlSource"
              ]
            },
            {
              "required": [
                "objectStorageSource"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.FileKnowledgeSource.ObjectStorageDataSource": {
      "required": [
        "bucket",
        "object"
      ],
      "properties": {
        "bucket": {
          "type": "string"
        },
        "object": {
          "type": "string"
        }
      },
      "title": "Object Storage Data Source",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FileKnowledgeSource.UrlDataSource": {
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string"
        }
      },
      "title": "Url Data Source",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Foreach": {
      "required": [
        "input",
        "output",
        "do"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "do": {
          "$ref": "#/$defs/yawl.ForeachDo",
          "additionalProperties": false
        },
        "next": {
          "type": "string"
        },
        "concurrency": {
          "type": "integer"
        }
      },
      "title": "Foreach",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.ForeachDo": {
      "required": [
        "start",
        "steps"
      ],
      "properties": {
        "start": {
          "type": "string"
        },
        "steps": {
          "minProperties": 1,
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/yawl.Step",
            "additionalProperties": false
          }
        }
      },
      "title": "Foreach Do",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FoundationModelsCall": {
      "required": [
        "modelUrl"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "modelUrl": {
          "type": "string"
        },
        "generate": {
          "$ref": "#/$defs/yawl.FoundationModelsGenerate",
          "additionalProperties": false
        },
        "classify": {
          "$ref": "#/$defs/yawl.FoundationModelsClassify",
          "additionalProperties": false
        },
        "fewShotClassify": {
          "$ref": "#/$defs/yawl.FoundationModelsFewShotClassify",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Foundation Models Call",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "generate"
              ]
            },
            {
              "required": [
                "classify"
              ]
            },
            {
              "required": [
                "fewShotClassify"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.FoundationModelsClassify": {
      "required": [
        "text"
      ],
      "properties": {
        "text": {
          "type": "string"
        }
      },
      "title": "Foundation Models Classify",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FoundationModelsFewShotClassify": {
      "required": [
        "taskDescription",
        "text"
      ],
      "properties": {
        "taskDescription": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "labelsJson": {
          "type": "string"
        },
        "labelsArray": {
          "$ref": "#/$defs/yawl.FoundationModelsFewShotClassify.Labels",
          "additionalProperties": false
        },
        "samplesJson": {
          "type": "string"
        },
        "samplesArray": {
          "$ref": "#/$defs/yawl.FoundationModelsFewShotClassify.Samples",
          "additionalProperties": false
        }
      },
      "title": "Foundation Models Few Shot Classify",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "labelsJson"
              ]
            },
            {
              "required": [
                "labelsArray"
              ]
            }
          ]
        },
        {
          "oneOf": [
            {
              "required": [
                "samplesJson"
              ]
            },
            {
              "required": [
                "samplesArray"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.FoundationModelsFewShotClassify.Labels": {
      "required": [
        "labels"
      ],
      "properties": {
        "labels": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        }
      },
      "title": "Labels",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FoundationModelsFewShotClassify.Sample": {
      "required": [
        "text",
        "label"
      ],
      "properties": {
        "text": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "title": "Sample",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FoundationModelsFewShotClassify.Samples": {
      "required": [
        "samples"
      ],
      "properties": {
        "samples": {
          "items": {
            "$ref": "#/$defs/yawl.FoundationModelsFewShotClassify.Sample"
          },
          "minItems": 1,
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Samples",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FoundationModelsGenerate": {
      "required": [
        "temperature",
        "maxTokens"
      ],
      "properties": {
        "temperature": {
          "type": "number"
        },
        "maxTokens": {
          "type": "integer"
        },
        "json": {
          "type": "string"
        },
        "messages": {
          "$ref": "#/$defs/yawl.FoundationModelsGenerate.Messages",
          "additionalProperties": false
        },
        "reasoningOptions": {
          "$ref": "#/$defs/yawl.FoundationModelsGenerate.ReasoningOptions",
          "additionalProperties": false
        },
        "jsonSchema": {
          "type": "string"
        },
        "jsonObject": {
          "type": "boolean"
        }
      },
      "title": "Foundation Models Generate",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "json"
              ]
            },
            {
              "required": [
                "messages"
              ]
            }
          ]
        },
        {
          "oneOf": [
            {
              "required": [
                "jsonSchema"
              ]
            },
            {
              "required": [
                "jsonObject"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.FoundationModelsGenerate.Message": {
      "required": [
        "role",
        "text"
      ],
      "properties": {
        "role": {
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "title": "Message",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FoundationModelsGenerate.Messages": {
      "required": [
        "messages"
      ],
      "properties": {
        "messages": {
          "items": {
            "$ref": "#/$defs/yawl.FoundationModelsGenerate.Message"
          },
          "minItems": 1,
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Messages",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FoundationModelsGenerate.ReasoningOptions": {
      "required": [
        "mode"
      ],
      "properties": {
        "mode": {
          "enum": [
            "REASONING_MODE_UNSPECIFIED",
            "DISABLED",
            "ENABLED_HIDDEN"
          ],
          "type": "string",
          "title": "Mode"
        }
      },
      "title": "Reasoning Options",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.FunctionCall": {
      "required": [
        "functionId"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "functionId": {
          "type": "string"
        },
        "tag": {
          "type": "string"
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Function Call",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.GRPCCall": {
      "required": [
        "endpoint",
        "method"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "endpoint": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "useServiceAccount": {
          "type": "boolean"
        },
        "body": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "GRPC Call",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.HTTPCall": {
      "required": [
        "url"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "url": {
          "type": "string"
        },
        "method": {
          "enum": [
            "OPTIONS",
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "PATCH",
            "DELETE",
            "TRACE",
            "CONNECT"
          ],
          "type": "string",
          "title": "HTTP Method"
        },
        "body": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "query": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "useServiceAccount": {
          "type": "boolean"
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "HTTP Call",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.InterpolatableMap": {
      "properties": {
        "json": {
          "type": "string"
        },
        "plainValue": {
          "$ref": "#/$defs/yawl.MapValue",
          "additionalProperties": false
        }
      },
      "title": "Interpolatable Map",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "json"
              ]
            },
            {
              "required": [
                "plainValue"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.KnowledgeSource": {
      "properties": {
        "textSource": {
          "$ref": "#/$defs/yawl.TextKnowledgeSource",
          "additionalProperties": false
        },
        "fileSource": {
          "$ref": "#/$defs/yawl.FileKnowledgeSource",
          "additionalProperties": false
        }
      },
      "title": "Knowledge Source",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "textSource"
              ]
            },
            {
              "required": [
                "fileSource"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.MCPServer": {
      "required": [
        "endpoint",
        "transport"
      ],
      "properties": {
        "endpoint": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "useServiceAccount": {
          "type": "boolean"
        },
        "transport": {
          "enum": [
            "UNSPECIFIED",
            "SSE",
            "STREAMABLE"
          ],
          "type": "string",
          "title": "Transport"
        }
      },
      "title": "MCP Server",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "token"
              ]
            },
            {
              "required": [
                "useServiceAccount"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.MapValue": {
      "properties": {
        "pairs": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "title": "Map Value",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.NoOp": {
      "required": [
        "output",
        "next"
      ],
      "properties": {
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        }
      },
      "title": "No Op",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.ObjectStorage": {
      "required": [
        "bucket",
        "object"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "bucket": {
          "type": "string"
        },
        "object": {
          "type": "string"
        },
        "put": {
          "$ref": "#/$defs/yawl.ObjectStoragePut",
          "additionalProperties": false
        },
        "get": {
          "$ref": "#/$defs/yawl.ObjectStorageGet",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Object Storage",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "put"
              ]
            },
            {
              "required": [
                "get"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.ObjectStorageGet": {
      "properties": {
        "contentType": {
          "enum": [
            "BINARY",
            "JSON",
            "TEXT",
            "EXCEL",
            "CSV"
          ],
          "type": "string",
          "title": "Storage Content Type",
          "description": "Used for Object Storage and Yandex Disk downloads"
        }
      },
      "title": "Object Storage Get",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.ObjectStoragePut": {
      "required": [
        "content"
      ],
      "properties": {
        "content": {
          "type": "string"
        },
        "contentType": {
          "enum": [
            "BINARY",
            "JSON",
            "TEXT",
            "EXCEL",
            "CSV"
          ],
          "type": "string",
          "title": "Storage Content Type",
          "description": "Used for Object Storage and Yandex Disk downloads"
        }
      },
      "title": "Object Storage Put",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Organization": {
      "properties": {
        "yandexOrganizationId": {
          "type": "string"
        },
        "cloudOrganizationId": {
          "type": "string"
        }
      },
      "title": "Organization",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "yandexOrganizationId"
              ]
            },
            {
              "required": [
                "cloudOrganizationId"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.Parallel": {
      "required": [
        "branches"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "branches": {
          "minProperties": 1,
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/yawl.Branch",
            "additionalProperties": false
          }
        },
        "next": {
          "type": "string"
        },
        "concurrency": {
          "type": "integer"
        }
      },
      "title": "Parallel",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Postbox": {
      "required": [
        "fromAddress",
        "destination"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "fromAddress": {
          "type": "string"
        },
        "destination": {
          "$ref": "#/$defs/yawl.PostboxDestination",
          "additionalProperties": false
        },
        "simple": {
          "$ref": "#/$defs/yawl.PostboxSimpleMessage",
          "additionalProperties": false
        },
        "raw": {
          "$ref": "#/$defs/yawl.PostboxRawMessage",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Postbox",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "simple"
              ]
            },
            {
              "required": [
                "raw"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.PostboxBody": {
      "required": [
        "text",
        "html"
      ],
      "properties": {
        "text": {
          "$ref": "#/$defs/yawl.PostboxMessageData",
          "additionalProperties": false
        },
        "html": {
          "$ref": "#/$defs/yawl.PostboxMessageData",
          "additionalProperties": false
        }
      },
      "title": "Postbox Body",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.PostboxDestination": {
      "required": [
        "toAddresses"
      ],
      "properties": {
        "toAddresses": {
          "type": "string"
        },
        "ccAddresses": {
          "type": "string"
        }
      },
      "title": "Postbox Destination",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.PostboxMessageData": {
      "required": [
        "data",
        "charset"
      ],
      "properties": {
        "data": {
          "type": "string"
        },
        "charset": {
          "enum": [
            "CHARSET_UNSPECIFIED",
            "UTF_8",
            "ISO_8859_1",
            "SHIFT_JIS"
          ],
          "type": "string",
          "title": "Postbox Charset"
        }
      },
      "title": "Postbox Message Data",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.PostboxRawMessage": {
      "required": [
        "data"
      ],
      "properties": {
        "data": {
          "type": "string"
        }
      },
      "title": "Postbox Raw Message",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.PostboxSimpleMessage": {
      "required": [
        "subject",
        "body"
      ],
      "properties": {
        "subject": {
          "$ref": "#/$defs/yawl.PostboxMessageData",
          "additionalProperties": false
        },
        "body": {
          "$ref": "#/$defs/yawl.PostboxBody",
          "additionalProperties": false
        }
      },
      "title": "Postbox Simple Message",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.RetryPolicy": {
      "required": [
        "errorList"
      ],
      "properties": {
        "errorList": {
          "items": {
            "enum": [
              "ALL",
              "INVALID_INPUT",
              "CANCELLED",
              "TERMINATED",
              "TIMEOUT",
              "STEP_DATA_LIMIT_EXCEEDED",
              "STEP_NO_CHOICE_MATCHED",
              "STEP_PERMISSION_DENIED",
              "STEP_TIMEOUT",
              "STEP_INVALID_OUTPUT",
              "STEP_INTERNAL",
              "STEP_INVALID_TEMPLATE_EXPRESSION",
              "STEP_FAIL",
              "STEP_INVALID_ARGUMENT",
              "STEP_QUOTA_EXCEEDED",
              "STEP_FAILED_PRECONDITION",
              "HTTP_CALL_400",
              "HTTP_CALL_401",
              "HTTP_CALL_402",
              "HTTP_CALL_403",
              "HTTP_CALL_404",
              "HTTP_CALL_405",
              "HTTP_CALL_406",
              "HTTP_CALL_407",
              "HTTP_CALL_408",
              "HTTP_CALL_409",
              "HTTP_CALL_410",
              "HTTP_CALL_411",
              "HTTP_CALL_412",
              "HTTP_CALL_413",
              "HTTP_CALL_414",
              "HTTP_CALL_415",
              "HTTP_CALL_416",
              "HTTP_CALL_417",
              "HTTP_CALL_418",
              "HTTP_CALL_419",
              "HTTP_CALL_420",
              "HTTP_CALL_421",
              "HTTP_CALL_422",
              "HTTP_CALL_423",
              "HTTP_CALL_424",
              "HTTP_CALL_425",
              "HTTP_CALL_426",
              "HTTP_CALL_427",
              "HTTP_CALL_428",
              "HTTP_CALL_429",
              "HTTP_CALL_431",
              "HTTP_CALL_449",
              "HTTP_CALL_451",
              "HTTP_CALL_499",
              "HTTP_CALL_500",
              "HTTP_CALL_501",
              "HTTP_CALL_505",
              "HTTP_CALL_502",
              "HTTP_CALL_503",
              "HTTP_CALL_504",
              "HTTP_CALL_506",
              "HTTP_CALL_507",
              "HTTP_CALL_508",
              "HTTP_CALL_509",
              "HTTP_CALL_510",
              "HTTP_CALL_511",
              "HTTP_CALL_520",
              "HTTP_CALL_521",
              "HTTP_CALL_522",
              "HTTP_CALL_523",
              "HTTP_CALL_524",
              "HTTP_CALL_525",
              "HTTP_CALL_526",
              "GRPC_CALL_CANCELLED",
              "GRPC_CALL_DEADLINE_EXCEEDED",
              "GRPC_CALL_UNIMPLEMENTED",
              "GRPC_CALL_UNAVAILABLE",
              "GRPC_CALL_UNKNOWN",
              "GRPC_CALL_INTERNAL",
              "GRPC_CALL_RESOURCE_EXHAUSTED",
              "GRPC_CALL_UNAUTHENTICATED",
              "GRPC_CALL_INVALID_ARGUMENT",
              "GRPC_CALL_NOT_FOUND",
              "GRPC_CALL_ALREADY_EXISTS",
              "GRPC_CALL_PERMISSION_DENIED",
              "GRPC_CALL_FAILED_PRECONDITION",
              "GRPC_CALL_ABORTED",
              "GRPC_CALL_OUT_OF_RANGE",
              "GRPC_CALL_DATA_LOSS",
              "GRPC_CALL_INVALID_OPTIONS",
              "GRPC_CALL_INVALID_REFLECTION_SERVER_RESPONSE",
              "FUNCTION_CALL_INVALID_RESPONSE",
              "CONTAINER_CALL_400",
              "CONTAINER_CALL_401",
              "CONTAINER_CALL_402",
              "CONTAINER_CALL_403",
              "CONTAINER_CALL_404",
              "CONTAINER_CALL_405",
              "CONTAINER_CALL_406",
              "CONTAINER_CALL_407",
              "CONTAINER_CALL_408",
              "CONTAINER_CALL_409",
              "CONTAINER_CALL_410",
              "CONTAINER_CALL_411",
              "CONTAINER_CALL_412",
              "CONTAINER_CALL_413",
              "CONTAINER_CALL_414",
              "CONTAINER_CALL_415",
              "CONTAINER_CALL_416",
              "CONTAINER_CALL_417",
              "CONTAINER_CALL_418",
              "CONTAINER_CALL_419",
              "CONTAINER_CALL_420",
              "CONTAINER_CALL_421",
              "CONTAINER_CALL_422",
              "CONTAINER_CALL_423",
              "CONTAINER_CALL_424",
              "CONTAINER_CALL_425",
              "CONTAINER_CALL_426",
              "CONTAINER_CALL_427",
              "CONTAINER_CALL_428",
              "CONTAINER_CALL_429",
              "CONTAINER_CALL_431",
              "CONTAINER_CALL_449",
              "CONTAINER_CALL_451",
              "CONTAINER_CALL_499",
              "CONTAINER_CALL_500",
              "CONTAINER_CALL_501",
              "CONTAINER_CALL_505",
              "CONTAINER_CALL_502",
              "CONTAINER_CALL_503",
              "CONTAINER_CALL_504",
              "CONTAINER_CALL_506",
              "CONTAINER_CALL_507",
              "CONTAINER_CALL_508",
              "CONTAINER_CALL_509",
              "CONTAINER_CALL_510",
              "CONTAINER_CALL_511",
              "CONTAINER_CALL_520",
              "CONTAINER_CALL_521",
              "CONTAINER_CALL_522",
              "CONTAINER_CALL_523",
              "CONTAINER_CALL_524",
              "CONTAINER_CALL_525",
              "CONTAINER_CALL_526",
              "YDB_CALL_SERVICE_UNAVAILABLE",
              "AI_AGENT_MCP_TOOLS_BAD_CONFIGURATION",
              "AI_AGENT_MAX_ITERATIONS_REACHED",
              "DATABASE_QUERY_CONNECTION_FAILED",
              "DATABASE_QUERY_UNAVAILABLE",
              "DATABASE_QUERY_CONSTRAINT_VIOLATION",
              "DATABASE_QUERY_DEADLOCK"
            ]
          },
          "type": "array",
          "title": "Workflow Error"
        },
        "errorListMode": {
          "enum": [
            "INCLUDE",
            "EXCLUDE"
          ],
          "type": "string",
          "title": "Mode"
        },
        "initialDelay": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "maxDelay": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryCount": {
          "type": "integer"
        },
        "backoffRate": {
          "type": "number"
        }
      },
      "title": "Retry Policy",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.StartWorkflow": {
      "required": [
        "workflowId"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "workflowId": {
          "type": "string"
        },
        "executionInput": {
          "type": "string"
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Start Workflow",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Step": {
      "properties": {
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "switch": {
          "$ref": "#/$defs/yawl.Switch",
          "additionalProperties": false
        },
        "foreach": {
          "$ref": "#/$defs/yawl.Foreach",
          "additionalProperties": false
        },
        "parallel": {
          "$ref": "#/$defs/yawl.Parallel",
          "additionalProperties": false
        },
        "success": {
          "$ref": "#/$defs/yawl.Success",
          "additionalProperties": false
        },
        "fail": {
          "$ref": "#/$defs/yawl.Fail",
          "additionalProperties": false
        },
        "noOp": {
          "$ref": "#/$defs/yawl.NoOp",
          "additionalProperties": false
        },
        "functionCall": {
          "$ref": "#/$defs/yawl.FunctionCall",
          "additionalProperties": false
        },
        "containerCall": {
          "$ref": "#/$defs/yawl.ContainerCall",
          "additionalProperties": false
        },
        "httpCall": {
          "$ref": "#/$defs/yawl.HTTPCall",
          "additionalProperties": false
        },
        "grpcCall": {
          "$ref": "#/$defs/yawl.GRPCCall",
          "additionalProperties": false
        },
        "ydbDocument": {
          "$ref": "#/$defs/yawl.YDBDocument",
          "additionalProperties": false
        },
        "yds": {
          "$ref": "#/$defs/yawl.YDS",
          "additionalProperties": false
        },
        "ymq": {
          "$ref": "#/$defs/yawl.YMQ",
          "additionalProperties": false
        },
        "foundationModelsCall": {
          "$ref": "#/$defs/yawl.FoundationModelsCall",
          "additionalProperties": false
        },
        "objectStorage": {
          "$ref": "#/$defs/yawl.ObjectStorage",
          "additionalProperties": false
        },
        "tracker": {
          "$ref": "#/$defs/yawl.Tracker",
          "additionalProperties": false
        },
        "postbox": {
          "$ref": "#/$defs/yawl.Postbox",
          "additionalProperties": false
        },
        "wait": {
          "$ref": "#/$defs/yawl.Wait",
          "additionalProperties": false
        },
        "disk": {
          "$ref": "#/$defs/yawl.Disk",
          "additionalProperties": false
        },
        "workflow": {
          "$ref": "#/$defs/yawl.StartWorkflow",
          "additionalProperties": false
        },
        "while": {
          "$ref": "#/$defs/yawl.While",
          "additionalProperties": false
        },
        "aiAgent": {
          "$ref": "#/$defs/yawl.AIAgent",
          "additionalProperties": false
        },
        "telegramBot": {
          "$ref": "#/$defs/yawl.TelegramBot",
          "additionalProperties": false
        },
        "databaseQuery": {
          "$ref": "#/$defs/yawl.DatabaseQuery",
          "additionalProperties": false
        },
        "aiStudioAgent": {
          "$ref": "#/$defs/yawl.AIStudioAgent",
          "additionalProperties": false
        },
        "vectorStore": {
          "$ref": "#/$defs/yawl.VectorStore",
          "additionalProperties": false
        }
      },
      "title": "Step",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "switch"
              ]
            },
            {
              "required": [
                "foreach"
              ]
            },
            {
              "required": [
                "parallel"
              ]
            },
            {
              "required": [
                "success"
              ]
            },
            {
              "required": [
                "fail"
              ]
            },
            {
              "required": [
                "noOp"
              ]
            },
            {
              "required": [
                "functionCall"
              ]
            },
            {
              "required": [
                "containerCall"
              ]
            },
            {
              "required": [
                "httpCall"
              ]
            },
            {
              "required": [
                "grpcCall"
              ]
            },
            {
              "required": [
                "ydbDocument"
              ]
            },
            {
              "required": [
                "yds"
              ]
            },
            {
              "required": [
                "ymq"
              ]
            },
            {
              "required": [
                "foundationModelsCall"
              ]
            },
            {
              "required": [
                "objectStorage"
              ]
            },
            {
              "required": [
                "tracker"
              ]
            },
            {
              "required": [
                "postbox"
              ]
            },
            {
              "required": [
                "wait"
              ]
            },
            {
              "required": [
                "disk"
              ]
            },
            {
              "required": [
                "workflow"
              ]
            },
            {
              "required": [
                "while"
              ]
            },
            {
              "required": [
                "aiAgent"
              ]
            },
            {
              "required": [
                "telegramBot"
              ]
            },
            {
              "required": [
                "databaseQuery"
              ]
            },
            {
              "required": [
                "aiStudioAgent"
              ]
            },
            {
              "required": [
                "vectorStore"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.Success": {
      "title": "Success",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Switch": {
      "required": [
        "choices"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "choices": {
          "items": {
            "$ref": "#/$defs/yawl.Choice"
          },
          "type": "array",
          "additionalProperties": false
        },
        "default": {
          "$ref": "#/$defs/yawl.Default",
          "additionalProperties": false
        }
      },
      "title": "Switch",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TelegramBot": {
      "required": [
        "token"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "token": {
          "type": "string"
        },
        "sendMessage": {
          "$ref": "#/$defs/yawl.TelegramBotSendMessage",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Telegram Bot",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "sendMessage"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.TelegramBotSendMessage": {
      "required": [
        "chatId",
        "text"
      ],
      "properties": {
        "chatId": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "parseMode": {
          "enum": [
            "UNSPECIFIED",
            "MARKDOWN",
            "MARKDOWNV2",
            "HTML"
          ],
          "type": "string",
          "title": "Parse Mode"
        },
        "replyTo": {
          "type": "string"
        }
      },
      "title": "Telegram Bot Send Message",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TextKnowledgeSource": {
      "required": [
        "content"
      ],
      "properties": {
        "content": {
          "type": "string"
        }
      },
      "title": "Text Knowledge Source",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Tracker": {
      "required": [
        "oauthToken"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "endpoint": {
          "type": "string"
        },
        "oauthToken": {
          "type": "string"
        },
        "organization": {
          "$ref": "#/$defs/yawl.Organization",
          "additionalProperties": false
        },
        "getIssue": {
          "$ref": "#/$defs/yawl.TrackerGetIssue",
          "additionalProperties": false
        },
        "createIssue": {
          "$ref": "#/$defs/yawl.TrackerCreateIssue",
          "additionalProperties": false
        },
        "updateIssue": {
          "$ref": "#/$defs/yawl.TrackerUpdateIssue",
          "additionalProperties": false
        },
        "listIssues": {
          "$ref": "#/$defs/yawl.TrackerListIssues",
          "additionalProperties": false
        },
        "linkIssues": {
          "$ref": "#/$defs/yawl.TrackerLinkIssues",
          "additionalProperties": false
        },
        "updateIssueStatus": {
          "$ref": "#/$defs/yawl.TrackerUpdateIssueStatus",
          "additionalProperties": false
        },
        "createComment": {
          "$ref": "#/$defs/yawl.TrackerCreateComment",
          "additionalProperties": false
        },
        "updateComment": {
          "$ref": "#/$defs/yawl.TrackerUpdateComment",
          "additionalProperties": false
        },
        "listComments": {
          "$ref": "#/$defs/yawl.TrackerListComments",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Tracker",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "getIssue"
              ]
            },
            {
              "required": [
                "createIssue"
              ]
            },
            {
              "required": [
                "updateIssue"
              ]
            },
            {
              "required": [
                "listIssues"
              ]
            },
            {
              "required": [
                "linkIssues"
              ]
            },
            {
              "required": [
                "updateIssueStatus"
              ]
            },
            {
              "required": [
                "createComment"
              ]
            },
            {
              "required": [
                "updateComment"
              ]
            },
            {
              "required": [
                "listComments"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.TrackerCreateComment": {
      "required": [
        "key",
        "text"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "mentions": {
          "type": "string"
        }
      },
      "title": "Tracker Create Comment",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerCreateIssue": {
      "required": [
        "queue",
        "title"
      ],
      "properties": {
        "queue": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "parent": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "sprints": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "priority": {
          "type": "string"
        },
        "followers": {
          "type": "string"
        },
        "assignee": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "additionalProperties": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "title": "Tracker Create Issue",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerGetIssue": {
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string"
        }
      },
      "title": "Tracker Get Issue",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerLinkIssues": {
      "required": [
        "key",
        "linkKey",
        "relationship"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "linkKey": {
          "type": "string"
        },
        "relationship": {
          "type": "string"
        }
      },
      "title": "Tracker Link Issues",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerListComments": {
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "lastCommentId": {
          "type": "string"
        },
        "pageSize": {
          "type": "string"
        }
      },
      "title": "Tracker List Comments",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerListIssues": {
      "properties": {
        "pageSize": {
          "type": "string"
        },
        "pageNumber": {
          "type": "string"
        },
        "queue": {
          "type": "string"
        },
        "keys": {
          "type": "string"
        },
        "filter": {
          "$ref": "#/$defs/yawl.TrackerListIssues.SearchOptionsFilter",
          "additionalProperties": false
        },
        "query": {
          "type": "string"
        }
      },
      "title": "Tracker List Issues",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "queue"
              ]
            },
            {
              "required": [
                "keys"
              ]
            },
            {
              "required": [
                "filter"
              ]
            },
            {
              "required": [
                "query"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.TrackerListIssues.SearchOptionsFilter": {
      "properties": {
        "issueProperties": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "order": {
          "type": "string"
        }
      },
      "title": "Search Options Filter",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerUpdateComment": {
      "required": [
        "id",
        "issueKey",
        "text"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "issueKey": {
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "title": "Tracker Update Comment",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerUpdateIssue": {
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "parent": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "sprints": {
          "$ref": "#/$defs/yawl.TrackerUpdateIssue.Action",
          "additionalProperties": false
        },
        "type": {
          "type": "string"
        },
        "priority": {
          "type": "string"
        },
        "followers": {
          "$ref": "#/$defs/yawl.TrackerUpdateIssue.Action",
          "additionalProperties": false
        },
        "additionalProperties": {
          "$ref": "#/$defs/yawl.TrackerUpdateIssue.AdditionalProperties",
          "additionalProperties": false
        }
      },
      "title": "Tracker Update Issue",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerUpdateIssue.Action": {
      "properties": {
        "setValue": {
          "type": "string"
        },
        "addValuesList": {
          "type": "string"
        },
        "removeValuesList": {
          "type": "string"
        },
        "replaceValuesMap": {
          "$ref": "#/$defs/yawl.InterpolatableMap",
          "additionalProperties": false
        }
      },
      "title": "Action",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "setValue"
              ]
            },
            {
              "required": [
                "addValuesList"
              ]
            },
            {
              "required": [
                "removeValuesList"
              ]
            },
            {
              "required": [
                "replaceValuesMap"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.TrackerUpdateIssue.AdditionalProperties": {
      "properties": {
        "pairs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/yawl.TrackerUpdateIssue.Action",
            "additionalProperties": false
          }
        }
      },
      "title": "Additional Properties",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.TrackerUpdateIssueStatus": {
      "required": [
        "key",
        "transition"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "transition": {
          "type": "string"
        },
        "additionalProperties": {
          "$ref": "#/$defs/yawl.MapValue",
          "additionalProperties": false
        }
      },
      "title": "Tracker Update Issue Status",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.VectorStore": {
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "uploadFile": {
          "$ref": "#/$defs/yawl.VectorStore.UploadFile",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "Vector Store",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "uploadFile"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.VectorStore.UploadFile": {
      "required": [
        "vectorStoreId"
      ],
      "properties": {
        "vectorStoreId": {
          "type": "string"
        },
        "textFile": {
          "$ref": "#/$defs/yawl.VectorStore.UploadFile.TextFile",
          "additionalProperties": false
        },
        "urlFile": {
          "$ref": "#/$defs/yawl.VectorStore.UploadFile.UrlFile",
          "additionalProperties": false
        },
        "objectStorage": {
          "$ref": "#/$defs/yawl.VectorStore.UploadFile.ObjectStorage",
          "additionalProperties": false
        },
        "attributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "title": "Upload File",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "textFile"
              ]
            },
            {
              "required": [
                "urlFile"
              ]
            },
            {
              "required": [
                "objectStorage"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.VectorStore.UploadFile.ObjectStorage": {
      "required": [
        "bucket",
        "object"
      ],
      "properties": {
        "bucket": {
          "type": "string"
        },
        "object": {
          "type": "string"
        }
      },
      "title": "Object Storage",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.VectorStore.UploadFile.TextFile": {
      "required": [
        "text",
        "fileName"
      ],
      "properties": {
        "text": {
          "type": "string"
        },
        "fileName": {
          "type": "string"
        }
      },
      "title": "Text File",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.VectorStore.UploadFile.UrlFile": {
      "required": [
        "url",
        "fileName"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "fileName": {
          "type": "string"
        }
      },
      "title": "Url File",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.Wait": {
      "properties": {
        "next": {
          "type": "string"
        },
        "duration": {
          "type": "string"
        },
        "until": {
          "type": "string"
        }
      },
      "title": "Wait",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "duration"
              ]
            },
            {
              "required": [
                "until"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.While": {
      "required": [
        "do"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "do": {
          "$ref": "#/$defs/yawl.WhileDo",
          "additionalProperties": false
        },
        "condition": {
          "type": "string"
        },
        "maxIterations": {
          "type": "integer"
        },
        "next": {
          "type": "string"
        }
      },
      "title": "While",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.WhileDo": {
      "required": [
        "start",
        "steps"
      ],
      "properties": {
        "start": {
          "type": "string"
        },
        "steps": {
          "minProperties": 1,
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/yawl.Step",
            "additionalProperties": false
          }
        }
      },
      "title": "While Do",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.YDBDocument": {
      "required": [
        "database",
        "tableName"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "database": {
          "type": "string"
        },
        "tableName": {
          "type": "string"
        },
        "get": {
          "$ref": "#/$defs/yawl.YDBDocumentGet",
          "additionalProperties": false
        },
        "put": {
          "$ref": "#/$defs/yawl.YDBDocumentPut",
          "additionalProperties": false
        },
        "update": {
          "$ref": "#/$defs/yawl.YDBDocumentUpdate",
          "additionalProperties": false
        },
        "scan": {
          "$ref": "#/$defs/yawl.YDBDocumentScan",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "YDB Document",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "get"
              ]
            },
            {
              "required": [
                "put"
              ]
            },
            {
              "required": [
                "update"
              ]
            },
            {
              "required": [
                "scan"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.YDBDocumentGet": {
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string"
        }
      },
      "title": "YDB Document Get",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.YDBDocumentPut": {
      "required": [
        "item"
      ],
      "properties": {
        "item": {
          "type": "string"
        }
      },
      "title": "YDB Document Put",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.YDBDocumentScan": {
      "required": [
        "limit",
        "exclusiveStartKey"
      ],
      "properties": {
        "limit": {
          "type": "string"
        },
        "exclusiveStartKey": {
          "type": "string"
        }
      },
      "title": "YDB Document Scan",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.YDBDocumentUpdate": {
      "required": [
        "key",
        "expression"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "expression": {
          "type": "string"
        },
        "expressionAttributeValues": {
          "type": "string"
        }
      },
      "title": "YDB Document Update",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.YDS": {
      "required": [
        "database",
        "topic"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "database": {
          "type": "string"
        },
        "topic": {
          "type": "string"
        },
        "put": {
          "$ref": "#/$defs/yawl.YDSPut",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "YDS",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "put"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.YDSPut": {
      "properties": {
        "body": {
          "type": "string"
        },
        "partitionKey": {
          "type": "string"
        }
      },
      "title": "YDS Put",
      "type": "object",
      "additionalProperties": false
    },
    "yawl.YMQ": {
      "required": [
        "queueArn"
      ],
      "properties": {
        "input": {
          "type": "string"
        },
        "output": {
          "type": "string"
        },
        "next": {
          "type": "string"
        },
        "timeout": {
          "pattern": "^([0-9]+\\.?[0-9]*|\\.[0-9]+)s$",
          "type": "string",
          "format": "regex"
        },
        "retryPolicy": {
          "$ref": "#/$defs/yawl.RetryPolicy",
          "additionalProperties": false
        },
        "queueArn": {
          "type": "string"
        },
        "put": {
          "$ref": "#/$defs/yawl.YMQPut",
          "additionalProperties": false
        },
        "catch": {
          "items": {
            "$ref": "#/$defs/yawl.CatchRule"
          },
          "type": "array",
          "additionalProperties": false
        }
      },
      "title": "YMQ",
      "type": "object",
      "allOf": [
        {
          "oneOf": [
            {
              "required": [
                "put"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "yawl.YMQPut": {
      "properties": {
        "body": {
          "type": "string"
        }
      },
      "title": "YMQ Put",
      "type": "object",
      "additionalProperties": false
    }
  },
  "$ref": "#/$defs/Workflow"
}
