feat: add agent API and operational analytics
This commit is contained in:
1 parent
720ea0652a
commit
e8b730b592
65 files changed
+2650
-1214
No files matched your search
@@ -21,6 +21,7 @@ import {
|
||||
StrategyPerformanceResponseSchema,
|
||||
SubredditPerformanceResponseSchema,
|
||||
DailyTrendResponseSchema,
|
||||
FunnelResponseSchema,
|
||||
SuccessfulExamplesResponseSchema,
|
||||
TimersResponseSchema,
|
||||
} from '../src/index.js';
|
||||
@@ -90,6 +91,11 @@ describe('dashboard endpoint contracts', () => {
|
||||
responseCheckedAt: null,
|
||||
strategyId: null,
|
||||
chatRoomId: null,
|
||||
experimentId: 'message:variant-a:abc123',
|
||||
promptVersion: 'abc123',
|
||||
modelId: 'openai/gpt-5.2',
|
||||
selectionReason: 'exploit',
|
||||
sourceType: 'image',
|
||||
}]).success).toBe(true);
|
||||
expect(SuccessfulExamplesResponseSchema.safeParse([{
|
||||
id: 1,
|
||||
@@ -124,6 +130,10 @@ describe('dashboard endpoint contracts', () => {
|
||||
expect(DailyTrendResponseSchema.safeParse([{
|
||||
date: '2026-08-08', totalSent: 10, totalResponses: 4, responseRate: 40, totalImages: 2, imageRate: 20,
|
||||
}]).success).toBe(true);
|
||||
expect(FunnelResponseSchema.safeParse({
|
||||
responseWindowHours: 48, processed: 20, sent: 10, pending: 2, mature: 8,
|
||||
responded: 4, engaged: 3, declined: 1, boundary: 0, upsell: 0, images: 2,
|
||||
}).success).toBe(true);
|
||||
expect(DailyTrendResponseSchema.safeParse([{ date: '2026-08-08', totalSent: '10' }]).success).toBe(false);
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user