diff --git a/src/app_controller.py b/src/app_controller.py index 313238ba..1f8aebd8 100644 --- a/src/app_controller.py +++ b/src/app_controller.py @@ -1983,8 +1983,10 @@ class AppController: paths.initialize_paths(paths.get_config_path()) path_info = paths.get_full_path_info() - self.ui_logs_dir = str(path_info['logs_dir']['path']) - self.ui_scripts_dir = str(path_info['scripts_dir']['path']) + from src.type_aliases import PathInfo as _PI + _pi = _PI.from_dict(path_info) if isinstance(path_info, dict) else path_info + self.ui_logs_dir = str(_pi.logs_dir['path']) + self.ui_scripts_dir = str(_pi.scripts_dir['path']) if not self.project or not isinstance(self.project, dict) or "project" not in self.project: name = Path(self.active_project_path).stem if self.active_project_path else "unnamed" @@ -2067,9 +2069,11 @@ class AppController: self.ui_project_preset_name = proj_meta.get("active_preset") gui_cfg = self.config.get("gui", {}) - self.ui_separate_message_panel = gui_cfg.get('separate_message_panel', False) - self.ui_separate_response_panel = gui_cfg.get('separate_response_panel', False) - self.ui_separate_tool_calls_panel = gui_cfg.get('separate_tool_calls_panel', False) + from src.type_aliases import UIPanelConfig as _UIP + _uip = _UIP.from_dict(gui_cfg) if isinstance(gui_cfg, dict) else gui_cfg + self.ui_separate_message_panel = _uip.separate_message_panel + self.ui_separate_response_panel = _uip.separate_response_panel + self.ui_separate_tool_calls_panel = _uip.separate_tool_calls_panel self.ui_auto_switch_layout = gui_cfg.get("auto_switch_layout", False) self.ui_tier_layout_bindings = gui_cfg.get("tier_layout_bindings", {"Tier 1": "", "Tier 2": "", "Tier 3": "", "Tier 4": ""}) from src import bg_shader @@ -2275,7 +2279,9 @@ class AppController: if kind == 'tool_call': tid = payload.get('id') or payload.get('call_id') - script = payload.get('script') or json.dumps(payload.get('args', {}), indent=1) + from src.type_aliases import ProviderPayload as _PP + pp = _PP.from_dict(payload) if isinstance(payload, dict) else payload + script = pp.script or json.dumps(pp.args, indent=1) script = _resolve_log_ref(script, session_dir) entry_obj = { 'source_tier': comms_entry.source_tier, @@ -2288,7 +2294,9 @@ class AppController: final_tool_calls.append(entry_obj) elif kind == 'tool_result': tid = payload.get('id') or payload.get('call_id') - output = payload.get('output', payload.get('content', '')) + from src.type_aliases import ProviderPayload as _PP2 + pp2 = _PP2.from_dict(payload) if isinstance(payload, dict) else payload + output = pp2.output or payload.get('content', '') output = _resolve_log_ref(output, session_dir) if tid and tid in paired_tools: paired_tools[tid]['result'] = output