diff options
| author | blasty <blasty@local> | 2026-07-24 14:23:18 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-24 14:23:18 +0200 |
| commit | 73d36d05123c6c396d78ef710b87788dc879da63 (patch) | |
| tree | f68b6e6af01682e3fae0e653a5330d2f538165e6 /idatui/errors.py | |
| parent | deprecate: make the idalib worker the default backend; mark mcp path for removal (diff) | |
| download | ida-tui-73d36d05123c6c396d78ef710b87788dc879da63.tar.gz ida-tui-73d36d05123c6c396d78ef710b87788dc879da63.tar.xz ida-tui-73d36d05123c6c396d78ef710b87788dc879da63.zip | |
worker: inject custom tools on startup (self-sufficient, no spawn.sh needed)
The worker reuses ida-pro-mcp's @tool functions, but our custom tools
(heads/read_raw/resolve_names/func_types/del_type/set_lvar_type) only exist
because server/patch_server.py injected them into the installed api_types.py --
which historically only ran via spawn.sh. On a fresh box (or worker-only setup
with spawn.sh gone) those tools would be missing and heads/listing would break.
_ensure_tools_injected() now runs patch_server.main() (idempotent, IDA-free) at
the top of _open_and_register, before ida_pro_mcp.ida_mcp is imported, so the
worker guarantees its own tool surface. Verified under /usr/bin/python: injection
runs and heads/read_raw/resolve_names/func_types land in api_types.py. This is
the prerequisite for deleting spawn.sh from the worker path.
Diffstat (limited to 'idatui/errors.py')
0 files changed, 0 insertions, 0 deletions
