from typing import Any, Literal
StepStatus = Literal["passed", "blocked", "skipped", "warning"]
def make_step(
step_id: str,
name: str,
*,
status: StepStatus,
enabled: bool,
summary: str,
detail: str | None = None,
) -> dict[str, Any]:
return {
"id": step_id,
"name": name,
"status": status,
"enabled": enabled,
"summary": summary,
"detail": detail,
}
def skipped_step(step_id: str, name: str, reason: str) -> dict[str, Any]:
return make_step(step_id, name, status="skipped", enabled=False, summary=reason)
STEP_LABELS = {
"input_guard": "① 输入隔离与注入检测",
"jailbreak_guard": "② 越狱策略检测",
"task_lock": "③ 任务边界锁定",
"llm_call": "④ 安全调用模型",
"output_guard": "⑤ 输出敏感过滤",
}