plazbot-cli
Version:
CLI para Plazbot SDK
52 lines (44 loc) • 1.86 kB
text/typescript
import { Command } from 'commander';
import { Agent } from 'plazbot';
import { getStoredCredentials } from '../../utils/credentials';
import { logger } from '../../utils/logger';
import { ListAgentsOptions, AgentListItem } from '../../types/agent';
export const listCommand = new Command('list')
.description('Lista todos los agentes del workspace')
.option('--dev', 'Usar ambiente de desarrollo', false)
.action(async (options: ListAgentsOptions) => {
try {
// Obtener credenciales guardadas
const credentials = await getStoredCredentials();
// Crear instancia del agente con las credenciales guardadas
const agent = new Agent({
workspaceId: credentials.workspace,
apiKey: credentials.apiKey,
zone: credentials.zone,
...(options.dev && { customUrl: "http://localhost:5090" })
});
// Obtener lista de agentes
const agents = await agent.getAgents();
if (agents.length === 0) {
logger.info('No se encontraron agentes en este workspace');
return;
}
logger.info('\nLista de Agentes:');
logger.doubleDivider();
agents.forEach((agent: AgentListItem, index: number) => {
logger.info(`${index + 1}. ID: ${agent.id}`);
logger.info(` Nombre: ${agent.name}`);
logger.info(` Estado: ${agent.enable ? '✅ Activo' : '❌ Inactivo'}`);
logger.info(` Descripción: ${agent.description}`);
logger.info(` Creado: ${new Date(agent.createdAt).toLocaleString()}`);
logger.divider();
});
if (options.dev) {
logger.warning('Ambiente: desarrollo');
}
} catch (error) {
const message = error instanceof Error ? error.message : 'Error desconocido al listar agentes';
logger.error(message);
process.exit(1);
}
});