Skip to main content

layover_core/
lib.rs

1//! Domain types for Layover.
2//!
3//! This crate holds the parts of the design that can be reasoned about and tested without
4//! spawning anything. It reads configuration and prompt files from disk; it does not run
5//! processes, serve HTTP or call an LLM.
6//!
7//! - [`agent`] — who an agent is: name, description, purpose, access
8//! - [`route`] — edges in the route map
9//! - [`pipeline`] — named entry points, their triggers and their flags
10//! - [`prompt`] — composing an agent's instructions from files, conditional on flags
11//! - [`config`] — parsing a factory definition from `layover.toml`
12//! - [`graph`] — the route map as a directed graph
13//! - [`mod@validate`] — load-time checks that fail before a human stops watching
14//! - [`flight`] — the message envelope
15//! - [cost] — the ledger, rate cards and the factory-wide Fuel Reserve
16//! - [itinerary] — Hops, Fuel and the deterministic run cap
17//! - [`barrier`] — rendezvous joins, including reset and reachability-based abandonment
18//!
19//! See `docs/architecture.md` and `docs/routing.md` in the repository for the design these
20//! types implement.
21
22pub mod agent;
23pub mod autostart;
24pub mod barrier;
25pub mod brief;
26pub mod config;
27pub mod cost;
28pub mod diagram;
29pub mod flight;
30pub mod graph;
31pub mod handover;
32pub mod help;
33pub mod itinerary;
34pub mod layover;
35pub mod learning;
36pub mod mcp;
37pub mod payload;
38pub mod pipeline;
39pub mod prompt;
40pub mod queue;
41pub mod report;
42pub mod route;
43pub mod run;
44pub mod slots;
45pub mod stall;
46pub mod tools;
47pub mod validate;
48
49pub use agent::{Access, Agent, AgentName, PromptSpec, PromptSpecError};
50pub use autostart::{Autostart, Platform};
51pub use barrier::{Barrier, BarrierKey, Delivery};
52pub use brief::brief;
53pub use config::{Config, ConfigError, Defaults, McpWiring, Paths, ReserveConfig, Runner};
54pub use cost::{
55    CostSource, Ledger, ModelRates, RateCard, Reserve, ReserveState, RunCost, Summary, TokenUsage,
56};
57pub use diagram::{Activity, Layout, Live, render_svg, route_map};
58pub use flight::{Flight, FlightId, ItineraryId, Origin, RunId};
59pub use graph::RouteGraph;
60pub use handover::{
61    Cause, ChildState, Handover, Interruption, Recovery, RecoveryDenied, RecoveryPolicy, Steer,
62};
63pub use help::{Blocker, HelpRequest};
64pub use itinerary::{Denial, Itinerary};
65pub use layover::{Layover, LayoverId};
66pub use learning::{Impact, Learning, LearningId, Learnings, Proposal, Uptake};
67pub use mcp::{McpServer, McpTransport};
68pub use pipeline::{
69    FlagError, FlagSpec, Flags, Pipeline, PipelineName, Schedule, Trigger, TriggerError, Workspace,
70};
71pub use prompt::{PromptDir, PromptError, PromptMap, PromptSource};
72pub use report::Report;
73pub use route::{Join, Mode, Route};
74pub use run::{Outcome, RunRecord};
75pub use slots::{Admission, Slots};
76pub use stall::Stall;
77pub use validate::{Diagnostic, Severity, validate, validate_prompts};