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.
Files changed (196) hide show
  1. {agentkit_sdk_python-0.5.7/agentkit_sdk_python.egg-info → agentkit_sdk_python-0.5.8}/PKG-INFO +1 -1
  2. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/base_service_client.py +1 -4
  3. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_invoke.py +140 -22
  4. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +8 -6
  5. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/base.py +162 -33
  6. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/ve_agentkit.py +12 -3
  7. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/version.py +1 -1
  8. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8/agentkit_sdk_python.egg-info}/PKG-INFO +1 -1
  9. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/pyproject.toml +1 -1
  10. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/LICENSE +0 -0
  11. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/MANIFEST.in +0 -0
  12. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/README.md +0 -0
  13. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/__init__.py +0 -0
  14. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/__init__.py +0 -0
  15. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/a2a_app/__init__.py +0 -0
  16. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/a2a_app/a2a_app.py +0 -0
  17. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/a2a_app/telemetry.py +0 -0
  18. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/__init__.py +0 -0
  19. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/agent_server_app.py +0 -0
  20. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/middleware.py +0 -0
  21. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/agent_server_app/telemetry.py +0 -0
  22. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/base_app.py +0 -0
  23. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/mcp_app/__init__.py +0 -0
  24. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/mcp_app/mcp_app.py +0 -0
  25. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/mcp_app/telemetry.py +0 -0
  26. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/__init__.py +0 -0
  27. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/simple_app.py +0 -0
  28. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
  29. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/simple_app/telemetry.py +0 -0
  30. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/apps/utils.py +0 -0
  31. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/__init__.py +0 -0
  32. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/base_agentkit_client.py +0 -0
  33. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/client/base_iam_client.py +0 -0
  34. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/__init__.py +0 -0
  35. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/configuration.py +0 -0
  36. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/console_urls.py +0 -0
  37. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/constants.py +0 -0
  38. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/context.py +0 -0
  39. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/platform/provider.py +0 -0
  40. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/__init__.py +0 -0
  41. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/account/client.py +0 -0
  42. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/account/types.py +0 -0
  43. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/identity/__init__.py +0 -0
  44. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/identity/auth.py +0 -0
  45. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/knowledge/__init__.py +0 -0
  46. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/knowledge/client.py +0 -0
  47. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/knowledge/types.py +0 -0
  48. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/mcp/__init__.py +0 -0
  49. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/mcp/client.py +0 -0
  50. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/mcp/types.py +0 -0
  51. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/memory/__init__.py +0 -0
  52. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/memory/client.py +0 -0
  53. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/memory/types.py +0 -0
  54. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/runtime/__init__.py +0 -0
  55. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/runtime/client.py +0 -0
  56. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/runtime/types.py +0 -0
  57. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/skills/__init__.py +0 -0
  58. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/skills/client.py +0 -0
  59. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/skills/types.py +0 -0
  60. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/tools/__init__.py +0 -0
  61. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/tools/client.py +0 -0
  62. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/sdk/tools/types.py +0 -0
  63. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/__init__.py +0 -0
  64. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/builders/__init__.py +0 -0
  65. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/builders/base.py +0 -0
  66. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/builders/local_docker.py +0 -0
  67. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/builders/ve_pipeline.py +0 -0
  68. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/__init__.py +0 -0
  69. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/__main__.py +0 -0
  70. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli.py +0 -0
  71. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_build.py +0 -0
  72. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_config.py +0 -0
  73. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_deploy.py +0 -0
  74. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_destroy.py +0 -0
  75. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_init.py +0 -0
  76. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_knowledge.py +0 -0
  77. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_launch.py +0 -0
  78. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_memory.py +0 -0
  79. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_runtime.py +0 -0
  80. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_skills.py +0 -0
  81. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_skills_workflow.py +0 -0
  82. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_status.py +0 -0
  83. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_tools.py +0 -0
  84. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/cli_version.py +0 -0
  85. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/console_reporter.py +0 -0
  86. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/interactive_config.py +0 -0
  87. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/cli/utils.py +0 -0
  88. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/__init__.py +0 -0
  89. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/choice_resolvers.py +0 -0
  90. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/cloud_provider.py +0 -0
  91. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/config.py +0 -0
  92. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/config_handler.py +0 -0
  93. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/config_validator.py +0 -0
  94. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/constants.py +0 -0
  95. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/dataclass_utils.py +0 -0
  96. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/docker_build_config.py +0 -0
  97. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/global_config.py +0 -0
  98. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/region_defaults.py +0 -0
  99. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/region_resolver.py +0 -0
  100. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/strategy_configs.py +0 -0
  101. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/config/utils.py +0 -0
  102. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/context.py +0 -0
  103. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/__init__.py +0 -0
  104. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/base_images.py +0 -0
  105. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/container.py +0 -0
  106. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
  107. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
  108. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
  109. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/docker/utils.py +0 -0
  110. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/errors.py +0 -0
  111. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/__init__.py +0 -0
  112. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/base_executor.py +0 -0
  113. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/build_executor.py +0 -0
  114. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/deploy_executor.py +0 -0
  115. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/init_executor.py +0 -0
  116. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/invoke_executor.py +0 -0
  117. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
  118. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/executors/status_executor.py +0 -0
  119. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/models.py +0 -0
  120. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/reporter.py +0 -0
  121. {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
  122. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/__pycache__/financial_analyst.cpython-312.pyc +0 -0
  123. {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
  124. {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
  125. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/a2a.py +0 -0
  126. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/agent_server.py +0 -0
  127. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/basic.py +0 -0
  128. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
  129. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
  130. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
  131. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
  132. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
  133. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
  134. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
  135. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
  136. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/langchain_basic_stream.py +0 -0
  137. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
  138. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
  139. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/agent.go +0 -0
  140. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/build.sh +0 -0
  141. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.mod +0 -0
  142. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.sum +0 -0
  143. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_a2a/main.go +0 -0
  144. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/agent.go +0 -0
  145. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/build.sh +0 -0
  146. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/go.mod +0 -0
  147. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/go.sum +0 -0
  148. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/samples/veadk_go_basic/main.go +0 -0
  149. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
  150. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
  151. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
  152. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
  153. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/__init__.py +0 -0
  154. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/runners/local_docker.py +0 -0
  155. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/__init__.py +0 -0
  156. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/bindings/__init__.py +0 -0
  157. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/bindings/memory.py +0 -0
  158. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/builder.py +0 -0
  159. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/client.py +0 -0
  160. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/config.py +0 -0
  161. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/deployer.py +0 -0
  162. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/initializer.py +0 -0
  163. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/invoker.py +0 -0
  164. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/lifecycle.py +0 -0
  165. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/sdk/status.py +0 -0
  166. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/__init__.py +0 -0
  167. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/base_strategy.py +0 -0
  168. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/cloud_strategy.py +0 -0
  169. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/hybrid_strategy.py +0 -0
  170. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/strategies/local_strategy.py +0 -0
  171. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/utils/__init__.py +0 -0
  172. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/utils/agent_parser.py +0 -0
  173. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/__init__.py +0 -0
  174. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
  175. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/cr.py +0 -0
  176. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/iam.py +0 -0
  177. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
  178. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/services/cr_service.py +0 -0
  179. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/services/tos_service.py +0 -0
  180. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/sts.py +0 -0
  181. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
  182. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
  183. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/__init__.py +0 -0
  184. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/global_config_io.py +0 -0
  185. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/logging_config.py +0 -0
  186. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/misc.py +0 -0
  187. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/request.py +0 -0
  188. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/template_utils.py +0 -0
  189. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit/utils/ve_sign.py +0 -0
  190. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/SOURCES.txt +0 -0
  191. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/dependency_links.txt +0 -0
  192. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
  193. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/requires.txt +0 -0
  194. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/agentkit_sdk_python.egg-info/top_level.txt +0 -0
  195. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/setup.cfg +0 -0
  196. {agentkit_sdk_python-0.5.7 → agentkit_sdk_python-0.5.8}/tests/test_client_uses_platform_context.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentkit-sdk-python
3
- Version: 0.5.7
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
@@ -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
- # debug level log res
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("agentkit.yaml", help="Configuration file"),
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
- config = get_config(config_path=config_file)
266
- common_config = config.get_common_config()
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(f"[blue]Using merged headers: {final_headers}[/blue]")
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
- "[cyan]Detected A2A agent type - constructing A2A JSON-RPC envelope[/cyan]"
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
- result = executor.execute(
316
- payload=final_payload,
317
- config_file=str(config_file),
318
- headers=final_headers,
319
- stream=None, # Automatically determined by Runner
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@3.0.0
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
- crNamespace: $CR_NAMESPACE
35
- crRegion: $CR_REGION
36
- crRegistryInstance: $CR_INSTANCE
37
- crRepo: $CR_OCI
38
- crTag: $CR_TAG
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
- # Non-A2A: detect ADK first
439
- if self._detect_adk_backend(
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 not success and self._should_fallback_to_adk(str(response_data)):
477
- app_name = self._get_adk_app_name(
478
- ctx.base_endpoint,
479
- ctx.headers,
480
- preferred_name=ctx.preferred_app_name,
481
- timeout_s=policy.list_apps_timeout,
482
- )
483
- app_name = app_name or "agentkit-app"
484
- user_id = ctx.headers.get("user_id") or "agentkit_user"
485
- session_id = (
486
- ctx.headers.get("session_id") or "agentkit_sample_session"
487
- )
488
- self._ensure_adk_session(
489
- ctx.base_endpoint,
490
- ctx.headers,
491
- app_name,
492
- user_id,
493
- session_id,
494
- timeout_s=policy.session_timeout,
495
- )
496
- adk_payload = self._build_adk_run_sse_payload(
497
- app_name, ctx.headers, payload
498
- )
499
- success, response_data = self._post_run_sse(
500
- ctx.base_endpoint,
501
- ctx.headers,
502
- adk_payload,
503
- timeout_s=policy.sse_timeout,
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)
@@ -416,7 +416,8 @@ class VeAgentkitRuntimeRunner(Runner):
416
416
  """
417
417
  try:
418
418
  runner_config = config
419
- is_jwt_auth = runner_config.runtime_auth_type == AUTH_TYPE_CUSTOM_JWT
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(f"{error_msg}, runtime: {runtime}")
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(f"{error_msg}, runtime: {runtime}")
488
+ logger.error(error_msg)
480
489
  return InvokeResult(
481
490
  success=False,
482
491
  error=error_msg,
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- VERSION = "0.5.7"
15
+ VERSION = "0.5.8"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentkit-sdk-python
3
- Version: 0.5.7
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.7"
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"