Notify providers of turn completion for memory extraction.
(&self, session_id: &str, prompt: &str, response: &str)
| 114 | |
| 115 | /// Notify providers of turn completion for memory extraction. |
| 116 | async fn notify_turn_complete(&self, session_id: &str, prompt: &str, response: &str) { |
| 117 | let futures = self |
| 118 | .config |
| 119 | .context_providers |
| 120 | .iter() |
| 121 | .map(|p| p.on_turn_complete(session_id, prompt, response)); |
| 122 | let outcomes = join_all(futures).await; |
| 123 | |
| 124 | for (i, result) in outcomes.into_iter().enumerate() { |
| 125 | if let Err(e) = result { |
| 126 | tracing::warn!( |
| 127 | "Context provider '{}' on_turn_complete failed: {}", |
| 128 | self.config.context_providers[i].name(), |
| 129 | e |
| 130 | ); |
| 131 | } |
| 132 | } |
| 133 | } |
| 134 | |
| 135 | /// Detect whether the LLM's no-tool-call response looks like an intermediate |
| 136 | /// step rather than a genuine final answer. |
no test coverage detected