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 lsp;
16pub mod mcp;
17pub mod memory;
18pub mod models;
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::{LspManager, LspServerInfo, LspServerStatus};
37pub use providers::{
38    ChatRequest, ChatResponse, ContentBlock, Message, MessageContent, Provider, ProviderType, Role,
39    create_minimal_provider, create_provider, create_provider_with_headers, infer_provider_type,
40};
41pub use session::{
42    MessageSummary, Session, SessionFileLock, SessionIndex, SessionManager, SessionMetadata,
43};
44pub use truncate::{find_boundary, truncate_bytes, truncate_chars, truncate_with_suffix};
45
46// Workflow exports
47pub use workflow::{
48    AiExecutor, ConditionExecutor, EdgeDef, ExecutorFactory, FailureStrategy, NodeDef,
49    NodeExecutor, NodeType, Rule, RuleEngine, TemplateRenderer, ToolExecutor, ValidateExecutor,
50    ValidationResult, WorkflowContext, WorkflowDef, WorkflowEngine, WorkflowPersistence,
51    WorkflowStatus, evaluate_expression, parse_workflow, parse_workflow_from_file, render_template,
52    to_yaml,
53};
54
55/// Core version
56pub const VERSION: &str = env!("CARGO_PKG_VERSION");