@blundergoat/goat-flow
Version:
AI coding agent harness and local dashboard for Claude Code, OpenAI Codex, Google Antigravity, and GitHub Copilot - setup audits, guardrails, structured skills, deny hooks, and persistent learning loops.
32 lines • 1.39 kB
JavaScript
import { getAgentProfileMap, getAgentProfiles, getKnownAgentIds, } from "../agents/registry.js";
import { MAX_EVALUATE_CONTENT_BYTES } from "./decoders.js";
import { QUALITY_MODES } from "../quality/schema.js";
export const KNOWN_AGENT_IDS = getKnownAgentIds();
export const KNOWN_AGENT_LIST = KNOWN_AGENT_IDS.join(", ");
export const AGENT_PROFILE_MAP = getAgentProfileMap();
const AGENT_PROFILES = getAgentProfiles();
export const SUPPORTED_AGENTS = AGENT_PROFILES.map(({ id, name, terminalBinary, setupSurfaces, promptInvocationStyle, skillSource, supportsPostTurnHook, }) => ({
id,
name,
terminalBinary,
setupSurfaces,
promptInvocationStyle,
skillSource,
supportsPostTurnHook,
}));
export const VALID_AGENTS = new Set(KNOWN_AGENT_IDS);
export const VALID_QUALITY_MODES = new Set(QUALITY_MODES);
export const QUALITY_EVALUATE_MAX_BODY_BYTES = MAX_EVALUATE_CONTENT_BYTES + 64 * 1024;
/**
* Normalise agent `--version` output to the first printable line.
*
* @param raw - Raw stdout captured from the agent binary.
* @returns A trimmed version line, or `null` when the command produced no text.
*/
export function normalizeAgentVersionOutput(raw) {
const firstLine = raw.trim().split(/\r?\n/)[0]?.trim() ?? "";
if (!firstLine)
return null;
return firstLine.replace(/(\d)[.,;:]+$/u, "$1");
}
//# sourceMappingURL=dashboard-route-types.js.map