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);