Skip to main content

perspt_core/
lib.rs

1//! perspt-core: Core types and LLM provider abstraction
2
3pub mod config;
4pub mod events;
5pub mod llm_provider;
6pub mod local_command;
7pub mod memory;
8pub mod normalize;
9pub mod path;
10pub mod paths;
11pub mod plugin;
12pub mod portfolio;
13pub mod prompts;
14pub mod tools_driver;
15pub mod types;
16
17pub use config::{
18    Config, ContextConfig, ExplorationConfig, ExternalOracleConfig, ExternalToolConfig,
19    ExternalToolMode, ExternalToolPolicy, ExternalToolTransport, McpRootConfig, ModelsConfig,
20    PromptsConfig, ProviderEntry, TestPolicy,
21};
22pub use events::{ActionType, AgentAction, AgentEvent, NodeStatus};
23pub use llm_provider::{
24    detect_provider_from_env, GenAIProvider, LlmResponse, ResolvedProvider, EOT_SIGNAL,
25};
26pub use memory::ProjectMemory;
27pub use plugin::{
28    InitOptions, JsPlugin, LanguagePlugin, LspConfig, PluginRegistry, PythonPlugin, RustPlugin,
29};
30pub use portfolio::{declared_caps, ModelPortfolio, ProviderCaps, ProviderHandle};
31pub use tools_driver::{
32    CoreMessage, CoreToolCall, CoreToolChoice, CoreToolSpec, CoreTurnOutput, CoreTurnStreamEvent,
33};
34
35// Re-export commonly used types
36pub use types::{
37    CommandContract, EnergyComponents, ModelTier, PlannedContract, PlannedTask, PlannedTest,
38    SensorStatus, StageOutcome, TaskPlan, TaskType,
39};