/** * Plan Builder — Decomposes classified intents into sub-agent task plans. * * Extracted from orchestrator.ts for independent testability and reuse. */ import type { IntentCategory } from "./intent-classifier.js"; import type { AGENT_PROMPTS as AgentPromptsType } from "./prompts.js"; import type { AnySpec } from "../specs/types.js"; export type SubAgentType = "token-engineer" | "component-architect" | "layout-designer" | "dataviz-specialist" | "figma-executor" | "code-generator" | "design-auditor" | "accessibility-checker" | "theme-builder" | "responsive-specialist"; export interface SubTask { id: string; name: string; agentType: SubAgentType; prompt: string; dependencies: string[]; targetSpecs?: string[]; status: "pending" | "running" | "completed" | "failed"; result?: unknown; error?: string; startedAt?: string; completedAt?: string; } export interface AgentContext { designSystem: import("../engine/registry.js").DesignSystem; specs: AnySpec[]; figmaConnected: boolean; projectFramework?: string; } export interface AgentPlan { id: string; intent: string; category: IntentCategory; subTasks: SubTask[]; context: AgentContext; createdAt: string; } export declare class PlanBuilder { private prompts; private taskCounter; constructor(prompts: typeof AgentPromptsType); resetCounter(value?: number): void; setCounter(value: number): void; getCounter(): number; decompose(intent: string, category: IntentCategory, ctx: AgentContext): SubTask[]; makeTask(name: string, agentType: SubAgentType, prompt: string, deps?: string[], targetSpecs?: string[]): SubTask; resolveTargetSpecName(intent: string, kind: "component" | "page" | "dataviz", ctx: AgentContext): string; private extractNameFromIntent; private toPascalCase; private decomposeColorPalette; private decomposeSpacingSystem; private decomposeTypographySystem; private decomposeThemeChange; private decomposeTokenUpdate; private decomposeComponentCreate; private decomposeComponentModify; private decomposePageLayout; private decomposeDatavizCreate; private decomposeResponsiveLayout; private decomposeFigmaSync; private decomposeCodeGenerate; private decomposeDesignAudit; private decomposeAccessibilityCheck; private decomposeDesignSystemInit; private decomposeDesignExtract; private decomposeGeneral; }