feat: add coding-agent sidecar integrations#63
feat: add coding-agent sidecar integrations#63willkill07 wants to merge 12 commits intoNVIDIA:mainfrom
Conversation
Signed-off-by: Will Killian <wkillian@nvidia.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Comment |
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
- Added Hermes as a first-class sidecar agent: --agent hermes, config support, command inference for hermes / hermes-agent, and AgentKind::Hermes. - Added a dedicated Hermes hook endpoint: /hooks/hermes now routes Hermes shell-hook payloads into the sidecar session manager. - Added a Hermes adapter: Maps Hermes lifecycle, tool, and subagent shell hooks into normalized NeMo Flow sidecar events. - Added Hermes installer support: nemo-flow-sidecar install hermes writes/merges .hermes/config.yaml hook config using YAML instead of JSON/TOML. - Added dynamic sidecar URL handling for Hermes: Hermes installed hooks prefer runtime NEMO_FLOW_SIDECAR_URL, so nemo-flow-sidecar run --agent hermes can use an ephemeral sidecar URL without reinstalling hooks. - Preserved Hermes hook consent semantics: The runner exports the dynamic sidecar URL but does not auto-enable HERMES_ACCEPT_HOOKS. - Improved ATIF LLM request fidelity: ATIF user steps now preserve the full unwrapped LLM request payload under extra.llm_request. - Improved ATIF token metrics extraction: Supports provider-native usage objects in addition to NeMo Flow token_usage, including cached-token variants from OpenAI/Anthropic-style payloads. - Expanded shared adapter extraction: Adds support for Hermes-friendly payload fields like task_id, parent_session_id, extra.tool_call_id, and extra.result. - Added test coverage: New/updated tests cover Hermes adapter mapping, config parsing, installer generation/merge behavior, runtime launcher behavior, server hook response shape, and ATIF request/usage export. Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com> Signed-off-by: Will Killian <wkillian@nvidia.com>
9594050 to
841d583
Compare
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: GSD Agent <bbednarski@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
173bca9 to
1d896bf
Compare
Signed-off-by: Will Killian <wkillian@nvidia.com>
Signed-off-by: Will Killian <wkillian@nvidia.com>
Overview
Adds the Rust
nemo-flow-sidecarbinary and coding-agent integration surface for observing Claude Code, Codex, Cursor, and Hermes agent activity through hook ingestion, transparent sidecar execution, passthrough LLM gateway routes, ATIF export, and OpenInference export. The branch now covers the sidecar runtime, installer behavior, agent-specific hook bundles/docs, Hermes-specific shell hook support, best-effort LLM/tool correlation, token metrics extraction, and CI/release plumbing for publishing the sidecar crate and binary artifacts.Details
nemo-flow-sidecarworkspace crate with CLI entry points forserve,run,install, andhook-forward.NEMO_FLOW_SIDECAR_URLhandling for ephemeral sidecar runs.integrations/coding-agents/; Hermes is configured through the sidecar installer rather than a static bundle.Validation recorded for this PR:
cargo test -p nemo-flow-sidecarPATH="/opt/homebrew/bin:$PATH" /opt/homebrew/bin/just docscargo fmt --allcargo test -p nemo-flow-sidecar launcher::tests::run_starts_sidecar_injects_env_and_returns_agent_exit_codejust test-rust,just docs, andcargo clippy -p nemo-flow-sidecar --all-targets -- -D warnings.lycheeskipped because it still fails on unrelated generated Rust API doc links indocs/reference/api/rust/_generated/...; cargo fmt, cargo clippy, and cargo check passed with PyO3 pointed at Python 3.12.f5f9a385, which includes the follow-up fix commit23315c09plus the currentmainmerge; GitHub CI is rerunning for this head.Where should the reviewer start?
Start with
crates/sidecar/src/session.rsfor lifecycle normalization and export behavior, thencrates/sidecar/src/gateway.rsandcrates/sidecar/src/server.rsfor the HTTP/gateway surface. For installation and user-facing behavior, reviewcrates/sidecar/src/installer.rs,docs/integrate-frameworks/coding-agent-sidecar.md, andintegrations/coding-agents/README.md.Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)