(&self, prompt: &str)
| 105 | } |
| 106 | |
| 107 | async fn resolve_execution_route(&self, prompt: &str) -> ExecutionRoute { |
| 108 | let pre_analysis = self.run_pre_analysis(prompt).await; |
| 109 | let style = self.resolve_execution_style(prompt, pre_analysis.as_ref()); |
| 110 | let use_planning = self.resolve_planning_decision(style, pre_analysis.as_ref()); |
| 111 | let effective_prompt = pre_analysis |
| 112 | .as_ref() |
| 113 | .map(|analysis| { |
| 114 | Self::preserve_original_prompt_for_execution(prompt, &analysis.optimized_input) |
| 115 | }) |
| 116 | .unwrap_or_else(|| prompt.to_string()); |
| 117 | |
| 118 | ExecutionRoute { |
| 119 | style, |
| 120 | use_planning, |
| 121 | effective_prompt, |
| 122 | pre_analysis, |
| 123 | } |
| 124 | } |
| 125 | |
| 126 | async fn run_pre_analysis(&self, prompt: &str) -> Option<PreAnalysis> { |
| 127 | if !self.should_run_pre_analysis() { |
no test coverage detected