/** * In-memory tracker for in-flight byte-slice uploads on the MCP stdio server. * * Why this exists: `classifyAudio` returns immediately after slice 0 to stay * within the MCP client's tool-call wall budget. The tail upload (slices 1..N) * runs in the background of the same Node process. AI agents poll * `getUploadStatus(uploadSessionId)` to learn when the tail has produced a * `requestId` they can pass to `getJob`. * * Lifetime: lives in the singleton MCP server process between tool calls. * Lost on process restart — same blast radius as today's in-flight promise. */ export type UploadState = { uploadSessionId: string; fileName: string; totalSlices: number; slicesUploaded: number; totalBytes: number; startedAt: string; lastUpdatedAt: string; status: 'uploading' | 'complete' | 'failed'; requestId?: string; error?: string; }; export declare function trackerStart(state: Omit): void; export declare function trackerUpdate(uploadSessionId: string, patch: Partial): void; export declare function trackerGet(uploadSessionId: string): UploadState | undefined; export declare function trackerSize(): number; /** Test-only: clear the tracker between cases. */ export declare function trackerReset(): void; //# sourceMappingURL=upload-tracker.d.ts.map