pub fn dispatch_event(&mut self, event: Event) -> Vec<AgentId> {
        let name = event.name.as_str();
        let agents = self.subscriptions(name);

        // Get all agent IDs that should be activated
        let agent_ids = agents
            .iter()
            .map(|agent| agent.id.clone())
            .collect::<Vec<_>>();

        self.insert_event(event);

        agent_ids
    }
Dispatches an event to the conversation

This method adds the event to the conversation and returns
a vector of AgentIds for all agents subscribed to this event.
crates/forge_domain/src/conversation.rs