relay_knowledge/domain/code/repository/
retrieval_results.rs1use serde::{Deserialize, Serialize};
2
3use super::super::staleness::StalenessHint;
4use super::{CodeRetrievalLayer, RepositoryCodeRange};
5
6#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
8pub struct CodeImpactPathGroups {
9 pub in_scope_changed_paths: Vec<String>,
10 pub out_of_scope_changed_paths: Vec<String>,
11}
12
13#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
15pub struct CodeRetrievalHit {
16 pub repository_id: String,
17 pub scope_id: String,
18 pub resolved_commit_sha: String,
19 pub tree_hash: String,
20 pub path: String,
21 pub language_id: String,
22 pub byte_range: RepositoryCodeRange,
23 pub line_range: RepositoryCodeRange,
24 pub symbol_snapshot_id: Option<String>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub canonical_symbol_id: Option<String>,
27 pub file_id: Option<String>,
28 pub retrieval_layers: Vec<CodeRetrievalLayer>,
29 pub index_versions: Vec<String>,
30 pub stale: bool,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub staleness_hint: Option<StalenessHint>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub degraded_reason: Option<String>,
35 #[serde(skip_serializing_if = "Option::is_none")]
36 pub edge_kind: Option<String>,
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub edge_resolution_state: Option<String>,
39 #[serde(skip_serializing_if = "Option::is_none")]
40 pub edge_target_hint: Option<String>,
41 #[serde(skip_serializing_if = "Option::is_none")]
42 pub edge_confidence_basis_points: Option<u16>,
43 #[serde(skip_serializing_if = "Option::is_none")]
44 pub edge_confidence_tier: Option<String>,
45 pub score: f64,
46 pub excerpt: String,
47}
48
49#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
51pub struct CodeFeatureFlagUsage {
52 pub usage_id: String,
53 pub path: String,
54 pub language_id: String,
55 pub file_id: String,
56 pub byte_range: RepositoryCodeRange,
57 pub line_range: RepositoryCodeRange,
58 pub edge_kind: String,
59 #[serde(skip_serializing_if = "Option::is_none")]
60 pub related_symbol_snapshot_id: Option<String>,
61 #[serde(skip_serializing_if = "Option::is_none")]
62 pub related_symbol_name: Option<String>,
63 pub confidence_basis_points: u16,
64 pub confidence_tier: String,
65 pub excerpt: String,
66}
67
68#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
70pub struct CodeFeatureFlagGraph {
71 pub feature_flag_id: String,
72 pub name: String,
73 pub source_kind: String,
74 pub source_key: String,
75 pub score: f64,
76 pub usages: Vec<CodeFeatureFlagUsage>,
77}