Skip to content

Commit 84fdd45

Browse files
committed
Route OpenCode Go Responses through the shared factory
1 parent a1348b1 commit 84fdd45

5 files changed

Lines changed: 28 additions & 240 deletions

File tree

src/config/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import { selectableGoModelIds } from "../provider/opencode-go-models.js";
4343
import {
4444
OPENAI_RESPONSES_PROVIDER,
4545
OPENAI_SESSION_ID_OPTION,
46-
} from "../provider/openai-responses-adapter.js";
46+
} from "../provider/openai-responses.js";
4747
import { OPENCODE_SESSION_ID_OPTION } from "../provider/opencode-session.js";
4848
import { OPENCODE_GO_MESSAGES_PROVIDER } from "../provider/opencode-go-anthropic-adapter.js";
4949
import { xaiUserIdFromAccessToken } from "../auth/xai/session.js";

src/provider/inference-dependencies.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import * as opencodeGo from "./opencode-go-adapter.js";
55
import * as codexResponses from "./codex-responses-adapter.js";
66
import * as grokResponses from "./grok-responses-adapter.js";
77
import * as bifrostAdapter from "./bifrost-adapter.js";
8-
import * as openaiResponses from "./openai-responses-adapter.js";
8+
import * as openaiResponses from "./openai-responses.js";
99
import * as opencodeGoAnthropic from "./opencode-go-anthropic-adapter.js";
1010
import { CODEX_RESPONSES_PROVIDER, withCodexContentTypeRepair } from "./codex-responses-adapter.js";
1111
import { GROK_RESPONSES_PROVIDER } from "./grok-responses-adapter.js";
1212
import { withReplaySanitizer } from "./replay-sanitizer.js";
1313
import { OPENCODE_GO_PROVIDER_ID } from "../../packages/opencode-go/src/index.js";
1414
import { BIFROST_PROVIDER } from "./bifrost-adapter.js";
15-
import { OPENAI_RESPONSES_PROVIDER } from "./openai-responses-adapter.js";
15+
import { OPENAI_RESPONSES_PROVIDER } from "./openai-responses.js";
1616
import { OPENCODE_GO_MESSAGES_PROVIDER } from "./opencode-go-anthropic-adapter.js";
1717

1818
// Corbits Code ships first-party adapters on top of the built-in provider set:
@@ -47,7 +47,7 @@ const manifest: AdapterManifest = [
4747
},
4848
{
4949
provider: OPENAI_RESPONSES_PROVIDER,
50-
specifier: "openai-responses-adapter",
50+
specifier: "openai-responses",
5151
export: "createOpenAIResponsesAdapter",
5252
},
5353
{
@@ -63,7 +63,7 @@ const localModules: Record<string, unknown> = {
6363
"codex-responses-adapter": codexResponses,
6464
"grok-responses-adapter": grokResponses,
6565
"bifrost-adapter": bifrostAdapter,
66-
"openai-responses-adapter": openaiResponses,
66+
"openai-responses": openaiResponses,
6767
"opencode-go-anthropic-adapter": opencodeGoAnthropic,
6868
};
6969

src/provider/openai-responses-adapter.ts

Lines changed: 0 additions & 234 deletions
This file was deleted.

src/provider/openai-responses.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { responsesAdapterFactory, type ResponsesQuirks } from "@corbits/openai-responses";
2+
import type { AdapterFactory } from "@intx/inference";
3+
import { OPENCODE_SESSION_ID_OPTION } from "./opencode-session.js";
4+
5+
export const OPENAI_RESPONSES_PROVIDER = "openai-responses";
6+
7+
export const OPENAI_SESSION_ID_OPTION = "openaiSessionId";
8+
9+
// Baked at the host so OpenCode Go Responses does not read source.quirks
10+
// (package createOpenAIResponsesAdapter would, and that is not the current Go wire).
11+
const hostQuirks: ResponsesQuirks = {
12+
path: "/responses",
13+
sessionIdOption: OPENAI_SESSION_ID_OPTION,
14+
headers: {
15+
fromOption: [{ optionKey: OPENCODE_SESSION_ID_OPTION, header: "x-opencode-session" }],
16+
},
17+
systemPrompt: { role: "system", shape: "string" },
18+
contentShape: "flat",
19+
reasoning: { summary: "auto" },
20+
};
21+
22+
export const createOpenAIResponsesAdapter: AdapterFactory = responsesAdapterFactory(hostQuirks);

tests/unit/openai-responses-adapter.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { test, expect, describe } from "bun:test";
22
import {
33
createOpenAIResponsesAdapter,
44
OPENAI_SESSION_ID_OPTION,
5-
} from "../../src/provider/openai-responses-adapter.js";
5+
} from "../../src/provider/openai-responses.js";
66
import { OPENCODE_SESSION_ID_OPTION } from "../../src/provider/opencode-session.js";
77
import { BEARER_CREDENTIAL_SENTINEL } from "@intx/inference";
88
import type { ConversationTurn, InferenceOptions, LastCycleSource } from "@intx/types/runtime";

0 commit comments

Comments
 (0)