From 10dd931eb72ea268426cdac9628ebc37d4e4e75b Mon Sep 17 00:00:00 2001 From: Pugazhendhi Date: Wed, 5 Mar 2025 16:28:04 +0530 Subject: [PATCH 1/3] Adds unbound metadata to non streaming requests --- src/api/providers/unbound.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/api/providers/unbound.ts b/src/api/providers/unbound.ts index e3894f8718..a6c506abfc 100644 --- a/src/api/providers/unbound.ts +++ b/src/api/providers/unbound.ts @@ -147,6 +147,7 @@ export class UnboundHandler extends BaseProvider implements SingleCompletionHand async completePrompt(prompt: string): Promise { try { + console.log("completePrompt running in Unbound: ", prompt) const requestOptions: OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming = { model: this.getModel().id.split("/")[1], messages: [{ role: "user", content: prompt }], @@ -157,7 +158,18 @@ export class UnboundHandler extends BaseProvider implements SingleCompletionHand requestOptions.max_tokens = this.getModel().info.maxTokens } - const response = await this.client.chat.completions.create(requestOptions) + const response = await this.client.chat.completions.create(requestOptions, { + headers: { + "X-Unbound-Metadata": JSON.stringify({ + labels: [ + { + key: "app", + value: "roo-code", + }, + ], + }), + }, + }) return response.choices[0]?.message.content || "" } catch (error) { if (error instanceof Error) { From a489a8b1e41b0f9ecb3ff8d6cc02efaeab0978b2 Mon Sep 17 00:00:00 2001 From: Pugazhendhi Date: Wed, 5 Mar 2025 16:29:10 +0530 Subject: [PATCH 2/3] Removes print statements --- src/api/providers/unbound.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/api/providers/unbound.ts b/src/api/providers/unbound.ts index a6c506abfc..689bd45406 100644 --- a/src/api/providers/unbound.ts +++ b/src/api/providers/unbound.ts @@ -147,7 +147,6 @@ export class UnboundHandler extends BaseProvider implements SingleCompletionHand async completePrompt(prompt: string): Promise { try { - console.log("completePrompt running in Unbound: ", prompt) const requestOptions: OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming = { model: this.getModel().id.split("/")[1], messages: [{ role: "user", content: prompt }], From 4073bdcb20c8635f58e1d867504674dffd479d22 Mon Sep 17 00:00:00 2001 From: Pugazhendhi Date: Wed, 5 Mar 2025 16:53:26 +0530 Subject: [PATCH 3/3] Fixes tests --- src/api/providers/__tests__/unbound.test.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/api/providers/__tests__/unbound.test.ts b/src/api/providers/__tests__/unbound.test.ts index 790c0f0129..e468555cc1 100644 --- a/src/api/providers/__tests__/unbound.test.ts +++ b/src/api/providers/__tests__/unbound.test.ts @@ -192,6 +192,11 @@ describe("UnboundHandler", () => { temperature: 0, max_tokens: 8192, }), + expect.objectContaining({ + headers: expect.objectContaining({ + "X-Unbound-Metadata": expect.stringContaining("roo-code"), + }), + }), ) }) @@ -233,6 +238,11 @@ describe("UnboundHandler", () => { messages: [{ role: "user", content: "Test prompt" }], temperature: 0, }), + expect.objectContaining({ + headers: expect.objectContaining({ + "X-Unbound-Metadata": expect.stringContaining("roo-code"), + }), + }), ) expect(mockCreate.mock.calls[0][0]).not.toHaveProperty("max_tokens") })