From 28b7e87c99decf3d5f44c7fcbafd10c6f4c3252a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 10 Jan 2026 01:06:19 +0000 Subject: [PATCH] fix(pnpm): regenerate patchedDependencies --- package.json | 10 ++-- ...pe__carbon@0.0.0-beta-20260109194934.patch | 47 +++++++++++++++ patches/@mariozechner__pi-ai@0.42.1.patch | 57 +++++++++++++++++++ pnpm-lock.yaml | 24 ++++---- 4 files changed, 121 insertions(+), 17 deletions(-) create mode 100644 patches/@buape__carbon@0.0.0-beta-20260109194934.patch create mode 100644 patches/@mariozechner__pi-ai@0.42.1.patch diff --git a/package.json b/package.json index 9a7af4356..e2c7e1a1a 100644 --- a/package.json +++ b/package.json @@ -183,10 +183,10 @@ "@sinclair/typebox": "0.34.47" }, "patchedDependencies": { - "@buape/carbon": "patches/@buape__carbon.patch", + "@buape/carbon@0.0.0-beta-20260109194934": "patches/@buape__carbon@0.0.0-beta-20260109194934.patch", "@mariozechner/pi-agent-core": "patches/@mariozechner__pi-agent-core.patch", - "@mariozechner/pi-coding-agent": "patches/@mariozechner__pi-coding-agent.patch", - "@mariozechner/pi-ai": "patches/@mariozechner__pi-ai.patch" + "@mariozechner/pi-ai@0.42.1": "patches/@mariozechner__pi-ai@0.42.1.patch", + "@mariozechner/pi-coding-agent": "patches/@mariozechner__pi-coding-agent.patch" } }, "vitest": { @@ -222,10 +222,10 @@ ] }, "patchedDependencies": { - "@buape/carbon": "patches/@buape__carbon.patch", + "@buape/carbon@0.0.0-beta-20260109194934": "patches/@buape__carbon@0.0.0-beta-20260109194934.patch", "@mariozechner/pi-agent-core": "patches/@mariozechner__pi-agent-core.patch", + "@mariozechner/pi-ai@0.42.1": "patches/@mariozechner__pi-ai@0.42.1.patch", "@mariozechner/pi-coding-agent": "patches/@mariozechner__pi-coding-agent.patch", - "@mariozechner/pi-ai": "patches/@mariozechner__pi-ai.patch", "qrcode-terminal": "patches/qrcode-terminal.patch", "playwright-core@1.57.0": "patches/playwright-core@1.57.0.patch" } diff --git a/patches/@buape__carbon@0.0.0-beta-20260109194934.patch b/patches/@buape__carbon@0.0.0-beta-20260109194934.patch new file mode 100644 index 000000000..fe98ea1cc --- /dev/null +++ b/patches/@buape__carbon@0.0.0-beta-20260109194934.patch @@ -0,0 +1,47 @@ +diff --git a/dist/src/classes/RequestClient.js b/dist/src/classes/RequestClient.js +index 4a3357a3a71e993e49dbf4511be7f39aeec03755..cae09147c4016ff15ee09c7a0c679a6cd6e374e0 100644 +--- a/dist/src/classes/RequestClient.js ++++ b/dist/src/classes/RequestClient.js +@@ -118,6 +118,9 @@ export class RequestClient { + } + } + this.abortController = new AbortController(); ++ const timeoutMs = typeof this.options.timeout === "number" && this.options.timeout > 0 ++ ? this.options.timeout ++ : undefined; + let body; + if (data?.body && + typeof data.body === "object" && +@@ -178,12 +181,26 @@ export class RequestClient { + body = JSON.stringify(data.body); + } + } +- const response = await fetch(url, { +- method, +- headers, +- body, +- signal: this.abortController.signal +- }); ++ let timeoutId; ++ if (timeoutMs !== undefined) { ++ timeoutId = setTimeout(() => { ++ this.abortController?.abort(); ++ }, timeoutMs); ++ } ++ let response; ++ try { ++ response = await fetch(url, { ++ method, ++ headers, ++ body, ++ signal: this.abortController.signal ++ }); ++ } ++ finally { ++ if (timeoutId) { ++ clearTimeout(timeoutId); ++ } ++ } + let rawBody = ""; + let parsedBody; + try { diff --git a/patches/@mariozechner__pi-ai@0.42.1.patch b/patches/@mariozechner__pi-ai@0.42.1.patch new file mode 100644 index 000000000..e4a1be4c1 --- /dev/null +++ b/patches/@mariozechner__pi-ai@0.42.1.patch @@ -0,0 +1,57 @@ +diff --git a/dist/providers/google-gemini-cli.js b/dist/providers/google-gemini-cli.js +index 93aa26c395e9bd0df64376408a13d15ee9e7cce7..41a439e5fc370038a5febef9e8f021ee279cf8aa 100644 +--- a/dist/providers/google-gemini-cli.js ++++ b/dist/providers/google-gemini-cli.js +@@ -248,6 +248,11 @@ export const streamGoogleGeminiCli = (model, context, options) => { + break; // Success, exit retry loop + } + const errorText = await response.text(); ++ // Fail immediately on 429 for Antigravity to let callers rotate accounts. ++ // Antigravity rate limits can have very long retry delays (10+ minutes). ++ if (isAntigravity && response.status === 429) { ++ throw new Error(`Cloud Code Assist API error (${response.status}): ${errorText}`); ++ } + // Check if retryable + if (attempt < MAX_RETRIES && isRetryableError(response.status, errorText)) { + // Use server-provided delay or exponential backoff +diff --git a/dist/providers/openai-codex-responses.js b/dist/providers/openai-codex-responses.js +index 188a8294f26fe1bfe3fb298a7f58e4d8eaf2a529..3fd8027edafdad4ca364af53f0a1811139705b21 100644 +--- a/dist/providers/openai-codex-responses.js ++++ b/dist/providers/openai-codex-responses.js +@@ -433,9 +433,15 @@ function convertMessages(model, context) { + } + else if (msg.role === "assistant") { + const output = []; ++ // OpenAI Responses rejects `reasoning` items that are not followed by a `message`. ++ // Tool-call-only turns (thinking + function_call) are valid assistant turns, but ++ // their stored reasoning items must not be replayed as standalone `reasoning` input. ++ const hasTextBlock = msg.content.some((b) => b.type === "text"); + for (const block of msg.content) { + if (block.type === "thinking" && msg.stopReason !== "error") { + if (block.thinkingSignature) { ++ if (!hasTextBlock) ++ continue; + const reasoningItem = JSON.parse(block.thinkingSignature); + output.push(reasoningItem); + } +diff --git a/dist/providers/openai-responses.js b/dist/providers/openai-responses.js +index 20fb0a22aaa28f7ff7c2f44a8b628fa1d9d7d936..0bf46bfb4a6fac5a0304652e42566b2c991bab48 100644 +--- a/dist/providers/openai-responses.js ++++ b/dist/providers/openai-responses.js +@@ -396,10 +396,16 @@ function convertMessages(model, context) { + } + else if (msg.role === "assistant") { + const output = []; ++ // OpenAI Responses rejects `reasoning` items that are not followed by a `message`. ++ // Tool-call-only turns (thinking + function_call) are valid assistant turns, but ++ // their stored reasoning items must not be replayed as standalone `reasoning` input. ++ const hasTextBlock = msg.content.some((b) => b.type === "text"); + for (const block of msg.content) { + // Do not submit thinking blocks if the completion had an error (i.e. abort) + if (block.type === "thinking" && msg.stopReason !== "error") { + if (block.thinkingSignature) { ++ if (!hasTextBlock) ++ continue; + const reasoningItem = JSON.parse(block.thinkingSignature); + output.push(reasoningItem); + } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 31c36f91f..961facf9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,15 +8,15 @@ overrides: '@sinclair/typebox': 0.34.47 patchedDependencies: - '@buape/carbon': - hash: 85885a1d47a37ae00bcd21f2efbeb025284ea98981c300f095fb94c0604ff9ac - path: patches/@buape__carbon.patch + '@buape/carbon@0.0.0-beta-20260109194934': + hash: c36ae878bfd2e2ec2d6eb4fa12ebcd3b0797b033020c0a95d8a3e67ba82228e3 + path: patches/@buape__carbon@0.0.0-beta-20260109194934.patch '@mariozechner/pi-agent-core': hash: 01312ceb1f6be7e42822c24c9a7a4f7db56b24ae114a364855bd3819779d1cf4 path: patches/@mariozechner__pi-agent-core.patch - '@mariozechner/pi-ai': - hash: 3f4c1f943c57dbe2980bf21b1768dc780355f9124eeffbc30b5d5e42d2ea4b7c - path: patches/@mariozechner__pi-ai.patch + '@mariozechner/pi-ai@0.42.1': + hash: 0786e946616db65fea37764750c64745131880092ccd082a0016cc9a8788702c + path: patches/@mariozechner__pi-ai@0.42.1.patch '@mariozechner/pi-coding-agent': hash: 58af7c712ebe270527c2ad9d3351fac39d6cd4b81cc475a258d87840b446b90e path: patches/@mariozechner__pi-coding-agent.patch @@ -27,7 +27,7 @@ importers: dependencies: '@buape/carbon': specifier: 0.0.0-beta-20260109194934 - version: 0.0.0-beta-20260109194934(hono@4.11.3) + version: 0.0.0-beta-20260109194934(patch_hash=c36ae878bfd2e2ec2d6eb4fa12ebcd3b0797b033020c0a95d8a3e67ba82228e3)(hono@4.11.3) '@clack/prompts': specifier: ^0.11.0 version: 0.11.0 @@ -45,7 +45,7 @@ importers: version: 0.42.1(patch_hash=01312ceb1f6be7e42822c24c9a7a4f7db56b24ae114a364855bd3819779d1cf4)(ws@8.19.0)(zod@4.3.5) '@mariozechner/pi-ai': specifier: ^0.42.1 - version: 0.42.1(patch_hash=3f4c1f943c57dbe2980bf21b1768dc780355f9124eeffbc30b5d5e42d2ea4b7c)(ws@8.19.0)(zod@4.3.5) + version: 0.42.1(patch_hash=0786e946616db65fea37764750c64745131880092ccd082a0016cc9a8788702c)(ws@8.19.0)(zod@4.3.5) '@mariozechner/pi-coding-agent': specifier: ^0.42.1 version: 0.42.1(patch_hash=58af7c712ebe270527c2ad9d3351fac39d6cd4b81cc475a258d87840b446b90e)(ws@8.19.0)(zod@4.3.5) @@ -3377,7 +3377,7 @@ snapshots: '@borewit/text-codec@0.2.1': {} - '@buape/carbon@0.0.0-beta-20260109194934(hono@4.11.3)': + '@buape/carbon@0.0.0-beta-20260109194934(patch_hash=c36ae878bfd2e2ec2d6eb4fa12ebcd3b0797b033020c0a95d8a3e67ba82228e3)(hono@4.11.3)': dependencies: '@types/node': 24.10.4 discord-api-types: 0.38.36 @@ -3786,7 +3786,7 @@ snapshots: '@mariozechner/pi-agent-core@0.42.1(patch_hash=01312ceb1f6be7e42822c24c9a7a4f7db56b24ae114a364855bd3819779d1cf4)(ws@8.19.0)(zod@4.3.5)': dependencies: - '@mariozechner/pi-ai': 0.42.1(patch_hash=3f4c1f943c57dbe2980bf21b1768dc780355f9124eeffbc30b5d5e42d2ea4b7c)(ws@8.19.0)(zod@4.3.5) + '@mariozechner/pi-ai': 0.42.1(patch_hash=0786e946616db65fea37764750c64745131880092ccd082a0016cc9a8788702c)(ws@8.19.0)(zod@4.3.5) '@mariozechner/pi-tui': 0.42.1 transitivePeerDependencies: - '@modelcontextprotocol/sdk' @@ -3796,7 +3796,7 @@ snapshots: - ws - zod - '@mariozechner/pi-ai@0.42.1(patch_hash=3f4c1f943c57dbe2980bf21b1768dc780355f9124eeffbc30b5d5e42d2ea4b7c)(ws@8.19.0)(zod@4.3.5)': + '@mariozechner/pi-ai@0.42.1(patch_hash=0786e946616db65fea37764750c64745131880092ccd082a0016cc9a8788702c)(ws@8.19.0)(zod@4.3.5)': dependencies: '@anthropic-ai/sdk': 0.71.2(zod@4.3.5) '@google/genai': 1.34.0 @@ -3820,7 +3820,7 @@ snapshots: dependencies: '@mariozechner/clipboard': 0.3.0 '@mariozechner/pi-agent-core': 0.42.1(patch_hash=01312ceb1f6be7e42822c24c9a7a4f7db56b24ae114a364855bd3819779d1cf4)(ws@8.19.0)(zod@4.3.5) - '@mariozechner/pi-ai': 0.42.1(patch_hash=3f4c1f943c57dbe2980bf21b1768dc780355f9124eeffbc30b5d5e42d2ea4b7c)(ws@8.19.0)(zod@4.3.5) + '@mariozechner/pi-ai': 0.42.1(patch_hash=0786e946616db65fea37764750c64745131880092ccd082a0016cc9a8788702c)(ws@8.19.0)(zod@4.3.5) '@mariozechner/pi-tui': 0.42.1 chalk: 5.6.2 cli-highlight: 2.1.11