@notbnull/mcp-cursor-taskmaster
Version:
A project-scoped MCP server requiring explicit --project-dir configuration for task management, memory retrieval, and agentic workflows
76 lines • 2.63 kB
TypeScript
export interface Task {
id: string;
title: string;
description: string;
status: "pending" | "in_progress" | "completed" | "failed" | "awaiting_approval";
priority: "low" | "medium" | "high" | "critical";
parentId?: string;
children?: string[];
metadata?: Record<string, any>;
createdAt: string;
updatedAt: string;
dueDate?: string;
estimatedTime?: number;
actualTime?: number;
}
export interface Prompt {
id: string;
title: string;
description: string;
originalQuery: string;
status: "draft" | "approved" | "executing" | "completed" | "failed";
taskIds: string[];
createdAt: string;
updatedAt: string;
metadata?: Record<string, any>;
}
export interface TaskList {
id: string;
name: string;
description?: string;
taskIds: string[];
createdAt: string;
updatedAt: string;
}
export interface WorkflowState {
currentPromptId?: string;
currentTaskId?: string;
checkpointData?: Record<string, any>;
executionLog: Array<{
timestamp: string;
action: string;
taskId?: string;
status: string;
details?: any;
}>;
}
export declare class TaskStore {
private dataDir;
private tasksPath;
private promptsPath;
private listsPath;
private workflowPath;
constructor(projectDir: string);
initialize(): Promise<void>;
private ensureFileExists;
private readJsonFile;
private writeJsonFile;
createTask(taskData: Omit<Task, "id" | "createdAt" | "updatedAt">): Promise<Task>;
getTask(id: string): Promise<Task | null>;
getAllTasks(): Promise<Task[]>;
updateTask(id: string, updates: Partial<Omit<Task, "id" | "createdAt">>): Promise<Task | null>;
deleteTask(id: string): Promise<boolean>;
createPrompt(promptData: Omit<Prompt, "id" | "createdAt" | "updatedAt">): Promise<Prompt>;
getPrompt(id: string): Promise<Prompt | null>;
getAllPrompts(): Promise<Prompt[]>;
updatePrompt(id: string, updates: Partial<Omit<Prompt, "id" | "createdAt">>): Promise<Prompt | null>;
createList(listData: Omit<TaskList, "id" | "createdAt" | "updatedAt">): Promise<TaskList>;
getList(id: string): Promise<TaskList | null>;
getAllLists(): Promise<TaskList[]>;
getWorkflowState(): Promise<WorkflowState>;
updateWorkflowState(updates: Partial<WorkflowState>): Promise<WorkflowState>;
logWorkflowAction(action: string, status: string, taskId?: string, details?: any): Promise<void>;
getTaskHierarchy(rootTaskId?: string): Promise<Task[]>;
private buildHierarchy;
}
//# sourceMappingURL=task-store.d.ts.map