mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-13 21:01:21 +08:00
pr changes
This commit is contained in:
parent
fa4c814ad8
commit
a4c33068f4
@ -8,10 +8,10 @@ import { getVerifiedQaContext } from "@/lib/ai/verified-qa";
|
||||
import { listManagedProjectIds } from "@/lib/projects";
|
||||
import { SmartResponse } from "@/route-handlers/smart-response";
|
||||
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
|
||||
import { runAsynchronouslyAndWaitUntil } from "@/utils/background-tasks";
|
||||
import { yupMixed, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { StatusError } from "@stackframe/stack-shared/dist/utils/errors";
|
||||
import { Json } from "@stackframe/stack-shared/dist/utils/json";
|
||||
import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
|
||||
import { generateText, ModelMessage, stepCountIs, streamText } from "ai";
|
||||
|
||||
export const POST = createSmartRouteHandler({
|
||||
@ -149,9 +149,9 @@ export const POST = createSmartRouteHandler({
|
||||
modelId: String(model.modelId),
|
||||
errorMessage: undefined,
|
||||
});
|
||||
runAsynchronously(logPromise);
|
||||
runAsynchronouslyAndWaitUntil(logPromise);
|
||||
|
||||
runAsynchronously(reviewMcpCall({
|
||||
runAsynchronouslyAndWaitUntil(reviewMcpCall({
|
||||
logPromise,
|
||||
correlationId,
|
||||
question,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getConnection } from "@/lib/ai/mcp-logger";
|
||||
import { getConnectionOrThrow } from "@/lib/ai/mcp-logger";
|
||||
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
|
||||
import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
|
||||
@ -26,23 +26,16 @@ export const POST = createSmartRouteHandler({
|
||||
success: yupBoolean().defined(),
|
||||
}).defined(),
|
||||
}),
|
||||
handler: async ({ body }, fullReq) => {
|
||||
handler: async ({ auth, body }) => {
|
||||
const user = auth.user;
|
||||
if (getNodeEnvironment() !== "development") {
|
||||
const metadata = fullReq.auth?.user?.client_read_only_metadata;
|
||||
if (!(metadata && typeof metadata === "object" && "approved" in metadata && metadata.approved === true)) {
|
||||
const metadata = user.client_read_only_metadata;
|
||||
if (!(metadata && typeof metadata === "object" && "isAiChatReviewer" in metadata && metadata.isAiChatReviewer === true)) {
|
||||
throw new StatusError(StatusError.Forbidden, "You are not approved to perform MCP review operations.");
|
||||
}
|
||||
}
|
||||
|
||||
const conn = await getConnection();
|
||||
if (!conn) {
|
||||
throw new StatusError(503, "SpacetimeDB unavailable");
|
||||
}
|
||||
|
||||
const authUser = fullReq.auth?.user;
|
||||
if (!authUser) {
|
||||
throw new StatusError(StatusError.Unauthorized, "Authentication required");
|
||||
}
|
||||
const conn = await getConnectionOrThrow();
|
||||
|
||||
const token = getEnvVariable("STACK_MCP_LOG_TOKEN");
|
||||
await conn.reducers.addManualQa({
|
||||
@ -50,7 +43,7 @@ export const POST = createSmartRouteHandler({
|
||||
question: body.question,
|
||||
answer: body.answer,
|
||||
publish: body.publish,
|
||||
reviewedBy: authUser.display_name ?? authUser.primary_email ?? authUser.id,
|
||||
reviewedBy: user.display_name ?? user.primary_email ?? user.id,
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getConnection } from "@/lib/ai/mcp-logger";
|
||||
import { getConnectionOrThrow } from "@/lib/ai/mcp-logger";
|
||||
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
|
||||
import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
|
||||
@ -24,18 +24,15 @@ export const POST = createSmartRouteHandler({
|
||||
success: yupBoolean().defined(),
|
||||
}).defined(),
|
||||
}),
|
||||
handler: async ({ body }, fullReq) => {
|
||||
handler: async ({ auth, body }) => {
|
||||
if (getNodeEnvironment() !== "development") {
|
||||
const metadata = fullReq.auth?.user?.client_read_only_metadata;
|
||||
if (!(metadata && typeof metadata === "object" && "approved" in metadata && metadata.approved === true)) {
|
||||
const metadata = auth.user.client_read_only_metadata;
|
||||
if (!(metadata && typeof metadata === "object" && "isAiChatReviewer" in metadata && metadata.isAiChatReviewer === true)) {
|
||||
throw new StatusError(StatusError.Forbidden, "You are not approved to perform MCP review operations.");
|
||||
}
|
||||
}
|
||||
|
||||
const conn = await getConnection();
|
||||
if (!conn) {
|
||||
throw new StatusError(503, "SpacetimeDB unavailable");
|
||||
}
|
||||
const conn = await getConnectionOrThrow();
|
||||
|
||||
const token = getEnvVariable("STACK_MCP_LOG_TOKEN");
|
||||
await conn.reducers.deleteQaEntry({
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getConnection } from "@/lib/ai/mcp-logger";
|
||||
import { getConnectionOrThrow } from "@/lib/ai/mcp-logger";
|
||||
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
|
||||
import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
|
||||
@ -24,29 +24,22 @@ export const POST = createSmartRouteHandler({
|
||||
success: yupBoolean().defined(),
|
||||
}).defined(),
|
||||
}),
|
||||
handler: async ({ body }, fullReq) => {
|
||||
handler: async ({ auth, body }) => {
|
||||
const user = auth.user;
|
||||
if (getNodeEnvironment() !== "development") {
|
||||
const metadata = fullReq.auth?.user?.client_read_only_metadata;
|
||||
if (!(metadata && typeof metadata === "object" && "approved" in metadata && metadata.approved === true)) {
|
||||
const metadata = user.client_read_only_metadata;
|
||||
if (!(metadata && typeof metadata === "object" && "isAiChatReviewer" in metadata && metadata.isAiChatReviewer === true)) {
|
||||
throw new StatusError(StatusError.Forbidden, "You are not approved to perform MCP review operations.");
|
||||
}
|
||||
}
|
||||
|
||||
const conn = await getConnection();
|
||||
if (!conn) {
|
||||
throw new StatusError(503, "SpacetimeDB unavailable");
|
||||
}
|
||||
|
||||
const authUser = fullReq.auth?.user;
|
||||
if (!authUser) {
|
||||
throw new StatusError(StatusError.Unauthorized, "Authentication required");
|
||||
}
|
||||
const conn = await getConnectionOrThrow();
|
||||
|
||||
const token = getEnvVariable("STACK_MCP_LOG_TOKEN");
|
||||
await conn.reducers.markHumanReviewed({
|
||||
token,
|
||||
correlationId: body.correlationId,
|
||||
reviewedBy: authUser.display_name ?? authUser.primary_email ?? authUser.id,
|
||||
reviewedBy: user.display_name ?? user.primary_email ?? user.id,
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getConnection } from "@/lib/ai/mcp-logger";
|
||||
import { getConnectionOrThrow } from "@/lib/ai/mcp-logger";
|
||||
import { createSmartRouteHandler } from "@/route-handlers/smart-route-handler";
|
||||
import { adaptSchema, yupBoolean, yupNumber, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { getEnvVariable, getNodeEnvironment } from "@stackframe/stack-shared/dist/utils/env";
|
||||
@ -27,23 +27,16 @@ export const POST = createSmartRouteHandler({
|
||||
success: yupBoolean().defined(),
|
||||
}).defined(),
|
||||
}),
|
||||
handler: async ({ body }, fullReq) => {
|
||||
handler: async ({ auth, body }) => {
|
||||
const user = auth.user;
|
||||
if (getNodeEnvironment() !== "development") {
|
||||
const metadata = fullReq.auth?.user?.client_read_only_metadata;
|
||||
if (!(metadata && typeof metadata === "object" && "approved" in metadata && metadata.approved === true)) {
|
||||
const metadata = user.client_read_only_metadata;
|
||||
if (!(metadata && typeof metadata === "object" && "isAiChatReviewer" in metadata && metadata.isAiChatReviewer === true)) {
|
||||
throw new StatusError(StatusError.Forbidden, "You are not approved to perform MCP review operations.");
|
||||
}
|
||||
}
|
||||
|
||||
const conn = await getConnection();
|
||||
if (!conn) {
|
||||
throw new StatusError(503, "SpacetimeDB unavailable");
|
||||
}
|
||||
|
||||
const authUser = fullReq.auth?.user;
|
||||
if (!authUser) {
|
||||
throw new StatusError(StatusError.Unauthorized, "Authentication required");
|
||||
}
|
||||
const conn = await getConnectionOrThrow();
|
||||
|
||||
const token = getEnvVariable("STACK_MCP_LOG_TOKEN");
|
||||
await conn.reducers.updateHumanCorrection({
|
||||
@ -52,7 +45,7 @@ export const POST = createSmartRouteHandler({
|
||||
correctedQuestion: body.correctedQuestion,
|
||||
correctedAnswer: body.correctedAnswer,
|
||||
publish: body.publish,
|
||||
reviewedBy: authUser.display_name ?? authUser.primary_email ?? authUser.id,
|
||||
reviewedBy: user.display_name ?? user.primary_email ?? user.id,
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { getEnvVariable } from "@stackframe/stack-shared/dist/utils/env";
|
||||
import { captureError } from "@stackframe/stack-shared/dist/utils/errors";
|
||||
import { StackAssertionError, captureError } from "@stackframe/stack-shared/dist/utils/errors";
|
||||
import { DbConnection } from "./spacetimedb-bindings";
|
||||
import type { LogMcpCallParams } from "./spacetimedb-bindings/types/reducers";
|
||||
|
||||
@ -37,6 +37,14 @@ export async function getConnection(): Promise<DbConnection | null> {
|
||||
return await connectionPromise;
|
||||
}
|
||||
|
||||
export async function getConnectionOrThrow(): Promise<DbConnection> {
|
||||
const conn = await getConnection();
|
||||
if (!conn) {
|
||||
throw new StackAssertionError("SpacetimeDB connection unavailable");
|
||||
}
|
||||
return conn;
|
||||
}
|
||||
|
||||
export async function logMcpCall(entry: McpLogEntry): Promise<void> {
|
||||
const conn = await getConnection();
|
||||
if (!conn) {
|
||||
|
||||
@ -33,7 +33,7 @@ async function postDocsToolAction(action: Record<string, unknown>): Promise<stri
|
||||
if (!res.ok) {
|
||||
const errBody = await res.text();
|
||||
captureError("docs-tools-http-error", new Error(`Stack Auth docs tools error (${res.status}): ${errBody}`));
|
||||
return `Stack Auth docs tools error (${res.status}): ${errBody}`;
|
||||
return "Stack Auth docs tools returned an error. Please try again later.";
|
||||
}
|
||||
|
||||
const data = (await res.json()) as DocsToolHttpResult;
|
||||
@ -49,7 +49,7 @@ async function postDocsToolAction(action: Record<string, unknown>): Promise<stri
|
||||
return text;
|
||||
} catch (err) {
|
||||
captureError("docs-tools-transport-error", err instanceof Error ? err : new Error(String(err)));
|
||||
return `Stack Auth docs tools error: ${err instanceof Error ? err.message : String(err)}`;
|
||||
return "Stack Auth docs tools are temporarily unavailable. Please try again later.";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
"spacetime:publish:prod": "node scripts/spacetime-publish.mjs prod"
|
||||
},
|
||||
"dependencies": {
|
||||
"@stackframe/react": "workspace:*",
|
||||
"@stackframe/stack": "workspace:*",
|
||||
"@stackframe/stack-shared": "workspace:*",
|
||||
"clsx": "^2.1.1",
|
||||
"date-fns": "^4.1.0",
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { useUser } from "@stackframe/react";
|
||||
import { useUser } from "@stackframe/stack";
|
||||
import { clsx } from "clsx";
|
||||
import { useState } from "react";
|
||||
import { AddManualQa } from "../components/AddManualQa";
|
||||
@ -44,7 +44,7 @@ export default function App() {
|
||||
|
||||
if (process.env.NODE_ENV !== "development") {
|
||||
const metadata = user.clientReadOnlyMetadata as Record<string, unknown> | null;
|
||||
if (!metadata?.approved) {
|
||||
if (!metadata?.isAiChatReviewer) {
|
||||
return (
|
||||
<div className="flex items-center justify-center h-screen bg-gray-50">
|
||||
<div className="text-center">
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
"use client";
|
||||
|
||||
import { StackHandler } from "@stackframe/react";
|
||||
import { StackHandler } from "@stackframe/stack";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
export default function Handler() {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { Suspense } from "react";
|
||||
import { StackProvider, StackTheme } from "@stackframe/react";
|
||||
import { StackProvider, StackTheme } from "@stackframe/stack";
|
||||
import { stackClientApp } from "../stack";
|
||||
import Loading from "./loading";
|
||||
import "./globals.css";
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { StackClientApp } from "@stackframe/react";
|
||||
import { StackClientApp } from "@stackframe/stack";
|
||||
|
||||
const IS_DEV = process.env.NODE_ENV === "development";
|
||||
const PLACEHOLDER = "REPLACE_ME";
|
||||
|
||||
150
pnpm-lock.yaml
150
pnpm-lock.yaml
@ -772,9 +772,9 @@ importers:
|
||||
|
||||
apps/internal-tool:
|
||||
dependencies:
|
||||
'@stackframe/react':
|
||||
'@stackframe/stack':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/react
|
||||
version: link:../../packages/stack
|
||||
'@stackframe/stack-shared':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/stack-shared
|
||||
@ -5651,6 +5651,9 @@ packages:
|
||||
'@next/env@15.5.10':
|
||||
resolution: {integrity: sha512-plg+9A/KoZcTS26fe15LHg+QxReTazrIOoKKUC3Uz4leGGeNPgLHdevVraAAOX0snnUs3WkRx3eUQpj9mreG6A==}
|
||||
|
||||
'@next/env@16.1.5':
|
||||
resolution: {integrity: sha512-CRSCPJiSZoi4Pn69RYBDI9R7YK2g59vLexPQFXY0eyw+ILevIenCywzg+DqmlBik9zszEnw2HLFOUlLAcJbL7g==}
|
||||
|
||||
'@next/env@16.2.2':
|
||||
resolution: {integrity: sha512-LqSGz5+xGk9EL/iBDr2yo/CgNQV6cFsNhRR2xhSXYh7B/hb4nePCxlmDvGEKG30NMHDFf0raqSyOZiQrO7BkHQ==}
|
||||
|
||||
@ -5678,6 +5681,12 @@ packages:
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-darwin-arm64@16.1.5':
|
||||
resolution: {integrity: sha512-eK7Wdm3Hjy/SCL7TevlH0C9chrpeOYWx2iR7guJDaz4zEQKWcS1IMVfMb9UKBFMg1XgzcPTYPIp1Vcpukkjg6Q==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-darwin-arm64@16.2.2':
|
||||
resolution: {integrity: sha512-B92G3ulrwmkDSEJEp9+XzGLex5wC1knrmCSIylyVeiAtCIfvEJYiN3v5kXPlYt5R4RFlsfO/v++aKV63Acrugg==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -5696,6 +5705,12 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-darwin-x64@16.1.5':
|
||||
resolution: {integrity: sha512-foQscSHD1dCuxBmGkbIr6ScAUF6pRoDZP6czajyvmXPAOFNnQUJu2Os1SGELODjKp/ULa4fulnBWoHV3XdPLfA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@next/swc-darwin-x64@16.2.2':
|
||||
resolution: {integrity: sha512-7ZwSgNKJNQiwW0CKhNm9B1WS2L1Olc4B2XY0hPYCAL3epFnugMhuw5TMWzMilQ3QCZcCHoYm9NGWTHbr5REFxw==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -5716,6 +5731,13 @@ packages:
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@next/swc-linux-arm64-gnu@16.1.5':
|
||||
resolution: {integrity: sha512-qNIb42o3C02ccIeSeKjacF3HXotGsxh/FMk/rSRmCzOVMtoWH88odn2uZqF8RLsSUWHcAqTgYmPD3pZ03L9ZAA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@next/swc-linux-arm64-gnu@16.2.2':
|
||||
resolution: {integrity: sha512-c3m8kBHMziMgo2fICOP/cd/5YlrxDU5YYjAJeQLyFsCqVF8xjOTH/QYG4a2u48CvvZZSj1eHQfBCbyh7kBr30Q==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -5737,6 +5759,13 @@ packages:
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@next/swc-linux-arm64-musl@16.1.5':
|
||||
resolution: {integrity: sha512-U+kBxGUY1xMAzDTXmuVMfhaWUZQAwzRaHJ/I6ihtR5SbTVUEaDRiEU9YMjy1obBWpdOBuk1bcm+tsmifYSygfw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@next/swc-linux-arm64-musl@16.2.2':
|
||||
resolution: {integrity: sha512-VKLuscm0P/mIfzt+SDdn2+8TNNJ7f0qfEkA+az7OqQbjzKdBxAHs0UvuiVoCtbwX+dqMEL9U54b5wQ/aN3dHeg==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -5758,6 +5787,13 @@ packages:
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@next/swc-linux-x64-gnu@16.1.5':
|
||||
resolution: {integrity: sha512-gq2UtoCpN7Ke/7tKaU7i/1L7eFLfhMbXjNghSv0MVGF1dmuoaPeEVDvkDuO/9LVa44h5gqpWeJ4mRRznjDv7LA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@next/swc-linux-x64-gnu@16.2.2':
|
||||
resolution: {integrity: sha512-kU3OPHJq6sBUjOk7wc5zJ7/lipn8yGldMoAv4z67j6ov6Xo/JvzA7L7LCsyzzsXmgLEhk3Qkpwqaq/1+XpNR3g==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -5779,6 +5815,13 @@ packages:
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@next/swc-linux-x64-musl@16.1.5':
|
||||
resolution: {integrity: sha512-bQWSE729PbXT6mMklWLf8dotislPle2L70E9q6iwETYEOt092GDn0c+TTNj26AjmeceSsC4ndyGsK5nKqHYXjQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@next/swc-linux-x64-musl@16.2.2':
|
||||
resolution: {integrity: sha512-CKXRILyErMtUftp+coGcZ38ZwE/Aqq45VMCcRLr2I4OXKrgxIBDXHnBgeX/UMil0S09i2JXaDL3Q+TN8D/cKmg==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -5798,6 +5841,12 @@ packages:
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@next/swc-win32-arm64-msvc@16.1.5':
|
||||
resolution: {integrity: sha512-LZli0anutkIllMtTAWZlDqdfvjWX/ch8AFK5WgkNTvaqwlouiD1oHM+WW8RXMiL0+vAkAJyAGEzPPjO+hnrSNQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@next/swc-win32-arm64-msvc@16.2.2':
|
||||
resolution: {integrity: sha512-sS/jSk5VUoShUqINJFvNjVT7JfR5ORYj/+/ZpOYbbIohv/lQfduWnGAycq2wlknbOql2xOR0DoV0s6Xfcy49+g==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -5822,6 +5871,12 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@next/swc-win32-x64-msvc@16.1.5':
|
||||
resolution: {integrity: sha512-7is37HJTNQGhjPpQbkKjKEboHYQnCgpVt/4rBrrln0D9nderNxZ8ZWs8w1fAtzUx7wEyYjQ+/13myFgFj6K2Ng==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@next/swc-win32-x64-msvc@16.2.2':
|
||||
resolution: {integrity: sha512-aHaKceJgdySReT7qeck5oShucxWRiiEuwCGK8HHALe6yZga8uyFpLkPgaRw3kkF04U7ROogL/suYCNt/+CuXGA==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -11269,10 +11324,6 @@ packages:
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
|
||||
baseline-browser-mapping@2.8.21:
|
||||
resolution: {integrity: sha512-JU0h5APyQNsHOlAM7HnQnPToSDQoEBZqzu/YBlqDnEeymPnZDREeXJA3KBMQee+dKteAxZ2AtvQEvVYdZf241Q==}
|
||||
hasBin: true
|
||||
|
||||
basic-auth@2.0.1:
|
||||
resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
@ -15584,6 +15635,27 @@ packages:
|
||||
sass:
|
||||
optional: true
|
||||
|
||||
next@16.1.5:
|
||||
resolution: {integrity: sha512-f+wE+NSbiQgh3DSAlTaw2FwY5yGdVViAtp8TotNQj4kk4Q8Bh1sC/aL9aH+Rg1YAVn18OYXsRDT7U/079jgP7w==}
|
||||
engines: {node: '>=20.9.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@opentelemetry/api': ^1.1.0
|
||||
'@playwright/test': ^1.51.1
|
||||
babel-plugin-react-compiler: '*'
|
||||
react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
|
||||
react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
|
||||
sass: ^1.3.0
|
||||
peerDependenciesMeta:
|
||||
'@opentelemetry/api':
|
||||
optional: true
|
||||
'@playwright/test':
|
||||
optional: true
|
||||
babel-plugin-react-compiler:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
|
||||
next@16.2.2:
|
||||
resolution: {integrity: sha512-i6AJdyVa4oQjyvX/6GeER8dpY/xlIV+4NMv/svykcLtURJSy/WzDnnUk/TM4d0uewFHK7xSQz4TbIwPgjky+3A==}
|
||||
engines: {node: '>=20.9.0'}
|
||||
@ -23377,6 +23449,8 @@ snapshots:
|
||||
|
||||
'@next/env@15.5.10': {}
|
||||
|
||||
'@next/env@16.1.5': {}
|
||||
|
||||
'@next/env@16.2.2': {}
|
||||
|
||||
'@next/eslint-plugin-next@14.2.17':
|
||||
@ -23401,6 +23475,9 @@ snapshots:
|
||||
'@next/swc-darwin-arm64@15.5.7':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-arm64@16.1.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-arm64@16.2.2':
|
||||
optional: true
|
||||
|
||||
@ -23410,6 +23487,9 @@ snapshots:
|
||||
'@next/swc-darwin-x64@15.5.7':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-x64@16.1.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-darwin-x64@16.2.2':
|
||||
optional: true
|
||||
|
||||
@ -23419,6 +23499,9 @@ snapshots:
|
||||
'@next/swc-linux-arm64-gnu@15.5.7':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-gnu@16.1.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-gnu@16.2.2':
|
||||
optional: true
|
||||
|
||||
@ -23428,6 +23511,9 @@ snapshots:
|
||||
'@next/swc-linux-arm64-musl@15.5.7':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-musl@16.1.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-arm64-musl@16.2.2':
|
||||
optional: true
|
||||
|
||||
@ -23437,6 +23523,9 @@ snapshots:
|
||||
'@next/swc-linux-x64-gnu@15.5.7':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-gnu@16.1.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-gnu@16.2.2':
|
||||
optional: true
|
||||
|
||||
@ -23446,6 +23535,9 @@ snapshots:
|
||||
'@next/swc-linux-x64-musl@15.5.7':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-musl@16.1.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-linux-x64-musl@16.2.2':
|
||||
optional: true
|
||||
|
||||
@ -23455,6 +23547,9 @@ snapshots:
|
||||
'@next/swc-win32-arm64-msvc@15.5.7':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-arm64-msvc@16.1.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-arm64-msvc@16.2.2':
|
||||
optional: true
|
||||
|
||||
@ -23467,6 +23562,9 @@ snapshots:
|
||||
'@next/swc-win32-x64-msvc@15.5.7':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-x64-msvc@16.1.5':
|
||||
optional: true
|
||||
|
||||
'@next/swc-win32-x64-msvc@16.2.2':
|
||||
optional: true
|
||||
|
||||
@ -31132,8 +31230,6 @@ snapshots:
|
||||
|
||||
baseline-browser-mapping@2.10.16: {}
|
||||
|
||||
baseline-browser-mapping@2.8.21: {}
|
||||
|
||||
basic-auth@2.0.1:
|
||||
dependencies:
|
||||
safe-buffer: 5.1.2
|
||||
@ -31287,7 +31383,7 @@ snapshots:
|
||||
|
||||
browserslist@4.23.1:
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001696
|
||||
caniuse-lite: 1.0.30001751
|
||||
electron-to-chromium: 1.4.803
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.16(browserslist@4.23.1)
|
||||
@ -31301,7 +31397,7 @@ snapshots:
|
||||
|
||||
browserslist@4.27.0:
|
||||
dependencies:
|
||||
baseline-browser-mapping: 2.8.21
|
||||
baseline-browser-mapping: 2.10.16
|
||||
caniuse-lite: 1.0.30001751
|
||||
electron-to-chromium: 1.5.244
|
||||
node-releases: 2.0.27
|
||||
@ -33129,7 +33225,7 @@ snapshots:
|
||||
debug: 4.4.3
|
||||
enhanced-resolve: 5.17.0
|
||||
eslint: 8.57.1
|
||||
eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1)
|
||||
eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
|
||||
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1)
|
||||
fast-glob: 3.3.2
|
||||
get-tsconfig: 4.8.1
|
||||
@ -33179,7 +33275,7 @@ snapshots:
|
||||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1):
|
||||
eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
@ -33239,7 +33335,7 @@ snapshots:
|
||||
doctrine: 2.1.0
|
||||
eslint: 8.57.1
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1)
|
||||
eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.56.1(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.15.1
|
||||
is-glob: 4.0.3
|
||||
@ -36962,6 +37058,31 @@ snapshots:
|
||||
- '@babel/core'
|
||||
- babel-plugin-macros
|
||||
|
||||
next@16.1.5(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
|
||||
dependencies:
|
||||
'@next/env': 16.1.5
|
||||
'@swc/helpers': 0.5.15
|
||||
baseline-browser-mapping: 2.10.16
|
||||
caniuse-lite: 1.0.30001751
|
||||
postcss: 8.4.31
|
||||
react: 19.2.3
|
||||
react-dom: 19.2.3(react@19.2.3)
|
||||
styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.2.3)
|
||||
optionalDependencies:
|
||||
'@next/swc-darwin-arm64': 16.1.5
|
||||
'@next/swc-darwin-x64': 16.1.5
|
||||
'@next/swc-linux-arm64-gnu': 16.1.5
|
||||
'@next/swc-linux-arm64-musl': 16.1.5
|
||||
'@next/swc-linux-x64-gnu': 16.1.5
|
||||
'@next/swc-linux-x64-musl': 16.1.5
|
||||
'@next/swc-win32-arm64-msvc': 16.1.5
|
||||
'@next/swc-win32-x64-msvc': 16.1.5
|
||||
'@opentelemetry/api': 1.9.0
|
||||
sharp: 0.34.5
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- babel-plugin-macros
|
||||
|
||||
next@16.2.2(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.1(react@19.2.1))(react@19.2.1):
|
||||
dependencies:
|
||||
'@next/env': 16.2.2
|
||||
@ -39490,7 +39611,7 @@ snapshots:
|
||||
dependencies:
|
||||
decode-ico: 0.4.1
|
||||
ico-endec: 0.1.6
|
||||
sharp: 0.34.4
|
||||
sharp: 0.34.5
|
||||
|
||||
sharp@0.33.5:
|
||||
dependencies:
|
||||
@ -39577,7 +39698,6 @@ snapshots:
|
||||
'@img/sharp-win32-arm64': 0.34.5
|
||||
'@img/sharp-win32-ia32': 0.34.5
|
||||
'@img/sharp-win32-x64': 0.34.5
|
||||
optional: true
|
||||
|
||||
shebang-command@1.2.0:
|
||||
dependencies:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user