UNPKG

mira-consciousness

Version:

Memory & Intelligence Retention Archive - Preserving The Spark

67 lines • 3.65 kB
import chalk from 'chalk'; import ora from 'ora'; import { getDirectPythonInterface } from '../core/DirectPythonInterface.js'; export async function queryCommand(question, options) { const spinner = ora(`Searching for: "${question}"`).start(); try { const pythonInterface = getDirectPythonInterface(); const limit = parseInt(options.limit || '5'); // Search both conversations and memories const [conversationResults, memoryResults] = await Promise.allSettled([ pythonInterface.searchConversations(question, limit), pythonInterface.recallMemories(question) ]); spinner.succeed(chalk.green('Search completed')); console.log(chalk.cyan(`\nšŸ” Query Results for: "${question}"\n`)); let hasAnyResults = false; // Display conversation results if (conversationResults.status === 'fulfilled' && conversationResults.value.success && conversationResults.value.results?.length > 0) { console.log(chalk.green(`šŸ“ Conversation History (${conversationResults.value.results.length} results):`)); console.log(chalk.gray('─'.repeat(60))); conversationResults.value.results.forEach((item, index) => { console.log(chalk.yellow(`${index + 1}.`), chalk.white(item.content?.substring(0, 200) + '...')); console.log(); }); hasAnyResults = true; } // Display memory results if (memoryResults.status === 'fulfilled' && memoryResults.value.success && memoryResults.value.memories?.length > 0) { const memories = memoryResults.value.memories.slice(0, limit); console.log(chalk.green(`🧠 Stored Memories (${memories.length} results):`)); console.log(chalk.gray('─'.repeat(60))); memories.forEach((item, index) => { const score = item.score ? ` (Relevance: ${(item.score * 100).toFixed(0)}%)` : ''; console.log(chalk.yellow(`${index + 1}.`), chalk.white(item.content?.substring(0, 200) + '...' + score)); console.log(); }); hasAnyResults = true; } // Show related suggestions if (hasAnyResults) { console.log(chalk.cyan('šŸ’” Related Commands:')); console.log(chalk.white(` mira search "${question}" --limit 10 # More conversation results`)); console.log(chalk.white(` mira essence "${question}" # Extract memory essence`)); console.log(chalk.white(` mira journey search "${question}" # Search development journey`)); } else { console.log(chalk.gray('No results found for your query.')); console.log(chalk.cyan('\nšŸ’” Try:')); console.log(chalk.white(' • Different keywords or phrases')); console.log(chalk.white(' • Broader search terms')); console.log(chalk.white(' • mira store "information" to add relevant content first')); } } catch (error) { spinner.fail('Query failed'); console.error(chalk.red('Error:'), error instanceof Error ? error.message : String(error)); console.log(chalk.yellow('\nšŸ”„ Fallback suggestions:')); console.log(chalk.white(` mira search "${question}" # Try basic search`)); console.log(chalk.white(` mira memory # Check memory system`)); console.log(chalk.white(` mira index # Rebuild conversation index`)); } } //# sourceMappingURL=query.js.map