Skip to content

Commit 98d9a7a

Browse files
committed
Add optional schema for subagents' params to help models with tool calls
1 parent c36a16e commit 98d9a7a

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

common/src/tools/params/tool/spawn-agents.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,25 @@ const inputSchema = z
2323
agent_type: z.string().describe('Agent to spawn'),
2424
prompt: z.string().optional().describe('Prompt to send to the agent'),
2525
params: z
26-
.record(z.string(), z.any())
26+
.object({
27+
// Common agent fields (all optional hints — each agent validates its own required fields)
28+
command: z.string().optional().describe('Terminal command to run (basher, tmux-cli)'),
29+
what_to_summarize: z.string().optional().describe('What information from the command output is desired (basher)'),
30+
timeout_seconds: z.number().optional().describe('Timeout for command. Set to -1 for no timeout. Default 30 (basher)'),
31+
searchQueries: z.array(z.object({
32+
pattern: z.string().describe('The pattern to search for'),
33+
flags: z.string().optional().describe('Optional ripgrep flags (e.g., "-i", "-g *.ts")'),
34+
cwd: z.string().optional().describe('Optional working directory relative to project root'),
35+
maxResults: z.number().optional().describe('Max results per file. Default 15'),
36+
})).optional().describe('Array of code search queries (code-searcher)'),
37+
filePaths: z.array(z.string()).optional().describe('Relevant file paths to read (opus-agent, gpt-5-agent, thinker-with-files-gemini)'),
38+
directories: z.array(z.string()).optional().describe('Directories to search within (file-picker)'),
39+
url: z.string().optional().describe('Starting URL to navigate to (browser-use)'),
40+
prompts: z.array(z.string()).optional().describe('Array of strategy prompts (editor-multi-prompt, code-reviewer-multi-prompt)'),
41+
})
42+
.catchall(z.any())
2743
.optional()
28-
.describe('Parameters object for the agent (if any)'),
44+
.describe('Parameters object for the agent'),
2945
})
3046
.array(),
3147
),

0 commit comments

Comments
 (0)