feat(maestro): add Error activity state to the wire
This commit is contained in:
@@ -108,6 +108,7 @@ fn print_session_table(out: &mut impl Write, sessions: &[Session], info: &Daemon
|
||||
ActivityState::Active => "active",
|
||||
ActivityState::Idle => "idle",
|
||||
ActivityState::AwaitingInput => "awaiting",
|
||||
ActivityState::Error => "error",
|
||||
};
|
||||
// Show the live foreground command alongside the spawn command when
|
||||
// the daemon has observed one that differs (NAP-340).
|
||||
|
||||
@@ -126,6 +126,9 @@ pub enum ActivityState {
|
||||
Idle,
|
||||
/// Blocked on a `read()` from the pty — waiting on the user.
|
||||
AwaitingInput,
|
||||
/// The agent running in the session reported a failure (#102). Never
|
||||
/// inferred by the daemon; only set when an agent reports it (#105).
|
||||
Error,
|
||||
}
|
||||
|
||||
/// Optional worktree request attached to a `CreateSessionRequest`.
|
||||
@@ -617,6 +620,16 @@ mod tests {
|
||||
assert_eq!(full, round_trip(&full));
|
||||
}
|
||||
|
||||
// #102: nothing infers `Error`; only #105's agent-reported failure sets it.
|
||||
#[test]
|
||||
fn error_activity_state_serializes_pascal_case_and_idle_stays_default() {
|
||||
assert_eq!(
|
||||
serde_json::to_value(ActivityState::Error).unwrap(),
|
||||
serde_json::json!("Error")
|
||||
);
|
||||
assert_eq!(ActivityState::default(), ActivityState::Idle);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn activity_state_serializes_pascal_case_and_defaults_idle() {
|
||||
assert_eq!(
|
||||
|
||||
Reference in New Issue
Block a user