agentrun-inner-test 0.0.46__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. agentrun/__init__.py +325 -0
  2. agentrun/agent_runtime/__client_async_template.py +466 -0
  3. agentrun/agent_runtime/__endpoint_async_template.py +345 -0
  4. agentrun/agent_runtime/__init__.py +53 -0
  5. agentrun/agent_runtime/__runtime_async_template.py +477 -0
  6. agentrun/agent_runtime/api/__data_async_template.py +58 -0
  7. agentrun/agent_runtime/api/__init__.py +6 -0
  8. agentrun/agent_runtime/api/control.py +1362 -0
  9. agentrun/agent_runtime/api/data.py +98 -0
  10. agentrun/agent_runtime/client.py +868 -0
  11. agentrun/agent_runtime/endpoint.py +649 -0
  12. agentrun/agent_runtime/model.py +362 -0
  13. agentrun/agent_runtime/runtime.py +904 -0
  14. agentrun/credential/__client_async_template.py +177 -0
  15. agentrun/credential/__credential_async_template.py +216 -0
  16. agentrun/credential/__init__.py +28 -0
  17. agentrun/credential/api/__init__.py +5 -0
  18. agentrun/credential/api/control.py +606 -0
  19. agentrun/credential/client.py +319 -0
  20. agentrun/credential/credential.py +381 -0
  21. agentrun/credential/model.py +248 -0
  22. agentrun/integration/__init__.py +21 -0
  23. agentrun/integration/agentscope/__init__.py +12 -0
  24. agentrun/integration/agentscope/adapter.py +17 -0
  25. agentrun/integration/agentscope/builtin.py +65 -0
  26. agentrun/integration/agentscope/message_adapter.py +185 -0
  27. agentrun/integration/agentscope/model_adapter.py +60 -0
  28. agentrun/integration/agentscope/tool_adapter.py +59 -0
  29. agentrun/integration/builtin/__init__.py +16 -0
  30. agentrun/integration/builtin/model.py +93 -0
  31. agentrun/integration/builtin/sandbox.py +1234 -0
  32. agentrun/integration/builtin/toolset.py +47 -0
  33. agentrun/integration/crewai/__init__.py +12 -0
  34. agentrun/integration/crewai/adapter.py +9 -0
  35. agentrun/integration/crewai/builtin.py +65 -0
  36. agentrun/integration/crewai/model_adapter.py +31 -0
  37. agentrun/integration/crewai/tool_adapter.py +26 -0
  38. agentrun/integration/google_adk/__init__.py +12 -0
  39. agentrun/integration/google_adk/adapter.py +15 -0
  40. agentrun/integration/google_adk/builtin.py +65 -0
  41. agentrun/integration/google_adk/message_adapter.py +144 -0
  42. agentrun/integration/google_adk/model_adapter.py +46 -0
  43. agentrun/integration/google_adk/tool_adapter.py +235 -0
  44. agentrun/integration/langchain/__init__.py +30 -0
  45. agentrun/integration/langchain/adapter.py +15 -0
  46. agentrun/integration/langchain/builtin.py +71 -0
  47. agentrun/integration/langchain/message_adapter.py +141 -0
  48. agentrun/integration/langchain/model_adapter.py +37 -0
  49. agentrun/integration/langchain/tool_adapter.py +50 -0
  50. agentrun/integration/langgraph/__init__.py +35 -0
  51. agentrun/integration/langgraph/adapter.py +20 -0
  52. agentrun/integration/langgraph/agent_converter.py +1073 -0
  53. agentrun/integration/langgraph/builtin.py +65 -0
  54. agentrun/integration/pydantic_ai/__init__.py +12 -0
  55. agentrun/integration/pydantic_ai/adapter.py +13 -0
  56. agentrun/integration/pydantic_ai/builtin.py +65 -0
  57. agentrun/integration/pydantic_ai/model_adapter.py +44 -0
  58. agentrun/integration/pydantic_ai/tool_adapter.py +19 -0
  59. agentrun/integration/utils/__init__.py +112 -0
  60. agentrun/integration/utils/adapter.py +560 -0
  61. agentrun/integration/utils/canonical.py +164 -0
  62. agentrun/integration/utils/converter.py +134 -0
  63. agentrun/integration/utils/model.py +110 -0
  64. agentrun/integration/utils/tool.py +1759 -0
  65. agentrun/model/__client_async_template.py +357 -0
  66. agentrun/model/__init__.py +57 -0
  67. agentrun/model/__model_proxy_async_template.py +270 -0
  68. agentrun/model/__model_service_async_template.py +267 -0
  69. agentrun/model/api/__init__.py +6 -0
  70. agentrun/model/api/control.py +1173 -0
  71. agentrun/model/api/data.py +196 -0
  72. agentrun/model/client.py +674 -0
  73. agentrun/model/model.py +235 -0
  74. agentrun/model/model_proxy.py +439 -0
  75. agentrun/model/model_service.py +438 -0
  76. agentrun/sandbox/__aio_sandbox_async_template.py +523 -0
  77. agentrun/sandbox/__browser_sandbox_async_template.py +110 -0
  78. agentrun/sandbox/__client_async_template.py +491 -0
  79. agentrun/sandbox/__code_interpreter_sandbox_async_template.py +463 -0
  80. agentrun/sandbox/__init__.py +69 -0
  81. agentrun/sandbox/__sandbox_async_template.py +463 -0
  82. agentrun/sandbox/__template_async_template.py +152 -0
  83. agentrun/sandbox/aio_sandbox.py +905 -0
  84. agentrun/sandbox/api/__aio_data_async_template.py +335 -0
  85. agentrun/sandbox/api/__browser_data_async_template.py +140 -0
  86. agentrun/sandbox/api/__code_interpreter_data_async_template.py +206 -0
  87. agentrun/sandbox/api/__init__.py +19 -0
  88. agentrun/sandbox/api/__sandbox_data_async_template.py +107 -0
  89. agentrun/sandbox/api/aio_data.py +551 -0
  90. agentrun/sandbox/api/browser_data.py +172 -0
  91. agentrun/sandbox/api/code_interpreter_data.py +396 -0
  92. agentrun/sandbox/api/control.py +1051 -0
  93. agentrun/sandbox/api/playwright_async.py +492 -0
  94. agentrun/sandbox/api/playwright_sync.py +492 -0
  95. agentrun/sandbox/api/sandbox_data.py +154 -0
  96. agentrun/sandbox/browser_sandbox.py +185 -0
  97. agentrun/sandbox/client.py +925 -0
  98. agentrun/sandbox/code_interpreter_sandbox.py +823 -0
  99. agentrun/sandbox/model.py +397 -0
  100. agentrun/sandbox/sandbox.py +848 -0
  101. agentrun/sandbox/template.py +217 -0
  102. agentrun/server/__init__.py +191 -0
  103. agentrun/server/agui_normalizer.py +180 -0
  104. agentrun/server/agui_protocol.py +797 -0
  105. agentrun/server/invoker.py +309 -0
  106. agentrun/server/model.py +427 -0
  107. agentrun/server/openai_protocol.py +535 -0
  108. agentrun/server/protocol.py +140 -0
  109. agentrun/server/server.py +208 -0
  110. agentrun/toolset/__client_async_template.py +62 -0
  111. agentrun/toolset/__init__.py +51 -0
  112. agentrun/toolset/__toolset_async_template.py +204 -0
  113. agentrun/toolset/api/__init__.py +17 -0
  114. agentrun/toolset/api/control.py +262 -0
  115. agentrun/toolset/api/mcp.py +100 -0
  116. agentrun/toolset/api/openapi.py +1251 -0
  117. agentrun/toolset/client.py +102 -0
  118. agentrun/toolset/model.py +321 -0
  119. agentrun/toolset/toolset.py +270 -0
  120. agentrun/utils/__data_api_async_template.py +720 -0
  121. agentrun/utils/__init__.py +5 -0
  122. agentrun/utils/__resource_async_template.py +158 -0
  123. agentrun/utils/config.py +258 -0
  124. agentrun/utils/control_api.py +78 -0
  125. agentrun/utils/data_api.py +1120 -0
  126. agentrun/utils/exception.py +151 -0
  127. agentrun/utils/helper.py +108 -0
  128. agentrun/utils/log.py +77 -0
  129. agentrun/utils/model.py +168 -0
  130. agentrun/utils/resource.py +291 -0
  131. agentrun_inner_test-0.0.46.dist-info/METADATA +263 -0
  132. agentrun_inner_test-0.0.46.dist-info/RECORD +135 -0
  133. agentrun_inner_test-0.0.46.dist-info/WHEEL +5 -0
  134. agentrun_inner_test-0.0.46.dist-info/licenses/LICENSE +201 -0
  135. agentrun_inner_test-0.0.46.dist-info/top_level.txt +1 -0
@@ -0,0 +1,196 @@
1
+ from typing import Dict, Optional, TYPE_CHECKING, Union
2
+
3
+ from agentrun.utils.config import Config
4
+
5
+ if TYPE_CHECKING:
6
+ from litellm import ResponseInputParam
7
+
8
+ from agentrun.utils.data_api import DataAPI, ResourceType
9
+ from agentrun.utils.helper import mask_password
10
+ from agentrun.utils.log import logger
11
+ from agentrun.utils.model import BaseModel
12
+
13
+
14
+ class BaseInfo(BaseModel):
15
+ model: Optional[str] = None
16
+ api_key: Optional[str] = None
17
+ base_url: Optional[str] = None
18
+ headers: Optional[Dict[str, str]] = None
19
+ provider: Optional[str] = None
20
+
21
+
22
+ class ModelCompletionAPI:
23
+
24
+ def __init__(
25
+ self,
26
+ *,
27
+ api_key: str,
28
+ base_url: str,
29
+ model: str,
30
+ headers: Optional[dict] = None,
31
+ provider: str = "openai",
32
+ ) -> None:
33
+ self.api_key = api_key
34
+ self.base_url = base_url
35
+ self.model = model
36
+ self.provider = provider
37
+ self.headers = headers or {}
38
+
39
+ def completions(
40
+ self,
41
+ messages: list = [],
42
+ model: Optional[str] = None,
43
+ custom_llm_provider: Optional[str] = None,
44
+ **kwargs,
45
+ ):
46
+ logger.debug(
47
+ "ModelCompletionAPI completions called %s, api_key: %s,"
48
+ " messages: %s",
49
+ self.base_url,
50
+ mask_password(self.api_key),
51
+ messages,
52
+ )
53
+ kwargs["headers"] = {
54
+ **self.headers,
55
+ **kwargs.get("headers", {}),
56
+ }
57
+ if kwargs.get("stream_options") is None:
58
+ kwargs["stream_options"] = {}
59
+ kwargs["stream_options"]["include_usage"] = True
60
+
61
+ from litellm import completion
62
+
63
+ return completion(
64
+ **kwargs,
65
+ api_key=self.api_key,
66
+ base_url=self.base_url,
67
+ model=model or self.model,
68
+ custom_llm_provider=custom_llm_provider or self.provider,
69
+ messages=messages,
70
+ )
71
+
72
+ def responses(
73
+ self,
74
+ input: Union[str, "ResponseInputParam"],
75
+ model: Optional[str] = None,
76
+ custom_llm_provider: Optional[str] = None,
77
+ **kwargs,
78
+ ):
79
+ logger.debug(
80
+ "ModelCompletionAPI responses called %s, api_key: %s, input: %s",
81
+ self.base_url,
82
+ mask_password(self.api_key),
83
+ input,
84
+ )
85
+ kwargs["headers"] = {
86
+ **self.headers,
87
+ **kwargs.get("headers", {}),
88
+ }
89
+ if kwargs.get("stream_options") is None:
90
+ kwargs["stream_options"] = {}
91
+ kwargs["stream_options"]["include_usage"] = True
92
+ from litellm import responses
93
+
94
+ return responses(
95
+ **kwargs,
96
+ api_key=self.api_key,
97
+ base_url=self.base_url,
98
+ model=model or self.model,
99
+ custom_llm_provider=custom_llm_provider or self.provider,
100
+ input=input,
101
+ )
102
+
103
+
104
+ class ModelDataAPI(DataAPI):
105
+
106
+ def __init__(
107
+ self,
108
+ model_proxy_name: str,
109
+ model_name: Optional[str] = None,
110
+ credential_name: Optional[str] = None,
111
+ provider: Optional[str] = "openai",
112
+ config: Optional[Config] = None,
113
+ ) -> None:
114
+ super().__init__(
115
+ resource_name=model_proxy_name,
116
+ resource_type=ResourceType.LiteLLM,
117
+ config=config,
118
+ )
119
+ self.update_model_name(
120
+ model_proxy_name=model_proxy_name,
121
+ model_name=model_name,
122
+ credential_name=credential_name,
123
+ provider=provider,
124
+ config=config,
125
+ )
126
+
127
+ def update_model_name(
128
+ self,
129
+ model_proxy_name,
130
+ model_name: Optional[str],
131
+ credential_name: Optional[str] = None,
132
+ provider: Optional[str] = "openai",
133
+ config: Optional[Config] = None,
134
+ ):
135
+ self.model_proxy_name = model_proxy_name
136
+ self.namespace = f"models/{self.model_proxy_name}"
137
+ self.model_name = model_name
138
+ self.provider = provider
139
+ self.access_token = None
140
+ if not credential_name:
141
+ self.access_token = ""
142
+
143
+ self.config.update(config)
144
+
145
+ def model_info(self, config: Optional[Config] = None) -> BaseInfo:
146
+ cfg = Config.with_configs(self.config, config)
147
+ _, headers, _ = self.auth(headers=self.config.get_headers(), config=cfg)
148
+
149
+ return BaseInfo(
150
+ api_key="",
151
+ base_url=self.with_path("/v1").rstrip("/"),
152
+ model=self.model_name or "",
153
+ headers=headers,
154
+ provider=self.provider or "openai",
155
+ )
156
+
157
+ def completions(
158
+ self,
159
+ messages: list = [],
160
+ model: Optional[str] = None,
161
+ config: Optional[Config] = None,
162
+ **kwargs,
163
+ ):
164
+ info = self.model_info(config=config)
165
+
166
+ return ModelCompletionAPI(
167
+ base_url=info.base_url or "",
168
+ api_key=info.api_key or "",
169
+ model=model or info.model or "",
170
+ headers=info.headers,
171
+ ).completions(
172
+ **kwargs,
173
+ messages=messages,
174
+ custom_llm_provider="openai",
175
+ )
176
+
177
+ def responses(
178
+ self,
179
+ input: Union[str, "ResponseInputParam"],
180
+ model: Optional[str] = None,
181
+ config: Optional[Config] = None,
182
+ **kwargs,
183
+ ):
184
+ info = self.model_info(config=config)
185
+
186
+ return ModelCompletionAPI(
187
+ base_url=info.base_url or "",
188
+ api_key=info.api_key or "",
189
+ model=model or info.model or "",
190
+ headers=info.headers,
191
+ ).responses(
192
+ **kwargs,
193
+ custom_llm_provider="openai",
194
+ model=model,
195
+ input=input,
196
+ )