1pub mod activity_log;
2pub mod config;
3pub mod cost_ledger;
4pub mod cost_log;
5pub mod error;
6pub mod events;
7pub mod gh;
8pub mod lifecycle;
9pub mod lockfile;
10pub mod notifier;
11pub mod opencode_session_id;
12pub mod orchestrator_prompt;
13pub mod orchestrator_spawn;
14pub mod parity_config_validation;
15pub mod parity_feedback_tools;
16pub mod parity_metadata;
17pub mod parity_notifier_resolution;
18pub mod parity_observability;
19pub mod parity_plugin_registry;
20pub mod parity_session_strategy;
21pub mod parity_utils;
22pub mod paths;
23pub mod prompt_builder;
24pub mod rate_limit;
25pub mod reaction_engine;
26pub mod reactions;
27pub mod restore;
28pub mod scm;
29pub mod scm_transitions;
30pub mod session_manager;
31pub mod shell;
32pub mod traits;
33pub mod types;
34pub mod workspace_hooks;
35
36pub use config::{
37 default_agent_rules, default_orchestrator_rules, default_reactions, default_routing,
38 detect_git_repo, generate_config, install_skills, AgentConfig, AoConfig, ConfigWarning,
39 DefaultsConfig, LoadedConfig, PermissionsMode, ProjectConfig, RoleAgentConfig,
40 ScmWebhookConfig,
41};
42pub use error::{AoError, Result};
43pub use events::{OrchestratorEvent, TerminationReason};
44pub use lifecycle::{LifecycleHandle, LifecycleManager, DEFAULT_POLL_INTERVAL};
45pub use lockfile::{is_process_alive, read_pidfile, LockError, PidFile};
46pub use notifier::{
47 NotificationPayload, NotificationRouting, Notifier, NotifierError, NotifierRegistry,
48};
49pub use orchestrator_prompt::{generate_orchestrator_prompt, OrchestratorPromptConfig};
50pub use orchestrator_spawn::{
51 is_orchestrator_session, reserve_orchestrator_identity, spawn_orchestrator,
52 OrchestratorSpawnConfig,
53};
54pub use parity_session_strategy::{OpencodeIssueSessionStrategy, OrchestratorSessionStrategy};
55pub use prompt_builder::build_prompt;
56pub use reaction_engine::{status_to_reaction_key, ReactionEngine};
57pub use reactions::{
58 default_priority_for_reaction_key, EscalateAfter, EventPriority, ReactionAction,
59 ReactionConfig, ReactionOutcome,
60};
61pub use restore::{restore_session, RestoreOutcome};
62pub use scm::{
63 AutomatedComment, AutomatedCommentSeverity, CheckRun, CheckStatus, CiStatus, CreateIssueInput,
64 Issue, IssueFilters, IssueState, IssueUpdate, MergeMethod, MergeReadiness, PrState, PrSummary,
65 PullRequest, Review, ReviewComment, ReviewDecision, ReviewState, ScmWebhookEvent,
66 ScmWebhookEventKind, ScmWebhookRepository, ScmWebhookRequest, ScmWebhookVerificationResult,
67};
68pub use scm_transitions::{derive_scm_status, ScmObservation};
69pub use session_manager::SessionManager;
70pub use traits::{Agent, Runtime, Scm, Tracker, Workspace};
71pub use types::{
72 now_ms, ActivityState, CostEstimate, Project, Session, SessionId, SessionStatus,
73 WorkspaceCreateConfig,
74};