Skip to content

Commit bcfc34e

Browse files
christsoclaude
andcommitted
refactor: remove opt-in for Copilot Responses API routing
- GPT-5+ models now automatically use Responses API (except gpt-5-mini) - Remove useResponsesApi config option - Remove separate codex check (covered by gpt-5+ pattern) - Remove gpt-5-chat exclusion (not in Copilot model list) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 4f9676d commit bcfc34e

File tree

1 file changed

+6
-21
lines changed

1 file changed

+6
-21
lines changed

packages/opencode/src/provider/provider.ts

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,8 @@ export namespace Provider {
3737
return Number(match[1]) >= 5
3838
}
3939

40-
function shouldUseCopilotResponsesApi(useResponsesApi: boolean, modelID: string): boolean {
41-
return (
42-
useResponsesApi &&
43-
isGpt5OrLater(modelID) &&
44-
!modelID.startsWith("gpt-5-mini") &&
45-
!modelID.startsWith("gpt-5-chat")
46-
)
40+
function shouldUseCopilotResponsesApi(modelID: string): boolean {
41+
return isGpt5OrLater(modelID) && !modelID.startsWith("gpt-5-mini")
4742
}
4843

4944
const BUNDLED_PROVIDERS: Record<string, (options: any) => SDK> = {
@@ -108,30 +103,20 @@ export namespace Provider {
108103
options: {},
109104
}
110105
},
111-
"github-copilot": async (input) => {
106+
"github-copilot": async () => {
112107
return {
113108
autoload: false,
114109
async getModel(sdk: any, modelID: string, _options?: Record<string, any>) {
115-
// TODO: once GitHub Copilot enables Responses API broadly, default this on for supported models
116-
// and remove the opt-in flag to reduce configuration surface area.
117-
const useResponsesApi = Boolean(input.options?.useResponsesApi)
118-
119-
const useResponses = modelID.includes("codex") || shouldUseCopilotResponsesApi(useResponsesApi, modelID)
120-
return useResponses ? sdk.responses(modelID) : sdk.chat(modelID)
110+
return shouldUseCopilotResponsesApi(modelID) ? sdk.responses(modelID) : sdk.chat(modelID)
121111
},
122112
options: {},
123113
}
124114
},
125-
"github-copilot-enterprise": async (input) => {
115+
"github-copilot-enterprise": async () => {
126116
return {
127117
autoload: false,
128118
async getModel(sdk: any, modelID: string, _options?: Record<string, any>) {
129-
// TODO: once GitHub Copilot enables Responses API broadly, default this on for supported models
130-
// and remove the opt-in flag to reduce configuration surface area.
131-
const useResponsesApi = Boolean(input.options?.useResponsesApi)
132-
133-
const useResponses = modelID.includes("codex") || shouldUseCopilotResponsesApi(useResponsesApi, modelID)
134-
return useResponses ? sdk.responses(modelID) : sdk.chat(modelID)
119+
return shouldUseCopilotResponsesApi(modelID) ? sdk.responses(modelID) : sdk.chat(modelID)
135120
},
136121
options: {},
137122
}

0 commit comments

Comments
 (0)