hive-c0re: render the new agent option paths into generated agent flakes
meta.rs writes each agent's flake, and it still named the pre-move `hyperhive.*` paths — so every agent rebuild would print a rename deprecation warning about a line no human wrote and no operator could fix. A warning nobody can act on trains everyone to ignore the ones that matter, which is the whole value of the alias shims. Repoints the FORWARDED_VAR_OPTIONS table and every other emitted option assignment (otel.*, docs.source, claudeCodePath, github.enable, user.name, claudeMemoryMaxBytes) to `services.hyperhive.agent.*`, with the test expectations that pin the rendered text. The flake input named `hyperhive` (`hyperhive.url`, `hyperhive.inputs.nixpkgs.follows`, `hyperhive.nixosConfigurations.*`), hive-tier `services.hyperhive.*` paths, and the `@hyperhive.local` git identity share the word and are untouched. Also repoints the same option paths where they appear in comments, rustdoc and runtime message strings across the other crates — a refusal message naming `hyperhive.allowedRecipients` sends an operator to a path that will stop existing. Prose under docs/ is deliberately not in this commit. Refs #4473
This commit is contained in:
parent
3662eda440
commit
6ea81aae65
30 changed files with 138 additions and 121 deletions
|
|
@ -1,4 +1,4 @@
|
|||
//! Shared spec for `hyperhive.extraMcpServers` entries: the on-disk JSON
|
||||
//! Shared spec for `services.hyperhive.agent.extraMcpServers` entries: the on-disk JSON
|
||||
//! shape the nix module (`nix/agent-modules/mcp.nix`) renders to
|
||||
//! `/etc/hyperhive/extra-mcp.json`, plus the parsing and per-entry
|
||||
//! JSON-rendering logic every consumer needs. Lives in `hive-agent-sock`
|
||||
|
|
@ -16,7 +16,7 @@ use std::path::Path;
|
|||
/// `--mcp-config`.
|
||||
pub const EXTRA_MCP_PATH: &str = "/etc/hyperhive/extra-mcp.json";
|
||||
|
||||
/// An extra MCP server declared via `hyperhive.extraMcpServers`. Two
|
||||
/// An extra MCP server declared via `services.hyperhive.agent.extraMcpServers`. Two
|
||||
/// transports: `Stdio` (the consumer spawns `command` fresh each turn, talks
|
||||
/// JSON-RPC over its stdin/stdout) and `Http` (point claude at a long-lived
|
||||
/// streamable-http `url` instead — no per-turn spawn, no re-registration
|
||||
|
|
@ -55,7 +55,7 @@ impl ExtraMcpServer {
|
|||
}
|
||||
|
||||
/// Whether this entry is opted in to subagent sessions
|
||||
/// (`hyperhive.extraMcpServers.<name>.availableToSubagents`, default
|
||||
/// (`services.hyperhive.agent.extraMcpServers.<name>.availableToSubagents`, default
|
||||
/// `false`). Subagents run `--strict-mcp-config` with no discovery, so
|
||||
/// this flag is the only path an entry reaches a subagent's own
|
||||
/// `--mcp-config` at all — see `hive-subagent-mcp`'s `mcp_config`
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
//! signals its own turn loop directly, so hive-c0re is not in either path —
|
||||
//! no broker round-trip, no long-poll, no marker files.
|
||||
//!
|
||||
//! **`extra_mcp`**: the `hyperhive.extraMcpServers` spec + parsing, shared by
|
||||
//! **`extra_mcp`**: the `services.hyperhive.agent.extraMcpServers` spec + parsing, shared by
|
||||
//! `hive-agent` (the main session's `--mcp-config`) and `hive-subagent-mcp`
|
||||
//! (the subagent-eligible subset) — not a socket protocol at all, but this
|
||||
//! crate is the natural home since both consumers already depend on it.
|
||||
|
|
|
|||
Loading…
Reference in a new issue