UNPKG

@ace-sdk/cli

Version:

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

48 lines • 1.96 kB
/** * Search results formatter */ import chalk from 'chalk'; /** * Format search results for human-readable output */ export function formatSearchResults(patterns, options = {}) { if (options.query) { console.log(chalk.bold(`\nšŸ” Search Results for: "${options.query}"\n`)); } patterns.forEach((pattern, index) => { const rank = options.showRank ? chalk.dim(`#${index + 1} `) : ''; const score = pattern.helpful ? chalk.green(`+${pattern.helpful}`) : pattern.harmful ? chalk.red(`-${pattern.harmful}`) : chalk.dim('0'); console.log(`${rank}${score} ${pattern.content}`); if (options.verbose) { if (pattern.similarity !== undefined) { console.log(chalk.dim(` Similarity: ${(pattern.similarity * 100).toFixed(1)}%`)); } if (pattern.confidence !== undefined) { console.log(chalk.dim(` Confidence: ${(pattern.confidence * 100).toFixed(1)}%`)); } if (pattern.section) { const sectionLabel = pattern.section.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase()); console.log(chalk.dim(` Section: ${sectionLabel}`)); } if (pattern.evidence && pattern.evidence.length > 0) { console.log(chalk.dim(` Evidence: ${pattern.evidence.join(', ')}`)); } if (pattern.id) { console.log(chalk.dim(` ID: ${pattern.id}`)); } } console.log(''); }); console.log(chalk.dim(`Found ${patterns.length} pattern(s)\n`)); } /** * Format similarity score as a visual bar */ export function formatSimilarityBar(similarity, width = 20) { const filled = Math.round(similarity * width); const empty = width - filled; return chalk.green('ā–ˆ'.repeat(filled)) + chalk.dim('ā–‘'.repeat(empty)); } //# sourceMappingURL=search-formatter.js.map