Skip to content

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 ​

PropertyTypeDescriptionDefined in
defaultResult?ContentBlock[]Default result when requiresResponse is false. Default: [{ type: 'text', text: '[{name} rendered on client]' }]packages/shared/src/tools.ts:233
descriptionstringTool description for the modelpackages/shared/src/tools.ts:209
inputRecord<string, unknown>JSON Schema for tool inputpackages/shared/src/tools.ts:211
intent?ToolIntentTool intent (render, action, compute). Default: RENDER (most client tools render UI)packages/shared/src/tools.ts:218
namestringTool namepackages/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?booleanWhether server should wait for client response. Default: false (render tools return default result immediately)packages/shared/src/tools.ts:223
timeout?numberTimeout in ms when waiting for response. Default: 30000packages/shared/src/tools.ts:228

Released under the MIT License.