job-timeout-config.jsonā¢3.97 kB
{
"$schema": "./src/schemas/job-timeout-config.schema.json",
"description": "Job timeout configuration for MCP tools",
"version": "1.0.0",
"defaults": {
"taskExecution": 300000,
"llmRequest": 60000,
"fileOperations": 10000,
"networkOperations": 20000,
"databaseOperations": 15000,
"taskDecomposition": 600000,
"recursiveTaskDecomposition": 720000,
"taskRefinement": 180000,
"agentCommunication": 30000
},
"toolTimeouts": {
"prd-generator": {
"timeoutOperation": "llmRequest",
"customTimeoutMs": 120000,
"description": "PRD generation requires research and multiple LLM calls"
},
"research-manager": {
"timeoutOperation": "networkOperations",
"customTimeoutMs": 180000,
"description": "Research queries can take longer due to external API calls"
},
"map-codebase": {
"timeoutOperation": "fileOperations",
"customTimeoutMs": 900000,
"description": "Code mapping can be intensive for large codebases"
},
"vibe-task-manager": {
"timeoutOperation": "taskExecution",
"customTimeoutMs": 600000,
"description": "Task management operations can involve complex decomposition"
},
"curate-context": {
"timeoutOperation": "taskExecution",
"customTimeoutMs": 1200000,
"description": "Context curation involves code analysis, embedded code-map generation, and LLM processing"
},
"fullstack-starter-kit-generator": {
"timeoutOperation": "fileOperations",
"customTimeoutMs": 180000,
"description": "Generating starter kits involves many file operations"
},
"user-stories-generator": {
"timeoutOperation": "llmRequest",
"customTimeoutMs": 90000,
"description": "User story generation with LLM"
},
"task-list-generator": {
"timeoutOperation": "llmRequest",
"customTimeoutMs": 90000,
"description": "Task list generation with LLM"
},
"rules-generator": {
"timeoutOperation": "llmRequest",
"customTimeoutMs": 60000,
"description": "Rules generation is typically faster"
},
"run-workflow": {
"timeoutOperation": "taskExecution",
"customTimeoutMs": 900000,
"description": "Workflows can run multiple tools in sequence"
},
"get-job-result": {
"timeoutOperation": "taskExecution",
"customTimeoutMs": 5000,
"description": "Job result retrieval should be fast"
},
"register-agent": {
"timeoutOperation": "networkOperations",
"customTimeoutMs": 30000,
"description": "Agent registration with transport setup"
},
"get-agent-tasks": {
"timeoutOperation": "taskExecution",
"customTimeoutMs": 10000,
"description": "Task polling should be responsive"
},
"submit-task-response": {
"timeoutOperation": "taskExecution",
"customTimeoutMs": 30000,
"description": "Task response submission"
},
"process-request": {
"timeoutOperation": "llmRequest",
"customTimeoutMs": 45000,
"description": "Natural language processing with tool routing"
}
},
"adaptiveTimeouts": {
"enabled": true,
"scalingFactors": {
"fileCount": {
"threshold": 1000,
"multiplier": 1.5
},
"codebaseSize": {
"threshold": 104857600,
"multiplier": 2.0
}
}
},
"retryPolicy": {
"maxRetries": 3,
"backoffMultiplier": 2.0,
"initialDelayMs": 1000,
"maxDelayMs": 30000,
"enableExponentialBackoff": true,
"retryableErrors": [
"TIMEOUT",
"NETWORK_ERROR",
"RATE_LIMIT",
"TEMPORARY_FAILURE"
]
},
"monitoring": {
"enableTimeoutLogging": true,
"logLevel": "warn",
"metricsEnabled": true,
"alertThresholds": {
"timeoutRate": 0.1,
"averageExecutionTime": 0.8
}
}
}