//! Trigger CRUD operations use zclaw_types::Result; use super::Kernel; impl Kernel { // ============================================================ // Trigger Management // ============================================================ /// List all triggers pub async fn list_triggers(&self) -> Vec { self.trigger_manager.list_triggers().await } /// Get a specific trigger pub async fn get_trigger(&self, id: &str) -> Option { self.trigger_manager.get_trigger(id).await } /// Create a new trigger pub async fn create_trigger( &self, config: zclaw_hands::TriggerConfig, ) -> Result { self.trigger_manager.create_trigger(config).await } /// Update a trigger pub async fn update_trigger( &self, id: &str, updates: crate::trigger_manager::TriggerUpdateRequest, ) -> Result { self.trigger_manager.update_trigger(id, updates).await } /// Delete a trigger pub async fn delete_trigger(&self, id: &str) -> Result<()> { self.trigger_manager.delete_trigger(id).await } /// Execute a trigger pub async fn execute_trigger( &self, id: &str, input: serde_json::Value, ) -> Result { self.trigger_manager.execute_trigger(id, input).await } }