agentkit-sdk-python 0.8.0__tar.gz → 0.8.2__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 (302) hide show
  1. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/PKG-INFO +5 -3
  2. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/agent_server_app.py +170 -29
  3. agentkit_sdk_python-0.8.2/agentkit/apps/agent_server_app/credential_service.py +92 -0
  4. agentkit_sdk_python-0.8.2/agentkit/apps/agent_server_app/inbound_auth.py +43 -0
  5. agentkit_sdk_python-0.8.2/agentkit/apps/agent_server_app/inbound_auth_adapter.py +187 -0
  6. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/middleware.py +3 -6
  7. agentkit_sdk_python-0.8.2/agentkit/apps/auth/__init__.py +35 -0
  8. agentkit_sdk_python-0.8.2/agentkit/apps/auth/inbound.py +91 -0
  9. agentkit_sdk_python-0.8.2/agentkit/identity/__init__.py +73 -0
  10. agentkit_sdk_python-0.8.2/agentkit/identity/_runtime_dependency.py +25 -0
  11. agentkit_sdk_python-0.8.2/agentkit/identity/client.py +182 -0
  12. agentkit_sdk_python-0.8.2/agentkit/identity/context.py +10 -0
  13. agentkit_sdk_python-0.8.2/agentkit/identity/errors.py +23 -0
  14. agentkit_sdk_python-0.8.2/agentkit/identity/jwt.py +10 -0
  15. agentkit_sdk_python-0.8.2/agentkit/identity/middleware.py +113 -0
  16. agentkit_sdk_python-0.8.2/agentkit/identity/runtime.py +7 -0
  17. agentkit_sdk_python-0.8.2/agentkit/identity/transport.py +7 -0
  18. agentkit_sdk_python-0.8.2/agentkit/identity/types.py +19 -0
  19. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/constants.py +7 -0
  20. agentkit_sdk_python-0.8.2/agentkit/sdk/model_gateway/__init__.py +101 -0
  21. agentkit_sdk_python-0.8.2/agentkit/sdk/model_gateway/client.py +191 -0
  22. agentkit_sdk_python-0.8.2/agentkit/sdk/model_gateway/types.py +382 -0
  23. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli.py +2 -0
  24. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_config.py +7 -0
  25. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_memory.py +38 -7
  26. agentkit_sdk_python-0.8.2/agentkit/toolkit/cli/cli_model_gateway.py +1109 -0
  27. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_runtime.py +26 -4
  28. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/__init__.py +2 -0
  29. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/config_handler.py +3 -0
  30. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/constants.py +1 -0
  31. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/strategy_configs.py +9 -0
  32. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/runners/ve_agentkit.py +54 -11
  33. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/cloud_strategy.py +1 -0
  34. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/hybrid_strategy.py +1 -0
  35. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/version.py +1 -1
  36. agentkit_sdk_python-0.8.2/agentkit_identity/__init__.py +58 -0
  37. agentkit_sdk_python-0.8.2/agentkit_identity/context.py +180 -0
  38. agentkit_sdk_python-0.8.2/agentkit_identity/errors.py +36 -0
  39. agentkit_sdk_python-0.8.2/agentkit_identity/jwt.py +673 -0
  40. agentkit_sdk_python-0.8.2/agentkit_identity/middleware.py +278 -0
  41. agentkit_sdk_python-0.8.2/agentkit_identity/runtime.py +377 -0
  42. agentkit_sdk_python-0.8.2/agentkit_identity/transport.py +230 -0
  43. agentkit_sdk_python-0.8.2/agentkit_identity/types.py +196 -0
  44. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit_sdk_python.egg-info/PKG-INFO +5 -3
  45. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit_sdk_python.egg-info/SOURCES.txt +28 -0
  46. agentkit_sdk_python-0.8.2/agentkit_sdk_python.egg-info/dependency_links.txt +1 -0
  47. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit_sdk_python.egg-info/requires.txt +5 -2
  48. agentkit_sdk_python-0.8.2/agentkit_sdk_python.egg-info/top_level.txt +2 -0
  49. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/pyproject.toml +8 -4
  50. agentkit_sdk_python-0.8.0/agentkit_sdk_python.egg-info/top_level.txt +0 -1
  51. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/LICENSE +0 -0
  52. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/MANIFEST.in +0 -0
  53. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/README.md +0 -0
  54. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/__init__.py +0 -0
  55. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/__init__.py +0 -0
  56. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/a2a_app/__init__.py +0 -0
  57. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/a2a_app/a2a_app.py +0 -0
  58. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/a2a_app/telemetry.py +0 -0
  59. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/__init__.py +0 -0
  60. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/origin.py +0 -0
  61. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/agent_server_app/telemetry.py +0 -0
  62. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/base_app.py +0 -0
  63. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/langgraph_server_app/__init__.py +0 -0
  64. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/langgraph_server_app/langgraph_server_app.py +0 -0
  65. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/mcp_app/__init__.py +0 -0
  66. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/mcp_app/mcp_app.py +0 -0
  67. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/mcp_app/telemetry.py +0 -0
  68. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/simple_app/__init__.py +0 -0
  69. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/simple_app/simple_app.py +0 -0
  70. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
  71. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/simple_app/telemetry.py +0 -0
  72. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/apps/utils.py +0 -0
  73. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/__init__.py +0 -0
  74. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/_openapi.py +0 -0
  75. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/_redact.py +0 -0
  76. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/_sigv4.py +0 -0
  77. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/admin.py +0 -0
  78. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/credential_hosting.py +0 -0
  79. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/errors.py +0 -0
  80. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/model_login.py +0 -0
  81. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/oauth.py +0 -0
  82. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/profile.py +0 -0
  83. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/providers.py +0 -0
  84. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/resolve.py +0 -0
  85. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/session.py +0 -0
  86. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/ssl_trust.py +0 -0
  87. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/sso.py +0 -0
  88. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/store.py +0 -0
  89. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/auth/sts.py +0 -0
  90. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/client/__init__.py +0 -0
  91. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/client/base_agentkit_client.py +0 -0
  92. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/client/base_iam_client.py +0 -0
  93. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/client/base_service_client.py +0 -0
  94. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/errors.py +0 -0
  95. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/__init__.py +0 -0
  96. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/_common.py +0 -0
  97. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/agentcore.py +0 -0
  98. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/langchain.py +0 -0
  99. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/langgraph.py +0 -0
  100. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/migration.py +0 -0
  101. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/model_replacement.py +0 -0
  102. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/serving/__init__.py +0 -0
  103. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/serving/fastapi_mount.py +0 -0
  104. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/serving/langserve.py +0 -0
  105. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/frameworks/strands.py +0 -0
  106. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/__init__.py +0 -0
  107. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/configuration.py +0 -0
  108. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/console_urls.py +0 -0
  109. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/context.py +0 -0
  110. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/platform/provider.py +0 -0
  111. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/__init__.py +0 -0
  112. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/account/client.py +0 -0
  113. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/account/types.py +0 -0
  114. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/identity/__init__.py +0 -0
  115. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/identity/auth.py +0 -0
  116. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/identity/client.py +0 -0
  117. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/identity/types.py +0 -0
  118. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/knowledge/__init__.py +0 -0
  119. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/knowledge/client.py +0 -0
  120. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/knowledge/types.py +0 -0
  121. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/mcp/__init__.py +0 -0
  122. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/mcp/client.py +0 -0
  123. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/mcp/types.py +0 -0
  124. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/memory/__init__.py +0 -0
  125. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/memory/client.py +0 -0
  126. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/memory/types.py +0 -0
  127. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/runtime/__init__.py +0 -0
  128. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/runtime/client.py +0 -0
  129. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/runtime/types.py +0 -0
  130. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/skills/__init__.py +0 -0
  131. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/skills/client.py +0 -0
  132. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/skills/types.py +0 -0
  133. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/tools/__init__.py +0 -0
  134. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/tools/client.py +0 -0
  135. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/sdk/tools/types.py +0 -0
  136. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/__init__.py +0 -0
  137. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/__init__.py +0 -0
  138. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/base.py +0 -0
  139. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/local_docker.py +0 -0
  140. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/ve_pipeline.py +0 -0
  141. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/builders/ve_sandbox_pipeline.py +0 -0
  142. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/__init__.py +0 -0
  143. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/__main__.py +0 -0
  144. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_add.py +0 -0
  145. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_auth.py +0 -0
  146. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_build.py +0 -0
  147. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_delete.py +0 -0
  148. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_deploy.py +0 -0
  149. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_destroy.py +0 -0
  150. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_init.py +0 -0
  151. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_invoke.py +0 -0
  152. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_knowledge.py +0 -0
  153. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_launch.py +0 -0
  154. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_list.py +0 -0
  155. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_logs.py +0 -0
  156. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_skill.py +0 -0
  157. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_skills.py +0 -0
  158. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_skills_workflow.py +0 -0
  159. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_status.py +0 -0
  160. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_tools.py +0 -0
  161. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/cli_version.py +0 -0
  162. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/console_reporter.py +0 -0
  163. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/interactive_config.py +0 -0
  164. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/__init__.py +0 -0
  165. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/a2a_client.py +0 -0
  166. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/agentkit_client.py +0 -0
  167. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli.py +0 -0
  168. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_build.py +0 -0
  169. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_config.py +0 -0
  170. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_create.py +0 -0
  171. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_delete.py +0 -0
  172. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_exec.py +0 -0
  173. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_init.py +0 -0
  174. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_invoke.py +0 -0
  175. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_list.py +0 -0
  176. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_model_login.py +0 -0
  177. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_mount.py +0 -0
  178. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_run.py +0 -0
  179. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_scp.py +0 -0
  180. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_shell.py +0 -0
  181. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/cli_web.py +0 -0
  182. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/config_store.py +0 -0
  183. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/env_config.py +0 -0
  184. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/git_config.py +0 -0
  185. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/model_config.py +0 -0
  186. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/sandbox_client.py +0 -0
  187. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/session_create.py +0 -0
  188. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/session_sync.py +0 -0
  189. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/tool_resolve.py +0 -0
  190. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/sandbox/tos_config.py +0 -0
  191. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/tool_lookup.py +0 -0
  192. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/cli/utils.py +0 -0
  193. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/choice_resolvers.py +0 -0
  194. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/cloud_provider.py +0 -0
  195. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/config.py +0 -0
  196. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/config_validator.py +0 -0
  197. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/dataclass_utils.py +0 -0
  198. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/docker_build_config.py +0 -0
  199. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/global_config.py +0 -0
  200. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/region_defaults.py +0 -0
  201. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/region_resolver.py +0 -0
  202. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/config/utils.py +0 -0
  203. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/context.py +0 -0
  204. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/__init__.py +0 -0
  205. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/base_images.py +0 -0
  206. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/container.py +0 -0
  207. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
  208. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
  209. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
  210. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/docker/utils.py +0 -0
  211. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/errors.py +0 -0
  212. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/__init__.py +0 -0
  213. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/base_executor.py +0 -0
  214. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/build_executor.py +0 -0
  215. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/deploy_executor.py +0 -0
  216. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/init_executor.py +0 -0
  217. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/invoke_executor.py +0 -0
  218. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
  219. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/executors/status_executor.py +0 -0
  220. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/harness/__init__.py +0 -0
  221. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/harness/config_builder.py +0 -0
  222. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/harness/deploy.py +0 -0
  223. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/harness/env_mapping.py +0 -0
  224. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/models.py +0 -0
  225. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/reporter.py +0 -0
  226. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/a2a.py +0 -0
  227. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/agent_server.py +0 -0
  228. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/basic.py +0 -0
  229. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
  230. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
  231. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
  232. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
  233. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
  234. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
  235. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
  236. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
  237. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/langchain_basic_stream.py +0 -0
  238. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
  239. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
  240. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/agent.go +0 -0
  241. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/build.sh +0 -0
  242. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.mod +0 -0
  243. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.sum +0 -0
  244. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_a2a/main.go +0 -0
  245. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/agent.go +0 -0
  246. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/build.sh +0 -0
  247. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/go.mod +0 -0
  248. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/go.sum +0 -0
  249. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/samples/veadk_go_basic/main.go +0 -0
  250. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/code-pipeline-sandbox-tos-cr-step.j2 +0 -0
  251. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +0 -0
  252. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
  253. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
  254. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-package +0 -0
  255. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-skills +0 -0
  256. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.web-server +0 -0
  257. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
  258. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
  259. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/runners/__init__.py +0 -0
  260. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/runners/base.py +0 -0
  261. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/runners/local_docker.py +0 -0
  262. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/__init__.py +0 -0
  263. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/bindings/__init__.py +0 -0
  264. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/bindings/memory.py +0 -0
  265. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/builder.py +0 -0
  266. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/client.py +0 -0
  267. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/config.py +0 -0
  268. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/deployer.py +0 -0
  269. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/initializer.py +0 -0
  270. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/invoker.py +0 -0
  271. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/lifecycle.py +0 -0
  272. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/sdk/status.py +0 -0
  273. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/__init__.py +0 -0
  274. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/base_strategy.py +0 -0
  275. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/strategies/local_strategy.py +0 -0
  276. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/utils/__init__.py +0 -0
  277. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/utils/agent_parser.py +0 -0
  278. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/__init__.py +0 -0
  279. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/apmplus_logs.py +0 -0
  280. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
  281. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/cr.py +0 -0
  282. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/iam.py +0 -0
  283. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
  284. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/services/cr_service.py +0 -0
  285. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/services/tos_service.py +0 -0
  286. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/sts.py +0 -0
  287. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
  288. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
  289. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/__init__.py +0 -0
  290. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/global_config_io.py +0 -0
  291. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/http_defaults.py +0 -0
  292. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/logging_config.py +0 -0
  293. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/misc.py +0 -0
  294. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/redact.py +0 -0
  295. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/request.py +0 -0
  296. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/template_utils.py +0 -0
  297. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit/utils/ve_sign.py +0 -0
  298. /agentkit_sdk_python-0.8.0/agentkit_sdk_python.egg-info/dependency_links.txt → /agentkit_sdk_python-0.8.2/agentkit_identity/py.typed +0 -0
  299. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
  300. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/setup.cfg +0 -0
  301. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/tests/test_client_uses_platform_context.py +0 -0
  302. {agentkit_sdk_python-0.8.0 → agentkit_sdk_python-0.8.2}/tests/test_error_hierarchy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentkit-sdk-python
3
- Version: 0.8.0
3
+ Version: 0.8.2
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
@@ -217,7 +217,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
217
217
  Requires-Python: >=3.10
218
218
  Description-Content-Type: text/markdown
219
219
  License-File: LICENSE
220
- Requires-Dist: a2a-sdk>=0.3.7
220
+ Requires-Dist: a2a-sdk<1.0.0,>=0.3.15
221
221
  Requires-Dist: fastapi>=0.117.1
222
222
  Requires-Dist: fastmcp>=2.12.3
223
223
  Requires-Dist: opentelemetry-api<=1.37.0,>=1.32.1
@@ -226,7 +226,7 @@ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<=1.37.0,>=1.32.1
226
226
  Requires-Dist: opentelemetry-sdk<=1.37.0,>=1.32.1
227
227
  Requires-Dist: pydantic>=2.11.9
228
228
  Requires-Dist: requests>=2.32.5
229
- Requires-Dist: PyJWT>=2.10.1
229
+ Requires-Dist: PyJWT[crypto]>=2.10.1
230
230
  Requires-Dist: uvicorn>=0.37.0
231
231
  Requires-Dist: pyyaml
232
232
  Requires-Dist: tomli>=2.0.1; python_version < "3.11"
@@ -245,6 +245,8 @@ Requires-Dist: pyreadline3; sys_platform == "win32"
245
245
  Provides-Extra: extensions
246
246
  Provides-Extra: toolkit
247
247
  Provides-Extra: dev
248
+ Provides-Extra: identity-runtime
249
+ Requires-Dist: google-adk<3.0.0,>=1.18.0; extra == "identity-runtime"
248
250
  Provides-Extra: langchain
249
251
  Requires-Dist: langchain; extra == "langchain"
250
252
  Provides-Extra: langgraph
@@ -12,12 +12,14 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import inspect
16
18
  import json
17
19
  import logging
18
20
  from collections.abc import AsyncIterator
19
21
  from contextlib import asynccontextmanager
20
- from typing import Any
22
+ from typing import TYPE_CHECKING, Any
21
23
 
22
24
  import uvicorn
23
25
  from fastapi import FastAPI, HTTPException, Request
@@ -59,6 +61,15 @@ except ImportError: # pragma: no cover - default migration path avoids veadk.
59
61
  from agentkit.apps.agent_server_app.middleware import (
60
62
  AgentkitTelemetryHTTPMiddleware,
61
63
  )
64
+ from agentkit.apps.agent_server_app.credential_service import (
65
+ AgentkitCredentialService,
66
+ )
67
+ from agentkit.apps.agent_server_app.inbound_auth_adapter import (
68
+ InboundAuthCaptureMiddleware,
69
+ build_a2a_inbound_auth_executor_factory,
70
+ save_inbound_auth,
71
+ )
72
+ from agentkit.apps.auth.inbound import redact_inbound_auth_headers
62
73
  from agentkit.apps.agent_server_app.origin import (
63
74
  add_cors_compat_middleware,
64
75
  adk_supports_regex_origins,
@@ -69,6 +80,15 @@ from agentkit.apps.agent_server_app.origin import (
69
80
  from agentkit.apps.agent_server_app.telemetry import telemetry
70
81
  from agentkit.apps.base_app import BaseAgentkitApp
71
82
 
83
+ if TYPE_CHECKING:
84
+ from agentkit_identity import IdentityRuntimeConfig, RuntimeIdentity
85
+ else:
86
+ # Avoid eagerly importing the bundled security module for ordinary
87
+ # AgentServer startup. Construction imports and validates the concrete
88
+ # classes before Identity mode can be enabled.
89
+ IdentityRuntimeConfig = Any
90
+ RuntimeIdentity = Any
91
+
72
92
  logger = logging.getLogger(__name__)
73
93
 
74
94
 
@@ -120,6 +140,10 @@ def _create_a2a_runner(
120
140
  short_term_memory=short_term_memory
121
141
  if _is_veadk_short_term_memory(short_term_memory)
122
142
  else None,
143
+ app_name=root_agent.name,
144
+ session_service=session_service,
145
+ memory_service=memory_service,
146
+ credential_service=credential_service,
123
147
  )
124
148
  return Runner(
125
149
  agent=root_agent,
@@ -199,6 +223,21 @@ class AgentKitAgentLoader(BaseAgentLoader):
199
223
 
200
224
 
201
225
  class AgentkitAgentServerApp(BaseAgentkitApp):
226
+ def _request_identity_context(self) -> Any | None:
227
+ # Older integrations and focused unit-test doubles predate the
228
+ # ``runtime_identity`` attribute. Treat an absent attribute exactly as
229
+ # the existing identity-disabled mode. A real identity-enabled server
230
+ # always sets the attribute during construction and still fails closed
231
+ # below when request context binding is unavailable.
232
+ if getattr(self, "runtime_identity", None) is None:
233
+ return None
234
+ identity_current = getattr(self, "_identity_current", None)
235
+ if identity_current is None:
236
+ raise RuntimeError("Agent Identity Runtime is not initialized")
237
+ # Identity-enabled handlers must never fall back to a caller-owned
238
+ # user_id if middleware composition or context binding is broken.
239
+ return identity_current(required=True)
240
+
202
241
  def __init__(
203
242
  self,
204
243
  agent: BaseAgent | App | None = None,
@@ -207,8 +246,12 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
207
246
  app: App | None = None,
208
247
  allow_origins: list[str] | None = None,
209
248
  allow_origin_regex: str | list[str] | None = None,
249
+ enable_auth: bool = False,
250
+ identity: IdentityRuntimeConfig | RuntimeIdentity | None = None,
251
+ identity_health_routes: tuple[str, ...] = (),
210
252
  ) -> None:
211
253
  super().__init__()
254
+ self._enable_auth_enabled = enable_auth
212
255
 
213
256
  if app is not None and agent is not None:
214
257
  raise TypeError("Only one of 'agent' or 'app' can be provided.")
@@ -222,7 +265,9 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
222
265
  memory_service = _resolve_memory_service(root_agent)
223
266
 
224
267
  _artifact_service = InMemoryArtifactService()
225
- _credential_service = InMemoryCredentialService()
268
+ _credential_service = (
269
+ AgentkitCredentialService() if enable_auth else InMemoryCredentialService()
270
+ )
226
271
 
227
272
  _eval_sets_manager = LocalEvalSetsManager(agents_dir=".")
228
273
  _eval_set_results_manager = LocalEvalSetResultsManager(agents_dir=".")
@@ -246,14 +291,21 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
246
291
  artifact_service=_artifact_service,
247
292
  credential_service=_credential_service,
248
293
  )
249
- _a2a_server_app = to_a2a(agent=root_agent, runner=runner)
294
+ to_a2a_kwargs: dict[str, Any] = {"agent": root_agent, "runner": runner}
295
+ if enable_auth:
296
+ to_a2a_kwargs["agent_executor_factory"] = (
297
+ build_a2a_inbound_auth_executor_factory(
298
+ runner=runner,
299
+ app_name=root_agent.name,
300
+ credential_service=_credential_service,
301
+ )
302
+ )
303
+ _a2a_server_app = to_a2a(**to_a2a_kwargs)
250
304
 
251
305
  @asynccontextmanager
252
306
  async def lifespan(app: FastAPI):
253
307
  # trigger A2A server app startup
254
- logger.info(
255
- "Triggering A2A server app lifespan within API server..."
256
- )
308
+ logger.info("Triggering A2A server app lifespan within API server...")
257
309
  async with _run_a2a_app_lifespan(_a2a_server_app):
258
310
  yield
259
311
 
@@ -285,16 +337,56 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
285
337
 
286
338
  self.app = get_fast_api_app(**get_fast_api_app_kwargs)
287
339
 
340
+ identity_middleware_type = None
341
+ identity_current = None
342
+ if identity is None:
343
+ self.runtime_identity = None
344
+ else:
345
+ # Identity is an opt-in security feature. Import it only when
346
+ # configured, but fail closed if the bundled module is broken.
347
+ from agentkit.identity import (
348
+ AgentIdentityMiddleware,
349
+ IdentityRuntimeConfig,
350
+ RuntimeIdentity,
351
+ current_identity,
352
+ )
353
+
354
+ if isinstance(identity, IdentityRuntimeConfig):
355
+ self.runtime_identity = RuntimeIdentity(identity)
356
+ elif isinstance(identity, RuntimeIdentity):
357
+ self.runtime_identity = identity
358
+ else:
359
+ raise TypeError(
360
+ "identity must be an IdentityRuntimeConfig, "
361
+ "RuntimeIdentity, or None"
362
+ )
363
+ identity_middleware_type = AgentIdentityMiddleware
364
+ identity_current = current_identity
365
+ self._identity_current = identity_current
366
+
288
367
  if needs_cors_compat_middleware:
289
368
  add_cors_compat_middleware(self.app, resolved_allow_origins)
290
369
 
291
370
  @self.app.post("/run_sse")
292
- async def run_agent_sse(req: RunAgentRequest) -> StreamingResponse:
371
+ async def run_agent_sse(
372
+ req: RunAgentRequest, request: Request
373
+ ) -> StreamingResponse:
293
374
  logger.info("Overriding run_agent_sse endpoint...")
375
+ identity_context = AgentkitAgentServerApp._request_identity_context(self)
376
+ effective_user_id = (
377
+ identity_context.user_sub if identity_context else req.user_id
378
+ )
379
+ if getattr(self, "_enable_auth_enabled", False):
380
+ await save_inbound_auth(
381
+ request=request,
382
+ app_name=req.app_name,
383
+ user_id=effective_user_id,
384
+ credential_service=self.server.credential_service,
385
+ )
294
386
  # SSE endpoint
295
387
  session = await self.server.session_service.get_session(
296
388
  app_name=req.app_name,
297
- user_id=req.user_id,
389
+ user_id=effective_user_id,
298
390
  session_id=req.session_id,
299
391
  )
300
392
  if not session:
@@ -306,6 +398,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
306
398
 
307
399
  # Convert the events to properly formatted SSE
308
400
  async def event_generator():
401
+ error_payload = None
309
402
  try:
310
403
  stream_mode = (
311
404
  StreamingMode.SSE if req.streaming else StreamingMode.NONE
@@ -313,7 +406,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
313
406
  runner = await self.server.get_runner_async(req.app_name)
314
407
  async with Aclosing(
315
408
  runner.run_async(
316
- user_id=req.user_id,
409
+ user_id=effective_user_id,
317
410
  session_id=req.session_id,
318
411
  new_message=req.new_message,
319
412
  state_delta=req.state_delta,
@@ -351,11 +444,23 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
351
444
  )
352
445
  yield f"data: {sse_event}\n\n"
353
446
  except Exception as e:
354
- logger.exception("Error in event_generator: %s", e)
355
- telemetry.trace_agent_server_finish(
356
- path="/run_sse", func_result="", exception=e
357
- )
358
- yield f"data: {json.dumps({'error': str(e)})}\n\n"
447
+ if getattr(self, "runtime_identity", None) is not None:
448
+ safe_error = RuntimeError("agent execution failed")
449
+ logger.error("Agent execution failed in identity mode")
450
+ telemetry.trace_agent_server_finish(
451
+ path="/run_sse", func_result="", exception=safe_error
452
+ )
453
+ error_payload = 'data: {"error":"agent execution failed"}\n\n'
454
+ else:
455
+ logger.exception("Error in event_generator: %s", e)
456
+ telemetry.trace_agent_server_finish(
457
+ path="/run_sse", func_result="", exception=e
458
+ )
459
+ error_payload = f"data: {json.dumps({'error': str(e)})}\n\n"
460
+ if error_payload is not None:
461
+ # Yield only after the caught exception variable and its
462
+ # traceback have left scope in identity mode.
463
+ yield error_payload
359
464
  # Returns a streaming response with the proper media type for SSE
360
465
 
361
466
  return StreamingResponse(
@@ -377,17 +482,27 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
377
482
  # Attach ASGI middleware for unified telemetry across all routes
378
483
  self.app.add_middleware(AgentkitTelemetryHTTPMiddleware)
379
484
 
485
+ if self.runtime_identity is not None:
486
+ # Added after telemetry so identity is the outermost middleware:
487
+ # invalid requests fail before Agent/ADK code and the child scope no
488
+ # longer contains the Authorization header.
489
+ if identity_middleware_type is None:
490
+ raise RuntimeError("Agent Identity middleware is not initialized")
491
+ self.app.add_middleware(
492
+ identity_middleware_type,
493
+ identity=self.runtime_identity,
494
+ public_health_routes=identity_health_routes,
495
+ )
496
+ if enable_auth:
497
+ self.app.add_middleware(InboundAuthCaptureMiddleware)
498
+
380
499
  async def _invoke_compat(request: Request):
381
500
  # Use current request span from middleware for telemetry
382
501
  span = trace.get_current_span()
383
502
 
384
503
  # Extract headers (fallback keys supported)
385
504
  headers = request.headers
386
- telemetry_headers = {
387
- k: v
388
- for k, v in dict(headers).items()
389
- if k.lower() not in {"authorization", "token"}
390
- }
505
+ telemetry_headers = redact_inbound_auth_headers(dict(headers))
391
506
  # trace request attributes on current span
392
507
  telemetry.trace_agent_server(
393
508
  func_name="_invoke_compat",
@@ -396,7 +511,12 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
396
511
  text="",
397
512
  )
398
513
 
399
- user_id = headers.get("user_id") or "agentkit_user"
514
+ identity_context = AgentkitAgentServerApp._request_identity_context(self)
515
+ user_id = (
516
+ identity_context.user_sub
517
+ if identity_context
518
+ else headers.get("user_id") or "agentkit_user"
519
+ )
400
520
  session_id = headers.get("session_id") or ""
401
521
 
402
522
  # Determine app_name from loader
@@ -410,6 +530,13 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
410
530
  )
411
531
  raise exception
412
532
  app_name = app_names[0]
533
+ if getattr(self, "_enable_auth_enabled", False):
534
+ await save_inbound_auth(
535
+ request=request,
536
+ app_name=app_name,
537
+ user_id=user_id,
538
+ credential_service=self.server.credential_service,
539
+ )
413
540
 
414
541
  # Parse payload and convert to ADK Content
415
542
  try:
@@ -442,6 +569,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
442
569
  )
443
570
 
444
571
  async def event_generator():
572
+ error_payload = None
445
573
  try:
446
574
  runner = await self.server.get_runner_async(app_name)
447
575
  async with Aclosing(
@@ -449,9 +577,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
449
577
  user_id=user_id,
450
578
  session_id=session_id,
451
579
  new_message=content,
452
- run_config=RunConfig(
453
- streaming_mode=StreamingMode.SSE
454
- ),
580
+ run_config=RunConfig(streaming_mode=StreamingMode.SSE),
455
581
  )
456
582
  ) as agen:
457
583
  async for event in agen:
@@ -465,10 +591,22 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
465
591
  # finish span on successful end of stream handled by middleware
466
592
  pass
467
593
  except Exception as e:
468
- telemetry.trace_agent_server_finish(
469
- path="/invoke", func_result="", exception=e
470
- )
471
- yield f'data: {{"error": "{str(e)}"}}\n\n'
594
+ if getattr(self, "runtime_identity", None) is not None:
595
+ safe_error = RuntimeError("agent execution failed")
596
+ logger.error("Agent execution failed in identity mode")
597
+ telemetry.trace_agent_server_finish(
598
+ path="/invoke", func_result="", exception=safe_error
599
+ )
600
+ error_payload = 'data: {"error":"agent execution failed"}\n\n'
601
+ else:
602
+ telemetry.trace_agent_server_finish(
603
+ path="/invoke", func_result="", exception=e
604
+ )
605
+ error_payload = f'data: {{"error": "{str(e)}"}}\n\n'
606
+ if error_payload is not None:
607
+ # The identity path never suspends while retaining the
608
+ # original exception or its credential-bearing traceback.
609
+ yield error_payload
472
610
 
473
611
  return StreamingResponse(
474
612
  event_generator(),
@@ -483,8 +621,11 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
483
621
  # Compatibility route for AgentKit CLI invoke
484
622
  self.app.add_api_route("/invoke", _invoke_compat, methods=["POST"])
485
623
 
486
- # Mount A2A server app last to avoid shadowing API routes like `/invoke`.
487
- self.app.mount("/", _a2a_server_app)
624
+ # V1 identity mode does not expose A2A: its payload/session ownership is
625
+ # not yet bound to the verified OIDC subject. Fail closed instead of
626
+ # presenting authentication as multi-tenant authorization.
627
+ if self.runtime_identity is None:
628
+ self.app.mount("/", _a2a_server_app)
488
629
 
489
630
  def run(self, host: str, port: int = 8000) -> None:
490
631
  """Run the app with Uvicorn server."""
@@ -0,0 +1,92 @@
1
+ # Copyright (c) 2026 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from __future__ import annotations
16
+
17
+ from typing import Any
18
+
19
+ from google.adk.auth.auth_credential import AuthCredential
20
+ from google.adk.auth.credential_service.base_credential_service import (
21
+ BaseCredentialService,
22
+ )
23
+
24
+
25
+ class AgentkitCredentialService(BaseCredentialService):
26
+ """AgentKit-owned ADK credential service with a direct write API."""
27
+
28
+ def __init__(self) -> None:
29
+ super().__init__()
30
+ self._credentials: dict[str, dict[str, dict[str, AuthCredential]]] = {}
31
+
32
+ async def load_credential(
33
+ self,
34
+ auth_config: Any,
35
+ callback_context: Any,
36
+ ) -> AuthCredential | None:
37
+ app_name, user_id = self._resolve_context(callback_context)
38
+ credential_key = self._resolve_credential_key(auth_config)
39
+ if credential_key is None:
40
+ return None
41
+ return await self.get_credential(
42
+ app_name=app_name,
43
+ user_id=user_id,
44
+ credential_key=credential_key,
45
+ )
46
+
47
+ async def save_credential(
48
+ self,
49
+ auth_config: Any,
50
+ callback_context: Any,
51
+ ) -> None:
52
+ app_name, user_id = self._resolve_context(callback_context)
53
+ credential_key = self._resolve_credential_key(auth_config)
54
+ credential = getattr(auth_config, "exchanged_auth_credential", None)
55
+ if credential_key and credential is not None:
56
+ await self.set_credential(
57
+ app_name=app_name,
58
+ user_id=user_id,
59
+ credential_key=credential_key,
60
+ credential=credential,
61
+ )
62
+
63
+ async def set_credential(
64
+ self,
65
+ app_name: str,
66
+ user_id: str,
67
+ credential_key: str,
68
+ credential: AuthCredential,
69
+ ) -> None:
70
+ self._credentials.setdefault(app_name, {})
71
+ self._credentials[app_name].setdefault(user_id, {})
72
+ self._credentials[app_name][user_id][credential_key] = credential
73
+
74
+ async def get_credential(
75
+ self,
76
+ app_name: str,
77
+ user_id: str,
78
+ credential_key: str,
79
+ ) -> AuthCredential | None:
80
+ return self._credentials.get(app_name, {}).get(user_id, {}).get(credential_key)
81
+
82
+ def _resolve_context(self, callback_context: Any) -> tuple[str, str]:
83
+ invocation_context = getattr(callback_context, "_invocation_context", None)
84
+ if invocation_context is None:
85
+ invocation_context = getattr(callback_context, "invocation_context", None)
86
+ return invocation_context.app_name, invocation_context.user_id
87
+
88
+ def _resolve_credential_key(self, auth_config: Any) -> str | None:
89
+ credential_key = getattr(auth_config, "credential_key", None)
90
+ if credential_key is None and hasattr(auth_config, "get_credential_key"):
91
+ credential_key = auth_config.get_credential_key()
92
+ return credential_key
@@ -0,0 +1,43 @@
1
+ # Copyright (c) 2026 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """Compatibility imports for AgentServer inbound-auth helpers."""
16
+
17
+ from agentkit.apps.agent_server_app.inbound_auth_adapter import (
18
+ inbound_tokens_to_adk_credentials,
19
+ save_inbound_auth,
20
+ )
21
+ from agentkit.apps.auth.inbound import (
22
+ AUTHORIZATION_HEADER,
23
+ INBOUND_AUTH_CREDENTIAL_KEY,
24
+ TIP_TOKEN_CREDENTIAL_KEY,
25
+ TIP_TOKEN_HEADER,
26
+ InboundAuthTokens,
27
+ extract_inbound_auth,
28
+ redact_inbound_auth_headers,
29
+ strip_bearer,
30
+ )
31
+
32
+ __all__ = [
33
+ "AUTHORIZATION_HEADER",
34
+ "INBOUND_AUTH_CREDENTIAL_KEY",
35
+ "TIP_TOKEN_CREDENTIAL_KEY",
36
+ "TIP_TOKEN_HEADER",
37
+ "InboundAuthTokens",
38
+ "extract_inbound_auth",
39
+ "inbound_tokens_to_adk_credentials",
40
+ "redact_inbound_auth_headers",
41
+ "save_inbound_auth",
42
+ "strip_bearer",
43
+ ]