Skip to main content

algocline_core/
lib.rs

1//! Core domain types and primitives shared across the algocline workspace.
2//!
3//! Provides the shared vocabulary consumed by `algocline-engine`,
4//! `algocline-app`, and `algocline-mcp`: [`AppDir`] path handling,
5//! [`Budget`] / token accounting, the [`EngineApi`] trait, execution
6//! and query domain types, metrics collection, package (`pkg`) metadata,
7//! progress reporting ([`ProgressInfo`]), the recent-log ring buffer,
8//! and shared state primitives.
9
10mod app_dir;
11mod budget;
12mod custom;
13pub mod domain;
14mod engine_api;
15pub mod execution;
16pub mod metrics;
17mod observer;
18pub mod pkg;
19mod progress;
20mod query;
21pub mod recent_log;
22mod spec;
23mod state;
24mod tokens;
25
26pub use app_dir::AppDir;
27pub use budget::{Budget, BudgetHandle};
28pub use custom::{CustomMetrics, CustomMetricsHandle};
29pub use engine_api::{EngineApi, QueryResponse};
30pub use metrics::{ExecutionMetrics, MetricsObserver, StatsHandle};
31pub use observer::ExecutionObserver;
32pub use pkg::{PkgEntity, PkgType, TypeSource};
33pub use progress::{ProgressHandle, ProgressInfo};
34pub use query::{LlmQuery, QueryId};
35pub use recent_log::{LogEntry, LogSink};
36pub use spec::ExecutionSpec;
37pub use state::{
38    ExecutionState, FeedError, PendingQueries, ResumeOutcome, TerminalState, TransitionError,
39};
40pub use tokens::{TokenCount, TokenSource, TokenUsage};