@hivetechs/hive-ai
Version:
Real-time streaming AI consensus platform with HTTP+SSE MCP integration for Claude Code, VS Code, Cursor, and Windsurf - powered by OpenRouter's unified API
64 lines • 2.36 kB
TypeScript
/**
* Activity Logger for Dashboard Real-Time Tracking
*
* Provides event logging for all consensus pipeline activities,
* enabling real-time dashboards and analytics.
*/
export type EventType = 'query_start' | 'query_complete' | 'query_error' | 'model_switch' | 'fallback' | 'rate_limit' | 'stage_start' | 'stage_complete' | 'stage_error' | 'export' | 'budget_alert';
export type Stage = 'generator' | 'refiner' | 'validator' | 'curator';
export interface ActivityLogEntry {
eventType: EventType;
conversationId?: string;
userId?: string;
stage?: Stage;
modelUsed?: string;
providerName?: string;
cost?: number;
durationMs?: number;
tokensUsed?: number;
errorMessage?: string;
metadata?: Record<string, any>;
}
/**
* Log an activity event to the database
*/
export declare function logActivity(entry: ActivityLogEntry): Promise<void>;
/**
* Get recent activity for dashboard display
*/
export declare function getRecentActivity(limit?: number): Promise<any[]>;
/**
* Get count of active queries (started but not completed)
*/
export declare function getActiveQueryCount(): Promise<number>;
/**
* Get throughput (queries completed per hour)
*/
export declare function getThroughput(hours?: number): Promise<number>;
/**
* Get model performance stats for leaderboard
*/
export declare function getModelPerformanceStats(hours?: number): Promise<any[]>;
/**
* Log query start event
*/
export declare function logQueryStart(conversationId: string, userId?: string, metadata?: Record<string, any>): Promise<void>;
/**
* Log query completion event
*/
export declare function logQueryComplete(conversationId: string, totalCost: number, durationMs: number, tokensUsed: number, userId?: string, metadata?: Record<string, any>): Promise<void>;
/**
* Log stage event
*/
export declare function logStageEvent(eventType: 'stage_start' | 'stage_complete' | 'stage_error', conversationId: string, stage: Stage, model: string, provider: string, userId?: string, options?: {
cost?: number;
durationMs?: number;
tokensUsed?: number;
errorMessage?: string;
metadata?: Record<string, any>;
}): Promise<void>;
/**
* Clean up old activity logs (retention policy)
*/
export declare function cleanupOldActivities(daysToKeep?: number): Promise<void>;
//# sourceMappingURL=activity-logger.d.ts.map