3434 CrewStructuredTool ,
3535 _deserialize_schema ,
3636 _format_tool_output_for_agent ,
37- _infer_output_schema_from_callable ,
37+ _infer_result_schema_from_callable ,
3838 _serialize_schema ,
3939 build_schema_hint ,
4040)
@@ -151,7 +151,7 @@ def _validate_tool(value: Any, nxt: Any) -> Any:
151151 validate_default = True ,
152152 description = "The schema for the arguments that the tool accepts." ,
153153 )
154- output_schema : type [PydanticBaseModel ] | None = Field (
154+ result_schema : type [PydanticBaseModel ] | None = Field (
155155 default = None ,
156156 validate_default = True ,
157157 description = "The schema for the output that the tool returns." ,
@@ -163,8 +163,8 @@ def _serialize_args_schema(
163163 ) -> dict [str , Any ] | None :
164164 return _serialize_schema (schema )
165165
166- @field_serializer ("output_schema " , when_used = "json" )
167- def _serialize_output_schema (
166+ @field_serializer ("result_schema " , when_used = "json" )
167+ def _serialize_result_schema (
168168 self , schema : type [PydanticBaseModel ] | None
169169 ) -> dict [str , Any ] | None :
170170 return _serialize_schema (schema )
@@ -246,16 +246,16 @@ def _default_args_schema(
246246
247247 return create_model (f"{ cls .__name__ } Schema" , ** fields )
248248
249- @field_validator ("output_schema " , mode = "before" )
249+ @field_validator ("result_schema " , mode = "before" )
250250 @classmethod
251- def _default_output_schema (
251+ def _default_result_schema (
252252 cls , v : type [PydanticBaseModel ] | dict [str , Any ] | None
253253 ) -> type [PydanticBaseModel ] | None :
254254 if isinstance (v , dict ):
255255 return _deserialize_schema (v )
256256 if v is not None :
257257 return v
258- return _infer_output_schema_from_callable (cls ._run )
258+ return _infer_result_schema_from_callable (cls ._run )
259259
260260 @field_validator ("max_usage_count" , mode = "before" )
261261 @classmethod
@@ -397,7 +397,7 @@ def to_structured_tool(self) -> CrewStructuredTool:
397397 name = self .name ,
398398 description = self .description ,
399399 args_schema = self .args_schema ,
400- output_schema = self .output_schema ,
400+ result_schema = self .result_schema ,
401401 func = self ._run ,
402402 result_as_answer = self .result_as_answer ,
403403 max_usage_count = self .max_usage_count ,
@@ -419,9 +419,9 @@ def from_langchain(cls, tool: Any) -> BaseTool:
419419 raise ValueError ("The provided tool must have a callable 'func' attribute." )
420420
421421 args_schema = getattr (tool , "args_schema" , None )
422- output_schema = getattr (tool , "output_schema " , None )
423- if output_schema is None :
424- output_schema = _infer_output_schema_from_callable (tool .func )
422+ result_schema = getattr (tool , "result_schema " , None )
423+ if result_schema is None :
424+ result_schema = _infer_result_schema_from_callable (tool .func )
425425
426426 if args_schema is None :
427427 func_signature = signature (tool .func )
@@ -452,7 +452,7 @@ def from_langchain(cls, tool: Any) -> BaseTool:
452452 description = getattr (tool , "description" , "" ),
453453 func = tool .func ,
454454 args_schema = args_schema ,
455- output_schema = output_schema ,
455+ result_schema = result_schema ,
456456 )
457457
458458 def _set_args_schema (self ) -> None :
@@ -601,9 +601,9 @@ def from_langchain(cls, tool: Any) -> Tool[..., Any]:
601601 raise ValueError ("The provided tool must have a callable 'func' attribute." )
602602
603603 args_schema = getattr (tool , "args_schema" , None )
604- output_schema = getattr (tool , "output_schema " , None )
605- if output_schema is None :
606- output_schema = _infer_output_schema_from_callable (tool .func )
604+ result_schema = getattr (tool , "result_schema " , None )
605+ if result_schema is None :
606+ result_schema = _infer_result_schema_from_callable (tool .func )
607607
608608 if args_schema is None :
609609 func_signature = signature (tool .func )
@@ -634,7 +634,7 @@ def from_langchain(cls, tool: Any) -> Tool[..., Any]:
634634 description = getattr (tool , "description" , "" ),
635635 func = tool .func ,
636636 args_schema = args_schema ,
637- output_schema = output_schema ,
637+ result_schema = result_schema ,
638638 )
639639
640640
@@ -658,7 +658,7 @@ def tool(
658658 name : str ,
659659 / ,
660660 * ,
661- output_schema : type [BaseModel ] | None = ...,
661+ result_schema : type [BaseModel ] | None = ...,
662662 result_as_answer : bool = ...,
663663 max_usage_count : int | None = ...,
664664) -> Callable [[Callable [P2 , R2 ]], Tool [P2 , R2 ]]: ...
@@ -667,15 +667,15 @@ def tool(
667667@overload
668668def tool (
669669 * ,
670- output_schema : type [BaseModel ] | None = ...,
670+ result_schema : type [BaseModel ] | None = ...,
671671 result_as_answer : bool = ...,
672672 max_usage_count : int | None = ...,
673673) -> Callable [[Callable [P2 , R2 ]], Tool [P2 , R2 ]]: ...
674674
675675
676676def tool (
677677 * args : Callable [P2 , R2 ] | str ,
678- output_schema : type [BaseModel ] | None = None ,
678+ result_schema : type [BaseModel ] | None = None ,
679679 result_as_answer : bool = False ,
680680 max_usage_count : int | None = None ,
681681) -> Tool [P2 , R2 ] | Callable [[Callable [P2 , R2 ]], Tool [P2 , R2 ]]:
@@ -689,7 +689,7 @@ def tool(
689689 Args:
690690 *args: Either the function to decorate or a custom tool name.
691691 result_as_answer: If True, the tool result becomes the final agent answer.
692- output_schema : Optional schema for the output that the tool returns.
692+ result_schema : Optional schema for the output that the tool returns.
693693 max_usage_count: Maximum times this tool can be used. None means unlimited.
694694
695695 Returns:
@@ -731,16 +731,16 @@ def _make_tool(f: Callable[P2, R2]) -> Tool[P2, R2]:
731731
732732 class_name = "" .join (tool_name .split ()).title ()
733733 args_schema = create_model (class_name , ** fields )
734- resolved_output_schema = (
735- output_schema or _infer_output_schema_from_callable (f )
734+ resolved_result_schema = (
735+ result_schema or _infer_result_schema_from_callable (f )
736736 )
737737
738738 return Tool (
739739 name = tool_name ,
740740 description = f .__doc__ ,
741741 func = f ,
742742 args_schema = args_schema ,
743- output_schema = resolved_output_schema ,
743+ result_schema = resolved_result_schema ,
744744 result_as_answer = result_as_answer ,
745745 max_usage_count = max_usage_count ,
746746 current_usage_count = 0 ,
0 commit comments