/** * OPC Agent Example: DeepBrain Memory Integration * * Shows how to use DeepBrainMemoryStore for persistent agent memory. * Requires a running DeepBrain instance (or falls back to InMemory). * * Run: npx tsx examples/brain-integration.ts */ import { BaseAgent, AgentRuntime, InMemoryStore, DeepBrainMemoryStore, } from 'opc-agent'; async function main() { console.log('🧠 OPC Agent — DeepBrain Memory Integration\n'); try { const agent = new BaseAgent({ name: 'brain-agent', description: 'Agent with DeepBrain-powered memory', version: '1.0.0', }); // Try DeepBrain first, fall back to InMemory let memory; let memoryType: string; try { memory = new DeepBrainMemoryStore({ brainUrl: process.env.DEEPBRAIN_URL || 'http://localhost:3333', agentId: 'brain-agent', }); memoryType = 'DeepBrain'; console.log('āœ… Using DeepBrain memory store'); } catch { memory = new InMemoryStore(); memoryType = 'InMemory'; console.log('āš ļø DeepBrain unavailable, using InMemory fallback'); } const runtime = new AgentRuntime(agent, { memory }); console.log(`\nšŸ“¦ Memory store: ${memoryType}`); console.log('\nDeepBrain vs InMemory:'); console.log(' ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”'); console.log(' │ Feature │ InMemory │ DeepBrain │'); console.log(' ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤'); console.log(' │ Persistence │ āŒ (RAM) │ āœ… (SQLite) │'); console.log(' │ Semantic search │ āŒ │ āœ… │'); console.log(' │ Evolve │ āŒ │ āœ… │'); console.log(' │ Multi-agent │ āŒ │ āœ… │'); console.log(' │ Zero config │ āœ… │ āœ… │'); console.log(' ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜\n'); console.log('āœ… Done! To use DeepBrain:'); console.log(' npm install deepbrain'); console.log(' deepbrain serve # starts on :3333'); console.log(' DEEPBRAIN_URL=http://localhost:3333 npx tsx examples/brain-integration.ts\n'); } catch (e: any) { console.error(`āŒ Error: ${e.message}`); process.exit(1); } } main().catch(e => { console.error(`\nāŒ Error: ${e.message}\n`); process.exit(1); });