adk-code-mode 1.0.0__tar.gz → 1.1.0__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 (76) hide show
  1. adk_code_mode-1.1.0/.release-please-manifest.json +3 -0
  2. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/CHANGELOG.md +7 -0
  3. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/PKG-INFO +1 -1
  4. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/src/adk_code_mode_sandbox/__about__.py +1 -1
  5. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/__about__.py +1 -1
  6. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/tool.py +14 -0
  7. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_tool.py +10 -0
  8. adk_code_mode-1.0.0/.release-please-manifest.json +0 -3
  9. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/.githooks/pre-commit +0 -0
  10. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/.githooks/pre-push +0 -0
  11. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/.github/workflows/ci.yml +0 -0
  12. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/.github/workflows/release-please.yml +0 -0
  13. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/.gitignore +0 -0
  14. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/.prettierrc +0 -0
  15. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/.vscode/settings.json +0 -0
  16. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/.zed/settings.json +0 -0
  17. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/AGENTS.md +0 -0
  18. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/CLAUDE.md +0 -0
  19. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/LICENSE +0 -0
  20. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/Makefile +0 -0
  21. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/README.md +0 -0
  22. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/docker/Dockerfile +0 -0
  23. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/pyproject.toml +0 -0
  24. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/release-please-config.json +0 -0
  25. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/README.md +0 -0
  26. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/pyproject.toml +0 -0
  27. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/src/adk_code_mode_sandbox/__init__.py +0 -0
  28. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/src/adk_code_mode_sandbox/__main__.py +0 -0
  29. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/src/adk_code_mode_sandbox/_entry.py +0 -0
  30. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/src/adk_code_mode_sandbox/_http_server.py +0 -0
  31. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/src/adk_code_mode_sandbox/_rpc_client.py +0 -0
  32. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/sandbox-wheel/src/adk_code_mode_sandbox/protocol.py +0 -0
  33. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/scripts/install-git-hooks.sh +0 -0
  34. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/__init__.py +0 -0
  35. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/_artifact_tools.py +0 -0
  36. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/output.py +0 -0
  37. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/py.typed +0 -0
  38. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/runtime/__init__.py +0 -0
  39. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/runtime/base.py +0 -0
  40. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/runtime/docker.py +0 -0
  41. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/runtime/protocol.py +0 -0
  42. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/runtime/remote.py +0 -0
  43. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/tool_result_artifacts.py +0 -0
  44. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/tools/__init__.py +0 -0
  45. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/tools/catalog.py +0 -0
  46. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/tools/dispatcher.py +0 -0
  47. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/tools/namespacing.py +0 -0
  48. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/tools/normaliser.py +0 -0
  49. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/tools/stubs.py +0 -0
  50. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/workspace/__init__.py +0 -0
  51. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/src/adk_code_mode/workspace/files.py +0 -0
  52. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/__init__.py +0 -0
  53. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/_docker_helpers.py +0 -0
  54. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/_fake_runtime.py +0 -0
  55. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/conftest.py +0 -0
  56. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_agent_with_fake_llm.py +0 -0
  57. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_artifact_tools.py +0 -0
  58. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_catalog.py +0 -0
  59. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_dispatcher.py +0 -0
  60. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_docker_image.py +0 -0
  61. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_docker_integration.py +0 -0
  62. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_host_loop.py +0 -0
  63. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_integration.py +0 -0
  64. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_namespacing.py +0 -0
  65. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_normaliser.py +0 -0
  66. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_output.py +0 -0
  67. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_protocol.py +0 -0
  68. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_remote_backend.py +0 -0
  69. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_remote_integration.py +0 -0
  70. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_runtime_docker.py +0 -0
  71. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_sandbox_rpc_client.py +0 -0
  72. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_stubs.py +0 -0
  73. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_tool_result_artifacts.py +0 -0
  74. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_version.py +0 -0
  75. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/tests/test_workspace_files.py +0 -0
  76. {adk_code_mode-1.0.0 → adk_code_mode-1.1.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.1.0"
3
+ }
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.0](https://github.com/a2anet/adk-code-mode/compare/adk-code-mode-v1.0.0...adk-code-mode-v1.1.0) (2026-07-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * expose `tools` and `backend` as public properties on `ExecuteCodeTool` ([acfb704](https://github.com/a2anet/adk-code-mode/commit/acfb704d388da5d66e318775e03fe055467679c2))
9
+
3
10
  ## [1.0.0](https://github.com/a2anet/adk-code-mode/compare/adk-code-mode-v0.4.1...adk-code-mode-v1.0.0) (2026-07-15)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: adk-code-mode
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: A "Code Mode" sandboxed code-execution tool for ADK agents to interact with tools, files, and custom packages with Python
5
5
  Project-URL: Documentation, https://github.com/A2ANet/adk-code-mode#readme
6
6
  Project-URL: Issues, https://github.com/A2ANet/adk-code-mode/issues
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2025-present A2A Net <hello@a2anet.com>
2
2
  #
3
3
  # SPDX-License-Identifier: Apache-2.0
4
- __version__ = "1.0.0" # x-release-please-version
4
+ __version__ = "1.1.0" # x-release-please-version
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2025-present A2A Net <hello@a2anet.com>
2
2
  #
3
3
  # SPDX-License-Identifier: Apache-2.0
4
- __version__ = "1.0.0" # x-release-please-version
4
+ __version__ = "1.1.0" # x-release-please-version
@@ -294,6 +294,20 @@ class ExecuteCodeTool(BaseTool):
294
294
  if eager_resolved:
295
295
  namespacing.build(eager_resolved)
296
296
 
297
+ @property
298
+ def tools(self) -> Sequence[BaseTool | BaseToolset]:
299
+ """Tools and toolsets available inside the sandbox, including built-in artifact tools.
300
+
301
+ Host apps that own a toolset's lifecycle (e.g. an ``McpToolset`` needing
302
+ ``close()`` on shutdown) need this to find it again after construction.
303
+ """
304
+ return self._tools
305
+
306
+ @property
307
+ def backend(self) -> SandboxBackend:
308
+ """The configured sandbox runtime backend."""
309
+ return self._backend
310
+
297
311
  def _get_declaration(self) -> genai_types.FunctionDeclaration | None:
298
312
  return genai_types.FunctionDeclaration(
299
313
  name=self.name,
@@ -69,6 +69,16 @@ def test_declaration_exposes_a_single_code_parameter() -> None:
69
69
  assert decl.parameters_json_schema["required"] == ["code"]
70
70
 
71
71
 
72
+ def test_tools_and_backend_properties_expose_the_configured_surface() -> None:
73
+ schema_tool = _SchemaTool("ping", "Ping.")
74
+ backend = FakeRuntime()
75
+
76
+ tool = ExecuteCodeTool(tools=[schema_tool], backend=backend)
77
+
78
+ assert schema_tool in tool.tools
79
+ assert tool.backend is backend
80
+
81
+
72
82
  @pytest.mark.asyncio
73
83
  async def test_process_llm_request_declares_the_tool() -> None:
74
84
  tool = _make_tool([])
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.0.0"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes