@@ -412,8 +412,8 @@ def mode(self) -> OutputMode:
412412
413413 def dump (self ) -> JsonSchema :
414414 if self .toolset :
415- processors = []
416- for tool_def in self .toolset ._tool_defs :
415+ processors : list [ ObjectOutputProcessor [ OutputDataT ]] = []
416+ for tool_def in self .toolset ._tool_defs : # pyright: ignore [reportPrivateUsage]
417417 processor = copy .copy (self .toolset .processors [tool_def .name ])
418418 processor .object_def .name = tool_def .name
419419 processor .object_def .description = tool_def .description
@@ -546,13 +546,16 @@ def mode(self) -> OutputMode:
546546 return 'tool'
547547
548548 def dump (self ) -> JsonSchema :
549- processors = []
550- for tool_def in self .toolset ._tool_defs :
551- processor = copy .copy (self .toolset .processors [tool_def .name ])
552- processor .object_def .name = tool_def .name
553- processor .object_def .description = tool_def .description
554- processors .append (processor )
555- return UnionOutputProcessor (processors ).object_def .json_schema
549+ if self .toolset :
550+ processors : list [ObjectOutputProcessor [OutputDataT ]] = []
551+ for tool_def in self .toolset ._tool_defs : # pyright: ignore [reportPrivateUsage]
552+ processor = copy .copy (self .toolset .processors [tool_def .name ])
553+ processor .object_def .name = tool_def .name
554+ processor .object_def .description = tool_def .description
555+ processors .append (processor )
556+ return UnionOutputProcessor (processors ).object_def .json_schema
557+ else :
558+ raise RuntimeError ('ToolOutputSchema has no toolset.' )
556559
557560
558561class BaseOutputProcessor (ABC , Generic [OutputDataT ]):
0 commit comments