databricks-agentbricks 0.7.0__tar.gz → 0.7.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 (216) hide show
  1. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/PKG-INFO +33 -14
  2. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/README.md +32 -13
  3. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/pyproject.toml +1 -1
  4. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/mcp.py +1 -1
  5. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/tools.py +23 -11
  6. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/help.py +5 -10
  7. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/projects/agent_project.py +17 -10
  8. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/pyproject.toml +1 -1
  9. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/pyproject.toml +1 -1
  10. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/pyproject.toml +1 -1
  11. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/pyproject.toml +1 -1
  12. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/tool_manifest.py +16 -2
  13. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/.gitignore +0 -0
  14. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/NOTICE +0 -0
  15. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/__init__.py +0 -0
  16. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/agent_hint.py +0 -0
  17. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/__init__.py +0 -0
  18. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/__main__.py +0 -0
  19. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/app.py +0 -0
  20. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/auth.py +0 -0
  21. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/deploy.py +0 -0
  22. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/dev.py +0 -0
  23. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/doctor.py +0 -0
  24. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/endpoint.py +0 -0
  25. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/experimental.py +0 -0
  26. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/init.py +0 -0
  27. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/memory.py +0 -0
  28. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/models.py +0 -0
  29. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/pipeline.py +0 -0
  30. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/prompts.py +0 -0
  31. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/sandbox.py +0 -0
  32. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/sessions.py +0 -0
  33. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/telemetry.py +0 -0
  34. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/cli/tracing.py +0 -0
  35. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/__init__.py +0 -0
  36. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/api_client_provider.py +0 -0
  37. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/apps_client.py +0 -0
  38. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/apps_user_auth_client.py +0 -0
  39. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/conversation_store_client.py +0 -0
  40. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/databricks_cli.py +0 -0
  41. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/legacy_runtime_store.py +0 -0
  42. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/local_ports.py +0 -0
  43. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/local_tracing_client.py +0 -0
  44. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/managed_runtime_store.py +0 -0
  45. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/mlflow_trace_client.py +0 -0
  46. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/clients/tracing_client.py +0 -0
  47. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/errors.py +0 -0
  48. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/model_upgrade.py +0 -0
  49. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/__init__.py +0 -0
  50. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/deploy.py +0 -0
  51. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/dev.py +0 -0
  52. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/endpoint.py +0 -0
  53. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/group.py +0 -0
  54. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/render.py +0 -0
  55. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/reporter.py +0 -0
  56. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/theme.py +0 -0
  57. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/presentation/tracing.py +0 -0
  58. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/projects/__init__.py +0 -0
  59. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/projects/app_manifest.py +0 -0
  60. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/projects/config.py +0 -0
  61. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/projects/resolver.py +0 -0
  62. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/projects/types.py +0 -0
  63. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/py.typed +0 -0
  64. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/reporting.py +0 -0
  65. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/__init__.py +0 -0
  66. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deploy_service.py +0 -0
  67. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/__init__.py +0 -0
  68. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/app_provisioner.py +0 -0
  69. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/config.py +0 -0
  70. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/deploy_state.py +0 -0
  71. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/model_binding_provisioner.py +0 -0
  72. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/names.py +0 -0
  73. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/provisioners.py +0 -0
  74. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/tool_access.py +0 -0
  75. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/deployment/tool_access_provisioner.py +0 -0
  76. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/dev_service.py +0 -0
  77. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/invoke/__init__.py +0 -0
  78. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/invoke/auth.py +0 -0
  79. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/invoke/request.py +0 -0
  80. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/invoke/transport.py +0 -0
  81. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/invoke_service.py +0 -0
  82. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/tracing/__init__.py +0 -0
  83. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/tracing/targets.py +0 -0
  84. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/services/tracing_service.py +0 -0
  85. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/skills.py +0 -0
  86. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-bricks-migrate/SKILL.md +0 -0
  87. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-bricks-workflow/SKILL.md +0 -0
  88. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-bricks-workflow/references/deployment.md +0 -0
  89. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-bricks-workflow/references/state-and-tools.md +0 -0
  90. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/.env.example +0 -0
  91. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/.gitignore +0 -0
  92. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/AGENTKIT_CONTRACT.md +0 -0
  93. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/AGENTS.md +0 -0
  94. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/CLAUDE.md +0 -0
  95. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/README.md +0 -0
  96. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/agent/__init__.py +0 -0
  97. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/agent/agent.py +0 -0
  98. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/agent/mcps.py +0 -0
  99. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/agent/tools/__init__.py +0 -0
  100. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/agent/tools/sample_tool.py +0 -0
  101. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/agent/tools/send_message.py +0 -0
  102. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/app.yaml +0 -0
  103. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/runtime/__init__.py +0 -0
  104. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/runtime/adapter.py +0 -0
  105. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/runtime/main.py +0 -0
  106. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/tests/__init__.py +0 -0
  107. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/tests/test_agent.py +0 -0
  108. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/tests/test_runtime.py +0 -0
  109. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-langgraph/tests/test_workspace.py +0 -0
  110. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/.env.example +0 -0
  111. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/.gitignore +0 -0
  112. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/AGENTKIT_CONTRACT.md +0 -0
  113. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/AGENTS.md +0 -0
  114. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/CLAUDE.md +0 -0
  115. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/README.md +0 -0
  116. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/agent/__init__.py +0 -0
  117. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/agent/agent.py +0 -0
  118. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/agent/checkpoints.py +0 -0
  119. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/agent/mcps.py +0 -0
  120. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/agent/tools/__init__.py +0 -0
  121. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/agent/tools/sample_tool.py +0 -0
  122. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/agent/tools/send_message.py +0 -0
  123. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/app.yaml +0 -0
  124. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/runtime/__init__.py +0 -0
  125. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/runtime/adapter.py +0 -0
  126. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/runtime/main.py +0 -0
  127. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/tests/__init__.py +0 -0
  128. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/tests/test_agent.py +0 -0
  129. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/tests/test_checkpoints.py +0 -0
  130. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/tests/test_runtime.py +0 -0
  131. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/agent-openai/tests/test_workspace.py +0 -0
  132. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/.env.example +0 -0
  133. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/.gitignore +0 -0
  134. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/README.md +0 -0
  135. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/agent/__init__.py +0 -0
  136. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/agent/agent.py +0 -0
  137. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/app.yaml +0 -0
  138. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/runtime/__init__.py +0 -0
  139. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/runtime/main.py +0 -0
  140. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-langgraph/tests/test_runtime.py +0 -0
  141. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/.env.example +0 -0
  142. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/.gitignore +0 -0
  143. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/README.md +0 -0
  144. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/agent/__init__.py +0 -0
  145. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/agent/agent.py +0 -0
  146. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/app.yaml +0 -0
  147. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/runtime/__init__.py +0 -0
  148. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/runtime/main.py +0 -0
  149. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/custom-agent-openai/tests/test_runtime.py +0 -0
  150. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/sandbox_mcp.py +0 -0
  151. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/sandbox_mcp_langgraph.py +0 -0
  152. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/CHAT_APP.md +0 -0
  153. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/runtime/main.py +0 -0
  154. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/runtime/ui.py +0 -0
  155. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/tests/test_demo_ui.py +0 -0
  156. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/ui/agentbricks-mark.png +0 -0
  157. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/ui/app.js +0 -0
  158. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/ui/index.html +0 -0
  159. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/ui/markdown-it-15.0.2.min.js +0 -0
  160. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-langgraph/ui/styles.css +0 -0
  161. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/CHAT_APP.md +0 -0
  162. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/runtime/main.py +0 -0
  163. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/runtime/ui.py +0 -0
  164. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/tests/test_demo_ui.py +0 -0
  165. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/ui/agentbricks-mark.png +0 -0
  166. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/ui/app.js +0 -0
  167. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/ui/index.html +0 -0
  168. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/ui/markdown-it-15.0.2.min.js +0 -0
  169. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentbricks/templates/ui/agent-openai/ui/styles.css +0 -0
  170. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/__init__.py +0 -0
  171. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/_api_client.py +0 -0
  172. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/_pagination.py +0 -0
  173. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/client.py +0 -0
  174. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/langgraph/__init__.py +0 -0
  175. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/langgraph/genie.py +0 -0
  176. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/langgraph/history.py +0 -0
  177. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/langgraph/mcp.py +0 -0
  178. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/langgraph/memory.py +0 -0
  179. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/langgraph/responses.py +0 -0
  180. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/langgraph/session_store.py +0 -0
  181. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/memory_store.py +0 -0
  182. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/model_upgrades/__init__.py +0 -0
  183. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/model_upgrades/optimization.py +0 -0
  184. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/models.py +0 -0
  185. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/openai/__init__.py +0 -0
  186. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/openai/genie.py +0 -0
  187. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/openai/history.py +0 -0
  188. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/openai/mcp.py +0 -0
  189. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/openai/memory.py +0 -0
  190. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/openai/sessions.py +0 -0
  191. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/py.typed +0 -0
  192. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/ARCHITECTURE.md +0 -0
  193. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/README.md +0 -0
  194. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/__init__.py +0 -0
  195. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/app.py +0 -0
  196. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/auth.py +0 -0
  197. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/cors.py +0 -0
  198. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/durability/__init__.py +0 -0
  199. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/durability/execution.py +0 -0
  200. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/durability/heartbeat.py +0 -0
  201. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/durability/lakebase_runtime_store.py +0 -0
  202. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/durability/recovery.py +0 -0
  203. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/durability/store.py +0 -0
  204. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/execution.py +0 -0
  205. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/genie.py +0 -0
  206. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/mcp_auth.py +0 -0
  207. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/model_services.py +0 -0
  208. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/prompt_registry.py +0 -0
  209. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/runtime.py +0 -0
  210. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/session_store_client.py +0 -0
  211. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/store.py +0 -0
  212. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/tracing.py +0 -0
  213. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/types.py +0 -0
  214. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/runtime/workspace.py +0 -0
  215. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/session_store.py +0 -0
  216. {databricks_agentbricks-0.7.0 → databricks_agentbricks-0.7.1}/src/databricks_agentkit/timefmt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: databricks-agentbricks
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: Agent Bricks CLI and AgentKit SDK for custom agents on Databricks
5
5
  Author-email: Databricks <agent-feedback@databricks.com>
6
6
  License-File: NOTICE
@@ -837,7 +837,7 @@ agentbricks [-p <profile>] [-o text|json]
837
837
  unbind [--source PATH]
838
838
  list | get [--experiment-name NAME | --experiment-id ID] [--source PATH]
839
839
  tools
840
- add sandbox --scope SCOPE [--scope SCOPE ...]
840
+ add sandbox [--name NAME] [--auth user|app]
841
841
  [--no-databricks-access-token-included] [--source PATH]
842
842
  add mcp SERVICE [--name NAME] [--source PATH]
843
843
  add uc-function FUNCTION [--name NAME] [--auth user|app] [--source PATH]
@@ -987,7 +987,7 @@ add` updates only this file; direct TOML edits have the same behavior. Both mana
987
987
  adapters read the managed bindings at runtime without generating or patching agent source:
988
988
 
989
989
  ```sh
990
- agentbricks tools add sandbox --scope volume:main.data.files
990
+ agentbricks tools add sandbox
991
991
  agentbricks tools add mcp system.ai.web_search
992
992
  agentbricks tools add uc-function catalog.schema.lookup_ticket
993
993
  agentbricks tools add genie-one
@@ -1184,9 +1184,9 @@ points to that project's file. JSON add output includes its path in `manifest`.
1184
1184
 
1185
1185
  `agentbricks tools list` discovers **available integrations to add**, not configured bindings. By default
1186
1186
  it shows built-in add recipes and caller-visible MCP Services in `system.ai`. A recipe may still
1187
- need your resources: sandbox scopes, a concrete UC function name, or a Genie Space ID. Genie One
1188
- needs no additional argument. `system.ai.sandbox` is represented by its scoped recipe rather than
1189
- a second unscoped add command. The list does not enumerate every workspace schema, individual
1187
+ need your resources: a concrete UC function name or a Genie Space ID. Sandbox and Genie One need no
1188
+ additional argument. `system.ai.sandbox` is represented by the `tools add sandbox` recipe rather
1189
+ than a generic `tools add mcp` command. The list does not enumerate every workspace schema, individual
1190
1190
  operations inside MCP services, or custom Python tools.
1191
1191
 
1192
1192
  `agentbricks tools add mcp` looks up the service in the selected workspace before writing `agent.toml`.
@@ -1246,22 +1246,41 @@ If a manifest with `server = "agentbricks"` contains `source = { kind = "python"
1246
1246
  `[[tools]]` entry; the decorated tool in `agent/tools/` remains active. `agentbricks dev` and `agentbricks deploy`
1247
1247
  do not generate or patch Python tool code, and do not alter the manifest's `[[tools]]` bindings.
1248
1248
 
1249
- Sandbox scopes support volumes only and default to read-only access. Repeat `--scope` to allow more
1250
- than one volume, use `volume:catalog.schema.volume`, and use `--permission read_write` only when the
1251
- agent needs writes. Every sandbox call carries this fixed downscope in MCP `_meta`, outside the tool
1252
- arguments controlled by the model. New sandbox bindings also expose the selected Databricks
1253
- credential to sandbox code by default:
1249
+ Sandbox code runs with the selected identity's own Unity Catalog access: the request user for
1250
+ `auth = "user"` (the default) or the App service principal for `auth = "app"`. Grant that identity
1251
+ only the data the agent needs. New sandbox bindings also expose the selected Databricks credential to
1252
+ sandbox code by default:
1254
1253
 
1255
1254
  ```toml
1256
1255
  [[tools]]
1257
1256
  id = "sandbox"
1258
1257
  auth = "user"
1259
1258
  source = { kind = "sandbox", service = "system.ai.sandbox" }
1260
- policy = { downscope = [{ resource = "volume:main.data.files", permission = "read_only" }], databricks_access_token_included = true }
1259
+ policy = { databricks_access_token_included = true }
1261
1260
  ```
1262
1261
 
1263
- Table sandbox scopes are not supported yet because Databricks Connect does not support table
1264
- downscoping. Workspace sandbox scopes are also not supported yet; they have not been validated
1262
+ Every sandbox call carries this fixed policy in MCP `_meta`, outside the tool arguments controlled
1263
+ by the model, with an empty `downscope`.
1264
+
1265
+ Sandbox resource scopes are not supported: the Sandbox API backend of `system.ai.sandbox` rejects any
1266
+ non-empty `_meta.downscope`. The scoping implementation (`--scope`, `--permission`, and
1267
+ `policy.downscope`) is retained behind a disabled code-level gate, `SANDBOX_DOWNSCOPE_ENABLED`, so it
1268
+ can be enabled when the backend supports resource policies. There is no CLI option to bypass that
1269
+ gate. While it is disabled, `agentbricks tools add sandbox --scope ...` fails without changing the
1270
+ project, and `agentbricks dev`, `agentbricks deploy`, and the runtime reject a manifest that still
1271
+ declares `policy.downscope`:
1272
+
1273
+ ```text
1274
+ Tool 'sandbox' declares policy.downscope, which system.ai.sandbox does not support: sandbox code
1275
+ runs with the selected identity's own Unity Catalog access. Remove policy.downscope from the
1276
+ [[tools]] entry with id = 'sandbox' in agent.toml.
1277
+ ```
1278
+
1279
+ To fix an existing project, delete the `downscope = [...]` entry from that tool's `policy` table and
1280
+ keep `databricks_access_token_included`. Then grant the sandbox identity access to the data it needs.
1281
+
1282
+ When scopes are enabled, table sandbox scopes remain unsupported because Databricks Connect does not
1283
+ support table downscoping. Workspace sandbox scopes are also not supported yet; they have not been validated
1265
1284
  against a live workspace. Use a volume instead. Existing `table:` and `workspace:` entries must be
1266
1285
  removed from `agent.toml` before using `agentbricks dev` or `agentbricks deploy`.
1267
1286
 
@@ -796,7 +796,7 @@ agentbricks [-p <profile>] [-o text|json]
796
796
  unbind [--source PATH]
797
797
  list | get [--experiment-name NAME | --experiment-id ID] [--source PATH]
798
798
  tools
799
- add sandbox --scope SCOPE [--scope SCOPE ...]
799
+ add sandbox [--name NAME] [--auth user|app]
800
800
  [--no-databricks-access-token-included] [--source PATH]
801
801
  add mcp SERVICE [--name NAME] [--source PATH]
802
802
  add uc-function FUNCTION [--name NAME] [--auth user|app] [--source PATH]
@@ -946,7 +946,7 @@ add` updates only this file; direct TOML edits have the same behavior. Both mana
946
946
  adapters read the managed bindings at runtime without generating or patching agent source:
947
947
 
948
948
  ```sh
949
- agentbricks tools add sandbox --scope volume:main.data.files
949
+ agentbricks tools add sandbox
950
950
  agentbricks tools add mcp system.ai.web_search
951
951
  agentbricks tools add uc-function catalog.schema.lookup_ticket
952
952
  agentbricks tools add genie-one
@@ -1143,9 +1143,9 @@ points to that project's file. JSON add output includes its path in `manifest`.
1143
1143
 
1144
1144
  `agentbricks tools list` discovers **available integrations to add**, not configured bindings. By default
1145
1145
  it shows built-in add recipes and caller-visible MCP Services in `system.ai`. A recipe may still
1146
- need your resources: sandbox scopes, a concrete UC function name, or a Genie Space ID. Genie One
1147
- needs no additional argument. `system.ai.sandbox` is represented by its scoped recipe rather than
1148
- a second unscoped add command. The list does not enumerate every workspace schema, individual
1146
+ need your resources: a concrete UC function name or a Genie Space ID. Sandbox and Genie One need no
1147
+ additional argument. `system.ai.sandbox` is represented by the `tools add sandbox` recipe rather
1148
+ than a generic `tools add mcp` command. The list does not enumerate every workspace schema, individual
1149
1149
  operations inside MCP services, or custom Python tools.
1150
1150
 
1151
1151
  `agentbricks tools add mcp` looks up the service in the selected workspace before writing `agent.toml`.
@@ -1205,22 +1205,41 @@ If a manifest with `server = "agentbricks"` contains `source = { kind = "python"
1205
1205
  `[[tools]]` entry; the decorated tool in `agent/tools/` remains active. `agentbricks dev` and `agentbricks deploy`
1206
1206
  do not generate or patch Python tool code, and do not alter the manifest's `[[tools]]` bindings.
1207
1207
 
1208
- Sandbox scopes support volumes only and default to read-only access. Repeat `--scope` to allow more
1209
- than one volume, use `volume:catalog.schema.volume`, and use `--permission read_write` only when the
1210
- agent needs writes. Every sandbox call carries this fixed downscope in MCP `_meta`, outside the tool
1211
- arguments controlled by the model. New sandbox bindings also expose the selected Databricks
1212
- credential to sandbox code by default:
1208
+ Sandbox code runs with the selected identity's own Unity Catalog access: the request user for
1209
+ `auth = "user"` (the default) or the App service principal for `auth = "app"`. Grant that identity
1210
+ only the data the agent needs. New sandbox bindings also expose the selected Databricks credential to
1211
+ sandbox code by default:
1213
1212
 
1214
1213
  ```toml
1215
1214
  [[tools]]
1216
1215
  id = "sandbox"
1217
1216
  auth = "user"
1218
1217
  source = { kind = "sandbox", service = "system.ai.sandbox" }
1219
- policy = { downscope = [{ resource = "volume:main.data.files", permission = "read_only" }], databricks_access_token_included = true }
1218
+ policy = { databricks_access_token_included = true }
1220
1219
  ```
1221
1220
 
1222
- Table sandbox scopes are not supported yet because Databricks Connect does not support table
1223
- downscoping. Workspace sandbox scopes are also not supported yet; they have not been validated
1221
+ Every sandbox call carries this fixed policy in MCP `_meta`, outside the tool arguments controlled
1222
+ by the model, with an empty `downscope`.
1223
+
1224
+ Sandbox resource scopes are not supported: the Sandbox API backend of `system.ai.sandbox` rejects any
1225
+ non-empty `_meta.downscope`. The scoping implementation (`--scope`, `--permission`, and
1226
+ `policy.downscope`) is retained behind a disabled code-level gate, `SANDBOX_DOWNSCOPE_ENABLED`, so it
1227
+ can be enabled when the backend supports resource policies. There is no CLI option to bypass that
1228
+ gate. While it is disabled, `agentbricks tools add sandbox --scope ...` fails without changing the
1229
+ project, and `agentbricks dev`, `agentbricks deploy`, and the runtime reject a manifest that still
1230
+ declares `policy.downscope`:
1231
+
1232
+ ```text
1233
+ Tool 'sandbox' declares policy.downscope, which system.ai.sandbox does not support: sandbox code
1234
+ runs with the selected identity's own Unity Catalog access. Remove policy.downscope from the
1235
+ [[tools]] entry with id = 'sandbox' in agent.toml.
1236
+ ```
1237
+
1238
+ To fix an existing project, delete the `downscope = [...]` entry from that tool's `policy` table and
1239
+ keep `databricks_access_token_included`. Then grant the sandbox identity access to the data it needs.
1240
+
1241
+ When scopes are enabled, table sandbox scopes remain unsupported because Databricks Connect does not
1242
+ support table downscoping. Workspace sandbox scopes are also not supported yet; they have not been validated
1224
1243
  against a live workspace. Use a volume instead. Existing `table:` and `workspace:` entries must be
1225
1244
  removed from `agent.toml` before using `agentbricks dev` or `agentbricks deploy`.
1226
1245
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "databricks-agentbricks"
3
- version = "0.7.0"
3
+ version = "0.7.1"
4
4
  description = "Agent Bricks CLI and AgentKit SDK for custom agents on Databricks"
5
5
  authors = [
6
6
  { name="Databricks", email="agent-feedback@databricks.com" },
@@ -71,5 +71,5 @@ def _list_services(client: Any, schema: str) -> list[dict[str, str]]:
71
71
 
72
72
  def _add_command(service: str) -> str:
73
73
  if service == "system.ai.sandbox":
74
- return "agentbricks tools add sandbox --scope volume:catalog.schema.volume"
74
+ return "agentbricks tools add sandbox"
75
75
  return f"agentbricks tools add mcp {service}"
@@ -14,6 +14,7 @@ from databricks_agentbricks.presentation import render
14
14
  from databricks_agentbricks.presentation.help import _example_epilog
15
15
  from databricks_agentbricks.projects.agent_project import AgentProject, Scope, ToolSpec
16
16
  from databricks_agentbricks.projects.config import require_managed_tool_support
17
+ from databricks_agentkit.runtime import tool_manifest
17
18
 
18
19
 
19
20
  def _identifier(value: str) -> str:
@@ -104,13 +105,21 @@ def add_sandbox_to_manifest(
104
105
  obj: Any,
105
106
  source: pathlib.Path,
106
107
  scopes: tuple[str, ...],
107
- permission: str,
108
+ permission: str | None,
108
109
  *,
109
110
  tool_id: str = "sandbox",
110
111
  auth: Literal["user", "app"] = "user",
111
112
  databricks_access_token_included: bool = True,
112
113
  ) -> None:
113
114
  """Shared implementation for the nested command and compatibility alias."""
115
+ if not tool_manifest.SANDBOX_DOWNSCOPE_ENABLED and (scopes or permission is not None):
116
+ raise AgentCliError(
117
+ "--scope and --permission are not supported for sandbox tools.",
118
+ hint="system.ai.sandbox does not accept resource scopes; sandbox code runs with the "
119
+ "selected identity's own Unity Catalog access. Run `agentbricks tools add sandbox` "
120
+ "without --scope or --permission.",
121
+ )
122
+ permission = permission or "read_only"
114
123
  parsed: list[Scope] = []
115
124
  seen: set[tuple[str, str]] = set()
116
125
  for value in scopes:
@@ -140,8 +149,8 @@ def tools() -> None:
140
149
  wire it in. `agentbricks tools add` manages these Databricks-managed tool types:
141
150
 
142
151
  \b
143
- sandbox Query Unity Catalog data via system.ai.sandbox, scoped
144
- to the volumes you choose.
152
+ sandbox Run code in a Databricks sandbox (system.ai.sandbox) with
153
+ the selected identity's Unity Catalog access.
145
154
  mcp A Databricks-managed MCP service (see `agentbricks tools list --kind mcp`),
146
155
  e.g. system.ai.web_search.
147
156
  uc-function An existing Unity Catalog function (catalog.schema.function).
@@ -183,14 +192,15 @@ def _source_option(function):
183
192
  "--scope",
184
193
  "scopes",
185
194
  multiple=True,
186
- required=True,
195
+ hidden=not tool_manifest.SANDBOX_DOWNSCOPE_ENABLED,
187
196
  help="Allowed volume: resource. Repeat for multiple scopes.",
188
197
  )
189
198
  @click.option(
190
199
  "--permission",
191
200
  type=click.Choice(["read_only", "read_write"]),
192
- default="read_only",
193
- show_default=True,
201
+ default=None,
202
+ hidden=not tool_manifest.SANDBOX_DOWNSCOPE_ENABLED,
203
+ help="Access for every --scope resource (default: read_only).",
194
204
  )
195
205
  @click.option("--name", "tool_id", default="sandbox", show_default=True)
196
206
  @click.option("--auth", type=click.Choice(["user", "app"]), default="user", show_default=True)
@@ -205,15 +215,17 @@ def _source_option(function):
205
215
  def add_sandbox(
206
216
  obj: Any,
207
217
  scopes: tuple[str, ...],
208
- permission: str,
218
+ permission: str | None,
209
219
  tool_id: str,
210
220
  source: pathlib.Path,
211
221
  auth: Literal["user", "app"],
212
222
  databricks_access_token_included: bool,
213
223
  ) -> None:
214
- """Add a data sandbox tool (system.ai.sandbox), scoped to specific Unity Catalog resources.
224
+ """Add a sandbox tool (system.ai.sandbox) that runs code with the selected identity's access.
215
225
 
216
- Review the target project's agent.toml to check configured managed tools and MCP bindings.
226
+ Sandbox code can read and write whatever Unity Catalog data the user (--auth user) or the App
227
+ service principal (--auth app) can. Review the target project's agent.toml to check configured
228
+ managed tools and MCP bindings.
217
229
  """
218
230
  add_sandbox_to_manifest(
219
231
  obj,
@@ -338,8 +350,8 @@ def list_tools(obj: Any, kind: str | None, schema: str | None) -> None:
338
350
 
339
351
  By default, show built-in add recipes plus caller-visible MCP Services in system.ai.
340
352
  --kind mcp limits discovery to MCP Services; --schema catalog.schema replaces system.ai.
341
- Sandbox recipes require scopes; UC-function and Genie Agent recipes require concrete resource
342
- identifiers. Genie One needs no additional argument.
353
+ UC-function and Genie Agent recipes require concrete resource identifiers. Sandbox and Genie
354
+ One recipes need no additional argument.
343
355
 
344
356
  No agent project is required. MCP discovery uses your Databricks profile; local recipes do
345
357
  not authenticate. This does not scan every workspace schema or list individual MCP operations.
@@ -491,19 +491,13 @@ _EXAMPLES: dict[CommandPath, tuple[Example, ...]] = {
491
491
  ),
492
492
  ("tools",): (
493
493
  ("agentbricks tools add --help", "see all tool types you can add"),
494
- (
495
- "agentbricks tools add sandbox --scope volume:main.data.files",
496
- "add a data sandbox tool",
497
- ),
494
+ ("agentbricks tools add sandbox", "add a sandbox tool"),
498
495
  ("agentbricks tools add mcp system.ai.web_search", "add a managed MCP tool"),
499
496
  ("agentbricks tools remove mcp system.ai.web_search", "remove a tool binding"),
500
497
  ("agentbricks tools list", "browse available integrations to add"),
501
498
  ),
502
499
  ("tools", "add"): (
503
- (
504
- "agentbricks tools add sandbox --scope volume:main.data.files",
505
- "add a data sandbox tool",
506
- ),
500
+ ("agentbricks tools add sandbox", "add a sandbox tool"),
507
501
  ("agentbricks tools add mcp system.ai.web_search", "add a managed MCP tool"),
508
502
  (
509
503
  "agentbricks tools add uc-function catalog.schema.lookup_ticket",
@@ -513,9 +507,10 @@ _EXAMPLES: dict[CommandPath, tuple[Example, ...]] = {
513
507
  ("agentbricks tools add genie-agent SPACE_ID", "add tools for one Genie Space"),
514
508
  ),
515
509
  ("tools", "add", "sandbox"): (
510
+ ("agentbricks tools add sandbox", "add a sandbox tool that runs as the calling user"),
516
511
  (
517
- "agentbricks tools add sandbox --scope volume:main.data.files",
518
- "add a data sandbox tool",
512
+ "agentbricks tools add sandbox --auth app",
513
+ "run sandbox code as the App service principal",
519
514
  ),
520
515
  ),
521
516
  ("tools", "add", "mcp"): (
@@ -100,6 +100,12 @@ class Scope:
100
100
  permission: str = "read_only"
101
101
 
102
102
  def __post_init__(self) -> None:
103
+ if not tool_manifest.SANDBOX_DOWNSCOPE_ENABLED:
104
+ raise AgentCliError(
105
+ "Sandbox scopes are not supported.",
106
+ hint="system.ai.sandbox does not accept resource scopes; sandbox code runs with "
107
+ "the selected identity's own Unity Catalog access.",
108
+ )
103
109
  if self.kind == "table" and not tool_manifest.SANDBOX_TABLE_SCOPES_ENABLED:
104
110
  raise AgentCliError(
105
111
  "Table sandbox scopes are not supported yet.",
@@ -202,8 +208,6 @@ class ToolSpec:
202
208
  if kind == "sandbox":
203
209
  if self.source.service != "system.ai.sandbox":
204
210
  raise AgentCliError("Sandbox tools must bind system.ai.sandbox.")
205
- if not self.policy.downscope:
206
- raise AgentCliError("Sandbox tools require at least one scope.")
207
211
  elif kind == "mcp":
208
212
  if self.source.service is None:
209
213
  raise AgentCliError("MCP tools require a service.")
@@ -229,7 +233,7 @@ class ToolSpec:
229
233
  cls,
230
234
  tool_id: str,
231
235
  *,
232
- scopes: Sequence[Scope],
236
+ scopes: Sequence[Scope] = (),
233
237
  auth: Literal["user", "app"] | None = None,
234
238
  databricks_access_token_included: bool = True,
235
239
  ) -> "ToolSpec":
@@ -407,6 +411,8 @@ def _tool_from_manifest(value: object) -> ToolSpec:
407
411
  downscope_value = policy_value.get("downscope", [])
408
412
  if not isinstance(downscope_value, list):
409
413
  raise AgentCliError("Tool policy downscope must be an array.")
414
+ if downscope_value and not tool_manifest.SANDBOX_DOWNSCOPE_ENABLED:
415
+ raise AgentCliError(tool_manifest.downscope_unsupported_message(tool_id))
410
416
  databricks_access_token_included = policy_value.get("databricks_access_token_included", False)
411
417
  if not isinstance(databricks_access_token_included, bool):
412
418
  raise AgentCliError("Tool policy databricks_access_token_included must be a boolean.")
@@ -446,14 +452,15 @@ def _tool_table(spec: ToolSpec) -> Any:
446
452
  if value is not None:
447
453
  source_values[key] = value
448
454
  table.add("source", _inline_table(source_values))
449
- if spec.policy.downscope:
450
- downscope = tomlkit.array()
451
- for scope in spec.policy.downscope:
452
- downscope.append(
453
- _inline_table({"resource": scope.resource, "permission": scope.permission})
454
- )
455
+ if spec.source.kind == "sandbox":
455
456
  policy = tomlkit.inline_table()
456
- policy["downscope"] = downscope
457
+ if spec.policy.downscope:
458
+ downscope = tomlkit.array()
459
+ for scope in spec.policy.downscope:
460
+ downscope.append(
461
+ _inline_table({"resource": scope.resource, "permission": scope.permission})
462
+ )
463
+ policy["downscope"] = downscope
457
464
  policy["databricks_access_token_included"] = spec.policy.databricks_access_token_included
458
465
  table.add("policy", policy)
459
466
  return table
@@ -9,7 +9,7 @@ authors = [
9
9
  requires-python = ">=3.11"
10
10
  dependencies = [
11
11
  # Agent Bricks includes the HTTP runtime; this extra adds the langgraph framework adapter.
12
- "databricks-agentbricks[langgraph]>=0.7.0",
12
+ "databricks-agentbricks[langgraph]>=0.7.1",
13
13
  "databricks-langchain==0.21.0",
14
14
  "mcp<2", # langchain-mcp-adapters 0.3.x uses the MCP 1.x API.
15
15
  "uvicorn>=0.41.0",
@@ -9,7 +9,7 @@ authors = [
9
9
  requires-python = ">=3.11"
10
10
  dependencies = [
11
11
  # Agent Bricks includes the HTTP runtime; this extra adds the openai framework adapter.
12
- "databricks-agentbricks[openai]>=0.7.0",
12
+ "databricks-agentbricks[openai]>=0.7.1",
13
13
  "uvicorn>=0.41.0",
14
14
  "python-dotenv>=1.2.1",
15
15
  "databricks-sdk>=0.124.0",
@@ -5,7 +5,7 @@ description = "LangGraph agent with a custom FastAPI server"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
7
7
  dependencies = [
8
- "databricks-agentbricks>=0.7.0",
8
+ "databricks-agentbricks>=0.7.1",
9
9
  "databricks-langchain==0.21.0",
10
10
  "databricks-sdk>=0.124.0",
11
11
  "fastapi>=0.129.0",
@@ -5,7 +5,7 @@ description = "OpenAI Agents SDK agent with a custom FastAPI server"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
7
7
  dependencies = [
8
- "databricks-agentbricks>=0.7.0",
8
+ "databricks-agentbricks>=0.7.1",
9
9
  "databricks-openai>=0.13.0",
10
10
  "databricks-sdk>=0.124.0",
11
11
  "fastapi>=0.129.0",
@@ -32,6 +32,18 @@ def model_service_env(role: str = DEFAULT_MODEL_ROLE) -> str:
32
32
 
33
33
  # Enable only once Databricks Connect supports table downscoping.
34
34
  SANDBOX_TABLE_SCOPES_ENABLED = False
35
+ # Enable only once the Sandbox API backend of system.ai.sandbox accepts resource policies; it
36
+ # currently rejects any non-empty `_meta.downscope`, so sandbox calls must send an empty one.
37
+ SANDBOX_DOWNSCOPE_ENABLED = False
38
+
39
+
40
+ def downscope_unsupported_message(tool_id: str) -> str:
41
+ """The action-oriented error for a manifest that declares a downscope while it is disabled."""
42
+ return (
43
+ f"Tool {tool_id!r} declares policy.downscope, which system.ai.sandbox does not support: "
44
+ "sandbox code runs with the selected identity's own Unity Catalog access. "
45
+ f"Remove policy.downscope from the [[tools]] entry with id = {tool_id!r} in agent.toml."
46
+ )
35
47
 
36
48
 
37
49
  class ToolManifestError(RuntimeError):
@@ -240,6 +252,8 @@ def _tool(value: object) -> ToolRecord:
240
252
  raise RuntimeError("Only sandbox bindings accept policy.databricks_access_token_included.")
241
253
  tool_id = _required_string(value.get("id"), "a tool id")
242
254
  validate_genie_source(tool_id, source, has_downscope="downscope" in policy)
255
+ if raw_downscope and not SANDBOX_DOWNSCOPE_ENABLED:
256
+ raise ToolManifestError(downscope_unsupported_message(tool_id))
243
257
  auth = value.get("auth")
244
258
  if auth is not None and auth not in ("user", "app"):
245
259
  raise ToolManifestError("Tool auth must be 'user' or 'app'.")
@@ -258,8 +272,8 @@ def _tool(value: object) -> ToolRecord:
258
272
  databricks_access_token_included=databricks_access_token_included,
259
273
  auth=auth,
260
274
  )
261
- if record.kind == "sandbox" and (record.service != "system.ai.sandbox" or not record.downscope):
262
- raise RuntimeError("Sandbox bindings require system.ai.sandbox and a downscope.")
275
+ if record.kind == "sandbox" and record.service != "system.ai.sandbox":
276
+ raise RuntimeError("Sandbox bindings require system.ai.sandbox.")
263
277
  if record.kind == "mcp" and not record.service:
264
278
  raise RuntimeError("MCP bindings require source.service.")
265
279
  if record.kind == "uc_function" and not record.function: