systemprompt_analytics/
lib.rs1pub mod error;
20pub mod extension;
21pub mod models;
22pub mod repository;
23pub mod resource_metrics;
24pub mod services;
25
26pub use extension::AnalyticsExtension;
27
28pub use error::{AnalyticsError, Result};
29
30pub use models::{
31 AnalyticsEventBatchResponse, AnalyticsEventCreated, AnalyticsEventType, ContextGroupRow,
32 ContextSummaryRow, ConversionEventData, CreateAnalyticsEventBatchInput,
33 CreateAnalyticsEventInput, CreateEngagementEventInput, EngagementEvent, EngagementEventData,
34 EngagementOptionalMetrics, FingerprintAnalysisResult, FingerprintReputation, FlagReason,
35 LinkClickEventData, RecentContextRow, ScrollEventData,
36};
37pub use repository::{
38 ABUSE_THRESHOLD_FOR_BAN, AgentAnalyticsRepository, AnalyticsEventsRepository,
39 CliSessionAnalyticsRepository, ContentAnalyticsRepository, ConversationAnalyticsRepository,
40 CostAnalyticsRepository, EngagementRepository, FingerprintRepository, HIGH_REQUEST_THRESHOLD,
41 HIGH_VELOCITY_RPM, MAX_SESSIONS_PER_FINGERPRINT, NavigationQuery, OverviewAnalyticsRepository,
42 PageQuery, RequestAnalyticsRepository, SUSTAINED_VELOCITY_MINUTES, SessionSignalsRepository,
43 ToolAnalyticsRepository, ToolListParams, TrafficAnalyticsRepository,
44};
45pub use services::bot_keywords::matches_bot_pattern;
46pub use services::{
47 AnalyticsService, BEHAVIORAL_BOT_THRESHOLD, BehavioralAnalysisInput, BehavioralAnalysisResult,
48 BehavioralBotDetector, BehavioralSignal, ProfileUsageService, SessionAnalytics,
49 SessionAnalyticsBuilder, SignalType, detection,
50};
51
52#[cfg(feature = "geolocation")]
53pub type GeoIpReader = std::sync::Arc<maxminddb::Reader<Vec<u8>>>;
54
55#[cfg(not(feature = "geolocation"))]
56pub type GeoIpReader = std::sync::Arc<()>;