Merge pull request #1414 from websentry-ai/pm/add-unbound-metadata

Adds Unbound metadata for non-streaming requests
This commit is contained in:
Chris Estreich 2025-03-05 21:07:27 -08:00 committed by GitHub
commit c9e21eb091
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 1 deletions

View file

@ -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")
})

View file

@ -157,7 +157,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) {