mirror of
https://github.com/langgenius/dify.git
synced 2026-11-13 06:41:07 +08:00
25 lines
996 B
Python
25 lines
996 B
Python
"""Shared fixture admission seam for authorized Builder test-data handlers."""
|
|
|
|
from core.dify_builder.contract import decode_testdata_http_fixtures
|
|
from core.dify_builder.execution_policy import HttpFixtureSetV1
|
|
from core.dify_builder.models import Turn
|
|
from core.dify_builder.ports import DifyPort
|
|
|
|
|
|
def stamp_testdata_http_fixtures(dify: DifyPort, *, app_id: str, turn: Turn) -> HttpFixtureSetV1 | None:
|
|
"""Decode public fixtures and stamp against the exact submitted revision.
|
|
|
|
Absence leaves historical input-only behavior intact. The existing port
|
|
owns authorization, current raw metadata admission and revision lineage.
|
|
"""
|
|
action = turn.action
|
|
fixtures = decode_testdata_http_fixtures(action.payload if action is not None else {})
|
|
if fixtures is None:
|
|
return None
|
|
return dify.stamp_http_fixtures(
|
|
app_id,
|
|
turn.actor,
|
|
base_app_revision=action.base_app_revision if action is not None else "",
|
|
fixtures=fixtures,
|
|
)
|