- Replace unreachable!() with proper error return in orchestrator agent chain
- Remove incorrect #[allow(dead_code)] on routing_provider_name
- Change SerError alias to _ (trait import for method resolution only)
- Remove dead commented-out code in pipeline.rs
- Replace unwrap()s with expect/if-let in LLM handler filter paths
- Make find_listener synchronous (no await needed)
- Unify message truncation logic via streaming::truncate_message
Made-with: Cursor
- Pass Arc<AppState> directly to llm_chat and agent_chat instead of
destructuring into individual parameters
- Add shared reqwest::Client to AppState for connection pooling on
upstream LLM requests
- Fix unwrap panics in pipeline.rs: get_new_session_id now returns
Result, invoke_agent to_bytes properly handled
- Fix unwrap panics in orchestrator.rs: strip_prefix and pop
- Fix unwrap panics in response.rs: SSE parsing no longer panics
- Fix unwrap panics in router services: serialization errors propagated
- Convert old-style string-format debug log in state/mod.rs to
structured tracing fields
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Restore llm.model, llm.tools, llm.user_message_preview, llm.temperature
span field recordings that were lost during refactor
- Replace agents.as_ref().unwrap() and agent_map.get().unwrap() in
orchestrator with proper error returns
- Replace from_endpoint().unwrap() with ok_or_else returning 400
- Replace to_bytes().unwrap() with match returning 500
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>