Skip to main content

elizaos_plugin_personality/
lib.rs

1//! Character evolution and self-modification plugin for elizaOS agents (Rust).
2//!
3//! Provides:
4//! - Character modification types and validation
5//! - Evolution suggestion tracking
6//! - Safety validation (XSS prevention, length limits, confidence thresholds)
7//! - In-memory personality service with cooldown management
8
9#![warn(missing_docs)]
10#![deny(unsafe_code)]
11
12/// In-memory service for character modification tracking and validation.
13pub mod service;
14/// Type definitions for modifications, suggestions, and configuration.
15pub mod types;
16
17pub use service::*;
18pub use types::*;
19
20/// Plugin metadata.
21pub const PLUGIN_NAME: &str = "personality";
22/// Plugin version.
23pub const PLUGIN_VERSION: &str = env!("CARGO_PKG_VERSION");
24/// Plugin description.
25pub const PLUGIN_DESCRIPTION: &str =
26    "Character evolution and self-modification for elizaOS agents";
27
28/// Plugin metadata struct.
29pub struct Plugin {
30    /// Plugin name.
31    pub name: String,
32    /// Plugin description.
33    pub description: String,
34    /// Plugin version.
35    pub version: String,
36}
37
38/// Returns the plugin metadata.
39pub fn plugin() -> Plugin {
40    Plugin {
41        name: PLUGIN_NAME.to_string(),
42        description: PLUGIN_DESCRIPTION.to_string(),
43        version: PLUGIN_VERSION.to_string(),
44    }
45}