Interface: ToolDefinition<TInput, TOutput>
Makaio Framework / tools-core / ToolDefinition
Interface: ToolDefinition<TInput, TOutput>
Section titled “Interface: ToolDefinition<TInput, TOutput>”Defined in: ../../../tools/core/src/types.ts:190
Core tool definition interface.
A tool is a pure function with validated input/output schemas. Tools receive a MakaioContext for execution environment information.
For collections of tools (toolsets, arrays), use AnyToolDefinition which erases the type parameters to avoid TypeScript variance issues.
Example
Section titled “Example”const readFileTool: ToolDefinition<typeof ReadFileInputSchema, typeof ReadFileOutputSchema> = { metadata: { name: 'readFile', description: 'Reads a file from the filesystem', annotations: { readOnly: true }, }, inputSchema: ReadFileInputSchema, outputSchema: ReadFileOutputSchema, execute: async (input, context) => { // Implementation... return { success: true, data: content }; },};Type Parameters
Section titled “Type Parameters”TInput
Section titled “TInput”TInput extends z.ZodTypeAny = z.ZodTypeAny
Zod schema for input validation
TOutput
Section titled “TOutput”TOutput extends z.ZodTypeAny = z.ZodTypeAny
Zod schema for output validation
Properties
Section titled “Properties”inputSchema
Section titled “inputSchema”inputSchema:
TInput
Defined in: ../../../tools/core/src/types.ts:198
Zod schema for input validation
metadata
Section titled “metadata”metadata:
ToolMetadata
Defined in: ../../../tools/core/src/types.ts:195
Tool metadata (name, description, annotations)
outputSchema
Section titled “outputSchema”outputSchema:
TOutput
Defined in: ../../../tools/core/src/types.ts:201
Zod schema for output validation
Methods
Section titled “Methods”execute()
Section titled “execute()”execute(
input,context):Promise<ToolResult<output<TOutput>>>
Defined in: ../../../tools/core/src/types.ts:211
Execute the tool with validated input.
Method syntax enables bivariant checking, allowing ToolDefinition
Parameters
Section titled “Parameters”output<TInput>
Validated input matching inputSchema
context
Section titled “context”Execution context with cwd, env, platform, sessionId, adapter identity, bus, etc.
Returns
Section titled “Returns”Promise<ToolResult<output<TOutput>>>
Promise resolving to success with data or failure with error