Expose formatter route traces
This commit is contained in:
@@ -5,9 +5,11 @@ from typing import Any, Callable
|
||||
|
||||
try:
|
||||
from . import formatter_input as input_policy
|
||||
from . import formatter_route_trace as trace_policy
|
||||
from . import formatter_target as target_policy
|
||||
except ImportError: # pragma: no cover - plain-script smoke tests
|
||||
import formatter_input as input_policy
|
||||
import formatter_route_trace as trace_policy
|
||||
import formatter_target as target_policy
|
||||
|
||||
|
||||
@@ -35,10 +37,14 @@ class CaptionFormatRoute:
|
||||
style_policy: str
|
||||
include_trigger: bool
|
||||
keep_style: bool
|
||||
route_trace_json: str = ""
|
||||
|
||||
def as_tuple(self) -> tuple[str, str]:
|
||||
return self.caption, self.method
|
||||
|
||||
def as_trace_tuple(self) -> tuple[str, str, str]:
|
||||
return self.caption, self.method, self.route_trace_json
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class CaptionFormatDependencies:
|
||||
@@ -72,6 +78,17 @@ def naturalize_caption_result(
|
||||
triggers=(request.trigger,),
|
||||
)
|
||||
full_method = f"{row_method}:{method}"
|
||||
route_trace = trace_policy.route_trace_json(
|
||||
formatter="caption",
|
||||
branch="metadata",
|
||||
method=full_method,
|
||||
input_hint=input_hint,
|
||||
target=target,
|
||||
detail_level=detail_level,
|
||||
style_policy=style_policy,
|
||||
include_trigger=include_trigger,
|
||||
keep_style=keep_style,
|
||||
)
|
||||
return CaptionFormatRoute(
|
||||
caption=caption,
|
||||
method=full_method,
|
||||
@@ -82,6 +99,7 @@ def naturalize_caption_result(
|
||||
style_policy=style_policy,
|
||||
include_trigger=include_trigger,
|
||||
keep_style=keep_style,
|
||||
route_trace_json=route_trace,
|
||||
)
|
||||
|
||||
prose, method = deps.text_to_prose(request.source_text, detail_level, keep_style)
|
||||
@@ -89,6 +107,17 @@ def naturalize_caption_result(
|
||||
deps.with_trigger(prose, request.trigger, include_trigger),
|
||||
triggers=(request.trigger,),
|
||||
)
|
||||
route_trace = trace_policy.route_trace_json(
|
||||
formatter="caption",
|
||||
branch="text",
|
||||
method=method,
|
||||
input_hint=input_hint,
|
||||
target=target,
|
||||
detail_level=detail_level,
|
||||
style_policy=style_policy,
|
||||
include_trigger=include_trigger,
|
||||
keep_style=keep_style,
|
||||
)
|
||||
return CaptionFormatRoute(
|
||||
caption=caption,
|
||||
method=method,
|
||||
@@ -99,6 +128,7 @@ def naturalize_caption_result(
|
||||
style_policy=style_policy,
|
||||
include_trigger=include_trigger,
|
||||
keep_style=keep_style,
|
||||
route_trace_json=route_trace,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user