Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 5 additions & 9 deletions crates/goose/src/agents/recipe_tools/dynamic_task_tools.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ pub fn create_dynamic_task_tool() -> Tool {
"properties": {
"task_parameters": {
"type": "array",
"description": "Array of tasks. Each needs 'instructions' OR 'prompt'.",
"description": "Array of tasks. Each task must have either 'instructions' OR 'prompt' field (at least one is required).",
"items": {
"type": "object",
"properties": {
// Required (one of these)
// Either instructions or prompt is required (validated at runtime)
"instructions": {
"type": "string",
"description": "Task instructions"
"description": "Task instructions (required if prompt is not provided)"
},
"prompt": {
"type": "string",
"description": "Initial prompt"
"description": "Initial prompt (required if instructions is not provided)"
},
// Optional - auto-generated if not provided
"title": {"type": "string"},
Expand Down Expand Up @@ -66,11 +66,7 @@ pub fn create_dynamic_task_tool() -> Tool {
"type": "boolean",
"description": "If true, return only the last message from the subagent (default: false, returns full conversation)"
}
},
"anyOf": [
{"required": ["instructions"]},
{"required": ["prompt"]}
]
}
},
"minItems": 1
},
Expand Down
Loading