/** * Background job tools: check status, read output, list, kill. * * A job's state lives entirely on the server, so there is no memory here * between calls and no read cursor: the caller holds the position and sends * it back itself. That way answers are corrupted by neither our process * restarting nor a second client. */ import { CallToolRequest, Tool } from '@modelcontextprotocol/sdk/types.js'; import { type ToolResult } from '../utils/tool-result.js'; export declare class JobTools { private executor; constructor(); getTools(): Tool[]; handleCall(request: CallToolRequest, signal?: AbortSignal): Promise; /** * Profile config and job directory from its id. * * `jobPaths` validates the id's format: it travels into a path on the * server, and the check lives where the path is built, not in every tool. */ private locate; private handleStatus; /** Status response: the outcome on the first line, details below it */ private describeStatus; private handleOutput; private handleList; private handleKill; }