tools / Exports / ToolProviderFactory
Class: ToolProviderFactory
Tool Provider Factory class
Creates and manages various types of tool providers.
Table of contents
Constructors
Methods
- createZodFunctionProvider
- createOpenAPIProvider
- createMCPProvider
- createProvider
- getProvider
- getAllProviders
- removeProvider
- getAllAvailableTools
- findProviderForTool
- callTool
Constructors
constructor
• new ToolProviderFactory(options?
): ToolProviderFactory
Parameters
Name | Type |
---|---|
options? | Object |
options.logger? | (message : string , context? : Record <string , any >) => void |
Returns
Defined in
packages/tools/src/tool-provider-factory.ts:39
Methods
createZodFunctionProvider
▸ createZodFunctionProvider(name
, tools
): ToolProvider
Create Zod Function Tool Provider
Parameters
Name | Type |
---|---|
name | string |
tools | Record <string , ZodFunctionTool <ZodObject <ZodRawShape , UnknownKeysParam , ZodTypeAny , {}, {}>>> |
Returns
Defined in
packages/tools/src/tool-provider-factory.ts:46
createOpenAPIProvider
▸ createOpenAPIProvider(name
, openApiSpec
, options?
): ToolProvider
Create OpenAPI Tool Provider
Parameters
Name | Type |
---|---|
name | string |
openApiSpec | any |
options? | Object |
options.baseUrl? | string |
Returns
Defined in
packages/tools/src/tool-provider-factory.ts:62
createMCPProvider
▸ createMCPProvider(name
, mcpClient
): ToolProvider
Create MCP Tool Provider
Parameters
Name | Type |
---|---|
name | string |
mcpClient | MCPClient |
Returns
Defined in
packages/tools/src/tool-provider-factory.ts:80
createProvider
▸ createProvider<T
>(type
, name
, config
): ToolProvider
Generic Tool Provider creation method
Type parameters
Name | Type |
---|---|
T | extends ToolProviderType |
Parameters
Name | Type |
---|---|
type | T |
name | string |
config | ToolProviderConfigs [T ] |
Returns
Defined in
packages/tools/src/tool-provider-factory.ts:93
getProvider
▸ getProvider(name
): undefined
| ToolProvider
Get registered Provider
Parameters
Name | Type |
---|---|
name | string |
Returns
undefined
| ToolProvider
Defined in
packages/tools/src/tool-provider-factory.ts:121
getAllProviders
▸ getAllProviders(): Record
<string
, ToolProvider
>
Get all registered Provider list
Returns
Record
<string
, ToolProvider
>
Defined in
packages/tools/src/tool-provider-factory.ts:128
removeProvider
▸ removeProvider(name
): boolean
Remove Provider
Parameters
Name | Type |
---|---|
name | string |
Returns
boolean
Defined in
packages/tools/src/tool-provider-factory.ts:135
getAllAvailableTools
▸ getAllAvailableTools(): Record
<string
, string
[]>
Get integrated list of available tools from all Providers
Returns
Record
<string
, string
[]>
Defined in
packages/tools/src/tool-provider-factory.ts:142
findProviderForTool
▸ findProviderForTool(toolName
): undefined
| { providerName
: string
; provider
: ToolProvider
}
Find Provider that provides specific tool
Parameters
Name | Type |
---|---|
toolName | string |
Returns
undefined
| { providerName
: string
; provider
: ToolProvider
}
Defined in
packages/tools/src/tool-provider-factory.ts:155
callTool
▸ callTool(toolName
, parameters
): Promise
<any
>
Tool call (automatically find appropriate Provider)
Parameters
Name | Type |
---|---|
toolName | string |
parameters | Record <string , any > |
Returns
Promise
<any
>