elizaos_plugin_msteams/
lib.rs1#![warn(missing_docs)]
15#![deny(unsafe_code)]
16
17pub mod config;
19pub mod error;
21pub mod types;
23
24#[cfg(feature = "native")]
25pub mod client;
27
28#[cfg(feature = "native")]
29pub mod service;
31
32#[cfg(feature = "native")]
33pub mod actions;
35
36#[cfg(feature = "native")]
37pub mod providers;
39
40pub use config::MSTeamsConfig;
41pub use error::{MSTeamsError, Result};
42pub use types::*;
43
44#[cfg(feature = "native")]
45pub use client::MSTeamsClient;
46
47#[cfg(feature = "native")]
48pub use service::MSTeamsService;
49
50pub const PLUGIN_NAME: &str = "msteams";
52pub const PLUGIN_VERSION: &str = env!("CARGO_PKG_VERSION");
54pub const PLUGIN_DESCRIPTION: &str = "Microsoft Teams integration for elizaOS agents via Bot Framework";
56
57pub fn plugin() -> Plugin {
59 Plugin {
60 name: PLUGIN_NAME.to_string(),
61 description: PLUGIN_DESCRIPTION.to_string(),
62 version: PLUGIN_VERSION.to_string(),
63 }
64}
65
66#[derive(Debug, Clone)]
68pub struct Plugin {
69 pub name: String,
71 pub description: String,
73 pub version: String,
75}
76
77#[cfg(test)]
78mod tests {
79 use super::*;
80
81 #[test]
82 fn test_plugin_creation() {
83 let p = plugin();
84 assert_eq!(p.name, PLUGIN_NAME);
85 assert!(!p.description.is_empty());
86 }
87
88 #[test]
89 fn test_plugin_name() {
90 assert_eq!(PLUGIN_NAME, "msteams");
91 }
92}