kaccy_ai/
lib.rs

1//! AI services for Kaccy Protocol
2//!
3//! This crate provides AI-powered quality evaluation,
4//! content verification, fraud detection, document analysis,
5//! social media verification, OCR, and GitHub integration.
6
7#![allow(clippy::cast_precision_loss)]
8#![allow(clippy::cast_possible_truncation)]
9#![allow(clippy::float_cmp)]
10#![allow(clippy::unused_self)]
11#![allow(clippy::missing_errors_doc)]
12#![allow(clippy::missing_panics_doc)]
13#![allow(clippy::must_use_candidate)]
14#![allow(clippy::return_self_not_must_use)]
15#![allow(clippy::cast_sign_loss)]
16#![allow(clippy::cast_possible_wrap)]
17#![allow(clippy::similar_names)]
18#![allow(clippy::match_same_arms)]
19#![allow(clippy::used_underscore_binding)]
20#![allow(clippy::no_effect_underscore_binding)]
21#![allow(clippy::case_sensitive_file_extension_comparisons)]
22#![allow(clippy::doc_markdown)]
23#![allow(clippy::unnecessary_wraps)]
24#![allow(clippy::items_after_statements)]
25#![allow(clippy::for_kv_map)]
26#![allow(clippy::ref_option)]
27#![allow(clippy::trivially_copy_pass_by_ref)]
28#![allow(clippy::too_many_lines)]
29#![allow(clippy::needless_pass_by_value)]
30#![allow(clippy::map_unwrap_or)]
31#![allow(clippy::struct_field_names)]
32#![allow(clippy::assigning_clones)]
33#![allow(clippy::unreadable_literal)]
34#![allow(clippy::unnecessary_map_or)]
35
36pub mod access_control;
37pub mod ai_evaluator;
38pub mod batch;
39pub mod dashboard;
40pub mod document;
41pub mod error;
42pub mod evaluator;
43pub mod evidence;
44pub mod examples;
45pub mod fraud;
46pub mod github;
47pub mod image_similarity;
48pub mod knowledge_base;
49pub mod llm;
50pub mod model_version;
51pub mod ocr;
52pub mod oracle;
53pub mod plagiarism;
54pub mod presets;
55pub mod profiling;
56pub mod reports;
57pub mod reputation_predictor;
58pub mod service;
59pub mod social;
60pub mod token_analyzer;
61pub mod transcript;
62pub mod utils;
63pub mod verifier;
64
65pub use access_control::{
66    AccessControlManager, AccessTier, AiFeature, CustomAgentConfig, FeatureQuota, TierConfig,
67    TokenHolder,
68};
69pub use ai_evaluator::{
70    AiCommitmentVerifier, AiEvaluator, AiFraudDetector, EvaluatorConfig, FraudCheckRequest,
71    FraudCheckResult, VerificationRequest, VerificationResult,
72};
73pub use batch::{
74    BatchCodeEvaluator, BatchCommitmentVerifier, BatchConfig, BatchFraudDetector, BatchResult,
75};
76pub use dashboard::{
77    ComponentHealth, DashboardMetrics, GrafanaDataPoint, HealthCheckStatus, MetricType,
78    PrometheusMetric, TimeSeriesPoint, to_grafana_format,
79};
80pub use document::{
81    CodeBlock, DocumentFormat, DocumentMetadata, DocumentParser, DocumentQuality, DocumentStats,
82    DocumentStructure, Heading, Image, IssueSeverity, Link, MetadataExtractor, PdfMetadata,
83    PdfParseError, PdfParser, QualityAnalyzer, QualityIssue, TocEntry, TocGenerator,
84};
85pub use error::AiError;
86pub use evaluator::{DefaultEvaluator, EvaluationResult, QualityEvaluator};
87pub use evidence::{EvidenceParser, EvidenceType, ParsedEvidence, Recommendation};
88pub use examples::{
89    AccessControlExample, BasicCodeEvaluationExample, BatchProcessingExample,
90    BudgetManagementExample, CompleteServiceExample, CostOptimizationExample,
91    DashboardIntegrationExample, DeepSeekIntegrationExample, FraudDetectionExample,
92    GeminiIntegrationExample, ImageSimilarityExample, IntegrationExample, KnowledgeBaseExample,
93    ModelVersionManagementExample, OllamaIntegrationExample, OracleConsensusExample,
94    PerformanceProfilingExample, PlagiarismDetectionExample, ReportGenerationExample,
95    ResilienceExample,
96};
97pub use fraud::{
98    CommitmentRecord, ComprehensiveFraudReport, FraudAnalysisInput, FraudAnalysisResult,
99    FraudAnalysisService, FraudDetector, FraudFinding, FraudType, ImageAnalysisResult,
100    ImageManipulationDetector, RelatedAccount, RelationshipType, ReputationGamingDetector,
101    RiskLevel, SybilDetector, TradeRecord, WashTradingDetector,
102};
103pub use github::{
104    Commit, CommitVerification, GitHubClient, GitHubConfig, GitHubVerificationResult,
105    GitHubVerifier, Issue, IssueVerification, PrVerification, PullRequest, Release,
106    ReleaseVerification, Repository, parse_github_url,
107};
108pub use image_similarity::{
109    HashAlgorithm, ImageDatabase, ImageSimilarityDetector, PerceptualHash, SimilarityScore,
110};
111pub use knowledge_base::{KnowledgeBase, KnowledgeDomain, KnowledgeEntry};
112pub use llm::{
113    AlertLevel, AnthropicClient, BudgetAlert, BudgetConfig, BudgetManager, BudgetPeriod, CacheInfo,
114    CacheStats, CachedLlmClient, CachedResponse, ChatMessage, ChatRequest, ChatResponse, ChatRole,
115    CircuitBreaker, CircuitBreakerConfig, CircuitBreakerMetrics, CircuitState, CompletionRequest,
116    CompletionResponse, DeepSeekClient, GeminiClient, HealthCheckConfig, HealthMonitor,
117    HealthStatus, HealthSummary, LlmCache, LlmCacheConfig, LlmClient, LlmClientBuilder,
118    LlmOperation, LlmProvider, LogLevel, MetricsCollector, MetricsSnapshot, ModelInfo,
119    OpenAiClient, OperationTimer, PerformanceSpan, PeriodUsage, ProviderHealth, ProviderMetrics,
120    RateLimitGuard, RateLimiter, RateLimiterConfig, RequestDeduplicator, RetryConfig,
121    RetryExecutor, RetryPolicy, StreamAccumulator, StreamChunk, StreamHandler, StreamResponse,
122    StreamingChatRequest, StreamingChatResponse, StreamingLlmProvider, TieredRateLimiter,
123    TokenUsage, collect_stream, retry_with_backoff,
124};
125pub use model_version::{ModelMetrics, ModelRegistry, ModelVersion, VersionComparison};
126pub use ocr::{
127    BlockType, BoundingBox, ImageAnalyzer, ImageFormat, LlmOcrConfig, LlmOcrProvider, OcrProvider,
128    OcrResult, ScreenshotAnalysis, ScreenshotOcr, TextBlock, TextRegionEstimate,
129};
130pub use oracle::{
131    AiOracle, AutoDecision, BatchLearningResult, ConsensusResult, ConsensusStrategy,
132    FeedbackAnalysis, FeedbackEntry, LearningStats, ModelVote, ModelWeight, OracleConfig,
133};
134pub use plagiarism::{
135    BatchPlagiarismDetector, PlagiarismConfig, PlagiarismDetector, PlagiarismReport,
136    PlagiarismResult, SimilarityDetails, SimilarityMatrix,
137};
138pub use presets::{
139    AccessTierPresets, CostOptimizedPreset, DevelopmentPreset, HighVolumePreset, ProductionPreset,
140};
141pub use profiling::{
142    OperationMetrics, OperationStats, PerformanceProfiler, PerformanceReport, ScopedProfiler,
143};
144pub use reports::{
145    BenchmarkSummary, CostAnalysisReport, FraudSummaryReport, OperationBenchmark,
146    PerformanceBenchmarkReport, ReportFormat, ReportGenerator, ReportType,
147};
148pub use reputation_predictor::{
149    CommitmentPrediction, HistoricalCommitment, Impact, IssuerHistory, IssuerRiskAssessment,
150    NewIssuerInfo, ReputationPredictor, RiskFactor, Trend,
151};
152pub use service::{AiServiceBuilder, AiServiceConfig, AiServiceHub};
153pub use social::{
154    LinkedInPost, LinkedInPostType, SocialDetails, SocialMediaParser, SocialMediaVerifier,
155    SocialPlatform, SocialVerificationResult, TwitterPost, VerificationStatus, VerificationSummary,
156    YouTubeVideo,
157};
158pub use token_analyzer::{
159    CommunityMetrics, HistoricalDataPoint, MarketPrediction, SentimentCategory, SentimentScore,
160    SocialMention, TokenAnalyzer, TrendDirection,
161};
162pub use transcript::{
163    LlmTranscriptAnalyzer, QualityIndicators, SearchResult, TopicMention, TranscriptAnalysis,
164    TranscriptProvider, TranscriptResult, TranscriptSearch, TranscriptSegment, TranscriptService,
165    VideoMetadata, VideoPlatform, YouTubeTranscriptProvider,
166};
167pub use utils::{
168    AggregationStrategy, FraudCheckRequestBuilder, VerificationRequestBuilder, aggregate_scores,
169    calculate_average, calculate_coefficient_of_variation, calculate_consensus, calculate_median,
170    calculate_percentile, calculate_std_dev, calculate_success_rate, calculate_variance,
171    calculate_weighted_average, clamp, combine_quality_originality, confidence_to_risk_level,
172    format_cost, format_duration, format_file_size, format_percentage, format_tokens,
173    is_excellent_score, is_passing_score, normalize_score, retry_with_exponential_backoff,
174    score_difference_percent, score_to_grade, score_to_tier, scores_significantly_different,
175    validate_confidence, validate_model_name, validate_quality_score, validate_temperature,
176    validate_token_count, validate_url,
177};