| 219 | } |
| 220 | |
| 221 | fn extract_session_id(event: &HookEvent, agent_id: &str) -> String { |
| 222 | match event { |
| 223 | HookEvent::PreToolUse(e) => e.session_id.clone(), |
| 224 | HookEvent::PostToolUse(e) => e.session_id.clone(), |
| 225 | HookEvent::GenerateStart(e) => e.session_id.clone(), |
| 226 | HookEvent::SessionStart(e) => e.session_id.clone(), |
| 227 | HookEvent::SessionEnd(e) => e.session_id.clone(), |
| 228 | HookEvent::PrePrompt(e) => e.session_id.clone(), |
| 229 | HookEvent::PreContextPerception(e) => e.session_id.clone(), |
| 230 | HookEvent::PostContextPerception(e) => e.session_id.clone(), |
| 231 | HookEvent::OnSuccess(e) => e.session_id.clone(), |
| 232 | HookEvent::PreMemoryRecall(e) => e.session_id.clone(), |
| 233 | HookEvent::PostMemoryRecall(e) => e.session_id.clone(), |
| 234 | HookEvent::PrePlanning(e) => e.session_id.clone(), |
| 235 | HookEvent::PostPlanning(e) => e.session_id.clone(), |
| 236 | HookEvent::PreReasoning(e) => e.session_id.clone(), |
| 237 | HookEvent::PostReasoning(e) => e.session_id.clone(), |
| 238 | HookEvent::OnRateLimit(e) => e.session_id.clone(), |
| 239 | HookEvent::OnConfirmation(e) => e.session_id.clone(), |
| 240 | HookEvent::IntentDetection(e) => e.session_id.clone(), |
| 241 | HookEvent::SkillLoad(_) | HookEvent::SkillUnload(_) => String::new(), |
| 242 | HookEvent::GenerateEnd(_) | HookEvent::PostResponse(_) | HookEvent::OnError(_) => { |
| 243 | agent_id.to_string() |
| 244 | } |
| 245 | } |
| 246 | } |