agentkit-sdk-python 0.5.7__tar.gz → 0.5.8__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.5.7/agentkit_sdk_python.egg-info → agentkit_sdk_python-0.5.8}/PKG-INFO +1 -1
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/base_service_client.py +1 -4
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_invoke.py +140 -22
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +8 -6
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/base.py +162 -33
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/ve_agentkit.py +12 -3
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/version.py +1 -1
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8/agentkit_sdk_python.egg-info}/PKG-INFO +1 -1
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/pyproject.toml +1 -1
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/LICENSE +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/MANIFEST.in +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/README.md +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/a2a_app/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/a2a_app/a2a_app.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/a2a_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/agent_server_app.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/middleware.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/base_app.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/mcp_app/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/mcp_app/mcp_app.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/mcp_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/simple_app.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/telemetry.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/utils.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/base_agentkit_client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/base_iam_client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/configuration.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/console_urls.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/constants.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/context.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/provider.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/account/client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/account/types.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/identity/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/identity/auth.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/knowledge/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/knowledge/client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/knowledge/types.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/mcp/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/mcp/client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/mcp/types.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/memory/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/memory/client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/memory/types.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/runtime/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/runtime/client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/runtime/types.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/skills/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/skills/client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/skills/types.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/tools/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/tools/client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/tools/types.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/builders/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/builders/base.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/builders/local_docker.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/builders/ve_pipeline.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/__main__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_build.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_config.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_deploy.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_destroy.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_init.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_knowledge.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_launch.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_memory.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_runtime.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_skills.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_skills_workflow.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_status.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_tools.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_version.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/console_reporter.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/interactive_config.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/utils.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/choice_resolvers.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/cloud_provider.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/config.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/config_handler.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/config_validator.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/constants.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/dataclass_utils.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/docker_build_config.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/global_config.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/region_defaults.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/region_resolver.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/strategy_configs.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/utils.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/context.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/base_images.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/container.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/utils.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/errors.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/base_executor.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/build_executor.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/deploy_executor.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/init_executor.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/invoke_executor.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/status_executor.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/models.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/reporter.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/__pycache__/customer_support_assistant.cpython-312.pyc +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/__pycache__/financial_analyst.cpython-312.pyc +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/__pycache__/simple_app_veadk.cpython-312.pyc +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/__pycache__/simple_mcp_veadk.cpython-312.pyc +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/a2a.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/agent_server.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/basic.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/langchain_basic_stream.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/agent.go +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/build.sh +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.mod +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.sum +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/main.go +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/agent.go +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/build.sh +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/go.mod +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/go.sum +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/main.go +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/local_docker.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/bindings/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/bindings/memory.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/builder.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/client.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/config.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/deployer.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/initializer.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/invoker.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/lifecycle.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/status.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/base_strategy.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/cloud_strategy.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/hybrid_strategy.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/local_strategy.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/utils/agent_parser.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/cr.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/iam.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/services/cr_service.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/services/tos_service.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/sts.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/__init__.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/global_config_io.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/logging_config.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/misc.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/request.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/template_utils.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/ve_sign.py +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/SOURCES.txt +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/dependency_links.txt +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/requires.txt +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/top_level.txt +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/setup.cfg +0 -0
- {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/tests/test_client_uses_platform_context.py +0 -0
{agentkit_sdk_python-0.5.7/agentkit_sdk_python.egg-info → agentkit_sdk_python-0.5.8}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentkit-sdk-python
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.8
|
|
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
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
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/base_service_client.py
RENAMED
|
@@ -18,7 +18,6 @@ This is the top-level base class for all service clients.
|
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
20
|
import json
|
|
21
|
-
import logging
|
|
22
21
|
from typing import Any, Dict, Type, TypeVar, Union, Optional
|
|
23
22
|
from dataclasses import dataclass
|
|
24
23
|
|
|
@@ -35,7 +34,6 @@ from agentkit.platform import (
|
|
|
35
34
|
from agentkit.platform.configuration import Credentials as PlatformCredentials
|
|
36
35
|
from agentkit.platform.provider import CloudProvider
|
|
37
36
|
from agentkit.utils.ve_sign import ensure_x_custom_source_header
|
|
38
|
-
logger = logging.getLogger(__name__)
|
|
39
37
|
|
|
40
38
|
T = TypeVar("T")
|
|
41
39
|
_CREDENTIAL_ERROR_TOKENS = frozenset(
|
|
@@ -306,8 +304,7 @@ class BaseServiceClient(Service):
|
|
|
306
304
|
|
|
307
305
|
if not res:
|
|
308
306
|
raise Exception(f"Empty response from {api_action} request.")
|
|
309
|
-
|
|
310
|
-
logger.debug(f"Response from {api_action} request: {res}")
|
|
307
|
+
|
|
311
308
|
response_data = json.loads(res)
|
|
312
309
|
metadata = response_data.get("ResponseMetadata", {})
|
|
313
310
|
if metadata.get("Error"):
|
|
@@ -30,6 +30,26 @@ logger = logging.getLogger(__name__)
|
|
|
30
30
|
console = Console()
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
def _sanitize_headers_for_display(headers: dict) -> dict:
|
|
34
|
+
if not isinstance(headers, dict):
|
|
35
|
+
return {}
|
|
36
|
+
redacted_keys = {
|
|
37
|
+
"authorization",
|
|
38
|
+
"proxy-authorization",
|
|
39
|
+
"x-api-key",
|
|
40
|
+
"x-auth-token",
|
|
41
|
+
"api-key",
|
|
42
|
+
}
|
|
43
|
+
out: dict = {}
|
|
44
|
+
for k, v in headers.items():
|
|
45
|
+
key = str(k)
|
|
46
|
+
if key.lower() in redacted_keys:
|
|
47
|
+
out[key] = "******"
|
|
48
|
+
else:
|
|
49
|
+
out[key] = v
|
|
50
|
+
return out
|
|
51
|
+
|
|
52
|
+
|
|
33
53
|
def _extract_text_chunks_from_langchain_event(event: dict) -> list[str]:
|
|
34
54
|
"""Extract incremental text chunks from LangChain message_to_dict-style events.
|
|
35
55
|
|
|
@@ -211,7 +231,9 @@ def build_a2a_payload(
|
|
|
211
231
|
|
|
212
232
|
|
|
213
233
|
def invoke_command(
|
|
214
|
-
config_file: Path = typer.Option(
|
|
234
|
+
config_file: Optional[Path] = typer.Option(
|
|
235
|
+
None, "--config-file", help="Configuration file"
|
|
236
|
+
),
|
|
215
237
|
message: str = typer.Argument(None, help="Simple message to send to agent"),
|
|
216
238
|
payload: str = typer.Option(
|
|
217
239
|
None, "--payload", "-p", help="JSON payload to send (advanced option)"
|
|
@@ -219,6 +241,20 @@ def invoke_command(
|
|
|
219
241
|
headers: str = typer.Option(
|
|
220
242
|
None, "--headers", "-h", help="JSON headers for request (advanced option)"
|
|
221
243
|
),
|
|
244
|
+
runtime_id: str = typer.Option(
|
|
245
|
+
None, "--runtime-id", "-r", help="Runtime ID for direct invocation"
|
|
246
|
+
),
|
|
247
|
+
endpoint: str = typer.Option(
|
|
248
|
+
None, "--endpoint", "-e", help="Endpoint URL for direct invocation"
|
|
249
|
+
),
|
|
250
|
+
region: str = typer.Option(
|
|
251
|
+
None, "--region", help="Region for Runtime lookup (used with --runtime-id)"
|
|
252
|
+
),
|
|
253
|
+
a2a: bool = typer.Option(
|
|
254
|
+
False,
|
|
255
|
+
"--a2a",
|
|
256
|
+
help="Force A2A JSON-RPC envelope (direct invocation mode only)",
|
|
257
|
+
),
|
|
222
258
|
show_reasoning: bool = typer.Option(
|
|
223
259
|
False,
|
|
224
260
|
"--show-reasoning",
|
|
@@ -262,8 +298,28 @@ def invoke_command(
|
|
|
262
298
|
"[red]Error: Must provide either a message or --payload option.[/red]"
|
|
263
299
|
)
|
|
264
300
|
raise typer.Exit(1)
|
|
265
|
-
|
|
266
|
-
|
|
301
|
+
|
|
302
|
+
direct_mode = bool(runtime_id or endpoint)
|
|
303
|
+
if direct_mode and config_file is not None:
|
|
304
|
+
console.print(
|
|
305
|
+
"[red]Error: --config-file cannot be used with --runtime-id/--endpoint.[/red]"
|
|
306
|
+
)
|
|
307
|
+
raise typer.Exit(1)
|
|
308
|
+
if runtime_id and endpoint:
|
|
309
|
+
console.print(
|
|
310
|
+
"[red]Error: Cannot specify both --runtime-id and --endpoint.[/red]"
|
|
311
|
+
)
|
|
312
|
+
raise typer.Exit(1)
|
|
313
|
+
if region and not runtime_id:
|
|
314
|
+
console.print(
|
|
315
|
+
"[red]Error: --region can only be used together with --runtime-id.[/red]"
|
|
316
|
+
)
|
|
317
|
+
raise typer.Exit(1)
|
|
318
|
+
if a2a and not direct_mode:
|
|
319
|
+
console.print(
|
|
320
|
+
"[red]Error: --a2a can only be used with --runtime-id or --endpoint.[/red]"
|
|
321
|
+
)
|
|
322
|
+
raise typer.Exit(1)
|
|
267
323
|
|
|
268
324
|
# Process headers
|
|
269
325
|
default_headers = {
|
|
@@ -286,38 +342,100 @@ def invoke_command(
|
|
|
286
342
|
)
|
|
287
343
|
raise typer.Exit(1)
|
|
288
344
|
final_headers.update(custom_headers)
|
|
289
|
-
console.print(
|
|
345
|
+
console.print(
|
|
346
|
+
f"[blue]Using merged headers: {_sanitize_headers_for_display(final_headers)}[/blue]"
|
|
347
|
+
)
|
|
290
348
|
else:
|
|
291
|
-
console.print(f"[blue]Using default headers: {final_headers}[/blue]")
|
|
292
|
-
|
|
293
|
-
final_payload = build_standard_payload(message, payload)
|
|
294
|
-
agent_type = getattr(common_config, "agent_type", "") or getattr(
|
|
295
|
-
common_config, "template_type", ""
|
|
296
|
-
)
|
|
297
|
-
is_a2a = isinstance(agent_type, str) and "a2a" in agent_type.lower()
|
|
298
|
-
|
|
299
|
-
# If it's an A2A Agent, reconstruct payload using A2A constructor
|
|
300
|
-
if is_a2a:
|
|
301
349
|
console.print(
|
|
302
|
-
"[
|
|
350
|
+
f"[blue]Using default headers: {_sanitize_headers_for_display(final_headers)}[/blue]"
|
|
303
351
|
)
|
|
304
|
-
final_payload = build_a2a_payload(message, payload, final_headers)
|
|
305
352
|
|
|
306
353
|
if apikey:
|
|
354
|
+
if runtime_id:
|
|
355
|
+
console.print(
|
|
356
|
+
"[red]Error: --apikey cannot be used together with --runtime-id. "
|
|
357
|
+
"--runtime-id mode resolves the Runtime and infers its auth type automatically: "
|
|
358
|
+
"for API Key (key_auth), omit auth flags and the CLI will fetch and inject the API key; "
|
|
359
|
+
'for JWT/OAuth (custom_jwt), provide an Authorization header via --headers \'{"Authorization":"Bearer <token>"}\'. '
|
|
360
|
+
"If you want to pass an API key manually, use --endpoint together with --apikey.[/red]"
|
|
361
|
+
)
|
|
362
|
+
raise typer.Exit(1)
|
|
307
363
|
final_headers["Authorization"] = f"Bearer {apikey}"
|
|
308
364
|
|
|
365
|
+
final_payload = build_standard_payload(message, payload)
|
|
366
|
+
|
|
309
367
|
from agentkit.toolkit.context import ExecutionContext
|
|
310
368
|
|
|
311
369
|
reporter = ConsoleReporter()
|
|
312
370
|
ExecutionContext.set_reporter(reporter)
|
|
313
371
|
|
|
314
372
|
executor = InvokeExecutor(reporter=reporter)
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
373
|
+
|
|
374
|
+
if direct_mode:
|
|
375
|
+
if endpoint and not apikey and not final_headers.get("Authorization"):
|
|
376
|
+
console.print(
|
|
377
|
+
"[red]Error: --endpoint requires --apikey or an Authorization header provided via --headers.[/red]"
|
|
378
|
+
)
|
|
379
|
+
raise typer.Exit(1)
|
|
380
|
+
|
|
381
|
+
direct_common = {
|
|
382
|
+
"agent_name": "direct_invoke",
|
|
383
|
+
"entry_point": "agent.py",
|
|
384
|
+
"launch_type": "cloud",
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
is_a2a_payload = isinstance(final_payload, dict) and bool(
|
|
388
|
+
final_payload.get("jsonrpc")
|
|
389
|
+
)
|
|
390
|
+
if a2a:
|
|
391
|
+
final_payload = build_a2a_payload(message, payload, final_headers)
|
|
392
|
+
is_a2a_payload = True
|
|
393
|
+
|
|
394
|
+
if is_a2a_payload:
|
|
395
|
+
direct_common["agent_type"] = "a2a"
|
|
396
|
+
|
|
397
|
+
direct_cloud: dict[str, Any] = {}
|
|
398
|
+
if region:
|
|
399
|
+
direct_cloud["region"] = region
|
|
400
|
+
if runtime_id:
|
|
401
|
+
direct_cloud["runtime_id"] = runtime_id
|
|
402
|
+
if endpoint:
|
|
403
|
+
direct_cloud["runtime_endpoint"] = endpoint
|
|
404
|
+
if apikey:
|
|
405
|
+
direct_cloud["runtime_apikey"] = apikey
|
|
406
|
+
else:
|
|
407
|
+
direct_cloud["runtime_auth_type"] = "custom_jwt"
|
|
408
|
+
|
|
409
|
+
config_dict = {"common": direct_common, "launch_types": {"cloud": direct_cloud}}
|
|
410
|
+
|
|
411
|
+
result = executor.execute(
|
|
412
|
+
payload=final_payload,
|
|
413
|
+
config_dict=config_dict,
|
|
414
|
+
headers=final_headers,
|
|
415
|
+
stream=None,
|
|
416
|
+
)
|
|
417
|
+
else:
|
|
418
|
+
config_path = config_file or Path("agentkit.yaml")
|
|
419
|
+
config = get_config(config_path=config_path)
|
|
420
|
+
common_config = config.get_common_config()
|
|
421
|
+
|
|
422
|
+
agent_type = getattr(common_config, "agent_type", "") or getattr(
|
|
423
|
+
common_config, "template_type", ""
|
|
424
|
+
)
|
|
425
|
+
is_a2a = isinstance(agent_type, str) and "a2a" in agent_type.lower()
|
|
426
|
+
|
|
427
|
+
if is_a2a:
|
|
428
|
+
console.print(
|
|
429
|
+
"[cyan]Detected A2A agent type - constructing A2A JSON-RPC envelope[/cyan]"
|
|
430
|
+
)
|
|
431
|
+
final_payload = build_a2a_payload(message, payload, final_headers)
|
|
432
|
+
|
|
433
|
+
result = executor.execute(
|
|
434
|
+
payload=final_payload,
|
|
435
|
+
config_file=str(config_path),
|
|
436
|
+
headers=final_headers,
|
|
437
|
+
stream=None, # Automatically determined by Runner
|
|
438
|
+
)
|
|
321
439
|
|
|
322
440
|
if not result.success:
|
|
323
441
|
console.print(f"[red]❌ Invocation failed: {result.error}[/red]")
|
|
@@ -26,22 +26,24 @@ stages:
|
|
|
26
26
|
shell: BASH
|
|
27
27
|
- step: step-c4
|
|
28
28
|
displayName: 镜像构建推送至镜像仓库服务
|
|
29
|
-
component: build@2.0.0/buildkit-cr@
|
|
29
|
+
component: build@2.0.0/buildkit-cr@5.0.0
|
|
30
30
|
inputs:
|
|
31
|
+
buildParams: ""
|
|
31
32
|
compression: gzip
|
|
32
33
|
contextPath: $PROJECT_ROOT_DIR
|
|
33
34
|
crDomain: $CR_DOMAIN
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
namespace: $CR_NAMESPACE
|
|
36
|
+
region: $CR_REGION
|
|
37
|
+
registryInstance: $CR_INSTANCE
|
|
38
|
+
repo: $CR_OCI
|
|
39
|
+
tag: $CR_TAG
|
|
39
40
|
disableSSLVerify: true
|
|
40
41
|
dockerfiles:
|
|
41
42
|
default:
|
|
42
43
|
path: $DOCKERFILE_PATH
|
|
43
44
|
loginCredential: []
|
|
44
45
|
useCache: false
|
|
46
|
+
nydusify: true
|
|
45
47
|
outputs:
|
|
46
48
|
- imageOutput_step-c4
|
|
47
49
|
workspace: {}
|
|
@@ -17,6 +17,9 @@ from typing import Dict, Any, Optional, Union, Generator, Tuple
|
|
|
17
17
|
import logging
|
|
18
18
|
import requests
|
|
19
19
|
import json
|
|
20
|
+
import time
|
|
21
|
+
import uuid
|
|
22
|
+
import random
|
|
20
23
|
from urllib.parse import urljoin
|
|
21
24
|
from dataclasses import dataclass
|
|
22
25
|
|
|
@@ -53,6 +56,8 @@ class Runner(ABC):
|
|
|
53
56
|
"""
|
|
54
57
|
self.logger = logging.getLogger(f"{__name__}.{self.__class__.__name__}")
|
|
55
58
|
self.reporter = reporter or SilentReporter()
|
|
59
|
+
self._backend_detect_cache: Dict[str, Tuple[str, float]] = {}
|
|
60
|
+
self._backend_detect_cache_ttl_s: int = 120
|
|
56
61
|
|
|
57
62
|
# ===== Configuration types =====
|
|
58
63
|
@dataclass
|
|
@@ -387,6 +392,99 @@ class Runner(ABC):
|
|
|
387
392
|
or err.startswith("Invocation failed: 405")
|
|
388
393
|
)
|
|
389
394
|
|
|
395
|
+
def _normalize_base_endpoint(self, base_endpoint: str) -> str:
|
|
396
|
+
try:
|
|
397
|
+
return (base_endpoint or "").rstrip("/")
|
|
398
|
+
except Exception:
|
|
399
|
+
return base_endpoint
|
|
400
|
+
|
|
401
|
+
def _get_cached_backend(self, base_endpoint: str) -> Optional[str]:
|
|
402
|
+
key = self._normalize_base_endpoint(base_endpoint)
|
|
403
|
+
item = self._backend_detect_cache.get(key)
|
|
404
|
+
if not item:
|
|
405
|
+
return None
|
|
406
|
+
kind, ts = item
|
|
407
|
+
if time.monotonic() - ts > self._backend_detect_cache_ttl_s:
|
|
408
|
+
try:
|
|
409
|
+
self._backend_detect_cache.pop(key, None)
|
|
410
|
+
except Exception:
|
|
411
|
+
pass
|
|
412
|
+
return None
|
|
413
|
+
return kind
|
|
414
|
+
|
|
415
|
+
def _set_cached_backend(self, base_endpoint: str, kind: str) -> None:
|
|
416
|
+
key = self._normalize_base_endpoint(base_endpoint)
|
|
417
|
+
try:
|
|
418
|
+
self._backend_detect_cache[key] = (kind, time.monotonic())
|
|
419
|
+
except Exception:
|
|
420
|
+
pass
|
|
421
|
+
|
|
422
|
+
def _is_a2a_agent_card_response(self, data: Any) -> bool:
|
|
423
|
+
if not isinstance(data, dict):
|
|
424
|
+
return False
|
|
425
|
+
name = data.get("name")
|
|
426
|
+
if not isinstance(name, str) or not name:
|
|
427
|
+
return False
|
|
428
|
+
if isinstance(data.get("capabilities"), dict):
|
|
429
|
+
return True
|
|
430
|
+
if isinstance(data.get("skills"), list):
|
|
431
|
+
return True
|
|
432
|
+
if isinstance(data.get("endpoints"), (dict, list)):
|
|
433
|
+
return True
|
|
434
|
+
if isinstance(data.get("protocol_version"), str) or isinstance(
|
|
435
|
+
data.get("protocolVersion"), str
|
|
436
|
+
):
|
|
437
|
+
return True
|
|
438
|
+
return False
|
|
439
|
+
|
|
440
|
+
def _detect_a2a_backend(
|
|
441
|
+
self, base_endpoint: str, headers: Dict[str, str], timeout_s: int = 2
|
|
442
|
+
) -> bool:
|
|
443
|
+
try:
|
|
444
|
+
base = (base_endpoint.rstrip("/") + "/") if base_endpoint else ""
|
|
445
|
+
url = urljoin(base, ".well-known/agent-card.json")
|
|
446
|
+
resp = requests.get(url, headers=headers, timeout=timeout_s)
|
|
447
|
+
if resp.status_code != 200:
|
|
448
|
+
return False
|
|
449
|
+
try:
|
|
450
|
+
data = resp.json()
|
|
451
|
+
except Exception:
|
|
452
|
+
return False
|
|
453
|
+
return self._is_a2a_agent_card_response(data)
|
|
454
|
+
except Exception:
|
|
455
|
+
return False
|
|
456
|
+
|
|
457
|
+
def _build_a2a_jsonrpc_payload(
|
|
458
|
+
self, original_payload: Any, headers: Dict[str, str]
|
|
459
|
+
) -> Dict[str, Any]:
|
|
460
|
+
if isinstance(original_payload, dict) and original_payload.get("jsonrpc"):
|
|
461
|
+
return original_payload
|
|
462
|
+
|
|
463
|
+
text = None
|
|
464
|
+
if isinstance(original_payload, dict):
|
|
465
|
+
val = original_payload.get("prompt")
|
|
466
|
+
if isinstance(val, str):
|
|
467
|
+
text = val
|
|
468
|
+
if text is None:
|
|
469
|
+
try:
|
|
470
|
+
text = json.dumps(original_payload, ensure_ascii=False)
|
|
471
|
+
except Exception:
|
|
472
|
+
text = ""
|
|
473
|
+
|
|
474
|
+
return {
|
|
475
|
+
"jsonrpc": "2.0",
|
|
476
|
+
"method": "message/stream",
|
|
477
|
+
"params": {
|
|
478
|
+
"message": {
|
|
479
|
+
"role": "user",
|
|
480
|
+
"messageId": str(uuid.uuid4()),
|
|
481
|
+
"parts": [{"kind": "text", "text": text or ""}],
|
|
482
|
+
},
|
|
483
|
+
"metadata": headers,
|
|
484
|
+
},
|
|
485
|
+
"id": random.randint(1, 999999),
|
|
486
|
+
}
|
|
487
|
+
|
|
390
488
|
def _post_run_sse(
|
|
391
489
|
self,
|
|
392
490
|
base_endpoint: str,
|
|
@@ -435,10 +533,8 @@ class Runner(ABC):
|
|
|
435
533
|
timeout=policy.invoke_timeout,
|
|
436
534
|
)
|
|
437
535
|
else:
|
|
438
|
-
|
|
439
|
-
if
|
|
440
|
-
ctx.base_endpoint, ctx.headers, timeout_s=policy.detect_timeout
|
|
441
|
-
):
|
|
536
|
+
cached = self._get_cached_backend(ctx.base_endpoint)
|
|
537
|
+
if cached == "adk":
|
|
442
538
|
app_name = self._get_adk_app_name(
|
|
443
539
|
ctx.base_endpoint,
|
|
444
540
|
ctx.headers,
|
|
@@ -465,6 +561,16 @@ class Runner(ABC):
|
|
|
465
561
|
adk_payload,
|
|
466
562
|
timeout_s=policy.sse_timeout,
|
|
467
563
|
)
|
|
564
|
+
elif cached == "a2a":
|
|
565
|
+
a2a_payload = self._build_a2a_jsonrpc_payload(payload, ctx.headers)
|
|
566
|
+
success, response_data = self._http_post_invoke(
|
|
567
|
+
endpoint=self._normalize_base_endpoint(ctx.base_endpoint)
|
|
568
|
+
or ctx.base_endpoint,
|
|
569
|
+
payload=a2a_payload,
|
|
570
|
+
headers=ctx.headers,
|
|
571
|
+
stream=None,
|
|
572
|
+
timeout=policy.invoke_timeout,
|
|
573
|
+
)
|
|
468
574
|
else:
|
|
469
575
|
success, response_data = self._http_post_invoke(
|
|
470
576
|
endpoint=ctx.invoke_endpoint,
|
|
@@ -473,35 +579,58 @@ class Runner(ABC):
|
|
|
473
579
|
stream=None,
|
|
474
580
|
timeout=policy.invoke_timeout,
|
|
475
581
|
)
|
|
476
|
-
if
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
ctx.headers
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
adk_payload
|
|
503
|
-
|
|
504
|
-
|
|
582
|
+
if success:
|
|
583
|
+
self._set_cached_backend(ctx.base_endpoint, "invoke")
|
|
584
|
+
elif self._should_fallback_to_adk(str(response_data)):
|
|
585
|
+
if self._detect_adk_backend(
|
|
586
|
+
ctx.base_endpoint, ctx.headers, timeout_s=policy.detect_timeout
|
|
587
|
+
):
|
|
588
|
+
self._set_cached_backend(ctx.base_endpoint, "adk")
|
|
589
|
+
app_name = self._get_adk_app_name(
|
|
590
|
+
ctx.base_endpoint,
|
|
591
|
+
ctx.headers,
|
|
592
|
+
preferred_name=ctx.preferred_app_name,
|
|
593
|
+
timeout_s=policy.list_apps_timeout,
|
|
594
|
+
)
|
|
595
|
+
app_name = app_name or "agentkit-app"
|
|
596
|
+
user_id = ctx.headers.get("user_id") or "agentkit_user"
|
|
597
|
+
session_id = (
|
|
598
|
+
ctx.headers.get("session_id") or "agentkit_sample_session"
|
|
599
|
+
)
|
|
600
|
+
self._ensure_adk_session(
|
|
601
|
+
ctx.base_endpoint,
|
|
602
|
+
ctx.headers,
|
|
603
|
+
app_name,
|
|
604
|
+
user_id,
|
|
605
|
+
session_id,
|
|
606
|
+
timeout_s=policy.session_timeout,
|
|
607
|
+
)
|
|
608
|
+
adk_payload = self._build_adk_run_sse_payload(
|
|
609
|
+
app_name, ctx.headers, payload
|
|
610
|
+
)
|
|
611
|
+
success, response_data = self._post_run_sse(
|
|
612
|
+
ctx.base_endpoint,
|
|
613
|
+
ctx.headers,
|
|
614
|
+
adk_payload,
|
|
615
|
+
timeout_s=policy.sse_timeout,
|
|
616
|
+
)
|
|
617
|
+
elif self._detect_a2a_backend(
|
|
618
|
+
ctx.base_endpoint, ctx.headers, timeout_s=policy.detect_timeout
|
|
619
|
+
):
|
|
620
|
+
self._set_cached_backend(ctx.base_endpoint, "a2a")
|
|
621
|
+
a2a_payload = self._build_a2a_jsonrpc_payload(
|
|
622
|
+
payload, ctx.headers
|
|
623
|
+
)
|
|
624
|
+
success, response_data = self._http_post_invoke(
|
|
625
|
+
endpoint=self._normalize_base_endpoint(ctx.base_endpoint)
|
|
626
|
+
or ctx.base_endpoint,
|
|
627
|
+
payload=a2a_payload,
|
|
628
|
+
headers=ctx.headers,
|
|
629
|
+
stream=None,
|
|
630
|
+
timeout=policy.invoke_timeout,
|
|
631
|
+
)
|
|
632
|
+
else:
|
|
633
|
+
self._set_cached_backend(ctx.base_endpoint, "unknown")
|
|
505
634
|
|
|
506
635
|
is_streaming = hasattr(response_data, "__iter__") and not isinstance(
|
|
507
636
|
response_data, (dict, str, list, bytes)
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/ve_agentkit.py
RENAMED
|
@@ -416,7 +416,8 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
416
416
|
"""
|
|
417
417
|
try:
|
|
418
418
|
runner_config = config
|
|
419
|
-
|
|
419
|
+
effective_auth_type = runner_config.runtime_auth_type
|
|
420
|
+
is_jwt_auth = effective_auth_type == AUTH_TYPE_CUSTOM_JWT
|
|
420
421
|
|
|
421
422
|
# Get Runtime endpoint and API key
|
|
422
423
|
endpoint = runner_config.runtime_endpoint
|
|
@@ -455,6 +456,14 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
455
456
|
error_code=ErrorCode.RESOURCE_NOT_FOUND,
|
|
456
457
|
)
|
|
457
458
|
raise e
|
|
459
|
+
|
|
460
|
+
authorizer = getattr(runtime, "authorizer_configuration", None)
|
|
461
|
+
if authorizer and getattr(authorizer, "custom_jwt_authorizer", None):
|
|
462
|
+
effective_auth_type = AUTH_TYPE_CUSTOM_JWT
|
|
463
|
+
elif authorizer and getattr(authorizer, "key_auth", None):
|
|
464
|
+
effective_auth_type = AUTH_TYPE_KEY_AUTH
|
|
465
|
+
is_jwt_auth = effective_auth_type == AUTH_TYPE_CUSTOM_JWT
|
|
466
|
+
|
|
458
467
|
endpoint = self.get_public_endpoint_of_runtime(runtime)
|
|
459
468
|
|
|
460
469
|
# Only fetch API key for key_auth mode
|
|
@@ -468,7 +477,7 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
468
477
|
# Validate based on auth type
|
|
469
478
|
if not endpoint:
|
|
470
479
|
error_msg = "Failed to obtain Runtime endpoint. The 'agentkit invoke' command only supports public network endpoints."
|
|
471
|
-
logger.error(
|
|
480
|
+
logger.error(error_msg)
|
|
472
481
|
return InvokeResult(
|
|
473
482
|
success=False,
|
|
474
483
|
error=error_msg,
|
|
@@ -476,7 +485,7 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
476
485
|
)
|
|
477
486
|
if not is_jwt_auth and not api_key:
|
|
478
487
|
error_msg = "Failed to obtain Runtime API key."
|
|
479
|
-
logger.error(
|
|
488
|
+
logger.error(error_msg)
|
|
480
489
|
return InvokeResult(
|
|
481
490
|
success=False,
|
|
482
491
|
error=error_msg,
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8/agentkit_sdk_python.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentkit-sdk-python
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.8
|
|
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
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "agentkit-sdk-python"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.8"
|
|
4
4
|
description = "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
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/middleware.py
RENAMED
|
File without changes
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/telemetry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/__init__.py
RENAMED
|
File without changes
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/simple_app.py
RENAMED
|
File without changes
|
|
File without changes
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/telemetry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/base_agentkit_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|