chore(vendor): import pi 1.3.0

Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
This commit is contained in:
alexion committed 2026-10-15 17:58:48 -04:00
1 parent 719370c8f7
commit 6081e3e325
1743 files changed
+205459 -131704

No files matched your search

@@ -84,7 +84,7 @@ describe.skipIf(!process.env.OPENAI_API_KEY || !process.env.ANTHROPIC_API_KEY)(
// This tests the scenario where:
// 1. Model A (gpt-5-mini) generates reasoning + function_call
// 2. User switches to Model B (gpt-5.2-codex) - same provider, different model
// 3. transform-messages: isSameModel=false, thinking converted to text
// 3. transform-messages: isSameModel=false, thinking dropped
// 4. But tool call ID still has OpenAI pairing history (fc_xxx paired with rs_xxx)
// 5. Without fix: OpenAI returns 400 "function_call without required reasoning item"
// 6. With fix: tool calls/results converted to text, conversation continues
@@ -184,7 +184,7 @@ describe.skipIf(!process.env.OPENAI_API_KEY || !process.env.ANTHROPIC_API_KEY)(
// This tests cross-provider handoff:
// 1. Anthropic model generates thinking + function_call (toolu_xxx ID)
// 2. User switches to OpenAI Codex
// 3. transform-messages: isSameModel=false, thinking converted to text
// 3. transform-messages: isSameModel=false, thinking dropped
// 4. Tool call ID is Anthropic format (toolu_xxx), no OpenAI pairing history
// 5. Should work because foreign IDs have no pairing expectation