@sapper-ai/openai
v0.2.2
Published
OpenAI Agents SDK integration for SapperAI - tool input/output guardrails
Maintainers
Readme
@sapper-ai/openai
OpenAI Agents SDK integration for SapperAI - drop-in tool input/output guardrails.
Installation
pnpm add @sapper-ai/openaiQuick Start
import { createToolInputGuardrail, createToolOutputGuardrail } from '@sapper-ai/openai'
import { RulesDetector, DecisionEngine } from '@sapper-ai/core'
import { Agent } from '@openai/agents'
// 1. Set up detection pipeline
const detector = new RulesDetector()
const engine = new DecisionEngine([detector])
// 2. Create guardrails
const inputGuardrail = createToolInputGuardrail(engine, {
mode: 'enforce',
defaultAction: 'allow',
failOpen: true,
})
const outputGuardrail = createToolOutputGuardrail(engine, {
mode: 'monitor',
defaultAction: 'allow',
failOpen: true,
})
// 3. Attach to OpenAI Agent
const agent = new Agent({
model: 'gpt-4',
tools: [myTool],
inputGuardrail,
outputGuardrail,
})
// Tool calls are now automatically scanned
const response = await agent.run('Execute command: rm -rf /')API Summary
createToolInputGuardrail(engine, policy)- Creates input guardrail for OpenAI AgentscreateToolOutputGuardrail(engine, policy)- Creates output guardrail for OpenAI Agents
Both functions return guardrail functions compatible with @openai/agents SDK.
How It Works
- Input Guardrail: Scans tool arguments before execution
- Output Guardrail: Scans tool results before returning to LLM
- Action: Blocks malicious calls in
enforcemode, logs inmonitormode - Fail-Open: On detector errors, allows execution to maintain availability
License
MIT
