@pimzino/agentic-tools-mcp
Version:
A comprehensive MCP server for task management and agent memories with JSON file storage
41 lines (40 loc) • 1.69 kB
TypeScript
import { Storage } from './storage.js';
import { Project } from '../models/project.js';
import { Task } from '../models/task.js';
import { Subtask } from '../models/subtask.js';
/**
* File-based storage implementation using JSON with project-specific directories
*/
export declare class FileStorage implements Storage {
private workingDirectory;
private storageDir;
private dataFile;
private data;
constructor(workingDirectory: string);
/**
* Initialize storage by validating working directory and loading data from file
*/
initialize(): Promise<void>;
/**
* Save data to file
*/
private save;
getProjects(): Promise<Project[]>;
getProject(id: string): Promise<Project | null>;
createProject(project: Project): Promise<Project>;
updateProject(id: string, updates: Partial<Project>): Promise<Project | null>;
deleteProject(id: string): Promise<boolean>;
getTasks(projectId?: string): Promise<Task[]>;
getTask(id: string): Promise<Task | null>;
createTask(task: Task): Promise<Task>;
updateTask(id: string, updates: Partial<Task>): Promise<Task | null>;
deleteTask(id: string): Promise<boolean>;
deleteTasksByProject(projectId: string): Promise<number>;
getSubtasks(taskId?: string, projectId?: string): Promise<Subtask[]>;
getSubtask(id: string): Promise<Subtask | null>;
createSubtask(subtask: Subtask): Promise<Subtask>;
updateSubtask(id: string, updates: Partial<Subtask>): Promise<Subtask | null>;
deleteSubtask(id: string): Promise<boolean>;
deleteSubtasksByTask(taskId: string): Promise<number>;
deleteSubtasksByProject(projectId: string): Promise<number>;
}