prompt-scheduler-mcp
Version:
MCP server for managing Augment Prompt Scheduler tasks with local workspace storage and real-time countdown features
102 lines • 2.73 kB
TypeScript
export interface ScheduledTask {
id: string;
title: string;
prompt: string;
priority: 'low' | 'medium' | 'high';
createdAt: number;
scheduledFor?: number;
tags: string[];
isActive: boolean;
executionCount: number;
lastExecuted?: number;
maxExecutions: number;
executionMode: 'once' | 'limited' | 'infinite';
idleThresholdMinutes: number;
idleStartTime?: number;
lastStatusCheck?: string;
}
export interface TaskCreateData {
title: string;
prompt: string;
priority?: 'low' | 'medium' | 'high';
tags?: string[];
executionMode?: 'once' | 'limited' | 'infinite';
maxExecutions?: number;
idleThresholdMinutes?: number;
isActive?: boolean;
}
export interface TaskUpdateData {
id: string;
title?: string;
prompt?: string;
priority?: 'low' | 'medium' | 'high';
tags?: string[];
executionMode?: 'once' | 'limited' | 'infinite';
maxExecutions?: number;
idleThresholdMinutes?: number;
isActive?: boolean;
}
export interface ListTasksOptions {
activeOnly?: boolean;
priority?: 'low' | 'medium' | 'high';
}
export interface SchedulerStatus {
totalTasks: number;
activeTasks: number;
completedTasks: number;
lastActivity?: number;
isRunning: boolean;
}
export declare class PromptSchedulerManager {
private tasksFilePath;
private configFilePath;
private workspaceId;
constructor(workspaceId?: string);
private detectWorkspace;
private getWorkspaceHash;
private ensureDataDirectory;
setWorkspace(workspaceId: string): void;
getWorkspaceInfo(): {
workspaceId: string;
tasksFile: string;
configFile: string;
};
private generateTaskId;
private loadTasks;
private saveTasks;
createTask(taskData: TaskCreateData): Promise<{
success: boolean;
task?: ScheduledTask;
error?: string;
}>;
listTasks(options?: ListTasksOptions): Promise<{
success: boolean;
tasks?: ScheduledTask[];
error?: string;
}>;
getTask(id: string): Promise<{
success: boolean;
task?: ScheduledTask;
error?: string;
}>;
updateTask(updateData: TaskUpdateData): Promise<{
success: boolean;
task?: ScheduledTask;
error?: string;
}>;
deleteTask(id: string): Promise<{
success: boolean;
error?: string;
}>;
executeTask(id: string): Promise<{
success: boolean;
message?: string;
error?: string;
}>;
getSchedulerStatus(): Promise<{
success: boolean;
status?: SchedulerStatus;
error?: string;
}>;
}
//# sourceMappingURL=scheduler-manager.d.ts.map