diff --git a/package.json b/package.json index 04283a3a7..593b0d2da 100644 --- a/package.json +++ b/package.json @@ -171,7 +171,8 @@ }, "patchedDependencies": { "@mariozechner/pi-agent-core": "patches/@mariozechner__pi-agent-core.patch", - "@mariozechner/pi-coding-agent": "patches/@mariozechner__pi-coding-agent.patch" + "@mariozechner/pi-coding-agent": "patches/@mariozechner__pi-coding-agent.patch", + "@mariozechner/pi-ai": "patches/@mariozechner__pi-ai.patch" } }, "vitest": { @@ -209,6 +210,7 @@ "patchedDependencies": { "@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", "qrcode-terminal": "patches/qrcode-terminal.patch", "playwright-core@1.57.0": "patches/playwright-core@1.57.0.patch" } diff --git a/patches/@mariozechner__pi-ai.patch b/patches/@mariozechner__pi-ai.patch new file mode 100644 index 000000000..92a7b9087 --- /dev/null +++ b/patches/@mariozechner__pi-ai.patch @@ -0,0 +1,18 @@ +diff --git a/dist/providers/google-gemini-cli.js b/dist/providers/google-gemini-cli.js +index 0000000..1111111 100644 +--- a/dist/providers/google-gemini-cli.js ++++ b/dist/providers/google-gemini-cli.js +@@ -248,6 +248,13 @@ async function* streamGeminiCli(model, context, credentials, options) { + break; // Success, exit retry loop + } + const errorText = await response.text(); ++ // PATCH: Fail immediately on 429 to let caller rotate accounts ++ // Antigravity rate limits can have very long retry delays (10+ minutes). ++ // Instead of waiting, throw immediately so clawdbot can rotate to another account. ++ if (response.status === 429) { ++ console.log(`[pi-ai] 429 rate limit - failing fast to rotate account`); ++ 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/pnpm-lock.yaml b/pnpm-lock.yaml index e6852d628..361e2b677 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ patchedDependencies: '@mariozechner/pi-agent-core': hash: 01312ceb1f6be7e42822c24c9a7a4f7db56b24ae114a364855bd3819779d1cf4 path: patches/@mariozechner__pi-agent-core.patch + '@mariozechner/pi-ai': + hash: a64d167efc76cfc0504fa6ce9e9643276ee41020f9c82e7ed0c763c4af290811 + path: patches/@mariozechner__pi-ai.patch '@mariozechner/pi-coding-agent': hash: 58af7c712ebe270527c2ad9d3351fac39d6cd4b81cc475a258d87840b446b90e path: patches/@mariozechner__pi-coding-agent.patch @@ -39,7 +42,7 @@ importers: version: 0.41.0(patch_hash=01312ceb1f6be7e42822c24c9a7a4f7db56b24ae114a364855bd3819779d1cf4)(ws@8.19.0)(zod@4.3.5) '@mariozechner/pi-ai': specifier: ^0.41.0 - version: 0.41.0(ws@8.19.0)(zod@4.3.5) + version: 0.41.0(patch_hash=a64d167efc76cfc0504fa6ce9e9643276ee41020f9c82e7ed0c763c4af290811)(ws@8.19.0)(zod@4.3.5) '@mariozechner/pi-coding-agent': specifier: ^0.41.0 version: 0.41.0(patch_hash=58af7c712ebe270527c2ad9d3351fac39d6cd4b81cc475a258d87840b446b90e)(ws@8.19.0)(zod@4.3.5) @@ -3780,7 +3783,7 @@ snapshots: '@mariozechner/pi-agent-core@0.41.0(patch_hash=01312ceb1f6be7e42822c24c9a7a4f7db56b24ae114a364855bd3819779d1cf4)(ws@8.19.0)(zod@4.3.5)': dependencies: - '@mariozechner/pi-ai': 0.41.0(ws@8.19.0)(zod@4.3.5) + '@mariozechner/pi-ai': 0.41.0(patch_hash=a64d167efc76cfc0504fa6ce9e9643276ee41020f9c82e7ed0c763c4af290811)(ws@8.19.0)(zod@4.3.5) '@mariozechner/pi-tui': 0.41.0 transitivePeerDependencies: - '@modelcontextprotocol/sdk' @@ -3790,7 +3793,7 @@ snapshots: - ws - zod - '@mariozechner/pi-ai@0.41.0(ws@8.19.0)(zod@4.3.5)': + '@mariozechner/pi-ai@0.41.0(patch_hash=a64d167efc76cfc0504fa6ce9e9643276ee41020f9c82e7ed0c763c4af290811)(ws@8.19.0)(zod@4.3.5)': dependencies: '@anthropic-ai/sdk': 0.71.2(zod@4.3.5) '@google/genai': 1.34.0 @@ -3814,7 +3817,7 @@ snapshots: dependencies: '@mariozechner/clipboard': 0.3.0 '@mariozechner/pi-agent-core': 0.41.0(patch_hash=01312ceb1f6be7e42822c24c9a7a4f7db56b24ae114a364855bd3819779d1cf4)(ws@8.19.0)(zod@4.3.5) - '@mariozechner/pi-ai': 0.41.0(ws@8.19.0)(zod@4.3.5) + '@mariozechner/pi-ai': 0.41.0(patch_hash=a64d167efc76cfc0504fa6ce9e9643276ee41020f9c82e7ed0c763c4af290811)(ws@8.19.0)(zod@4.3.5) '@mariozechner/pi-tui': 0.41.0 chalk: 5.6.2 cli-highlight: 2.1.11