Skip to main content

Crate ao_core

Crate ao_core 

Source

Re-exports§

pub use config::default_agent_rules;
pub use config::default_orchestrator_rules;
pub use config::default_reactions;
pub use config::default_routing;
pub use config::detect_git_repo;
pub use config::generate_config;
pub use config::install_skills;
pub use config::AgentConfig;
pub use config::AoConfig;
pub use config::ConfigWarning;
pub use config::DefaultsConfig;
pub use config::LoadedConfig;
pub use config::PermissionsMode;
pub use config::ProjectConfig;
pub use config::RoleAgentConfig;
pub use config::ScmWebhookConfig;
pub use error::AoError;
pub use error::Result;
pub use events::OrchestratorEvent;
pub use events::TerminationReason;
pub use lifecycle::LifecycleHandle;
pub use lifecycle::LifecycleManager;
pub use lifecycle::DEFAULT_POLL_INTERVAL;
pub use lockfile::is_process_alive;
pub use lockfile::read_pidfile;
pub use lockfile::LockError;
pub use lockfile::PidFile;
pub use notifier::NotificationPayload;
pub use notifier::NotificationRouting;
pub use notifier::Notifier;
pub use notifier::NotifierError;
pub use notifier::NotifierRegistry;
pub use orchestrator_prompt::generate_orchestrator_prompt;
pub use orchestrator_prompt::OrchestratorPromptConfig;
pub use orchestrator_spawn::is_orchestrator_session;
pub use orchestrator_spawn::reserve_orchestrator_identity;
pub use orchestrator_spawn::spawn_orchestrator;
pub use orchestrator_spawn::OrchestratorSpawnConfig;
pub use parity_session_strategy::OpencodeIssueSessionStrategy;
pub use parity_session_strategy::OrchestratorSessionStrategy;
pub use prompt_builder::build_prompt;
pub use reaction_engine::status_to_reaction_key;
pub use reaction_engine::ReactionEngine;
pub use reactions::default_priority_for_reaction_key;
pub use reactions::EscalateAfter;
pub use reactions::EventPriority;
pub use reactions::ReactionAction;
pub use reactions::ReactionConfig;
pub use reactions::ReactionOutcome;
pub use restore::restore_session;
pub use restore::RestoreOutcome;
pub use scm::AutomatedComment;
pub use scm::AutomatedCommentSeverity;
pub use scm::CheckRun;
pub use scm::CheckStatus;
pub use scm::CiStatus;
pub use scm::CreateIssueInput;
pub use scm::Issue;
pub use scm::IssueFilters;
pub use scm::IssueState;
pub use scm::IssueUpdate;
pub use scm::MergeMethod;
pub use scm::MergeReadiness;
pub use scm::PrState;
pub use scm::PrSummary;
pub use scm::PullRequest;
pub use scm::Review;
pub use scm::ReviewComment;
pub use scm::ReviewDecision;
pub use scm::ReviewState;
pub use scm::ScmWebhookEvent;
pub use scm::ScmWebhookEventKind;
pub use scm::ScmWebhookRepository;
pub use scm::ScmWebhookRequest;
pub use scm::ScmWebhookVerificationResult;
pub use scm_transitions::derive_scm_status;
pub use scm_transitions::ScmObservation;
pub use session_manager::SessionManager;
pub use traits::Agent;
pub use traits::Runtime;
pub use traits::Scm;
pub use traits::Tracker;
pub use traits::Workspace;
pub use types::now_ms;
pub use types::ActivityState;
pub use types::CostEstimate;
pub use types::Project;
pub use types::Session;
pub use types::SessionId;
pub use types::SessionStatus;
pub use types::WorkspaceCreateConfig;

Modules§

activity_log
Activity JSONL log (TS activity-log.ts-inspired).
config
Project-level config file: ao-rs.yaml (discovered by walking up from cwd).
cost_ledger
Monthly-rotated cost ledger for permanent per-session cost backup.
cost_log
Workspace-local usage JSONL (one line per agent turn).
error
events
Events broadcast by the LifecycleManager to anyone watching the session fleet — the CLI’s ao-rs watch, future reaction engines, future notifier plugins, an eventual SSE API.
gh
Centralized gh CLI subprocess runner with rate-limit integration.
lifecycle
Background polling loop that keeps Session state in sync with reality.
lockfile
PID-file based advisory locking for singleton daemons.
notifier
Notifier plugin contract + registry — Slice 3 Phase A (data only).
opencode_session_id
orchestrator_prompt
Orchestrator prompt generator (TS orchestrator-prompt.ts equivalent).
orchestrator_spawn
Orchestrator spawn helper (TS spawnOrchestrator equivalent).
parity_config_validation
TS orchestrator-config validation rules (ported from packages/core/src/config.ts, validation section).
parity_feedback_tools
TS feedback tooling (ported from packages/core/src/feedback-tools.ts).
parity_metadata
TS session metadata persistence (ported from packages/core/src/metadata.ts, key-value.ts, atomic-write.ts).
parity_notifier_resolution
Notifier target resolution (ported from packages/core/src/notifier.ts).
parity_observability
TS observability helpers (ported from packages/core/src/observability.ts).
parity_plugin_registry
TS plugin registry (ported from packages/core/src/plugin-registry.ts).
parity_session_strategy
Orchestrator session-strategy enums and helpers (ported from packages/core/src/orchestrator-session-strategy.ts).
parity_utils
TS core utilities (ported from packages/core/src/utils.ts and friends).
paths
Disk layout helpers for the ~/.ao-rs/ data dir.
prompt_builder
Structured prompt builder for agent sessions.
rate_limit
Shared GitHub API rate-limit state.
reaction_engine
Slice 2 Phase D — Reaction dispatch.
reactions
Reaction engine types — Slice 2 Phase A (data only).
restore
Restore a previously-terminated session back into a live runtime.
scm
Domain types for the Scm and Tracker plugin slots.
scm_transitions
Pure decision function: given the current session status and a fresh SCM observation, what status should the session be in next?
session_manager
Disk-backed session store.
shell
Shell escaping utilities.
traits
types
workspace_hooks