import { HOOKS_DIR } from '../../core/utils.js'; export declare const MAX_TIMEOUT = 30000000; export declare const IDLE_SESSION_TIMEOUT: number; export declare const TURN_IDLE_TIMEOUT: number; /** DR-0012: fast-fail window for a fresh turn. The jsonl file appears only after the first submit, * so the tail no longer blocks at spawn; this bounds the "claude never started" case to seconds * instead of the 60-min TURN_IDLE_TIMEOUT. Cleared on the first jsonl event of the turn. */ export declare const JSONL_FIRST_EVENT_TIMEOUT: number; /** DR-0012: delay between pasting the prompt and sending Enter. Claude Code's Ink TUI uses * bracketed paste; an Enter sent immediately after paste-buffer is swallowed and the prompt is * never submitted. A short settle delay lets the paste register before the submit keystroke. * Verified empirically (2.1.160): 0ms → never submits; ~300ms+ → reliable. */ export declare const PASTE_SUBMIT_DELAY_MS = 400; /** DR-0012: after spawning the tmux session, Claude's Ink TUI takes several seconds to boot and * start accepting input. Pasting before then drops the prompt into a not-yet-ready terminal, so * the submit Enter does nothing and no jsonl is ever written (the turn then dies on the * first-event watchdog). We poll capture-pane for a readiness marker before the first paste. * Verified empirically (2.1.162): paste at ~0s → never submits; paste after the prompt UI is * drawn (~5-6s) → reliable. */ export declare const PANE_READY_TIMEOUT: number; export declare const PANE_READY_POLL_MS = 250; /** Markers that prove the Claude TUI prompt is interactive and ready to receive a paste. The * bottom status line ("bypass permissions on …") and the shortcuts hint only render once the * Ink app has finished its initial layout. */ export declare const PANE_READY_MARKER: RegExp; export declare const LOGS_DIR: string; export declare const MCP_CONFIG: string; export declare const CORE_MCP_CONFIG: string; /** DR-0012: TUI-mode-exclusive MCP set (only cortex-tui-bridge server, no core/ext leakage). */ export declare const TUI_MCP_CONFIG: string; /** Slack platform-specific tools (cortex-slack server). Layered on top of the full config via the variadic * `--mcp-config` only for sessions that originate from Slack (channel carries the `slack:` prefix). */ export declare const SLACK_MCP_CONFIG: string; /** Feishu document tools (cortex-feishu server). Layered on top of the full config via the variadic * `--mcp-config` only for sessions that originate from Feishu (channel carries the `feishu:` prefix). */ export declare const FEISHU_MCP_CONFIG: string; export declare const PROJECT_SETTINGS: string; export declare const DEFAULT_PLAN_DIRS: string[]; export declare const DEFAULT_TOOLS = "Agent,AskUserQuestion,Bash,Edit,EnterPlanMode,ExitPlanMode,Glob,Grep,Read,Skill,TaskStop,TodoWrite,WebFetch,WebSearch,Write"; /** * DR-0012: Tool whitelist for TUI mode. Removes the three interaction tools that conflict with * Cortex's MCP-mediated approval flow (AskUserQuestion / EnterPlanMode / ExitPlanMode) and adds * their MCP replacements served by the cortex-tui-bridge MCP server. * * Tool name prefix `mcp____` is Claude's canonical form for MCP tools. */ export declare const TUI_TOOLS: string; /** Native interaction tools that must be stripped in TUI mode (all sessions, including threads). * These tools require stdin/stdout interaction that TUI mode cannot provide. */ export declare const TUI_STRIP_TOOLS: Set; /** DR-0012: tmux session name prefix for TUI-mode Claude processes. */ export declare const TUI_TMUX_NAME_PREFIX = "cortex-claude-"; /** DR-0012: Base directory where Claude writes per-session jsonl transcripts (per-cwd encoded). */ export declare const TUI_JSONL_BASE: string; export { HOOKS_DIR }; export declare const HOOK_TIMEOUT_S: number; export declare class CancelledError extends Error { cancelled: boolean; constructor(); }