refactor: pass ModelInfo instead of model name string through provider interface

This commit is contained in:
Konstantin Fickel 2026-02-15 08:12:04 +01:00
parent 8e3ed7010f
commit d15444bdb0
Signed by: kfickel
GPG key ID: A793722F9933C1A5
8 changed files with 83 additions and 43 deletions

View file

@ -121,7 +121,7 @@ async def _build_single_target(
"""Build a single target by dispatching to the appropriate provider."""
target_cfg = config.targets[target_name]
target_type = infer_target_type(target_name)
model = resolve_model(target_name, target_cfg, config.defaults)
model_info = resolve_model(target_name, target_cfg, config.defaults)
resolved_prompt = _resolve_prompt(target_cfg.prompt, project_dir)
provider = providers[target_type]
@ -129,7 +129,7 @@ async def _build_single_target(
target_name=target_name,
target_config=target_cfg,
resolved_prompt=resolved_prompt,
resolved_model=model,
resolved_model=model_info,
project_dir=project_dir,
)
@ -218,7 +218,7 @@ def _is_dirty(
) -> bool:
"""Check if a target needs rebuilding."""
target_cfg = config.targets[target_name]
model = resolve_model(target_name, target_cfg, config.defaults)
model_info = resolve_model(target_name, target_cfg, config.defaults)
resolved_prompt = _resolve_prompt(target_cfg.prompt, project_dir)
dep_files = _collect_dep_files(target_name, config, project_dir)
extra = _collect_extra_params(target_name, config)
@ -226,7 +226,7 @@ def _is_dirty(
return is_target_dirty(
target_name,
resolved_prompt=resolved_prompt,
model=model,
model=model_info.name,
dep_files=dep_files,
extra_params=extra,
state=state,
@ -286,7 +286,7 @@ def _process_outcomes(
on_progress(BuildEvent.TARGET_FAILED, name, str(error))
else:
target_cfg = config.targets[name]
model = resolve_model(name, target_cfg, config.defaults)
model_info = resolve_model(name, target_cfg, config.defaults)
resolved_prompt = _resolve_prompt(target_cfg.prompt, project_dir)
dep_files = _collect_dep_files(name, config, project_dir)
extra = _collect_extra_params(name, config)
@ -294,7 +294,7 @@ def _process_outcomes(
record_target_state(
name,
resolved_prompt=resolved_prompt,
model=model,
model=model_info.name,
dep_files=dep_files,
extra_params=extra,
state=state,