@ace-sdk/cli
Version:
ACE CLI - Command-line tool for intelligent pattern learning and playbook management
50 lines • 1.94 kB
JavaScript
/**
* 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