@@ -151,8 +151,6 @@ class Agent(Generic[AgentDepsT, OutputDataT]):
151
151
_instrument_default : ClassVar [InstrumentationSettings | bool ] = False
152
152
153
153
_deps_type : type [AgentDepsT ] = dataclasses .field (repr = False )
154
- _deprecated_result_tool_name : str | None = dataclasses .field (repr = False )
155
- _deprecated_result_tool_description : str | None = dataclasses .field (repr = False )
156
154
_output_schema : _output .BaseOutputSchema [OutputDataT ] = dataclasses .field (repr = False )
157
155
_output_validators : list [_output .OutputValidator [AgentDepsT , OutputDataT ]] = dataclasses .field (repr = False )
158
156
_instructions : str | None = dataclasses .field (repr = False )
@@ -199,44 +197,13 @@ def __init__(
199
197
history_processors : Sequence [HistoryProcessor [AgentDepsT ]] | None = None ,
200
198
) -> None : ...
201
199
202
- @overload
203
- @deprecated (
204
- '`result_type`, `result_tool_name` & `result_tool_description` are deprecated, use `output_type` instead. `result_retries` is deprecated, use `output_retries` instead.'
205
- )
206
- def __init__ (
207
- self ,
208
- model : models .Model | models .KnownModelName | str | None = None ,
209
- * ,
210
- result_type : type [OutputDataT ] = str ,
211
- instructions : str
212
- | _system_prompt .SystemPromptFunc [AgentDepsT ]
213
- | Sequence [str | _system_prompt .SystemPromptFunc [AgentDepsT ]]
214
- | None = None ,
215
- system_prompt : str | Sequence [str ] = (),
216
- deps_type : type [AgentDepsT ] = NoneType ,
217
- name : str | None = None ,
218
- model_settings : ModelSettings | None = None ,
219
- retries : int = 1 ,
220
- result_tool_name : str = _output .DEFAULT_OUTPUT_TOOL_NAME ,
221
- result_tool_description : str | None = None ,
222
- result_retries : int | None = None ,
223
- tools : Sequence [Tool [AgentDepsT ] | ToolFuncEither [AgentDepsT , ...]] = (),
224
- prepare_tools : ToolsPrepareFunc [AgentDepsT ] | None = None ,
225
- prepare_output_tools : ToolsPrepareFunc [AgentDepsT ] | None = None ,
226
- toolsets : Sequence [AbstractToolset [AgentDepsT ]] | None = None ,
227
- defer_model_check : bool = False ,
228
- end_strategy : EndStrategy = 'early' ,
229
- instrument : InstrumentationSettings | bool | None = None ,
230
- history_processors : Sequence [HistoryProcessor [AgentDepsT ]] | None = None ,
231
- ) -> None : ...
232
-
233
200
@overload
234
201
@deprecated ('`mcp_servers` is deprecated, use `toolsets` instead.' )
235
202
def __init__ (
236
203
self ,
237
204
model : models .Model | models .KnownModelName | str | None = None ,
238
205
* ,
239
- result_type : type [OutputDataT ] = str ,
206
+ output_type : OutputSpec [OutputDataT ] = str ,
240
207
instructions : str
241
208
| _system_prompt .SystemPromptFunc [AgentDepsT ]
242
209
| Sequence [str | _system_prompt .SystemPromptFunc [AgentDepsT ]]
@@ -246,9 +213,7 @@ def __init__(
246
213
name : str | None = None ,
247
214
model_settings : ModelSettings | None = None ,
248
215
retries : int = 1 ,
249
- result_tool_name : str = _output .DEFAULT_OUTPUT_TOOL_NAME ,
250
- result_tool_description : str | None = None ,
251
- result_retries : int | None = None ,
216
+ output_retries : int | None = None ,
252
217
tools : Sequence [Tool [AgentDepsT ] | ToolFuncEither [AgentDepsT , ...]] = (),
253
218
prepare_tools : ToolsPrepareFunc [AgentDepsT ] | None = None ,
254
219
prepare_output_tools : ToolsPrepareFunc [AgentDepsT ] | None = None ,
@@ -263,8 +228,7 @@ def __init__(
263
228
self ,
264
229
model : models .Model | models .KnownModelName | str | None = None ,
265
230
* ,
266
- # TODO change this back to `output_type: _output.OutputType[OutputDataT] = str,` when we remove the overloads
267
- output_type : Any = str ,
231
+ output_type : OutputSpec [OutputDataT ] = str ,
268
232
instructions : str
269
233
| _system_prompt .SystemPromptFunc [AgentDepsT ]
270
234
| Sequence [str | _system_prompt .SystemPromptFunc [AgentDepsT ]]
@@ -341,42 +305,10 @@ def __init__(
341
305
self .name = name
342
306
self .model_settings = model_settings
343
307
344
- if 'result_type' in _deprecated_kwargs :
345
- if output_type is not str : # pragma: no cover
346
- raise TypeError ('`result_type` and `output_type` cannot be set at the same time.' )
347
- warnings .warn ('`result_type` is deprecated, use `output_type` instead' , DeprecationWarning , stacklevel = 2 )
348
- output_type = _deprecated_kwargs .pop ('result_type' )
349
-
350
308
self .output_type = output_type
351
-
352
309
self .instrument = instrument
353
-
354
310
self ._deps_type = deps_type
355
311
356
- self ._deprecated_result_tool_name = _deprecated_kwargs .pop ('result_tool_name' , None )
357
- if self ._deprecated_result_tool_name is not None :
358
- warnings .warn (
359
- '`result_tool_name` is deprecated, use `output_type` with `ToolOutput` instead' ,
360
- DeprecationWarning ,
361
- stacklevel = 2 ,
362
- )
363
-
364
- self ._deprecated_result_tool_description = _deprecated_kwargs .pop ('result_tool_description' , None )
365
- if self ._deprecated_result_tool_description is not None :
366
- warnings .warn (
367
- '`result_tool_description` is deprecated, use `output_type` with `ToolOutput` instead' ,
368
- DeprecationWarning ,
369
- stacklevel = 2 ,
370
- )
371
- result_retries = _deprecated_kwargs .pop ('result_retries' , None )
372
- if result_retries is not None :
373
- if output_retries is not None : # pragma: no cover
374
- raise TypeError ('`output_retries` and `result_retries` cannot be set at the same time.' )
375
- warnings .warn (
376
- '`result_retries` is deprecated, use `max_result_retries` instead' , DeprecationWarning , stacklevel = 2
377
- )
378
- output_retries = result_retries
379
-
380
312
if mcp_servers := _deprecated_kwargs .pop ('mcp_servers' , None ):
381
313
if toolsets is not None : # pragma: no cover
382
314
raise TypeError ('`mcp_servers` and `toolsets` cannot be set at the same time.' )
@@ -389,12 +321,7 @@ def __init__(
389
321
self .model .profile .default_structured_output_mode if isinstance (self .model , models .Model ) else None
390
322
)
391
323
392
- self ._output_schema = _output .OutputSchema [OutputDataT ].build (
393
- output_type ,
394
- default_mode = default_output_mode ,
395
- name = self ._deprecated_result_tool_name ,
396
- description = self ._deprecated_result_tool_description ,
397
- )
324
+ self ._output_schema = _output .OutputSchema [OutputDataT ].build (output_type , default_mode = default_output_mode )
398
325
self ._output_validators = []
399
326
400
327
self ._instructions = ''
@@ -472,23 +399,6 @@ async def run(
472
399
toolsets : Sequence [AbstractToolset [AgentDepsT ]] | None = None ,
473
400
) -> AgentRunResult [RunOutputDataT ]: ...
474
401
475
- @overload
476
- @deprecated ('`result_type` is deprecated, use `output_type` instead.' )
477
- async def run (
478
- self ,
479
- user_prompt : str | Sequence [_messages .UserContent ] | None = None ,
480
- * ,
481
- result_type : type [RunOutputDataT ],
482
- message_history : list [_messages .ModelMessage ] | None = None ,
483
- model : models .Model | models .KnownModelName | str | None = None ,
484
- deps : AgentDepsT = None ,
485
- model_settings : ModelSettings | None = None ,
486
- usage_limits : _usage .UsageLimits | None = None ,
487
- usage : _usage .Usage | None = None ,
488
- infer_name : bool = True ,
489
- toolsets : Sequence [AbstractToolset [AgentDepsT ]] | None = None ,
490
- ) -> AgentRunResult [RunOutputDataT ]: ...
491
-
492
402
async def run (
493
403
self ,
494
404
user_prompt : str | Sequence [_messages .UserContent ] | None = None ,
@@ -540,12 +450,6 @@ async def main():
540
450
if infer_name and self .name is None :
541
451
self ._infer_name (inspect .currentframe ())
542
452
543
- if 'result_type' in _deprecated_kwargs : # pragma: no cover
544
- if output_type is not str :
545
- raise TypeError ('`result_type` and `output_type` cannot be set at the same time.' )
546
- warnings .warn ('`result_type` is deprecated, use `output_type` instead.' , DeprecationWarning , stacklevel = 2 )
547
- output_type = _deprecated_kwargs .pop ('result_type' )
548
-
549
453
_utils .validate_empty_kwargs (_deprecated_kwargs )
550
454
551
455
async with self .iter (
@@ -599,23 +503,6 @@ def iter(
599
503
** _deprecated_kwargs : Never ,
600
504
) -> AbstractAsyncContextManager [AgentRun [AgentDepsT , RunOutputDataT ]]: ...
601
505
602
- @overload
603
- @deprecated ('`result_type` is deprecated, use `output_type` instead.' )
604
- def iter (
605
- self ,
606
- user_prompt : str | Sequence [_messages .UserContent ] | None = None ,
607
- * ,
608
- result_type : type [RunOutputDataT ],
609
- message_history : list [_messages .ModelMessage ] | None = None ,
610
- model : models .Model | models .KnownModelName | str | None = None ,
611
- deps : AgentDepsT = None ,
612
- model_settings : ModelSettings | None = None ,
613
- usage_limits : _usage .UsageLimits | None = None ,
614
- usage : _usage .Usage | None = None ,
615
- infer_name : bool = True ,
616
- toolsets : Sequence [AbstractToolset [AgentDepsT ]] | None = None ,
617
- ) -> AbstractAsyncContextManager [AgentRun [AgentDepsT , Any ]]: ...
618
-
619
506
@asynccontextmanager
620
507
async def iter (
621
508
self ,
@@ -714,12 +601,6 @@ async def main():
714
601
model_used = self ._get_model (model )
715
602
del model
716
603
717
- if 'result_type' in _deprecated_kwargs : # pragma: no cover
718
- if output_type is not str :
719
- raise TypeError ('`result_type` and `output_type` cannot be set at the same time.' )
720
- warnings .warn ('`result_type` is deprecated, use `output_type` instead.' , DeprecationWarning , stacklevel = 2 )
721
- output_type = _deprecated_kwargs .pop ('result_type' )
722
-
723
604
_utils .validate_empty_kwargs (_deprecated_kwargs )
724
605
725
606
deps = self ._get_deps (deps )
@@ -910,23 +791,6 @@ def run_sync(
910
791
toolsets : Sequence [AbstractToolset [AgentDepsT ]] | None = None ,
911
792
) -> AgentRunResult [RunOutputDataT ]: ...
912
793
913
- @overload
914
- @deprecated ('`result_type` is deprecated, use `output_type` instead.' )
915
- def run_sync (
916
- self ,
917
- user_prompt : str | Sequence [_messages .UserContent ] | None = None ,
918
- * ,
919
- result_type : type [RunOutputDataT ],
920
- message_history : list [_messages .ModelMessage ] | None = None ,
921
- model : models .Model | models .KnownModelName | str | None = None ,
922
- deps : AgentDepsT = None ,
923
- model_settings : ModelSettings | None = None ,
924
- usage_limits : _usage .UsageLimits | None = None ,
925
- usage : _usage .Usage | None = None ,
926
- infer_name : bool = True ,
927
- toolsets : Sequence [AbstractToolset [AgentDepsT ]] | None = None ,
928
- ) -> AgentRunResult [RunOutputDataT ]: ...
929
-
930
794
def run_sync (
931
795
self ,
932
796
user_prompt : str | Sequence [_messages .UserContent ] | None = None ,
@@ -977,12 +841,6 @@ def run_sync(
977
841
if infer_name and self .name is None :
978
842
self ._infer_name (inspect .currentframe ())
979
843
980
- if 'result_type' in _deprecated_kwargs : # pragma: no cover
981
- if output_type is not str :
982
- raise TypeError ('`result_type` and `output_type` cannot be set at the same time.' )
983
- warnings .warn ('`result_type` is deprecated, use `output_type` instead.' , DeprecationWarning , stacklevel = 2 )
984
- output_type = _deprecated_kwargs .pop ('result_type' )
985
-
986
844
_utils .validate_empty_kwargs (_deprecated_kwargs )
987
845
988
846
return get_event_loop ().run_until_complete (
@@ -1031,25 +889,8 @@ def run_stream(
1031
889
toolsets : Sequence [AbstractToolset [AgentDepsT ]] | None = None ,
1032
890
) -> AbstractAsyncContextManager [result .StreamedRunResult [AgentDepsT , RunOutputDataT ]]: ...
1033
891
1034
- @overload
1035
- @deprecated ('`result_type` is deprecated, use `output_type` instead.' )
1036
- def run_stream (
1037
- self ,
1038
- user_prompt : str | Sequence [_messages .UserContent ] | None = None ,
1039
- * ,
1040
- result_type : type [RunOutputDataT ],
1041
- message_history : list [_messages .ModelMessage ] | None = None ,
1042
- model : models .Model | models .KnownModelName | str | None = None ,
1043
- deps : AgentDepsT = None ,
1044
- model_settings : ModelSettings | None = None ,
1045
- usage_limits : _usage .UsageLimits | None = None ,
1046
- usage : _usage .Usage | None = None ,
1047
- infer_name : bool = True ,
1048
- toolsets : Sequence [AbstractToolset [AgentDepsT ]] | None = None ,
1049
- ) -> AbstractAsyncContextManager [result .StreamedRunResult [AgentDepsT , RunOutputDataT ]]: ...
1050
-
1051
892
@asynccontextmanager
1052
- async def run_stream ( # noqa C901
893
+ async def run_stream (
1053
894
self ,
1054
895
user_prompt : str | Sequence [_messages .UserContent ] | None = None ,
1055
896
* ,
@@ -1101,12 +942,6 @@ async def main():
1101
942
if frame := inspect .currentframe (): # pragma: no branch
1102
943
self ._infer_name (frame .f_back )
1103
944
1104
- if 'result_type' in _deprecated_kwargs : # pragma: no cover
1105
- if output_type is not str :
1106
- raise TypeError ('`result_type` and `output_type` cannot be set at the same time.' )
1107
- warnings .warn ('`result_type` is deprecated, use `output_type` instead.' , DeprecationWarning , stacklevel = 2 )
1108
- output_type = _deprecated_kwargs .pop ('result_type' )
1109
-
1110
945
_utils .validate_empty_kwargs (_deprecated_kwargs )
1111
946
1112
947
yielded = False
@@ -1732,10 +1567,7 @@ def _prepare_output_schema(
1732
1567
if self ._output_validators :
1733
1568
raise exceptions .UserError ('Cannot set a custom run `output_type` when the agent has output validators' )
1734
1569
schema = _output .OutputSchema [RunOutputDataT ].build (
1735
- output_type ,
1736
- name = self ._deprecated_result_tool_name ,
1737
- description = self ._deprecated_result_tool_description ,
1738
- default_mode = model_profile .default_structured_output_mode ,
1570
+ output_type , default_mode = model_profile .default_structured_output_mode
1739
1571
)
1740
1572
else :
1741
1573
schema = self ._output_schema .with_default_mode (model_profile .default_structured_output_mode )
0 commit comments