/** * Command classifier for the deploy module (Sprint 20). * * classifyCommand(commandText) returns 'safe' | 'risky' based solely on the * COMMAND CONTENT — never on the agent's self-declared classification. * * This is the safety guarantee against multi-command Bash invocations such as * `echo 'safe' && kubectl scale ...`. The classifier scans the entire command * string for state-mutating verbs before any execution occurs. * * Pattern sources: * - agents/bober-diagnoser.md:188-198 (forbidden command list) * - skills/bober.runbook/SKILL.md (risky-step examples) * - Sprint 20 contract evaluatorNotes: multi-command gate requirement. * * Default-deny: when in doubt, classify risky. */ /** * Classify a command string by blast radius. * * Rules: * 1. Scan the full command string for any risky pattern (takes priority over allowlist). * 2. If no risky pattern matched AND the command has no chain operators (&&/||/;/|), * check if it matches the safe allowlist. * 3. When in doubt → risky (default-deny). * * @param commandText - The raw shell command string. * @returns 'safe' if the command is confirmed read-only/reversible; 'risky' otherwise. */ export declare function classifyCommand(commandText: string): "safe" | "risky"; //# sourceMappingURL=classify.d.ts.map