import { request } from '@umijs/max'; import { BreakdownItem, FilterOptionType, UsageBreakdownResponse, UsageMeta } from '../config/types'; export const USAGE_META = '/usage/meta'; export const USAGE_BREAKDOWN = '/usage/breakdown'; export const MODEL_ROUTE_TARGETS = '/model-route-targets'; export async function queryUsageMetaData( params: Record, options?: any ): Promise { return request(USAGE_META, { params, method: 'GET', cancelToken: options?.token }); } export async function queryUsageTimeSeriesData( params: { start_date: string; end_date: string; scope: string; metric: string; group_by: string[]; granularity: string; page?: number; perPage?: number; sort_by?: string; filters: { models?: FilterOptionType[]; users?: FilterOptionType[]; api_keys?: FilterOptionType[]; }; }, options?: any ): Promise { return request(USAGE_BREAKDOWN, { data: params, method: 'POST', cancelToken: options?.token }); } export async function queryUsageBreakdownList( params: Global.SearchParams & { filters: { models?: FilterOptionType[]; users?: FilterOptionType[]; api_keys?: FilterOptionType[]; }; }, options?: any ) { return request>(USAGE_BREAKDOWN, { data: params, method: 'POST', cancelToken: options?.token }); }