Răsfoiți Sursa

strip itemIds in more cases

Aiden Cline 1 lună în urmă
părinte
comite
d47510785a
2 a modificat fișierele cu 10 adăugiri și 10 ștergeri
  1. 1 0
      ai
  2. 9 10
      packages/opencode/src/provider/transform.ts

+ 1 - 0
ai

@@ -0,0 +1 @@
+Subproject commit 64209b426e6ccc8f46172032ce56cef1e18c16a2

+ 9 - 10
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<string, unknown>
-          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
       })