Skip to content

Commit 79dac5e

Browse files
committed
test(openai): keep codex provider test on sdk boundary
1 parent 85abf60 commit 79dac5e

1 file changed

Lines changed: 42 additions & 3 deletions

File tree

extensions/openai/openai-provider.test.ts

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,48 @@ vi.mock("./openai-codex-provider.runtime.js", () => ({
1313
refreshOpenAICodexToken: mocks.refreshOpenAICodexToken,
1414
}));
1515

16-
vi.mock("../../src/agents/openai-transport-stream.js", () => ({
17-
createOpenAIResponsesTransportStreamFn: () => mocks.openAIResponsesTransportStreamFn,
18-
}));
16+
vi.mock("openclaw/plugin-sdk/provider-stream-family", async (importOriginal) => {
17+
const actual =
18+
await importOriginal<typeof import("openclaw/plugin-sdk/provider-stream-family")>();
19+
const wrapStreamFn: NonNullable<typeof actual.OPENAI_RESPONSES_STREAM_HOOKS.wrapStreamFn> = (
20+
ctx,
21+
) => {
22+
let nextStreamFn = actual.createOpenAIAttributionHeadersWrapper(ctx.streamFn, {
23+
codexNativeTransportStreamFn: mocks.openAIResponsesTransportStreamFn,
24+
});
25+
26+
if (actual.resolveOpenAIFastMode(ctx.extraParams)) {
27+
nextStreamFn = actual.createOpenAIFastModeWrapper(nextStreamFn);
28+
}
29+
30+
const serviceTier = actual.resolveOpenAIServiceTier(ctx.extraParams);
31+
if (serviceTier) {
32+
nextStreamFn = actual.createOpenAIServiceTierWrapper(nextStreamFn, serviceTier);
33+
}
34+
35+
const textVerbosity = actual.resolveOpenAITextVerbosity(ctx.extraParams);
36+
if (textVerbosity) {
37+
nextStreamFn = actual.createOpenAITextVerbosityWrapper(nextStreamFn, textVerbosity);
38+
}
39+
40+
nextStreamFn = actual.createCodexNativeWebSearchWrapper(nextStreamFn, {
41+
config: ctx.config,
42+
agentDir: ctx.agentDir,
43+
});
44+
return actual.createOpenAIResponsesContextManagementWrapper(
45+
actual.createOpenAIReasoningCompatibilityWrapper(nextStreamFn),
46+
ctx.extraParams,
47+
);
48+
};
49+
50+
return {
51+
...actual,
52+
OPENAI_RESPONSES_STREAM_HOOKS: {
53+
...actual.OPENAI_RESPONSES_STREAM_HOOKS,
54+
wrapStreamFn,
55+
},
56+
};
57+
});
1958

2059
function runWrappedPayloadCase(params: {
2160
wrap: NonNullable<ReturnType<typeof buildOpenAIProvider>["wrapStreamFn"]>;

0 commit comments

Comments
 (0)