Luis Pater
39dc4557c1
Merge pull request #2412 from sususu98/feat/signature-cache-toggle
...
feat: configurable signature cache toggle for Antigravity/Claude thinking blocks
2026-04-09 21:54:47 +08:00
ZTXBOSS666
30e94b6792
fix(antigravity): refine 429 handling and credits fallback
...
Includes: restore SDK docs under docs/; update antigravity executor credits tests; gofmt.
2026-04-09 21:48:32 +08:00
sususu98
38f0ae5970
docs(antigravity): document signature validation spec alignment
...
Add package-level comment documenting the protobuf tree structure,
base64 encoding equivalence proof, output dimensions, and spec
section references. Remove unreachable legacy_vertex_group dead code.
2026-04-09 21:12:40 +08:00
sususu98
cf249586a9
feat(antigravity): configurable signature cache with bypass-mode validation
...
Antigravity 的 Claude thinking signature 处理新增 cache/bypass 双模式,
并为 bypass 模式实现按 SIGNATURE-CHANNEL-SPEC.md 的签名校验。
新增 antigravity-signature-cache-enabled 配置项(默认 true):
- cache mode(true):使用服务端缓存的签名,行为与原有逻辑完全一致
- bypass mode(false):直接使用客户端提供的签名,经过校验和归一化
支持配置热重载,运行时可切换模式。
校验流程:
1. 剥离历史 cache-mode 的 'modelGroup#' 前缀(如 claude#Exxxx → Exxxx)
2. 首字符必须为 'E'(单层编码)或 'R'(双层编码),否则拒绝
3. R 开头:base64 解码 → 内层必须以 'E' 开头 → 继续单层校验
4. E 开头:base64 解码 → 首字节必须为 0x12(Claude protobuf 标识)
5. 所有合法签名归一化为 R 形式(双层 base64)发往 Antigravity 后端
非法签名处理策略:
- 非严格模式(默认):translator 静默丢弃无签名的 thinking block
- 严格模式(antigravity-signature-bypass-strict: true):
executor 层在请求发往上游前直接返回 HTTP 400
按 SIGNATURE-CHANNEL-SPEC.md 解析 Claude 签名的完整 protobuf 结构:
- Top-level Field 2(容器)→ Field 1(渠道块)
- 渠道块提取:channel_id (Field 1)、infrastructure (Field 2)、
model_text (Field 6)、field7 (Field 7)
- 计算 routing_class、infrastructure_class、schema_features
- 使用 google.golang.org/protobuf/encoding/protowire 解析
- resolveThinkingSignature 拆分为 resolveCacheModeSignature / resolveBypassModeSignature
- hasResolvedThinkingSignature:mode-aware 签名有效性判断
(cache: len>=50 via HasValidSignature,bypass: non-empty)
- validateAntigravityRequestSignatures:executor 预检,
仅在 bypass + strict 模式下拦截非法签名返回 400
- 响应侧签名缓存逻辑与 cache mode 集成
- Cache mode 行为完全保留:无 '#' 前缀的原生签名静默丢弃
2026-04-09 21:12:40 +08:00
Luis Pater
1dba2d0f81
fix(handlers): add base URL validation and improve API key deletion tests
2026-04-09 20:51:54 +08:00
Luis Pater
730809d8ea
fix(auth): preserve and restore ready view cursors during index rebuilds
2026-04-09 20:26:16 +08:00
Luis Pater
5e81b65f2f
fix(auth, executor): normalize Qwen base URL, adjust RefreshLead duration, and add tests
2026-04-09 18:07:07 +08:00
Luis Pater
ad8e3964ff
fix(auth): add retry logic for 429 status with Retry-After and improve testing
2026-04-09 07:07:19 +08:00
Luis Pater
941334da79
fix(auth): handle OAuth model alias in retry logic and refine Qwen quota handling
2026-04-09 03:44:19 +08:00
Luis Pater
d54f816363
fix(executor): update Qwen user agent and enhance header configuration
2026-04-09 01:45:52 +08:00
hkfires
343a2fc2f7
docs: update AGENTS.md for improved clarity and detail in commands and architecture
2026-04-08 12:33:16 +08:00
Luis Pater
12b967118b
Merge pull request #2592 from router-for-me/tests
...
fix(tests): update test cases
2026-04-08 11:57:15 +08:00
Luis Pater
70efd4e016
chore: add workflow to retarget main PRs to dev automatically
2026-04-08 10:35:49 +08:00
Luis Pater
f5aa68ecda
chore: add workflow to prevent AGENTS.md modifications in pull requests
2026-04-08 10:12:51 +08:00
hkfires
d390b95b76
fix(tests): update test cases
2026-04-08 08:53:50 +08:00
Luis Pater
d1f6224b70
Merge pull request #2569 from LucasInsight/fix/record-zero-usage
...
fix: record zero usage
2026-04-08 08:13:11 +08:00
Luis Pater
fcc59d606d
fix(translator): add unit tests to validate output_item.done fallback logic for Gemini and Claude
2026-04-08 03:54:15 +08:00
Luis Pater
91e7591955
fix(executor): add transient 429 resource exhausted handling with retry logic
2026-04-08 02:48:53 +08:00
Luis Pater
c8b7e2b8d6
fix(executor): ensure empty stream completions use output_item.done as fallback
...
Fixed : #2583
2026-04-07 18:21:12 +08:00
Luis Pater
cad45ffa33
Merge pull request #2578 from LemonZuo/feat_socks5h
...
feat: support socks5h scheme for proxy settings
2026-04-07 09:57:18 +08:00
Luis Pater
6a27bceec0
Merge pull request #2576 from zilianpn/fix/disable-cooling-auth-errors
...
fix(auth): honor disable-cooling and enrich no-auth errors
2026-04-07 09:56:25 +08:00
Lemon
163d68318f
feat: support socks5h scheme for proxy settings
2026-04-07 07:46:11 +08:00
zilianpn
0ea768011b
fix(auth): honor disable-cooling and enrich no-auth errors
2026-04-07 01:12:13 +08:00
Michael
8b9dbe10f0
fix: record zero usage
2026-04-06 20:19:42 +08:00
Luis Pater
9f5bdfaa31
Merge pull request #2531 from jamestut/openai-vertex-token-usage-fix
...
Fix missing `response.completed.usage` for late-usage OpenAI-compatible streams
2026-04-06 09:30:49 +08:00
Luis Pater
9eabdd09db
Merge pull request #2522 from aikins01/fix/strip-tool-use-signature
...
fix(amp): strip signature from tool_use blocks before forwarding to Claude
2026-04-06 09:30:14 +08:00
Luis Pater
c3f8dc362e
Merge pull request #2491 from mpfo0106/feature/claude-code-safe-alignment-sentinels
...
test(claude): add compatibility sentinels and centralize builtin fallback handling
2026-04-06 09:27:08 +08:00
Luis Pater
b85120873b
Merge pull request #2332 from RaviTharuma/fix/claude-thinking-signature
...
fix: preserve Claude thinking signatures in Codex translator
2026-04-06 09:25:06 +08:00
Luis Pater
6f58518c69
docs(readme): remove redundant GITSTORE_GIT_BRANCH description in README files
2026-04-06 09:23:04 +08:00
Luis Pater
000fcb15fa
Merge pull request #2298 from snoyiatk/feat/add-gitstore-branch
...
feat(gitstore): add support for specifying git branch (via GITSTORE_G…
2026-04-06 09:21:03 +08:00
Luis Pater
ea43361492
Merge pull request #2121 from destinoantagonista-wq/main
...
Reconcile registry model states on auth changes
2026-04-06 09:13:27 +08:00
Luis Pater
c1818f197b
Merge pull request #1940 from Blue-B/fix/claude-interleaved-thinking-amp-gzip-budget
...
fix(claude): enable interleaved-thinking beta, decode AMP error gzip, fix budget 400
2026-04-06 09:08:23 +08:00
Aikins Laryea
b0653cec7b
fix(amp): strip signature from tool_use blocks before forwarding to Claude
...
ensureAmpSignature injects signature:"" into tool_use blocks so the
Amp TUI does not crash on P.signature.length. when Amp sends the
conversation back, Claude rejects the extra field with 400:
tool_use.signature: Extra inputs are not permitted
strip the proxy-injected signature from tool_use blocks in
SanitizeAmpRequestBody before forwarding to the upstream API.
2026-04-05 12:26:24 +00:00
Luis Pater
22a1a24cf5
feat(executor): add tests for preserving key order in cache control functions
...
Added comprehensive tests to ensure key order is maintained when modifying payloads in `normalizeCacheControlTTL` and `enforceCacheControlLimit` functions. Removed unused helper functions and refactored implementations for better readability and efficiency.
2026-04-05 17:58:13 +08:00
Luis Pater
ada8e2905e
feat(api): enhance proxy resolution for API key-based auth
...
Added comprehensive support for resolving proxy URLs from configuration based on API key and provider attributes. Introduced new helper functions and extended the test suite to validate fallback mechanisms and compatibility cases.
2026-04-05 01:56:34 +08:00
Luis Pater
4ba10531da
feat(docs): add Poixe AI sponsorship details to README files
...
Added Poixe AI sponsorship information, including referral bonuses and platform capabilities, to README files in English, Japanese, and Chinese. Updated assets to include Poixe AI logo.
2026-04-05 01:20:50 +08:00
Luis Pater
3774b56e9f
feat(misc): add background updater for Antigravity version caching
...
Introduce `StartAntigravityVersionUpdater` to periodically refresh the cached Antigravity version using a non-blocking background process. Updated main server flow to initialize the updater.
2026-04-04 22:09:11 +08:00
Luis Pater
c2d4137fb9
feat(executor): enhance Qwen system message handling with strict injection and merging rules
...
Closes : #2537
2026-04-04 21:51:02 +08:00
Luis Pater
2ee938acaf
Merge pull request #2535 from rensumo/main
...
feat: 动态获取 Antigravity User-Agent 版本号
2026-04-04 21:00:47 +08:00
rensumo
8d5e470e1f
feat: dynamically fetch antigravity UA version from releases API
...
Fetch the latest version from the antigravity auto-updater releases
endpoint and cache it for 6 hours. Falls back to 1.21.9 if the API
is unreachable or returns unexpected data.
2026-04-04 14:52:59 +08:00
James
65e9e892a4
Fix missing response.completed.usage for late-usage OpenAI-compatible streams
2026-04-04 05:58:04 +00:00
Luis Pater
8430b28cfa
Merge pull request #2526 from rensumo/main
...
feat: 升级反重力 (antigravity) UA 版本为 1.21.9
2026-04-04 11:32:16 +08:00
rensumo
f3ab8f4bc5
chore: update antigravity UA version to 1.21.9
2026-04-04 07:35:08 +08:00
Luis Pater
0e4f189c2e
Merge pull request #1302 from dinhkarate/feat(vertex)/add-prefix-field
...
Feat(vertex): add prefix field
2026-04-04 04:17:12 +08:00
Luis Pater
754b126944
fix(executor): remove commented-out code in QwenExecutor
2026-04-04 02:14:48 +08:00
Luis Pater
ae37ccffbf
Merge pull request #2520 from Arronlong/main
...
fix:qwen invalid_parameter_error
2026-04-04 02:13:09 +08:00
Luis Pater
42c062bb5b
Merge pull request #2509 from adamhelfgott/fix-claude-thinking-temperature
...
Normalize Claude temperature when thinking is enabled
2026-04-03 23:55:50 +08:00
Luis Pater
f389667ec3
Merge pull request #2513 from lonr-6/codex/fix-ws-custom-tool-repair-v2
...
fix: repair responses websocket custom tool call pairing
2026-04-03 23:45:38 +08:00
Arronlong
29dba0399b
Comment out system message check in Qwen executor
...
fix qwen invalid_parameter_error
2026-04-03 23:07:33 +08:00
Luis Pater
a824e7cd0b
feat(models): add GPT-5.3, GPT-5.4, and GPT-5.4-mini with enhanced "thinking" levels
2026-04-03 23:05:10 +08:00