feat(analytics): add top tools and topics to session analytics
This commit is contained in:
@@ -344,12 +344,16 @@ describe('system.sessionAnalytics handler', () => {
|
||||
const r = result.result as {
|
||||
daily: unknown[];
|
||||
topSessions: unknown[];
|
||||
topTools: unknown[];
|
||||
topTopics: unknown[];
|
||||
averageMessagesPerSession: number;
|
||||
totalSessions: number;
|
||||
totalMessages: number;
|
||||
};
|
||||
expect(r.daily).toEqual([]);
|
||||
expect(r.topSessions).toEqual([]);
|
||||
expect(r.topTools).toEqual([]);
|
||||
expect(r.topTopics).toEqual([]);
|
||||
expect(r.averageMessagesPerSession).toBe(0);
|
||||
expect(r.totalSessions).toBe(0);
|
||||
expect(r.totalMessages).toBe(0);
|
||||
@@ -359,6 +363,8 @@ describe('system.sessionAnalytics handler', () => {
|
||||
const getSessionAnalytics = vi.fn(() => ({
|
||||
daily: [{ day: '2026-02-16', sessions: 2, messages: 8 }],
|
||||
topSessions: [{ sessionId: 'telegram:1', messages: 5, lastActivity: 1708080000 }],
|
||||
topTools: [{ toolName: 'web.search', executions: 4 }],
|
||||
topTopics: [{ topic: 'kubernetes', occurrences: 3 }],
|
||||
averageMessagesPerSession: 4,
|
||||
totalSessions: 2,
|
||||
totalMessages: 8,
|
||||
@@ -383,6 +389,8 @@ describe('system.sessionAnalytics handler', () => {
|
||||
expect(getSessionAnalytics).toHaveBeenCalledWith({ days: 7, topLimit: 5 });
|
||||
expect(getPath(result.result, 'totalSessions')).toBe(2);
|
||||
expect(getPath(result.result, 'daily')).toEqual([{ day: '2026-02-16', sessions: 2, messages: 8 }]);
|
||||
expect(getPath(result.result, 'topTools')).toEqual([{ toolName: 'web.search', executions: 4 }]);
|
||||
expect(getPath(result.result, 'topTopics')).toEqual([{ topic: 'kubernetes', occurrences: 3 }]);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -214,6 +214,8 @@ export function createSystemHandlers(deps: SystemHandlerDeps) {
|
||||
return makeResponse(request.id, {
|
||||
daily: [],
|
||||
topSessions: [],
|
||||
topTools: [],
|
||||
topTopics: [],
|
||||
averageMessagesPerSession: 0,
|
||||
totalSessions: 0,
|
||||
totalMessages: 0,
|
||||
|
||||
Reference in New Issue
Block a user