Skip to main content

fallow_api/
output_contracts.rs

1//! Concrete output-contract aliases shared by schema and adapter crates.
2
3pub type AuditOutput = fallow_output::AuditOutput<
4    crate::AuditVerdict,
5    crate::AuditSummary,
6    crate::AuditAttribution,
7    fallow_output::CheckOutput,
8    crate::DupesReportPayload,
9    fallow_output::HealthReport,
10>;
11
12pub type CombinedOutput = fallow_output::CombinedOutput<
13    fallow_output::CheckOutput,
14    crate::DupesReportPayload,
15    fallow_output::HealthReport,
16>;
17
18pub type ListBoundariesOutput = fallow_output::ListBoundariesOutput<
19    fallow_config::LogicalGroupStatus,
20    fallow_config::AuthoredRule,
21>;
22
23pub type WorkspacesOutput = fallow_output::WorkspacesOutput<fallow_config::WorkspaceDiagnostic>;
24
25pub type BoundariesListing = fallow_output::BoundariesListing<
26    fallow_config::LogicalGroupStatus,
27    fallow_config::AuthoredRule,
28>;
29
30pub type BoundariesListZone = fallow_output::BoundariesListZone;
31
32pub type BoundariesListRule = fallow_output::BoundariesListRule;
33
34pub type BoundariesListLogicalGroup = fallow_output::BoundariesListLogicalGroup<
35    fallow_config::LogicalGroupStatus,
36    fallow_config::AuthoredRule,
37>;
38
39pub type ListOutput =
40    fallow_output::ListOutput<BoundariesListing, fallow_config::WorkspaceDiagnostic>;
41
42pub type ListEntryPointOutput = fallow_output::ListEntryPointOutput;
43
44pub type ListPluginOutput = fallow_output::ListPluginOutput;
45
46pub type SecurityGate = fallow_output::SecurityGate<crate::SecurityGateMode>;
47
48pub type SecurityOutputConfig = fallow_output::SecurityOutputConfig<fallow_config::Severity>;
49
50pub type SecuritySummaryOutput =
51    fallow_output::SecuritySummaryOutput<SecurityOutputConfig, SecurityGate>;
52
53pub type SecurityOutput = fallow_output::SecurityOutput<SecurityOutputConfig, SecurityGate>;
54
55#[derive(Debug, serde::Serialize)]
56#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
57#[serde(untagged)]
58pub enum TraceOutput {
59    Export(Box<fallow_types::trace::ExportTrace>),
60    ClassMember(Box<fallow_types::trace::ClassMemberTrace>),
61    File(Box<fallow_types::trace::FileTrace>),
62    Dependency(Box<fallow_types::trace::DependencyTrace>),
63    Clone(Box<fallow_types::trace::CloneTrace>),
64    ImpactClosure(Box<fallow_types::trace::ImpactClosureTrace>),
65    SymbolChain(Box<fallow_types::trace_chain::SymbolChainTrace>),
66    SemanticSymbol(Box<fallow_types::semantic::SemanticSymbolTrace>),
67}
68
69#[derive(Debug, Clone, serde::Serialize)]
70#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
71#[serde(untagged)]
72pub enum ImpactOutput {
73    Project(Box<fallow_output::ImpactReport>),
74    SemanticSymbol(Box<fallow_types::semantic::SemanticSymbolImpact>),
75}
76
77#[allow(
78    clippy::type_complexity,
79    reason = "the concrete review brief contract names every typed wire section"
80)]
81pub type ReviewBriefWireOutput = fallow_output::ReviewBriefWireOutput<
82    fallow_output::FocusMap,
83    fallow_output::WeakeningSignal,
84    fallow_output::RoutingFacts,
85    fallow_output::DecisionSurface,
86    crate::AuditVerdict,
87    crate::AuditSummary,
88    crate::AuditAttribution,
89    fallow_output::CheckOutput,
90    crate::DupesReportPayload,
91    fallow_output::HealthReport,
92>;
93
94#[allow(
95    clippy::type_complexity,
96    reason = "concrete root union intentionally fills every output payload slot"
97)]
98pub type FallowOutput = fallow_output::FallowOutput<
99    AuditOutput,
100    fallow_output::ExplainOutput,
101    fallow_output::InspectOutput,
102    TraceOutput,
103    fallow_output::ReviewEnvelopeOutput,
104    fallow_output::ReviewReconcileOutput,
105    fallow_output::CoverageSetupOutput,
106    fallow_output::CoverageAnalyzeOutput,
107    ListBoundariesOutput,
108    WorkspacesOutput,
109    fallow_output::HealthOutput<fallow_output::HealthReport, fallow_output::HealthGroup>,
110    fallow_output::DupesOutput<crate::DupesReportPayload, crate::DuplicationGroup>,
111    fallow_output::CheckGroupedOutput,
112    ImpactOutput,
113    fallow_output::CrossRepoImpactReport,
114    SecuritySummaryOutput,
115    SecurityOutput,
116    fallow_output::SecuritySurvivorsOutput,
117    fallow_output::SecurityBlindSpotsOutput,
118    fallow_output::CheckOutput,
119    CombinedOutput,
120    fallow_output::FeatureFlagsOutput,
121    ReviewBriefWireOutput,
122    fallow_output::DecisionSurfaceOutput,
123    fallow_output::StandardWalkthroughGuide,
124    fallow_output::WalkthroughValidation,
125    fallow_output::SuppressionInventoryOutput,
126    fallow_output::TypeAwareStatusOutput,
127>;