<!--
 ⚠️  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) / IToolRegistry

# Interface: IToolRegistry

Tool registry interface

## Implemented by

- [`ToolRegistry`](../classes/ToolRegistry)

## Table of contents

### Methods

- [register](IToolRegistry#register)
- [unregister](IToolRegistry#unregister)
- [get](IToolRegistry#get)
- [getAll](IToolRegistry#getall)
- [getSchemas](IToolRegistry#getschemas)
- [has](IToolRegistry#has)
- [clear](IToolRegistry#clear)

## Methods

### register

▸ **register**(`tool`): `void`

Register a tool

#### Parameters

| Name   | Type                               |
| :----- | :--------------------------------- |
| `tool` | [`IToolInterface`](IToolInterface) |

#### Returns

`void`

#### Defined in

[packages/agents/src/interfaces/tool.ts:245](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/tool.ts#L245)

---

### unregister

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

Unregister a tool

#### Parameters

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

#### Returns

`void`

#### Defined in

[packages/agents/src/interfaces/tool.ts:250](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/tool.ts#L250)

---

### get

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

Get tool by name

#### Parameters

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

#### Returns

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

#### Defined in

[packages/agents/src/interfaces/tool.ts:255](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/tool.ts#L255)

---

### getAll

▸ **getAll**(): [`IToolInterface`](IToolInterface)[]

Get all registered tools

#### Returns

[`IToolInterface`](IToolInterface)[]

#### Defined in

[packages/agents/src/interfaces/tool.ts:260](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/tool.ts#L260)

---

### getSchemas

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

Get tool schemas

#### Returns

[`IToolSchema`](IToolSchema)[]

#### Defined in

[packages/agents/src/interfaces/tool.ts:265](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/tool.ts#L265)

---

### has

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

Check if tool exists

#### Parameters

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

#### Returns

`boolean`

#### Defined in

[packages/agents/src/interfaces/tool.ts:270](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/tool.ts#L270)

---

### clear

▸ **clear**(): `void`

Clear all tools

#### Returns

`void`

#### Defined in

[packages/agents/src/interfaces/tool.ts:275](https://github.com/woojubb/robota/blob/4f4c8a3197e92ddd43d12dc9186b0771983054c9/packages/agents/src/interfaces/tool.ts#L275)
