mirror of
https://github.com/nearai/ironclaw.git
synced 2026-09-03 08:06:01 +08:00
* fix(engine): normalize granted action aliases across lease checks Keep lease preflight, policy, and consumption consistent for hyphen/underscore action aliases so installed tools do not fail mid-turn after being allowed. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * fix(web): preserve pending gate call ids on auth resume Resolve or synthesize the original action call id when resuming auth or external callback gates so resumed ActionResult messages remain correctly paired with the waiting assistant call. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * test(engine): cover install resume followed by aliased tool use Add a higher-fidelity v2 gate integration regression that proves an install auth resume can flow directly into an aliased follow-up tool call and still complete the thread instead of stalling. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * fix(engine): apply policy checks to aliased action names Resolve structured preflight action definitions with the same hyphen/underscore alias semantics as lease matching so aliased calls cannot bypass approval or deny policies. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * style: cargo fmt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(bridge): scan internal_messages in legacy call_id fallback The `resolved_call_id_for_pending_action` legacy fallback scanned only `thread.messages`, but in production the orchestrator writes ActionResult and assistant messages to `thread.internal_messages` via `sync_runtime_state`. This meant the `resolved_ids` set was always empty and the fallback never found a match, silently falling through to a synthetic id. Scan both `messages` and `internal_messages` so the legacy path works correctly for orchestrator-driven threads. Addresses review feedback from @standardtoaster on #2458. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: format bridge router --------- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> Co-authored-by: Zaki <zaki@iqlusion.io> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>