elky
bce3bf2b6e
Merge remote-tracking branch 'origin/pr/593'
2026-06-02 21:40:59 +08:00
elky
4ec9ca61cf
Merge remote-tracking branch 'origin/pr/613'
...
# Conflicts:
# apps/aether-gateway/src/tests/usage/direct.rs
2026-06-02 19:27:50 +08:00
zhefox
6cabcd85aa
fix(provider): preserve Claude messages defaults in responses conversion
2026-06-02 17:14:26 +08:00
zhefox
0daa8c196b
fix(provider): preserve reasoning and Claude tool results in responses conversion
2026-06-02 09:04:55 +08:00
zhefox
98dc5925a5
fix(provider): preserve openai responses tool history in chat conversion
2026-06-02 00:35:19 +08:00
stabey
3dfafbc379
fix(ai): 按 Responses 文本分片去重快照
...
upstream 已有 8abedecb 处理单个 OpenAI Responses 文本流中 delta 与 done/completed 快照重复输出的问题。
本提交保留该方向,并把去重状态从全局文本扩展为按 output_index/item_id 与 content_index 分片记录,避免多个 message item 或多个 text content part 共用同一段快照状态。
2026-05-31 02:54:11 +08:00
Entropy.Xu
0f6d4b9146
feat(embedding): 接入阿里云多模态向量端点
2026-05-28 16:05:36 +08:00
fawney19
2c28d9979c
Merge commit 'refs/pr/585'
...
# Conflicts:
# apps/aether-gateway/src/ai_serving/planner/passthrough/provider/family/request.rs
# apps/aether-gateway/src/tests/ai_execute/stream_provider_gemini/local_cli.rs
# apps/aether-gateway/src/tests/ai_execute/sync/gemini/cli.rs
# apps/aether-gateway/src/tests/control/admin/provider_query.rs
# crates/aether-provider-transport/src/gemini_cli/mod.rs
# crates/aether-provider-transport/src/gemini_cli/request.rs
# crates/aether-provider-transport/src/gemini_cli/url.rs
# crates/aether-provider-transport/src/lib.rs
2026-05-28 13:19:42 +08:00
fawney19
0efb3d340d
Merge commit 'refs/pr/530'
2026-05-28 12:53:45 +08:00
Mas0nShi
9ad9858ac2
Merge origin/main into fix/gemini-cli-v1internal
2026-05-28 11:58:00 +08:00
MMEXA
adca142d1e
fix: adapt gemini cli to v1internal endpoint
2026-05-28 00:24:56 +08:00
stabey
739e39e1ca
fix: 修复缓存 token usage 转换语义
...
统一 OpenAI、Gemini、Claude 之间缓存 token 的 usage 语义,避免 Claude 侧重复统计缓存输入 token。
同时补充 stream 合并逻辑、字段注释和覆盖转换链路的测试。
2026-05-27 23:49:07 +08:00
ZheFox
b02d62642a
Merge branch 'fawney19:main' into main
2026-05-27 16:18:21 +08:00
zhefox
8abedecb16
fix(ai): dedupe OpenAI responses text snapshot deltas
2026-05-27 16:11:02 +08:00
fawney19
8606455355
Merge pull request #581 from zhefox/main
...
fix(gateway): preserve JSON mode chat hints in responses normalization
2026-05-27 15:40:17 +08:00
fawney19
6673ab6d4a
Add fast model directive service tier
2026-05-27 15:08:23 +08:00
zhefox
41ad422002
fix(gateway): preserve JSON mode chat hints in responses normalization
2026-05-27 13:35:16 +08:00
ZheFox
992c58f2bd
Merge branch 'fawney19:main' into main
2026-05-26 13:08:59 +08:00
zhefox
5fc6dc8019
Merge branch 'main' of https://github.com/zhefox/Aether
2026-05-26 12:31:03 +08:00
zhefox
96184caa48
fix(codex): strip unsupported OpenAI responses body fields
2026-05-26 12:30:58 +08:00
fawney19
12ff87949d
fix(ai): preserve combined Gemini builtin tools
2026-05-26 11:14:24 +08:00
MMEXA
c733139091
fix(ai): normalize Gemini search grounding tools
2026-05-26 05:33:34 +08:00
fawney19
a0f22ae659
fix: tighten pr 566 claude and deepseek handling
2026-05-26 00:57:28 +08:00
fawney19
235f32e10e
Merge remote-tracking branch 'origin/pr/566' into review/pr-566-fix
2026-05-26 00:43:45 +08:00
hemo94931
9010f0806a
fix(ai): sanitize Claude Read pages passthrough
2026-05-25 21:01:10 +08:00
hemo94931
495795327c
fix(ai): sanitize empty Read pages for Claude tools
2026-05-25 21:01:10 +08:00
MMEXA
b347f1816d
Fix native Antigravity stream envelope handling
2026-05-25 09:39:55 +08:00
MMEXA
28c3a5dbe4
Add Antigravity v1internal gateway adapter
2026-05-25 06:58:15 +08:00
Codex
3bf7469d30
修复 ChatGPT Web 生图 usage 估算
2026-05-24 18:50:14 +08:00
zhefox
bd1e155332
fix(provider): normalize OpenAI chat tool history for Claude messages
2026-05-23 02:45:04 +08:00
Mas0nShi
8b7643e150
Merge remote-tracking branch 'origin/main' into fix/gemini-cli-v1internal
...
# Conflicts:
# apps/aether-gateway/src/ai_serving/transport.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/dispatch/batch/parse.rs
# apps/aether-gateway/src/handlers/shared/catalog.rs
# crates/aether-admin/src/provider/quota.rs
# crates/aether-model-fetch/src/strategy.rs
# crates/aether-provider-pool/src/lib.rs
# crates/aether-provider-pool/src/service.rs
# crates/aether-provider-transport/src/provider_types.rs
# frontend/src/features/providers/components/ProviderDetailDrawer.vue
# frontend/src/utils/__tests__/providerKeyQuota.spec.ts
# frontend/src/utils/providerKeyQuota.ts
# frontend/src/views/admin/PoolManagement.vue
2026-05-22 17:13:57 +08:00
fawney19
ecf6019ccb
Merge pull request #543 from zhefox/main
...
Accept Claude message bodies in OpenAI chat endpoints
2026-05-22 14:53:25 +08:00
zhefox
2a298de971
fix(provider): serialize Claude tool results as JSON strings
2026-05-22 14:41:27 +08:00
fawney19
8ede01ad4e
Merge remote-tracking branch 'origin/main'
2026-05-22 14:16:07 +08:00
zhefox
97de4ff8a3
fix(gateway): accept Claude Messages bodies on OpenAI chat endpoints
2026-05-22 14:09:51 +08:00
zhefox
9b95fa4d95
fix(gateway): handle responses-shaped OpenAI chat bodies and SSE passthrough
2026-05-22 11:39:38 +08:00
Mas0nShi
9533bd7043
fix: route Gemini CLI generateContent through stream
2026-05-22 09:30:55 +08:00
fawney19
2b32b9a445
Fix system data import export flows
2026-05-22 02:46:49 +08:00
fawney19
0e6d7539ad
Merge remote-tracking branch 'origin/pr/538'
2026-05-21 23:12:42 +08:00
fawney19
d6eb41aa78
Merge remote-tracking branch 'origin/pr/536'
...
# Conflicts:
# apps/aether-gateway/src/execution_runtime/stream/execution.rs
2026-05-21 23:03:14 +08:00
zhefox
68d8f86dc6
fix(gateway): stop stream polling on downstream disconnect and preserve Codex cache keys
2026-05-21 22:26:14 +08:00
zhefox
12abde2aeb
fix(usage): handle terminal stream failures and preserve usage updates
2026-05-21 15:52:51 +08:00
stabey and Claude Opus 4.7
3330b2ac4c
refactor(report-context): extract UPSTREAM_IS_STREAM_KEY constant
...
The "upstream_is_stream" JSON key flows from the AI execution report
context producer (aether-ai-serving::report_context) through several
consumers — usage runtime metadata copy/move, gateway watchdog, sync
execution decision, observability handlers, and the per-driver usage
repositories. Each site spelled the key as a bare string literal, so a
producer-side rename would silently degrade every consumer to its
fallback (typically assuming streaming) with no compile-time signal.
Introduce a single pub const UPSTREAM_IS_STREAM_KEY in
aether-ai-formats (the lowest crate every consumer already depends on),
re-export from the crate root, and route producer + all map-style
consumers through it. The change is purely a string-literal → constant
swap; behaviour is identical.
Sites left as literals (intentional):
- `json!({"upstream_is_stream": ...})` macro keys, which must be string
literals at the macro layer; these are also API-response payload
field names (an external contract that should not silently track
internal report-context renames).
- SQL column accessors (`try_get::<...>("upstream_is_stream")`), which
refer to the database schema column, not the JSON key.
- Test fixtures and assertions, which validate the on-the-wire contract
and should keep verifying the actual string.
Co-Authored-By: Claude Opus 4.7 <[email protected] >
2026-05-21 15:26:42 +08:00
zhefox
e59e6c3797
fix(gateway): sanitize Claude thinking and handle missing stream finish
2026-05-21 12:30:42 +08:00
Entropy.Xu
129c7c90c0
fix(provider): 修复 Windsurf 原生工具桥接
2026-05-21 01:02:02 +08:00
Entropy.Xu
82637ad882
fix(provider): 修复 Windsurf Connect 请求与端点计数
2026-05-21 01:02:02 +08:00
Entropy.Xu
0226e14251
feat(provider): 原生接入 Windsurf provider
2026-05-21 01:02:02 +08:00
fawney19
923515ab28
fix: align image generation checks
2026-05-21 00:45:02 +08:00
ZheFox
779877acd0
Merge branch 'fawney19:main' into main
2026-05-20 22:49:49 +08:00
ZheFox
3c6924238f
feat(usage): include cache token details in stream usage payloads
2026-05-20 21:20:10 +08:00