agentkit-sdk-python 0.8.1__tar.gz → 0.8.3__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.1 → agentkit_sdk_python-0.8.3}/PKG-INFO +5 -3
  2. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/agent_server_app.py +186 -29
  3. agentkit_sdk_python-0.8.3/agentkit/apps/agent_server_app/credential_service.py +92 -0
  4. agentkit_sdk_python-0.8.3/agentkit/apps/agent_server_app/inbound_auth.py +43 -0
  5. agentkit_sdk_python-0.8.3/agentkit/apps/agent_server_app/inbound_auth_adapter.py +187 -0
  6. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/middleware.py +3 -6
  7. agentkit_sdk_python-0.8.3/agentkit/apps/auth/__init__.py +35 -0
  8. agentkit_sdk_python-0.8.3/agentkit/apps/auth/inbound.py +91 -0
  9. agentkit_sdk_python-0.8.3/agentkit/identity/__init__.py +73 -0
  10. agentkit_sdk_python-0.8.3/agentkit/identity/_runtime_dependency.py +25 -0
  11. agentkit_sdk_python-0.8.3/agentkit/identity/client.py +182 -0
  12. agentkit_sdk_python-0.8.3/agentkit/identity/context.py +10 -0
  13. agentkit_sdk_python-0.8.3/agentkit/identity/errors.py +23 -0
  14. agentkit_sdk_python-0.8.3/agentkit/identity/jwt.py +10 -0
  15. agentkit_sdk_python-0.8.3/agentkit/identity/middleware.py +113 -0
  16. agentkit_sdk_python-0.8.3/agentkit/identity/runtime.py +7 -0
  17. agentkit_sdk_python-0.8.3/agentkit/identity/transport.py +7 -0
  18. agentkit_sdk_python-0.8.3/agentkit/identity/types.py +19 -0
  19. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/constants.py +7 -0
  20. agentkit_sdk_python-0.8.3/agentkit/sdk/model_gateway/__init__.py +101 -0
  21. agentkit_sdk_python-0.8.3/agentkit/sdk/model_gateway/client.py +191 -0
  22. agentkit_sdk_python-0.8.3/agentkit/sdk/model_gateway/types.py +382 -0
  23. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli.py +2 -0
  24. agentkit_sdk_python-0.8.3/agentkit/toolkit/cli/cli_model_gateway.py +1109 -0
  25. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/version.py +1 -1
  26. agentkit_sdk_python-0.8.3/agentkit_identity/__init__.py +58 -0
  27. agentkit_sdk_python-0.8.3/agentkit_identity/context.py +180 -0
  28. agentkit_sdk_python-0.8.3/agentkit_identity/errors.py +36 -0
  29. agentkit_sdk_python-0.8.3/agentkit_identity/jwt.py +673 -0
  30. agentkit_sdk_python-0.8.3/agentkit_identity/middleware.py +278 -0
  31. agentkit_sdk_python-0.8.3/agentkit_identity/runtime.py +377 -0
  32. agentkit_sdk_python-0.8.3/agentkit_identity/transport.py +230 -0
  33. agentkit_sdk_python-0.8.3/agentkit_identity/types.py +196 -0
  34. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit_sdk_python.egg-info/PKG-INFO +5 -3
  35. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit_sdk_python.egg-info/SOURCES.txt +28 -0
  36. agentkit_sdk_python-0.8.3/agentkit_sdk_python.egg-info/dependency_links.txt +1 -0
  37. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit_sdk_python.egg-info/requires.txt +5 -2
  38. agentkit_sdk_python-0.8.3/agentkit_sdk_python.egg-info/top_level.txt +2 -0
  39. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/pyproject.toml +8 -4
  40. agentkit_sdk_python-0.8.1/agentkit_sdk_python.egg-info/top_level.txt +0 -1
  41. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/LICENSE +0 -0
  42. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/MANIFEST.in +0 -0
  43. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/README.md +0 -0
  44. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/__init__.py +0 -0
  45. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/__init__.py +0 -0
  46. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/a2a_app/__init__.py +0 -0
  47. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/a2a_app/a2a_app.py +0 -0
  48. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/a2a_app/telemetry.py +0 -0
  49. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/__init__.py +0 -0
  50. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/origin.py +0 -0
  51. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/agent_server_app/telemetry.py +0 -0
  52. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/base_app.py +0 -0
  53. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/langgraph_server_app/__init__.py +0 -0
  54. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/langgraph_server_app/langgraph_server_app.py +0 -0
  55. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/mcp_app/__init__.py +0 -0
  56. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/mcp_app/mcp_app.py +0 -0
  57. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/mcp_app/telemetry.py +0 -0
  58. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/simple_app/__init__.py +0 -0
  59. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/simple_app/simple_app.py +0 -0
  60. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
  61. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/simple_app/telemetry.py +0 -0
  62. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/apps/utils.py +0 -0
  63. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/__init__.py +0 -0
  64. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/_openapi.py +0 -0
  65. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/_redact.py +0 -0
  66. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/_sigv4.py +0 -0
  67. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/admin.py +0 -0
  68. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/credential_hosting.py +0 -0
  69. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/errors.py +0 -0
  70. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/model_login.py +0 -0
  71. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/oauth.py +0 -0
  72. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/profile.py +0 -0
  73. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/providers.py +0 -0
  74. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/resolve.py +0 -0
  75. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/session.py +0 -0
  76. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/ssl_trust.py +0 -0
  77. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/sso.py +0 -0
  78. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/store.py +0 -0
  79. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/auth/sts.py +0 -0
  80. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/client/__init__.py +0 -0
  81. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/client/base_agentkit_client.py +0 -0
  82. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/client/base_iam_client.py +0 -0
  83. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/client/base_service_client.py +0 -0
  84. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/errors.py +0 -0
  85. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/__init__.py +0 -0
  86. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/_common.py +0 -0
  87. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/agentcore.py +0 -0
  88. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/langchain.py +0 -0
  89. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/langgraph.py +0 -0
  90. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/migration.py +0 -0
  91. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/model_replacement.py +0 -0
  92. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/serving/__init__.py +0 -0
  93. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/serving/fastapi_mount.py +0 -0
  94. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/serving/langserve.py +0 -0
  95. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/frameworks/strands.py +0 -0
  96. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/__init__.py +0 -0
  97. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/configuration.py +0 -0
  98. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/console_urls.py +0 -0
  99. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/context.py +0 -0
  100. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/platform/provider.py +0 -0
  101. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/__init__.py +0 -0
  102. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/account/client.py +0 -0
  103. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/account/types.py +0 -0
  104. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/identity/__init__.py +0 -0
  105. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/identity/auth.py +0 -0
  106. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/identity/client.py +0 -0
  107. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/identity/types.py +0 -0
  108. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/knowledge/__init__.py +0 -0
  109. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/knowledge/client.py +0 -0
  110. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/knowledge/types.py +0 -0
  111. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/mcp/__init__.py +0 -0
  112. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/mcp/client.py +0 -0
  113. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/mcp/types.py +0 -0
  114. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/memory/__init__.py +0 -0
  115. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/memory/client.py +0 -0
  116. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/memory/types.py +0 -0
  117. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/runtime/__init__.py +0 -0
  118. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/runtime/client.py +0 -0
  119. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/runtime/types.py +0 -0
  120. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/skills/__init__.py +0 -0
  121. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/skills/client.py +0 -0
  122. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/skills/types.py +0 -0
  123. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/tools/__init__.py +0 -0
  124. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/tools/client.py +0 -0
  125. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/sdk/tools/types.py +0 -0
  126. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/__init__.py +0 -0
  127. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/__init__.py +0 -0
  128. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/base.py +0 -0
  129. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/local_docker.py +0 -0
  130. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/ve_pipeline.py +0 -0
  131. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/builders/ve_sandbox_pipeline.py +0 -0
  132. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/__init__.py +0 -0
  133. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/__main__.py +0 -0
  134. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_add.py +0 -0
  135. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_auth.py +0 -0
  136. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_build.py +0 -0
  137. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_config.py +0 -0
  138. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_delete.py +0 -0
  139. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_deploy.py +0 -0
  140. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_destroy.py +0 -0
  141. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_init.py +0 -0
  142. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_invoke.py +0 -0
  143. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_knowledge.py +0 -0
  144. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_launch.py +0 -0
  145. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_list.py +0 -0
  146. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_logs.py +0 -0
  147. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_memory.py +0 -0
  148. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_runtime.py +0 -0
  149. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_skill.py +0 -0
  150. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_skills.py +0 -0
  151. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_skills_workflow.py +0 -0
  152. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_status.py +0 -0
  153. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_tools.py +0 -0
  154. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/cli_version.py +0 -0
  155. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/console_reporter.py +0 -0
  156. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/interactive_config.py +0 -0
  157. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/__init__.py +0 -0
  158. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/a2a_client.py +0 -0
  159. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/agentkit_client.py +0 -0
  160. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli.py +0 -0
  161. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_build.py +0 -0
  162. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_config.py +0 -0
  163. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_create.py +0 -0
  164. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_delete.py +0 -0
  165. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_exec.py +0 -0
  166. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_init.py +0 -0
  167. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_invoke.py +0 -0
  168. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_list.py +0 -0
  169. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_model_login.py +0 -0
  170. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_mount.py +0 -0
  171. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_run.py +0 -0
  172. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_scp.py +0 -0
  173. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_shell.py +0 -0
  174. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/cli_web.py +0 -0
  175. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/config_store.py +0 -0
  176. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/env_config.py +0 -0
  177. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/git_config.py +0 -0
  178. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/model_config.py +0 -0
  179. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/sandbox_client.py +0 -0
  180. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/session_create.py +0 -0
  181. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/session_sync.py +0 -0
  182. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/tool_resolve.py +0 -0
  183. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/sandbox/tos_config.py +0 -0
  184. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/tool_lookup.py +0 -0
  185. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/cli/utils.py +0 -0
  186. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/__init__.py +0 -0
  187. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/choice_resolvers.py +0 -0
  188. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/cloud_provider.py +0 -0
  189. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/config.py +0 -0
  190. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/config_handler.py +0 -0
  191. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/config_validator.py +0 -0
  192. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/constants.py +0 -0
  193. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/dataclass_utils.py +0 -0
  194. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/docker_build_config.py +0 -0
  195. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/global_config.py +0 -0
  196. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/region_defaults.py +0 -0
  197. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/region_resolver.py +0 -0
  198. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/strategy_configs.py +0 -0
  199. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/config/utils.py +0 -0
  200. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/context.py +0 -0
  201. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/__init__.py +0 -0
  202. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/base_images.py +0 -0
  203. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/container.py +0 -0
  204. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
  205. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
  206. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
  207. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/docker/utils.py +0 -0
  208. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/errors.py +0 -0
  209. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/__init__.py +0 -0
  210. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/base_executor.py +0 -0
  211. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/build_executor.py +0 -0
  212. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/deploy_executor.py +0 -0
  213. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/init_executor.py +0 -0
  214. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/invoke_executor.py +0 -0
  215. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
  216. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/executors/status_executor.py +0 -0
  217. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/harness/__init__.py +0 -0
  218. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/harness/config_builder.py +0 -0
  219. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/harness/deploy.py +0 -0
  220. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/harness/env_mapping.py +0 -0
  221. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/models.py +0 -0
  222. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/reporter.py +0 -0
  223. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/a2a.py +0 -0
  224. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/agent_server.py +0 -0
  225. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/basic.py +0 -0
  226. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
  227. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
  228. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
  229. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
  230. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
  231. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
  232. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
  233. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
  234. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/langchain_basic_stream.py +0 -0
  235. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
  236. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
  237. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/agent.go +0 -0
  238. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/build.sh +0 -0
  239. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.mod +0 -0
  240. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.sum +0 -0
  241. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_a2a/main.go +0 -0
  242. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/agent.go +0 -0
  243. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/build.sh +0 -0
  244. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/go.mod +0 -0
  245. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/go.sum +0 -0
  246. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/samples/veadk_go_basic/main.go +0 -0
  247. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/code-pipeline-sandbox-tos-cr-step.j2 +0 -0
  248. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +0 -0
  249. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
  250. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
  251. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-package +0 -0
  252. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-skills +0 -0
  253. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/templates/sandbox/Dockerfile.web-server +0 -0
  254. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
  255. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
  256. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/runners/__init__.py +0 -0
  257. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/runners/base.py +0 -0
  258. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/runners/local_docker.py +0 -0
  259. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/runners/ve_agentkit.py +0 -0
  260. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/__init__.py +0 -0
  261. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/bindings/__init__.py +0 -0
  262. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/bindings/memory.py +0 -0
  263. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/builder.py +0 -0
  264. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/client.py +0 -0
  265. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/config.py +0 -0
  266. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/deployer.py +0 -0
  267. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/initializer.py +0 -0
  268. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/invoker.py +0 -0
  269. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/lifecycle.py +0 -0
  270. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/sdk/status.py +0 -0
  271. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/__init__.py +0 -0
  272. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/base_strategy.py +0 -0
  273. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/cloud_strategy.py +0 -0
  274. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/hybrid_strategy.py +0 -0
  275. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/strategies/local_strategy.py +0 -0
  276. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/utils/__init__.py +0 -0
  277. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/utils/agent_parser.py +0 -0
  278. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/__init__.py +0 -0
  279. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/apmplus_logs.py +0 -0
  280. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
  281. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/cr.py +0 -0
  282. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/iam.py +0 -0
  283. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
  284. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/services/cr_service.py +0 -0
  285. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/services/tos_service.py +0 -0
  286. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/sts.py +0 -0
  287. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
  288. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
  289. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/__init__.py +0 -0
  290. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/global_config_io.py +0 -0
  291. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/http_defaults.py +0 -0
  292. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/logging_config.py +0 -0
  293. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/misc.py +0 -0
  294. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/redact.py +0 -0
  295. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/request.py +0 -0
  296. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/template_utils.py +0 -0
  297. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit/utils/ve_sign.py +0 -0
  298. /agentkit_sdk_python-0.8.1/agentkit_sdk_python.egg-info/dependency_links.txt → /agentkit_sdk_python-0.8.3/agentkit_identity/py.typed +0 -0
  299. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
  300. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/setup.cfg +0 -0
  301. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/tests/test_client_uses_platform_context.py +0 -0
  302. {agentkit_sdk_python-0.8.1 → agentkit_sdk_python-0.8.3}/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.1
3
+ Version: 0.8.3
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,14 +12,17 @@
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
25
+ from a2a.types import AgentCard
23
26
  from fastapi import FastAPI, HTTPException, Request
24
27
  from fastapi.responses import StreamingResponse
25
28
  from google.adk.a2a.utils.agent_to_a2a import to_a2a
@@ -59,6 +62,15 @@ except ImportError: # pragma: no cover - default migration path avoids veadk.
59
62
  from agentkit.apps.agent_server_app.middleware import (
60
63
  AgentkitTelemetryHTTPMiddleware,
61
64
  )
65
+ from agentkit.apps.agent_server_app.credential_service import (
66
+ AgentkitCredentialService,
67
+ )
68
+ from agentkit.apps.agent_server_app.inbound_auth_adapter import (
69
+ InboundAuthCaptureMiddleware,
70
+ build_a2a_inbound_auth_executor_factory,
71
+ save_inbound_auth,
72
+ )
73
+ from agentkit.apps.auth.inbound import redact_inbound_auth_headers
62
74
  from agentkit.apps.agent_server_app.origin import (
63
75
  add_cors_compat_middleware,
64
76
  adk_supports_regex_origins,
@@ -69,6 +81,15 @@ from agentkit.apps.agent_server_app.origin import (
69
81
  from agentkit.apps.agent_server_app.telemetry import telemetry
70
82
  from agentkit.apps.base_app import BaseAgentkitApp
71
83
 
84
+ if TYPE_CHECKING:
85
+ from agentkit_identity import IdentityRuntimeConfig, RuntimeIdentity
86
+ else:
87
+ # Avoid eagerly importing the bundled security module for ordinary
88
+ # AgentServer startup. Construction imports and validates the concrete
89
+ # classes before Identity mode can be enabled.
90
+ IdentityRuntimeConfig = Any
91
+ RuntimeIdentity = Any
92
+
72
93
  logger = logging.getLogger(__name__)
73
94
 
74
95
 
@@ -120,6 +141,10 @@ def _create_a2a_runner(
120
141
  short_term_memory=short_term_memory
121
142
  if _is_veadk_short_term_memory(short_term_memory)
122
143
  else None,
144
+ app_name=root_agent.name,
145
+ session_service=session_service,
146
+ memory_service=memory_service,
147
+ credential_service=credential_service,
123
148
  )
124
149
  return Runner(
125
150
  agent=root_agent,
@@ -199,6 +224,21 @@ class AgentKitAgentLoader(BaseAgentLoader):
199
224
 
200
225
 
201
226
  class AgentkitAgentServerApp(BaseAgentkitApp):
227
+ def _request_identity_context(self) -> Any | None:
228
+ # Older integrations and focused unit-test doubles predate the
229
+ # ``runtime_identity`` attribute. Treat an absent attribute exactly as
230
+ # the existing identity-disabled mode. A real identity-enabled server
231
+ # always sets the attribute during construction and still fails closed
232
+ # below when request context binding is unavailable.
233
+ if getattr(self, "runtime_identity", None) is None:
234
+ return None
235
+ identity_current = getattr(self, "_identity_current", None)
236
+ if identity_current is None:
237
+ raise RuntimeError("Agent Identity Runtime is not initialized")
238
+ # Identity-enabled handlers must never fall back to a caller-owned
239
+ # user_id if middleware composition or context binding is broken.
240
+ return identity_current(required=True)
241
+
202
242
  def __init__(
203
243
  self,
204
244
  agent: BaseAgent | App | None = None,
@@ -207,8 +247,18 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
207
247
  app: App | None = None,
208
248
  allow_origins: list[str] | None = None,
209
249
  allow_origin_regex: str | list[str] | None = None,
250
+ a2a_host: str = "localhost",
251
+ a2a_port: int = 8000,
252
+ a2a_protocol: str = "http",
253
+ agent_card: AgentCard | str | None = None,
254
+ push_config_store: Any | None = None,
255
+ task_store: Any | None = None,
256
+ enable_auth: bool = False,
257
+ identity: IdentityRuntimeConfig | RuntimeIdentity | None = None,
258
+ identity_health_routes: tuple[str, ...] = (),
210
259
  ) -> None:
211
260
  super().__init__()
261
+ self._enable_auth_enabled = enable_auth
212
262
 
213
263
  if app is not None and agent is not None:
214
264
  raise TypeError("Only one of 'agent' or 'app' can be provided.")
@@ -222,7 +272,9 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
222
272
  memory_service = _resolve_memory_service(root_agent)
223
273
 
224
274
  _artifact_service = InMemoryArtifactService()
225
- _credential_service = InMemoryCredentialService()
275
+ _credential_service = (
276
+ AgentkitCredentialService() if enable_auth else InMemoryCredentialService()
277
+ )
226
278
 
227
279
  _eval_sets_manager = LocalEvalSetsManager(agents_dir=".")
228
280
  _eval_set_results_manager = LocalEvalSetResultsManager(agents_dir=".")
@@ -246,14 +298,30 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
246
298
  artifact_service=_artifact_service,
247
299
  credential_service=_credential_service,
248
300
  )
249
- _a2a_server_app = to_a2a(agent=root_agent, runner=runner)
301
+ to_a2a_kwargs: dict[str, Any] = {
302
+ "agent": root_agent,
303
+ "runner": runner,
304
+ "host": a2a_host,
305
+ "port": a2a_port,
306
+ "protocol": a2a_protocol,
307
+ "agent_card": agent_card,
308
+ "push_config_store": push_config_store,
309
+ "task_store": task_store,
310
+ }
311
+ if enable_auth:
312
+ to_a2a_kwargs["agent_executor_factory"] = (
313
+ build_a2a_inbound_auth_executor_factory(
314
+ runner=runner,
315
+ app_name=root_agent.name,
316
+ credential_service=_credential_service,
317
+ )
318
+ )
319
+ _a2a_server_app = to_a2a(**to_a2a_kwargs)
250
320
 
251
321
  @asynccontextmanager
252
322
  async def lifespan(app: FastAPI):
253
323
  # trigger A2A server app startup
254
- logger.info(
255
- "Triggering A2A server app lifespan within API server..."
256
- )
324
+ logger.info("Triggering A2A server app lifespan within API server...")
257
325
  async with _run_a2a_app_lifespan(_a2a_server_app):
258
326
  yield
259
327
 
@@ -285,16 +353,56 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
285
353
 
286
354
  self.app = get_fast_api_app(**get_fast_api_app_kwargs)
287
355
 
356
+ identity_middleware_type = None
357
+ identity_current = None
358
+ if identity is None:
359
+ self.runtime_identity = None
360
+ else:
361
+ # Identity is an opt-in security feature. Import it only when
362
+ # configured, but fail closed if the bundled module is broken.
363
+ from agentkit.identity import (
364
+ AgentIdentityMiddleware,
365
+ IdentityRuntimeConfig,
366
+ RuntimeIdentity,
367
+ current_identity,
368
+ )
369
+
370
+ if isinstance(identity, IdentityRuntimeConfig):
371
+ self.runtime_identity = RuntimeIdentity(identity)
372
+ elif isinstance(identity, RuntimeIdentity):
373
+ self.runtime_identity = identity
374
+ else:
375
+ raise TypeError(
376
+ "identity must be an IdentityRuntimeConfig, "
377
+ "RuntimeIdentity, or None"
378
+ )
379
+ identity_middleware_type = AgentIdentityMiddleware
380
+ identity_current = current_identity
381
+ self._identity_current = identity_current
382
+
288
383
  if needs_cors_compat_middleware:
289
384
  add_cors_compat_middleware(self.app, resolved_allow_origins)
290
385
 
291
386
  @self.app.post("/run_sse")
292
- async def run_agent_sse(req: RunAgentRequest) -> StreamingResponse:
387
+ async def run_agent_sse(
388
+ req: RunAgentRequest, request: Request
389
+ ) -> StreamingResponse:
293
390
  logger.info("Overriding run_agent_sse endpoint...")
391
+ identity_context = AgentkitAgentServerApp._request_identity_context(self)
392
+ effective_user_id = (
393
+ identity_context.user_sub if identity_context else req.user_id
394
+ )
395
+ if getattr(self, "_enable_auth_enabled", False):
396
+ await save_inbound_auth(
397
+ request=request,
398
+ app_name=req.app_name,
399
+ user_id=effective_user_id,
400
+ credential_service=self.server.credential_service,
401
+ )
294
402
  # SSE endpoint
295
403
  session = await self.server.session_service.get_session(
296
404
  app_name=req.app_name,
297
- user_id=req.user_id,
405
+ user_id=effective_user_id,
298
406
  session_id=req.session_id,
299
407
  )
300
408
  if not session:
@@ -306,6 +414,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
306
414
 
307
415
  # Convert the events to properly formatted SSE
308
416
  async def event_generator():
417
+ error_payload = None
309
418
  try:
310
419
  stream_mode = (
311
420
  StreamingMode.SSE if req.streaming else StreamingMode.NONE
@@ -313,7 +422,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
313
422
  runner = await self.server.get_runner_async(req.app_name)
314
423
  async with Aclosing(
315
424
  runner.run_async(
316
- user_id=req.user_id,
425
+ user_id=effective_user_id,
317
426
  session_id=req.session_id,
318
427
  new_message=req.new_message,
319
428
  state_delta=req.state_delta,
@@ -351,11 +460,23 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
351
460
  )
352
461
  yield f"data: {sse_event}\n\n"
353
462
  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"
463
+ if getattr(self, "runtime_identity", None) is not None:
464
+ safe_error = RuntimeError("agent execution failed")
465
+ logger.error("Agent execution failed in identity mode")
466
+ telemetry.trace_agent_server_finish(
467
+ path="/run_sse", func_result="", exception=safe_error
468
+ )
469
+ error_payload = 'data: {"error":"agent execution failed"}\n\n'
470
+ else:
471
+ logger.exception("Error in event_generator: %s", e)
472
+ telemetry.trace_agent_server_finish(
473
+ path="/run_sse", func_result="", exception=e
474
+ )
475
+ error_payload = f"data: {json.dumps({'error': str(e)})}\n\n"
476
+ if error_payload is not None:
477
+ # Yield only after the caught exception variable and its
478
+ # traceback have left scope in identity mode.
479
+ yield error_payload
359
480
  # Returns a streaming response with the proper media type for SSE
360
481
 
361
482
  return StreamingResponse(
@@ -377,17 +498,27 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
377
498
  # Attach ASGI middleware for unified telemetry across all routes
378
499
  self.app.add_middleware(AgentkitTelemetryHTTPMiddleware)
379
500
 
501
+ if self.runtime_identity is not None:
502
+ # Added after telemetry so identity is the outermost middleware:
503
+ # invalid requests fail before Agent/ADK code and the child scope no
504
+ # longer contains the Authorization header.
505
+ if identity_middleware_type is None:
506
+ raise RuntimeError("Agent Identity middleware is not initialized")
507
+ self.app.add_middleware(
508
+ identity_middleware_type,
509
+ identity=self.runtime_identity,
510
+ public_health_routes=identity_health_routes,
511
+ )
512
+ if enable_auth:
513
+ self.app.add_middleware(InboundAuthCaptureMiddleware)
514
+
380
515
  async def _invoke_compat(request: Request):
381
516
  # Use current request span from middleware for telemetry
382
517
  span = trace.get_current_span()
383
518
 
384
519
  # Extract headers (fallback keys supported)
385
520
  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
- }
521
+ telemetry_headers = redact_inbound_auth_headers(dict(headers))
391
522
  # trace request attributes on current span
392
523
  telemetry.trace_agent_server(
393
524
  func_name="_invoke_compat",
@@ -396,7 +527,12 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
396
527
  text="",
397
528
  )
398
529
 
399
- user_id = headers.get("user_id") or "agentkit_user"
530
+ identity_context = AgentkitAgentServerApp._request_identity_context(self)
531
+ user_id = (
532
+ identity_context.user_sub
533
+ if identity_context
534
+ else headers.get("user_id") or "agentkit_user"
535
+ )
400
536
  session_id = headers.get("session_id") or ""
401
537
 
402
538
  # Determine app_name from loader
@@ -410,6 +546,13 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
410
546
  )
411
547
  raise exception
412
548
  app_name = app_names[0]
549
+ if getattr(self, "_enable_auth_enabled", False):
550
+ await save_inbound_auth(
551
+ request=request,
552
+ app_name=app_name,
553
+ user_id=user_id,
554
+ credential_service=self.server.credential_service,
555
+ )
413
556
 
414
557
  # Parse payload and convert to ADK Content
415
558
  try:
@@ -442,6 +585,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
442
585
  )
443
586
 
444
587
  async def event_generator():
588
+ error_payload = None
445
589
  try:
446
590
  runner = await self.server.get_runner_async(app_name)
447
591
  async with Aclosing(
@@ -449,9 +593,7 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
449
593
  user_id=user_id,
450
594
  session_id=session_id,
451
595
  new_message=content,
452
- run_config=RunConfig(
453
- streaming_mode=StreamingMode.SSE
454
- ),
596
+ run_config=RunConfig(streaming_mode=StreamingMode.SSE),
455
597
  )
456
598
  ) as agen:
457
599
  async for event in agen:
@@ -465,10 +607,22 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
465
607
  # finish span on successful end of stream handled by middleware
466
608
  pass
467
609
  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'
610
+ if getattr(self, "runtime_identity", None) is not None:
611
+ safe_error = RuntimeError("agent execution failed")
612
+ logger.error("Agent execution failed in identity mode")
613
+ telemetry.trace_agent_server_finish(
614
+ path="/invoke", func_result="", exception=safe_error
615
+ )
616
+ error_payload = 'data: {"error":"agent execution failed"}\n\n'
617
+ else:
618
+ telemetry.trace_agent_server_finish(
619
+ path="/invoke", func_result="", exception=e
620
+ )
621
+ error_payload = f'data: {{"error": "{str(e)}"}}\n\n'
622
+ if error_payload is not None:
623
+ # The identity path never suspends while retaining the
624
+ # original exception or its credential-bearing traceback.
625
+ yield error_payload
472
626
 
473
627
  return StreamingResponse(
474
628
  event_generator(),
@@ -483,8 +637,11 @@ class AgentkitAgentServerApp(BaseAgentkitApp):
483
637
  # Compatibility route for AgentKit CLI invoke
484
638
  self.app.add_api_route("/invoke", _invoke_compat, methods=["POST"])
485
639
 
486
- # Mount A2A server app last to avoid shadowing API routes like `/invoke`.
487
- self.app.mount("/", _a2a_server_app)
640
+ # V1 identity mode does not expose A2A: its payload/session ownership is
641
+ # not yet bound to the verified OIDC subject. Fail closed instead of
642
+ # presenting authentication as multi-tenant authorization.
643
+ if self.runtime_identity is None:
644
+ self.app.mount("/", _a2a_server_app)
488
645
 
489
646
  def run(self, host: str, port: int = 8000) -> None:
490
647
  """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
+ ]