feat: add AgentGovernancePlugin for tool-call governance#141
feat: add AgentGovernancePlugin for tool-call governance#141imran-siddique wants to merge 1 commit into
Conversation
|
@DeanChensj this replaces #117 with a full rewrite addressing all your review feedback. Key changes: correct BasePlugin extension, async before_tool_callback, Apache 2.0 copyright, fail-closed default, proper file placement, and 11 tests. Would appreciate another look when you get a chance. |
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
24a3004 to
9a2492c
Compare
|
The fail-closed default is the right call — fail-open governance plugins are security theater. One gap worth noting: Mycelium Trails closes that loop: after Would it make sense to add an optional |
|
I have signed the CLA. |
Integrates microsoft/agent-governance-toolkit (AGT) as an ADK BasePlugin for centralized tool-call policy enforcement. - Extends BasePlugin with async before_tool_callback - Evaluates tool calls against YAML policy rules via agentmesh PolicyEngine - Returns None (allow) or dict (deny/short-circuit) per ADK contract - Fail-closed by default; opt-in fail_open=True for graceful degradation - Structured audit logging for all policy decisions - 11 tests covering allow/deny/fail-open/missing-dep/custom-agent-did Signed-off-by: Imran Siddique <imran.siddique@microsoft.com>
9a2492c to
cb54108
Compare
Adds an ADK plugin that integrates microsoft/agent-governance-toolkit for centralized tool-call policy enforcement.
This replaces #117, fully addressing review feedback from @DeanChensj and the Gemini code review.
What changed vs #117
BasePlugin, asyncbefore_tool_callbackNone(allow) ordict(short-circuit deny) per ADK contractfail_open=Truesrc/google/adk_community/plugins/, sample incontributing/samples/Files
src/google/adk_community/plugins/agent_governance_plugin.py- the pluginsrc/google/adk_community/plugins/__init__.py- public exportstests/plugins/test_agent_governance_plugin.py- 11 testscontributing/samples/agent_governance/- usage example + sample policiesUsage
Requires
agentmesh-platform(pip install agentmesh-platform).