UNPKG

@ace-sdk/cli

Version:

ACE CLI - Command-line tool for intelligent pattern learning and playbook management

50 lines 1.94 kB
/** * Clear playbook command */ import * as readline from 'readline/promises'; import { stdin, stdout } from 'process'; import { globalOptions } from '../cli.js'; import { createContext } from '../types/config.js'; import { ACEServerClient } from '../services/server-client.js'; import { Logger } from '../services/logger.js'; import chalk from 'chalk'; /** * Clear the playbook */ export async function clearCommand(options) { const logger = new Logger(globalOptions); // Confirm if --yes not provided if (!options.yes && !logger.isJson()) { const rl = readline.createInterface({ input: stdin, output: stdout }); const answer = await rl.question(chalk.yellow('⚠️ Are you sure you want to clear the entire playbook? This cannot be undone! (y/N): ')); rl.close(); if (answer.toLowerCase() !== 'y' && answer.toLowerCase() !== 'yes') { logger.info(chalk.dim('Cancelled')); return; } } let spinner = logger.spinner('Clearing playbook...'); try { const context = await createContext({ org: globalOptions.org, project: globalOptions.project }); const client = new ACEServerClient(context, logger); await client.clearPlaybook(); spinner?.succeed('Playbook cleared'); if (logger.isJson()) { logger.output({ success: true, message: 'Playbook cleared' }); } else { logger.info(chalk.green('\n✅ Playbook cleared successfully\n')); } } catch (error) { spinner?.fail('Failed to clear playbook'); if (logger.isJson()) { logger.error(JSON.stringify({ error: error instanceof Error ? error.message : String(error) })); } else { logger.error(chalk.red(`\n❌ Error: ${error instanceof Error ? error.message : String(error)}\n`)); } process.exit(1); } } //# sourceMappingURL=clear.js.map