agentkit-sdk-python 0.1.11__tar.gz → 0.1.13__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.
- {agentkit_sdk_python-0.1.11/agentkit_sdk_python.egg-info → agentkit_sdk_python-0.1.13}/PKG-INFO +76 -4
- agentkit_sdk_python-0.1.13/README.md +90 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/builders/ve_pipeline.py +6 -4
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_status.py +2 -2
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/__init__.py +2 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/constants.py +2 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/strategy_configs.py +4 -4
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/executors/base_executor.py +3 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/executors/init_executor.py +4 -3
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +2 -2
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/strategies/hybrid_strategy.py +89 -73
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/services/cr_service.py +8 -6
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/services/tos_service.py +2 -6
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/utils/template_utils.py +1 -1
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/version.py +1 -1
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13/agentkit_sdk_python.egg-info}/PKG-INFO +76 -4
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/pyproject.toml +14 -3
- agentkit_sdk_python-0.1.11/README.md +0 -27
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/LICENSE +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/MANIFEST.in +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/a2a_app/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/a2a_app/a2a_app.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/a2a_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/agent_server_app/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/agent_server_app/agent_server_app.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/base_app.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/mcp_app/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/mcp_app/mcp_app.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/mcp_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/simple_app/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/simple_app/simple_app.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/simple_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/apps/utils.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/client/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/client/base_agentkit_client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/client/base_iam_client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/client/base_service_client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/account/client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/account/types.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/identity/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/identity/auth.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/knowledge/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/knowledge/client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/knowledge/types.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/mcp/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/mcp/client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/mcp/types.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/memory/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/memory/client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/memory/types.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/runtime/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/runtime/client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/runtime/types.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/tools/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/tools/client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/sdk/tools/types.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/builders/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/builders/base.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/builders/local_docker.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/__main__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_build.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_config.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_deploy.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_destroy.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_init.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_invoke.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_launch.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_version.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/console_reporter.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/interactive_config.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/utils.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/config.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/config_handler.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/config_validator.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/dataclass_utils.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/docker_build_config.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/global_config.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/utils.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/context.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/docker/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/docker/container.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/errors.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/executors/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/executors/build_executor.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/executors/deploy_executor.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/executors/invoke_executor.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/executors/status_executor.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/models.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/reporter.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/a2a.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/basic.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/runners/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/runners/base.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/runners/local_docker.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/runners/ve_agentkit.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/builder.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/client.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/config.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/deployer.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/initializer.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/invoker.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/lifecycle.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/sdk/status.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/strategies/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/strategies/base_strategy.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/strategies/cloud_strategy.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/strategies/local_strategy.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/utils/agent_parser.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/cr.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/iam.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/sts.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/utils/credential.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/utils/logging_config.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/utils/misc.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/utils/request.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/utils/ve_sign.py +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit_sdk_python.egg-info/SOURCES.txt +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit_sdk_python.egg-info/dependency_links.txt +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit_sdk_python.egg-info/requires.txt +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit_sdk_python.egg-info/top_level.txt +0 -0
- {agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/setup.cfg +0 -0
{agentkit_sdk_python-0.1.11/agentkit_sdk_python.egg-info → agentkit_sdk_python-0.1.13}/PKG-INFO
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentkit-sdk-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.13
|
|
4
4
|
Summary: Python SDK for transforming any AI agent into a production-ready application. Framework-agnostic primitives for runtime, memory, authentication, and tools with volcengine-managed infrastructure.
|
|
5
|
-
Author-email:
|
|
5
|
+
Author-email: Xiangrui Cheng <innsdcc@gmail.com>, Yumeng Bao <baoyumeng.123@gmail.com>, Yaozheng Fang <fangyozheng@gmail.com>, Guodong Li <cu.eric.lee@gmail.com>
|
|
6
6
|
License: Apache License
|
|
7
7
|
Version 2.0, January 2004
|
|
8
8
|
http://www.apache.org/licenses/
|
|
@@ -205,6 +205,15 @@ License: Apache License
|
|
|
205
205
|
See the License for the specific language governing permissions and
|
|
206
206
|
limitations under the License.
|
|
207
207
|
|
|
208
|
+
Classifier: Development Status :: 4 - Beta
|
|
209
|
+
Classifier: Intended Audience :: Developers
|
|
210
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
211
|
+
Classifier: Programming Language :: Python :: 3
|
|
212
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
213
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
214
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
215
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
216
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
208
217
|
Requires-Python: >=3.10
|
|
209
218
|
Description-Content-Type: text/markdown
|
|
210
219
|
License-File: LICENSE
|
|
@@ -232,9 +241,68 @@ Provides-Extra: toolkit
|
|
|
232
241
|
Provides-Extra: dev
|
|
233
242
|
Dynamic: license-file
|
|
234
243
|
|
|
235
|
-
|
|
244
|
+
<div align="center">
|
|
245
|
+
<h1>
|
|
246
|
+
Agentkit Platform Python SDK and Starter Toolkit
|
|
247
|
+
</h1>
|
|
236
248
|
|
|
237
|
-
|
|
249
|
+
<h2>
|
|
250
|
+
Launch your local agent on Volcengine AgentKit Platform as a fully managed service.
|
|
251
|
+
</h2>
|
|
252
|
+
|
|
253
|
+
<div align="center">
|
|
254
|
+
<a href="https://github.com/volcengine/agentkit-sdk-python/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/volcengine/agentkit-sdk-python"/></a>
|
|
255
|
+
<a href="https://github.com/volcengine/agentkit-sdk-python/pulls"><img alt="GitHub open pull requests" src="https://img.shields.io/github/issues-pr/volcengine/agentkit-sdk-python"/></a>
|
|
256
|
+
<a href="https://github.com/volcengine/agentkit-sdk-python/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/volcengine/agentkit-sdk-python"/></a>
|
|
257
|
+
<a href="https://pypi.org/project/agentkit-sdk-python"><img alt="PyPI version" src="https://img.shields.io/pypi/v/agentkit-sdk-python"/></a>
|
|
258
|
+
<a href="https://python.org"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/agentkit-sdk-python"/></a>
|
|
259
|
+
</div>
|
|
260
|
+
|
|
261
|
+
<p>
|
|
262
|
+
<a href="https://console.volcengine.com/agentkit/"> Volcengine AgentKit</a>
|
|
263
|
+
◆ <a href="https://volcengine.github.io/agentkit-sdk-python/">Documentation</a>
|
|
264
|
+
◆ <a href="https://github.com/volcengine/agentkit-samples/tree/main">Samples</a>
|
|
265
|
+
◆ <a href="https://pypi.org/project/agentkit-sdk-python/">PyPI Package</a>
|
|
266
|
+
◆ <a href="https://github.com/volcengine/agentkit-sdk-python">GitHub Repository</a>
|
|
267
|
+
|
|
268
|
+
</p>
|
|
269
|
+
</div>
|
|
270
|
+
|
|
271
|
+
## Overview
|
|
272
|
+
|
|
273
|
+
AgentKit is a developer platform by Volcengine that supports the building, deployment, and operation of AI Agents. It lowers the entry barrier for developers and enterprises by providing essential infrastructure beyond the model—including security, built-in tools, memory, knowledge, monitoring, and evaluation. This empowers enterprises to efficiently build, deploy, and operate complex, intelligent, enterprise-grade Agents. The platform also includes a Python SDK and a Starter Toolkit to help developers build, deploy, publish, and manage Agent applications through an SDK and CLI.
|
|
274
|
+
|
|
275
|
+
AgentKit includes the following modular Services that you can use together or independently:
|
|
276
|
+
|
|
277
|
+
## AgentKit Runtime
|
|
278
|
+
|
|
279
|
+
AgentKit Runtime is a fully managed service that provides a secure, isolated environment for running AI Agents. It supports the deployment of Agents built with any framework and language, and provides a set of APIs for interacting with the Agents.
|
|
280
|
+
|
|
281
|
+
**[Runtime Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/4.runtime/1.overview.html)**
|
|
282
|
+
|
|
283
|
+
## AgentKit Tools
|
|
284
|
+
|
|
285
|
+
AgentKit Tools is a service that provides a set of built-in tools for AI Agents. It supports the execution of common tasks, such as data retrieval, web search, and code execution, in a secure and scalable manner.
|
|
286
|
+
|
|
287
|
+
**[Tools Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/5.tools/1.sandbox_quickstart.html)**
|
|
288
|
+
|
|
289
|
+
## AgentKit Memory
|
|
290
|
+
|
|
291
|
+
AgentKit Memory is a service that provides a persistent storage solution for AI Agents. It supports the storage of Agent states, memories, and other data in a secure and scalable manner.
|
|
292
|
+
|
|
293
|
+
**[Memory Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/6.memory/1.memory_quickstart.html)**
|
|
294
|
+
|
|
295
|
+
## AgentKit Knowledge
|
|
296
|
+
|
|
297
|
+
AgentKit Knowledge is a service that provides a knowledge base solution for AI Agents. It supports the storage of Agent knowledge, facts, and other data in a secure and scalable manner.
|
|
298
|
+
|
|
299
|
+
**[Knowledge Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/7.knowledge/1.knowledge_quickstart.html)**
|
|
300
|
+
|
|
301
|
+
## AgentKit MCP
|
|
302
|
+
|
|
303
|
+
AgentKit MCP is a service that provides a set of tools for managing AI Agents. It supports the deployment, configuration, and monitoring of Agents in a secure and scalable manner.
|
|
304
|
+
|
|
305
|
+
**[MCP Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/8.mcp/2.mcp_quickstart.html)**
|
|
238
306
|
|
|
239
307
|
## Installation
|
|
240
308
|
|
|
@@ -259,3 +327,7 @@ pip install agentkit-sdk-python==1.0.0.dev1
|
|
|
259
327
|
```
|
|
260
328
|
|
|
261
329
|
**Note**: Development versions may contain bugs and are not recommended for production use.
|
|
330
|
+
|
|
331
|
+
## License
|
|
332
|
+
|
|
333
|
+
This project is licensed under the [Apache 2.0 License](./LICENSE).
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>
|
|
3
|
+
Agentkit Platform Python SDK and Starter Toolkit
|
|
4
|
+
</h1>
|
|
5
|
+
|
|
6
|
+
<h2>
|
|
7
|
+
Launch your local agent on Volcengine AgentKit Platform as a fully managed service.
|
|
8
|
+
</h2>
|
|
9
|
+
|
|
10
|
+
<div align="center">
|
|
11
|
+
<a href="https://github.com/volcengine/agentkit-sdk-python/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/volcengine/agentkit-sdk-python"/></a>
|
|
12
|
+
<a href="https://github.com/volcengine/agentkit-sdk-python/pulls"><img alt="GitHub open pull requests" src="https://img.shields.io/github/issues-pr/volcengine/agentkit-sdk-python"/></a>
|
|
13
|
+
<a href="https://github.com/volcengine/agentkit-sdk-python/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/volcengine/agentkit-sdk-python"/></a>
|
|
14
|
+
<a href="https://pypi.org/project/agentkit-sdk-python"><img alt="PyPI version" src="https://img.shields.io/pypi/v/agentkit-sdk-python"/></a>
|
|
15
|
+
<a href="https://python.org"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/agentkit-sdk-python"/></a>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<p>
|
|
19
|
+
<a href="https://console.volcengine.com/agentkit/"> Volcengine AgentKit</a>
|
|
20
|
+
◆ <a href="https://volcengine.github.io/agentkit-sdk-python/">Documentation</a>
|
|
21
|
+
◆ <a href="https://github.com/volcengine/agentkit-samples/tree/main">Samples</a>
|
|
22
|
+
◆ <a href="https://pypi.org/project/agentkit-sdk-python/">PyPI Package</a>
|
|
23
|
+
◆ <a href="https://github.com/volcengine/agentkit-sdk-python">GitHub Repository</a>
|
|
24
|
+
|
|
25
|
+
</p>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
## Overview
|
|
29
|
+
|
|
30
|
+
AgentKit is a developer platform by Volcengine that supports the building, deployment, and operation of AI Agents. It lowers the entry barrier for developers and enterprises by providing essential infrastructure beyond the model—including security, built-in tools, memory, knowledge, monitoring, and evaluation. This empowers enterprises to efficiently build, deploy, and operate complex, intelligent, enterprise-grade Agents. The platform also includes a Python SDK and a Starter Toolkit to help developers build, deploy, publish, and manage Agent applications through an SDK and CLI.
|
|
31
|
+
|
|
32
|
+
AgentKit includes the following modular Services that you can use together or independently:
|
|
33
|
+
|
|
34
|
+
## AgentKit Runtime
|
|
35
|
+
|
|
36
|
+
AgentKit Runtime is a fully managed service that provides a secure, isolated environment for running AI Agents. It supports the deployment of Agents built with any framework and language, and provides a set of APIs for interacting with the Agents.
|
|
37
|
+
|
|
38
|
+
**[Runtime Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/4.runtime/1.overview.html)**
|
|
39
|
+
|
|
40
|
+
## AgentKit Tools
|
|
41
|
+
|
|
42
|
+
AgentKit Tools is a service that provides a set of built-in tools for AI Agents. It supports the execution of common tasks, such as data retrieval, web search, and code execution, in a secure and scalable manner.
|
|
43
|
+
|
|
44
|
+
**[Tools Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/5.tools/1.sandbox_quickstart.html)**
|
|
45
|
+
|
|
46
|
+
## AgentKit Memory
|
|
47
|
+
|
|
48
|
+
AgentKit Memory is a service that provides a persistent storage solution for AI Agents. It supports the storage of Agent states, memories, and other data in a secure and scalable manner.
|
|
49
|
+
|
|
50
|
+
**[Memory Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/6.memory/1.memory_quickstart.html)**
|
|
51
|
+
|
|
52
|
+
## AgentKit Knowledge
|
|
53
|
+
|
|
54
|
+
AgentKit Knowledge is a service that provides a knowledge base solution for AI Agents. It supports the storage of Agent knowledge, facts, and other data in a secure and scalable manner.
|
|
55
|
+
|
|
56
|
+
**[Knowledge Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/7.knowledge/1.knowledge_quickstart.html)**
|
|
57
|
+
|
|
58
|
+
## AgentKit MCP
|
|
59
|
+
|
|
60
|
+
AgentKit MCP is a service that provides a set of tools for managing AI Agents. It supports the deployment, configuration, and monitoring of Agents in a secure and scalable manner.
|
|
61
|
+
|
|
62
|
+
**[MCP Quick Start](https://volcengine.github.io/agentkit-sdk-python/content/8.mcp/2.mcp_quickstart.html)**
|
|
63
|
+
|
|
64
|
+
## Installation
|
|
65
|
+
|
|
66
|
+
### Stable Release (Recommended)
|
|
67
|
+
|
|
68
|
+
Install the latest stable version:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
pip install agentkit-sdk-python
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Development/Pre-release Version
|
|
75
|
+
|
|
76
|
+
For testing new features or bug fixes before they're officially released:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Install the latest pre-release version
|
|
80
|
+
pip install --pre agentkit-sdk-python
|
|
81
|
+
|
|
82
|
+
# Or install a specific development version
|
|
83
|
+
pip install agentkit-sdk-python==1.0.0.dev1
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Note**: Development versions may contain bugs and are not recommended for production use.
|
|
87
|
+
|
|
88
|
+
## License
|
|
89
|
+
|
|
90
|
+
This project is licensed under the [Apache 2.0 License](./LICENSE).
|
{agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/builders/ve_pipeline.py
RENAMED
|
@@ -224,7 +224,7 @@ class VeCPCRBuilder(Builder):
|
|
|
224
224
|
if 'pipeline_id' in resources:
|
|
225
225
|
builder_config.cp_pipeline_id = resources['pipeline_id']
|
|
226
226
|
|
|
227
|
-
error_msg =
|
|
227
|
+
error_msg = str(e)
|
|
228
228
|
|
|
229
229
|
return BuildResult(
|
|
230
230
|
success=False,
|
|
@@ -681,6 +681,8 @@ class VeCPCRBuilder(Builder):
|
|
|
681
681
|
except Exception as e:
|
|
682
682
|
if "AccountDisable" in str(e):
|
|
683
683
|
raise Exception(f"Tos Service is not enabled, please enable it in the console. Enable services at: https://console.volcengine.com/agentkit/region:agentkit+cn-beijing/auth")
|
|
684
|
+
if "TooManyBuckets" in str(e):
|
|
685
|
+
raise Exception(f"You have reached the maximum number of buckets allowed. Please delete some buckets and try again.")
|
|
684
686
|
raise Exception(f"Failed to upload to TOS: {str(e)}")
|
|
685
687
|
|
|
686
688
|
def _prepare_cr_resources(self, config: VeCPCRBuilderConfig) -> CRServiceConfig:
|
|
@@ -939,10 +941,10 @@ class VeCPCRBuilder(Builder):
|
|
|
939
941
|
{"Key": "DOCKERFILE_PATH", "Value": "/workspace/agentkit-app/Dockerfile", "Dynamic": True, "Env": True},
|
|
940
942
|
{"Key": "DOWNLOAD_PATH", "Value": "/workspace", "Dynamic": True, "Env": True},
|
|
941
943
|
{"Key": "PROJECT_ROOT_DIR", "Value": "/workspace/agentkit-app", "Dynamic": True, "Env": True},
|
|
942
|
-
{"Key": "TOS_BUCKET_NAME", "Value": "", "Dynamic": True
|
|
944
|
+
{"Key": "TOS_BUCKET_NAME", "Value": "", "Dynamic": True},
|
|
945
|
+
{"Key": "TOS_REGION", "Value": "", "Dynamic": True},
|
|
943
946
|
{"Key": "TOS_PROJECT_FILE_NAME", "Value": "", "Dynamic": True, "Env": True},
|
|
944
947
|
{"Key": "TOS_PROJECT_FILE_PATH", "Value": "", "Dynamic": True, "Env": True},
|
|
945
|
-
{"Key": "TOS_REGION", "Value": "", "Dynamic": True, "Env": True},
|
|
946
948
|
{"Key": "CR_NAMESPACE", "Value": "", "Dynamic": True, "Env": True},
|
|
947
949
|
{"Key": "CR_INSTANCE", "Value": "", "Dynamic": True, "Env": True},
|
|
948
950
|
{"Key": "CR_DOMAIN", "Value": "", "Dynamic": True, "Env": True},
|
|
@@ -1032,9 +1034,9 @@ class VeCPCRBuilder(Builder):
|
|
|
1032
1034
|
# Prepare build parameters for pipeline execution
|
|
1033
1035
|
build_parameters = [
|
|
1034
1036
|
{"Key": "TOS_BUCKET_NAME", "Value": config.tos_bucket},
|
|
1037
|
+
{"Key": "TOS_REGION", "Value": config.tos_region},
|
|
1035
1038
|
{"Key": "TOS_PROJECT_FILE_NAME", "Value": os.path.basename(config.tos_object_key)},
|
|
1036
1039
|
{"Key": "TOS_PROJECT_FILE_PATH", "Value": config.tos_object_key},
|
|
1037
|
-
{"Key": "TOS_REGION", "Value": config.tos_region},
|
|
1038
1040
|
{"Key": "PROJECT_ROOT_DIR", "Value": f"/workspace/{agent_name}"},
|
|
1039
1041
|
{"Key": "DOWNLOAD_PATH", "Value": "/workspace"},
|
|
1040
1042
|
{"Key": "DOCKERFILE_PATH", "Value": f"/workspace/{agent_name}/Dockerfile"},
|
{agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/cli/cli_status.py
RENAMED
|
@@ -122,7 +122,7 @@ def status_command(
|
|
|
122
122
|
if result.endpoint_url:
|
|
123
123
|
table.add_row("🌐 Endpoint", result.endpoint_url)
|
|
124
124
|
if result.service_id:
|
|
125
|
-
table.add_row("☁️
|
|
125
|
+
table.add_row("☁️ Service ID", result.service_id)
|
|
126
126
|
if result.uptime_seconds:
|
|
127
127
|
# Format uptime to human-readable format
|
|
128
128
|
uptime = result.uptime_seconds
|
|
@@ -130,7 +130,7 @@ def status_command(
|
|
|
130
130
|
minutes = (uptime % 3600) // 60
|
|
131
131
|
seconds = uptime % 60
|
|
132
132
|
uptime_str = f"{hours}h {minutes}m {seconds}s" if hours > 0 else f"{minutes}m {seconds}s"
|
|
133
|
-
table.add_row("⏱️
|
|
133
|
+
table.add_row("⏱️ Uptime", uptime_str)
|
|
134
134
|
|
|
135
135
|
# Extract other information from metadata
|
|
136
136
|
details = result.metadata or {}
|
{agentkit_sdk_python-0.1.11 → agentkit_sdk_python-0.1.13}/agentkit/toolkit/config/constants.py
RENAMED
|
@@ -25,6 +25,8 @@ from pathlib import Path
|
|
|
25
25
|
AUTO_CREATE_VE = "Auto"
|
|
26
26
|
DEFAULT_WORKSPACE_NAME = "agentkit-cli-workspace"
|
|
27
27
|
DEFAULT_CR_NAMESPACE = "agentkit"
|
|
28
|
+
DEFAULT_CR_INSTANCE_TEMPLATE_NAME = "agentkit-platform-{{account_id}}"
|
|
29
|
+
DEFAULT_TOS_BUCKET_TEMPLATE_NAME = "agentkit-platform-{{account_id}}"
|
|
28
30
|
|
|
29
31
|
# Default image tag placeholder for timestamped builds
|
|
30
32
|
DEFAULT_IMAGE_TAG = "{{timestamp}}"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
2
|
from typing import Dict, List
|
|
3
3
|
from .dataclass_utils import AutoSerializableMixin
|
|
4
|
-
from .constants import AUTO_CREATE_VE, DEFAULT_CR_NAMESPACE, DEFAULT_IMAGE_TAG, DEFAULT_WORKSPACE_NAME
|
|
4
|
+
from .constants import AUTO_CREATE_VE, DEFAULT_CR_NAMESPACE, DEFAULT_IMAGE_TAG, DEFAULT_WORKSPACE_NAME, DEFAULT_CR_INSTANCE_TEMPLATE_NAME, DEFAULT_TOS_BUCKET_TEMPLATE_NAME
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
@dataclass
|
|
@@ -55,7 +55,7 @@ class HybridStrategyConfig(AutoSerializableMixin):
|
|
|
55
55
|
region: str = field(default="cn-beijing", metadata={"description": "Volcano Engine service region", "icon": "🌏", "aliases": ["ve_region"]})
|
|
56
56
|
|
|
57
57
|
# Container Registry (CR) configuration
|
|
58
|
-
cr_instance_name: str = field(default=AUTO_CREATE_VE, metadata={"description": "Container Registry instance name", "icon": "📦", "render_template": True, "default_template":
|
|
58
|
+
cr_instance_name: str = field(default=AUTO_CREATE_VE, metadata={"description": "Container Registry instance name", "icon": "📦", "render_template": True, "default_template": DEFAULT_CR_INSTANCE_TEMPLATE_NAME, "aliases": ["ve_cr_instance_name"]})
|
|
59
59
|
cr_namespace_name: str = field(default=DEFAULT_CR_NAMESPACE, metadata={"description": "Container Registry namespace", "icon": "📁", "render_template": True, "aliases": ["ve_cr_namespace_name"]})
|
|
60
60
|
cr_repo_name: str = field(default="", metadata={"description": "Container Registry repository name", "icon": "📋", "aliases": ["ve_cr_repo_name"]})
|
|
61
61
|
cr_image_full_url: str = field(default="", metadata={"system": True, "description": "Full Container Registry image URL", "aliases": ["ve_cr_image_full_url"]})
|
|
@@ -101,7 +101,7 @@ class CloudStrategyConfig(AutoSerializableMixin):
|
|
|
101
101
|
)
|
|
102
102
|
|
|
103
103
|
# Tencent Object Storage (TOS) configuration for build artifacts
|
|
104
|
-
tos_bucket: str = field(default=AUTO_CREATE_VE, metadata={"system": True, "description": "TOS bucket name for storing build artifacts", "icon": "🗂️", "render_template": True, "default_template":
|
|
104
|
+
tos_bucket: str = field(default=AUTO_CREATE_VE, metadata={"system": True, "description": "TOS bucket name for storing build artifacts", "icon": "🗂️", "render_template": True, "default_template": DEFAULT_TOS_BUCKET_TEMPLATE_NAME})
|
|
105
105
|
tos_prefix: str = field(default="agentkit-builds", metadata={"system": True, "description": "TOS object prefix for build artifacts"})
|
|
106
106
|
tos_region: str = field(default="cn-beijing", metadata={"system": True, "description": "TOS service region"})
|
|
107
107
|
tos_object_key: str = field(default="", metadata={"system": True, "description": "TOS object key for uploaded build artifact"})
|
|
@@ -109,7 +109,7 @@ class CloudStrategyConfig(AutoSerializableMixin):
|
|
|
109
109
|
|
|
110
110
|
# Container Registry (CR) configuration for Docker images
|
|
111
111
|
image_tag: str = field(default=DEFAULT_IMAGE_TAG, metadata={"system": True, "description": "Docker image tag", "icon": "🏷️", "render_template": True})
|
|
112
|
-
cr_instance_name: str = field(default=AUTO_CREATE_VE, metadata={"description": "Container Registry instance name", "icon": "📦", "render_template": True, "default_template":
|
|
112
|
+
cr_instance_name: str = field(default=AUTO_CREATE_VE, metadata={"description": "Container Registry instance name", "icon": "📦", "render_template": True, "default_template": DEFAULT_CR_INSTANCE_TEMPLATE_NAME, "aliases": ["ve_cr_instance_name"]})
|
|
113
113
|
cr_namespace_name: str = field(default=DEFAULT_CR_NAMESPACE, metadata={"description": "Container Registry namespace", "icon": "📁", "render_template": True, "aliases": ["ve_cr_namespace_name"]})
|
|
114
114
|
cr_repo_name: str = field(default="", metadata={"description": "Container Registry repository name (defaults to AgentKit project name)", "icon": "📋", "aliases": ["ve_cr_repo_name"]})
|
|
115
115
|
cr_region: str = field(default="cn-beijing", metadata={"system": True, "description": "Container Registry service region", "aliases": ["ve_cr_region"]})
|
|
@@ -428,6 +428,9 @@ class BaseExecutor:
|
|
|
428
428
|
strategy_config['runtime_apikey'] = ""
|
|
429
429
|
strategy_config['runtime_apikey_name'] = AUTO_CREATE_VE
|
|
430
430
|
strategy_config['runtime_role_name'] = AUTO_CREATE_VE
|
|
431
|
+
if launch_type == 'cloud':
|
|
432
|
+
strategy_config['cp_pipeline_id'] = ""
|
|
433
|
+
strategy_config['cp_pipeline_name'] = ""
|
|
431
434
|
|
|
432
435
|
config.update_strategy_config(launch_type, strategy_config)
|
|
433
436
|
self.logger.debug(f"Cleared deploy config for {launch_type}")
|
|
@@ -46,6 +46,7 @@ from agentkit.toolkit.config import (
|
|
|
46
46
|
global_config_exists,
|
|
47
47
|
get_global_config,
|
|
48
48
|
)
|
|
49
|
+
from agentkit.toolkit.config.constants import DEFAULT_CR_INSTANCE_TEMPLATE_NAME, DEFAULT_TOS_BUCKET_TEMPLATE_NAME
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
TEMPLATES = {
|
|
@@ -444,7 +445,7 @@ class InitExecutor(BaseExecutor):
|
|
|
444
445
|
cloud_config.cr_instance_name = ""
|
|
445
446
|
self.logger.debug("Using global CR instance config")
|
|
446
447
|
else:
|
|
447
|
-
cloud_config.cr_instance_name =
|
|
448
|
+
cloud_config.cr_instance_name = DEFAULT_CR_INSTANCE_TEMPLATE_NAME
|
|
448
449
|
|
|
449
450
|
if global_config and global_config.cr.namespace_name:
|
|
450
451
|
cloud_config.cr_namespace_name = ""
|
|
@@ -456,7 +457,7 @@ class InitExecutor(BaseExecutor):
|
|
|
456
457
|
cloud_config.tos_bucket = ""
|
|
457
458
|
self.logger.debug("Using global TOS bucket config")
|
|
458
459
|
else:
|
|
459
|
-
cloud_config.tos_bucket =
|
|
460
|
+
cloud_config.tos_bucket = DEFAULT_TOS_BUCKET_TEMPLATE_NAME
|
|
460
461
|
|
|
461
462
|
if global_config and global_config.tos.prefix:
|
|
462
463
|
cloud_config.tos_prefix = ""
|
|
@@ -485,7 +486,7 @@ class InitExecutor(BaseExecutor):
|
|
|
485
486
|
hybrid_config.cr_instance_name = ""
|
|
486
487
|
self.logger.debug("Using global CR instance config")
|
|
487
488
|
else:
|
|
488
|
-
hybrid_config.cr_instance_name =
|
|
489
|
+
hybrid_config.cr_instance_name = DEFAULT_CR_INSTANCE_TEMPLATE_NAME
|
|
489
490
|
|
|
490
491
|
if global_config and global_config.cr.namespace_name:
|
|
491
492
|
hybrid_config.cr_namespace_name = ""
|
|
@@ -12,8 +12,8 @@ stages:
|
|
|
12
12
|
displayName: TOS 下载
|
|
13
13
|
component: artifact@1.0.0/tos-download
|
|
14
14
|
inputs:
|
|
15
|
-
bucketName:
|
|
16
|
-
bucketRegion:
|
|
15
|
+
bucketName: $(parameters.TOS_BUCKET_NAME)
|
|
16
|
+
bucketRegion: $(parameters.TOS_REGION)
|
|
17
17
|
path: $TOS_PROJECT_FILE_PATH
|
|
18
18
|
targetPath: $DOWNLOAD_PATH
|
|
19
19
|
- step: step-c6
|
|
@@ -120,14 +120,22 @@ class HybridStrategy(Strategy):
|
|
|
120
120
|
cr_repo_name = self._prepare_cr_config(strategy_config.cr_repo_name, common_config.agent_name)
|
|
121
121
|
if cr_repo_name != strategy_config.cr_repo_name:
|
|
122
122
|
config_updates.add('cr_repo_name', cr_repo_name)
|
|
123
|
-
|
|
123
|
+
|
|
124
124
|
should_push, reason = self._should_push_to_cr(strategy_config, cr_repo_name)
|
|
125
125
|
if should_push:
|
|
126
|
-
cr_updates = self._handle_cr_push(result, strategy_config, cr_repo_name)
|
|
126
|
+
cr_updates = self._handle_cr_push(common_config, result, strategy_config, cr_repo_name)
|
|
127
127
|
config_updates.merge(cr_updates)
|
|
128
128
|
else:
|
|
129
129
|
self._report_cr_skip_reason(reason, strategy_config)
|
|
130
|
-
|
|
130
|
+
|
|
131
|
+
# Persist local build metadata
|
|
132
|
+
if result.build_timestamp:
|
|
133
|
+
config_updates.add('build_timestamp', result.build_timestamp.isoformat())
|
|
134
|
+
if result.image:
|
|
135
|
+
config_updates.add('full_image_name', result.image.full_name)
|
|
136
|
+
if getattr(result.image, 'digest', None):
|
|
137
|
+
config_updates.add('image_id', result.image.digest)
|
|
138
|
+
|
|
131
139
|
result.config_updates = config_updates if config_updates.has_updates() else None
|
|
132
140
|
return result
|
|
133
141
|
|
|
@@ -235,21 +243,28 @@ class HybridStrategy(Strategy):
|
|
|
235
243
|
Returns:
|
|
236
244
|
Tuple of (should_push: bool, reason: str).
|
|
237
245
|
"""
|
|
246
|
+
# Validate instance name
|
|
238
247
|
if not strategy_config.cr_instance_name:
|
|
239
248
|
return False, "CR instance name is empty"
|
|
240
|
-
|
|
241
249
|
if strategy_config.cr_instance_name == AUTO_CREATE_VE:
|
|
242
250
|
return False, "CR instance name is 'Auto'"
|
|
243
|
-
|
|
244
|
-
if '{{' in strategy_config.cr_instance_name:
|
|
251
|
+
if '{{' in (strategy_config.cr_instance_name or ''):
|
|
245
252
|
return False, "CR instance name contains unrendered template variables"
|
|
246
|
-
|
|
253
|
+
|
|
254
|
+
# Validate namespace name
|
|
255
|
+
if not strategy_config.cr_namespace_name:
|
|
256
|
+
return False, "CR namespace name is empty"
|
|
257
|
+
if strategy_config.cr_namespace_name == AUTO_CREATE_VE:
|
|
258
|
+
return False, "CR namespace name is 'Auto'"
|
|
259
|
+
if '{{' in (strategy_config.cr_namespace_name or ''):
|
|
260
|
+
return False, "CR namespace name contains unrendered template variables"
|
|
261
|
+
|
|
247
262
|
if not cr_repo_name:
|
|
248
263
|
return False, "CR repository name is empty"
|
|
249
264
|
|
|
250
265
|
return True, ""
|
|
251
266
|
|
|
252
|
-
def _handle_cr_push(self, result: BuildResult, strategy_config: HybridStrategyConfig,
|
|
267
|
+
def _handle_cr_push(self, common_config: CommonConfig, result: BuildResult, strategy_config: HybridStrategyConfig,
|
|
253
268
|
cr_repo_name: str) -> 'ConfigUpdates':
|
|
254
269
|
"""
|
|
255
270
|
Handle pushing image to Container Registry.
|
|
@@ -272,17 +287,48 @@ class HybridStrategy(Strategy):
|
|
|
272
287
|
|
|
273
288
|
config_updates = ConfigUpdates()
|
|
274
289
|
|
|
275
|
-
|
|
276
|
-
if
|
|
290
|
+
# Use image_id (SHA) from build result for pushing
|
|
291
|
+
image_id = result.image.digest if result.image else None
|
|
292
|
+
if not image_id:
|
|
277
293
|
return config_updates
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
strategy_config.cr_instance_name,
|
|
282
|
-
strategy_config.cr_namespace_name,
|
|
283
|
-
cr_repo_name
|
|
284
|
-
|
|
294
|
+
|
|
295
|
+
# Ensure CR resources exist (instance/namespace/repo)
|
|
296
|
+
cr_cfg = CRServiceConfig(
|
|
297
|
+
instance_name=strategy_config.cr_instance_name,
|
|
298
|
+
namespace_name=strategy_config.cr_namespace_name,
|
|
299
|
+
repo_name=cr_repo_name
|
|
300
|
+
)
|
|
301
|
+
cr_service = CRService(reporter=self.reporter)
|
|
302
|
+
ensure_result = cr_service.ensure_cr_resources(cr_cfg, common_config=common_config)
|
|
303
|
+
if not ensure_result.success:
|
|
304
|
+
raise Exception(ensure_result.error or "Failed to ensure CR resources")
|
|
305
|
+
|
|
306
|
+
# Ensure public endpoint is enabled for CR instance
|
|
307
|
+
public_result = cr_service.ensure_public_endpoint(cr_cfg)
|
|
308
|
+
if not public_result.success:
|
|
309
|
+
raise Exception(public_result.error or "Failed to enable CR public endpoint")
|
|
310
|
+
|
|
311
|
+
# Write back any auto-created names to config
|
|
312
|
+
if ensure_result.instance_name and ensure_result.instance_name != strategy_config.cr_instance_name:
|
|
313
|
+
config_updates.add('cr_instance_name', ensure_result.instance_name)
|
|
314
|
+
if ensure_result.namespace_name and ensure_result.namespace_name != strategy_config.cr_namespace_name:
|
|
315
|
+
config_updates.add('cr_namespace_name', ensure_result.namespace_name)
|
|
316
|
+
if ensure_result.repo_name and ensure_result.repo_name != cr_repo_name:
|
|
317
|
+
config_updates.add('cr_repo_name', ensure_result.repo_name)
|
|
318
|
+
|
|
319
|
+
# Push image (inline call to CRService.login_and_push_image)
|
|
320
|
+
self.reporter.info(
|
|
321
|
+
f"Pushing image to CR: {cr_cfg.instance_name}/{cr_cfg.namespace_name}/{cr_cfg.repo_name}:{strategy_config.image_tag}"
|
|
285
322
|
)
|
|
323
|
+
success, push_result = cr_service.login_and_push_image(
|
|
324
|
+
cr_config=cr_cfg,
|
|
325
|
+
image_id=image_id,
|
|
326
|
+
image_tag=strategy_config.image_tag,
|
|
327
|
+
namespace=cr_cfg.namespace_name
|
|
328
|
+
)
|
|
329
|
+
if not success:
|
|
330
|
+
raise Exception(f"Image push failed: {push_result}")
|
|
331
|
+
cr_image_url = push_result
|
|
286
332
|
|
|
287
333
|
config_updates.add('cr_image_full_url', cr_image_url)
|
|
288
334
|
|
|
@@ -296,14 +342,14 @@ class HybridStrategy(Strategy):
|
|
|
296
342
|
|
|
297
343
|
def _report_cr_skip_reason(self, reason: str, strategy_config: HybridStrategyConfig) -> None:
|
|
298
344
|
"""Report reason for skipping CR push."""
|
|
299
|
-
if '{{' in strategy_config.cr_instance_name:
|
|
300
|
-
self.reporter.warning(
|
|
301
|
-
self.reporter.warning("
|
|
345
|
+
if '{{' in (strategy_config.cr_instance_name or '') or '{{' in (strategy_config.cr_namespace_name or ''):
|
|
346
|
+
self.reporter.warning("CR names contain unrendered template variables")
|
|
347
|
+
self.reporter.warning("Ensure Volcengine AK/SK are configured and STS can fetch account_id for template rendering.")
|
|
302
348
|
elif strategy_config.cr_instance_name == AUTO_CREATE_VE:
|
|
303
|
-
self.reporter.warning("
|
|
304
|
-
self.reporter.warning("
|
|
349
|
+
self.reporter.warning("CR instance name is 'Auto', skipping push to CR")
|
|
350
|
+
self.reporter.warning("Use 'agentkit config' to configure a valid CR instance name")
|
|
305
351
|
else:
|
|
306
|
-
self.reporter.warning(f"
|
|
352
|
+
self.reporter.warning(f"Invalid CR configuration, skipping push to CR: {reason}")
|
|
307
353
|
|
|
308
354
|
def _validate_cr_image_url(self, strategy_config: HybridStrategyConfig) -> DeployResult:
|
|
309
355
|
"""
|
|
@@ -316,42 +362,54 @@ class HybridStrategy(Strategy):
|
|
|
316
362
|
if image_url:
|
|
317
363
|
return DeployResult(success=True)
|
|
318
364
|
|
|
319
|
-
|
|
365
|
+
from agentkit.toolkit.errors import ErrorCode
|
|
366
|
+
|
|
367
|
+
if '{{' in (strategy_config.cr_instance_name or '') or '{{' in (strategy_config.cr_namespace_name or ''):
|
|
320
368
|
error_msg = (
|
|
321
|
-
|
|
322
|
-
f"Ensure volcenginesdkcore is installed to render template variables."
|
|
369
|
+
"CR names contain unrendered template variables. Ensure Volcengine AK/SK are configured and STS can fetch account_id."
|
|
323
370
|
)
|
|
371
|
+
error_code = ErrorCode.CONFIG_INVALID
|
|
324
372
|
elif strategy_config.cr_instance_name == AUTO_CREATE_VE or not strategy_config.cr_instance_name:
|
|
325
373
|
error_msg = (
|
|
326
374
|
f"Hybrid mode requires valid CR configuration. Current cr_instance_name='{strategy_config.cr_instance_name}' is invalid.\n"
|
|
327
375
|
f"Use 'agentkit config' to configure a valid CR instance name, or switch to local/cloud mode."
|
|
328
376
|
)
|
|
377
|
+
error_code = ErrorCode.CONFIG_INVALID
|
|
329
378
|
else:
|
|
330
379
|
error_msg = (
|
|
331
380
|
"CR image URL not found. Run 'agentkit build' to build and push the image to CR."
|
|
332
381
|
)
|
|
382
|
+
error_code = ErrorCode.RESOURCE_NOT_FOUND
|
|
333
383
|
|
|
334
384
|
return DeployResult(
|
|
335
385
|
success=False,
|
|
336
386
|
error=error_msg,
|
|
337
|
-
error_code=
|
|
387
|
+
error_code=error_code
|
|
338
388
|
)
|
|
339
389
|
|
|
340
390
|
def _to_builder_config(self, common_config: CommonConfig,
|
|
341
391
|
strategy_config: HybridStrategyConfig) -> LocalDockerBuilderConfig:
|
|
342
392
|
"""
|
|
343
|
-
Convert
|
|
393
|
+
Convert HybridStrategyConfig to LocalDockerBuilderConfig.
|
|
344
394
|
"""
|
|
395
|
+
# Retrieve Docker build config from manager (contains CLI runtime options)
|
|
396
|
+
docker_build_config = None
|
|
397
|
+
if self.config_manager:
|
|
398
|
+
try:
|
|
399
|
+
docker_build_config = self.config_manager.get_docker_build_config()
|
|
400
|
+
except Exception:
|
|
401
|
+
docker_build_config = None
|
|
345
402
|
return LocalDockerBuilderConfig(
|
|
346
403
|
common_config=common_config,
|
|
347
404
|
image_name=common_config.agent_name or "agentkit-app",
|
|
348
|
-
image_tag=strategy_config.image_tag
|
|
405
|
+
image_tag=strategy_config.image_tag,
|
|
406
|
+
docker_build_config=docker_build_config
|
|
349
407
|
)
|
|
350
408
|
|
|
351
409
|
def _to_runner_config(self, common_config: CommonConfig,
|
|
352
410
|
strategy_config: HybridStrategyConfig) -> VeAgentkitRunnerConfig:
|
|
353
411
|
"""
|
|
354
|
-
Convert
|
|
412
|
+
Convert HybridStrategyConfig to VeAgentkitRunnerConfig.
|
|
355
413
|
"""
|
|
356
414
|
merged_envs = merge_runtime_envs(common_config, strategy_config.to_dict())
|
|
357
415
|
|
|
@@ -367,46 +425,4 @@ class HybridStrategy(Strategy):
|
|
|
367
425
|
image_url=strategy_config.cr_image_full_url
|
|
368
426
|
)
|
|
369
427
|
|
|
370
|
-
|
|
371
|
-
cr_namespace: str, cr_repo: str, tag: str) -> str:
|
|
372
|
-
"""
|
|
373
|
-
Push local image to Container Registry.
|
|
374
|
-
|
|
375
|
-
Args:
|
|
376
|
-
local_image: Local image name (e.g., agentkit-app:v1.0).
|
|
377
|
-
cr_instance: CR instance name.
|
|
378
|
-
cr_namespace: CR namespace.
|
|
379
|
-
cr_repo: CR repository name.
|
|
380
|
-
tag: Image tag.
|
|
381
|
-
|
|
382
|
-
Returns:
|
|
383
|
-
Full CR image URL.
|
|
384
|
-
|
|
385
|
-
Raises:
|
|
386
|
-
Exception: If image push fails. Exceptions are handled by Executor.
|
|
387
|
-
"""
|
|
388
|
-
cr_config = CRServiceConfig(
|
|
389
|
-
instance_name=cr_instance,
|
|
390
|
-
namespace_name=cr_namespace,
|
|
391
|
-
repo_name=cr_repo
|
|
392
|
-
)
|
|
393
|
-
|
|
394
|
-
cr_service = CRService(reporter=self.reporter)
|
|
395
|
-
|
|
396
|
-
import docker
|
|
397
|
-
client = docker.from_env()
|
|
398
|
-
image = client.images.get(local_image)
|
|
399
|
-
image_id = image.id
|
|
400
|
-
|
|
401
|
-
self.reporter.info(f"Pushing image to CR: {cr_instance}/{cr_namespace}/{cr_repo}:{tag}")
|
|
402
|
-
success, result = cr_service.login_and_push_image(
|
|
403
|
-
cr_config=cr_config,
|
|
404
|
-
image_id=image_id,
|
|
405
|
-
image_tag=tag,
|
|
406
|
-
namespace=cr_namespace
|
|
407
|
-
)
|
|
408
|
-
|
|
409
|
-
if not success:
|
|
410
|
-
raise Exception(f"Image push failed: {result}")
|
|
411
|
-
|
|
412
|
-
return result
|
|
428
|
+
# _push_to_cr removed: logic is handled inline within _handle_cr_push
|