Skip to content

Interface: DefineToolConfig<TInput, TOutput>

Makaio Framework


Makaio Framework / tools-core / DefineToolConfig

Interface: DefineToolConfig<TInput, TOutput>

Section titled “Interface: DefineToolConfig<TInput, TOutput>”

Defined in: ../../../tools/core/src/define-tool.ts:11

Configuration object for defining a tool. Provides ergonomic API for creating ToolDefinition instances.

TInput extends z.ZodTypeAny

Zod schema type for input validation

TOutput extends z.ZodTypeAny

Zod schema type for output validation

optional annotations?: object

Defined in: ../../../tools/core/src/define-tool.ts:19

Optional behavior annotations for consumers

optional destructive?: boolean

Tool may permanently delete or modify data

optional idempotent?: boolean

Calling the tool multiple times with same input has same effect

optional readOnly?: boolean

Tool only reads data, doesn’t modify anything

optional requiresApproval?: boolean

Tool execution requires user approval


description: string

Defined in: ../../../tools/core/src/define-tool.ts:16

Human-readable description of what the tool does


execute: (input, context) => Promise<ToolResult<output<TOutput>>>

Defined in: ../../../tools/core/src/define-tool.ts:33

Tool execution function.

output<TInput>

Validated input matching inputSchema

ToolExecutionContext

Execution context with cwd, env, platform, sessionId, bus, etc.

Promise<ToolResult<output<TOutput>>>

Promise resolving to success with data or failure with error


inputSchema: TInput

Defined in: ../../../tools/core/src/define-tool.ts:22

Zod schema for input validation


name: string

Defined in: ../../../tools/core/src/define-tool.ts:13

Unique tool name (identifier)


outputSchema: TOutput

Defined in: ../../../tools/core/src/define-tool.ts:25

Zod schema for output validation