( sessionId: string, timeoutMs: number, )
| 445 | // ============ Handlers ============ |
| 446 | |
| 447 | async function waitForProcessExit( |
| 448 | sessionId: string, |
| 449 | timeoutMs: number, |
| 450 | ): Promise<boolean> { |
| 451 | const deadline = Date.now() + timeoutMs; |
| 452 | while (Date.now() < deadline) { |
| 453 | if (!isProcessRunning(sessionId)) return true; |
| 454 | await new Promise(resolve => setTimeout(resolve, 100)); |
| 455 | } |
| 456 | return !isProcessRunning(sessionId); |
| 457 | } |
| 458 | |
| 459 | async function handleAsk( |
| 460 | params: zod.infer<typeof AskSchema>, |
no test coverage detected