11import importlib .util
22from dataclasses import dataclass
33from pathlib import Path
4- from typing import TYPE_CHECKING , Literal , cast
4+ from typing import TYPE_CHECKING , Literal , TypeAlias , cast
55
66from pydantic import model_validator
77from typing_extensions import Self
88from verifiers .types import Messages , SystemMessage
99from verifiers .utils .message_utils import normalize_messages
1010
1111from ..config import Config
12- from ..types import JsonData , PromptInput , SystemPrompt
12+ from ..types import JsonData , PromptInput
1313from .config_utils import current_config_ref_module
1414
1515if TYPE_CHECKING :
@@ -64,13 +64,15 @@ class SystemPromptConfig(Config):
6464 messages : list [JsonData ] = []
6565
6666 @model_validator (mode = "after" )
67- def validate_one_source (self ) -> Self :
68- sources = [
67+ def validate_one_input (self ) -> Self :
68+ inputs = [
6969 self .path is not None ,
7070 bool (self .messages ),
7171 ]
72- if sum (sources ) != 1 :
73- raise ValueError ("SystemPromptConfig requires exactly one source." )
72+ if sum (inputs ) != 1 :
73+ raise ValueError (
74+ "SystemPromptConfig requires exactly one of path or messages."
75+ )
7476 return self
7577
7678 def load (self , field_name : str ) -> PromptInput | None :
@@ -81,6 +83,9 @@ def load(self, field_name: str) -> PromptInput | None:
8183 return self .messages
8284
8385
86+ SystemPrompt : TypeAlias = PromptInput | SystemPromptConfig | None
87+
88+
8489def normalize_prompt (
8590 value : PromptInput | None , field_name : str = "prompt"
8691) -> list [JsonData ]:
@@ -95,7 +100,7 @@ def normalize_prompt(
95100
96101
97102def normalize_system_prompt (
98- value : SystemPrompt | SystemPromptConfig | None ,
103+ value : SystemPrompt ,
99104 field_name : str = "system_prompt" ,
100105) -> list [JsonData ]:
101106 value = resolve_system_prompt_input (value , field_name = field_name )
@@ -111,7 +116,7 @@ def normalize_system_prompt(
111116
112117
113118def resolve_system_prompt_input (
114- value : PromptInput | SystemPromptConfig | None ,
119+ value : SystemPrompt ,
115120 * ,
116121 field_name : str ,
117122) -> PromptInput | None :
0 commit comments