Skip to content

Documentation / @agentick/shared / ClientToolDefinition

Interface: ClientToolDefinition ​

Defined in: tools.ts:201

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 ​

defaultResult? ​

optional defaultResult: ContentBlock[]

Defined in: tools.ts:229

Default result when requiresResponse is false. Default: [{ type: 'text', text: '[{name} rendered on client]' }]


description ​

description: string

Defined in: tools.ts:205

Tool description for the model


input ​

input: Record<string, unknown>

Defined in: tools.ts:207

JSON Schema for tool input


intent? ​

optional intent: ToolIntent

Defined in: tools.ts:214

Tool intent (render, action, compute). Default: RENDER (most client tools render UI)


name ​

name: string

Defined in: tools.ts:203

Tool name


output? ​

optional output: Record<string, unknown>

Defined in: tools.ts:209

Optional JSON Schema for tool output (for validation/documentation)


requiresResponse? ​

optional requiresResponse: boolean

Defined in: tools.ts:219

Whether server should wait for client response. Default: false (render tools return default result immediately)


timeout? ​

optional timeout: number

Defined in: tools.ts:224

Timeout in ms when waiting for response. Default: 30000

Released under the ISC License.