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. |
||
|---|---|---|
| .. | ||
| appConstants.js | ||
| codexInstructions.js | ||
| constants.js | ||
| defaultThinkingSignature.js | ||
| errorConfig.js | ||
| googleTtsLanguages.js | ||
| grokCli.js | ||
| kiroConstants.js | ||
| mediaConfig.js | ||
| models.js | ||
| ollamaModels.js | ||
| providerModels.js | ||
| providers.js | ||
| runtimeConfig.js | ||
| ttsModels.js | ||