AIDK API Reference / aidk-shared / ClientToolDefinition
Interface: ClientToolDefinition ​
Defined in: packages/shared/src/tools.ts:205
Client tool definition - sent by clients to declare available tools. Simplified interface for client-provided tools.
Note: This is the platform-independent structure. Backend-specific fields (like providerOptions) are added when converting to ToolDefinition.
Properties ​
| Property | Type | Description | Defined in |
|---|---|---|---|
defaultResult? | ContentBlock[] | Default result when requiresResponse is false. Default: [{ type: 'text', text: '[{name} rendered on client]' }] | packages/shared/src/tools.ts:233 |
description | string | Tool description for the model | packages/shared/src/tools.ts:209 |
input | Record<string, unknown> | JSON Schema for tool input | packages/shared/src/tools.ts:211 |
intent? | ToolIntent | Tool intent (render, action, compute). Default: RENDER (most client tools render UI) | packages/shared/src/tools.ts:218 |
name | string | Tool name | packages/shared/src/tools.ts:207 |
output? | Record<string, unknown> | Optional JSON Schema for tool output (for validation/documentation) | packages/shared/src/tools.ts:213 |
requiresResponse? | boolean | Whether server should wait for client response. Default: false (render tools return default result immediately) | packages/shared/src/tools.ts:223 |
timeout? | number | Timeout in ms when waiting for response. Default: 30000 | packages/shared/src/tools.ts:228 |