Workflow
Specifies agent orchestration, graph structure, IO, and error handling.
| Field | Value |
|---|---|
| $id | https://vibespec.vibecodeunited.com/schema/workflow.schema.json |
| vibespecVersion | 0.1.0 |
{
"$id": "https://vibespec.vibecodeunited.com/schema/workflow.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Workflow",
"vibespecVersion": "0.1.0",
"description": "Specifies agent orchestration, graph structure, IO, and error handling.",
"type": "object",
"required": [
"name",
"version",
"graph"
],
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"graph": {
"type": "object",
"required": [
"nodes",
"edges"
],
"properties": {
"nodes": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"agent"
],
"properties": {
"id": {
"type": "string"
},
"agent": {
"type": "string"
},
"params": {
"type": "object"
}
},
"additionalProperties": false
}
},
"edges": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"condition": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"io": {
"type": "object",
"properties": {
"inputs": {
"type": "array",
"items": {
"$ref": "#/$defs/io"
}
},
"outputs": {
"type": "array",
"items": {
"$ref": "#/$defs/io"
}
}
},
"additionalProperties": false
},
"error_handling": {
"type": "object",
"properties": {
"retry": {
"type": "object",
"properties": {
"max_attempts": {
"type": "integer",
"minimum": 0
},
"backoff_ms": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
},
"fallbacks": {
"type": "array",
"items": {
"type": "object",
"required": [
"from_node",
"to_node"
],
"properties": {
"from_node": {
"type": "string"
},
"to_node": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"extensions": {
"type": "object"
}
},
"$defs": {
"io": {
"type": "object",
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}