companyListTool.ts•1.28 kB
import { z } from "zod";
import { companyService } from "../services/companyService.js";
/**
* Esquema de entrada para listar empresas (sin parámetros requeridos)
*/
export const listCompaniesInputSchema = {};
/**
* Manejador para listar empresas
*/
export async function listCompaniesToolHandler() {
try {
const companies = await companyService.getCompanies();
if (companies.length === 0) {
return {
content: [
{
type: "text" as const,
text: "No hay empresas registradas en el sistema."
}
]
};
}
const companiesList = companies.map(company =>
`🏢 ${company.name}
ID: ${company.id}
Email: ${company.email}
Teléfono: ${company.phone}
Industria: ${company.industry}
Tamaño: ${company.size}
Creada: ${new Date(company.created_at).toLocaleString()}`
).join('\n\n');
return {
content: [
{
type: "text" as const,
text: `Se encontraron ${companies.length} empresa(s):\n\n${companiesList}`
}
]
};
} catch (error) {
return {
content: [
{
type: "text" as const,
text: `❌ Error al obtener las empresas: ${error.message}`
}
]
};
}
}