

























@@ -781,8 +781,8 @@ describe("openai transport stream", () => {
781781expect(output.stopReason).toBe("stop");
782782});
783783784-it("keeps OpenRouter thinking format for declared OpenRouter providers on custom proxy URLs", async () => {
785-const streamFn = buildTransportAwareSimpleStreamFn(
784+it("keeps OpenRouter thinking format for declared OpenRouter providers on custom proxy URLs", () => {
785+const params = buildOpenAICompletionsParams(
786786attachModelProviderRequestTransport(
787787{
788788id: "anthropic/claude-sonnet-4",
@@ -803,54 +803,25 @@ describe("openai transport stream", () => {
803803},
804804},
805805),
806-);
807-808-expect(streamFn).toBeTypeOf("function");
809-let capturedPayload: Record<string, unknown> | undefined;
810-let resolveCaptured!: () => void;
811-const captured = new Promise<void>((resolve) => {
812-resolveCaptured = resolve;
813-});
814-815-void streamFn!(
816-{
817-id: "anthropic/claude-sonnet-4",
818-name: "Claude Sonnet 4",
819-api: "openclaw-openai-completions-transport",
820-provider: "openrouter",
821-baseUrl: "https://proxy.example.com/v1",
822-reasoning: true,
823-input: ["text"],
824-cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
825-contextWindow: 200000,
826-maxTokens: 8192,
827-} as Model<"openclaw-openai-completions-transport">,
828806{
829807systemPrompt: "system",
830808messages: [],
831809tools: [],
832810} as never,
833811{
834812reasoningEffort: "high",
835-onPayload: async (payload: unknown) => {
836-capturedPayload = payload as Record<string, unknown>;
837-resolveCaptured();
838-return payload;
839-},
840813} as never,
841-);
842-843-await captured;
814+) as Record<string, unknown>;
844815845-expect(capturedPayload).toMatchObject({
816+expect(params).toMatchObject({
846817reasoning: {
847818effort: "high",
848819},
849820});
850821});
851822852-it("keeps OpenRouter thinking format for native OpenRouter hosts behind custom provider ids", async () => {
853-const streamFn = buildTransportAwareSimpleStreamFn(
823+it("keeps OpenRouter thinking format for native OpenRouter hosts behind custom provider ids", () => {
824+const params = buildOpenAICompletionsParams(
854825attachModelProviderRequestTransport(
855826{
856827id: "anthropic/claude-sonnet-4",
@@ -871,46 +842,17 @@ describe("openai transport stream", () => {
871842},
872843},
873844),
874-);
875-876-expect(streamFn).toBeTypeOf("function");
877-let capturedPayload: Record<string, unknown> | undefined;
878-let resolveCaptured!: () => void;
879-const captured = new Promise<void>((resolve) => {
880-resolveCaptured = resolve;
881-});
882-883-void streamFn!(
884-{
885-id: "anthropic/claude-sonnet-4",
886-name: "Claude Sonnet 4",
887-api: "openclaw-openai-completions-transport",
888-provider: "custom-openrouter",
889-baseUrl: "https://openrouter.ai/api/v1",
890-reasoning: true,
891-input: ["text"],
892-cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
893-contextWindow: 200000,
894-maxTokens: 8192,
895-} as Model<"openclaw-openai-completions-transport">,
896845{
897846systemPrompt: "system",
898847messages: [],
899848tools: [],
900849} as never,
901850{
902851reasoningEffort: "high",
903-onPayload: async (payload: unknown) => {
904-capturedPayload = payload as Record<string, unknown>;
905-resolveCaptured();
906-return payload;
907-},
908852} as never,
909-);
910-911-await captured;
853+) as Record<string, unknown>;
912854913-expect(capturedPayload).toMatchObject({
855+expect(params).toMatchObject({
914856reasoning: {
915857effort: "high",
916858},
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。