agent-action-guard
v0.1.0
Published
JavaScript runtime for screening AI agent actions as safe, harmful, or unethical.
Downloads
66
Maintainers
Readme
Agent Action Guard
Framework to block harmful AI agent actions before they cause harm — lightweight, real-time, easy-to-use
Install
npm i agent-action-guardIf you prefer pnpm:
pnpm install agent-action-guardUsage
import {
actionGuarded,
ensureActionSafety,
isActionHarmful,
} from 'agent-action-guard';
const action = {
type: 'function',
function: {
name: 'send_email',
arguments: {
to: '[email protected]',
subject: 'Status update',
body: 'Hello',
},
},
};
const { label, confidence } = await isActionHarmful(action);
if (label) {
throw new Error(`Blocked: ${label} (${confidence.toFixed(2)})`);
}
// --------- Create a guarded version of the function ---------
const guardedSendEmail = actionGuarded(
async function sendEmail(params) {
return `sending to ${params.to}`;
},
{ confThreshold: 0.8 },
);
await guardedSendEmail({
to: '[email protected]',
subject: 'Status update',
body: 'Hello',
});See examples/basic-usage.js for a minimal runnable example.
Required environment
The classifier expects embeddings from the same embedding model used during training.
export EMBED_MODEL_NAME="sentence-transformers/all-MiniLM-L6-v2"
export EMBEDDING_BASE_URL="http://localhost:1234/v1"
export EMBEDDING_API_KEY="your-embedding-key"EMBEDDING_BASE_URL should point to any OpenAI-compatible embeddings endpoint. EMBEDDING_API_KEY falls back to OPENAI_API_KEY.
Notes
- This folder implements only the Action Guard runtime.
- Benchmark, dataset, and training code remain in the Python side of the repository.
- The ONNX model expects a 384-dimensional embedding vector.
- The model training script is at ../python/training/.
