Pass task ID in the Roo provider request headers (#7303)

This commit is contained in:
Chris Estreich 2025-08-21 20:27:21 -07:00 committed by GitHub
parent d06d970208
commit 175edeff25
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 18 additions and 2 deletions

View file

@ -398,6 +398,7 @@ describe("ChutesHandler", () => {
stream: true,
stream_options: { include_usage: true },
}),
undefined,
)
})

View file

@ -356,6 +356,7 @@ describe("FireworksHandler", () => {
stream: true,
stream_options: { include_usage: true },
}),
undefined,
)
})

View file

@ -145,6 +145,7 @@ describe("GroqHandler", () => {
stream: true,
stream_options: { include_usage: true },
}),
undefined,
)
})
@ -178,6 +179,7 @@ describe("GroqHandler", () => {
messages: expect.arrayContaining([{ role: "system", content: systemPrompt }]),
stream: true,
}),
undefined,
)
// Verify temperature is NOT included
@ -216,6 +218,7 @@ describe("GroqHandler", () => {
messages: expect.arrayContaining([{ role: "system", content: systemPrompt }]),
stream: true,
}),
undefined,
)
})
})

View file

@ -261,6 +261,7 @@ describe("RooHandler", () => {
expect.objectContaining({ role: "user", content: "Second message" }),
]),
}),
undefined,
)
})
})
@ -365,6 +366,7 @@ describe("RooHandler", () => {
expect.not.objectContaining({
temperature: expect.anything(),
}),
undefined,
)
})
@ -382,6 +384,7 @@ describe("RooHandler", () => {
expect.objectContaining({
temperature: 0.9,
}),
undefined,
)
})

View file

@ -148,6 +148,7 @@ describe("SambaNovaHandler", () => {
stream: true,
stream_options: { include_usage: true },
}),
undefined,
)
})
})

View file

@ -224,6 +224,7 @@ describe("ZAiHandler", () => {
stream: true,
stream_options: { include_usage: true },
}),
undefined,
)
})
})

View file

@ -66,6 +66,7 @@ export abstract class BaseOpenAiCompatibleProvider<ModelName extends string>
systemPrompt: string,
messages: Anthropic.Messages.MessageParam[],
metadata?: ApiHandlerCreateMessageMetadata,
requestOptions?: OpenAI.RequestOptions,
) {
const {
id: model,
@ -85,7 +86,7 @@ export abstract class BaseOpenAiCompatibleProvider<ModelName extends string>
params.temperature = this.options.modelTemperature
}
return this.client.chat.completions.create(params)
return this.client.chat.completions.create(params, requestOptions)
}
override async *createMessage(

View file

@ -36,7 +36,12 @@ export class RooHandler extends BaseOpenAiCompatibleProvider<RooModelId> {
messages: Anthropic.Messages.MessageParam[],
metadata?: ApiHandlerCreateMessageMetadata,
): ApiStream {
const stream = await this.createStream(systemPrompt, messages, metadata)
const stream = await this.createStream(
systemPrompt,
messages,
metadata,
metadata?.taskId ? { headers: { "X-Roo-Task-ID": metadata.taskId } } : undefined,
)
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta