systemprompt-analytics 0.2.2

Analytics for systemprompt.io AI governance infrastructure. Session, agent, tool, and microdollar-precision cost attribution across the MCP governance pipeline.
Documentation
pub(crate) mod error;
pub(crate) mod extension;
pub mod models;
pub(crate) mod repository;
pub(crate) mod services;

pub use extension::AnalyticsExtension;

pub use error::{AnalyticsError, Result as AnalyticsResult};

pub use models::{
    ActivityTrend, AnalyticsEvent, AnalyticsEventBatchResponse, AnalyticsEventCreated,
    AnalyticsEventType, AnalyticsSession, BotTrafficStats, BrowserBreakdown, ContentStat,
    ConversationByAgent, ConversationSummary, ConversationTrend, ConversionEventData, CostOverview,
    CreateAnalyticsEventBatchInput, CreateAnalyticsEventInput, CreateEngagementEventInput,
    CreateFunnelInput, CreateFunnelStepInput, DeviceBreakdown, EngagementEvent,
    EngagementEventData, EngagementOptionalMetrics, ErrorSummary, FingerprintAnalysisResult,
    FingerprintReputation, FlagReason, Funnel, FunnelMatchType, FunnelProgress, FunnelStats,
    FunnelStep, FunnelStepStats, FunnelWithSteps, GeographicBreakdown, LinkClickEventData,
    PlatformOverview, RecentConversation, ScrollEventData, TopAgent, TopTool, TopUser,
    TrafficSource, TrafficSummary, UserMetricsWithTrends,
};
pub use repository::{
    ABUSE_THRESHOLD_FOR_BAN, AgentAnalyticsRepository, AnalyticsEventsRepository,
    AnalyticsQueryRepository, CliSessionAnalyticsRepository, ContentAnalyticsRepository,
    ConversationAnalyticsRepository, CoreStatsRepository, CostAnalyticsRepository,
    CreateSessionParams, EngagementRepository, FingerprintRepository, FunnelRepository,
    HIGH_REQUEST_THRESHOLD, HIGH_VELOCITY_RPM, MAX_SESSIONS_PER_FINGERPRINT,
    OverviewAnalyticsRepository, ProviderUsage, RequestAnalyticsRepository,
    SUSTAINED_VELOCITY_MINUTES, SessionBehavioralData, SessionEngagementSummary,
    SessionMigrationResult, SessionRecord, SessionRepository, StoredAnalyticsEvent,
    ToolAnalyticsRepository, ToolListParams, TrafficAnalyticsRepository,
};
pub use services::bot_keywords::matches_bot_pattern;
pub use services::{
    AnalyticsAiSessionProvider, AnalyticsService, AnomalyCheckResult, AnomalyDetectionService,
    AnomalyEvent, AnomalyLevel, AnomalyThresholdConfig, BEHAVIORAL_BOT_THRESHOLD,
    BehavioralAnalysisInput, BehavioralAnalysisResult, BehavioralBotDetector, BehavioralSignal,
    CreateAnalyticsSessionInput, EscalationCriteria, SessionAnalytics, SessionCleanupService,
    SignalType, ThrottleLevel, ThrottleService, detection,
};

#[cfg(feature = "geolocation")]
pub type GeoIpReader = std::sync::Arc<maxminddb::Reader<Vec<u8>>>;
#[cfg(not(feature = "geolocation"))]
pub type GeoIpReader = std::sync::Arc<()>;