Skip to content

Documentation / @agentick/shared / ClientToolDefinition

Interface: ClientToolDefinition

Defined in: tools.ts:237

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:265

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


description

description: string

Defined in: tools.ts:241

Tool description for the model


input

input: Record<string, unknown>

Defined in: tools.ts:243

JSON Schema for tool input


intent?

optional intent: ToolIntent

Defined in: tools.ts:250

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


name

name: string

Defined in: tools.ts:239

Tool name


output?

optional output: Record<string, unknown>

Defined in: tools.ts:245

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


requiresResponse?

optional requiresResponse: boolean

Defined in: tools.ts:255

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


timeout?

optional timeout: number

Defined in: tools.ts:260

Timeout in ms when waiting for response. Default: 30000

Released under the ISC License.