Commit Graph

815 Commits

Author SHA1 Message Date
DENG
6d1c55c1fb fix(ai-proxy): add ids for Vertex tool calls (#3990)
Signed-off-by: DENG <33118163+XinhhD@users.noreply.github.com>
Co-authored-by: woody <yaodiwu618@gmail.com>
2026-06-23 20:34:54 +08:00
9r0k
e57f18e581 feat(ai-proxy): vLLM passthrough for Anthropic Messages and newer OpenAI endpoints (#3989)
Signed-off-by: Rand01ph <tanyawei1991@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: woody <yaodiwu618@gmail.com>
2026-06-23 19:34:54 +08:00
Kent Dong
1694f48fd9 fix(ai-cache): handle SSE first chunk with role only (fixes #3953) (#3962)
Signed-off-by: CH3CHO <ch3cho@qq.com>
Co-authored-by: woody <yaodiwu618@gmail.com>
2026-06-23 17:38:50 +08:00
cyberslack_lee
7c94b5a822 fix: fix some typo errors (#3988)
Co-authored-by: woody <yaodiwu618@gmail.com>
2026-06-23 11:08:44 +08:00
DENG
3c3a067f07 fix(ai-proxy): include tool call type in Claude stream deltas (#3985)
Signed-off-by: DENG <33118163+XinhhD@users.noreply.github.com>
Co-authored-by: woody <yaodiwu618@gmail.com>
2026-06-17 12:18:18 +08:00
DENG
7e11e2f320 fix(ai-proxy): preserve Vertex thoughtSignature in OpenAI tool calls (#3973)
Signed-off-by: DENG <33118163+XinhhD@users.noreply.github.com>
2026-06-17 11:40:38 +08:00
DENG
7abf27a2a3 fix(ai-proxy): clean client Authorization header for api-key providers (#3956)
Signed-off-by: DENG <33118163+XinhhD@users.noreply.github.com>
Co-authored-by: woody <yaodiwu618@gmail.com>
2026-06-16 16:19:37 +08:00
Jingze
45fc5a31bc test(wasm-plugins): lift unit-test coverage to ≥90% across 9 plugins (#3879)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
Co-authored-by: woody <yaodiwu618@gmail.com>
2026-06-15 20:33:10 +08:00
Jingze
3065d4e071 test(traffic-tag): cover operator matrix, weight CDF boundaries, and parser reject paths (#3878)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
2026-06-15 20:32:38 +08:00
Jingze
c65d4cd938 test(hmac-auth-apisix): cover algorithm matrix, clock skew, and auth edge cases (#3875)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-15 20:31:02 +08:00
Jingze
547b7bf45a test(transformer): add end-to-end coverage and fix silent error wrapping (#3873)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
2026-06-15 20:29:51 +08:00
Jingze
bf0b1e96c5 test(wasm-go/mcp): expand unit test coverage for mcp-server framework (#3871)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-15 20:29:20 +08:00
yangjuan
2897c1e83a feat(model-router): add keepOriginalModelName option to preserve full model name (#3916)
Signed-off-by: Cai Rui <yangjuan.cr@alibaba-inc.com>
2026-06-07 15:49:45 +08:00
FAUST
b69b5c7c10 doc: add missed chinese readme for extensions (#3890)
Signed-off-by: zhoujinyu <2319109590@qq.com>
2026-06-07 12:26:08 +08:00
Jingze
57db9ccc46 fix(oidc): fix Set-Cookie header corruption during session refresh (#3928)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-05 17:58:20 +08:00
澄潭
137d76332e fix: rebuild mcp filter on high memory usage (#3922)
Signed-off-by: johnlanni <zty98751@alibaba-inc.com>
2026-06-05 10:57:43 +08:00
澄潭
d888ab23de fix(wasm): remove request-count rebuild triggers (#3923)
Signed-off-by: johnlanni <zty98751@alibaba-inc.com>
2026-06-05 10:57:24 +08:00
Jingze
29b5a533e6 fix(oidc): bump oauth2-proxy to fix nil panic in verifier callback (#3914)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 10:52:24 +08:00
Jingze
071086904d fix(ai-proxy): strip anthropic-beta and anthropic-version headers in vertex passthrough (#3904)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
2026-06-02 20:26:30 +08:00
JianweiWang
58ffdae6ba feat(ai-security-guard): add Embedding API content detection support (#3895)
Signed-off-by: root <jianwei.wjw@alibaba-inc.com>
2026-06-02 12:11:00 +08:00
JianweiWang
a45b1dde6c fix(ai-statistics): skip empty streaming model values (#3851)
Signed-off-by: jianwei.wjw <jianwei.wjw@alibaba-inc.com>
2026-06-02 12:10:46 +08:00
zat366
52c99eb27d feat(ai-load-balancer): add cluster_hash load balancing policy with FNV-1a consistent hashing (#3898)
Signed-off-by: zat366 <authentic.zhao@gmail.com>
2026-06-01 10:19:46 +08:00
JianweiWang
c21a38e783 feat(ai-security-guard): structured x_higress deny response, error-path metrics, and AI logging (#3894)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: rinfx <yucheng.lxr@alibaba-inc.com>
2026-05-29 10:45:10 +08:00
Jingze
385f8d8b4e fix(ai-proxy): natively route Anthropic Messages to vertex :rawPredict (#3860)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 09:54:56 +08:00
Betula-L
a86aaadaa4 feat(jwt-auth): support remote JWKS (#3838)
Signed-off-by: Betula-L <6059935+Betula-L@users.noreply.github.com>
Co-authored-by: Betula-L <6059935+Betula-L@users.noreply.github.com>
2026-05-25 16:04:10 +08:00
Kent Dong
b8ff815100 fix: Fix the description of basePath related fields of ai-proxy plugin (#3870)
Signed-off-by: CH3CHO <ch3cho@qq.com>
2026-05-25 15:02:39 +08:00
zat366
632c6ca655 fix(ai-proxy): use HasSuffix instead of Contains in claude.GetApiName to prevent sub-path misidentification (#3839)
Signed-off-by: zat366 <authentic.zhao@gmail.com>
2026-05-25 14:34:45 +08:00
Ghxst
8a0f8a8208 feature: support plural key-auth credentials (#3849)
Signed-off-by: GHX5T-SOL <200635707+GHX5T-SOL@users.noreply.github.com>
Co-authored-by: GHX5T-SOL <200635707+GHX5T-SOL@users.noreply.github.com>
2026-05-24 17:56:58 +08:00
Jingze
b99e0c5027 fix(ai-proxy): re-anchor X-HI-ORIGINAL-AUTH on first hop to fix cascaded-gateway 401 (#3864)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 17:01:08 +08:00
woody
37b038f797 feat: route bedrock messages through mantle (#3820)
Signed-off-by: wydream <yaodiwu618@gmail.com>
Signed-off-by: woody <yaodiwu618@gmail.com>
2026-05-20 18:13:04 +08:00
woody
739d47ba9c feat(ai-proxy): add cooldownDuration support for failover token recovery (#3700)
Signed-off-by: wydream <yaodiwu618@gmail.com>
Signed-off-by: woody <yaodiwu618@gmail.com>
2026-05-20 18:11:11 +08:00
woody
e7651f3d3e fix(ai-proxy): support azure openai v1 service urls (#3765)
Signed-off-by: wydream <yaodiwu618@gmail.com>
Co-authored-by: EndlessSeeker <153817598+EndlessSeeker@users.noreply.github.com>
2026-05-20 13:48:35 +08:00
woody
e1e631263c Fix/claude thinking tool call conversion (#3756)
Signed-off-by: wydream <yaodiwu618@gmail.com>
2026-05-20 11:34:07 +08:00
Kent Dong
f1dfc8f3d2 fix: Fix a field tag typo in ai-proxy (#3829)
Signed-off-by: CH3CHO <ch3cho@qq.com>
2026-05-19 15:02:36 +08:00
Kent Dong
ba774da55e feat(ext-auth): add support for allowed properties forwarding in external authorization requests (#3694)
Signed-off-by: CH3CHO <ch3cho@qq.com>
2026-05-15 16:03:50 +08:00
rinfx
e497d8017a feat(model-mapper): sync model header on remap and disable reroute (#3827)
Signed-off-by: 钰诚 <yucheng.lxr@alibaba-inc.com>
2026-05-15 14:38:54 +08:00
woody
a93847e07f Add Kling provider support (#3742)
Signed-off-by: wydream <yaodiwu618@gmail.com>
2026-05-14 16:18:00 +08:00
澄潭
b032f344e6 feat: add nginx rewrite compatible wasm plugin (#3823)
Signed-off-by: johnlanni <zty98751@alibaba-inc.com>
2026-05-14 11:24:58 +08:00
woody
c7eed0c0c1 fix(vertex): inject api key for express raw endpoints (#3777)
Signed-off-by: wydream <yaodiwu618@gmail.com>
Co-authored-by: EndlessSeeker <153817598+EndlessSeeker@users.noreply.github.com>
2026-05-13 10:18:29 +08:00
zat366
f8d81a7eb4 feat(ai-quota): add enable_path_suffixes configuration and update rel… (#3748)
Signed-off-by: zat366 <authentic.zhao@gmail.com>
Co-authored-by: Kent Dong <ch3cho@qq.com>
Co-authored-by: EndlessSeeker <153817598+EndlessSeeker@users.noreply.github.com>
2026-05-12 17:44:10 +08:00
Srikanth Patchava
29da03c371 fix: nil guards, safe type assertions, panic prevention, and rate limiter plugin (#3757)
Signed-off-by: Srikanth Patchava <spatchava@meta.com>
Signed-off-by: Srikanth Patchava <srpatcha@users.noreply.github.com>
Co-authored-by: Srikanth Patchava <srpatcha@users.noreply.github.com>
2026-05-12 11:00:37 +08:00
Jingze
1c4fe1c9f9 test(ai-proxy): expand wasm integration tests, coverage, and provider matrix (#3790)
Signed-off-by: jingze <daijingze.djz@alibaba-inc.com>
2026-05-12 10:20:08 +08:00
Betula-L
6d50e2da42 fix(ai-proxy): preserve empty Claude tool inputs (#3799)
Signed-off-by: Betula-L <6059935+Betula-L@users.noreply.github.com>
Co-authored-by: Betula-L <6059935+Betula-L@users.noreply.github.com>
2026-05-09 21:35:35 +08:00
Betula-L
b77a074831 fix(ai-proxy): preserve Bedrock Claude reasoning blocks (#3788)
Signed-off-by: Betula-L <6059935+Betula-L@users.noreply.github.com>
Co-authored-by: Betula-L <6059935+Betula-L@users.noreply.github.com>
2026-05-08 10:27:48 +08:00
Betula-L
6199fe414d bugfix: map bedrock tool-call indexes and tool_choice (#3786)
Signed-off-by: Betula-L <6059935+Betula-L@users.noreply.github.com>
Co-authored-by: Betula-L <6059935+Betula-L@users.noreply.github.com>
2026-05-06 19:48:42 +08:00
rinfx
4aba4a9860 add cached token usage when converting openai to claude (#3766)
Signed-off-by: 钰诚 <yucheng.lxr@alibaba-inc.com>
2026-05-06 10:53:08 +08:00
JianweiWang
5173b4b2b8 feat(ai-security-guard): add fallback JSON paths for response content extraction (#3738)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: rinfx <yucheng.lxr@alibaba-inc.com>
2026-04-28 14:58:59 +08:00
澄潭
a93f77d838 feat(ai-prompt-decorator): add literal/regex replace rules for message content (#3739) 2026-04-20 20:52:36 +08:00
Kent Dong
8b8a710305 refactor(ai-cache): update README files to match latest config parsing code (#3730) 2026-04-20 09:45:39 +08:00
woody
65405965b6 fix(ai-proxy): harden Claude stream conversion compatibility (#3733) 2026-04-18 21:27:27 +08:00