mukaddamzaid commited on
Commit
dc037f7
·
unverified ·
2 Parent(s): 1bacf17 42e0022

Merge pull request #21 from julien-c/mcp-http

Browse files

Mcp-client: hook the new `StreamableHTTPClientTransport`

README.md CHANGED
@@ -17,7 +17,7 @@
17
 
18
  - Streaming text responses powered by the [AI SDK by Vercel](https://sdk.vercel.ai/docs), allowing multiple AI providers to be used interchangeably with just a few lines of code.
19
  - Full integration with [Model Context Protocol (MCP)](https://modelcontextprotocol.io) servers to expand available tools and capabilities.
20
- - Multiple MCP transport types (SSE and stdio) for connecting to various tool providers.
21
  - Built-in tool integration for extending AI capabilities.
22
  - Reasoning model support.
23
  - [shadcn/ui](https://ui.shadcn.com/) components for a modern, responsive UI powered by [Tailwind CSS](https://tailwindcss.com).
@@ -32,13 +32,13 @@ This application supports connecting to Model Context Protocol (MCP) servers to
32
  1. Click the settings icon (⚙️) next to the model selector in the chat interface.
33
  2. Enter a name for your MCP server.
34
  3. Select the transport type:
35
- - **SSE (Server-Sent Events)**: For HTTP-based remote servers
36
  - **stdio (Standard I/O)**: For local servers running on the same machine
37
 
38
- #### SSE Configuration
39
 
40
- If you select SSE transport:
41
- 1. Enter the server URL (e.g., `https://mcp.example.com/token/sse`)
42
  2. Click "Add Server"
43
 
44
  #### stdio Configuration
@@ -57,6 +57,7 @@ You can use any MCP-compatible server with this application. Here are some examp
57
 
58
  - [Composio](https://composio.dev/mcp) - Provides search, code interpreter, and other tools
59
  - [Zapier MCP](https://zapier.com/mcp) - Provides access to Zapier tools
 
60
  - Any MCP server using stdio transport with npx and python3
61
 
62
  ## License
 
17
 
18
  - Streaming text responses powered by the [AI SDK by Vercel](https://sdk.vercel.ai/docs), allowing multiple AI providers to be used interchangeably with just a few lines of code.
19
  - Full integration with [Model Context Protocol (MCP)](https://modelcontextprotocol.io) servers to expand available tools and capabilities.
20
+ - Multiple MCP transport types (HTTP, SSE and stdio) for connecting to various tool providers.
21
  - Built-in tool integration for extending AI capabilities.
22
  - Reasoning model support.
23
  - [shadcn/ui](https://ui.shadcn.com/) components for a modern, responsive UI powered by [Tailwind CSS](https://tailwindcss.com).
 
32
  1. Click the settings icon (⚙️) next to the model selector in the chat interface.
33
  2. Enter a name for your MCP server.
34
  3. Select the transport type:
35
+ - **HTTP or SSE (Server-Sent Events)**: For HTTP-based remote servers
36
  - **stdio (Standard I/O)**: For local servers running on the same machine
37
 
38
+ #### HTTP or SSE Configuration
39
 
40
+ If you select HTTP / SSE transport:
41
+ 1. Enter the server URL (e.g., `https://mcp.example.com/mcp` or `https://mcp.example.com/token/sse`)
42
  2. Click "Add Server"
43
 
44
  #### stdio Configuration
 
57
 
58
  - [Composio](https://composio.dev/mcp) - Provides search, code interpreter, and other tools
59
  - [Zapier MCP](https://zapier.com/mcp) - Provides access to Zapier tools
60
+ - [Hugging Face MCP](https://huggingface.co/mcp) - Provides tool access to Hugging Face Hub
61
  - Any MCP server using stdio transport with npx and python3
62
 
63
  ## License
components/mcp-server-manager.tsx CHANGED
@@ -190,7 +190,7 @@ export const MCPServerManager = ({
190
  }
191
 
192
  if (newServer.type === 'sse' && !newServer.url) {
193
- toast.error("Server URL is required for SSE transport");
194
  return;
195
  }
196
 
@@ -433,7 +433,7 @@ export const MCPServerManager = ({
433
  return;
434
  }
435
  if (newServer.type === 'sse' && !newServer.url) {
436
- toast.error("Server URL is required for SSE transport");
437
  return;
438
  }
439
  if (newServer.type === 'stdio' && (!newServer.command || !newServer.args?.length)) {
@@ -605,7 +605,7 @@ export const MCPServerManager = ({
605
  </div>
606
  <div className="flex items-center gap-2">
607
  <span className="text-xs px-2 py-0.5 rounded-full bg-secondary text-secondary-foreground">
608
- {server.type.toUpperCase()}
609
  </span>
610
 
611
  {/* Status indicator */}
@@ -738,8 +738,8 @@ export const MCPServerManager = ({
738
  >
739
  <Globe className={`h-5 w-5 shrink-0 ${newServer.type === 'sse' ? 'text-primary' : ''}`} />
740
  <div>
741
- <p className="font-medium">SSE</p>
742
- <p className="text-xs text-muted-foreground">Server-Sent Events</p>
743
  </div>
744
  </button>
745
 
@@ -771,11 +771,11 @@ export const MCPServerManager = ({
771
  id="url"
772
  value={newServer.url}
773
  onChange={(e) => setNewServer({ ...newServer, url: e.target.value })}
774
- placeholder="https://mcp.example.com/token/sse"
775
  className="relative z-0"
776
  />
777
  <p className="text-xs text-muted-foreground">
778
- Full URL to the SSE endpoint of the MCP server
779
  </p>
780
  </div>
781
  ) : (
@@ -1055,7 +1055,7 @@ export const MCPServerManager = ({
1055
  )}
1056
  <p className="text-xs text-muted-foreground">
1057
  {newServer.type === 'sse'
1058
- ? 'HTTP headers will be sent with requests to the SSE endpoint.'
1059
  : 'Additional configuration parameters for the stdio transport.'}
1060
  </p>
1061
  </div>
 
190
  }
191
 
192
  if (newServer.type === 'sse' && !newServer.url) {
193
+ toast.error("Server URL is required for HTTP or SSE transport");
194
  return;
195
  }
196
 
 
433
  return;
434
  }
435
  if (newServer.type === 'sse' && !newServer.url) {
436
+ toast.error("Server URL is required for HTTP or SSE transport");
437
  return;
438
  }
439
  if (newServer.type === 'stdio' && (!newServer.command || !newServer.args?.length)) {
 
605
  </div>
606
  <div className="flex items-center gap-2">
607
  <span className="text-xs px-2 py-0.5 rounded-full bg-secondary text-secondary-foreground">
608
+ {server.type === "stdio" ? "STDIO" : server.url?.endsWith("/sse") ? "SSE" : "HTTP"}
609
  </span>
610
 
611
  {/* Status indicator */}
 
738
  >
739
  <Globe className={`h-5 w-5 shrink-0 ${newServer.type === 'sse' ? 'text-primary' : ''}`} />
740
  <div>
741
+ <p className="font-medium">HTTP / SSE</p>
742
+ <p className="text-xs text-muted-foreground">Remote Server</p>
743
  </div>
744
  </button>
745
 
 
771
  id="url"
772
  value={newServer.url}
773
  onChange={(e) => setNewServer({ ...newServer, url: e.target.value })}
774
+ placeholder="https://mcp.example.com/token/mcp"
775
  className="relative z-0"
776
  />
777
  <p className="text-xs text-muted-foreground">
778
+ Full URL to the HTTP or SSE endpoint of the MCP server
779
  </p>
780
  </div>
781
  ) : (
 
1055
  )}
1056
  <p className="text-xs text-muted-foreground">
1057
  {newServer.type === 'sse'
1058
+ ? 'HTTP headers will be sent with requests to the HTTP or SSE endpoint.'
1059
  : 'Additional configuration parameters for the stdio transport.'}
1060
  </p>
1061
  </div>
lib/context/mcp-context.tsx CHANGED
@@ -150,7 +150,7 @@ export function MCPProvider({ children }: { children: React.ReactNode }) {
150
  updateServerStatus(serverId, 'connecting');
151
 
152
  try {
153
- // For SSE servers, just check if the endpoint is available
154
  if (server.type === 'sse') {
155
  const isReady = await waitForServerReady(server.url);
156
  updateServerStatus(serverId, isReady ? 'connected' : 'error',
 
150
  updateServerStatus(serverId, 'connecting');
151
 
152
  try {
153
+ // For HTTP or SSE servers, just check if the endpoint is available
154
  if (server.type === 'sse') {
155
  const isReady = await waitForServerReady(server.url);
156
  updateServerStatus(serverId, isReady ? 'connected' : 'error',
lib/mcp-client.ts CHANGED
@@ -1,5 +1,5 @@
1
  import { experimental_createMCPClient as createMCPClient } from 'ai';
2
-
3
 
4
  export interface KeyValuePair {
5
  key: string;
@@ -23,7 +23,7 @@ export interface MCPClientManager {
23
 
24
  /**
25
  * Initialize MCP clients for API calls
26
- * This uses the already running persistent SSE servers
27
  */
28
  export async function initializeMCPClients(
29
  mcpServers: MCPServerConfig[] = [],
@@ -36,15 +36,26 @@ export async function initializeMCPClients(
36
  // Process each MCP server configuration
37
  for (const mcpServer of mcpServers) {
38
  try {
39
- // All servers are handled as SSE
40
- const transport = {
41
- type: 'sse' as const,
42
- url: mcpServer.url,
43
- headers: mcpServer.headers?.reduce((acc, header) => {
44
- if (header.key) acc[header.key] = header.value || '';
45
- return acc;
46
- }, {} as Record<string, string>)
47
- };
 
 
 
 
 
 
 
 
 
 
 
48
 
49
  const mcpClient = await createMCPClient({ transport });
50
  mcpClients.push(mcpClient);
 
1
  import { experimental_createMCPClient as createMCPClient } from 'ai';
2
+ import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
3
 
4
  export interface KeyValuePair {
5
  key: string;
 
23
 
24
  /**
25
  * Initialize MCP clients for API calls
26
+ * This uses the already running persistent HTTP or SSE servers
27
  */
28
  export async function initializeMCPClients(
29
  mcpServers: MCPServerConfig[] = [],
 
36
  // Process each MCP server configuration
37
  for (const mcpServer of mcpServers) {
38
  try {
39
+ const headers = mcpServer.headers?.reduce((acc, header) => {
40
+ if (header.key) acc[header.key] = header.value || '';
41
+ return acc;
42
+ }, {} as Record<string, string>);
43
+
44
+ // All servers are handled as HTTP or SSE
45
+ // SSE is only when URL ends with /sse
46
+ // which is the heuristic used by other clients
47
+
48
+ const transport = mcpServer.url.endsWith('/sse')
49
+ ? {
50
+ type: 'sse' as const,
51
+ url: mcpServer.url,
52
+ headers,
53
+ }
54
+ : new StreamableHTTPClientTransport(new URL(mcpServer.url), {
55
+ requestInit: {
56
+ headers,
57
+ },
58
+ });
59
 
60
  const mcpClient = await createMCPClient({ transport });
61
  mcpClients.push(mcpClient);
package.json CHANGED
@@ -21,6 +21,7 @@
21
  "@ai-sdk/xai": "^1.2.16",
22
  "@aws-sdk/client-s3": "^3.821.0",
23
  "@daytonaio/sdk": "^0.19.0",
 
24
  "@neondatabase/serverless": "^1.0.0",
25
  "@radix-ui/react-accordion": "^1.2.7",
26
  "@radix-ui/react-avatar": "^1.1.6",
 
21
  "@ai-sdk/xai": "^1.2.16",
22
  "@aws-sdk/client-s3": "^3.821.0",
23
  "@daytonaio/sdk": "^0.19.0",
24
+ "@modelcontextprotocol/sdk": "^1.12.1",
25
  "@neondatabase/serverless": "^1.0.0",
26
  "@radix-ui/react-accordion": "^1.2.7",
27
  "@radix-ui/react-avatar": "^1.1.6",
pnpm-lock.yaml CHANGED
@@ -32,6 +32,9 @@ importers:
32
  '@daytonaio/sdk':
33
  specifier: ^0.19.0
34
  version: 0.19.0(@babel/[email protected])([email protected])
 
 
 
35
  '@neondatabase/serverless':
36
  specifier: ^1.0.0
37
  version: 1.0.0
@@ -1464,6 +1467,10 @@ packages:
1464
  '@jridgewell/[email protected]':
1465
  resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
1466
 
 
 
 
 
1467
  '@napi-rs/[email protected]':
1468
  resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==}
1469
 
@@ -2647,6 +2654,10 @@ packages:
2647
  vue-router:
2648
  optional: true
2649
 
 
 
 
 
2650
2651
  resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
2652
  peerDependencies:
@@ -2766,6 +2777,10 @@ packages:
2766
2767
  resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
2768
 
 
 
 
 
2769
2770
  resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
2771
 
@@ -2794,6 +2809,10 @@ packages:
2794
  resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
2795
  engines: {node: '>=10.16.0'}
2796
 
 
 
 
 
2797
2798
  resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
2799
  engines: {node: '>= 0.4'}
@@ -2894,12 +2913,32 @@ packages:
2894
2895
  resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
2896
 
 
 
 
 
 
 
 
 
2897
2898
  resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
2899
 
 
 
 
 
 
 
 
 
2900
2901
  resolution: {integrity: sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==}
2902
 
 
 
 
 
2903
2904
  resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
2905
  engines: {node: '>= 8'}
@@ -2957,6 +2996,10 @@ packages:
2957
  resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
2958
  engines: {node: '>=0.4.0'}
2959
 
 
 
 
 
2960
2961
  resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
2962
  engines: {node: '>=6'}
@@ -3086,12 +3129,19 @@ packages:
3086
  resolution: {integrity: sha512-eJAgf9pdv214Hn98FlUzclRMYWF7WfoLlkS9nWMTm1qcCwn6Ad4EGD9lr9HXMBfSrZhYQujRE+p0adPRkctC6A==}
3087
  engines: {bun: '>=1', deno: '>=2', node: '>=16'}
3088
 
 
 
 
3089
3090
  resolution: {integrity: sha512-hQA+Zb5QQwoSaXJWEAGEw1zhk//O7qDzib05Z4qTqZfNju/FAkrm5ZInp0JbTp4Z18A6bilopdZWEYrFSsfllA==}
3091
 
3092
3093
  resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
3094
 
 
 
 
 
3095
3096
  resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
3097
  engines: {node: '>=10.13.0'}
@@ -3151,6 +3201,9 @@ packages:
3151
  resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
3152
  engines: {node: '>=6'}
3153
 
 
 
 
3154
3155
  resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
3156
  engines: {node: '>=10'}
@@ -3278,14 +3331,36 @@ packages:
3278
  resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
3279
  engines: {node: '>=0.10.0'}
3280
 
 
 
 
 
3281
3282
  resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
3283
  engines: {node: '>=0.8.x'}
3284
 
 
 
 
 
 
 
 
 
3285
3286
  resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
3287
  engines: {node: '>=10'}
3288
 
 
 
 
 
 
 
 
 
 
 
3289
3290
  resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
3291
 
@@ -3332,6 +3407,10 @@ packages:
3332
  resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
3333
  engines: {node: '>=8'}
3334
 
 
 
 
 
3335
3336
  resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
3337
  engines: {node: '>=10'}
@@ -3364,6 +3443,10 @@ packages:
3364
  resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
3365
  engines: {node: '>=0.4.x'}
3366
 
 
 
 
 
3367
3368
  resolution: {integrity: sha512-xryrmD4jSBQrS2IkMdcTmiS4aSKckbS7kLDCuhUn9110SQKG1w3zlq1RTqCblewg+ZYe+m3sdtzQA6cRwo5g8Q==}
3369
  peerDependencies:
@@ -3378,6 +3461,10 @@ packages:
3378
  react-dom:
3379
  optional: true
3380
 
 
 
 
 
3381
3382
  resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
3383
  engines: {node: '>= 8'}
@@ -3497,10 +3584,18 @@ packages:
3497
3498
  resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
3499
 
 
 
 
 
3500
3501
  resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
3502
  engines: {node: '>=10.17.0'}
3503
 
 
 
 
 
3504
3505
  resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
3506
 
@@ -3526,6 +3621,10 @@ packages:
3526
  resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
3527
  engines: {node: '>= 0.4'}
3528
 
 
 
 
 
3529
3530
  resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
3531
 
@@ -3620,6 +3719,9 @@ packages:
3620
  resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
3621
  engines: {node: '>=12'}
3622
 
 
 
 
3623
3624
  resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
3625
  engines: {node: '>= 0.4'}
@@ -3899,6 +4001,14 @@ packages:
3899
3900
  resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
3901
 
 
 
 
 
 
 
 
 
3902
3903
  resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
3904
 
@@ -3998,10 +4108,18 @@ packages:
3998
  resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
3999
  engines: {node: '>= 0.6'}
4000
 
 
 
 
 
4001
4002
  resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
4003
  engines: {node: '>= 0.6'}
4004
 
 
 
 
 
4005
4006
  resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
4007
  engines: {node: '>=6'}
@@ -4086,6 +4204,10 @@ packages:
4086
4087
  resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
4088
 
 
 
 
 
4089
4090
  resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
4091
  peerDependencies:
@@ -4159,6 +4281,13 @@ packages:
4159
4160
  resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
4161
 
 
 
 
 
 
 
 
4162
4163
  resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
4164
  engines: {node: '>=6'}
@@ -4192,6 +4321,10 @@ packages:
4192
4193
  resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
4194
 
 
 
 
 
4195
4196
  resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
4197
  engines: {node: '>=8'}
@@ -4203,6 +4336,10 @@ packages:
4203
4204
  resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
4205
 
 
 
 
 
4206
4207
  resolution: {integrity: sha512-OOX22Vt0vOSRrdoUPKJ8Wi2OpE/o/h9T8X1s4qSkCedbNah9ei2W2765be8iMVxQUsvgT7zIAT2eIa9fs5+vtg==}
4208
 
@@ -4264,6 +4401,10 @@ packages:
4264
  resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
4265
  engines: {node: '>=12'}
4266
 
 
 
 
 
4267
4268
  resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
4269
  engines: {node: '>= 0.4'}
@@ -4332,6 +4473,10 @@ packages:
4332
4333
  resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==}
4334
 
 
 
 
 
4335
4336
  resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
4337
 
@@ -4343,9 +4488,21 @@ packages:
4343
  resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
4344
  engines: {node: '>=6'}
4345
 
 
 
 
 
4346
4347
  resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
4348
 
 
 
 
 
 
 
 
 
4349
4350
  resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
4351
  peerDependencies:
@@ -4464,6 +4621,10 @@ packages:
4464
  resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
4465
  engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
4466
 
 
 
 
 
4467
4468
  resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
4469
 
@@ -4482,6 +4643,9 @@ packages:
4482
  resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
4483
  engines: {node: '>= 0.4'}
4484
 
 
 
 
4485
4486
  resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
4487
 
@@ -4497,6 +4661,14 @@ packages:
4497
  engines: {node: '>=10'}
4498
  hasBin: true
4499
 
 
 
 
 
 
 
 
 
4500
4501
  resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
4502
  engines: {node: '>= 0.4'}
@@ -4509,6 +4681,9 @@ packages:
4509
  resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
4510
  engines: {node: '>= 0.4'}
4511
 
 
 
 
4512
4513
  resolution: {integrity: sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==}
4514
  engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
@@ -4577,6 +4752,10 @@ packages:
4577
4578
  resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==}
4579
 
 
 
 
 
4580
4581
  resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==}
4582
 
@@ -4695,6 +4874,10 @@ packages:
4695
  resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
4696
  engines: {node: '>=8.0'}
4697
 
 
 
 
 
4698
4699
  resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
4700
 
@@ -4720,6 +4903,10 @@ packages:
4720
  resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
4721
  engines: {node: '>= 0.8.0'}
4722
 
 
 
 
 
4723
4724
  resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
4725
  engines: {node: '>= 0.4'}
@@ -4803,6 +4990,10 @@ packages:
4803
4804
  resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
4805
 
 
 
 
 
4806
4807
  resolution: {integrity: sha512-6aia3Oy7SEe0MuUGQm2nsyob0L2+g57w178K5SE/3pvSGAIp28BB2O921fKx424Ahc/gQ6v0DXFbhcpyhGZdOA==}
4808
 
@@ -4855,6 +5046,10 @@ packages:
4855
  resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
4856
  hasBin: true
4857
 
 
 
 
 
4858
4859
  resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
4860
 
@@ -4891,6 +5086,9 @@ packages:
4891
  resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
4892
  engines: {node: '>=0.10.0'}
4893
 
 
 
 
4894
4895
  resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
4896
  engines: {node: '>=0.4'}
@@ -6546,6 +6744,22 @@ snapshots:
6546
  '@jridgewell/resolve-uri': 3.1.2
6547
  '@jridgewell/sourcemap-codec': 1.5.0
6548
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6549
  '@napi-rs/[email protected]':
6550
  dependencies:
6551
  '@emnapi/core': 1.4.3
@@ -7785,6 +7999,11 @@ snapshots:
7785
7786
  react: 19.1.0
7787
 
 
 
 
 
 
7788
7789
  dependencies:
7790
  acorn: 8.14.1
@@ -7939,6 +8158,20 @@ snapshots:
7939
 
7940
7941
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7942
7943
 
7944
@@ -7972,6 +8205,8 @@ snapshots:
7972
  dependencies:
7973
  streamsearch: 1.1.0
7974
 
 
 
7975
7976
  dependencies:
7977
  es-errors: 1.3.0
@@ -8058,12 +8293,27 @@ snapshots:
8058
 
8059
8060
 
 
 
 
 
 
 
8061
8062
 
 
 
 
 
8063
8064
  dependencies:
8065
  browserslist: 4.25.0
8066
 
 
 
 
 
 
8067
8068
  dependencies:
8069
  path-key: 3.1.1
@@ -8120,6 +8370,8 @@ snapshots:
8120
 
8121
8122
 
 
 
8123
8124
 
8125
@@ -8168,10 +8420,14 @@ snapshots:
8168
  '@noble/curves': 1.9.0
8169
  '@noble/hashes': 1.8.0
8170
 
 
 
8171
8172
 
8173
8174
 
 
 
8175
8176
  dependencies:
8177
  graceful-fs: 4.2.11
@@ -8339,6 +8595,8 @@ snapshots:
8339
 
8340
8341
 
 
 
8342
8343
 
8344
@@ -8542,8 +8800,16 @@ snapshots:
8542
 
8543
8544
 
 
 
8545
8546
 
 
 
 
 
 
 
8547
8548
  dependencies:
8549
  cross-spawn: 7.0.6
@@ -8556,6 +8822,42 @@ snapshots:
8556
  signal-exit: 3.0.7
8557
  strip-final-newline: 2.0.0
8558
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8559
8560
 
8561
@@ -8604,6 +8906,17 @@ snapshots:
8604
  dependencies:
8605
  to-regex-range: 5.0.1
8606
 
 
 
 
 
 
 
 
 
 
 
 
8607
8608
  dependencies:
8609
  locate-path: 6.0.0
@@ -8631,6 +8944,8 @@ snapshots:
8631
 
8632
8633
 
 
 
8634
8635
  dependencies:
8636
  motion-dom: 12.16.0
@@ -8640,6 +8955,8 @@ snapshots:
8640
  react: 19.1.0
8641
  react-dom: 19.1.0([email protected])
8642
 
 
 
8643
8644
  dependencies:
8645
  minipass: 3.3.6
@@ -8776,8 +9093,20 @@ snapshots:
8776
 
8777
8778
 
 
 
 
 
 
 
 
 
8779
8780
 
 
 
 
 
8781
8782
 
8783
@@ -8799,6 +9128,8 @@ snapshots:
8799
  hasown: 2.0.2
8800
  side-channel: 1.1.0
8801
 
 
 
8802
8803
 
8804
@@ -8896,6 +9227,8 @@ snapshots:
8896
 
8897
8898
 
 
 
8899
8900
  dependencies:
8901
  call-bound: 1.0.4
@@ -9256,6 +9589,10 @@ snapshots:
9256
 
9257
9258
 
 
 
 
 
9259
9260
 
9261
@@ -9458,10 +9795,16 @@ snapshots:
9458
 
9459
9460
 
 
 
9461
9462
  dependencies:
9463
  mime-db: 1.52.0
9464
 
 
 
 
 
9465
9466
 
9467
@@ -9519,6 +9862,8 @@ snapshots:
9519
 
9520
9521
 
 
 
9522
9523
  dependencies:
9524
  react: 19.1.0
@@ -9602,6 +9947,14 @@ snapshots:
9602
 
9603
9604
 
 
 
 
 
 
 
 
 
9605
9606
  dependencies:
9607
  mimic-fn: 2.1.0
@@ -9654,12 +10007,16 @@ snapshots:
9654
  is-decimal: 2.0.1
9655
  is-hexadecimal: 2.0.1
9656
 
 
 
9657
9658
 
9659
9660
 
9661
9662
 
 
 
9663
9664
  optional: true
9665
 
@@ -9719,6 +10076,8 @@ snapshots:
9719
 
9720
9721
 
 
 
9722
9723
 
9724
@@ -9773,14 +10132,32 @@ snapshots:
9773
 
9774
9775
 
 
 
 
 
 
9776
9777
 
9778
9779
 
9780
9781
 
 
 
 
 
9782
9783
 
 
 
 
 
 
 
 
 
 
9784
9785
  dependencies:
9786
  react: 19.1.0
@@ -9950,6 +10327,16 @@ snapshots:
9950
 
9951
9952
 
 
 
 
 
 
 
 
 
 
 
9953
9954
  dependencies:
9955
  queue-microtask: 1.2.3
@@ -9975,6 +10362,8 @@ snapshots:
9975
  es-errors: 1.3.0
9976
  is-regex: 1.2.1
9977
 
 
 
9978
9979
 
9980
@@ -9983,6 +10372,31 @@ snapshots:
9983
 
9984
9985
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9986
9987
  dependencies:
9988
  define-data-property: 1.1.4
@@ -10005,6 +10419,8 @@ snapshots:
10005
  es-errors: 1.3.0
10006
  es-object-atoms: 1.1.1
10007
 
 
 
10008
10009
  dependencies:
10010
  color: 4.2.3
@@ -10098,6 +10514,8 @@ snapshots:
10098
 
10099
10100
 
 
 
10101
10102
  dependencies:
10103
  inherits: 2.0.4
@@ -10238,6 +10656,8 @@ snapshots:
10238
  dependencies:
10239
  is-number: 7.0.0
10240
 
 
 
10241
10242
 
10243
@@ -10261,6 +10681,12 @@ snapshots:
10261
  dependencies:
10262
  prelude-ls: 1.2.1
10263
 
 
 
 
 
 
 
10264
10265
  dependencies:
10266
  call-bound: 1.0.4
@@ -10368,6 +10794,8 @@ snapshots:
10368
  unist-util-is: 6.0.0
10369
  unist-util-visit-parents: 6.0.1
10370
 
 
 
10371
10372
  optionalDependencies:
10373
  '@unrs/resolver-binding-darwin-arm64': 1.5.0
@@ -10424,6 +10852,8 @@ snapshots:
10424
 
10425
10426
 
 
 
10427
10428
  dependencies:
10429
  '@types/unist': 3.0.3
@@ -10485,6 +10915,8 @@ snapshots:
10485
 
10486
10487
 
 
 
10488
10489
 
10490
 
32
  '@daytonaio/sdk':
33
  specifier: ^0.19.0
34
  version: 0.19.0(@babel/[email protected])([email protected])
35
+ '@modelcontextprotocol/sdk':
36
+ specifier: ^1.12.1
37
+ version: 1.12.1
38
  '@neondatabase/serverless':
39
  specifier: ^1.0.0
40
  version: 1.0.0
 
1467
  '@jridgewell/[email protected]':
1468
  resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
1469
 
1470
+ '@modelcontextprotocol/[email protected]':
1471
+ resolution: {integrity: sha512-KG1CZhZfWg+u8pxeM/mByJDScJSrjjxLc8fwQqbsS8xCjBmQfMNEBTotYdNanKekepnfRI85GtgQlctLFpcYPw==}
1472
+ engines: {node: '>=18'}
1473
+
1474
  '@napi-rs/[email protected]':
1475
  resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==}
1476
 
 
2654
  vue-router:
2655
  optional: true
2656
 
2657
2658
+ resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}
2659
+ engines: {node: '>= 0.6'}
2660
+
2661
2662
  resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
2663
  peerDependencies:
 
2777
2778
  resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
2779
 
2780
2781
+ resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==}
2782
+ engines: {node: '>=18'}
2783
+
2784
2785
  resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
2786
 
 
2809
  resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
2810
  engines: {node: '>=10.16.0'}
2811
 
2812
2813
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
2814
+ engines: {node: '>= 0.8'}
2815
+
2816
2817
  resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
2818
  engines: {node: '>= 0.4'}
 
2913
2914
  resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
2915
 
2916
2917
+ resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==}
2918
+ engines: {node: '>= 0.6'}
2919
+
2920
2921
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
2922
+ engines: {node: '>= 0.6'}
2923
+
2924
2925
  resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
2926
 
2927
2928
+ resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==}
2929
+ engines: {node: '>=6.6.0'}
2930
+
2931
2932
+ resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
2933
+ engines: {node: '>= 0.6'}
2934
+
2935
2936
  resolution: {integrity: sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==}
2937
 
2938
2939
+ resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
2940
+ engines: {node: '>= 0.10'}
2941
+
2942
2943
  resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
2944
  engines: {node: '>= 8'}
 
2996
  resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
2997
  engines: {node: '>=0.4.0'}
2998
 
2999
3000
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
3001
+ engines: {node: '>= 0.8'}
3002
+
3003
3004
  resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
3005
  engines: {node: '>=6'}
 
3129
  resolution: {integrity: sha512-eJAgf9pdv214Hn98FlUzclRMYWF7WfoLlkS9nWMTm1qcCwn6Ad4EGD9lr9HXMBfSrZhYQujRE+p0adPRkctC6A==}
3130
  engines: {bun: '>=1', deno: '>=2', node: '>=16'}
3131
 
3132
3133
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
3134
+
3135
3136
  resolution: {integrity: sha512-hQA+Zb5QQwoSaXJWEAGEw1zhk//O7qDzib05Z4qTqZfNju/FAkrm5ZInp0JbTp4Z18A6bilopdZWEYrFSsfllA==}
3137
 
3138
3139
  resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
3140
 
3141
3142
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
3143
+ engines: {node: '>= 0.8'}
3144
+
3145
3146
  resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
3147
  engines: {node: '>=10.13.0'}
 
3201
  resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
3202
  engines: {node: '>=6'}
3203
 
3204
3205
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
3206
+
3207
3208
  resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
3209
  engines: {node: '>=10'}
 
3331
  resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
3332
  engines: {node: '>=0.10.0'}
3333
 
3334
3335
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
3336
+ engines: {node: '>= 0.6'}
3337
+
3338
3339
  resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
3340
  engines: {node: '>=0.8.x'}
3341
 
3342
3343
+ resolution: {integrity: sha512-6RxOBZ/cYgd8usLwsEl+EC09Au/9BcmCKYF2/xbml6DNczf7nv0MQb+7BA2F+li6//I+28VNlQR37XfQtcAJuA==}
3344
+ engines: {node: '>=18.0.0'}
3345
+
3346
3347
+ resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==}
3348
+ engines: {node: '>=18.0.0'}
3349
+
3350
3351
  resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
3352
  engines: {node: '>=10'}
3353
 
3354
3355
+ resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==}
3356
+ engines: {node: '>= 16'}
3357
+ peerDependencies:
3358
+ express: ^4.11 || 5 || ^5.0.0-beta.1
3359
+
3360
3361
+ resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==}
3362
+ engines: {node: '>= 18'}
3363
+
3364
3365
  resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
3366
 
 
3407
  resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
3408
  engines: {node: '>=8'}
3409
 
3410
3411
+ resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==}
3412
+ engines: {node: '>= 0.8'}
3413
+
3414
3415
  resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
3416
  engines: {node: '>=10'}
 
3443
  resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
3444
  engines: {node: '>=0.4.x'}
3445
 
3446
3447
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
3448
+ engines: {node: '>= 0.6'}
3449
+
3450
3451
  resolution: {integrity: sha512-xryrmD4jSBQrS2IkMdcTmiS4aSKckbS7kLDCuhUn9110SQKG1w3zlq1RTqCblewg+ZYe+m3sdtzQA6cRwo5g8Q==}
3452
  peerDependencies:
 
3461
  react-dom:
3462
  optional: true
3463
 
3464
3465
+ resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
3466
+ engines: {node: '>= 0.8'}
3467
+
3468
3469
  resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
3470
  engines: {node: '>= 8'}
 
3584
3585
  resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
3586
 
3587
3588
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
3589
+ engines: {node: '>= 0.8'}
3590
+
3591
3592
  resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
3593
  engines: {node: '>=10.17.0'}
3594
 
3595
3596
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
3597
+ engines: {node: '>=0.10.0'}
3598
+
3599
3600
  resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
3601
 
 
3621
  resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
3622
  engines: {node: '>= 0.4'}
3623
 
3624
3625
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
3626
+ engines: {node: '>= 0.10'}
3627
+
3628
3629
  resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
3630
 
 
3719
  resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
3720
  engines: {node: '>=12'}
3721
 
3722
3723
+ resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
3724
+
3725
3726
  resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
3727
  engines: {node: '>= 0.4'}
 
4001
4002
  resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
4003
 
4004
4005
+ resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
4006
+ engines: {node: '>= 0.8'}
4007
+
4008
4009
+ resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
4010
+ engines: {node: '>=18'}
4011
+
4012
4013
  resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
4014
 
 
4108
  resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
4109
  engines: {node: '>= 0.6'}
4110
 
4111
4112
+ resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
4113
+ engines: {node: '>= 0.6'}
4114
+
4115
4116
  resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
4117
  engines: {node: '>= 0.6'}
4118
 
4119
4120
+ resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==}
4121
+ engines: {node: '>= 0.6'}
4122
+
4123
4124
  resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
4125
  engines: {node: '>=6'}
 
4204
4205
  resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
4206
 
4207
4208
+ resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
4209
+ engines: {node: '>= 0.6'}
4210
+
4211
4212
  resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
4213
  peerDependencies:
 
4281
4282
  resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
4283
 
4284
4285
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
4286
+ engines: {node: '>= 0.8'}
4287
+
4288
4289
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
4290
+
4291
4292
  resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
4293
  engines: {node: '>=6'}
 
4321
4322
  resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
4323
 
4324
4325
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
4326
+ engines: {node: '>= 0.8'}
4327
+
4328
4329
  resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
4330
  engines: {node: '>=8'}
 
4336
4337
  resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
4338
 
4339
4340
+ resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==}
4341
+ engines: {node: '>=16'}
4342
+
4343
4344
  resolution: {integrity: sha512-OOX22Vt0vOSRrdoUPKJ8Wi2OpE/o/h9T8X1s4qSkCedbNah9ei2W2765be8iMVxQUsvgT7zIAT2eIa9fs5+vtg==}
4345
 
 
4401
  resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
4402
  engines: {node: '>=12'}
4403
 
4404
4405
+ resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==}
4406
+ engines: {node: '>=16.20.0'}
4407
+
4408
4409
  resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
4410
  engines: {node: '>= 0.4'}
 
4473
4474
  resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==}
4475
 
4476
4477
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
4478
+ engines: {node: '>= 0.10'}
4479
+
4480
4481
  resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
4482
 
 
4488
  resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
4489
  engines: {node: '>=6'}
4490
 
4491
4492
+ resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
4493
+ engines: {node: '>=0.6'}
4494
+
4495
4496
  resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
4497
 
4498
4499
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
4500
+ engines: {node: '>= 0.6'}
4501
+
4502
4503
+ resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==}
4504
+ engines: {node: '>= 0.8'}
4505
+
4506
4507
  resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
4508
  peerDependencies:
 
4621
  resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
4622
  engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
4623
 
4624
4625
+ resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}
4626
+ engines: {node: '>= 18'}
4627
+
4628
4629
  resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
4630
 
 
4643
  resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
4644
  engines: {node: '>= 0.4'}
4645
 
4646
4647
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
4648
+
4649
4650
  resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
4651
 
 
4661
  engines: {node: '>=10'}
4662
  hasBin: true
4663
 
4664
4665
+ resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
4666
+ engines: {node: '>= 18'}
4667
+
4668
4669
+ resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==}
4670
+ engines: {node: '>= 18'}
4671
+
4672
4673
  resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
4674
  engines: {node: '>= 0.4'}
 
4681
  resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
4682
  engines: {node: '>= 0.4'}
4683
 
4684
4685
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
4686
+
4687
4688
  resolution: {integrity: sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==}
4689
  engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
 
4752
4753
  resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==}
4754
 
4755
4756
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
4757
+ engines: {node: '>= 0.8'}
4758
+
4759
4760
  resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==}
4761
 
 
4874
  resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
4875
  engines: {node: '>=8.0'}
4876
 
4877
4878
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
4879
+ engines: {node: '>=0.6'}
4880
+
4881
4882
  resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
4883
 
 
4903
  resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
4904
  engines: {node: '>= 0.8.0'}
4905
 
4906
4907
+ resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
4908
+ engines: {node: '>= 0.6'}
4909
+
4910
4911
  resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
4912
  engines: {node: '>= 0.4'}
 
4990
4991
  resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
4992
 
4993
4994
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
4995
+ engines: {node: '>= 0.8'}
4996
+
4997
4998
  resolution: {integrity: sha512-6aia3Oy7SEe0MuUGQm2nsyob0L2+g57w178K5SE/3pvSGAIp28BB2O921fKx424Ahc/gQ6v0DXFbhcpyhGZdOA==}
4999
 
 
5046
  resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
5047
  hasBin: true
5048
 
5049
5050
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
5051
+ engines: {node: '>= 0.8'}
5052
+
5053
5054
  resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
5055
 
 
5086
  resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
5087
  engines: {node: '>=0.10.0'}
5088
 
5089
5090
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
5091
+
5092
5093
  resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
5094
  engines: {node: '>=0.4'}
 
6744
  '@jridgewell/resolve-uri': 3.1.2
6745
  '@jridgewell/sourcemap-codec': 1.5.0
6746
 
6747
+ '@modelcontextprotocol/[email protected]':
6748
+ dependencies:
6749
+ ajv: 6.12.6
6750
+ content-type: 1.0.5
6751
+ cors: 2.8.5
6752
+ cross-spawn: 7.0.6
6753
+ eventsource: 3.0.7
6754
+ express: 5.1.0
6755
+ express-rate-limit: 7.5.0([email protected])
6756
+ pkce-challenge: 5.0.0
6757
+ raw-body: 3.0.0
6758
+ zod: 3.24.2
6759
+ zod-to-json-schema: 3.24.5([email protected])
6760
+ transitivePeerDependencies:
6761
+ - supports-color
6762
+
6763
  '@napi-rs/[email protected]':
6764
  dependencies:
6765
  '@emnapi/core': 1.4.3
 
7999
8000
  react: 19.1.0
8001
 
8002
8003
+ dependencies:
8004
+ mime-types: 3.0.1
8005
+ negotiator: 1.0.0
8006
+
8007
8008
  dependencies:
8009
  acorn: 8.14.1
 
8158
 
8159
8160
 
8161
8162
+ dependencies:
8163
+ bytes: 3.1.2
8164
+ content-type: 1.0.5
8165
+ debug: 4.4.0
8166
+ http-errors: 2.0.0
8167
+ iconv-lite: 0.6.3
8168
+ on-finished: 2.4.1
8169
+ qs: 6.14.0
8170
+ raw-body: 3.0.0
8171
+ type-is: 2.0.1
8172
+ transitivePeerDependencies:
8173
+ - supports-color
8174
+
8175
8176
 
8177
 
8205
  dependencies:
8206
  streamsearch: 1.1.0
8207
 
8208
8209
+
8210
8211
  dependencies:
8212
  es-errors: 1.3.0
 
8293
 
8294
8295
 
8296
8297
+ dependencies:
8298
+ safe-buffer: 5.2.1
8299
+
8300
8301
+
8302
8303
 
8304
8305
+
8306
8307
+
8308
8309
  dependencies:
8310
  browserslist: 4.25.0
8311
 
8312
8313
+ dependencies:
8314
+ object-assign: 4.1.1
8315
+ vary: 1.1.2
8316
+
8317
8318
  dependencies:
8319
  path-key: 3.1.1
 
8370
 
8371
8372
 
8373
8374
+
8375
8376
 
8377
 
8420
  '@noble/curves': 1.9.0
8421
  '@noble/hashes': 1.8.0
8422
 
8423
8424
+
8425
8426
 
8427
8428
 
8429
8430
+
8431
8432
  dependencies:
8433
  graceful-fs: 4.2.11
 
8595
 
8596
8597
 
8598
8599
+
8600
8601
 
8602
 
8800
 
8801
8802
 
8803
8804
+
8805
8806
 
8807
8808
+
8809
8810
+ dependencies:
8811
+ eventsource-parser: 3.0.2
8812
+
8813
8814
  dependencies:
8815
  cross-spawn: 7.0.6
 
8822
  signal-exit: 3.0.7
8823
  strip-final-newline: 2.0.0
8824
 
8825
8826
+ dependencies:
8827
+ express: 5.1.0
8828
+
8829
8830
+ dependencies:
8831
+ accepts: 2.0.0
8832
+ body-parser: 2.2.0
8833
+ content-disposition: 1.0.0
8834
+ content-type: 1.0.5
8835
+ cookie: 0.7.2
8836
+ cookie-signature: 1.2.2
8837
+ debug: 4.4.0
8838
+ encodeurl: 2.0.0
8839
+ escape-html: 1.0.3
8840
+ etag: 1.8.1
8841
+ finalhandler: 2.1.0
8842
+ fresh: 2.0.0
8843
+ http-errors: 2.0.0
8844
+ merge-descriptors: 2.0.0
8845
+ mime-types: 3.0.1
8846
+ on-finished: 2.4.1
8847
+ once: 1.4.0
8848
+ parseurl: 1.3.3
8849
+ proxy-addr: 2.0.7
8850
+ qs: 6.14.0
8851
+ range-parser: 1.2.1
8852
+ router: 2.2.0
8853
+ send: 1.2.0
8854
+ serve-static: 2.2.0
8855
+ statuses: 2.0.1
8856
+ type-is: 2.0.1
8857
+ vary: 1.1.2
8858
+ transitivePeerDependencies:
8859
+ - supports-color
8860
+
8861
8862
 
8863
 
8906
  dependencies:
8907
  to-regex-range: 5.0.1
8908
 
8909
8910
+ dependencies:
8911
+ debug: 4.4.0
8912
+ encodeurl: 2.0.0
8913
+ escape-html: 1.0.3
8914
+ on-finished: 2.4.1
8915
+ parseurl: 1.3.3
8916
+ statuses: 2.0.1
8917
+ transitivePeerDependencies:
8918
+ - supports-color
8919
+
8920
8921
  dependencies:
8922
  locate-path: 6.0.0
 
8944
 
8945
8946
 
8947
8948
+
8949
8950
  dependencies:
8951
  motion-dom: 12.16.0
 
8955
  react: 19.1.0
8956
  react-dom: 19.1.0([email protected])
8957
 
8958
8959
+
8960
8961
  dependencies:
8962
  minipass: 3.3.6
 
9093
 
9094
9095
 
9096
9097
+ dependencies:
9098
+ depd: 2.0.0
9099
+ inherits: 2.0.4
9100
+ setprototypeof: 1.2.0
9101
+ statuses: 2.0.1
9102
+ toidentifier: 1.0.1
9103
+
9104
9105
 
9106
9107
+ dependencies:
9108
+ safer-buffer: 2.1.2
9109
+
9110
9111
 
9112
 
9128
  hasown: 2.0.2
9129
  side-channel: 1.1.0
9130
 
9131
9132
+
9133
9134
 
9135
 
9227
 
9228
9229
 
9230
9231
+
9232
9233
  dependencies:
9234
  call-bound: 1.0.4
 
9589
 
9590
9591
 
9592
9593
+
9594
9595
+
9596
9597
 
9598
 
9795
 
9796
9797
 
9798
9799
+
9800
9801
  dependencies:
9802
  mime-db: 1.52.0
9803
 
9804
9805
+ dependencies:
9806
+ mime-db: 1.54.0
9807
+
9808
9809
 
9810
 
9862
 
9863
9864
 
9865
9866
+
9867
9868
  dependencies:
9869
  react: 19.1.0
 
9947
 
9948
9949
 
9950
9951
+ dependencies:
9952
+ ee-first: 1.1.1
9953
+
9954
9955
+ dependencies:
9956
+ wrappy: 1.0.2
9957
+
9958
9959
  dependencies:
9960
  mimic-fn: 2.1.0
 
10007
  is-decimal: 2.0.1
10008
  is-hexadecimal: 2.0.1
10009
 
10010
10011
+
10012
10013
 
10014
10015
 
10016
10017
 
10018
10019
+
10020
10021
  optional: true
10022
 
 
10076
 
10077
10078
 
10079
10080
+
10081
10082
 
10083
 
10132
 
10133
10134
 
10135
10136
+ dependencies:
10137
+ forwarded: 0.2.0
10138
+ ipaddr.js: 1.9.1
10139
+
10140
10141
 
10142
10143
 
10144
10145
 
10146
10147
+ dependencies:
10148
+ side-channel: 1.1.0
10149
+
10150
10151
 
10152
10153
+
10154
10155
+ dependencies:
10156
+ bytes: 3.1.2
10157
+ http-errors: 2.0.0
10158
+ iconv-lite: 0.6.3
10159
+ unpipe: 1.0.0
10160
+
10161
10162
  dependencies:
10163
  react: 19.1.0
 
10327
 
10328
10329
 
10330
10331
+ dependencies:
10332
+ debug: 4.4.0
10333
+ depd: 2.0.0
10334
+ is-promise: 4.0.0
10335
+ parseurl: 1.3.3
10336
+ path-to-regexp: 8.2.0
10337
+ transitivePeerDependencies:
10338
+ - supports-color
10339
+
10340
10341
  dependencies:
10342
  queue-microtask: 1.2.3
 
10362
  es-errors: 1.3.0
10363
  is-regex: 1.2.1
10364
 
10365
10366
+
10367
10368
 
10369
 
10372
 
10373
10374
 
10375
10376
+ dependencies:
10377
+ debug: 4.4.0
10378
+ encodeurl: 2.0.0
10379
+ escape-html: 1.0.3
10380
+ etag: 1.8.1
10381
+ fresh: 2.0.0
10382
+ http-errors: 2.0.0
10383
+ mime-types: 3.0.1
10384
+ ms: 2.1.3
10385
+ on-finished: 2.4.1
10386
+ range-parser: 1.2.1
10387
+ statuses: 2.0.1
10388
+ transitivePeerDependencies:
10389
+ - supports-color
10390
+
10391
10392
+ dependencies:
10393
+ encodeurl: 2.0.0
10394
+ escape-html: 1.0.3
10395
+ parseurl: 1.3.3
10396
+ send: 1.2.0
10397
+ transitivePeerDependencies:
10398
+ - supports-color
10399
+
10400
10401
  dependencies:
10402
  define-data-property: 1.1.4
 
10419
  es-errors: 1.3.0
10420
  es-object-atoms: 1.1.1
10421
 
10422
10423
+
10424
10425
  dependencies:
10426
  color: 4.2.3
 
10514
 
10515
10516
 
10517
10518
+
10519
10520
  dependencies:
10521
  inherits: 2.0.4
 
10656
  dependencies:
10657
  is-number: 7.0.0
10658
 
10659
10660
+
10661
10662
 
10663
 
10681
  dependencies:
10682
  prelude-ls: 1.2.1
10683
 
10684
10685
+ dependencies:
10686
+ content-type: 1.0.5
10687
+ media-typer: 1.1.0
10688
+ mime-types: 3.0.1
10689
+
10690
10691
  dependencies:
10692
  call-bound: 1.0.4
 
10794
  unist-util-is: 6.0.0
10795
  unist-util-visit-parents: 6.0.1
10796
 
10797
10798
+
10799
10800
  optionalDependencies:
10801
  '@unrs/resolver-binding-darwin-arm64': 1.5.0
 
10852
 
10853
10854
 
10855
10856
+
10857
10858
  dependencies:
10859
  '@types/unist': 3.0.3
 
10915
 
10916
10917
 
10918
10919
+
10920
10921
 
10922