/**
* Tool Registry
* Central registry of all available tools and handlers
*/
import { pingTool, pingToolDefinition } from "./ping.js";
import { systemInfoTool, systemInfoToolDefinition } from "./system_info.js";
import { gitStatusTool, gitStatusToolDefinition } from "./git_status.js";
import { fileReaderTool, fileReaderToolDefinition } from "./file_reader.js";
const registry = {
ping: {
definition: pingToolDefinition,
handler: pingTool,
},
system_info: {
definition: systemInfoToolDefinition,
handler: systemInfoTool,
},
git_status: {
definition: gitStatusToolDefinition,
handler: gitStatusTool,
},
file_reader: {
definition: fileReaderToolDefinition,
handler: fileReaderTool,
},
};
/**
* Get all registered tool definitions
*/
export function getToolDefinitions() {
return Object.values(registry).map((tool) => tool.definition);
}
/**
* Call a tool handler by name
*/
export async function callTool(toolName, args) {
const tool = registry[toolName];
if (!tool) {
throw new Error(`Tool "${toolName}" not found`);
}
return tool.handler(args);
}
/**
* Check if a tool exists
*/
export function toolExists(toolName) {
return toolName in registry;
}
//# sourceMappingURL=index.js.map