generalbots/src/lib.rs
Rodrigo Rodriguez (Pragmatismo) 39bc972855 Add multimodal module for botmodels integration
Introduces IMAGE, VIDEO, AUDIO, and SEE keywords for BASIC scripts that
connect to the botmodels service for AI-powered media generation and
vision/captioning capabilities.

- Add BotModelsClient for HTTP communication with botmodels service
- Implement BASIC keywords: IMAGE, VIDEO, AUDIO (generation), SEE
  (captioning)
- Support configuration via config.csv for models
2025-11-29 20:40:08 -03:00

92 lines
1.8 KiB
Rust

// Core modules (always included)
pub mod basic;
pub mod core;
pub mod multimodal;
pub mod security;
pub mod web;
// Re-export shared from core
pub use core::shared;
// Bootstrap progress tracking
#[derive(Debug, Clone)]
pub enum BootstrapProgress {
StartingBootstrap,
InstallingComponent(String),
StartingComponent(String),
UploadingTemplates,
ConnectingDatabase,
StartingLLM,
BootstrapComplete,
BootstrapError(String),
}
// Re-exports from core (always included)
pub use core::automation;
pub use core::bootstrap;
pub use core::bot;
pub use core::config;
pub use core::package_manager;
pub use core::session;
pub use core::ui_server;
// Re-exports from security
pub use security::{get_secure_port, SecurityConfig, SecurityManager};
// Feature-gated modules
#[cfg(feature = "attendance")]
pub mod attendance;
#[cfg(feature = "calendar")]
pub mod calendar;
#[cfg(feature = "compliance")]
pub mod compliance;
#[cfg(feature = "console")]
pub mod console;
#[cfg(feature = "desktop")]
pub mod desktop;
#[cfg(feature = "directory")]
pub mod directory;
#[cfg(feature = "drive")]
pub mod drive;
#[cfg(feature = "drive")]
pub use drive::drive_monitor::DriveMonitor;
#[cfg(feature = "email")]
pub mod email;
#[cfg(feature = "instagram")]
pub mod instagram;
#[cfg(feature = "llm")]
pub mod llm;
#[cfg(feature = "llm")]
pub use llm::cache::{CacheConfig, CachedLLMProvider, CachedResponse, LocalEmbeddingService};
#[cfg(feature = "meet")]
pub mod meet;
#[cfg(feature = "msteams")]
pub mod msteams;
#[cfg(feature = "nvidia")]
pub mod nvidia;
#[cfg(feature = "tasks")]
pub mod tasks;
pub use tasks::TaskEngine;
#[cfg(feature = "vectordb")]
#[path = "vector-db/mod.rs"]
pub mod vector_db;
#[cfg(feature = "weba")]
pub mod weba;
#[cfg(feature = "whatsapp")]
pub mod whatsapp;