diff --git a/.env b/.env index fe52dc7..de94b49 100644 --- a/.env +++ b/.env @@ -3,6 +3,7 @@ NEXT_PUBLIC_SITE_SUMMARY = 全行业信息化转型专家 NEXT_PUBLIC_LOGO = /idea2app.svg NEXT_PUBLIC_CACHE_HOST = https://cache.idea2.app +CACHE_REPOSITORY = idea2app/OWS-cache NEXT_PUBLIC_SENTRY_DSN = https://03e5d951172f411a04c1bab44022e22b@o4506471366852608.ingest.sentry.io/4506484563705856 SENTRY_ORG = idea2app diff --git a/README.md b/README.md index f1df2e3..93b9a2b 100644 --- a/README.md +++ b/README.md @@ -68,20 +68,20 @@ You can check out [the Next.js GitHub repository][27] - your feedback and contri | name | file | description | | :----------------------: | :----------: | :---------------------: | -| `CRAWLER_TOKEN` | `.env.local` | Web hooks authorization | -| `SENTRY_AUTH_TOKEN` | `.env.local` | [Official document][28] | -| `SENTRY_ORG` | `.env` | [Official document][29] | -| `SENTRY_PROJECT` | `.env` | [Official document][29] | -| `NEXT_PUBLIC_SENTRY_DSN` | `.env` | [Official document][30] | -| `GITHUB_TOKEN` | `.env.local` | [Official document][31] | -| `LARK_APP_ID` | `.env.local` | [Official document][32] | -| `LARK_APP_SECRET` | `.env.local` | [Official document][32] | +| `JWT_SECRET` | `.env.local` | [API authorization][28] | +| `SENTRY_AUTH_TOKEN` | `.env.local` | [Official document][29] | +| `SENTRY_ORG` | `.env` | [Official document][30] | +| `SENTRY_PROJECT` | `.env` | [Official document][30] | +| `NEXT_PUBLIC_SENTRY_DSN` | `.env` | [Official document][31] | +| `GITHUB_TOKEN` | `.env.local` | [Official document][32] | +| `LARK_APP_ID` | `.env.local` | [Official document][33] | +| `LARK_APP_SECRET` | `.env.local` | [Official document][33] | ### Vercel The easiest way to deploy your Next.js app is to use the [Vercel Platform][13] from the creators of Next.js. -Check out our [Next.js deployment documentation][33] for more details. +Check out our [Next.js deployment documentation][34] for more details. ### Docker @@ -110,16 +110,17 @@ pnpm container [18]: https://github.com/new?template_name=idea2app.github.io&template_owner=idea2app [19]: https://github.com/idea2app/idea2app.github.io/blob/34a68d5c3a21665c5971edff5aa7c208647d1566/.github/workflows/main.yml#L9-L11 [20]: https://github.com/idea2app/idea2app.github.io/settings/secrets/actions -[21]: https://github.com/kaiyuanshe/kaiyuanshe.github.io/blob/bb4675a56bf1d6b207231313da5ed0af7cf0ebd6/.github/workflows/pull-request.yml#L32-L56 +[21]: https://github.com/idea2app/Lark-Next-Bootstrap-ts/blob/363e023e5dd472c8ea53ec96eac25ec5122e667b/.github/workflows/Lark-notification.yml#L39 [22]: https://github.com/idea2app/idea2app.github.io/issues/new/choose [23]: https://github.com/idea2app/idea2app.github.io/projects [24]: https://nextjs.org/docs/api-routes/introduction [25]: https://nextjs.org/docs [26]: https://nextjs.org/learn [27]: https://github.com/vercel/next.js/ -[28]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#use-configuration-files-for-source-map-upload -[29]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#use-environment-variables -[30]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#create-initialization-config-files -[31]: https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api#authenticating-with-a-personal-access-token -[32]: https://open.larksuite.com/document/server-docs/getting-started/api-access-token/app-access-token-development-guide#95c7f5f5 -[33]: https://nextjs.org/docs/deployment +[28]: https://github.com/auth0/node-jsonwebtoken?tab=readme-ov-file#jwtsignpayload-secretorprivatekey-options-callback +[29]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#use-configuration-files-for-source-map-upload +[30]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#use-environment-variables +[31]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#create-initialization-config-files +[32]: https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api#authenticating-with-a-personal-access-token +[33]: https://open.larksuite.com/document/server-docs/getting-started/api-access-token/app-access-token-development-guide#95c7f5f5 +[34]: https://nextjs.org/docs/deployment diff --git a/components/Git/Card.tsx b/components/Git/Card.tsx index 60affa4..91f018f 100644 --- a/components/Git/Card.tsx +++ b/components/Git/Card.tsx @@ -2,9 +2,9 @@ import { Button, Chip } from '@mui/material'; import { GitRepository } from 'mobx-github'; import { observer } from 'mobx-react'; import Link from 'next/link'; -import { FC } from 'react'; +import { FC, useContext } from 'react'; -import { i18n } from '../../models/Translation'; +import { I18nContext } from '../../models/Translation'; export interface GitCardProps extends Pick, @@ -13,39 +13,43 @@ export interface GitCardProps } export const GitCard: FC = observer( - ({ className = '', full_name, html_url, topics = [], description, homepage }) => ( -
  • -

    - - {full_name} - -

    + ({ className = '', full_name, html_url, topics = [], description, homepage }) => { + const { t } = useContext(I18nContext); - + return ( +
  • +

    + + {full_name} + +

    -

    {description}

    + - -
  • - ), +

    {description}

    + + + + ); + }, ); diff --git a/components/Layout/MainNavigator.tsx b/components/Layout/MainNavigator.tsx index 7da5aae..a826833 100644 --- a/components/Layout/MainNavigator.tsx +++ b/components/Layout/MainNavigator.tsx @@ -1,40 +1,51 @@ import { AppBar, Drawer, IconButton, Menu, MenuItem, PopoverProps, Toolbar } from '@mui/material'; -import { observable } from 'mobx'; +import { computed, observable } from 'mobx'; import { observer } from 'mobx-react'; +import { ObservedComponent, observePropsState } from 'mobx-react-helper'; import Link from 'next/link'; import { Component } from 'react'; -import { i18n, LanguageName, t } from '../../models/Translation'; +import { i18n, I18nContext, LanguageName } from '../../models/Translation'; import { SymbolIcon } from '../Icon'; import { ColorModeIconDropdown } from './ColorModeDropdown'; import { BrandLogo, GithubIcon } from './Svg'; -export const mainNavLinks = () => [ - { title: t('latest_projects'), href: '/project' }, - { title: 'GitHub-reward', href: '/project/reward/issue', target: '_top' }, - { title: t('member'), href: '/member' }, - { title: t('open_source_project'), href: '/open-source' }, -]; +export interface MainNavigator extends ObservedComponent<{}, typeof i18n> {} @observer +@observePropsState export class MainNavigator extends Component { + static contextType = I18nContext; + @observable accessor menuExpand = false; @observable accessor menuAnchor: PopoverProps['anchorEl'] = null; + @computed + get links() { + const { t } = this.observedContext!; + + return [ + { title: t('latest_projects'), href: '/project' }, + { title: 'GitHub-reward', href: '/project/reward/issue', target: '_top' }, + { title: t('member'), href: '/member' }, + { title: t('open_source_project'), href: '/open-source' }, + ]; + } + switchI18n = (key: string) => { - i18n.changeLanguage(key as keyof typeof LanguageName); + this.observedContext!.loadLanguages(key as keyof typeof LanguageName); this.menuAnchor = null; }; renderLinks = () => - mainNavLinks().map(({ title, href, target }) => ( + this.links.map(({ title, href, target }) => ( {title} )); renderI18nSwitch = () => { - const { currentLanguage } = i18n, + const { currentLanguage } = this.observedContext!, { menuAnchor } = this; return ( @@ -50,12 +61,7 @@ export class MainNavigator extends Component { (this.menuAnchor = null)} > @@ -89,7 +95,7 @@ export class MainNavigator extends Component { variant="temporary" anchor="top" ModalProps={{ keepMounted: true }} - PaperProps={{ className: 'w-full bg-transparent shadow-none bg-none' }} + slotProps={{ paper: { className: 'w-full bg-transparent shadow-none bg-none' } }} open={this.menuExpand} onClose={() => (this.menuExpand = false)} > diff --git a/components/Layout/ScrollListPage.tsx b/components/Layout/ScrollListPage.tsx index e47de7e..cbaa6d3 100644 --- a/components/Layout/ScrollListPage.tsx +++ b/components/Layout/ScrollListPage.tsx @@ -1,7 +1,7 @@ import { DataObject, Filter, ListModel } from 'mobx-restful'; -import { FC, HTMLAttributes } from 'react'; +import { FC, HTMLAttributes, useContext } from 'react'; -import { i18n } from '../../models/Translation'; +import { I18nContext } from '../../models/Translation'; import { PageHead } from '../PageHead'; import { ScrollList } from '../ScrollList'; @@ -27,19 +27,23 @@ export const ScrollListPage = = Filte header, Layout, ...rest -}: ScrollListPageProps) => ( -
    - -

    {header}

    +}: ScrollListPageProps) => { + const i18n = useContext(I18nContext); - {scrollList ? ( - } - {...rest} - /> - ) : ( - children - )} -
    -); + return ( +
    + +

    {header}

    + + {scrollList ? ( + } + {...rest} + /> + ) : ( + children + )} +
    + ); +}; diff --git a/components/Layout/Section.tsx b/components/Layout/Section.tsx index b64c729..e53aeb8 100644 --- a/components/Layout/Section.tsx +++ b/components/Layout/Section.tsx @@ -1,30 +1,34 @@ import { Button } from '@mui/material'; import { observer } from 'mobx-react'; import Link from 'next/link'; -import { FC, PropsWithChildren } from 'react'; +import { FC, PropsWithChildren, useContext } from 'react'; -import { t } from '../../models/Translation'; +import { I18nContext } from '../../models/Translation'; export type SectionProps = PropsWithChildren< Partial> >; export const Section: FC = observer( - ({ id, title, children, link, className = '' }) => ( -
    -

    - {title} -

    + ({ id, title, children, link, className = '' }) => { + const { t } = useContext(I18nContext); - {children} + return ( +
    +

    + {title} +

    - {link && ( -
    - -
    - )} -
    - ), + {children} + + {link && ( +
    + +
    + )} +
    + ); + }, ); diff --git a/components/NotFoundCard.tsx b/components/NotFoundCard.tsx index b1dc1c2..19c9666 100644 --- a/components/NotFoundCard.tsx +++ b/components/NotFoundCard.tsx @@ -1,11 +1,13 @@ /* eslint-disable @next/next/no-sync-scripts */ import { ErrorProps } from 'next/error'; -import { FC } from 'react'; +import { FC, useContext } from 'react'; -import { i18n } from '../models/Translation'; +import { I18nContext } from '../models/Translation'; -export const NotFoundCard: FC = ({ title }) => - i18n.currentLanguage.startsWith('zh') ? ( +export const NotFoundCard: FC = ({ title }) => { + const { currentLanguage } = useContext(I18nContext); + + return currentLanguage.startsWith('zh') ? ( - - - - {/** - * Preventing SSR flickering @see {@link https://mui.com/material-ui/customization/css-theme-variables/configuration/#preventing-ssr-flickering} - */} - -
    - - - - ); +interface CustomDocumentProps { + language: LanguageCode; + colorScheme: 'light' | 'dark'; +} + +export default class CustomDocument extends Document { + static async getInitialProps(context: DocumentContext) { + return { + ...(await Document.getInitialProps(context)), + ...parseSSRContext(context, ['language']), + }; + } + + render() { + const { language, colorScheme } = this.props; + + return ( + + + + + + + + + + + + + {/** + * Preventing SSR flickering @see {@link https://mui.com/material-ui/customization/css-theme-variables/configuration/#preventing-ssr-flickering} + */} + +
    + + + + ); + } } diff --git a/pages/_error.tsx b/pages/_error.tsx index b2ba0e1..df63062 100644 --- a/pages/_error.tsx +++ b/pages/_error.tsx @@ -1,33 +1,32 @@ import * as Sentry from '@sentry/nextjs'; -import { parseCookie, parseLanguageHeader } from 'mobx-i18n'; -import type { NextPage } from 'next'; -import type { ErrorProps } from 'next/error'; +import type { NextPageContext } from 'next'; import Error from 'next/error'; import { NotFoundCard } from '../components/NotFoundCard'; -import { i18n } from '../models/Translation'; +import { createI18nStore, I18nContext, I18nProps, loadSSRLanguage } from '../models/Translation'; -const CustomErrorComponent: NextPage = props => ( - <> - +const enableSentry = process.env.NODE_ENV === 'development' || !process.env.SENTRY_AUTH_TOKEN; - - -); -const enableSentry = - process.env.NODE_ENV === 'development' || !process.env.SENTRY_AUTH_TOKEN; +export default class CustomError extends Error { + static async getInitialProps(context: NextPageContext) { + if (enableSentry) await Sentry.captureUnderscoreErrorException(context); -CustomErrorComponent.getInitialProps = async contextData => { - const { 'accept-language': acceptLanguage, cookie = '' } = - contextData.req!.headers; - const { language } = parseCookie(cookie), - languages = parseLanguageHeader(acceptLanguage ?? ''); + return { + ...(await Error.getInitialProps(context)), + ...(await loadSSRLanguage(context)), + }; + } - await i18n.loadLanguages([language, ...languages].filter(Boolean)); + i18nStore = createI18nStore(this.props.language, this.props.languageMap); - if (enableSentry) await Sentry.captureUnderscoreErrorException(contextData); + render() { + const { props, i18nStore } = this; - return Error.getInitialProps(contextData); -}; - -export default CustomErrorComponent; + return ( + + + + + ); + } +} diff --git a/pages/api/core.ts b/pages/api/core.ts index ca0acf7..36be890 100644 --- a/pages/api/core.ts +++ b/pages/api/core.ts @@ -1,12 +1,12 @@ import Router, { RouterParamContext } from '@koa/router'; -import { JsonWebTokenError } from 'jsonwebtoken'; +import { JsonWebTokenError, sign } from 'jsonwebtoken'; import { Context, Middleware, ParameterizedContext } from 'koa'; import JWT from 'koa-jwt'; import { HTTPError } from 'koajax'; import { cache, KoaOption, withKoa, withKoaRouter } from 'next-ssr-middleware'; import { Month } from 'web-utility'; -import { JWT_SECRET, VercelHost } from '../../models/configuration'; +import { CrawlerEmail, JWT_SECRET, VERCEL_URL } from '../../models/configuration'; export type JWTContext = ParameterizedContext< { jwtOriginalError: JsonWebTokenError } | { user: { email: string } } @@ -20,6 +20,8 @@ export const parseJWT = JWT({ export const verifyJWT = JWT({ secret: JWT_SECRET!, cookie: 'token' }); +if (JWT_SECRET) console.info('🔑 [Crawler JWT]', sign({ email: CrawlerEmail }, JWT_SECRET)); + export const safeAPI: Middleware = async (context: Context, next) => { try { return await next(); @@ -60,7 +62,7 @@ export const withSafeKoaRouter = >( ) => withKoaRouter({} as KoaOption, router, safeAPI, ...middlewares); export function getTarget(link: URL | string): string { - const { origin = `https://${VercelHost}`, href = `https://${VercelHost}` } = + const { origin = `https://${VERCEL_URL}`, href = `https://${VERCEL_URL}` } = globalThis.location || {}; return origin !== new URL(link, href).origin ? '_blank' : '_self'; diff --git a/pages/api/crawler/task.ts b/pages/api/crawler/task.ts index 3c50aed..e553f67 100644 --- a/pages/api/crawler/task.ts +++ b/pages/api/crawler/task.ts @@ -1,8 +1,8 @@ import { createKoaRouter } from 'next-ssr-middleware'; import { githubClient } from '../../../models/Base'; -import { CRAWLER_TOKEN } from '../../../models/configuration'; -import { withSafeKoaRouter } from '../core'; +import { CACHE_REPOSITORY, CrawlerEmail } from '../../../models/configuration'; +import { JWTContext, parseJWT, withSafeKoaRouter } from '../core'; export interface CrawlerTask { URI: string; @@ -13,16 +13,16 @@ export const config = { api: { bodyParser: false } }; const router = createKoaRouter(import.meta.url); -router.post('/', async context => { - if (!CRAWLER_TOKEN || CRAWLER_TOKEN !== context.get('Authorization')?.split(/\s+/)[1]) +router.post('/', parseJWT, async (context: JWTContext) => { + if (!('user' in context.state) || context.state.user.email !== CrawlerEmail) return context.throw(401); const { URI, title = URI } = Reflect.get(context.request, 'body') as CrawlerTask; - const { status, body } = await githubClient.post('repos/idea2app/OWS-cache/issues', { + const { status, body } = await githubClient.post(`repos/${CACHE_REPOSITORY}/issues`, { title, - body: `### URL\n\n${URI}`, labels: ['crawler'], + body: `### URL\n\n${URI}`, }); context.status = status; context.body = body; diff --git a/pages/api/home.ts b/pages/api/home.ts index eab2f2d..fa9014e 100644 --- a/pages/api/home.ts +++ b/pages/api/home.ts @@ -1,6 +1,6 @@ -import { t } from '../../models/Translation'; +import { i18n } from '../../models/Translation'; -export const service = () => [ +export const service = ({ t }: typeof i18n) => [ { icon: 'trending_up', title: t('IT_transformation_consulting'), @@ -24,7 +24,7 @@ export const service = () => [ }, ]; -export const PARTNERS_INFO = () => [ +export const PARTNERS_INFO = ({ t }: typeof i18n) => [ { logo: '/aiux.png', logoDark: '/aiux-dark.png', diff --git a/pages/index.tsx b/pages/index.tsx index e6e9561..745904f 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -2,8 +2,8 @@ import Masonry from '@mui/lab/Masonry'; import { Button } from '@mui/material'; import { GitRepository } from 'mobx-github'; import { observer } from 'mobx-react'; -import { compose, errorLogger, translator } from 'next-ssr-middleware'; -import { FC } from 'react'; +import { compose, errorLogger } from 'next-ssr-middleware'; +import { FC, useContext } from 'react'; import { PartnerOverview } from '../components/Client/Partner'; import { GitListLayout } from '../components/Git'; @@ -14,7 +14,7 @@ import { MemberCard } from '../components/Member/Card'; import { PageHead } from '../components/PageHead'; import { Member, MEMBER_VIEW, MemberModel } from '../models/Member'; import { GitRepositoryModel } from '../models/Repository'; -import { i18n, t } from '../models/Translation'; +import { I18nContext } from '../models/Translation'; import { solidCache } from './api/core'; import { PARTNERS_INFO, service } from './api/home'; @@ -23,7 +23,7 @@ interface HomePageProps { members: Member[]; } -export const getServerSideProps = compose(solidCache, errorLogger, translator(i18n), async () => { +export const getServerSideProps = compose(solidCache, errorLogger, async () => { const [repositories, members] = await Promise.all([ new GitRepositoryModel('idea2app').getList({ relation: [] }, 1, 9), new MemberModel().getViewList(MEMBER_VIEW), @@ -39,92 +39,96 @@ export const getServerSideProps = compose(solidCache, errorLogger, translator(i1 }; }); -const HomePage: FC = observer(({ repositories, members }) => ( - <> - +const HomePage: FC = observer(({ repositories, members }) => { + const i18n = useContext(I18nContext); + const { t } = i18n; -
    -
    -
    - + return ( + <> + -
    -

    {t('idea2app_summary')}

    -

    {t('idea2app_slogan')}

    +
    +
    +
    + -

    {t('idea2app_slogan_2')}?

    -
    -
    +
    +

    {t('idea2app_summary')}

    +

    {t('idea2app_slogan')}

    -
      - {service().map(({ title, summary, icon, buttonText, buttonLink }) => ( -
    • -
      - {title} -
      - -

      {summary}

      +

      {t('idea2app_slogan_2')}?

      +
    +
    - - - ))} - - +
    + {title} +
    -
    -
    -
      - {/** - * @todo: polish the carousel animation - */} - {Array.from({ length: 3 }).map((_, index) => ( -
    • - {PARTNERS_INFO().map(({ name, ...rest }) => ( - - ))} -
    • - ))} -
    -
    -
    +

    {summary}

    + + + + ))} + + -
    -
    - - {members.map(item => ( - +
    +
    +
      + {/** + * @todo: polish the carousel animation + */} + {Array.from({ length: 3 }).map((_, index) => ( +
    • + {PARTNERS_INFO(i18n).map(({ name, ...rest }) => ( + + ))} +
    • ))} - -
      -
      -
    + +
    +
    -
    - -
    - - -)); +
    +
    + + {members.map(item => ( + + ))} + +
    +
    +
    +
    + +
    + + + ); +}); export default HomePage; diff --git a/pages/member/[nickname].tsx b/pages/member/[nickname].tsx index d04e296..f090bd4 100644 --- a/pages/member/[nickname].tsx +++ b/pages/member/[nickname].tsx @@ -1,16 +1,17 @@ -import { TabContext, TabList, TabPanel } from '@mui/lab'; +import { TabContext, TabList, TabListProps, TabPanel } from '@mui/lab'; import { Badge, Tab } from '@mui/material'; import { observable } from 'mobx'; import { observer } from 'mobx-react'; -import { compose, errorLogger, translator } from 'next-ssr-middleware'; -import { Component, SyntheticEvent } from 'react'; +import { ObservedComponent, observePropsState } from 'mobx-react-helper'; +import { compose, errorLogger } from 'next-ssr-middleware'; +import { Component } from 'react'; import { MemberCard } from '../../components/Member/Card'; import { PageHead } from '../../components/PageHead'; import { ProjectListLayout } from '../../components/Project'; import { Member, MemberModel } from '../../models/Member'; import { Project, ProjectModel } from '../../models/Project'; -import { i18n, t } from '../../models/Translation'; +import { i18n, I18nContext } from '../../models/Translation'; import { solidCache } from '../api/core'; interface MemberDetailPageProps { @@ -22,7 +23,6 @@ interface MemberDetailPageProps { export const getServerSideProps = compose<{ nickname: string }>( solidCache, errorLogger, - translator(i18n), async ({ params }) => { const [member] = await new MemberModel().getList(params, 1, 1); @@ -38,14 +38,22 @@ export const getServerSideProps = compose<{ nickname: string }>( }; }, ); + +export default interface MemberDetailPage + extends ObservedComponent {} + @observer +@observePropsState export default class MemberDetailPage extends Component { + static contextType = I18nContext; + @observable accessor eventKey = '0'; - handleChange = (event: SyntheticEvent, newValue: string) => (this.eventKey = newValue); + handleChange: TabListProps['onChange'] = (event, newValue) => (this.eventKey = newValue); render() { const { member, leaderProjects, memberProjects } = this.props; + const { t } = this.observedContext!; const entries = Object.entries({ [t('projects_as_leader')]: leaderProjects, diff --git a/pages/member/index.tsx b/pages/member/index.tsx index d747760..12cb5bd 100644 --- a/pages/member/index.tsx +++ b/pages/member/index.tsx @@ -1,27 +1,30 @@ import { observer } from 'mobx-react'; -import { compose, errorLogger, translator } from 'next-ssr-middleware'; -import { FC } from 'react'; +import { compose, errorLogger } from 'next-ssr-middleware'; +import { FC, useContext } from 'react'; import { ScrollListPage } from '../../components/Layout/ScrollListPage'; import { MemberListLayout } from '../../components/Member/List'; import memberStore, { Member, MemberModel } from '../../models/Member'; -import { i18n, t } from '../../models/Translation'; +import { I18nContext } from '../../models/Translation'; import { solidCache } from '../api/core'; -export const getServerSideProps = compose(solidCache, errorLogger, translator(i18n), async () => { +export const getServerSideProps = compose(solidCache, errorLogger, async () => { const list = await new MemberModel().getList(); return { props: JSON.parse(JSON.stringify({ list })) }; }); -const MemberListPage: FC<{ list: Member[] }> = observer(({ list }) => ( - -)); +const MemberListPage: FC<{ list: Member[] }> = observer(({ list }) => { + const { t } = useContext(I18nContext); + return ( + + ); +}); export default MemberListPage; diff --git a/pages/open-source.tsx b/pages/open-source.tsx index 8c18eaa..ddb9391 100644 --- a/pages/open-source.tsx +++ b/pages/open-source.tsx @@ -1,27 +1,30 @@ import { GitRepository } from 'mobx-github'; import { observer } from 'mobx-react'; -import { cache, compose, errorLogger, translator } from 'next-ssr-middleware'; -import { FC } from 'react'; +import { cache, compose, errorLogger } from 'next-ssr-middleware'; +import { FC, useContext } from 'react'; import { GitListLayout } from '../components/Git'; import { ScrollListPage } from '../components/Layout/ScrollListPage'; import repositoryStore, { GitRepositoryModel } from '../models/Repository'; -import { i18n, t } from '../models/Translation'; +import { I18nContext } from '../models/Translation'; -export const getServerSideProps = compose(cache(), errorLogger, translator(i18n), async () => { +export const getServerSideProps = compose(cache(), errorLogger, async () => { const list = await new GitRepositoryModel('idea2app').getList(); return { props: JSON.parse(JSON.stringify({ list })) }; }); -const GitListPage: FC<{ list: GitRepository[] }> = observer(({ list }) => ( - -)); +const GitListPage: FC<{ list: GitRepository[] }> = observer(({ list }) => { + const { t } = useContext(I18nContext); + return ( + + ); +}); export default GitListPage; diff --git a/pages/project/[id].tsx b/pages/project/[id].tsx index c143c14..6e85dd5 100644 --- a/pages/project/[id].tsx +++ b/pages/project/[id].tsx @@ -1,7 +1,7 @@ import { GitRepository } from 'mobx-github'; import { observer } from 'mobx-react'; -import { compose, errorLogger, translator } from 'next-ssr-middleware'; -import { FC } from 'react'; +import { compose, errorLogger } from 'next-ssr-middleware'; +import { FC, useContext } from 'react'; import { GitCard } from '../../components/Git/Card'; import { LarkImage } from '../../components/LarkImage'; @@ -9,7 +9,7 @@ import { PageHead } from '../../components/PageHead'; import { ProjectCard } from '../../components/Project/Card'; import { Project, ProjectModel } from '../../models/Project'; import { GitRepositoryModel } from '../../models/Repository'; -import { i18n, t } from '../../models/Translation'; +import { I18nContext } from '../../models/Translation'; import { solidCache } from '../api/core'; interface ProjectDetailPageProps { @@ -20,7 +20,6 @@ interface ProjectDetailPageProps { export const getServerSideProps = compose<{ id: string }, ProjectDetailPageProps>( solidCache, errorLogger, - translator(i18n), async ({ params: { id } = {} }) => { let repositories: GitRepository[] = []; @@ -38,31 +37,35 @@ export const getServerSideProps = compose<{ id: string }, ProjectDetailPageProps }, ); -const ProjectDetailPage: FC = observer(({ project, repositories }) => ( -
    - +const ProjectDetailPage: FC = observer(({ project, repositories }) => { + const { t } = useContext(I18nContext); -
    - - {/** - * @todo replace with LarkImage after R2 is ready - */} - - + return ( +
    + -
    - -
    -

    {t('open_source_project')}

    +
    + + {/** + * @todo replace with LarkImage after R2 is ready + */} + + -
      - {repositories.map(repository => ( - - ))} -
    +
    + +
    +

    {t('open_source_project')}

    + +
      + {repositories.map(repository => ( + + ))} +
    +
    -
    -)); + ); +}); export default ProjectDetailPage; diff --git a/pages/project/index.tsx b/pages/project/index.tsx index 38b5301..af35c1e 100644 --- a/pages/project/index.tsx +++ b/pages/project/index.tsx @@ -1,27 +1,30 @@ import { observer } from 'mobx-react'; -import { compose, errorLogger, translator } from 'next-ssr-middleware'; -import { FC } from 'react'; +import { compose, errorLogger } from 'next-ssr-middleware'; +import { FC, useContext } from 'react'; import { ScrollListPage } from '../../components/Layout/ScrollListPage'; import { ProjectListLayout } from '../../components/Project'; import projectStore, { Project, ProjectModel } from '../../models/Project'; -import { i18n, t } from '../../models/Translation'; +import { I18nContext } from '../../models/Translation'; import { solidCache } from '../api/core'; -export const getServerSideProps = compose(solidCache, errorLogger, translator(i18n), async () => { +export const getServerSideProps = compose(solidCache, errorLogger, async () => { const list = await new ProjectModel().getList({}); return { props: JSON.parse(JSON.stringify({ list })) }; }); -const ProjectListPage: FC<{ list: Project[] }> = observer(({ list }) => ( - -)); +const ProjectListPage: FC<{ list: Project[] }> = observer(({ list }) => { + const { t } = useContext(I18nContext); + return ( + + ); +}); export default ProjectListPage; diff --git a/pages/project/reward/issue.tsx b/pages/project/reward/issue.tsx index 684e9cf..3d3d52a 100644 --- a/pages/project/reward/issue.tsx +++ b/pages/project/reward/issue.tsx @@ -1,14 +1,14 @@ import { Grid } from '@mui/material'; import { Issue } from 'mobx-github'; import { observer } from 'mobx-react'; -import { cache, compose, errorLogger, translator } from 'next-ssr-middleware'; -import { FC } from 'react'; +import { compose, errorLogger } from 'next-ssr-middleware'; +import { FC, useContext } from 'react'; import { IssueCard } from '../../../components/Git/Issue/Card'; import { PageHead } from '../../../components/PageHead'; import { ScrollList } from '../../../components/ScrollList'; import issueStore, { IssueFilter, IssueModel } from '../../../models/Issue'; -import { i18n } from '../../../models/Translation'; +import { I18nContext } from '../../../models/Translation'; import { githubOAuth } from '../../api/GitHub/core'; const issueFilter: IssueFilter = { @@ -17,34 +17,38 @@ const issueFilter: IssueFilter = { title: 'reward', }; -export const getServerSideProps = compose(githubOAuth, errorLogger, translator(i18n), async () => { +export const getServerSideProps = compose(githubOAuth, errorLogger, async () => { const list = await new IssueModel().getList(issueFilter); return { props: JSON.parse(JSON.stringify({ list })) }; }); -const IssuesPage: FC<{ list: Issue[] }> = observer(({ list }) => ( - - - -

    GitHub-reward issues

    - - ( - - {allItems.map(issue => ( - - - - ))} - - )} - /> -
    -)); +const IssuesPage: FC<{ list: Issue[] }> = observer(({ list }) => { + const i18n = useContext(I18nContext); + + return ( + + + +

    GitHub-reward issues

    + + ( + + {allItems.map(issue => ( + + + + ))} + + )} + /> +
    + ); +}); export default IssuesPage; diff --git a/pages/requirement/[title].tsx b/pages/requirement/[title].tsx index 1762082..91d8b05 100644 --- a/pages/requirement/[title].tsx +++ b/pages/requirement/[title].tsx @@ -2,16 +2,17 @@ import Giscus from '@giscus/react'; import { Alert } from '@mui/material'; import { observer } from 'mobx-react'; import { NextPage } from 'next'; -import { compose, RouteProps, router, translator } from 'next-ssr-middleware'; +import { compose, RouteProps, router } from 'next-ssr-middleware'; +import { useContext } from 'react'; import { PageHead } from '../../components/PageHead'; -import { i18n, t } from '../../models/Translation'; +import { I18nContext } from '../../models/Translation'; -export const getServerSideProps = compose(router, translator(i18n)); +export const getServerSideProps = compose(router); const RequirementDetailPage: NextPage> = observer( ({ route: { params } }) => { - const { currentLanguage } = i18n, + const { currentLanguage, t } = useContext(I18nContext), title = `${params!.title} - ${t('AI_requirement_evaluation')}`; return ( @@ -39,5 +40,4 @@ const RequirementDetailPage: NextPage> = observer( ); }, ); - export default RequirementDetailPage; diff --git a/pages/requirement/index.tsx b/pages/requirement/index.tsx index 260c744..f3998a7 100644 --- a/pages/requirement/index.tsx +++ b/pages/requirement/index.tsx @@ -1,35 +1,37 @@ import { Button, TextField } from '@mui/material'; import { observer } from 'mobx-react'; import { NextPage } from 'next'; -import { compose, translator } from 'next-ssr-middleware'; +import { useContext } from 'react'; import { formToJSON } from 'web-utility'; import { PageHead } from '../../components/PageHead'; -import { i18n, t } from '../../models/Translation'; +import { I18nContext } from '../../models/Translation'; -export const getServerSideProps = compose(translator(i18n)); +const RequirementEntryPage: NextPage = observer(() => { + const { t } = useContext(I18nContext); -const RequirementEntryPage: NextPage = observer(() => ( -
    { - event.preventDefault(); + return ( + { + event.preventDefault(); - const { title } = formToJSON<{ title: string }>(event.currentTarget); + const { title } = formToJSON<{ title: string }>(event.currentTarget); - location.href += `/${title}`; - }} - > - + location.href += `/${title}`; + }} + > + -

    {t('AI_requirement_evaluation')}

    +

    {t('AI_requirement_evaluation')}

    - + - - -)); + + + ); +}); export default RequirementEntryPage; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6eb97ad..105ca7e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - next: ^15.3.1 + next: ^15.3.2 importers: @@ -13,10 +13,10 @@ importers: dependencies: '@emotion/react': specifier: ^11.14.0 - version: 11.14.0(@types/react@19.1.2)(react@19.1.0) + version: 11.14.0(@types/react@19.1.3)(react@19.1.0) '@emotion/styled': specifier: ^11.14.0 - version: 11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0) + version: 11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0) '@giscus/react': specifier: ^3.1.0 version: 3.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -27,14 +27,14 @@ importers: specifier: ^13.1.0 version: 13.1.0 '@mui/lab': - specifier: ^7.0.0-beta.11 - version: 7.0.0-beta.11(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@mui/material@7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 7.0.0-beta.12 + version: 7.0.0-beta.12(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@mui/material@7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mui/material': - specifier: ^7.0.2 - version: 7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^7.1.0 + version: 7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@sentry/nextjs': - specifier: ^9.15.0 - version: 9.15.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.7) + specifier: ^9.16.1 + version: 9.16.1(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.8) file-type: specifier: ^20.5.0 version: 20.5.0 @@ -66,26 +66,29 @@ importers: specifier: ^0.3.5 version: 0.3.5(typescript@5.8.3) mobx-i18n: - specifier: ^0.6.0 - version: 0.6.0(mobx@6.13.7)(typescript@5.8.3) + specifier: ^0.7.1 + version: 0.7.1(mobx@6.13.7)(typescript@5.8.3) mobx-lark: specifier: ^2.2.0 version: 2.2.0(typescript@5.8.3) mobx-react: specifier: ^9.2.0 version: 9.2.0(mobx@6.13.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + mobx-react-helper: + specifier: ^0.3.6 + version: 0.3.6(mobx@6.13.7)(react@19.1.0) mobx-restful: specifier: ^2.1.0 version: 2.1.0(mobx@6.13.7)(typescript@5.8.3) next: - specifier: ^15.3.1 - version: 15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^15.3.2 + version: 15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-pwa: specifier: ~5.6.0 - version: 5.6.0(@babel/core@7.27.1)(next@15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(webpack@5.99.7) + version: 5.6.0(@babel/core@7.27.1)(next@15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(webpack@5.99.8) next-ssr-middleware: - specifier: ^0.10.0 - version: 0.10.0(@koa/bodyparser@5.1.1(koa@2.16.1))(@koa/router@13.1.0)(jsonwebtoken@9.0.2)(koa@2.16.1)(mobx-i18n@0.6.0(mobx@6.13.7)(typescript@5.8.3))(next@15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + specifier: ^1.0.0 + version: 1.0.0(next@15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(typescript@5.8.3) react: specifier: ^19.1.0 version: 19.1.0 @@ -96,8 +99,8 @@ importers: specifier: ^4.4.3 version: 4.4.3(typescript@5.8.3) webpack: - specifier: ^5.99.7 - version: 5.99.7 + specifier: ^5.99.8 + version: 5.99.8 devDependencies: '@babel/plugin-proposal-decorators': specifier: ^7.27.1 @@ -109,8 +112,8 @@ importers: specifier: ^7.27.1 version: 7.27.1(@babel/core@7.27.1) '@cspell/eslint-plugin': - specifier: ^8.19.4 - version: 8.19.4(eslint@9.26.0(jiti@2.4.2)) + specifier: ^9.0.0 + version: 9.0.0(eslint@9.26.0(jiti@2.4.2)) '@eslint/compat': specifier: ^1.2.9 version: 1.2.9(eslint@9.26.0(jiti@2.4.2)) @@ -118,8 +121,8 @@ importers: specifier: ^9.26.0 version: 9.26.0 '@next/eslint-plugin-next': - specifier: ^15.3.1 - version: 15.3.1 + specifier: ^15.3.2 + version: 15.3.2 '@stylistic/eslint-plugin': specifier: ^4.2.0 version: 4.2.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -145,20 +148,20 @@ importers: specifier: ^5.6.9 version: 5.6.9(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/node': - specifier: ^22.15.3 - version: 22.15.3 + specifier: ^22.15.15 + version: 22.15.15 '@types/react': - specifier: ^19.1.2 - version: 19.1.2 + specifier: ^19.1.3 + version: 19.1.3 eslint: specifier: ^9.26.0 version: 9.26.0(jiti@2.4.2) eslint-config-next: - specifier: ^15.3.1 - version: 15.3.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ^15.3.2 + version: 15.3.2(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) eslint-config-prettier: - specifier: ^10.1.2 - version: 10.1.2(eslint@9.26.0(jiti@2.4.2)) + specifier: ^10.1.3 + version: 10.1.3(eslint@9.26.0(jiti@2.4.2)) eslint-plugin-react: specifier: ^7.37.5 version: 7.37.5(eslint@9.26.0(jiti@2.4.2)) @@ -166,8 +169,8 @@ importers: specifier: ^12.1.1 version: 12.1.1(eslint@9.26.0(jiti@2.4.2)) globals: - specifier: ^16.0.0 - version: 16.0.0 + specifier: ^16.1.0 + version: 16.1.0 husky: specifier: ^9.1.7 version: 9.1.7 @@ -175,8 +178,8 @@ importers: specifier: ^2.4.2 version: 2.4.2 lint-staged: - specifier: ^15.5.1 - version: 15.5.1 + specifier: ^15.5.2 + version: 15.5.2 postcss: specifier: ^8.5.3 version: 8.5.3 @@ -196,8 +199,8 @@ importers: specifier: ~5.8.3 version: 5.8.3 typescript-eslint: - specifier: ^8.31.1 - version: 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + specifier: ^8.32.0 + version: 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) packages: @@ -219,8 +222,8 @@ packages: resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.27.1': - resolution: {integrity: sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==} + '@babel/compat-data@7.27.2': + resolution: {integrity: sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==} engines: {node: '>=6.9.0'} '@babel/core@7.27.1': @@ -235,8 +238,8 @@ packages: resolution: {integrity: sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.27.1': - resolution: {integrity: sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==} + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} '@babel/helper-create-class-features-plugin@7.27.1': @@ -314,8 +317,8 @@ packages: resolution: {integrity: sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.1': - resolution: {integrity: sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==} + '@babel/parser@7.27.2': + resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==} engines: {node: '>=6.0.0'} hasBin: true @@ -577,8 +580,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.27.1': - resolution: {integrity: sha512-/sSliVc9gHE20/7D5qsdGlq7RG5NCDTWsAhyqzGuq174EtWJoGzIu1BQ7G56eDsTcy1jseBZwv50olSdXOlGuA==} + '@babel/plugin-transform-object-rest-spread@7.27.2': + resolution: {integrity: sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -727,8 +730,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.27.1': - resolution: {integrity: sha512-TZ5USxFpLgKDpdEt8YWBR7p6g+bZo6sHaXLqP2BY/U0acaoI8FTVflcYCr/v94twM1C5IWFdZ/hscq9WjUeLXA==} + '@babel/preset-env@7.27.2': + resolution: {integrity: sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -748,8 +751,8 @@ packages: resolution: {integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==} engines: {node: '>=6.9.0'} - '@babel/template@7.27.1': - resolution: {integrity: sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} '@babel/traverse@7.27.1': @@ -760,25 +763,25 @@ packages: resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} engines: {node: '>=6.9.0'} - '@cspell/cspell-bundled-dicts@8.19.4': - resolution: {integrity: sha512-2ZRcZP/ncJ5q953o8i+R0fb8+14PDt5UefUNMrFZZHvfTI0jukAASOQeLY+WT6ASZv6CgbPrApAdbppy9FaXYQ==} - engines: {node: '>=18'} + '@cspell/cspell-bundled-dicts@9.0.0': + resolution: {integrity: sha512-S2nM8iWGY252XrEOt9qAVMDgBBiQYcv7cxi/g1sBZL4sx/lDF02QSn926aVLYF9LNsGxjjliV7bbYoIU2oDjtQ==} + engines: {node: '>=20'} - '@cspell/cspell-pipe@8.19.4': - resolution: {integrity: sha512-GNAyk+7ZLEcL2fCMT5KKZprcdsq3L1eYy3e38/tIeXfbZS7Sd1R5FXUe6CHXphVWTItV39TvtLiDwN/2jBts9A==} - engines: {node: '>=18'} + '@cspell/cspell-pipe@9.0.0': + resolution: {integrity: sha512-ur1m4SOs9GP0eIC7n+II/Ea2xuEBWVI438d/zcoC+DWMElQD99OPxVVpPmGoMIPx4YzNlXWQH4kcygnG2a3ogg==} + engines: {node: '>=20'} - '@cspell/cspell-resolver@8.19.4': - resolution: {integrity: sha512-S8vJMYlsx0S1D60glX8H2Jbj4mD8519VjyY8lu3fnhjxfsl2bDFZvF3ZHKsLEhBE+Wh87uLqJDUJQiYmevHjDg==} - engines: {node: '>=18'} + '@cspell/cspell-resolver@9.0.0': + resolution: {integrity: sha512-D2bPNpKNmwJM7r28cK6gDpgZKslGALNeyjpg9jFJLfstvHyn9m6vXsZbDuOJLKoEU3CLhkDSmRyNiEb2n18xhA==} + engines: {node: '>=20'} - '@cspell/cspell-service-bus@8.19.4': - resolution: {integrity: sha512-uhY+v8z5JiUogizXW2Ft/gQf3eWrh5P9036jN2Dm0UiwEopG/PLshHcDjRDUiPdlihvA0RovrF0wDh4ptcrjuQ==} - engines: {node: '>=18'} + '@cspell/cspell-service-bus@9.0.0': + resolution: {integrity: sha512-KcvYBh/MrODNgavbjKTiWpI9BklGy9/suMCC/ZThUrjWpbndwHjxcbge4DLlKyVqYbe78B0KjKgZsuqQvOqJjg==} + engines: {node: '>=20'} - '@cspell/cspell-types@8.19.4': - resolution: {integrity: sha512-ekMWuNlFiVGfsKhfj4nmc8JCA+1ZltwJgxiKgDuwYtR09ie340RfXFF6YRd2VTW5zN7l4F1PfaAaPklVz6utSg==} - engines: {node: '>=18'} + '@cspell/cspell-types@9.0.0': + resolution: {integrity: sha512-iBtN+AVC1v/V35qGOzHLyIvFJEr3pljtJgB4pM0TIZuzPQrm9lr3vV+WSCeOXqiTuY8DEXeMCZN+30QOi4ElNQ==} + engines: {node: '>=20'} '@cspell/dict-ada@4.1.0': resolution: {integrity: sha512-7SvmhmX170gyPd+uHXrfmqJBY5qLcCX8kTGURPVeGxmt8XNXT75uu9rnZO+jwrfuU2EimNoArdVy5GZRGljGNg==} @@ -792,8 +795,8 @@ packages: '@cspell/dict-bash@4.2.0': resolution: {integrity: sha512-HOyOS+4AbCArZHs/wMxX/apRkjxg6NDWdt0jF9i9XkvJQUltMwEhyA2TWYjQ0kssBsnof+9amax2lhiZnh3kCg==} - '@cspell/dict-companies@3.1.15': - resolution: {integrity: sha512-vnGYTJFrqM9HdtgpZFOThFTjlPyJWqPi0eidMKyZxMKTHhP7yg6mD5X9WPEPvfiysmJYMnA6KKYQEBqoKFPU9g==} + '@cspell/dict-companies@3.2.1': + resolution: {integrity: sha512-ryaeJ1KhTTKL4mtinMtKn8wxk6/tqD4vX5tFP+Hg89SiIXmbMk5vZZwVf+eyGUWJOyw5A1CVj9EIWecgoi+jYQ==} '@cspell/dict-cpp@6.0.8': resolution: {integrity: sha512-BzurRZilWqaJt32Gif6/yCCPi+FtrchjmnehVEIFzbWyeBd/VOUw77IwrEzehZsu5cRU91yPWuWp5fUsKfDAXA==} @@ -828,14 +831,14 @@ packages: '@cspell/dict-en-common-misspellings@2.0.10': resolution: {integrity: sha512-80mXJLtr0tVEtzowrI7ycVae/ULAYImZUlr0kUTpa8i57AUk7Zy3pYBs44EYIKW7ZC9AHu4Qjjfq4vriAtyTDQ==} - '@cspell/dict-en-gb@1.1.33': - resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} + '@cspell/dict-en-gb-mit@3.0.5': + resolution: {integrity: sha512-MaizveMDaTllx55YnUXPtkJuqTibbhhAzANRCRQOS9EVunYIv6AcMHDk9uu9u+4UYgpazfaUpHQ5d3sMfCmFDQ==} - '@cspell/dict-en_us@4.4.4': - resolution: {integrity: sha512-TXtEYTCA60LM4+pmmBTrGahPdQlOerUJIeURShUMHlkv7MdRFqxl2LX0P/4+DJnJ9Xw+SMLyxShEof5cqzglRw==} + '@cspell/dict-en_us@4.4.8': + resolution: {integrity: sha512-OkNUVuU9Q+Sf827/61YPkk6ya6dSsllzeYniBFqNW9TkoqQXT3vggkgmtCE1aEhSvVctMwxpPYoC8pZgn1TeSA==} - '@cspell/dict-filetypes@3.0.11': - resolution: {integrity: sha512-bBtCHZLo7MiSRUqx5KEiPdGOmXIlDGY+L7SJEtRWZENpAKE+96rT7hj+TUUYWBbCzheqHr0OXZJFEKDgsG/uZg==} + '@cspell/dict-filetypes@3.0.12': + resolution: {integrity: sha512-+ds5wgNdlUxuJvhg8A1TjuSpalDFGCh7SkANCWvIplg6QZPXL4j83lqxP7PgjHpx7PsBUS7vw0aiHPjZy9BItw==} '@cspell/dict-flutter@1.1.0': resolution: {integrity: sha512-3zDeS7zc2p8tr9YH9tfbOEYfopKY/srNsAa+kE3rfBTtQERAZeOhe5yxrnTPoufctXLyuUtcGMUTpxr3dO0iaA==} @@ -855,8 +858,8 @@ packages: '@cspell/dict-git@3.0.4': resolution: {integrity: sha512-C44M+m56rYn6QCsLbiKiedyPTMZxlDdEYAsPwwlL5bhMDDzXZ3Ic8OCQIhMbiunhCOJJT+er4URmOmM+sllnjg==} - '@cspell/dict-golang@6.0.20': - resolution: {integrity: sha512-b7nd9XXs+apMMzNSWorjirQsbmlwcTC0ViQJU8u+XNose3z0y7oNeEpbTPTVoN1+1sO9aOHuFwfwoOMFCDS14Q==} + '@cspell/dict-golang@6.0.21': + resolution: {integrity: sha512-D3wG1MWhFx54ySFJ00CS1MVjR4UiBVsOWGIjJ5Av+HamnguqEshxbF9mvy+BX0KqzdLVzwFkoLBs8QeOID56HA==} '@cspell/dict-google@1.0.8': resolution: {integrity: sha512-BnMHgcEeaLyloPmBs8phCqprI+4r2Jb8rni011A8hE+7FNk7FmLE3kiwxLFrcZnnb7eqM0agW4zUaNoB0P+z8A==} @@ -908,8 +911,8 @@ packages: '@cspell/dict-node@5.0.7': resolution: {integrity: sha512-ZaPpBsHGQCqUyFPKLyCNUH2qzolDRm1/901IO8e7btk7bEDF56DN82VD43gPvD4HWz3yLs/WkcLa01KYAJpnOw==} - '@cspell/dict-npm@5.2.2': - resolution: {integrity: sha512-WAoX8xQdzH3pcRjsSFBy4NLgOb4cHCwi5Ft0dRzsYULplkW7jaVwUYaTrWcKF8i8QgOSFokxzS35DGlUeQsewg==} + '@cspell/dict-npm@5.2.3': + resolution: {integrity: sha512-EdGkCpAq66Mhi9Qldgsr+NvPVL4TdtmdlqDe4VBp0P3n6J0B7b0jT1MlVDIiLR+F1eqBfL0qjfHf0ey1CafeNw==} '@cspell/dict-php@4.0.14': resolution: {integrity: sha512-7zur8pyncYZglxNmqsRycOZ6inpDoVd4yFfz1pQRe5xaRWMiK3Km4n0/X/1YMWhh3e3Sl/fQg5Axb2hlN68t1g==} @@ -938,8 +941,8 @@ packages: '@cspell/dict-shell@1.1.0': resolution: {integrity: sha512-D/xHXX7T37BJxNRf5JJHsvziFDvh23IF/KvkZXNSh8VqcRdod3BAz9VGHZf6VDqcZXr1VRqIYR3mQ8DSvs3AVQ==} - '@cspell/dict-software-terms@5.0.6': - resolution: {integrity: sha512-Fca4yPa3g+hzbZEZcyCkwYIuHtGvxZs02TP8O2nzCbjX7N6kUnGmdtBqacSebjhLFkXA2Yks+FTaXlg4LgvwXA==} + '@cspell/dict-software-terms@5.0.8': + resolution: {integrity: sha512-VsJesitvaHZpMgNwHHms3yDsZz7LNToC2HuSAnyt1znn37ribiJF1ty0jWhVQO6fv7K4PM1KsKTJIwqBwc446g==} '@cspell/dict-sql@2.2.0': resolution: {integrity: sha512-MUop+d1AHSzXpBvQgQkCiok8Ejzb+nrzyG16E8TvKL2MQeDwnIvMe3bv90eukP6E1HWb+V/MA/4pnq0pcJWKqQ==} @@ -959,27 +962,27 @@ packages: '@cspell/dict-vue@3.0.4': resolution: {integrity: sha512-0dPtI0lwHcAgSiQFx8CzvqjdoXROcH+1LyqgROCpBgppommWpVhbQ0eubnKotFEXgpUCONVkeZJ6Ql8NbTEu+w==} - '@cspell/dynamic-import@8.19.4': - resolution: {integrity: sha512-0LLghC64+SiwQS20Sa0VfFUBPVia1rNyo0bYeIDoB34AA3qwguDBVJJkthkpmaP1R2JeR/VmxmJowuARc4ZUxA==} - engines: {node: '>=18.0'} + '@cspell/dynamic-import@9.0.0': + resolution: {integrity: sha512-SE7RFKH4FlXzLFli/vGMayteUVyXDbaZpb1bqymO3uAHO9ZgY+faid4vV/qoVMUgKK+P7hIq5e3MB7swmFAZBg==} + engines: {node: '>=20'} - '@cspell/eslint-plugin@8.19.4': - resolution: {integrity: sha512-ICXH38a0HeOcglkVUL4uE3y8jkQ1L14+tdMK+AcE1Hq/LvsA1iEXFRoEw0IGhO/yP98K8Nvj5CuN+7RNDbLYMA==} - engines: {node: '>=18'} + '@cspell/eslint-plugin@9.0.0': + resolution: {integrity: sha512-v43ZbXSXlYiiY1lDLgPt8u+GxKqRcbVZ8RGFjn11kn09sj2OC9xMzuWWil8pJaeS6TV+qict68kCsafVgk+8vQ==} + engines: {node: '>=20'} peerDependencies: eslint: ^7 || ^8 || ^9 - '@cspell/filetypes@8.19.4': - resolution: {integrity: sha512-D9hOCMyfKtKjjqQJB8F80PWsjCZhVGCGUMiDoQpcta0e+Zl8vHgzwaC0Ai4QUGBhwYEawHGiWUd7Y05u/WXiNQ==} - engines: {node: '>=18'} + '@cspell/filetypes@9.0.0': + resolution: {integrity: sha512-PL6ty0Xdn1UmRXwIwkze3IizgVbJSCvP0yMQF5xRQixTfidBfxrvnqjAWOGNuQifgIk1PVyFvik7ubLG0skw3w==} + engines: {node: '>=20'} - '@cspell/strong-weak-map@8.19.4': - resolution: {integrity: sha512-MUfFaYD8YqVe32SQaYLI24/bNzaoyhdBIFY5pVrvMo1ZCvMl8AlfI2OcBXvcGb5aS5z7sCNCJm11UuoYbLI1zw==} - engines: {node: '>=18'} + '@cspell/strong-weak-map@9.0.0': + resolution: {integrity: sha512-LQw0f8nm1C7my6JqjtvTkFQ9Mt561vay0za5Vh5J9yCZxGbOvZ+/Doe925WM5NaqaxC3/wGUdEK1HxMxi9fyBA==} + engines: {node: '>=20'} - '@cspell/url@8.19.4': - resolution: {integrity: sha512-Pa474iBxS+lxsAL4XkETPGIq3EgMLCEb9agj3hAd2VGMTCApaiUvamR4b+uGXIPybN70piFxvzrfoxsG2uIP6A==} - engines: {node: '>=18.0'} + '@cspell/url@9.0.0': + resolution: {integrity: sha512-l30nTnD35w6wzABJry38tYuwMNaR9VweZb2go78F3vh8V15kGOpi1gWd7s6K2M8An7kqDS4L3Bgp019s7CJQQQ==} + engines: {node: '>=20'} '@emnapi/core@1.4.3': resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} @@ -1116,8 +1119,8 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.2': - resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} '@img/sharp-darwin-arm64@0.34.1': @@ -1271,17 +1274,17 @@ packages: resolution: {integrity: sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==} engines: {node: '>=18'} - '@mui/core-downloads-tracker@7.0.2': - resolution: {integrity: sha512-TfeFU9TgN1N06hyb/pV/63FfO34nijZRMqgHk0TJ3gkl4Fbd+wZ73+ZtOd7jag6hMmzO9HSrBc6Vdn591nhkAg==} + '@mui/core-downloads-tracker@7.1.0': + resolution: {integrity: sha512-E0OqhZv548Qdc0PwWhLVA2zmjJZSTvaL4ZhoswmI8NJEC1tpW2js6LLP827jrW9MEiXYdz3QS6+hask83w74yQ==} - '@mui/lab@7.0.0-beta.11': - resolution: {integrity: sha512-VJDEUgiRsjo8V2xDvBEE9Cfs1cSlwzp9UFmD3KzIg6emFMqz9BfYh+9cFI4iQWaoz3Agm3q6bVKlhlX6xw6sVQ==} + '@mui/lab@7.0.0-beta.12': + resolution: {integrity: sha512-685MmzByCy3Vmb7xI6J8qOQm4l7yqfVTOLwxVmNV1EHBKuJiMuoX4/2vAAEGfNbDeEfWQsp7aBWanYpSWe1iRA==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@mui/material': ^7.0.2 - '@mui/material-pigment-css': ^7.0.2 + '@mui/material': ^7.1.0 + '@mui/material-pigment-css': ^7.1.0 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1295,13 +1298,13 @@ packages: '@types/react': optional: true - '@mui/material@7.0.2': - resolution: {integrity: sha512-rjJlJ13+3LdLfobRplkXbjIFEIkn6LgpetgU/Cs3Xd8qINCCQK9qXQIjjQ6P0FXFTPFzEVMj0VgBR1mN+FhOcA==} + '@mui/material@7.1.0': + resolution: {integrity: sha512-ahUJdrhEv+mCp4XHW+tHIEYzZMSRLg8z4AjUOsj44QpD1ZaMxQoVOG2xiHvLFdcsIPbgSRx1bg1eQSheHBgvtg==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@mui/material-pigment-css': ^7.0.2 + '@mui/material-pigment-css': ^7.1.0 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1315,8 +1318,8 @@ packages: '@types/react': optional: true - '@mui/private-theming@7.0.2': - resolution: {integrity: sha512-6lt8heDC9wN8YaRqEdhqnm0cFCv08AMf4IlttFvOVn7ZdKd81PNpD/rEtPGLLwQAFyyKSxBG4/2XCgpbcdNKiA==} + '@mui/private-theming@7.1.0': + resolution: {integrity: sha512-4Kck4jxhqF6YxNwJdSae1WgDfXVg0lIH6JVJ7gtuFfuKcQCgomJxPvUEOySTFRPz1IZzwz5OAcToskRdffElDA==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1325,8 +1328,8 @@ packages: '@types/react': optional: true - '@mui/styled-engine@7.0.2': - resolution: {integrity: sha512-11Bt4YdHGlh7sB8P75S9mRCUxTlgv7HGbr0UKz6m6Z9KLeiw1Bm9y/t3iqLLVMvSHYB6zL8X8X+LmfTE++gyBw==} + '@mui/styled-engine@7.1.0': + resolution: {integrity: sha512-m0mJ0c6iRC+f9hMeRe0W7zZX1wme3oUX0+XTVHjPG7DJz6OdQ6K/ggEOq7ZdwilcpdsDUwwMfOmvO71qDkYd2w==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -1338,8 +1341,8 @@ packages: '@emotion/styled': optional: true - '@mui/system@7.0.2': - resolution: {integrity: sha512-yFUraAWYWuKIISPPEVPSQ1NLeqmTT4qiQ+ktmyS8LO/KwHxB+NNVOacEZaIofh5x1NxY8rzphvU5X2heRZ/RDA==} + '@mui/system@7.1.0': + resolution: {integrity: sha512-iedAWgRJMCxeMHvkEhsDlbvkK+qKf9me6ofsf7twk/jfT4P1ImVf7Rwb5VubEA0sikrVL+1SkoZM41M4+LNAVA==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -1354,16 +1357,16 @@ packages: '@types/react': optional: true - '@mui/types@7.4.1': - resolution: {integrity: sha512-gUL8IIAI52CRXP/MixT1tJKt3SI6tVv4U/9soFsTtAsHzaJQptZ42ffdHZV3niX1ei0aUgMvOxBBN0KYqdG39g==} + '@mui/types@7.4.2': + resolution: {integrity: sha512-edRc5JcLPsrlNFYyTPxds+d5oUovuUxnnDtpJUbP6WMeV4+6eaX/mqai1ZIWT62lCOe0nlrON0s9HDiv5en5bA==} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/utils@7.0.2': - resolution: {integrity: sha512-72gcuQjPzhj/MLmPHLCgZjy2VjOH4KniR/4qRtXTTXIEwbkgcN+Y5W/rC90rWtMmZbjt9svZev/z+QHUI4j74w==} + '@mui/utils@7.1.0': + resolution: {integrity: sha512-/OM3S8kSHHmWNOP+NH9xEtpYSG10upXeQ0wLZnfDgmgadTAk5F4MQfFLyZ5FCRJENB3eRzltMmaNl6UtDnPovw==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1375,56 +1378,56 @@ packages: '@napi-rs/wasm-runtime@0.2.9': resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} - '@next/env@15.3.1': - resolution: {integrity: sha512-cwK27QdzrMblHSn9DZRV+DQscHXRuJv6MydlJRpFSqJWZrTYMLzKDeyueJNN9MGd8NNiUKzDQADAf+dMLXX7YQ==} + '@next/env@15.3.2': + resolution: {integrity: sha512-xURk++7P7qR9JG1jJtLzPzf0qEvqCN0A/T3DXf8IPMKo9/6FfjxtEffRJIIew/bIL4T3C2jLLqBor8B/zVlx6g==} - '@next/eslint-plugin-next@15.3.1': - resolution: {integrity: sha512-oEs4dsfM6iyER3jTzMm4kDSbrQJq8wZw5fmT6fg2V3SMo+kgG+cShzLfEV20senZzv8VF+puNLheiGPlBGsv2A==} + '@next/eslint-plugin-next@15.3.2': + resolution: {integrity: sha512-ijVRTXBgnHT33aWnDtmlG+LJD+5vhc9AKTJPquGG5NKXjpKNjc62woIhFtrAcWdBobt8kqjCoaJ0q6sDQoX7aQ==} - '@next/swc-darwin-arm64@15.3.1': - resolution: {integrity: sha512-hjDw4f4/nla+6wysBL07z52Gs55Gttp5Bsk5/8AncQLJoisvTBP0pRIBK/B16/KqQyH+uN4Ww8KkcAqJODYH3w==} + '@next/swc-darwin-arm64@15.3.2': + resolution: {integrity: sha512-2DR6kY/OGcokbnCsjHpNeQblqCZ85/1j6njYSkzRdpLn5At7OkSdmk7WyAmB9G0k25+VgqVZ/u356OSoQZ3z0g==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@15.3.1': - resolution: {integrity: sha512-q+aw+cJ2ooVYdCEqZVk+T4Ni10jF6Fo5DfpEV51OupMaV5XL6pf3GCzrk6kSSZBsMKZtVC1Zm/xaNBFpA6bJ2g==} + '@next/swc-darwin-x64@15.3.2': + resolution: {integrity: sha512-ro/fdqaZWL6k1S/5CLv1I0DaZfDVJkWNaUU3un8Lg6m0YENWlDulmIWzV96Iou2wEYyEsZq51mwV8+XQXqMp3w==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@15.3.1': - resolution: {integrity: sha512-wBQ+jGUI3N0QZyWmmvRHjXjTWFy8o+zPFLSOyAyGFI94oJi+kK/LIZFJXeykvgXUk1NLDAEFDZw/NVINhdk9FQ==} + '@next/swc-linux-arm64-gnu@15.3.2': + resolution: {integrity: sha512-covwwtZYhlbRWK2HlYX9835qXum4xYZ3E2Mra1mdQ+0ICGoMiw1+nVAn4d9Bo7R3JqSmK1grMq/va+0cdh7bJA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.3.1': - resolution: {integrity: sha512-IIxXEXRti/AulO9lWRHiCpUUR8AR/ZYLPALgiIg/9ENzMzLn3l0NSxVdva7R/VDcuSEBo0eGVCe3evSIHNz0Hg==} + '@next/swc-linux-arm64-musl@15.3.2': + resolution: {integrity: sha512-KQkMEillvlW5Qk5mtGA/3Yz0/tzpNlSw6/3/ttsV1lNtMuOHcGii3zVeXZyi4EJmmLDKYcTcByV2wVsOhDt/zg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@15.3.1': - resolution: {integrity: sha512-bfI4AMhySJbyXQIKH5rmLJ5/BP7bPwuxauTvVEiJ/ADoddaA9fgyNNCcsbu9SlqfHDoZmfI6g2EjzLwbsVTr5A==} + '@next/swc-linux-x64-gnu@15.3.2': + resolution: {integrity: sha512-uRBo6THWei0chz+Y5j37qzx+BtoDRFIkDzZjlpCItBRXyMPIg079eIkOCl3aqr2tkxL4HFyJ4GHDes7W8HuAUg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.3.1': - resolution: {integrity: sha512-FeAbR7FYMWR+Z+M5iSGytVryKHiAsc0x3Nc3J+FD5NVbD5Mqz7fTSy8CYliXinn7T26nDMbpExRUI/4ekTvoiA==} + '@next/swc-linux-x64-musl@15.3.2': + resolution: {integrity: sha512-+uxFlPuCNx/T9PdMClOqeE8USKzj8tVz37KflT3Kdbx/LOlZBRI2yxuIcmx1mPNK8DwSOMNCr4ureSet7eyC0w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@15.3.1': - resolution: {integrity: sha512-yP7FueWjphQEPpJQ2oKmshk/ppOt+0/bB8JC8svPUZNy0Pi3KbPx2Llkzv1p8CoQa+D2wknINlJpHf3vtChVBw==} + '@next/swc-win32-arm64-msvc@15.3.2': + resolution: {integrity: sha512-LLTKmaI5cfD8dVzh5Vt7+OMo+AIOClEdIU/TSKbXXT2iScUTSxOGoBhfuv+FU8R9MLmrkIL1e2fBMkEEjYAtPQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@15.3.1': - resolution: {integrity: sha512-3PMvF2zRJAifcRNni9uMk/gulWfWS+qVI/pagd+4yLF5bcXPZPPH2xlYRYOsUjmCJOXSTAC2PjRzbhsRzR2fDQ==} + '@next/swc-win32-x64-msvc@15.3.2': + resolution: {integrity: sha512-aW5B8wOPioJ4mBdMDXkt5f3j8pUr9W8AnlX0Df35uRWNT1Y6RIybxjnSUe+PhM+M1bwgyY8PHLmXZC6zT1o5tA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1632,8 +1635,8 @@ packages: resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==} engines: {node: '>=14'} - '@opentelemetry/semantic-conventions@1.32.0': - resolution: {integrity: sha512-s0OpmpQFSfMrmedAn9Lhg4KWJELHCU6uU9dtIJ28N8UGhf9Y55im5X8fEzwhwDwiSqN+ZPSNrDJF7ivf/AuRPQ==} + '@opentelemetry/semantic-conventions@1.33.0': + resolution: {integrity: sha512-TIpZvE8fiEILFfTlfPnltpBaD3d9/+uQHVCyC3vfdh6WfCXKhNFzoP5RyDDIndfvZC5GrA4pyEDNyjPloJud+w==} engines: {node: '>=14'} '@opentelemetry/sql-common@0.40.1': @@ -1649,8 +1652,8 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@prisma/instrumentation@6.6.0': - resolution: {integrity: sha512-M/a6njz3hbf2oucwdbjNKrSMLuyMCwgDrmTtkF1pm4Nm7CU45J/Hd6lauF2CDACTUYzu3ymcV7P0ZAhIoj6WRw==} + '@prisma/instrumentation@6.7.0': + resolution: {integrity: sha512-3NuxWlbzYNevgPZbV0ktA2z6r0bfh0g22ONTxcK09a6+6MdIPjHsYx1Hnyu4yOq+j7LmupO5J69hhuOnuvj8oQ==} peerDependencies: '@opentelemetry/api': ^1.8 @@ -1801,28 +1804,28 @@ packages: '@rushstack/eslint-patch@1.11.0': resolution: {integrity: sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==} - '@sentry-internal/browser-utils@9.15.0': - resolution: {integrity: sha512-tIM+9zXCefkInRiNmBkXKgkamRjEOlAcf768cBKlMWVOatfNrSEB0UEV7qkAYqnQGWkbPkHFMbFJxWptydLODw==} + '@sentry-internal/browser-utils@9.16.1': + resolution: {integrity: sha512-kDnFQMngP6sJGA0a5zXQ8Xgc86f3d85DcnVy6MhIli72viwl6gzV+wRdDtxcOjnYLUdfdn8DEHkBsztSHF4hQA==} engines: {node: '>=18'} - '@sentry-internal/feedback@9.15.0': - resolution: {integrity: sha512-jyN0r57WL8V5ViwZpiNvbIhF9I89jxn6mtIQcyV85EjIXDyzJmeTgxc/FIU0kcDVv6zso3qnGRJUxGK+GvoYZg==} + '@sentry-internal/feedback@9.16.1': + resolution: {integrity: sha512-pA25E7CSv9pL+b/jT3hRNBGOhqHu1+EHSwDmajSIa3brl6+wBhnVfE2JOd3hgX3xxxzqMEwlAtF31qhK76WdLg==} engines: {node: '>=18'} - '@sentry-internal/replay-canvas@9.15.0': - resolution: {integrity: sha512-a1/oiXwcW5OmILjD7/R2UEsPQWXJBUr0u388uCKDUGeyXLxBBbIJGS5E8oLwVQLVxhVJrODgxvT19z9OVcbn7g==} + '@sentry-internal/replay-canvas@9.16.1': + resolution: {integrity: sha512-fugmrFk7fLm8FPVYqujYSbOl8tyq+IM4GzAW8e0M4M85ibg2IlF/SxAIJs9v5w4b7f6ze37GSU38R8Wm18uyXw==} engines: {node: '>=18'} - '@sentry-internal/replay@9.15.0': - resolution: {integrity: sha512-lv6ENRmfeBuod6Tr1WgLeF0+wIIXlHWNAGofsaNUvm8UKS7USicFsQWKOZPk4UyjTfrEClPp2vx+o7aUcZS6TQ==} + '@sentry-internal/replay@9.16.1': + resolution: {integrity: sha512-Xt5ckrOh++4idiQHx5Zejo/FtX9A5anWimZAfOo4Igf63nVXwynNI7CmBe+KjyW+qsi4cZrPDKMqX39OApX97Q==} engines: {node: '>=18'} '@sentry/babel-plugin-component-annotate@3.3.1': resolution: {integrity: sha512-5GOxGT7lZN+I8A7Vp0rWY+726FDKEw8HnFiebe51rQrMbfGfCu2Aw9uSM0nT9OG6xhV6WvGccIcCszTPs4fUZQ==} engines: {node: '>= 14'} - '@sentry/browser@9.15.0': - resolution: {integrity: sha512-ppHESKFVQFpAb3rQI2ateDkmMytVcvAWsjZrZ3hF9iEnO3iTIIu32ib5nqQUL4KKXZQovYnDrSlDcdv3ZwX/8Q==} + '@sentry/browser@9.16.1': + resolution: {integrity: sha512-PM0TBUCiV5ihsXvp8bidihxRvoynCmpUZxpjisgpkOyZz0aEdwYuWvtg3QMUJCF8XslZe7Tcdnjt0AVjCblCdA==} engines: {node: '>=18'} '@sentry/bundler-plugin-core@3.3.1': @@ -1875,22 +1878,22 @@ packages: engines: {node: '>= 10'} hasBin: true - '@sentry/core@9.15.0': - resolution: {integrity: sha512-lBmo3bzzaYUesdzc2H5K3fajfXyUNuj5koqyFoCAI8rnt9CBl7SUc/P07+E5eipF8mxgiU3QtkI7ALzRQN8pqQ==} + '@sentry/core@9.16.1': + resolution: {integrity: sha512-Eja9zItnrY6SyvbaecI5TxQvgqxeaOZkTt8niKGpo9HbvhvZwY4lvuoEpuL0Ihwz5MVZaM6yTySKKX+guMBlvg==} engines: {node: '>=18'} - '@sentry/nextjs@9.15.0': - resolution: {integrity: sha512-lx/q1Uqe37MtNff8UIBL5G8SaHn48lDlZyQKrsTd+4txBwT2DsAnyR029n/ZQW5bc1/rLM/qebKLy76x+Xq0vA==} + '@sentry/nextjs@9.16.1': + resolution: {integrity: sha512-HXjELNXJyGkgojnvjjKgZPwpnhzb0Mbh7TnDgMeLJpiyjlFL9DO/rbhvs+p6bfDI8SddL5rQAh6zi+JpKAHLLQ==} engines: {node: '>=18'} peerDependencies: - next: ^15.3.1 + next: ^15.3.2 - '@sentry/node@9.15.0': - resolution: {integrity: sha512-K0LdJxIzYbbsbiT+1tKgNq6MUHuDs2DggBDcFEp3T+yXVJYN1AyalUli06Kmxq8yvou6hgLwWL4gjIcB1IQySA==} + '@sentry/node@9.16.1': + resolution: {integrity: sha512-NOQ3ulHZJbqTVyoI200SCmO0wFnyI4xyiDFZhxmxpHdMrP0HhzeWkXaQLAAou6VREZ6/Pq4M0QYxd1ymgDQDOg==} engines: {node: '>=18'} - '@sentry/opentelemetry@9.15.0': - resolution: {integrity: sha512-gGOzgSxbuh4B4SlEonL1LFsazmeqL/fn5CIQqRG0UWWxdt6TKAMlj0ThIlGF3jSHW2eXdpvs+4E73uFEaHIqfg==} + '@sentry/opentelemetry@9.16.1': + resolution: {integrity: sha512-u2DfY0qcI4QR5GiZmuxk1b7eaKlmF4HqqjI1g7cDaQnkAyUWbNLNBQMfotxXgPtK+nJS6mrUXRGj3MDCqg5siw==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -1900,14 +1903,14 @@ packages: '@opentelemetry/sdk-trace-base': ^1.30.1 '@opentelemetry/semantic-conventions': ^1.28.0 - '@sentry/react@9.15.0': - resolution: {integrity: sha512-8nojSjiEd/EWIgoWVfkNIkBGL2yoFZoVMBUTcYlypsMnUHNko2RJItOBqZs5/DRBxuzfBKVt8PF+gkhQOm6mPg==} + '@sentry/react@9.16.1': + resolution: {integrity: sha512-BJ91LUz+y2Gtg/jsnJaRhuf9EEejWTC2tL0sJh9pbokhcha+O4nAAvKQSg7ytUiX/b+lwf5FzXZzSNDnBsOmPA==} engines: {node: '>=18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - '@sentry/vercel-edge@9.15.0': - resolution: {integrity: sha512-Rfc6pDbHMg5DMIgyZHVIO4IeHgxcH3myPBy9HP1hMLtcEqKL/YS8dK3oQrZoUsNP9chjXkrp4bBeKT/phX3pMg==} + '@sentry/vercel-edge@9.16.1': + resolution: {integrity: sha512-1uagcVbU0a62NRqSPuH9hbRNTaGKd27lVM5c5nbH7t0DuXnkpy1Mw8VaZ2EtWTAOPRfcjAGqdkNYhLRqI45MBw==} engines: {node: '>=18'} '@sentry/webpack-plugin@3.3.1': @@ -2119,8 +2122,8 @@ packages: '@types/next-pwa@5.6.9': resolution: {integrity: sha512-KcymH+MtFYB5KVKIOH1DMqd0wUb8VLCxzHtsaRQQ7S8sGOaTH24Lo2vGZf6/0Ok9e+xWCKhqsSt6cgDJTk91Iw==} - '@types/node@22.15.3': - resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==} + '@types/node@22.15.15': + resolution: {integrity: sha512-R5muMcZob3/Jjchn5LcO8jdKwSCbzqmPB6ruBxMcf9kbxtniZHP327s6C37iOfuw8mbKK3cAQa7sEl7afLrQ8A==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -2150,8 +2153,8 @@ packages: peerDependencies: '@types/react': '*' - '@types/react@19.1.2': - resolution: {integrity: sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==} + '@types/react@19.1.3': + resolution: {integrity: sha512-dLWQ+Z0CkIvK1J8+wrDPwGxEYFA4RAyHoZPxHVGspYmFVnwGSNT24cGIhFJrtfRnWVuW8X7NO52gCXmhkVUWGQ==} '@types/resolve@1.17.1': resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} @@ -2171,51 +2174,51 @@ packages: '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@typescript-eslint/eslint-plugin@8.31.1': - resolution: {integrity: sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==} + '@typescript-eslint/eslint-plugin@8.32.0': + resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.31.1': - resolution: {integrity: sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==} + '@typescript-eslint/parser@8.32.0': + resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.31.1': - resolution: {integrity: sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==} + '@typescript-eslint/scope-manager@8.32.0': + resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.31.1': - resolution: {integrity: sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==} + '@typescript-eslint/type-utils@8.32.0': + resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.31.1': - resolution: {integrity: sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==} + '@typescript-eslint/types@8.32.0': + resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.31.1': - resolution: {integrity: sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==} + '@typescript-eslint/typescript-estree@8.32.0': + resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.31.1': - resolution: {integrity: sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==} + '@typescript-eslint/utils@8.32.0': + resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@8.31.1': - resolution: {integrity: sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==} + '@typescript-eslint/visitor-keys@8.32.0': + resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@unrs/resolver-binding-darwin-arm64@1.7.2': @@ -2597,8 +2600,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001716: - resolution: {integrity: sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==} + caniuse-lite@1.0.30001717: + resolution: {integrity: sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==} chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} @@ -2750,34 +2753,34 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - cspell-config-lib@8.19.4: - resolution: {integrity: sha512-LtFNZEWVrnpjiTNgEDsVN05UqhhJ1iA0HnTv4jsascPehlaUYVoyucgNbFeRs6UMaClJnqR0qT9lnPX+KO1OLg==} - engines: {node: '>=18'} + cspell-config-lib@9.0.0: + resolution: {integrity: sha512-JVjKeQz/kdt/bxdFRzyvNjJKJ3eaIUtP5gWq+HtNMqCpBFlwCiR+M8jSsIXVOTTT5mqJ5IsBU/jZ+FvrixNYnQ==} + engines: {node: '>=20'} - cspell-dictionary@8.19.4: - resolution: {integrity: sha512-lr8uIm7Wub8ToRXO9f6f7in429P1Egm3I+Ps3ZGfWpwLTCUBnHvJdNF/kQqF7PL0Lw6acXcjVWFYT7l2Wdst2g==} - engines: {node: '>=18'} + cspell-dictionary@9.0.0: + resolution: {integrity: sha512-+fWdlzTqqjRsAfImcC2UIvSeDTn0HItw1WuYqARuRRA+UlsdDA2uARDyiH4gBnc+0/GOIhQaItYBS5XXljWEpw==} + engines: {node: '>=20'} - cspell-glob@8.19.4: - resolution: {integrity: sha512-042uDU+RjAz882w+DXKuYxI2rrgVPfRQDYvIQvUrY1hexH4sHbne78+OMlFjjzOCEAgyjnm1ktWUCCmh08pQUw==} - engines: {node: '>=18'} + cspell-glob@9.0.0: + resolution: {integrity: sha512-9xBcpFy7oHxELFLqvMs5WPT/ThU/NyrKYfuNcLUkBtxz/qGbqykWIcmdLl130fLwpcIGdq31rVSni6NsMGSriw==} + engines: {node: '>=20'} - cspell-grammar@8.19.4: - resolution: {integrity: sha512-lzWgZYTu/L7DNOHjxuKf8H7DCXvraHMKxtFObf8bAzgT+aBmey5fW2LviXUkZ2Lb2R0qQY+TJ5VIGoEjNf55ow==} - engines: {node: '>=18'} + cspell-grammar@9.0.0: + resolution: {integrity: sha512-nTvYmxvlwnAeVZtd8rw6/3c3QsUZqDGlFtGIQMk6sKdH4n8eDPFH2K3Hag1aPOzPQJQF8XTxzgGmRnCWkPhdYg==} + engines: {node: '>=20'} hasBin: true - cspell-io@8.19.4: - resolution: {integrity: sha512-W48egJqZ2saEhPWf5ftyighvm4mztxEOi45ILsKgFikXcWFs0H0/hLwqVFeDurgELSzprr12b6dXsr67dV8amg==} - engines: {node: '>=18'} + cspell-io@9.0.0: + resolution: {integrity: sha512-LtyqO0bDPCKCb/3zy/IvF4nL+FuU9GeLQ9G5bnSMFOYU/kD7w5UqzE1erzC/UublMRDRyKMlSDl8QutXCeq7zw==} + engines: {node: '>=20'} - cspell-lib@8.19.4: - resolution: {integrity: sha512-NwfdCCYtIBNQuZcoMlMmL3HSv2olXNErMi/aOTI9BBAjvCHjhgX5hbHySMZ0NFNynnN+Mlbu5kooJ5asZeB3KA==} - engines: {node: '>=18'} + cspell-lib@9.0.0: + resolution: {integrity: sha512-5ocoFmsrW1ju954kPzm1/mhAgnIQFjFjSS8YaQ6ylxCsqV9lCadf9tT2nnC2HrZB9ILVWElsrhxkQWt2DpZQsQ==} + engines: {node: '>=20'} - cspell-trie-lib@8.19.4: - resolution: {integrity: sha512-yIPlmGSP3tT3j8Nmu+7CNpkPh/gBO2ovdnqNmZV+LNtQmVxqFd2fH7XvR1TKjQyctSH1ip0P5uIdJmzY1uhaYg==} - engines: {node: '>=18'} + cspell-trie-lib@9.0.0: + resolution: {integrity: sha512-2s/an4sbIR8NAfkjuH6/ngap3BmfTVjxPCY2PwrzIm1WNUbEuYkY3vb1Rc4rOJ7nCTBpdu0o7/sI9ZGpMUcUzQ==} + engines: {node: '>=20'} css-declaration-sorter@7.2.0: resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} @@ -2891,8 +2894,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.149: - resolution: {integrity: sha512-UyiO82eb9dVOx8YO3ajDf9jz2kKyt98DEITRdeLPstOEuTlLzDA4Gyq5K9he71TQziU5jUVu2OAu5N48HmQiyQ==} + electron-to-chromium@1.5.150: + resolution: {integrity: sha512-rOOkP2ZUMx1yL4fCxXQKDHQ8ZXwisb2OycOQVKHgvB3ZI4CvehOd4y2tfnnLDieJ3Zs1RL1Dlp3cMkyIn7nnXA==} element-internals-polyfill@1.3.13: resolution: {integrity: sha512-viZ7wJsvh6eFwGQX512zEaccK/c6RRFSerJsdkfe3DW/ZtruvNeOR33fpPZgfXxvqRdU2lK33KM4S6GqaTgVKQ==} @@ -2976,8 +2979,8 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-next@15.3.1: - resolution: {integrity: sha512-GnmyVd9TE/Ihe3RrvcafFhXErErtr2jS0JDeCSp3vWvy86AXwHsRBt0E3MqP/m8ACS1ivcsi5uaqjbhsG18qKw==} + eslint-config-next@15.3.2: + resolution: {integrity: sha512-FerU4DYccO4FgeYFFglz0SnaKRe1ejXQrDb8kWUkTAg036YWi+jUsgg4sIGNCDhAsDITsZaL4MzBWKB6f4G1Dg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 typescript: '>=3.3.1' @@ -2985,8 +2988,8 @@ packages: typescript: optional: true - eslint-config-prettier@10.1.2: - resolution: {integrity: sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==} + eslint-config-prettier@10.1.3: + resolution: {integrity: sha512-vDo4d9yQE+cS2tdIT4J02H/16veRvkHgiLDRpej+WL67oCfbOb97itZXn8wMPJ/GsiEBVjrjs//AVNw2Cp1EcA==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -3343,8 +3346,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@16.0.0: - resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} + globals@16.1.0: + resolution: {integrity: sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==} engines: {node: '>=18'} globalthis@1.0.4: @@ -3730,8 +3733,8 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} - jwa@1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + jwa@1.4.2: + resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==} jws@3.2.2: resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} @@ -3853,13 +3856,13 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lint-staged@15.5.1: - resolution: {integrity: sha512-6m7u8mue4Xn6wK6gZvSCQwBvMBR36xfY24nF5bMTf2MHDYG6S3yhJuOgdYVw99hsjyDt2d4z168b3naI8+NWtQ==} + lint-staged@15.5.2: + resolution: {integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==} engines: {node: '>=18.12.0'} hasBin: true - listr2@8.3.2: - resolution: {integrity: sha512-vsBzcU4oE+v0lj4FhVLzr9dBTv4/fHIa57l+GCwovP8MoFNZJTOhGU8PXd4v2VJCbECAaijBiHntiekFMLvo0g==} + listr2@8.3.3: + resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} engines: {node: '>=18.0.0'} lit-element@4.2.0: @@ -3896,6 +3899,9 @@ packages: lodash.isboolean@3.0.3: resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + lodash.isequalwith@4.4.0: + resolution: {integrity: sha512-dcZON0IalGBpRmJBmMkaoV7d3I80R2O+FrzsZyHdNSFrANq/cgDqKQNmAHE8UEj4+QYWwwhkQOVdLHiAopzlsQ==} + lodash.isinteger@4.0.4: resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} @@ -4038,14 +4044,20 @@ packages: mobx-github@0.3.5: resolution: {integrity: sha512-7F2hErcsHTeBLRyVg7n+Vtm/Ftf94DPn35JwX05igjppvWB9t1tV2cZ2bGzv5NFKhvC49ArWDEzOx9IaQLqgHA==} - mobx-i18n@0.6.0: - resolution: {integrity: sha512-dooxek8Iq+RKbM0qGwCsAhQI/j8MtdwiC9gzFNzx+cCnn0bBDDgwK9Inie8UFw6XmOiy+T2kPzeaFvr72KLKQw==} + mobx-i18n@0.7.1: + resolution: {integrity: sha512-J8iTlxkj19Rh75gst5IvNl8LnlBQVIRV7FAt8yaLBRhSSe4jaZxlDMwXiv0wuBZ6SUD71KYw1w4YTMAorL3O5w==} peerDependencies: mobx: '>=6.11' mobx-lark@2.2.0: resolution: {integrity: sha512-k5l8VHr0HSid9+S5+2vzAN1Xr8xMiaHeeChZnT4zAO4uvwNPMhoyM/MMv/rAuEyvqtlvv66GClWvUr/BaTl8kQ==} + mobx-react-helper@0.3.6: + resolution: {integrity: sha512-99dzyDsxtsG+qg0TQ1S39CA+t2VDmN/LrLVa0lcATaatwwUzYw+uiDMnVWr3Cyke6q5CI6N73Fjgce5NNT1Fxw==} + peerDependencies: + mobx: '>=6.11' + react: '>=16' + mobx-react-lite@4.1.0: resolution: {integrity: sha512-QEP10dpHHBeQNv1pks3WnHRCem2Zp636lq54M2nKO2Sarr13pL4u6diQXf65yzXUn0mkk18SyIDCm9UOJYTi1w==} peerDependencies: @@ -4113,21 +4125,16 @@ packages: next-pwa@5.6.0: resolution: {integrity: sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A==} peerDependencies: - next: ^15.3.1 + next: ^15.3.2 - next-ssr-middleware@0.10.0: - resolution: {integrity: sha512-5Dmdw44hVp4ABoL4uSrcErb/G9zf2iwR2U9Uh/QJ1YFVtruJaBRzFDWaDJP2pvWjebtGy7UokZssCvK0Ndk7NA==} + next-ssr-middleware@1.0.0: + resolution: {integrity: sha512-mYnrUyumfb3L7ik7sgmT7a9UHFfVl33VfzKMZxbQgAVNfcRbsIx7zPKyCjMCiSLovRRH3FRLibtgq+3brBAuIQ==} peerDependencies: - '@koa/bodyparser': '>=5' - '@koa/router': '>=13' - jsonwebtoken: '>=9' - koa: '>=2' - mobx-i18n: '>=0.5 <1' - next: ^15.3.1 + next: ^15.3.2 react: '>=18' - next@15.3.1: - resolution: {integrity: sha512-8+dDV0xNLOgHlyBxP1GwHGVaNXsmp+2NhZEYrXr24GWLHtt27YrBPbPuHvzlhi7kZNYjeJNR93IF5zfFu5UL0g==} + next@15.3.2: + resolution: {integrity: sha512-CA3BatMyHkxZ48sgOCLdVHjFU36N7TF1HhqAHLFOkV6buwZnvMI84Cug8xD56B9mCuKrqXnLn94417GrZ/jjCQ==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: @@ -5019,8 +5026,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.31.1: - resolution: {integrity: sha512-j6DsEotD/fH39qKzXTQRwYYWlt7D+0HmfpOK+DVhwJOFLcdmn92hq3mBb7HlKJHbjjI/gTOqEcc9d6JfpFf/VA==} + typescript-eslint@8.32.0: + resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5137,8 +5144,8 @@ packages: webpack-virtual-modules@0.5.0: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - webpack@5.99.7: - resolution: {integrity: sha512-CNqKBRMQjwcmKR0idID5va1qlhrqVUKpovi+Ec79ksW8ux7iS1+A6VqzfZXgVYCFRKl7XL5ap3ZoMpwBJxcg0w==} + webpack@5.99.8: + resolution: {integrity: sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -5275,8 +5282,8 @@ packages: peerDependencies: zod: ^3.24.1 - zod@3.24.3: - resolution: {integrity: sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg==} + zod@3.24.4: + resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} snapshots: @@ -5300,18 +5307,18 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.27.1': {} + '@babel/compat-data@7.27.2': {} '@babel/core@7.27.1': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.27.1 '@babel/generator': 7.27.1 - '@babel/helper-compilation-targets': 7.27.1 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-module-transforms': 7.27.1(@babel/core@7.27.1) '@babel/helpers': 7.27.1 - '@babel/parser': 7.27.1 - '@babel/template': 7.27.1 + '@babel/parser': 7.27.2 + '@babel/template': 7.27.2 '@babel/traverse': 7.27.1 '@babel/types': 7.27.1 convert-source-map: 2.0.0 @@ -5324,7 +5331,7 @@ snapshots: '@babel/generator@7.27.1': dependencies: - '@babel/parser': 7.27.1 + '@babel/parser': 7.27.2 '@babel/types': 7.27.1 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 @@ -5334,9 +5341,9 @@ snapshots: dependencies: '@babel/types': 7.27.1 - '@babel/helper-compilation-targets@7.27.1': + '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.27.1 + '@babel/compat-data': 7.27.2 '@babel/helper-validator-option': 7.27.1 browserslist: 4.24.5 lru-cache: 5.1.1 @@ -5365,7 +5372,7 @@ snapshots: '@babel/helper-define-polyfill-provider@0.6.4(@babel/core@7.27.1)': dependencies: '@babel/core': 7.27.1 - '@babel/helper-compilation-targets': 7.27.1 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 debug: 4.4.0 lodash.debounce: 4.0.8 @@ -5435,7 +5442,7 @@ snapshots: '@babel/helper-wrap-function@7.27.1': dependencies: - '@babel/template': 7.27.1 + '@babel/template': 7.27.2 '@babel/traverse': 7.27.1 '@babel/types': 7.27.1 transitivePeerDependencies: @@ -5443,10 +5450,10 @@ snapshots: '@babel/helpers@7.27.1': dependencies: - '@babel/template': 7.27.1 + '@babel/template': 7.27.2 '@babel/types': 7.27.1 - '@babel/parser@7.27.1': + '@babel/parser@7.27.2': dependencies: '@babel/types': 7.27.1 @@ -5582,7 +5589,7 @@ snapshots: dependencies: '@babel/core': 7.27.1 '@babel/helper-annotate-as-pure': 7.27.1 - '@babel/helper-compilation-targets': 7.27.1 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.1) '@babel/traverse': 7.27.1 @@ -5594,7 +5601,7 @@ snapshots: dependencies: '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.1 + '@babel/template': 7.27.2 '@babel/plugin-transform-destructuring@7.27.1(@babel/core@7.27.1)': dependencies: @@ -5644,7 +5651,7 @@ snapshots: '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.1)': dependencies: '@babel/core': 7.27.1 - '@babel/helper-compilation-targets': 7.27.1 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/traverse': 7.27.1 transitivePeerDependencies: @@ -5725,11 +5732,12 @@ snapshots: '@babel/core': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-object-rest-spread@7.27.1(@babel/core@7.27.1)': + '@babel/plugin-transform-object-rest-spread@7.27.2(@babel/core@7.27.1)': dependencies: '@babel/core': 7.27.1 - '@babel/helper-compilation-targets': 7.27.1 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.1)': @@ -5887,11 +5895,11 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.1) '@babel/helper-plugin-utils': 7.27.1 - '@babel/preset-env@7.27.1(@babel/core@7.27.1)': + '@babel/preset-env@7.27.2(@babel/core@7.27.1)': dependencies: - '@babel/compat-data': 7.27.1 + '@babel/compat-data': 7.27.2 '@babel/core': 7.27.1 - '@babel/helper-compilation-targets': 7.27.1 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-validator-option': 7.27.1 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.27.1) @@ -5933,7 +5941,7 @@ snapshots: '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.27.1) - '@babel/plugin-transform-object-rest-spread': 7.27.1(@babel/core@7.27.1) + '@babel/plugin-transform-object-rest-spread': 7.27.2(@babel/core@7.27.1) '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.1) @@ -5983,18 +5991,18 @@ snapshots: '@babel/runtime@7.27.1': {} - '@babel/template@7.27.1': + '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.27.1 + '@babel/parser': 7.27.2 '@babel/types': 7.27.1 '@babel/traverse@7.27.1': dependencies: '@babel/code-frame': 7.27.1 '@babel/generator': 7.27.1 - '@babel/parser': 7.27.1 - '@babel/template': 7.27.1 + '@babel/parser': 7.27.2 + '@babel/template': 7.27.2 '@babel/types': 7.27.1 debug: 4.4.0 globals: 11.12.0 @@ -6006,13 +6014,13 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@cspell/cspell-bundled-dicts@8.19.4': + '@cspell/cspell-bundled-dicts@9.0.0': dependencies: '@cspell/dict-ada': 4.1.0 '@cspell/dict-al': 1.1.0 '@cspell/dict-aws': 4.0.10 '@cspell/dict-bash': 4.2.0 - '@cspell/dict-companies': 3.1.15 + '@cspell/dict-companies': 3.2.1 '@cspell/dict-cpp': 6.0.8 '@cspell/dict-cryptocurrencies': 5.0.4 '@cspell/dict-csharp': 4.0.6 @@ -6024,16 +6032,16 @@ snapshots: '@cspell/dict-dotnet': 5.0.9 '@cspell/dict-elixir': 4.0.7 '@cspell/dict-en-common-misspellings': 2.0.10 - '@cspell/dict-en-gb': 1.1.33 - '@cspell/dict-en_us': 4.4.4 - '@cspell/dict-filetypes': 3.0.11 + '@cspell/dict-en-gb-mit': 3.0.5 + '@cspell/dict-en_us': 4.4.8 + '@cspell/dict-filetypes': 3.0.12 '@cspell/dict-flutter': 1.1.0 '@cspell/dict-fonts': 4.0.4 '@cspell/dict-fsharp': 1.1.0 '@cspell/dict-fullstack': 3.2.6 '@cspell/dict-gaming-terms': 1.1.1 '@cspell/dict-git': 3.0.4 - '@cspell/dict-golang': 6.0.20 + '@cspell/dict-golang': 6.0.21 '@cspell/dict-google': 1.0.8 '@cspell/dict-haskell': 4.0.5 '@cspell/dict-html': 4.0.11 @@ -6049,7 +6057,7 @@ snapshots: '@cspell/dict-markdown': 2.0.10(@cspell/dict-css@4.0.17)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.11)(@cspell/dict-typescript@3.2.1) '@cspell/dict-monkeyc': 1.0.10 '@cspell/dict-node': 5.0.7 - '@cspell/dict-npm': 5.2.2 + '@cspell/dict-npm': 5.2.3 '@cspell/dict-php': 4.0.14 '@cspell/dict-powershell': 5.0.14 '@cspell/dict-public-licenses': 2.0.13 @@ -6059,7 +6067,7 @@ snapshots: '@cspell/dict-rust': 4.0.11 '@cspell/dict-scala': 5.0.7 '@cspell/dict-shell': 1.1.0 - '@cspell/dict-software-terms': 5.0.6 + '@cspell/dict-software-terms': 5.0.8 '@cspell/dict-sql': 2.2.0 '@cspell/dict-svelte': 1.0.6 '@cspell/dict-swift': 2.0.5 @@ -6067,15 +6075,15 @@ snapshots: '@cspell/dict-typescript': 3.2.1 '@cspell/dict-vue': 3.0.4 - '@cspell/cspell-pipe@8.19.4': {} + '@cspell/cspell-pipe@9.0.0': {} - '@cspell/cspell-resolver@8.19.4': + '@cspell/cspell-resolver@9.0.0': dependencies: global-directory: 4.0.1 - '@cspell/cspell-service-bus@8.19.4': {} + '@cspell/cspell-service-bus@9.0.0': {} - '@cspell/cspell-types@8.19.4': {} + '@cspell/cspell-types@9.0.0': {} '@cspell/dict-ada@4.1.0': {} @@ -6087,7 +6095,7 @@ snapshots: dependencies: '@cspell/dict-shell': 1.1.0 - '@cspell/dict-companies@3.1.15': {} + '@cspell/dict-companies@3.2.1': {} '@cspell/dict-cpp@6.0.8': {} @@ -6111,11 +6119,11 @@ snapshots: '@cspell/dict-en-common-misspellings@2.0.10': {} - '@cspell/dict-en-gb@1.1.33': {} + '@cspell/dict-en-gb-mit@3.0.5': {} - '@cspell/dict-en_us@4.4.4': {} + '@cspell/dict-en_us@4.4.8': {} - '@cspell/dict-filetypes@3.0.11': {} + '@cspell/dict-filetypes@3.0.12': {} '@cspell/dict-flutter@1.1.0': {} @@ -6129,7 +6137,7 @@ snapshots: '@cspell/dict-git@3.0.4': {} - '@cspell/dict-golang@6.0.20': {} + '@cspell/dict-golang@6.0.21': {} '@cspell/dict-google@1.0.8': {} @@ -6166,7 +6174,7 @@ snapshots: '@cspell/dict-node@5.0.7': {} - '@cspell/dict-npm@5.2.2': {} + '@cspell/dict-npm@5.2.3': {} '@cspell/dict-php@4.0.14': {} @@ -6188,7 +6196,7 @@ snapshots: '@cspell/dict-shell@1.1.0': {} - '@cspell/dict-software-terms@5.0.6': {} + '@cspell/dict-software-terms@5.0.8': {} '@cspell/dict-sql@2.2.0': {} @@ -6202,24 +6210,24 @@ snapshots: '@cspell/dict-vue@3.0.4': {} - '@cspell/dynamic-import@8.19.4': + '@cspell/dynamic-import@9.0.0': dependencies: - '@cspell/url': 8.19.4 + '@cspell/url': 9.0.0 import-meta-resolve: 4.1.0 - '@cspell/eslint-plugin@8.19.4(eslint@9.26.0(jiti@2.4.2))': + '@cspell/eslint-plugin@9.0.0(eslint@9.26.0(jiti@2.4.2))': dependencies: - '@cspell/cspell-types': 8.19.4 - '@cspell/url': 8.19.4 - cspell-lib: 8.19.4 + '@cspell/cspell-types': 9.0.0 + '@cspell/url': 9.0.0 + cspell-lib: 9.0.0 eslint: 9.26.0(jiti@2.4.2) synckit: 0.11.4 - '@cspell/filetypes@8.19.4': {} + '@cspell/filetypes@9.0.0': {} - '@cspell/strong-weak-map@8.19.4': {} + '@cspell/strong-weak-map@9.0.0': {} - '@cspell/url@8.19.4': {} + '@cspell/url@9.0.0': {} '@emnapi/core@1.4.3': dependencies: @@ -6269,7 +6277,7 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0)': + '@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 '@emotion/babel-plugin': 11.13.5 @@ -6281,7 +6289,7 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.3 transitivePeerDependencies: - supports-color @@ -6295,18 +6303,18 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0)': + '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@19.1.2)(react@19.1.0) + '@emotion/react': 11.14.0(@types/react@19.1.3)(react@19.1.0) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) '@emotion/utils': 1.4.2 react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.3 transitivePeerDependencies: - supports-color @@ -6387,7 +6395,7 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.2': {} + '@humanwhocodes/retry@0.4.3': {} '@img/sharp-darwin-arm64@0.34.1': optionalDependencies: @@ -6518,38 +6526,38 @@ snapshots: express-rate-limit: 7.5.0(express@5.1.0) pkce-challenge: 5.0.0 raw-body: 3.0.0 - zod: 3.24.3 - zod-to-json-schema: 3.24.5(zod@3.24.3) + zod: 3.24.4 + zod-to-json-schema: 3.24.5(zod@3.24.4) transitivePeerDependencies: - supports-color - '@mui/core-downloads-tracker@7.0.2': {} + '@mui/core-downloads-tracker@7.1.0': {} - '@mui/lab@7.0.0-beta.11(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@mui/material@7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mui/lab@7.0.0-beta.12(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@mui/material@7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 - '@mui/material': 7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mui/system': 7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0) - '@mui/types': 7.4.1(@types/react@19.1.2) - '@mui/utils': 7.0.2(@types/react@19.1.2)(react@19.1.0) + '@mui/material': 7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mui/system': 7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0) + '@mui/types': 7.4.2(@types/react@19.1.3) + '@mui/utils': 7.1.0(@types/react@19.1.3)(react@19.1.0) clsx: 2.1.1 prop-types: 15.8.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.1.2)(react@19.1.0) - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0) - '@types/react': 19.1.2 + '@emotion/react': 11.14.0(@types/react@19.1.3)(react@19.1.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0) + '@types/react': 19.1.3 - '@mui/material@7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mui/material@7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 - '@mui/core-downloads-tracker': 7.0.2 - '@mui/system': 7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0) - '@mui/types': 7.4.1(@types/react@19.1.2) - '@mui/utils': 7.0.2(@types/react@19.1.2)(react@19.1.0) + '@mui/core-downloads-tracker': 7.1.0 + '@mui/system': 7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0) + '@mui/types': 7.4.2(@types/react@19.1.3) + '@mui/utils': 7.1.0(@types/react@19.1.3)(react@19.1.0) '@popperjs/core': 2.11.8 - '@types/react-transition-group': 4.4.12(@types/react@19.1.2) + '@types/react-transition-group': 4.4.12(@types/react@19.1.3) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -6558,20 +6566,20 @@ snapshots: react-is: 19.1.0 react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.1.2)(react@19.1.0) - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0) - '@types/react': 19.1.2 + '@emotion/react': 11.14.0(@types/react@19.1.3)(react@19.1.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0) + '@types/react': 19.1.3 - '@mui/private-theming@7.0.2(@types/react@19.1.2)(react@19.1.0)': + '@mui/private-theming@7.1.0(@types/react@19.1.3)(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 - '@mui/utils': 7.0.2(@types/react@19.1.2)(react@19.1.0) + '@mui/utils': 7.1.0(@types/react@19.1.3)(react@19.1.0) prop-types: 15.8.1 react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.3 - '@mui/styled-engine@7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(react@19.1.0)': + '@mui/styled-engine@7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 '@emotion/cache': 11.14.0 @@ -6581,42 +6589,42 @@ snapshots: prop-types: 15.8.1 react: 19.1.0 optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.1.2)(react@19.1.0) - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0) + '@emotion/react': 11.14.0(@types/react@19.1.3)(react@19.1.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0) - '@mui/system@7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0)': + '@mui/system@7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 - '@mui/private-theming': 7.0.2(@types/react@19.1.2)(react@19.1.0) - '@mui/styled-engine': 7.0.2(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0))(react@19.1.0) - '@mui/types': 7.4.1(@types/react@19.1.2) - '@mui/utils': 7.0.2(@types/react@19.1.2)(react@19.1.0) + '@mui/private-theming': 7.1.0(@types/react@19.1.3)(react@19.1.0) + '@mui/styled-engine': 7.1.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0))(react@19.1.0) + '@mui/types': 7.4.2(@types/react@19.1.3) + '@mui/utils': 7.1.0(@types/react@19.1.3)(react@19.1.0) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 react: 19.1.0 optionalDependencies: - '@emotion/react': 11.14.0(@types/react@19.1.2)(react@19.1.0) - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0) - '@types/react': 19.1.2 + '@emotion/react': 11.14.0(@types/react@19.1.3)(react@19.1.0) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.3)(react@19.1.0))(@types/react@19.1.3)(react@19.1.0) + '@types/react': 19.1.3 - '@mui/types@7.4.1(@types/react@19.1.2)': + '@mui/types@7.4.2(@types/react@19.1.3)': dependencies: '@babel/runtime': 7.27.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.3 - '@mui/utils@7.0.2(@types/react@19.1.2)(react@19.1.0)': + '@mui/utils@7.1.0(@types/react@19.1.3)(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 - '@mui/types': 7.4.1(@types/react@19.1.2) + '@mui/types': 7.4.2(@types/react@19.1.3) '@types/prop-types': 15.7.14 clsx: 2.1.1 prop-types: 15.8.1 react: 19.1.0 react-is: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.3 '@napi-rs/wasm-runtime@0.2.9': dependencies: @@ -6625,34 +6633,34 @@ snapshots: '@tybys/wasm-util': 0.9.0 optional: true - '@next/env@15.3.1': {} + '@next/env@15.3.2': {} - '@next/eslint-plugin-next@15.3.1': + '@next/eslint-plugin-next@15.3.2': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@15.3.1': + '@next/swc-darwin-arm64@15.3.2': optional: true - '@next/swc-darwin-x64@15.3.1': + '@next/swc-darwin-x64@15.3.2': optional: true - '@next/swc-linux-arm64-gnu@15.3.1': + '@next/swc-linux-arm64-gnu@15.3.2': optional: true - '@next/swc-linux-arm64-musl@15.3.1': + '@next/swc-linux-arm64-musl@15.3.2': optional: true - '@next/swc-linux-x64-gnu@15.3.1': + '@next/swc-linux-x64-gnu@15.3.2': optional: true - '@next/swc-linux-x64-musl@15.3.1': + '@next/swc-linux-x64-musl@15.3.2': optional: true - '@next/swc-win32-arm64-msvc@15.3.1': + '@next/swc-win32-arm64-msvc@15.3.2': optional: true - '@next/swc-win32-x64-msvc@15.3.1': + '@next/swc-win32-x64-msvc@15.3.2': optional: true '@nodelib/fs.scandir@2.1.5': @@ -6691,7 +6699,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6700,7 +6708,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 '@types/connect': 3.4.38 transitivePeerDependencies: - supports-color @@ -6717,7 +6725,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6726,7 +6734,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6757,7 +6765,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6777,7 +6785,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.36.2 - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6785,7 +6793,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6793,7 +6801,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6802,7 +6810,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6817,7 +6825,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6826,7 +6834,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6834,7 +6842,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -6843,7 +6851,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 '@types/mysql': 2.15.26 transitivePeerDependencies: - supports-color @@ -6853,7 +6861,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) '@types/pg': 8.6.1 '@types/pg-pool': 2.0.6 @@ -6865,7 +6873,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.36.2 - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 transitivePeerDependencies: - supports-color @@ -6873,7 +6881,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 '@types/tedious': 4.0.14 transitivePeerDependencies: - supports-color @@ -6915,7 +6923,7 @@ snapshots: '@opentelemetry/semantic-conventions@1.28.0': {} - '@opentelemetry/semantic-conventions@1.32.0': {} + '@opentelemetry/semantic-conventions@1.33.0': {} '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)': dependencies: @@ -6926,7 +6934,7 @@ snapshots: '@popperjs/core@2.11.8': {} - '@prisma/instrumentation@6.6.0(@opentelemetry/api@1.9.0)': + '@prisma/instrumentation@6.7.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) @@ -7046,33 +7054,33 @@ snapshots: '@rushstack/eslint-patch@1.11.0': {} - '@sentry-internal/browser-utils@9.15.0': + '@sentry-internal/browser-utils@9.16.1': dependencies: - '@sentry/core': 9.15.0 + '@sentry/core': 9.16.1 - '@sentry-internal/feedback@9.15.0': + '@sentry-internal/feedback@9.16.1': dependencies: - '@sentry/core': 9.15.0 + '@sentry/core': 9.16.1 - '@sentry-internal/replay-canvas@9.15.0': + '@sentry-internal/replay-canvas@9.16.1': dependencies: - '@sentry-internal/replay': 9.15.0 - '@sentry/core': 9.15.0 + '@sentry-internal/replay': 9.16.1 + '@sentry/core': 9.16.1 - '@sentry-internal/replay@9.15.0': + '@sentry-internal/replay@9.16.1': dependencies: - '@sentry-internal/browser-utils': 9.15.0 - '@sentry/core': 9.15.0 + '@sentry-internal/browser-utils': 9.16.1 + '@sentry/core': 9.16.1 '@sentry/babel-plugin-component-annotate@3.3.1': {} - '@sentry/browser@9.15.0': + '@sentry/browser@9.16.1': dependencies: - '@sentry-internal/browser-utils': 9.15.0 - '@sentry-internal/feedback': 9.15.0 - '@sentry-internal/replay': 9.15.0 - '@sentry-internal/replay-canvas': 9.15.0 - '@sentry/core': 9.15.0 + '@sentry-internal/browser-utils': 9.16.1 + '@sentry-internal/feedback': 9.16.1 + '@sentry-internal/replay': 9.16.1 + '@sentry-internal/replay-canvas': 9.16.1 + '@sentry/core': 9.16.1 '@sentry/bundler-plugin-core@3.3.1': dependencies: @@ -7128,22 +7136,22 @@ snapshots: - encoding - supports-color - '@sentry/core@9.15.0': {} + '@sentry/core@9.16.1': {} - '@sentry/nextjs@9.15.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.7)': + '@sentry/nextjs@9.16.1(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.8)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.32.0 + '@opentelemetry/semantic-conventions': 1.33.0 '@rollup/plugin-commonjs': 28.0.1(rollup@4.35.0) - '@sentry-internal/browser-utils': 9.15.0 - '@sentry/core': 9.15.0 - '@sentry/node': 9.15.0 - '@sentry/opentelemetry': 9.15.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.32.0) - '@sentry/react': 9.15.0(react@19.1.0) - '@sentry/vercel-edge': 9.15.0 - '@sentry/webpack-plugin': 3.3.1(webpack@5.99.7) + '@sentry-internal/browser-utils': 9.16.1 + '@sentry/core': 9.16.1 + '@sentry/node': 9.16.1 + '@sentry/opentelemetry': 9.16.1(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.33.0) + '@sentry/react': 9.16.1(react@19.1.0) + '@sentry/vercel-edge': 9.16.1 + '@sentry/webpack-plugin': 3.3.1(webpack@5.99.8) chalk: 3.0.0 - next: 15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) resolve: 1.22.8 rollup: 4.35.0 stacktrace-parser: 0.1.11 @@ -7157,7 +7165,7 @@ snapshots: - supports-color - webpack - '@sentry/node@9.15.0': + '@sentry/node@9.16.1': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) @@ -7188,49 +7196,49 @@ snapshots: '@opentelemetry/instrumentation-undici': 0.10.1(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 - '@prisma/instrumentation': 6.6.0(@opentelemetry/api@1.9.0) - '@sentry/core': 9.15.0 - '@sentry/opentelemetry': 9.15.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.32.0) + '@opentelemetry/semantic-conventions': 1.33.0 + '@prisma/instrumentation': 6.7.0(@opentelemetry/api@1.9.0) + '@sentry/core': 9.16.1 + '@sentry/opentelemetry': 9.16.1(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.33.0) import-in-the-middle: 1.13.1 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@9.15.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.32.0)': + '@sentry/opentelemetry@9.16.1(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.33.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.57.2(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.30.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.32.0 - '@sentry/core': 9.15.0 + '@opentelemetry/semantic-conventions': 1.33.0 + '@sentry/core': 9.16.1 - '@sentry/react@9.15.0(react@19.1.0)': + '@sentry/react@9.16.1(react@19.1.0)': dependencies: - '@sentry/browser': 9.15.0 - '@sentry/core': 9.15.0 + '@sentry/browser': 9.16.1 + '@sentry/core': 9.16.1 hoist-non-react-statics: 3.3.2 react: 19.1.0 - '@sentry/vercel-edge@9.15.0': + '@sentry/vercel-edge@9.16.1': dependencies: '@opentelemetry/api': 1.9.0 - '@sentry/core': 9.15.0 + '@sentry/core': 9.16.1 - '@sentry/webpack-plugin@3.3.1(webpack@5.99.7)': + '@sentry/webpack-plugin@3.3.1(webpack@5.99.8)': dependencies: '@sentry/bundler-plugin-core': 3.3.1 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.99.7 + webpack: 5.99.8 transitivePeerDependencies: - encoding - supports-color '@stylistic/eslint-plugin@4.2.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.26.0(jiti@2.4.2) eslint-visitor-keys: 4.2.0 espree: 10.3.0 @@ -7340,16 +7348,16 @@ snapshots: '@types/accepts@1.3.7': dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/content-disposition@0.5.8': {} @@ -7358,7 +7366,7 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 5.0.1 '@types/keygrip': 1.0.6 - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/eslint-config-prettier@6.11.3': {} @@ -7380,7 +7388,7 @@ snapshots: '@types/express-serve-static-core@5.0.6': dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/qs': 6.9.18 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -7394,7 +7402,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/http-assert@1.5.6': {} @@ -7407,7 +7415,7 @@ snapshots: '@types/jsonwebtoken@9.0.9': dependencies: '@types/ms': 2.1.0 - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/keygrip@1.0.6': {} @@ -7424,7 +7432,7 @@ snapshots: '@types/http-errors': 2.0.4 '@types/keygrip': 1.0.6 '@types/koa-compose': 3.2.8 - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/koa__router@12.0.4': dependencies: @@ -7440,14 +7448,14 @@ snapshots: '@types/mysql@2.15.26': dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/next-pwa@5.6.9(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@types/node': 22.15.3 - '@types/react': 19.1.2 - '@types/react-dom': 19.1.3(@types/react@19.1.2) - next: 15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/node': 22.15.15 + '@types/react': 19.1.3 + '@types/react-dom': 19.1.3(@types/react@19.1.3) + next: 15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) workbox-build: 6.6.0 transitivePeerDependencies: - '@babel/core' @@ -7461,7 +7469,7 @@ snapshots: - sass - supports-color - '@types/node@22.15.3': + '@types/node@22.15.15': dependencies: undici-types: 6.21.0 @@ -7473,7 +7481,7 @@ snapshots: '@types/pg@8.6.1': dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 pg-protocol: 1.9.5 pg-types: 2.2.0 @@ -7483,49 +7491,49 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/react-dom@19.1.3(@types/react@19.1.2)': + '@types/react-dom@19.1.3(@types/react@19.1.3)': dependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.3 - '@types/react-transition-group@4.4.12(@types/react@19.1.2)': + '@types/react-transition-group@4.4.12(@types/react@19.1.3)': dependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.3 - '@types/react@19.1.2': + '@types/react@19.1.3': dependencies: csstype: 3.1.3 '@types/resolve@1.17.1': dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/send': 0.17.4 '@types/shimmer@1.2.0': {} '@types/tedious@4.0.14': dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 '@types/trusted-types@2.0.7': {} - '@typescript-eslint/eslint-plugin@8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.31.1 - '@typescript-eslint/type-utils': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.31.1 + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.32.0 + '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.0 eslint: 9.26.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 @@ -7535,27 +7543,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.31.1 - '@typescript-eslint/types': 8.31.1 - '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.31.1 + '@typescript-eslint/scope-manager': 8.32.0 + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.0 debug: 4.4.0 eslint: 9.26.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.31.1': + '@typescript-eslint/scope-manager@8.32.0': dependencies: - '@typescript-eslint/types': 8.31.1 - '@typescript-eslint/visitor-keys': 8.31.1 + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/visitor-keys': 8.32.0 - '@typescript-eslint/type-utils@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) debug: 4.4.0 eslint: 9.26.0(jiti@2.4.2) ts-api-utils: 2.1.0(typescript@5.8.3) @@ -7563,12 +7571,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.31.1': {} + '@typescript-eslint/types@8.32.0': {} - '@typescript-eslint/typescript-estree@8.31.1(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.31.1 - '@typescript-eslint/visitor-keys': 8.31.1 + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/visitor-keys': 8.32.0 debug: 4.4.0 fast-glob: 3.3.3 is-glob: 4.0.3 @@ -7579,20 +7587,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.31.1 - '@typescript-eslint/types': 8.31.1 - '@typescript-eslint/typescript-estree': 8.31.1(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.32.0 + '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) eslint: 9.26.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.31.1': + '@typescript-eslint/visitor-keys@8.32.0': dependencies: - '@typescript-eslint/types': 8.31.1 + '@typescript-eslint/types': 8.32.0 eslint-visitor-keys: 4.2.0 '@unrs/resolver-binding-darwin-arm64@1.7.2': @@ -7898,14 +7906,14 @@ snapshots: axobject-query@4.1.0: {} - babel-loader@8.4.1(@babel/core@7.27.1)(webpack@5.99.7): + babel-loader@8.4.1(@babel/core@7.27.1)(webpack@5.99.8): dependencies: '@babel/core': 7.27.1 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.99.7 + webpack: 5.99.8 babel-plugin-macros@3.1.0: dependencies: @@ -7915,7 +7923,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.13(@babel/core@7.27.1): dependencies: - '@babel/compat-data': 7.27.1 + '@babel/compat-data': 7.27.2 '@babel/core': 7.27.1 '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.1) semver: 6.3.1 @@ -7972,8 +7980,8 @@ snapshots: browserslist@4.24.5: dependencies: - caniuse-lite: 1.0.30001716 - electron-to-chromium: 1.5.149 + caniuse-lite: 1.0.30001717 + electron-to-chromium: 1.5.150 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.24.5) @@ -8013,7 +8021,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001716: {} + caniuse-lite@1.0.30001717: {} chalk@3.0.0: dependencies: @@ -8045,10 +8053,10 @@ snapshots: clean-stack@2.2.0: {} - clean-webpack-plugin@4.0.0(webpack@5.99.7): + clean-webpack-plugin@4.0.0(webpack@5.99.8): dependencies: del: 4.1.1 - webpack: 5.99.7 + webpack: 5.99.8 clear-module@4.1.2: dependencies: @@ -8166,52 +8174,52 @@ snapshots: crypto-random-string@2.0.0: {} - cspell-config-lib@8.19.4: + cspell-config-lib@9.0.0: dependencies: - '@cspell/cspell-types': 8.19.4 + '@cspell/cspell-types': 9.0.0 comment-json: 4.2.5 yaml: 2.7.1 - cspell-dictionary@8.19.4: + cspell-dictionary@9.0.0: dependencies: - '@cspell/cspell-pipe': 8.19.4 - '@cspell/cspell-types': 8.19.4 - cspell-trie-lib: 8.19.4 + '@cspell/cspell-pipe': 9.0.0 + '@cspell/cspell-types': 9.0.0 + cspell-trie-lib: 9.0.0 fast-equals: 5.2.2 - cspell-glob@8.19.4: + cspell-glob@9.0.0: dependencies: - '@cspell/url': 8.19.4 + '@cspell/url': 9.0.0 picomatch: 4.0.2 - cspell-grammar@8.19.4: + cspell-grammar@9.0.0: dependencies: - '@cspell/cspell-pipe': 8.19.4 - '@cspell/cspell-types': 8.19.4 + '@cspell/cspell-pipe': 9.0.0 + '@cspell/cspell-types': 9.0.0 - cspell-io@8.19.4: + cspell-io@9.0.0: dependencies: - '@cspell/cspell-service-bus': 8.19.4 - '@cspell/url': 8.19.4 + '@cspell/cspell-service-bus': 9.0.0 + '@cspell/url': 9.0.0 - cspell-lib@8.19.4: + cspell-lib@9.0.0: dependencies: - '@cspell/cspell-bundled-dicts': 8.19.4 - '@cspell/cspell-pipe': 8.19.4 - '@cspell/cspell-resolver': 8.19.4 - '@cspell/cspell-types': 8.19.4 - '@cspell/dynamic-import': 8.19.4 - '@cspell/filetypes': 8.19.4 - '@cspell/strong-weak-map': 8.19.4 - '@cspell/url': 8.19.4 + '@cspell/cspell-bundled-dicts': 9.0.0 + '@cspell/cspell-pipe': 9.0.0 + '@cspell/cspell-resolver': 9.0.0 + '@cspell/cspell-types': 9.0.0 + '@cspell/dynamic-import': 9.0.0 + '@cspell/filetypes': 9.0.0 + '@cspell/strong-weak-map': 9.0.0 + '@cspell/url': 9.0.0 clear-module: 4.1.2 comment-json: 4.2.5 - cspell-config-lib: 8.19.4 - cspell-dictionary: 8.19.4 - cspell-glob: 8.19.4 - cspell-grammar: 8.19.4 - cspell-io: 8.19.4 - cspell-trie-lib: 8.19.4 + cspell-config-lib: 9.0.0 + cspell-dictionary: 9.0.0 + cspell-glob: 9.0.0 + cspell-grammar: 9.0.0 + cspell-io: 9.0.0 + cspell-trie-lib: 9.0.0 env-paths: 3.0.0 fast-equals: 5.2.2 gensequence: 7.0.0 @@ -8221,10 +8229,10 @@ snapshots: vscode-uri: 3.1.0 xdg-basedir: 5.1.0 - cspell-trie-lib@8.19.4: + cspell-trie-lib@9.0.0: dependencies: - '@cspell/cspell-pipe': 8.19.4 - '@cspell/cspell-types': 8.19.4 + '@cspell/cspell-pipe': 9.0.0 + '@cspell/cspell-types': 9.0.0 gensequence: 7.0.0 css-declaration-sorter@7.2.0(postcss@8.5.3): @@ -8330,7 +8338,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.149: {} + electron-to-chromium@1.5.150: {} element-internals-polyfill@1.3.13: {} @@ -8463,16 +8471,16 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-next@15.3.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): + eslint-config-next@15.3.2(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@next/eslint-plugin-next': 15.3.1 + '@next/eslint-plugin-next': 15.3.2 '@rushstack/eslint-patch': 1.11.0 - '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.26.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.26.0(jiti@2.4.2)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.26.0(jiti@2.4.2)) eslint-plugin-react: 7.37.5(eslint@9.26.0(jiti@2.4.2)) eslint-plugin-react-hooks: 5.2.0(eslint@9.26.0(jiti@2.4.2)) @@ -8483,7 +8491,7 @@ snapshots: - eslint-plugin-import-x - supports-color - eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@2.4.2)): + eslint-config-prettier@10.1.3(eslint@9.26.0(jiti@2.4.2)): dependencies: eslint: 9.26.0(jiti@2.4.2) @@ -8506,22 +8514,22 @@ snapshots: tinyglobby: 0.2.13 unrs-resolver: 1.7.2 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.26.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.31.0)(eslint@9.26.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -8532,7 +8540,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.26.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -8544,7 +8552,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -8625,7 +8633,7 @@ snapshots: '@eslint/plugin-kit': 0.2.8 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.2 + '@humanwhocodes/retry': 0.4.3 '@modelcontextprotocol/sdk': 1.11.0 '@types/estree': 1.0.7 '@types/json-schema': 7.0.15 @@ -8651,7 +8659,7 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - zod: 3.24.3 + zod: 3.24.4 optionalDependencies: jiti: 2.4.2 transitivePeerDependencies: @@ -8949,7 +8957,7 @@ snapshots: globals@14.0.0: {} - globals@16.0.0: {} + globals@16.1.0: {} globalthis@1.0.4: dependencies: @@ -9264,13 +9272,13 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 22.15.3 + '@types/node': 22.15.15 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9332,7 +9340,7 @@ snapshots: object.assign: 4.1.7 object.values: 1.2.1 - jwa@1.4.1: + jwa@1.4.2: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 @@ -9340,7 +9348,7 @@ snapshots: jws@3.2.2: dependencies: - jwa: 1.4.1 + jwa: 1.4.2 safe-buffer: 5.2.1 keygrip@1.1.0: @@ -9465,14 +9473,14 @@ snapshots: lines-and-columns@1.2.4: {} - lint-staged@15.5.1: + lint-staged@15.5.2: dependencies: chalk: 5.4.1 commander: 13.1.0 debug: 4.4.0 execa: 8.0.1 lilconfig: 3.1.3 - listr2: 8.3.2 + listr2: 8.3.3 micromatch: 4.0.8 pidtree: 0.6.0 string-argv: 0.3.2 @@ -9480,7 +9488,7 @@ snapshots: transitivePeerDependencies: - supports-color - listr2@8.3.2: + listr2@8.3.3: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -9527,6 +9535,8 @@ snapshots: lodash.isboolean@3.0.3: {} + lodash.isequalwith@4.4.0: {} + lodash.isinteger@4.0.4: {} lodash.isnumber@3.0.3: {} @@ -9651,9 +9661,10 @@ snapshots: - jsdom - typescript - mobx-i18n@0.6.0(mobx@6.13.7)(typescript@5.8.3): + mobx-i18n@0.7.1(mobx@6.13.7)(typescript@5.8.3): dependencies: '@swc/helpers': 0.5.17 + '@types/node': 22.15.15 mobx: 6.13.7 regenerator-runtime: 0.14.1 web-utility: 4.4.3(typescript@5.8.3) @@ -9673,6 +9684,13 @@ snapshots: - jsdom - typescript + mobx-react-helper@0.3.6(mobx@6.13.7)(react@19.1.0): + dependencies: + '@swc/helpers': 0.5.17 + lodash.isequalwith: 4.4.0 + mobx: 6.13.7 + react: 19.1.0 + mobx-react-lite@4.1.0(mobx@6.13.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: mobx: 6.13.7 @@ -9720,14 +9738,14 @@ snapshots: neo-async@2.6.2: {} - next-pwa@5.6.0(@babel/core@7.27.1)(next@15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(webpack@5.99.7): + next-pwa@5.6.0(@babel/core@7.27.1)(next@15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(webpack@5.99.8): dependencies: - babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.99.7) - clean-webpack-plugin: 4.0.0(webpack@5.99.7) + babel-loader: 8.4.1(@babel/core@7.27.1)(webpack@5.99.8) + clean-webpack-plugin: 4.0.0(webpack@5.99.8) globby: 11.1.0 - next: 15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - terser-webpack-plugin: 5.3.14(webpack@5.99.7) - workbox-webpack-plugin: 6.6.0(webpack@5.99.7) + next: 15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + terser-webpack-plugin: 5.3.14(webpack@5.99.8) + workbox-webpack-plugin: 6.6.0(webpack@5.99.8) workbox-window: 6.6.0 transitivePeerDependencies: - '@babel/core' @@ -9738,44 +9756,44 @@ snapshots: - uglify-js - webpack - next-ssr-middleware@0.10.0(@koa/bodyparser@5.1.1(koa@2.16.1))(@koa/router@13.1.0)(jsonwebtoken@9.0.2)(koa@2.16.1)(mobx-i18n@0.6.0(mobx@6.13.7)(typescript@5.8.3))(next@15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(typescript@5.8.3): + next-ssr-middleware@1.0.0(next@15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(typescript@5.8.3): dependencies: '@koa/bodyparser': 5.1.1(koa@2.16.1) '@koa/router': 13.1.0 '@types/jsonwebtoken': 9.0.9 '@types/koa': 2.15.0 '@types/koa__router': 12.0.4 - '@types/react': 19.1.2 + '@types/react': 19.1.3 jsonwebtoken: 9.0.2 koa: 2.16.1 - mobx-i18n: 0.6.0(mobx@6.13.7)(typescript@5.8.3) - next: 15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next: 15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 tslib: 2.8.1 web-utility: 4.4.3(typescript@5.8.3) transitivePeerDependencies: + - supports-color - typescript - next@15.3.1(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next@15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@next/env': 15.3.1 + '@next/env': 15.3.2 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.15 busboy: 1.6.0 - caniuse-lite: 1.0.30001716 + caniuse-lite: 1.0.30001717 postcss: 8.4.31 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) styled-jsx: 5.1.6(@babel/core@7.27.1)(react@19.1.0) optionalDependencies: - '@next/swc-darwin-arm64': 15.3.1 - '@next/swc-darwin-x64': 15.3.1 - '@next/swc-linux-arm64-gnu': 15.3.1 - '@next/swc-linux-arm64-musl': 15.3.1 - '@next/swc-linux-x64-gnu': 15.3.1 - '@next/swc-linux-x64-musl': 15.3.1 - '@next/swc-win32-arm64-msvc': 15.3.1 - '@next/swc-win32-x64-msvc': 15.3.1 + '@next/swc-darwin-arm64': 15.3.2 + '@next/swc-darwin-x64': 15.3.2 + '@next/swc-linux-arm64-gnu': 15.3.2 + '@next/swc-linux-arm64-musl': 15.3.2 + '@next/swc-linux-x64-gnu': 15.3.2 + '@next/swc-linux-x64-musl': 15.3.2 + '@next/swc-win32-arm64-msvc': 15.3.2 + '@next/swc-win32-x64-msvc': 15.3.2 '@opentelemetry/api': 1.9.0 sharp: 0.34.1 transitivePeerDependencies: @@ -10574,14 +10592,14 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 - terser-webpack-plugin@5.3.14(webpack@5.99.7): + terser-webpack-plugin@5.3.14(webpack@5.99.8): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.7 + webpack: 5.99.8 terser@5.39.0: dependencies: @@ -10681,11 +10699,11 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.31.1(@typescript-eslint/parser@8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.31.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.26.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: @@ -10803,7 +10821,7 @@ snapshots: webpack-virtual-modules@0.5.0: {} - webpack@5.99.7: + webpack@5.99.8: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -10826,7 +10844,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(webpack@5.99.7) + terser-webpack-plugin: 5.3.14(webpack@5.99.8) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -10905,7 +10923,7 @@ snapshots: dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.17.1) '@babel/core': 7.27.1 - '@babel/preset-env': 7.27.1(@babel/core@7.27.1) + '@babel/preset-env': 7.27.2(@babel/core@7.27.1) '@babel/runtime': 7.27.1 '@rollup/plugin-babel': 5.3.1(@babel/core@7.27.1)(rollup@2.79.2) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.2) @@ -11000,12 +11018,12 @@ snapshots: workbox-sw@6.6.0: {} - workbox-webpack-plugin@6.6.0(webpack@5.99.7): + workbox-webpack-plugin@6.6.0(webpack@5.99.8): dependencies: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.99.7 + webpack: 5.99.8 webpack-sources: 1.4.3 workbox-build: 6.6.0 transitivePeerDependencies: @@ -11039,8 +11057,8 @@ snapshots: yocto-queue@0.1.0: {} - zod-to-json-schema@3.24.5(zod@3.24.3): + zod-to-json-schema@3.24.5(zod@3.24.4): dependencies: - zod: 3.24.3 + zod: 3.24.4 - zod@3.24.3: {} + zod@3.24.4: {}