/** * `ruflo pair` — pair programming session state. * * The bundled `pair-programming` skill has told Claude Code to run * `claude-flow pair --start --mode tdd` since v2, but the v3 CLI never * shipped the command, so the skill's modes could not be activated or * switched. This restores a minimal, non-interactive version: the session * (mode, who currently drives, when roles last swapped) lives in * `.claude-flow/sessions/pair/current.json` in the project so both the human * and the agent can read it between turns. There is no REPL — Claude Code * cannot type into one — the agent reads `pair status --json` and behaves * according to the recorded mode and role. * * Legacy v2 spellings (`pair --start`, `--status`, `--end`, `--history`) * still work so existing skill docs and muscle memory keep functioning. */ import type { Command } from '../types.js'; export declare const PAIR_MODES: { readonly driver: "AI writes the code, human reviews and steers"; readonly navigator: "Human writes the code, AI reviews and suggests"; readonly switch: "Roles swap every --interval (default 10m)"; readonly tdd: "Red-green-refactor; AI writes failing tests first"; readonly review: "Read-only review of existing code, no edits without approval"; readonly mentor: "AI explains every step and asks before acting"; readonly debug: "Hypothesis-driven debugging; AI reproduces before fixing"; }; export type PairMode = keyof typeof PAIR_MODES; export type PairRole = 'driver' | 'navigator'; export interface PairSession { id: string; mode: PairMode; /** Who currently types. Always refers to the AI's role. */ aiRole: PairRole; switchIntervalMinutes: number | null; startedAt: string; lastSwitchAt: string; switches: number; endedAt?: string; } export declare function readSession(cwd: string): PairSession | null; export declare function readHistory(cwd: string): PairSession[]; /** Accepts `10`, `10m`, `1h`, `90s`; returns minutes or null when unparseable. */ export declare function parseIntervalMinutes(raw: unknown): number | null; export declare const pairCommand: Command; export default pairCommand; //# sourceMappingURL=pair.d.ts.map