Skip to content

agents / Exports / FunctionTool

Class: FunctionTool

Function tool implementation Wraps a JavaScript function as a tool with schema validation

Hierarchy

Implements

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new FunctionTool(schema, fn, options?): FunctionTool

Parameters

NameType
schemaIToolSchema
fnTToolExecutor
optionsIAbstractToolOptions

Returns

FunctionTool

Overrides

AbstractTool<TToolParameters, IToolResult>.constructor

Defined in

packages/agents/src/tools/implementations/function-tool.ts:23

Properties

schema

Readonly schema: IToolSchema

Tool schema

Implementation of

IFunctionTool.schema

Overrides

AbstractTool.schema

Defined in

packages/agents/src/tools/implementations/function-tool.ts:20


fn

Readonly fn: TToolExecutor

Function to execute

Implementation of

IFunctionTool.fn

Defined in

packages/agents/src/tools/implementations/function-tool.ts:21

Methods

setEventService

setEventService(eventService): void

Set EventService for post-construction injection

🎯 DEPENDENCY INJECTION: Accepts EventService as-is without transformation Caller is responsible for providing properly configured EventService

Parameters

NameTypeDescription
eventServiceundefined | IEventServiceEventService instance to use for event emission (or undefined for silent operation)

Returns

void

Inherited from

AbstractTool.setEventService

Defined in

packages/agents/src/abstracts/abstract-tool.ts:152


execute

execute(parameters, context): Promise<IToolResult>

Execute tool with simplified lifecycle

Parameters

NameTypeDescription
parametersTToolParametersTool parameters
contextIToolExecutionContextOptional execution context

Returns

Promise<IToolResult>

Promise resolving to tool result

Implementation of

IFunctionTool.execute

Inherited from

AbstractTool.execute

Defined in

packages/agents/src/abstracts/abstract-tool.ts:184


getDescription

getDescription(): string

Get tool description

Returns

string

Implementation of

IFunctionTool.getDescription

Inherited from

AbstractTool.getDescription

Defined in

packages/agents/src/abstracts/abstract-tool.ts:223


getName

getName(): string

Returns

string

Inherited from

AbstractTool.getName

Defined in

packages/agents/src/abstracts/abstract-tool.ts:227


validate

validate(parameters): boolean

Enhanced validation with detailed error reporting

Parameters

NameType
parametersTToolParameters

Returns

boolean

Implementation of

IFunctionTool.validate

Overrides

AbstractTool.validate

Defined in

packages/agents/src/tools/implementations/function-tool.ts:97


validateParameters

validateParameters(parameters): IParameterValidationResult

Validate tool parameters with detailed result

Parameters

NameType
parametersTToolParameters

Returns

IParameterValidationResult

Implementation of

IFunctionTool.validateParameters

Overrides

AbstractTool.validateParameters

Defined in

packages/agents/src/tools/implementations/function-tool.ts:104

Released under the MIT License.