diff --git a/apps/dokploy/middleware.ts b/apps/dokploy/middleware.ts deleted file mode 100644 index b2deec90..00000000 --- a/apps/dokploy/middleware.ts +++ /dev/null @@ -1,32 +0,0 @@ -// middleware.ts -import { verifyRequestOrigin } from "lucia"; -import { NextResponse } from "next/server"; -import type { NextRequest } from "next/server"; - -export async function middleware(request: NextRequest): Promise { - if (request.method === "GET") { - return NextResponse.next(); - } - const originHeader = request.headers.get("Origin"); - const hostHeader = request.headers.get("Host"); - - if ( - !originHeader || - !hostHeader || - !verifyRequestOrigin(originHeader, [hostHeader]) - ) { - return new NextResponse(null, { - status: 403, - }); - } - return NextResponse.next(); -} - -export const config = { - matcher: [ - // Don't handle HMR requests for the dev server we rewrite to - "/settings", - "/dashboard/(.*)", - "/invitation", - ], -}; diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index 22649f92..fd813f97 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -53,7 +53,6 @@ "@dokploy/trpc-openapi": "0.0.4", "@faker-js/faker": "^8.4.1", "@hookform/resolvers": "^3.9.0", - "@lucia-auth/adapter-drizzle": "1.0.7", "@octokit/auth-app": "^6.0.4", "@octokit/webhooks": "^13.2.7", "@radix-ui/react-accordion": "1.1.2", @@ -113,11 +112,10 @@ "js-cookie": "^3.0.5", "js-yaml": "4.1.0", "lodash": "4.17.21", - "lucia": "^3.0.1", "lucide-react": "^0.469.0", "micromatch": "4.0.8", "nanoid": "3", - "next": "^15.0.1", + "next": "^15.2.4", "next-i18next": "^15.3.1", "next-themes": "^0.2.1", "node-os-utils": "1.3.7", diff --git a/apps/dokploy/server/api/root.ts b/apps/dokploy/server/api/root.ts index 8120b319..e116451e 100644 --- a/apps/dokploy/server/api/root.ts +++ b/apps/dokploy/server/api/root.ts @@ -1,4 +1,3 @@ -import { authRouter } from "@/server/api/routers/auth"; import { createTRPCRouter } from "../api/trpc"; import { adminRouter } from "./routers/admin"; import { aiRouter } from "./routers/ai"; @@ -44,7 +43,6 @@ import { userRouter } from "./routers/user"; export const appRouter = createTRPCRouter({ admin: adminRouter, docker: dockerRouter, - auth: authRouter, project: projectRouter, application: applicationRouter, mysql: mysqlRouter, diff --git a/apps/dokploy/server/api/routers/auth.ts b/apps/dokploy/server/api/routers/auth.ts deleted file mode 100644 index 2c7469c3..00000000 --- a/apps/dokploy/server/api/routers/auth.ts +++ /dev/null @@ -1,326 +0,0 @@ -import { createTRPCRouter } from "../trpc"; - -export const authRouter = createTRPCRouter({ - // createAdmin: publicProcedure.mutation(async ({ input }) => { - // try { - // if (!IS_CLOUD) { - // const admin = await db.query.admins.findFirst({}); - // if (admin) { - // throw new TRPCError({ - // code: "BAD_REQUEST", - // message: "Admin already exists", - // }); - // } - // } - // const newAdmin = await createAdmin(input); - // if (IS_CLOUD) { - // await sendDiscordNotificationWelcome(newAdmin); - // await sendVerificationEmail(newAdmin.id); - // return { - // status: "success", - // type: "cloud", - // }; - // } - // // const session = await lucia.createSession(newAdmin.id || "", {}); - // // ctx.res.appendHeader( - // // "Set-Cookie", - // // lucia.createSessionCookie(session.id).serialize(), - // // ); - // return { - // status: "success", - // type: "selfhosted", - // }; - // } catch (error) { - // throw new TRPCError({ - // code: "BAD_REQUEST", - // // @ts-ignore - // message: `Error: ${error?.code === "23505" ? "Email already exists" : "Error creating admin"}`, - // cause: error, - // }); - // } - // }), - // createUser: publicProcedure.mutation(async ({ input }) => { - // try { - // const _token = await getUserByToken(input.token); - // // if (token.isExpired) { - // // throw new TRPCError({ - // // code: "BAD_REQUEST", - // // message: "Invalid token", - // // }); - // // } - // // const newUser = await createUser(input); - // // if (IS_CLOUD) { - // // await sendVerificationEmail(token.authId); - // // return true; - // // } - // // const session = await lucia.createSession(newUser?.authId || "", {}); - // // ctx.res.appendHeader( - // // "Set-Cookie", - // // lucia.createSessionCookie(session.id).serialize(), - // // ); - // return true; - // } catch (error) { - // throw new TRPCError({ - // code: "BAD_REQUEST", - // message: "Error creating the user", - // cause: error, - // }); - // } - // }), - // login: publicProcedure.mutation(async ({ input }) => { - // try { - // const auth = await findAuthByEmail(input.email); - // const correctPassword = bcrypt.compareSync( - // input.password, - // auth?.password || "", - // ); - // if (!correctPassword) { - // throw new TRPCError({ - // code: "BAD_REQUEST", - // message: "Credentials do not match", - // }); - // } - // if (auth?.confirmationToken && IS_CLOUD) { - // await sendVerificationEmail(auth.id); - // throw new TRPCError({ - // code: "BAD_REQUEST", - // message: - // "Email not confirmed, we have sent you a confirmation email please check your inbox.", - // }); - // } - // if (auth?.is2FAEnabled) { - // return { - // is2FAEnabled: true, - // authId: auth.id, - // }; - // } - // // const session = await lucia.createSession(auth?.id || "", {}); - // // ctx.res.appendHeader( - // // "Set-Cookie", - // // lucia.createSessionCookie(session.id).serialize(), - // // ); - // return { - // is2FAEnabled: false, - // authId: auth?.id, - // }; - // } catch (error) { - // throw new TRPCError({ - // code: "BAD_REQUEST", - // message: `Error: ${error instanceof Error ? error.message : "Login error"}`, - // cause: error, - // }); - // } - // }), - // get: protectedProcedure.query(async ({ ctx }) => { - // const memberResult = await db.query.member.findFirst({ - // where: and( - // eq(member.userId, ctx.user.id), - // eq(member.organizationId, ctx.session?.activeOrganizationId || ""), - // ), - // with: { - // user: true, - // }, - // }); - // return memberResult; - // }), - // logout: protectedProcedure.mutation(async ({ ctx }) => { - // const { req } = ctx; - // const { session } = await validateRequest(req); - // if (!session) return false; - // // await lucia.invalidateSession(session.id); - // // res.setHeader("Set-Cookie", lucia.createBlankSessionCookie().serialize()); - // return true; - // }), - // update: protectedProcedure.mutation(async ({ ctx, input }) => { - // const currentAuth = await findAuthByEmail(ctx.user.email); - // if (input.currentPassword || input.password) { - // const correctPassword = bcrypt.compareSync( - // input.currentPassword || "", - // currentAuth?.password || "", - // ); - // if (!correctPassword) { - // throw new TRPCError({ - // code: "BAD_REQUEST", - // message: "Current password is incorrect", - // }); - // } - // } - // // const auth = await updateAuthById(ctx.user.authId, { - // // ...(input.email && { email: input.email.toLowerCase() }), - // // ...(input.password && { - // // password: bcrypt.hashSync(input.password, 10), - // // }), - // // ...(input.image && { image: input.image }), - // // }); - // return auth; - // }), - // removeSelfAccount: protectedProcedure - // .input( - // z.object({ - // password: z.string().min(1), - // }), - // ) - // .mutation(async ({ ctx, input }) => { - // if (!IS_CLOUD) { - // throw new TRPCError({ - // code: "NOT_FOUND", - // message: "This feature is only available in the cloud version", - // }); - // } - // const currentAuth = await findAuthByEmail(ctx.user.email); - // const correctPassword = bcrypt.compareSync( - // input.password, - // currentAuth?.password || "", - // ); - // if (!correctPassword) { - // throw new TRPCError({ - // code: "BAD_REQUEST", - // message: "Password is incorrect", - // }); - // } - // const { req } = ctx; - // const { session } = await validateRequest(req); - // if (!session) return false; - // // await lucia.invalidateSession(session.id); - // // res.setHeader("Set-Cookie", lucia.createBlankSessionCookie().serialize()); - // // if (ctx.user.rol === "owner") { - // // await removeAdminByAuthId(ctx.user.authId); - // // } else { - // // await removeUserByAuthId(ctx.user.authId); - // // } - // return true; - // }), - // generateToken: protectedProcedure.mutation(async ({ ctx }) => { - // const auth = await findUserById(ctx.user.id); - // console.log(auth); - // // if (auth.token) { - // // await luciaToken.invalidateSession(auth.token); - // // } - // // const session = await luciaToken.createSession(auth?.id || "", { - // // expiresIn: 60 * 60 * 24 * 30, - // // }); - // // await updateUser(auth.id, { - // // token: session.id, - // // }); - // return auth; - // }), - // verifyToken: protectedProcedure.mutation(async () => { - // return true; - // }), - // one: adminProcedure - // .input(z.object({ userId: z.string().min(1) })) - // .query(async ({ input }) => { - // // TODO: Check if the user is admin or member - // const user = await findUserById(input.userId); - // return user; - // }), - // sendResetPasswordEmail: publicProcedure - // .input( - // z.object({ - // email: z.string().min(1).email(), - // }), - // ) - // .mutation(async ({ input }) => { - // if (!IS_CLOUD) { - // throw new TRPCError({ - // code: "NOT_FOUND", - // message: "This feature is only available in the cloud version", - // }); - // } - // const authR = await db.query.auth.findFirst({ - // where: eq(auth.email, input.email), - // }); - // if (!authR) { - // throw new TRPCError({ - // code: "NOT_FOUND", - // message: "User not found", - // }); - // } - // const token = nanoid(); - // await updateAuthById(authR.id, { - // resetPasswordToken: token, - // // Make resetPassword in 24 hours - // resetPasswordExpiresAt: new Date( - // new Date().getTime() + 24 * 60 * 60 * 1000, - // ).toISOString(), - // }); - // await sendEmailNotification( - // { - // fromAddress: process.env.SMTP_FROM_ADDRESS!, - // toAddresses: [authR.email], - // smtpServer: process.env.SMTP_SERVER!, - // smtpPort: Number(process.env.SMTP_PORT), - // username: process.env.SMTP_USERNAME!, - // password: process.env.SMTP_PASSWORD!, - // }, - // "Reset Password", - // ` - // Reset your password by clicking the link below: - // The link will expire in 24 hours. - // - // Reset Password - // - // `, - // ); - // }), -}); - -// export const sendVerificationEmail = async (authId: string) => { -// const token = nanoid(); -// const result = await updateAuthById(authId, { -// confirmationToken: token, -// confirmationExpiresAt: new Date( -// new Date().getTime() + 24 * 60 * 60 * 1000, -// ).toISOString(), -// }); - -// if (!result) { -// throw new TRPCError({ -// code: "BAD_REQUEST", -// message: "User not found", -// }); -// } -// await sendEmailNotification( -// { -// fromAddress: process.env.SMTP_FROM_ADDRESS || "", -// toAddresses: [result?.email], -// smtpServer: process.env.SMTP_SERVER || "", -// smtpPort: Number(process.env.SMTP_PORT), -// username: process.env.SMTP_USERNAME || "", -// password: process.env.SMTP_PASSWORD || "", -// }, -// "Confirm your email | Dokploy", -// ` -// Welcome to Dokploy! -// Please confirm your email by clicking the link below: -// -// Confirm Email -// -// `, -// ); - -// return true; -// }; - -// export const sendDiscordNotificationWelcome = async (newAdmin: Auth) => { -// await sendDiscordNotification( -// { -// webhookUrl: process.env.DISCORD_WEBHOOK_URL || "", -// }, -// { -// title: "New User Registered", -// color: 0x00ff00, -// fields: [ -// { -// name: "Email", -// value: newAdmin.email, -// inline: true, -// }, -// ], -// timestamp: newAdmin.createdAt, -// footer: { -// text: "Dokploy User Registration Notification", -// }, -// }, -// ); -// }; diff --git a/packages/server/package.json b/packages/server/package.json index 6a81b808..24001b91 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -42,7 +42,6 @@ "drizzle-dbml-generator":"0.10.0", "better-auth":"1.2.4", "@faker-js/faker": "^8.4.1", - "@lucia-auth/adapter-drizzle": "1.0.7", "@octokit/auth-app": "^6.0.4", "@react-email/components": "^0.0.21", "@trpc/server": "^10.43.6", @@ -59,7 +58,6 @@ "hi-base32": "^0.5.1", "js-yaml": "4.1.0", "lodash": "4.17.21", - "lucia": "^3.0.1", "nanoid": "3", "node-os-utils": "1.3.7", "node-pty": "1.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ddbc702..ac9e2809 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -148,9 +148,6 @@ importers: '@hookform/resolvers': specifier: ^3.9.0 version: 3.9.0(react-hook-form@7.52.1(react@18.2.0)) - '@lucia-auth/adapter-drizzle': - specifier: 1.0.7 - version: 1.0.7(lucia@3.2.0) '@octokit/auth-app': specifier: ^6.0.4 version: 6.1.1 @@ -237,7 +234,7 @@ importers: version: 10.45.2(@trpc/server@10.45.2) '@trpc/next': specifier: ^10.43.6 - version: 10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/react-query@10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.45.2)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/react-query@10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.45.2)(next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/react-query': specifier: ^10.43.6 version: 10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -328,9 +325,6 @@ importers: lodash: specifier: 4.17.21 version: 4.17.21 - lucia: - specifier: ^3.0.1 - version: 3.2.0 lucide-react: specifier: ^0.469.0 version: 0.469.0(react@18.2.0) @@ -341,14 +335,14 @@ importers: specifier: '3' version: 3.3.7 next: - specifier: ^15.0.1 - version: 15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: ^15.2.4 + version: 15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) next-i18next: specifier: ^15.3.1 - version: 15.3.1(i18next@23.16.5)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-i18next@15.1.1(i18next@23.16.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) + version: 15.3.1(i18next@23.16.5)(next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-i18next@15.1.1(i18next@23.16.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) next-themes: specifier: ^0.2.1 - version: 0.2.1(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 0.2.1(next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) node-os-utils: specifier: 1.3.7 version: 1.3.7 @@ -615,9 +609,6 @@ importers: '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 - '@lucia-auth/adapter-drizzle': - specifier: 1.0.7 - version: 1.0.7(lucia@3.2.0) '@octokit/auth-app': specifier: ^6.0.4 version: 6.1.1 @@ -681,9 +672,6 @@ importers: lodash: specifier: 4.17.21 version: 4.17.21 - lucia: - specifier: ^3.0.1 - version: 3.2.0 micromatch: specifier: 4.0.8 version: 4.0.8 @@ -1107,12 +1095,6 @@ packages: '@drizzle-team/brocli@0.10.2': resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} - '@emnapi/core@0.45.0': - resolution: {integrity: sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==} - - '@emnapi/runtime@0.45.0': - resolution: {integrity: sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==} - '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -1901,11 +1883,6 @@ packages: '@lezer/yaml@1.0.3': resolution: {integrity: sha512-GuBLekbw9jDBDhGur82nuwkxKQ+a3W5H0GfaAthDXcAu+XdpS43VlnxA9E9hllkpSP5ellRDKjLLj7Lu9Wr6xA==} - '@lucia-auth/adapter-drizzle@1.0.7': - resolution: {integrity: sha512-X/V7fLBca8EC/gPXCntwbQpb0+F9oEuRoHElvsi9rCrdnGhCMNxHgwAvgiQ6pes+rIYpyvx4n3hvjqo/fPo03A==} - peerDependencies: - lucia: 3.x - '@mapbox/node-pre-gyp@1.0.11': resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true @@ -1945,53 +1922,53 @@ packages: peerDependencies: redis: ^4.7.0 - '@next/env@15.0.1': - resolution: {integrity: sha512-lc4HeDUKO9gxxlM5G2knTRifqhsY6yYpwuHspBZdboZe0Gp+rZHBNNSIjmQKDJIdRXiXGyVnSD6gafrbQPvILQ==} + '@next/env@15.2.4': + resolution: {integrity: sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==} - '@next/swc-darwin-arm64@15.0.1': - resolution: {integrity: sha512-C9k/Xv4sxkQRTA37Z6MzNq3Yb1BJMmSqjmwowoWEpbXTkAdfOwnoKOpAb71ItSzoA26yUTIo6ZhN8rKGu4ExQw==} + '@next/swc-darwin-arm64@15.2.4': + resolution: {integrity: sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@15.0.1': - resolution: {integrity: sha512-uHl13HXOuq1G7ovWFxCACDJHTSDVbn/sbLv8V1p+7KIvTrYQ5HNoSmKBdYeEKRRCbEmd+OohOgg9YOp8Ux3MBg==} + '@next/swc-darwin-x64@15.2.4': + resolution: {integrity: sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@15.0.1': - resolution: {integrity: sha512-LvyhvxHOihFTEIbb35KxOc3q8w8G4xAAAH/AQnsYDEnOvwawjL2eawsB59AX02ki6LJdgDaHoTEnC54Gw+82xw==} + '@next/swc-linux-arm64-gnu@15.2.4': + resolution: {integrity: sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.0.1': - resolution: {integrity: sha512-vFmCGUFNyk/A5/BYcQNhAQqPIw01RJaK6dRO+ZEhz0DncoW+hJW1kZ8aH2UvTX27zPq3m85zN5waMSbZEmANcQ==} + '@next/swc-linux-arm64-musl@15.2.4': + resolution: {integrity: sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@15.0.1': - resolution: {integrity: sha512-5by7IYq0NCF8rouz6Qg9T97jYU68kaClHPfGpQG2lCZpSYHtSPQF1kjnqBTd34RIqPKMbCa4DqCufirgr8HM5w==} + '@next/swc-linux-x64-gnu@15.2.4': + resolution: {integrity: sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.0.1': - resolution: {integrity: sha512-lmYr6H3JyDNBJLzklGXLfbehU3ay78a+b6UmBGlHls4xhDXBNZfgb0aI67sflrX+cGBnv1LgmWzFlYrAYxS1Qw==} + '@next/swc-linux-x64-musl@15.2.4': + resolution: {integrity: sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@15.0.1': - resolution: {integrity: sha512-DS8wQtl6diAj0eZTdH0sefykm4iXMbHT4MOvLwqZiIkeezKpkgPFcEdFlz3vKvXa2R/2UEgMh48z1nEpNhjeOQ==} + '@next/swc-win32-arm64-msvc@15.2.4': + resolution: {integrity: sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@15.0.1': - resolution: {integrity: sha512-4Ho2ggvDdMKlZ/0e9HNdZ9ngeaBwtc+2VS5oCeqrbXqOgutX6I4U2X/42VBw0o+M5evn4/7v3zKgGHo+9v/VjA==} + '@next/swc-win32-x64-msvc@15.2.4': + resolution: {integrity: sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2007,180 +1984,6 @@ packages: resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==} engines: {node: ^14.21.3 || >=16} - '@node-rs/argon2-android-arm-eabi@1.7.0': - resolution: {integrity: sha512-udDqkr5P9E+wYX1SZwAVPdyfYvaF4ry9Tm+R9LkfSHbzWH0uhU6zjIwNRp7m+n4gx691rk+lqqDAIP8RLKwbhg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - - '@node-rs/argon2-android-arm64@1.7.0': - resolution: {integrity: sha512-s9j/G30xKUx8WU50WIhF0fIl1EdhBGq0RQ06lEhZ0Gi0ap8lhqbE2Bn5h3/G2D1k0Dx+yjeVVNmt/xOQIRG38A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@node-rs/argon2-darwin-arm64@1.7.0': - resolution: {integrity: sha512-ZIz4L6HGOB9U1kW23g+m7anGNuTZ0RuTw0vNp3o+2DWpb8u8rODq6A8tH4JRL79S+Co/Nq608m9uackN2pe0Rw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@node-rs/argon2-darwin-x64@1.7.0': - resolution: {integrity: sha512-5oi/pxqVhODW/pj1+3zElMTn/YukQeywPHHYDbcAW3KsojFjKySfhcJMd1DjKTc+CHQI+4lOxZzSUzK7mI14Hw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@node-rs/argon2-freebsd-x64@1.7.0': - resolution: {integrity: sha512-Ify08683hA4QVXYoIm5SUWOY5DPIT/CMB0CQT+IdxQAg/F+qp342+lUkeAtD5bvStQuCx/dFO3bnnzoe2clMhA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - - '@node-rs/argon2-linux-arm-gnueabihf@1.7.0': - resolution: {integrity: sha512-7DjDZ1h5AUHAtRNjD19RnQatbhL+uuxBASuuXIBu4/w6Dx8n7YPxwTP4MXfsvuRgKuMWiOb/Ub/HJ3kXVCXRkg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@node-rs/argon2-linux-arm64-gnu@1.7.0': - resolution: {integrity: sha512-nJDoMP4Y3YcqGswE4DvP080w6O24RmnFEDnL0emdI8Nou17kNYBzP2546Nasx9GCyLzRcYQwZOUjrtUuQ+od2g==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@node-rs/argon2-linux-arm64-musl@1.7.0': - resolution: {integrity: sha512-BKWS8iVconhE3jrb9mj6t1J9vwUqQPpzCbUKxfTGJfc+kNL58F1SXHBoe2cDYGnHrFEHTY0YochzXoAfm4Dm/A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@node-rs/argon2-linux-x64-gnu@1.7.0': - resolution: {integrity: sha512-EmgqZOlf4Jurk/szW1iTsVISx25bKksVC5uttJDUloTgsAgIGReCpUUO1R24pBhu9ESJa47iv8NSf3yAfGv6jQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@node-rs/argon2-linux-x64-musl@1.7.0': - resolution: {integrity: sha512-/o1efYCYIxjfuoRYyBTi2Iy+1iFfhqHCvvVsnjNSgO1xWiWrX0Rrt/xXW5Zsl7vS2Y+yu8PL8KFWRzZhaVxfKA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@node-rs/argon2-wasm32-wasi@1.7.0': - resolution: {integrity: sha512-Evmk9VcxqnuwQftfAfYEr6YZYSPLzmKUsbFIMep5nTt9PT4XYRFAERj7wNYp+rOcBenF3X4xoB+LhwcOMTNE5w==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@node-rs/argon2-win32-arm64-msvc@1.7.0': - resolution: {integrity: sha512-qgsU7T004COWWpSA0tppDqDxbPLgg8FaU09krIJ7FBl71Sz8SFO40h7fDIjfbTT5w7u6mcaINMQ5bSHu75PCaA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@node-rs/argon2-win32-ia32-msvc@1.7.0': - resolution: {integrity: sha512-JGafwWYQ/HpZ3XSwP4adQ6W41pRvhcdXvpzIWtKvX+17+xEXAe2nmGWM6s27pVkg1iV2ZtoYLRDkOUoGqZkCcg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@node-rs/argon2-win32-x64-msvc@1.7.0': - resolution: {integrity: sha512-9oq4ShyFakw8AG3mRls0AoCpxBFcimYx7+jvXeAf2OqKNO+mSA6eZ9z7KQeVCi0+SOEUYxMGf5UiGiDb9R6+9Q==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@node-rs/argon2@1.7.0': - resolution: {integrity: sha512-zfULc+/tmcWcxn+nHkbyY8vP3+MpEqKORbszt4UkpqZgBgDAAIYvuDN/zukfTgdmo6tmJKKVfzigZOPk4LlIog==} - engines: {node: '>= 10'} - - '@node-rs/bcrypt-android-arm-eabi@1.9.0': - resolution: {integrity: sha512-nOCFISGtnodGHNiLrG0WYLWr81qQzZKYfmwHc7muUeq+KY0sQXyHOwZk9OuNQAWv/lnntmtbwkwT0QNEmOyLvA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - - '@node-rs/bcrypt-android-arm64@1.9.0': - resolution: {integrity: sha512-+ZrIAtigVmjYkqZQTThHVlz0+TG6D+GDHWhVKvR2DifjtqJ0i+mb9gjo++hN+fWEQdWNGxKCiBBjwgT4EcXd6A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@node-rs/bcrypt-darwin-arm64@1.9.0': - resolution: {integrity: sha512-CQiS+F9Pa0XozvkXR1g7uXE9QvBOPOplDg0iCCPRYTN9PqA5qYxhwe48G3o+v2UeQceNRrbnEtWuANm7JRqIhw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@node-rs/bcrypt-darwin-x64@1.9.0': - resolution: {integrity: sha512-4pTKGawYd7sNEjdJ7R/R67uwQH1VvwPZ0SSUMmeNHbxD5QlwAPXdDH11q22uzVXsvNFZ6nGQBg8No5OUGpx6Ug==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@node-rs/bcrypt-freebsd-x64@1.9.0': - resolution: {integrity: sha512-UmWzySX4BJhT/B8xmTru6iFif3h0Rpx3TqxRLCcbgmH43r7k5/9QuhpiyzpvKGpKHJCFNm4F3rC2wghvw5FCIg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - - '@node-rs/bcrypt-linux-arm-gnueabihf@1.9.0': - resolution: {integrity: sha512-8qoX4PgBND2cVwsbajoAWo3NwdfJPEXgpCsZQZURz42oMjbGyhhSYbovBCskGU3EBLoC8RA2B1jFWooeYVn5BA==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@node-rs/bcrypt-linux-arm64-gnu@1.9.0': - resolution: {integrity: sha512-TuAC6kx0SbcIA4mSEWPi+OCcDjTQUMl213v5gMNlttF+D4ieIZx6pPDGTaMO6M2PDHTeCG0CBzZl0Lu+9b0c7Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@node-rs/bcrypt-linux-arm64-musl@1.9.0': - resolution: {integrity: sha512-/sIvKDABOI8QOEnLD7hIj02BVaNOuCIWBKvxcJOt8+TuwJ6zmY1UI5kSv9d99WbiHjTp97wtAUbZQwauU4b9ew==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@node-rs/bcrypt-linux-x64-gnu@1.9.0': - resolution: {integrity: sha512-DyyhDHDsLBsCKz1tZ1hLvUZSc1DK0FU0v52jK6IBQxrj24WscSU9zZe7ie/V9kdmA4Ep57BfpWX8Dsa2JxGdgQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@node-rs/bcrypt-linux-x64-musl@1.9.0': - resolution: {integrity: sha512-duIiuqQ+Lew8ASSAYm6ZRqcmfBGWwsi81XLUwz86a2HR7Qv6V4yc3ZAUQovAikhjCsIqe8C11JlAZSK6+PlXYg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@node-rs/bcrypt-wasm32-wasi@1.9.0': - resolution: {integrity: sha512-ylaGmn9Wjwv/D5lxtawttx3H6Uu2WTTR7lWlRHGT6Ga/MB1Vj4OjSGUW8G8zIVnKuXpGbZ92pgHlt4HUpSLctw==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@node-rs/bcrypt-win32-arm64-msvc@1.9.0': - resolution: {integrity: sha512-2h86gF7QFyEzODuDFml/Dp1MSJoZjxJ4yyT2Erf4NkwsiA5MqowUhUsorRwZhX6+2CtlGa7orbwi13AKMsYndw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@node-rs/bcrypt-win32-ia32-msvc@1.9.0': - resolution: {integrity: sha512-kqxalCvhs4FkN0+gWWfa4Bdy2NQAkfiqq/CEf6mNXC13RSV673Ev9V8sRlQyNpCHCNkeXfOT9pgoBdJmMs9muA==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@node-rs/bcrypt-win32-x64-msvc@1.9.0': - resolution: {integrity: sha512-2y0Tuo6ZAT2Cz8V7DHulSlv1Bip3zbzeXyeur+uR25IRNYXKvI/P99Zl85Fbuu/zzYAZRLLlGTRe6/9IHofe/w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@node-rs/bcrypt@1.9.0': - resolution: {integrity: sha512-u2OlIxW264bFUfvbFqDz9HZKFjwe8FHFtn7T/U8mYjPZ7DWYpbUB+/dkW/QgYfMSfR0ejkyuWaBBe0coW7/7ig==} - engines: {node: '>= 10'} - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -3513,8 +3316,8 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.13': - resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} '@szmarczak/http-timer@5.0.1': resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} @@ -3595,9 +3398,6 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@tybys/wasm-util@0.8.3': - resolution: {integrity: sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q==} - '@types/adm-zip@0.5.5': resolution: {integrity: sha512-YCGstVMjc4LTY5uK9/obvxBya93axZOVOyf2GSUulADzmLhYE45u2nAssCs/fWBs1Ifq5Vat75JTPwd5XZoPJw==} @@ -4975,9 +4775,6 @@ packages: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} - fs-monkey@1.0.6: - resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -5673,9 +5470,6 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - lucia@3.2.0: - resolution: {integrity: sha512-eXMxXwk6hqtjRTj4W/x3EnTUtAztLPm0p2N2TEBMDEbakDLXiYnDQ9z/qahjPdPdhPguQc+vwO0/88zIWxlpuw==} - lucide-react@0.469.0: resolution: {integrity: sha512-28vvUnnKQ/dBwiCQtwJw7QauYnE7yd2Cyp4tTTJpvglX4EMpbflcdBgrgToX2j71B3YvugK/NH3BGUk+E/p/Fw==} peerDependencies: @@ -5737,13 +5531,6 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - memfs-browser@3.5.10302: - resolution: {integrity: sha512-JJTc/nh3ig05O0gBBGZjTCPOyydaTxNF0uHYBrcc1gHNnO+KIHIvo0Y1FKCJsaei6FCl8C6xfQomXqu+cuzkIw==} - - memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} - memfs@4.11.0: resolution: {integrity: sha512-+6kz90/YQoZuHvg3rn1CGPMZfEMaU5xe7xIavZMNiom2RNesiI8S37p9O9n+PlIUnUgretjLdM6HnqpZYl3X2g==} engines: {node: '>= 4.0.0'} @@ -6004,16 +5791,16 @@ packages: react: '*' react-dom: '*' - next@15.0.1: - resolution: {integrity: sha512-PSkFkr/w7UnFWm+EP8y/QpHrJXMqpZzAXpergB/EqLPOh4SGPJXv1wj4mslr2hUZBAS9pX7/9YLIdxTv6fwytw==} - engines: {node: '>=18.18.0'} + next@15.2.4: + resolution: {integrity: sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==} + engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 - react-dom: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 + 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': @@ -6177,10 +5964,6 @@ packages: openapi-types@12.1.3: resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} - oslo@1.2.0: - resolution: {integrity: sha512-OoFX6rDsNcOQVAD2gQD/z03u4vEjWZLzJtwkmgfRF+KpQUXwdgEXErD7zNhyowmHwHefP+PM9Pw13pgpHMRlzw==} - deprecated: Package is no longer supported. Please see https://oslojs.dev for the successor project. - otpauth@9.3.4: resolution: {integrity: sha512-qXv+lpsCUO9ewitLYfeDKbLYt7UUCivnU/fwGK2OqhgrCBsRkTUNKWsgKAhkXG3aistOY+jEeuL90JEBu6W3mQ==} @@ -8017,16 +7800,6 @@ snapshots: '@drizzle-team/brocli@0.10.2': {} - '@emnapi/core@0.45.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@0.45.0': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 @@ -8521,10 +8294,6 @@ snapshots: '@lezer/highlight': 1.2.0 '@lezer/lr': 1.4.2 - '@lucia-auth/adapter-drizzle@1.0.7(lucia@3.2.0)': - dependencies: - lucia: 3.2.0 - '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': dependencies: detect-libc: 2.0.3 @@ -8563,30 +8332,30 @@ snapshots: async-await-queue: 2.1.4 redis: 4.7.0 - '@next/env@15.0.1': {} + '@next/env@15.2.4': {} - '@next/swc-darwin-arm64@15.0.1': + '@next/swc-darwin-arm64@15.2.4': optional: true - '@next/swc-darwin-x64@15.0.1': + '@next/swc-darwin-x64@15.2.4': optional: true - '@next/swc-linux-arm64-gnu@15.0.1': + '@next/swc-linux-arm64-gnu@15.2.4': optional: true - '@next/swc-linux-arm64-musl@15.0.1': + '@next/swc-linux-arm64-musl@15.2.4': optional: true - '@next/swc-linux-x64-gnu@15.0.1': + '@next/swc-linux-x64-gnu@15.2.4': optional: true - '@next/swc-linux-x64-musl@15.0.1': + '@next/swc-linux-x64-musl@15.2.4': optional: true - '@next/swc-win32-arm64-msvc@15.0.1': + '@next/swc-win32-arm64-msvc@15.2.4': optional: true - '@next/swc-win32-x64-msvc@15.0.1': + '@next/swc-win32-x64-msvc@15.2.4': optional: true '@noble/ciphers@0.6.0': {} @@ -8595,134 +8364,6 @@ snapshots: '@noble/hashes@1.7.1': {} - '@node-rs/argon2-android-arm-eabi@1.7.0': - optional: true - - '@node-rs/argon2-android-arm64@1.7.0': - optional: true - - '@node-rs/argon2-darwin-arm64@1.7.0': - optional: true - - '@node-rs/argon2-darwin-x64@1.7.0': - optional: true - - '@node-rs/argon2-freebsd-x64@1.7.0': - optional: true - - '@node-rs/argon2-linux-arm-gnueabihf@1.7.0': - optional: true - - '@node-rs/argon2-linux-arm64-gnu@1.7.0': - optional: true - - '@node-rs/argon2-linux-arm64-musl@1.7.0': - optional: true - - '@node-rs/argon2-linux-x64-gnu@1.7.0': - optional: true - - '@node-rs/argon2-linux-x64-musl@1.7.0': - optional: true - - '@node-rs/argon2-wasm32-wasi@1.7.0': - dependencies: - '@emnapi/core': 0.45.0 - '@emnapi/runtime': 0.45.0 - '@tybys/wasm-util': 0.8.3 - memfs-browser: 3.5.10302 - optional: true - - '@node-rs/argon2-win32-arm64-msvc@1.7.0': - optional: true - - '@node-rs/argon2-win32-ia32-msvc@1.7.0': - optional: true - - '@node-rs/argon2-win32-x64-msvc@1.7.0': - optional: true - - '@node-rs/argon2@1.7.0': - optionalDependencies: - '@node-rs/argon2-android-arm-eabi': 1.7.0 - '@node-rs/argon2-android-arm64': 1.7.0 - '@node-rs/argon2-darwin-arm64': 1.7.0 - '@node-rs/argon2-darwin-x64': 1.7.0 - '@node-rs/argon2-freebsd-x64': 1.7.0 - '@node-rs/argon2-linux-arm-gnueabihf': 1.7.0 - '@node-rs/argon2-linux-arm64-gnu': 1.7.0 - '@node-rs/argon2-linux-arm64-musl': 1.7.0 - '@node-rs/argon2-linux-x64-gnu': 1.7.0 - '@node-rs/argon2-linux-x64-musl': 1.7.0 - '@node-rs/argon2-wasm32-wasi': 1.7.0 - '@node-rs/argon2-win32-arm64-msvc': 1.7.0 - '@node-rs/argon2-win32-ia32-msvc': 1.7.0 - '@node-rs/argon2-win32-x64-msvc': 1.7.0 - - '@node-rs/bcrypt-android-arm-eabi@1.9.0': - optional: true - - '@node-rs/bcrypt-android-arm64@1.9.0': - optional: true - - '@node-rs/bcrypt-darwin-arm64@1.9.0': - optional: true - - '@node-rs/bcrypt-darwin-x64@1.9.0': - optional: true - - '@node-rs/bcrypt-freebsd-x64@1.9.0': - optional: true - - '@node-rs/bcrypt-linux-arm-gnueabihf@1.9.0': - optional: true - - '@node-rs/bcrypt-linux-arm64-gnu@1.9.0': - optional: true - - '@node-rs/bcrypt-linux-arm64-musl@1.9.0': - optional: true - - '@node-rs/bcrypt-linux-x64-gnu@1.9.0': - optional: true - - '@node-rs/bcrypt-linux-x64-musl@1.9.0': - optional: true - - '@node-rs/bcrypt-wasm32-wasi@1.9.0': - dependencies: - '@emnapi/core': 0.45.0 - '@emnapi/runtime': 0.45.0 - '@tybys/wasm-util': 0.8.3 - memfs-browser: 3.5.10302 - optional: true - - '@node-rs/bcrypt-win32-arm64-msvc@1.9.0': - optional: true - - '@node-rs/bcrypt-win32-ia32-msvc@1.9.0': - optional: true - - '@node-rs/bcrypt-win32-x64-msvc@1.9.0': - optional: true - - '@node-rs/bcrypt@1.9.0': - optionalDependencies: - '@node-rs/bcrypt-android-arm-eabi': 1.9.0 - '@node-rs/bcrypt-android-arm64': 1.9.0 - '@node-rs/bcrypt-darwin-arm64': 1.9.0 - '@node-rs/bcrypt-darwin-x64': 1.9.0 - '@node-rs/bcrypt-freebsd-x64': 1.9.0 - '@node-rs/bcrypt-linux-arm-gnueabihf': 1.9.0 - '@node-rs/bcrypt-linux-arm64-gnu': 1.9.0 - '@node-rs/bcrypt-linux-arm64-musl': 1.9.0 - '@node-rs/bcrypt-linux-x64-gnu': 1.9.0 - '@node-rs/bcrypt-linux-x64-musl': 1.9.0 - '@node-rs/bcrypt-wasm32-wasi': 1.9.0 - '@node-rs/bcrypt-win32-arm64-msvc': 1.9.0 - '@node-rs/bcrypt-win32-ia32-msvc': 1.9.0 - '@node-rs/bcrypt-win32-x64-msvc': 1.9.0 - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -10348,7 +9989,7 @@ snapshots: '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.13': + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -10389,13 +10030,13 @@ snapshots: dependencies: '@trpc/server': 10.45.2 - '@trpc/next@10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/react-query@10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.45.2)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@trpc/next@10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/react-query@10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.45.2)(next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tanstack/react-query': 4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/client': 10.45.2(@trpc/server@10.45.2) '@trpc/react-query': 10.45.2(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.2(@trpc/server@10.45.2))(@trpc/server@10.45.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/server': 10.45.2 - next: 15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next: 15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10421,11 +10062,6 @@ snapshots: '@tsconfig/node16@1.0.4': optional: true - '@tybys/wasm-util@0.8.3': - dependencies: - tslib: 2.8.1 - optional: true - '@types/adm-zip@0.5.5': dependencies: '@types/node': 20.14.10 @@ -11844,9 +11480,6 @@ snapshots: dependencies: minipass: 3.3.6 - fs-monkey@1.0.6: - optional: true - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -12616,10 +12249,6 @@ snapshots: yallist: 4.0.0 optional: true - lucia@3.2.0: - dependencies: - oslo: 1.2.0 - lucide-react@0.469.0(react@18.2.0): dependencies: react: 18.2.0 @@ -12758,16 +12387,6 @@ snapshots: media-typer@0.3.0: {} - memfs-browser@3.5.10302: - dependencies: - memfs: 3.5.3 - optional: true - - memfs@3.5.3: - dependencies: - fs-monkey: 1.0.6 - optional: true - memfs@4.11.0: dependencies: '@jsonjoy.com/json-pack': 1.0.4(tslib@2.6.3) @@ -13064,7 +12683,7 @@ snapshots: neotraverse@0.6.18: {} - next-i18next@15.3.1(i18next@23.16.5)(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-i18next@15.1.1(i18next@23.16.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0): + next-i18next@15.3.1(i18next@23.16.5)(next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-i18next@15.1.1(i18next@23.16.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0): dependencies: '@babel/runtime': 7.25.0 '@types/hoist-non-react-statics': 3.3.5 @@ -13072,21 +12691,21 @@ snapshots: hoist-non-react-statics: 3.3.2 i18next: 23.16.5 i18next-fs-backend: 2.3.2 - next: 15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next: 15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-i18next: 15.1.1(i18next@23.16.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - next-themes@0.2.1(next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next-themes@0.2.1(next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - next: 15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next: 15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - next@15.0.1(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next@15.2.4(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@next/env': 15.0.1 + '@next/env': 15.2.4 '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 busboy: 1.6.0 caniuse-lite: 1.0.30001643 postcss: 8.4.31 @@ -13094,14 +12713,14 @@ snapshots: react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.6(react@18.2.0) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.1 - '@next/swc-darwin-x64': 15.0.1 - '@next/swc-linux-arm64-gnu': 15.0.1 - '@next/swc-linux-arm64-musl': 15.0.1 - '@next/swc-linux-x64-gnu': 15.0.1 - '@next/swc-linux-x64-musl': 15.0.1 - '@next/swc-win32-arm64-msvc': 15.0.1 - '@next/swc-win32-x64-msvc': 15.0.1 + '@next/swc-darwin-arm64': 15.2.4 + '@next/swc-darwin-x64': 15.2.4 + '@next/swc-linux-arm64-gnu': 15.2.4 + '@next/swc-linux-arm64-musl': 15.2.4 + '@next/swc-linux-x64-gnu': 15.2.4 + '@next/swc-linux-x64-musl': 15.2.4 + '@next/swc-win32-arm64-msvc': 15.2.4 + '@next/swc-win32-x64-msvc': 15.2.4 '@opentelemetry/api': 1.9.0 sharp: 0.33.5 transitivePeerDependencies: @@ -13274,11 +12893,6 @@ snapshots: openapi-types@12.1.3: {} - oslo@1.2.0: - dependencies: - '@node-rs/argon2': 1.7.0 - '@node-rs/bcrypt': 1.9.0 - otpauth@9.3.4: dependencies: '@noble/hashes': 1.5.0 @@ -13477,7 +13091,7 @@ snapshots: postcss@8.4.31: dependencies: - nanoid: 3.3.7 + nanoid: 3.3.8 picocolors: 1.0.1 source-map-js: 1.2.0