Преглед изворни кода

fix(llm): stabilize anthropic tool result typecheck (#28909)

Aiden Cline пре 2 месеци
родитељ
комит
14c511e380
1 измењених фајлова са 3 додато и 1 уклоњено
  1. 3 1
      packages/llm/src/protocols/anthropic-messages.ts

+ 3 - 1
packages/llm/src/protocols/anthropic-messages.ts

@@ -335,7 +335,9 @@ const lowerToolResultContent = Effect.fn("AnthropicMessages.lowerToolResultConte
   // Text / json / error results stay as a string for backward compatibility
   // with existing cassettes and provider expectations.
   if (part.result.type !== "content") return ProviderShared.toolResultText(part)
-  return yield* Effect.forEach(part.result.value, lowerToolResultContentItem)
+  // Preserve the narrowed array element type when compiled through a consumer package.
+  const content: ReadonlyArray<ToolResultContentPart> = part.result.value
+  return yield* Effect.forEach(content, lowerToolResultContentItem)
 })
 
 const lowerMessages = Effect.fn("AnthropicMessages.lowerMessages")(function* (