mcp-think-tank
Version:
Structured thinking and knowledge management tool for Model Context Protocol
134 lines • 4.29 kB
TypeScript
import { z } from 'zod';
/**
* Task status
*/
export type TaskStatus = 'todo' | 'in-progress' | 'blocked' | 'done';
/**
* Task priority
*/
export type TaskPriority = 'low' | 'medium' | 'high';
/**
* Task object
*/
export interface Task {
id: string;
description: string;
status: TaskStatus;
priority: TaskPriority;
created: string;
updated?: string;
tags?: string[];
dependsOn?: string[];
due?: string;
}
/**
* Task schema definition
*/
export declare const taskSchema: z.ZodObject<{
id: z.ZodString;
description: z.ZodString;
status: z.ZodDefault<z.ZodEnum<["todo", "in-progress", "blocked", "done"]>>;
priority: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
created: z.ZodString;
updated: z.ZodString;
due: z.ZodOptional<z.ZodString>;
tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
status: "todo" | "in-progress" | "blocked" | "done";
tags: string[];
id: string;
description: string;
priority: "low" | "medium" | "high";
created: string;
updated: string;
dependsOn: string[];
due?: string | undefined;
}, {
id: string;
description: string;
created: string;
updated: string;
status?: "todo" | "in-progress" | "blocked" | "done" | undefined;
tags?: string[] | undefined;
priority?: "low" | "medium" | "high" | undefined;
due?: string | undefined;
dependsOn?: string[] | undefined;
}>;
/**
* New task schema (subset of fields required for creation)
*/
export declare const newTaskSchema: z.ZodObject<{
description: z.ZodString;
status: z.ZodOptional<z.ZodEnum<["todo", "in-progress", "blocked", "done"]>>;
priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
due: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
description: string;
status?: "todo" | "in-progress" | "blocked" | "done" | undefined;
tags?: string[] | undefined;
priority?: "low" | "medium" | "high" | undefined;
due?: string | undefined;
dependsOn?: string[] | undefined;
}, {
description: string;
status?: "todo" | "in-progress" | "blocked" | "done" | undefined;
tags?: string[] | undefined;
priority?: "low" | "medium" | "high" | undefined;
due?: string | undefined;
dependsOn?: string[] | undefined;
}>;
/**
* Task update schema (all fields optional)
*/
export declare const taskUpdateSchema: z.ZodObject<{
id: z.ZodString;
description: z.ZodOptional<z.ZodString>;
status: z.ZodOptional<z.ZodEnum<["todo", "in-progress", "blocked", "done"]>>;
priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
due: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
id: string;
status?: "todo" | "in-progress" | "blocked" | "done" | undefined;
tags?: string[] | undefined;
description?: string | undefined;
priority?: "low" | "medium" | "high" | undefined;
due?: string | undefined;
dependsOn?: string[] | undefined;
}, {
id: string;
status?: "todo" | "in-progress" | "blocked" | "done" | undefined;
tags?: string[] | undefined;
description?: string | undefined;
priority?: "low" | "medium" | "high" | undefined;
due?: string | undefined;
dependsOn?: string[] | undefined;
}>;
/**
* New task interface matching schema
*/
export type NewTask = z.infer<typeof newTaskSchema>;
/**
* Task update interface matching schema
*/
export type TaskUpdate = z.infer<typeof taskUpdateSchema>;
/**
* Create a new task from partial input
*
* @param taskInput Partial task data
* @returns Valid, complete task
*/
export declare function createTask(taskInput: NewTask): Task;
/**
* Update an existing task with partial data
*
* @param existingTask Current task data
* @param taskUpdate Partial updates to apply
* @returns Updated task
*/
export declare function updateTask(existingTask: Task, taskUpdate: Omit<TaskUpdate, 'id'>): Task;
//# sourceMappingURL=model.d.ts.map