configureRateLimiting(); $this->routes(function () { Route::prefix('api') ->middleware('api') ->group(base_path('routes/api.php')); Route::middleware('web') ->group(base_path('routes/web.php')); }); } /** * Configure the rate limiters for the application. */ protected function configureRateLimiting(): void { RateLimiter::for('api', function (Request $request) { return Limit::perMinute(60); }); // AI endpoints — per user per company, fairly generous for chat use // but low enough to contain runaway clients / loops. RateLimiter::for('ai', function (Request $request) { $user = $request->user(); $companyId = $request->header('company') ?? 'noop'; $key = $user ? "{$user->id}:{$companyId}" : $request->ip(); return Limit::perMinute(30)->by($key); }); } }