mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
- 新增 Claude Code provider adapter (context, envelope, plugin, constants) - 扩展 provider admin 路由,支持 Claude Code 高级配置 (CRUD) - 统一 OAuth 账号类型解析逻辑,前后端对齐 - 重构 BatchAssignModelsDialog / ModelMappingDialog,简化组件逻辑 - handler 基类增强: request_builder 支持 Claude Code 信封格式 - CLI stream/sync mixin 适配 Claude Code 流式与同步模式 - 扩展 candidate builder / failover / scheduler 对 Claude Code 的支持 - 前端增加请求时间线可视化 (HorizontalRequestTimeline) - 补充 Claude Code envelope / runtime controls / distributed sessions 等测试 Closes #183 Closes #185 Co-Authored-By: AAEE86 <ppk0227@hotmail.com>
31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
from __future__ import annotations
|
|
|
|
from src.api.admin.providers.summary import _extract_claude_code_advanced_from_config
|
|
from src.models.admin_requests import ClaudeCodeAdvancedConfig
|
|
|
|
|
|
def test_extract_claude_code_advanced_valid_dict() -> None:
|
|
config = {"claude_code_advanced": {"max_sessions": 12}}
|
|
|
|
parsed = _extract_claude_code_advanced_from_config(config, provider_id="provider-1")
|
|
|
|
assert isinstance(parsed, ClaudeCodeAdvancedConfig)
|
|
assert parsed.max_sessions == 12
|
|
assert parsed.session_idle_timeout_minutes == 5
|
|
|
|
|
|
def test_extract_claude_code_advanced_invalid_type_returns_none() -> None:
|
|
config = {"claude_code_advanced": "not-a-dict"}
|
|
|
|
parsed = _extract_claude_code_advanced_from_config(config, provider_id="provider-1")
|
|
|
|
assert parsed is None
|
|
|
|
|
|
def test_extract_claude_code_advanced_invalid_payload_returns_none() -> None:
|
|
config = {"claude_code_advanced": {"max_sessions": 0}}
|
|
|
|
parsed = _extract_claude_code_advanced_from_config(config, provider_id="provider-1")
|
|
|
|
assert parsed is None
|