import type { BlackboardEngine } from "./blackboard.js"; import type { GraphEngine } from "./graph.js"; import type { VerifyResult } from "../utils/types.js"; import type { IBlackboardStore, IDecisionStore } from "../storage/interfaces.js"; export declare class VerifyEngine { private readonly decisionStore; private readonly blackboardStore; private readonly blackboardEngine; private readonly graphEngine; private readonly projectRoot; private assemblyChecker?; constructor(decisionStore: IDecisionStore, blackboardStore: IBlackboardStore, blackboardEngine: BlackboardEngine, graphEngine: GraphEngine | null, projectRoot: string); /** Set the function that checks assembly status for an agent. */ setAssemblyChecker(checker: (agentId: string) => boolean): void; /** Run verification checks on the given scope. */ verify(input: { scope: string; checks?: string[]; agent_id?: string; fail_on?: string[]; }): Promise; private checkTestCoverage; private checkWarnings; private checkAssembly; /** Execute a git command in the project root. Returns null on failure. */ private execGit; /** Check whether decisions have drifted from the codebase via git history. */ private checkDrift; /** * Dangerous characters for command validation. * Rejects null bytes and newlines which could be used for command injection. * Note: shell operators like pipes are intentionally allowed since constraint * check_commands are designed to be shell commands (e.g. grep ... | wc -l). * These commands come from agents/users who already have code execution ability. */ private static readonly DANGEROUS_CHAR_PATTERN; /** Check constraints posted to the blackboard. */ private checkConstraints; } //# sourceMappingURL=verify.d.ts.map