UNPKG

agentis

Version:

A TypeScript framework for building sophisticated multi-agent systems

54 lines (53 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ToolRegistry = void 0; class ToolRegistry { constructor(options = {}) { this.tools = new Map(); this.toolChains = new Map(); if (options.defaultTools) { options.defaultTools.forEach(tool => { this.registerTool(tool); }); } } registerTool(tool) { this.tools.set(tool.name, tool); } getTool(name) { return this.tools.get(name); } getTools() { return Array.from(this.tools.values()); } registerToolChain(name, tools) { this.toolChains.set(name, tools); } async executeToolChain(chainName, input) { const chain = this.toolChains.get(chainName); if (!chain) throw new Error(`Tool chain ${chainName} not found`); const results = []; const metadata = []; for (const tool of chain) { try { const result = await tool.execute(input); results.push(result); metadata.push({ toolName: tool.name, status: 'success', timestamp: Date.now() }); } catch (error) { metadata.push({ toolName: tool.name, status: 'failed', timestamp: Date.now() }); } } return { results, metadata }; } } exports.ToolRegistry = ToolRegistry;