Spaces:
Paused
Paused
File size: 1,963 Bytes
529090e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import { initializeDatabase, getDatabase } from './database/index.js';
import { initCognitiveMemory } from './mcp/memory/CognitiveMemory.js';
import { getSourceRegistry } from './mcp/SourceRegistry.js';
import { registerOutlookSource } from './mcp/autonomous/MCPIntegration.js';
import { AutonomousAgent } from './mcp/autonomous/AutonomousAgent.js';
async function testOutlookIntegration() {
console.log('π Starting Outlook Integration Test...');
await initializeDatabase();
const db = getDatabase();
console.log('β
Database initialized');
const memory = initCognitiveMemory(db);
console.log('β
Memory initialized');
await registerOutlookSource();
const registry = getSourceRegistry();
const outlookSource = registry.getSource('outlook-mail');
if (outlookSource) {
console.log('β
Outlook source found in registry');
} else {
console.error('β Outlook source NOT found');
process.exit(1);
}
const agent = new AutonomousAgent(memory, registry, null);
console.log('β
Autonomous Agent initialized');
console.log('\nπ Testing Query: "Find emails about project status"');
const result = await agent.executeAndLearn({
type: 'email.search',
operation: 'search',
params: { query: 'status' },
priority: 'normal'
}, async (source) => {
if (source.query) {
return await source.query('search', { query: 'status' });
}
throw new Error('Source does not support query');
});
console.log('\nπ Result:', JSON.stringify(result, null, 2));
if (result.source === 'outlook-mail' && Array.isArray(result.data) && result.data.length > 0) {
console.log('\nβ
SUCCESS: Retrieved emails from Outlook source via Autonomous Agent');
} else {
console.error('\nβ FAILURE: Did not retrieve expected data');
}
}
testOutlookIntegration().catch(console.error);
|