aboutsummaryrefslogtreecommitdiff
path: root/src/agent_resume.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/agent_resume.rs')
-rw-r--r--src/agent_resume.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/agent_resume.rs b/src/agent_resume.rs
index 1cb0f9dd..f1389b54 100644
--- a/src/agent_resume.rs
+++ b/src/agent_resume.rs
@@ -88,6 +88,7 @@ pub fn is_reserved_native_state_source(source: &str, agent: &str) -> bool {
| ("herdr:droid", "droid")
| ("herdr:qodercli", "qodercli")
| ("herdr:cursor", "cursor")
+ | ("herdr:grok", "grok")
)
}
@@ -186,6 +187,9 @@ pub fn plan(source: &str, agent: &str, session_ref: &AgentSessionRef) -> Option<
session_ref.value.clone(),
]
}
+ ("herdr:grok", "grok", AgentSessionRefKind::Id) => {
+ vec!["grok".into(), "--resume".into(), session_ref.value.clone()]
+ }
_ => return None,
};
@@ -220,6 +224,7 @@ pub(crate) fn is_official_agent_source(source: &str, agent: &str) -> bool {
| ("herdr:qodercli", "qodercli")
| ("herdr:kilo", "kilo")
| ("herdr:cursor", "cursor")
+ | ("herdr:grok", "grok")
)
}
@@ -402,6 +407,16 @@ mod tests {
.argv,
vec!["cursor-agent", "--resume", "cursor-session"]
);
+ assert_eq!(
+ plan(
+ "herdr:grok",
+ "grok",
+ &AgentSessionRef::id("grok-session").unwrap()
+ )
+ .unwrap()
+ .argv,
+ vec!["grok", "--resume", "grok-session"]
+ );
}
#[test]