agents / Exports / FunctionTool
Class: FunctionTool
Function tool implementation Wraps a JavaScript function as a tool with schema validation
Hierarchy
AbstractTool<TToolParameters,IToolResult>↳
FunctionTool
Implements
Table of contents
Constructors
Properties
Methods
Constructors
constructor
• new FunctionTool(schema, fn, options?): FunctionTool
Parameters
| Name | Type |
|---|---|
schema | IToolSchema |
fn | TToolExecutor |
options | IAbstractToolOptions |
Returns
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
Overrides
AbstractTool.schema
Defined in
packages/agents/src/tools/implementations/function-tool.ts:20
fn
• Readonly fn: TToolExecutor
Function to execute
Implementation of
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
| Name | Type | Description |
|---|---|---|
eventService | undefined | IEventService | EventService 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
| Name | Type | Description |
|---|---|---|
parameters | TToolParameters | Tool parameters |
context | IToolExecutionContext | Optional execution context |
Returns
Promise<IToolResult>
Promise resolving to tool result
Implementation of
Inherited from
AbstractTool.execute
Defined in
packages/agents/src/abstracts/abstract-tool.ts:184
getDescription
▸ getDescription(): string
Get tool description
Returns
string
Implementation of
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
| Name | Type |
|---|---|
parameters | TToolParameters |
Returns
boolean
Implementation of
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
| Name | Type |
|---|---|
parameters | TToolParameters |
Returns
Implementation of
IFunctionTool.validateParameters
Overrides
AbstractTool.validateParameters
Defined in
packages/agents/src/tools/implementations/function-tool.ts:104