sususu98
295f34d7f0
fix(logging): capture streaming TTFB on first chunk and make timestamps required
...
- Add firstChunkTimestamp field to ResponseWriterWrapper for sync capture
- Capture TTFB in Write() and WriteString() before async channel send
- Add SetFirstChunkTimestamp() to StreamingLogWriter interface
- Make requestTimestamp/apiResponseTimestamp required in LogRequest()
- Remove timestamp capture from WriteAPIResponse() (now via setter)
- Fix Gemini handler to set API_RESPONSE_TIMESTAMP before writing response
This ensures accurate TTFB measurement for all streaming API formats
(OpenAI, Gemini, Claude) by capturing timestamp synchronously when
the first response chunk arrives, not when the stream finalizes.
2026-01-29 22:32:24 +08:00
sususu98
c41ce77eea
fix(logging): add API response timestamp and fix request timestamp timing
...
Previously:
- REQUEST INFO timestamp was captured at log write time (not request arrival)
- API RESPONSE had NO timestamp at all
This fix:
- Captures REQUEST INFO timestamp when request first arrives
- Adds API RESPONSE timestamp when upstream response arrives
Changes:
- Add Timestamp field to RequestInfo, set at middleware initialization
- Set API_RESPONSE_TIMESTAMP in appendAPIResponse() and gemini handler
- Pass timestamps through logging chain to writeNonStreamingLog()
- Add timestamp output to API RESPONSE section
This enables accurate measurement of backend response latency in error logs.
2026-01-29 22:22:18 +08:00
Luis Pater
4eb1e6093f
feat(handlers): add test to verify no retries after partial stream response
...
Introduce `TestExecuteStreamWithAuthManager_DoesNotRetryAfterFirstByte` to validate that stream executions do not retry after receiving partial responses. Implement `payloadThenErrorStreamExecutor` for test coverage of this behavior.
v6.7.28
2026-01-29 17:30:48 +08:00
Luis Pater
189a066807
Merge pull request #1296 from router-for-me/log
...
fix(api): update amp module only on config changes
2026-01-29 17:27:52 +08:00
hkfires
d0bada7a43
fix(config): prune oauth-model-alias when preserving config
2026-01-29 14:06:52 +08:00
hkfires
8510fc313e
fix(api): update amp module only on config changes
2026-01-29 09:28:49 +08:00
Luis Pater
9e5b1d24e8
Merge pull request #1276 from router-for-me/thinking
...
feat(thinking): enable thinking toggle for qwen3 and deepseek models
v6.7.27
2026-01-28 11:16:54 +08:00
Luis Pater
a7dae6ad52
Merge remote-tracking branch 'origin/dev' into dev
2026-01-28 10:59:00 +08:00
Luis Pater
e93e05ae25
refactor: consolidate channel send logic with context-safe handlers
...
Optimize channel operations by introducing reusable context-aware send functions (`send` and `sendErr`) across `wsrelay`, `handlers`, and `cliproxy`. Ensure graceful handling of canceled contexts during stream operations.
2026-01-28 10:58:35 +08:00
hkfires
c8c27325dc
feat(thinking): enable thinking toggle for qwen3 and deepseek models
...
Fix #1245
2026-01-28 09:54:05 +08:00
hkfires
c3b6f3918c
chore(git): stop ignoring .idea and data directories
2026-01-28 09:52:44 +08:00
Luis Pater
bbb55a8ab4
Merge pull request #1170 from BianBianY/main
...
feat: optimization enable/disable auth files
2026-01-28 09:34:35 +08:00
Luis Pater
7583193c2a
Merge pull request #1257 from router-for-me/model
...
feat(api): add management model definitions endpoint
v6.7.26
2026-01-27 20:32:04 +08:00
hkfires
7cc3bd4ba0
chore(deps): mark golang.org/x/text as indirect
2026-01-27 19:19:52 +08:00
hkfires
88a0f095e8
chore(registry): disable gemini 2.5 flash image preview model
2026-01-27 18:33:13 +08:00
hkfires
c65f64dce0
chore(registry): comment out rev19-uic3-1p model config
2026-01-27 18:33:13 +08:00
hkfires
d18cd217e1
feat(api): add management model definitions endpoint
2026-01-27 18:33:12 +08:00
Luis Pater
ba4a1ab433
Merge pull request #1261 from Darley-Wey/fix/gemini_scheme
...
fix(gemini): force type to string for enum fields to fix Antigravity Gemini API error
2026-01-27 17:02:25 +08:00
Darley
decddb521e
fix(gemini): force type to string for enum fields to fix Antigravity Gemini API error (Relates to #1260 )
2026-01-27 11:14:08 +03:30
Luis Pater
70897247b2
feat(auth): add support for request_retry and disable_cooling overrides
...
Implement `request_retry` and `disable_cooling` metadata overrides for authentication management. Update retry and cooling logic accordingly across `Manager`, Antigravity executor, and file synthesizer. Add tests to validate new behaviors.
v6.7.25
2026-01-26 21:59:08 +08:00
Luis Pater
9c341f5aa5
feat(auth): add skip persistence context key for file watcher events
...
Introduce `WithSkipPersist` to disable persistence during Manager Update/Register calls, preventing write-back loops caused by redundant file writes. Add corresponding tests and integrate with existing file store and conductor logic.
2026-01-26 18:20:19 +08:00
Luis Pater
2af4a8dc12
refactor(runtime): implement retry logic for Antigravity executor with improved error handling and capacity management
v6.7.24
2026-01-26 06:22:46 +08:00
Luis Pater
0f53b952b2
Merge pull request #1225 from router-for-me/log
...
Add request_id to error logs and extract error messages
v6.7.23
2026-01-25 22:08:46 +08:00
hkfires
f30ffd5f5e
feat(executor): add request_id to error logs
...
Extract error.message from JSON error responses when summarizing error bodies for debug logs
2026-01-25 21:31:46 +08:00
Luis Pater
bc9a24d705
docs(readme): reposition CPA-XXX Panel section for improved visibility
2026-01-25 18:58:32 +08:00
Luis Pater
2c879f13ef
Merge pull request #1216 from ferretgeek/add-cpa-xxx-panel
...
docs: 新增 CPA-XXX 社区面板项目
2026-01-25 18:57:32 +08:00
Gemini
07b4a08979
docs: translate CPA-XXX description to English
2026-01-25 18:00:28 +08:00
Gemini
7f612bb069
docs: add CPA-XXX panel to community list
...
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-01-25 10:45:51 +08:00
hkfires
5743b78694
test(claude): update expectations for system message handling
2026-01-25 08:31:29 +08:00
Luis Pater
2e6a2b655c
Merge pull request #1132 from XYenon/fix/gemini-models-displayname-override
...
fix(gemini): preserve displayName and description in models list
v6.7.22
2026-01-25 03:40:04 +08:00
Luis Pater
cb47ac21bf
Merge pull request #1179 from mallendeo/main
...
fix(claude): skip built-in tools in OAuth tool prefix
2026-01-25 03:31:58 +08:00
Luis Pater
a1394b4596
Merge pull request #1183 from Darley-Wey/fix/api-align
...
fix(api): enhance ClaudeModels response to align with api.anthropic.com
2026-01-25 03:30:14 +08:00
Luis Pater
9e97948f03
Merge pull request #1185 from router-for-me/auth
...
Refactor authentication handling for Antigravity, Claude, Codex, and Gemini
2026-01-25 03:28:53 +08:00
Yang Bian
f7bfa8a05c
Merge branch 'upstream-main'
2026-01-24 16:28:08 +08:00
Darley
46c6fb1e7a
fix(api): enhance ClaudeModels response to align with api.anthropic.com
2026-01-24 04:41:08 +03:30
hkfires
9f9fec5d4c
fix(auth): improve antigravity token exchange errors
2026-01-24 09:04:15 +08:00
hkfires
e95be10485
fix(auth): validate antigravity token userinfo email
2026-01-24 08:33:52 +08:00
hkfires
f3d58fa0ce
fix(auth): correct antigravity oauth redirect and expiry
2026-01-24 08:33:52 +08:00
hkfires
8c0eaa1f71
refactor(auth): export Gemini constants and use in handler
2026-01-24 08:33:52 +08:00
hkfires
405df58f72
refactor(auth): export Codex constants and slim down handler
2026-01-24 08:33:52 +08:00
hkfires
e7f13aa008
refactor(api): slim down RequestAnthropicToken to use internal/auth
2026-01-24 08:33:51 +08:00
hkfires
7cb6a9b89a
refactor(auth): export Claude OAuth constants for reuse
2026-01-24 08:33:51 +08:00
hkfires
9aa5344c29
refactor(api): slim down RequestAntigravityToken to use internal/auth
2026-01-24 08:33:51 +08:00
hkfires
8ba0ebbd2a
refactor(sdk): slim down Antigravity authenticator to use internal/auth
2026-01-24 08:33:51 +08:00
hkfires
c65407ab9f
refactor(auth): extract Antigravity OAuth constants to internal/auth
2026-01-24 08:33:51 +08:00
hkfires
9e59685212
refactor(auth): implement Antigravity AuthService in internal/auth
2026-01-24 08:33:51 +08:00
hkfires
4a4dfaa910
refactor(auth): replace sanitizeAntigravityFileName with antigravity.CredentialFileName
2026-01-24 08:33:51 +08:00
Luis Pater
0d6ecb0191
Fixed : #1077
...
refactor(translator): improve tools handling by separating functionDeclarations and googleSearch nodes
v6.7.21
2026-01-24 05:51:11 +08:00
Mauricio Allende
f16461bfe7
fix(claude): skip built-in tools in OAuth tool prefix
2026-01-23 21:29:39 +00:00
Luis Pater
c32e2a8196
fix(auth): handle context cancellation in executor methods
v6.7.20
2026-01-24 04:56:55 +08:00