1#![warn(missing_docs)]
10#![cfg_attr(
11 test,
12 allow(
13 clippy::expect_used,
14 reason = "tests use expect to keep serialization assertions concise"
15 )
16)]
17
18mod analysis_sarif;
19mod audit_branching;
20mod audit_brief;
21mod audit_decision_surface;
22mod audit_focus;
23mod audit_render;
24mod audit_routing;
25mod audit_walkthrough;
26mod audit_weakening;
27mod check;
28mod ci_output;
29mod codeclimate;
30mod coverage_envelopes;
31mod dead_code_sarif;
32mod diff;
33mod doctor;
34mod dupes;
35mod error_envelope;
36mod feature_flags;
37mod fix;
38mod health;
39mod health_actions;
40mod health_coverage;
41mod health_coverage_gaps;
42mod health_coverage_intelligence;
43mod health_css;
44mod health_diagnostics;
45mod health_findings;
46mod health_grouped;
47mod health_report;
48mod health_runtime_coverage;
49mod health_scores;
50mod health_targets;
51mod health_trends;
52mod health_vital_signs;
53mod impact;
54mod inspect_envelopes;
55mod issue_contract;
56mod json_paths;
57mod list_envelopes;
58mod next_steps;
59mod pr_comment_envelope;
60mod pr_comment_post_plan;
61mod pr_decision;
62mod pr_details;
63mod pr_status;
64mod pr_summary;
65mod report_contract;
66mod review_envelopes;
67mod root_envelopes;
68mod sarif;
69mod saved_health;
70mod security;
71mod similar_code;
72mod suppressions;
73mod trace_envelopes;
74mod type_aware_envelopes;
75mod walkthrough_render;
76
77pub use analysis_sarif::{
78 annotate_sarif_results, build_duplication_sarif, build_grouped_duplication_sarif,
79 build_health_sarif,
80};
81pub use audit_branching::{
82 BranchingCognitive, BranchingFileDelta, BranchingMetric, BranchingReport, BranchingScope,
83 BranchingSnapshot, CognitiveAttribution, DEFAULT_BRANCHING_TOLERANCE, SplitInPlace,
84};
85pub use audit_brief::{
86 AFFECTED_DIR_CAP, AFFECTED_SAMPLE_CAP, AffectedDirectory, CoordinationGapFact, DiffTriage,
87 GraphFacts, ImpactClosureFacts, PartitionFacts, REVIEW_BRIEF_SCHEMA_VERSION, ReviewBriefHeader,
88 ReviewBriefOutput, ReviewBriefSchemaVersion, ReviewBriefSubtractSections,
89 ReviewBriefWireOutput, ReviewDeltas, ReviewEffort, ReviewUnitFact, RiskClass,
90 StandardReviewBriefOutput, build_review_brief_json_output,
91 serialize_decision_surface_json_output, serialize_review_brief_json_output,
92 serialize_walkthrough_guide_json_output, serialize_walkthrough_validation_json_output,
93};
94pub use audit_decision_surface::{
95 DECISION_SURFACE_SCHEMA_VERSION, Decision, DecisionAction, DecisionActionType,
96 DecisionCategory, DecisionSurface, DecisionSurfaceOutput, DecisionSurfaceSchemaVersion,
97 DecisionWithActions, TruncationNote, build_decision_surface_output, suppress_comment,
98};
99pub use audit_focus::{ConfidenceFlag, FocusLabel, FocusMap, FocusScore, FocusUnit};
100pub use audit_render::{
101 AuditDisplayGate, AuditDisplaySeverity, AuditStylingContextLabelInput,
102 styling_audit_context_label, styling_candidate_count,
103};
104pub use audit_routing::{RoutingFacts, RoutingUnit};
105pub use audit_walkthrough::{
106 AcceptedJudgment, AgentJudgment, AgentSchema, AgentWalkthrough, ChangeAnchor, DirectionUnit,
107 INJECTION_NOTE, JUDGMENT_ACTIONS, JUDGMENT_CONCERNS, RejectedJudgment, ReviewDirection,
108 StandardWalkthroughGuide, TestAdjacency, WalkthroughGuide, WalkthroughValidation, agent_schema,
109 is_judgment_action,
110};
111pub use audit_weakening::{WeakeningKind, WeakeningSignal};
112pub use check::{
113 CHECK_SCHEMA_VERSION, CheckGroupedEntry, CheckGroupedOutput, CheckOutput, CheckOutputInput,
114 GroupByMode, apply_config_fixable_to_duplicate_exports, build_check_output,
115 harmonize_dead_code_health_suppress_line_actions, harmonize_multi_kind_suppress_line_actions,
116 serialize_check_grouped_json_output, serialize_check_json_output,
117};
118pub use ci_output::{
119 CiIssue, CiLocation, CiProvider, GroupedReviewIssues, MARKER_PREFIX_V2, MARKER_SUFFIX_V2,
120 MAX_COMMENT_BODY_BYTES, PROJECT_LEVEL_RULE_IDS, PrCommentRenderInput, ReviewCommentRenderInput,
121 ReviewEnvelopeRenderInput, ReviewEnvelopeRenderResult, ReviewEnvelopeTruncation,
122 ReviewGitlabDiffRefs, apply_path_prefix, cap_body_with_marker, command_title,
123 composite_fingerprint, escape_md, github_check_conclusion, group_review_issues_by_path_line,
124 is_project_level_rule, issues_from_codeclimate, issues_from_codeclimate_issues,
125 markdown_code_span, markdown_table_code_span, markdown_table_text, render_pr_comment,
126 render_pr_comment_with_verdict, render_review_comment_for_group, render_review_envelope,
127 render_review_envelope_with_conclusion, render_scoped_review_envelope,
128 render_scoped_review_envelope_with_conclusion, review_label_from_codeclimate,
129 summary_fingerprint, summary_label,
130};
131pub use codeclimate::{
132 CodeClimateAnnotationField, CodeClimateIssue, CodeClimateIssueInput, CodeClimateIssueKind,
133 CodeClimateLines, CodeClimateLocation, CodeClimateOutput, CodeClimateSeverity,
134 annotate_codeclimate_issues, build_codeclimate_issue, codeclimate_fingerprint_hash,
135 codeclimate_issues_to_value,
136};
137pub use coverage_envelopes::{
138 CoverageAnalyzeOutput, CoverageAnalyzeSchemaVersion, CoverageSetupFileToEdit,
139 CoverageSetupFramework, CoverageSetupMember, CoverageSetupOutput, CoverageSetupPackageManager,
140 CoverageSetupRuntimeTarget, CoverageSetupSchemaVersion, CoverageSetupSnippet,
141 build_coverage_analyze_output, serialize_coverage_analyze_json_output,
142 serialize_coverage_setup_json_output,
143};
144pub use dead_code_sarif::build_dead_code_sarif;
145pub use diff::{
146 DiffIndex, MAX_ADDED_LINES, MAX_DIFF_BYTES, parse_new_hunk_start, relative_to_diff_path,
147};
148pub use doctor::{
149 DOCTOR_SCHEMA_VERSION, DoctorCheck, DoctorCheckCategory, DoctorCheckId, DoctorCheckStatus,
150 DoctorOutput, DoctorRemediation, DoctorStatus, DoctorSummary, serialize_doctor_json_output,
151};
152pub use dupes::{
153 CloneFamilyAction, CloneFamilyActionType, CloneGroupAction, CloneGroupActionType,
154 DUPES_PROGRAMMATIC_SCHEMA_VERSION, DUPES_SCHEMA_VERSION, DupesOutput, DupesOutputInput,
155 build_dupes_output, clone_family_actions, clone_group_actions, serialize_dupes_json_output,
156};
157pub use error_envelope::ErrorOutput;
158pub use fallow_types::envelope;
159pub use fallow_types::output;
160pub use fallow_types::output_dead_code;
161pub use fallow_types::output_format::OutputFormat;
162pub use fallow_types::output_health;
163pub use feature_flags::{
164 FEATURE_FLAGS_SCHEMA_VERSION, FeatureFlagAction, FeatureFlagActionType, FeatureFlagConfidence,
165 FeatureFlagDeadCodeOverlap, FeatureFlagFinding, FeatureFlagKind, FeatureFlagsConfidenceMeta,
166 FeatureFlagsKindMeta, FeatureFlagsMeta, FeatureFlagsMetaDetails, FeatureFlagsOutput,
167 FeatureFlagsOutputInput, build_feature_flags_output, feature_flags_meta,
168 serialize_feature_flags_json_output,
169};
170pub use fix::{FixJsonOutput, FixJsonOutputInput, count_applied_fixes, serialize_fix_json_output};
171pub use health::{
172 HEALTH_SCHEMA_VERSION, HealthJsonOutputInput, HealthOutput, HealthOutputInput,
173 serialize_health_json_output,
174};
175pub use health_actions::HealthActionsMeta;
176pub use health_coverage::CoverageModel;
177pub use health_coverage_gaps::{
178 CoverageGapSummary, CoverageGaps, UntestedExport, UntestedExportFinding, UntestedFile,
179 UntestedFileFinding,
180};
181pub use health_coverage_intelligence::{
182 CoverageIntelligenceAction, CoverageIntelligenceConfidence, CoverageIntelligenceEvidence,
183 CoverageIntelligenceFinding, CoverageIntelligenceMatchConfidence,
184 CoverageIntelligenceRecommendation, CoverageIntelligenceReport,
185 CoverageIntelligenceSchemaVersion, CoverageIntelligenceSignal, CoverageIntelligenceSummary,
186 CoverageIntelligenceVerdict,
187};
188pub use health_css::{
189 ConsumerKind, CssAnalyticsReport, CssAnalyticsSummary, CssBlockOccurrence, CssCandidateAction,
190 CssCandidateActionType, CssDuplicateBlock, CssFileAnalytics, CssNotationConsistency,
191 CssNotationCount, CvaDuplicateVariantBlock, CvaVariantTokenDrift, NearDuplicateThemeToken,
192 NearestStylingToken, RawStyleValue, ScopedUnusedClasses, StylingAgentDisposition,
193 StylingFinding, StylingFindingConfidence, StylingFindingSeverity, TOKEN_CONSUMER_SAMPLE_CAP,
194 TailwindArbitraryValue, TokenConsumerLocation, TokenConsumers, UndefinedKeyframes,
195 UnreferencedCssClass, UnreferencedKeyframes, UnresolvedClassReference, UnusedAtRule,
196 UnusedAtRuleKind, UnusedFontFace, UnusedThemeToken,
197};
198pub use health_diagnostics::{
199 FrameworkHealthDetector, FrameworkHealthDetectorStatus, FrameworkHealthDiagnostics,
200 HealthTimings,
201};
202pub use health_findings::{
203 HealthActionContext, HealthActionOptions, HealthFinding, HotspotFinding,
204 RefactoringTargetFinding, SFC_TEMPLATE_SUPPRESS_COMMENT, build_health_finding_actions,
205};
206pub use health_grouped::{HealthGroup, HealthGrouping};
207pub use health_report::HealthReport;
208pub use health_runtime_coverage::{
209 RUNTIME_STALE_AFTER_DAYS, RuntimeCoverageAction, RuntimeCoverageBlastRadiusEntry,
210 RuntimeCoverageCaptureQuality, RuntimeCoverageConfidence, RuntimeCoverageDataSource,
211 RuntimeCoverageDiscriminators, RuntimeCoverageEvidence, RuntimeCoverageFinding,
212 RuntimeCoverageHotPath, RuntimeCoverageImportanceEntry, RuntimeCoverageMessage,
213 RuntimeCoverageProvenance, RuntimeCoverageReport, RuntimeCoverageReportVerdict,
214 RuntimeCoverageRiskBand, RuntimeCoverageSchemaVersion, RuntimeCoverageSignal,
215 RuntimeCoverageSummary, RuntimeCoverageVerdict, RuntimeCoverageWatermark,
216};
217pub use health_scores::{
218 COGNITIVE_EXTRACTION_THRESHOLD, ClockProvenance, ClockSource, ComplexityViolation,
219 ComponentRollup, ContributorEntry, ContributorIdentifierFormat, CoverageSource,
220 CoverageSourceConsistency, CoverageTier, DEFAULT_COGNITIVE_CRITICAL, DEFAULT_COGNITIVE_HIGH,
221 DEFAULT_CRAP_CRITICAL, DEFAULT_CRAP_HIGH, DEFAULT_CYCLOMATIC_CRITICAL, DEFAULT_CYCLOMATIC_HIGH,
222 DEFAULT_MAX_UNIT_SIZE, ExceededThreshold, FileHealthScore, FindingSeverity,
223 HEALTH_SCORE_FORMULA_VERSION, HOTSPOT_SCORE_THRESHOLD, HealthBaselineStaleness,
224 HealthConfiguredThresholds, HealthEffectiveThresholds, HealthScore, HealthScorePenalties,
225 HealthSummary, HotspotEntry, HotspotSummary, LargeFunctionEntry, MI_DENSITY_MIN_LINES,
226 OwnershipMetrics, OwnershipState, ReactHookProfile, STYLING_HEALTH_FORMULA_VERSION,
227 StylingHealth, StylingHealthConfidence, StylingHealthPenalties, ThresholdOverrideDimension,
228 ThresholdOverrideMetrics, ThresholdOverrideState, ThresholdOverrideStatus, ThresholdSource,
229 compute_finding_severity, letter_grade, summarize_coverage_source_consistency,
230};
231pub use health_targets::{
232 CloneSiblingEvidence, Confidence, ContributingFactor, DirectCallerEvidence,
233 DirectCallerSymbolEvidence, EffortEstimate, EvidenceFunction, RecommendationCategory,
234 RefactoringTarget, TargetEvidence, TargetThresholds,
235};
236pub use health_trends::{HealthTrend, TrendCount, TrendDirection, TrendMetric, TrendPoint};
237pub use health_vital_signs::{
238 CyclomaticPopulation, CyclomaticUnitPopulation, RenderFanInTopComponent, RiskProfile,
239 SNAPSHOT_SCHEMA_VERSION, VitalSigns, VitalSignsCounts, VitalSignsSnapshot,
240};
241pub use impact::{
242 ContainmentEvent, CrossRepoImpactReport, CrossRepoImpactSchemaVersion, CrossRepoProjectEntry,
243 CrossRepoTotals, EnabledSource, GateRunCounts, ImpactCounts, ImpactReport,
244 ImpactReportSchemaVersion, ImpactTrendDirection, ResolutionEvent, TrendSummary,
245 serialize_cross_repo_impact_json_output, serialize_impact_json_output,
246};
247pub use inspect_envelopes::{
248 ExplainOutput, InspectEvidence, InspectEvidenceScope, InspectEvidenceSection,
249 InspectFileIdentity, InspectIdentity, InspectOutput, InspectSectionStatus,
250 InspectSymbolIdentity, InspectTargetDescriptor, serialize_explain_json_output,
251 serialize_inspect_json_output,
252};
253pub use issue_contract::{
254 ACTIONS_AUTO_FIXABLE_FIELD_DEFINITION, ACTIONS_FIELD_DEFINITION, CHECK_DOCS,
255 CODECLIMATE_RESULT_CODES, IssueOutputContract, TsAliasMeta, check_meta, dead_code_docs_url,
256 issue_output_contract_by_code, issue_output_contracts, rule_docs_url,
257};
258pub use json_paths::{normalize_uri, strip_root_prefix};
259pub use list_envelopes::{
260 BoundariesListLogicalGroup, BoundariesListRule, BoundariesListZone, BoundariesListing,
261 ListBoundariesOutput, ListEntryPointOutput, ListOutput, ListPluginOutput, WorkspaceInfo,
262 WorkspacesOutput, serialize_list_boundaries_json_output, serialize_list_workspaces_json_output,
263};
264pub use next_steps::{
265 AuditNextStepsInput, CombinedNextStepsInput, DeadCodeNextStepsInput, DupesNextStepsInput,
266 HealthNextStepsInput, ImpactDigestCounts, TraceUnusedExportInput, build_audit_next_steps,
267 build_audit_next_steps_input, build_combined_next_steps, build_dead_code_next_steps,
268 build_dupes_next_steps, build_health_next_steps, build_health_next_steps_input,
269 impact_digest_summary, trace_unused_export_input,
270};
271pub use pr_comment_envelope::{PrCommentEnvelope, PrCommentTruncation};
272pub use pr_comment_post_plan::{
273 ExistingPrComment, PrCommentPostAction, PrCommentPostPlan, PrCommentPostPlanInput,
274 PrCommentPostSkipReason, plan_pr_comment_post,
275};
276pub use pr_decision::{
277 PR_DECISION_SCHEMA, PrDecisionAnnotation, PrDecisionAnnotationLevel, PrDecisionConclusion,
278 PrDecisionDetails, PrDecisionGate, PrDecisionSurface,
279};
280pub use pr_details::{PR_DETAILS_SCHEMA, PrDetailsArtifact, PrDetailsRow, PrDetailsSection};
281pub use pr_status::{
282 PrStatusContext, PrStatusMode, pr_status_contexts, pr_status_contexts_with_mode,
283};
284pub use pr_summary::{
285 PrCommentLayout, PrSummaryArea, PrSummaryFinding, PrSummaryInput, PrSummaryScope,
286 PrSummaryStatus, render_pr_summary,
287};
288pub use report_contract::{
289 COVERAGE_ANALYZE_DOCS, COVERAGE_SETUP_DOCS, DUPES_DOCS, HEALTH_DOCS, SecurityRuleMeta,
290 coverage_analyze_meta, coverage_setup_meta, dupes_meta, health_meta, security_meta,
291};
292pub use review_envelopes::{
293 GitHubReviewComment, GitHubReviewSide, GitLabReviewComment, GitLabReviewPosition,
294 GitLabReviewPositionType, MARKER_REGEX_V2, ReviewCheckConclusion, ReviewComment,
295 ReviewEnvelopeEvent, ReviewEnvelopeMeta, ReviewEnvelopeOutput, ReviewEnvelopeSchema,
296 ReviewEnvelopeSummary, ReviewEnvelopeWireOutput, ReviewId, ReviewProvider,
297 ReviewReconcileOutput, ReviewReconcileSchema, body_matches_review_id, default_marker_regex,
298 default_marker_regex_flags, is_false, parse_review_id_marker, review_id_marker,
299 serialize_review_envelope_json_output, serialize_review_reconcile_json_output,
300 serialize_scoped_review_envelope_json_output, validate_review_body_scope,
301};
302pub use root_envelopes::{
303 AUDIT_SCHEMA_VERSION, AuditCommand, AuditOutput, COMBINED_SCHEMA_VERSION, CombinedMeta,
304 CombinedOutput, FallowOutput, RootEnvelopeMode, apply_root_kind, attach_telemetry_meta,
305 serialize_audit_json_output, serialize_combined_json_output, serialize_json_root_output,
306 serialize_named_json_output,
307};
308pub use sarif::{
309 GHAS_SARIF_FINGERPRINT_KEY, SARIF_FINGERPRINT_KEY, SarifDocumentInput, SarifFindingFields,
310 SarifFindingInput, SarifResultInput, SarifRuleInput, SarifSourceSnippetCache,
311 append_sarif_findings, build_sarif_document, build_sarif_result,
312 build_sarif_result_with_snippet, build_sarif_rule, ensure_unique_result_fingerprints,
313 sarif_finding_fingerprint,
314};
315pub use saved_health::health_report_from_saved_value;
316pub use security::{
317 SECURITY_SCHEMA_VERSION, SecurityBlindSpotFile, SecurityBlindSpotGroup,
318 SecurityBlindSpotsOutput, SecurityBlindSpotsSchemaVersion, SecurityBlindSpotsSummary,
319 SecurityGate, SecurityGateVerdict, SecurityOutput, SecurityOutputConfig,
320 SecurityOutputRulesConfig, SecurityReachabilityCounts, SecurityRuleSeverityConfig,
321 SecurityRuntimeStateCounts, SecuritySchemaVersion, SecuritySeverityCounts, SecuritySummary,
322 SecuritySummaryOutput, SecuritySurvivor, SecuritySurvivorsOutput,
323 SecuritySurvivorsSchemaVersion, SecuritySurvivorsSummary, SecurityUnresolvedCalleeDiagnostics,
324 SecurityUnresolvedCalleeReasonCount, SecurityUnresolvedCalleeSample,
325 SecurityUnresolvedCalleeTopFile, SecurityVerifierVerdict, SecurityVerifierVerdictStatus,
326 serialize_security_blind_spots_json_output, serialize_security_json_output,
327 serialize_security_summary_json_output, serialize_security_survivors_json_output,
328 validate_saved_security_envelope,
329};
330pub use similar_code::{
331 SIMILAR_CODE_CACHE_CLEAR_SCHEMA_VERSION, SIMILAR_CODE_INSPECT_SCHEMA_VERSION,
332 SIMILAR_CODE_REVIEW_SCHEMA_VERSION, SIMILAR_CODE_SCHEMA_VERSION,
333 SIMILAR_CODE_STATUS_SCHEMA_VERSION, SimilarCodeAction, SimilarCodeActionType,
334 SimilarCodeCacheClearOutput, SimilarCodeCacheClearSchemaVersion, SimilarCodeCacheStatus,
335 SimilarCodeCacheSummary, SimilarCodeCandidate, SimilarCodeCandidateSnapshot,
336 SimilarCodeCompletion, SimilarCodeCompletionStatus, SimilarCodeDiagnostic,
337 SimilarCodeDiagnosticDomain, SimilarCodeDomainOutcome, SimilarCodeEnrichmentAvailability,
338 SimilarCodeEnrichmentState, SimilarCodeGeneration, SimilarCodeGenerationParameters,
339 SimilarCodeInspectOutput, SimilarCodeInspectPacket, SimilarCodeInspectSchemaVersion,
340 SimilarCodeLimits, SimilarCodeLocation, SimilarCodeModelProvenance, SimilarCodeNamedReference,
341 SimilarCodeOutput, SimilarCodePhase, SimilarCodePhaseCompletion, SimilarCodePhaseStatus,
342 SimilarCodeProvider, SimilarCodeProviderProvenance, SimilarCodeReviewOutput,
343 SimilarCodeReviewProvenance, SimilarCodeReviewSchemaVersion, SimilarCodeReviewedCandidate,
344 SimilarCodeSchemaVersion, SimilarCodeScopeProvenance, SimilarCodeSideEffectHint,
345 SimilarCodeSideEvidence, SimilarCodeSimilarityBand, SimilarCodeSkip, SimilarCodeSkipReason,
346 SimilarCodeStatusOutput, SimilarCodeStatusSchemaVersion, SimilarCodeVerdict,
347 SimilarCodeVerdictInput, SimilarCodeVerdictMatch, SimilarCodeVerdictSchemaVersion,
348 SimilarCodeVerdictValidationError, SimilarCodeVerificationStatus,
349 serialize_similar_code_cache_clear_json_output, serialize_similar_code_inspect_json_output,
350 serialize_similar_code_json_output, serialize_similar_code_review_json_output,
351 serialize_similar_code_status_json_output,
352};
353pub use suppressions::{
354 SuppressionInventoryEntry, SuppressionInventoryFile, SuppressionInventoryLevel,
355 SuppressionInventoryOrigin, SuppressionInventoryOutput, SuppressionInventoryOutputInput,
356 SuppressionInventorySchemaVersion, SuppressionInventorySummary, SuppressionKindCount,
357 build_suppression_inventory_output, serialize_suppression_inventory_json_output,
358};
359pub use trace_envelopes::{serialize_trace_error_json_output, serialize_trace_json_output};
360pub use type_aware_envelopes::{
361 TYPE_AWARE_STATUS_SCHEMA_VERSION, TypeAwareStatusOutput,
362 serialize_type_aware_status_json_output,
363};
364pub use walkthrough_render::{
365 MAX_CONTRACT_MEMBERS, WalkthroughAccounting, cap_names, clean_decision_fact,
366 decisions_outside_units, visible_stage_units,
367};