Input Schema Reference
Overview
Section titled “Overview”Agent-directive nodes use JSON Schema (Draft 7) to validate agent responses. Invalid responses trigger retry with validation error messages.
Basic Structure
Section titled “Basic Structure”{ "inputSchema": { "type": "object", "properties": { "field_name": { "type": "string" } }, "required": ["field_name"] }}Type Definitions
Section titled “Type Definitions”String
Section titled “String”{ "properties": { "name": { "type": "string" }, "description": { "type": "string", "minLength": 10 }, "code": { "type": "string", "maxLength": 100 } }}Number
Section titled “Number”{ "properties": { "score": { "type": "number", "minimum": 0, "maximum": 100 }, "count": { "type": "integer", "minimum": 1 } }}Boolean
Section titled “Boolean”{ "properties": { "confirmed": { "type": "boolean" } }}{ "properties": { "items": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 10 } }}Object
Section titled “Object”{ "properties": { "config": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "value": { "type": "number" } }, "required": ["enabled"] } }}Enum Constraints
Section titled “Enum Constraints”String Enum
Section titled “String Enum”{ "properties": { "status": { "type": "string", "enum": ["pending", "approved", "rejected"] }, "decision": { "type": "string", "enum": ["yes", "no"] } }}Boolean-like Enum
Section titled “Boolean-like Enum”For Russian responses:
{ "properties": { "confirmed": { "type": "string", "enum": ["да", "нет"] } }}Optional vs Required
Section titled “Optional vs Required”Required Fields
Section titled “Required Fields”{ "required": ["result", "confidence"]}Optional Fields with Default
Section titled “Optional Fields with Default”{ "properties": { "verbose": { "type": "boolean", "default": false } }}Optional Skip Pattern
Section titled “Optional Skip Pattern”{ "properties": { "result": { "type": "string" }, "skip": { "type": "string", "enum": ["yes"] } }}Agent provides either result or skip, not both.
Pattern Validation
Section titled “Pattern Validation”File Path Pattern
Section titled “File Path Pattern”{ "properties": { "file_path": { "type": "string", "pattern": "^[a-zA-Z0-9/_.-]+\\.(json|yaml|md)$" } }}Email Pattern
Section titled “Email Pattern”{ "properties": { "email": { "type": "string", "pattern": "^[^@]+@[^@]+\\.[^@]+$" } }}URL Pattern
Section titled “URL Pattern”{ "properties": { "url": { "type": "string", "pattern": "^https?://" } }}Array Validation
Section titled “Array Validation”Typed Array Items
Section titled “Typed Array Items”{ "properties": { "tags": { "type": "array", "items": { "type": "string" } } }}Object Array Items
Section titled “Object Array Items”{ "properties": { "steps": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "status": { "type": "string", "enum": ["done", "pending"] } }, "required": ["name", "status"] }, "minItems": 1 } }}Additional Properties
Section titled “Additional Properties”Strict Schema
Section titled “Strict Schema”{ "type": "object", "properties": { "result": { "type": "string" } }, "required": ["result"], "additionalProperties": false}Rejects any fields not defined in properties.
Allow Extra Fields
Section titled “Allow Extra Fields”{ "additionalProperties": true}Default behavior - allows undefined fields.
Description for Agents
Section titled “Description for Agents”Add descriptions to help agents understand fields:
{ "properties": { "quality_score": { "type": "number", "minimum": 1, "maximum": 10, "description": "Rate implementation quality from 1-10" }, "evidence": { "type": "string", "description": "Concrete proof that work is complete (test output, command results)" } }}Magic Variables
Section titled “Magic Variables”Special variable execution_note updates execution tracking:
{ "properties": { "execution_note": { "type": "string", "description": "Note to identify this execution" } }}See Magic Variables for details.
Common Patterns
Section titled “Common Patterns”Yes/No Response
Section titled “Yes/No Response”{ "type": "object", "properties": { "result": { "type": "string", "enum": ["yes", "no"] }, "reason": { "type": "string" } }, "required": ["result"]}Numeric with Evidence
Section titled “Numeric with Evidence”{ "type": "object", "properties": { "error_count": { "type": "number", "minimum": 0 }, "evidence": { "type": "string", "minLength": 10 } }, "required": ["error_count", "evidence"]}Multi-Choice
Section titled “Multi-Choice”{ "type": "object", "properties": { "action": { "type": "string", "enum": ["create", "edit", "delete", "skip"] }, "details": { "type": "string" } }, "required": ["action"]}See Also
Section titled “See Also”- Magic Variables - Special input fields
- Validation - How validation works