mirror of
https://github.com/outbackdingo/optimclaw.git
synced 2026-08-25 14:53:34 +00:00
* refactor(llm): move transcription module into src/llm/ Transcription is an LLM capability (Whisper, Chat Completions audio). Move it from a top-level module into src/llm/transcription/ to reflect this, and update all references across the codebase. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> * style: fix rustfmt formatting after module move Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
98 lines
5.2 KiB
Rust
98 lines
5.2 KiB
Rust
//! NEAR AI Agentic Worker Framework
|
|
//!
|
|
//! An LLM-powered autonomous agent that operates on the NEAR AI marketplace.
|
|
//!
|
|
//! # Architecture
|
|
//!
|
|
//! ```text
|
|
//! ┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
//! │ User Interaction Layer │
|
|
//! │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
//! │ │ CLI │ │ Slack │ │ Telegram │ │ HTTP │ │
|
|
//! │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
|
|
//! │ └─────────────┴────────────┬┴─────────────┘ │
|
|
//! └──────────────────────────────────┼──────────────────────────────────────────────┘
|
|
//! ▼
|
|
//! ┌──────────────────────────────────────────────────────────────────────────────────┐
|
|
//! │ Main Agent Loop │
|
|
//! │ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │
|
|
//! │ │ Message Router │──│ LLM Reasoning │──│ Action Executor│ │
|
|
//! │ └────────────────┘ └───────┬────────┘ └───────┬────────┘ │
|
|
//! │ ▲ │ │ │
|
|
//! │ │ ┌──────────┴───────────────────┴──────────┐ │
|
|
//! │ │ ▼ ▼ │
|
|
//! │ ┌──────┴─────────────┐ ┌───────────────────────┐ │
|
|
//! │ │ Safety Layer │ │ Self-Repair │ │
|
|
//! │ │ - Input sanitizer │ │ - Stuck job detection │ │
|
|
//! │ │ - Injection defense│ │ - Tool fixer │ │
|
|
//! │ └────────────────────┘ └───────────────────────┘ │
|
|
//! └──────────────────────────────────────────────────────────────────────────────────┘
|
|
//! ```
|
|
//!
|
|
//! # Features
|
|
//!
|
|
//! - **Multi-channel interaction** - CLI, Slack, Telegram, HTTP webhooks
|
|
//! - **Parallel job execution** - Run multiple jobs with isolated contexts
|
|
//! - **Pluggable tools** - MCP, 3rd party services, dynamic tools
|
|
//! - **Self-repair** - Detect and fix stuck jobs and broken tools
|
|
//! - **Prompt injection defense** - Sanitize all external data
|
|
//! - **Continuous learning** - Improve estimates from historical data
|
|
|
|
pub mod agent;
|
|
pub mod app;
|
|
pub mod boot_screen;
|
|
pub mod bootstrap;
|
|
pub mod channels;
|
|
pub mod cli;
|
|
pub mod config;
|
|
pub mod context;
|
|
pub mod db;
|
|
pub mod document_extraction;
|
|
pub mod error;
|
|
pub mod estimation;
|
|
pub mod evaluation;
|
|
pub mod extensions;
|
|
pub mod history;
|
|
pub mod hooks;
|
|
#[cfg(feature = "import")]
|
|
pub mod import;
|
|
pub mod llm;
|
|
pub mod observability;
|
|
pub mod orchestrator;
|
|
pub mod pairing;
|
|
pub mod profile;
|
|
pub mod registry;
|
|
pub mod safety;
|
|
pub mod sandbox;
|
|
pub mod secrets;
|
|
pub mod service;
|
|
pub mod settings;
|
|
pub mod setup;
|
|
pub mod skills;
|
|
pub mod timezone;
|
|
pub mod tools;
|
|
pub mod tracing_fmt;
|
|
pub mod tunnel;
|
|
pub mod util;
|
|
pub mod webhooks;
|
|
pub mod worker;
|
|
pub mod workspace;
|
|
|
|
#[cfg(test)]
|
|
pub mod testing;
|
|
|
|
pub use config::Config;
|
|
pub use error::{Error, Result};
|
|
|
|
/// Re-export commonly used types.
|
|
pub mod prelude {
|
|
pub use crate::channels::{Channel, IncomingMessage, MessageStream};
|
|
pub use crate::config::Config;
|
|
pub use crate::context::{JobContext, JobState};
|
|
pub use crate::error::{Error, Result};
|
|
pub use crate::llm::LlmProvider;
|
|
pub use crate::safety::{SanitizedOutput, Sanitizer};
|
|
pub use crate::tools::{Tool, ToolOutput, ToolRegistry};
|
|
pub use crate::workspace::{MemoryDocument, Workspace};
|
|
}
|