Separate incoming updates from agent work
You treat delivery and model execution as separate decisions. A resource subscription receives updates but never grants an agent permission to run.
Worked example
See the idea in context
endpoint → catalog → subscription policy → event inbox → explicit route- Discover the endpoint
The live catalog identifies concrete resources and supported event capabilities.
- Apply subscription policy
Your application chooses which updates it actually wants.
- Route through the inbox
An explicit event route decides whether the update only records state or wakes work.
Run itIn your own project
npm install @ax-llm/ax
import { ai, ax } from '@ax-llm/ax';
const llm = ai({ name: 'openai', apiKey: process.env.OPENAI_APIKEY! });
const classify = ax('review:string -> sentiment:class "positive, negative, neutral"');
const result = await classify.forward(llm, {
review: 'Useful and boring in the best way.',
});Set OPENAI_APIKEY in your environment before running provider-backed code.
From a clone of the ax repo:
npm run example -- typescript src/examples/typescript/mcp/resource-wake-agent.tsActive practice
Answer 2 in a row to learn this · attempt 1