UNPKG

conductor-tasks

Version:

Task Manager for AI Development

90 lines (89 loc) 4.18 kB
import { Task, TaskPriority, TaskStatus, TaskNote, TaskTemplate, CodebaseAnalysisSummary } from '../core/types.js'; import { LLMManager } from '../llm/llmManager.js'; import { ContextManager } from '../core/contextManager.js'; export declare class TaskManager { private tasks; private tasksFilePath; private workspaceRoot; private llmManager; private contextManager; private config; private initialized; constructor(llmManager: LLMManager, contextManager: ContextManager, tasksFilePath?: string); private getEnvInt; private getEnvPriority; initialize(projectName: string, projectDescription: string, filePath: string): Promise<void>; private createDefaultTasksTemplate; private createEnhancedInitialTasksWithLLM; private parseTasksFromLLMInit; private stringToPriority; createTask(title: string, description: string, userInput?: string, parentId?: string): Promise<string>; private mapTaskPriorityToContextPriority; createSubtask(parentId: string, title: string, description: string, userInput?: string): Promise<string | undefined>; getSubtasks(taskId: string): Task[]; getSubtaskHierarchy(taskId: string): any; areAllSubtasksComplete(taskId: string): boolean; calculateTaskProgress(taskId: string): number; updateParentTaskStatus(taskId: string): void; private enhanceTaskWithLLM; private setDefaultTaskMetadata; getTask(id: string): Task | undefined; updateTask(id: string, updates: Partial<Omit<Task, "id" | "createdAt" | "updatedAt">>): Task | undefined; addTaskNote(taskId: string, content: string, author: string, type: "progress" | "comment" | "blocker" | "solution"): TaskNote | undefined; deleteTask(id: string): boolean; getTasks(options?: { status?: TaskStatus | TaskStatus[]; priority?: TaskPriority | TaskPriority[]; tags?: string[]; sortBy?: "priority" | "dueDate" | "createdAt" | "updatedAt" | "complexity"; sortDirection?: "asc" | "desc"; }): Task[]; getNextTask(): Task | undefined; getTasksNeedingAttention(): Task[]; private sortTasksByPriority; private extractJsonFromText; parsePRD(content: string): Promise<string[]>; loadTasks(): void; saveTasks(): void; private tasksToMarkdown; exportTasksToMarkdown(): string; private parseMdToTasks; private determineStatusFromMarkdown; private getPriorityEmoji; getTasksFilePath(): string; getTaskCount(): number; getWorkspaceRoot(): string; reloadTasks(): boolean; getStructuredCodebaseAnalysis(projectName?: string, projectDescription?: string): Promise<CodebaseAnalysisSummary | null>; private determineProjectType; private identifyKeyEntryPoints; analyzeCodebase(): Promise<string>; private performDetailedFileAnalyses; private extractSymbolsFromFile; private _buildDependencyGraph; private _getCodebaseContextString; private extractFunctionSignature; private getNodeComment; private getTaskTemplatesDir; listTaskTemplates(): Promise<string[]>; getTaskTemplate(templateName: string): Promise<TaskTemplate | undefined>; private _applyTemplateVariables; private createTaskFromTemplateDefinition; createTaskFromTemplate(templateName: string, variables: Record<string, string>, parentId?: string): Promise<string | undefined>; generateDiffForChange(filePath: string, changeDescription: string, selection?: { startLine: number; endLine: number; }): Promise<string>; isInitialized(): boolean; setTasksFilePath(filePath: string): void; private normalizePath; generateImplementationSteps(taskId: string): Promise<string>; expandTask(taskId: string, expansionPrompt?: string): Promise<string>; suggestTaskImprovements(taskId: string): Promise<string>; mcpInitializeTasks(projectName: string, projectDescription: string, absoluteFilePath: string): Promise<string>; mcpCreateTask(title: string, description: string, additionalContext?: string): Promise<string>; getTaskDependencyTree(taskId: string): { task: Task; dependencies: Task[]; } | undefined; }