diff options
| author | blasty <peter@haxx.in> | 2026-07-24 14:53:56 +0200 |
|---|---|---|
| committer | blasty <peter@haxx.in> | 2026-07-24 14:53:56 +0200 |
| commit | 3a28b97cb355822b2d380f9507b203b79cb0e4e9 (patch) | |
| tree | 35565378585b06abf03aa772994d9f9e8b3b2f6b /idatui/domain.py | |
| parent | mcp: collapse app + launcher to worker-only (diff) | |
| download | ida-tui-3a28b97cb355822b2d380f9507b203b79cb0e4e9.tar.gz ida-tui-3a28b97cb355822b2d380f9507b203b79cb0e4e9.tar.xz ida-tui-3a28b97cb355822b2d380f9507b203b79cb0e4e9.zip | |
mcp: delete the ida-pro-mcp transport, supervisor, and mcp-only tests
The idalib worker is the only backend now, so remove the dead HTTP/supervisor
surface entirely (~2200 lines):
* deleted idatui/client.py (the IDAClient HTTP/JSON-RPC transport + session
manager), idatui/tui.py (the old mcp TUI entry, superseded by launch.py),
spawn.sh, and systemd/ (the supervisor unit).
* deleted the mcp-only tests (stress_client, smoke_client, test_keepalive,
stress_paging, rpc_smoke, serverctl.sh, pane_smoke, test_domain) -- the worker
pilot (tests/test_scenarios.py) supersedes them.
* migrated the tmux RPC harness (idatui/pane.py) to the worker: it spawns
`idatui.launch <binary> --rpc <sock>` instead of the mcp `idatui.tui`, drops
the supervisor auto-start/ensure machinery, and reaps our own worker
(idatui/worker.py) instead of ida_pro_mcp.idalib_server. --db/--url/--no-
ensure-server are gone; --open is required.
* __init__ / __main__ / domain no longer import client (exceptions come from
errors.py, the domain client hint is WorkerClient); pyproject points both
console scripts at idatui.launch; README + ida-tui header describe the
worker-only flow.
What stays (by design): the ida_pro_mcp *package* (the worker reuses its @tool
functions in-process) and server/patch_server.py (the worker injects its custom
tools on startup). Verified: whole package imports + IdaTui constructs + pilot
lists 31 scenarios. The worker pilot (134 pass / 2 known flakes) is the E2E gate.
Diffstat (limited to 'idatui/domain.py')
| -rw-r--r-- | idatui/domain.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/idatui/domain.py b/idatui/domain.py index 4f72f5b..d7ebf3c 100644 --- a/idatui/domain.py +++ b/idatui/domain.py @@ -32,8 +32,8 @@ from typing import Callable, TYPE_CHECKING from .errors import IDAToolError -if TYPE_CHECKING: # type hint only; the runtime client is mcp IDAClient or worker - from .client import IDAClient # noqa: F401 +if TYPE_CHECKING: # type hint only + from .worker_client import WorkerClient # noqa: F401 # Clamps derived from measured caps (list ~700, disasm ~500). Margin included. LIST_PAGE = 500 @@ -797,7 +797,7 @@ class HexModel: class Program: """The bound analysis session: models, caches, and a small prefetch pool.""" - def __init__(self, client: IDAClient, prefetch_workers: int = 2): + def __init__(self, client: "WorkerClient", prefetch_workers: int = 2): self.client = client self._pool = ThreadPoolExecutor( max_workers=prefetch_workers, thread_name_prefix="idatui-prefetch" |
