UNPKG

@ace-sdk/cli

Version:

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

45 lines 1.65 kB
/** * Export playbook command */ import { writeFileSync } from 'fs'; 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'; /** * Export playbook to JSON */ export async function exportCommand(options) { const logger = new Logger(globalOptions); const spinner = logger.spinner('Exporting playbook...'); try { const context = await createContext({ org: globalOptions.org, project: globalOptions.project }); const client = new ACEServerClient(context, logger); const result = await client.getPlaybook({ forceRefresh: false, include_metadata: false }); spinner?.succeed('Playbook exported'); const jsonOutput = JSON.stringify(result.playbook, null, 2); if (options.output) { // Write to file writeFileSync(options.output, jsonOutput); if (!logger.isJson()) { logger.info(chalk.green(`\n✅ Playbook exported to ${options.output}\n`)); } } else { // Write to stdout logger.output(jsonOutput); } } catch (error) { spinner?.fail('Failed to export playbook'); if (logger.isJson()) { logger.output({ error: error instanceof Error ? error.message : String(error) }); } else { logger.error(`Error: ${error instanceof Error ? error.message : String(error)}`); } process.exit(1); } } //# sourceMappingURL=export.js.map