UNPKG

overmind-mcp

Version:

Orchestrateur universel agents IA multi-modeles via MCP. Inclut le protocole 'Custom-Nickname' pour identifier vos agents avec des surnoms originaux (The Chaos Prophet, Shadow Sniper, etc.), l'isolation mémoire (Private Memory Context) et le support pour

59 lines • 2.27 kB
import { z } from 'zod'; import { getMemoryProvider } from '../memory/MemoryFactory.js'; export const memorySearchSchema = z.object({ query: z.string().describe('Requête de recherche (sémantique + full-text)'), limit: z.number().int().min(1).max(50).optional().default(10).describe('Nombre max de résultats'), include_runs: z .boolean() .optional() .default(false) .describe("Inclure l'historique des runs d'agents dans la recherche"), agent_name: z .string() .optional() .describe("Filtrer par nom d'agent (détecté automatiquement si exécuté via OverMind)"), }); export async function memorySearchTool(args) { try { const provider = getMemoryProvider(); // Priorité à l'agent détecté (Privacy) const effectiveAgentName = process.env.OVERMIND_AGENT_NAME || args.agent_name; const results = await provider.searchMemory({ query: args.query, limit: args.limit, includeRuns: args.include_runs, agentName: effectiveAgentName, }); if (results.length === 0) { return { content: [ { type: 'text', text: `🔍 Aucun souvenir trouvé pour : _"${args.query}"_\n\nUtilisez \`memory_store\` pour ajouter des connaissances.`, }, ], }; } const lines = results.map((r, i) => `**${i + 1}.** [${r.source}] (score: ${r.score.toFixed(3)}) — ${new Date(r.created_at).toISOString().slice(0, 10)}\n${r.text.slice(0, 500)}`); return { content: [ { type: 'text', text: `🧠 **${results.length} résultat(s) trouvé(s) pour "${args.query}"**\n\n${lines.join('\n\n---\n\n')}`, }, ], }; } catch (error) { return { content: [ { type: 'text', text: `❌ Erreur memory_search: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, }; } } //# sourceMappingURL=memory_search.js.map