Files
hermes-agent/website/docs/integrations
teknium1 d6a753fe91 fix(agent): aux Responses adapter emits the main transport's tool schemas and aliases
_CodexCompletionsAdapter._build_responses_kwargs (title generation, compression,
MoA aggregation) built its own chat->Responses tool list: raw names, no
``strict: False``. On api.perplexity.ai and opencode.ai routes the main loop
already aliased reserved names (hermes_<name>), so every auxiliary call 400ed
while chat looked healthy and MoA silently fell back.

- tools go through codex_responses_adapter._responses_tools (strict: False) and
  agent/transports/codex.py::_alias_wire_tools — one reserved-name table for
  both paths (OpenCode, Perplexity, xAI)
- replayed history tool_calls are renamed to the alias this request declares
- the alias map rides on the request payload (``_wire_aliases``), popped in
  create() and mapped back onto the parsed tool_calls before dispatch; never
  instance state (aux adapters are cached and shared)

Ported from #114457's auxiliary half; design per the #114260 report.

Co-authored-by: Tyler Lyon <lyonrt@icloud.com>
2026-09-18 09:54:13 -07:00
..
…
…