agentrun-inner-test 0.0.12__tar.gz → 0.0.40__tar.gz
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.
- {agentrun_inner_test-0.0.12/agentrun_inner_test.egg-info → agentrun_inner_test-0.0.40}/PKG-INFO +3 -2
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/__init__.py +140 -24
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/credential/model.py +2 -2
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/agentscope/model_adapter.py +1 -1
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/builtin/model.py +10 -14
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/google_adk/tool_adapter.py +3 -2
- agentrun_inner_test-0.0.40/agentrun/integration/langchain/__init__.py +30 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/langchain/model_adapter.py +2 -2
- agentrun_inner_test-0.0.40/agentrun/integration/langgraph/__init__.py +35 -0
- agentrun_inner_test-0.0.40/agentrun/integration/langgraph/agent_converter.py +1073 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/utils/adapter.py +3 -2
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/utils/canonical.py +7 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/utils/model.py +6 -3
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/utils/tool.py +47 -2
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/model.py +20 -3
- agentrun_inner_test-0.0.40/agentrun/sandbox/__aio_sandbox_async_template.py +523 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/__browser_sandbox_async_template.py +1 -1
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/__init__.py +4 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/__sandbox_async_template.py +36 -4
- agentrun_inner_test-0.0.40/agentrun/sandbox/aio_sandbox.py +905 -0
- agentrun_inner_test-0.0.40/agentrun/sandbox/api/__aio_data_async_template.py +335 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/__init__.py +2 -0
- agentrun_inner_test-0.0.40/agentrun/sandbox/api/aio_data.py +551 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/model.py +19 -3
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/sandbox.py +71 -8
- agentrun_inner_test-0.0.40/agentrun/server/__init__.py +191 -0
- agentrun_inner_test-0.0.40/agentrun/server/agui_normalizer.py +180 -0
- agentrun_inner_test-0.0.40/agentrun/server/agui_protocol.py +797 -0
- agentrun_inner_test-0.0.40/agentrun/server/invoker.py +309 -0
- agentrun_inner_test-0.0.40/agentrun/server/model.py +427 -0
- agentrun_inner_test-0.0.40/agentrun/server/openai_protocol.py +535 -0
- agentrun_inner_test-0.0.40/agentrun/server/protocol.py +140 -0
- agentrun_inner_test-0.0.40/agentrun/server/server.py +208 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/api/openapi.py +5 -2
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/toolset.py +0 -1
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/__data_api_async_template.py +5 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/data_api.py +10 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/exception.py +5 -3
- agentrun_inner_test-0.0.40/agentrun/utils/helper.py +108 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40/agentrun_inner_test.egg-info}/PKG-INFO +3 -2
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun_inner_test.egg-info/SOURCES.txt +7 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun_inner_test.egg-info/requires.txt +2 -1
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/pyproject.toml +75 -3
- agentrun_inner_test-0.0.12/agentrun/integration/langchain/__init__.py +0 -9
- agentrun_inner_test-0.0.12/agentrun/integration/langgraph/__init__.py +0 -13
- agentrun_inner_test-0.0.12/agentrun/server/__init__.py +0 -82
- agentrun_inner_test-0.0.12/agentrun/server/invoker.py +0 -131
- agentrun_inner_test-0.0.12/agentrun/server/model.py +0 -225
- agentrun_inner_test-0.0.12/agentrun/server/openai_protocol.py +0 -798
- agentrun_inner_test-0.0.12/agentrun/server/protocol.py +0 -96
- agentrun_inner_test-0.0.12/agentrun/server/server.py +0 -192
- agentrun_inner_test-0.0.12/agentrun/utils/helper.py +0 -34
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/LICENSE +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/README.md +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/__client_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/__endpoint_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/__runtime_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/api/__data_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/api/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/api/control.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/api/data.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/client.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/endpoint.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/model.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/agent_runtime/runtime.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/credential/__client_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/credential/__credential_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/credential/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/credential/api/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/credential/api/control.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/credential/client.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/credential/credential.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/agentscope/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/agentscope/adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/agentscope/builtin.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/agentscope/message_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/agentscope/tool_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/builtin/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/builtin/sandbox.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/builtin/toolset.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/crewai/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/crewai/adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/crewai/builtin.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/crewai/model_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/crewai/tool_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/google_adk/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/google_adk/adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/google_adk/builtin.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/google_adk/message_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/google_adk/model_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/langchain/adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/langchain/builtin.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/langchain/message_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/langchain/tool_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/langgraph/adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/langgraph/builtin.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/pydantic_ai/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/pydantic_ai/adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/pydantic_ai/builtin.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/pydantic_ai/model_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/pydantic_ai/tool_adapter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/utils/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/utils/converter.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/__client_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/__model_proxy_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/__model_service_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/api/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/api/control.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/api/data.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/client.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/model_proxy.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/model/model_service.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/__client_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/__code_interpreter_sandbox_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/__template_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/__browser_data_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/__code_interpreter_data_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/__sandbox_data_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/browser_data.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/code_interpreter_data.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/control.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/playwright_async.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/playwright_sync.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/api/sandbox_data.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/browser_sandbox.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/client.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/code_interpreter_sandbox.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/sandbox/template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/__client_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/__toolset_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/api/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/api/control.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/api/mcp.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/client.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/toolset/model.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/__init__.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/__resource_async_template.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/config.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/control_api.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/log.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/model.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/utils/resource.py +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun_inner_test.egg-info/dependency_links.txt +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun_inner_test.egg-info/top_level.txt +0 -0
- {agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/setup.cfg +0 -0
{agentrun_inner_test-0.0.12/agentrun_inner_test.egg-info → agentrun_inner_test-0.0.40}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentrun-inner-test
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.40
|
|
4
4
|
Summary: Alibaba Cloud Agent Run SDK
|
|
5
5
|
Requires-Python: >=3.10
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -13,11 +13,12 @@ Requires-Dist: typing-extensions>=4.15.0
|
|
|
13
13
|
Requires-Dist: litellm>=1.79.3
|
|
14
14
|
Requires-Dist: alibabacloud-devs20230714>=2.4.1
|
|
15
15
|
Requires-Dist: pydash>=8.0.5
|
|
16
|
-
Requires-Dist: alibabacloud-agentrun20250910>=4.0.
|
|
16
|
+
Requires-Dist: alibabacloud-agentrun20250910>=4.0.3
|
|
17
17
|
Requires-Dist: alibabacloud_tea_openapi>=0.4.2
|
|
18
18
|
Provides-Extra: server
|
|
19
19
|
Requires-Dist: fastapi>=0.104.0; extra == "server"
|
|
20
20
|
Requires-Dist: uvicorn>=0.24.0; extra == "server"
|
|
21
|
+
Requires-Dist: ag-ui-protocol>=0.1.10; extra == "server"
|
|
21
22
|
Provides-Extra: langchain
|
|
22
23
|
Requires-Dist: langchain>=1.0.0; python_version >= "3.10" and extra == "langchain"
|
|
23
24
|
Requires-Dist: langchain-openai>=1.0.0; python_version >= "3.10" and extra == "langchain"
|
|
@@ -16,7 +16,9 @@ Provides simple and easy-to-use APIs for managing AI Agent runtime environments,
|
|
|
16
16
|
- Integration: 框架集成 / Framework integration
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
from typing import TYPE_CHECKING
|
|
20
|
+
|
|
21
|
+
__version__ = "0.0.40"
|
|
20
22
|
|
|
21
23
|
# Agent Runtime
|
|
22
24
|
from agentrun.agent_runtime import (
|
|
@@ -87,30 +89,50 @@ from agentrun.sandbox import (
|
|
|
87
89
|
SandboxClient,
|
|
88
90
|
Template,
|
|
89
91
|
)
|
|
90
|
-
# Server
|
|
91
|
-
from agentrun.server import (
|
|
92
|
-
AgentRequest,
|
|
93
|
-
AgentResponse,
|
|
94
|
-
AgentResult,
|
|
95
|
-
AgentRunServer,
|
|
96
|
-
AgentStreamIterator,
|
|
97
|
-
AgentStreamResponse,
|
|
98
|
-
AsyncInvokeAgentHandler,
|
|
99
|
-
InvokeAgentHandler,
|
|
100
|
-
Message,
|
|
101
|
-
MessageRole,
|
|
102
|
-
OpenAIProtocolHandler,
|
|
103
|
-
ProtocolHandler,
|
|
104
|
-
SyncInvokeAgentHandler,
|
|
105
|
-
)
|
|
106
92
|
# ToolSet
|
|
107
93
|
from agentrun.toolset import ToolSet, ToolSetClient
|
|
94
|
+
from agentrun.utils.config import Config
|
|
108
95
|
from agentrun.utils.exception import (
|
|
109
96
|
ResourceAlreadyExistError,
|
|
110
97
|
ResourceNotExistError,
|
|
111
98
|
)
|
|
112
99
|
from agentrun.utils.model import Status
|
|
113
100
|
|
|
101
|
+
# Server - 延迟导入以避免可选依赖问题
|
|
102
|
+
# Type hints for IDE and type checkers
|
|
103
|
+
if TYPE_CHECKING:
|
|
104
|
+
from agentrun.server import (
|
|
105
|
+
AgentEvent,
|
|
106
|
+
AgentEventItem,
|
|
107
|
+
AgentRequest,
|
|
108
|
+
AgentResult,
|
|
109
|
+
AgentResultItem,
|
|
110
|
+
AgentReturnType,
|
|
111
|
+
AgentRunServer,
|
|
112
|
+
AguiEventNormalizer,
|
|
113
|
+
AGUIProtocolConfig,
|
|
114
|
+
AGUIProtocolHandler,
|
|
115
|
+
AsyncAgentEventGenerator,
|
|
116
|
+
AsyncAgentResultGenerator,
|
|
117
|
+
AsyncInvokeAgentHandler,
|
|
118
|
+
BaseProtocolHandler,
|
|
119
|
+
EventType,
|
|
120
|
+
InvokeAgentHandler,
|
|
121
|
+
MergeOptions,
|
|
122
|
+
Message,
|
|
123
|
+
MessageRole,
|
|
124
|
+
OpenAIProtocolConfig,
|
|
125
|
+
OpenAIProtocolHandler,
|
|
126
|
+
ProtocolConfig,
|
|
127
|
+
ProtocolHandler,
|
|
128
|
+
ServerConfig,
|
|
129
|
+
SyncAgentEventGenerator,
|
|
130
|
+
SyncAgentResultGenerator,
|
|
131
|
+
SyncInvokeAgentHandler,
|
|
132
|
+
Tool,
|
|
133
|
+
ToolCall,
|
|
134
|
+
)
|
|
135
|
+
|
|
114
136
|
__all__ = [
|
|
115
137
|
######## Agent Runtime ########
|
|
116
138
|
# base
|
|
@@ -188,22 +210,116 @@ __all__ = [
|
|
|
188
210
|
######## ToolSet ########
|
|
189
211
|
"ToolSetClient",
|
|
190
212
|
"ToolSet",
|
|
191
|
-
######## Server ########
|
|
213
|
+
######## Server (延迟加载) ########
|
|
214
|
+
# Server
|
|
192
215
|
"AgentRunServer",
|
|
216
|
+
# Config
|
|
217
|
+
"ServerConfig",
|
|
218
|
+
"ProtocolConfig",
|
|
219
|
+
"OpenAIProtocolConfig",
|
|
220
|
+
"AGUIProtocolConfig",
|
|
221
|
+
# Request/Response Models
|
|
193
222
|
"AgentRequest",
|
|
194
|
-
"
|
|
223
|
+
"AgentEvent",
|
|
195
224
|
"AgentResult",
|
|
196
|
-
"
|
|
225
|
+
"Message",
|
|
226
|
+
"MessageRole",
|
|
227
|
+
"Tool",
|
|
228
|
+
"ToolCall",
|
|
229
|
+
# Event Types
|
|
230
|
+
"EventType",
|
|
231
|
+
# Type Aliases
|
|
232
|
+
"AgentEventItem",
|
|
233
|
+
"AgentResultItem",
|
|
234
|
+
"AgentReturnType",
|
|
235
|
+
"SyncAgentEventGenerator",
|
|
236
|
+
"SyncAgentResultGenerator",
|
|
237
|
+
"AsyncAgentEventGenerator",
|
|
238
|
+
"AsyncAgentResultGenerator",
|
|
197
239
|
"InvokeAgentHandler",
|
|
198
240
|
"AsyncInvokeAgentHandler",
|
|
199
241
|
"SyncInvokeAgentHandler",
|
|
200
|
-
|
|
201
|
-
"MessageRole",
|
|
242
|
+
# Protocol Base
|
|
202
243
|
"ProtocolHandler",
|
|
244
|
+
"BaseProtocolHandler",
|
|
245
|
+
# Protocol - OpenAI
|
|
203
246
|
"OpenAIProtocolHandler",
|
|
204
|
-
|
|
247
|
+
# Protocol - AG-UI
|
|
248
|
+
"AGUIProtocolHandler",
|
|
249
|
+
# Event Normalizer
|
|
250
|
+
"AguiEventNormalizer",
|
|
251
|
+
# Helpers
|
|
252
|
+
"MergeOptions",
|
|
205
253
|
######## Others ########
|
|
206
|
-
"Status",
|
|
207
254
|
"ResourceNotExistError",
|
|
208
255
|
"ResourceAlreadyExistError",
|
|
256
|
+
"Config",
|
|
209
257
|
]
|
|
258
|
+
|
|
259
|
+
# Server 模块的所有导出
|
|
260
|
+
_SERVER_EXPORTS = {
|
|
261
|
+
"AgentRunServer",
|
|
262
|
+
"ServerConfig",
|
|
263
|
+
"ProtocolConfig",
|
|
264
|
+
"OpenAIProtocolConfig",
|
|
265
|
+
"AGUIProtocolConfig",
|
|
266
|
+
"AgentRequest",
|
|
267
|
+
"AgentEvent",
|
|
268
|
+
"AgentResult",
|
|
269
|
+
"Message",
|
|
270
|
+
"MessageRole",
|
|
271
|
+
"Tool",
|
|
272
|
+
"ToolCall",
|
|
273
|
+
"EventType",
|
|
274
|
+
"AgentEventItem",
|
|
275
|
+
"AgentResultItem",
|
|
276
|
+
"AgentReturnType",
|
|
277
|
+
"SyncAgentEventGenerator",
|
|
278
|
+
"SyncAgentResultGenerator",
|
|
279
|
+
"AsyncAgentEventGenerator",
|
|
280
|
+
"AsyncAgentResultGenerator",
|
|
281
|
+
"InvokeAgentHandler",
|
|
282
|
+
"AsyncInvokeAgentHandler",
|
|
283
|
+
"SyncInvokeAgentHandler",
|
|
284
|
+
"ProtocolHandler",
|
|
285
|
+
"BaseProtocolHandler",
|
|
286
|
+
"OpenAIProtocolHandler",
|
|
287
|
+
"AGUIProtocolHandler",
|
|
288
|
+
"AguiEventNormalizer",
|
|
289
|
+
"MergeOptions",
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
# 可选依赖包映射:安装命令 -> 导入错误的包名列表
|
|
293
|
+
# Optional dependency mapping: installation command -> list of import error package names
|
|
294
|
+
# 将使用相同安装命令的包合并到一起 / Group packages with the same installation command
|
|
295
|
+
_OPTIONAL_PACKAGES = {
|
|
296
|
+
"agentrun-sdk[server]": ["fastapi", "uvicorn", "ag_ui"],
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
def __getattr__(name: str):
|
|
301
|
+
"""延迟加载 server 模块的导出,避免可选依赖导致导入失败
|
|
302
|
+
|
|
303
|
+
当用户访问 server 相关的类时,才尝试导入 server 模块。
|
|
304
|
+
如果 server 可选依赖未安装,会抛出清晰的错误提示。
|
|
305
|
+
"""
|
|
306
|
+
if name in _SERVER_EXPORTS:
|
|
307
|
+
try:
|
|
308
|
+
from agentrun import server
|
|
309
|
+
|
|
310
|
+
return getattr(server, name)
|
|
311
|
+
except ImportError as e:
|
|
312
|
+
# 检查是否是缺少可选依赖导致的错误
|
|
313
|
+
error_str = str(e)
|
|
314
|
+
for install_cmd, package_names in _OPTIONAL_PACKAGES.items():
|
|
315
|
+
for package_name in package_names:
|
|
316
|
+
if package_name in error_str:
|
|
317
|
+
raise ImportError(
|
|
318
|
+
f"'{name}' requires the 'server' optional"
|
|
319
|
+
" dependencies. Install with: pip install"
|
|
320
|
+
f" {install_cmd}\nOriginal error: {e}"
|
|
321
|
+
) from e
|
|
322
|
+
# 其他导入错误继续抛出
|
|
323
|
+
raise
|
|
324
|
+
|
|
325
|
+
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
|
|
@@ -134,7 +134,7 @@ class CredentialConfig(CredentialConfigInner):
|
|
|
134
134
|
cls,
|
|
135
135
|
provider: str,
|
|
136
136
|
access_key_id: str,
|
|
137
|
-
|
|
137
|
+
access_key_secret: str,
|
|
138
138
|
account_id: str,
|
|
139
139
|
):
|
|
140
140
|
"""配置访问第三方工具的 ak/sk 凭证"""
|
|
@@ -148,7 +148,7 @@ class CredentialConfig(CredentialConfigInner):
|
|
|
148
148
|
"accountId": account_id,
|
|
149
149
|
},
|
|
150
150
|
},
|
|
151
|
-
credential_secret=
|
|
151
|
+
credential_secret=access_key_secret,
|
|
152
152
|
)
|
|
153
153
|
|
|
154
154
|
@classmethod
|
|
@@ -51,7 +51,7 @@ class AgentScopeModelAdapter(ModelAdapter):
|
|
|
51
51
|
return OpenAIChatModel(
|
|
52
52
|
model_name=info.model or "",
|
|
53
53
|
api_key=info.api_key,
|
|
54
|
-
stream=
|
|
54
|
+
stream=True,
|
|
55
55
|
client_args={
|
|
56
56
|
"base_url": info.base_url,
|
|
57
57
|
"http_client": AsyncClient(headers=info.headers),
|
{agentrun_inner_test-0.0.12 → agentrun_inner_test-0.0.40}/agentrun/integration/builtin/model.py
RENAMED
|
@@ -69,29 +69,25 @@ def model(
|
|
|
69
69
|
backend_type = kwargs.get("backend_type")
|
|
70
70
|
model = kwargs.get("model")
|
|
71
71
|
|
|
72
|
+
if isinstance(input, str):
|
|
73
|
+
from agentrun.model.client import ModelClient
|
|
74
|
+
|
|
75
|
+
client = ModelClient(config=config)
|
|
76
|
+
input = client.get(name=input, backend_type=backend_type, config=config)
|
|
77
|
+
|
|
72
78
|
if isinstance(input, ModelProxy):
|
|
73
79
|
return CommonModel(
|
|
74
|
-
model=model or "",
|
|
75
80
|
model_obj=input,
|
|
76
81
|
backend_type=BackendType.PROXY,
|
|
82
|
+
specific_model=model,
|
|
77
83
|
config=config,
|
|
78
84
|
)
|
|
79
85
|
elif isinstance(input, ModelService):
|
|
80
86
|
return CommonModel(
|
|
81
|
-
model=model or "",
|
|
82
87
|
model_obj=input,
|
|
83
88
|
backend_type=BackendType.SERVICE,
|
|
89
|
+
specific_model=model,
|
|
84
90
|
config=config,
|
|
85
91
|
)
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
client = ModelClient(config=config)
|
|
90
|
-
model_obj = client.get(name=input, backend_type=backend_type, config=config)
|
|
91
|
-
|
|
92
|
-
return CommonModel(
|
|
93
|
-
model=input,
|
|
94
|
-
model_obj=model_obj,
|
|
95
|
-
backend_type=backend_type,
|
|
96
|
-
config=config,
|
|
97
|
-
)
|
|
92
|
+
else:
|
|
93
|
+
raise TypeError("input must be str, ModelProxy or ModelService")
|
|
@@ -6,6 +6,7 @@ from typing import Any, Dict, List, Optional
|
|
|
6
6
|
|
|
7
7
|
from agentrun.integration.utils.adapter import ToolAdapter
|
|
8
8
|
from agentrun.integration.utils.canonical import CanonicalTool
|
|
9
|
+
from agentrun.integration.utils.tool import normalize_tool_name
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
def _json_schema_to_google_schema(
|
|
@@ -179,7 +180,7 @@ class GoogleADKToolAdapter(ToolAdapter):
|
|
|
179
180
|
|
|
180
181
|
def get_registered_tool(self, name: str) -> Optional[CanonicalTool]:
|
|
181
182
|
"""根据名称获取最近注册的工具定义 / Google ADK Tool Adapter"""
|
|
182
|
-
return self._registered_tools.get(name)
|
|
183
|
+
return self._registered_tools.get(normalize_tool_name(name))
|
|
183
184
|
|
|
184
185
|
def from_canonical(self, tools: List[CanonicalTool]):
|
|
185
186
|
"""将标准格式转换为 Google ADK 工具 / Google ADK Tool Adapter
|
|
@@ -207,7 +208,7 @@ class GoogleADKToolAdapter(ToolAdapter):
|
|
|
207
208
|
|
|
208
209
|
# 创建 FunctionDeclaration
|
|
209
210
|
declaration = types.FunctionDeclaration(
|
|
210
|
-
name=tool.name,
|
|
211
|
+
name=normalize_tool_name(tool.name),
|
|
211
212
|
description=tool.description or "",
|
|
212
213
|
parameters=google_schema,
|
|
213
214
|
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""LangChain 集成模块
|
|
2
|
+
|
|
3
|
+
使用 AgentRunConverter 将 LangChain 事件转换为 AG-UI 协议事件:
|
|
4
|
+
|
|
5
|
+
>>> from agentrun.integration.langchain import AgentRunConverter
|
|
6
|
+
>>>
|
|
7
|
+
>>> async def invoke_agent(request: AgentRequest):
|
|
8
|
+
... converter = AgentRunConverter()
|
|
9
|
+
... async for event in agent.astream_events(input_data, version="v2"):
|
|
10
|
+
... for item in converter.convert(event):
|
|
11
|
+
... yield item
|
|
12
|
+
|
|
13
|
+
支持多种调用方式:
|
|
14
|
+
- agent.astream_events(input, version="v2") - 支持 token by token
|
|
15
|
+
- agent.stream(input, stream_mode="updates") - 按节点输出
|
|
16
|
+
- agent.astream(input, stream_mode="updates") - 异步按节点输出
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
from agentrun.integration.langgraph.agent_converter import (
|
|
20
|
+
AgentRunConverter,
|
|
21
|
+
) # 向后兼容
|
|
22
|
+
|
|
23
|
+
from .builtin import model, sandbox_toolset, toolset
|
|
24
|
+
|
|
25
|
+
__all__ = [
|
|
26
|
+
"AgentRunConverter",
|
|
27
|
+
"model",
|
|
28
|
+
"toolset",
|
|
29
|
+
"sandbox_toolset",
|
|
30
|
+
]
|
|
@@ -23,7 +23,6 @@ class LangChainModelAdapter(ModelAdapter):
|
|
|
23
23
|
|
|
24
24
|
def wrap_model(self, common_model: Any) -> Any:
|
|
25
25
|
"""包装 CommonModel 为 LangChain BaseChatModel / LangChain Model Adapter"""
|
|
26
|
-
from httpx import AsyncClient
|
|
27
26
|
from langchain_openai import ChatOpenAI
|
|
28
27
|
|
|
29
28
|
info = common_model.get_model_info() # 确保模型可用
|
|
@@ -32,6 +31,7 @@ class LangChainModelAdapter(ModelAdapter):
|
|
|
32
31
|
api_key=info.api_key,
|
|
33
32
|
model=info.model,
|
|
34
33
|
base_url=info.base_url,
|
|
35
|
-
|
|
34
|
+
default_headers=info.headers,
|
|
36
35
|
stream_usage=True,
|
|
36
|
+
streaming=True, # 启用流式输出以支持 token by token
|
|
37
37
|
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"""LangGraph 集成模块
|
|
2
|
+
|
|
3
|
+
使用 AgentRunConverter 将 LangGraph 事件转换为 AG-UI 协议事件:
|
|
4
|
+
|
|
5
|
+
>>> from agentrun.integration.langgraph import AgentRunConverter
|
|
6
|
+
>>>
|
|
7
|
+
>>> async def invoke_agent(request: AgentRequest):
|
|
8
|
+
... converter = AgentRunConverter()
|
|
9
|
+
... async for event in agent.astream_events(input_data, version="v2"):
|
|
10
|
+
... for item in converter.convert(event):
|
|
11
|
+
... yield item
|
|
12
|
+
|
|
13
|
+
或使用静态方法(无状态):
|
|
14
|
+
|
|
15
|
+
>>> from agentrun.integration.langgraph import AgentRunConverter
|
|
16
|
+
>>>
|
|
17
|
+
>>> async for event in agent.astream_events(input_data, version="v2"):
|
|
18
|
+
... for item in AgentRunConverter.to_agui_events(event):
|
|
19
|
+
... yield item
|
|
20
|
+
|
|
21
|
+
支持多种调用方式:
|
|
22
|
+
- agent.astream_events(input, version="v2") - 支持 token by token
|
|
23
|
+
- agent.stream(input, stream_mode="updates") - 按节点输出
|
|
24
|
+
- agent.astream(input, stream_mode="updates") - 异步按节点输出
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
from .agent_converter import AgentRunConverter
|
|
28
|
+
from .builtin import model, sandbox_toolset, toolset
|
|
29
|
+
|
|
30
|
+
__all__ = [
|
|
31
|
+
"AgentRunConverter",
|
|
32
|
+
"model",
|
|
33
|
+
"toolset",
|
|
34
|
+
"sandbox_toolset",
|
|
35
|
+
]
|