bugger-mcp
Version:
MCP Server for managing bugs, feature requests, and improvements
116 lines • 3.12 kB
TypeScript
import sqlite3 from 'sqlite3';
export interface Todo {
id: string;
subtaskId: string;
parentId: string;
description: string;
completed: boolean;
dateCreated: string;
dateCompleted?: string;
orderIndex: number;
}
export declare class TodoManager {
private tokenTracker;
constructor();
/**
* Initialize todos database table
*/
initTodosTable(db: sqlite3.Database): Promise<void>;
/**
* Manage todos with various operations
*/
manageTodos(db: sqlite3.Database, args: any): Promise<string>;
/**
* List todos for a subtask (auto-generates if none exist)
*/
listTodos(db: sqlite3.Database, args: any): Promise<string>;
/**
* Create a new todo
*/
createTodo(db: sqlite3.Database, args: any): Promise<string>;
/**
* Toggle todo completion status
*/
toggleTodo(db: sqlite3.Database, args: any): Promise<string>;
/**
* Update todo description
*/
updateTodo(db: sqlite3.Database, args: any): Promise<string>;
/**
* Delete a todo
*/
deleteTodo(db: sqlite3.Database, args: any): Promise<string>;
/**
* Bulk toggle multiple todos
*/
bulkToggleTodos(db: sqlite3.Database, args: any): Promise<string>;
/**
* Get todo completion statistics
*/
getTodoCompletion(db: sqlite3.Database, args: any): Promise<string>;
/**
* Generate todos directly from a task (Bug/Feature/Improvement)
*/
generateTodosFromTask(db: sqlite3.Database, args: any): Promise<string>;
/**
* Auto-generate todos for a subtask based on its content
*/
autoGenerateTodos(db: sqlite3.Database, subtaskId: string, parentId?: string, parentType?: string, taskData?: any): Promise<Todo[]>;
/**
* Get subtask details from database
*/
private getSubtaskDetails;
/**
* Generate todos based on subtask content and type
*/
private generateTodosForSubtask;
/**
* Get parent ID from subtask
*/
private getParentIdFromSubtask;
/**
* Generate next todo ID
*/
private generateNextTodoId;
/**
* Get next order index for todos in a subtask
*/
private getNextTodoOrderIndex;
/**
* Format todos list for display
*/
private formatTodosList;
/**
* Format completion statistics
*/
private formatCompletionStats;
/**
* Get existing todos for a task
*/
private getExistingTodosForTask;
/**
* Get parent task details by ID and type
*/
private getParentTaskDetails;
/**
* Generate todos based on task content (direct from task, not subtask)
*/
private generateTodosForTask;
/**
* Generate bug-specific todos
*/
private generateBugTodos;
/**
* Generate feature-specific todos
*/
private generateFeatureTodos;
/**
* Generate improvement-specific todos
*/
private generateImprovementTodos;
/**
* Generate next todo ID for a task
*/
private generateNextTodoIdForTask;
}
//# sourceMappingURL=todos.d.ts.map