(&self)
| 2875 | } |
| 2876 | |
| 2877 | fn selected_model_for_prompt(&self) -> Option<String> { |
| 2878 | let model = self.context.current_model.read().clone()?; |
| 2879 | let (base, inline_variant) = |
| 2880 | parse_model_ref_selection(&model, &self.available_models, &self.model_variants); |
| 2881 | let variant = self.context.current_model_variant(); |
| 2882 | |
| 2883 | let resolved = if let Some(variant) = variant { |
| 2884 | let candidate = format!("{base}/{variant}"); |
| 2885 | if self.available_models.contains(&candidate) { |
| 2886 | candidate |
| 2887 | } else { |
| 2888 | model.clone() |
| 2889 | } |
| 2890 | } else if inline_variant.is_some() && self.available_models.contains(&base) { |
| 2891 | base |
| 2892 | } else { |
| 2893 | model.clone() |
| 2894 | }; |
| 2895 | |
| 2896 | Some(resolved) |
| 2897 | } |
| 2898 | |
| 2899 | fn ensure_session_view(&mut self, session_id: &str) { |
| 2900 | if self.active_session_id.as_deref() == Some(session_id) { |
no test coverage detected