timeout-test
Test timeout prevention by running for a specified duration to verify system stability and response handling under controlled conditions.
Instructions
Test timeout prevention by running for a specified duration
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| duration | Yes | Duration in milliseconds (minimum 10ms) |
Implementation Reference
- src/tools/timeout-test.tool.ts:16-37 (handler)The execute function implementing the core logic of the 'timeout-test' tool: sleeps for the specified duration using setTimeout in steps, reports progress, and returns a summary of the test.execute: async (args, onProgress) => { const duration = args.duration as number; const steps = Math.ceil(duration / 5000); // Progress every 5 seconds const stepDuration = duration / steps; const startTime = Date.now(); const results: string[] = []; results.push(`Starting timeout test for ${duration}ms (${duration/1000}s)`); for (let i = 1; i <= steps; i++) { await new Promise(resolve => setTimeout(resolve, stepDuration)); const elapsed = Date.now() - startTime; results.push(`Step ${i}/${steps} completed - Elapsed: ${Math.round(elapsed/1000)}s`); } const totalElapsed = Date.now() - startTime; results.push(`\nTimeout test completed successfully!`); results.push(`Target duration: ${duration}ms`); results.push(`Actual duration: ${totalElapsed}ms`); return results.join('\n'); }
- src/tools/timeout-test.tool.ts:4-6 (schema)Zod input schema for the 'timeout-test' tool, defining the 'duration' parameter.const timeoutTestArgsSchema = z.object({ duration: z.number().min(10).describe("Duration in milliseconds (minimum 10ms)"), });
- src/tools/index.ts:9-16 (registration)Registration of the 'timeoutTestTool' by pushing it to the toolRegistry alongside other tools.toolRegistry.push( askGeminiTool, pingTool, helpTool, brainstormTool, fetchChunkTool, timeoutTestTool );