From d47510785ab5b521f4d66369a89c246485db27af Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Thu, 15 Jan 2026 18:00:50 -0600 Subject: [PATCH] strip itemIds in more cases --- ai | 1 + packages/opencode/src/provider/transform.ts | 19 +++++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) create mode 160000 ai diff --git a/ai b/ai new file mode 160000 index 000000000..64209b426 --- /dev/null +++ b/ai @@ -0,0 +1 @@ +Subproject commit 64209b426e6ccc8f46172032ce56cef1e18c16a2 diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts index 1dbc24db5..cdb65c79a 100644 --- a/packages/opencode/src/provider/transform.ts +++ b/packages/opencode/src/provider/transform.ts @@ -24,18 +24,17 @@ export namespace ProviderTransform { // Strip openai itemId metadata following what codex does if (model.api.npm === "@ai-sdk/openai" || options.store === false) { msgs = msgs.map((msg) => { - if (!Array.isArray(msg.content)) return msg + if (msg.providerOptions?.openai) { + delete msg.providerOptions.openai["itemId"] + } + if (!Array.isArray(msg.content)) { + return msg + } const content = msg.content.map((part) => { - if (!part.providerOptions?.openai) return part - const { itemId, reasoningEncryptedContent, ...rest } = part.providerOptions.openai as Record - const openai = Object.keys(rest).length > 0 ? rest : undefined - return { - ...part, - providerOptions: { - ...part.providerOptions, - openai, - }, + if (part.providerOptions?.openai) { + delete part.providerOptions.openai["itemId"] } + return part }) return { ...msg, content } as typeof msg })