diff options
Diffstat (limited to 'src/agent_resume.rs')
| -rw-r--r-- | src/agent_resume.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/agent_resume.rs b/src/agent_resume.rs index f1389b54..55b7d51f 100644 --- a/src/agent_resume.rs +++ b/src/agent_resume.rs @@ -187,6 +187,13 @@ pub fn plan(source: &str, agent: &str, session_ref: &AgentSessionRef) -> Option< session_ref.value.clone(), ] } + ("herdr:antigravity_cli", "agy", AgentSessionRefKind::Id) => { + vec![ + "agy".into(), + "--conversation".into(), + session_ref.value.clone(), + ] + } ("herdr:grok", "grok", AgentSessionRefKind::Id) => { vec!["grok".into(), "--resume".into(), session_ref.value.clone()] } @@ -224,6 +231,7 @@ pub(crate) fn is_official_agent_source(source: &str, agent: &str) -> bool { | ("herdr:qodercli", "qodercli") | ("herdr:kilo", "kilo") | ("herdr:cursor", "cursor") + | ("herdr:antigravity_cli", "agy") | ("herdr:grok", "grok") ) } @@ -409,6 +417,16 @@ mod tests { ); assert_eq!( plan( + "herdr:antigravity_cli", + "agy", + &AgentSessionRef::id("agy-session").unwrap() + ) + .unwrap() + .argv, + vec!["agy", "--conversation", "agy-session"] + ); + assert_eq!( + plan( "herdr:grok", "grok", &AgentSessionRef::id("grok-session").unwrap() @@ -543,6 +561,12 @@ mod tests { .unwrap(); assert_eq!(session_ref.kind, AgentSessionRefKind::Id); assert_eq!(session_ref.value, "qoder-id"); + + let session_ref = + session_ref_from_report("herdr:antigravity_cli", "agy", Some("agy-id".into()), None) + .unwrap(); + assert_eq!(session_ref.kind, AgentSessionRefKind::Id); + assert_eq!(session_ref.value, "agy-id"); } #[test] @@ -676,5 +700,19 @@ mod tests { "devin-session" ) .is_some()); + assert!(session_ref_from_snapshot( + "herdr:antigravity_cli", + "agy", + AgentSessionRefKind::Id, + "agy-session" + ) + .is_some()); + let agy_session = absolute_test_path("agy-session"); + assert!(plan( + "herdr:antigravity_cli", + "agy", + &AgentSessionRef::path(&agy_session).unwrap() + ) + .is_none()); } } |
