feat: agent token, auth.agent middleware, /mcp route with HadoServer skeleton

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
This commit is contained in:
nikita.hohlov
2026-09-05 06:03:13 -03:00
parent 9163ff97f9
commit 450c165fce
9 changed files with 248 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
<?php
use App\Http\Middleware\AuthenticateAgent;
use App\Http\Middleware\AuthenticateSource;
use App\Http\Middleware\RemoteUser;
use Illuminate\Foundation\Application;
@@ -18,12 +19,13 @@ return Application::configure(basePath: dirname(__DIR__))
$middleware->trustProxies(at: '*');
$middleware->alias([
'auth.source' => AuthenticateSource::class,
'auth.agent' => AuthenticateAgent::class,
'remote.user' => RemoteUser::class,
]);
$middleware->validateCsrfTokens(except: ['a/*', 'hooks/*', 'me/heartbeat']);
})
->withExceptions(function (Exceptions $exceptions): void {
$exceptions->shouldRenderJsonWhen(
fn (Request $request) => $request->expectsJson() || $request->is('api/*') || $request->is('a/*') || $request->is('hooks/*'),
fn (Request $request) => $request->expectsJson() || $request->is('api/*') || $request->is('a/*') || $request->is('hooks/*') || $request->is('mcp'),
);
})->create();