use super::{
AgentErrorKind, AgentEvent, AgentRole, CheckpointTrigger, CommitEvent, DevelopmentEvent,
DevelopmentStatus, LifecycleEvent, MaterializedPromptInput, PathBuf, PipelineEvent,
PipelinePhase, PlanningEvent, PromptInputEvent, PromptInputKind, RebaseEvent, RebasePhase,
ReviewEvent, TimeoutOutputKind,
};
use crate::agents::AgentDrain;
type ChildProcessInfo = crate::executor::ChildProcessInfo;
include!("constructors_lifecycle.rs");
include!("constructors_prompt_input.rs");
include!("constructors_development.rs");
include!("constructors_review.rs");
include!("constructors_agent.rs");
include!("constructors_commit.rs");
impl PipelineEvent {
#[must_use]
pub const fn loop_recovery_triggered(detected_loop: String, loop_count: u32) -> Self {
Self::LoopRecoveryTriggered {
detected_loop,
loop_count,
}
}
#[must_use]
pub const fn gitignore_entries_ensured(
entries_added: Vec<String>,
already_present: Vec<String>,
file_created: bool,
) -> Self {
Self::Lifecycle(LifecycleEvent::GitignoreEntriesEnsured {
added: entries_added,
existing: already_present,
created: file_created,
})
}
}