| 14 | |
| 15 | impl std::fmt::Debug for SessionOptions { |
| 16 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { |
| 17 | f.debug_struct("SessionOptions") |
| 18 | .field("model", &self.model) |
| 19 | .field("agent_dirs", &self.agent_dirs) |
| 20 | .field("worker_agents", &self.worker_agents.len()) |
| 21 | .field("skill_dirs", &self.skill_dirs) |
| 22 | .field("queue_config", &self.queue_config) |
| 23 | .field("security_provider", &self.security_provider.is_some()) |
| 24 | .field("llm_client", &self.llm_client.is_some()) |
| 25 | .field("context_providers", &self.context_providers.len()) |
| 26 | .field("confirmation_manager", &self.confirmation_manager.is_some()) |
| 27 | .field("permission_checker", &self.permission_checker.is_some()) |
| 28 | .field("permission_policy", &self.permission_policy.is_some()) |
| 29 | .field("planning_mode", &self.planning_mode) |
| 30 | .field("goal_tracking", &self.goal_tracking) |
| 31 | .field( |
| 32 | "skill_registry", |
| 33 | &self |
| 34 | .skill_registry |
| 35 | .as_ref() |
| 36 | .map(|r| format!("{} skills", r.len())), |
| 37 | ) |
| 38 | .field( |
| 39 | "enforce_active_skill_tool_restrictions", |
| 40 | &self.enforce_active_skill_tool_restrictions, |
| 41 | ) |
| 42 | .field("memory_store", &self.memory_store.is_some()) |
| 43 | .field("session_store", &self.session_store.is_some()) |
| 44 | .field("session_id", &self.session_id) |
| 45 | .field("auto_save", &self.auto_save) |
| 46 | .field("artifact_store_limits", &self.artifact_store_limits) |
| 47 | .field("max_parse_retries", &self.max_parse_retries) |
| 48 | .field("tool_timeout_ms", &self.tool_timeout_ms) |
| 49 | .field("circuit_breaker_threshold", &self.circuit_breaker_threshold) |
| 50 | .field("sandbox_handle", &self.sandbox_handle.is_some()) |
| 51 | .field("workspace_services", &self.workspace_services.is_some()) |
| 52 | .field("auto_compact", &self.auto_compact) |
| 53 | .field("auto_compact_threshold", &self.auto_compact_threshold) |
| 54 | .field("continuation_enabled", &self.continuation_enabled) |
| 55 | .field("max_continuation_turns", &self.max_continuation_turns) |
| 56 | .field("mcp_manager", &self.mcp_manager.is_some()) |
| 57 | .field("temperature", &self.temperature) |
| 58 | .field("thinking_budget", &self.thinking_budget) |
| 59 | .field("max_tool_rounds", &self.max_tool_rounds) |
| 60 | .field("max_parallel_tasks", &self.max_parallel_tasks) |
| 61 | .field("auto_delegation", &self.auto_delegation) |
| 62 | .field("manual_delegation_enabled", &self.manual_delegation_enabled) |
| 63 | .field("auto_parallel_delegation", &self.auto_parallel_delegation) |
| 64 | .field("prompt_slots", &self.prompt_slots.is_some()) |
| 65 | .finish() |
| 66 | } |
| 67 | } |
| 68 | |
| 69 | impl SessionOptions { |