agentkit-sdk-python 0.7.4__tar.gz → 0.7.6__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 (261) hide show
  1. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/PKG-INFO +35 -1
  2. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/README.md +34 -0
  3. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/frameworks/__init__.py +5 -0
  4. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/frameworks/langgraph.py +100 -60
  5. agentkit_sdk_python-0.7.6/agentkit/frameworks/migration.py +135 -0
  6. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/version.py +1 -1
  7. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit_sdk_python.egg-info/PKG-INFO +35 -1
  8. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit_sdk_python.egg-info/SOURCES.txt +1 -4
  9. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/pyproject.toml +5 -1
  10. agentkit_sdk_python-0.7.4/agentkit/toolkit/resources/samples/__pycache__/customer_support_assistant.cpython-312.pyc +0 -0
  11. agentkit_sdk_python-0.7.4/agentkit/toolkit/resources/samples/__pycache__/financial_analyst.cpython-312.pyc +0 -0
  12. agentkit_sdk_python-0.7.4/agentkit/toolkit/resources/samples/__pycache__/simple_app_veadk.cpython-312.pyc +0 -0
  13. agentkit_sdk_python-0.7.4/agentkit/toolkit/resources/samples/__pycache__/simple_mcp_veadk.cpython-312.pyc +0 -0
  14. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/LICENSE +0 -0
  15. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/MANIFEST.in +0 -0
  16. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/__init__.py +0 -0
  17. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/__init__.py +0 -0
  18. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/a2a_app/__init__.py +0 -0
  19. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/a2a_app/a2a_app.py +0 -0
  20. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/a2a_app/telemetry.py +0 -0
  21. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/agent_server_app/__init__.py +0 -0
  22. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/agent_server_app/agent_server_app.py +0 -0
  23. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/agent_server_app/middleware.py +0 -0
  24. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/agent_server_app/origin.py +0 -0
  25. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/agent_server_app/telemetry.py +0 -0
  26. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/base_app.py +0 -0
  27. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/mcp_app/__init__.py +0 -0
  28. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/mcp_app/mcp_app.py +0 -0
  29. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/mcp_app/telemetry.py +0 -0
  30. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/simple_app/__init__.py +0 -0
  31. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/simple_app/simple_app.py +0 -0
  32. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
  33. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/simple_app/telemetry.py +0 -0
  34. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/apps/utils.py +0 -0
  35. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/__init__.py +0 -0
  36. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/_openapi.py +0 -0
  37. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/_redact.py +0 -0
  38. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/_sigv4.py +0 -0
  39. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/admin.py +0 -0
  40. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/credential_hosting.py +0 -0
  41. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/errors.py +0 -0
  42. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/model_login.py +0 -0
  43. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/oauth.py +0 -0
  44. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/profile.py +0 -0
  45. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/providers.py +0 -0
  46. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/resolve.py +0 -0
  47. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/session.py +0 -0
  48. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/ssl_trust.py +0 -0
  49. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/sso.py +0 -0
  50. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/store.py +0 -0
  51. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/auth/sts.py +0 -0
  52. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/client/__init__.py +0 -0
  53. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/client/base_agentkit_client.py +0 -0
  54. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/client/base_iam_client.py +0 -0
  55. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/client/base_service_client.py +0 -0
  56. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/errors.py +0 -0
  57. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/frameworks/_common.py +0 -0
  58. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/frameworks/langchain.py +0 -0
  59. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/frameworks/serving/__init__.py +0 -0
  60. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/frameworks/serving/fastapi_mount.py +0 -0
  61. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/frameworks/serving/langserve.py +0 -0
  62. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/platform/__init__.py +0 -0
  63. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/platform/configuration.py +0 -0
  64. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/platform/console_urls.py +0 -0
  65. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/platform/constants.py +0 -0
  66. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/platform/context.py +0 -0
  67. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/platform/provider.py +0 -0
  68. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/__init__.py +0 -0
  69. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/account/client.py +0 -0
  70. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/account/types.py +0 -0
  71. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/identity/__init__.py +0 -0
  72. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/identity/auth.py +0 -0
  73. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/identity/client.py +0 -0
  74. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/identity/types.py +0 -0
  75. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/knowledge/__init__.py +0 -0
  76. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/knowledge/client.py +0 -0
  77. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/knowledge/types.py +0 -0
  78. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/mcp/__init__.py +0 -0
  79. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/mcp/client.py +0 -0
  80. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/mcp/types.py +0 -0
  81. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/memory/__init__.py +0 -0
  82. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/memory/client.py +0 -0
  83. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/memory/types.py +0 -0
  84. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/runtime/__init__.py +0 -0
  85. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/runtime/client.py +0 -0
  86. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/runtime/types.py +0 -0
  87. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/skills/__init__.py +0 -0
  88. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/skills/client.py +0 -0
  89. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/skills/types.py +0 -0
  90. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/tools/__init__.py +0 -0
  91. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/tools/client.py +0 -0
  92. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/sdk/tools/types.py +0 -0
  93. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/__init__.py +0 -0
  94. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/builders/__init__.py +0 -0
  95. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/builders/base.py +0 -0
  96. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/builders/local_docker.py +0 -0
  97. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/builders/ve_pipeline.py +0 -0
  98. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/__init__.py +0 -0
  99. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/__main__.py +0 -0
  100. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli.py +0 -0
  101. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_add.py +0 -0
  102. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_auth.py +0 -0
  103. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_build.py +0 -0
  104. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_config.py +0 -0
  105. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_delete.py +0 -0
  106. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_deploy.py +0 -0
  107. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_destroy.py +0 -0
  108. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_init.py +0 -0
  109. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_invoke.py +0 -0
  110. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_knowledge.py +0 -0
  111. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_launch.py +0 -0
  112. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_list.py +0 -0
  113. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_logs.py +0 -0
  114. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_memory.py +0 -0
  115. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_runtime.py +0 -0
  116. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_skill.py +0 -0
  117. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_skills.py +0 -0
  118. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_skills_workflow.py +0 -0
  119. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_status.py +0 -0
  120. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_tools.py +0 -0
  121. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/cli_version.py +0 -0
  122. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/console_reporter.py +0 -0
  123. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/interactive_config.py +0 -0
  124. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/__init__.py +0 -0
  125. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/a2a_client.py +0 -0
  126. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/agentkit_client.py +0 -0
  127. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli.py +0 -0
  128. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_create.py +0 -0
  129. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_exec.py +0 -0
  130. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_file.py +0 -0
  131. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_get.py +0 -0
  132. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_invoke.py +0 -0
  133. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_model_login.py +0 -0
  134. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_mount.py +0 -0
  135. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_run.py +0 -0
  136. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_shell.py +0 -0
  137. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/cli_web.py +0 -0
  138. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/env_config.py +0 -0
  139. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/git_config.py +0 -0
  140. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/model_config.py +0 -0
  141. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/sandbox_client.py +0 -0
  142. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/session_create.py +0 -0
  143. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/session_sync.py +0 -0
  144. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/tool_resolve.py +0 -0
  145. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/sandbox/tos_config.py +0 -0
  146. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/cli/utils.py +0 -0
  147. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/__init__.py +0 -0
  148. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/choice_resolvers.py +0 -0
  149. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/cloud_provider.py +0 -0
  150. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/config.py +0 -0
  151. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/config_handler.py +0 -0
  152. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/config_validator.py +0 -0
  153. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/constants.py +0 -0
  154. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/dataclass_utils.py +0 -0
  155. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/docker_build_config.py +0 -0
  156. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/global_config.py +0 -0
  157. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/region_defaults.py +0 -0
  158. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/region_resolver.py +0 -0
  159. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/strategy_configs.py +0 -0
  160. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/config/utils.py +0 -0
  161. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/context.py +0 -0
  162. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/docker/__init__.py +0 -0
  163. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/docker/base_images.py +0 -0
  164. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/docker/container.py +0 -0
  165. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
  166. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
  167. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
  168. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/docker/utils.py +0 -0
  169. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/errors.py +0 -0
  170. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/executors/__init__.py +0 -0
  171. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/executors/base_executor.py +0 -0
  172. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/executors/build_executor.py +0 -0
  173. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/executors/deploy_executor.py +0 -0
  174. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/executors/init_executor.py +0 -0
  175. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/executors/invoke_executor.py +0 -0
  176. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
  177. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/executors/status_executor.py +0 -0
  178. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/harness/__init__.py +0 -0
  179. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/harness/config_builder.py +0 -0
  180. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/harness/deploy.py +0 -0
  181. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/harness/env_mapping.py +0 -0
  182. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/models.py +0 -0
  183. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/reporter.py +0 -0
  184. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/a2a.py +0 -0
  185. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/agent_server.py +0 -0
  186. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/basic.py +0 -0
  187. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
  188. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
  189. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
  190. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
  191. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
  192. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
  193. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
  194. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
  195. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/langchain_basic_stream.py +0 -0
  196. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
  197. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
  198. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_a2a/agent.go +0 -0
  199. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_a2a/build.sh +0 -0
  200. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.mod +0 -0
  201. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.sum +0 -0
  202. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_a2a/main.go +0 -0
  203. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_basic/agent.go +0 -0
  204. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_basic/build.sh +0 -0
  205. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_basic/go.mod +0 -0
  206. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_basic/go.sum +0 -0
  207. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/samples/veadk_go_basic/main.go +0 -0
  208. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +0 -0
  209. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
  210. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
  211. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
  212. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
  213. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/runners/__init__.py +0 -0
  214. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/runners/base.py +0 -0
  215. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/runners/local_docker.py +0 -0
  216. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/runners/ve_agentkit.py +0 -0
  217. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/__init__.py +0 -0
  218. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/bindings/__init__.py +0 -0
  219. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/bindings/memory.py +0 -0
  220. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/builder.py +0 -0
  221. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/client.py +0 -0
  222. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/config.py +0 -0
  223. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/deployer.py +0 -0
  224. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/initializer.py +0 -0
  225. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/invoker.py +0 -0
  226. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/lifecycle.py +0 -0
  227. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/sdk/status.py +0 -0
  228. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/strategies/__init__.py +0 -0
  229. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/strategies/base_strategy.py +0 -0
  230. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/strategies/cloud_strategy.py +0 -0
  231. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/strategies/hybrid_strategy.py +0 -0
  232. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/strategies/local_strategy.py +0 -0
  233. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/utils/__init__.py +0 -0
  234. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/utils/agent_parser.py +0 -0
  235. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/__init__.py +0 -0
  236. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/apmplus_logs.py +0 -0
  237. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
  238. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/cr.py +0 -0
  239. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/iam.py +0 -0
  240. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
  241. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/services/cr_service.py +0 -0
  242. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/services/tos_service.py +0 -0
  243. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/sts.py +0 -0
  244. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
  245. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
  246. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/__init__.py +0 -0
  247. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/global_config_io.py +0 -0
  248. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/http_defaults.py +0 -0
  249. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/logging_config.py +0 -0
  250. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/misc.py +0 -0
  251. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/redact.py +0 -0
  252. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/request.py +0 -0
  253. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/template_utils.py +0 -0
  254. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit/utils/ve_sign.py +0 -0
  255. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit_sdk_python.egg-info/dependency_links.txt +0 -0
  256. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
  257. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit_sdk_python.egg-info/requires.txt +0 -0
  258. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/agentkit_sdk_python.egg-info/top_level.txt +0 -0
  259. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/setup.cfg +0 -0
  260. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/tests/test_client_uses_platform_context.py +0 -0
  261. {agentkit_sdk_python-0.7.4 → agentkit_sdk_python-0.7.6}/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.7.4
3
+ Version: 0.7.6
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
@@ -340,6 +340,40 @@ pip install agentkit-sdk-python==1.0.0.dev1
340
340
 
341
341
  **Note**: Development versions may contain bugs and are not recommended for production use.
342
342
 
343
+ ## Release Process
344
+
345
+ Stable releases are published from GitHub tags. The source tree keeps the
346
+ release version in `pyproject.toml` and `agentkit/version.py`, and the GitHub
347
+ workflow verifies that the pushed tag matches those files before building and
348
+ publishing the package.
349
+
350
+ The release workflow must already exist on `main` before you push the release
351
+ tag. For `0.7.5`, merge the tag-release automation change first, then create
352
+ and push `v0.7.5`.
353
+
354
+ Use the following workflow for a stable release:
355
+
356
+ ```bash
357
+ git checkout main
358
+ git pull github main
359
+ git tag v0.7.5
360
+ git push github v0.7.5
361
+ ```
362
+
363
+ When the tag reaches GitHub, `.github/workflows/release-pypi.yml` will:
364
+
365
+ - verify the tag is reachable from `main`
366
+ - verify that `pyproject.toml` and `agentkit/version.py` match the tag version
367
+ - build the wheel and source distribution from the tagged commit
368
+ - verify the built artifacts contain the expected version metadata
369
+ - publish the release to PyPI using the GitHub Actions secret `PYPI_API_TOKEN`
370
+
371
+ The internal `local_build.py` helper is a separate local-only workflow and is
372
+ not used by the GitHub tag release.
373
+
374
+ Before using the GitHub tag release workflow, configure a project-scoped PyPI
375
+ API token in the repository's GitHub Actions secrets as `PYPI_API_TOKEN`.
376
+
343
377
  ## Security and privacy
344
378
 
345
379
  This project takes security seriously.
@@ -85,6 +85,40 @@ pip install agentkit-sdk-python==1.0.0.dev1
85
85
 
86
86
  **Note**: Development versions may contain bugs and are not recommended for production use.
87
87
 
88
+ ## Release Process
89
+
90
+ Stable releases are published from GitHub tags. The source tree keeps the
91
+ release version in `pyproject.toml` and `agentkit/version.py`, and the GitHub
92
+ workflow verifies that the pushed tag matches those files before building and
93
+ publishing the package.
94
+
95
+ The release workflow must already exist on `main` before you push the release
96
+ tag. For `0.7.5`, merge the tag-release automation change first, then create
97
+ and push `v0.7.5`.
98
+
99
+ Use the following workflow for a stable release:
100
+
101
+ ```bash
102
+ git checkout main
103
+ git pull github main
104
+ git tag v0.7.5
105
+ git push github v0.7.5
106
+ ```
107
+
108
+ When the tag reaches GitHub, `.github/workflows/release-pypi.yml` will:
109
+
110
+ - verify the tag is reachable from `main`
111
+ - verify that `pyproject.toml` and `agentkit/version.py` match the tag version
112
+ - build the wheel and source distribution from the tagged commit
113
+ - verify the built artifacts contain the expected version metadata
114
+ - publish the release to PyPI using the GitHub Actions secret `PYPI_API_TOKEN`
115
+
116
+ The internal `local_build.py` helper is a separate local-only workflow and is
117
+ not used by the GitHub tag release.
118
+
119
+ Before using the GitHub tag release workflow, configure a project-scoped PyPI
120
+ API token in the repository's GitHub Actions secrets as `PYPI_API_TOKEN`.
121
+
88
122
  ## Security and privacy
89
123
 
90
124
  This project takes security seriously.
@@ -14,6 +14,7 @@ __all__ = [
14
14
  "LangChainAgentkitBridge",
15
15
  "LangGraphAgentkitBridge",
16
16
  "UnsupportedFrameworkAgentError",
17
+ "load_entry_object",
17
18
  ]
18
19
 
19
20
 
@@ -26,4 +27,8 @@ def __getattr__(name: str) -> Any:
26
27
  from agentkit.frameworks.langgraph import LangGraphAgentkitBridge
27
28
 
28
29
  return LangGraphAgentkitBridge
30
+ if name == "load_entry_object":
31
+ from agentkit.frameworks.migration import load_entry_object
32
+
33
+ return load_entry_object
29
34
  raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from collections.abc import AsyncGenerator
6
+ import hashlib
6
7
  import inspect
7
8
  import json
8
9
  from typing import Any
@@ -84,6 +85,35 @@ def _resume_value(text_input: str) -> Any:
84
85
  return text_input
85
86
 
86
87
 
88
+ def _update_output_text(data: Any) -> str:
89
+ """Extract user-facing output from LangGraph update payloads.
90
+
91
+ LangGraph ``stream_mode=["messages", "updates"]`` can emit internal LLM
92
+ message chunks as well as node state updates. Generic recursive extraction
93
+ is too broad for updates such as ``{"classify": {"route": "x"}}``; only
94
+ explicit output-like fields should override streamed message text.
95
+ """
96
+ if not isinstance(data, dict):
97
+ return chunk_to_text(data)
98
+
99
+ for key in ("answer", "output", "text", "content", "messages"):
100
+ if key in data:
101
+ text = chunk_to_text(data[key])
102
+ if text:
103
+ return text
104
+
105
+ latest = ""
106
+ for value in data.values():
107
+ if not isinstance(value, dict):
108
+ continue
109
+ for key in ("answer", "output", "text", "content", "messages"):
110
+ if key in value:
111
+ text = chunk_to_text(value[key])
112
+ if text:
113
+ latest = text
114
+ return latest
115
+
116
+
87
117
  class LangGraphAgentkitBridge(BaseAgent):
88
118
  """Adapt a compiled LangGraph graph to AgentKit's ADK runtime boundary."""
89
119
 
@@ -112,7 +142,15 @@ class LangGraphAgentkitBridge(BaseAgent):
112
142
  session_id = getattr(session, "id", None)
113
143
  if not session_id:
114
144
  return None
115
- return {"configurable": {"thread_id": session_id}}
145
+ app_name = getattr(session, "app_name", None)
146
+ user_id = getattr(session, "user_id", None)
147
+ if app_name and user_id:
148
+ raw_identity = f"{app_name}\0{user_id}\0{session_id}"
149
+ digest = hashlib.sha256(raw_identity.encode("utf-8")).hexdigest()
150
+ thread_id = f"agentkit:{digest}"
151
+ else:
152
+ thread_id = session_id
153
+ return {"configurable": {"thread_id": thread_id}}
116
154
 
117
155
  def _pending_interrupt(self, ctx: InvocationContext) -> Any | None:
118
156
  session = getattr(ctx, "session", None)
@@ -189,32 +227,37 @@ class LangGraphAgentkitBridge(BaseAgent):
189
227
  stream_fn = getattr(self._graph, "stream", None)
190
228
  if not callable(stream_fn):
191
229
  return None
192
- try:
193
- return stream_fn(
194
- payload,
195
- **_method_kwargs(
196
- stream_fn,
197
- {
198
- "config": config,
199
- "stream_mode": ["messages", "updates"],
200
- "version": "v2",
201
- },
202
- ),
203
- )
204
- except TypeError:
205
- try:
206
- return stream_fn(
207
- payload,
208
- **_method_kwargs(
209
- stream_fn,
210
- {
211
- "config": config,
212
- "stream_mode": ["messages", "updates"],
213
- },
214
- ),
215
- )
216
- except TypeError:
217
- return stream_fn(payload, **_method_kwargs(stream_fn, {"config": config}))
230
+ attempts = [
231
+ {
232
+ "config": config,
233
+ "stream_mode": ["messages", "updates"],
234
+ "version": "v2",
235
+ },
236
+ {
237
+ "config": config,
238
+ "stream_mode": ["messages", "updates"],
239
+ },
240
+ {"config": config},
241
+ ]
242
+
243
+ def iterate_attempts():
244
+ last_error: TypeError | None = None
245
+ for kwargs in attempts:
246
+ emitted = False
247
+ try:
248
+ stream = stream_fn(payload, **_method_kwargs(stream_fn, kwargs))
249
+ for item in stream:
250
+ emitted = True
251
+ yield item
252
+ return
253
+ except TypeError as exc:
254
+ if emitted:
255
+ raise
256
+ last_error = exc
257
+ if last_error is not None:
258
+ raise last_error
259
+
260
+ return iterate_attempts()
218
261
 
219
262
  async def _stream_graph(self, payload: Any, config: dict[str, Any] | None, *, prefer_sync: bool = False):
220
263
  if prefer_sync:
@@ -226,35 +269,33 @@ class LangGraphAgentkitBridge(BaseAgent):
226
269
 
227
270
  astream = getattr(self._graph, "astream", None)
228
271
  if callable(astream):
229
- try:
230
- stream = astream(
231
- payload,
232
- **_method_kwargs(
233
- astream,
234
- {
235
- "config": config,
236
- "stream_mode": ["messages", "updates"],
237
- "version": "v2",
238
- },
239
- ),
240
- )
241
- except TypeError:
272
+ attempts = [
273
+ {
274
+ "config": config,
275
+ "stream_mode": ["messages", "updates"],
276
+ "version": "v2",
277
+ },
278
+ {
279
+ "config": config,
280
+ "stream_mode": ["messages", "updates"],
281
+ },
282
+ {"config": config},
283
+ ]
284
+ last_error: TypeError | None = None
285
+ for kwargs in attempts:
286
+ emitted = False
242
287
  try:
243
- stream = astream(
244
- payload,
245
- **_method_kwargs(
246
- astream,
247
- {
248
- "config": config,
249
- "stream_mode": ["messages", "updates"],
250
- },
251
- ),
252
- )
253
- except TypeError:
254
- stream = astream(payload, **_method_kwargs(astream, {"config": config}))
255
- async for item in stream:
256
- yield item
257
- return
288
+ stream = astream(payload, **_method_kwargs(astream, kwargs))
289
+ async for item in stream:
290
+ emitted = True
291
+ yield item
292
+ return
293
+ except TypeError as exc:
294
+ if emitted:
295
+ raise
296
+ last_error = exc
297
+ if last_error is not None:
298
+ raise last_error
258
299
 
259
300
  stream = self._sync_stream(payload, config)
260
301
  if stream is not None:
@@ -318,9 +359,7 @@ class LangGraphAgentkitBridge(BaseAgent):
318
359
  )
319
360
  return
320
361
  last_update = data
321
- if saw_messages:
322
- continue
323
- text = chunk_to_text(data)
362
+ text = _update_output_text(data)
324
363
  if text:
325
364
  pending_update_text = text
326
365
  continue
@@ -334,10 +373,11 @@ class LangGraphAgentkitBridge(BaseAgent):
334
373
  yield adk_event(ctx, self.name, delta, partial=True)
335
374
 
336
375
  if streamed:
376
+ update_text = pending_update_text or _update_output_text(last_update)
337
377
  if saw_messages or has_output:
338
- final_text = accumulated_text
378
+ final_text = update_text or accumulated_text
339
379
  else:
340
- final_text = pending_update_text or chunk_to_text(last_update)
380
+ final_text = update_text
341
381
  if final_text:
342
382
  yield adk_event(ctx, self.name, final_text, partial=True)
343
383
  else:
@@ -0,0 +1,135 @@
1
+ """Helpers used by generated framework migration apps."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import importlib
6
+ import importlib.util
7
+ import inspect
8
+ from pathlib import Path
9
+ import sys
10
+ from types import ModuleType
11
+ from typing import Any
12
+
13
+
14
+ def _prepend_sys_path(path: Path) -> None:
15
+ value = str(path)
16
+ if value not in sys.path:
17
+ sys.path.insert(0, value)
18
+
19
+
20
+ def _load_module_from_file(entry_path: Path, import_name: str) -> ModuleType:
21
+ if not entry_path.is_file():
22
+ raise FileNotFoundError(f"Entry file does not exist: {entry_path}")
23
+
24
+ spec = importlib.util.spec_from_file_location(import_name, entry_path)
25
+ if spec is None or spec.loader is None:
26
+ raise RuntimeError(f"Cannot load entry module from {entry_path}")
27
+
28
+ module = importlib.util.module_from_spec(spec)
29
+ sys.modules[import_name] = module
30
+ try:
31
+ spec.loader.exec_module(module)
32
+ except Exception:
33
+ if sys.modules.get(import_name) is module:
34
+ del sys.modules[import_name]
35
+ raise
36
+ return module
37
+
38
+
39
+ def _resolve_object(module: ModuleType, object_path: str) -> Any:
40
+ if not object_path:
41
+ raise ValueError("entry object path is required")
42
+
43
+ target: Any = module
44
+ for attr in object_path.split("."):
45
+ if not attr:
46
+ raise ValueError(
47
+ f"entry object path contains an empty attribute: {object_path!r}"
48
+ )
49
+ try:
50
+ target = getattr(target, attr)
51
+ except AttributeError as exc:
52
+ raise AttributeError(
53
+ f"Entry object {object_path!r} was not found; "
54
+ f"missing attribute {attr!r} on {target!r}."
55
+ ) from exc
56
+ return target
57
+
58
+
59
+ def _call_zero_arg_factory(target: Any, object_path: str) -> Any:
60
+ if not callable(target):
61
+ raise TypeError(
62
+ f"Entry object {object_path!r} was marked as a factory, "
63
+ "but the loaded object is not callable."
64
+ )
65
+
66
+ try:
67
+ signature = inspect.signature(target)
68
+ except (TypeError, ValueError) as exc:
69
+ raise TypeError(
70
+ f"Entry factory {object_path!r} has no inspectable signature. "
71
+ "Expose a zero-argument factory or a constructed agent object."
72
+ ) from exc
73
+
74
+ required_params = [
75
+ name
76
+ for name, param in signature.parameters.items()
77
+ if param.default is inspect.Parameter.empty
78
+ and param.kind
79
+ in {
80
+ inspect.Parameter.POSITIONAL_ONLY,
81
+ inspect.Parameter.POSITIONAL_OR_KEYWORD,
82
+ inspect.Parameter.KEYWORD_ONLY,
83
+ }
84
+ ]
85
+ if required_params:
86
+ formatted = ", ".join(required_params)
87
+ raise TypeError(
88
+ f"Entry factory {object_path!r} requires arguments: {formatted}. "
89
+ "agentkit migrate can only call zero-argument factories; expose a "
90
+ "thin zero-argument entry object for migration."
91
+ )
92
+
93
+ result = target()
94
+ if inspect.isawaitable(result):
95
+ raise TypeError(
96
+ f"Entry factory {object_path!r} returned an awaitable object. "
97
+ "Async factories are not supported by generated migration apps; "
98
+ "expose a synchronous factory or a constructed agent object."
99
+ )
100
+ return result
101
+
102
+
103
+ def load_entry_object(
104
+ *,
105
+ file: str,
106
+ object_path: str,
107
+ module: str | None = None,
108
+ project_root: str | Path = ".",
109
+ base_dir: str | Path | None = None,
110
+ import_name: str = "agentkit_migrated_entry",
111
+ call_factory: bool = False,
112
+ ) -> Any:
113
+ """Load an object from a migrated project's original entry reference.
114
+
115
+ The generated migration app lives beside or below the user's project files.
116
+ This helper keeps that app small while preserving the import behavior that
117
+ users expect from running their original project.
118
+ """
119
+
120
+ base_path = (
121
+ Path(base_dir).resolve() if base_dir is not None else Path.cwd().resolve()
122
+ )
123
+ project_root_path = (base_path / project_root).resolve()
124
+ _prepend_sys_path(project_root_path)
125
+
126
+ if module:
127
+ loaded_module = importlib.import_module(module)
128
+ else:
129
+ entry_path = (base_path / file).resolve()
130
+ loaded_module = _load_module_from_file(entry_path, import_name)
131
+
132
+ target = _resolve_object(loaded_module, object_path)
133
+ if call_factory:
134
+ return _call_zero_arg_factory(target, object_path)
135
+ return target
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- VERSION = "0.7.4"
15
+ VERSION = "0.7.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentkit-sdk-python
3
- Version: 0.7.4
3
+ Version: 0.7.6
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
@@ -340,6 +340,40 @@ pip install agentkit-sdk-python==1.0.0.dev1
340
340
 
341
341
  **Note**: Development versions may contain bugs and are not recommended for production use.
342
342
 
343
+ ## Release Process
344
+
345
+ Stable releases are published from GitHub tags. The source tree keeps the
346
+ release version in `pyproject.toml` and `agentkit/version.py`, and the GitHub
347
+ workflow verifies that the pushed tag matches those files before building and
348
+ publishing the package.
349
+
350
+ The release workflow must already exist on `main` before you push the release
351
+ tag. For `0.7.5`, merge the tag-release automation change first, then create
352
+ and push `v0.7.5`.
353
+
354
+ Use the following workflow for a stable release:
355
+
356
+ ```bash
357
+ git checkout main
358
+ git pull github main
359
+ git tag v0.7.5
360
+ git push github v0.7.5
361
+ ```
362
+
363
+ When the tag reaches GitHub, `.github/workflows/release-pypi.yml` will:
364
+
365
+ - verify the tag is reachable from `main`
366
+ - verify that `pyproject.toml` and `agentkit/version.py` match the tag version
367
+ - build the wheel and source distribution from the tagged commit
368
+ - verify the built artifacts contain the expected version metadata
369
+ - publish the release to PyPI using the GitHub Actions secret `PYPI_API_TOKEN`
370
+
371
+ The internal `local_build.py` helper is a separate local-only workflow and is
372
+ not used by the GitHub tag release.
373
+
374
+ Before using the GitHub tag release workflow, configure a project-scoped PyPI
375
+ API token in the repository's GitHub Actions secrets as `PYPI_API_TOKEN`.
376
+
343
377
  ## Security and privacy
344
378
 
345
379
  This project takes security seriously.
@@ -48,6 +48,7 @@ agentkit/frameworks/__init__.py
48
48
  agentkit/frameworks/_common.py
49
49
  agentkit/frameworks/langchain.py
50
50
  agentkit/frameworks/langgraph.py
51
+ agentkit/frameworks/migration.py
51
52
  agentkit/frameworks/serving/__init__.py
52
53
  agentkit/frameworks/serving/fastapi_mount.py
53
54
  agentkit/frameworks/serving/langserve.py
@@ -182,10 +183,6 @@ agentkit/toolkit/resources/samples/financial_analyst.py
182
183
  agentkit/toolkit/resources/samples/langchain_basic_stream.py
183
184
  agentkit/toolkit/resources/samples/simple_app_veadk.py
184
185
  agentkit/toolkit/resources/samples/simple_mcp_veadk.py
185
- agentkit/toolkit/resources/samples/__pycache__/customer_support_assistant.cpython-312.pyc
186
- agentkit/toolkit/resources/samples/__pycache__/financial_analyst.cpython-312.pyc
187
- agentkit/toolkit/resources/samples/__pycache__/simple_app_veadk.cpython-312.pyc
188
- agentkit/toolkit/resources/samples/__pycache__/simple_mcp_veadk.cpython-312.pyc
189
186
  agentkit/toolkit/resources/samples/eino_a2a/agent.go
190
187
  agentkit/toolkit/resources/samples/eino_a2a/build.sh
191
188
  agentkit/toolkit/resources/samples/eino_a2a/go.mod
@@ -1,6 +1,10 @@
1
+ [build-system]
2
+ requires = ["setuptools>=77", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
1
5
  [project]
2
6
  name = "agentkit-sdk-python"
3
- version = "0.7.4"
7
+ version = "0.7.6"
4
8
  description = "Python SDK for transforming any AI agent into a production-ready application. Framework-agnostic primitives for runtime, memory, authentication, and tools with volcengine-managed infrastructure."
5
9
  readme = "README.md"
6
10
  requires-python = ">=3.10"