Commit Graph

1391 Commits

Author SHA1 Message Date
Ben Vargas e785bfcd12 Use unprefixed Claude request for translation
Keep the upstream payload prefixed for OAuth while passing the unprefixed request body into response translators. This avoids proxy_ leaking into OpenAI Responses echoed tool metadata while preserving the Claude OAuth workaround.
2026-01-09 00:54:35 -07:00
hemanta212 47dacce6ea fix(server): resolve memory leaks causing OOM in k8s deployment
- usage/logger_plugin: cap modelStats.Details at 1000 entries per model
- cache/signature_cache: add background cleanup for expired sessions (10 min)
- management/handler: add background cleanup for stale IP rate-limit entries (1 hr)
- executor/cache_helpers: add mutex protection and TTL cleanup for codexCacheMap (15 min)
- executor/codex_executor: use thread-safe cache accessors

Add reproduction tests demonstrating leak behavior before/after fixes.

Amp-Thread-ID: https://ampcode.com/threads/T-019ba0fc-1d7b-7338-8e1d-ca0520412777
Co-authored-by: Amp <amp@ampcode.com>
2026-01-09 13:33:46 +05:45
Ben Vargas dcac3407ab Fix Claude OAuth tool name mapping
Prefix tool names with proxy_ for Claude OAuth requests and strip the prefix from streaming and non-streaming responses to restore client-facing names.

Updates the Claude executor to:
- add prefixing for tools, tool_choice, and tool_use messages when using OAuth tokens
- strip the prefix from tool_use events in SSE and non-streaming payloads
- add focused unit tests for prefix/strip helpers
2026-01-09 00:10:38 -07:00
hkfires 7004295e1d build(docker): move stats export execution after image build 2026-01-09 11:24:00 +08:00
hkfires ee62ef4745 refactor(logging): clean up oauth logs and debugs 2026-01-09 11:20:55 +08:00
Luis Pater ef6bafbf7e fix(executor): handle context cancellation and deadline errors explicitly 2026-01-09 10:48:29 +08:00
Luis Pater ed28b71e87 refactor(amp): remove duplicate comments in response rewriter 2026-01-09 08:21:13 +08:00
Luis Pater d47b7dc79a refactor(response): enhance parameter handling for Codex to Claude conversion
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
v6.6.93
2026-01-09 05:20:19 +08:00
Luis Pater 49b9709ce5 Merge pull request #787 from sususu98/fix/antigravity-429-retry-delay-parsing
fix(antigravity): parse retry-after delay from 429 response body
2026-01-09 04:45:25 +08:00
Luis Pater a2eba2cdf5 Merge pull request #763 from mvelbaum/feature/improve-oauth-use-logging
feat(logging): disambiguate OAuth credential selection in debug logs
2026-01-09 04:43:21 +08:00
Luis Pater 3d01b3cfe8 Merge pull request #553 from XInTheDark/fix/builtin-tools-web-search
fix(translator): preserve built-in tools (web_search) to Responses API
2026-01-09 04:40:13 +08:00
Luis Pater af2efa6f7e Merge pull request #605 from soilSpoon/feature/amp-compat
feature: Improves Amp client compatibility
2026-01-09 04:28:17 +08:00
Luis Pater d73b61d367 Merge pull request #901 from uzhao/vscode-plugin
Vscode plugin
2026-01-08 22:22:27 +08:00
Luis Pater 59a448b645 feat(executor): centralize systemInstruction handling for Claude and Gemini-3-Pro models
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
v6.6.92
2026-01-08 21:05:33 +08:00
Chén Mù 4adb9eed77 Merge pull request #921 from router-for-me/atgy
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
fix(executor): update gemini model identifier to gemini-3-pro-preview
v6.6.91
2026-01-08 19:20:32 +08:00
hkfires b6a0f7a07f fix(executor): update gemini model identifier to gemini-3-pro-preview
Update the model name check in `buildRequest` to target "gemini-3-pro-preview" instead of "gemini-3-pro" when applying specific system instruction handling.
2026-01-08 19:14:52 +08:00
Luis Pater 1b2f907671 feat(executor): update system instruction handling for Claude and Gemini-3-Pro models
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
v6.6.90
2026-01-08 12:42:26 +08:00
Luis Pater bda04eed8a feat(executor): add model-specific support for "gemini-3-pro" in execution and payload handling 2026-01-08 12:27:03 +08:00
Luis Pater 67985d8226 feat(executor): enhance Antigravity payload with user role and dynamic system instructions
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
v6.6.89
2026-01-08 10:55:25 +08:00
Jianyang Zhao cbcb061812 Update README_CN.md
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-07 20:07:01 -05:00
Jianyang Zhao 9fc2e1b3c8 Update README.md
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-07 20:06:55 -05:00
Jianyang Zhao 3b484aea9e Add Claude Proxy VSCode to README_CN.md
Added information about Claude Proxy VSCode extension.
2026-01-07 20:03:07 -05:00
Jianyang Zhao 963a0950fa Add Claude Proxy VSCode extension to README
Added Claude Proxy VSCode extension to the README.
2026-01-07 20:02:50 -05:00
Luis Pater f4ba1ab910 fix(executor): remove unused tokenRefreshTimeout constant and pass zero timeout to HTTP client
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
v6.6.88
2026-01-07 18:16:49 +08:00
Luis Pater 2662f91082 feat(management): add PostOAuthCallback handler to token requester interface
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
v6.6.87
2026-01-07 10:47:32 +08:00
Luis Pater c1db2c7d7c Merge pull request #888 from router-for-me/api-call-TOKEN-fix
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
fix(management): refresh antigravity token for api-call $TOKEN$
v6.6.86
2026-01-07 01:19:24 +08:00
LTbinglingfeng 5e5d8142f9 fix(auth): error when antigravity refresh token missing during refresh 2026-01-07 01:09:50 +08:00
LTbinglingfeng b01619b441 fix(management): refresh antigravity token for api-call $TOKEN$ 2026-01-07 00:14:02 +08:00
Luis Pater f861bd6a94 docs: add 9Router to community projects in README
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
v6.6.85
2026-01-06 23:15:28 +08:00
Luis Pater 6dbfdd140d Merge pull request #871 from decolua/patch-1
Update README.md
2026-01-06 22:58:53 +08:00
decolua 386ccffed4 Update README.md
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-05 20:54:33 +07:00
decolua ffddd1c90a Update README.md 2026-01-05 20:29:26 +07:00
Luis Pater 8f8dfd081b Merge pull request #850 from can1357/main
feat(translator): add developer role support for Gemini translators
2026-01-05 11:27:24 +08:00
Luis Pater 9f1b445c7c docs: add ProxyPilot to community projects in Chinese README 2026-01-05 11:23:48 +08:00
Luis Pater ae933dfe14 Merge pull request #858 from Finesssee/add-proxypilot
docs: add ProxyPilot to community projects
2026-01-05 11:20:52 +08:00
Luis Pater e124db723b Merge pull request #862 from router-for-me/gemini
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
fix(gemini): abort default injection on existing thinking keys
v6.6.84
2026-01-05 10:41:07 +08:00
hkfires 05444cf32d fix(gemini): abort default injection on existing thinking keys 2026-01-05 10:24:30 +08:00
Luis Pater 8edbda57cf feat(translator): add thoughtSignature to node parts for Gemini and Antigravity requests
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
Enhanced node structure by including `thoughtSignature` for inline data parts in Gemini OpenAI, Gemini CLI, and Antigravity request handlers to improve traceability of thought processes.
v6.6.83
2026-01-05 09:25:17 +08:00
Finessse 821249a5ed docs: add ProxyPilot to community projects 2026-01-04 18:19:41 +07:00
Luis Pater ee33863b47 Merge pull request #857 from router-for-me/management-update
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
Management update
v6.6.82
2026-01-04 18:07:13 +08:00
Supra4E8C cd22c849e2 feat(management): 更新OAuth模型映射的清理逻辑以增强数据安全性 2026-01-04 17:57:34 +08:00
Supra4E8C f0e73efda2 feat(management): add vertex api key and oauth model mappings endpoints 2026-01-04 17:32:00 +08:00
Supra4E8C 3156109c71 feat(management): 支持管理接口调整日志大小/强制前缀/路由策略 2026-01-04 12:21:49 +08:00
can1357 6762e081f3 feat(translator): add developer role support for Gemini translators
Treat OpenAI's "developer" role the same as "system" role in request
translation for gemini, gemini-cli, and antigravity backends.
2026-01-03 21:01:01 +01:00
Luis Pater 7815ee338d fix(translator): adjust message_delta emission boundary in Claude-to-OpenAI conversion
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
Fixed incorrect boundary logic for `message_delta` emission, ensuring proper handling of usage updates and `emitMessageStopIfNeeded` within the response loop.
v6.6.81
2026-01-04 01:36:51 +08:00
Luis Pater 44b6c872e2 feat(config): add support for Fork in OAuth model mappings with alias handling
Implemented `Fork` flag in `ModelNameMapping` to allow aliases as additional models while preserving the original model ID. Updated the `applyOAuthModelMappings` logic, added tests for `Fork` behavior, and updated documentation and examples accordingly.
2026-01-04 01:18:29 +08:00
Luis Pater 7a77b23f2d feat(executor): add token refresh timeout and improve context handling during refresh
Introduced `tokenRefreshTimeout` constant for token refresh operations and enhanced context propagation for `refreshToken` by embedding roundtrip information if available. Adjusted `refreshAuth` to ensure default context initialization and handle cancellation errors appropriately.
2026-01-04 00:26:08 +08:00
Luis Pater 672e8549c0 docs: reorganize README to adjust CodMate placement
Moved CodMate entry under ProxyPal in both English and Chinese README files for consistency in structure and better readability.
2026-01-03 21:31:53 +08:00
Luis Pater 66f5269a23 Merge pull request #837 from loocor/main
docs: add CodMate to community projects
2026-01-03 21:30:15 +08:00
Luis Pater ebec293497 feat(api): integrate TokenStore for improved auth entry management
docker-image / docker (push) Has been cancelled
goreleaser / goreleaser (push) Has been cancelled
Replaced file-based auth entry counting with `TokenStore`-backed implementation, enhancing flexibility and context-aware token management. Updated related logic to reflect this change.
v6.6.80
2026-01-03 04:53:47 +08:00