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
NguyenSiTrung
a277302262
Merge remote-tracking branch 'upstream/main'
2025-12-24 10:54:09 +07:00
NguyenSiTrung
969c1a5b72
refactor: extract parseGeminiFamilyUsageDetail helper to reduce duplication
2025-12-24 10:22:31 +07:00
NguyenSiTrung
872339bceb
feat: add cached token parsing for Gemini API responses
2025-12-24 10:20:11 +07:00
hkfires
007c3304f2
feat(logging): scope request ID tracking to AI API endpoints
2025-12-24 09:17:09 +08:00
hkfires
e76ba0ede9
feat(logging): implement request ID tracking and propagation
2025-12-24 08:32:17 +08:00
Luis Pater
c06ac07e23
Merge pull request #686 from ajkdrag/main
...
feat: regex support for model-mappings
2025-12-24 04:37:44 +08:00
Luis Pater
66769ec657
fix(translators): update role from tool to user in Gemini and Gemini-CLI requests
2025-12-24 04:24:07 +08:00
Luis Pater
2e538e3486
Merge pull request #661 from jroth1111/fix/streaming-bootstrap-forwarder
...
fix: improve streaming bootstrap and forwarding
2025-12-24 03:51:40 +08:00
Luis Pater
7569320770
Merge branch 'dev' into fix/antigravity-prompt-caching
2025-12-24 03:49:46 +08:00