(
&mut self,
offset: isize,
_chat_view: &mut ChatView,
chat_state: &mut ChatState,
rt_handle: &tokio::runtime::Handle,
)
| 1979 | } |
| 1980 | |
| 1981 | fn switch_agent_by_offset( |
| 1982 | &mut self, |
| 1983 | offset: isize, |
| 1984 | _chat_view: &mut ChatView, |
| 1985 | chat_state: &mut ChatState, |
| 1986 | rt_handle: &tokio::runtime::Handle, |
| 1987 | ) { |
| 1988 | let modes = self.get_mode_agents(rt_handle); |
| 1989 | if modes.len() <= 1 { |
| 1990 | return; |
| 1991 | } |
| 1992 | |
| 1993 | let current_idx = modes |
| 1994 | .iter() |
| 1995 | .position(|m| m.id == self.agent_type) |
| 1996 | .unwrap_or(0); |
| 1997 | |
| 1998 | let len = modes.len() as isize; |
| 1999 | let next_idx = ((current_idx as isize + offset) % len + len) % len; |
| 2000 | let next = &modes[next_idx as usize]; |
| 2001 | |
| 2002 | self.agent_type = next.id.clone(); |
| 2003 | chat_state.agent_type = next.id.clone(); |
| 2004 | } |
| 2005 | |
| 2006 | /// Load current model name from global config for display |
| 2007 | fn load_current_model_name( |
no test coverage detected