mira-consciousness
Version:
Memory & Intelligence Retention Archive - Preserving The Spark
67 lines ⢠3.65 kB
JavaScript
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