List view
Patch release for issues deferred from v1.5.0
No due date•1/2 issues closed- No due date•9/9 issues closed
Release v1.4.5
No due date•2/2 issues closed- No due date•4/4 issues closed
Windows config path standardization
No due date- No due date•10/10 issues closed
- No due date•2/2 issues closed
- No due date•14/15 issues closed
- No due date•13/13 issues closed
- No due date•13/13 issues closed
# Milestone v1.2.5 **Status**: Beta (1.2.5-beta.2) --- ## Overview Version 1.2.5 focuses on **reliability and stability improvements** for Claude model support through the Antigravity proxy. This release introduces a comprehensive recovery system, defense-in-depth error handling, and proactive token management. ### Key Stats | Metric | Value | |--------|-------| | Files Changed | 43 | | Lines Added | +8,762 | | Lines Removed | -3,063 | | Tests Passing | 164 | --- ## Major Features ### 1. Session Recovery Module (PR #54) A new modular recovery system that handles Claude-specific instabilities when served through Antigravity's Gemini-style API format. **Philosophy**: "Let it crash and start again" - rather than attempting complex state repairs, the system detects corruption and triggers clean restarts. #### New Recovery Capabilities | Error Type | Description | Recovery Action | |------------|-------------|-----------------| | `tool_result_missing` | Orphaned tool results without matching tool_use | Re-pair or remove orphans | | `thinking_block_order` | Thinking blocks in wrong position | Close tool loops, reset state | | `thinking_disabled_violation` | Thinking enabled when it shouldn't be | Disable and retry | #### Key Functions - `analyzeConversationState()` - Detects conversation corruption patterns - `closeToolLoopForThinking()` - Safely closes tool loops before thinking turns - `needsThinkingRecovery()` - Determines if recovery intervention needed - `looksLikeCompactedThinkingTurn()` - Identifies context compaction artifacts --- ### 2. Defense-in-Depth Tool Pairing Fix (PR #56) Multi-layer defense system to handle Claude's tool result pairing issues, which cause "Could not process tool results" errors. #### Defense Layers | Layer | Function | Purpose | |-------|----------|---------| | Layer 1 | `fixToolResponseGrouping()` | Existing 3-pass ID matching algorithm | | Layer 2 | `fixClaudeToolPairing()` | **NEW** - Additional pairing validation | | Layer 2.5 | `validateAndFixClaudeToolPairing()` | Nuclear option - aggressive repair | | Layer 3 | `recovery.ts` | Full conversation state recovery | #### New Transform Module Centralized request/response transformation with: - `cleanJSONSchemaForAntigravity()` - Ported from CLIProxyAPI for schema compatibility - `filterUnsignedThinkingBlocks()` - Removes corrupted thinking signatures - `transformThinkingParts()` - Normalizes thinking block format - `recursivelyParseJsonStrings()` - Deep JSON parsing for nested structures --- ## Infrastructure Improvements ### Proactive Token Refresh Queue Ported from LLM-API-Key-Proxy, prevents token expiration during long sessions. | Parameter | Value | |-----------|-------| | Refresh Buffer | 30 minutes before expiry | | Check Interval | 5 minutes | | Concurrency | Serialized (prevents race conditions) | ### New Module Structure ``` src/plugin/ ├── recovery/ # Session recovery module │ ├── index.ts │ └── types.ts ├── transform/ # Request/response transformations ├── cache/ # Signature caching ├── config/ # Zod-validated configuration ├── thinking-recovery.ts ├── request-helpers.ts ├── refresh-queue.ts ├── logger.ts └── errors.ts ``` ### Configuration Schema Added Zod-based configuration validation for type-safe runtime config. --- ## Documentation Updates | Document | Status | Purpose | |----------|--------|---------| | `ARCHITECTURE.md` | **NEW** | System architecture overview | | `CLAUDE_INSTABILITY_RESEARCH.md` | **NEW** | Research on Claude/Antigravity issues | | `PR_TOOL_PAIRING_FIX.md` | **NEW** | Defense-in-depth implementation details | | `CLAUDE_MODEL_FLOW.md` | Removed | Superseded by ARCHITECTURE.md | | `DEVELOPER_GUIDE.md` | Removed | Consolidated into README | | `THINKING_SIGNATURE_SAFEGUARDS.md` | Removed | Merged into research doc | --- ## Dependencies | Package | Version | Change | |---------|---------|--------| | `zod` | ^3.24.0 | **NEW** - Runtime validation | | `@openauthjs/openauth` | ^0.4.3 | Updated | | `xdg-basedir` | ^5.1.0 | Existing | --- ## Known Issues & Limitations Based on `CLAUDE_INSTABILITY_RESEARCH.md`: 1. **Stability Rating**: 2/5 stars when using Claude through Antigravity 2. **Root Cause**: Antigravity serves Claude through Gemini-style API format, causing systematic reliability issues 3. **Mitigations**: This release implements multiple recovery strategies but cannot fix upstream API translation issues --- ## Migration Notes ### From v1.2.4 1. No breaking API changes 2. Recovery module activates automatically 3. New dependencies installed via `npm install` ### Configuration New optional configuration options available via Zod schema - see `src/plugin/config/` for defaults. --- ## Pull Requests | PR | Title | Type | |----|-------|------| | [#54](https://github.com/NoeFabris/opencode-antigravity-auth/pull/54) | Session Recovery Module | Feature | | [#56](https://github.com/NoeFabris/opencode-antigravity-auth/pull/56) | Defense-in-Depth Tool Pairing Fix | Fix | --- ## Contributors - Core development and research on Claude instability patterns - Ported proven solutions from CLIProxyAPI and LLM-API-Key-Proxy projects ## Issues fixed https://github.com/NoeFabris/opencode-antigravity-auth/issues/50 https://github.com/NoeFabris/opencode-antigravity-auth/issues/55 ## Pull Requests https://github.com/NoeFabris/opencode-antigravity-auth/pull/54 https://github.com/NoeFabris/opencode-antigravity-auth/pull/56
No due date•6/6 issues closed