diff --git a/src/benchmarks/search/core/solver.test.ts b/src/benchmarks/search/core/solver.test.ts index df9fc6c..49cbb0e 100644 --- a/src/benchmarks/search/core/solver.test.ts +++ b/src/benchmarks/search/core/solver.test.ts @@ -318,9 +318,11 @@ describe("searchSolver", () => { }); it("appends the switchyard-router plugin after the serialized web plugin", async () => { let sentOptions: ResponsesSendOptions | undefined; + let sent: ResponsesRequest | undefined; const solver = searchSolver( { - send: (_body, options) => { + send: (body, options) => { + sent = body; sentOptions = options; return effectSucceed(fixtureResult({ text: "x" })); }, @@ -332,7 +334,7 @@ describe("searchSolver", () => { switchyardAlgorithm: "stage", } ); - await runSolver( + const state = await runSolver( solver(initialTaskState({ id: "s", input: "q", target: { text: "t" } })) ); expect(sentOptions?.extraBody).toEqual({ @@ -341,6 +343,7 @@ describe("searchSolver", () => { { id: "switchyard-router", algorithm: "stage" }, ], }); + expect(state.requestBody).toEqual({ ...sent, ...sentOptions?.extraBody }); }); it("sends only the switchyard-router plugin with server tools, ignoring the variant suffix", async () => { let sentOptions: ResponsesSendOptions | undefined; diff --git a/src/benchmarks/search/core/solver.ts b/src/benchmarks/search/core/solver.ts index c863321..df157a3 100644 --- a/src/benchmarks/search/core/solver.ts +++ b/src/benchmarks/search/core/solver.ts @@ -169,6 +169,7 @@ export function searchSolver( return completedState({ state, request: body, + extraBody, result, attemptResults, text: result.text.trim(), @@ -262,12 +263,14 @@ function makeStreamEventReporter( function completedState({ state, request, + extraBody, result, attemptResults, text, }: { readonly state: TaskState; readonly request: ResponsesRequest; + readonly extraBody: Readonly> | undefined; readonly result: ResponsesResult; readonly attemptResults: readonly ResponsesResult[]; readonly text: string; @@ -304,7 +307,7 @@ function completedState({ : []), ], responseItems: responseItemsForCall(request, result), - requestBody: { ...request }, + requestBody: { ...request, ...extraBody }, output: definedValues({ completion: text, message: { role: MessageRole.Assistant, content: text },