/** * Scheduler Internal MCP * * Provides tools for scheduling MCP tool executions with cron/launchd/Task Scheduler. */ import { InternalMCP, InternalTool, InternalToolResult } from './types.js'; export declare class SchedulerMCP implements InternalMCP { name: string; description: string; /** * Announce validation capability following MCP protocol * This makes the scheduler a reference implementation for capability-based validation */ capabilities: { experimental: { toolValidation: { supported: boolean; method: string; }; }; }; private scheduler; private orchestrator?; constructor(); /** * Set the orchestrator instance (called by MCP server after initialization) */ setOrchestrator(orchestrator: any): void; tools: InternalTool[]; executeTool(toolName: string, args: any): Promise; /** * REFERENCE IMPLEMENTATION: tools/validate * * This demonstrates capability-based validation for the MCP protocol. * Validates the TOOL being scheduled (e.g., filesystem:read_file), not the schedule itself. */ private handleValidate; /** * Create a new scheduled job * Uses same parameters as run + schedule + active flag */ private handleCreate; /** * Retrieve jobs and/or executions with search and filtering * Unified retrieval for all scheduler data */ private handleRetrieve; /** * Update existing job (including active state for pause/resume) */ private handleUpdate; /** * Delete a scheduled job permanently */ private handleDelete; private retrieveJobs; private retrieveExecutions; private getJobDetails; private getExecutionDetails; /** * List all jobs (simpler alternative to retrieve) * Delegates to handleRetrieve with include='jobs' */ private handleList; /** * Get specific job details * Delegates to handleRetrieve with job_id filter */ private handleGet; /** * Pause a job (set active=false) * Delegates to handleUpdate with active=false */ private handlePause; /** * Resume a job (set active=true) * Delegates to handleUpdate with active=true */ private handleResume; /** * View execution history * Delegates to handleRetrieve with include='executions' */ private handleExecutions; /** * Trigger immediate execution of a job */ private handleTrigger; } //# sourceMappingURL=scheduler.d.ts.map