WIP: I HATE PYTHON
This commit is contained in:
49
src/gui_2.py
49
src/gui_2.py
@@ -13,28 +13,27 @@ import requests # type: ignore[import-untyped]
|
||||
from pathlib import Path
|
||||
from tkinter import filedialog, Tk
|
||||
from typing import Optional, Callable, Any
|
||||
import aggregate
|
||||
import ai_client
|
||||
import cost_tracker
|
||||
from ai_client import ProviderError
|
||||
import shell_runner
|
||||
import session_logger
|
||||
import project_manager
|
||||
import theme_2 as theme
|
||||
from src import aggregate
|
||||
from src import ai_client
|
||||
from src import cost_tracker
|
||||
from src import shell_runner
|
||||
from src import session_logger
|
||||
from src import project_manager
|
||||
from src import theme_2 as theme
|
||||
import tomllib
|
||||
import events
|
||||
from src import events
|
||||
import numpy as np
|
||||
import api_hooks
|
||||
import mcp_client
|
||||
import orchestrator_pm
|
||||
from performance_monitor import PerformanceMonitor
|
||||
from log_registry import LogRegistry
|
||||
from log_pruner import LogPruner
|
||||
import conductor_tech_lead
|
||||
import multi_agent_conductor
|
||||
from models import Track, Ticket, DISC_ROLES, AGENT_TOOL_NAMES, CONFIG_PATH, load_config, parse_history_entries
|
||||
from app_controller import AppController, ConfirmDialog, MMAApprovalDialog, MMASpawnApprovalDialog
|
||||
from file_cache import ASTParser
|
||||
from src import api_hooks
|
||||
from src import mcp_client
|
||||
from src import orchestrator_pm
|
||||
from src import performance_monitor
|
||||
from src import log_registry
|
||||
from src import log_pruner
|
||||
from src import conductor_tech_lead
|
||||
from src import multi_agent_conductor
|
||||
from src import models
|
||||
from src import app_controller
|
||||
from src import file_cache
|
||||
|
||||
from fastapi import FastAPI, Depends, HTTPException
|
||||
from fastapi.security.api_key import APIKeyHeader
|
||||
@@ -45,7 +44,7 @@ PROVIDERS: list[str] = ["gemini", "anthropic", "gemini_cli", "deepseek"]
|
||||
COMMS_CLAMP_CHARS: int = 300
|
||||
|
||||
def save_config(config: dict[str, Any]) -> None:
|
||||
with open(CONFIG_PATH, "wb") as f:
|
||||
with open(models.CONFIG_PATH, "wb") as f:
|
||||
tomli_w.dump(config, f)
|
||||
|
||||
def hide_tk_root() -> Tk:
|
||||
@@ -102,7 +101,7 @@ class App:
|
||||
|
||||
def __init__(self) -> None:
|
||||
# Initialize controller and delegate state
|
||||
self.controller = AppController()
|
||||
self.controller = app_controller.AppController()
|
||||
# Restore legacy PROVIDERS to controller if needed (it already has it via delegation if set on class level, but let's be explicit)
|
||||
if not hasattr(self.controller, 'PROVIDERS'):
|
||||
self.controller.PROVIDERS = PROVIDERS
|
||||
@@ -739,7 +738,7 @@ class App:
|
||||
ch, self.ui_auto_scroll_comms = imgui.checkbox("Auto-scroll Comms History", self.ui_auto_scroll_comms)
|
||||
ch, self.ui_auto_scroll_tool_calls = imgui.checkbox("Auto-scroll Tool History", self.ui_auto_scroll_tool_calls)
|
||||
if imgui.collapsing_header("Agent Tools"):
|
||||
for t_name in AGENT_TOOL_NAMES:
|
||||
for t_name in models.AGENT_TOOL_NAMES:
|
||||
val = self.ui_agent_tools.get(t_name, True)
|
||||
ch, val = imgui.checkbox(f"Enable {t_name}", val)
|
||||
if ch:
|
||||
@@ -800,7 +799,7 @@ class App:
|
||||
if not exp:
|
||||
imgui.end()
|
||||
return
|
||||
registry = LogRegistry("logs/log_registry.toml")
|
||||
registry = log_registry.LogRegistry("logs/log_registry.toml")
|
||||
sessions = registry.data
|
||||
if imgui.begin_table("sessions_table", 7, imgui.TableFlags_.borders | imgui.TableFlags_.row_bg | imgui.TableFlags_.resizable):
|
||||
imgui.table_setup_column("Session ID")
|
||||
@@ -976,7 +975,7 @@ class App:
|
||||
self._flush_disc_entries_to_project()
|
||||
history_strings = project_manager.load_track_history(self.active_track.id, self.ui_files_base_dir)
|
||||
with self._disc_entries_lock:
|
||||
self.disc_entries = parse_history_entries(history_strings, self.disc_roles)
|
||||
self.disc_entries = models.parse_history_entries(history_strings, self.disc_roles)
|
||||
self.ai_status = f"track discussion: {self.active_track.id}"
|
||||
else:
|
||||
self._flush_disc_entries_to_project()
|
||||
|
||||
Reference in New Issue
Block a user