agent icon: add hyperhive.icon option + GET /icon endpoint
Foundation for the per-agent icon feature (#137). - harness-base.nix: new hyperhive.icon option (nullable path to an SVG). An agent commits an SVG into its config repo and references it as ./icon.svg; when set it lands at /etc/hyperhive/icon.svg. - web_ui.rs: GET /icon serves the configured SVG, falling back to the bundled hyperhive logo when none is set — so it always returns an image and consumers can hit it unconditionally. Closes #139
This commit is contained in:
parent
a4cb66bffe
commit
39bd46b244
2 changed files with 35 additions and 0 deletions
|
|
@ -212,9 +212,31 @@
|
|||
'';
|
||||
};
|
||||
|
||||
options.hyperhive.icon = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
example = lib.literalExpression "./icon.svg";
|
||||
description = ''
|
||||
Path to an SVG file used as this agent's icon — shown on the
|
||||
dashboard and the per-agent web UI (header + favicon). Commit
|
||||
the SVG into the agent's config repo next to `agent.nix` and
|
||||
reference it as a relative path (`./icon.svg`).
|
||||
|
||||
When null (the default) the agent falls back to the shared
|
||||
hyperhive logo. The harness serves the icon (configured or
|
||||
default) at `GET /icon` on the per-agent web port.
|
||||
'';
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.etc."hyperhive/extra-mcp.json".text = builtins.toJSON config.hyperhive.extraMcpServers;
|
||||
|
||||
# Operator-set per-agent icon (hyperhive.icon). When configured, the
|
||||
# SVG lands at /etc/hyperhive/icon.svg; the harness serves it at
|
||||
# GET /icon, falling back to the bundled hyperhive logo when absent.
|
||||
environment.etc."hyperhive/icon.svg" =
|
||||
lib.mkIf (config.hyperhive.icon != null) { source = config.hyperhive.icon; };
|
||||
|
||||
environment.etc."hyperhive/bash-allow.json".text =
|
||||
builtins.toJSON config.hyperhive.allowedBashPatterns;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue