opencode-go hard-coded targetFormat: claude per model, so every client format was force-routed to /messages (Codex/OpenAI clients paid a lossy Responses->OpenAI->Claude double translation). Declare the existing upstream multi-endpoint transports [openai, claude, openai-responses] and guard per model via registry supportedFormats: kimi/glm/mimo only support /chat/completions, minimax/qwen add /messages, deepseek adds /responses. Undeclared models keep the upstream default. Drop the bespoke OpenCodeGoExecutor (its shared _lastModel cache could cross auth headers between concurrent requests); DefaultExecutor already consumes runtimeTransport and injects reasoning content. |
||
|---|---|---|
| .. | ||
| config | ||
| executors | ||
| handlers | ||
| providers | ||
| rtk | ||
| services | ||
| shared | ||
| transformer | ||
| translator | ||
| utils | ||
| .npmignore | ||
| AGENTS.md | ||
| index.js | ||