diff --git a/apps/purepoint-macos/purepoint-macos/Models/ManifestModel.swift b/apps/purepoint-macos/purepoint-macos/Models/ManifestModel.swift index ff11f66..cce0d6a 100644 --- a/apps/purepoint-macos/purepoint-macos/Models/ManifestModel.swift +++ b/apps/purepoint-macos/purepoint-macos/Models/ManifestModel.swift @@ -64,12 +64,13 @@ nonisolated struct AgentEntry: Codable, Sendable { let pid: Int? let sessionId: String? let suspended: Bool? + let suspendedAt: String? let command: String? // Explicit CodingKeys document the camelCase wire format // matching Rust's #[serde(rename_all = "camelCase")] on types::AgentEntry. private enum CodingKeys: String, CodingKey { case id, name, status, prompt, error, pid, suspended, command - case agentType, startedAt, completedAt, exitCode, sessionId + case agentType, startedAt, completedAt, exitCode, sessionId, suspendedAt } } diff --git a/crates/pu-cli/src/error.rs b/crates/pu-cli/src/error.rs index 580aa63..f2b5299 100644 --- a/crates/pu-cli/src/error.rs +++ b/crates/pu-cli/src/error.rs @@ -2,7 +2,7 @@ use thiserror::Error; #[derive(Debug, Error)] pub enum CliError { - #[error("daemon not running — run `pu spawn` to start it")] + #[error("daemon not running — it should auto-start; check `~/.pu/logs/daemon.log` for errors")] DaemonNotRunning, #[error("daemon request timed out after 30 seconds")] diff --git a/crates/pu-core/src/error.rs b/crates/pu-core/src/error.rs index 3183bc5..02ae097 100644 --- a/crates/pu-core/src/error.rs +++ b/crates/pu-core/src/error.rs @@ -141,7 +141,7 @@ mod tests { fn given_kill_target_required_should_hint_flags() { let err = PuError::KillTargetRequired; let msg = format!("{err}"); - assert!(msg.contains("--agent") || msg.contains("--all")); + assert!(msg.contains("--agent") && msg.contains("--worktree") && msg.contains("--all")); } #[test]