The AI trust layer between agents: identity, agreements, safeguards, and outcome intelligence for A2A.

Viewing files at commit af23d8c9b675Commit detailsView latest

vercel.json 95 lines · 4.0 KB · json
1
{
2
  "$schema": "https://openapi.vercel.sh/vercel.json",
3
  "buildCommand": "corepack pnpm build",
4
  "outputDirectory": "apps/dashboard/dist",
5
  "functions": {
6
    "api/index.ts": { "maxDuration": 60 },
7
    "api/mcp.ts": { "maxDuration": 60 },
8
    "api/cron-feedback.ts": { "maxDuration": 60 }
9
  },
10
  "crons": [{ "path": "/api/cron-feedback", "schedule": "0 0 * * *" }],
11
  "headers": [
12
    {
13
      "source": "/(.*)",
14
      "headers": [
15
        { "key": "X-Content-Type-Options", "value": "nosniff" },
16
        { "key": "X-Frame-Options", "value": "DENY" },
17
        { "key": "Referrer-Policy", "value": "no-referrer" },
18
        {
19
          "key": "Permissions-Policy",
20
          "value": "camera=(), microphone=(), geolocation=(), payment=()"
21
        },
22
        {
23
          "key": "Strict-Transport-Security",
24
          "value": "max-age=31536000; includeSubDomains"
25
        },
26
        {
27
          "key": "Content-Security-Policy",
28
          "value": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src 'self' https://*.auth0.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self' https://*.auth0.com"
29
        }
30
      ]
31
    }
32
  ],
33
  "rewrites": [
34
    { "source": "/health", "destination": "/api/index?path=/health" },
35
    { "source": "/ready", "destination": "/api/index?path=/ready" },
36
    { "source": "/openapi.json", "destination": "/api/index?path=/openapi.json" },
37
    { "source": "/extensions/trust/v0.1", "destination": "/api/index?path=/extensions/trust/v0.1" },
38
    { "source": "/sessions/:id/events", "destination": "/api/index?path=/sessions/:id/events" },
39
    {
40
      "source": "/sessions/:id/completion-reports",
41
      "destination": "/api/index?path=/sessions/:id/completion-reports"
42
    },
43
    {
44
      "source": "/sessions/:id/feedback",
45
      "destination": "/api/index?path=/sessions/:id/feedback"
46
    },
47
    {
48
      "source": "/a2a/temporary/:id",
49
      "destination": "/api/index?path=/a2a/temporary/:id"
50
    },
51
    { "source": "/agents/:id/card.json", "destination": "/api/index?path=/agents/:id/card.json" },
52
    {
53
      "source": "/agents/:id/a2a-agent-card.json",
54
      "destination": "/api/index?path=/agents/:id/a2a-agent-card.json"
55
    },
56
    {
57
      "source": "/agents/:id/.well-known/openclasp-agent.json",
58
      "destination": "/api/index?path=/agents/:id/.well-known/openclasp-agent.json"
59
    },
60
    { "source": "/directory/resolve", "destination": "/api/index?path=/directory/resolve" },
61
    { "source": "/directory/search", "destination": "/api/index?path=/directory/search" },
62
    { "source": "/a/:reference", "destination": "/api/index?path=/a/:reference" },
63
    { "source": "/v0.1/:path*", "destination": "/api/index?path=/v0.1/:path*" },
64
    { "source": "/mcp", "destination": "/api/mcp" },
65
    {
66
      "source": "/.well-known/oauth-protected-resource",
67
      "destination": "/api/oauth-protected-resource"
68
    },
69
    {
70
      "source": "/.well-known/oauth-protected-resource/mcp",
71
      "destination": "/api/oauth-protected-resource"
72
    },
73
    {
74
      "source": "/.well-known/oauth-authorization-server",
75
      "destination": "/api/oauth-authorization-server"
76
    },
77
    { "source": "/oauth/register", "destination": "/api/oauth-register" },
78
    { "source": "/oauth/authorize", "destination": "/api/oauth-authorize" },
79
    { "source": "/oauth/token", "destination": "/api/oauth-token" },
80
    {
81
      "source": "/.well-known/openclasp-session-key",
82
      "destination": "/api/index?path=/.well-known/openclasp-session-key"
83
    },
84
    { "source": "/login", "destination": "/" },
85
    { "source": "/sso-callback", "destination": "/" },
86
    { "source": "/dashboard", "destination": "/" },
87
    { "source": "/history", "destination": "/" },
88
    { "source": "/conversations", "destination": "/" },
89
    { "source": "/agents", "destination": "/" },
90
    { "source": "/insights", "destination": "/" },
91
    { "source": "/connect", "destination": "/" },
92
    { "source": "/marketplace", "destination": "/" },
93
    { "source": "/settings", "destination": "/" }
94
  ]
95
}