import asyncio
from agents import Agent, Runner
from haliosai.openai import HaliosInputGuardrail, HaliosOutputGuardrail
async def main():
# Create protected agent
protected_agent = Agent(
name="safe_assistant",
instructions="You are a helpful assistant.",
input_guardrails=[
HaliosInputGuardrail(
agent_id="your-agent-id",
name="input_guardrail"
)
],
output_guardrails=[
HaliosOutputGuardrail(
agent_id="your-agent-id",
name="output_guardrail"
)
]
)
runner = Runner()
try:
# Run agent with automatic guardrail protection
result = await runner.run(
starting_agent=protected_agent,
input="Write a professional email"
)
# Access response
if hasattr(result, 'output'):
print(f"Response: {result.output}")
elif hasattr(result, 'final_output'):
print(f"Response: {result.final_output}")
# Check guardrail results
if hasattr(result, 'input_guardrail_results'):
for guardrail_result in result.input_guardrail_results:
if guardrail_result.output.tripwire_triggered:
print(f"Input guardrail triggered: {guardrail_result.guardrail.get_name()}")
if hasattr(result, 'output_guardrail_results'):
for guardrail_result in result.output_guardrail_results:
if guardrail_result.output.tripwire_triggered:
print(f"Output guardrail triggered: {guardrail_result.guardrail.get_name()}")
except Exception as e:
if "tripwire" in str(e).lower() or "guardrail" in str(e).lower():
print(f"Request blocked by guardrails: {e}")
else:
print(f"Error: {e}")
asyncio.run(main())