Skip to main content

matrixcode_core/
lib.rs

1//! MatrixCode Core - Agent Logic, No UI
2//!
3//! This crate contains only Agent core logic, no UI handling.
4//! All outputs are structured AgentEvent, UI layer renders them.
5
6pub mod agent;
7pub mod approval;
8pub mod cancel;
9pub mod command;
10pub mod compress;
11pub mod config;
12pub mod constants;
13pub mod debug;
14pub mod event;
15pub mod memory;
16pub mod models;
17pub mod mcp;
18pub mod lsp;
19pub mod overview;
20pub mod path_validator;
21pub mod prompt;
22pub mod providers;
23pub mod session;
24pub mod skills;
25pub mod tools;
26pub mod truncate;
27pub mod workflow;
28pub mod workspace;
29
30// Public exports
31pub use agent::{Agent, AgentBuilder};
32pub use approval::ApproveMode;
33pub use config::Config;
34pub use debug::{DebugLog, DebugStats, debug_log, set_debug_event_sender};
35pub use event::{AgentEvent, EventCollector, EventData, EventType};
36pub use lsp::{LspServerInfo, LspServerStatus, LspManager};
37pub use providers::{
38    ChatRequest, ChatResponse, ContentBlock, Message, MessageContent, Provider, ProviderType, Role,
39    create_provider, create_provider_with_headers, create_minimal_provider, infer_provider_type,
40};
41pub use session::{Session, SessionFileLock, SessionManager, SessionMetadata, SessionIndex, MessageSummary};
42pub use truncate::{find_boundary, truncate_bytes, truncate_chars, truncate_with_suffix};
43
44// Workflow exports
45pub use workflow::{
46    WorkflowDef, NodeDef, EdgeDef, NodeType, FailureStrategy,
47    WorkflowEngine, WorkflowContext, WorkflowStatus, WorkflowPersistence,
48    parse_workflow, parse_workflow_from_file, to_yaml,
49    TemplateRenderer, render_template,
50    Rule, RuleEngine, ValidationResult, evaluate_expression,
51    NodeExecutor, AiExecutor, ToolExecutor, ConditionExecutor, ValidateExecutor,
52    ExecutorFactory,
53};
54
55/// Core version
56pub const VERSION: &str = env!("CARGO_PKG_VERSION");