diff options
| author | joshualitt <[email protected]> | 2025-08-06 10:50:02 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-06 17:50:02 +0000 |
| commit | 6133bea388a2de69c71a6be6f1450707f2ce4dfb (patch) | |
| tree | 367de1d618069ea80e47d7e86c4fb8f82ad032a7 /packages/core/src/tools/tool-registry.ts | |
| parent | 882a97aff998b2f19731e9966d135f1db5a59914 (diff) | |
feat(core): Introduce `DeclarativeTool` and `ToolInvocation`. (#5613)
Diffstat (limited to 'packages/core/src/tools/tool-registry.ts')
| -rw-r--r-- | packages/core/src/tools/tool-registry.ts | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/packages/core/src/tools/tool-registry.ts b/packages/core/src/tools/tool-registry.ts index e60b8f74..73b427d4 100644 --- a/packages/core/src/tools/tool-registry.ts +++ b/packages/core/src/tools/tool-registry.ts @@ -5,7 +5,7 @@ */ import { FunctionDeclaration, Schema, Type } from '@google/genai'; -import { Tool, ToolResult, BaseTool, Icon } from './tools.js'; +import { AnyDeclarativeTool, Icon, ToolResult, BaseTool } from './tools.js'; import { Config } from '../config/config.js'; import { spawn } from 'node:child_process'; import { StringDecoder } from 'node:string_decoder'; @@ -125,7 +125,7 @@ Signal: Signal number or \`(none)\` if no signal was received. } export class ToolRegistry { - private tools: Map<string, Tool> = new Map(); + private tools: Map<string, AnyDeclarativeTool> = new Map(); private config: Config; constructor(config: Config) { @@ -136,7 +136,7 @@ export class ToolRegistry { * Registers a tool definition. * @param tool - The tool object containing schema and execution logic. */ - registerTool(tool: Tool): void { + registerTool(tool: AnyDeclarativeTool): void { if (this.tools.has(tool.name)) { if (tool instanceof DiscoveredMCPTool) { tool = tool.asFullyQualifiedTool(); @@ -368,7 +368,7 @@ export class ToolRegistry { /** * Returns an array of all registered and discovered tool instances. */ - getAllTools(): Tool[] { + getAllTools(): AnyDeclarativeTool[] { return Array.from(this.tools.values()).sort((a, b) => a.displayName.localeCompare(b.displayName), ); @@ -377,8 +377,8 @@ export class ToolRegistry { /** * Returns an array of tools registered from a specific MCP server. */ - getToolsByServer(serverName: string): Tool[] { - const serverTools: Tool[] = []; + getToolsByServer(serverName: string): AnyDeclarativeTool[] { + const serverTools: AnyDeclarativeTool[] = []; for (const tool of this.tools.values()) { if ((tool as DiscoveredMCPTool)?.serverName === serverName) { serverTools.push(tool); @@ -390,7 +390,7 @@ export class ToolRegistry { /** * Get the definition of a specific tool. */ - getTool(name: string): Tool | undefined { + getTool(name: string): AnyDeclarativeTool | undefined { return this.tools.get(name); } } |
