hkfires
96340bf136
refactor(executor): resolve upstream model at conductor level before execution
2025-12-30 19:31:54 +08:00
hkfires
b055e00c1a
fix(executor): use upstream model for thinking config and payload translation
2025-12-30 17:49:44 +08:00
sususu
414db44c00
fix(antigravity): parse retry-after delay from 429 response body
...
When receiving HTTP 429 (Too Many Requests) responses, parse the retry
delay from the response body using parseRetryDelay and populate the
statusErr.retryAfter field. This allows upstream callers to respect
the server's requested retry timing.
Applied to all error paths in Execute, executeClaudeNonStream,
ExecuteStream, CountTokens, and refreshToken functions.
2025-12-30 16:07:32 +08:00
hkfires
ce7474d953
feat(cliproxy): propagate thinking support metadata to aliased models
2025-12-30 15:16:54 +08:00
hkfires
70fdd70b84
refactor(cliproxy): extract generic buildConfigModels function for model info generation
2025-12-30 13:35:22 +08:00
hkfires
08ab6a7d77
feat(gemini): add per-key model alias support for Gemini provider
2025-12-30 13:27:57 +08:00
hkfires
d443c86620
refactor(config): rename model mapping fields from from/to to name/alias
2025-12-30 11:07:59 +08:00
hkfires
7be3f1c36c
refactor(config): rename model-name-mappings to oauth-model-mappings
2025-12-30 11:07:58 +08:00
Luis Pater
f6ab6d97b9
fix(logging): add isDirWritable utility to enhance log dir validation in ConfigureLogOutput
2025-12-30 10:48:25 +08:00
Luis Pater
bc866bac49
fix(logging): refactor ConfigureLogOutput to accept config object and adjust log directory handling
2025-12-30 10:28:25 +08:00
Luis Pater
50e6d845f4
feat(cliproxy): introduce global model name mappings for improved aliasing and routing
2025-12-30 08:13:06 +08:00
Luis Pater
a8cb01819d
Merge pull request #772 from soffchen/main
...
fix: Implement fallback log directory for file logging on read-only system
2025-12-30 02:24:49 +08:00
Supra4E8C
06ddf575d9
fix(antigravity): inject required placeholder when properties exist without required
2025-12-29 23:55:59 +08:00
hkfires
3099114cbb
refactor(api): simplify codex id token claims extraction
2025-12-29 19:48:02 +08:00
Soff
44b63f0767
fix: Return an error if the user home directory cannot be determined for the fallback log path.
2025-12-29 18:46:15 +08:00
Soff Chen
6705d20194
fix: Implement fallback log directory for file logging on read-only systems.
2025-12-29 18:35:48 +08:00
hkfires
8286caa366
feat(api): add id token claims extraction for codex auth entries
2025-12-29 16:34:16 +08:00
hkfires
225e2c6797
feat(amp): add per-client upstream API key mapping support
2025-12-29 12:26:25 +08:00
Luis Pater
d8fc485513
fix(translators): correct key path for system_instruction.parts in Claude request logic
2025-12-29 11:54:26 +08:00
Luis Pater
ee171bc563
feat(api): add ManagementTokenRequester interface for management token request endpoints
2025-12-29 02:42:29 +08:00
Luis Pater
457924828a
Merge pull request #757 from ben-vargas/fix-thinking-toolchoice-conflict
...
Fix: disable thinking when tool_choice forces tool use
2025-12-28 14:04:30 +08:00
Ben Vargas
aca2ef6359
Fix: disable thinking when tool_choice forces tool use
...
Anthropic API does not allow extended thinking when tool_choice is set
to "any" or a specific tool. This was causing 400 errors when using
features like Amp's /handoff command which forces tool_choice.
Added disableThinkingIfToolChoiceForced() that removes thinking config
when incompatible tool_choice is detected, applied to both streaming
and non-streaming paths.
Fixes router-for-me/CLIProxyAPI#630
2025-12-27 16:31:37 -07:00
Luis Pater
ade7194792
feat(management): add generic API call handler to management endpoints
2025-12-28 04:40:32 +08:00
Luis Pater
3a436e116a
feat(cliproxy): implement model aliasing and hashing for Codex configurations, enhance request routing logic, and normalize Codex model entries
2025-12-28 03:06:51 +08:00
leaph
6403ff4ec4
feat(iflow): add model-specific thinking configs for GLM-4.7 and MiniMax-M2.1
...
- GLM-4.7: Uses extra_body={"thinking": {"type": "enabled"}, "clear_thinking": false}
- MiniMax-M2.1: Uses reasoning_split=true for OpenAI-style reasoning separation
- Added preserveReasoningContentInMessages() to support re-injection of reasoning
content in assistant message history for multi-turn conversations
- Added ThinkingSupport to MiniMax-M2.1 model definition
2025-12-27 18:39:15 +01:00
Luis Pater
7646a2b877
Fixed : #749
...
fix(translators): ensure `gjson.String` content is non-empty before setting `parts` in OpenAI request logic
2025-12-28 00:54:26 +08:00
Luis Pater
62090f2568
Merge pull request #750 from router-for-me/config
...
fix(config): preserve original config structure and avoid default value pollution
2025-12-27 22:10:01 +08:00
Luis Pater
c281f4cbaf
Fixed : #747
...
fix(translators): rename and integrate `usageMetadata` as `cpaUsageMetadata` in Claude processing logic
2025-12-27 22:02:11 +08:00
hkfires
09455f9e85
fix(config): make streaming keepalive and retries ints
2025-12-27 20:56:47 +08:00
hkfires
c8e72ba0dc
fix(config): smart merge writes non-default new keys only
2025-12-27 20:28:54 +08:00
hkfires
375ef252ab
docs(config): clarify merge mapping behavior
2025-12-27 19:30:21 +08:00
hkfires
2e88c4858e
fix(config): avoid adding new keys when merging
2025-12-27 19:00:47 +08:00
Luis Pater
72274099aa
Fixed : #738
...
fix(translators): refine prompt token calculation by incorporating cached tokens in Claude response handling
2025-12-27 03:56:11 +08:00
Luis Pater
dcae098e23
Fixed : #736
...
fix(translators): handle gjson string types in Claude request processing to ensure consistent content parsing
2025-12-27 01:25:47 +08:00
Luis Pater
3ce0d76aa4
feat(usage): add import/export functionality for usage statistics and enhance deduplication logic
2025-12-26 11:49:51 +08:00
Luis Pater
33e53a2a56
fix(translators): ensure correct handling and output of multimodal assistant content across request handlers
2025-12-26 05:08:04 +08:00
Luis Pater
3f949b7f84
Merge pull request #704 from tinyc0der/add-index
...
fix(openai): add index field to image response for LiteLLM compatibility
2025-12-25 21:35:12 +08:00
Luis Pater
443c4538bb
feat(config): add commercial-mode to optimize HTTP middleware for lower memory usage
2025-12-25 21:05:01 +08:00
TinyCoder
a7fc2ee4cf
refactor(image): avoid using json.Marshal
2025-12-25 14:21:01 +07:00
Luis Pater
06ad527e8c
Fixed : #696
...
fix(translators): adjust prompt token calculation by subtracting cached tokens across Gemini, OpenAI, and Claude handlers
2025-12-24 23:29:18 +08:00
Luis Pater
b7409dd2de
Merge pull request #706 from router-for-me/log
...
Log
2025-12-24 22:24:39 +08:00
hkfires
5ba325a8fc
refactor(logging): standardize request id formatting and layout
2025-12-24 22:03:07 +08:00
Luis Pater
d502840f91
Merge pull request #695 from NguyenSiTrung/main
...
feat: add cached token parsing for Gemini , Antigravity API responses
2025-12-24 21:58:55 +08:00
hkfires
99238a4b59
fix(logging): normalize warning level to warn
2025-12-24 21:11:37 +08:00
hkfires
6d43a2ff9a
refactor(logging): inline request id in log output
2025-12-24 21:07:18 +08:00
Luis Pater
3faa1ca9af
Merge pull request #700 from router-for-me/log
...
refactor(sdk/auth): rename manager.go to conductor.go
2025-12-24 19:36:24 +08:00
Luis Pater
9d975e0375
feat(models): add support for GLM-4.7 and MiniMax-M2.1
2025-12-24 19:30:57 +08:00
hkfires
2a6d8b78d4
feat(api): add endpoint to retrieve request logs by ID
2025-12-24 19:24:51 +08:00
TinyCoder
671558a822
fix(openai): add index field to image response for LiteLLM compatibility
...
LiteLLM's Pydantic model requires an index field in each image object.
Without it, responses fail validation with "images.0.index Field required".
2025-12-24 17:43:31 +07:00
hkfires
26fbb77901
refactor(sdk/auth): rename manager.go to conductor.go
2025-12-24 15:21:03 +08:00