Skip to content

LLM Explainer v1.12.1

Latest

Choose a tag to compare

@pgarba pgarba released this 02 Sep 09:18

v1.12.1 — Agent-server IDA 9.x fixes, debug tool safety, auto-compact headroom

Audited every agent-server tool against the real IDA 9.3 Python SDK and fixed calls that referenced removed/nonexistent APIs (would have raised AttributeError/TypeError on first use):

  • listStructs/getStruct/getStructAt/deleteStruct and listEnums/getEnum rewritten on the modern type system — idaapi.get_struc*/get_enum*/del_struc do not exist in IDA 9.x.
  • getImports/getExports fixed to use ida_nalt.enum_import_names/ida_entry instead of nonexistent flat-index functions.
  • getGlobalVariables fixed (idautils.Dirs() doesn't exist; uses Names()).
  • createData argument-count/flag fix (DATA_COMPLEX doesn't exist).
  • makeFunction's add_func failure check fixed (was comparing a bool to None, so failures were silently ignored).

Debugger: all ~80 agent-server tools now dispatch under MFF_WRITE instead of MFF_FAST (mutating DB/debugger calls must not run under MFF_FAST). Two new gated debugger tools: debugWriteMemory, setCurrentThread.

Strings: getStrings no longer forces a full string-list rebuild on every call (reuses IDA's cached list; refresh: true forces one), and now scans both utf8 and utf16 ("Unicode") by default in one pass instead of IDA's utf8-only factory default (narrow with encodings).

Auto-compact: the trigger now also accounts for the configured reply size (max_tokens), not just a flat fraction of the context window; fixed a pre-existing bug where the "oversized initial context" truncation path silently dropped the request instead of resuming it. Added a manual "Compact now" button to the Explain/Export-C dialogs.

Also included (previously unreleased on GitHub)

The last GitHub release was v1.9.0; this release also bundles three versions' worth of changes that shipped in commits since then but were never tagged:

  • v1.10.0 — auto-compact (LLM-summarizes older turns when the conversation nears the server's context window, with mechanical fallback), live context gauge with tokens/s, clean conversation per run.
  • v1.11.0 — agent server: localhost HTTP API (61 tools, bearer-token auth, self-describing GET /tools, /call + /batch); patchBytes/runIdaScript gated off by default. Settings dialog reorganized into tabs.
  • v1.12.0 — debugger support in the agent server (17 new tools): live-state reads always available; process control gated by agent_allow_debug (off by default).

See the Changelog in README.md for full details.