CrewAI (Python)
Enforce at tool boundaries using CrewAI tool hooks (before/after).
Install
pip install njiraai njiraai-crewai
Tool hooks (v0)
CrewAI tool hooks are the recommended v0 enforcement boundary.
from njiraai import NjiraAI
from njiraai_crewai import NjiraToolHooks
njira = NjiraAI(api_key="...", project_id="...", mode="active")
hooks = NjiraToolHooks(njira)
# Hook usage depends on CrewAI version; you provide:
# - hooks.before_tool_call(tool_name, tool_input, context)
# - hooks.after_tool_call(tool_name, tool_output, context)
Behavior
before_tool_call: callsenforce_preand can block/modify tool input in active modeafter_tool_call: callsenforce_postand can block/modify tool output in active mode- Creates a
toolspan around the execution and emits decision metadata events