Commit Graph

607 Commits

Author SHA1 Message Date
Noe
c46a28cfe6 v1.5.0 2026-02-11 12:59:00 +00:00
Noe
de62be0235 fix: use strict undefined check for thinkingBudget to preserve 0 value
The falsy check !result.thinkingBudget treated thinkingBudget: 0 as missing,
allowing the generationConfig fallback to overwrite it. Use explicit
=== undefined check instead. Adds test for the edge case.

Co-authored-by: greptile[bot] <greptile[bot]@users.noreply.github.com>
2026-02-11 12:16:00 +00:00
Noe
466b4fe54b fix: extract variant thinking budget from generationConfig fallback (#259)
OpenCode passes variant thinking config in generationConfig rather than
providerOptions, causing extractVariantThinkingConfig to always return
undefined and the budget to fall back to the default 32768.

Add generationConfig as a second parameter to extractVariantThinkingConfig.
The function now checks providerOptions first (preserving existing behavior),
then falls back to generationConfig.thinkingConfig when providerOptions
yields no thinking configuration.
2026-02-11 11:56:48 +00:00
Noe
052124def4 v1.5.0 2026-02-11 11:27:07 +00:00
Noè
2026fa7e67 Merge pull request #420 from NoeFabris/fix/align-gemini-cli-headers 2026-02-11 10:08:45 +00:00
Noè
9e685f3306 Merge pull request #417 from ChiR24/fix/strip-x-goog-user-project-header 2026-02-11 10:08:07 +00:00
Chirag Panwar
34d0c3b767 fix: strip x-goog-user-project for ALL headerStyles
The x-goog-user-project header causes 403 PERMISSION_DENIED on BOTH
Daily and Prod endpoints (verified with live testing on 11 models).

Previously, the fix only stripped this header for 'antigravity' style.
Now it strips unconditionally for all headerStyles including 'gemini-cli'.

Error message: 'Cloud Code Private API has not been used in project
{user_project} before or it is disabled'

Addresses PR review feedback from @NoeFabris.
2026-02-11 11:42:32 +05:30
Noe
8d411865e7 hive(01-update-constants-and-types): Updated src/constants.ts: changed `GEMINI_CLI_HE 2026-02-11 00:43:43 +00:00
Noè
17647bb8da Merge pull request #418 from NoeFabris/fix/fingerprint-alignment 2026-02-10 23:04:14 +00:00
Noe
73d2ac99a3 PR Fix 2026-02-10 21:48:49 +00:00
Noe
c4c8922db2 PR fixes 2026-02-10 16:14:55 +00:00
Noe
a14c5293f8 fix: align fingerprint headers to match Antigravity Manager behavior
Reduce fingerprint surface to minimize rate limiting by matching what
Antigravity Manager actually sends on content requests.

Changes:
- Remove X-Goog-QuotaUser and X-Client-Device-Id headers (AM doesn't send them)
- Remove X-Goog-Api-Client and Client-Metadata from fingerprint headers (AM only sends User-Agent on content requests)
- Fix ideType: replace random pool (INTELLIJ, ANDROID_STUDIO, etc.) with ANTIGRAVITY/IDE_UNSPECIFIED
- Remove wrong SDK clients (intellij/2024.1, android-studio/2024.1, jetbrains/2024.3) from randomization pools
- Strip extra Client-Metadata fields (osVersion, arch, sqmId) not present in AM
- Force-regenerate saved fingerprints on account load to clear stale data
- Set CODE_ASSIST_METADATA.ideType to ANTIGRAVITY (matching AM)
2026-02-10 15:05:07 +00:00
Chirag Panwar
53e3efdfc4 fix: strip x-goog-user-project header to enable opus 4.6 on Daily endpoint
- Strip x-goog-user-project header ONLY for antigravity headerStyle (Daily endpoint)
- Keep the header for gemini-cli style (Prod endpoint) where it may be needed for billing/quota
- Add test coverage for both headerStyle behaviors

Root cause:
The x-goog-user-project header (added by OpenCode/AI SDK) causes 403 Forbidden
errors on the Daily sandbox endpoint. This triggers fallback to Prod endpoint,
but claude-opus-4-6-thinking is only available on Daily, resulting in 404 errors.

By stripping this header only for antigravity requests, Daily endpoint works
while preserving potential billing/quota functionality for gemini-cli requests.

Fixes #410
2026-02-10 16:15:25 +05:30
Noè
e7c12d7523 Merge pull request #415 from NoeFabris/auto-fetch-antigravity-version 2026-02-10 10:02:26 +00:00
Noe
8c325c15f4 feat: enforce single runtime Antigravity version setting at startup 2026-02-10 09:51:28 +00:00
Noe
380a006974 fix: ensure timeout is cleared in tryFetchVersion function 2026-02-10 09:35:57 +00:00
Noe
b90c983fde feat: fetch Antigravity version dynamically at startup
Replicate Antigravity-Manager's version resolution chain:
1. Remote API (auto-updater endpoint)
2. Changelog page scrape
3. Hardcoded fallback

Version is resolved once at plugin init and propagates to all
headers, fingerprints, and user-agent strings via lazy getters.
2026-02-10 01:24:16 +00:00
Noè
0f60480e96 Merge pull request #414 from NoeFabris/feat/account-verify-menu-pr395 2026-02-10 00:26:32 +00:00
Noe
eaf8175e78 PR Fixes 2026-02-10 00:24:58 +00:00
Noe
29b1a5bc24 feat: persist account verification-required state 2026-02-10 00:11:43 +00:00
Noe
8118348ee9 feat: add verify-all account checks 2026-02-09 23:57:14 +00:00
Noe
91b74ceef1 feat: add account verification action to auth login menu 2026-02-09 23:33:57 +00:00
Noè
45e82c86d7 Merge pull request #413 from NoeFabris/fix/supersede-pr-404-cli-fallback
fix: simplify Gemini routing and ignore legacy quota_fallback
2026-02-09 20:37:22 +00:00
Noe
00ec4e29f3 fix: update fallback description for Gemini CLI in multi-account setup 2026-02-09 20:28:22 +00:00
Noe
5234cfce5f fix: unify gemini routing and deprecate quota_fallback flag 2026-02-09 19:20:26 +00:00
Noe
42a93ae139 Merge branch 'main' into dev 2026-02-06 23:48:30 +00:00
Noè
28f46c2e62 Merge pull request #375 from NoeFabris/opus-4.6
Add support for Opus 4.6 (not yet available in antigravity)
v1.4.6
2026-02-06 21:43:16 +00:00
Noè
3814a32624 Merge pull request #391 from NoeFabris/fix/disabled-accounts-still-used
fix: disabled accounts still being used in sticky selection
2026-02-06 21:06:56 +00:00
Noe
95779b30aa fix: advance current index when disabling account to preserve sticky selection 2026-02-06 20:59:12 +00:00
Noe
faca7caafa fix: persist enabled field in account serialization 2026-02-06 20:53:19 +00:00
Noe
1d8dffced0 fix: mock storage in tests to prevent data leakage 2026-02-06 18:52:00 +00:00
Noe
a70d07a59c fix: use saveAccountsReplace for delete to bypass merge
saveAccounts() merges incoming storage with existing, which means deleted
accounts get merged back from the existing file. saveAccountsReplace()
writes the storage directly without merge.

This was the actual root cause of #370 - the in-memory sync we added
earlier helps for the current session, but the disk persistence was
still broken.
2026-02-06 17:24:58 +00:00
Noe
80e0e1c848 fix: sync in-memory state when deleting accounts
Same pattern as the enabled toggle bug - delete only updated disk storage
but not the in-memory AccountManager.

Added removeAccountByIndex() method and called it from delete logic.

Fixes #370
2026-02-06 17:15:22 +00:00
Noe
c53ca6947c fix: sync in-memory accountManager when toggling enabled status
The first fix (checking enabled flag in getCurrentAccountForFamily) wasn't
enough because the toggle code only updated disk storage, not the in-memory
AccountManager used for request routing.

Added:
1. setAccountEnabled() method to AccountManager
2. Module-level activeAccountManager reference shared between connect and login
3. Toggle code now syncs both disk storage AND in-memory state
2026-02-06 17:05:41 +00:00
Noe
ddcee09909 fix: disabled accounts still being used in sticky selection
getCurrentAccountForFamily() returned accounts by index without checking
the enabled flag, causing disabled accounts to be selected in sticky mode.

The fix adds an enabled check before returning the account, ensuring
disabled accounts fall through to getNextForFamily() which properly
filters by enabled status.

Fixes #381
2026-02-06 16:30:19 +00:00
Noe
80b3ffe99c fix: respect opencode.jsonc in configure models flow
Prefer an existing opencode.jsonc file and parse JSONC content when updating providers so the CLI no longer creates duplicate opencode.json files.
2026-02-06 15:58:16 +00:00
Noè
a798509250 Merge pull request #388 from NoeFabris/fix/supersede-pr-373-cli-first-routing
fix: honor cli_first in routing (supersedes #373)
2026-02-06 15:50:30 +00:00
Noe
ea6139b654 fix: honor cli_first in routing and add regression tests 2026-02-06 15:32:31 +00:00
Noe
8700287428 revert: rollback PR #369
Causes a regression on every Claude thinking turn.
2026-02-06 15:06:55 +00:00
Noe
7c17baac10 fix: add typeRoots configuration to tsconfig.json 2026-02-06 14:59:47 +00:00
Noè
f20bf23f6d Merge pull request #353 from xeloxa/fix/secure-file-permissions
fix: set secure file permissions (0600) for credential storage
2026-02-06 14:49:19 +00:00
Noè
4aa279f4de Merge pull request #369 from ndycode/fix/issue-368-sentinel-thinking
Fix Claude thinking signature reuse (issue #368)
2026-02-06 14:47:57 +00:00
Noè
3c8667e899 Merge pull request #371 from ndycode/fix/issue-370-account-delete
Fix stale auth after account deletion
2026-02-06 14:45:34 +00:00
Noe
b4ec01b380 fix: update search model to gemini-2.5-flash and adjust generation configuration 2026-02-06 11:25:11 +00:00
Noe
ed5cb239e5 fix: improve JSON extraction logic in issue triage workflow 2026-02-06 11:01:32 +00:00
Noe
511580eefd v1.4.6 2026-02-05 20:38:19 +00:00
Noe
1a8284cabf feat: add support for Claude Opus 4.6 model (not yet available in antigravity) 2026-02-05 20:37:48 +00:00
Noe
319d91df13 chore: update version to 1.5.0-beta.0 in package.json 2026-02-05 19:07:16 +00:00
Noè
c7b9827817 Merge pull request #360 from CodeByNikolas/fix/reduce-disk-io-account-save-throttle
Fix excessive disk writes (3000+/sec) from project context auth updates
2026-02-05 19:06:10 +00:00
Noe
21d32e8ef8 fix: update version from 1.4.5-beta.0 to 1.4.5 in package.json v1.4.5 2026-02-05 18:32:35 +00:00