use super::{ReportingSource, SourceDefinition};
pub const SOURCE_DEFINITIONS: &[SourceDefinition] = &[
SourceDefinition {
source: ReportingSource::Users,
table: "users",
view: "reporting_source_users",
target: "analytics_report_users",
key: "id",
key_type: "TEXT",
columns: &["id", "name", "status", "roles", "created_at"],
},
SourceDefinition {
source: ReportingSource::UserSessions,
table: "user_sessions",
view: "reporting_source_user_sessions",
target: "analytics_report_user_sessions",
key: "session_id",
key_type: "TEXT",
columns: &[
"session_id",
"user_id",
"started_at",
"last_activity_at",
"ended_at",
"duration_seconds",
"user_type",
"converted_at",
"expires_at",
"client_id",
"client_type",
"request_count",
"avg_response_time_ms",
"success_rate",
"error_count",
"task_count",
"message_count",
"ai_request_count",
"total_tokens_used",
"total_ai_cost_microdollars",
"ip_address",
"user_agent",
"device_type",
"browser",
"os",
"country",
"region",
"city",
"preferred_locale",
"referrer_source",
"referrer_url",
"landing_page",
"entry_url",
"utm_source",
"utm_medium",
"utm_campaign",
"utm_content",
"utm_term",
"endpoints_accessed",
"fingerprint_hash",
"is_bot",
"is_ai_crawler",
"is_scanner",
"is_behavioral_bot",
"behavioral_bot_reason",
"behavioral_bot_score",
"session_source",
"revoked_at",
],
},
SourceDefinition {
source: ReportingSource::AgentTasks,
table: "agent_tasks",
view: "reporting_source_agent_tasks",
target: "analytics_report_agent_tasks",
key: "task_id",
key_type: "TEXT",
columns: &[
"task_id",
"context_id",
"status",
"status_timestamp",
"user_id",
"session_id",
"trace_id",
"agent_name",
"started_at",
"completed_at",
"execution_time_ms",
"error_message",
"version",
"created_at",
"updated_at",
],
},
SourceDefinition {
source: ReportingSource::TaskMessages,
table: "task_messages",
view: "reporting_source_task_messages",
target: "analytics_report_task_messages",
key: "id",
key_type: "INTEGER",
columns: &["id", "task_id", "created_at"],
},
SourceDefinition {
source: ReportingSource::UserContexts,
table: "user_contexts",
view: "reporting_source_user_contexts",
target: "analytics_report_user_contexts",
key: "context_id",
key_type: "TEXT",
columns: &[
"context_id",
"user_id",
"session_id",
"name",
"kind",
"created_at",
"updated_at",
],
},
SourceDefinition {
source: ReportingSource::AiRequests,
table: "ai_requests",
view: "reporting_source_ai_requests",
target: "analytics_report_ai_requests",
key: "id",
key_type: "TEXT",
columns: &[
"id",
"request_id",
"user_id",
"session_id",
"task_id",
"context_id",
"gateway_conversation_id",
"client_session_id",
"provider_request_id",
"trace_id",
"mcp_execution_id",
"provider",
"model",
"requested_model",
"route_match",
"temperature",
"top_p",
"max_tokens",
"tokens_used",
"input_tokens",
"output_tokens",
"cost_microdollars",
"latency_ms",
"upstream_latency_ms",
"cache_hit",
"cache_read_tokens",
"cache_creation_tokens",
"reasoning_tokens",
"is_streaming",
"status",
"error_message",
"actor_kind",
"actor_id",
"synthetic",
"request_kind",
"instance_id",
"created_at",
"updated_at",
"completed_at",
],
},
SourceDefinition {
source: ReportingSource::AiRequestMessages,
table: "ai_request_messages",
view: "reporting_source_ai_request_messages",
target: "analytics_report_ai_request_messages",
key: "id",
key_type: "TEXT",
columns: &["id", "request_id", "created_at"],
},
SourceDefinition {
source: ReportingSource::McpToolExecutions,
table: "mcp_tool_executions",
view: "reporting_source_mcp_tool_executions",
target: "analytics_report_mcp_tool_executions",
key: "mcp_execution_id",
key_type: "TEXT",
columns: &[
"mcp_execution_id",
"tool_name",
"server_name",
"started_at",
"completed_at",
"execution_time_ms",
"status",
"error_message",
"user_id",
"session_id",
"context_id",
"task_id",
"trace_id",
"request_method",
"request_source",
"actor_kind",
"actor_id",
"ai_tool_call_id",
"created_at",
],
},
SourceDefinition {
source: ReportingSource::MarkdownContent,
table: "markdown_content",
view: "reporting_source_markdown_content",
target: "analytics_report_markdown_content",
key: "id",
key_type: "TEXT",
columns: &["id", "slug", "title", "source_id"],
},
SourceDefinition {
source: ReportingSource::Logs,
table: "logs",
view: "reporting_source_logs",
target: "analytics_report_logs",
key: "id",
key_type: "TEXT",
columns: &[
"id",
"timestamp",
"level",
"module",
"message",
"user_id",
"session_id",
"task_id",
],
},
SourceDefinition {
source: ReportingSource::AnalyticsEvents,
table: "analytics_events",
view: "reporting_source_analytics_events",
target: "analytics_report_analytics_events",
key: "id",
key_type: "TEXT",
columns: &[
"id",
"user_id",
"session_id",
"context_id",
"gateway_conversation_id",
"provider_request_id",
"event_type",
"event_category",
"severity",
"endpoint",
"error_code",
"response_time_ms",
"agent_id",
"task_id",
"message",
"metadata",
"event_data",
"timestamp",
],
},
];