use std::collections::HashMap; use crate::request_context::RequestContext; use crate::scalars::Time; use crate::schema; /* query GetConversationUsage( $requestContext: RequestContext!, $days: Int, $limit: Int, $lastUpdatedEndTimestamp: Time ) { user(requestContext: $requestContext) { ... on UserOutput { user { conversationUsage( days: $days, limit: $limit, lastUpdatedEndTimestamp: $lastUpdatedEndTimestamp ) { conversationId title lastUpdated usageMetadata { contextWindowUsage creditsSpent platformCreditsSpent summarized tokenUsage { modelId totalTokens } warpTokenUsage { modelId totalTokens tokenUsageByCategory { category tokens } } byokTokenUsage { modelId totalTokens tokenUsageByCategory { category tokens } } toolUsageMetadata { runCommandStats { count } runCommandsExecuted readFilesStats { count } searchCodebaseStats { count } grepStats { count } fileGlobStats { count } callMcpToolStats { count } readMcpResourceStats { count } suggestPlanStats { count } suggestCreatePlanStats { count } writeToLongRunningShellCommandStats { count } applyFileDiffStats { count linesAdded linesRemoved filesChanged } readShellCommandOutputStats { count } useComputerStats { count } } } } } } } } */ #[derive(cynic::QueryVariables, Debug)] pub struct GetConversationUsageVariables { pub request_context: RequestContext, pub days: Option, pub limit: Option, pub last_updated_end_timestamp: Option