Use distinct user agents in agent eval and zeta-cli (#35897)

Michael Sloan created

Agent eval now also uses a proper Zed version

Release Notes:

- N/A

Change summary

crates/eval/build.rs            | 14 ++++++++++++++
crates/eval/src/eval.rs         |  4 ++--
crates/zeta_cli/build.rs        |  2 +-
crates/zeta_cli/src/headless.rs |  2 +-
4 files changed, 18 insertions(+), 4 deletions(-)

Detailed changes

crates/eval/build.rs 🔗

@@ -0,0 +1,14 @@
+fn main() {
+    let cargo_toml =
+        std::fs::read_to_string("../zed/Cargo.toml").expect("Failed to read crates/zed/Cargo.toml");
+    let version = cargo_toml
+        .lines()
+        .find(|line| line.starts_with("version = "))
+        .expect("Version not found in crates/zed/Cargo.toml")
+        .split('=')
+        .nth(1)
+        .expect("Invalid version format")
+        .trim()
+        .trim_matches('"');
+    println!("cargo:rustc-env=ZED_PKG_VERSION={}", version);
+}

crates/eval/src/eval.rs 🔗

@@ -337,7 +337,7 @@ pub struct AgentAppState {
 }
 
 pub fn init(cx: &mut App) -> Arc<AgentAppState> {
-    let app_version = AppVersion::global(cx);
+    let app_version = AppVersion::load(env!("ZED_PKG_VERSION"));
     release_channel::init(app_version, cx);
     gpui_tokio::init(cx);
 
@@ -350,7 +350,7 @@ pub fn init(cx: &mut App) -> Arc<AgentAppState> {
 
     // Set User-Agent so we can download language servers from GitHub
     let user_agent = format!(
-        "Zed/{} ({}; {})",
+        "Zed Agent Eval/{} ({}; {})",
         app_version,
         std::env::consts::OS,
         std::env::consts::ARCH

crates/zeta_cli/build.rs 🔗

@@ -1,6 +1,6 @@
 fn main() {
     let cargo_toml =
-        std::fs::read_to_string("../zed/Cargo.toml").expect("Failed to read Cargo.toml");
+        std::fs::read_to_string("../zed/Cargo.toml").expect("Failed to read crates/zed/Cargo.toml");
     let version = cargo_toml
         .lines()
         .find(|line| line.starts_with("version = "))

crates/zeta_cli/src/headless.rs 🔗

@@ -40,7 +40,7 @@ pub fn init(cx: &mut App) -> ZetaCliAppState {
 
     // Set User-Agent so we can download language servers from GitHub
     let user_agent = format!(
-        "Zed/{} ({}; {})",
+        "Zeta CLI/{} ({}; {})",
         app_version,
         std::env::consts::OS,
         std::env::consts::ARCH