Centralize formatter target policy

This commit is contained in:
2026-06-27 13:42:06 +02:00
parent 194eb06465
commit c4d5477bf9
7 changed files with 137 additions and 16 deletions
+6 -1
View File
@@ -3,6 +3,11 @@ from __future__ import annotations
from dataclasses import dataclass
from typing import Any, Callable
try:
from . import formatter_target as target_policy
except ImportError: # pragma: no cover - plain-script smoke tests
import formatter_target as target_policy
@dataclass(frozen=True)
class CaptionFormatRequest:
@@ -49,7 +54,7 @@ def naturalize_caption_result(
deps: CaptionFormatDependencies,
) -> CaptionFormatRoute:
input_hint = request.input_hint if request.input_hint in ("auto", "metadata_json", "caption_or_prompt") else "auto"
target = request.target if request.target in ("auto", "single", "softcore", "hardcore") else "auto"
target = target_policy.normalize_target(request.target)
detail_level, style_policy, include_trigger = deps.apply_caption_profile(
request.caption_profile,
request.detail_level,