elizaos_plugin_scheduling/lib.rs
1//! ElizaOS Scheduling Plugin - Rust Implementation
2//!
3//! Provides:
4//! - Multi-party availability coordination
5//! - Meeting scheduling with time slot proposals
6//! - Calendar invite generation (ICS format)
7//! - Automated reminders
8//! - Rescheduling and cancellation handling
9//!
10//! # Example
11//!
12//! ```rust,no_run
13//! use std::sync::Arc;
14//! use elizaos_plugin_scheduling::{
15//! config::SchedulingServiceConfig,
16//! service::SchedulingService,
17//! storage::*,
18//! };
19//!
20//! let config = SchedulingServiceConfig::default();
21//! let service = SchedulingService::new(
22//! config,
23//! Arc::new(InMemoryAvailabilityStorage::new()),
24//! Arc::new(InMemorySchedulingRequestStorage::new()),
25//! Arc::new(InMemoryMeetingStorage::new()),
26//! Arc::new(InMemoryReminderStorage::new()),
27//! );
28//! ```
29
30pub mod actions;
31pub mod config;
32pub mod error;
33pub mod ical;
34pub mod providers;
35pub mod service;
36pub mod storage;
37pub mod types;
38
39// Re-exports for convenience
40pub use config::SchedulingServiceConfig;
41pub use error::{Result, SchedulingError};
42pub use service::SchedulingService;