<!--
 ⚠️  AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
 This file is automatically generated by scripts/docs-generator.js
 To make changes, edit the source TypeScript files or update the generator script
-->

[agents](../../) / [Exports](../modules) / IToolManager

# Interface: IToolManager

Tool Manager interface for tool registration and management

## Table of contents

### Methods

- [addTool](IToolManager#addtool)
- [removeTool](IToolManager#removetool)
- [getTool](IToolManager#gettool)
- [getToolSchema](IToolManager#gettoolschema)
- [getTools](IToolManager#gettools)
- [executeTool](IToolManager#executetool)
- [hasTool](IToolManager#hastool)
- [setAllowedTools](IToolManager#setallowedtools)
- [getAllowedTools](IToolManager#getallowedtools)

## Methods

### addTool

▸ **addTool**(`schema`, `executor`): `void`

Register a tool

#### Parameters

| Name       | Type                                        |
| :--------- | :------------------------------------------ |
| `schema`   | [`IToolSchema`](IToolSchema)                |
| `executor` | [`TToolExecutor`](../modules#ttoolexecutor) |

#### Returns

`void`

#### Defined in

[packages/agents/src/interfaces/manager.ts:83](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L83)

---

### removeTool

▸ **removeTool**(`name`): `void`

Remove a tool by name

#### Parameters

| Name   | Type     |
| :----- | :------- |
| `name` | `string` |

#### Returns

`void`

#### Defined in

[packages/agents/src/interfaces/manager.ts:88](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L88)

---

### getTool

▸ **getTool**(`name`): `undefined` \| [`IToolInterface`](IToolInterface)

Get tool interface by name

#### Parameters

| Name   | Type     |
| :----- | :------- |
| `name` | `string` |

#### Returns

`undefined` \| [`IToolInterface`](IToolInterface)

#### Defined in

[packages/agents/src/interfaces/manager.ts:93](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L93)

---

### getToolSchema

▸ **getToolSchema**(`name`): `undefined` \| [`IToolSchema`](IToolSchema)

Get tool schema by name

#### Parameters

| Name   | Type     |
| :----- | :------- |
| `name` | `string` |

#### Returns

`undefined` \| [`IToolSchema`](IToolSchema)

#### Defined in

[packages/agents/src/interfaces/manager.ts:98](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L98)

---

### getTools

▸ **getTools**(): [`IToolSchema`](IToolSchema)[]

Get all registered tools

#### Returns

[`IToolSchema`](IToolSchema)[]

#### Defined in

[packages/agents/src/interfaces/manager.ts:103](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L103)

---

### executeTool

▸ **executeTool**(`name`, `parameters`, `context?`): `Promise`\<[`TUniversalValue`](../modules#tuniversalvalue)\>

Execute a tool

#### Parameters

| Name         | Type                                                          |
| :----------- | :------------------------------------------------------------ |
| `name`       | `string`                                                      |
| `parameters` | [`TManagerToolParameters`](../modules#tmanagertoolparameters) |
| `context?`   | [`IToolExecutionContext`](IToolExecutionContext)              |

#### Returns

`Promise`\<[`TUniversalValue`](../modules#tuniversalvalue)\>

#### Defined in

[packages/agents/src/interfaces/manager.ts:108](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L108)

---

### hasTool

▸ **hasTool**(`name`): `boolean`

Check if tool exists

#### Parameters

| Name   | Type     |
| :----- | :------- |
| `name` | `string` |

#### Returns

`boolean`

#### Defined in

[packages/agents/src/interfaces/manager.ts:113](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L113)

---

### setAllowedTools

▸ **setAllowedTools**(`tools`): `void`

Set allowed tools (for filtering)

#### Parameters

| Name    | Type       |
| :------ | :--------- |
| `tools` | `string`[] |

#### Returns

`void`

#### Defined in

[packages/agents/src/interfaces/manager.ts:118](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L118)

---

### getAllowedTools

▸ **getAllowedTools**(): `undefined` \| `string`[]

Get allowed tools

#### Returns

`undefined` \| `string`[]

#### Defined in

[packages/agents/src/interfaces/manager.ts:123](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/manager.ts#L123)
