-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmodel_resolver.hpp
More file actions
24 lines (19 loc) · 983 Bytes
/
Copy pathmodel_resolver.hpp
File metadata and controls
24 lines (19 loc) · 983 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// model_resolver: 纯函数 —— 解析 effective ModelProfile。
// 对应 openspec/changes/model-profiles 的 Section 2。
#pragma once
#include "../config/config.hpp"
#include "../config/saved_models.hpp"
#include "../session/session_storage.hpp"
#include <optional>
#include <string>
namespace acecode {
// 解析顺序:cwd override → default_model_name → saved_models 首项;
// resume meta 优先按 preset name 或 (provider, model) 匹配 saved_models,
// 匹配不上时构造 ad-hoc entry(name 以 "(session:" 开头)。如果没有任何
// configured saved model,返回空 profile,调用方应以 null provider 运行。
//
// 所有输入显式参数传入,无任何 IO,可进 acecode_testable 单测。
ModelProfile resolve_effective_model(const AppConfig& cfg,
const std::optional<std::string>& cwd_override_name,
const std::optional<SessionMeta>& resumed_meta);
} // namespace acecode