polish admin leaderboard analytics
This commit is contained in:
1 parent
5590f7d85a
commit
fe0ede178e
4 files changed
+1122
-86
No files matched your search
@@ -61,6 +61,16 @@ export interface AdminLeaderboardSkill {
|
||||
last_used_at: string;
|
||||
}
|
||||
|
||||
export interface AdminLeaderboardDimension {
|
||||
name: string;
|
||||
count: number;
|
||||
user_count: number;
|
||||
success_count: number;
|
||||
error_count: number;
|
||||
total_tokens: number;
|
||||
last_seen_at: string;
|
||||
}
|
||||
|
||||
export interface AdminLeaderboardQuestion {
|
||||
text: string;
|
||||
user_id: string;
|
||||
@@ -100,6 +110,9 @@ export interface AdminLeaderboardResponse {
|
||||
users_by_tokens: AdminLeaderboardUser[];
|
||||
skills: AdminLeaderboardSkill[];
|
||||
tools: AdminLeaderboardSkill[];
|
||||
models: AdminLeaderboardDimension[];
|
||||
agents: AdminLeaderboardDimension[];
|
||||
run_statuses: AdminLeaderboardDimension[];
|
||||
recent_questions: AdminLeaderboardQuestion[];
|
||||
frequent_questions: AdminLeaderboardQuestion[];
|
||||
trends: AdminLeaderboardTrendPoint[];
|
||||
@@ -113,6 +126,9 @@ export interface AdminUserAnalyticsResponse {
|
||||
overview: AdminLeaderboardOverview;
|
||||
skills: AdminLeaderboardSkill[];
|
||||
tools: AdminLeaderboardSkill[];
|
||||
models: AdminLeaderboardDimension[];
|
||||
agents: AdminLeaderboardDimension[];
|
||||
run_statuses: AdminLeaderboardDimension[];
|
||||
recent_questions: AdminLeaderboardQuestion[];
|
||||
trends: AdminLeaderboardTrendPoint[];
|
||||
}
|
||||
@@ -156,7 +172,15 @@ export async function getUserMemory(
|
||||
}
|
||||
|
||||
export async function getUserLeaderboard(
|
||||
range: { since: string; until: string; days?: number },
|
||||
range: {
|
||||
since: string;
|
||||
until: string;
|
||||
days?: number;
|
||||
exclude_user_ids?: string[];
|
||||
include_scheduled?: boolean;
|
||||
include_admins?: boolean;
|
||||
include_failed?: boolean;
|
||||
},
|
||||
limit = 20,
|
||||
): Promise<AdminLeaderboardResponse> {
|
||||
const params = new URLSearchParams({
|
||||
@@ -164,7 +188,13 @@ export async function getUserLeaderboard(
|
||||
since: range.since,
|
||||
until: range.until,
|
||||
limit: String(limit),
|
||||
include_scheduled: String(range.include_scheduled ?? true),
|
||||
include_admins: String(range.include_admins ?? true),
|
||||
include_failed: String(range.include_failed ?? true),
|
||||
});
|
||||
for (const userId of range.exclude_user_ids ?? []) {
|
||||
params.append("exclude_user_ids", userId);
|
||||
}
|
||||
return parse(
|
||||
await apiFetch(`${base()}/leaderboard?${params}`),
|
||||
"Failed to load leaderboard",
|
||||
|
||||
Reference in new issue
Block a user