wai-middleware
v1.0.0
Published
A powerful middleware to bridge the gap between web functionality and AI agents while maintaining security.
Readme
WAI Middleware
A powerful middleware to bridge the gap between web functionality and AI agents while maintaining security.
Why is it necessary?
- Function Mapping: Quickly map the functionality of a web endpoint to its corresponding execution function.
- Agent Enablement: Opens a legitimate, structured path for AI agents, providing them with the necessary tools to work efficiently on your web platform.
- Bot Protection: Built-in capability to block unauthorized AI/bot crawling, ensuring your resources are used by legitimate actors.
Installation
Install the package via npm:
npm install wai-middlewareDemo
1.For mapping functionality
Connect your web intents to asynchronous handlers easily:
const { wai } = require('wai-middleware');
app.use(wai({
secret: "your-secure-secret",
intents: {
info_query: {
params: ["q"],
handler: async ({ q }) => {
return `You asked: ${q}`;
}
},
form_submit: {
params: ["type", "payload"],
handler: async ({ type, payload }) => {
return { status: "received", type };
}
}
}
}));Example agent call
1. Capability discovery
curl -X GET http://localhost:3000/.well-known/agent.json2. Intent execution "info_query"
curl -X POST http://localhost:3000/agent/intent \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"intent": "info_query",
"params": { "q": "refund policy" }
}'3. Intent execution "form_submit"
curl -X POST http://localhost:3000/agent/intent \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"intent": "form_submit",
"params": {
"type": "contact",
"payload": {
"message": "Hello from agent"
}
}
}'2. Blocking AI/Bot Crawling
Protect your site from unwanted scrapers with a single line of middleware:
const { botWall } = require('wai-middleware');
app.use(botWall());