@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.
44 lines • 2.09 kB
TypeScript
import type { AuditContext, AuditFailure } from "./types.js";
/** A bash-spawn failure surfaced as an audit result: the user-facing message and
* the remediation hint, kept separate from a hook's own non-zero exit. */
interface SpawnFailure {
message: string;
howToFix: string;
}
/**
* Translate a spawn-level errno (EPERM/ENOENT/ETIMEDOUT) into a {@link SpawnFailure}
* with actionable remediation, distinguishing "bash could not run" from "the hook
* ran and reported a failure".
*
* @param error - The error thrown/returned by the spawn attempt.
* @param action - Short description of what was being spawned, for the message.
* @returns A {@link SpawnFailure} for known spawn errnos, or `null` when the error
* is not a recognised spawn failure (i.e. the command actually ran).
*/
export declare function spawnFailureFor(error: unknown, action: string): SpawnFailure | null;
/**
* Decide whether a thrown `execFileSync` error nonetheless reports a clean exit
* (`status === 0`), which `execFileSync` can do when it throws on stderr output.
*
* @param error - The error thrown by `execFileSync`.
* @returns `true` when the underlying command exited 0 despite the throw.
*/
export declare function commandCompletedSuccessfully(error: unknown): boolean;
/**
* Audit evidence paths are user-visible in text/markdown/JSON output. Force
* forward slashes so Windows and POSIX agree on the rendered shape.
*
* @param relPath - Repo-relative path that may carry Windows separators.
* @returns The same path with every backslash rendered as a forward slash.
*/
export declare function evidencePath(relPath: string): string;
/**
* Run a runtime-shaped blocked payload because configured commands and direct
* hooks fail differently.
*
* @param ctx - Audit context carrying agent facts, project path, and the audit FS.
* @returns The first runtime-smoke failure across agents, or `null` when all pass.
*/
export declare function checkHookRuntimeSmoke(ctx: AuditContext): AuditFailure | null;
export {};
//# sourceMappingURL=check-agent-deny-runtime.d.ts.map