//! Pure-data event handler declarations for module manifests.
//!//! These declarations describe event subscriptions without carrying executable
//! handlers. Loading sources decide how to bind them to host-owned dispatch.
useserde::{Deserialize, Serialize};useutoipa::ToSchema;#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]pubstructEventSurface{#[serde(default)]pubhandlers:Vec<EventHandlerDeclaration>,
}#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]pubstructEventHandlerDeclaration{/// Stable handler name used by remote loading sources as the invoke path.
pubname: String,
/// Stable event name consumed from `platform.outbox`, e.g.
/// `identity.user_registered.v1`.
pubevent_name: String,
}