mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-01 17:00:21 +08:00
feat: OAuth Token 自动刷新调度、OAuth 对话框优化及 OpenAI CLI normalizer 重构
- 系统设置新增 OAuth Token 自动刷新任务开关,支持动态调度 - OAuth 授权对话框简化步骤布局,移除编号圆圈样式 - 重构 OpenAI CLI normalizer:将 if-else 链替换为事件处理器映射表, 将 stream_event_from_internal 拆分为独立方法 - 维护调度器在禁用刷新时移除已调度的 job - .gitignore 新增 CLIProxyAPI/ 和 sub2api/ 排除项 - 补充 noop/unknown 事件处理器的测试覆盖
This commit is contained in:
@@ -17,6 +17,7 @@ from src.core.api_format.conversion.normalizers.gemini_cli import GeminiCliNorma
|
||||
from src.core.api_format.conversion.normalizers.openai import OpenAINormalizer
|
||||
from src.core.api_format.conversion.normalizers.openai_cli import OpenAICliNormalizer
|
||||
from src.core.api_format.conversion.registry import FormatConversionRegistry
|
||||
from src.core.api_format.conversion.stream_events import UnknownStreamEvent
|
||||
from src.core.api_format.conversion.stream_state import StreamState
|
||||
|
||||
|
||||
@@ -309,6 +310,36 @@ def test_stream_openai_cli_in_progress_event() -> None:
|
||||
assert events2 == []
|
||||
|
||||
|
||||
def test_stream_openai_cli_noop_and_unknown_events() -> None:
|
||||
"""覆盖 OpenAI CLI noop/unknown 事件处理器"""
|
||||
normalizer = OpenAICliNormalizer()
|
||||
state = StreamState()
|
||||
|
||||
# 先触发 message_start 初始化
|
||||
normalizer.stream_chunk_to_internal(
|
||||
{"type": "response.created", "response": {"id": "resp_789", "model": "gpt-5"}}, state
|
||||
)
|
||||
|
||||
# noop 事件不应产生内部事件
|
||||
assert (
|
||||
normalizer.stream_chunk_to_internal({"type": "response.function_call_arguments.done"}, state)
|
||||
== []
|
||||
)
|
||||
assert (
|
||||
normalizer.stream_chunk_to_internal({"type": "response.content_part.added"}, state) == []
|
||||
)
|
||||
assert (
|
||||
normalizer.stream_chunk_to_internal({"type": "response.content_part.done"}, state) == []
|
||||
)
|
||||
|
||||
# unknown 事件应返回 UnknownStreamEvent
|
||||
events = normalizer.stream_chunk_to_internal(
|
||||
{"type": "response.reasoning_summary_text.delta"}, state
|
||||
)
|
||||
assert len(events) == 1
|
||||
assert isinstance(events[0], UnknownStreamEvent)
|
||||
|
||||
|
||||
def test_stream_openai_cli_function_call_events() -> None:
|
||||
"""测试 OpenAI CLI 流式 function_call 相关事件"""
|
||||
reg = _make_registry_with_cli()
|
||||
|
||||
Reference in New Issue
Block a user