{"record":{"id":"d3c3be1ec7b5aee5","repo":"ruvnet/ruflo","slug":"32000-d3c3be","errorCode":"-32000","errorMessage":"Rate limit exceeded","messagePattern":"Rate limit exceeded","errorType":"http","errorClass":null,"httpStatus":429,"severity":"error","filePath":"v3/@claude-flow/mcp/src/rate-limiter.ts","lineNumber":251,"sourceCode":"  config?: Partial<RateLimitConfig>\n): RateLimiter {\n  return new RateLimiter(logger, config);\n}\n\n/**\n * Express/Connect middleware for rate limiting\n */\nexport function rateLimitMiddleware(rateLimiter: RateLimiter) {\n  return (req: any, res: any, next: () => void) => {\n    const sessionId = req.headers['x-session-id'] || req.ip;\n    const result = rateLimiter.check(sessionId);\n\n    res.setHeader('X-RateLimit-Remaining', result.remaining);\n    res.setHeader('X-RateLimit-Reset', Math.ceil(Date.now() / 1000) + Math.ceil(result.resetIn / 1000));\n\n    if (!result.allowed) {\n      res.setHeader('Retry-After', result.retryAfter);\n      res.status(429).json({\n        jsonrpc: '2.0',\n        id: null,\n        error: {\n          code: -32000,\n          message: 'Rate limit exceeded',\n          data: { retryAfter: result.retryAfter },\n        },\n      });\n      return;\n    }\n\n    rateLimiter.consume(sessionId);\n    next();\n  };\n}\n","sourceCodeStart":233,"sourceCodeEnd":267,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/mcp/src/rate-limiter.ts#L233-L267","documentation":"rateLimitMiddleware() checked the session/ip bucket and result.allowed was false — the client exceeded the configured request rate for the window. The response carries X-RateLimit-Remaining/Reset headers; the client should wait until resetIn elapses before retrying rather than treat this as a server fault.","triggerScenarios":"Thrown at v3/@claude-flow/mcp/src/rate-limiter.ts:251 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Back off and retry after the rate limit window resets (respect Retry-After if provided).","Reduce request frequency, batch operations, or request a higher rate limit quota."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}