From 3c76674e46b292970da8bc4478c3981547ebd83a Mon Sep 17 00:00:00 2001 From: jms830 <22508153+jms830@users.noreply.github.com> Date: Sat, 9 May 2026 16:24:30 -0400 Subject: [PATCH] feat(connectors): enable Hermes Agent connector Hermes Agent's connector was added to franken_agent_detection in PR #5 (feature-gated as 'hermes'), but CASS never enabled the feature. Wire up the connector by: - Enabling the 'hermes' feature on franken-agent-detection - Updating expected_features in build.rs path-dep contract - Adding the conventional re-export stub at src/connectors/hermes.rs - Registering the module in src/connectors/mod.rs Note: this depends on a prerequisite re-export fix in franken_agent_detection (PR jms830:expose-hermes-reexport). The existing pinned rev 7e288f4 ships the connector implementation but does not re-export HermesConnector at the crate root, so this PR cannot land until FAD merges that fix and CASS bumps the rev. --- Cargo.toml | 2 +- build.rs | 2 +- src/connectors/hermes.rs | 5 +++++ src/connectors/mod.rs | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 src/connectors/hermes.rs diff --git a/Cargo.toml b/Cargo.toml index f429cb2a1..542bb78aa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,7 +73,7 @@ memmap2 = "*" bytemuck = "*" fastembed = { version = "*", default-features = false, features = ["ort-download-binaries-rustls-tls"] } frankensearch = { version = "*", git = "https://github.com/Dicklesworthstone/frankensearch", rev = "831b3b13", default-features = false, features = ["hash", "lexical", "ann", "fastembed-reranker"] } -franken-agent-detection = { version = "*", git = "https://github.com/Dicklesworthstone/franken_agent_detection", rev = "7e288f493631020a4660443c5ad8fc7d4e49faa7", features = ["connectors", "cursor", "chatgpt", "opencode", "crush"] } +franken-agent-detection = { version = "*", git = "https://github.com/Dicklesworthstone/franken_agent_detection", rev = "7e288f493631020a4660443c5ad8fc7d4e49faa7", features = ["connectors", "cursor", "chatgpt", "opencode", "crush", "hermes"] } wide = "*" # Portable SIMD for P0 Opt 2: SIMD dot product arrayvec = "*" # Stack-based arrays for P1 Opt 1.4: Edge N-gram optimization bloomfilter = "*" # Probabilistic membership testing for P2 Opt 3.3: Workspace Cache diff --git a/build.rs b/build.rs index 88e63fe26..3c971427c 100644 --- a/build.rs +++ b/build.rs @@ -83,7 +83,7 @@ const CONTRACTS: &[DependencyContract] = &[ expected_git: "https://github.com/Dicklesworthstone/franken_agent_detection", expected_rev: "7e288f493631020a4660443c5ad8fc7d4e49faa7", expected_version: "0.1.3", - expected_features: &["chatgpt", "connectors", "crush", "cursor", "opencode"], + expected_features: &["chatgpt", "connectors", "crush", "cursor", "hermes", "opencode"], expected_default_features: None, repo_rel: "../franken_agent_detection", manifest_rel: "Cargo.toml", diff --git a/src/connectors/hermes.rs b/src/connectors/hermes.rs new file mode 100644 index 000000000..618116ec4 --- /dev/null +++ b/src/connectors/hermes.rs @@ -0,0 +1,5 @@ +//! Connector for Hermes Agent session storage. +//! +//! Implementation lives in `franken_agent_detection::connectors::hermes`. + +pub use franken_agent_detection::HermesConnector; diff --git a/src/connectors/mod.rs b/src/connectors/mod.rs index eb7cf5f41..1b5d96eb5 100644 --- a/src/connectors/mod.rs +++ b/src/connectors/mod.rs @@ -211,6 +211,7 @@ pub mod crush; pub mod cursor; pub mod factory; pub mod gemini; +pub mod hermes; pub mod kimi; pub mod openclaw; pub mod opencode;