agentkit-sdk-python 0.6.0__tar.gz → 0.6.1__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 (226) hide show
  1. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/PKG-INFO +1 -1
  2. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/__init__.py +4 -0
  3. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/cli.py +12 -3
  4. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/cli_create.py +160 -25
  5. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/cli_exec.py +134 -0
  6. agentkit_sdk_python-0.6.1/agentkit/toolkit/cli/sandbox/cli_file.py +915 -0
  7. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/cli_get.py +1 -0
  8. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/cli_shell.py +45 -0
  9. agentkit_sdk_python-0.6.1/agentkit/toolkit/cli/sandbox/cli_web.py +95 -0
  10. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/session_create.py +11 -8
  11. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/tool_resolve.py +127 -8
  12. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/utils.py +56 -1
  13. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/iam.py +12 -19
  14. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/version.py +1 -1
  15. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit_sdk_python.egg-info/PKG-INFO +1 -1
  16. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit_sdk_python.egg-info/SOURCES.txt +2 -0
  17. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/pyproject.toml +1 -1
  18. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/LICENSE +0 -0
  19. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/MANIFEST.in +0 -0
  20. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/README.md +0 -0
  21. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/__init__.py +0 -0
  22. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/__init__.py +0 -0
  23. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/a2a_app/__init__.py +0 -0
  24. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/a2a_app/a2a_app.py +0 -0
  25. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/a2a_app/telemetry.py +0 -0
  26. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/agent_server_app/__init__.py +0 -0
  27. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/agent_server_app/agent_server_app.py +0 -0
  28. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/agent_server_app/middleware.py +0 -0
  29. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/agent_server_app/origin.py +0 -0
  30. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/agent_server_app/telemetry.py +0 -0
  31. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/base_app.py +0 -0
  32. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/mcp_app/__init__.py +0 -0
  33. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/mcp_app/mcp_app.py +0 -0
  34. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/mcp_app/telemetry.py +0 -0
  35. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/simple_app/__init__.py +0 -0
  36. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/simple_app/simple_app.py +0 -0
  37. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/simple_app/simple_app_handlers.py +0 -0
  38. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/simple_app/telemetry.py +0 -0
  39. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/apps/utils.py +0 -0
  40. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/__init__.py +0 -0
  41. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/_openapi.py +0 -0
  42. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/_redact.py +0 -0
  43. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/_sigv4.py +0 -0
  44. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/admin.py +0 -0
  45. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/credential_hosting.py +0 -0
  46. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/errors.py +0 -0
  47. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/oauth.py +0 -0
  48. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/profile.py +0 -0
  49. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/providers.py +0 -0
  50. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/resolve.py +0 -0
  51. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/session.py +0 -0
  52. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/ssl_trust.py +0 -0
  53. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/sso.py +0 -0
  54. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/store.py +0 -0
  55. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/auth/sts.py +0 -0
  56. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/client/__init__.py +0 -0
  57. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/client/base_agentkit_client.py +0 -0
  58. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/client/base_iam_client.py +0 -0
  59. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/client/base_service_client.py +0 -0
  60. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/platform/__init__.py +0 -0
  61. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/platform/configuration.py +0 -0
  62. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/platform/console_urls.py +0 -0
  63. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/platform/constants.py +0 -0
  64. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/platform/context.py +0 -0
  65. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/platform/provider.py +0 -0
  66. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/__init__.py +0 -0
  67. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/account/client.py +0 -0
  68. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/account/types.py +0 -0
  69. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/identity/__init__.py +0 -0
  70. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/identity/auth.py +0 -0
  71. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/knowledge/__init__.py +0 -0
  72. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/knowledge/client.py +0 -0
  73. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/knowledge/types.py +0 -0
  74. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/mcp/__init__.py +0 -0
  75. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/mcp/client.py +0 -0
  76. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/mcp/types.py +0 -0
  77. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/memory/__init__.py +0 -0
  78. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/memory/client.py +0 -0
  79. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/memory/types.py +0 -0
  80. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/runtime/__init__.py +0 -0
  81. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/runtime/client.py +0 -0
  82. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/runtime/types.py +0 -0
  83. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/skills/__init__.py +0 -0
  84. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/skills/client.py +0 -0
  85. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/skills/types.py +0 -0
  86. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/tools/__init__.py +0 -0
  87. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/tools/client.py +0 -0
  88. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/sdk/tools/types.py +0 -0
  89. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/__init__.py +0 -0
  90. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/builders/__init__.py +0 -0
  91. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/builders/base.py +0 -0
  92. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/builders/local_docker.py +0 -0
  93. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/builders/ve_pipeline.py +0 -0
  94. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/__init__.py +0 -0
  95. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/__main__.py +0 -0
  96. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli.py +0 -0
  97. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_auth.py +0 -0
  98. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_build.py +0 -0
  99. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_config.py +0 -0
  100. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_deploy.py +0 -0
  101. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_destroy.py +0 -0
  102. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_init.py +0 -0
  103. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_invoke.py +0 -0
  104. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_knowledge.py +0 -0
  105. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_launch.py +0 -0
  106. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_memory.py +0 -0
  107. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_runtime.py +0 -0
  108. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_skills.py +0 -0
  109. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_skills_workflow.py +0 -0
  110. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_status.py +0 -0
  111. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_tools.py +0 -0
  112. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/cli_version.py +0 -0
  113. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/console_reporter.py +0 -0
  114. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/interactive_config.py +0 -0
  115. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/sandbox/session_sync.py +0 -0
  116. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/cli/utils.py +0 -0
  117. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/__init__.py +0 -0
  118. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/choice_resolvers.py +0 -0
  119. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/cloud_provider.py +0 -0
  120. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/config.py +0 -0
  121. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/config_handler.py +0 -0
  122. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/config_validator.py +0 -0
  123. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/constants.py +0 -0
  124. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/dataclass_utils.py +0 -0
  125. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/docker_build_config.py +0 -0
  126. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/global_config.py +0 -0
  127. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/region_defaults.py +0 -0
  128. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/region_resolver.py +0 -0
  129. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/strategy_configs.py +0 -0
  130. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/config/utils.py +0 -0
  131. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/context.py +0 -0
  132. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/docker/__init__.py +0 -0
  133. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/docker/base_images.py +0 -0
  134. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/docker/container.py +0 -0
  135. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/docker/dockerfile/__init__.py +0 -0
  136. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/docker/dockerfile/manager.py +0 -0
  137. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/docker/dockerfile/metadata.py +0 -0
  138. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/docker/utils.py +0 -0
  139. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/errors.py +0 -0
  140. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/executors/__init__.py +0 -0
  141. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/executors/base_executor.py +0 -0
  142. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/executors/build_executor.py +0 -0
  143. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/executors/deploy_executor.py +0 -0
  144. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/executors/init_executor.py +0 -0
  145. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/executors/invoke_executor.py +0 -0
  146. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/executors/lifecycle_executor.py +0 -0
  147. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/executors/status_executor.py +0 -0
  148. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/models.py +0 -0
  149. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/reporter.py +0 -0
  150. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/__pycache__/customer_support_assistant.cpython-312.pyc +0 -0
  151. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/__pycache__/financial_analyst.cpython-312.pyc +0 -0
  152. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/__pycache__/simple_app_veadk.cpython-312.pyc +0 -0
  153. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/__pycache__/simple_mcp_veadk.cpython-312.pyc +0 -0
  154. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/a2a.py +0 -0
  155. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/agent_server.py +0 -0
  156. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/basic.py +0 -0
  157. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/basic_stream.py +0 -0
  158. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/customer_support_assistant.py +0 -0
  159. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/eino_a2a/agent.go +0 -0
  160. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/eino_a2a/build.sh +0 -0
  161. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/eino_a2a/go.mod +0 -0
  162. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/eino_a2a/go.sum +0 -0
  163. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/eino_a2a/main.go +0 -0
  164. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/financial_analyst.py +0 -0
  165. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/langchain_basic_stream.py +0 -0
  166. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/simple_app_veadk.py +0 -0
  167. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/simple_mcp_veadk.py +0 -0
  168. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_a2a/agent.go +0 -0
  169. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_a2a/build.sh +0 -0
  170. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.mod +0 -0
  171. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_a2a/go.sum +0 -0
  172. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_a2a/main.go +0 -0
  173. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_basic/agent.go +0 -0
  174. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_basic/build.sh +0 -0
  175. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_basic/go.mod +0 -0
  176. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_basic/go.sum +0 -0
  177. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/samples/veadk_go_basic/main.go +0 -0
  178. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +0 -0
  179. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/templates/golang/Dockerfile.j2 +0 -0
  180. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/templates/python/Dockerfile.j2 +0 -0
  181. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/wrappers/wrapper_basic.py.jinja2 +0 -0
  182. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2 +0 -0
  183. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/runners/__init__.py +0 -0
  184. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/runners/base.py +0 -0
  185. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/runners/local_docker.py +0 -0
  186. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/runners/ve_agentkit.py +0 -0
  187. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/__init__.py +0 -0
  188. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/bindings/__init__.py +0 -0
  189. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/bindings/memory.py +0 -0
  190. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/builder.py +0 -0
  191. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/client.py +0 -0
  192. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/config.py +0 -0
  193. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/deployer.py +0 -0
  194. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/initializer.py +0 -0
  195. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/invoker.py +0 -0
  196. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/lifecycle.py +0 -0
  197. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/sdk/status.py +0 -0
  198. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/strategies/__init__.py +0 -0
  199. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/strategies/base_strategy.py +0 -0
  200. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/strategies/cloud_strategy.py +0 -0
  201. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/strategies/hybrid_strategy.py +0 -0
  202. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/strategies/local_strategy.py +0 -0
  203. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/utils/__init__.py +0 -0
  204. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/utils/agent_parser.py +0 -0
  205. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/__init__.py +0 -0
  206. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/code_pipeline.py +0 -0
  207. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/cr.py +0 -0
  208. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/services/__init__.py +0 -0
  209. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/services/cr_service.py +0 -0
  210. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/services/tos_service.py +0 -0
  211. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/sts.py +0 -0
  212. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/utils/__init__.py +0 -0
  213. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/toolkit/volcengine/utils/project_archiver.py +0 -0
  214. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/utils/__init__.py +0 -0
  215. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/utils/global_config_io.py +0 -0
  216. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/utils/logging_config.py +0 -0
  217. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/utils/misc.py +0 -0
  218. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/utils/request.py +0 -0
  219. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/utils/template_utils.py +0 -0
  220. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit/utils/ve_sign.py +0 -0
  221. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit_sdk_python.egg-info/dependency_links.txt +0 -0
  222. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit_sdk_python.egg-info/entry_points.txt +0 -0
  223. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit_sdk_python.egg-info/requires.txt +0 -0
  224. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/agentkit_sdk_python.egg-info/top_level.txt +0 -0
  225. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/setup.cfg +0 -0
  226. {agentkit_sdk_python-0.6.0 → agentkit_sdk_python-0.6.1}/tests/test_client_uses_platform_context.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentkit-sdk-python
3
- Version: 0.6.0
3
+ Version: 0.6.1
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
@@ -17,13 +17,17 @@
17
17
  from agentkit.toolkit.cli.sandbox.cli import sandbox_app
18
18
  from agentkit.toolkit.cli.sandbox.cli_create import create_command
19
19
  from agentkit.toolkit.cli.sandbox.cli_exec import exec_command
20
+ from agentkit.toolkit.cli.sandbox.cli_file import file_command
20
21
  from agentkit.toolkit.cli.sandbox.cli_get import get_command
21
22
  from agentkit.toolkit.cli.sandbox.cli_shell import shell_command
23
+ from agentkit.toolkit.cli.sandbox.cli_web import web_command
22
24
 
23
25
  __all__ = [
24
26
  "create_command",
25
27
  "exec_command",
28
+ "file_command",
26
29
  "get_command",
27
30
  "sandbox_app",
28
31
  "shell_command",
32
+ "web_command",
29
33
  ]
@@ -20,8 +20,10 @@ import typer
20
20
 
21
21
  from agentkit.toolkit.cli.sandbox.cli_create import create_command
22
22
  from agentkit.toolkit.cli.sandbox.cli_exec import exec_command
23
+ from agentkit.toolkit.cli.sandbox.cli_file import file_command
23
24
  from agentkit.toolkit.cli.sandbox.cli_get import get_command
24
25
  from agentkit.toolkit.cli.sandbox.cli_shell import shell_command
26
+ from agentkit.toolkit.cli.sandbox.cli_web import web_command
25
27
 
26
28
  sandbox_app = typer.Typer(
27
29
  name="sandbox",
@@ -31,6 +33,13 @@ sandbox_app = typer.Typer(
31
33
 
32
34
  sandbox_app.command(name="create")(create_command)
33
35
  sandbox_app.command(name="get")(get_command)
34
- sandbox_app.command(name="exec")(exec_command)
35
- sandbox_app.command(name="shell")(shell_command)
36
-
36
+ sandbox_app.command(
37
+ name="exec",
38
+ context_settings={"allow_extra_args": True},
39
+ )(exec_command)
40
+ sandbox_app.command(
41
+ name="shell",
42
+ context_settings={"allow_extra_args": True},
43
+ )(shell_command)
44
+ sandbox_app.command(name="web")(web_command)
45
+ sandbox_app.add_typer(file_command, name="file")
@@ -16,6 +16,7 @@
16
16
 
17
17
  from __future__ import annotations
18
18
 
19
+ import json
19
20
  import os
20
21
  import re
21
22
  import time
@@ -45,7 +46,19 @@ SANDBOX_TOS_REGION_ENV = "AGENTKIT_SANDBOX_TOS_REGION"
45
46
  DEFAULT_CREATE_TOOL_TYPE = "CodeEnv"
46
47
  DEFAULT_TOS_BUCKET_PATH = "/sandbox-session/default/default"
47
48
  DEFAULT_TOS_LOCAL_PATH = "/home/gem"
49
+ CODE_ENV_HOME = "/home/gem"
50
+ CODE_ENV_CODEX_HOME = "/home/gem/.codex"
51
+ CODEX_MODEL_CATALOG_PATH = f"{CODE_ENV_CODEX_HOME}/model-catalog.json"
48
52
  DEFAULT_MODEL_NAME = "deepseek-v4-flash-260425"
53
+ DEFAULT_MODEL_NAME_LIST = (
54
+ DEFAULT_MODEL_NAME,
55
+ "deepseek-v4-pro-260425",
56
+ "doubao-seed-2-0-pro-260215",
57
+ )
58
+ DEFAULT_MODEL_CONTEXT_WINDOW = 1000000
59
+ MODEL_CONTEXT_WINDOW_OVERRIDES = {
60
+ "doubao-seed-2-0-pro-260215": 256000,
61
+ }
49
62
  DEFAULT_MODEL_BASE_URL = "https://ark.cn-beijing.volces.com/api/v3"
50
63
  DEFAULT_ANTHROPIC_BASE_URL = "https://ark.cn-beijing.volces.com/api/compatible"
51
64
  MODEL_BASE_URL_ENV_KEYS = (
@@ -57,8 +70,6 @@ ANTHROPIC_BASE_URL_ENV_KEYS = ("ANTHROPIC_BASE_URL",)
57
70
  DISABLED_SERVICE_ENV_KEYS = (
58
71
  "DISABLE_JUPYTER",
59
72
  "DISABLE_CODE_SERVER",
60
- "DISABLE_BROWSER",
61
- "DISABLE_VNC",
62
73
  "DISABLE_NODEJS_REPL",
63
74
  )
64
75
  TOOL_READY_STATUS = "Ready"
@@ -98,13 +109,134 @@ def _append_tool_envs(
98
109
  return
99
110
 
100
111
  envs.extend(
101
- tools_types.EnvsItemForCreateTool(key=key, value=resolved)
112
+ tools_types.EnvsItemForCreateTool(Key=key, Value=resolved)
102
113
  for key in keys
103
114
  )
104
115
 
105
116
 
117
+ def _toml_quote(value: str) -> str:
118
+ return json.dumps(value, ensure_ascii=False)
119
+
120
+
121
+ def _build_codex_config_toml(model_name: str) -> str:
122
+ quoted_model = _toml_quote(model_name)
123
+ return "\n".join(
124
+ [
125
+ 'model_provider = "codex"',
126
+ f"model = {quoted_model}",
127
+ f"review_model = {quoted_model}",
128
+ 'approval_policy = "never"',
129
+ 'sandbox_mode = "danger-full-access"',
130
+ 'model_reasoning_effort = "medium"',
131
+ 'personality = "pragmatic"',
132
+ "check_for_update_on_startup = false",
133
+ 'web_search = "disabled"',
134
+ f"model_catalog_json = {_toml_quote(CODEX_MODEL_CATALOG_PATH)}",
135
+ "",
136
+ "[model_providers.codex]",
137
+ 'name = "codex"',
138
+ f"base_url = {_toml_quote(DEFAULT_MODEL_BASE_URL)}",
139
+ 'wire_api = "responses"',
140
+ 'env_key = "CODEX_API_KEY"',
141
+ "",
142
+ "[tui]",
143
+ "show_tooltips = false",
144
+ "",
145
+ '[projects."/home/gem"]',
146
+ 'trust_level = "trusted"',
147
+ "",
148
+ ]
149
+ )
150
+
151
+
152
+ def _build_model_catalog_item(model_name: str, max_context_window: int) -> dict:
153
+ return {
154
+ "slug": model_name,
155
+ "display_name": model_name,
156
+ "supported_reasoning_levels": [
157
+ {
158
+ "effort": "low",
159
+ "description": "Fast responses with lighter reasoning",
160
+ },
161
+ {
162
+ "effort": "medium",
163
+ "description": "Balances speed and reasoning depth",
164
+ },
165
+ {
166
+ "effort": "high",
167
+ "description": "Greater reasoning depth",
168
+ },
169
+ ],
170
+ "max_context_window": max_context_window,
171
+ "shell_type": "shell_command",
172
+ "visibility": "list",
173
+ "supported_in_api": True,
174
+ "priority": 100,
175
+ "base_instructions": "",
176
+ "supports_reasoning_summaries": True,
177
+ "support_verbosity": False,
178
+ "truncation_policy": {"mode": "tokens", "limit": 10000},
179
+ "supports_parallel_tool_calls": False,
180
+ "experimental_supported_tools": [],
181
+ }
182
+
183
+
184
+ def _model_catalog_context_window(model_name: str) -> int:
185
+ return MODEL_CONTEXT_WINDOW_OVERRIDES.get(
186
+ model_name,
187
+ DEFAULT_MODEL_CONTEXT_WINDOW,
188
+ )
189
+
190
+
191
+ def _build_codex_model_catalog_json(model_name: str) -> str:
192
+ deduped_model_names = list(
193
+ dict.fromkeys((model_name, *DEFAULT_MODEL_NAME_LIST))
194
+ )
195
+ payload = {
196
+ "models": [
197
+ _build_model_catalog_item(
198
+ name,
199
+ _model_catalog_context_window(name),
200
+ )
201
+ for name in deduped_model_names
202
+ ]
203
+ }
204
+ return json.dumps(payload, ensure_ascii=False, indent=2)
205
+
206
+
207
+ def _append_code_env_tool_envs(
208
+ envs: list[tools_types.EnvsItemForCreateTool],
209
+ model_name: str,
210
+ ) -> None:
211
+ envs.extend(
212
+ [
213
+ tools_types.EnvsItemForCreateTool(
214
+ Key="OPENCODE_DISABLE_AUTOUPDATE",
215
+ Value="1",
216
+ ),
217
+ tools_types.EnvsItemForCreateTool(
218
+ Key="HOME",
219
+ Value=CODE_ENV_HOME,
220
+ ),
221
+ tools_types.EnvsItemForCreateTool(
222
+ Key="CODEX_HOME",
223
+ Value=CODE_ENV_CODEX_HOME,
224
+ ),
225
+ tools_types.EnvsItemForCreateTool(
226
+ Key="CODEX_CONFIG_TOML",
227
+ Value=_build_codex_config_toml(model_name),
228
+ ),
229
+ tools_types.EnvsItemForCreateTool(
230
+ Key="CODEX_MODEL_CATALOG_JSON",
231
+ Value=_build_codex_model_catalog_json(model_name),
232
+ ),
233
+ ]
234
+ )
235
+
236
+
106
237
  def _build_tool_model_envs(
107
238
  *,
239
+ tool_type: str,
108
240
  model_name: Optional[str] = None,
109
241
  model_api_key: Optional[str] = None,
110
242
  ) -> list[tools_types.EnvsItemForCreateTool] | None:
@@ -124,6 +256,8 @@ def _build_tool_model_envs(
124
256
  DEFAULT_ANTHROPIC_BASE_URL,
125
257
  )
126
258
  _append_tool_envs(envs, DISABLED_SERVICE_ENV_KEYS, "true")
259
+ if tool_type.strip() == DEFAULT_CREATE_TOOL_TYPE:
260
+ _append_code_env_tool_envs(envs, resolved_model_name)
127
261
  return envs or None
128
262
 
129
263
 
@@ -141,20 +275,21 @@ def _build_create_tool_request(
141
275
  tos_mount_config = _build_tos_mount_config(tos_bucket, tos_region)
142
276
 
143
277
  return tools_types.CreateToolRequest(
144
- name=resolved_name,
145
- tool_type=resolved_tool_type,
146
- authorizer_configuration=tools_types.AuthorizerForCreateTool(
147
- key_auth=tools_types.AuthorizerKeyAuthForCreateTool(
148
- api_key_name=generate_apikey_name(),
149
- api_key_location="Header",
278
+ Name=resolved_name,
279
+ ToolType=resolved_tool_type,
280
+ AuthorizerConfiguration=tools_types.AuthorizerForCreateTool(
281
+ KeyAuth=tools_types.AuthorizerKeyAuthForCreateTool(
282
+ ApiKeyName=generate_apikey_name(),
283
+ ApiKeyLocation="Header",
150
284
  )
151
285
  ),
152
- network_configuration=tools_types.NetworkForCreateTool(
153
- enable_public_network=True,
154
- enable_private_network=False,
286
+ NetworkConfiguration=tools_types.NetworkForCreateTool(
287
+ EnablePublicNetwork=True,
288
+ EnablePrivateNetwork=False,
155
289
  ),
156
- tos_mount_config=tos_mount_config,
157
- envs=_build_tool_model_envs(
290
+ TosMountConfig=tos_mount_config,
291
+ Envs=_build_tool_model_envs(
292
+ tool_type=resolved_tool_type,
158
293
  model_name=model_name,
159
294
  model_api_key=model_api_key,
160
295
  ),
@@ -183,18 +318,18 @@ def _to_create_tool_tos_mount_config(
183
318
  mount_config: TOSMountConfig,
184
319
  ) -> tools_types.TosMountForCreateTool:
185
320
  return tools_types.TosMountForCreateTool(
186
- enable_tos=True,
187
- credentials=tools_types.TosMountCredentialsForCreateTool(
188
- access_key_id=mount_config.credentials.access_key_id,
189
- secret_access_key=mount_config.credentials.secret_access_key,
321
+ EnableTos=True,
322
+ Credentials=tools_types.TosMountCredentialsForCreateTool(
323
+ AccessKeyId=mount_config.credentials.access_key_id,
324
+ SecretAccessKey=mount_config.credentials.secret_access_key,
190
325
  ),
191
- mount_points=[
326
+ MountPoints=[
192
327
  tools_types.TosMountMountPointsItemForCreateTool(
193
- bucket_name=mount.bucket_name,
194
- bucket_path=mount.bucket_path,
195
- endpoint=mount.endpoint,
196
- local_mount_path=mount.local_mount_path,
197
- read_only=mount.read_only,
328
+ BucketName=mount.bucket_name,
329
+ BucketPath=mount.bucket_path,
330
+ Endpoint=mount.endpoint,
331
+ LocalMountPath=mount.local_mount_path,
332
+ ReadOnly=mount.read_only,
198
333
  )
199
334
  for mount in mount_config.mount_points
200
335
  ],
@@ -238,7 +373,7 @@ def _wait_for_tool_ready(
238
373
  last_status = None
239
374
 
240
375
  while True:
241
- response = client.get_tool(tools_types.GetToolRequest(tool_id=tool_id))
376
+ response = client.get_tool(tools_types.GetToolRequest(ToolId=tool_id))
242
377
  status = response.status or ""
243
378
  if status != last_status:
244
379
  typer.echo(f"工具状态:{status or 'Unknown'}")
@@ -26,10 +26,21 @@ import termios
26
26
  import threading
27
27
  import tty
28
28
  from contextlib import contextmanager
29
+ from pathlib import Path
29
30
  from typing import Iterator, Optional
30
31
 
31
32
  import typer
32
33
 
34
+ from agentkit.toolkit.cli.sandbox.cli_file import (
35
+ _build_remote_extract_command,
36
+ _create_upload_archive,
37
+ _create_sources_upload_archive,
38
+ _exec_shell_command,
39
+ _new_remote_archive_path,
40
+ _normalize_workspace,
41
+ _resolve_sandbox_path,
42
+ _upload_remote_file,
43
+ )
33
44
  from agentkit.toolkit.cli.sandbox.session_create import (
34
45
  SANDBOX_TOOL_ID_ENV,
35
46
  build_model_envs,
@@ -46,6 +57,7 @@ from agentkit.toolkit.cli.sandbox.utils import (
46
57
  DETACH_SEQUENCE = b"\x1d"
47
58
  DETACH_HINT = "Ctrl-]"
48
59
  LOCAL_EXIT_COMMANDS = {"exit", "exit()"}
60
+ DEFAULT_EXEC_WORKSPACE = "/home/gem"
49
61
 
50
62
 
51
63
  def _terminal_size() -> dict[str, int]:
@@ -232,10 +244,95 @@ def _connect_terminal(
232
244
  signal.signal(sigwinch, previous_sigwinch)
233
245
 
234
246
 
247
+ def _resolve_exec_dst_dir(
248
+ *,
249
+ workspace: Optional[str],
250
+ dst_dir: Optional[str],
251
+ ) -> str:
252
+ resolved_workspace = _normalize_workspace(workspace) or DEFAULT_EXEC_WORKSPACE
253
+ raw_dst_dir = (dst_dir or "").strip()
254
+ if not raw_dst_dir:
255
+ return resolved_workspace
256
+ if raw_dst_dir.startswith("/"):
257
+ error("--dst-dir must be relative to --workspace")
258
+ return _resolve_sandbox_path(
259
+ raw_dst_dir,
260
+ workspace=resolved_workspace,
261
+ option_name="--dst-dir",
262
+ )
263
+
264
+
265
+ def _resolve_exec_upload_sources(src_dirs: list[Path]) -> list[Path]:
266
+ resolved_sources = []
267
+ seen_names: set[str] = set()
268
+ for src_dir in src_dirs:
269
+ if not src_dir.exists():
270
+ error(f"Source path not found: {src_dir}")
271
+ if not src_dir.is_dir() and not src_dir.is_file():
272
+ error(f"Source path is not a file or directory: {src_dir}")
273
+ if src_dir.name in seen_names:
274
+ error(f"Duplicate source name: {src_dir.name}")
275
+ seen_names.add(src_dir.name)
276
+ resolved_sources.append(src_dir)
277
+ return resolved_sources
278
+
279
+
280
+ def _collect_exec_upload_sources(
281
+ ctx: typer.Context,
282
+ src_dir: Optional[Path],
283
+ ) -> list[Path]:
284
+ src_dirs = [Path(value) for value in ctx.args]
285
+ if src_dirs and not src_dir:
286
+ error("Additional source paths require --src-dir")
287
+ if src_dir:
288
+ src_dirs.insert(0, src_dir)
289
+ return src_dirs
290
+
291
+
292
+ def _upload_source_before_exec(
293
+ session: dict[str, object],
294
+ *,
295
+ workspace: Optional[str],
296
+ src_dirs: list[Path],
297
+ dst_dir: Optional[str],
298
+ ) -> str:
299
+ resolved_dst_dir = _resolve_exec_dst_dir(
300
+ workspace=workspace,
301
+ dst_dir=dst_dir,
302
+ )
303
+ resolved_sources = _resolve_exec_upload_sources(src_dirs)
304
+ if len(resolved_sources) == 1 and resolved_sources[0].is_dir():
305
+ archive_path = _create_upload_archive(
306
+ upload_dir=resolved_sources[0],
307
+ upload_files=[],
308
+ )
309
+ else:
310
+ archive_path = _create_sources_upload_archive(resolved_sources)
311
+ remote_archive_path = _new_remote_archive_path("agentkit-upload")
312
+ try:
313
+ _upload_remote_file(
314
+ session,
315
+ local_path=archive_path,
316
+ remote_path=remote_archive_path,
317
+ )
318
+ _exec_shell_command(
319
+ session,
320
+ _build_remote_extract_command(
321
+ archive_path=remote_archive_path,
322
+ dst_dir=resolved_dst_dir,
323
+ ),
324
+ )
325
+ finally:
326
+ archive_path.unlink(missing_ok=True)
327
+ return resolved_dst_dir
328
+
329
+
235
330
  def exec_command(
331
+ ctx: typer.Context,
236
332
  session_id: Optional[str] = typer.Option(
237
333
  None,
238
334
  "--session-id",
335
+ "--sid",
239
336
  help=(
240
337
  "Sandbox session ID. Defaults to a generated UUID and creates "
241
338
  "a sandbox session when needed."
@@ -264,6 +361,29 @@ def exec_command(
264
361
  "--shell-id",
265
362
  help="Existing shell terminal ID to connect to.",
266
363
  ),
364
+ workspace: str = typer.Option(
365
+ DEFAULT_EXEC_WORKSPACE,
366
+ "--workspace",
367
+ help=(
368
+ "Sandbox workspace root. Relative --dst-dir values are "
369
+ "resolved inside this directory."
370
+ ),
371
+ ),
372
+ src_dir: Optional[Path] = typer.Option(
373
+ None,
374
+ "--src-dir",
375
+ help=(
376
+ "Local file or directory to upload before opening the exec session."
377
+ ),
378
+ ),
379
+ dst_dir: Optional[str] = typer.Option(
380
+ None,
381
+ "--dst-dir",
382
+ help=(
383
+ "Relative sandbox destination directory for --src-dir. Defaults "
384
+ "to --workspace."
385
+ ),
386
+ ),
267
387
  model_name: Optional[str] = typer.Option(
268
388
  None,
269
389
  "--model-name",
@@ -301,6 +421,20 @@ def exec_command(
301
421
  if not isinstance(session_id, str) or not session_id:
302
422
  error("Sandbox session missing session_id")
303
423
 
424
+ try:
425
+ src_dirs = _collect_exec_upload_sources(ctx, src_dir)
426
+ if src_dirs:
427
+ _upload_source_before_exec(
428
+ session,
429
+ workspace=workspace,
430
+ src_dirs=src_dirs,
431
+ dst_dir=dst_dir,
432
+ )
433
+ except typer.Exit:
434
+ raise
435
+ except Exception as exc:
436
+ error(str(exc))
437
+
304
438
  ws_url = build_terminal_ws_url(session.get("endpoint"), shell_id=shell_id)
305
439
  initial_command = command
306
440