9router/open-sse
Владимир Акимов 7076108550
fix(translator): filter nameless hosted tools when converting Responses API to Chat format (#222)
Codex CLI sends "hosted" tools (e.g. `request_user_input`) via the OpenAI
Responses API. These tools have no explicit `name` field. The previous
`body.tools.map()` pass propagated `name: undefined` into the resulting
Chat Completions function declarations, which then became anonymous
`functionDeclarations` after the OpenAI→Gemini translation step.

Gemini strictly requires every function declaration to have a valid name
and rejects the entire request with:

  GenerateContentRequest.tools[0].function_declarations[4].name:
  Invalid function name. Must start with a letter or an underscore.

Fix: filter out any Responses API tool that lacks a non-empty `name`
string before converting to `{ type: "function", function: { name, ... } }`.
Named function tools are unaffected; only unnamed hosted tools are skipped.

Fixes: Gemini 400 error when Codex CLI is routed through 9router.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-01 08:48:43 +00:00
..
config chore: Refactor CursorAuthModal to handle manual instructions for Windows users. 2026-02-28 12:12:49 +07:00
executors fix: resolve GitHub Copilot 400 error for Claude models in Cursor IDE (#220) 2026-03-01 15:38:14 +07:00
handlers - Refactor chatCore.js to streamline imports and remove unused functions. 2026-02-27 11:15:12 +07:00
services feat(usage): implement timeout and error handling for antigravity usage and subscription requests 2026-02-28 12:12:49 +07:00
transformer feat: enhance request handling and error management in chatCore and streamToJsonConverter 2026-02-15 12:02:53 +07:00
translator fix(translator): filter nameless hosted tools when converting Responses API to Chat format (#222) 2026-03-01 08:48:43 +00:00
utils feat(usage): implement timeout and error handling for antigravity usage and subscription requests 2026-02-28 12:12:49 +07:00
.npmignore Update jsconfig.json and package.json to correct open-sse path references from relative to local directory. 2026-01-05 10:37:09 +07:00
index.js feat(executors): Improved UI components for displaying provider limits and usage statistics in the dashboard. 2026-02-05 18:38:50 +07:00