Skip to main content

atman_runtime/
lib.rs

1pub mod approval;
2pub mod attachment_store;
3pub mod auth_store;
4pub mod compaction;
5pub mod config_hub;
6pub mod config_migration;
7pub mod config_provider;
8pub mod context_plan;
9pub mod cost;
10pub mod env;
11pub mod error;
12pub mod eval;
13pub mod event;
14pub mod event_log;
15pub mod event_writer;
16pub mod exec;
17pub mod executor;
18pub mod flow_authority;
19pub mod flow_lint;
20pub mod flow_meta;
21pub mod flow_registry;
22pub mod flow_workspace;
23pub mod form;
24pub mod fs_access;
25pub mod git;
26pub mod git_workspace;
27pub mod help;
28pub mod history_store;
29pub mod humanize;
30pub mod hunk;
31pub mod index;
32pub mod injection;
33pub mod injection_classifier;
34pub mod invocation_env;
35pub mod known_models;
36pub mod lifecycle;
37pub mod mcp;
38pub mod mcp_config;
39pub mod memory;
40pub mod message;
41pub mod message_stream;
42pub mod meta_commands;
43pub mod migration;
44pub mod model_registry;
45pub mod nodegraph;
46pub mod notify;
47pub mod oauth;
48pub mod oauth_server;
49mod panic_capture;
50
51/// Reports whether the current thread is inside an active panic-capture
52/// boundary. Panic hooks can use this to skip side effects for a panic that
53/// will be caught.
54#[doc(hidden)]
55pub fn is_panic_capture_active() -> bool {
56    panic_capture::is_active()
57}
58
59pub mod permission;
60pub mod permission_audit;
61pub mod projection;
62pub mod provider;
63pub mod provider_lifecycle;
64pub mod providers;
65pub mod redact;
66pub mod rendezvous;
67pub mod routing;
68pub mod safety;
69pub mod sandbox;
70pub mod session;
71pub mod session_meta;
72pub mod session_naming;
73pub mod settings_catalog;
74pub mod storage;
75pub mod stream;
76pub(crate) mod streaming;
77pub mod task_registry;
78pub mod templates;
79pub mod tool;
80pub mod tool_naming;
81pub mod tools;
82pub mod trust;
83pub mod validate;
84pub mod value;
85pub use watch::WatchHub;
86pub mod watch;
87pub mod workflow;
88
89pub use attachment_store::AttachmentStore;
90pub use context_plan::{
91    ContentDigest, ContextCacheObservation, ContextCachePlan, ContextCacheResetReason,
92    ContextCallIdentity, ContextCallPurpose, ContextCallScope, ContextEpoch, ContextPlanId,
93    ContextPrefixLane, ContextPrefixProfile, ContextPrefixSnapshot, ContextRecord,
94    ContextRecordAuthority, ContextRecordBody, ContextRecordRetention, ContextRecordSpec,
95    ContextTokenLanes, ContextUsageKey, ContextUsageRecord, ModelContextPlan, TokenUsageSource,
96};
97pub use cost::{CostSummary, summarize_by_model, summarize_by_provider, total};
98pub use env::Env;
99pub use error::RuntimeError;
100pub use eval::{EvalCtx, eval_expr};
101pub use event::{
102    Event, EventSink, FlowRunId, FlowStatus, LlmCallStatus, NodeEvent, Observable, TurnId,
103};
104pub use executor::{Executor, ProviderLifecycleAlreadyAttached, RootInvocation};
105pub use hunk::{ApplyError, EditProposal, Hunk, HunkLine};
106pub use injection::{Injection, InjectionId, InjectionSource, InjectionState};
107pub use invocation_env::InvocationEnv;
108pub use message::{ImageData, ImageSource, Message, MessagePart, MessageRole};
109pub use projection::message_window::{TranscriptEntry, replay_transcript_from};
110pub use provider::{LlmRequest, Provider, ProviderCapabilities, ProviderRegistry, TokenUsage};
111pub use provider_lifecycle::{
112    ProviderCatalogRefreshOutcome, ProviderLifecycle, ProviderLifecycleError,
113    ProviderLifecycleOutcome, ProviderReconcileOutcome, ProviderStateChange,
114};
115pub use session::{
116    CompactReviewDecision, CompactReviewMode, CompactReviewRegistry, ContextSnapshot,
117    ContextUsageBucket, PendingCompactReview, Session, SessionId,
118};
119pub use task_registry::{
120    TaskDisplay, TaskEvent, TaskFilter, TaskId, TaskKind, TaskRegistry, TaskSnapshot, TaskStatus,
121};
122pub use tool::{CancelBehavior, Tier, Tool, ToolArgs, ToolCtx, ToolRegistry, ToolResult};
123pub use tool_naming::{ToolNaming, from_wire, to_wire};
124pub use validate::{ValidationError, validate};
125pub use value::Value;
126pub use workflow::{NodeStatus, Parallelism, WorkflowGraph, WorkflowNode, WorkflowNodeKind};