diff options
| author | blasty <peter@haxx.in> | 2026-07-24 14:23:18 +0200 |
|---|---|---|
| committer | blasty <peter@haxx.in> | 2026-07-24 14:23:18 +0200 |
| commit | 251e92e4b0d34fd37dfe6dcc79305cc9cd27b2ad (patch) | |
| tree | 8d25aa0054b72b7972c8c7a1921276aa60e51c37 /tests/test_scenarios.py | |
| parent | deprecate: make the idalib worker the default backend; mark mcp path for removal (diff) | |
| download | ida-tui-251e92e4b0d34fd37dfe6dcc79305cc9cd27b2ad.tar.gz ida-tui-251e92e4b0d34fd37dfe6dcc79305cc9cd27b2ad.tar.xz ida-tui-251e92e4b0d34fd37dfe6dcc79305cc9cd27b2ad.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 'tests/test_scenarios.py')
0 files changed, 0 insertions, 0 deletions
