Choose whether an event observes or acts You choose an explicit action for every route: observe, invalidate, wake, or resume. Only wake and resume may invoke a model. rust academy academy/topics/event-actions website/content-src/academy/course.mjs academy Choose whether an event observes or acts
Unit 10 · React safely to live events

Choose whether an event observes or acts

You choose an explicit action for every route: observe, invalidate, wake, or resume. Only wake and resume may invoke a model.

wake() · resume()8 focused minutesNot started
Worked example

See the idea in context

let mut target = AxEventTarget::new("inventory-agent", invoke_agent);
target.map_input = Some(Arc::new(|event, _|
    Ok(json!({"uri": event.data["uri"]}))
));
let route = AxEventRoute {
    id: "resource-wake".into(), action: "wake".into(),
    r#match: json!({"types":["mcp.resource.updated"]}),
    target_id: Some("inventory-agent".into()),
    require_authenticated: true, ordering: "strict".into(),
    debounce_ms: 0, instance_key: None,
};
let mut runtime = AxEventRuntime::new(vec![route], json!({}))?;
runtime.register_target(target);
runtime.start()?;
Run itIn your own project
cargo add axllm

use axllm::{ai, ax};
use serde_json::json;

let llm = ai("openai", json!({"apiKey": std::env::var("OPENAI_API_KEY")?}))?;
let classify = ax("review:string -> sentiment:class \"positive, negative, neutral\"")?;

Set OPENAI_APIKEY in your environment before running provider-backed code.

In the ax repo

From a clone of the ax repo:

npm run example -- rust src/examples/rust/mcp/resource_wake_agent.rs
Active practice

Show that you can use it

Answer 2 in a row to learn this · attempt 1
Keep exploring

Source-backed follow-up