feat: add AgentFuse tool guardrail plugin - #18
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@copilot Do a thorough review of this PR. Read ALL existing reviewer comments above from Qodo, Coderabbit, and Gemini first — incorporate their findings. Review areas:
|
|
@claude You are the FINAL architecture reviewer. If the branch is under MervinPraison/PraisonAI-Plugins (not a fork), you are able to make modifications to this branch and push directly. SCOPE: Focus ONLY on PraisonAI-Plugins (src/praisonai_plugins, tests). Do not expand into praisonaiagents or the monorepo unless the issue explicitly requires it. Read ALL comments above from Gemini, Qodo, CodeRabbit, and Copilot carefully before responding. Phase 1: Review per AGENTS.md
Phase 2: FIX Valid Issues Phase 3: Final Verdict |
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
Context
The architecture review on PraisonAI #4023 directed vendor-specific lifecycle and guardrail integrations to PraisonAI-Plugins while retaining generic
tool_call_idmiddleware plumbing in core.Boundary
This optional plugin uses PraisonAI's public
wrap_tool_call,ToolRequest, andToolResponseAPIs at the final middleware boundary before protected handler dispatch.Semantics
ToolResponsewithoutcome=not_executed; the handler does not start.guard.evaluate(...)is caught by the adapter and also returnsnot_executed; the handler does not start.tool_call_idfromInvocationContext.metadata; missing identity fails closed without fabricating an ID.Dependency
Optional extra:
Validation
Clean Python 3.12.13 environment with
praisonaiagents==1.6.167,praisonai-plugins==0.0.5, anddhms-agentfuse==3.7.3:Observed protected-handler counts:
Scope
Optional lifecycle/guardrail plugin only. It does not modify PraisonAI core, approval semantics, retries, or handler-failure ownership.
AgentFuse 3.7.3 is Experimental Public Beta. This draft does not imply PraisonAI endorsement, certification, or production-security guarantees.