"""Importable core for the smoke-generate script (kept in the package so it is testable).""" from __future__ import annotations from .models import is_promotable, resolve_image_model from .renderer.backgrounds import background_cache_key, generate_background def run(labels, *, cache, provider, api_key, model=None) -> list[str]: """Fill dev for each label (real provider call) then promote to eval. Returns the list of promoted cache keys. Network happens inside `provider`. """ model = resolve_image_model(model) promoted = [] for label in labels: generate_background(label, cache=cache, provider=provider, model=model, api_key=api_key) key = background_cache_key(label, model=model) cache.promote(key, is_eligible=is_promotable) promoted.append(key) return promoted