Luis Pater
923a5d6efb
Merge branch 'router-for-me:main' into main
v6.6.16-0
2025-12-15 20:40:23 +08:00
Luis Pater
734b7e42ad
Merge pull request #28 from tsln1998/main
...
fix(kiro): remove the extra quotation marks from the protocol handler
2025-12-15 20:40:07 +08:00
Luis Pater
d9a65745df
fix(translator): handle empty item type and string content in OpenAI response parser
2025-12-15 20:35:52 +08:00
Luis Pater
10e77fcf24
Merge pull request #29 from router-for-me/plus
...
v6.6.15
v6.6.15-0
2025-12-15 16:36:23 +08:00
Luis Pater
bbb21d7c2b
Merge branch 'main' into plus
2025-12-15 16:36:11 +08:00
Luis Pater
f6720f8dfa
Merge pull request #547 from router-for-me/amp
...
feat(amp): require API key authentication for management routes
2025-12-15 16:14:49 +08:00
Chén Mù
e19ab3a066
Merge pull request #543 from router-for-me/log
...
feat(auth): add proxy information to debug logs
2025-12-15 15:59:16 +08:00
Tsln
c46099c5d7
fix(kiro): remove the extra quotation marks from the protocol handler
2025-12-15 15:53:25 +08:00
hkfires
8f1dd69e72
feat(amp): require API key authentication for management routes
...
All Amp management endpoints (e.g., /api/user, /threads) are now protected by the standard API key authentication middleware. This ensures that all management operations require a valid API key, significantly improving security.
As a result of this change:
- The `restrict-management-to-localhost` setting now defaults to `false`. API key authentication provides a stronger and more flexible security control than IP-based restrictions, improving usability in containerized environments.
- The reverse proxy logic now strips the client's `Authorization` header after authenticating the initial request. It then injects the configured `upstream-api-key` for the request to the upstream Amp service.
BREAKING CHANGE: Amp management endpoints now require a valid API key for authentication. Requests without a valid API key in the `Authorization` header will be rejected with a 401 Unauthorized error.
2025-12-15 13:24:53 +08:00
hkfires
f26da24a2f
feat(auth): add proxy information to debug logs
2025-12-15 13:14:55 +08:00
Luis Pater
407020de0c
Merge branch 'router-for-me:main' into main
v6.6.14-0
2025-12-15 10:36:39 +08:00
Luis Pater
8e4fbcaa7d
Merge pull request #533 from router-for-me/think
...
refactor(thinking): centralize reasoning effort mapping and normalize budget values
2025-12-15 10:34:41 +08:00
hkfires
09c339953d
fix(openai): forward reasoning.effort value
...
Drop the hardcoded effort mapping in request conversion so
unknown values are preserved instead of being coerced to `auto
2025-12-15 09:16:15 +08:00
hkfires
367a05bdf6
refactor(thinking): export thinking helpers
...
Expose thinking/effort normalization helpers from the executor package
so conversion tests use production code and stay aligned with runtime
validation behavior.
2025-12-15 09:16:15 +08:00
hkfires
d20b71deb9
fix(thinking): normalize effort mapping
...
Route OpenAI reasoning effort through ThinkingEffortToBudget for Claude
translators, preserve "minimal" when translating OpenAI Responses, and
treat blank/unknown efforts as no-ops for Gemini thinking configs.
Also map budget -1 to "auto" and expand cross-protocol thinking tests.
2025-12-15 09:16:15 +08:00
hkfires
712ce9f781
fix(thinking): drop unsupported none effort
...
When budget 0 maps to "none" for models that use thinking levels
but don't support that effort level, strip thinking fields instead
of setting an invalid reasoning_effort value.
Tests now expect removal for this edge case.
2025-12-15 09:16:14 +08:00
hkfires
a4a3274a55
test(thinking): expand conversion edge case coverage
2025-12-15 09:16:14 +08:00
hkfires
716aa71f6e
fix(thinking): centralize reasoning_effort mapping
...
Move OpenAI `reasoning_effort` -> Gemini `thinkingConfig` budget logic into
shared helpers used by Gemini, Gemini CLI, and antigravity translators.
Normalize Claude thinking handling by preferring positive budgets, applying
budget token normalization, and gating by model support.
Always convert Gemini `thinkingBudget` back to OpenAI `reasoning_effort` to
support allowCompat models, and update tests for normalization behavior.
2025-12-15 09:16:14 +08:00
hkfires
e8976f9898
fix(thinking): map budgets to effort for level models
2025-12-15 09:16:14 +08:00
hkfires
8496cc2444
test(thinking): cover openai-compat reasoning passthrough
2025-12-15 09:16:14 +08:00
hkfires
5ef2d59e05
fix(thinking): gate reasoning effort by model support
...
Only map OpenAI reasoning effort to Claude thinking for models that support
thinking and use budget tokens (not level-based thinking).
Also add "xhigh" effort mapping and adjust minimal/low budgets, with new
raw-payload conversion tests across protocols and models.
2025-12-15 09:16:14 +08:00
Chén Mù
07bb89ae80
Merge pull request #542 from router-for-me/aistudio
2025-12-15 09:13:25 +08:00
hkfires
27a5ad8ec2
Fixed : #534
...
fix(aistudio): correct JSON string boundary detection for backslash sequences
2025-12-15 09:00:14 +08:00
Luis Pater
707b07c5f5
Merge pull request #537 from sukakcoding/fix/function-response-fallback
...
fix: handle malformed json in function response parsing
2025-12-15 03:31:09 +08:00
sukakcoding
4a764afd76
refactor: extract parseFunctionResponse helper to reduce duplication
2025-12-15 01:05:36 +08:00
sukakcoding
ecf49d574b
fix: handle malformed json in function response parsing
2025-12-15 00:59:46 +08:00
Luis Pater
188de4ff2a
Merge branch 'router-for-me:main' into main
v6.6.12-0
2025-12-15 00:31:29 +08:00
Luis Pater
5a75ef8ffd
Merge pull request #536 from AoaoMH/feature/auth-model-check
...
feat: using Client Model Infos;
2025-12-15 00:29:33 +08:00
Test
07279f8746
feat: using Client Model Infos;
2025-12-15 00:13:05 +08:00
Luis Pater
71f788b13a
fix(registry): remove unused ThinkingSupport from DeepSeek-R1 model
2025-12-14 21:30:17 +08:00
Luis Pater
59c62dc580
fix(registry): correct DeepSeek-V3.2 experimental model ID
2025-12-14 21:27:43 +08:00
Luis Pater
8fb1f114bc
Merge pull request #25 from Ravens2121/master
...
fix(kiro): Always parse thinking tags from Kiro API responses
v6.6.11-1
2025-12-14 20:29:14 +08:00
Luis Pater
6a4cff6699
Merge branch 'router-for-me:main' into main
v6.6.11-0
2025-12-14 17:28:28 +08:00
Luis Pater
d5310a3300
Merge pull request #531 from AoaoMH/feature/auth-model-check
...
feat: add API endpoint to query models for auth credentials
2025-12-14 16:46:43 +08:00
Ravens2121
de0ea3ac49
fix(kiro): Always parse thinking tags from Kiro API responses
...
Amp-Thread-ID: https://ampcode.com/threads/T-019b1c00-17b4-713d-a8cc-813b71181934
Co-authored-by: Amp <amp@ampcode.com >
2025-12-14 16:46:17 +08:00
Ravens2121
12116b018d
Merge branch 'router-for-me:main' into master
2025-12-14 16:42:30 +08:00
Ravens2121
c3ed3b40ea
feat(kiro): Add token usage cross-validation and simplify thinking mode handling
2025-12-14 16:40:33 +08:00
Luis Pater
b80c2aabb0
Merge branch 'router-for-me:main' into main
v6.6.10-0
2025-12-14 16:19:29 +08:00
Luis Pater
f0a3eb574e
fix(registry): update DeepSeek model definitions with new IDs and descriptions
2025-12-14 16:17:11 +08:00
Test
bb15855443
feat: add API endpoint to query models for auth credentials
2025-12-14 15:16:26 +08:00
Luis Pater
14ce6aebd1
Merge pull request #449 from sususu98/fix/gemini-cli-429-retry-delay-parsing
...
fix(gemini-cli): enhance 429 retry delay parsing
2025-12-14 14:04:14 +08:00
Luis Pater
2fe83723f2
Merge pull request #515 from teeverc/fix/response-rewriter-streaming-flush
...
fix(amp): flush response buffer after each streaming chunk write
2025-12-14 13:26:05 +08:00
Luis Pater
e73b9e10a6
Merge pull request #24 from Ravens2121/master
...
feat(kiro): Major Refactoring + OpenAI Translator Implementation + Streaming Fixes
v6.6.9-1
2025-12-14 12:51:28 +08:00
Ravens2121
9c04c18c04
feat(kiro): enhance request translation and fix streaming issues
...
English:
- Fix <thinking> tag parsing: only parse at response start, avoid misinterpreting discussion text
- Add token counting support using tiktoken for local estimation
- Support top_p parameter in inference config
- Handle max_tokens=-1 as maximum (32000 tokens)
- Add tool_choice and response_format parameter handling via system prompt hints
- Support multiple thinking mode detection formats (Claude API, OpenAI reasoning_effort, AMP/Cursor)
- Shorten MCP tool names exceeding 64 characters
- Fix duplicate [DONE] marker in OpenAI SSE streaming
- Enhance token usage statistics with multiple event format support
- Add code fence markers to constants
中文:
- 修复 <thinking> 标签解析:仅在响应开头解析,避免误解析讨论文本中的标签
- 使用 tiktoken 实现本地 token 计数功能
- 支持 top_p 推理配置参数
- 处理 max_tokens=-1 转换为最大值(32000 tokens)
- 通过系统提示词注入实现 tool_choice 和 response_format 参数支持
- 支持多种思考模式检测格式(Claude API、OpenAI reasoning_effort、AMP/Cursor)
- 截断超过64字符的 MCP 工具名称
- 修复 OpenAI SSE 流中重复的 [DONE] 标记
- 增强 token 使用量统计,支持多种事件格式
- 添加代码围栏标记常量
2025-12-14 11:57:16 +08:00
Ravens2121
81ae09d0ec
Merge branch 'kiro-refactor-backup'
2025-12-14 07:03:24 +08:00
Ravens2121
01cf221167
feat(kiro): 代码优化重构 + OpenAI翻译器实现
2025-12-14 06:58:50 +08:00
teeverc
cd8c86c6fb
refactor: only flush stream response on successful write
2025-12-13 13:32:54 -08:00
teeverc
52d5fd1a67
fix: streaming for amp cli
2025-12-13 13:17:53 -08:00
Luis Pater
7ecc7aabda
Merge pull request #23 from router-for-me/plus
...
v6.6.9
v6.6.9-0
2025-12-14 00:07:57 +08:00
Luis Pater
79033aee34
Merge branch 'main' into plus
2025-12-14 00:07:46 +08:00