Skip to main content

FrontendToolDefinition

Agent Runtimes


Agent Runtimes / types/tools / FrontendToolDefinition

Interface: FrontendToolDefinition<TArgs, TResult>

Defined in: types/tools.ts:144

Frontend tool definition (compatible with CopilotKit useFrontendTool)

Type Parameters

TArgs

TArgs = Record<string, unknown>

TResult

TResult = unknown

Properties

description

description: string

Defined in: types/tools.ts:152

Description for the LLM


handler?

optional handler?: (args) => Promise<TResult>

Defined in: types/tools.ts:170

Handler function for frontend execution Required when location is 'frontend' (default)

Parameters

args

TArgs

Returns

Promise<TResult>


location?

optional location?: ToolLocation

Defined in: types/tools.ts:164

Execution location

Default

'frontend'

name

name: string

Defined in: types/tools.ts:149

Unique tool name


parameters

parameters: Record<string, unknown> | ToolParameter[]

Defined in: types/tools.ts:158

Parameter definitions. Accepts either CopilotKit-style ToolParameter[] or JSON Schema format.


render?

optional render?: (props) => ReactNode

Defined in: types/tools.ts:175

Optional render function for custom UI during execution

Parameters

props

ToolRenderProps<TArgs, TResult>

Returns

ReactNode


renderAndWaitForResponse?

optional renderAndWaitForResponse?: (props) => ReactNode

Defined in: types/tools.ts:181

Render function that waits for user response (HITL pattern) Mutually exclusive with 'render'

Parameters

props

ToolRenderAndWaitProps<TArgs, TResult>

Returns

ReactNode