import { WorkspaceResolution } from "../../workspace/WorkspaceManager.js"; import { TaskStage } from "./TaskOrderingHeuristics.js"; type PlanningContextPolicy = "best_effort" | "require_any" | "require_sds_or_openapi"; interface ProjectRow { id: string; key: string; name?: string | null; } interface EpicRow { id: string; key: string; project_id: string; title: string; } interface DependencyImpact { direct: number; total: number; } export interface TaskOrderItem { taskId: string; taskKey: string; title: string; status: string; storyPoints: number | null; priority: number; epicId: string; epicKey: string; storyId: string; storyKey: string; storyTitle: string; dependencyKeys: string[]; dependencyImpact: DependencyImpact; cycleDetected?: boolean; metadata?: Record | null; } export interface TaskOrderingResult { project: ProjectRow; epic?: EpicRow; ordered: TaskOrderItem[]; warnings: string[]; jobId?: string; commandRunId?: string; } export interface InferredDependency { taskKey: string; dependsOnKeys: string[]; } export interface TaskOrderingRequest { projectKey: string; epicKey?: string; storyKey?: string; assignee?: string; statusFilter?: string[]; agentName?: string; agentStream?: boolean; rateAgents?: boolean; stageOrder?: TaskStage[]; injectFoundationDeps?: boolean; inferDependencies?: boolean; enrichMetadata?: boolean; apply?: boolean; planningContextPolicy?: PlanningContextPolicy; } export declare const parseDependencyInferenceOutput: (output: string, validTaskKeys: Set, warnings: string[]) => InferredDependency[]; export declare class TaskOrderingService { private workspace; private db; private repo; private jobService; private agentService; private globalRepo; private routingService; private docdex; private recordTelemetry; private constructor(); private classifyDocContextKind; private buildOpenApiHintSummary; private enforcePlanningContextPolicy; static create(workspace: WorkspaceResolution, options?: { recordTelemetry?: boolean; }): Promise; private buildDocContext; close(): Promise; private getProject; private getEpic; private getStory; private fetchTasks; private fetchDependencies; private loadMissingContext; private dependencyImpactMap; private resolveClassification; private complexityBand; private buildOrderingMetadata; private buildDependencyGraph; private hasDependencyPath; private buildDependentsFromGraph; private findCyclicComponents; private chooseCycleBreakCandidate; private removeDependencyEdge; private resolveDependencyCycles; private injectFoundationDependencies; private applyInferredDependencies; private compareTasks; private topologicalSort; private buildNodes; private resolveAgent; private invokeAgent; private applyAgentRanking; private inferDependenciesWithAgent; private persistPriorities; private mapResult; orderTasks(request: TaskOrderingRequest): Promise; } export {}; //# sourceMappingURL=TaskOrderingService.d.ts.map