tokmd_analysis_types/
receipt.rs1use serde::{Deserialize, Serialize};
7use tokmd_types::{ScanStatus, ToolInfo};
8
9use crate::{
10 AnalysisArgsMeta, AnalysisSource, ApiSurfaceReport, Archetype, AssetReport, ComplexityReport,
11 CorporateFingerprint, DependencyReport, DerivedReport, DuplicateReport, EffortEstimateReport,
12 EntropyReport, FunReport, GitReport, ImportReport, LicenseReport, PredictiveChurnReport,
13 TopicClouds,
14};
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct AnalysisReceipt {
18 pub schema_version: u32,
19 pub generated_at_ms: u128,
20 pub tool: ToolInfo,
21 pub mode: String,
22 pub status: ScanStatus,
23 pub warnings: Vec<String>,
24 pub source: AnalysisSource,
25 pub args: AnalysisArgsMeta,
26 pub archetype: Option<Archetype>,
27 pub topics: Option<TopicClouds>,
28 pub entropy: Option<EntropyReport>,
29 pub predictive_churn: Option<PredictiveChurnReport>,
30 pub corporate_fingerprint: Option<CorporateFingerprint>,
31 pub license: Option<LicenseReport>,
32 pub derived: Option<DerivedReport>,
33 pub assets: Option<AssetReport>,
34 pub deps: Option<DependencyReport>,
35 pub git: Option<GitReport>,
36 pub imports: Option<ImportReport>,
37 pub dup: Option<DuplicateReport>,
38 pub complexity: Option<ComplexityReport>,
39 pub api_surface: Option<ApiSurfaceReport>,
40 pub effort: Option<EffortEstimateReport>,
41 pub fun: Option<FunReport>,
42}