Expand description
Runtime engine used by theway-daemon.
This crate owns the agent loop, harness, typed sessions, compaction, lifecycle
hooks, the execution seam, and multiagent orchestration. Concrete tools,
persistence backends, and protocol servers live outside core and are composed
by the daemon.
Self-alias so ported modules keep their use theway_core::... import paths unchanged.
Re-exports§
pub use agent::context_cache::CONTEXT_CHUNK_SIZE;pub use agent::context_cache::ContextCacheTracker;pub use agent::context_cache::PrefixHitEstimate;pub use agent::context_cache::PrefixHitResult;pub use agent::context_cache::canonical_context_bytes;pub use agent::model_request::NormalizedGenerationOptions;pub use agent::model_request::NormalizedModelRequestDraft;pub use agent::Agent;pub use agent::AgentOptions;pub use agent::AgentRunError;pub use agent::LOOP_EVENT_BROADCAST_CAPACITY;pub use agent::LoopListener;pub use agent::LoopSyncCallback;pub use observability::ErrorCategory;pub use observability::NoopRuntimeObserver;pub use observability::ObservationContent;pub use observability::ObservationContext;pub use observability::OperationDetail;pub use observability::OperationFinished;pub use observability::OperationId;pub use observability::OperationKind;pub use observability::OperationOutcome;pub use observability::OperationScope;pub use observability::OperationStarted;pub use observability::RuntimeMeasurements;pub use observability::RuntimeObservation;pub use observability::RuntimeObserver;pub use observability::noop_runtime_observer;pub use types::AfterToolCallContext;pub use types::AfterToolCallHook;pub use types::AfterToolCallResult;pub use types::AgentContext;pub use types::AgentLoopConfig;pub use types::AgentLoopTurnUpdate;pub use types::AgentMessage;pub use types::AgentState;pub use types::AgentTool;pub use types::AgentToolCall;pub use types::AgentToolError;pub use types::AgentToolResult;pub use types::AgentToolUpdate;pub use types::BeforeToolCallContext;pub use types::BeforeToolCallHook;pub use types::BeforeToolCallResult;pub use types::ControlPlanePromptDecision;pub use types::ControlPlanePromptRequest;pub use types::ConvertToLlm;pub use types::CustomMessage;pub use types::GetApiKey;pub use types::LoopEvent;pub use types::MessageQueueProvider;pub use types::OnControlPlanePromptHook;pub use types::PermissionClassification;pub use types::PrepareNextTurnContext;pub use types::PrepareNextTurnHook;pub use types::QueueMode;pub use types::ShouldStopAfterTurnContext;pub use types::ShouldStopHook;pub use types::StreamFn;pub use types::ThinkingLevel;pub use types::ToolExecutionMode;pub use types::TransformContext;pub use types::TransformMessage;pub use types::TransformModelRequest;pub use types::default_convert_to_llm;pub use agent::assembly::AgentHarness;pub use agent::assembly::AgentHarnessOptions;pub use agent::assembly::DEFAULT_TURN_CONTINUATION_CAP;pub use agent::assembly::OnTurnEndContext;pub use agent::assembly::OnTurnEndHook;pub use agent::assembly::ReloadSkillsError;pub use agent::assembly::ReloadSkillsFn;pub use agent::assembly::SESSION_EVENT_BROADCAST_CAPACITY;pub use agent::assembly::SessionEvent;pub use agent::assembly::SessionListener;pub use agent::assembly::TurnEndAction;pub use agent::assembly::TurnEndDecision;pub use agent::compaction::branch_summarization::BranchSummaryResult;pub use agent::compaction::branch_summarization::summarize_branch;pub use agent::compaction::compaction::CompactionPreparation;pub use agent::compaction::compaction::CompactionResult;pub use agent::compaction::compaction::CompactionSettings;pub use agent::compaction::compaction::ContextUsageEstimate;pub use agent::compaction::compaction::CutPointResult;pub use agent::compaction::compaction::DEFAULT_COMPACTION_SETTINGS;pub use agent::compaction::compaction::GenerateSummaryOutput;pub use agent::compaction::compaction::GenerateSummaryRequest;pub use agent::compaction::compaction::SUMMARIZATION_SYSTEM_PROMPT;pub use agent::compaction::compaction::SummarizeError;pub use agent::compaction::compaction::calculate_context_tokens;pub use agent::compaction::compaction::compact;pub use agent::compaction::compaction::estimate_context_tokens;pub use agent::compaction::compaction::estimate_tokens;pub use agent::compaction::compaction::find_cut_point;pub use agent::compaction::compaction::find_turn_start_index;pub use agent::compaction::compaction::generate_summary;pub use agent::compaction::compaction::get_last_assistant_usage;pub use agent::compaction::compaction::prepare_compaction;pub use agent::compaction::compaction::serialize_conversation;pub use agent::compaction::compaction::should_compact;pub use agent::cost::CostSnapshot;pub use agent::cost::CostTracker;pub use agent::cost::full_breakdown as cost_full_breakdown;pub use agent::cost::one_line_summary as cost_one_line_summary;pub use agent::messages;pub use agent::permission::PermissionCategory;pub use agent::permission::PermissionDecision;pub use agent::permission::PermissionPolicy;pub use agent::runtime_extensions::ExtensionModelContextItem;pub use agent::runtime_extensions::ExtensionModelContextProjection;pub use agent::runtime_extensions::ExtensionModelContextProjectionError;pub use agent::runtime_extensions::NoopRuntimeExtensionPort;pub use agent::runtime_extensions::NoopSessionExtensionStatePort;pub use agent::runtime_extensions::PersistentSessionExtensionStatePort;pub use agent::runtime_extensions::RuntimeCompactionExtensionPort;pub use agent::runtime_extensions::RuntimeExtensionContext;pub use agent::runtime_extensions::RuntimeExtensionDomain;pub use agent::runtime_extensions::RuntimeExtensionInvocation;pub use agent::runtime_extensions::RuntimeExtensionPort;pub use agent::runtime_extensions::RuntimeExtensionResult;pub use agent::runtime_extensions::RuntimeExtensionScopeAllocator;pub use agent::runtime_extensions::RuntimeExtensionScopeKind;pub use agent::runtime_extensions::RuntimeMessageExtensionPort;pub use agent::runtime_extensions::RuntimeRequestExtensionPort;pub use agent::runtime_extensions::RuntimeRunExtensionPort;pub use agent::runtime_extensions::RuntimeSessionExtensionPort;pub use agent::runtime_extensions::RuntimeToolExtensionPort;pub use agent::runtime_extensions::ScopeAllocationError;pub use agent::runtime_extensions::SessionExtensionStateError;pub use agent::runtime_extensions::SessionExtensionStatePort;pub use agent::runtime_extensions::ValidatedGateResult;pub use agent::runtime_extensions::ValidatedObserveResult;pub use agent::runtime_extensions::ValidatedRegisterResult;pub use agent::runtime_extensions::ValidatedRuntimeExtensionResult;pub use agent::runtime_extensions::ValidatedTransformResult;pub use agent::session::memory_repo::MemorySessionRepo;pub use agent::session::memory_storage::MemorySessionStorage;pub use agent::session::persistent_storage::PersistentSessionStorage;pub use agent::session::persistent_storage::decode_session_entry;pub use agent::session::persistent_storage::encode_session_entry;pub use agent::session::repo_utils::ForkOptions;pub use agent::session::repo_utils::ForkPosition;pub use agent::session::repo_utils::create_session_id;pub use agent::session::repo_utils::create_timestamp;pub use agent::session::repo_utils::get_entries_to_fork;pub use agent::session::repo_utils::to_session;pub use agent::session::session::BranchSummaryInput;pub use agent::session::session::COMPACT_CONTEXT_CUSTOM_TYPE;pub use agent::session::session::CompactContext;pub use agent::session::session::SESSION_GRAPH_STATE_CUSTOM_TYPE;pub use agent::session::session::Session;pub use agent::session::session::SessionContext;pub use agent::session::session::SessionContextModel;pub use agent::session::session::SessionGraphState;pub use agent::session::session::SessionStorage;pub use agent::session::session::SessionTreeEntry;pub use agent::session::session::SubagentJobSnapshot;pub use agent::session::session::build_session_context;pub use agent::session::session::latest_session_graph_state;pub use agent::skills::LoadSkillsOutput;pub use agent::skills::format_skill_invocation;pub use agent::skills::load_skills;pub use agent::skills::load_sourced_skills;pub use agent::system_prompt::format_skills_for_system_prompt;pub use agent::types::ExecOptions;pub use agent::types::ExecOutput;pub use agent::types::ExecResult;pub use agent::types::ExecutionEnv;pub use agent::types::ExecutionError;pub use agent::types::ExecutionErrorCode;pub use agent::types::FileError;pub use agent::types::FileErrorCode;pub use agent::types::FileInfo;pub use agent::types::FileKind;pub use agent::types::FsResult;pub use agent::types::PromptTemplate;pub use agent::types::Skill;pub use agent::types::SkillDiagnostic;pub use agent::types::SkillDiagnosticCode;pub use agent::types::SkillFrontmatter;pub use agent::types::SkillSource;
Modules§
- agent
- The single-agent runtime. The bare
Agentstate machine (this file) is always on —prompt()/continue()/subscribe()/abort(), no harness dependency. The harness layer (skills, sessions, compaction, permission, …) lives in the submodules below, behind#[cfg(feature = "harness")](opt-out for embedders that only want the bare Agent). Orchestration builds on top incrate::multiagent. - executor
- Execution-environment abstraction.
- multiagent
- Multi-agent runtime orchestration — everything above the single-agent runtime
(
crate::agent::assembly/ the barecrate::agent): spawning nested agent runs (runner), subagent job tracking + live control (jobs), the run data contract (types), the DAG/goal graph engine (graph), and the goal mode hook (goal). - observability
- Transport-neutral runtime observations.
- types
- Core type universe for
theway-core. 1:1 port ofpackages/agent/src/types.ts.