fix: adjust item id stripping to happen prior to request signing (#31429)

This commit is contained in:
Aiden Cline
2026-06-08 17:43:48 -05:00
committed by GitHub
parent 6e84142b59
commit a86ecf3bba
3 changed files with 109 additions and 40 deletions
@@ -1692,26 +1692,6 @@ export const layer = Layer.effect(
const combined = signals.length === 0 ? null : signals.length === 1 ? signals[0] : AbortSignal.any(signals)
if (combined) opts.signal = combined
// Strip openai itemId metadata following what codex does
if (
(model.api.npm === "@ai-sdk/openai" ||
model.api.npm === "@ai-sdk/azure" ||
model.api.npm === "@ai-sdk/amazon-bedrock/mantle") &&
opts.body &&
opts.method === "POST"
) {
const body = JSON.parse(opts.body as string)
const keepIds = body.store === true
if (!keepIds && Array.isArray(body.input)) {
for (const item of body.input) {
if ("id" in item) {
delete item.id
}
}
opts.body = JSON.stringify(body)
}
}
const res = await fetchFn(input, {
...opts,
// @ts-ignore see here: https://github.com/oven-sh/bun/issues/16682