Extract builder config route

This commit is contained in:
2026-06-27 12:09:41 +02:00
parent f1567118b4
commit 9a5809deaa
5 changed files with 196 additions and 35 deletions
+58
View File
@@ -28,6 +28,7 @@ import caption_naturalizer # noqa: E402
import caption_metadata_routes # noqa: E402
import caption_policy # noqa: E402
import caption_text_policy # noqa: E402
import builder_config_route # noqa: E402
import cast_context # noqa: E402
import category_extensions # noqa: E402
import category_template_metadata # noqa: E402
@@ -604,6 +605,62 @@ def smoke_config_route_location_theme() -> None:
_expect_formatter_outputs(row, "config_route_location_theme", target="single")
def smoke_builder_config_route_policy() -> None:
category_config = pb.build_category_config_json("women_casual", "Casual clothes / Smart casual")
cast_config = pb.build_cast_config_json("solo_woman")
generation_profile = pb.build_generation_profile_json(
profile="casual_clean",
trigger_policy="prepend_trigger",
)
filter_config = pb.build_filter_config_json(
ethnicity="french_european",
figure="balanced",
)
seed_config_json = pb.build_seed_lock_config_json(base_seed=3401, reroll_axis="scene", reroll_seed=3402)
request = builder_config_route.PromptFromConfigsRequest(
row_number=2,
start_index=5,
seed=3401,
category_config=category_config,
cast_config=cast_config,
generation_profile=generation_profile,
filter_config=filter_config,
seed_config=seed_config_json,
extra_positive="clean route marker",
extra_negative="bad route marker",
)
typed_route = builder_config_route.build_prompt_from_configs_result(
request,
pb._prompt_from_configs_dependencies(),
)
legacy_row = pb.build_prompt_from_configs(
row_number=request.row_number,
start_index=request.start_index,
seed=request.seed,
category_config=category_config,
cast_config=cast_config,
generation_profile=generation_profile,
filter_config=filter_config,
seed_config=seed_config_json,
extra_positive=request.extra_positive,
extra_negative=request.extra_negative,
)
_expect(typed_route.row == legacy_row, "Prompt Builder From Configs route should match public wrapper output")
_expect(typed_route.category == "Casual clothes", "Config route lost category preset")
_expect(typed_route.subcategory == "Casual clothes / Smart casual", "Config route lost requested subcategory")
_expect(typed_route.cast["women_count"] == 1 and typed_route.cast["men_count"] == 0, "Config route lost cast preset")
_expect(typed_route.profile["trigger"] == "sxcpinup_coloredpencil", "Config route lost generation profile trigger")
_expect(typed_route.filters["ethnicity"] == "french_european", "Config route lost filter ethnicity")
kwargs = typed_route.build_kwargs
_expect(kwargs["category"] == typed_route.category, "Config route build kwargs category drifted")
_expect(kwargs["subcategory"] == typed_route.subcategory, "Config route build kwargs subcategory drifted")
_expect(kwargs["women_count"] == 1 and kwargs["men_count"] == 0, "Config route build kwargs cast counts drifted")
_expect(kwargs["seed_config"] == seed_config_json, "Config route build kwargs seed config drifted")
_expect(kwargs["extra_positive"] == "clean route marker", "Config route build kwargs extra positive drifted")
_expect("clean route marker" in typed_route.row.get("prompt", ""), "Config route row lost extra positive")
_expect("bad route marker" in typed_route.row.get("negative_prompt", ""), "Config route row lost extra negative")
def smoke_krea_normal_row_routes() -> None:
single = {
"subject_type": "woman",
@@ -5365,6 +5422,7 @@ SMOKE_CASES: list[tuple[str, Callable[[], None]]] = [
("camera_scene_single", smoke_camera_scene_single),
("row_camera_policy", smoke_row_camera_policy),
("config_route_location_theme", smoke_config_route_location_theme),
("builder_config_route_policy", smoke_builder_config_route_policy),
("krea_normal_row_routes", smoke_krea_normal_row_routes),
("krea_row_fields_policy", smoke_krea_row_fields_policy),
("location_config_policy", smoke_location_config_policy),