Route webhooks through the same event runtimeYou route authenticated webhooks, timers, queues, and application events through AxEventRuntime. UCP commerce events use the same explicit wake and resume policy.cppacademyacademy/topics/ucp-and-eventswebsite/content-src/academy/course.mjsacademyRoute webhooks through the same event runtime
You route authenticated webhooks, timers, queues, and application events through AxEventRuntime. UCP commerce events use the same explicit wake and resume policy.
9 focused minutesNot started
Worked example
See the idea in context
void handle_ucp_webhook(const HttpRequest& request) {
// Verify signer profile, RFC 9421 signature, digest, freshness,
// key rotation, and replay state before publishing.
auto order = verify_ucp_request(request);
auto identity = lookup_buyer_identity(order.checkout_id);
axllm::AxEventEnvelope event;
event.id = order.id;
event.source = "ucp://orders";
event.type = "ucp.order.fulfilled";
event.data = order.data;
runtime.publish(event, identity, "authenticated");
}
Run itIn your own project
include(FetchContent)
FetchContent_Declare(axllm GIT_REPOSITORY https://github.com/ax-llm/ax GIT_TAG main SOURCE_SUBDIR packages/cpp)
FetchContent_MakeAvailable(axllm)
target_link_libraries(your_app PRIVATE axllm::axllm)
#include <axllm/axllm.hpp>
auto llm = axllm::ai("openai", axllm::object({{"apiKey", std::getenv("OPENAI_API_KEY")}}));
auto classify = axllm::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 -- cpp src/examples/cpp/long-agents/smart_defaults_agent.cpp