import type { FleetManifest } from "./manifest.js"; import type { LLMClient } from "../providers/types.js"; import { DEEP_PLAN_MAX_RETRIES, DEEP_EXPAND_MAX_RETRIES, DEEP_MAX_TOTAL_CALLS } from "./decomposer-deep-constants.js"; export { DEEP_PLAN_MAX_RETRIES, DEEP_EXPAND_MAX_RETRIES, DEEP_MAX_TOTAL_CALLS }; export declare const DEEP_PLAN_SYSTEM_PROMPT = "You are a tech-lead creating a coarse outline of independent sub-project areas for a high-level goal.\n\nOutput ONLY a single JSON object (no prose, no markdown fences, no tool calls) with EXACTLY this shape:\n{\n \"areas\": [\n { \"name\": \"\", \"intent\": \"\" }\n ]\n}\n\nRules:\n- \"name\" is a free-form label describing a major concern of the goal (e.g. \"Authentication\", \"Data Layer\", \"Web Frontend\").\n- \"intent\" is a concise description of what this area covers and why it is independent.\n- You MUST include at least 1 area.\n- Do NOT include folder names, kebab-case slugs, or implementation details \u2014 this is a coarse planning outline only.\n- Output the JSON object and nothing else."; export declare const DEEP_PLAN_COERCION_INSTRUCTION = "Your previous response was not a valid outline.\nOutput ONLY a single JSON object (no prose, no markdown fences, no tool calls) with EXACTLY this shape:\n{\n \"areas\": [\n { \"name\": \"\", \"intent\": \"\" }\n ]\n}\n\nRules:\n- \"name\" must be a non-empty string describing a major concern of the goal.\n- \"intent\" must be a non-empty string describing what the area covers.\n- You MUST include at least 1 area.\n- Output the JSON object and nothing else."; export declare const DEEP_EXPAND_SYSTEM_PROMPT = "You are a tech-lead expanding a coarse outline into independent, buildable sub-projects.\n\nOutput ONLY a single JSON object (no prose, no markdown fences, no tool calls) with EXACTLY this shape:\n{\n \"children\": [\n { \"folder\": \"\", \"task\": \"\" }\n ]\n}\n\nRules:\n- \"folder\" must be a short kebab-case directory name (e.g. \"api-server\", \"web-frontend\", \"cli-tool\").\n- \"task\" must be a complete, self-contained instruction that a code-generation agent can execute independently.\n- You MUST include at least 1 child.\n- Do NOT include \"config\", \"concurrency\", \"rootDir\", or \"provider\" keys anywhere in the output.\n- Each child carries ONLY \"folder\" and \"task\" \u2014 no other keys.\n- Output the JSON object and nothing else."; export declare const DEEP_EXPAND_COERCION_INSTRUCTION = "Your previous response was not a valid fleet manifest.\nOutput ONLY a single JSON object (no prose, no markdown fences, no tool calls) with EXACTLY this shape:\n{\n \"children\": [\n { \"folder\": \"\", \"task\": \"\" }\n ]\n}\n\nRules:\n- \"folder\" must be a short kebab-case directory name.\n- \"task\" must be a complete, self-contained build instruction.\n- You MUST include at least 1 child.\n- Do NOT include \"config\", \"concurrency\", \"rootDir\", or \"provider\" keys anywhere in the output.\n- Each child carries ONLY \"folder\" and \"task\" \u2014 no other keys.\n- Output the JSON object and nothing else."; import type { Outline, OutlineArea } from "./decomposer-deep-types.js"; export type { Outline, OutlineArea }; export interface DecomposeDeepInput { goal: string; client: LLMClient; model: string; count?: string; planMaxRetries?: number; expandMaxRetries?: number; critique?: boolean; } type ValidateOutlineResult = { ok: true; outline: Outline; } | { ok: false; error: string; }; export declare function validateOutline(rawText: string): ValidateOutlineResult; export declare function runPlanStage(input: { client: LLMClient; model: string; goal: string; count?: string; maxRetries: number; }): Promise; export declare function runExpandStage(input: { client: LLMClient; model: string; outline: Outline; goal: string; maxRetries: number; critiqueFeedback?: string; }): Promise; export declare function decomposeGoalDeep(input: DecomposeDeepInput): Promise; //# sourceMappingURL=decomposer-deep.d.ts.map