UNPKG

mycoder

Version:

A command line tool using agent that can do arbitrary tasks, including coding tasks

61 lines 2.46 kB
import { getTools } from 'mycoder-agent'; function formatSchema(schema) { let output = ''; if (schema.properties) { for (const [paramName, param] of Object.entries(schema.properties)) { const required = schema.required?.includes(paramName) ? '' : ' (optional)'; const description = param.description || ''; output += `${paramName}${required}: ${description}\n`; if (param.type) { output += ` Type: ${param.type}\n`; } if (param.maxLength) { output += ` Max Length: ${param.maxLength}\n`; } if (param.additionalProperties) { output += ` Additional Properties: ${JSON.stringify(param.additionalProperties)}\n`; } } } return output; } export const command = { command: 'tools', describe: 'List all available tools and their capabilities', handler: () => { try { const tools = getTools(); console.log('Available Tools:\n'); for (const tool of tools) { // Tool name and description console.log(`${tool.name}`); console.log('-'.repeat(tool.name.length)); console.log(`Description: ${tool.description}\n`); // Parameters section console.log('Parameters:'); // Use parametersJsonSchema if available, otherwise convert from ZodSchema const parametersSchema = tool.parametersJsonSchema || tool.parameters; console.log(formatSchema(parametersSchema)); // Returns section console.log('Returns:'); if (tool.returns) { // Use returnsJsonSchema if available, otherwise convert from ZodSchema const returnsSchema = tool.returnsJsonSchema || tool.returns; console.log(formatSchema(returnsSchema)); } else { console.log(' Type: any'); console.log(' Description: Tool execution result or error\n'); } console.log(); // Add spacing between tools } } catch (error) { console.error('Error listing tools:', error); process.exit(1); } }, }; //# sourceMappingURL=tools.js.map