plazbot-cli
Version:
CLI para Plazbot SDK
41 lines (34 loc) • 1.46 kB
text/typescript
import { Command } from 'commander';
import { Agent } from 'plazbot';
import { getStoredCredentials } from '../../utils/credentials';
import { logger } from '../../utils/logger';
import { createSpinner } from '../../utils/ui';
import { AgentCommandOptions } from '../../types/agent';
export const copyCommand = new Command('copy')
.description('Clonar un agente existente')
.argument('<agentId>', 'ID del agente a clonar')
.option('--dev', 'Usar ambiente de desarrollo', false)
.action(async (agentId: string, options: AgentCommandOptions) => {
try {
const credentials = await getStoredCredentials();
const agent = new Agent({
workspaceId: credentials.workspace,
apiKey: credentials.apiKey,
zone: credentials.zone,
...(options.dev && { customUrl: "http://localhost:5090" })
});
const spinner = createSpinner('Clonando agente...');
spinner.start();
const result = await (agent as any).copyAgent({ id: agentId });
spinner.succeed('Agente clonado exitosamente');
logger.title('Agente clonado');
if (result?.agentId || result?.id) {
logger.label('Nuevo ID', result.agentId || result.id);
}
logger.dim('\nEl agente clonado tiene el widget deshabilitado por defecto.');
} catch (error) {
const message = error instanceof Error ? error.message : 'Error desconocido';
logger.error(message);
process.exit(1);
}
});