22Agent API client for the Langbase SDK.
33"""
44
5- from typing import Any , Dict , List , Optional , Union , overload
5+ from typing import Any , Dict , List , Literal , Optional , Union , overload
66
77from langbase .constants import AGENT_RUN_ENDPOINT
88from langbase .request import Request
9+ from langbase .types import McpServerSchema , Message , ToolChoice , Tools
910from langbase .utils import clean_null_values
1011
1112
@@ -17,7 +18,7 @@ def __init__(self, parent):
1718 @overload
1819 def run (
1920 self ,
20- input : Union [str , List [Dict [ str , Any ] ]],
21+ input : Union [str , List [Message ]],
2122 model : str ,
2223 api_key : str ,
2324 instructions : Optional [str ] = None ,
@@ -27,14 +28,14 @@ def run(
2728 presence_penalty : Optional [float ] = None ,
2829 frequency_penalty : Optional [float ] = None ,
2930 stop : Optional [List [str ]] = None ,
30- tools : Optional [List [Dict [ str , Any ] ]] = None ,
31- tool_choice : Optional [Union [str , Dict [ str , Any ] ]] = None ,
31+ tools : Optional [List [Tools ]] = None ,
32+ tool_choice : Optional [Union [Literal [ "auto" , "required" ], ToolChoice ]] = None ,
3233 parallel_tool_calls : Optional [bool ] = None ,
3334 reasoning_effort : Optional [str ] = None ,
3435 max_completion_tokens : Optional [int ] = None ,
3536 response_format : Optional [Dict [str , Any ]] = None ,
3637 custom_model_params : Optional [Dict [str , Any ]] = None ,
37- mcp_servers : Optional [ List [Dict [ str , Any ]] ] = None ,
38+ mcp_servers : List [McpServerSchema ] = None ,
3839 * ,
3940 stream : bool = True ,
4041 ) -> Any :
@@ -44,7 +45,7 @@ def run(
4445 @overload
4546 def run (
4647 self ,
47- input : Union [str , List [Dict [ str , Any ] ]],
48+ input : Union [str , List [Message ]],
4849 model : str ,
4950 api_key : str ,
5051 instructions : Optional [str ] = None ,
@@ -54,22 +55,22 @@ def run(
5455 presence_penalty : Optional [float ] = None ,
5556 frequency_penalty : Optional [float ] = None ,
5657 stop : Optional [List [str ]] = None ,
57- tools : Optional [List [Dict [ str , Any ] ]] = None ,
58- tool_choice : Optional [Union [str , Dict [ str , Any ] ]] = None ,
58+ tools : Optional [List [Tools ]] = None ,
59+ tool_choice : Optional [Union [Literal [ "auto" , "required" ], ToolChoice ]] = None ,
5960 parallel_tool_calls : Optional [bool ] = None ,
6061 reasoning_effort : Optional [str ] = None ,
6162 max_completion_tokens : Optional [int ] = None ,
6263 response_format : Optional [Dict [str , Any ]] = None ,
6364 custom_model_params : Optional [Dict [str , Any ]] = None ,
64- mcp_servers : Optional [ List [Dict [ str , Any ]] ] = None ,
65+ mcp_servers : List [McpServerSchema ] = None ,
6566 stream : bool = False ,
6667 ) -> Dict [str , Any ]:
6768 """Non-stream overload - returns dict response when stream=False"""
6869 ...
6970
7071 def run (
7172 self ,
72- input : Union [str , List [Dict [ str , Any ] ]],
73+ input : Union [str , List [Message ]],
7374 model : str ,
7475 api_key : str ,
7576 instructions : Optional [str ] = None ,
@@ -79,14 +80,14 @@ def run(
7980 presence_penalty : Optional [float ] = None ,
8081 frequency_penalty : Optional [float ] = None ,
8182 stop : Optional [List [str ]] = None ,
82- tools : Optional [List [Dict [ str , Any ] ]] = None ,
83- tool_choice : Optional [Union [str , Dict [ str , Any ] ]] = None ,
83+ tools : Optional [List [Tools ]] = None ,
84+ tool_choice : Optional [Union [Literal [ "auto" , "required" ], ToolChoice ]] = None ,
8485 parallel_tool_calls : Optional [bool ] = None ,
8586 reasoning_effort : Optional [str ] = None ,
8687 max_completion_tokens : Optional [int ] = None ,
8788 response_format : Optional [Dict [str , Any ]] = None ,
8889 custom_model_params : Optional [Dict [str , Any ]] = None ,
89- mcp_servers : Optional [ List [Dict [ str , Any ]] ] = None ,
90+ mcp_servers : List [McpServerSchema ] = None ,
9091 stream : bool = False ,
9192 ) -> Union [Dict [str , Any ], Any ]:
9293 """
0 commit comments