Luis Pater
c32e2a8196
fix(auth): handle context cancellation in executor methods
2026-01-24 04:56:55 +08:00
Luis Pater and GitHub
873d41582f
Merge pull request #1125 from NightHammer1000/dev
...
Filter out Top_P when Temp is set on Claude
2026-01-24 02:03:33 +08:00
Luis Pater and GitHub
6fb7d85558
Merge pull request #1137 from augustVino/fix/remove_empty_systemmsg
...
fix(translator): ensure system message is only added if it contains c…
2026-01-24 02:02:18 +08:00
Luis Pater and GitHub
15ae83a15b
Merge pull request #1169 from router-for-me/payload
...
feat(executor): apply payload rules using requested model
2026-01-23 18:41:31 +08:00
Luis Pater
d9c6317c84
refactor(cache, translator): refine signature caching logic and tests, replace session-based logic with model group handling
2026-01-21 18:30:05 +08:00
Luis Pater
ef4508dbc8
refactor(cache, translator): remove session ID from signature caching and clean up logic
2026-01-21 13:37:10 +08:00
Luis Pater
f775e46fe2
refactor(translator): remove session ID logic from signature caching and associated tests
2026-01-21 12:45:07 +08:00
Luis Pater
65ad5c0c9d
refactor(cache): simplify signature caching by removing sessionID parameter
2026-01-21 12:38:05 +08:00
Luis Pater
88bf4e77ec
fix(translator): update HasValidSignature to require modelName parameter for improved validation
2026-01-21 11:31:37 +08:00
Luis Pater
a4f8015caa
test(logging): add unit tests for GinLogrusRecovery middleware panic handling
2026-01-21 10:57:27 +08:00
Luis Pater and GitHub
ffd129909e
Merge pull request #1130 from router-for-me/agty
...
fix(executor): only strip maxOutputTokens for non-claude models
2026-01-21 10:50:39 +08:00
Luis Pater
2ce3553612
feat(cache): handle gemini family in signature cache with fallback validator logic
2026-01-21 10:11:21 +08:00
Luis Pater
2e14f787d4
feat(translator): enhance ConvertGeminiRequestToAntigravity with model name and refine reasoning block handling
2026-01-21 08:31:23 +08:00
Luis Pater
523b41ccd2
test(responses): add comprehensive tests for SSE event ordering and response transformations
2026-01-21 07:08:59 +08:00
Luis Pater and GitHub
c6fa1d0e67
Merge pull request #1117 from router-for-me/cache
...
fix(translator): enhance signature cache clearing logic and update test cases with model name
2026-01-20 23:18:48 +08:00
Luis Pater and GitHub
ac56e1e88b
Merge pull request #1116 from bexcodex/fix/antigravity
...
Fix antigravity malformed_function_call
2026-01-20 22:40:00 +08:00
Luis Pater
e49a1c07bf
chore(translator): update cache functions to include model name parameter in tests
2026-01-20 18:36:51 +08:00
Luis Pater
8d9f4edf9b
feat(translator): unify model group references by introducing GetModelGroup helper function
2026-01-20 13:45:25 +08:00
Luis Pater
020e61d0da
feat(translator): improve signature handling by associating with model name in cache functions
2026-01-20 13:31:36 +08:00
Luis Pater
6184c43319
Fixed : #1109
...
feat(translator): enhance session ID derivation with user_id parsing in Claude
2026-01-20 12:35:40 +08:00
Luis Pater
2cbe4a790c
chore(translator): remove unnecessary whitespace in gemini_openai_response code
2026-01-20 11:47:33 +08:00
Luis Pater
68b3565d7b
Merge branch 'main' into dev (PR #961 )
2026-01-20 11:42:22 +08:00
Luis Pater
3f385a8572
feat(auth): add "antigravity" provider to ignored access_token fields in filestore
2026-01-20 11:38:31 +08:00
Luis Pater
9823dc35e1
feat(auth): hash account ID for improved uniqueness in credential filenames
2026-01-20 11:37:52 +08:00
Luis Pater
059bfee91b
feat(auth): add hashed account ID to credential filenames for team plans
2026-01-20 11:36:29 +08:00
Luis Pater
7beaf0eaa2
Merge pull request #869
2026-01-20 11:16:53 +08:00
Luis Pater and GitHub
1fef90ff58
Merge pull request #877 from zhiqing0205/main
...
feat(codex): include plan type in auth filename
2026-01-20 11:11:25 +08:00
Luis Pater
8447fd27a0
fix(login): remove emojis from interactive prompt messages
2026-01-20 11:09:56 +08:00
Luis Pater
7831cba9f6
refactor(claude): remove redundant system instructions check in Claude executor
2026-01-20 11:02:52 +08:00
Luis Pater
e02b2d58d5
Merge pull request #868
2026-01-20 10:57:24 +08:00
Luis Pater and GitHub
28726632a9
Merge pull request #861 from umairimtiaz9/fix/gemini-cli-backend-project-id
...
fix(auth): use backend project ID for free tier Gemini CLI OAuth users
2026-01-20 10:32:17 +08:00
Luis Pater and GitHub
3b26129c82
Merge pull request #1108 from router-for-me/modelinfo
...
feat(registry): support provider-specific model info lookup
2026-01-20 10:18:42 +08:00
Luis Pater
d4bb4e6624
refactor(antigravity): remove unused client signature handling in thinking objects
2026-01-20 10:17:55 +08:00
Luis Pater and GitHub
0766c49f93
Merge pull request #994 from adrenjc/fix/cross-model-thinking-signature
...
fix(antigravity): prevent corrupted thought signature when switching models
2026-01-20 10:14:05 +08:00
Luis Pater and GitHub
a7ffc77e3d
Merge branch 'dev' into fix/cross-model-thinking-signature
2026-01-20 10:10:43 +08:00
Luis Pater and GitHub
5717c7f2f4
Merge pull request #1103 from dinhkarate/feat/imagen
...
feat(vertex): add Imagen image generation model support
2026-01-20 07:11:18 +08:00
Luis Pater and GitHub
5baa753539
Merge pull request #1099 from router-for-me/claude
...
refactor(claude): move max_tokens constraint enforcement to Apply method
2026-01-19 20:55:59 +08:00
Luis Pater and GitHub
ead98e4bca
Merge pull request #1101 from router-for-me/argy
...
fix(executor): stop rewriting thinkingLevel for gemini
2026-01-19 20:55:22 +08:00
Luis Pater and GitHub
2542c2920d
Merge pull request #1096 from router-for-me/usage
...
feat(translator): report cached token usage in Claude output
2026-01-19 11:52:18 +08:00
Luis Pater
140d6211cc
feat(translator): add reasoning state tracking and improve reasoning summary handling
...
- Introduced `oaiToResponsesStateReasoning` to track reasoning data.
- Enhanced logic for emitting reasoning summary events and managing state transitions.
- Updated output generation to handle multiple reasoning entries consistently.
2026-01-19 03:58:28 +08:00
Luis Pater and GitHub
60f9a1442c
Merge pull request #1088 from router-for-me/thinking
...
Thinking
2026-01-18 17:01:59 +08:00
Luis Pater and GitHub
99c7abbbf1
Merge pull request #1067 from router-for-me/auth-files
...
refactor(auth): simplify filename prefixes for qwen and iflow tokens
2026-01-18 13:41:59 +08:00
Luis Pater and GitHub
8f511ac33c
Merge pull request #1076 from sususu98/fix/antigravity-enum-string
...
fix(antigravity): convert non-string enum values to strings for Gemini API
2026-01-18 13:40:53 +08:00
Luis Pater and GitHub
1046152119
Merge pull request #1068 from 0xtbug/dev
...
docs(readme): add ZeroLimit to projects based on CLIProxyAPI
2026-01-18 13:37:50 +08:00
Luis Pater and GitHub
f88228f1c5
Merge pull request #1081 from router-for-me/thinking
...
Refine thinking validation and cross‑provider payload conversion
2026-01-18 13:34:28 +08:00
Luis Pater
62e2b672d9
refactor(logging): centralize log directory resolution logic
...
- Introduced `ResolveLogDirectory` function in `logging` package to standardize log directory determination across components.
- Replaced redundant logic in `server`, `global_logger`, and `handlers` with the new utility function.
2026-01-18 12:40:57 +08:00
Luis Pater
46433a25f8
fix(translator): add check for empty text to prevent invalid serialization in gemini and antigravity
2026-01-18 00:50:10 +08:00
Luis Pater
f8f3ad84fc
Fixed : #1064
...
feat(translator): improve system message handling and content indexing across translators
- Updated logic for processing system messages in `claude`, `gemini`, `gemini-cli`, and `antigravity` translators.
- Introduced indexing for `systemInstruction.parts` to ensure proper ordering and handling of multi-part content.
- Added safeguards for accurate content transformation and serialization.
2026-01-17 05:40:56 +08:00
Luis Pater
bc7167e9fe
feat(runtime): add model alias support and enhance payload rule matching
...
- Introduced `payloadModelAliases` and `payloadModelCandidates` functions to support model aliases for improved flexibility.
- Updated rule matching logic to handle multiple model candidates.
- Refactored variable naming in executor to improve code clarity and consistency.
2026-01-17 05:05:24 +08:00
Luis Pater
384578a88c
feat(cliproxy, gemini): improve ID matching logic and enrich normalized model output
...
- Enhanced ID matching in `cliproxy` by adding additional conditions to better handle ID equality cases.
- Updated `gemini` handlers to include `displayName` and `description` in normalized models for enriched metadata.
2026-01-17 04:44:09 +08:00
Luis Pater
65b4e1ec6c
feat(codex): enable instruction toggling and update role terminology
...
- Added conditional logic for Codex instruction injection based on configuration.
- Updated role terminology from "user" to "developer" for better alignment with context.
2026-01-17 04:12:29 +08:00
Luis Pater
6600d58ba2
feat(codex): enhance input transformation and remove unused safety_identifier field
...
- Added logic to transform `inputResults` into structured JSON for improved processing.
- Removed redundant `safety_identifier` field in executor payload to streamline requests.
2026-01-16 19:59:01 +08:00
Luis Pater
aa0b63e214
refactor(config): clarify Codex instruction toggle documentation
2026-01-16 12:50:09 +08:00
Luis Pater
ea3d22831e
refactor(codex): update terminology to "official instructions" for clarity
2026-01-16 12:44:57 +08:00
Luis Pater and GitHub
3b4d6d359b
Merge pull request #1049 from router-for-me/codex
...
feat(codex): add config toggle for codex instructions injection
2026-01-16 12:38:35 +08:00
Luis Pater
cec4e251bd
feat(translator): preserve text field in serialized output during chat completions processing
2026-01-16 11:35:34 +08:00
Luis Pater
526dd866ba
refactor(gemini): replace static model handling with dynamic model registry lookup
2026-01-16 10:39:16 +08:00
Luis Pater
b31ddc7bf1
Merge branch 'dev'
2026-01-16 08:21:59 +08:00
Luis Pater
f571b1deb0
feat(config): add support for raw JSON payload rules
...
- Introduced `default-raw` and `override-raw` rules to handle raw JSON values.
- Enhanced `PayloadConfig` to validate and sanitize raw JSON payload rules.
- Updated executor logic to apply `default-raw` and `override-raw` rules.
- Extended example YAML to include usage of raw JSON rules.
2026-01-16 08:15:28 +08:00
Luis Pater and GitHub
67f8732683
Merge pull request #1033 from router-for-me/reasoning
...
Refactor thinking
2026-01-15 20:33:13 +08:00
Luis Pater
7248f65c36
feat(auth): prevent filestore writes on unchanged metadata
...
- Added `metadataEqualIgnoringTimestamps` to compare metadata while ignoring volatile fields.
- Prevented redundant writes caused by changes in timestamp-related fields.
- Improved efficiency in filestore operations by skipping unnecessary updates.
2026-01-15 14:05:23 +08:00
Luis Pater
086eb3df7a
refactor(auth): simplify file handling logic and remove redundant comparison functions
...
feat(auth): fetch and update Antigravity project ID from metadata during filestore operations
- Added support to retrieve and update `project_id` using the access token if missing in metadata.
- Integrated HTTP client to fetch project ID dynamically.
- Enhanced metadata persistence logic.
2026-01-15 13:29:14 +08:00
Luis Pater
5a7e5bd870
feat(auth): add Antigravity onboarding with tier selection
...
- Updated `ideType` to `ANTIGRAVITY` in request payload.
- Introduced tier-selection logic to determine default tier for onboarding.
- Added `antigravityOnboardUser` function for project ID retrieval via polling.
- Enhanced error handling and response decoding for onboarding flow.
2026-01-15 11:43:02 +08:00
Luis Pater
6f8a8f8136
feat(selector): add priority support for auth selection
2026-01-15 07:08:24 +08:00
Luis Pater
b163f8ed9e
Fixed : #1004
...
feat(translator): add function name to response output item serialization
- Included `item.name` in the serialized response output to enhance output item handling.
2026-01-15 03:27:00 +08:00
Luis Pater
a1da6ff5ac
Fixed : #499 #985
...
feat(oauth): add support for customizable OAuth callback ports
- Introduced `oauth-callback-port` flag to override default callback ports.
- Updated SDK and login flows for `iflow`, `gemini`, `antigravity`, `codex`, `claude`, and `openai` to respect configurable callback ports.
- Refactored internal OAuth servers to dynamically assign ports based on the provided options.
- Revised tests and documentation to reflect the new flag and behavior.
2026-01-14 04:29:15 +08:00
Luis Pater
43652d044c
refactor(config): replace nonstream-keepalive with nonstream-keepalive-interval
...
- Updated `SDKConfig` to use `nonstream-keepalive-interval` (seconds) instead of the boolean `nonstream-keepalive`.
- Refactored handlers and logic to incorporate the new interval-based configuration.
- Updated config diff, tests, and example YAML to reflect the changes.
2026-01-13 03:14:38 +08:00
Luis Pater
b1b379ea18
feat(api): add non-streaming keep-alive support for idle timeout prevention
...
- Introduced `StartNonStreamingKeepAlive` to emit periodic blank lines during non-streaming responses.
- Added `nonstream-keepalive` configuration option in `SDKConfig`.
- Updated handlers to utilize `StartNonStreamingKeepAlive` and ensure proper cleanup.
- Extended config diff and tests to include `nonstream-keepalive` changes.
2026-01-13 02:36:07 +08:00
Luis Pater
94e979865e
Fixed : #897
...
refactor(executor): remove `prompt_cache_retention` from request payloads
2026-01-12 10:46:47 +08:00
Luis Pater
6c324f2c8b
Fixed : #936
...
feat(cliproxy): support multiple aliases for OAuth model mappings
- Updated mapping logic to allow multiple aliases per upstream model name.
- Adjusted `SanitizeOAuthModelMappings` to ensure aliases remain unique within channels.
- Added test cases to validate multi-alias scenarios.
- Updated example config to clarify multi-alias support.
2026-01-12 10:40:34 +08:00
Luis Pater
543dfd67e0
refactor(cache): remove max entries logic and extend signature TTL to 3 hours
2026-01-12 00:20:44 +08:00
Luis Pater and GitHub
28bd1323a2
Merge pull request #971 from router-for-me/codex
...
feat(codex): add OpenCode instructions based on user agent
2026-01-11 16:01:13 +08:00
Luis Pater
8cfe26f10c
Merge branch 'sdk' into dev
2026-01-10 16:26:23 +08:00
Luis Pater and GitHub
80db2dc254
Merge pull request #955 from router-for-me/api
...
feat(codex): add subscription date fields to ID token claims
2026-01-10 16:26:07 +08:00
Luis Pater
e8e3bc8616
feat(executor): add HttpRequest support across executors for better http request handling
2026-01-10 16:25:25 +08:00
Luis Pater
bc3195c8d8
refactor(logger): remove unnecessary request details limit logic
2026-01-10 14:46:59 +08:00
Luis Pater
4d7f389b69
Fixed : #941
...
fix(translator): ensure fallback to valid originalRequestRawJSON in response handling
2026-01-10 01:01:09 +08:00
Luis Pater and GitHub
95f87d5669
Merge pull request #947 from pykancha/fix-memory-leak
...
Resolve memory leaks causing OOM in k8s deployment
2026-01-10 00:40:47 +08:00
Luis Pater and GitHub
c83365a349
Merge pull request #938 from router-for-me/log
...
refactor(logging): clean up oauth logs and debugs
2026-01-10 00:02:45 +08:00
Luis Pater and GitHub
6b3604cf2b
Merge pull request #943 from ben-vargas/fix-tool-mappings
...
Fix Claude OAuth tool name mapping (proxy_)
2026-01-09 23:52:29 +08:00
Luis Pater
af6bdca14f
Fixed : #942
...
fix(executor): ignore non-SSE lines in OpenAI-compatible streams
2026-01-09 23:41:50 +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
2026-01-09 05:20:19 +08:00
Luis Pater and GitHub
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 and GitHub
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 and GitHub
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 and GitHub
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 and GitHub
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
2026-01-08 21:05:33 +08:00
Luis Pater
1b2f907671
feat(executor): update system instruction handling for Claude and Gemini-3-Pro models
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
2026-01-08 10:55:25 +08:00
Luis Pater
f4ba1ab910
fix(executor): remove unused tokenRefreshTimeout constant and pass zero timeout to HTTP client
2026-01-07 18:16:49 +08:00
Luis Pater
2662f91082
feat(management): add PostOAuthCallback handler to token requester interface
2026-01-07 10:47:32 +08:00
Luis Pater and GitHub
c1db2c7d7c
Merge pull request #888 from router-for-me/api-call-TOKEN-fix
...
fix(management): refresh antigravity token for api-call $TOKEN$
2026-01-07 01:19:24 +08:00
Luis Pater
f861bd6a94
docs: add 9Router to community projects in README
2026-01-06 23:15:28 +08:00
Luis Pater and GitHub
6dbfdd140d
Merge pull request #871 from decolua/patch-1
...
Update README.md
2026-01-06 22:58:53 +08:00
Luis Pater and GitHub
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