Skip to main content

Interface: SubagentToolOptions<TInput, TOutputSchema, TTools>

Defined in: packages/core/src/utils/subagent-tool.ts:46

Options for subagentTool.

Type Parameters

TInput

TInput extends ZodType

TOutputSchema

TOutputSchema

TTools

TTools extends Record<string, ToolDefinition | ZodToolDefinition<any, any> | Processable> = Record<string, never>

Properties

bot

bot: Baleybot<TOutputSchema, TTools>

Defined in: packages/core/src/utils/subagent-tool.ts:59

Specialist bot (typically with output: Output.object(...))


description?

optional description?: string

Defined in: packages/core/src/utils/subagent-tool.ts:57

Tool description; defaults to bot.config.goal


inputSchema

inputSchema: TInput

Defined in: packages/core/src/utils/subagent-tool.ts:61

Zod schema for tool arguments


mapInput?

optional mapInput?: (params) => string | UnifiedMessageInput

Defined in: packages/core/src/utils/subagent-tool.ts:66

Map validated tool args → child process() input. Default: prefer string query / task / input, else JSON.stringify(params).

Parameters

params

InferOutput<TInput>

Returns

string | UnifiedMessageInput


name

name: string

Defined in: packages/core/src/utils/subagent-tool.ts:55

Tool name exposed to the parent model


requiresApproval?

optional requiresApproval?: boolean | ((params) => boolean | Promise<boolean>)

Defined in: packages/core/src/utils/subagent-tool.ts:72

Require approval before the subagent runs


toModelOutput?

optional toModelOutput?: (context) => ToolModelOutput

Defined in: packages/core/src/utils/subagent-tool.ts:68

Transform tool output before it is sent back to the parent model

Parameters

context
output

InferSchemaOutput<TOutputSchema>

Returns

ToolModelOutput