Examples¶
All examples live in the examples/ directory.
Basic Usage¶
Wrap an agent and inject chaos:
from balaganagent import ChaosEngine, AgentWrapper
class MyAgent:
def search(self, query: str) -> dict:
return {"results": ["result1", "result2"]}
agent = MyAgent()
wrapper = AgentWrapper(agent)
wrapper.configure_chaos(chaos_level=0.5)
result = wrapper.call_tool("search", "test query")
File: examples/basic_usage.py
Stress Testing¶
Run experiments at multiple chaos levels to find your agent's breaking point:
runner = ExperimentRunner()
runner.set_agent(agent)
results = runner.run_stress_test(
scenario,
iterations=100,
chaos_levels=[0.1, 0.25, 0.5, 0.75, 1.0, 1.5, 2.0],
)
for level, data in results["levels"].items():
print(f"Chaos {level}: {data['pass_rate']:.1%} pass rate")
File: examples/stress_test.py
CrewAI Integration¶
from balaganagent.wrappers.crewai import CrewAIWrapper
wrapper = CrewAIWrapper(crew, chaos_level=0.5)
wrapper.configure_chaos(enable_tool_failures=True, enable_delays=True)
result = wrapper.kickoff()
Files:
Claude Agent SDK¶
from balaganagent.wrappers.claude_sdk import ClaudeSDKWrapper
wrapper = ClaudeSDKWrapper(agent, chaos_level=0.5)
wrapper.configure_chaos(enable_tool_failures=True)
result = wrapper.run(task)
Files:
Meeting Notes Agent¶
A real-world agent example with chaos testing:
File: examples/meeting_notes_agent.py