WeLe Agentic AI: LangGraph multi-agent CRM assistant with voice
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import { connectMongo, disconnectMongo } from '../src/data/mongo.js';
|
||||
import { leadTools } from '../src/tools/crm/leads.tools.js';
|
||||
import { analyticsTools } from '../src/tools/crm/analytics.tools.js';
|
||||
|
||||
await connectMongo();
|
||||
|
||||
const ctx = {
|
||||
configurable: {
|
||||
user: { id: '000000000000000000000000', name: 'Smoke Admin', role: 'admin' },
|
||||
sessionId: 'smoke', traceId: 'smoke', channel: 'crm_chat', runtime: {},
|
||||
},
|
||||
};
|
||||
|
||||
const cases = [
|
||||
['search_leads', { lead_tag: 'hot', limit: 3 }],
|
||||
['lead_funnel_breakdown', { group_by: 'current_stage', date_range: 'all_time' }],
|
||||
['lead_trend', { date_range: 'last_30_days', bucket: 'week' }],
|
||||
['find_stale_leads', { inactive_days: 30, limit: 3 }],
|
||||
['business_snapshot', { date_range: 'last_30_days' }],
|
||||
['conversion_funnel', { date_range: 'last_90_days' }],
|
||||
['team_performance', { date_range: 'last_90_days' }],
|
||||
['source_effectiveness', { date_range: 'last_90_days' }],
|
||||
['activity_analytics', { date_range: 'last_7_days' }],
|
||||
['enrollment_report', { date_range: 'last_90_days' }],
|
||||
];
|
||||
|
||||
const all = [...leadTools, ...analyticsTools];
|
||||
for (const [name, args] of cases) {
|
||||
const t = all.find((x) => x.name === name);
|
||||
if (!t) { console.log(`?? ${name} NOT FOUND`); continue; }
|
||||
const started = Date.now();
|
||||
try {
|
||||
const out = await t.invoke(args, ctx);
|
||||
const parsed = JSON.parse(out);
|
||||
const ok = parsed.ok !== false;
|
||||
const preview = JSON.stringify(parsed.data ?? parsed).slice(0, 220);
|
||||
console.log(`${ok ? 'PASS' : 'FAIL'} ${name} (${Date.now() - started}ms) ${preview}`);
|
||||
} catch (e) {
|
||||
console.log(`ERR ${name}: ${e.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
await disconnectMongo();
|
||||
process.exit(0);
|
||||
Reference in New Issue
Block a user