//! Task scheduling and background execution for Common Agent Runtime.
//!
//! The scheduler manages persistent task definitions and executes them
//! based on triggers: once, interval, file watch, cron, or manual.
//!
//! ## Usage
//!
//! ```rust,ignore
//! use car_scheduler::{Task, TaskTrigger, TaskStore, Executor, spawn_task};
//! use car_multi::AgentRunner;
//! use std::sync::Arc;
//!
//! // Create a task
//! let task = Task::new("deploy_check", "Check if deployment is healthy")
//! .with_trigger(TaskTrigger::Interval, "5m")
//! .with_system_prompt("You are a deployment monitor.");
//!
//! // Persist it
//! let store = TaskStore::new(Path::new("/tmp/tasks"));
//! store.save(&task)?;
//!
//! // Run it in the background
//! let runner: Arc<dyn AgentRunner> = /* your model loop */;
//! let handle = spawn_task(task, runner, None);
//!
//! // Cancel later
//! handle.cancel();
//! ```
pub use ;
pub use ;
pub use ;