// Generated by scripts/generate_analytics_models.py; do not edit. // Selected backend schema SHA-256: 8dad4dcab85a89fd8091236929727587118dcaad334e10148ae8cf95dd640cc8 // String enums remain open for forward compatibility. use serde::Deserialize; use serde::Serialize; #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct ActiveUsersSummary { pub total_users: i64, pub clients: Vec, pub models: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct ClientActiveUsersCount { pub client_id: String, pub users: i64, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct ClientWorkspaceUsageCount { pub client_id: String, pub users: i64, pub threads: i64, pub turns: i64, pub credits: f64, pub cost_usd: Option, pub on_demand_credits: Option, pub uncached_text_input_tokens: Option, pub cached_text_input_tokens: Option, pub text_output_tokens: Option, pub text_total_tokens: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct ConsumptionUsageGroup { pub dimensions: std::collections::BTreeMap, pub is_other: Option, pub credits: f64, pub on_demand_credits: Option, pub uncached_text_input_tokens: Option, pub cached_text_input_tokens: Option, pub text_output_tokens: Option, pub text_total_tokens: Option, pub total_tokens: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct CreditUsageEventBySurface { pub date: String, pub product_surface: String, pub credit_amount: f64, pub usage_id: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct CreditUsageEventsResponse { pub data: Vec, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct CurrentUserCreditUsageDatum { pub date: String, pub values: std::collections::BTreeMap, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct CurrentUserCreditUsageResponse { pub breakdown: String, pub data: Vec, pub series: Vec, pub unit: Option, pub data_freshness_ts: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct CurrentUserCreditUsageSeries { pub key: String, pub label: String, pub total: f64, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct DailyProductSurfaceUsage { pub attribution: Option>, pub date: String, pub product_surface_usage_values: std::collections::BTreeMap, pub premium_usage_values: Option, pub models: Option>, pub groups: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct DailyProductSurfaceUsageResponse { pub data: Vec, pub units: Option, pub data_freshness_ts: Option, pub group_by: Option, pub breakdown_by: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct DailySkillUsageMetricsResponse { pub data: Vec, pub data_freshness_ts: Option, pub group_by: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct DailySkillUsageOverview { pub date: String, pub skill_usage_overviews: Vec, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct DailyWorkspaceUsageCount { pub date: String, pub totals: WorkspaceUsageCount, pub clients: Vec, pub models: Option>, pub groups: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct DailyWorkspaceUsageCountResponse { pub data: Vec, pub balance_unit: Option, pub active_users_summary: Option, pub group_by: Option, pub breakdown_by: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct ModelActivitySummary { pub model: String, pub users: i64, pub threads: i64, pub turns: i64, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct ModelUsage { pub model: String, pub speed: Option, pub credits: f64, pub cost_usd: Option, pub users: Option, pub threads: Option, pub turns: Option, pub on_demand_credits: Option, pub uncached_text_input_tokens: Option, pub cached_text_input_tokens: Option, pub text_output_tokens: Option, pub text_total_tokens: Option, pub total_tokens: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct PersonalUsageAttribution { pub thread_source: String, pub turn_trigger: String, pub model: String, pub surface: String, pub value: f64, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct PluginUsageBucket { pub date: String, pub plugin_usage_overviews: Vec, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct PluginUsageMetricsResponse { pub data: Vec, pub data_freshness_ts: Option, pub group_by: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct PluginUsageOverview { pub plugin_id: Option, pub plugin_name: String, pub display_name: String, pub marketplace: Option, pub invocation_counts: i64, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct ProductSurfacePremiumUsageValues { pub total_usage_credits: std::collections::BTreeMap, pub credit_usage_credits: std::collections::BTreeMap, pub uncached_text_input_tokens_by_surface: std::collections::BTreeMap, pub cached_text_input_tokens_by_surface: std::collections::BTreeMap, pub text_output_tokens_by_surface: std::collections::BTreeMap, pub text_total_tokens_by_surface: std::collections::BTreeMap, pub total_tokens_by_surface: Option>, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct SkillUsageOverview { pub skill_name: String, pub display_name: String, pub skill_ids: Vec, pub invocation_counts: i64, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct WorkspaceUsageCount { pub users: i64, pub threads: i64, pub turns: i64, pub credits: f64, pub cost_usd: Option, pub on_demand_credits: Option, pub uncached_text_input_tokens: Option, pub cached_text_input_tokens: Option, pub text_output_tokens: Option, pub text_total_tokens: Option, } #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct WorkspaceUsageGroup { pub dimensions: std::collections::BTreeMap, pub is_other: Option, pub users: i64, pub turns: i64, pub cost_usd: Option, }