diff --git a/.config/docker_example.yml b/.config/docker_example.yml index d80516ce2..9e9c050e1 100644 --- a/.config/docker_example.yml +++ b/.config/docker_example.yml @@ -195,4 +195,4 @@ signToActivityPubGet: true #maxFileSize: 262144000 # Value of Content-Security-Policy header -#contentSecurityPolicy: "script-src 'self' 'unsafe-eval' https://challenges.cloudflare.com https://hcaptcha.com https://*.hcaptcha.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://www.recaptcha.net/recaptcha/; base-uri 'self'; object-src 'self';" +#contentSecurityPolicy: "script-src 'self' 'unsafe-eval' https://challenges.cloudflare.com https://hcaptcha.com https://*.hcaptcha.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://www.recaptcha.net/recaptcha/ https://www.googletagmanager.com/; base-uri 'self'; object-src 'self';" diff --git a/.config/example.yml b/.config/example.yml index 7612c063e..6c1a15161 100644 --- a/.config/example.yml +++ b/.config/example.yml @@ -118,7 +118,7 @@ redis: # ┌───────────────────────────┐ #───┘ MeiliSearch configuration └───────────────────────────── -# You can set scope to local (default value) or global +# You can set scope to local (default value) or global # (include notes from remote). #meilisearch: @@ -214,7 +214,7 @@ proxyRemoteFiles: true signToActivityPubGet: true # For security reasons, uploading attachments from the intranet is prohibited, -# but exceptions can be made from the following settings. Default value is "undefined". +# but exceptions can be made from the following settings. Default value is "undefined". # Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)). #allowedPrivateNetworks: [ # '127.0.0.1/32' @@ -227,4 +227,4 @@ signToActivityPubGet: true #pidFile: /tmp/misskey.pid # Value of Content-Security-Policy header -#contentSecurityPolicy: "script-src 'self' 'unsafe-eval' https://challenges.cloudflare.com https://hcaptcha.com https://*.hcaptcha.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://www.recaptcha.net/recaptcha/; base-uri 'self'; object-src 'self';" +#contentSecurityPolicy: "script-src 'self' 'unsafe-eval' https://challenges.cloudflare.com https://hcaptcha.com https://*.hcaptcha.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://www.recaptcha.net/recaptcha/ https://www.googletagmanager.com/; base-uri 'self'; object-src 'self';" diff --git a/.github/workflows/api-misskey-js.yml b/.github/workflows/api-misskey-js.yml index 79d7750bb..377946d58 100644 --- a/.github/workflows/api-misskey-js.yml +++ b/.github/workflows/api-misskey-js.yml @@ -20,7 +20,7 @@ jobs: - run: corepack enable - name: Setup Node.js - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version-file: '.node-version' cache: 'pnpm' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 078636ff1..b80a59a68 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -32,7 +32,7 @@ jobs: - uses: pnpm/action-setup@v4 with: run_install: false - - uses: actions/setup-node@v4.0.4 + - uses: actions/setup-node@v4.1.0 with: node-version-file: '.node-version' cache: 'pnpm' @@ -58,7 +58,7 @@ jobs: - uses: pnpm/action-setup@v4 with: run_install: false - - uses: actions/setup-node@v4.0.4 + - uses: actions/setup-node@v4.1.0 with: node-version-file: '.node-version' cache: 'pnpm' @@ -83,7 +83,7 @@ jobs: - uses: pnpm/action-setup@v4 with: run_install: false - - uses: actions/setup-node@v4.0.4 + - uses: actions/setup-node@v4.1.0 with: node-version-file: '.node-version' cache: 'pnpm' diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index e93608e48..adc47f641 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -61,7 +61,7 @@ jobs: - name: Install FFmpeg uses: FedericoCarboni/setup-ffmpeg@v3 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' @@ -126,7 +126,7 @@ jobs: with: run_install: false - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' diff --git a/.github/workflows/test-frontend.yml b/.github/workflows/test-frontend.yml index e5ac64da9..0eb364044 100644 --- a/.github/workflows/test-frontend.yml +++ b/.github/workflows/test-frontend.yml @@ -40,7 +40,7 @@ jobs: with: run_install: false - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' diff --git a/.github/workflows/test-misskey-js.yml b/.github/workflows/test-misskey-js.yml index 480ac958d..9fdaed396 100644 --- a/.github/workflows/test-misskey-js.yml +++ b/.github/workflows/test-misskey-js.yml @@ -33,7 +33,7 @@ jobs: - run: corepack enable - name: Setup Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' diff --git a/.github/workflows/test-production.yml b/.github/workflows/test-production.yml index fd6c5fa66..21608d21b 100644 --- a/.github/workflows/test-production.yml +++ b/.github/workflows/test-production.yml @@ -30,7 +30,7 @@ jobs: with: run_install: false - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' diff --git a/.github/workflows/validate-api-json.yml b/.github/workflows/validate-api-json.yml index 8031bbd67..b1236fb38 100644 --- a/.github/workflows/validate-api-json.yml +++ b/.github/workflows/validate-api-json.yml @@ -32,7 +32,7 @@ jobs: with: run_install: false - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4.0.4 + uses: actions/setup-node@v4.1.0 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' diff --git a/CHANGELOG.md b/CHANGELOG.md index 94fee4f8a..02a98cdfe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,6 +87,8 @@ - Fix: `/i/notifications`に `includeTypes`か`excludeTypes`を指定しているとき、通知が存在するのに空配列を返すことがある問題を修正 - Fix: 複数idを指定する`users/show`が関係ないユーザを返すことがある問題を修正 - Fix: `/tags` と `/user-tags` が検索エンジンにインデックスされないように +- Fix: もともとセンシティブではないと連合されていたファイルがセンシティブとして連合された場合にセンシティブとしてそのファイルを扱うように + - センシティブとして連合したファイルは非センシティブとして連合されてもセンシティブとして扱われます ## 2024.3.1 diff --git a/locales/en-US.yml b/locales/en-US.yml index 5e25dee5d..e83883d3c 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1269,10 +1269,51 @@ keepOriginalFilenameDescription: "If you turn off this setting, files names will noDescription: "There is not the explanation" alwaysConfirmFollow: "Always confirm when following" inquiry: "Contact" +tryAgain: "Please try again later" +confirmWhenRevealingSensitiveMedia: "Confirm when revealing sensitive media" +sensitiveMediaRevealConfirm: "This might be a sensitive media. Are you sure to reveal?" +createdLists: "Created lists" +createdAntennas: "Created antennas" +fromX: "From {x}" +genEmbedCode: "Generate embed code" +noteOfThisUser: "Notes by this user" +clipNoteLimitExceeded: "No more notes can be added to this clip." +performance: "Performance" +modified: "Modified" +discard: "Discard" +thereAreNChanges: "There are {n} change(s)" +signinWithPasskey: "Sign in with Passkey" +unknownWebAuthnKey: "Unknown Passkey" +passkeyVerificationFailed: "Passkey verification has failed." +passkeyVerificationSucceededButPasswordlessLoginDisabled: "Passkey verification has succeeded but password-less login is disabled." +messageToFollower: "Message to followers" +target: "Target" +testCaptchaWarning: "This function is intended for CAPTCHA testing purposes.\nDo not use in a production environment." +prohibitedWordsForNameOfUser: "Prohibited words for user names" +prohibitedWordsForNameOfUserDescription: "If any of the strings in this list are included in the user's name, the name will be denied. Users with moderator privileges are not affected by this restriction." +yourNameContainsProhibitedWords: "Your name contains prohibited words" +yourNameContainsProhibitedWordsDescription: "If you wish to use this name, please contact your server administrator." +thisContentsAreMarkedAsSigninRequiredByAuthor: "Set by the author to require login to view" +lockdown: "Lockdown" +pleaseSelectAccount: "Select an account" here: "here" mutualLink: "Mutual Link" saveThisFile: "Save this file to Drive" changeUserName: "Change name" +gtagConsentCustomize: "Data Collection and Privacy Settings" +gtagConsentCustomizeDescription: "You can customize the scope of data collected by {host}.\nHowever, you cannot disable the collection of security-related information such as authentication features, fraud prevention, and other user protections." +gtagConsentAnalytics: "Collection of Statistical Information" +gtagConsentAnalyticsDescription: "Enable the storage (cookies, etc.) of analytics-related information such as site visit duration." +gtagConsentFunctionality: "Collection of Feature and Setting Usage" +gtagConsentFunctionalityDescription: "Enable the storage of information that supports website or app features, such as language settings." +gtagConsentPersonalization: "Collection of Personalized Information" +gtagConsentPersonalizationDescription: "Enable the storage of personalization-related information such as recommended posts." +helpUsImproveUserExperience: "To build the future of Misskey,\nplease help us by agreeing to data collection!" +pleaseConsentToTracking: "{host} may collect information that may include personal data such as your IP address, usage data, and device information during your use, based on our [Privacy Policy]({privacyPolicyUrl}), for the purpose of providing and operating the service and improving the user experience.\n\nThe collected data will be used for future feature development, operational policy decisions, and identifying areas for service improvement." +consentEssential: "Allow Essential Items" +consentAll: "Allow All Items" +consentSelected: "Allow Selected Items" + _bubbleGame: howToPlay: "How to play" hold: "Hold" @@ -2170,8 +2211,11 @@ _auth: permissionAsk: "This application requests the following permissions" pleaseGoBack: "Please go back to the application" callback: "Returning to the application" + accepted: "Access granted" denied: "Access denied" + scopeUser: "Operate as the following user" pleaseLogin: "Please log in to authorize applications." + byClickingYouWillBeRedirectedToThisUrl: "When access is granted, you will automatically be redirected to the following URL" _antennaSources: all: "All notes" homeTimeline: "Notes from followed users" diff --git a/locales/index.d.ts b/locales/index.d.ts index 482457d78..eba90728a 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -5114,6 +5114,118 @@ export interface Locale extends ILocale { * お問い合わせ */ "inquiry": string; + /** + * もう一度お試しください。 + */ + "tryAgain": string; + /** + * センシティブなメディアを表示するとき確認する + */ + "confirmWhenRevealingSensitiveMedia": string; + /** + * センシティブなメディアです。表示しますか? + */ + "sensitiveMediaRevealConfirm": string; + /** + * 作成したリスト + */ + "createdLists": string; + /** + * 作成したアンテナ + */ + "createdAntennas": string; + /** + * {x}から + */ + "fromX": ParameterizedString<"x">; + /** + * 埋め込みコードを生成 + */ + "genEmbedCode": string; + /** + * このユーザーのノート一覧 + */ + "noteOfThisUser": string; + /** + * これ以上このクリップにノートを追加できません。 + */ + "clipNoteLimitExceeded": string; + /** + * パフォーマンス + */ + "performance": string; + /** + * 変更あり + */ + "modified": string; + /** + * 破棄 + */ + "discard": string; + /** + * {n}件の変更があります + */ + "thereAreNChanges": ParameterizedString<"n">; + /** + * パスキーでログイン + */ + "signinWithPasskey": string; + /** + * 登録されていないパスキーです。 + */ + "unknownWebAuthnKey": string; + /** + * パスキーの検証に失敗しました。 + */ + "passkeyVerificationFailed": string; + /** + * パスキーの検証に成功しましたが、パスワードレスログインが無効になっています。 + */ + "passkeyVerificationSucceededButPasswordlessLoginDisabled": string; + /** + * フォロワーへのメッセージ + */ + "messageToFollower": string; + /** + * 対象 + */ + "target": string; + /** + * CAPTCHAのテストを目的とした機能です。本番環境で使用しないでください。 + */ + "testCaptchaWarning": string; + /** + * 禁止ワード(ユーザーの名前) + */ + "prohibitedWordsForNameOfUser": string; + /** + * このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。 + */ + "prohibitedWordsForNameOfUserDescription": string; + /** + * 変更しようとした名前に禁止された文字列が含まれています + */ + "yourNameContainsProhibitedWords": string; + /** + * 名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。 + */ + "yourNameContainsProhibitedWordsDescription": string; + /** + * 投稿者により、表示にはログインが必要と設定されています + */ + "thisContentsAreMarkedAsSigninRequiredByAuthor": string; + /** + * ロックダウン + */ + "lockdown": string; + /** + * アカウントを選択してください + */ + "pleaseSelectAccount": string; + /** + * 利用可能なロール + */ + "availableRoles": string; /** * 通報の種類 */ @@ -5150,6 +5262,62 @@ export interface Locale extends ILocale { * 名前を変更 */ "changeUserName": string; + /** + * データ収集とプライバシー設定 + */ + "gtagConsentCustomize": string; + /** + * {host}が収集するデータの範囲をカスタマイズできます。 + * ただし、認証機能、不正行為防止、その他のユーザー保護など、セキュリティに関連する情報の収集は無効化できません。 + */ + "gtagConsentCustomizeDescription": ParameterizedString<"host">; + /** + * 統計情報の収集 + */ + "gtagConsentAnalytics": string; + /** + * サイトの滞在時間など、分析に関連する情報の保存(Cookie など)を有効にします。 + */ + "gtagConsentAnalyticsDescription": string; + /** + * 機能・設定の利用状況の収集 + */ + "gtagConsentFunctionality": string; + /** + * 言語設定など、ウェブサイトやアプリの機能をサポートする情報の保存を有効にします。 + */ + "gtagConsentFunctionalityDescription": string; + /** + * パーソナライズされた情報の収集 + */ + "gtagConsentPersonalization": string; + /** + * おすすめの投稿など、パーソナライズに関連する情報の保存を有効にします。 + */ + "gtagConsentPersonalizationDescription": string; + /** + * Misskeyの明日を作るために、 + * データ収集にご協力ください! + */ + "helpUsImproveUserExperience": string; + /** + * {host}は[プライバシーポリシー]({privacyPolicyUrl})に基づき、サービスの提供・運営・ユーザー体験の向上のためにご利用中のIPアドレス、利用状況、デバイス情報等、個人情報を含む可能性のある情報を収集することがあります。 + * + * 収集されたデータは今後の機能の開発、運営の方針の決定、サービスの改善点の特定に利用されます。 + */ + "pleaseConsentToTracking": ParameterizedString<"host" | "privacyPolicyUrl">; + /** + * 必須項目のみ許可 + */ + "consentEssential": string; + /** + * 全て許可 + */ + "consentAll": string; + /** + * 選択した項目のみ許可 + */ + "consentSelected": string; "_bubbleGame": { /** * 遊び方 @@ -8469,14 +8637,26 @@ export interface Locale extends ILocale { * アプリケーションに戻っています */ "callback": string; + /** + * アクセスを許可しました + */ + "accepted": string; /** * アクセスを拒否しました */ "denied": string; + /** + * 以下のユーザーとして操作しています + */ + "scopeUser": string; /** * アプリケーションにアクセス許可を与えるには、ログインが必要です。 */ "pleaseLogin": string; + /** + * アクセスを許可すると、自動で以下のURLに遷移します + */ + "byClickingYouWillBeRedirectedToThisUrl": string; }; "_antennaSources": { /** @@ -10500,6 +10680,28 @@ export interface Locale extends ILocale { */ "nRequests": ParameterizedString<"n">; }; + "_selfXssPrevention": { + /** + * 警告 + */ + "warning": string; + /** + * 「この画面に何か貼り付けろ」はすべて詐欺です。 + */ + "title": string; + /** + * ここに何かを貼り付けると、悪意のあるユーザーにアカウントを乗っ取られたり、個人情報を盗まれたりする可能性があります。 + */ + "description1": string; + /** + * 貼り付けようとしているものが何なのかを正確に理解していない場合は、%c今すぐ作業を中止してこのウィンドウを閉じてください。 + */ + "description2": string; + /** + * 詳しくはこちらをご確認ください。 {link} + */ + "description3": ParameterizedString<"link">; + }; } declare const locales: { [lang: string]: Locale; diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 1693d9c7b..746854467 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1273,6 +1273,34 @@ keepOriginalFilenameDescription: "この設定をオフにすると、アップ noDescription: "説明文はありません" alwaysConfirmFollow: "フォローの際常に確認する" inquiry: "お問い合わせ" +tryAgain: "もう一度お試しください。" +confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示するとき確認する" +sensitiveMediaRevealConfirm: "センシティブなメディアです。表示しますか?" +createdLists: "作成したリスト" +createdAntennas: "作成したアンテナ" +fromX: "{x}から" +genEmbedCode: "埋め込みコードを生成" +noteOfThisUser: "このユーザーのノート一覧" +clipNoteLimitExceeded: "これ以上このクリップにノートを追加できません。" +performance: "パフォーマンス" +modified: "変更あり" +discard: "破棄" +thereAreNChanges: "{n}件の変更があります" +signinWithPasskey: "パスキーでログイン" +unknownWebAuthnKey: "登録されていないパスキーです。" +passkeyVerificationFailed: "パスキーの検証に失敗しました。" +passkeyVerificationSucceededButPasswordlessLoginDisabled: "パスキーの検証に成功しましたが、パスワードレスログインが無効になっています。" +messageToFollower: "フォロワーへのメッセージ" +target: "対象" +testCaptchaWarning: "CAPTCHAのテストを目的とした機能です。本番環境で使用しないでください。" +prohibitedWordsForNameOfUser: "禁止ワード(ユーザーの名前)" +prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。" +yourNameContainsProhibitedWords: "変更しようとした名前に禁止された文字列が含まれています" +yourNameContainsProhibitedWordsDescription: "名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。" +thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者により、表示にはログインが必要と設定されています" +lockdown: "ロックダウン" +pleaseSelectAccount: "アカウントを選択してください" +availableRoles: "利用可能なロール" abuseReportCategory: "通報の種類" selectCategory: "カテゴリを選択" reportComplete: "通報完了" @@ -1282,6 +1310,19 @@ here: "こちら" mutualLink: "相互リンク" saveThisFile: "このファイルをドライブに保存する" changeUserName: "名前を変更" +gtagConsentCustomize: "データ収集とプライバシー設定" +gtagConsentCustomizeDescription: "{host}が収集するデータの範囲をカスタマイズできます。\nただし、認証機能、不正行為防止、その他のユーザー保護など、セキュリティに関連する情報の収集は無効化できません。" +gtagConsentAnalytics: "統計情報の収集" +gtagConsentAnalyticsDescription: "サイトの滞在時間など、分析に関連する情報の保存(Cookie など)を有効にします。" +gtagConsentFunctionality: "機能・設定の利用状況の収集" +gtagConsentFunctionalityDescription: "言語設定など、ウェブサイトやアプリの機能をサポートする情報の保存を有効にします。" +gtagConsentPersonalization: "パーソナライズされた情報の収集" +gtagConsentPersonalizationDescription: "おすすめの投稿など、パーソナライズに関連する情報の保存を有効にします。" +helpUsImproveUserExperience: "Misskeyの明日を作るために、\nデータ収集にご協力ください!" +pleaseConsentToTracking: "{host}は[プライバシーポリシー]({privacyPolicyUrl})に基づき、サービスの提供・運営・ユーザー体験の向上のためにご利用中のIPアドレス、利用状況、デバイス情報等、個人情報を含む可能性のある情報を収集することがあります。\n\n収集されたデータは今後の機能の開発、運営の方針の決定、サービスの改善点の特定に利用されます。" +consentEssential: "必須項目のみ許可" +consentAll: "全て許可" +consentSelected: "選択した項目のみ許可" _bubbleGame: howToPlay: "遊び方" @@ -2217,8 +2258,11 @@ _auth: permissionAsk: "このアプリは次の権限を要求しています" pleaseGoBack: "アプリケーションに戻ってやっていってください" callback: "アプリケーションに戻っています" + accepted: "アクセスを許可しました" denied: "アクセスを拒否しました" + scopeUser: "以下のユーザーとして操作しています" pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。" + byClickingYouWillBeRedirectedToThisUrl: "アクセスを許可すると、自動で以下のURLに遷移します" _antennaSources: all: "全てのノート" @@ -2790,3 +2834,10 @@ _skebStatus: yenX: "{x}円" nWorks: "納品実績 {n}件" nRequests: "取引実績 {n}件" + +_selfXssPrevention: + warning: "警告" + title: "「この画面に何か貼り付けろ」はすべて詐欺です。" + description1: "ここに何かを貼り付けると、悪意のあるユーザーにアカウントを乗っ取られたり、個人情報を盗まれたりする可能性があります。" + description2: "貼り付けようとしているものが何なのかを正確に理解していない場合は、%c今すぐ作業を中止してこのウィンドウを閉じてください。" + description3: "詳しくはこちらをご確認ください。 {link}" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 0cdfb2d7b..e65ddaea2 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -1262,10 +1262,55 @@ useTotp: "일회용 비밀번호 사용" useBackupCode: "백업 코드 사용" launchApp: "앱 실행" useNativeUIForVideoAudioPlayer: "브라우저 UI에서 미디어 재생" +keepOriginalFilename: "원본 파일 이름을 유지" +keepOriginalFilenameDescription: "이 설정을 끄면 업로드를 할 때 파일 이름이 자동으로 무작위 문자열로 바뀝니다." +noDescription: "설명문이 없습니다" +alwaysConfirmFollow: "팔로우일 때 항상 확인하기" +inquiry: "문의하기" +tryAgain: "다시 시도해 주세요." +confirmWhenRevealingSensitiveMedia: "민감한 미디어를 열 때 두 번 확인" +sensitiveMediaRevealConfirm: "민감한 미디어입니다. 표시할까요?" +createdLists: "만든 리스트" +createdAntennas: "만든 안테나" +fromX: "{x}부터" +genEmbedCode: "임베디드 코드 만들기" +noteOfThisUser: "이 유저의 노트 목록" +clipNoteLimitExceeded: "더 이상 이 클립에 노트를 추가 할 수 없습니다." +performance: "퍼포먼스" +modified: "변경 있음" +discard: "파기" +thereAreNChanges: "{n}건 변경이 있습니다." +signinWithPasskey: "패스키로 로그인" +unknownWebAuthnKey: "등록되지 않은 패스키입니다." +passkeyVerificationFailed: "패스키 검증을 실패했습니다." +passkeyVerificationSucceededButPasswordlessLoginDisabled: "패스키를 검증했으나, 비밀번호 없이 로그인하기가 꺼져 있습니다." +messageToFollower: "팔로워에 보낼 메시지" +target: "대상" +testCaptchaWarning: "CAPTCHA를 테스트하기 위한 기능입니다. 실제 환경에서는 사용하지 마세요." +prohibitedWordsForNameOfUser: "금지 단어 (사용자 이름)" +prohibitedWordsForNameOfUserDescription: "이 목록에 포함되는 키워드가 사용자 이름에 있는 경우, 일반 사용자는 이름을 바꿀 수 없습니다. 모더레이터 권한을 가진 사용자는 제한 대상에서 제외됩니다." +yourNameContainsProhibitedWords: "바꾸려는 이름에 금지된 키워드가 포함되어 있습니다." +yourNameContainsProhibitedWordsDescription: "이름에 금지된 키워드가 있습니다. 이름을 사용해야 하는 경우, 서버 관리자에 문의하세요." +lockdown: "잠금" +pleaseSelectAccount: "계정을 선택해 주세요" here: "여기" mutualLink: "서로링크" saveThisFile: "이 파일을 드라이브에 저장" changeUserName: "이름 변경" +gtagConsentCustomize: "데이터 수집 및 개인정보 설정" +gtagConsentCustomizeDescription: "{host}에서 수집하는 데이터 범위를 사용자 지정할 수 있습니다.\n다만, 인증 기능, 부정 행위 방지, 기타 사용자 보호 등 보안과 관련된 정보 수집은 비활성화할 수 없습니다." +gtagConsentAnalytics: "통계 정보 수집" +gtagConsentAnalyticsDescription: "사이트 체류 시간 등 분석 관련 정보 저장(쿠키 등)을 활성화합니다." +gtagConsentFunctionality: "기능 및 설정 사용 정보 수집" +gtagConsentFunctionalityDescription: "언어 설정 등 웹사이트나 앱의 기능을 지원하는 정보 저장을 활성화합니다." +gtagConsentPersonalization: "개인 맞춤형 정보 수집" +gtagConsentPersonalizationDescription: "추천 게시물 등 개인화 관련 정보 저장을 활성화합니다." +helpUsImproveUserExperience: "Misskey의 미래를 위해,\n데이터 수집에 협조해 주세요!" +pleaseConsentToTracking: "{host}는 [개인정보 처리방침]({privacyPolicyUrl})에 따라 서비스 제공, 운영, 사용자 경험 향상을 위해 사용 중인 IP 주소, 이용 현황, 디바이스 정보 등 개인 정보를 포함할 수 있는 정보를 수집할 수 있습니다.\n\n수집된 데이터는 향후 기능 개발, 운영 방침 결정, 서비스 개선점 파악에 활용됩니다." +consentEssential: "필수 항목만 허용" +consentAll: "모두 허용" +consentSelected: "선택한 항목만 허용" + _bubbleGame: howToPlay: "설명" hold: "홀드" @@ -2152,8 +2197,11 @@ _auth: permissionAsk: "이 앱은 다음의 권한을 요청합니다" pleaseGoBack: "앱으로 돌아가서 시도해 주세요" callback: "앱으로 돌아갑니다" + accepted: "접근이 허가되었습니다" denied: "접근이 거부되었습니다" + scopeUser: "다음 사용자로서 작업 중" pleaseLogin: "어플리케이션의 접근을 허가하려면 로그인하십시오." + byClickingYouWillBeRedirectedToThisUrl: "접근을 허가하면 자동으로 다음 URL로 이동합니다" _antennaSources: all: "모든 노트" homeTimeline: "팔로우중인 유저의 노트" diff --git a/package.json b/package.json index 308412327..e827b9584 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "2024.5.0-io.3d", + "version": "2024.5.0-io.4", "codename": "nasubi", "repository": { "type": "git", @@ -50,7 +50,7 @@ "@tensorflow/tfjs-core": "4.22.0", "chokidar": "4.0.1", "cookie": "1.0.1", - "cookie-signature": "1.2.1", + "cookie-signature": "1.2.2", "debug": "4.3.7", "esbuild": "0.24.0", "lodash": "4.17.21", @@ -59,18 +59,18 @@ }, "dependencies": { "cssnano": "7.0.6", - "execa": "9.4.1", + "execa": "9.5.1", "js-yaml": "4.1.0", "postcss": "8.4.47", "terser": "5.36.0", "typescript": "5.6.3" }, "devDependencies": { - "@types/node": "22.7.8", + "@types/node": "22.9.0", "@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/parser": "7.10.0", "cross-env": "7.0.3", - "cypress": "13.15.0", + "cypress": "13.15.1", "eslint": "8.57.1", "ncp": "2.0.0", "start-server-and-test": "2.0.8" diff --git a/packages/backend/migration/1730629332694-GoogleAnalyticsId.js b/packages/backend/migration/1730629332694-GoogleAnalyticsId.js new file mode 100644 index 000000000..0f8cbf87f --- /dev/null +++ b/packages/backend/migration/1730629332694-GoogleAnalyticsId.js @@ -0,0 +1,11 @@ +export class GoogleAnalyticsId1730629332694 { + name = 'GoogleAnalyticsId1730629332694' + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "googleAnalyticsId" character varying(32)`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "googleAnalyticsId"`); + } +} diff --git a/packages/backend/package.json b/packages/backend/package.json index b067969de..c42cc6d9b 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -34,16 +34,16 @@ "generate-api-json": "pnpm build && bun run ./scripts/generate_api_json.js" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.7.39", - "@swc/core-darwin-x64": "1.7.39", - "@swc/core-linux-arm-gnueabihf": "1.7.39", - "@swc/core-linux-arm64-gnu": "1.7.39", - "@swc/core-linux-arm64-musl": "1.7.39", - "@swc/core-linux-x64-gnu": "1.7.39", - "@swc/core-linux-x64-musl": "1.7.39", - "@swc/core-win32-arm64-msvc": "1.7.39", - "@swc/core-win32-ia32-msvc": "1.7.39", - "@swc/core-win32-x64-msvc": "1.7.39", + "@swc/core-darwin-arm64": "1.8.0", + "@swc/core-darwin-x64": "1.8.0", + "@swc/core-linux-arm-gnueabihf": "1.8.0", + "@swc/core-linux-arm64-gnu": "1.8.0", + "@swc/core-linux-arm64-musl": "1.8.0", + "@swc/core-linux-x64-gnu": "1.8.0", + "@swc/core-linux-x64-musl": "1.8.0", + "@swc/core-win32-arm64-msvc": "1.8.0", + "@swc/core-win32-ia32-msvc": "1.8.0", + "@swc/core-win32-x64-msvc": "1.8.0", "@tensorflow/tfjs": "4.22.0", "@tensorflow/tfjs-node": "4.22.0", "bufferutil": "4.0.8", @@ -60,15 +60,15 @@ "slacc-linux-x64-musl": "0.0.10", "slacc-win32-arm64-msvc": "0.0.10", "slacc-win32-x64-msvc": "0.0.10", - "utf-8-validate": "6.0.4" + "utf-8-validate": "6.0.5" }, "dependencies": { "@authenio/samlify-node-xmllint": "2.0.0", - "@aws-sdk/client-s3": "3.676.0", - "@aws-sdk/lib-storage": "3.676.0", - "@bull-board/api": "6.2.4", - "@bull-board/fastify": "6.2.4", - "@bull-board/ui": "6.2.4", + "@aws-sdk/client-s3": "3.685.0", + "@aws-sdk/lib-storage": "3.685.0", + "@bull-board/api": "6.3.3", + "@bull-board/fastify": "6.3.3", + "@bull-board/ui": "6.3.3", "@discordapp/twemoji": "15.1.0", "@elastic/elasticsearch": "8.15.1", "@fastify/accepts": "5.0.1", @@ -82,16 +82,16 @@ "@fastify/view": "10.0.1", "@misskey-dev/sharp-read-bmp": "1.2.0", "@misskey-dev/summaly": "5.1.0", - "@napi-rs/canvas": "0.1.58", - "@nestjs/common": "10.4.5", - "@nestjs/core": "10.4.5", - "@nestjs/testing": "10.4.5", + "@napi-rs/canvas": "0.1.59", + "@nestjs/common": "10.4.7", + "@nestjs/core": "10.4.7", + "@nestjs/testing": "10.4.7", "@peertube/http-signature": "1.7.0", "@simplewebauthn/server": "11.0.0", "@sinonjs/fake-timers": "11.3.1", "@smithy/node-http-handler": "3.2.5", - "@swc/cli": "0.4.0", - "@swc/core": "1.7.39", + "@swc/cli": "0.5.0", + "@swc/core": "1.8.0", "@twemoji/parser": "15.1.1", "accepts": "1.3.8", "ajv": "8.17.1", @@ -100,9 +100,9 @@ "bcryptjs": "2.4.3", "blurhash": "2.0.5", "body-parser": "1.20.3", - "bullmq": "5.21.2", + "bullmq": "5.24.0", "cacheable-lookup": "7.0.0", - "cbor": "9.0.2", + "cbor": "10.0.2", "chalk": "5.3.0", "chalk-template": "1.1.0", "chokidar": "4.0.1", @@ -118,8 +118,8 @@ "file-type": "19.6.0", "fluent-ffmpeg": "2.1.3", "form-data": "4.0.1", - "got": "14.4.3", - "happy-dom": "15.7.4", + "got": "14.4.4", + "happy-dom": "15.9.0", "hpagent": "1.2.0", "htmlescape": "1.1.1", "http-link-header": "1.1.3", @@ -133,26 +133,26 @@ "json5": "2.2.3", "jsonld": "8.3.2", "jsrsasign": "11.1.0", - "meilisearch": "0.44.1", + "meilisearch": "0.45.0", "mfm-js": "0.24.0", "microformats-parser": "2.0.2", "mime-types": "2.1.35", "misskey-js": "workspace:*", "misskey-reversi": "workspace:*", "ms": "3.0.0-canary.1", - "nanoid": "5.0.7", + "nanoid": "5.0.8", "nested-property": "4.0.0", "node-fetch": "3.3.2", "node-forge": "1.3.1", - "nodemailer": "6.9.15", + "nodemailer": "6.9.16", "nsfwjs": "2.4.2", "oauth": "0.10.0", "oauth2orize": "1.12.0", "oauth2orize-pkce": "0.1.2", "os-utils": "0.0.14", "otpauth": "9.3.4", - "parse5": "7.2.0", - "pg": "8.13.0", + "parse5": "7.2.1", + "pg": "8.13.1", "pino": "9.5.0", "pino-pretty": "11.3.0", "pkce-challenge": "4.1.0", @@ -193,26 +193,26 @@ "devDependencies": { "@jest/globals": "29.7.0", "@misskey-dev/eslint-plugin": "1.0.0", - "@nestjs/platform-express": "10.4.5", + "@nestjs/platform-express": "10.4.7", "@simplewebauthn/types": "11.0.0", - "@swc/jest": "0.2.36", + "@swc/jest": "0.2.37", "@types/accepts": "1.3.7", - "@types/archiver": "6.0.2", + "@types/archiver": "6.0.3", "@types/bcryptjs": "2.4.6", "@types/body-parser": "1.19.5", "@types/color-convert": "2.0.4", "@types/content-disposition": "0.5.8", - "@types/fluent-ffmpeg": "2.1.26", + "@types/fluent-ffmpeg": "2.1.27", "@types/htmlescape": "^1.1.3", "@types/http-link-header": "1.0.7", - "@types/jest": "29.5.13", + "@types/jest": "29.5.14", "@types/js-yaml": "4.0.9", "@types/jsdom": "21.1.7", "@types/jsonld": "1.5.15", "@types/jsrsasign": "10.5.14", "@types/mime-types": "2.1.4", "@types/ms": "0.7.34", - "@types/node": "22.7.8", + "@types/node": "22.9.0", "@types/node-forge": "1.3.11", "@types/nodemailer": "6.4.16", "@types/oauth": "0.9.6", @@ -233,14 +233,14 @@ "@types/tmp": "0.2.6", "@types/vary": "1.1.3", "@types/web-push": "3.6.4", - "@types/ws": "8.5.12", + "@types/ws": "8.5.13", "@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/parser": "7.10.0", "aws-sdk-client-mock": "4.1.0", "cross-env": "7.0.3", "eslint": "8.57.1", "eslint-plugin-import": "2.31.0", - "execa": "9.4.1", + "execa": "9.5.1", "fkill": "^9.0.0", "jest": "29.7.0", "jest-mock": "29.7.0", diff --git a/packages/backend/src/NestLogger.ts b/packages/backend/src/NestLogger.ts index 80f1f7a02..8e03dcd7d 100644 --- a/packages/backend/src/NestLogger.ts +++ b/packages/backend/src/NestLogger.ts @@ -4,10 +4,9 @@ */ import { LoggerService } from '@nestjs/common'; -import Logger from '@/logger.js'; +import { coreLogger } from '@/logger.js'; -const logger = new Logger('core', 'cyan'); -const nestLogger = logger.createSubLogger('nest', 'green', false); +const nestLogger = coreLogger.createSubLogger('nest', 'green', false); export class NestLogger implements LoggerService { /** diff --git a/packages/backend/src/boot/entry.ts b/packages/backend/src/boot/entry.ts index 9acb89929..dbfb53878 100644 --- a/packages/backend/src/boot/entry.ts +++ b/packages/backend/src/boot/entry.ts @@ -12,7 +12,7 @@ import { EventEmitter } from 'node:events'; import process from 'node:process'; import chalk from 'chalk'; import Xev from 'xev'; -import Logger from '@/logger.js'; +import { coreLogger } from '@/logger.js'; import { envOption } from '../env.js'; import { masterMain } from './master.js'; import { workerMain } from './worker.js'; @@ -24,8 +24,7 @@ process.title = `Misskey (${cluster.isPrimary ? 'master' : 'worker'})`; Error.stackTraceLimit = Infinity; EventEmitter.defaultMaxListeners = 128; -const logger = new Logger('core', 'cyan'); -const clusterLogger = logger.createSubLogger('cluster', 'orange', false); +const clusterLogger = coreLogger.createSubLogger('cluster', 'orange', false); const ev = new Xev(); //#region Events @@ -53,12 +52,12 @@ if (cluster.isPrimary && !envOption.disableClustering) { }); process.on('SIGINT', () => { - logger.warn(chalk.yellow('Process received SIGINT')); + coreLogger.warn(chalk.yellow('Process received SIGINT')); isShuttingDown = true; }); process.on('SIGTERM', () => { - logger.warn(chalk.yellow('Process received SIGTERM')); + coreLogger.warn(chalk.yellow('Process received SIGTERM')); isShuttingDown = true; }); } @@ -71,18 +70,18 @@ if (!envOption.quiet) { // Display detail of uncaught exception process.on('uncaughtException', err => { try { - logger.error(`Uncaught exception: ${err.message}`, { error: err }); + coreLogger.error(`Uncaught exception: ${err.message}`, { error: err }); } catch { } }); // Dying away... process.on('exit', code => { - logger.warn(chalk.yellow(`The process is going to exit with code ${code}`)); + coreLogger.warn(chalk.yellow(`The process is going to exit with code ${code}`)); }); process.on('warning', warning => { if ((warning as never)['code'] !== 'MISSKEY_SHUTDOWN') return; - logger.warn(chalk.yellow(`${warning.message}: ${(warning as never)['detail']}`)); + coreLogger.warn(chalk.yellow(`${warning.message}: ${(warning as never)['detail']}`)); for (const id in cluster.workers) cluster.workers[id]?.process.kill('SIGTERM'); process.exit(); }); diff --git a/packages/backend/src/boot/master.ts b/packages/backend/src/boot/master.ts index b442e1aa4..b14a8f4dc 100644 --- a/packages/backend/src/boot/master.ts +++ b/packages/backend/src/boot/master.ts @@ -10,7 +10,7 @@ import * as os from 'node:os'; import cluster from 'node:cluster'; import chalk from 'chalk'; import chalkTemplate from 'chalk-template'; -import Logger from '@/logger.js'; +import { coreLogger } from '@/logger.js'; import { loadConfig } from '@/config.js'; import type { Config } from '@/config.js'; import { showMachineInfo } from '@/misc/show-machine-info.js'; @@ -22,8 +22,7 @@ const _dirname = dirname(_filename); const meta = JSON.parse(fs.readFileSync(`${_dirname}/../../../../built/meta.json`, 'utf-8')); -const logger = new Logger('core', 'cyan'); -const bootLogger = logger.createSubLogger('boot', 'magenta', false); +const bootLogger = coreLogger.createSubLogger('boot', 'magenta', false); const themeColor = chalk.hex('#86b300'); diff --git a/packages/backend/src/core/DriveService.ts b/packages/backend/src/core/DriveService.ts index b15fbeaab..a68fc25ab 100644 --- a/packages/backend/src/core/DriveService.ts +++ b/packages/backend/src/core/DriveService.ts @@ -43,6 +43,7 @@ import { RoleService } from '@/core/RoleService.js'; import { correctFilename } from '@/misc/correct-filename.js'; import { isMimeImage } from '@/misc/is-mime-image.js'; import { ModerationLogService } from '@/core/ModerationLogService.js'; +import { LoggerService } from '@/core/LoggerService.js'; type AddFileArgs = { /** User who wish to add file */ @@ -123,12 +124,13 @@ export class DriveService { private globalEventService: GlobalEventService, private queueService: QueueService, private roleService: RoleService, + private loggerService: LoggerService, private moderationLogService: ModerationLogService, private driveChart: DriveChart, private perUserDriveChart: PerUserDriveChart, private instanceChart: InstanceChart, ) { - const logger = new Logger('drive', 'blue'); + const logger = this.loggerService.getLogger('drive', 'blue'); this.registerLogger = logger.createSubLogger('register', 'yellow'); this.downloaderLogger = logger.createSubLogger('downloader'); this.deleteLogger = logger.createSubLogger('delete'); @@ -503,6 +505,12 @@ export class DriveService { if (much) { this.registerLogger.info(`file with same hash is found: ${much.id}`); + if (sensitive && !much.isSensitive) { + // The file is federated as sensitive for this time, but was federated as non-sensitive before. + // Therefore, update the file to sensitive. + await this.driveFilesRepository.update({ id: much.id }, { isSensitive: true }); + much.isSensitive = true; + } return much; } } diff --git a/packages/backend/src/core/FetchInstanceMetadataService.ts b/packages/backend/src/core/FetchInstanceMetadataService.ts index ceca6a27d..231e09af1 100644 --- a/packages/backend/src/core/FetchInstanceMetadataService.ts +++ b/packages/backend/src/core/FetchInstanceMetadataService.ts @@ -159,7 +159,7 @@ export class FetchInstanceMetadataService { throw err.statusCode ?? err.message; }); - this.logger.succ(`Successfuly fetched nodeinfo of ${instance.host}`); + this.logger.succ(`Successfully fetched nodeinfo of ${instance.host}`); return info as NodeInfo; } catch (err) { diff --git a/packages/backend/src/core/LoggerService.ts b/packages/backend/src/core/LoggerService.ts index a3d371a30..cd5d097e9 100644 --- a/packages/backend/src/core/LoggerService.ts +++ b/packages/backend/src/core/LoggerService.ts @@ -4,7 +4,7 @@ */ import { Injectable } from '@nestjs/common'; -import Logger from '@/logger.js'; +import { rootLogger } from '@/logger.js'; import { bindThis } from '@/decorators.js'; import type { KEYWORD } from 'color-convert/conversions.js'; @@ -16,6 +16,6 @@ export class LoggerService { @bindThis public getLogger(domain: string, color?: KEYWORD | undefined, store?: boolean) { - return new Logger(domain); + return rootLogger.createSubLogger(domain, color, store); } } diff --git a/packages/backend/src/core/MfmService.ts b/packages/backend/src/core/MfmService.ts index 4e1e8d902..3df8aaef1 100644 --- a/packages/backend/src/core/MfmService.ts +++ b/packages/backend/src/core/MfmService.ts @@ -410,7 +410,7 @@ export class MfmService { mention: (node) => { const a = doc.createElement('a'); const { username, host, acct } = node.props; - const remoteUserInfo = mentionedRemoteUsers.find(remoteUser => remoteUser.username === username && remoteUser.host === host); + const remoteUserInfo = mentionedRemoteUsers.find(remoteUser => remoteUser.username.toLowerCase() === username.toLowerCase() && remoteUser.host?.toLowerCase() === host?.toLowerCase()); a.setAttribute('href', remoteUserInfo ? (remoteUserInfo.url ? remoteUserInfo.url : remoteUserInfo.uri) : `${this.config.url}/${acct}`); a.className = 'u-url mention'; a.textContent = acct; diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts index 66acd6b22..20c7f3e2b 100644 --- a/packages/backend/src/core/NoteCreateService.ts +++ b/packages/backend/src/core/NoteCreateService.ts @@ -257,7 +257,7 @@ export class NoteCreateService implements OnApplicationShutdown { const policies = await this.roleService.getUserPolicies(user.id); if (!policies.canCreateContent) { - this.logger.error('Request rejected because user has no permission to create content', { user: user.id, note: data }); + this.logger.error('Request rejected because user has no permission to create content', { userId: user.id, note: data }); throw new IdentifiableError('5b1c2b67-50a6-4a8a-a59c-0ede40890de3', 'User has no permission to create content.'); } @@ -265,7 +265,7 @@ export class NoteCreateService implements OnApplicationShutdown { const sensitiveWords = meta.sensitiveWords; if (this.utilityService.isKeyWordIncluded(data.cw ?? this.utilityService.concatNoteContentsForKeyWordCheck({ text: data.text, pollChoices: data.poll?.choices }), sensitiveWords)) { data.visibility = 'home'; - this.logger.warn('Visibility changed to home because sensitive words are included', { user: user.id, note: data }); + this.logger.warn('Visibility changed to home because sensitive words are included', { userId: user.id, note: data }); } else if (!policies.canPublicNote) { data.visibility = 'home'; } @@ -281,7 +281,7 @@ export class NoteCreateService implements OnApplicationShutdown { ); if (hasProhibitedWords) { - this.logger.error('Request rejected because prohibited words are included', { user: user.id, note: data }); + this.logger.error('Request rejected because prohibited words are included', { userId: user.id, note: data }); throw new IdentifiableError('689ee33f-f97c-479a-ac49-1b9f8140af99', 'Notes including prohibited words are not allowed.'); } @@ -384,7 +384,7 @@ export class NoteCreateService implements OnApplicationShutdown { if (process.env.MISSKEY_BLOCK_MENTIONS_FROM_UNFAMILIAR_REMOTE_USERS === 'true' && user.host !== null && willCauseNotification) { const userEntity = await this.usersRepository.findOneBy({ id: user.id }); if ((userEntity?.followersCount ?? 0) === 0) { - this.logger.error('Request rejected because user has no local followers', { user: user.id, note: data }); + this.logger.error('Request rejected because user has no local followers', { userId: user.id, note: data }); throw new IdentifiableError('e11b3a16-f543-4885-8eb1-66cad131dbfd', 'Notes including mentions, replies, or renotes from remote users are not allowed until user has at least one local follower.'); } } @@ -396,7 +396,7 @@ export class NoteCreateService implements OnApplicationShutdown { || (data.visibility === 'specified' && data.visibleUsers?.some(u => u.id !== user.id)) || (this.isQuote(data) && data.renote.userId !== user.id) ) { - this.logger.error('Request rejected because user has no permission to initiate conversation', { user: user.id, note: data }); + this.logger.error('Request rejected because user has no permission to initiate conversation', { userId: user.id, note: data }); throw new IdentifiableError('332dd91b-6a00-430a-ac39-620cf60ad34b', 'Notes including mentions, replies, or renotes are not allowed.'); } } diff --git a/packages/backend/src/core/UserBlockingService.ts b/packages/backend/src/core/UserBlockingService.ts index 96f389b54..9ab2c0271 100644 --- a/packages/backend/src/core/UserBlockingService.ts +++ b/packages/backend/src/core/UserBlockingService.ts @@ -50,7 +50,7 @@ export class UserBlockingService implements OnModuleInit { private apRendererService: ApRendererService, private loggerService: LoggerService, ) { - this.logger = this.loggerService.getLogger('user-block'); + this.logger = this.loggerService.getLogger('user:block'); } onModuleInit() { diff --git a/packages/backend/src/core/UserFollowingService.ts b/packages/backend/src/core/UserFollowingService.ts index 5949c70a5..753eb3592 100644 --- a/packages/backend/src/core/UserFollowingService.ts +++ b/packages/backend/src/core/UserFollowingService.ts @@ -30,9 +30,8 @@ import { AccountMoveService } from '@/core/AccountMoveService.js'; import { UtilityService } from '@/core/UtilityService.js'; import { FanoutTimelineService } from '@/core/FanoutTimelineService.js'; import type { ThinUser } from '@/queue/types.js'; -import Logger from '../logger.js'; - -const logger = new Logger('following/create'); +import { LoggerService } from '@/core/LoggerService.js'; +import Logger from '@/logger.js'; type Local = MiLocalUser | { id: MiLocalUser['id']; @@ -50,6 +49,7 @@ type Both = Local | Remote; @Injectable() export class UserFollowingService implements OnModuleInit { private userBlockingService: UserBlockingService; + private readonly logger: Logger; constructor( private moduleRef: ModuleRef, @@ -73,6 +73,7 @@ export class UserFollowingService implements OnModuleInit { private instancesRepository: InstancesRepository, private cacheService: CacheService, + private loggerService: LoggerService, private utilityService: UtilityService, private userEntityService: UserEntityService, private idService: IdService, @@ -88,6 +89,7 @@ export class UserFollowingService implements OnModuleInit { private perUserFollowingChart: PerUserFollowingChart, private instanceChart: InstanceChart, ) { + this.logger = this.loggerService.getLogger('user:following'); } onModuleInit() { @@ -255,7 +257,7 @@ export class UserFollowingService implements OnModuleInit { followeeSharedInbox: this.userEntityService.isRemoteUser(followee) ? followee.sharedInbox : null, }).catch(err => { if (isDuplicateKeyValueError(err) && this.userEntityService.isRemoteUser(follower) && this.userEntityService.isLocalUser(followee)) { - logger.info(`Insert duplicated ignore. ${follower.id} => ${followee.id}`); + this.logger.info(`Insert duplicated ignore. ${follower.id} => ${followee.id}`); alreadyFollowed = true; } else { throw err; @@ -378,7 +380,7 @@ export class UserFollowingService implements OnModuleInit { }); if (following === null || !following.follower || !following.followee) { - logger.warn('フォロー解除がリクエストされましたがフォローしていませんでした'); + this.logger.warn('フォロー解除がリクエストされましたがフォローしていませんでした'); return; } diff --git a/packages/backend/src/core/activitypub/ApRequestService.ts b/packages/backend/src/core/activitypub/ApRequestService.ts index 93ac8ce9a..b008a3ec5 100644 --- a/packages/backend/src/core/activitypub/ApRequestService.ts +++ b/packages/backend/src/core/activitypub/ApRequestService.ts @@ -145,8 +145,7 @@ export class ApRequestService { private httpRequestService: HttpRequestService, private loggerService: LoggerService, ) { - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - this.logger = this.loggerService?.getLogger('ap-request'); // なぜか TypeError: Cannot read properties of undefined (reading 'getLogger') と言われる + this.logger = this.loggerService.getLogger('ap:request'); } @bindThis diff --git a/packages/backend/src/core/activitypub/ApResolverService.ts b/packages/backend/src/core/activitypub/ApResolverService.ts index bb3c40f09..fbe32ba18 100644 --- a/packages/backend/src/core/activitypub/ApResolverService.ts +++ b/packages/backend/src/core/activitypub/ApResolverService.ts @@ -45,7 +45,7 @@ export class Resolver { private recursionLimit = 100, ) { this.history = new Set(); - this.logger = this.loggerService.getLogger('ap-resolve'); + this.logger = this.loggerService.getLogger('ap:resolve'); } @bindThis diff --git a/packages/backend/src/core/entities/MetaEntityService.ts b/packages/backend/src/core/entities/MetaEntityService.ts index 7fbde9008..28780b8d4 100644 --- a/packages/backend/src/core/entities/MetaEntityService.ts +++ b/packages/backend/src/core/entities/MetaEntityService.ts @@ -77,6 +77,7 @@ export class MetaEntityService { recaptchaSiteKey: instance.recaptchaSiteKey, enableTurnstile: instance.enableTurnstile, turnstileSiteKey: instance.turnstileSiteKey, + googleAnalyticsId: instance.googleAnalyticsId, swPublickey: instance.swPublicKey, themeColor: instance.themeColor, mascotImageUrl: instance.mascotImageUrl ?? '/assets/ai.png', diff --git a/packages/backend/src/logger.ts b/packages/backend/src/logger.ts index b2ffbea98..1e506596b 100644 --- a/packages/backend/src/logger.ts +++ b/packages/backend/src/logger.ts @@ -22,13 +22,14 @@ const pinoPrettyStream = pinoPretty({ // eslint-disable-next-line import/no-default-export export default class Logger { - private readonly domain: string; - private logger: pino.Logger; + private readonly domain: string | undefined; + private readonly logger: pino.Logger; private context: Record = {}; - constructor(domain: string, _color?: KEYWORD, _store = true, parentLogger?: Logger) { + constructor(domain: string | undefined, _color?: KEYWORD, _store = true, parentLogger?: Logger) { if (parentLogger) { - this.domain = parentLogger.domain + '.' + domain; + this.domain = [parentLogger.domain, domain].filter(x => x).join('.') || undefined; + this.context = { ...JSON.parse(JSON.stringify(parentLogger.context)) }; } else { this.domain = domain; } @@ -50,18 +51,20 @@ export default class Logger { formatters: { level: (label, number) => ({ severity: label, level: number }), }, - mixin: () => ({ cluster: cluster.isPrimary ? 'primary' : `worker#${cluster.worker!.id}`, ...this.context }), + mixin: () => this.mixin(), }, !envOption.logJson ? pinoPrettyStream : undefined); } - @bindThis - public createSubLogger(domain: string, _color?: KEYWORD, _store = true): Logger { - return new Logger(domain, undefined, false, this); + private mixin(): Record { + return { cluster: cluster.isPrimary ? 'primary' : `worker#${cluster.worker!.id}`, ...this.context }; + } + + public createSubLogger(domain?: string, _color?: KEYWORD, _store = true): Logger { + return new Logger(domain, _color, _store, this); } - @bindThis public setContext(context: Record): void { - this.context = context; + this.context = { ...this.context, ...JSON.parse(JSON.stringify(context)) }; } @bindThis @@ -130,3 +133,6 @@ export default class Logger { this.logger.info({ context, important }, message); } } + +export const rootLogger = new Logger(undefined, undefined, false, undefined); +export const coreLogger = rootLogger.createSubLogger('core', 'cyan'); diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts index d346b7afb..649b2c2f9 100644 --- a/packages/backend/src/models/Meta.ts +++ b/packages/backend/src/models/Meta.ts @@ -260,6 +260,12 @@ export class MiMeta { // chaptcha系を追加した際にはnodeinfoのレスポンスに追加するのを忘れないようにすること + @Column('varchar', { + length: 32, + nullable: true, + }) + public googleAnalyticsId: string | null; + @Column('enum', { enum: ['none', 'all', 'local', 'remote'], default: 'none', diff --git a/packages/backend/src/models/Poll.ts b/packages/backend/src/models/Poll.ts index ca985c8b2..b3d33a726 100644 --- a/packages/backend/src/models/Poll.ts +++ b/packages/backend/src/models/Poll.ts @@ -8,7 +8,7 @@ import { noteVisibilities } from '@/types.js'; import { id } from './util/id.js'; import { MiNote } from './Note.js'; import type { MiUser } from './User.js'; -import type { MiChannel } from "@/models/Channel.js"; +import type { MiChannel } from '@/models/Channel.js'; @Entity('poll') export class MiPoll { diff --git a/packages/backend/src/models/json-schema/meta.ts b/packages/backend/src/models/json-schema/meta.ts index bff146114..7314a224d 100644 --- a/packages/backend/src/models/json-schema/meta.ts +++ b/packages/backend/src/models/json-schema/meta.ts @@ -111,6 +111,10 @@ export const packedMetaLiteSchema = { type: 'string', optional: false, nullable: true, }, + googleAnalyticsId: { + type: 'string', + optional: false, nullable: true, + }, swPublickey: { type: 'string', optional: false, nullable: true, diff --git a/packages/backend/src/queue/processors/UserSuspendProcessorService.ts b/packages/backend/src/queue/processors/UserSuspendProcessorService.ts index 9f4c2576a..f2312863b 100644 --- a/packages/backend/src/queue/processors/UserSuspendProcessorService.ts +++ b/packages/backend/src/queue/processors/UserSuspendProcessorService.ts @@ -13,7 +13,7 @@ import type { } from '@/models/_.js'; import { QueueLoggerService } from '@/queue/QueueLoggerService.js'; import type * as Bull from "bullmq"; -import type { DbUserSuspendJobData } from "@/queue/types.js"; +import type { DbUserSuspendJobData } from '@/queue/types.js'; @Injectable() export class UserSuspendProcessorService { diff --git a/packages/backend/src/server/api/SigninApiService.ts b/packages/backend/src/server/api/SigninApiService.ts index 58becdbc3..ed661a1fa 100644 --- a/packages/backend/src/server/api/SigninApiService.ts +++ b/packages/backend/src/server/api/SigninApiService.ts @@ -27,6 +27,7 @@ import { RateLimiterService } from './RateLimiterService.js'; import { SigninService } from './SigninService.js'; import type { AuthenticationResponseJSON } from '@simplewebauthn/types'; import type { FastifyReply, FastifyRequest } from 'fastify'; +import { randomUUID } from 'node:crypto'; @Injectable() export class SigninApiService { @@ -71,7 +72,7 @@ export class SigninApiService { reply: FastifyReply, ) { const logger = this.loggerService.getLogger('api:signin'); - logger.setContext({ username: request.body.username, ip: request.ip, headers: request.headers }); + logger.setContext({ username: request.body.username, ip: request.ip, headers: request.headers, span: request.headers['x-client-transaction-id'] ?? randomUUID() }); logger.info('Requested to sign in.'); reply.header('Access-Control-Allow-Origin', this.config.url); diff --git a/packages/backend/src/server/api/SignupApiService.ts b/packages/backend/src/server/api/SignupApiService.ts index 2b2ece6c4..a0f909d93 100644 --- a/packages/backend/src/server/api/SignupApiService.ts +++ b/packages/backend/src/server/api/SignupApiService.ts @@ -22,6 +22,7 @@ import { L_CHARS, secureRndstr } from '@/misc/secure-rndstr.js'; import { LoggerService } from '@/core/LoggerService.js'; import { SigninService } from './SigninService.js'; import type { FastifyRequest, FastifyReply } from 'fastify'; +import { randomUUID } from 'node:crypto'; @Injectable() export class SignupApiService { @@ -73,7 +74,7 @@ export class SignupApiService { reply: FastifyReply, ) { const logger = this.loggerService.getLogger('api:signup'); - logger.setContext({ username: request.body.username, email: request.body.emailAddress, ip: request.ip, headers: request.headers }); + logger.setContext({ username: request.body.username, email: request.body.emailAddress, ip: request.ip, headers: request.headers, span: request.headers['x-client-transaction-id'] ?? randomUUID() }); logger.info('Requested to create user account.'); const body = request.body; diff --git a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts index fd2130981..87d80cbe8 100644 --- a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts +++ b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts @@ -6,6 +6,7 @@ import { Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { AvatarDecorationService } from '@/core/AvatarDecorationService.js'; +import { IdService } from '@/core/IdService.js'; export const meta = { tags: ['admin'], @@ -13,6 +14,49 @@ export const meta = { requireCredential: true, requireRolePolicy: 'canManageAvatarDecorations', kind: 'write:admin:avatar-decorations', + + res: { + type: 'object', + optional: false, nullable: false, + properties: { + id: { + type: 'string', + optional: false, nullable: false, + format: 'id', + }, + createdAt: { + type: 'string', + optional: false, nullable: false, + format: 'date-time', + }, + updatedAt: { + type: 'string', + optional: false, nullable: true, + format: 'date-time', + }, + name: { + type: 'string', + optional: false, nullable: false, + }, + description: { + type: 'string', + optional: false, nullable: false, + }, + url: { + type: 'string', + optional: false, nullable: false, + }, + roleIdsThatCanBeUsedThisDecoration: { + type: 'array', + optional: false, nullable: false, + items: { + type: 'string', + optional: false, nullable: false, + format: 'id', + }, + }, + }, + }, } as const; export const paramDef = { @@ -32,14 +76,25 @@ export const paramDef = { export default class extends Endpoint { // eslint-disable-line import/no-default-export constructor( private avatarDecorationService: AvatarDecorationService, + private idService: IdService, ) { super(meta, paramDef, async (ps, me) => { - await this.avatarDecorationService.create({ + const created = await this.avatarDecorationService.create({ name: ps.name, description: ps.description, url: ps.url, roleIdsThatCanBeUsedThisDecoration: ps.roleIdsThatCanBeUsedThisDecoration, }, me); + + return { + id: created.id, + createdAt: this.idService.parse(created.id).date.toISOString(), + updatedAt: null, + name: created.name, + description: created.description, + url: created.url, + roleIdsThatCanBeUsedThisDecoration: created.roleIdsThatCanBeUsedThisDecoration, + }; }); } } diff --git a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts index aee90023e..d785f085a 100644 --- a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts +++ b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts @@ -4,10 +4,7 @@ */ import { Inject, Injectable } from '@nestjs/common'; -import type { AnnouncementsRepository, AnnouncementReadsRepository } from '@/models/_.js'; -import type { MiAnnouncement } from '@/models/Announcement.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; -import { QueryService } from '@/core/QueryService.js'; import { DI } from '@/di-symbols.js'; import { IdService } from '@/core/IdService.js'; import { AvatarDecorationService } from '@/core/AvatarDecorationService.js'; diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index 3081faccc..2b9f5c6e3 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -69,6 +69,10 @@ export const meta = { type: 'string', optional: false, nullable: true, }, + googleAnalyticsId: { + type: 'string', + optional: false, nullable: true, + }, swPublickey: { type: 'string', optional: false, nullable: true, @@ -557,6 +561,7 @@ export default class extends Endpoint { // eslint- recaptchaSiteKey: instance.recaptchaSiteKey, enableTurnstile: instance.enableTurnstile, turnstileSiteKey: instance.turnstileSiteKey, + googleAnalyticsId: instance.googleAnalyticsId, swPublickey: instance.swPublicKey, themeColor: instance.themeColor, mascotImageUrl: instance.mascotImageUrl, diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index 9948e06f8..73b20bf42 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -78,6 +78,7 @@ export const paramDef = { enableTurnstile: { type: 'boolean' }, turnstileSiteKey: { type: 'string', nullable: true }, turnstileSecretKey: { type: 'string', nullable: true }, + googleAnalyticsId: { type: 'string', nullable: true }, sensitiveMediaDetection: { type: 'string', enum: ['none', 'all', 'local', 'remote'] }, sensitiveMediaDetectionSensitivity: { type: 'string', enum: ['medium', 'low', 'high', 'veryLow', 'veryHigh'] }, setSensitiveFlagAutomatically: { type: 'boolean' }, @@ -374,6 +375,10 @@ export default class extends Endpoint { // eslint- set.turnstileSecretKey = ps.turnstileSecretKey; } + if (ps.googleAnalyticsId !== undefined) { + set.googleAnalyticsId = ps.googleAnalyticsId; + } + if (ps.sensitiveMediaDetection !== undefined) { set.sensitiveMediaDetection = ps.sensitiveMediaDetection; } diff --git a/packages/backend/src/server/api/endpoints/announcement.ts b/packages/backend/src/server/api/endpoints/announcement.ts index 98b1746ae..1d333c184 100644 --- a/packages/backend/src/server/api/endpoints/announcement.ts +++ b/packages/backend/src/server/api/endpoints/announcement.ts @@ -6,8 +6,8 @@ import { Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { AnnouncementService } from '@/core/AnnouncementService.js'; -import { EntityNotFoundError } from "typeorm"; -import { ApiError } from "../error.js"; +import { EntityNotFoundError } from 'typeorm'; +import { ApiError } from '@/server/api/error.js'; export const meta = { tags: ['meta'], diff --git a/packages/backend/src/server/api/endpoints/federation/instances.ts b/packages/backend/src/server/api/endpoints/federation/instances.ts index 76c785fd9..4ce0f299b 100644 --- a/packages/backend/src/server/api/endpoints/federation/instances.ts +++ b/packages/backend/src/server/api/endpoints/federation/instances.ts @@ -80,7 +80,7 @@ export default class extends Endpoint { // eslint- ) { super(meta, paramDef, async (ps, me, _token, _file, _cleanup, ip, headers) => { const logger = this.loggerService.getLogger('api:federation:instances'); - logger.setContext({ params: ps, user: me?.id, ip, headers }); + logger.setContext({ params: ps, userId: me?.id, ip, headers }); logger.info('Requested to fetch federated instances.'); const query = this.instancesRepository.createQueryBuilder('instance'); diff --git a/packages/backend/src/server/api/endpoints/i.ts b/packages/backend/src/server/api/endpoints/i.ts index 3f4008a06..4d6c60bad 100644 --- a/packages/backend/src/server/api/endpoints/i.ts +++ b/packages/backend/src/server/api/endpoints/i.ts @@ -8,7 +8,9 @@ import type { UserProfilesRepository } from '@/models/_.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { UserEntityService } from '@/core/entities/UserEntityService.js'; import { DI } from '@/di-symbols.js'; -import { ApiError } from '../error.js'; +import { ApiError } from '@/server/api/error.js'; +import { LoggerService } from '@/core/LoggerService.js'; +import { randomUUID } from 'node:crypto'; export const meta = { tags: ['account'], @@ -44,11 +46,16 @@ export default class extends Endpoint { // eslint- @Inject(DI.userProfilesRepository) private userProfilesRepository: UserProfilesRepository, + private loggerService: LoggerService, private userEntityService: UserEntityService, ) { - super(meta, paramDef, async (ps, user, token) => { + super(meta, paramDef, async (ps, user, token, _file, _cleanup, ip, headers) => { const isSecure = token == null; + const logger = this.loggerService.getLogger('api:account:i'); + logger.setContext({ userId: user?.id, username: user?.username, client: isSecure ? 'misskey' : 'app', ip, headers, span: (headers ? headers['x-client-transaction-id'] : undefined) ?? randomUUID() }); + logger.info('Fetching account information'); + const now = new Date(); const today = `${now.getFullYear()}/${now.getMonth() + 1}/${now.getDate()}`; @@ -71,11 +78,18 @@ export default class extends Endpoint { // eslint- userProfile.loggedInDates = [...userProfile.loggedInDates, today]; } - return await this.userEntityService.pack(userProfile.user!, userProfile.user!, { - schema: 'MeDetailed', - includeSecrets: isSecure, - userProfile, - }); + try { + const result = await this.userEntityService.pack(userProfile.user!, userProfile.user!, { + schema: 'MeDetailed', + includeSecrets: isSecure, + userProfile, + }); + logger.info('Returning account information'); + return result; + } catch (error) { + logger.error('Failed to pack user entity', { error }); + throw error; + } }); } } diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts index c055ff3e3..fb3ea38f8 100644 --- a/packages/backend/src/server/api/endpoints/i/update.ts +++ b/packages/backend/src/server/api/endpoints/i/update.ts @@ -33,9 +33,9 @@ import type { Config } from '@/config.js'; import { safeForSql } from '@/misc/safe-for-sql.js'; import { AvatarDecorationService } from '@/core/AvatarDecorationService.js'; import { notificationRecieveConfig } from '@/models/json-schema/user.js'; -import { ApiLoggerService } from '../../ApiLoggerService.js'; -import { ApiError } from '../../error.js'; -import { IdService } from "@/core/IdService.js"; +import { ApiLoggerService } from '@/server/api/ApiLoggerService.js'; +import { ApiError } from '@/server/api/error.js'; +import { IdService } from '@/core/IdService.js'; export const meta = { tags: ['account'], diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts index f6a57d8fe..d5c3ef3b0 100644 --- a/packages/backend/src/server/web/ClientServerService.ts +++ b/packages/backend/src/server/web/ClientServerService.ts @@ -282,7 +282,7 @@ export class ClientServerService { }; const csp = this.config.contentSecurityPolicy ?? 'script-src \'self\' ' + - 'https://challenges.cloudflare.com https://hcaptcha.com https://*.hcaptcha.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://www.recaptcha.net/recaptcha/ {scriptNonce}; ' + + 'https://challenges.cloudflare.com https://hcaptcha.com https://*.hcaptcha.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://www.recaptcha.net/recaptcha/ https://www.googletagmanager.com/ {scriptNonce}; ' + 'worker-src blob: \'self\'; ' + 'base-uri \'self\'; object-src \'self\'; report-uri /csp-error'; reply.header('Content-Security-Policy-Report-Only', csp.replace('{scriptNonce}', `'nonce-${scriptNonce}'`)); @@ -478,7 +478,9 @@ export class ClientServerService { }; // Atom - fastify.get<{ Params: { user: string; } }>('/@:user.atom', async (request, reply) => { + fastify.get<{ Params: { user?: string; } }>('/@:user.atom', async (request, reply) => { + if (request.params.user == null) return await renderBase(reply); + const feed = await getFeed(request.params.user); if (feed) { @@ -491,7 +493,9 @@ export class ClientServerService { }); // RSS - fastify.get<{ Params: { user: string; } }>('/@:user.rss', async (request, reply) => { + fastify.get<{ Params: { user?: string; } }>('/@:user.rss', async (request, reply) => { + if (request.params.user == null) return await renderBase(reply); + const feed = await getFeed(request.params.user); if (feed) { @@ -504,7 +508,9 @@ export class ClientServerService { }); // JSON - fastify.get<{ Params: { user: string; } }>('/@:user.json', async (request, reply) => { + fastify.get<{ Params: { user?: string; } }>('/@:user.json', async (request, reply) => { + if (request.params.user == null) return await renderBase(reply); + const feed = await getFeed(request.params.user); if (feed) { diff --git a/packages/backend/test/unit/chart.ts b/packages/backend/test/unit/chart.ts index 9dedd3a79..d54f5f431 100644 --- a/packages/backend/test/unit/chart.ts +++ b/packages/backend/test/unit/chart.ts @@ -19,7 +19,7 @@ import { entity as TestUniqueChartEntity } from '@/core/chart/charts/entities/te import { entity as TestIntersectionChartEntity } from '@/core/chart/charts/entities/test-intersection.js'; import { loadConfig } from '@/config.js'; import type { AppLockService } from '@/core/AppLockService.js'; -import Logger from '@/logger.js'; +import { coreLogger } from '@/logger.js'; describe('Chart', () => { const config = loadConfig(); @@ -63,7 +63,7 @@ describe('Chart', () => { await db.initialize(); - const logger = new Logger('chart'); // TODO: モックにする + const logger = coreLogger.createSubLogger('chart'); // TODO: モックにする testChart = new TestChart(db, appLockService, logger); testGroupedChart = new TestGroupedChart(db, appLockService, logger); testUniqueChart = new TestUniqueChart(db, appLockService, logger); diff --git a/packages/frontend/@types/vue-gtag.d.ts b/packages/frontend/@types/vue-gtag.d.ts new file mode 100644 index 000000000..4e4b2199f --- /dev/null +++ b/packages/frontend/@types/vue-gtag.d.ts @@ -0,0 +1,14 @@ +declare module 'vue-gtag' { + export type GtagConsent = (command: 'consent', arg: 'default' | 'update', params: GtagConsentParams) => void; + + export interface GtagConsentParams { + ad_storage?: 'granted' | 'denied', + ad_user_data?: 'granted' | 'denied', + ad_personalization?: 'granted' | 'denied', + analytics_storage?: 'granted' | 'denied', + functionality_storage?: 'granted' | 'denied', + personalization_storage?: 'granted' | 'denied', + security_storage?: 'granted' | 'denied', + wait_for_update?: number + } +} diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 2f3f07a48..4a2866fd9 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -25,9 +25,9 @@ "@rollup/plugin-json": "6.1.0", "@rollup/plugin-replace": "6.0.1", "@rollup/plugin-typescript": "12.1.1", - "@rollup/pluginutils": "5.1.2", + "@rollup/pluginutils": "5.1.3", "@syuilo/aiscript": "0.19.0", - "@tabler/icons-webfont": "3.19.0", + "@tabler/icons-webfont": "3.21.0", "@twemoji/parser": "15.1.1", "@vitejs/plugin-vue": "5.1.4", "@vue/compiler-sfc": "3.5.12", @@ -36,12 +36,12 @@ "broadcast-channel": "7.0.0", "buraha": "0.0.1", "canvas-confetti": "1.9.3", - "chart.js": "4.4.5", + "chart.js": "4.4.6", "chartjs-adapter-date-fns": "3.0.0", "chartjs-chart-matrix": "2.0.1", "chartjs-plugin-gradient": "0.6.1", "chartjs-plugin-zoom": "2.0.1", - "chromatic": "11.14.0", + "chromatic": "11.16.5", "compare-versions": "6.1.1", "cropperjs": "2.0.0-rc.0", "date-fns": "4.1.0", @@ -59,85 +59,85 @@ "misskey-reversi": "workspace:*", "photoswipe": "5.4.4", "punycode": "2.3.1", - "rollup": "4.24.0", + "rollup": "4.24.4", "sanitize-html": "2.13.1", - "sass": "1.80.3", - "shiki": "1.22.0", + "sass": "1.80.6", + "shiki": "1.22.2", "strict-event-emitter-types": "2.0.0", "textarea-caret": "3.1.0", - "three": "0.169.0", + "three": "0.170.0", "throttle-debounce": "5.0.2", "tinycolor2": "1.6.0", "tsc-alias": "1.8.10", "tsconfig-paths": "4.2.0", "typescript": "5.6.3", - "uuid": "10.0.0", + "uuid": "11.0.2", "v-code-diff": "1.13.1", - "vite": "5.4.9", + "vite": "5.4.10", "vue": "3.5.12", + "vue-gtag": "2.0.1", "vuedraggable": "next" }, "devDependencies": { "@misskey-dev/eslint-plugin": "1.0.0", "@misskey-dev/summaly": "5.1.0", - "@storybook/addon-actions": "8.3.6", - "@storybook/addon-essentials": "8.3.6", - "@storybook/addon-interactions": "8.3.6", - "@storybook/addon-links": "8.3.6", - "@storybook/addon-mdx-gfm": "8.3.6", - "@storybook/addon-storysource": "8.3.6", - "@storybook/blocks": "8.3.6", - "@storybook/components": "8.3.6", - "@storybook/core-events": "8.3.6", - "@storybook/manager-api": "8.3.6", - "@storybook/preview-api": "8.3.6", - "@storybook/react": "8.3.6", - "@storybook/react-vite": "8.3.6", - "@storybook/test": "8.3.6", - "@storybook/theming": "8.3.6", - "@storybook/types": "8.3.6", - "@storybook/vue3": "8.3.6", - "@storybook/vue3-vite": "8.3.6", + "@storybook/addon-actions": "8.4.2", + "@storybook/addon-essentials": "8.4.2", + "@storybook/addon-interactions": "8.4.2", + "@storybook/addon-links": "8.4.2", + "@storybook/addon-mdx-gfm": "8.4.2", + "@storybook/addon-storysource": "8.4.2", + "@storybook/blocks": "8.4.2", + "@storybook/components": "8.4.2", + "@storybook/core-events": "8.4.2", + "@storybook/manager-api": "8.4.2", + "@storybook/preview-api": "8.4.2", + "@storybook/react": "8.4.2", + "@storybook/react-vite": "8.4.2", + "@storybook/test": "8.4.2", + "@storybook/theming": "8.4.2", + "@storybook/types": "8.4.2", + "@storybook/vue3": "8.4.2", + "@storybook/vue3-vite": "8.4.2", "@testing-library/vue": "8.1.0", "@types/escape-regexp": "0.0.3", "@types/estree": "1.0.6", "@types/matter-js": "0.19.7", "@types/micromatch": "4.0.9", - "@types/node": "22.7.8", + "@types/node": "22.9.0", "@types/punycode": "2.1.4", "@types/sanitize-html": "2.13.0", "@types/throttle-debounce": "5.0.2", "@types/tinycolor2": "1.4.6", - "@types/uuid": "10.0.0", - "@types/ws": "8.5.12", + "@types/ws": "8.5.13", "@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/parser": "7.10.0", - "@vitest/coverage-v8": "2.1.3", + "@vitest/coverage-v8": "2.1.4", "@vue/runtime-core": "3.5.12", - "acorn": "8.13.0", + "acorn": "8.14.0", "cross-env": "7.0.3", - "cypress": "13.15.0", + "cypress": "13.15.1", "eslint": "8.57.1", "eslint-plugin-import": "2.31.0", - "eslint-plugin-vue": "9.29.1", + "eslint-plugin-vue": "9.30.0", "fast-glob": "3.3.2", - "happy-dom": "15.7.4", + "happy-dom": "15.9.0", "intersection-observer": "0.12.2", "micromatch": "4.0.8", - "msw": "2.5.0", - "msw-storybook-addon": "2.0.3", + "msw": "2.6.0", + "msw-storybook-addon": "2.0.4", "nodemon": "3.1.7", "prettier": "3.3.3", "react": "18.3.1", "react-dom": "18.3.1", "start-server-and-test": "2.0.8", - "storybook": "8.3.6", + "storybook": "8.4.2", "storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme", "vite-plugin-turbosnap": "1.0.3", - "vitest": "2.1.3", + "vitest": "2.1.4", "vitest-fetch-mock": "0.3.0", - "vue-component-type-helpers": "2.1.6", + "vue-component-type-helpers": "2.1.10", "vue-eslint-parser": "9.4.3", - "vue-tsc": "2.1.6" + "vue-tsc": "2.1.10" } } diff --git a/packages/frontend/src/_boot_.ts b/packages/frontend/src/_boot_.ts index 875353f8a..b11e42cc3 100644 --- a/packages/frontend/src/_boot_.ts +++ b/packages/frontend/src/_boot_.ts @@ -10,7 +10,7 @@ import '@/style.scss'; import { mainBoot } from '@/boot/main-boot.js'; import { subBoot } from '@/boot/sub-boot.js'; -const subBootPaths = ['/share', '/auth', '/miauth', '/signup-complete']; +const subBootPaths = ['/share', '/auth', '/miauth', '/oauth', '/sso', '/signup-complete']; if (subBootPaths.some(i => location.pathname === i || location.pathname.startsWith(i + '/'))) { subBoot(); diff --git a/packages/frontend/src/account.ts b/packages/frontend/src/account.ts index 7f20e0b1a..c11e6e912 100644 --- a/packages/frontend/src/account.ts +++ b/packages/frontend/src/account.ts @@ -12,8 +12,10 @@ import { MenuButton } from '@/types/menu.js'; import { del, get, set } from '@/scripts/idb-proxy.js'; import { apiUrl } from '@/config.js'; import { waiting, popup, popupMenu, success, alert } from '@/os.js'; -import { misskeyApi } from '@/scripts/misskey-api.js'; +import { generateClientTransactionId, misskeyApi } from '@/scripts/misskey-api.js'; import { unisonReload, reloadChannel } from '@/scripts/unison-reload.js'; +import { set as gtagSet } from 'vue-gtag'; +import { instance } from '@/instance.js'; // TODO: 他のタブと永続化されたstateを同期 @@ -59,6 +61,7 @@ export async function signout() { }), headers: { 'Content-Type': 'application/json', + 'X-Client-Transaction-Id': generateClientTransactionId('misskey'), }, }); } @@ -109,6 +112,7 @@ function fetchAccount(token: string, id?: string, forceShowDialog?: boolean): Pr }), headers: { 'Content-Type': 'application/json', + 'X-Client-Transaction-Id': generateClientTransactionId('misskey'), }, }) .then(res => new Promise }>((done2, fail2) => { @@ -171,6 +175,12 @@ export function updateAccount(accountData: Partial) { $i[key] = value; } miLocalStorage.setItem('account', JSON.stringify($i)); + if (instance.googleAnalyticsId) { + gtagSet({ + 'client_id': miLocalStorage.getItem('id'), + 'user_id': $i.id, + }); + } } export async function refreshAccount() { @@ -222,24 +232,6 @@ export async function openAccountMenu(opts: { }, ev: MouseEvent) { if (!$i) return; - function showSigninDialog() { - popup(defineAsyncComponent(() => import('@/components/MkSigninDialog.vue')), {}, { - done: res => { - addAccount(res.id, res.i); - success(); - }, - }, 'closed'); - } - - function createAccount() { - popup(defineAsyncComponent(() => import('@/components/MkSignupDialog.vue')), {}, { - done: res => { - addAccount(res.id, res.i); - switchAccountWithToken(res.i); - }, - }, 'closed'); - } - async function switchAccount(account: Misskey.entities.UserDetailed) { const storedAccounts = await getAccounts(); const found = storedAccounts.find(x => x.id === account.id); @@ -296,10 +288,22 @@ export async function openAccountMenu(opts: { text: i18n.ts.addAccount, children: [{ text: i18n.ts.existingAccount, - action: () => { showSigninDialog(); }, + action: () => { + getAccountWithSigninDialog().then(res => { + if (res != null) { + success(); + } + }); + }, }, { text: i18n.ts.createAccount, - action: () => { createAccount(); }, + action: () => { + getAccountWithSignupDialog().then(res => { + if (res != null) { + switchAccountWithToken(res.token); + } + }); + }, }], }, { type: 'link' as const, @@ -316,6 +320,40 @@ export async function openAccountMenu(opts: { } } +export function getAccountWithSigninDialog(): Promise<{ id: string, token: string } | null> { + return new Promise((resolve) => { + const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkSigninDialog.vue')), {}, { + done: async (res: Misskey.entities.SigninFlowResponse & { finished: true }) => { + await addAccount(res.id, res.i); + resolve({ id: res.id, token: res.i }); + }, + cancelled: () => { + resolve(null); + }, + closed: () => { + dispose(); + }, + }); + }); +} + +export function getAccountWithSignupDialog(): Promise<{ id: string, token: string } | null> { + return new Promise((resolve) => { + const { dispose } = popup(defineAsyncComponent(() => import('@/components/MkSignupDialog.vue')), {}, { + done: async (res: Misskey.entities.SignupResponse) => { + await addAccount(res.id, res.token); + resolve({ id: res.id, token: res.token }); + }, + cancelled: () => { + resolve(null); + }, + closed: () => { + dispose(); + }, + }); + }); +} + if (_DEV_) { (window as any).$i = $i; } diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 1f459bb86..421619d92 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -11,7 +11,7 @@ import components from '@/components/index.js'; import { version, lang, updateLocale, locale } from '@/config.js'; import { applyTheme } from '@/scripts/theme.js'; import { isDeviceDarkmode } from '@/scripts/is-device-darkmode.js'; -import { updateI18n } from '@/i18n.js'; +import { updateI18n, i18n } from '@/i18n.js'; import { $i, refreshAccount, login } from '@/account.js'; import { defaultStore, ColdDeviceStorage } from '@/store.js'; import { fetchInstance, instance } from '@/instance.js'; @@ -23,6 +23,8 @@ import { deckStore } from '@/ui/deck/deck-store.js'; import { miLocalStorage } from '@/local-storage.js'; import { fetchCustomEmojis } from '@/custom-emojis.js'; import { setupRouter } from '@/router/definition.js'; +import { mainRouter } from '@/router/main.js'; +import VueGtag, { bootstrap as gtagBootstrap, GtagConsent, GtagConsentParams } from 'vue-gtag'; export async function common(createVue: () => App) { console.info(`Misskey v${version}`); @@ -60,6 +62,10 @@ export async function common(createVue: () => App) { }); } + if (miLocalStorage.getItem('id') === null) { + miLocalStorage.setItem('id', crypto.randomUUID()); + } + let isClientUpdated = false; //#region クライアントが更新されたかチェック @@ -260,6 +266,38 @@ export async function common(createVue: () => App) { directives(app); components(app); + if (instance.googleAnalyticsId) { + app.use(VueGtag, { + bootstrap: false, + appName: `Misskey v${version}`, + config: { + id: instance.googleAnalyticsId, + params: { + anonymize_ip: false, + send_page_view: true, + }, + }, + }, mainRouter); + + const gtagConsent = miLocalStorage.getItemAsJson('gtagConsent') as GtagConsentParams ?? { + ad_storage: 'denied', + ad_user_data: 'denied', + ad_personalization: 'denied', + analytics_storage: 'denied', + functionality_storage: 'denied', + personalization_storage: 'denied', + security_storage: 'granted', + }; + miLocalStorage.setItemAsJson('gtagConsent', gtagConsent); + + if (typeof window['gtag'] === 'function') (window['gtag'] as GtagConsent)('consent', 'default', gtagConsent); + + if (miLocalStorage.getItem('gaConsent') === 'true') { + // noinspection ES6MissingAwait + gtagBootstrap(); + } + } + // https://github.com/misskey-dev/misskey/pull/8575#issuecomment-1114239210 // なぜか2回実行されることがあるため、mountするdivを1つに制限する const rootEl = ((): HTMLElement => { @@ -286,6 +324,27 @@ export async function common(createVue: () => App) { removeSplash(); + //#region Self-XSS 対策メッセージ + console.log( + `%c${i18n.ts._selfXssPrevention.warning}`, + 'color: #f00; background-color: #ff0; font-size: 36px; padding: 4px;', + ); + console.log( + `%c${i18n.ts._selfXssPrevention.title}`, + 'color: #f00; font-weight: 900; font-family: "Hiragino Sans W9", "Hiragino Kaku Gothic ProN", sans-serif; font-size: 24px;', + ); + console.log( + `%c${i18n.ts._selfXssPrevention.description1}`, + 'font-size: 16px; font-weight: 700;', + ); + console.log( + `%c${i18n.ts._selfXssPrevention.description2}`, + 'font-size: 16px;', + 'font-size: 20px; font-weight: 700; color: #f00;', + ); + console.log(i18n.tsx._selfXssPrevention.description3({ link: 'https://misskey-hub.net/docs/for-users/resources/self-xss/' })); + //#endregion + return { isClientUpdated, app, diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index 825213d3e..bf91e1d1e 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -20,6 +20,7 @@ import { initializeSw } from '@/scripts/initialize-sw.js'; import { deckStore } from '@/ui/deck/deck-store.js'; import { emojiPicker } from '@/scripts/emoji-picker.js'; import { mainRouter } from '@/router/main.js'; +import { instance } from '@/instance.js'; export async function mainBoot() { const { isClientUpdated } = await common(() => createApp( @@ -234,19 +235,25 @@ export async function mainBoot() { } miLocalStorage.setItem('lastUsed', Date.now().toString()); - const latestDonationInfoShownAt = miLocalStorage.getItem('latestDonationInfoShownAt'); - const neverShowDonationInfo = miLocalStorage.getItem('neverShowDonationInfo'); - if (neverShowDonationInfo !== 'true' && (createdAt.getTime() < (Date.now() - (1000 * 60 * 60 * 24 * 3))) && !location.pathname.startsWith('/miauth')) { - if (latestDonationInfoShownAt == null || (new Date(latestDonationInfoShownAt).getTime() < (Date.now() - (1000 * 60 * 60 * 24 * 30)))) { - popup(defineAsyncComponent(() => import('@/components/MkDonation.vue')), {}, {}, 'closed'); + if (!location.pathname.startsWith('/miauth') && !location.pathname.startsWith('/sso') && !location.pathname.startsWith('/oauth')) { + const latestDonationInfoShownAt = miLocalStorage.getItem('latestDonationInfoShownAt'); + const neverShowDonationInfo = miLocalStorage.getItem('neverShowDonationInfo'); + if (neverShowDonationInfo !== 'true' && (createdAt.getTime() < (Date.now() - (1000 * 60 * 60 * 24 * 3)))) { + if (latestDonationInfoShownAt == null || (new Date(latestDonationInfoShownAt).getTime() < (Date.now() - (1000 * 60 * 60 * 24 * 30)))) { + popup(defineAsyncComponent(() => import('@/components/MkDonation.vue')), {}, {}, 'closed'); + } + } + + // const modifiedVersionMustProminentlyOfferInAgplV3Section13Read = miLocalStorage.getItem('modifiedVersionMustProminentlyOfferInAgplV3Section13Read'); + // if (modifiedVersionMustProminentlyOfferInAgplV3Section13Read !== 'true' && instance.repositoryUrl !== 'https://github.com/misskey-dev/misskey') { + // popup(defineAsyncComponent(() => import('@/components/MkSourceCodeAvailablePopup.vue')), {}, {}, 'closed'); + // } + + if (instance.googleAnalyticsId && miLocalStorage.getItem('gaConsent') === null) { + popup(defineAsyncComponent(() => import('@/components/MkTrackingConsent.vue')), {}, {}, 'closed'); } } - // const modifiedVersionMustProminentlyOfferInAgplV3Section13Read = miLocalStorage.getItem('modifiedVersionMustProminentlyOfferInAgplV3Section13Read'); - // if (modifiedVersionMustProminentlyOfferInAgplV3Section13Read !== 'true' && instance.repositoryUrl !== 'https://github.com/misskey-dev/misskey') { - // popup(defineAsyncComponent(() => import('@/components/MkSourceCodeAvailablePopup.vue')), {}, {}, 'closed'); - // } - if ('Notification' in window) { // 許可を得ていなかったらリクエスト if (Notification.permission === 'default') { diff --git a/packages/frontend/src/components/MkAuthConfirm.stories.impl.ts b/packages/frontend/src/components/MkAuthConfirm.stories.impl.ts new file mode 100644 index 000000000..0adc44e20 --- /dev/null +++ b/packages/frontend/src/components/MkAuthConfirm.stories.impl.ts @@ -0,0 +1,7 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import MkAuthConfirm from './MkAuthConfirm.vue'; +void MkAuthConfirm; diff --git a/packages/frontend/src/components/MkAuthConfirm.vue b/packages/frontend/src/components/MkAuthConfirm.vue new file mode 100644 index 000000000..a6e9005f7 --- /dev/null +++ b/packages/frontend/src/components/MkAuthConfirm.vue @@ -0,0 +1,450 @@ + + + + + + + diff --git a/packages/frontend/src/components/MkModalWindow.vue b/packages/frontend/src/components/MkModalWindow.vue index 935461be9..233c52e6e 100644 --- a/packages/frontend/src/components/MkModalWindow.vue +++ b/packages/frontend/src/components/MkModalWindow.vue @@ -26,12 +26,12 @@ import { onMounted, onUnmounted, shallowRef, ref } from 'vue'; import MkModal from './MkModal.vue'; const props = withDefaults(defineProps<{ - withOkButton: boolean; - withCloseButton: boolean; - okButtonDisabled: boolean; - escKeyDisabled: boolean; - width: number; - height: number; + withOkButton?: boolean; + withCloseButton?: boolean; + okButtonDisabled?: boolean; + escKeyDisabled?: boolean; + width?: number; + height?: number; }>(), { withOkButton: false, withCloseButton: true, diff --git a/packages/frontend/src/components/MkSignupDialog.vue b/packages/frontend/src/components/MkSignupDialog.vue index 97310d32a..4f75a36fb 100644 --- a/packages/frontend/src/components/MkSignupDialog.vue +++ b/packages/frontend/src/components/MkSignupDialog.vue @@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only ref="dialog" :width="500" :height="600" - @close="dialog?.close()" + @close="onClose" @closed="$emit('closed')" > @@ -22,7 +22,7 @@ SPDX-License-Identifier: AGPL-3.0-only :leaveToClass="$style.transition_x_leaveTo" > diff --git a/packages/frontend/src/pages/avatar-decorations.vue b/packages/frontend/src/pages/avatar-decorations.vue index ad9ec3c4e..a5cafb167 100644 --- a/packages/frontend/src/pages/avatar-decorations.vue +++ b/packages/frontend/src/pages/avatar-decorations.vue @@ -5,78 +5,39 @@ SPDX-License-Identifier: AGPL-3.0-only + + diff --git a/packages/frontend/src/pages/explore.users.vue b/packages/frontend/src/pages/explore.users.vue index 398cb2c3f..de49bb1ab 100644 --- a/packages/frontend/src/pages/explore.users.vue +++ b/packages/frontend/src/pages/explore.users.vue @@ -5,136 +5,26 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/pages/miauth.vue b/packages/frontend/src/pages/miauth.vue index ffaf739ed..611530c77 100644 --- a/packages/frontend/src/pages/miauth.vue +++ b/packages/frontend/src/pages/miauth.vue @@ -4,95 +4,79 @@ SPDX-License-Identifier: AGPL-3.0-only --> diff --git a/packages/frontend/src/pages/oauth.vue b/packages/frontend/src/pages/oauth.vue index 68466dced..b3202e891 100644 --- a/packages/frontend/src/pages/oauth.vue +++ b/packages/frontend/src/pages/oauth.vue @@ -4,40 +4,28 @@ SPDX-License-Identifier: AGPL-3.0-only --> diff --git a/packages/frontend/src/pages/settings/accounts.vue b/packages/frontend/src/pages/settings/accounts.vue index 1182346de..6d9337779 100644 --- a/packages/frontend/src/pages/settings/accounts.vue +++ b/packages/frontend/src/pages/settings/accounts.vue @@ -19,13 +19,13 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue b/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue index ce1d4e48d..a39a7ff26 100644 --- a/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue +++ b/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue @@ -38,7 +38,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.update }} {{ i18n.ts.detach }} - {{ i18n.ts.attach }} + {{ i18n.ts.attach }}
@@ -61,6 +61,7 @@ const props = defineProps<{ id: string; url: string; name: string; + roleIdsThatCanBeUsedThisDecoration: string[]; }; }>(); @@ -83,6 +84,7 @@ const emit = defineEmits<{ const dialog = shallowRef>(); const exceeded = computed(() => ($i.policies.avatarDecorationLimit - $i.avatarDecorations.length) <= 0); +const locked = computed(() => props.decoration.roleIdsThatCanBeUsedThisDecoration.length > 0 && !$i.roles.some(r => props.decoration.roleIdsThatCanBeUsedThisDecoration.includes(r.id))); const angle = ref((props.usingIndex != null ? $i.avatarDecorations[props.usingIndex].angle : null) ?? 0); const flipH = ref((props.usingIndex != null ? $i.avatarDecorations[props.usingIndex].flipH : null) ?? false); const offsetX = ref((props.usingIndex != null ? $i.avatarDecorations[props.usingIndex].offsetX : null) ?? 0); diff --git a/packages/frontend/src/pages/settings/privacy.vue b/packages/frontend/src/pages/settings/privacy.vue index d418be624..5e2955aa3 100644 --- a/packages/frontend/src/pages/settings/privacy.vue +++ b/packages/frontend/src/pages/settings/privacy.vue @@ -68,20 +68,49 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts.keepCw }} + + + + + +
+ {{ i18n.tsx.gtagConsentCustomizeDescription({ host: instance.name ?? host }) }} + + {{ i18n.ts.gtagConsentAnalytics }} + + + + {{ i18n.ts.gtagConsentFunctionality }} + + + + {{ i18n.ts.gtagConsentPersonalization }} + + +
+
+
diff --git a/packages/frontend/src/router/main.ts b/packages/frontend/src/router/main.ts index 7a3fde131..1fb499bd9 100644 --- a/packages/frontend/src/router/main.ts +++ b/packages/frontend/src/router/main.ts @@ -5,7 +5,7 @@ import { ShallowRef } from 'vue'; import { EventEmitter } from 'eventemitter3'; -import { IRouter, Resolved, RouteDef, RouterEvent } from '@/nirax.js'; +import { AfterNavigationHook, IRouter, Resolved, RouteDef, RouterEvent } from '@/nirax.js'; function getMainRouter(): IRouter { const router = mainRouterHolder; @@ -40,6 +40,10 @@ class MainRouterProxy implements IRouter { this.supplier = supplier; } + get options(): { [key: string]: any } { + return {}; + } + get current(): Resolved { return this.supplier().current; } @@ -60,6 +64,10 @@ class MainRouterProxy implements IRouter { this.supplier().navHook = value; } + isReady(): Promise { + return this.supplier().isReady(); + } + getCurrentKey(): string { return this.supplier().getCurrentKey(); } @@ -68,6 +76,10 @@ class MainRouterProxy implements IRouter { return this.supplier().getCurrentPath(); } + afterEach(hook: AfterNavigationHook): AfterNavigationHook | undefined { + return this.supplier().afterEach(hook); + } + push(path: string, flag?: any): void { this.supplier().push(path, flag); } diff --git a/packages/frontend/src/scripts/aiscript/api.ts b/packages/frontend/src/scripts/aiscript/api.ts index 75d862f1f..15d1cfc03 100644 --- a/packages/frontend/src/scripts/aiscript/api.ts +++ b/packages/frontend/src/scripts/aiscript/api.ts @@ -59,7 +59,7 @@ export function createAiScriptEnv(opts) { } const actualToken: string|null = token?.value ?? opts.token ?? null; if (!rateLimiter.hit(ep.value)) return values.ERROR('rate_limited', values.NULL); - return misskeyApi(ep.value, utils.valToJs(param), actualToken).then(res => { + return misskeyApi(ep.value, utils.valToJs(param), actualToken, undefined, 'aiscript').then(res => { return utils.jsToVal(res); }, err => { return values.ERROR('request_failed', utils.jsToVal(err)); diff --git a/packages/frontend/src/scripts/misskey-api.ts b/packages/frontend/src/scripts/misskey-api.ts index 641966bea..05ac1377d 100644 --- a/packages/frontend/src/scripts/misskey-api.ts +++ b/packages/frontend/src/scripts/misskey-api.ts @@ -7,8 +7,39 @@ import * as Misskey from 'misskey-js'; import { ref } from 'vue'; import { apiUrl } from '@/config.js'; import { $i } from '@/account.js'; +import { miLocalStorage } from '@/local-storage.js'; export const pendingApiRequestsCount = ref(0); +let id: string | null = miLocalStorage.getItem('id'); +export function generateClientTransactionId(initiator: string) { + if (id === null) { + id = crypto.randomUUID(); + miLocalStorage.setItem('id', id); + } + + return `${id}-${initiator}-${crypto.randomUUID()}`; +} + +function handleResponse<_ResT>( + resolve: (value: (_ResT | PromiseLike<_ResT>)) => void, + reject: (reason?: any) => void, +): ((value: Response) => (void | PromiseLike)) { + return async (res) => { + if (res.ok && res.status !== 204) { + const body = await res.json(); + resolve(body); + } else if (res.status === 204) { + resolve(undefined as _ResT); // void -> undefined + } else { + // エラー応答で JSON.parse に失敗した場合は HTTP ステータスコードとメッセージを返す + const body = await res + .json() + .catch(() => ({ statusCode: res.status, message: res.statusText })); + reject(typeof body.error === 'object' ? body.error : body); + } + }; +} + // Implements Misskey.api.ApiClient.request export function misskeyApi< ResT = void, @@ -20,6 +51,7 @@ export function misskeyApi< data: P = {} as any, token?: string | null | undefined, signal?: AbortSignal, + initiator: string = 'misskey', ): Promise<_ResT> { if (endpoint.includes('://')) throw new Error('invalid endpoint'); pendingApiRequestsCount.value++; @@ -41,20 +73,10 @@ export function misskeyApi< cache: 'no-cache', headers: { 'Content-Type': 'application/json', + 'X-Client-Transaction-Id': generateClientTransactionId(initiator), }, signal, - }).then(async (res) => { - if (res.ok && res.status !== 204) { - const body = await res.json(); - resolve(body); - } else if (res.status === 204) { - resolve(undefined as _ResT); // void -> undefined - } else { - // エラー応答で JSON.parse に失敗した場合は HTTP ステータスコードとメッセージを返す - const body = await res.json().catch(() => ({ statusCode: res.status, message: res.statusText })); - reject(typeof body.error === 'object' ? body.error : body); - } - }).catch(reject); + }).then(handleResponse(resolve, reject)).catch(reject); }); promise.then(onFinally, onFinally); @@ -71,6 +93,7 @@ export function misskeyApiGet< >( endpoint: E, data: P = {} as any, + initiator: string = 'misskey', ): Promise<_ResT> { pendingApiRequestsCount.value++; @@ -86,17 +109,10 @@ export function misskeyApiGet< method: 'GET', credentials: 'omit', cache: 'default', - }).then(async (res) => { - const body = res.status === 204 ? null : await res.json(); - - if (res.status === 200) { - resolve(body); - } else if (res.status === 204) { - resolve(undefined as _ResT); // void -> undefined - } else { - reject(body.error); - } - }).catch(reject); + headers: { + 'X-Client-Transaction-Id': generateClientTransactionId(initiator), + }, + }).then(handleResponse(resolve, reject)).catch(reject); }); promise.then(onFinally, onFinally); diff --git a/packages/frontend/src/scripts/usage-report.ts b/packages/frontend/src/scripts/usage-report.ts new file mode 100644 index 000000000..4ad677da7 --- /dev/null +++ b/packages/frontend/src/scripts/usage-report.ts @@ -0,0 +1,61 @@ +/* eslint-disable id-denylist */ +// buffering usage report data for 1 minute, then sending it to the server +// POST /api/usage [ { t: number, e: string, i: string, a: string } ] +// t: timestamp +// e: event type +// i: event initiator +// a: action + +import { generateClientTransactionId } from '@/scripts/misskey-api.js'; +import { miLocalStorage } from '@/local-storage.js'; +import { GtagConsentParams } from 'vue-gtag'; +import { instance } from '@/instance.js'; + +export interface UsageReport { + t: number; + e: string; + i: string; + a: string; +} + +let disableUsageReport = !instance.googleAnalyticsId; +const usageReportBuffer: UsageReport[] = []; +let usageReportBufferTimer: number | null = null; + +export function usageReport(data: UsageReport) { + if (disableUsageReport) return; + + if (usageReportBuffer.length > 0) { + const last = usageReportBuffer[usageReportBuffer.length - 1]; + if (last.t === data.t && last.e === data.e && last.a === data.a) return; + } + + usageReportBuffer.push(data); + if (usageReportBufferTimer === null) { + usageReportBufferTimer = window.setTimeout(() => { + sendUsageReport(); + }, 60 * 1000); + } +} + +export function sendUsageReport() { + if (usageReportBuffer.length === 0) return; + const data = usageReportBuffer.splice(0, usageReportBuffer.length); + usageReportBufferTimer = null; + + if ((miLocalStorage.getItemAsJson('gtagConsent') as GtagConsentParams)?.ad_user_data !== 'granted') { + console.log('Usage report is not sent because the user has not consented to sharing data about ad interactions.'); + disableUsageReport = true; + return; + } + + window.fetch('/api/usage', { + method: 'POST', + body: JSON.stringify(data), + cache: 'no-cache', + headers: { + 'Content-Type': 'application/json', + 'X-Client-Transaction-Id': generateClientTransactionId('misskey'), + }, + }); +} diff --git a/packages/frontend/vue-shims.d.ts b/packages/frontend/vue-shims.d.ts index eba994772..0aa863e96 100644 --- a/packages/frontend/vue-shims.d.ts +++ b/packages/frontend/vue-shims.d.ts @@ -1,6 +1,6 @@ /* eslint-disable */ declare module "*.vue" { - import { defineComponent } from "vue"; + import { defineComponent } from 'vue'; const component: ReturnType; export default component; } diff --git a/packages/misskey-bubble-game/package.json b/packages/misskey-bubble-game/package.json index a1ca0aeba..96e50bbe2 100644 --- a/packages/misskey-bubble-game/package.json +++ b/packages/misskey-bubble-game/package.json @@ -26,7 +26,7 @@ "devDependencies": { "@misskey-dev/eslint-plugin": "1.0.0", "@types/matter-js": "0.19.7", - "@types/node": "22.7.8", + "@types/node": "22.9.0", "@types/seedrandom": "3.0.8", "@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/parser": "7.10.0", diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md index b76d3517a..8009d2739 100644 --- a/packages/misskey-js/etc/misskey-js.api.md +++ b/packages/misskey-js/etc/misskey-js.api.md @@ -5,6 +5,7 @@ ```ts import { EventEmitter } from 'eventemitter3'; +import _ReconnectingWebsocket from 'reconnecting-websocket'; // Warning: (ae-forgotten-export) The symbol "components" needs to be exported by the entry point index.d.ts // @@ -118,6 +119,9 @@ type AdminAnnouncementsUpdateRequest = operations['admin___announcements___updat // @public (undocumented) type AdminAvatarDecorationsCreateRequest = operations['admin___avatar-decorations___create']['requestBody']['content']['application/json']; +// @public (undocumented) +type AdminAvatarDecorationsCreateResponse = operations['admin___avatar-decorations___create']['responses']['200']['content']['application/json']; + // @public (undocumented) type AdminAvatarDecorationsDeleteRequest = operations['admin___avatar-decorations___delete']['requestBody']['content']['application/json']; @@ -1241,6 +1245,7 @@ declare namespace entities { AdminAbuseReportResolverDeleteRequest, AdminAbuseReportResolverUpdateRequest, AdminAvatarDecorationsCreateRequest, + AdminAvatarDecorationsCreateResponse, AdminAvatarDecorationsDeleteRequest, AdminAvatarDecorationsListRequest, AdminAvatarDecorationsListResponse, @@ -3008,7 +3013,7 @@ export class Stream extends EventEmitter { constructor(origin: string, user: { token: string; } | null, options?: { - WebSocket?: any; + WebSocket?: _ReconnectingWebsocket.Options['WebSocket']; }); // (undocumented) close(): void; diff --git a/packages/misskey-js/generator/package.json b/packages/misskey-js/generator/package.json index 91740b416..9732c2a54 100644 --- a/packages/misskey-js/generator/package.json +++ b/packages/misskey-js/generator/package.json @@ -9,14 +9,14 @@ "devDependencies": { "@misskey-dev/eslint-plugin": "^1.0.0", "@readme/openapi-parser": "2.6.0", - "@types/node": "22.7.8", + "@types/node": "22.9.0", "@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/parser": "7.10.0", "eslint": "8.57.1", "openapi-types": "12.1.3", "openapi-typescript": "6.7.6", "ts-case-convert": "2.1.0", - "tsx": "4.19.1", + "tsx": "4.19.2", "typescript": "5.6.3" }, "files": [ diff --git a/packages/misskey-js/package.json b/packages/misskey-js/package.json index bbb9db928..3d98a9652 100644 --- a/packages/misskey-js/package.json +++ b/packages/misskey-js/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "misskey-js", - "version": "2024.5.0-io.3d", + "version": "2024.5.0-io.4", "description": "Misskey SDK for JavaScript", "types": "./built/dts/index.d.ts", "exports": { @@ -37,9 +37,9 @@ "devDependencies": { "@microsoft/api-extractor": "7.47.11", "@misskey-dev/eslint-plugin": "1.0.0", - "@swc/jest": "0.2.36", - "@types/jest": "29.5.13", - "@types/node": "22.7.8", + "@swc/jest": "0.2.37", + "@types/jest": "29.5.14", + "@types/node": "22.9.0", "@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/parser": "7.10.0", "eslint": "8.57.1", @@ -58,8 +58,8 @@ "built/dts" ], "dependencies": { - "@swc/cli": "0.4.0", - "@swc/core": "1.7.39", + "@swc/cli": "0.5.0", + "@swc/core": "1.8.0", "eventemitter3": "5.0.1", "reconnecting-websocket": "4.4.0" } diff --git a/packages/misskey-js/src/autogen/endpoint.ts b/packages/misskey-js/src/autogen/endpoint.ts index 7024a456f..5bb885681 100644 --- a/packages/misskey-js/src/autogen/endpoint.ts +++ b/packages/misskey-js/src/autogen/endpoint.ts @@ -31,6 +31,7 @@ import type { AdminAbuseReportResolverDeleteRequest, AdminAbuseReportResolverUpdateRequest, AdminAvatarDecorationsCreateRequest, + AdminAvatarDecorationsCreateResponse, AdminAvatarDecorationsDeleteRequest, AdminAvatarDecorationsListRequest, AdminAvatarDecorationsListResponse, @@ -607,7 +608,7 @@ export type Endpoints = { 'admin/abuse-report-resolver/list': { req: AdminAbuseReportResolverListRequest; res: AdminAbuseReportResolverListResponse }; 'admin/abuse-report-resolver/delete': { req: AdminAbuseReportResolverDeleteRequest; res: EmptyResponse }; 'admin/abuse-report-resolver/update': { req: AdminAbuseReportResolverUpdateRequest; res: EmptyResponse }; - 'admin/avatar-decorations/create': { req: AdminAvatarDecorationsCreateRequest; res: EmptyResponse }; + 'admin/avatar-decorations/create': { req: AdminAvatarDecorationsCreateRequest; res: AdminAvatarDecorationsCreateResponse }; 'admin/avatar-decorations/delete': { req: AdminAvatarDecorationsDeleteRequest; res: EmptyResponse }; 'admin/avatar-decorations/list': { req: AdminAvatarDecorationsListRequest; res: AdminAvatarDecorationsListResponse }; 'admin/avatar-decorations/update': { req: AdminAvatarDecorationsUpdateRequest; res: EmptyResponse }; diff --git a/packages/misskey-js/src/autogen/entities.ts b/packages/misskey-js/src/autogen/entities.ts index bfa72c1da..0441ee865 100644 --- a/packages/misskey-js/src/autogen/entities.ts +++ b/packages/misskey-js/src/autogen/entities.ts @@ -34,6 +34,7 @@ export type AdminAbuseReportResolverListResponse = operations['admin___abuse-rep export type AdminAbuseReportResolverDeleteRequest = operations['admin___abuse-report-resolver___delete']['requestBody']['content']['application/json']; export type AdminAbuseReportResolverUpdateRequest = operations['admin___abuse-report-resolver___update']['requestBody']['content']['application/json']; export type AdminAvatarDecorationsCreateRequest = operations['admin___avatar-decorations___create']['requestBody']['content']['application/json']; +export type AdminAvatarDecorationsCreateResponse = operations['admin___avatar-decorations___create']['responses']['200']['content']['application/json']; export type AdminAvatarDecorationsDeleteRequest = operations['admin___avatar-decorations___delete']['requestBody']['content']['application/json']; export type AdminAvatarDecorationsListRequest = operations['admin___avatar-decorations___list']['requestBody']['content']['application/json']; export type AdminAvatarDecorationsListResponse = operations['admin___avatar-decorations___list']['responses']['200']['content']['application/json']; diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index df4e432f1..bf31b09dc 100644 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -5095,6 +5095,7 @@ export type components = { recaptchaSiteKey: string | null; enableTurnstile: boolean; turnstileSiteKey: string | null; + googleAnalyticsId: string | null; swPublickey: string | null; /** @default /assets/ai.png */ mascotImageUrl: string; @@ -5241,6 +5242,7 @@ export type operations = { recaptchaSiteKey: string | null; enableTurnstile: boolean; turnstileSiteKey: string | null; + googleAnalyticsId: string | null; swPublickey: string | null; /** @default /assets/ai.png */ mascotImageUrl: string | null; @@ -6571,9 +6573,22 @@ export type operations = { }; }; responses: { - /** @description OK (without any results) */ - 204: { - content: never; + /** @description OK (with results) */ + 200: { + content: { + 'application/json': { + /** Format: id */ + id: string; + /** Format: date-time */ + createdAt: string; + /** Format: date-time */ + updatedAt: string | null; + name: string; + description: string; + url: string; + roleIdsThatCanBeUsedThisDecoration: string[]; + }; + }; }; /** @description Client error */ 400: { @@ -10053,6 +10068,7 @@ export type operations = { enableTurnstile?: boolean; turnstileSiteKey?: string | null; turnstileSecretKey?: string | null; + googleAnalyticsId?: string | null; /** @enum {string} */ sensitiveMediaDetection?: 'none' | 'all' | 'local' | 'remote'; /** @enum {string} */ diff --git a/packages/misskey-js/src/streaming.ts b/packages/misskey-js/src/streaming.ts index 0f2685778..8016ec2fa 100644 --- a/packages/misskey-js/src/streaming.ts +++ b/packages/misskey-js/src/streaming.ts @@ -34,7 +34,7 @@ export default class Stream extends EventEmitter { private idCounter = 0; constructor(origin: string, user: { token: string; } | null, options?: { - WebSocket?: any; + WebSocket?: _ReconnectingWebsocket.Options['WebSocket']; }) { super(); diff --git a/packages/misskey-reversi/package.json b/packages/misskey-reversi/package.json index 99fd32a11..d2d6356ae 100644 --- a/packages/misskey-reversi/package.json +++ b/packages/misskey-reversi/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@misskey-dev/eslint-plugin": "1.0.0", - "@types/node": "22.7.8", + "@types/node": "22.9.0", "@typescript-eslint/eslint-plugin": "7.10.0", "@typescript-eslint/parser": "7.10.0", "eslint": "8.57.1", diff --git a/packages/sw/package.json b/packages/sw/package.json index 4b3fd9a70..8c855c7d3 100644 --- a/packages/sw/package.json +++ b/packages/sw/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@misskey-dev/eslint-plugin": "1.0.0", - "@types/serviceworker": "0.0.101", + "@types/serviceworker": "0.0.102", "@typescript-eslint/parser": "7.10.0", "eslint": "8.57.1", "eslint-plugin-import": "2.31.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9e6778ca..5c343fc1f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,7 +8,7 @@ overrides: '@tensorflow/tfjs-core': 4.22.0 chokidar: 4.0.1 cookie: 1.0.1 - cookie-signature: 1.2.1 + cookie-signature: 1.2.2 debug: 4.3.7 esbuild: 0.24.0 lodash: 4.17.21 @@ -23,8 +23,8 @@ importers: specifier: 7.0.6 version: 7.0.6(postcss@8.4.47) execa: - specifier: 9.4.1 - version: 9.4.1 + specifier: 9.5.1 + version: 9.5.1 js-yaml: specifier: 4.1.0 version: 4.1.0 @@ -40,11 +40,11 @@ importers: optionalDependencies: '@tensorflow/tfjs-core': specifier: 4.22.0 - version: 4.22.0(encoding@0.1.13) + version: 4.22.0 devDependencies: '@types/node': - specifier: 22.7.8 - version: 22.7.8 + specifier: 22.9.0 + version: 22.9.0 '@typescript-eslint/eslint-plugin': specifier: 7.10.0 version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -55,8 +55,8 @@ importers: specifier: 7.0.3 version: 7.0.3 cypress: - specifier: 13.15.0 - version: 13.15.0 + specifier: 13.15.1 + version: 13.15.1 eslint: specifier: 8.57.1 version: 8.57.1 @@ -73,20 +73,20 @@ importers: specifier: 2.0.0 version: 2.0.0(samlify@2.8.11) '@aws-sdk/client-s3': - specifier: 3.676.0 - version: 3.676.0 + specifier: 3.685.0 + version: 3.685.0 '@aws-sdk/lib-storage': - specifier: 3.676.0 - version: 3.676.0(@aws-sdk/client-s3@3.676.0) + specifier: 3.685.0 + version: 3.685.0(@aws-sdk/client-s3@3.685.0) '@bull-board/api': - specifier: 6.2.4 - version: 6.2.4(@bull-board/ui@6.2.4) + specifier: 6.3.3 + version: 6.3.3(@bull-board/ui@6.3.3) '@bull-board/fastify': - specifier: 6.2.4 - version: 6.2.4 + specifier: 6.3.3 + version: 6.3.3 '@bull-board/ui': - specifier: 6.2.4 - version: 6.2.4 + specifier: 6.3.3 + version: 6.3.3 '@discordapp/twemoji': specifier: 15.1.0 version: 15.1.0 @@ -110,7 +110,7 @@ importers: version: 8.0.1 '@fastify/http-proxy': specifier: 10.0.1 - version: 10.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) + version: 10.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5) '@fastify/multipart': specifier: 9.0.1 version: 9.0.1 @@ -127,23 +127,23 @@ importers: specifier: 5.1.0 version: 5.1.0 '@napi-rs/canvas': - specifier: 0.1.58 - version: 0.1.58 + specifier: 0.1.59 + version: 0.1.59 '@nestjs/common': - specifier: 10.4.5 - version: 10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: 10.4.7 + version: 10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': - specifier: 10.4.5 - version: 10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.5)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) + specifier: 10.4.7 + version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/testing': - specifier: 10.4.5 - version: 10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.5)(@nestjs/platform-express@10.4.5) + specifier: 10.4.7 + version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-express@10.4.7) '@peertube/http-signature': specifier: 1.7.0 version: 1.7.0 '@simplewebauthn/server': specifier: 11.0.0 - version: 11.0.0(encoding@0.1.13) + version: 11.0.0 '@sinonjs/fake-timers': specifier: 11.3.1 version: 11.3.1 @@ -151,11 +151,11 @@ importers: specifier: 3.2.5 version: 3.2.5 '@swc/cli': - specifier: 0.4.0 - version: 0.4.0(@swc/core@1.7.39)(chokidar@4.0.1) + specifier: 0.5.0 + version: 0.5.0(@swc/core@1.8.0)(chokidar@4.0.1) '@swc/core': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@twemoji/parser': specifier: 15.1.1 version: 15.1.1 @@ -181,14 +181,14 @@ importers: specifier: 1.20.3 version: 1.20.3 bullmq: - specifier: 5.21.2 - version: 5.21.2 + specifier: 5.24.0 + version: 5.24.0 cacheable-lookup: specifier: 7.0.0 version: 7.0.0 cbor: - specifier: 9.0.2 - version: 9.0.2 + specifier: 10.0.2 + version: 10.0.2 chalk: specifier: 5.3.0 version: 5.3.0 @@ -235,11 +235,11 @@ importers: specifier: 4.0.1 version: 4.0.1 got: - specifier: 14.4.3 - version: 14.4.3 + specifier: 14.4.4 + version: 14.4.4 happy-dom: - specifier: 15.7.4 - version: 15.7.4 + specifier: 15.9.0 + version: 15.9.0 hpagent: specifier: 1.2.0 version: 1.2.0 @@ -269,7 +269,7 @@ importers: version: 4.1.0 jsdom: specifier: 25.0.1 - version: 25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) + version: 25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5) json5: specifier: 2.2.3 version: 2.2.3 @@ -280,8 +280,8 @@ importers: specifier: 11.1.0 version: 11.1.0 meilisearch: - specifier: 0.44.1 - version: 0.44.1 + specifier: 0.45.0 + version: 0.45.0 mfm-js: specifier: 0.24.0 version: 0.24.0 @@ -301,8 +301,8 @@ importers: specifier: 3.0.0-canary.1 version: 3.0.0-canary.1 nanoid: - specifier: 5.0.7 - version: 5.0.7 + specifier: 5.0.8 + version: 5.0.8 nested-property: specifier: 4.0.0 version: 4.0.0 @@ -313,11 +313,11 @@ importers: specifier: 1.3.1 version: 1.3.1 nodemailer: - specifier: 6.9.15 - version: 6.9.15 + specifier: 6.9.16 + version: 6.9.16 nsfwjs: specifier: 2.4.2 - version: 2.4.2(@tensorflow/tfjs@4.22.0(encoding@0.1.13)(seedrandom@3.0.5)) + version: 2.4.2(@tensorflow/tfjs@4.22.0(seedrandom@3.0.5)) oauth: specifier: 0.10.0 version: 0.10.0 @@ -334,11 +334,11 @@ importers: specifier: 9.3.4 version: 9.3.4 parse5: - specifier: 7.2.0 - version: 7.2.0 + specifier: 7.2.1 + version: 7.2.1 pg: - specifier: 8.13.0 - version: 8.13.0 + specifier: 8.13.1 + version: 8.13.1 pino: specifier: 9.5.0 version: 9.5.0 @@ -425,7 +425,7 @@ importers: version: 4.2.0 typeorm: specifier: 0.3.20 - version: 0.3.20(ioredis@5.4.1)(pg@8.13.0) + version: 0.3.20(ioredis@5.4.1)(pg@8.13.1) typescript: specifier: 5.6.3 version: 5.6.3 @@ -440,7 +440,7 @@ importers: version: 3.6.7 ws: specifier: 8.18.0 - version: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + version: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) xev: specifier: 3.0.2 version: 3.0.2 @@ -449,41 +449,41 @@ importers: version: 15.1.1 optionalDependencies: '@swc/core-darwin-arm64': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-darwin-x64': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-linux-arm-gnueabihf': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-linux-arm64-gnu': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-linux-arm64-musl': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-linux-x64-gnu': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-linux-x64-musl': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-win32-arm64-msvc': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-win32-ia32-msvc': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@swc/core-win32-x64-msvc': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 '@tensorflow/tfjs': specifier: 4.22.0 - version: 4.22.0(encoding@0.1.13)(seedrandom@3.0.5) + version: 4.22.0(seedrandom@3.0.5) '@tensorflow/tfjs-node': specifier: 4.22.0 - version: 4.22.0(encoding@0.1.13)(seedrandom@3.0.5) + version: 4.22.0(seedrandom@3.0.5) bufferutil: specifier: 4.0.8 version: 4.0.8 @@ -527,8 +527,8 @@ importers: specifier: 0.0.10 version: 0.0.10 utf-8-validate: - specifier: 6.0.4 - version: 6.0.4 + specifier: 6.0.5 + version: 6.0.5 devDependencies: '@jest/globals': specifier: 29.7.0 @@ -537,20 +537,20 @@ importers: specifier: 1.0.0 version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) '@nestjs/platform-express': - specifier: 10.4.5 - version: 10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.5) + specifier: 10.4.7 + version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) '@simplewebauthn/types': specifier: 11.0.0 version: 11.0.0 '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.39) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.8.0) '@types/accepts': specifier: 1.3.7 version: 1.3.7 '@types/archiver': - specifier: 6.0.2 - version: 6.0.2 + specifier: 6.0.3 + version: 6.0.3 '@types/bcryptjs': specifier: 2.4.6 version: 2.4.6 @@ -564,8 +564,8 @@ importers: specifier: 0.5.8 version: 0.5.8 '@types/fluent-ffmpeg': - specifier: 2.1.26 - version: 2.1.26 + specifier: 2.1.27 + version: 2.1.27 '@types/htmlescape': specifier: ^1.1.3 version: 1.1.3 @@ -573,8 +573,8 @@ importers: specifier: 1.0.7 version: 1.0.7 '@types/jest': - specifier: 29.5.13 - version: 29.5.13 + specifier: 29.5.14 + version: 29.5.14 '@types/js-yaml': specifier: 4.0.9 version: 4.0.9 @@ -594,8 +594,8 @@ importers: specifier: 0.7.34 version: 0.7.34 '@types/node': - specifier: 22.7.8 - version: 22.7.8 + specifier: 22.9.0 + version: 22.9.0 '@types/node-forge': specifier: 1.3.11 version: 1.3.11 @@ -657,8 +657,8 @@ importers: specifier: 3.6.4 version: 3.6.4 '@types/ws': - specifier: 8.5.12 - version: 8.5.12 + specifier: 8.5.13 + version: 8.5.13 '@typescript-eslint/eslint-plugin': specifier: 7.10.0 version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -678,14 +678,14 @@ importers: specifier: 2.31.0 version: 2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) execa: - specifier: 9.4.1 - version: 9.4.1 + specifier: 9.5.1 + version: 9.5.1 fkill: specifier: ^9.0.0 version: 9.0.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.7.8) + version: 29.7.0(@types/node@22.9.0) jest-mock: specifier: 29.7.0 version: 29.7.0 @@ -718,28 +718,28 @@ importers: version: 2024.1.0 '@rollup/plugin-json': specifier: 6.1.0 - version: 6.1.0(rollup@4.24.0) + version: 6.1.0(rollup@4.24.4) '@rollup/plugin-replace': specifier: 6.0.1 - version: 6.0.1(rollup@4.24.0) + version: 6.0.1(rollup@4.24.4) '@rollup/plugin-typescript': specifier: 12.1.1 - version: 12.1.1(rollup@4.24.0)(tslib@2.8.0)(typescript@5.6.3) + version: 12.1.1(rollup@4.24.4)(tslib@2.8.1)(typescript@5.6.3) '@rollup/pluginutils': - specifier: 5.1.2 - version: 5.1.2(rollup@4.24.0) + specifier: 5.1.3 + version: 5.1.3(rollup@4.24.4) '@syuilo/aiscript': specifier: 0.19.0 version: 0.19.0 '@tabler/icons-webfont': - specifier: 3.19.0 - version: 3.19.0 + specifier: 3.21.0 + version: 3.21.0 '@twemoji/parser': specifier: 15.1.1 version: 15.1.1 '@vitejs/plugin-vue': specifier: 5.1.4 - version: 5.1.4(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + version: 5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-sfc': specifier: 3.5.12 version: 3.5.12 @@ -759,23 +759,23 @@ importers: specifier: 1.9.3 version: 1.9.3 chart.js: - specifier: 4.4.5 - version: 4.4.5 + specifier: 4.4.6 + version: 4.4.6 chartjs-adapter-date-fns: specifier: 3.0.0 - version: 3.0.0(chart.js@4.4.5)(date-fns@4.1.0) + version: 3.0.0(chart.js@4.4.6)(date-fns@4.1.0) chartjs-chart-matrix: specifier: 2.0.1 - version: 2.0.1(chart.js@4.4.5) + version: 2.0.1(chart.js@4.4.6) chartjs-plugin-gradient: specifier: 0.6.1 - version: 0.6.1(chart.js@4.4.5) + version: 0.6.1(chart.js@4.4.6) chartjs-plugin-zoom: specifier: 2.0.1 - version: 2.0.1(chart.js@4.4.5) + version: 2.0.1(chart.js@4.4.6) chromatic: - specifier: 11.14.0 - version: 11.14.0 + specifier: 11.16.5 + version: 11.16.5 compare-versions: specifier: 6.1.1 version: 6.1.1 @@ -828,17 +828,17 @@ importers: specifier: 2.3.1 version: 2.3.1 rollup: - specifier: 4.24.0 - version: 4.24.0 + specifier: 4.24.4 + version: 4.24.4 sanitize-html: specifier: 2.13.1 version: 2.13.1 sass: - specifier: 1.80.3 - version: 1.80.3 + specifier: 1.80.6 + version: 1.80.6 shiki: - specifier: 1.22.0 - version: 1.22.0 + specifier: 1.22.2 + version: 1.22.2 strict-event-emitter-types: specifier: 2.0.0 version: 2.0.0 @@ -846,8 +846,8 @@ importers: specifier: 3.1.0 version: 3.1.0 three: - specifier: 0.169.0 - version: 0.169.0 + specifier: 0.170.0 + version: 0.170.0 throttle-debounce: specifier: 5.0.2 version: 5.0.2 @@ -864,17 +864,20 @@ importers: specifier: 5.6.3 version: 5.6.3 uuid: - specifier: 10.0.0 - version: 10.0.0 + specifier: 11.0.2 + version: 11.0.2 v-code-diff: specifier: 1.13.1 version: 1.13.1(vue@3.5.12(typescript@5.6.3)) vite: - specifier: 5.4.9 - version: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) + specifier: 5.4.10 + version: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) vue: specifier: 3.5.12 version: 3.5.12(typescript@5.6.3) + vue-gtag: + specifier: 2.0.1 + version: 2.0.1(vue@3.5.12(typescript@5.6.3)) vuedraggable: specifier: next version: 4.1.0(vue@3.5.12(typescript@5.6.3)) @@ -886,59 +889,59 @@ importers: specifier: 5.1.0 version: 5.1.0 '@storybook/addon-actions': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/addon-essentials': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(@types/react@18.3.12)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/addon-interactions': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/addon-links': - specifier: 8.3.6 - version: 8.3.6(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/addon-mdx-gfm': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/addon-storysource': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/blocks': - specifier: 8.3.6 - version: 8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/components': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/core-events': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/manager-api': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/preview-api': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/react': - specifier: 8.3.6 - version: 8.3.6(@storybook/test@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.6.3) + specifier: 8.4.2 + version: 8.4.2(@storybook/test@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(typescript@5.6.3) '@storybook/react-vite': - specifier: 8.3.6 - version: 8.3.6(@storybook/test@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.24.0)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)) + specifier: 8.4.2 + version: 8.4.2(@storybook/test@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.24.4)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0)) '@storybook/test': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/theming': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/types': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/vue3': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(vue@3.5.12(typescript@5.6.3)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(vue@3.5.12(typescript@5.6.3)) '@storybook/vue3-vite': - specifier: 8.3.6 - version: 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + specifier: 8.4.2 + version: 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) '@testing-library/vue': specifier: 8.1.0 version: 8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3)) @@ -955,8 +958,8 @@ importers: specifier: 4.0.9 version: 4.0.9 '@types/node': - specifier: 22.7.8 - version: 22.7.8 + specifier: 22.9.0 + version: 22.9.0 '@types/punycode': specifier: 2.1.4 version: 2.1.4 @@ -969,12 +972,9 @@ importers: '@types/tinycolor2': specifier: 1.4.6 version: 1.4.6 - '@types/uuid': - specifier: 10.0.0 - version: 10.0.0 '@types/ws': - specifier: 8.5.12 - version: 8.5.12 + specifier: 8.5.13 + version: 8.5.13 '@typescript-eslint/eslint-plugin': specifier: 7.10.0 version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -982,20 +982,20 @@ importers: specifier: 7.10.0 version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) '@vitest/coverage-v8': - specifier: 2.1.3 - version: 2.1.3(vitest@2.1.3(@types/node@22.7.8)(happy-dom@15.7.4)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(msw@2.5.0(typescript@5.6.3))(sass@1.80.3)(terser@5.36.0)) + specifier: 2.1.4 + version: 2.1.4(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(sass@1.80.6)(terser@5.36.0)) '@vue/runtime-core': specifier: 3.5.12 version: 3.5.12 acorn: - specifier: 8.13.0 - version: 8.13.0 + specifier: 8.14.0 + version: 8.14.0 cross-env: specifier: 7.0.3 version: 7.0.3 cypress: - specifier: 13.15.0 - version: 13.15.0 + specifier: 13.15.1 + version: 13.15.1 eslint: specifier: 8.57.1 version: 8.57.1 @@ -1003,14 +1003,14 @@ importers: specifier: 2.31.0 version: 2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) eslint-plugin-vue: - specifier: 9.29.1 - version: 9.29.1(eslint@8.57.1) + specifier: 9.30.0 + version: 9.30.0(eslint@8.57.1) fast-glob: specifier: 3.3.2 version: 3.3.2 happy-dom: - specifier: 15.7.4 - version: 15.7.4 + specifier: 15.9.0 + version: 15.9.0 intersection-observer: specifier: 0.12.2 version: 0.12.2 @@ -1018,11 +1018,11 @@ importers: specifier: 4.0.8 version: 4.0.8 msw: - specifier: 2.5.0 - version: 2.5.0(typescript@5.6.3) + specifier: 2.6.0 + version: 2.6.0(@types/node@22.9.0)(typescript@5.6.3) msw-storybook-addon: - specifier: 2.0.3 - version: 2.0.3(msw@2.5.0(typescript@5.6.3)) + specifier: 2.0.4 + version: 2.0.4(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3)) nodemon: specifier: 3.1.7 version: 3.1.7 @@ -1039,29 +1039,29 @@ importers: specifier: 2.0.8 version: 2.0.8 storybook: - specifier: 8.3.6 - version: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + specifier: 8.4.2 + version: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) storybook-addon-misskey-theme: specifier: github:misskey-dev/storybook-addon-misskey-theme - version: https://codeload.github.com/misskey-dev/storybook-addon-misskey-theme/tar.gz/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/components@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/core-events@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/manager-api@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/preview-api@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/theming@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/types@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: https://codeload.github.com/misskey-dev/storybook-addon-misskey-theme/tar.gz/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/components@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/core-events@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/manager-api@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/preview-api@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/theming@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/types@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) vite-plugin-turbosnap: specifier: 1.0.3 version: 1.0.3 vitest: - specifier: 2.1.3 - version: 2.1.3(@types/node@22.7.8)(happy-dom@15.7.4)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(msw@2.5.0(typescript@5.6.3))(sass@1.80.3)(terser@5.36.0) + specifier: 2.1.4 + version: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(sass@1.80.6)(terser@5.36.0) vitest-fetch-mock: specifier: 0.3.0 - version: 0.3.0(encoding@0.1.13)(vitest@2.1.3(@types/node@22.7.8)(happy-dom@15.7.4)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(msw@2.5.0(typescript@5.6.3))(sass@1.80.3)(terser@5.36.0)) + version: 0.3.0(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(sass@1.80.6)(terser@5.36.0)) vue-component-type-helpers: - specifier: 2.1.6 - version: 2.1.6 + specifier: 2.1.10 + version: 2.1.10 vue-eslint-parser: specifier: 9.4.3 version: 9.4.3(eslint@8.57.1) vue-tsc: - specifier: 2.1.6 - version: 2.1.6(typescript@5.6.3) + specifier: 2.1.10 + version: 2.1.10(typescript@5.6.3) packages/misskey-bubble-game: dependencies: @@ -1088,8 +1088,8 @@ importers: specifier: 0.19.7 version: 0.19.7 '@types/node': - specifier: 22.7.8 - version: 22.7.8 + specifier: 22.9.0 + version: 22.9.0 '@types/seedrandom': specifier: 3.0.8 version: 3.0.8 @@ -1112,11 +1112,11 @@ importers: packages/misskey-js: dependencies: '@swc/cli': - specifier: 0.4.0 - version: 0.4.0(@swc/core@1.7.39)(chokidar@4.0.1) + specifier: 0.5.0 + version: 0.5.0(@swc/core@1.8.0)(chokidar@4.0.1) '@swc/core': - specifier: 1.7.39 - version: 1.7.39 + specifier: 1.8.0 + version: 1.8.0 eventemitter3: specifier: 5.0.1 version: 5.0.1 @@ -1126,19 +1126,19 @@ importers: devDependencies: '@microsoft/api-extractor': specifier: 7.47.11 - version: 7.47.11(@types/node@22.7.8) + version: 7.47.11(@types/node@22.9.0) '@misskey-dev/eslint-plugin': specifier: 1.0.0 version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) '@swc/jest': - specifier: 0.2.36 - version: 0.2.36(@swc/core@1.7.39) + specifier: 0.2.37 + version: 0.2.37(@swc/core@1.8.0) '@types/jest': - specifier: 29.5.13 - version: 29.5.13 + specifier: 29.5.14 + version: 29.5.14 '@types/node': - specifier: 22.7.8 - version: 22.7.8 + specifier: 22.9.0 + version: 22.9.0 '@typescript-eslint/eslint-plugin': specifier: 7.10.0 version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -1150,10 +1150,10 @@ importers: version: 8.57.1 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.7.8) + version: 29.7.0(@types/node@22.9.0) jest-fetch-mock: specifier: 3.0.3 - version: 3.0.3(encoding@0.1.13) + version: 3.0.3 jest-websocket-mock: specifier: 2.5.0 version: 2.5.0 @@ -1182,8 +1182,8 @@ importers: specifier: 2.6.0 version: 2.6.0(openapi-types@12.1.3) '@types/node': - specifier: 22.7.8 - version: 22.7.8 + specifier: 22.9.0 + version: 22.9.0 '@typescript-eslint/eslint-plugin': specifier: 7.10.0 version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -1203,8 +1203,8 @@ importers: specifier: 2.1.0 version: 2.1.0 tsx: - specifier: 4.19.1 - version: 4.19.1 + specifier: 4.19.2 + version: 4.19.2 typescript: specifier: 5.6.3 version: 5.6.3 @@ -1225,8 +1225,8 @@ importers: specifier: 1.0.0 version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) '@types/node': - specifier: 22.7.8 - version: 22.7.8 + specifier: 22.9.0 + version: 22.9.0 '@typescript-eslint/eslint-plugin': specifier: 7.10.0 version: 7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) @@ -1261,8 +1261,8 @@ importers: specifier: 1.0.0 version: 1.0.0(@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1) '@types/serviceworker': - specifier: 0.0.101 - version: 0.0.101 + specifier: 0.0.102 + version: 0.0.102 '@typescript-eslint/parser': specifier: 7.10.0 version: 7.10.0(eslint@8.57.1)(typescript@5.6.3) @@ -1328,141 +1328,141 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.676.0': - resolution: {integrity: sha512-yxhqXkrJGQoRK+Ulbr3CvKzCjVgR97ehzSk6o9inSTun+jh8wBp0CFI/0R3BTH1wPwwdHf34O5H+3qWw2Pa/IQ==} + '@aws-sdk/client-s3@3.685.0': + resolution: {integrity: sha512-ClvMeQHbLhWkpxnVymo4qWS5/yZcPXjorDbSday3joCWYWCSHTO409nWd+jx6eA4MKT/EY/uJ6ZBJRFfByKLuA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sso-oidc@3.675.0': - resolution: {integrity: sha512-4kEcaa2P/BFz+xy5tagbtzM08gbjHXyYqW+n6SJuUFK7N6bZNnA4cu1hVgHcqOqk8Dbwv7fiseGT0x3Hhqjwqg==} + '@aws-sdk/client-sso-oidc@3.682.0': + resolution: {integrity: sha512-ZPZ7Y/r/w3nx/xpPzGSqSQsB090Xk5aZZOH+WBhTDn/pBEuim09BYXCLzvvxb7R7NnuoQdrTJiwimdJAhHl7ZQ==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.675.0 + '@aws-sdk/client-sts': ^3.682.0 - '@aws-sdk/client-sso@3.675.0': - resolution: {integrity: sha512-2goBCEr4acZJ1YJ69eWPTsIfZUbO7enog+lBA5kZShDiwovqzwYSHSlf6OGz4ETs2xT1n7n+QfKY0p+TluTfEw==} + '@aws-sdk/client-sso@3.682.0': + resolution: {integrity: sha512-PYH9RFUMYLFl66HSBq4tIx6fHViMLkhJHTYJoJONpBs+Td+NwVJ895AdLtDsBIhMS0YseCbPpuyjUCJgsUrwUw==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sts@3.675.0': - resolution: {integrity: sha512-zgjyR4GyuONeDGJBKNt9lFJ8HfDX7rpxZZVR7LSXr9lUkjf6vUGgD2k/K4UAoOTWCKKCor6TA562ezGlA8su6Q==} + '@aws-sdk/client-sts@3.682.0': + resolution: {integrity: sha512-xKuo4HksZ+F8m9DOfx/ZuWNhaPuqZFPwwy0xqcBT6sWH7OAuBjv/fnpOTzyQhpVTWddlf+ECtMAMrxjxuOExGQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/core@3.667.0': - resolution: {integrity: sha512-pMcDVI7Tmdsc8R3sDv0Omj/4iRParGY+uJtAfF669WnZfDfaBQaix2Mq7+Mu08vdjqO9K3gicFvjk9S1VLmOKA==} + '@aws-sdk/core@3.679.0': + resolution: {integrity: sha512-CS6PWGX8l4v/xyvX8RtXnBisdCa5+URzKd0L6GvHChype9qKUVxO/Gg6N/y43Hvg7MNWJt9FBPNWIxUB+byJwg==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-env@3.667.0': - resolution: {integrity: sha512-zZbrkkaPc54WXm+QAnpuv0LPNfsts0HPPd+oCECGs7IQRaFsGj187cwvPg9RMWDFZqpm64MdBDoA8OQHsqzYCw==} + '@aws-sdk/credential-provider-env@3.679.0': + resolution: {integrity: sha512-EdlTYbzMm3G7VUNAMxr9S1nC1qUNqhKlAxFU8E7cKsAe8Bp29CD5HAs3POc56AVo9GC4yRIS+/mtlZSmrckzUA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-http@3.667.0': - resolution: {integrity: sha512-sjtybFfERZWiqTY7fswBxKQLvUkiCucOWyqh3IaPo/4nE1PXRnaZCVG0+kRBPrYIxWqiVwytvZzMJy8sVZcG0A==} + '@aws-sdk/credential-provider-http@3.679.0': + resolution: {integrity: sha512-ZoKLubW5DqqV1/2a3TSn+9sSKg0T8SsYMt1JeirnuLJF0mCoYFUaWMyvxxKuxPoqvUsaycxKru4GkpJ10ltNBw==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-ini@3.675.0': - resolution: {integrity: sha512-kCBlC6grpbpCvgowk9T4JHZxJ88VfN0r77bDZClcadFRAKQ8UHyO02zhgFCfUdnU1lNv1mr3ngEcGN7XzJlYWA==} + '@aws-sdk/credential-provider-ini@3.682.0': + resolution: {integrity: sha512-6eqWeHdK6EegAxqDdiCi215nT3QZPwukgWAYuVxNfJ/5m0/P7fAzF+D5kKVgByUvGJEbq/FEL8Fw7OBe64AA+g==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.675.0 + '@aws-sdk/client-sts': ^3.682.0 - '@aws-sdk/credential-provider-node@3.675.0': - resolution: {integrity: sha512-VO1WVZCDmAYu4sY/6qIBzdm5vJTxLhWKJWvL5kVFfSe8WiNNoHlTqYYUK9vAm/JYpIgFLTefPbIc5W4MK7o6Pg==} + '@aws-sdk/credential-provider-node@3.682.0': + resolution: {integrity: sha512-HSmDqZcBVZrTctHCT9m++vdlDfJ1ARI218qmZa+TZzzOFNpKWy6QyHMEra45GB9GnkkMmV6unoDSPMuN0AqcMg==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-process@3.667.0': - resolution: {integrity: sha512-HZHnvop32fKgsNHkdhVaul7UzQ25sEc0j9yqA4bjhtbk0ECl42kj3f1pJ+ZU/YD9ut8lMJs/vVqiOdNThVdeBw==} + '@aws-sdk/credential-provider-process@3.679.0': + resolution: {integrity: sha512-u/p4TV8kQ0zJWDdZD4+vdQFTMhkDEJFws040Gm113VHa/Xo1SYOjbpvqeuFoz6VmM0bLvoOWjxB9MxnSQbwKpQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-sso@3.675.0': - resolution: {integrity: sha512-p/EE2c0ebSgRhg1Fe1OH2+xNl7j1P4DTc7kZy1mX1NJ72fkqnGgBuf1vk5J9RmiRpbauPNMlm+xohjkGS7iodA==} + '@aws-sdk/credential-provider-sso@3.682.0': + resolution: {integrity: sha512-h7IH1VsWgV6YAJSWWV6y8uaRjGqLY3iBpGZlXuTH/c236NMLaNv+WqCBLeBxkFGUb2WeQ+FUPEJDCD69rgLIkg==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-web-identity@3.667.0': - resolution: {integrity: sha512-t8CFlZMD/1p/8Cli3rvRiTJpjr/8BO64gw166AHgFZYSN2h95L2l1tcW0jpsc3PprA32nLg1iQVKYt4WGM4ugw==} + '@aws-sdk/credential-provider-web-identity@3.679.0': + resolution: {integrity: sha512-a74tLccVznXCaBefWPSysUcLXYJiSkeUmQGtalNgJ1vGkE36W5l/8czFiiowdWdKWz7+x6xf0w+Kjkjlj42Ung==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.667.0 + '@aws-sdk/client-sts': ^3.679.0 - '@aws-sdk/lib-storage@3.676.0': - resolution: {integrity: sha512-PsIGdPvvHR9opKu2l6M9nJBR71WvzIBtXvzprvf6tUbtqPqmkupd37HrB6UexhW9pCisccm24r8r5EO6c/D09Q==} + '@aws-sdk/lib-storage@3.685.0': + resolution: {integrity: sha512-6oGVXmtSr04xzq5XVBHj3yZTWJVfhUElEER5Bg9SrdoWTFRUsjnbOzqOAhYmlrEmEoGTtnZyj7wDI2EY7iCBTQ==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-s3': ^3.676.0 + '@aws-sdk/client-s3': ^3.685.0 - '@aws-sdk/middleware-bucket-endpoint@3.667.0': - resolution: {integrity: sha512-XGz4jMAkDoTyFdtLz7ZF+C05IAhCTC1PllpvTBaj821z/L0ilhbqVhrT/f2Buw8Id/K5A390csGXgusXyrFFjA==} + '@aws-sdk/middleware-bucket-endpoint@3.679.0': + resolution: {integrity: sha512-5EpiPhhGgnF+uJR4DzWUk6Lx3pOn9oM6JGXxeHsiynfoBfq7vHMleq+uABHHSQS+y7XzbyZ7x8tXNQlliMwOsg==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-expect-continue@3.667.0': - resolution: {integrity: sha512-0TiSL9S5DSG95NHGIz6qTMuV7GDKVn8tvvGSrSSZu/wXO3JaYSH0AElVpYfc4PtPRqVpEyNA7nnc7W56mMCLWQ==} + '@aws-sdk/middleware-expect-continue@3.679.0': + resolution: {integrity: sha512-nYsh9PdWrF4EahTRdXHGlNud82RPc508CNGdh1lAGfPU3tNveGfMBX3PcGBtPOse3p9ebNKRWVmUc9eXSjGvHA==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.669.0': - resolution: {integrity: sha512-01UQLoUzVwWMf+b+AEuwJ2lluBD+Cp8AcbyEHqvEaPdjGKHIS4BCvnY70mZYnAfRtL8R2h9tt7iI61oWU3Gjkg==} + '@aws-sdk/middleware-flexible-checksums@3.682.0': + resolution: {integrity: sha512-5u1STth6iZUtAvPDO0NJVYKUX2EYKU7v84MYYaZ3O27HphRjFqDos0keL2KTnHn/KmMD68rM3yiUareWR8hnAQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-host-header@3.667.0': - resolution: {integrity: sha512-Z7fIAMQnPegs7JjAQvlOeWXwpMRfegh5eCoIP6VLJIeR6DLfYKbP35JBtt98R6DXslrN2RsbTogjbxPEDQfw1w==} + '@aws-sdk/middleware-host-header@3.679.0': + resolution: {integrity: sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-location-constraint@3.667.0': - resolution: {integrity: sha512-ob85H3HhT3/u5O+x0o557xGZ78vSNeSSwMaSitxdsfs2hOuoUl1uk+OeLpi1hkuJnL41FPpokV7TVII2XrFfmg==} + '@aws-sdk/middleware-location-constraint@3.679.0': + resolution: {integrity: sha512-SA1C1D3XgoKTGxyNsOqd016ONpk46xJLWDgJUd00Zb21Ox5wYCoY6aDRKiaMRW+1VfCJdezs1Do3XLyIU9KxyA==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-logger@3.667.0': - resolution: {integrity: sha512-PtTRNpNm/5c746jRgZCNg4X9xEJIwggkGJrF0GP9AB1ANg4pc/sF2Fvn1NtqPe9wtQ2stunJprnm5WkCHN7QiA==} + '@aws-sdk/middleware-logger@3.679.0': + resolution: {integrity: sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-recursion-detection@3.667.0': - resolution: {integrity: sha512-U5glWD3ehFohzpUpopLtmqAlDurGWo2wRGPNgi4SwhWU7UDt6LS7E/UvJjqC0CUrjlzOw+my2A+Ncf+fisMhxQ==} + '@aws-sdk/middleware-recursion-detection@3.679.0': + resolution: {integrity: sha512-sQoAZFsQiW/LL3DfKMYwBoGjYDEnMbA9WslWN8xneCmBAwKo6IcSksvYs23PP8XMIoBGe2I2J9BSr654XWygTQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-sdk-s3@3.674.0': - resolution: {integrity: sha512-IvXnWrKy4mO+I44kLYHd6Wlw+FdB4sg1jvHCmnZo1KNaAFIA3x1iXgOaZynKoBdEmol3xfr2uDbeXUQvIwoIgg==} + '@aws-sdk/middleware-sdk-s3@3.685.0': + resolution: {integrity: sha512-C4w92b3A99NbghrA2Ssw6y1RbDF3I3Bgzi2Izh0pXgyIoDiX0xs9bUs/FGYLK4uepYr78DAZY8DwEpzjWIXkSA==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-ssec@3.667.0': - resolution: {integrity: sha512-1wuAUZIkmZIvOmGg5qNQU821CGFHhkuKioxXgNh0DpUxZ9+AeiV7yorJr+bqkb2KBFv1i1TnzGRecvKf/KvZIQ==} + '@aws-sdk/middleware-ssec@3.679.0': + resolution: {integrity: sha512-4GNUxXbs1M71uFHRiCAZtN0/g23ogI9YjMe5isAuYMHXwDB3MhqF7usKf954mBP6tplvN44vYlbJ84faaLrTtg==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-user-agent@3.669.0': - resolution: {integrity: sha512-K8ScPi45zjJrj5Y2gRqVsvKKQCQbvQBfYGcBw9ZOx9TTavH80bOCBjWg/GFnvs4f37tqVc1wMN2oGvcTF6HveQ==} + '@aws-sdk/middleware-user-agent@3.682.0': + resolution: {integrity: sha512-7TyvYR9HdGH1/Nq0eeApUTM4izB6rExiw87khVYuJwZHr6FmvIL1FsOVFro/4WlXa0lg4LiYOm/8H8dHv+fXTg==} engines: {node: '>=16.0.0'} - '@aws-sdk/region-config-resolver@3.667.0': - resolution: {integrity: sha512-iNr+JhhA902JMKHG9IwT9YdaEx6KGl6vjAL5BRNeOjfj4cZYMog6Lz/IlfOAltMtT0w88DAHDEFrBd2uO0l2eg==} + '@aws-sdk/region-config-resolver@3.679.0': + resolution: {integrity: sha512-Ybx54P8Tg6KKq5ck7uwdjiKif7n/8g1x+V0V9uTjBjRWqaIgiqzXwKWoPj6NCNkE7tJNtqI4JrNxp/3S3HvmRw==} engines: {node: '>=16.0.0'} - '@aws-sdk/signature-v4-multi-region@3.674.0': - resolution: {integrity: sha512-VMQWbtcbg4FV/fILrODADV21pPg9AghuEzQlW2kH0hCtacvBwFl7eBxIiCBLLtkNple+CVPJvyBcqOZdBkEv/w==} + '@aws-sdk/signature-v4-multi-region@3.685.0': + resolution: {integrity: sha512-IHLwuAZGqfUWVrNqw0ugnBa7iL8uBP4x6A7bfBDXRXWCWjUCed/1/D//0lKDHwpFkV74fGW6KoBacnWSUlXmwA==} engines: {node: '>=16.0.0'} - '@aws-sdk/token-providers@3.667.0': - resolution: {integrity: sha512-ZecJlG8p6D4UTYlBHwOWX6nknVtw/OBJ3yPXTSajBjhUlj9lE2xvejI8gl4rqkyLXk7z3bki+KR4tATbMaM9yg==} + '@aws-sdk/token-providers@3.679.0': + resolution: {integrity: sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.667.0 + '@aws-sdk/client-sso-oidc': ^3.679.0 - '@aws-sdk/types@3.667.0': - resolution: {integrity: sha512-gYq0xCsqFfQaSL/yT1Gl1vIUjtsg7d7RhnUfsXaHt8xTxOKRTdH9GjbesBjXOzgOvB0W0vfssfreSNGFlOOMJg==} + '@aws-sdk/types@3.679.0': + resolution: {integrity: sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-arn-parser@3.568.0': - resolution: {integrity: sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==} + '@aws-sdk/util-arn-parser@3.679.0': + resolution: {integrity: sha512-CwzEbU8R8rq9bqUFryO50RFBlkfufV9UfMArHPWlo+lmsC+NlSluHQALoj6Jkq3zf5ppn1CN0c1DDLrEqdQUXg==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-endpoints@3.667.0': - resolution: {integrity: sha512-X22SYDAuQJWnkF1/q17pkX3nGw5XMD9YEUbmt87vUnRq7iyJ3JOpl6UKOBeUBaL838wA5yzdbinmCITJ/VZ1QA==} + '@aws-sdk/util-endpoints@3.679.0': + resolution: {integrity: sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-locate-window@3.568.0': - resolution: {integrity: sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==} + '@aws-sdk/util-locate-window@3.679.0': + resolution: {integrity: sha512-zKTd48/ZWrCplkXpYDABI74rQlbR0DNHs8nH95htfSLj9/mWRSwaGptoxwcihaq/77vi/fl2X3y0a1Bo8bt7RA==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-user-agent-browser@3.675.0': - resolution: {integrity: sha512-HW4vGfRiX54RLcsYjLuAhcBBJ6lRVEZd7njfGpAwBB9s7BH8t48vrpYbyA5XbbqbTvXfYBnugQCUw9HWjEa1ww==} + '@aws-sdk/util-user-agent-browser@3.679.0': + resolution: {integrity: sha512-CusSm2bTBG1kFypcsqU8COhnYc6zltobsqs3nRrvYqYaOqtMnuE46K4XTWpnzKgwDejgZGOE+WYyprtAxrPvmQ==} - '@aws-sdk/util-user-agent-node@3.669.0': - resolution: {integrity: sha512-9jxCYrgggy2xd44ZASqI7AMiRVaSiFp+06Kg8BQSU0ijKpBJlwcsqIS8pDT/n6LxuOw2eV5ipvM2C0r1iKzrGA==} + '@aws-sdk/util-user-agent-node@3.682.0': + resolution: {integrity: sha512-so5s+j0gPoTS0HM4HPL+G0ajk0T6cQAg8JXzRgvyiQAxqie+zGCZAV3VuVeMNWMVbzsgZl0pYZaatPFTLG/AxA==} engines: {node: '>=16.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -1470,24 +1470,24 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.662.0': - resolution: {integrity: sha512-ikLkXn0igUpnJu2mCZjklvmcDGWT9OaLRv3JyC/cRkTaaSrblPjPM7KKsltxdMTLQ+v7fjCN0TsJpxphMfaOPA==} + '@aws-sdk/xml-builder@3.679.0': + resolution: {integrity: sha512-nPmhVZb39ty5bcQ7mAwtjezBcsBqTYZ9A2D9v/lE92KCLdu5RhSkPH7O71ZqbZx1mUSg9fAOxHPiG79U5VlpLQ==} engines: {node: '>=16.0.0'} - '@babel/code-frame@7.25.9': - resolution: {integrity: sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.9': - resolution: {integrity: sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==} + '@babel/compat-data@7.26.2': + resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} engines: {node: '>=6.9.0'} - '@babel/core@7.25.9': - resolution: {integrity: sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==} + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.9': - resolution: {integrity: sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==} + '@babel/generator@7.26.2': + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} engines: {node: '>=6.9.0'} '@babel/helper-compilation-targets@7.25.9': @@ -1498,8 +1498,8 @@ packages: resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.9': - resolution: {integrity: sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA==} + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1508,10 +1508,6 @@ packages: resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} engines: {node: '>=6.9.0'} - '@babel/helper-simple-access@7.25.9': - resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.25.9': resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} @@ -1524,16 +1520,12 @@ packages: resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.9': - resolution: {integrity: sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g==} + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.25.9': - resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.25.9': - resolution: {integrity: sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==} + '@babel/parser@7.26.2': + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -1558,8 +1550,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.25.9': - resolution: {integrity: sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg==} + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1632,8 +1624,8 @@ packages: resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.25.9': - resolution: {integrity: sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg==} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} '@babel/template@7.25.9': @@ -1644,29 +1636,26 @@ packages: resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.9': - resolution: {integrity: sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==} + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} - '@base2/pretty-print-object@1.0.1': - resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} - '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@bull-board/api@6.2.4': - resolution: {integrity: sha512-7fQzsRwvZZ+cfcnX7pGoHfXx0kBn/9snRznE7NRPc/4vpg8kPmV5IYlhrwx7so4Im5sR+i8T/TALSHaLSoYONw==} + '@bull-board/api@6.3.3': + resolution: {integrity: sha512-HtdFE53zC0o5QyYR7u0j+R06Iid6USZatai+s4scDlmanLh2/Ic+8zkzMcHGOM8urC2g49EasOMXB5eBXp9lnA==} peerDependencies: - '@bull-board/ui': 6.2.4 + '@bull-board/ui': 6.3.3 - '@bull-board/fastify@6.2.4': - resolution: {integrity: sha512-4H/DytQ+h7TgzsQZVrHjKl4sLBdO0ouakQ2q6vMgnpO6Y7CeyP7SMflN7opcTYC+0kwuyspPcqQN69C86V0yPg==} + '@bull-board/fastify@6.3.3': + resolution: {integrity: sha512-nYPD6mcO7FwuCDHmPXgxLPjUKBeQiJ+agrPbPgGcYGYVmqElOuxYRQ+DMMAUEESRkWFUFgLkLNMzEpD6PlBHCw==} - '@bull-board/ui@6.2.4': - resolution: {integrity: sha512-dMCjNDpUCUxjjp1UWq/QZoH9sAGVhn+Jy16+YmV6GIpNsw4vK5eGn3GjYu2bqftWXNtzvMppGAtmg30LA7/m5w==} + '@bull-board/ui@6.3.3': + resolution: {integrity: sha512-5tEJUQyw0ezTKlG8Kko0S4kVQE0a1OfyUUy7VciiXlVW8D3mvPgm2r628iBB9x/aDJPf6QSu3xyAva49eoROZA==} - '@bundled-es-modules/cookie@2.0.0': - resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} + '@bundled-es-modules/cookie@2.0.1': + resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} '@bundled-es-modules/statuses@1.0.1': resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} @@ -1714,8 +1703,8 @@ packages: '@cropper/utils@2.0.0-rc.2': resolution: {integrity: sha512-EEivNsyV6BtL496m4Q/IeAC6FGlyKjKIT1qMtwaxtkR+2ZlKnf9O7AdcGpClemIBA+TbwWAzp0UyIvYFtKUZ1Q==} - '@cypress/request@3.0.5': - resolution: {integrity: sha512-v+XHd9XmWbufxF1/bTaVm2yhbxY+TB4YtWRqF2zaXBlDNMkls34KiATz0AVDLavL3iB6bQk9/7n3oY1EoLSWGA==} + '@cypress/request@3.0.6': + resolution: {integrity: sha512-fi0eVdCOtKu5Ed6+E8mYxUF6ZTFJDZvHogCBelM0xVXmrDEkyM22gRArQzq1YcHPm1V47Vf/iAD+WgVdUlJCGg==} engines: {node: '>= 6'} '@cypress/xvfb@1.2.4': @@ -1732,8 +1721,8 @@ packages: resolution: {integrity: sha512-L3YzSaxrasMMGtcxnktiUDjS5f177L0zpHsBH+jL0LgPhdMk9xN/VKrAaYzvri86IlV5IbveA0ANV6o/BDUmhQ==} engines: {node: '>=18'} - '@elastic/transport@8.8.1': - resolution: {integrity: sha512-4RQIiChwNIx3B0O+2JdmTq/Qobj6+1g2RQnSv1gt4V2SVfAYjGwOKu0ZMKEHQOXYNG6+j/Chero2G9k3/wXLEw==} + '@elastic/transport@8.9.1': + resolution: {integrity: sha512-jasKNQeOb1vNf9aEYg+8zXmetaFjApDTSCC4QTl6aTixvyiRiSLcCiB8P6Q0lY9JIII/BhqNl8WbpFnsKitntw==} engines: {node: '>=18'} '@emnapi/runtime@1.3.1': @@ -1883,14 +1872,14 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': @@ -1969,8 +1958,8 @@ packages: '@hapi/bourne@3.0.0': resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==} - '@hapi/hoek@11.0.4': - resolution: {integrity: sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ==} + '@hapi/hoek@11.0.6': + resolution: {integrity: sha512-mu8He+jghTDJ+la/uGBT4b1rqQdqFADZiXhzd98b3XW5nb/c+5woXx3FiNco2nm4wPJFHQVRGxYeWeSDPIYpYw==} '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -2106,21 +2095,25 @@ packages: cpu: [x64] os: [win32] - '@inquirer/confirm@4.0.1': - resolution: {integrity: sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==} + '@inquirer/confirm@5.0.1': + resolution: {integrity: sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==} engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' - '@inquirer/core@9.2.1': - resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + '@inquirer/core@10.0.1': + resolution: {integrity: sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==} engines: {node: '>=18'} '@inquirer/figures@1.0.7': resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==} engines: {node: '>=18'} - '@inquirer/type@2.0.0': - resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} + '@inquirer/type@3.0.0': + resolution: {integrity: sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==} engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' '@ioredis/commands@1.2.0': resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} @@ -2338,66 +2331,66 @@ packages: cpu: [x64] os: [win32] - '@mswjs/interceptors@0.36.5': - resolution: {integrity: sha512-aQ8WF5zQwOdcxLsxSEk9Jd01GgGb80xxqCaiDDlewhtwqpSm8MOvUHslwPydVirasdW09++NxDNNftm1vLY8yA==} + '@mswjs/interceptors@0.36.9': + resolution: {integrity: sha512-mMRDUBwSNeCgjSMEWfjoh4Rm9fbyZ7xQ9SBq8eGHiiyRn1ieTip3pNEt0wxWVPPxR4i1Rv9bTkeEbkX7M4c15A==} engines: {node: '>=18'} - '@napi-rs/canvas-android-arm64@0.1.58': - resolution: {integrity: sha512-0bwURPP2jNTRoZ++sLbUubYS8MQdoJrEp8T1Z5QNu6Msf2DZXYSyfNrzeA/I+3TfNmJ5r3kQueSxHA89e7CLUQ==} + '@napi-rs/canvas-android-arm64@0.1.59': + resolution: {integrity: sha512-p4rRL9KIDz57Z+gKLpemX36DB7fVVHmY4DtesMGrnjx4gSBUM2M7LNzbzf4o3oPZGDiHMY0vnvNHR4dKfszNeg==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/canvas-darwin-arm64@0.1.58': - resolution: {integrity: sha512-3AetouQtGTDldvIV9t7iZ6eZlwnn1r32GLr6zxmJmjDFQs5Ey1LYC7hYRYzRHx2fgU/slvwfMhgQjlH+T+vrlw==} + '@napi-rs/canvas-darwin-arm64@0.1.59': + resolution: {integrity: sha512-+8s06WxcM9ilv9PVOl57hvasbwKWMfrrNAYknqMPCn4jpc4XDcLbrM5LTZGhhptlv9jQ9DmHfZ978/xInsMYXw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/canvas-darwin-x64@0.1.58': - resolution: {integrity: sha512-JwF2yTqzlvBAon4/GvzQf5RpCpcy4vusi4GZA35B0UI66+6DJv0J83E+tCuMJgCywk9GqUNEH9ozXqZsSMc7hw==} + '@napi-rs/canvas-darwin-x64@0.1.59': + resolution: {integrity: sha512-6kziJHjXdxduYK2L2uuwjEIYoPJednKq+C81MCm3fPobXE4HBKs0JGXwq3GkWNe340U340vmagwXiFi6muEy+g==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.58': - resolution: {integrity: sha512-I0perR7XYeUFCASZJ3eMoCJz690PpZcq+9/kItOfqzH2+EO2I+MTn194p2YPHENzC+kybTUUucl9jyQDzRuZUg==} + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.59': + resolution: {integrity: sha512-eCkyS7jojNmaUPaVFdNjAyS0R3isrJtUfRf1vRP6K50GRuHso3vwQRbZBPKM71qHdjPDylfaQc5H6/M7epyD+w==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/canvas-linux-arm64-gnu@0.1.58': - resolution: {integrity: sha512-9U/T2N2aVOQ2OcIxWxOP3GXXuBZkNFtvZFVW+Uiov6qRiTeu3xjqrvAP+CSWhpVIW+GhR3rhlcYZY73rlVcJjQ==} + '@napi-rs/canvas-linux-arm64-gnu@0.1.59': + resolution: {integrity: sha512-1u4++lbsolP1MAPViuDoZmgmDLKlV0iJnlHN2dfwgbu3t53P0l3jIT1oCIAiWil0OlrWtDF24JbY7LUUGH5aHg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@napi-rs/canvas-linux-arm64-musl@0.1.58': - resolution: {integrity: sha512-CyPvv0CoZLn64t3zhgNy5Jd8QE5lKy+dcbkP/CT2XRNAJ8eulO1qr5gcKZBOhXkPFSHHjYcLHWuHK/6/KvggcQ==} + '@napi-rs/canvas-linux-arm64-musl@0.1.59': + resolution: {integrity: sha512-eqevZ2kWPxeAnvhxl7U5tf6AiMnhlO4w2Hci79WQkfeirqQG6RRM4Jnxbh9iO3jkAnnOXmM4r+S3UrOcfIx1Rg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@napi-rs/canvas-linux-x64-gnu@0.1.58': - resolution: {integrity: sha512-lt1KsWrdB0SJ1fhxGW1y1aLv+Xy+7/qQ/80oh+nbstqLqziMRUYkLOmsIKiMlqvv3zETa6VUPofi8dZmCbNUOQ==} + '@napi-rs/canvas-linux-x64-gnu@0.1.59': + resolution: {integrity: sha512-F+T63RnLt0qYUXhbOpaome3vIWLW4xoQRmhTnkKDzOtBSnKVP7sCM6E5/5tByOFCR3fTj4ksMeeHy8zJScEExA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@napi-rs/canvas-linux-x64-musl@0.1.58': - resolution: {integrity: sha512-YCQwtulayB1Y+lJi9p3vLGs5q9udRsx9cRDY1fnyPAQnsGO5Snub/MZltYgEKUDlUlJxAcnVJlMUKPWT/zIR+w==} + '@napi-rs/canvas-linux-x64-musl@0.1.59': + resolution: {integrity: sha512-HhUgpTGQUR2VRslEC5Idf6s0hhamJiVlEh2k3AG9XXOwX6fg0xXkqm84DPiOCLzsO5bqtJEo+rh03BUSDcf53g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@napi-rs/canvas-win32-x64-msvc@0.1.58': - resolution: {integrity: sha512-qyRhuEqyoSQTBRHLKvShfjueqVWWtsG2U3yaxAE9Yhkg0sx6lunH7fPPrFcIKxbQ4k8pAbmWebhi9xPVf6mYPQ==} + '@napi-rs/canvas-win32-x64-msvc@0.1.59': + resolution: {integrity: sha512-bYMiZJsKPkU7HEoYI5E0alOSV1EkaigY4VEgGHPK9W/qGMmNFsxdbURQqa5h3zbhZTK5QRSdYYqowcTEYVIlug==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/canvas@0.1.58': - resolution: {integrity: sha512-XDeVEFbXfiiXeB9816rlbSZyOysJPaQTKYG7u/wL3GQhg4YznZkjq8vEsNvK6C+bJx29OV8INu9bmfXPaE4Drw==} + '@napi-rs/canvas@0.1.59': + resolution: {integrity: sha512-3vUtQ8DzYcz9xy86UUe8OfDiXNuuLB9zFAUs5N/I2GpkY/MWBJ2M7w5FqH380oC44IzYOWaOMLWCPfNZBsbBww==} engines: {node: '>= 10'} '@napi-rs/nice-android-arm-eabi@1.0.1': @@ -2500,8 +2493,8 @@ packages: resolution: {integrity: sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==} engines: {node: '>= 10'} - '@nestjs/common@10.4.5': - resolution: {integrity: sha512-N/yUyuYCBMb0+H6jHhntR7PURzji0usID/DByhOfooyk/aPGscI0aQKwOA6edlJlT92hHUvXYLJ5p3npj7KcjQ==} + '@nestjs/common@10.4.7': + resolution: {integrity: sha512-gIOpjD3Mx8gfYGxYm/RHPcJzqdknNNFCyY+AxzBT3gc5Xvvik1Dn5OxaMGw5EbVfhZgJKVP0n83giUOAlZQe7w==} peerDependencies: class-transformer: '*' class-validator: '*' @@ -2513,8 +2506,8 @@ packages: class-validator: optional: true - '@nestjs/core@10.4.5': - resolution: {integrity: sha512-wk0KJ+6tuidqAdeemsQ40BCp1BgMsSuSLG577aqXLxXYoa8FQYPrdxoSzd05znYLwJYM55fisZWb3FLF9HT2qw==} + '@nestjs/core@10.4.7': + resolution: {integrity: sha512-AIpQzW/vGGqSLkKvll1R7uaSNv99AxZI2EFyVJPNGDgFsfXaohfV1Ukl6f+s75Km+6Fj/7aNl80EqzNWQCS8Ig==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/microservices': ^10.0.0 @@ -2530,14 +2523,14 @@ packages: '@nestjs/websockets': optional: true - '@nestjs/platform-express@10.4.5': - resolution: {integrity: sha512-a629r8R8KC4skhdieQ0aIWH5vDBUFntWnWKFyDXQrll6/CllSchfWm87mWF39seaW6bXYtQtAEZY66JrngdrGA==} + '@nestjs/platform-express@10.4.7': + resolution: {integrity: sha512-q6XDOxZPTZ9cxALcVuKUlRBk+cVEv6dW2S8p2yVre22kpEQxq53/OI8EseDvzObGb6hepZ8+yBY04qoYqSlXNQ==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 - '@nestjs/testing@10.4.5': - resolution: {integrity: sha512-3NhmztE+fK3MuuOZhXihvMIhxm0QuDM2BneHvM5A0oVLG+STsAeGBqbDr/Ef2qsvqH5HaqvfGbVJ4N1DQnZE5A==} + '@nestjs/testing@10.4.7': + resolution: {integrity: sha512-aS3sQ0v4g8cyHDzW3xJv1+8MiFAkxUNXmnau588IFFI/nBIo/kevLNHNPr85keYekkJ/lwNDW72h8UGg8BYd9w==} peerDependencies: '@nestjs/common': ^10.0.0 '@nestjs/core': ^10.0.0 @@ -2592,80 +2585,86 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@parcel/watcher-android-arm64@2.4.1': - resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} + '@parcel/watcher-android-arm64@2.5.0': + resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.4.1': - resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} + '@parcel/watcher-darwin-arm64@2.5.0': + resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.4.1': - resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} + '@parcel/watcher-darwin-x64@2.5.0': + resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.4.1': - resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} + '@parcel/watcher-freebsd-x64@2.5.0': + resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.4.1': - resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} + '@parcel/watcher-linux-arm-glibc@2.5.0': + resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - '@parcel/watcher-linux-arm64-glibc@2.4.1': - resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} + '@parcel/watcher-linux-arm-musl@2.5.0': + resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.0': + resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - '@parcel/watcher-linux-arm64-musl@2.4.1': - resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} + '@parcel/watcher-linux-arm64-musl@2.5.0': + resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - '@parcel/watcher-linux-x64-glibc@2.4.1': - resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} + '@parcel/watcher-linux-x64-glibc@2.5.0': + resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - '@parcel/watcher-linux-x64-musl@2.4.1': - resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} + '@parcel/watcher-linux-x64-musl@2.5.0': + resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - '@parcel/watcher-win32-arm64@2.4.1': - resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} + '@parcel/watcher-win32-arm64@2.5.0': + resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.4.1': - resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} + '@parcel/watcher-win32-ia32@2.5.0': + resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - '@parcel/watcher-win32-x64@2.4.1': - resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} + '@parcel/watcher-win32-x64@2.5.0': + resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - '@parcel/watcher@2.4.1': - resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} + '@parcel/watcher@2.5.0': + resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==} engines: {node: '>= 10.0.0'} '@peculiar/asn1-android@2.3.13': @@ -2741,8 +2740,8 @@ packages: tslib: optional: true - '@rollup/pluginutils@5.1.2': - resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} + '@rollup/pluginutils@5.1.3': + resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -2750,83 +2749,93 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.24.0': - resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} + '@rollup/rollup-android-arm-eabi@4.24.4': + resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.24.0': - resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} + '@rollup/rollup-android-arm64@4.24.4': + resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.24.0': - resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} + '@rollup/rollup-darwin-arm64@4.24.4': + resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.24.0': - resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} + '@rollup/rollup-darwin-x64@4.24.4': + resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.24.0': - resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} + '@rollup/rollup-freebsd-arm64@4.24.4': + resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.24.4': + resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.24.4': + resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.24.0': - resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} + '@rollup/rollup-linux-arm-musleabihf@4.24.4': + resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.24.0': - resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} + '@rollup/rollup-linux-arm64-gnu@4.24.4': + resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.24.0': - resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} + '@rollup/rollup-linux-arm64-musl@4.24.4': + resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': - resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': + resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.24.0': - resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} + '@rollup/rollup-linux-riscv64-gnu@4.24.4': + resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.24.0': - resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} + '@rollup/rollup-linux-s390x-gnu@4.24.4': + resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.24.0': - resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} + '@rollup/rollup-linux-x64-gnu@4.24.4': + resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.24.0': - resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} + '@rollup/rollup-linux-x64-musl@4.24.4': + resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.24.0': - resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} + '@rollup/rollup-win32-arm64-msvc@4.24.4': + resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.24.0': - resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} + '@rollup/rollup-win32-ia32-msvc@4.24.4': + resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.24.0': - resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} + '@rollup/rollup-win32-x64-msvc@4.24.4': + resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==} cpu: [x64] os: [win32] @@ -2858,17 +2867,17 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@1.22.0': - resolution: {integrity: sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q==} + '@shikijs/core@1.22.2': + resolution: {integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==} - '@shikijs/engine-javascript@1.22.0': - resolution: {integrity: sha512-AeEtF4Gcck2dwBqCFUKYfsCq0s+eEbCEbkUuFou53NZ0sTGnJnJ/05KHQFZxpii5HMXbocV9URYVowOP2wH5kw==} + '@shikijs/engine-javascript@1.22.2': + resolution: {integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==} - '@shikijs/engine-oniguruma@1.22.0': - resolution: {integrity: sha512-5iBVjhu/DYs1HB0BKsRRFipRrD7rqjxlWTj4F2Pf+nQSPqc3kcyqFFeZXnBMzDf0HdqaFVvhDRAGiYNvyLP+Mw==} + '@shikijs/engine-oniguruma@1.22.2': + resolution: {integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==} - '@shikijs/types@1.22.0': - resolution: {integrity: sha512-Fw/Nr7FGFhlQqHfxzZY8Cwtwk5E9nKDUgeLjZgt3UuhcM3yJR9xj3ZGNravZZok8XmEZMiYkSMTPlPkULB8nww==} + '@shikijs/types@1.22.2': + resolution: {integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==} '@shikijs/vscode-textmate@9.3.0': resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} @@ -2920,8 +2929,8 @@ packages: '@sinonjs/fake-timers@11.3.1': resolution: {integrity: sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==} - '@sinonjs/fake-timers@13.0.4': - resolution: {integrity: sha512-wpUq+QiKxrWk7U2pdvNSY9fNX62/k+7eEdlQMO0A3rU8tQ+vvzY/WzBhMz+GbQlATXZlXWYQqFWNFcn1SVvThA==} + '@sinonjs/fake-timers@13.0.5': + resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} '@sinonjs/samsam@8.0.2': resolution: {integrity: sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==} @@ -3138,125 +3147,120 @@ packages: '@sqltools/formatter@1.2.5': resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} - '@storybook/addon-actions@8.3.6': - resolution: {integrity: sha512-nOqgl0WoZK2KwjaABaXMoIgrIHOQl9inOzJvqQau0HOtsvnXGXYfJXYnpjZenoZDoZXKbUDl0U2haDFx2a2fJw==} + '@storybook/addon-actions@8.4.2': + resolution: {integrity: sha512-+hA200XN5aeA4T3jq8IifQq6Y+9FyNQ0Q+blM1L0Tl7WLzBc7B1kHQnKvhSj5pvMSBWc/Q/kY7Ev5t9gdOu13g==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-backgrounds@8.3.6': - resolution: {integrity: sha512-yBn+a8i5OJzJaX6Bx5MAkfei7c2nvq+RRmvuyvxw11rtDGR6Nz4OBBe56reWxo868wVUggpRTPJCMVe5tDYgVg==} + '@storybook/addon-backgrounds@8.4.2': + resolution: {integrity: sha512-s4uag5VKuk8q2MSnuNS7Sv+v1/mykzGPXe/zZRW2ammtkdHp8Uy78eQS2G0aiG02chXCX+qQgWMyy5QItDcTFQ==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-controls@8.3.6': - resolution: {integrity: sha512-9IMLHgtWPuFoRCt3hDsIk1FbkK5SlCMDW1DDwtTBIeWYYZLvptS42+vGVTeQ8v5SejmVzZkzuUdzu3p4sb3IcA==} + '@storybook/addon-controls@8.4.2': + resolution: {integrity: sha512-raCbHEj1xl4F3wKH6IdfEXNRaxKpY4QGhjSTE8Pte5iJSVhKG86taLqqRr+4dC7H1/LVMPU1XCGV4mkgDGtyxQ==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-docs@8.3.6': - resolution: {integrity: sha512-31Rk1TOhDIzGM2wNCUIB1xKuWtArW0D2Puua9warEXlQ3FtvwmxnPrwbIzw6ufYZDWPwl9phDYTcRh8WqZIoGg==} + '@storybook/addon-docs@8.4.2': + resolution: {integrity: sha512-jIpykha7hv2Inlrq31ZoYg2QhuCuvcO+Q+uvhT45RDTB+2US/fg3rJINKlw2Djq8RPPOXvty5W0yvE6CrWKhnQ==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-essentials@8.3.6': - resolution: {integrity: sha512-MQPFvThlGU7wlda1xhBPQCmDh90cSSZ31OsVs1uC5kJh0aLbY2gYXPurq1G54kzrYo8SMfBxsXrCplz8Ir6UTg==} + '@storybook/addon-essentials@8.4.2': + resolution: {integrity: sha512-+/vfPrXM/GWU3Kbrg92PepwAZr7lOeulTTYF4THK0CL3DfUUlkGNpBPLP5PtjCuIkVrTCjXiIEdVWk47d5m2+w==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-highlight@8.3.6': - resolution: {integrity: sha512-A7uU+1OPVXGpkklEUJjSl2VEEDLCSNvmffUJlvW1GjajsNFIHOW2CSD+KnfFlQyPxyVbnWAYLqUP4XJxoqrvDw==} + '@storybook/addon-highlight@8.4.2': + resolution: {integrity: sha512-vTtwp7nyJ09SXrsMnH+pukCjHjRMjQXgHZHxvbrv09uoH8ldQMv9B7u+X+9Wcy/jYSKFz/ng7pWo4b4a2oXHkg==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-interactions@8.3.6': - resolution: {integrity: sha512-Y0YUJj0oE1+6DFkaTPXM/8+dwTSoy0ltj2Sn2KOTJYzxKQYXBp8TlUv0QOQiGH7o/GKXIWek/VlTuvG/JEeiWw==} + '@storybook/addon-interactions@8.4.2': + resolution: {integrity: sha512-+/NTENTApeOcONgFNQ6Olbk0GH3pTDG3w0eh00slCB+2agD1BcVKg8SSlHQV0lQF1cK3vWL/X3jeaxdFLYOjjg==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-links@8.3.6': - resolution: {integrity: sha512-EGEH/kEjndEldbqyiJ8XSASkxqwzL/lgA/+6mHpa6Ljxhk1s5IMGcdA1ymJYJ2BpNdkUxRj/uxAa38eGcQiJ/g==} + '@storybook/addon-links@8.4.2': + resolution: {integrity: sha512-8nncReA/drR2cyAcUz484FIv+MXbyCQxYrA6yfWHthZfGu+vMIETvhh+eP4OpluVnxySoQ+hCVK/V8G2jcyAZg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.6 + storybook: ^8.4.2 peerDependenciesMeta: react: optional: true - '@storybook/addon-mdx-gfm@8.3.6': - resolution: {integrity: sha512-5Q/0YT/i9xdLyq7QvXvVfrcGVFHvJ3GEPM+XgGaX9C67ch3pYllAGDKJMtq3eDhgzxHkPT8NnjXb/9VLVYr75w==} + '@storybook/addon-mdx-gfm@8.4.2': + resolution: {integrity: sha512-09uK2PFm+NZHQHBWYeH6oZedz54+OF5CcWeQe7oKTsT9NRqEjVvlxew2Bou1qyFa6MR58B2EoJZrUldptAaIgg==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-measure@8.3.6': - resolution: {integrity: sha512-VHWeGgYjhzhwb2WAqYW/qyEPqg5pwKR/XqFfd+3tEirUs/64olL1l3lzLwZ8Cm07cJ81T8Z4myywb9kObZfQlw==} + '@storybook/addon-measure@8.4.2': + resolution: {integrity: sha512-z+j6xQwcUBSpgzl1XDU+xU4YYgLraLMljECW7NvRNyJ/PYixvol8R3wtzWbr+CBpxmvbXjEJCPlF+EjF9/mBWQ==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-outline@8.3.6': - resolution: {integrity: sha512-+VXpM8SIHX2cn30qLlMvER9/6iioFRSn2sAfLniqy4RrcQmcMP+qgE7ZzbzExt7cneJh3VFsYqBS/HElu14Vgg==} + '@storybook/addon-outline@8.4.2': + resolution: {integrity: sha512-oTMlPEyT4CBqzcQbfemoJzJ6yzeRAmvrAx9ssaBcnQQRsKxo0D2Ri/Jmm6SNcR0yBHxYRkvIH+2phLw8aiflCQ==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-storysource@8.3.6': - resolution: {integrity: sha512-L35BJj8vO+jIHSVjCCygoQCHSPt6wiviOLkOMgY1KluslXGHfwHd5am5y9sy4YuFl21SyFPw525/yZj9SLgqpA==} + '@storybook/addon-storysource@8.4.2': + resolution: {integrity: sha512-SFoQbkKGfFjQV++QsIxe2Czf3s6IFwSpeIk/DSWvy0j/+wU0Gtg6AuhmkTj5Vl64T7lPiRkpDRZEfH2/Gg2pjQ==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-toolbars@8.3.6': - resolution: {integrity: sha512-FJH+lRoZXENfpMR/G09ZqB0TmL/k6bv07GN1ysoVs420tKRgjfz6uXaZz5COrhcdISr5mTNmG+mw9x7xXTfX3Q==} + '@storybook/addon-toolbars@8.4.2': + resolution: {integrity: sha512-DidzW/NQS224niMJIjcJI2ls83emqygUcS9GYNGgdc5Xwro/TPgGYOXP2qnXgYUxXQTHbrxmIbHdEehxC7CcYQ==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/addon-viewport@8.3.6': - resolution: {integrity: sha512-bL51v837W1cng/+0pypkoLsWKWmvux96zLOzqLCpcWAQ4OSMhW3foIWpCiFwMG/KY+GanoOocTx6i7j5hLtuTA==} + '@storybook/addon-viewport@8.4.2': + resolution: {integrity: sha512-qVQ2UaxCNsUSFHnAAAizNPIJ/QwfMg7p5bBdpYROTZXJe+bxVp0rFzZmQgHZ3/sn+lzE4ItM4QEfxkfQUWi1ag==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/blocks@8.3.6': - resolution: {integrity: sha512-Oc5jU6EzfsENjrd91KcKyEKBh60RT+8uyLi1RIrymC2C/mzZMTEoNIrbnQt0eIqbjlHxn6y9JMJxHu4NJ4EmZg==} + '@storybook/blocks@8.4.2': + resolution: {integrity: sha512-yAAvmOWaD8gIrepOxCh/RxQqd/1xZIwd/V+gsvAhW/thawN+SpI+zK63gmcqAPLX84hJ3Dh5pegRk0SoHNuDVA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.6 + storybook: ^8.4.2 peerDependenciesMeta: react: optional: true react-dom: optional: true - '@storybook/builder-vite@8.3.6': - resolution: {integrity: sha512-AF4+oFe1mvIHrLvaYsv8B0YSlXQtSlKTKwrXnUbcAbeGRwMmFKA1t3VyAcXV0yB9MtZ8YJsA/uKRkgGEaN7wJQ==} + '@storybook/builder-vite@8.4.2': + resolution: {integrity: sha512-dO5FB5yH1C6tr/kBHn1frvGwp8Pt0D1apgXWkJ5ITWEUfh6WwOqX2fqsWsqaNwE7gP0qn0XgwCIEkI/4Mj55SA==} peerDependencies: - '@preact/preset-vite': '*' - storybook: ^8.3.6 - typescript: '>= 4.3.x' + storybook: ^8.4.2 vite: ^4.0.0 || ^5.0.0 - vite-plugin-glimmerx: '*' + + '@storybook/components@8.4.2': + resolution: {integrity: sha512-+W59oF7D73LAxLNmCfFrfs98cH9pyNHK9HlJoO5/lKbK4IdWhhOoqUR/AJ3ueksoLuetFat4DxyE8SN1H4Bvrg==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/core-events@8.4.2': + resolution: {integrity: sha512-Lxct0793LdMbMS0dFm5fwCD7ez2BLb0vDCfEIt0+IZ+UKxx7nhyc7skO5oNP5k8ouOxjYsHu4jhAepT6kiFHhg==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/core@8.4.2': + resolution: {integrity: sha512-hF8GWoUZTjwwuV5j4OLhMHZtZQL/NYcVUBReC2Ba06c8PkFIKqKZwATr1zKd301gQ5Qwcn9WgmZxJTMgdKQtOg==} + peerDependencies: + prettier: ^2 || ^3 peerDependenciesMeta: - '@preact/preset-vite': - optional: true - typescript: - optional: true - vite-plugin-glimmerx: + prettier: optional: true - '@storybook/components@8.3.6': - resolution: {integrity: sha512-TXuoGZY7X3iixF45lXkYOFk8k2q9OHcqHyHyem1gATLLQXgyOvDgzm+VB7uKBNzssRQPEE+La70nfG8bq/viRw==} + '@storybook/csf-plugin@8.4.2': + resolution: {integrity: sha512-1f0t6W5xbC1sSAHHs3uXYPIQs2NXAEtIGqn6X9i3xbbub6hDS8PF8BIm7dOjQ8dZOPp7d9ltR64V5CoLlsOigA==} peerDependencies: - storybook: ^8.3.6 - - '@storybook/core-events@8.3.6': - resolution: {integrity: sha512-+y+WBQ6dXBCilsTFhuGR4nARP+658tev+SCML695hcGjN23C7Pk+68VXtFvDtdATtABDLtFfSAeGc+qamJ3WUg==} - peerDependencies: - storybook: ^8.3.6 - - '@storybook/core@8.3.6': - resolution: {integrity: sha512-frwfgf0EJ7QL29DWZ5bla/g0eOOWqJGd14t+VUBlpP920zB6sdDfo7+p9JoCjD9u08lGeFDqbPNKayUk+0qDag==} - - '@storybook/csf-plugin@8.3.6': - resolution: {integrity: sha512-TJyJPFejO6Gyr3+bXqE/+LomQbivvfHEbee/GwtlRj0XF4KQlqnvuEdEdcK25JbD0NXT8AbyncEUmjoxE7ojQw==} - peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 '@storybook/csf@0.1.11': resolution: {integrity: sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==} @@ -3271,45 +3275,45 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/instrumenter@8.3.6': - resolution: {integrity: sha512-0RowbKwoB/s7rtymlnKNiyWN1Z3ZK5mwgzVjlRmzxDL8hrdi5KDjTNExuJTRR3ZaBP2RR0/I3m/n0p9JhHAZvg==} + '@storybook/instrumenter@8.4.2': + resolution: {integrity: sha512-gPYCZ/0O6gRLI3zmenu2N6QtKzxDZFdT2xf4RWcNUSZyp28RZkRCIgKFMt3fTmvE0yMzAjQyRSkBdrONjQ44HA==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/manager-api@8.3.6': - resolution: {integrity: sha512-Xt5VFZcL+G/9uzaHjzWFhxRNrP+4rPhSRKEvCZorAbC9+Hv+ZDs1JSZS5wMb4WKpXBZ0rwDVOLwngqbVtfRHuQ==} + '@storybook/manager-api@8.4.2': + resolution: {integrity: sha512-rhPc4cgQDKDH8NUyRh/ZaJW7QIhR/PO5MNX4xc+vz71sM2nO7ONA/FrgLtCuu4SULdwilEPvGefYvLK0dE+Caw==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/preview-api@8.3.6': - resolution: {integrity: sha512-/Wxvb7wbI2O2iH63arRQQyyojA630vibdshkFjuC/u1nYdptEV1jkxa0OYmbZbKCn4/ze6uH4hfsKOpDPV9SWg==} + '@storybook/preview-api@8.4.2': + resolution: {integrity: sha512-5X/xvIvDPaWJKUBCo5zVeBbbjkhnwcI2KPkuOgrHVRRhuQ5WqD0RYxVtOOFNyQXme7g0nNl5RFNgvT7qv9qGeg==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/react-dom-shim@8.3.6': - resolution: {integrity: sha512-9BO6VXIdli4GHSfiP/Z0gwAf7oQig3D/yWK2U1+91UWDV8nIAgnNBAi76U4ORC6MiK5MdkDfIikIxnLLeLnahA==} + '@storybook/react-dom-shim@8.4.2': + resolution: {integrity: sha512-FZVTM1f34FpGnf6e3MDIKkz05gmn8H9wEccvQAgr8pEFe8VWfrpVWeUrmatSAfgrCMNXYC1avDend8UX6IM8Fg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/react-vite@8.3.6': - resolution: {integrity: sha512-KXi4ZT4X7DsB4OOIWeR1XMH/Oz6Rp4TlWBNx/TgSEDGYEkPooqZK/O0S+G+VIsrRGQUf/57YqO73mP6kNluxTA==} + '@storybook/react-vite@8.4.2': + resolution: {integrity: sha512-OoXaW/V1AqLggMyniRcnuwmqQ1/OtSn38t31lePX4nDDeJhbGT3ZPldRrwvsLb0EaD3N27uoL+QbAOgsYJIhwA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.6 + storybook: ^8.4.2 vite: ^4.0.0 || ^5.0.0 - '@storybook/react@8.3.6': - resolution: {integrity: sha512-s3COryqIOYK7urgZaCPb77zlxGjPKr6dIsYmblQJcsFY2ZlG2x0Ysm8b5oRgD8Pv71hCJ0PKYA4RzDgBVYJS9A==} + '@storybook/react@8.4.2': + resolution: {integrity: sha512-rO5/aVKBVhIKENcL7G8ud4QKC5OyWBPCkJIvY6XUHIuhErJy9/4pP+sZ85jypVwx5kq+EqCPF8AEOWjIxB/4/Q==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.3.6 + '@storybook/test': 8.4.2 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.6 + storybook: ^8.4.2 typescript: '>= 4.2.x' peerDependenciesMeta: '@storybook/test': @@ -3317,42 +3321,42 @@ packages: typescript: optional: true - '@storybook/source-loader@8.3.6': - resolution: {integrity: sha512-czgQVFMsqeXe0pXjbore8X91gUOnpVVIv2dWsgS2UN9sHh+4B/Uevxx6Lz21074aynGO4bNti1BETGelejIM6w==} + '@storybook/source-loader@8.4.2': + resolution: {integrity: sha512-BK8RHJNcRDOzIzoSBN/dcxIm0lWqIs3mBCo/TJJE2N7EAOcDwWfPivuPCbG959IRaRcRfuR0aiXONpAAVnWt9w==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/test@8.3.6': - resolution: {integrity: sha512-WIc8LzK9jaEw+e3OiweEM2j3cppPzsWod59swuf6gDBf176EQLIyjtVc+Kh3qO4NNkcL+lwmqaLPjOxlBLaDbg==} + '@storybook/test@8.4.2': + resolution: {integrity: sha512-MipTdboStv0hsqF2Sw8TZgP0YnxCcDYwxkTOd4hmRzev/7Brtvpi4pqjqh8k98ZCvhrCPAPVIoX5drk+oi3YUA==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 - '@storybook/theming@8.3.6': - resolution: {integrity: sha512-LQjUk6GXRW9ELkoBKuqzQKFUW+ajfGPfVELcfs3/VQX61VhthJ4olov4bGPc04wsmmFMgN/qODxT485IwOHfPQ==} + '@storybook/theming@8.4.2': + resolution: {integrity: sha512-9j4fnu5LcV+qSs1rdwf61Bt14lms0T1LOZkHxGNcS1c1oH+cPS+sxECh2lxtni+mvOAHUlBs9pKhVZzRPdWpvg==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/types@8.3.6': - resolution: {integrity: sha512-EY+bjIxxmKkFrL7CyDQb3EXbmy0+Y9OieaPrNNM7QXTfGgp81lXhfqMX3HLMMjplk+rcxVJLyzXSBx0nIn91fQ==} + '@storybook/types@8.4.2': + resolution: {integrity: sha512-fpHeQOeYg9DdBgx1+aXDtIxwb8thWc7z6yoesv+5SPetLAwasnptkqGS1/w5mSgXkHkui7e4cGoboPnuTM7cFg==} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/vue3-vite@8.3.6': - resolution: {integrity: sha512-C7QvFgbDVE7Tjqd/iaJH+T80Kd7gKk8B9LwpzYl6Rm/xt4/64pc294AkkC/FGoOPVV1gTVDPGGf0tr0uxpeiIQ==} + '@storybook/vue3-vite@8.4.2': + resolution: {integrity: sha512-0M2/gFtCi0RzJN398v6QdOm4Iyz5/Slg5cGvXWfpT5ArcJmo7a1FnUBiR0JRu7HI0GcQL3F+wbYCm6vLumK5ow==} engines: {node: '>=18.0.0'} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 vite: ^4.0.0 || ^5.0.0 - '@storybook/vue3@8.3.6': - resolution: {integrity: sha512-ztf54Ug2u6xSWocBybeGiUR1Cy9znlVMPRlLtsOtq05Huk+a5km/Lg7AZRvzAUtj3HUMhQeiUEP5je7SSD1gBg==} + '@storybook/vue3@8.4.2': + resolution: {integrity: sha512-1l4Icg1r8YrKoGVsEuWushhK0KqDsBRmj0tgfLm6Z8tsceNPD9Ev7OGUWmi7SClI8wqkz2Zn3W/TSESI6Bu7Fw==} engines: {node: '>=18.0.0'} peerDependencies: - storybook: ^8.3.6 + storybook: ^8.4.2 vue: ^3.0.0 - '@swc/cli@0.4.0': - resolution: {integrity: sha512-4JdVrPtF/4rCMXp6Q1h5I6YkYZrCCcqod7Wk97ZQq7K8vNGzJUryBv4eHCvqx5sJOJBrbYm9fcswe1B0TygNoA==} + '@swc/cli@0.5.0': + resolution: {integrity: sha512-eFsrNt85SbHTeX6svpBNcA5DQLP/wrSyCs3KVZjbuEHWD7JGpajZOIwH74lVhyrmrXOcGxgbnxXEbDIfRlLcSw==} engines: {node: '>= 16.14.0'} hasBin: true peerDependencies: @@ -3362,68 +3366,68 @@ packages: chokidar: optional: true - '@swc/core-darwin-arm64@1.7.39': - resolution: {integrity: sha512-o2nbEL6scMBMCTvY9OnbyVXtepLuNbdblV9oNJEFia5v5eGj9WMrnRQiylH3Wp/G2NYkW7V1/ZVW+kfvIeYe9A==} + '@swc/core-darwin-arm64@1.8.0': + resolution: {integrity: sha512-TIus1/SE/Ud4g84hCnchcagu+LfyndSDy5r5qf64nflojejDidPU9Fp1InzQhQpEgIpntnZID/KFCP5rQnvsIw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.7.39': - resolution: {integrity: sha512-qMlv3XPgtPi/Fe11VhiPDHSLiYYk2dFYl747oGsHZPq+6tIdDQjIhijXPcsUHIXYDyG7lNpODPL8cP/X1sc9MA==} + '@swc/core-darwin-x64@1.8.0': + resolution: {integrity: sha512-yCb1FHCX/HUmNRGB1X3CFJ1WPKXMosZVUe3K2TrosCGvytwgaLoW5FS0bZg5Qv6cEUERQBg75cJnOUPwLLRCVg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.7.39': - resolution: {integrity: sha512-NP+JIkBs1ZKnpa3Lk2W1kBJMwHfNOxCUJXuTa2ckjFsuZ8OUu2gwdeLFkTHbR43dxGwH5UzSmuGocXeMowra/Q==} + '@swc/core-linux-arm-gnueabihf@1.8.0': + resolution: {integrity: sha512-6TdjVdiLaSW+eGiHKEojMDlx673nowrPHa6nM6toWgRzy8tIZgjPOguVKJDoMnoHuvO7SkOLCUiMRw0rTskypA==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.7.39': - resolution: {integrity: sha512-cPc+/HehyHyHcvAsk3ML/9wYcpWVIWax3YBaA+ScecJpSE04l/oBHPfdqKUPslqZ+Gcw0OWnIBGJT/fBZW2ayw==} + '@swc/core-linux-arm64-gnu@1.8.0': + resolution: {integrity: sha512-TU2YcTornnyZiJUabRuk7Xtvzaep11FwK77IkFomjN9/Os5s25B8ea652c2fAQMe9RsM84FPVmX303ohxavjKQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.7.39': - resolution: {integrity: sha512-8RxgBC6ubFem66bk9XJ0vclu3exJ6eD7x7CwDhp5AD/tulZslTYXM7oNPjEtje3xxabXuj/bEUMNvHZhQRFdqA==} + '@swc/core-linux-arm64-musl@1.8.0': + resolution: {integrity: sha512-2CdPTEKxx2hJIj/B0fn8L8k2coo/FDS95smzXyi2bov5FcrP6Ohboq8roFBYgj38fkHusXjY8qt+cCH7yXWAdg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.7.39': - resolution: {integrity: sha512-3gtCPEJuXLQEolo9xsXtuPDocmXQx12vewEyFFSMSjOfakuPOBmOQMa0sVL8Wwius8C1eZVeD1fgk0omMqeC+Q==} + '@swc/core-linux-x64-gnu@1.8.0': + resolution: {integrity: sha512-14StQBifCs/AMsySdU95OmwNJr9LOVqo6rcTFt2b7XaWpe/AyeuMJFxcndLgUewksJHpfepzCTwNdbcYmuNo6A==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.7.39': - resolution: {integrity: sha512-mg39pW5x/eqqpZDdtjZJxrUvQNSvJF4O8wCl37fbuFUqOtXs4TxsjZ0aolt876HXxxhsQl7rS+N4KioEMSgTZw==} + '@swc/core-linux-x64-musl@1.8.0': + resolution: {integrity: sha512-qemJnAQlYqKCfWNqVv5SG8uGvw8JotwU86cuFUkq35oTB+dsSFM3b83+B1giGTKKFOh2nfWT7bvPXTKk+aUjew==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.7.39': - resolution: {integrity: sha512-NZwuS0mNJowH3e9bMttr7B1fB8bW5svW/yyySigv9qmV5VcQRNz1kMlCvrCLYRsa93JnARuiaBI6FazSeG8mpA==} + '@swc/core-win32-arm64-msvc@1.8.0': + resolution: {integrity: sha512-fXt5vZbnrVdXZzGj2qRnZtY3uh+NtLCaFjS2uD9w8ssdbjhbDZYlJCj2JINOjv35ttEfAD2goiYmVa5P/Ypl+g==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.7.39': - resolution: {integrity: sha512-qFmvv5UExbJPXhhvCVDBnjK5Duqxr048dlVB6ZCgGzbRxuarOlawCzzLK4N172230pzlAWGLgn9CWl3+N6zfHA==} + '@swc/core-win32-ia32-msvc@1.8.0': + resolution: {integrity: sha512-W4FA2vSJ+bGYiTj6gspxghSdKQNLfLMo65AH07u797x7I+YJj8amnFY/fQRlroDv5Dez/FHTv14oPlTlNFUpIw==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.7.39': - resolution: {integrity: sha512-o+5IMqgOtj9+BEOp16atTfBgCogVak9svhBpwsbcJQp67bQbxGYhAPPDW/hZ2rpSSF7UdzbY9wudoX9G4trcuQ==} + '@swc/core-win32-x64-msvc@1.8.0': + resolution: {integrity: sha512-Il4y8XwKDV0Bnk0IpA00kGcSQC6I9XOIinW5egTutnwIDfDE+qsD0j+0isW5H76GetY3/Ze0lVxeOXLAUgpegA==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.7.39': - resolution: {integrity: sha512-jns6VFeOT49uoTKLWIEfiQqJAlyqldNAt80kAr8f7a5YjX0zgnG3RBiLMpksx4Ka4SlK4O6TJ/lumIM3Trp82g==} + '@swc/core@1.8.0': + resolution: {integrity: sha512-EF8C5lp1RKMp3426tAKwQyVbg4Zcn/2FDax3cz8EcOXYQJM/ctB687IvBm9Ciej1wMcQ/dMRg+OB4Xl8BGLBoA==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -3434,14 +3438,14 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/jest@0.2.36': - resolution: {integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==} + '@swc/jest@0.2.37': + resolution: {integrity: sha512-CR2BHhmXKGxTiFr21DYPRHQunLkX3mNIFGFkxBGji6r9uyIR5zftTOVYj1e0sFNMV2H7mf/+vpaglqaryBtqfQ==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' - '@swc/types@0.1.13': - resolution: {integrity: sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==} + '@swc/types@0.1.14': + resolution: {integrity: sha512-PbSmTiYCN+GMrvfjrMo9bdY+f2COnwbdnoMw7rqU/PI5jXpKjxOGZ0qqZCImxnT81NkNsKnmEpvu+hRXLBeCJg==} '@syuilo/aiscript@0.19.0': resolution: {integrity: sha512-ZWG4s1m6RrFjE7NeIMaxFz769YO1jW5ReTrOROrEO4IHheOrjxxJ/Ffe2TUNqX9/XxDloMwfWplKhfSzx8LGMA==} @@ -3454,11 +3458,11 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tabler/icons-webfont@3.19.0': - resolution: {integrity: sha512-c3axiLTjFFbR+LCqGD4MkWSguIb3KdFacCrwVoytVEMAgqvg12YeqJ9b6EGbpnoHcvve5ZvN5kGJtBVV7r1SQw==} + '@tabler/icons-webfont@3.21.0': + resolution: {integrity: sha512-2Kw6VZeX+GW3LHBItWvwnQEKF4ZVvDtdDXjZYA5ISKwJPR4z/RLhNRXBK6QN4fG4dZQpqmTbl+9v0QF3IfmsDQ==} - '@tabler/icons@3.19.0': - resolution: {integrity: sha512-A4WEWqpdbTfnpFEtwXqwAe9qf9sp1yRPvzppqAuwcoF0q5YInqB+JkJtSFToCyBpPVeLxJUxxkapLvt2qQgnag==} + '@tabler/icons@3.21.0': + resolution: {integrity: sha512-5+GkkmWCr1wgMor5cOF1/YYflTQdc15y10FUikJ3HW8hDiFjfbuoAHJi17FT1vwsr1sA78rkJMn+fDoOOjnnPA==} '@tensorflow/tfjs-backend-cpu@4.22.0': resolution: {integrity: sha512-1u0FmuLGuRAi8D2c3cocHTASGXOmHc/4OvoVDENJayjYkS119fcTcQf4iHrtLthWyDIPy3JiPhRrZQC9EwnhLw==} @@ -3551,8 +3555,8 @@ packages: '@types/accepts@1.3.7': resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==} - '@types/archiver@6.0.2': - resolution: {integrity: sha512-KmROQqbQzKGuaAbmK+ZcytkJ51+YqDa7NmbXjmtC5YBLSyQYo21YaUnQ3HbaPFKL1ooo6RQ6OPYPIDyxfpDDXw==} + '@types/archiver@6.0.3': + resolution: {integrity: sha512-a6wUll6k3zX6qs5KlxIggs1P1JcYJaTCx2gnlr+f0S1yd2DoaEwoIK10HmBaLnZwWneBz+JBm0dwcZu0zECBcQ==} '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -3611,35 +3615,20 @@ packages: '@types/escape-regexp@0.0.3': resolution: {integrity: sha512-FQMYUxaf1dVeWLUzJFSvfdDugfOpDyM13p67QfyMdagxSkBa689opkr/q9uR/VWyrWrl0jAyQaSPKxX9MpAXFw==} - '@types/escodegen@0.0.6': - resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==} - '@types/eslint@7.29.0': resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} - '@types/estree@0.0.51': - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/express-serve-static-core@4.19.6': - resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} - - '@types/express-serve-static-core@5.0.0': - resolution: {integrity: sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==} - - '@types/express@4.17.21': - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/express-serve-static-core@5.0.1': + resolution: {integrity: sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==} '@types/express@5.0.0': resolution: {integrity: sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ==} - '@types/find-cache-dir@3.2.1': - resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==} - - '@types/fluent-ffmpeg@2.1.26': - resolution: {integrity: sha512-0JVF3wdQG+pN0ImwWD0bNgJiKF2OHg/7CDBHw5UIbRTvlnkgGHK6V5doE54ltvhud4o31/dEiHm23CAlxFiUQg==} + '@types/fluent-ffmpeg@2.1.27': + resolution: {integrity: sha512-QiDWjihpUhriISNoBi2hJBRUUmoj/BMTYcfz+F+ZM9hHWBYABFAE6hjP/TbCZC0GWwlpa3FzvHH9RzFeRusZ7A==} '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} @@ -3671,8 +3660,8 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/jest@29.5.13': - resolution: {integrity: sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==} + '@types/jest@29.5.14': + resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==} '@types/js-yaml@4.0.9': resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} @@ -3695,9 +3684,6 @@ packages: '@types/keyv@3.1.4': resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - '@types/lodash@4.17.12': - resolution: {integrity: sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ==} - '@types/long@4.0.2': resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} @@ -3728,17 +3714,14 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/mute-stream@0.0.4': - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - '@types/node-fetch@2.6.11': resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@22.7.8': - resolution: {integrity: sha512-a922jJy31vqR5sk+kAdIENJjHblqcZ4RmERviFsER4WJcEONqxKcjNOlk0q7OUfrF5sddT+vng070cdfMlrPLg==} + '@types/node@22.9.0': + resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} '@types/nodemailer@6.4.16': resolution: {integrity: sha512-uz6hN6Pp0upXMcilM61CoKyjT7sskBoOWpptkjjJp8jIMlTdc3xG01U7proKkXzruMS4hS0zqtHNkNPFB20rKQ==} @@ -3776,8 +3759,8 @@ packages: '@types/qrcode@1.5.5': resolution: {integrity: sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==} - '@types/qs@6.9.16': - resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} + '@types/qs@6.9.17': + resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} '@types/random-seed@0.3.5': resolution: {integrity: sha512-CftxcDPAHgs0SLHU2dt+ZlDPJfGqLW3sZlC/ATr5vJDSe5tRLeOne7HMvCOJnFyF8e1U41wqzs3h6AMC613xtA==} @@ -3788,8 +3771,8 @@ packages: '@types/ratelimiter@3.4.6': resolution: {integrity: sha512-Bv6WLSXPGLVsBjkizXtn+ef78R92e36/DFQo2wXPTHtp1cYXF6rCULMqf9WcZPAtyMZMvQAtIPeYMA1xAyxghw==} - '@types/react@18.3.11': - resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} + '@types/react@18.3.12': + resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} '@types/readdir-glob@1.1.5': resolution: {integrity: sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==} @@ -3821,8 +3804,8 @@ packages: '@types/serve-static@1.15.7': resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} - '@types/serviceworker@0.0.101': - resolution: {integrity: sha512-ds7Vil7PMGcMYKjV2B0/EL6EldSWqaPVUtgdmjJqiY8Qrv007oBQeoWlh8aNSKikQluoJKKmnUCBNPII6fLhXg==} + '@types/serviceworker@0.0.102': + resolution: {integrity: sha512-RAjnnU9rNWwlO5cyrifmShjudE4yQtFpFhwA7SOf2t0pk0DeRh1aBROJd4zk4er/WOU0o0eTRTi/CBuxuO27Gg==} '@types/simple-oauth2@5.0.7': resolution: {integrity: sha512-8JbWVJbiTSBQP/7eiyGKyXWAqp3dKQZpaA+pdW16FCi32ujkzRMG8JfjoAzdWt6W8U591ZNdHcPtP2D7ILTKuA==} @@ -3836,8 +3819,8 @@ packages: '@types/sinonjs__fake-timers@8.1.5': resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} - '@types/sizzle@2.3.8': - resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + '@types/sizzle@2.3.9': + resolution: {integrity: sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -3860,9 +3843,6 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/uuid@10.0.0': - resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} - '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} @@ -3872,11 +3852,8 @@ packages: '@types/web-push@3.6.4': resolution: {integrity: sha512-GnJmSr40H3RAnj0s34FNTcJi1hmWFV5KXugE0mYWnYhgTAHLJ/dJKAwDmvPJYMke0RplY2XE9LnM4hqSqKIjhQ==} - '@types/wrap-ansi@3.0.0': - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - - '@types/ws@8.5.12': - resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} + '@types/ws@8.5.13': + resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -3955,11 +3932,11 @@ packages: vite: ^5.0.0 vue: ^3.2.25 - '@vitest/coverage-v8@2.1.3': - resolution: {integrity: sha512-2OJ3c7UPoFSmBZwqD2VEkUw6A/tzPF0LmW0ZZhhB8PFxuc+9IBG/FaSM+RLEenc7ljzFvGN+G0nGQoZnh7sy2A==} + '@vitest/coverage-v8@2.1.4': + resolution: {integrity: sha512-FPKQuJfR6VTfcNMcGpqInmtJuVXFSCd9HQltYncfR01AzXhLucMEtQ5SinPdZxsT5x/5BK7I5qFJ5/ApGCmyTQ==} peerDependencies: - '@vitest/browser': 2.1.3 - vitest: 2.1.3 + '@vitest/browser': 2.1.4 + vitest: 2.1.4 peerDependenciesMeta: '@vitest/browser': optional: true @@ -3967,14 +3944,13 @@ packages: '@vitest/expect@2.0.5': resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} - '@vitest/expect@2.1.3': - resolution: {integrity: sha512-SNBoPubeCJhZ48agjXruCI57DvxcsivVDdWz+SSsmjTT4QN/DfHk3zB/xKsJqMs26bLZ/pNRLnCf0j679i0uWQ==} + '@vitest/expect@2.1.4': + resolution: {integrity: sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==} - '@vitest/mocker@2.1.3': - resolution: {integrity: sha512-eSpdY/eJDuOvuTA3ASzCjdithHa+GIF1L4PqtEELl6Qa3XafdMLBpBlZCIUCX2J+Q6sNmjmxtosAG62fK4BlqQ==} + '@vitest/mocker@2.1.4': + resolution: {integrity: sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==} peerDependencies: - '@vitest/spy': 2.1.3 - msw: ^2.3.5 + msw: ^2.4.9 vite: ^5.0.0 peerDependenciesMeta: msw: @@ -3985,35 +3961,35 @@ packages: '@vitest/pretty-format@2.0.5': resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} - '@vitest/pretty-format@2.1.3': - resolution: {integrity: sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==} + '@vitest/pretty-format@2.1.4': + resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} - '@vitest/runner@2.1.3': - resolution: {integrity: sha512-JGzpWqmFJ4fq5ZKHtVO3Xuy1iF2rHGV4d/pdzgkYHm1+gOzNZtqjvyiaDGJytRyMU54qkxpNzCx+PErzJ1/JqQ==} + '@vitest/runner@2.1.4': + resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} - '@vitest/snapshot@2.1.3': - resolution: {integrity: sha512-qWC2mWc7VAXmjAkEKxrScWHWFyCQx/cmiZtuGqMi+WwqQJ2iURsVY4ZfAK6dVo6K2smKRU6l3BPwqEBvhnpQGg==} + '@vitest/snapshot@2.1.4': + resolution: {integrity: sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==} '@vitest/spy@2.0.5': resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} - '@vitest/spy@2.1.3': - resolution: {integrity: sha512-Nb2UzbcUswzeSP7JksMDaqsI43Sj5+Kry6ry6jQJT4b5gAK+NS9NED6mDb8FlMRCX8m5guaHCDZmqYMMWRy5nQ==} + '@vitest/spy@2.1.4': + resolution: {integrity: sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==} '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} - '@vitest/utils@2.1.3': - resolution: {integrity: sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==} + '@vitest/utils@2.1.4': + resolution: {integrity: sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==} - '@volar/language-core@2.4.6': - resolution: {integrity: sha512-FxUfxaB8sCqvY46YjyAAV6c3mMIq/NWQMVvJ+uS4yxr1KzOvyg61gAuOnNvgCvO4TZ7HcLExBEsWcDu4+K4E8A==} + '@volar/language-core@2.4.8': + resolution: {integrity: sha512-K/GxMOXGq997bO00cdFhTNuR85xPxj0BEEAy+BaqqayTmy9Tmhfgmq2wpJcVspRhcwfgPoE2/mEJa26emUhG/g==} - '@volar/source-map@2.4.6': - resolution: {integrity: sha512-Nsh7UW2ruK+uURIPzjJgF0YRGP5CX9nQHypA2OMqdM2FKy7rh+uv3XgPnWPw30JADbKvZ5HuBzG4gSbVDYVtiw==} + '@volar/source-map@2.4.8': + resolution: {integrity: sha512-jeWJBkC/WivdelMwxKkpFL811uH/jJ1kVxa+c7OvG48DXc3VrP7pplSWPP2W1dLMqBxD+awRlg55FQQfiup4cA==} - '@volar/typescript@2.4.6': - resolution: {integrity: sha512-NMIrA7y5OOqddL9VtngPWYmdQU03htNKFtAYidbYfWA0TOhyGVd9tfcP4TsLWQ+RBWDZCbBqsr8xzU0ZOxYTCQ==} + '@volar/typescript@2.4.8': + resolution: {integrity: sha512-6xkIYJ5xxghVBhVywMoPMidDDAFT1OoQeXwa27HSgJ6AiIKRe61RXLoik+14Z7r0JvnblXVsjsRLmCr42SGzqg==} '@vue/compiler-core@3.5.12': resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} @@ -4030,8 +4006,8 @@ packages: '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - '@vue/language-core@2.1.6': - resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==} + '@vue/language-core@2.1.10': + resolution: {integrity: sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -4088,17 +4064,13 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true - acorn@8.13.0: - resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true @@ -4159,6 +4131,9 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + alien-signals@0.2.0: + resolution: {integrity: sha512-StlonZhBBrsPPwrDjiPAiVTf/rolxffLxVPT60Qv/t88BZ81BvUVzHgGqEFvJ1ii8HXtm1+zU2Icr59tfWEcag==} + ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -4175,10 +4150,6 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -4494,8 +4465,8 @@ packages: resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} engines: {node: '>=6.14.2'} - bullmq@5.21.2: - resolution: {integrity: sha512-LPuNoGaDc5CON2X6h4cJ2iVfd+B+02xubFU+IB/fyJHd+/HqUZRqnlYryUCAuhVHBhUKtA6oyVdJxqSa62i+og==} + bullmq@5.24.0: + resolution: {integrity: sha512-rNWOg4opfHOhZjWWr1aIjfw2nUFB91F9qwIT49CdRypL4FznmHAqamTnw2EcZlj2KeFswV50tisZwq/h1yMUAw==} buraha@0.0.1: resolution: {integrity: sha512-G563A0mTbzknm2jDaNxfZuNKIdeArs8T+XQN6t+KbmgnOoevXSXhKDkyf8Md/36Jrx99ikwbCag37VGe3myExQ==} @@ -4562,8 +4533,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001669: - resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==} + caniuse-lite@1.0.30001677: + resolution: {integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==} canonicalize@1.0.8: resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} @@ -4574,25 +4545,21 @@ packages: caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - cbor@9.0.2: - resolution: {integrity: sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==} - engines: {node: '>=16'} + cbor@10.0.2: + resolution: {integrity: sha512-wJjyC0Efg8yUKpq9/+5SIcUbmBtyw+ZbvE8nNwbfGEKUkrL01h5CQ7h9/OPWtSt5oikmx6E5MuB5rTFz8zmMww==} + engines: {node: '>=18'} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@5.1.1: - resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} chalk-template@1.1.0: resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} engines: {node: '>=14.16'} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} @@ -4621,8 +4588,8 @@ packages: character-parser@2.2.0: resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} - chart.js@4.4.5: - resolution: {integrity: sha512-CVVjg1RYTJV9OCC8WeJPMx8gsV8K6WIyIEQUE3ui4AR9Hfgls9URri6Ja3hyMVBbTF8Q2KFa19PE815gWcWhng==} + chart.js@4.4.6: + resolution: {integrity: sha512-8Y406zevUPbbIBA/HRk33khEmQPk5+cxeflWE/2rx1NJsjVWMPw/9mSP9rxHP5eqi6LNoPBVMfZHxbwLSgldYA==} engines: {pnpm: '>=8'} chartjs-adapter-date-fns@3.0.0: @@ -4669,8 +4636,8 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - chromatic@11.14.0: - resolution: {integrity: sha512-qt7xXpdrwssBtXWv30aW46HAK10bF4Ep7SMjtMQhD61Fg4IS9aImT0WFeig7utpXYHOx0eSysjwhz0cgYz9SDg==} + chromatic@11.16.5: + resolution: {integrity: sha512-wUEKXyu3GYmUg6Jq13uyRE9iC8ph5gbfDHdyHH0vQathkGQrcjHHdoxI/GXKIjU6d+xupLon8sxRV9NuZKTWbA==} hasBin: true peerDependencies: '@chromatic-com/cypress': ^0.*.* || ^1.0.0 @@ -4745,16 +4712,10 @@ packages: collect-v8-coverage@1.0.2: resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -4809,9 +4770,6 @@ packages: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} @@ -4819,9 +4777,6 @@ packages: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} - computeds@0.0.1: - resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -4852,8 +4807,8 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-signature@1.2.1: - resolution: {integrity: sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==} + cookie-signature@1.2.2: + resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} cookie@1.0.1: @@ -4973,8 +4928,8 @@ packages: cwise-compiler@1.1.3: resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==} - cypress@13.15.0: - resolution: {integrity: sha512-53aO7PwOfi604qzOkCSzNlWquCynLlKE/rmmpSPcziRH6LNfaDUAklQT6WJIsD8ywxlIy+uVZsnTMCCQVd2kTw==} + cypress@13.15.1: + resolution: {integrity: sha512-DwUFiKXo4lef9kA0M4iEhixFqoqp2hw8igr0lTqafRb9qtU3X0XGxKbkSYsUFdkrAkphc7MPDxoNPhk5pj9PVg==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -5213,8 +5168,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.42: - resolution: {integrity: sha512-gIfKavKDw1mhvic9nbzA5lZw8QSHpdMwLwXc0cWidQz9B15pDoDdDH4boIatuFfeoCatb3a/NGL6CYRVFxGZ9g==} + electron-to-chromium@1.5.52: + resolution: {integrity: sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -5234,9 +5189,6 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -5269,9 +5221,6 @@ packages: es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - es-module-lexer@1.5.4: - resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -5287,6 +5236,9 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} + es-toolkit@1.26.1: + resolution: {integrity: sha512-E3H14lHWk8JpupVpIRA1gfNF4r953abHTFW+X1Rp7zl7eG37ksuthfEA4FinyVF/Y807vzzfQS1nubeZk2LTVA==} + es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} @@ -5329,11 +5281,6 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true - eslint-formatter-pretty@4.1.0: resolution: {integrity: sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==} engines: {node: '>=10'} @@ -5372,8 +5319,8 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-vue@9.29.1: - resolution: {integrity: sha512-MH/MbVae4HV/tM8gKAVWMPJbYgW04CK7SuzYRrlNERpxbO0P3+Zdsa2oAcFBW6xNu7W6lIkGOsFAMCRTYmrlWQ==} + eslint-plugin-vue@9.30.0: + resolution: {integrity: sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -5473,8 +5420,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - execa@9.4.1: - resolution: {integrity: sha512-5eo/BRqZm3GYce+1jqX/tJ7duA2AnE39i88fuedNFUV8XxGxUpF3aWkBRfbUcjV49gCkvS/pzc0YrCPhaIewdg==} + execa@9.5.1: + resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==} engines: {node: ^18.19.0 || >=20.5.0} executable@4.1.1: @@ -5485,6 +5432,10 @@ packages: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} + expect-type@1.1.0: + resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + engines: {node: '>=12.0.0'} + expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5638,10 +5589,6 @@ packages: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} - find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} - find-my-way@9.1.0: resolution: {integrity: sha512-Y5jIsuYR4BwWDYYQ2A/RWWE6gD8a0FMgtU+HOq1WKku+Cwdz8M1v8wcAmRXXM1/iqtoqg06v+LjAxMYbCjViMw==} engines: {node: '>=14'} @@ -5726,10 +5673,6 @@ packages: from@0.1.7: resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -5825,9 +5768,6 @@ packages: resolution: {integrity: sha512-++rNGpDBgWQ9eXj9JfTBLHMUEd7lDOdzIvFyHQM9yL8ffxkcg4G6jWmsgu/r59Uq6nHc3wcVwtgy3geLnIWunQ==} engines: {node: '>= 0.8.0'} - github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -5889,8 +5829,8 @@ packages: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} engines: {node: '>=14.16'} - got@14.4.3: - resolution: {integrity: sha512-iTC0Z87yxSijWTh/IpvGpwOhIQK7+GgWkYrMRoN/hB9qeRj9RPuLGODwevs0p5idUf7nrxCVa5IlOmK3b8z+KA==} + got@14.4.4: + resolution: {integrity: sha512-tqiF7eSgTBwQkxb1LxsEpva8TaMYVisbhplrFVmw9GQE3855Z+MH/mnsXLLOkDxR6hZJRFMj5VTAZ8lmTF8ZOA==} engines: {node: '>=20'} graceful-fs@4.2.11: @@ -5910,8 +5850,8 @@ packages: resolution: {integrity: sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==} engines: {node: '>=0.8.0'} - happy-dom@15.7.4: - resolution: {integrity: sha512-r1vadDYGMtsHAAsqhDuk4IpPvr6N8MGKy5ntBo7tSdim+pWDxus2PNqOcOt8LuDZ4t3KJHE+gCuzupcx/GKnyQ==} + happy-dom@15.9.0: + resolution: {integrity: sha512-p+6ySXcpvjVW0Xetv6e8ccT2txbDpHE0RfZOEE84tQ8ESL1nlzCjvS6fZD77DkYXE540D+2N20hhFeBN6B/CJA==} engines: {node: '>=18.0.0'} har-schema@2.0.0: @@ -5963,18 +5903,9 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-heading-rank@3.0.0: - resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} - - hast-util-is-element@3.0.0: - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} - hast-util-to-html@9.0.3: resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} - hast-util-to-string@3.0.1: - resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} - hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} @@ -6016,10 +5947,6 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} @@ -6205,10 +6132,6 @@ packages: resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} engines: {node: '>=8'} - is-absolute-url@4.0.1: - resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -6785,8 +6708,8 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - light-my-request@6.1.0: - resolution: {integrity: sha512-+NFuhlOGoEwxeQfJ/pobkVFxcnKyDtiX847hLjuB/IzBxIl3q4VJeFI8uRCgb3AlTWL1lgOr+u5+8QdUcr33ng==} + light-my-request@6.3.0: + resolution: {integrity: sha512-bWTAPJmeWQH5suJNYwG0f5cs0p6ho9e6f1Ppoxv5qMosY+s9Ir2+ZLvvHcgA7VTDop4zl/NCHhOVVqU+kd++Ow==} lilconfig@3.1.2: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} @@ -6868,8 +6791,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.0.1: - resolution: {integrity: sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==} + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} engines: {node: 20 || >=22} lru-cache@4.1.5: @@ -6935,20 +6858,14 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - markdown-to-jsx@7.5.0: - resolution: {integrity: sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==} - engines: {node: '>= 10'} - peerDependencies: - react: '>= 0.14.0' - matter-js@0.20.0: resolution: {integrity: sha512-iC9fYR7zVT3HppNnsFsp9XOoQdQN2tUyfaKg4CHLH8bN+j6GT4Gw7IH2rP0tflAebrHFw730RR3DkVSZRX8hwA==} mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} - mdast-util-from-markdown@2.0.1: - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} @@ -6974,8 +6891,8 @@ packages: mdast-util-to-hast@13.2.0: resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} @@ -6990,8 +6907,8 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - meilisearch@0.44.1: - resolution: {integrity: sha512-ZTZYBmomtRwjaWbvU8U8ct04g/YnrNOlvchogJOPgHcQIQBfjdbAvMJ8mLhuZEzpioYXIT6Cv+FcE150pc2+nw==} + meilisearch@0.45.0: + resolution: {integrity: sha512-+zCzEqE+CumY4icB0Vox180adZqaNtnr60hJWGiEdmol5eWmksfY8rYsTcz87styXC2ZOg+2yF56gdH6oyIBTA==} memoizerific@1.11.3: resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} @@ -7235,16 +7152,16 @@ packages: resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==} hasBin: true - msgpackr@1.11.0: - resolution: {integrity: sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==} + msgpackr@1.11.2: + resolution: {integrity: sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==} - msw-storybook-addon@2.0.3: - resolution: {integrity: sha512-CzHmGO32JeOPnyUnRWnB0PFTXCY1HKfHiEB/6fYoUYiFm2NYosLjzs9aBd3XJUryYEN0avJqMNh7nCRDxE5JjQ==} + msw-storybook-addon@2.0.4: + resolution: {integrity: sha512-rstO8+r01sRMg6PPP7OxM8LG5/6r4+wmp2uapHeHvm9TQQRHvpPXOU/Y9/Somysz8Oi4Ea1aummXH3JlnP2LIA==} peerDependencies: msw: ^2.0.0 - msw@2.5.0: - resolution: {integrity: sha512-DwIGQV/XFzkseQD7Ux3rPWMRa7DpozicRQ87QLX9Gzik2xyqcXvtvlBEUs57RziTBZPe/QzaKSl92fJVdxxt2g==} + msw@2.6.0: + resolution: {integrity: sha512-n3tx2w0MZ3H4pxY0ozrQ4sNPzK/dGtlr2cIIyuEsgq2Bhy4wvcW6ZH2w/gXM9+MEUY6HC1fWhqtcXDxVZr5Jxw==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -7263,9 +7180,9 @@ packages: multi-integer-range@3.0.0: resolution: {integrity: sha512-uQzynjVJ8F7x5wjaK0g4Ybhy2TvO/pk96+YHyS5g1W4GuUEV6HMebZ8HcRwWgKIRCUT2MLbM5uCKwYcAqkS+8Q==} - mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} mylas@2.1.13: resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} @@ -7274,16 +7191,13 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nan@2.22.0: - resolution: {integrity: sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==} - nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.0.7: - resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + nanoid@5.0.8: + resolution: {integrity: sha512-TcJPw+9RV9dibz1hHUzlLVy8N4X9TnwirAjrU08Juo6BNKggzVfP2ZJ/3ZUSq15Xl5i85i+Z89XBO90pB2PghQ==} engines: {node: ^18 || >=20} hasBin: true @@ -7315,10 +7229,6 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} - nested-property@4.0.0: resolution: {integrity: sha512-yFehXNWRs4cM0+dz7QxCd06hTbWbSkV0ISsqBfkntU6TOY4Qm3Q88fRRLOddkGh2Qq6dZvnKVAahfhjcUvLnyA==} @@ -7389,8 +7299,8 @@ packages: node-xmllint@1.0.0: resolution: {integrity: sha512-71UV2HRUP+djvHpdyatiuv+Y1o8hI4ZI7bMfuuoACMLR1JJCErM4WXAclNeHd6BgHXkqeqnnAk3wpDkSQWmFXw==} - nodemailer@6.9.15: - resolution: {integrity: sha512-AHf04ySLC6CIfuRtRiEYtGEXgRfa6INgWGluDhnxTZhHSKvrBu7lc1VVchQ0d8nPc4cFaZoPq8vkyNoZr0TpGQ==} + nodemailer@6.9.16: + resolution: {integrity: sha512-psAuZdTIRN08HKVd/E8ObdV6NO7NTBY3KsC30F7M4H1OnmLCUNaS56FpYxyb26zWLSyYF9Ozch9KYHhHegsiOQ==} engines: {node: '>=6.0.0'} nodemon@3.1.7: @@ -7657,8 +7567,8 @@ packages: parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - parse5@7.2.0: - resolution: {integrity: sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA==} + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} @@ -7765,8 +7675,8 @@ packages: resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} engines: {node: '>=10'} - pg@8.13.0: - resolution: {integrity: sha512-34wkUTh3SxTClfoHB3pQ7bIMvw9dpFU1audQQeZG837fmHfHpr14n/AELVDoOYVDW2h5RDWU78tFjkD+erSBsw==} + pg@8.13.1: + resolution: {integrity: sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==} engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -7788,6 +7698,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pid-port@1.0.0: resolution: {integrity: sha512-LSNBeKChRPA4Xlrs6+zV588G1hSrFvANtPV5rt/5MPfSPK3V9XPWxx1d29svsrOjngT9ifLisXWCLS7DvO9ZhQ==} engines: {node: '>=18'} @@ -8123,9 +8037,6 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} @@ -8273,12 +8184,6 @@ packages: resolution: {integrity: sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==} engines: {node: '>=12'} - react-colorful@5.6.1: - resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - react-docgen-typescript@2.2.2: resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==} peerDependencies: @@ -8293,21 +8198,9 @@ packages: peerDependencies: react: ^18.3.1 - react-element-to-jsx-string@15.0.0: - resolution: {integrity: sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==} - peerDependencies: - react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react-is@18.1.0: - resolution: {integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==} - react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -8387,19 +8280,13 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex@4.3.3: - resolution: {integrity: sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==} + regex@4.4.0: + resolution: {integrity: sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==} regexp.prototype.flags@1.5.3: resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} - rehype-external-links@3.0.0: - resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} - - rehype-slug@6.0.0: - resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} - remark-gfm@4.0.0: resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} @@ -8492,8 +8379,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rollup@4.24.0: - resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} + rollup@4.24.4: + resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -8539,8 +8426,8 @@ packages: sanitize-html@2.13.1: resolution: {integrity: sha512-ZXtKq89oue4RP7abL9wp/9URJcqQNABB5GGJ2acW1sdO8JTVl92f4ygD7Yc9Ze09VAZhnt2zegeU0tbNsdcLYg==} - sass@1.80.3: - resolution: {integrity: sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==} + sass@1.80.6: + resolution: {integrity: sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==} engines: {node: '>=14.0.0'} hasBin: true @@ -8641,8 +8528,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.22.0: - resolution: {integrity: sha512-/t5LlhNs+UOKQCYBtl5ZsH/Vclz73GIqT2yQsCBygr8L/ppTdmpL4w3kPLoZJbMKVWtoG77Ue1feOjZfDxvMkw==} + shiki@1.22.2: + resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==} side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} @@ -8767,18 +8654,6 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - - socks-proxy-agent@8.0.4: - resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} - engines: {node: '>= 14'} - - socks@2.8.3: - resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} - engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - sonic-boom@4.2.0: resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} @@ -8889,9 +8764,14 @@ packages: react-dom: optional: true - storybook@8.3.6: - resolution: {integrity: sha512-9GVbtej6ZzPRUM7KRQ7848506FfHrUiJGqPuIQdoSJd09EmuEoLjmLAgEOmrHBQKgGYMaM7Vh9GsTLim6vwZTQ==} + storybook@8.4.2: + resolution: {integrity: sha512-GMCgyAulmLNrkUtDkCpFO4SB77YrpiIxq6e5tzaQdXEuaDu1mdNwOuP3VG7nE2FzxmqDvagSgriM68YW9iFaZA==} hasBin: true + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} @@ -9071,9 +8951,6 @@ packages: resolution: {integrity: sha512-+HRtZ40Vc+6YfCDWCeAsixwxJgMbPY4HHuTgzPYH3JXvqHWUlsCfy+ylXlAKhFNcuLp4xVeWeFBUhDk+7KYUvQ==} engines: {node: '>=14.16'} - telejson@7.2.0: - resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} - terser@5.36.0: resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} engines: {node: '>=10'} @@ -9106,8 +8983,8 @@ packages: thread-stream@3.1.0: resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} - three@0.169.0: - resolution: {integrity: sha512-Ed906MA3dR4TS5riErd4QBsRGPcx+HBDX2O5yYE5GqJeFQTPU+M56Va/f/Oph9X7uZo3W3o4l2ZhBZ6f6qUv0w==} + three@0.170.0: + resolution: {integrity: sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==} throttle-debounce@5.0.2: resolution: {integrity: sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==} @@ -9146,11 +9023,11 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tldts-core@6.1.53: - resolution: {integrity: sha512-IleS872aGdTB/UtocD2dSZBnQi/nqMIZxxezVgfcKKjw6+G2hJGzFw9buIDJO2MVJyEJe3rCAdyMTl2yvGMMrQ==} + tldts-core@6.1.58: + resolution: {integrity: sha512-dR936xmhBm7AeqHIhCWwK765gZ7dFyL+IqLSFAjJbFlUXGMLCb8i2PzlzaOuWBuplBTaBYseSb565nk/ZEM0Bg==} - tldts@6.1.53: - resolution: {integrity: sha512-4uCStuOjPFaY2/LUjTSwdnJTC82W/gvSFL6FoTC9ehNOHboA9cyO3wX1erh2yGofVls37OdXr5sQLEfL5hS1TA==} + tldts@6.1.58: + resolution: {integrity: sha512-MQJrJhjHOYGYb8DobR6Y4AdDbd4TYkyQ+KBDVc5ODzs1cbrvPpfN1IemYi9jfipJ/vR1YWvrDli0hg1y19VRoA==} hasBin: true tmp@0.2.3: @@ -9212,6 +9089,10 @@ packages: trace-redirect@1.0.6: resolution: {integrity: sha512-UUfa1DjjU5flcjMdaFIiIEGDTyu2y/IiMjOX4uGXa7meKBS4vD4f2Uy/tken9Qkd4Jsm4sRsfZcIIPqrRVF3Mg==} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -9226,8 +9107,8 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + ts-api-utils@1.4.0: + resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -9261,11 +9142,11 @@ packages: tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - tslib@2.8.0: - resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.19.1: - resolution: {integrity: sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA==} + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} engines: {node: '>=18.0.0'} hasBin: true @@ -9482,8 +9363,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin@1.14.1: - resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} + unplugin@1.15.0: + resolution: {integrity: sha512-jTPIs63W+DUEDW207ztbaoO7cQ4p5aVaB823LSlxpsFEU3Mykwxf3ZGC/wzxFJeZlASZYgVrWeo7LgOrqJZ8RA==} engines: {node: '>=14.0.0'} peerDependencies: webpack-sources: ^3 @@ -9507,8 +9388,8 @@ packages: url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - utf-8-validate@6.0.4: - resolution: {integrity: sha512-xu9GQDeFp+eZ6LnCywXN/zBancWvOpUMzgjLPSjy4BRHSmTelvn2E0DG0o1sTiw5hkCKBHo8rwSKncfRfv2EEQ==} + utf-8-validate@6.0.5: + resolution: {integrity: sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA==} engines: {node: '>=6.14.2'} util-deprecate@1.0.2: @@ -9521,8 +9402,8 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - uuid@10.0.0: - resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + uuid@11.0.2: + resolution: {integrity: sha512-14FfcOJmqdjbBPdDjFQyk/SdT4NySW4eM0zcG+HqbHP5jzuH56xO3J1DGhgs/cEMCfwYi3HQI1gnTO62iaG+tQ==} hasBin: true uuid@3.4.0: @@ -9568,16 +9449,16 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@2.1.3: - resolution: {integrity: sha512-I1JadzO+xYX887S39Do+paRePCKoiDrWRRjp9kkG5he0t7RXNvPAJPCQSJqbGN4uCrFFeS3Kj3sLqY8NMYBEdA==} + vite-node@2.1.4: + resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true vite-plugin-turbosnap@1.0.3: resolution: {integrity: sha512-p4D8CFVhZS412SyQX125qxyzOgIFouwOcvjZWk6bQbNPR1wtaEzFT6jZxAjf1dejlGqa6fqHcuCvQea6EWUkUA==} - vite@5.4.9: - resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==} + vite@5.4.10: + resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -9613,15 +9494,15 @@ packages: peerDependencies: vitest: '>=2.0.0' - vitest@2.1.3: - resolution: {integrity: sha512-Zrxbg/WiIvUP2uEzelDNTXmEMJXuzJ1kCpbDvaKByFA9MNeO95V+7r/3ti0qzJzrxdyuUw5VduN7k+D3VmVOSA==} + vitest@2.1.4: + resolution: {integrity: sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.3 - '@vitest/ui': 2.1.3 + '@vitest/browser': 2.1.4 + '@vitest/ui': 2.1.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -9666,16 +9547,16 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - vue-component-meta@2.1.6: - resolution: {integrity: sha512-N5zReatWQTNqULhatFib69K82g5UhDERVobeqrT5S6Uk2QoCeYbsSY8nHRUwJFywE2iXRFN4B+XPhI+piZfC6w==} + vue-component-meta@2.1.10: + resolution: {integrity: sha512-YEFSau36lLCJNvoM6eynAcq891Y6HKIEdEk3PCzCyNVySeYJAXgE/9iCYqQzLtBJlKg/bBpImz8VbUZsh4N/7Q==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - vue-component-type-helpers@2.1.6: - resolution: {integrity: sha512-ng11B8B/ZADUMMOsRbqv0arc442q7lifSubD0v8oDXIFoMg/mXwAPUunrroIDkY+mcD0dHKccdaznSVp8EoX3w==} + vue-component-type-helpers@2.1.10: + resolution: {integrity: sha512-lfgdSLQKrUmADiSV6PbBvYgQ33KF3Ztv6gP85MfGaGaSGMTXORVaHT1EHfsqCgzRNBstPKYDmvAV9Do5CmJ07A==} vue-demi@0.14.10: resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} @@ -9699,13 +9580,18 @@ packages: peerDependencies: eslint: '>=6.0.0' + vue-gtag@2.0.1: + resolution: {integrity: sha512-aM4A58FVL0wV2ptYi+xzAjeg+pQVRyUcfBc5UkXAwQrR4t3WBhor50Izp2I+3Oo7+l+vWJ7u78DGcNzReb8S/A==} + peerDependencies: + vue: ^3.0.0 + vue-inbrowser-compiler-independent-utils@4.71.1: resolution: {integrity: sha512-K3wt3iVmNGaFEOUR4JIThQRWfqokxLfnPslD41FDZB2ajXp789+wCqJyGYlIFsvEQ2P61PInw6/ph5iiqg51gg==} peerDependencies: vue: '>=2' - vue-tsc@2.1.6: - resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==} + vue-tsc@2.1.10: + resolution: {integrity: sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==} hasBin: true peerDependencies: typescript: '>=5.0.0' @@ -9986,76 +9872,76 @@ snapshots: '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.667.0 - tslib: 2.8.0 + '@aws-sdk/types': 3.679.0 + tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.667.0 - tslib: 2.8.0 + '@aws-sdk/types': 3.679.0 + tslib: 2.8.1 '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-locate-window': 3.679.0 '@smithy/util-utf8': 2.3.0 - tslib: 2.8.0 + tslib: 2.8.1 '@aws-crypto/sha256-browser@5.2.0': dependencies: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-locate-window': 3.679.0 '@smithy/util-utf8': 2.3.0 - tslib: 2.8.0 + tslib: 2.8.1 '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.667.0 - tslib: 2.8.0 + '@aws-sdk/types': 3.679.0 + tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/util-utf8': 2.3.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/client-s3@3.676.0': + '@aws-sdk/client-s3@3.685.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.675.0(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/client-sts': 3.675.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/credential-provider-node': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0))(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/middleware-bucket-endpoint': 3.667.0 - '@aws-sdk/middleware-expect-continue': 3.667.0 - '@aws-sdk/middleware-flexible-checksums': 3.669.0 - '@aws-sdk/middleware-host-header': 3.667.0 - '@aws-sdk/middleware-location-constraint': 3.667.0 - '@aws-sdk/middleware-logger': 3.667.0 - '@aws-sdk/middleware-recursion-detection': 3.667.0 - '@aws-sdk/middleware-sdk-s3': 3.674.0 - '@aws-sdk/middleware-ssec': 3.667.0 - '@aws-sdk/middleware-user-agent': 3.669.0 - '@aws-sdk/region-config-resolver': 3.667.0 - '@aws-sdk/signature-v4-multi-region': 3.674.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-endpoints': 3.667.0 - '@aws-sdk/util-user-agent-browser': 3.675.0 - '@aws-sdk/util-user-agent-node': 3.669.0 - '@aws-sdk/xml-builder': 3.662.0 + '@aws-sdk/client-sso-oidc': 3.682.0(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/client-sts': 3.682.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-node': 3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0))(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/middleware-bucket-endpoint': 3.679.0 + '@aws-sdk/middleware-expect-continue': 3.679.0 + '@aws-sdk/middleware-flexible-checksums': 3.682.0 + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-location-constraint': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-sdk-s3': 3.685.0 + '@aws-sdk/middleware-ssec': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.682.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/signature-v4-multi-region': 3.685.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.682.0 + '@aws-sdk/xml-builder': 3.679.0 '@smithy/config-resolver': 3.0.10 '@smithy/core': 2.5.1 '@smithy/eventstream-serde-browser': 3.0.11 @@ -10089,26 +9975,26 @@ snapshots: '@smithy/util-stream': 3.2.1 '@smithy/util-utf8': 3.0.0 '@smithy/util-waiter': 3.1.7 - tslib: 2.8.0 + tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0)': + '@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.675.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/credential-provider-node': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0))(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/middleware-host-header': 3.667.0 - '@aws-sdk/middleware-logger': 3.667.0 - '@aws-sdk/middleware-recursion-detection': 3.667.0 - '@aws-sdk/middleware-user-agent': 3.669.0 - '@aws-sdk/region-config-resolver': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-endpoints': 3.667.0 - '@aws-sdk/util-user-agent-browser': 3.675.0 - '@aws-sdk/util-user-agent-node': 3.669.0 + '@aws-sdk/client-sts': 3.682.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-node': 3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0))(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.682.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.682.0 '@smithy/config-resolver': 3.0.10 '@smithy/core': 2.5.1 '@smithy/fetch-http-handler': 3.2.9 @@ -10134,24 +10020,24 @@ snapshots: '@smithy/util-middleware': 3.0.8 '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.675.0': + '@aws-sdk/client-sso@3.682.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/middleware-host-header': 3.667.0 - '@aws-sdk/middleware-logger': 3.667.0 - '@aws-sdk/middleware-recursion-detection': 3.667.0 - '@aws-sdk/middleware-user-agent': 3.669.0 - '@aws-sdk/region-config-resolver': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-endpoints': 3.667.0 - '@aws-sdk/util-user-agent-browser': 3.675.0 - '@aws-sdk/util-user-agent-node': 3.669.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.682.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.682.0 '@smithy/config-resolver': 3.0.10 '@smithy/core': 2.5.1 '@smithy/fetch-http-handler': 3.2.9 @@ -10177,26 +10063,26 @@ snapshots: '@smithy/util-middleware': 3.0.8 '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.675.0': + '@aws-sdk/client-sts@3.682.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.675.0(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/core': 3.667.0 - '@aws-sdk/credential-provider-node': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0))(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/middleware-host-header': 3.667.0 - '@aws-sdk/middleware-logger': 3.667.0 - '@aws-sdk/middleware-recursion-detection': 3.667.0 - '@aws-sdk/middleware-user-agent': 3.669.0 - '@aws-sdk/region-config-resolver': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-endpoints': 3.667.0 - '@aws-sdk/util-user-agent-browser': 3.675.0 - '@aws-sdk/util-user-agent-node': 3.669.0 + '@aws-sdk/client-sso-oidc': 3.682.0(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-node': 3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0))(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/middleware-host-header': 3.679.0 + '@aws-sdk/middleware-logger': 3.679.0 + '@aws-sdk/middleware-recursion-detection': 3.679.0 + '@aws-sdk/middleware-user-agent': 3.682.0 + '@aws-sdk/region-config-resolver': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 + '@aws-sdk/util-user-agent-browser': 3.679.0 + '@aws-sdk/util-user-agent-node': 3.682.0 '@smithy/config-resolver': 3.0.10 '@smithy/core': 2.5.1 '@smithy/fetch-http-handler': 3.2.9 @@ -10222,13 +10108,13 @@ snapshots: '@smithy/util-middleware': 3.0.8 '@smithy/util-retry': 3.0.8 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.667.0': + '@aws-sdk/core@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/core': 2.5.1 '@smithy/node-config-provider': 3.1.9 '@smithy/property-provider': 3.1.8 @@ -10238,20 +10124,20 @@ snapshots: '@smithy/types': 3.6.0 '@smithy/util-middleware': 3.0.8 fast-xml-parser: 4.4.1 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.667.0': + '@aws-sdk/credential-provider-env@3.679.0': dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 '@smithy/property-provider': 3.1.8 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.667.0': + '@aws-sdk/credential-provider-http@3.679.0': dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 '@smithy/fetch-http-handler': 3.2.9 '@smithy/node-http-handler': 3.2.5 '@smithy/property-provider': 3.1.8 @@ -10259,151 +10145,151 @@ snapshots: '@smithy/smithy-client': 3.4.2 '@smithy/types': 3.6.0 '@smithy/util-stream': 3.2.1 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0))(@aws-sdk/client-sts@3.675.0)': + '@aws-sdk/credential-provider-ini@3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0))(@aws-sdk/client-sts@3.682.0)': dependencies: - '@aws-sdk/client-sts': 3.675.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/credential-provider-env': 3.667.0 - '@aws-sdk/credential-provider-http': 3.667.0 - '@aws-sdk/credential-provider-process': 3.667.0 - '@aws-sdk/credential-provider-sso': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0)) - '@aws-sdk/credential-provider-web-identity': 3.667.0(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/types': 3.667.0 + '@aws-sdk/client-sts': 3.682.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/credential-provider-env': 3.679.0 + '@aws-sdk/credential-provider-http': 3.679.0 + '@aws-sdk/credential-provider-process': 3.679.0 + '@aws-sdk/credential-provider-sso': 3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0)) + '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/types': 3.679.0 '@smithy/credential-provider-imds': 3.2.5 '@smithy/property-provider': 3.1.8 '@smithy/shared-ini-file-loader': 3.1.9 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-node@3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0))(@aws-sdk/client-sts@3.675.0)': + '@aws-sdk/credential-provider-node@3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0))(@aws-sdk/client-sts@3.682.0)': dependencies: - '@aws-sdk/credential-provider-env': 3.667.0 - '@aws-sdk/credential-provider-http': 3.667.0 - '@aws-sdk/credential-provider-ini': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0))(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/credential-provider-process': 3.667.0 - '@aws-sdk/credential-provider-sso': 3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0)) - '@aws-sdk/credential-provider-web-identity': 3.667.0(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/types': 3.667.0 + '@aws-sdk/credential-provider-env': 3.679.0 + '@aws-sdk/credential-provider-http': 3.679.0 + '@aws-sdk/credential-provider-ini': 3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0))(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/credential-provider-process': 3.679.0 + '@aws-sdk/credential-provider-sso': 3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0)) + '@aws-sdk/credential-provider-web-identity': 3.679.0(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/types': 3.679.0 '@smithy/credential-provider-imds': 3.2.5 '@smithy/property-provider': 3.1.8 '@smithy/shared-ini-file-loader': 3.1.9 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/client-sts' - aws-crt - '@aws-sdk/credential-provider-process@3.667.0': + '@aws-sdk/credential-provider-process@3.679.0': dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 '@smithy/property-provider': 3.1.8 '@smithy/shared-ini-file-loader': 3.1.9 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.675.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0))': + '@aws-sdk/credential-provider-sso@3.682.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0))': dependencies: - '@aws-sdk/client-sso': 3.675.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/token-providers': 3.667.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0)) - '@aws-sdk/types': 3.667.0 + '@aws-sdk/client-sso': 3.682.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/token-providers': 3.679.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0)) + '@aws-sdk/types': 3.679.0 '@smithy/property-provider': 3.1.8 '@smithy/shared-ini-file-loader': 3.1.9 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-web-identity@3.667.0(@aws-sdk/client-sts@3.675.0)': + '@aws-sdk/credential-provider-web-identity@3.679.0(@aws-sdk/client-sts@3.682.0)': dependencies: - '@aws-sdk/client-sts': 3.675.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 + '@aws-sdk/client-sts': 3.682.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 '@smithy/property-provider': 3.1.8 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/lib-storage@3.676.0(@aws-sdk/client-s3@3.676.0)': + '@aws-sdk/lib-storage@3.685.0(@aws-sdk/client-s3@3.685.0)': dependencies: - '@aws-sdk/client-s3': 3.676.0 + '@aws-sdk/client-s3': 3.685.0 '@smithy/abort-controller': 3.1.6 '@smithy/middleware-endpoint': 3.2.1 '@smithy/smithy-client': 3.4.2 buffer: 5.6.0 events: 3.3.0 stream-browserify: 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-bucket-endpoint@3.667.0': + '@aws-sdk/middleware-bucket-endpoint@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-arn-parser': 3.568.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-arn-parser': 3.679.0 '@smithy/node-config-provider': 3.1.9 '@smithy/protocol-http': 4.1.5 '@smithy/types': 3.6.0 '@smithy/util-config-provider': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.667.0': + '@aws-sdk/middleware-expect-continue@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/protocol-http': 4.1.5 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.669.0': + '@aws-sdk/middleware-flexible-checksums@3.682.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 '@smithy/is-array-buffer': 3.0.0 '@smithy/node-config-provider': 3.1.9 '@smithy/protocol-http': 4.1.5 '@smithy/types': 3.6.0 '@smithy/util-middleware': 3.0.8 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.667.0': + '@aws-sdk/middleware-host-header@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/protocol-http': 4.1.5 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.667.0': + '@aws-sdk/middleware-location-constraint@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.667.0': + '@aws-sdk/middleware-logger@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.667.0': + '@aws-sdk/middleware-recursion-detection@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/protocol-http': 4.1.5 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.674.0': + '@aws-sdk/middleware-sdk-s3@3.685.0': dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-arn-parser': 3.568.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-arn-parser': 3.679.0 '@smithy/core': 2.5.1 '@smithy/node-config-provider': 3.1.9 '@smithy/protocol-http': 4.1.5 @@ -10414,110 +10300,111 @@ snapshots: '@smithy/util-middleware': 3.0.8 '@smithy/util-stream': 3.2.1 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.667.0': + '@aws-sdk/middleware-ssec@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.669.0': + '@aws-sdk/middleware-user-agent@3.682.0': dependencies: - '@aws-sdk/core': 3.667.0 - '@aws-sdk/types': 3.667.0 - '@aws-sdk/util-endpoints': 3.667.0 + '@aws-sdk/core': 3.679.0 + '@aws-sdk/types': 3.679.0 + '@aws-sdk/util-endpoints': 3.679.0 '@smithy/core': 2.5.1 '@smithy/protocol-http': 4.1.5 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/region-config-resolver@3.667.0': + '@aws-sdk/region-config-resolver@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/node-config-provider': 3.1.9 '@smithy/types': 3.6.0 '@smithy/util-config-provider': 3.0.0 '@smithy/util-middleware': 3.0.8 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.674.0': + '@aws-sdk/signature-v4-multi-region@3.685.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.674.0 - '@aws-sdk/types': 3.667.0 + '@aws-sdk/middleware-sdk-s3': 3.685.0 + '@aws-sdk/types': 3.679.0 '@smithy/protocol-http': 4.1.5 '@smithy/signature-v4': 4.2.1 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/token-providers@3.667.0(@aws-sdk/client-sso-oidc@3.675.0(@aws-sdk/client-sts@3.675.0))': + '@aws-sdk/token-providers@3.679.0(@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0))': dependencies: - '@aws-sdk/client-sso-oidc': 3.675.0(@aws-sdk/client-sts@3.675.0) - '@aws-sdk/types': 3.667.0 + '@aws-sdk/client-sso-oidc': 3.682.0(@aws-sdk/client-sts@3.682.0) + '@aws-sdk/types': 3.679.0 '@smithy/property-provider': 3.1.8 '@smithy/shared-ini-file-loader': 3.1.9 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/types@3.667.0': + '@aws-sdk/types@3.679.0': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/util-arn-parser@3.568.0': + '@aws-sdk/util-arn-parser@3.679.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.667.0': + '@aws-sdk/util-endpoints@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/types': 3.6.0 '@smithy/util-endpoints': 2.1.4 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/util-locate-window@3.568.0': + '@aws-sdk/util-locate-window@3.679.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.675.0': + '@aws-sdk/util-user-agent-browser@3.679.0': dependencies: - '@aws-sdk/types': 3.667.0 + '@aws-sdk/types': 3.679.0 '@smithy/types': 3.6.0 bowser: 2.11.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.669.0': + '@aws-sdk/util-user-agent-node@3.682.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.669.0 - '@aws-sdk/types': 3.667.0 + '@aws-sdk/middleware-user-agent': 3.682.0 + '@aws-sdk/types': 3.679.0 '@smithy/node-config-provider': 3.1.9 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@aws-sdk/xml-builder@3.662.0': + '@aws-sdk/xml-builder@3.679.0': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 - '@babel/code-frame@7.25.9': + '@babel/code-frame@7.26.2': dependencies: - '@babel/highlight': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.25.9': {} + '@babel/compat-data@7.26.2': {} - '@babel/core@7.25.9': + '@babel/core@7.26.0': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.25.9 - '@babel/generator': 7.25.9 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.25.9(@babel/core@7.25.9) - '@babel/helpers': 7.25.9 - '@babel/parser': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.2 '@babel/template': 7.25.9 '@babel/traverse': 7.25.9 - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 convert-source-map: 2.0.0 debug: 4.3.7(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -10526,16 +10413,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.25.9': + '@babel/generator@7.26.2': dependencies: - '@babel/types': 7.25.9 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 '@babel/helper-compilation-targets@7.25.9': dependencies: - '@babel/compat-data': 7.25.9 + '@babel/compat-data': 7.26.2 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.2 lru-cache: 5.1.1 @@ -10544,15 +10432,14 @@ snapshots: '@babel/helper-module-imports@7.25.9': dependencies: '@babel/traverse': 7.25.9 - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.9(@babel/core@7.25.9)': + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 - '@babel/helper-simple-access': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.25.9 transitivePeerDependencies: @@ -10560,173 +10447,157 @@ snapshots: '@babel/helper-plugin-utils@7.25.9': {} - '@babel/helper-simple-access@7.25.9': - dependencies: - '@babel/traverse': 7.25.9 - '@babel/types': 7.25.9 - transitivePeerDependencies: - - supports-color - '@babel/helper-string-parser@7.25.9': {} '@babel/helper-validator-identifier@7.25.9': {} '@babel/helper-validator-option@7.25.9': {} - '@babel/helpers@7.25.9': + '@babel/helpers@7.26.0': dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 - '@babel/highlight@7.25.9': + '@babel/parser@7.26.2': dependencies: - '@babel/helper-validator-identifier': 7.25.9 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.1 + '@babel/types': 7.26.0 - '@babel/parser@7.25.9': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': dependencies: - '@babel/types': 7.25.9 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.9)': - dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.9)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.9)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.9)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-attributes@7.25.9(@babel/core@7.25.9)': + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.9)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.9)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.25.9)': + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.9)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.9)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.9)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.9)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.9)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.9)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.9)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.9)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.25.9)': + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 '@babel/runtime@7.23.4': dependencies: regenerator-runtime: 0.14.1 - '@babel/runtime@7.25.9': + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 '@babel/template@7.25.9': dependencies: - '@babel/code-frame': 7.25.9 - '@babel/parser': 7.25.9 - '@babel/types': 7.25.9 + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@babel/traverse@7.25.9': dependencies: - '@babel/code-frame': 7.25.9 - '@babel/generator': 7.25.9 - '@babel/parser': 7.25.9 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 '@babel/template': 7.25.9 - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 debug: 4.3.7(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.9': + '@babel/types@7.26.0': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@base2/pretty-print-object@1.0.1': {} - '@bcoe/v8-coverage@0.2.3': {} - '@bull-board/api@6.2.4(@bull-board/ui@6.2.4)': + '@bull-board/api@6.3.3(@bull-board/ui@6.3.3)': dependencies: - '@bull-board/ui': 6.2.4 + '@bull-board/ui': 6.3.3 redis-info: 3.1.0 - '@bull-board/fastify@6.2.4': + '@bull-board/fastify@6.3.3': dependencies: - '@bull-board/api': 6.2.4(@bull-board/ui@6.2.4) - '@bull-board/ui': 6.2.4 + '@bull-board/api': 6.3.3(@bull-board/ui@6.3.3) + '@bull-board/ui': 6.3.3 '@fastify/static': 8.0.2 '@fastify/view': 10.0.1 ejs: 3.1.10 - '@bull-board/ui@6.2.4': + '@bull-board/ui@6.3.3': dependencies: - '@bull-board/api': 6.2.4(@bull-board/ui@6.2.4) + '@bull-board/api': 6.3.3(@bull-board/ui@6.3.3) - '@bundled-es-modules/cookie@2.0.0': + '@bundled-es-modules/cookie@2.0.1': dependencies: cookie: 1.0.1 @@ -10810,7 +10681,7 @@ snapshots: '@cropper/utils@2.0.0-rc.2': {} - '@cypress/request@3.0.5': + '@cypress/request@3.0.6': dependencies: aws-sign2: 0.7.0 aws4: 1.13.2 @@ -10827,7 +10698,7 @@ snapshots: performance-now: 2.1.0 qs: 6.13.0 safe-buffer: 5.2.1 - tough-cookie: 4.1.4 + tough-cookie: 5.0.0 tunnel-agent: 0.6.0 uuid: 8.3.2 @@ -10855,26 +10726,26 @@ snapshots: '@elastic/elasticsearch@8.15.1': dependencies: - '@elastic/transport': 8.8.1 - tslib: 2.8.0 + '@elastic/transport': 8.9.1 + tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@elastic/transport@8.8.1': + '@elastic/transport@8.9.1': dependencies: '@opentelemetry/api': 1.9.0 debug: 4.3.7(supports-color@8.1.1) hpagent: 1.2.0 ms: 2.1.3 secure-json-parse: 2.7.0 - tslib: 2.8.0 + tslib: 2.8.1 undici: 6.20.1 transitivePeerDependencies: - supports-color '@emnapi/runtime@1.3.1': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 optional: true '@esbuild/aix-ppc64@0.24.0': @@ -10949,12 +10820,12 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.12.1': {} '@eslint/eslintrc@2.1.4': dependencies: @@ -11019,12 +10890,12 @@ snapshots: fast-querystring: 1.1.2 fastify-plugin: 5.0.1 - '@fastify/http-proxy@10.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)': + '@fastify/http-proxy@10.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5)': dependencies: '@fastify/reply-from': 11.0.1 fast-querystring: 1.1.2 fastify-plugin: 5.0.1 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -11077,11 +10948,11 @@ snapshots: '@hapi/boom@10.0.1': dependencies: - '@hapi/hoek': 11.0.4 + '@hapi/hoek': 11.0.6 '@hapi/bourne@3.0.0': {} - '@hapi/hoek@11.0.4': {} + '@hapi/hoek@11.0.6': {} '@hapi/hoek@9.3.0': {} @@ -11093,7 +10964,7 @@ snapshots: dependencies: '@hapi/boom': 10.0.1 '@hapi/bourne': 3.0.0 - '@hapi/hoek': 11.0.4 + '@hapi/hoek': 11.0.6 '@hexagon/base64@1.1.28': {} @@ -11186,31 +11057,31 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true - '@inquirer/confirm@4.0.1': + '@inquirer/confirm@5.0.1(@types/node@22.9.0)': dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 2.0.0 + '@inquirer/core': 10.0.1(@types/node@22.9.0) + '@inquirer/type': 3.0.0(@types/node@22.9.0) + '@types/node': 22.9.0 - '@inquirer/core@9.2.1': + '@inquirer/core@10.0.1(@types/node@22.9.0)': dependencies: '@inquirer/figures': 1.0.7 - '@inquirer/type': 2.0.0 - '@types/mute-stream': 0.0.4 - '@types/node': 22.7.8 - '@types/wrap-ansi': 3.0.0 + '@inquirer/type': 3.0.0(@types/node@22.9.0) ansi-escapes: 4.3.2 cli-width: 4.1.0 - mute-stream: 1.0.0 + mute-stream: 2.0.0 signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 + transitivePeerDependencies: + - '@types/node' '@inquirer/figures@1.0.7': {} - '@inquirer/type@2.0.0': + '@inquirer/type@3.0.0(@types/node@22.9.0)': dependencies: - mute-stream: 1.0.0 + '@types/node': 22.9.0 '@ioredis/commands@1.2.0': {} @@ -11238,7 +11109,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -11251,14 +11122,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.7.8) + jest-config: 29.7.0(@types/node@22.9.0) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -11287,7 +11158,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -11305,7 +11176,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.7.8 + '@types/node': 22.9.0 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -11327,7 +11198,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.7.8 + '@types/node': 22.9.0 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -11374,7 +11245,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -11397,17 +11268,17 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0))': dependencies: glob: 7.2.3 glob-promise: 4.2.2(glob@7.2.3) magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.6.3) - vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) optionalDependencies: typescript: 5.6.3 @@ -11443,12 +11314,12 @@ snapshots: '@lukeed/ms@2.0.2': {} - '@mapbox/node-pre-gyp@1.0.9(encoding@0.1.13)': + '@mapbox/node-pre-gyp@1.0.9': dependencies: detect-libc: 2.0.3 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 @@ -11465,29 +11336,29 @@ snapshots: dependencies: '@mcaptcha/core-glue': 0.1.0-alpha-5 - '@mdx-js/react@3.1.0(@types/react@18.3.11)(react@18.3.1)': + '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 18.3.11 + '@types/react': 18.3.12 react: 18.3.1 - '@microsoft/api-extractor-model@7.29.8(@types/node@22.7.8)': + '@microsoft/api-extractor-model@7.29.8(@types/node@22.9.0)': dependencies: '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.9.0(@types/node@22.7.8) + '@rushstack/node-core-library': 5.9.0(@types/node@22.9.0) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.47.11(@types/node@22.7.8)': + '@microsoft/api-extractor@7.47.11(@types/node@22.9.0)': dependencies: - '@microsoft/api-extractor-model': 7.29.8(@types/node@22.7.8) + '@microsoft/api-extractor-model': 7.29.8(@types/node@22.9.0) '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.9.0(@types/node@22.7.8) + '@rushstack/node-core-library': 5.9.0(@types/node@22.9.0) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.2(@types/node@22.7.8) - '@rushstack/ts-command-line': 4.23.0(@types/node@22.7.8) + '@rushstack/terminal': 0.14.2(@types/node@22.9.0) + '@rushstack/ts-command-line': 4.23.0(@types/node@22.9.0) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -11561,7 +11432,7 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true - '@mswjs/interceptors@0.36.5': + '@mswjs/interceptors@0.36.9': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -11570,44 +11441,44 @@ snapshots: outvariant: 1.4.3 strict-event-emitter: 0.5.1 - '@napi-rs/canvas-android-arm64@0.1.58': + '@napi-rs/canvas-android-arm64@0.1.59': optional: true - '@napi-rs/canvas-darwin-arm64@0.1.58': + '@napi-rs/canvas-darwin-arm64@0.1.59': optional: true - '@napi-rs/canvas-darwin-x64@0.1.58': + '@napi-rs/canvas-darwin-x64@0.1.59': optional: true - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.58': + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.59': optional: true - '@napi-rs/canvas-linux-arm64-gnu@0.1.58': + '@napi-rs/canvas-linux-arm64-gnu@0.1.59': optional: true - '@napi-rs/canvas-linux-arm64-musl@0.1.58': + '@napi-rs/canvas-linux-arm64-musl@0.1.59': optional: true - '@napi-rs/canvas-linux-x64-gnu@0.1.58': + '@napi-rs/canvas-linux-x64-gnu@0.1.59': optional: true - '@napi-rs/canvas-linux-x64-musl@0.1.58': + '@napi-rs/canvas-linux-x64-musl@0.1.59': optional: true - '@napi-rs/canvas-win32-x64-msvc@0.1.58': + '@napi-rs/canvas-win32-x64-msvc@0.1.59': optional: true - '@napi-rs/canvas@0.1.58': + '@napi-rs/canvas@0.1.59': optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.58 - '@napi-rs/canvas-darwin-arm64': 0.1.58 - '@napi-rs/canvas-darwin-x64': 0.1.58 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.58 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.58 - '@napi-rs/canvas-linux-arm64-musl': 0.1.58 - '@napi-rs/canvas-linux-x64-gnu': 0.1.58 - '@napi-rs/canvas-linux-x64-musl': 0.1.58 - '@napi-rs/canvas-win32-x64-msvc': 0.1.58 + '@napi-rs/canvas-android-arm64': 0.1.59 + '@napi-rs/canvas-darwin-arm64': 0.1.59 + '@napi-rs/canvas-darwin-x64': 0.1.59 + '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.59 + '@napi-rs/canvas-linux-arm64-gnu': 0.1.59 + '@napi-rs/canvas-linux-arm64-musl': 0.1.59 + '@napi-rs/canvas-linux-x64-gnu': 0.1.59 + '@napi-rs/canvas-linux-x64-musl': 0.1.59 + '@napi-rs/canvas-win32-x64-msvc': 0.1.59 '@napi-rs/nice-android-arm-eabi@1.0.1': optional: true @@ -11677,7 +11548,7 @@ snapshots: '@napi-rs/nice-win32-x64-msvc': 1.0.1 optional: true - '@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1)': + '@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1)': dependencies: iterare: 1.2.1 reflect-metadata: 0.2.2 @@ -11685,10 +11556,10 @@ snapshots: tslib: 2.7.0 uid: 2.0.2 - '@nestjs/core@10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.5)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)': + '@nestjs/core@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(reflect-metadata@0.2.2)(rxjs@7.8.1)': dependencies: - '@nestjs/common': 10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nuxtjs/opencollective': 0.3.2(encoding@0.1.13) + '@nestjs/common': 10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nuxtjs/opencollective': 0.3.2 fast-safe-stringify: 2.1.1 iterare: 1.2.1 path-to-regexp: 3.3.0 @@ -11697,14 +11568,14 @@ snapshots: tslib: 2.7.0 uid: 2.0.2 optionalDependencies: - '@nestjs/platform-express': 10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.5) + '@nestjs/platform-express': 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) transitivePeerDependencies: - encoding - '@nestjs/platform-express@10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.5)': + '@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)': dependencies: - '@nestjs/common': 10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.5)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(reflect-metadata@0.2.2)(rxjs@7.8.1) body-parser: 1.20.3 cors: 2.8.5 express: 4.21.1 @@ -11713,13 +11584,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@nestjs/testing@10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.5)(@nestjs/platform-express@10.4.5)': + '@nestjs/testing@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-express@10.4.7)': dependencies: - '@nestjs/common': 10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1) - '@nestjs/core': 10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.5)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/common': 10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(reflect-metadata@0.2.2)(rxjs@7.8.1) tslib: 2.7.0 optionalDependencies: - '@nestjs/platform-express': 10.4.5(@nestjs/common@10.4.5(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.5) + '@nestjs/platform-express': 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7) '@noble/hashes@1.5.0': {} @@ -11749,11 +11620,11 @@ snapshots: pngjs-nozlib: 1.0.0 through: 2.3.4 - '@nuxtjs/opencollective@0.3.2(encoding@0.1.13)': + '@nuxtjs/opencollective@0.3.2': dependencies: chalk: 4.1.2 consola: 2.15.3 - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 transitivePeerDependencies: - encoding @@ -11770,87 +11641,92 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@parcel/watcher-android-arm64@2.4.1': + '@parcel/watcher-android-arm64@2.5.0': optional: true - '@parcel/watcher-darwin-arm64@2.4.1': + '@parcel/watcher-darwin-arm64@2.5.0': optional: true - '@parcel/watcher-darwin-x64@2.4.1': + '@parcel/watcher-darwin-x64@2.5.0': optional: true - '@parcel/watcher-freebsd-x64@2.4.1': + '@parcel/watcher-freebsd-x64@2.5.0': optional: true - '@parcel/watcher-linux-arm-glibc@2.4.1': + '@parcel/watcher-linux-arm-glibc@2.5.0': optional: true - '@parcel/watcher-linux-arm64-glibc@2.4.1': + '@parcel/watcher-linux-arm-musl@2.5.0': optional: true - '@parcel/watcher-linux-arm64-musl@2.4.1': + '@parcel/watcher-linux-arm64-glibc@2.5.0': optional: true - '@parcel/watcher-linux-x64-glibc@2.4.1': + '@parcel/watcher-linux-arm64-musl@2.5.0': optional: true - '@parcel/watcher-linux-x64-musl@2.4.1': + '@parcel/watcher-linux-x64-glibc@2.5.0': optional: true - '@parcel/watcher-win32-arm64@2.4.1': + '@parcel/watcher-linux-x64-musl@2.5.0': optional: true - '@parcel/watcher-win32-ia32@2.4.1': + '@parcel/watcher-win32-arm64@2.5.0': optional: true - '@parcel/watcher-win32-x64@2.4.1': + '@parcel/watcher-win32-ia32@2.5.0': optional: true - '@parcel/watcher@2.4.1': + '@parcel/watcher-win32-x64@2.5.0': + optional: true + + '@parcel/watcher@2.5.0': dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 micromatch: 4.0.8 node-addon-api: 7.1.1 optionalDependencies: - '@parcel/watcher-android-arm64': 2.4.1 - '@parcel/watcher-darwin-arm64': 2.4.1 - '@parcel/watcher-darwin-x64': 2.4.1 - '@parcel/watcher-freebsd-x64': 2.4.1 - '@parcel/watcher-linux-arm-glibc': 2.4.1 - '@parcel/watcher-linux-arm64-glibc': 2.4.1 - '@parcel/watcher-linux-arm64-musl': 2.4.1 - '@parcel/watcher-linux-x64-glibc': 2.4.1 - '@parcel/watcher-linux-x64-musl': 2.4.1 - '@parcel/watcher-win32-arm64': 2.4.1 - '@parcel/watcher-win32-ia32': 2.4.1 - '@parcel/watcher-win32-x64': 2.4.1 + '@parcel/watcher-android-arm64': 2.5.0 + '@parcel/watcher-darwin-arm64': 2.5.0 + '@parcel/watcher-darwin-x64': 2.5.0 + '@parcel/watcher-freebsd-x64': 2.5.0 + '@parcel/watcher-linux-arm-glibc': 2.5.0 + '@parcel/watcher-linux-arm-musl': 2.5.0 + '@parcel/watcher-linux-arm64-glibc': 2.5.0 + '@parcel/watcher-linux-arm64-musl': 2.5.0 + '@parcel/watcher-linux-x64-glibc': 2.5.0 + '@parcel/watcher-linux-x64-musl': 2.5.0 + '@parcel/watcher-win32-arm64': 2.5.0 + '@parcel/watcher-win32-ia32': 2.5.0 + '@parcel/watcher-win32-x64': 2.5.0 + optional: true '@peculiar/asn1-android@2.3.13': dependencies: '@peculiar/asn1-schema': 2.3.13 asn1js: 3.0.5 - tslib: 2.8.0 + tslib: 2.8.1 '@peculiar/asn1-ecc@2.3.14': dependencies: '@peculiar/asn1-schema': 2.3.13 '@peculiar/asn1-x509': 2.3.13 asn1js: 3.0.5 - tslib: 2.8.0 + tslib: 2.8.1 '@peculiar/asn1-rsa@2.3.13': dependencies: '@peculiar/asn1-schema': 2.3.13 '@peculiar/asn1-x509': 2.3.13 asn1js: 3.0.5 - tslib: 2.8.0 + tslib: 2.8.1 '@peculiar/asn1-schema@2.3.13': dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 - tslib: 2.8.0 + tslib: 2.8.1 '@peculiar/asn1-x509@2.3.13': dependencies: @@ -11858,7 +11734,7 @@ snapshots: asn1js: 3.0.5 ipaddr.js: 2.2.0 pvtsutils: 1.3.5 - tslib: 2.8.0 + tslib: 2.8.1 '@peertube/http-signature@1.7.0': dependencies: @@ -11871,8 +11747,8 @@ snapshots: '@readme/better-ajv-errors@1.6.0(ajv@8.17.1)': dependencies: - '@babel/code-frame': 7.25.9 - '@babel/runtime': 7.25.9 + '@babel/code-frame': 7.26.2 + '@babel/runtime': 7.26.0 '@humanwhocodes/momoa': 2.0.4 ajv: 8.17.1 chalk: 4.1.2 @@ -11901,87 +11777,93 @@ snapshots: '@readme/openapi-schemas@3.1.0': {} - '@rollup/plugin-json@6.1.0(rollup@4.24.0)': + '@rollup/plugin-json@6.1.0(rollup@4.24.4)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) optionalDependencies: - rollup: 4.24.0 + rollup: 4.24.4 - '@rollup/plugin-replace@6.0.1(rollup@4.24.0)': + '@rollup/plugin-replace@6.0.1(rollup@4.24.4)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) magic-string: 0.30.12 optionalDependencies: - rollup: 4.24.0 + rollup: 4.24.4 - '@rollup/plugin-typescript@12.1.1(rollup@4.24.0)(tslib@2.8.0)(typescript@5.6.3)': + '@rollup/plugin-typescript@12.1.1(rollup@4.24.4)(tslib@2.8.1)(typescript@5.6.3)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) resolve: 1.22.8 typescript: 5.6.3 optionalDependencies: - rollup: 4.24.0 - tslib: 2.8.0 + rollup: 4.24.4 + tslib: 2.8.1 - '@rollup/pluginutils@5.1.2(rollup@4.24.0)': + '@rollup/pluginutils@5.1.3(rollup@4.24.4)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 - picomatch: 2.3.1 + picomatch: 4.0.2 optionalDependencies: - rollup: 4.24.0 + rollup: 4.24.4 - '@rollup/rollup-android-arm-eabi@4.24.0': + '@rollup/rollup-android-arm-eabi@4.24.4': optional: true - '@rollup/rollup-android-arm64@4.24.0': + '@rollup/rollup-android-arm64@4.24.4': optional: true - '@rollup/rollup-darwin-arm64@4.24.0': + '@rollup/rollup-darwin-arm64@4.24.4': optional: true - '@rollup/rollup-darwin-x64@4.24.0': + '@rollup/rollup-darwin-x64@4.24.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.24.0': + '@rollup/rollup-freebsd-arm64@4.24.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.24.0': + '@rollup/rollup-freebsd-x64@4.24.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.24.0': + '@rollup/rollup-linux-arm-gnueabihf@4.24.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.24.0': + '@rollup/rollup-linux-arm-musleabihf@4.24.4': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': + '@rollup/rollup-linux-arm64-gnu@4.24.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.24.0': + '@rollup/rollup-linux-arm64-musl@4.24.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.24.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.24.0': + '@rollup/rollup-linux-riscv64-gnu@4.24.4': optional: true - '@rollup/rollup-linux-x64-musl@4.24.0': + '@rollup/rollup-linux-s390x-gnu@4.24.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.24.0': + '@rollup/rollup-linux-x64-gnu@4.24.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.24.0': + '@rollup/rollup-linux-x64-musl@4.24.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.24.0': + '@rollup/rollup-win32-arm64-msvc@4.24.4': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.24.4': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.24.4': optional: true '@rtsao/scc@1.1.0': {} - '@rushstack/node-core-library@5.9.0(@types/node@22.7.8)': + '@rushstack/node-core-library@5.9.0(@types/node@22.9.0)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -11992,23 +11874,23 @@ snapshots: resolve: 1.22.8 semver: 7.5.4 optionalDependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.14.2(@types/node@22.7.8)': + '@rushstack/terminal@0.14.2(@types/node@22.9.0)': dependencies: - '@rushstack/node-core-library': 5.9.0(@types/node@22.7.8) + '@rushstack/node-core-library': 5.9.0(@types/node@22.9.0) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 - '@rushstack/ts-command-line@4.23.0(@types/node@22.7.8)': + '@rushstack/ts-command-line@4.23.0(@types/node@22.9.0)': dependencies: - '@rushstack/terminal': 0.14.2(@types/node@22.7.8) + '@rushstack/terminal': 0.14.2(@types/node@22.9.0) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -12017,27 +11899,27 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@1.22.0': + '@shikijs/core@1.22.2': dependencies: - '@shikijs/engine-javascript': 1.22.0 - '@shikijs/engine-oniguruma': 1.22.0 - '@shikijs/types': 1.22.0 + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.22.0': + '@shikijs/engine-javascript@1.22.2': dependencies: - '@shikijs/types': 1.22.0 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 oniguruma-to-js: 0.4.3 - '@shikijs/engine-oniguruma@1.22.0': + '@shikijs/engine-oniguruma@1.22.2': dependencies: - '@shikijs/types': 1.22.0 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 - '@shikijs/types@1.22.0': + '@shikijs/types@1.22.2': dependencies: '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -12052,7 +11934,7 @@ snapshots: '@sideway/pinpoint@2.0.0': {} - '@simplewebauthn/server@11.0.0(encoding@0.1.13)': + '@simplewebauthn/server@11.0.0': dependencies: '@hexagon/base64': 1.1.28 '@levischuck/tiny-cbor': 0.2.2 @@ -12062,7 +11944,7 @@ snapshots: '@peculiar/asn1-schema': 2.3.13 '@peculiar/asn1-x509': 2.3.13 '@simplewebauthn/types': 11.0.0 - cross-fetch: 4.0.0(encoding@0.1.13) + cross-fetch: 4.0.0 transitivePeerDependencies: - encoding @@ -12094,7 +11976,7 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers@13.0.4': + '@sinonjs/fake-timers@13.0.5': dependencies: '@sinonjs/commons': 3.0.1 @@ -12109,16 +11991,16 @@ snapshots: '@smithy/abort-controller@3.1.6': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/chunked-blob-reader-native@3.0.1': dependencies: '@smithy/util-base64': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/chunked-blob-reader@4.0.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/config-resolver@3.0.10': dependencies: @@ -12126,7 +12008,7 @@ snapshots: '@smithy/types': 3.6.0 '@smithy/util-config-provider': 3.0.0 '@smithy/util-middleware': 3.0.8 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/core@2.5.1': dependencies: @@ -12137,7 +12019,7 @@ snapshots: '@smithy/util-middleware': 3.0.8 '@smithy/util-stream': 3.2.1 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/credential-provider-imds@3.2.5': dependencies: @@ -12145,37 +12027,37 @@ snapshots: '@smithy/property-provider': 3.1.8 '@smithy/types': 3.6.0 '@smithy/url-parser': 3.0.8 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/eventstream-codec@3.1.7': dependencies: '@aws-crypto/crc32': 5.2.0 '@smithy/types': 3.6.0 '@smithy/util-hex-encoding': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/eventstream-serde-browser@3.0.11': dependencies: '@smithy/eventstream-serde-universal': 3.0.10 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/eventstream-serde-config-resolver@3.0.8': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/eventstream-serde-node@3.0.10': dependencies: '@smithy/eventstream-serde-universal': 3.0.10 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/eventstream-serde-universal@3.0.10': dependencies: '@smithy/eventstream-codec': 3.1.7 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/fetch-http-handler@3.2.9': dependencies: @@ -12183,7 +12065,7 @@ snapshots: '@smithy/querystring-builder': 3.0.8 '@smithy/types': 3.6.0 '@smithy/util-base64': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/fetch-http-handler@4.0.0': dependencies: @@ -12191,52 +12073,52 @@ snapshots: '@smithy/querystring-builder': 3.0.8 '@smithy/types': 3.6.0 '@smithy/util-base64': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/hash-blob-browser@3.1.7': dependencies: '@smithy/chunked-blob-reader': 4.0.0 '@smithy/chunked-blob-reader-native': 3.0.1 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/hash-node@3.0.8': dependencies: '@smithy/types': 3.6.0 '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/hash-stream-node@3.1.7': dependencies: '@smithy/types': 3.6.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/invalid-dependency@3.0.8': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/is-array-buffer@3.0.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/md5-js@3.0.8': dependencies: '@smithy/types': 3.6.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/middleware-content-length@3.0.10': dependencies: '@smithy/protocol-http': 4.1.5 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/middleware-endpoint@3.2.1': dependencies: @@ -12247,7 +12129,7 @@ snapshots: '@smithy/types': 3.6.0 '@smithy/url-parser': 3.0.8 '@smithy/util-middleware': 3.0.8 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/middleware-retry@3.0.25': dependencies: @@ -12258,25 +12140,25 @@ snapshots: '@smithy/types': 3.6.0 '@smithy/util-middleware': 3.0.8 '@smithy/util-retry': 3.0.8 - tslib: 2.8.0 + tslib: 2.8.1 uuid: 9.0.1 '@smithy/middleware-serde@3.0.8': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/middleware-stack@3.0.8': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/node-config-provider@3.1.9': dependencies: '@smithy/property-provider': 3.1.8 '@smithy/shared-ini-file-loader': 3.1.9 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/node-http-handler@3.2.5': dependencies: @@ -12284,28 +12166,28 @@ snapshots: '@smithy/protocol-http': 4.1.5 '@smithy/querystring-builder': 3.0.8 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/property-provider@3.1.8': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/protocol-http@4.1.5': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/querystring-builder@3.0.8': dependencies: '@smithy/types': 3.6.0 '@smithy/util-uri-escape': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/querystring-parser@3.0.8': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/service-error-classification@3.0.8': dependencies: @@ -12314,7 +12196,7 @@ snapshots: '@smithy/shared-ini-file-loader@3.1.9': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/signature-v4@4.2.1': dependencies: @@ -12325,7 +12207,7 @@ snapshots: '@smithy/util-middleware': 3.0.8 '@smithy/util-uri-escape': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/smithy-client@3.4.2': dependencies: @@ -12335,45 +12217,45 @@ snapshots: '@smithy/protocol-http': 4.1.5 '@smithy/types': 3.6.0 '@smithy/util-stream': 3.2.1 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/types@3.6.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/url-parser@3.0.8': dependencies: '@smithy/querystring-parser': 3.0.8 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-base64@3.0.0': dependencies: '@smithy/util-buffer-from': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-body-length-browser@3.0.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-body-length-node@3.0.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-buffer-from@2.2.0': dependencies: '@smithy/is-array-buffer': 2.2.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-buffer-from@3.0.0': dependencies: '@smithy/is-array-buffer': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-config-provider@3.0.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-defaults-mode-browser@3.0.25': dependencies: @@ -12381,7 +12263,7 @@ snapshots: '@smithy/smithy-client': 3.4.2 '@smithy/types': 3.6.0 bowser: 2.11.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-defaults-mode-node@3.0.25': dependencies: @@ -12391,28 +12273,28 @@ snapshots: '@smithy/property-provider': 3.1.8 '@smithy/smithy-client': 3.4.2 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-endpoints@2.1.4': dependencies: '@smithy/node-config-provider': 3.1.9 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-hex-encoding@3.0.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-middleware@3.0.8': dependencies: '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-retry@3.0.8': dependencies: '@smithy/service-error-classification': 3.0.8 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-stream@3.2.1': dependencies: @@ -12423,219 +12305,195 @@ snapshots: '@smithy/util-buffer-from': 3.0.0 '@smithy/util-hex-encoding': 3.0.0 '@smithy/util-utf8': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-uri-escape@3.0.0': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-utf8@2.3.0': dependencies: '@smithy/util-buffer-from': 2.2.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-utf8@3.0.0': dependencies: '@smithy/util-buffer-from': 3.0.0 - tslib: 2.8.0 + tslib: 2.8.1 '@smithy/util-waiter@3.1.7': dependencies: '@smithy/abort-controller': 3.1.6 '@smithy/types': 3.6.0 - tslib: 2.8.0 + tslib: 2.8.1 '@sqltools/formatter@1.2.5': {} - '@storybook/addon-actions@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-actions@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) uuid: 9.0.1 - '@storybook/addon-backgrounds@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-backgrounds@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-controls@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - lodash: 4.17.21 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - '@storybook/addon-docs@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-docs@8.4.2(@types/react@18.3.12)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - '@mdx-js/react': 3.1.0(@types/react@18.3.11)(react@18.3.1) - '@storybook/blocks': 8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/csf-plugin': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@types/react': 18.3.11 - fs-extra: 11.2.0 + '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1) + '@storybook/blocks': 8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/csf-plugin': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/react-dom-shim': 8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - rehype-external-links: 3.0.0 - rehype-slug: 6.0.0 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 transitivePeerDependencies: + - '@types/react' - webpack-sources - '@storybook/addon-essentials@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-essentials@8.4.2(@types/react@18.3.12)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - '@storybook/addon-actions': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/addon-backgrounds': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/addon-controls': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/addon-docs': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/addon-highlight': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/addon-measure': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/addon-outline': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/addon-toolbars': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/addon-viewport': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + '@storybook/addon-actions': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/addon-backgrounds': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/addon-controls': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/addon-docs': 8.4.2(@types/react@18.3.12)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/addon-highlight': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/addon-measure': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/addon-outline': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/addon-toolbars': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/addon-viewport': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 transitivePeerDependencies: + - '@types/react' - webpack-sources - '@storybook/addon-highlight@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-highlight@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/addon-interactions@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-interactions@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/test': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@storybook/instrumenter': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/test': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) polished: 4.3.1 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - '@storybook/addon-links@8.3.6(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-links@8.4.2(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 optionalDependencies: react: 18.3.1 - '@storybook/addon-mdx-gfm@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-mdx-gfm@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: remark-gfm: 4.0.0 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color - '@storybook/addon-measure@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-measure@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) tiny-invariant: 1.3.3 - '@storybook/addon-outline@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-outline@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - '@storybook/addon-storysource@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-storysource@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - '@storybook/source-loader': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@storybook/source-loader': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) estraverse: 5.3.0 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) tiny-invariant: 1.3.3 - '@storybook/addon-toolbars@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-toolbars@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/addon-viewport@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/addon-viewport@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: memoizerific: 1.11.3 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/blocks@8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/blocks@8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/csf': 0.1.11 - '@storybook/global': 5.0.0 '@storybook/icons': 1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@types/lodash': 4.17.12 - color-convert: 2.0.1 - dequal: 2.0.3 - lodash: 4.17.21 - markdown-to-jsx: 7.5.0(react@18.3.1) - memoizerific: 1.11.3 - polished: 4.3.1 - react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) - telejson: 7.2.0 + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - util-deprecate: 1.0.2 optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-vite@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))': + '@storybook/builder-vite@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0))': dependencies: - '@storybook/csf-plugin': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@types/find-cache-dir': 3.2.1 + '@storybook/csf-plugin': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) browser-assert: 1.2.1 - es-module-lexer: 1.5.4 - express: 4.21.1 - find-cache-dir: 3.3.2 - fs-extra: 11.2.0 - magic-string: 0.30.12 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 - vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) - optionalDependencies: - typescript: 5.6.3 + vite: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) transitivePeerDependencies: - - supports-color - webpack-sources - '@storybook/components@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/components@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/core-events@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/core-events@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/core@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)': + '@storybook/core@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)': dependencies: '@storybook/csf': 0.1.11 - '@types/express': 4.17.21 better-opn: 3.0.2 browser-assert: 1.2.1 esbuild: 0.24.0 esbuild-register: 3.6.0(esbuild@0.24.0) - express: 4.21.1 jsdoc-type-pratt-parser: 4.1.0 process: 0.11.10 recast: 0.23.9 semver: 7.6.3 util: 0.12.5 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) + optionalDependencies: + prettier: 3.3.3 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@storybook/csf-plugin@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/csf-plugin@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) - unplugin: 1.14.1 + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) + unplugin: 1.15.0 transitivePeerDependencies: - webpack-sources @@ -12650,145 +12508,124 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/instrumenter@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/instrumenter@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/global': 5.0.0 - '@vitest/utils': 2.1.3 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) - util: 0.12.5 + '@vitest/utils': 2.1.4 + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/manager-api@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/manager-api@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/preview-api@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/preview-api@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/react-dom-shim@8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/react-dom-shim@8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/react-vite@8.3.6(@storybook/test@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.24.0)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))': + '@storybook/react-vite@8.4.2(@storybook/test@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.24.4)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)) - '@rollup/pluginutils': 5.1.2(rollup@4.24.0) - '@storybook/builder-vite': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)) - '@storybook/react': 8.3.6(@storybook/test@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.6.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0)) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@storybook/builder-vite': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0)) + '@storybook/react': 8.4.2(@storybook/test@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(typescript@5.6.3) find-up: 5.0.0 magic-string: 0.30.12 react: 18.3.1 react-docgen: 7.1.0 react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) tsconfig-paths: 4.2.0 - vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) transitivePeerDependencies: - - '@preact/preset-vite' - '@storybook/test' - rollup - supports-color - typescript - - vite-plugin-glimmerx - webpack-sources - '@storybook/react@8.3.6(@storybook/test@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.6.3)': + '@storybook/react@8.4.2(@storybook/test@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(typescript@5.6.3)': dependencies: - '@storybook/components': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@storybook/components': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/preview-api': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/react-dom-shim': 8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/theming': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@types/escodegen': 0.0.6 - '@types/estree': 0.0.51 - '@types/node': 22.7.8 - acorn: 7.4.1 - acorn-jsx: 5.3.2(acorn@7.4.1) - acorn-walk: 7.2.0 - escodegen: 2.1.0 - html-tags: 3.3.1 - prop-types: 15.8.1 + '@storybook/manager-api': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/preview-api': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/react-dom-shim': 8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/theming': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-element-to-jsx-string: 15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - semver: 7.6.3 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) - ts-dedent: 2.2.0 - type-fest: 2.19.0 - util-deprecate: 1.0.2 + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) optionalDependencies: - '@storybook/test': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@storybook/test': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) typescript: 5.6.3 - '@storybook/source-loader@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/source-loader@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/csf': 0.1.11 + es-toolkit: 1.26.1 estraverse: 5.3.0 - lodash: 4.17.21 prettier: 3.3.3 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/test@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/test@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@storybook/instrumenter': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@testing-library/dom': 10.4.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) - util: 0.12.5 + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/theming@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/theming@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/types@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@storybook/types@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))': dependencies: - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) - '@storybook/vue3-vite@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': + '@storybook/vue3-vite@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': dependencies: - '@storybook/builder-vite': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(typescript@5.6.3)(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)) - '@storybook/vue3': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(vue@3.5.12(typescript@5.6.3)) + '@storybook/builder-vite': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0)) + '@storybook/vue3': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(vue@3.5.12(typescript@5.6.3)) find-package-json: 1.2.0 magic-string: 0.30.12 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) typescript: 5.6.3 - vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) - vue-component-meta: 2.1.6(typescript@5.6.3) + vite: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) + vue-component-meta: 2.1.10(typescript@5.6.3) vue-docgen-api: 4.79.2(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - - '@preact/preset-vite' - - supports-color - - vite-plugin-glimmerx - vue - webpack-sources - '@storybook/vue3@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4))(vue@3.5.12(typescript@5.6.3))': + '@storybook/vue3@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5))(vue@3.5.12(typescript@5.6.3))': dependencies: - '@storybook/components': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@storybook/components': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/preview-api': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/theming': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@storybook/manager-api': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/preview-api': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/theming': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) '@vue/compiler-core': 3.5.12 - storybook: 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + storybook: 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) ts-dedent: 2.2.0 type-fest: 2.19.0 vue: 3.5.12(typescript@5.6.3) - vue-component-type-helpers: 2.1.6 + vue-component-type-helpers: 2.1.10 - '@swc/cli@0.4.0(@swc/core@1.7.39)(chokidar@4.0.1)': + '@swc/cli@0.5.0(@swc/core@1.8.0)(chokidar@4.0.1)': dependencies: '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.7.39 + '@swc/core': 1.8.0 '@swc/counter': 0.1.3 commander: 8.3.0 fast-glob: 3.3.2 @@ -12800,62 +12637,62 @@ snapshots: optionalDependencies: chokidar: 4.0.1 - '@swc/core-darwin-arm64@1.7.39': + '@swc/core-darwin-arm64@1.8.0': optional: true - '@swc/core-darwin-x64@1.7.39': + '@swc/core-darwin-x64@1.8.0': optional: true - '@swc/core-linux-arm-gnueabihf@1.7.39': + '@swc/core-linux-arm-gnueabihf@1.8.0': optional: true - '@swc/core-linux-arm64-gnu@1.7.39': + '@swc/core-linux-arm64-gnu@1.8.0': optional: true - '@swc/core-linux-arm64-musl@1.7.39': + '@swc/core-linux-arm64-musl@1.8.0': optional: true - '@swc/core-linux-x64-gnu@1.7.39': + '@swc/core-linux-x64-gnu@1.8.0': optional: true - '@swc/core-linux-x64-musl@1.7.39': + '@swc/core-linux-x64-musl@1.8.0': optional: true - '@swc/core-win32-arm64-msvc@1.7.39': + '@swc/core-win32-arm64-msvc@1.8.0': optional: true - '@swc/core-win32-ia32-msvc@1.7.39': + '@swc/core-win32-ia32-msvc@1.8.0': optional: true - '@swc/core-win32-x64-msvc@1.7.39': + '@swc/core-win32-x64-msvc@1.8.0': optional: true - '@swc/core@1.7.39': + '@swc/core@1.8.0': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.13 + '@swc/types': 0.1.14 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.39 - '@swc/core-darwin-x64': 1.7.39 - '@swc/core-linux-arm-gnueabihf': 1.7.39 - '@swc/core-linux-arm64-gnu': 1.7.39 - '@swc/core-linux-arm64-musl': 1.7.39 - '@swc/core-linux-x64-gnu': 1.7.39 - '@swc/core-linux-x64-musl': 1.7.39 - '@swc/core-win32-arm64-msvc': 1.7.39 - '@swc/core-win32-ia32-msvc': 1.7.39 - '@swc/core-win32-x64-msvc': 1.7.39 + '@swc/core-darwin-arm64': 1.8.0 + '@swc/core-darwin-x64': 1.8.0 + '@swc/core-linux-arm-gnueabihf': 1.8.0 + '@swc/core-linux-arm64-gnu': 1.8.0 + '@swc/core-linux-arm64-musl': 1.8.0 + '@swc/core-linux-x64-gnu': 1.8.0 + '@swc/core-linux-x64-musl': 1.8.0 + '@swc/core-win32-arm64-msvc': 1.8.0 + '@swc/core-win32-ia32-msvc': 1.8.0 + '@swc/core-win32-x64-msvc': 1.8.0 '@swc/counter@0.1.3': {} - '@swc/jest@0.2.36(@swc/core@1.7.39)': + '@swc/jest@0.2.37(@swc/core@1.8.0)': dependencies: '@jest/create-cache-key-function': 29.7.0 - '@swc/core': 1.7.39 + '@swc/core': 1.8.0 '@swc/counter': 0.1.3 jsonc-parser: 3.3.1 - '@swc/types@0.1.13': + '@swc/types@0.1.14': dependencies: '@swc/counter': 0.1.3 @@ -12873,60 +12710,60 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tabler/icons-webfont@3.19.0': + '@tabler/icons-webfont@3.21.0': dependencies: - '@tabler/icons': 3.19.0 + '@tabler/icons': 3.21.0 - '@tabler/icons@3.19.0': {} + '@tabler/icons@3.21.0': {} - '@tensorflow/tfjs-backend-cpu@4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13))': + '@tensorflow/tfjs-backend-cpu@4.22.0(@tensorflow/tfjs-core@4.22.0)': dependencies: - '@tensorflow/tfjs-core': 4.22.0(encoding@0.1.13) + '@tensorflow/tfjs-core': 4.22.0 '@types/seedrandom': 2.4.34 seedrandom: 3.0.5 - '@tensorflow/tfjs-backend-webgl@4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13))': + '@tensorflow/tfjs-backend-webgl@4.22.0(@tensorflow/tfjs-core@4.22.0)': dependencies: - '@tensorflow/tfjs-backend-cpu': 4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13)) - '@tensorflow/tfjs-core': 4.22.0(encoding@0.1.13) + '@tensorflow/tfjs-backend-cpu': 4.22.0(@tensorflow/tfjs-core@4.22.0) + '@tensorflow/tfjs-core': 4.22.0 '@types/offscreencanvas': 2019.3.0 '@types/seedrandom': 2.4.34 seedrandom: 3.0.5 - '@tensorflow/tfjs-converter@4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13))': + '@tensorflow/tfjs-converter@4.22.0(@tensorflow/tfjs-core@4.22.0)': dependencies: - '@tensorflow/tfjs-core': 4.22.0(encoding@0.1.13) + '@tensorflow/tfjs-core': 4.22.0 - '@tensorflow/tfjs-core@4.22.0(encoding@0.1.13)': + '@tensorflow/tfjs-core@4.22.0': dependencies: '@types/long': 4.0.2 '@types/offscreencanvas': 2019.7.3 '@types/seedrandom': 2.4.34 '@webgpu/types': 0.1.38 long: 4.0.0 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.13 seedrandom: 3.0.5 transitivePeerDependencies: - encoding - '@tensorflow/tfjs-data@4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13))(encoding@0.1.13)(seedrandom@3.0.5)': + '@tensorflow/tfjs-data@4.22.0(@tensorflow/tfjs-core@4.22.0)(seedrandom@3.0.5)': dependencies: - '@tensorflow/tfjs-core': 4.22.0(encoding@0.1.13) + '@tensorflow/tfjs-core': 4.22.0 '@types/node-fetch': 2.6.11 - node-fetch: 2.6.13(encoding@0.1.13) + node-fetch: 2.6.13 seedrandom: 3.0.5 string_decoder: 1.3.0 transitivePeerDependencies: - encoding - '@tensorflow/tfjs-layers@4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13))': + '@tensorflow/tfjs-layers@4.22.0(@tensorflow/tfjs-core@4.22.0)': dependencies: - '@tensorflow/tfjs-core': 4.22.0(encoding@0.1.13) + '@tensorflow/tfjs-core': 4.22.0 - '@tensorflow/tfjs-node@4.22.0(encoding@0.1.13)(seedrandom@3.0.5)': + '@tensorflow/tfjs-node@4.22.0(seedrandom@3.0.5)': dependencies: - '@mapbox/node-pre-gyp': 1.0.9(encoding@0.1.13) - '@tensorflow/tfjs': 4.22.0(encoding@0.1.13)(seedrandom@3.0.5) + '@mapbox/node-pre-gyp': 1.0.9 + '@tensorflow/tfjs': 4.22.0(seedrandom@3.0.5) adm-zip: 0.5.16 google-protobuf: 3.21.4 https-proxy-agent: 2.2.4 @@ -12939,14 +12776,14 @@ snapshots: - supports-color optional: true - '@tensorflow/tfjs@4.22.0(encoding@0.1.13)(seedrandom@3.0.5)': + '@tensorflow/tfjs@4.22.0(seedrandom@3.0.5)': dependencies: - '@tensorflow/tfjs-backend-cpu': 4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13)) - '@tensorflow/tfjs-backend-webgl': 4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13)) - '@tensorflow/tfjs-converter': 4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13)) - '@tensorflow/tfjs-core': 4.22.0(encoding@0.1.13) - '@tensorflow/tfjs-data': 4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13))(encoding@0.1.13)(seedrandom@3.0.5) - '@tensorflow/tfjs-layers': 4.22.0(@tensorflow/tfjs-core@4.22.0(encoding@0.1.13)) + '@tensorflow/tfjs-backend-cpu': 4.22.0(@tensorflow/tfjs-core@4.22.0) + '@tensorflow/tfjs-backend-webgl': 4.22.0(@tensorflow/tfjs-core@4.22.0) + '@tensorflow/tfjs-converter': 4.22.0(@tensorflow/tfjs-core@4.22.0) + '@tensorflow/tfjs-core': 4.22.0 + '@tensorflow/tfjs-data': 4.22.0(@tensorflow/tfjs-core@4.22.0)(seedrandom@3.0.5) + '@tensorflow/tfjs-layers': 4.22.0(@tensorflow/tfjs-core@4.22.0) argparse: 1.0.10 chalk: 4.1.2 core-js: 3.29.1 @@ -12958,8 +12795,8 @@ snapshots: '@testing-library/dom@10.4.0': dependencies: - '@babel/code-frame': 7.25.9 - '@babel/runtime': 7.25.9 + '@babel/code-frame': 7.26.2 + '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -12969,8 +12806,8 @@ snapshots: '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.25.9 - '@babel/runtime': 7.25.9 + '@babel/code-frame': 7.26.2 + '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -12994,7 +12831,7 @@ snapshots: '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@babel/runtime': 7.25.9 + '@babel/runtime': 7.26.0 '@testing-library/dom': 9.3.4 '@vue/test-utils': 2.4.6 vue: 3.5.12(typescript@5.6.3) @@ -13015,9 +12852,9 @@ snapshots: '@types/accepts@1.3.7': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 - '@types/archiver@6.0.2': + '@types/archiver@6.0.3': dependencies: '@types/readdir-glob': 1.1.5 @@ -13027,31 +12864,31 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.25.9 - '@babel/types': 7.25.9 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.25.9 - '@babel/types': 7.25.9 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 '@types/bcryptjs@2.4.6': {} '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/braces@3.0.4': {} @@ -13059,7 +12896,7 @@ snapshots: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/responselike': 1.0.3 '@types/color-convert@2.0.4': @@ -13070,7 +12907,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/content-disposition@0.5.8': {} @@ -13086,59 +12923,39 @@ snapshots: '@types/escape-regexp@0.0.3': {} - '@types/escodegen@0.0.6': {} - '@types/eslint@7.29.0': dependencies: '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 - '@types/estree@0.0.51': {} - '@types/estree@1.0.6': {} - '@types/express-serve-static-core@4.19.6': + '@types/express-serve-static-core@5.0.1': dependencies: - '@types/node': 22.7.8 - '@types/qs': 6.9.16 + '@types/node': 22.9.0 + '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - '@types/express-serve-static-core@5.0.0': - dependencies: - '@types/node': 22.7.8 - '@types/qs': 6.9.16 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 - - '@types/express@4.17.21': - dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.9.16 - '@types/serve-static': 1.15.7 - '@types/express@5.0.0': dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 5.0.0 - '@types/qs': 6.9.16 + '@types/express-serve-static-core': 5.0.1 + '@types/qs': 6.9.17 '@types/serve-static': 1.15.7 - '@types/find-cache-dir@3.2.1': {} - - '@types/fluent-ffmpeg@2.1.26': + '@types/fluent-ffmpeg@2.1.27': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/hast@3.0.4': dependencies: @@ -13152,7 +12969,7 @@ snapshots: '@types/http-link-header@1.0.7': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/istanbul-lib-coverage@2.0.6': {} @@ -13164,7 +12981,7 @@ snapshots: dependencies: '@types/istanbul-lib-report': 3.0.3 - '@types/jest@29.5.13': + '@types/jest@29.5.14': dependencies: expect: 29.7.0 pretty-format: 29.7.0 @@ -13173,9 +12990,9 @@ snapshots: '@types/jsdom@21.1.7': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/tough-cookie': 4.0.5 - parse5: 7.2.0 + parse5: 7.2.1 '@types/json-schema@7.0.15': {} @@ -13187,9 +13004,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 22.7.8 - - '@types/lodash@4.17.12': {} + '@types/node': 22.9.0 '@types/long@4.0.2': {} @@ -13215,26 +13030,22 @@ snapshots: '@types/ms@0.7.34': {} - '@types/mute-stream@0.0.4': - dependencies: - '@types/node': 22.7.8 - '@types/node-fetch@2.6.11': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 form-data: 4.0.1 '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 - '@types/node@22.7.8': + '@types/node@22.9.0': dependencies: undici-types: 6.19.8 '@types/nodemailer@6.4.16': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/normalize-package-data@2.4.4': {} @@ -13245,11 +13056,11 @@ snapshots: '@types/oauth2orize@1.11.5': dependencies: '@types/express': 5.0.0 - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/oauth@0.9.6': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/offscreencanvas@2019.3.0': {} @@ -13257,7 +13068,7 @@ snapshots: '@types/pg@8.11.10': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 pg-protocol: 1.7.0 pg-types: 4.0.2 @@ -13269,9 +13080,9 @@ snapshots: '@types/qrcode@1.5.5': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 - '@types/qs@6.9.16': {} + '@types/qs@6.9.17': {} '@types/random-seed@0.3.5': {} @@ -13279,14 +13090,14 @@ snapshots: '@types/ratelimiter@3.4.6': {} - '@types/react@18.3.11': + '@types/react@18.3.12': dependencies: '@types/prop-types': 15.7.13 csstype: 3.1.3 '@types/readdir-glob@1.1.5': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/rename@1.0.7': {} @@ -13294,7 +13105,7 @@ snapshots: '@types/responselike@1.0.3': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/sanitize-html@2.13.0': dependencies: @@ -13309,15 +13120,15 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/send': 0.17.4 - '@types/serviceworker@0.0.101': {} + '@types/serviceworker@0.0.102': {} '@types/simple-oauth2@5.0.7': {} @@ -13329,7 +13140,7 @@ snapshots: '@types/sinonjs__fake-timers@8.1.5': {} - '@types/sizzle@2.3.8': {} + '@types/sizzle@2.3.9': {} '@types/stack-utils@2.0.3': {} @@ -13345,23 +13156,19 @@ snapshots: '@types/unist@3.0.3': {} - '@types/uuid@10.0.0': {} - '@types/uuid@9.0.8': {} '@types/vary@1.1.3': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/web-push@3.6.4': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 - '@types/wrap-ansi@3.0.0': {} - - '@types/ws@8.5.12': + '@types/ws@8.5.13': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 '@types/yargs-parser@21.0.3': {} @@ -13371,12 +13178,12 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 optional: true '@typescript-eslint/eslint-plugin@7.10.0(@typescript-eslint/parser@7.10.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 '@typescript-eslint/parser': 7.10.0(eslint@8.57.1)(typescript@5.6.3) '@typescript-eslint/scope-manager': 7.10.0 '@typescript-eslint/type-utils': 7.10.0(eslint@8.57.1)(typescript@5.6.3) @@ -13386,7 +13193,7 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -13416,7 +13223,7 @@ snapshots: '@typescript-eslint/utils': 7.10.0(eslint@8.57.1)(typescript@5.6.3) debug: 4.3.7(supports-color@8.1.1) eslint: 8.57.1 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -13433,7 +13240,7 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -13441,7 +13248,7 @@ snapshots: '@typescript-eslint/utils@7.10.0(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.10.0 '@typescript-eslint/types': 7.10.0 '@typescript-eslint/typescript-estree': 7.10.0(typescript@5.6.3) @@ -13457,12 +13264,12 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-vue@5.1.4(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': + '@vitejs/plugin-vue@5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': dependencies: - vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) vue: 3.5.12(typescript@5.6.3) - '@vitest/coverage-v8@2.1.3(vitest@2.1.3(@types/node@22.7.8)(happy-dom@15.7.4)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(msw@2.5.0(typescript@5.6.3))(sass@1.80.3)(terser@5.36.0))': + '@vitest/coverage-v8@2.1.4(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(sass@1.80.6)(terser@5.36.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -13476,7 +13283,7 @@ snapshots: std-env: 3.7.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.3(@types/node@22.7.8)(happy-dom@15.7.4)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(msw@2.5.0(typescript@5.6.3))(sass@1.80.3)(terser@5.36.0) + vitest: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(sass@1.80.6)(terser@5.36.0) transitivePeerDependencies: - supports-color @@ -13484,41 +13291,41 @@ snapshots: dependencies: '@vitest/spy': 2.0.5 '@vitest/utils': 2.0.5 - chai: 5.1.1 + chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/expect@2.1.3': + '@vitest/expect@2.1.4': dependencies: - '@vitest/spy': 2.1.3 - '@vitest/utils': 2.1.3 - chai: 5.1.1 + '@vitest/spy': 2.1.4 + '@vitest/utils': 2.1.4 + chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.3(@vitest/spy@2.1.3)(msw@2.5.0(typescript@5.6.3))(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0))': + '@vitest/mocker@2.1.4(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0))': dependencies: - '@vitest/spy': 2.1.3 + '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - msw: 2.5.0(typescript@5.6.3) - vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) + msw: 2.6.0(@types/node@22.9.0)(typescript@5.6.3) + vite: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) '@vitest/pretty-format@2.0.5': dependencies: tinyrainbow: 1.2.0 - '@vitest/pretty-format@2.1.3': + '@vitest/pretty-format@2.1.4': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.1.3': + '@vitest/runner@2.1.4': dependencies: - '@vitest/utils': 2.1.3 + '@vitest/utils': 2.1.4 pathe: 1.1.2 - '@vitest/snapshot@2.1.3': + '@vitest/snapshot@2.1.4': dependencies: - '@vitest/pretty-format': 2.1.3 + '@vitest/pretty-format': 2.1.4 magic-string: 0.30.12 pathe: 1.1.2 @@ -13526,7 +13333,7 @@ snapshots: dependencies: tinyspy: 3.0.2 - '@vitest/spy@2.1.3': + '@vitest/spy@2.1.4': dependencies: tinyspy: 3.0.2 @@ -13537,27 +13344,27 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 - '@vitest/utils@2.1.3': + '@vitest/utils@2.1.4': dependencies: - '@vitest/pretty-format': 2.1.3 + '@vitest/pretty-format': 2.1.4 loupe: 3.1.2 tinyrainbow: 1.2.0 - '@volar/language-core@2.4.6': + '@volar/language-core@2.4.8': dependencies: - '@volar/source-map': 2.4.6 + '@volar/source-map': 2.4.8 - '@volar/source-map@2.4.6': {} + '@volar/source-map@2.4.8': {} - '@volar/typescript@2.4.6': + '@volar/typescript@2.4.8': dependencies: - '@volar/language-core': 2.4.6 + '@volar/language-core': 2.4.8 path-browserify: 1.0.1 vscode-uri: 3.0.8 '@vue/compiler-core@3.5.12': dependencies: - '@babel/parser': 7.25.9 + '@babel/parser': 7.26.2 '@vue/shared': 3.5.12 entities: 4.5.0 estree-walker: 2.0.2 @@ -13570,7 +13377,7 @@ snapshots: '@vue/compiler-sfc@3.5.12': dependencies: - '@babel/parser': 7.25.9 + '@babel/parser': 7.26.2 '@vue/compiler-core': 3.5.12 '@vue/compiler-dom': 3.5.12 '@vue/compiler-ssr': 3.5.12 @@ -13590,13 +13397,13 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - '@vue/language-core@2.1.6(typescript@5.6.3)': + '@vue/language-core@2.1.10(typescript@5.6.3)': dependencies: - '@volar/language-core': 2.4.6 + '@volar/language-core': 2.4.8 '@vue/compiler-dom': 3.5.12 '@vue/compiler-vue2': 2.7.16 '@vue/shared': 3.5.12 - computeds: 0.0.1 + alien-signals: 0.2.0 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 @@ -13630,7 +13437,7 @@ snapshots: '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.15.1 - vue-component-type-helpers: 2.1.6 + vue-component-type-helpers: 2.1.10 '@webgpu/types@0.1.38': {} @@ -13652,19 +13459,13 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@7.4.1): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 7.4.1 - - acorn-jsx@5.3.2(acorn@8.13.0): - dependencies: - acorn: 8.13.0 - - acorn-walk@7.2.0: {} + acorn: 8.14.0 acorn@7.4.1: {} - acorn@8.13.0: {} + acorn@8.14.0: {} adm-zip@0.5.16: optional: true @@ -13746,6 +13547,8 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + alien-signals@0.2.0: {} + ansi-colors@4.1.3: {} ansi-escapes@4.3.2: @@ -13756,10 +13559,6 @@ snapshots: ansi-regex@6.1.0: {} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -13899,7 +13698,7 @@ snapshots: dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 - tslib: 2.8.0 + tslib: 2.8.1 assert-never@1.3.0: {} @@ -13909,7 +13708,7 @@ snapshots: ast-types@0.16.1: dependencies: - tslib: 2.8.0 + tslib: 2.8.1 astral-regex@2.0.0: {} @@ -13917,7 +13716,7 @@ snapshots: async-mutex@0.5.0: dependencies: - tslib: 2.8.0 + tslib: 2.8.1 async@0.2.10: {} @@ -13942,7 +13741,7 @@ snapshots: dependencies: '@types/sinon': 17.0.3 sinon: 18.0.1 - tslib: 2.8.0 + tslib: 2.8.1 aws-sign2@0.7.0: {} @@ -13964,13 +13763,13 @@ snapshots: b4a@1.6.7: {} - babel-jest@29.7.0(@babel/core@7.25.9): + babel-jest@29.7.0(@babel/core@7.26.0): dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.25.9) + babel-preset-jest: 29.6.3(@babel/core@7.26.0) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -13990,38 +13789,38 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.25.9 - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 - babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.9): + babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): dependencies: - '@babel/core': 7.25.9 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.9) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.9) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.9) - '@babel/plugin-syntax-import-attributes': 7.25.9(@babel/core@7.25.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.9) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.9) + '@babel/core': 7.26.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) - babel-preset-jest@29.6.3(@babel/core@7.25.9): + babel-preset-jest@29.6.3(@babel/core@7.26.0): dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.9) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) babel-walk@3.0.0-canary-5: dependencies: - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 bail@2.0.2: {} @@ -14111,8 +13910,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001669 - electron-to-chromium: 1.5.42 + caniuse-lite: 1.0.30001677 + electron-to-chromium: 1.5.52 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -14148,14 +13947,14 @@ snapshots: node-gyp-build: 4.8.2 optional: true - bullmq@5.21.2: + bullmq@5.24.0: dependencies: cron-parser: 4.9.0 ioredis: 5.4.1 - msgpackr: 1.11.0 + msgpackr: 1.11.2 node-abort-controller: 3.1.1 semver: 7.6.3 - tslib: 2.8.0 + tslib: 2.8.1 uuid: 9.0.1 transitivePeerDependencies: - supports-color @@ -14231,11 +14030,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001669 + caniuse-lite: 1.0.30001677 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001669: {} + caniuse-lite@1.0.30001677: {} canonicalize@1.0.8: {} @@ -14243,13 +14042,13 @@ snapshots: caseless@0.12.0: {} - cbor@9.0.2: + cbor@10.0.2: dependencies: nofilter: 3.1.0 ccount@2.0.1: {} - chai@5.1.1: + chai@5.1.2: dependencies: assertion-error: 2.0.1 check-error: 2.1.1 @@ -14261,12 +14060,6 @@ snapshots: dependencies: chalk: 5.3.0 - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - chalk@3.0.0: dependencies: ansi-styles: 4.3.0 @@ -14291,26 +14084,26 @@ snapshots: dependencies: is-regex: 1.1.4 - chart.js@4.4.5: + chart.js@4.4.6: dependencies: '@kurkle/color': 0.3.2 - chartjs-adapter-date-fns@3.0.0(chart.js@4.4.5)(date-fns@4.1.0): + chartjs-adapter-date-fns@3.0.0(chart.js@4.4.6)(date-fns@4.1.0): dependencies: - chart.js: 4.4.5 + chart.js: 4.4.6 date-fns: 4.1.0 - chartjs-chart-matrix@2.0.1(chart.js@4.4.5): + chartjs-chart-matrix@2.0.1(chart.js@4.4.6): dependencies: - chart.js: 4.4.5 + chart.js: 4.4.6 - chartjs-plugin-gradient@0.6.1(chart.js@4.4.5): + chartjs-plugin-gradient@0.6.1(chart.js@4.4.6): dependencies: - chart.js: 4.4.5 + chart.js: 4.4.6 - chartjs-plugin-zoom@2.0.1(chart.js@4.4.5): + chartjs-plugin-zoom@2.0.1(chart.js@4.4.6): dependencies: - chart.js: 4.4.5 + chart.js: 4.4.6 hammerjs: 2.0.8 check-error@2.1.1: {} @@ -14333,7 +14126,7 @@ snapshots: domhandler: 5.0.3 domutils: 3.1.0 htmlparser2: 8.0.2 - parse5: 7.2.0 + parse5: 7.2.1 parse5-htmlparser2-tree-adapter: 7.1.0 chokidar@4.0.1: @@ -14343,7 +14136,7 @@ snapshots: chownr@2.0.0: optional: true - chromatic@11.14.0: {} + chromatic@11.16.5: {} ci-info@3.9.0: {} @@ -14411,16 +14204,10 @@ snapshots: collect-v8-coverage@1.0.2: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} color-string@1.9.1: @@ -14460,8 +14247,6 @@ snapshots: common-tags@1.8.2: {} - commondir@1.0.1: {} - compare-versions@6.1.1: {} compress-commons@6.0.2: @@ -14472,8 +14257,6 @@ snapshots: normalize-path: 3.0.0 readable-stream: 4.5.2 - computeds@0.0.1: {} - concat-map@0.0.1: {} concat-stream@1.6.2: @@ -14495,8 +14278,8 @@ snapshots: constantinople@4.0.1: dependencies: - '@babel/parser': 7.25.9 - '@babel/types': 7.25.9 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 content-disposition@0.5.4: dependencies: @@ -14506,7 +14289,7 @@ snapshots: convert-source-map@2.0.0: {} - cookie-signature@1.2.1: {} + cookie-signature@1.2.2: {} cookie@1.0.1: {} @@ -14528,13 +14311,13 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.5.2 - create-jest@29.7.0(@types/node@22.7.8): + create-jest@29.7.0(@types/node@22.9.0): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.7.8) + jest-config: 29.7.0(@types/node@22.9.0) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -14556,15 +14339,15 @@ snapshots: dependencies: cross-spawn: 7.0.3 - cross-fetch@3.1.8(encoding@0.1.13): + cross-fetch@3.1.8: dependencies: - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 transitivePeerDependencies: - encoding - cross-fetch@4.0.0(encoding@0.1.13): + cross-fetch@4.0.0: dependencies: - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.7.0 transitivePeerDependencies: - encoding @@ -14666,12 +14449,12 @@ snapshots: dependencies: uniq: 1.0.1 - cypress@13.15.0: + cypress@13.15.1: dependencies: - '@cypress/request': 3.0.5 + '@cypress/request': 3.0.6 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.8 + '@types/sizzle': 2.3.9 arch: 2.2.0 blob-util: 2.0.2 bluebird: 3.7.2 @@ -14708,6 +14491,7 @@ snapshots: semver: 7.6.3 supports-color: 8.1.1 tmp: 0.2.3 + tree-kill: 1.2.2 untildify: 4.0.0 yauzl: 2.10.0 @@ -14857,7 +14641,8 @@ snapshots: destroy@1.2.0: {} - detect-libc@1.0.3: {} + detect-libc@1.0.3: + optional: true detect-libc@2.0.3: {} @@ -14941,7 +14726,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.42: {} + electron-to-chromium@1.5.52: {} emittery@0.13.1: {} @@ -14953,11 +14738,6 @@ snapshots: encodeurl@2.0.0: {} - encoding@0.1.13: - dependencies: - iconv-lite: 0.6.3 - optional: true - end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -15042,8 +14822,6 @@ snapshots: isarray: 2.0.5 stop-iteration-iterator: 1.0.0 - es-module-lexer@1.5.4: {} - es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 @@ -15064,6 +14842,8 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 + es-toolkit@1.26.1: {} + es6-promise@4.2.8: optional: true @@ -15120,14 +14900,6 @@ snapshots: escape-string-regexp@5.0.0: {} - escodegen@2.1.0: - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionalDependencies: - source-map: 0.6.1 - eslint-formatter-pretty@4.1.0: dependencies: '@types/eslint': 7.29.0 @@ -15186,9 +14958,9 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-vue@9.29.1(eslint@8.57.1): + eslint-plugin-vue@9.30.0(eslint@8.57.1): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) eslint: 8.57.1 globals: 13.24.0 natural-compare: 1.4.0 @@ -15211,8 +14983,8 @@ snapshots: eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.1 '@humanwhocodes/config-array': 0.13.0 @@ -15256,8 +15028,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.13.0 - acorn-jsx: 5.3.2(acorn@8.13.0) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -15360,7 +15132,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - execa@9.4.1: + execa@9.5.1: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.3 @@ -15381,6 +15153,8 @@ snapshots: exit@0.1.2: {} + expect-type@1.1.0: {} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 @@ -15397,7 +15171,7 @@ snapshots: content-disposition: 0.5.4 content-type: 1.0.5 cookie: 1.0.1 - cookie-signature: 1.2.1 + cookie-signature: 1.2.2 debug: 4.3.7(supports-color@8.1.1) depd: 2.0.0 encodeurl: 2.0.0 @@ -15525,7 +15299,7 @@ snapshots: avvio: 9.1.0 fast-json-stringify: 6.0.0 find-my-way: 9.1.0 - light-my-request: 6.1.0 + light-my-request: 6.3.0 pino: 9.5.0 process-warning: 4.0.0 proxy-addr: 2.0.7 @@ -15608,12 +15382,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-cache-dir@3.3.2: - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - find-my-way@9.1.0: dependencies: fast-deep-equal: 3.1.3 @@ -15699,12 +15467,6 @@ snapshots: from@0.1.7: {} - fs-extra@11.2.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 @@ -15823,8 +15585,6 @@ snapshots: dependencies: readable-stream: 1.1.14 - github-slugger@2.0.0: {} - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -15924,7 +15684,7 @@ snapshots: p-cancelable: 3.0.0 responselike: 3.0.0 - got@14.4.3: + got@14.4.4: dependencies: '@sindresorhus/is': 7.0.1 '@szmarczak/http-timer': 5.0.1 @@ -15948,7 +15708,7 @@ snapshots: hammerjs@2.0.8: {} - happy-dom@15.7.4: + happy-dom@15.9.0: dependencies: entities: 4.5.0 webidl-conversions: 7.0.0 @@ -15990,14 +15750,6 @@ snapshots: dependencies: function-bind: 1.1.2 - hast-util-heading-rank@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-is-element@3.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-to-html@9.0.3: dependencies: '@types/hast': 3.0.4 @@ -16012,10 +15764,6 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-to-string@3.0.1: - dependencies: - '@types/hast': 3.0.4 - hast-util-whitespace@3.0.0: dependencies: '@types/hast': 3.0.4 @@ -16046,8 +15794,6 @@ snapshots: html-escaper@2.0.2: {} - html-tags@3.3.1: {} - html-void-elements@3.0.0: {} htmlescape@1.1.1: {} @@ -16227,8 +15973,6 @@ snapshots: irregular-plurals@3.5.0: {} - is-absolute-url@4.0.1: {} - is-arguments@1.1.1: dependencies: call-bind: 1.0.7 @@ -16398,8 +16142,8 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.25.9 - '@babel/parser': 7.25.9 + '@babel/core': 7.26.0 + '@babel/parser': 7.26.2 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -16408,8 +16152,8 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.25.9 - '@babel/parser': 7.25.9 + '@babel/core': 7.26.0 + '@babel/parser': 7.26.2 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -16474,7 +16218,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -16494,16 +16238,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.7.8): + jest-cli@29.7.0(@types/node@22.9.0): dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.7.8) + create-jest: 29.7.0(@types/node@22.9.0) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.7.8) + jest-config: 29.7.0(@types/node@22.9.0) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -16513,12 +16257,12 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.7.8): + jest-config@29.7.0(@types/node@22.9.0): dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.25.9) + babel-jest: 29.7.0(@babel/core@7.26.0) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -16538,7 +16282,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -16567,13 +16311,13 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 jest-mock: 29.7.0 jest-util: 29.7.0 - jest-fetch-mock@3.0.3(encoding@0.1.13): + jest-fetch-mock@3.0.3: dependencies: - cross-fetch: 3.1.8(encoding@0.1.13) + cross-fetch: 3.1.8 promise-polyfill: 8.3.0 transitivePeerDependencies: - encoding @@ -16584,7 +16328,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.7.8 + '@types/node': 22.9.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -16610,7 +16354,7 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.25.9 + '@babel/code-frame': 7.26.2 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -16623,7 +16367,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -16658,7 +16402,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -16686,7 +16430,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 chalk: 4.1.2 cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 @@ -16706,15 +16450,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.25.9 - '@babel/generator': 7.25.9 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.9) - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.25.9) - '@babel/types': 7.25.9 + '@babel/core': 7.26.0 + '@babel/generator': 7.26.2 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + '@babel/types': 7.26.0 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.9) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -16732,7 +16476,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -16751,7 +16495,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 22.9.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -16765,17 +16509,17 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.7.8): + jest@29.7.0(@types/node@22.9.0): dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.7.8) + jest-cli: 29.7.0(@types/node@22.9.0) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -16829,7 +16573,7 @@ snapshots: jsdoc-type-pratt-parser@4.1.0: {} - jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4): + jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5): dependencies: cssstyle: 4.1.0 data-urls: 5.0.0 @@ -16840,7 +16584,7 @@ snapshots: https-proxy-agent: 7.0.5 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.13 - parse5: 7.2.0 + parse5: 7.2.1 rrweb-cssom: 0.7.1 saxes: 6.0.0 symbol-tree: 3.2.4 @@ -16850,7 +16594,7 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.5) xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -16982,7 +16726,7 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - light-my-request@6.1.0: + light-my-request@6.3.0: dependencies: cookie: 1.0.1 process-warning: 4.0.0 @@ -17057,7 +16801,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.0.1: {} + lru-cache@11.0.2: {} lru-cache@4.1.5: dependencies: @@ -17088,8 +16832,8 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.25.9 - '@babel/types': 7.25.9 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 source-map-js: 1.2.1 mailcheck@1.1.1: {} @@ -17097,28 +16841,12 @@ snapshots: make-dir@3.1.0: dependencies: semver: 6.3.1 + optional: true make-dir@4.0.0: dependencies: semver: 7.6.3 - make-fetch-happen@13.0.1: - dependencies: - '@npmcli/agent': 2.2.2 - cacache: 18.0.4 - http-cache-semantics: 4.1.1 - is-lambda: 1.0.1 - minipass: 7.1.2 - minipass-fetch: 3.0.5 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.4 - proc-log: 4.2.0 - promise-retry: 2.0.1 - ssri: 10.0.6 - transitivePeerDependencies: - - supports-color - makeerror@1.0.12: dependencies: tmpl: 1.0.5 @@ -17133,10 +16861,6 @@ snapshots: markdown-table@3.0.4: {} - markdown-to-jsx@7.5.0(react@18.3.1): - dependencies: - react: 18.3.1 - matter-js@0.20.0: {} mdast-util-find-and-replace@3.0.1: @@ -17146,7 +16870,7 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - mdast-util-from-markdown@2.0.1: + mdast-util-from-markdown@2.0.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -17175,8 +16899,8 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.0 transitivePeerDependencies: - supports-color @@ -17184,8 +16908,8 @@ snapshots: mdast-util-gfm-strikethrough@2.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -17194,8 +16918,8 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -17203,20 +16927,20 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color mdast-util-gfm@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.0.0 mdast-util-gfm-strikethrough: 2.0.0 mdast-util-gfm-table: 2.0.0 mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -17237,13 +16961,14 @@ snapshots: unist-util-visit: 5.0.0 vfile: 6.0.3 - mdast-util-to-markdown@2.1.0: + mdast-util-to-markdown@2.1.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.0 micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -17258,7 +16983,7 @@ snapshots: media-typer@0.3.0: {} - meilisearch@0.44.1: {} + meilisearch@0.45.0: {} memoizerific@1.11.3: dependencies: @@ -17293,7 +17018,7 @@ snapshots: microformats-parser@2.0.2: dependencies: - parse5: 7.2.0 + parse5: 7.2.1 micromark-core-commonmark@2.0.1: dependencies: @@ -17596,22 +17321,23 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.3 optional: true - msgpackr@1.11.0: + msgpackr@1.11.2: optionalDependencies: msgpackr-extract: 3.0.3 - msw-storybook-addon@2.0.3(msw@2.5.0(typescript@5.6.3)): + msw-storybook-addon@2.0.4(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3)): dependencies: is-node-process: 1.2.0 - msw: 2.5.0(typescript@5.6.3) + msw: 2.6.0(@types/node@22.9.0)(typescript@5.6.3) - msw@2.5.0(typescript@5.6.3): + msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3): dependencies: - '@bundled-es-modules/cookie': 2.0.0 + '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 4.0.1 - '@mswjs/interceptors': 0.36.5 + '@inquirer/confirm': 5.0.1(@types/node@22.9.0) + '@mswjs/interceptors': 0.36.9 + '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 '@types/statuses': 2.0.5 @@ -17626,6 +17352,8 @@ snapshots: yargs: 17.7.2 optionalDependencies: typescript: 5.6.3 + transitivePeerDependencies: + - '@types/node' muggle-string@0.4.1: {} @@ -17641,7 +17369,7 @@ snapshots: multi-integer-range@3.0.0: {} - mute-stream@1.0.0: {} + mute-stream@2.0.0: {} mylas@2.1.13: {} @@ -17651,11 +17379,9 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nan@2.22.0: {} - nanoid@3.3.7: {} - nanoid@5.0.7: {} + nanoid@5.0.8: {} natural-compare@1.4.0: {} @@ -17690,8 +17416,6 @@ snapshots: negotiator@0.6.3: {} - negotiator@0.6.4: {} - nested-property@4.0.0: {} netmask@2.0.2: {} @@ -17699,30 +17423,27 @@ snapshots: nise@6.1.1: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 13.0.4 + '@sinonjs/fake-timers': 13.0.5 '@sinonjs/text-encoding': 0.7.3 just-extend: 6.2.0 path-to-regexp: 8.2.0 node-abort-controller@3.1.1: {} - node-addon-api@7.1.1: {} + node-addon-api@7.1.1: + optional: true node-bitmap@0.0.1: {} node-domexception@1.0.0: {} - node-fetch@2.6.13(encoding@0.1.13): + node-fetch@2.6.13: dependencies: whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 - node-fetch@2.7.0(encoding@0.1.13): + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 node-fetch@3.3.2: dependencies: @@ -17750,7 +17471,7 @@ snapshots: node-xmllint@1.0.0: {} - nodemailer@6.9.15: {} + nodemailer@6.9.16: {} nodemon@3.1.7: dependencies: @@ -17821,10 +17542,10 @@ snapshots: set-blocking: 2.0.0 optional: true - nsfwjs@2.4.2(@tensorflow/tfjs@4.22.0(encoding@0.1.13)(seedrandom@3.0.5)): + nsfwjs@2.4.2(@tensorflow/tfjs@4.22.0(seedrandom@3.0.5)): dependencies: '@nsfw-filter/gif-frames': 1.0.2 - '@tensorflow/tfjs': 4.22.0(encoding@0.1.13)(seedrandom@3.0.5) + '@tensorflow/tfjs': 4.22.0(seedrandom@3.0.5) nth-check@2.1.1: dependencies: @@ -17911,7 +17632,7 @@ snapshots: oniguruma-to-js@0.4.3: dependencies: - regex: 4.3.3 + regex: 4.4.0 open@8.4.2: dependencies: @@ -18006,7 +17727,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.25.9 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -18022,13 +17743,13 @@ snapshots: parse5-htmlparser2-tree-adapter@7.1.0: dependencies: domhandler: 5.0.3 - parse5: 7.2.0 + parse5: 7.2.1 parse5@5.1.1: {} parse5@6.0.1: {} - parse5@7.2.0: + parse5@7.2.1: dependencies: entities: 4.5.0 @@ -18055,7 +17776,7 @@ snapshots: path-scurry@2.0.0: dependencies: - lru-cache: 11.0.1 + lru-cache: 11.0.2 minipass: 7.1.2 path-to-regexp@0.1.10: {} @@ -18091,9 +17812,9 @@ snapshots: pg-numeric@1.0.2: {} - pg-pool@3.7.0(pg@8.13.0): + pg-pool@3.7.0(pg@8.13.1): dependencies: - pg: 8.13.0 + pg: 8.13.1 pg-protocol@1.7.0: {} @@ -18115,10 +17836,10 @@ snapshots: postgres-interval: 3.0.0 postgres-range: 1.1.4 - pg@8.13.0: + pg@8.13.1: dependencies: pg-connection-string: 2.7.0 - pg-pool: 3.7.0(pg@8.13.0) + pg-pool: 3.7.0(pg@8.13.1) pg-protocol: 1.7.0 pg-types: 2.2.0 pgpass: 1.0.5 @@ -18135,6 +17856,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: {} + pid-port@1.0.0: dependencies: execa: 8.0.1 @@ -18206,7 +17929,7 @@ snapshots: polished@4.3.1: dependencies: - '@babel/runtime': 7.25.9 + '@babel/runtime': 7.26.0 possible-typed-array-names@1.0.0: {} @@ -18457,12 +18180,6 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 - prop-types@15.8.1: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - property-information@6.5.0: {} proto-list@1.2.4: {} @@ -18566,7 +18283,7 @@ snapshots: pvtsutils@1.3.5: dependencies: - tslib: 2.8.0 + tslib: 2.8.1 pvutils@1.1.3: {} @@ -18622,20 +18339,15 @@ snapshots: dependencies: setimmediate: 1.0.5 - react-colorful@5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-docgen-typescript@2.2.2(typescript@5.6.3): dependencies: typescript: 5.6.3 react-docgen@7.1.0: dependencies: - '@babel/core': 7.25.9 + '@babel/core': 7.26.0 '@babel/traverse': 7.25.9 - '@babel/types': 7.25.9 + '@babel/types': 7.26.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 '@types/doctrine': 0.0.9 @@ -18652,20 +18364,8 @@ snapshots: react: 18.3.1 scheduler: 0.23.2 - react-element-to-jsx-string@15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@base2/pretty-print-object': 1.0.1 - is-plain-object: 5.0.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-is: 18.1.0 - - react-is@16.13.1: {} - react-is@17.0.2: {} - react-is@18.1.0: {} - react-is@18.3.1: {} react@18.3.1: @@ -18734,7 +18434,7 @@ snapshots: esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 - tslib: 2.8.0 + tslib: 2.8.1 reconnecting-websocket@4.4.0: {} @@ -18761,7 +18461,7 @@ snapshots: regenerator-runtime@0.14.1: {} - regex@4.3.3: {} + regex@4.4.0: {} regexp.prototype.flags@1.5.3: dependencies: @@ -18770,23 +18470,6 @@ snapshots: es-errors: 1.3.0 set-function-name: 2.0.2 - rehype-external-links@3.0.0: - dependencies: - '@types/hast': 3.0.4 - '@ungap/structured-clone': 1.2.0 - hast-util-is-element: 3.0.0 - is-absolute-url: 4.0.1 - space-separated-tokens: 2.0.2 - unist-util-visit: 5.0.0 - - rehype-slug@6.0.0: - dependencies: - '@types/hast': 3.0.4 - github-slugger: 2.0.0 - hast-util-heading-rank: 3.0.0 - hast-util-to-string: 3.0.1 - unist-util-visit: 5.0.0 - remark-gfm@4.0.0: dependencies: '@types/mdast': 4.0.4 @@ -18801,7 +18484,7 @@ snapshots: remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 micromark-util-types: 2.0.0 unified: 11.0.5 transitivePeerDependencies: @@ -18810,7 +18493,7 @@ snapshots: remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 unified: 11.0.5 rename@1.0.4: @@ -18902,26 +18585,28 @@ snapshots: dependencies: glob: 7.2.3 - rollup@4.24.0: + rollup@4.24.4: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.24.0 - '@rollup/rollup-android-arm64': 4.24.0 - '@rollup/rollup-darwin-arm64': 4.24.0 - '@rollup/rollup-darwin-x64': 4.24.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 - '@rollup/rollup-linux-arm-musleabihf': 4.24.0 - '@rollup/rollup-linux-arm64-gnu': 4.24.0 - '@rollup/rollup-linux-arm64-musl': 4.24.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 - '@rollup/rollup-linux-riscv64-gnu': 4.24.0 - '@rollup/rollup-linux-s390x-gnu': 4.24.0 - '@rollup/rollup-linux-x64-gnu': 4.24.0 - '@rollup/rollup-linux-x64-musl': 4.24.0 - '@rollup/rollup-win32-arm64-msvc': 4.24.0 - '@rollup/rollup-win32-ia32-msvc': 4.24.0 - '@rollup/rollup-win32-x64-msvc': 4.24.0 + '@rollup/rollup-android-arm-eabi': 4.24.4 + '@rollup/rollup-android-arm64': 4.24.4 + '@rollup/rollup-darwin-arm64': 4.24.4 + '@rollup/rollup-darwin-x64': 4.24.4 + '@rollup/rollup-freebsd-arm64': 4.24.4 + '@rollup/rollup-freebsd-x64': 4.24.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.4 + '@rollup/rollup-linux-arm-musleabihf': 4.24.4 + '@rollup/rollup-linux-arm64-gnu': 4.24.4 + '@rollup/rollup-linux-arm64-musl': 4.24.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4 + '@rollup/rollup-linux-riscv64-gnu': 4.24.4 + '@rollup/rollup-linux-s390x-gnu': 4.24.4 + '@rollup/rollup-linux-x64-gnu': 4.24.4 + '@rollup/rollup-linux-x64-musl': 4.24.4 + '@rollup/rollup-win32-arm64-msvc': 4.24.4 + '@rollup/rollup-win32-ia32-msvc': 4.24.4 + '@rollup/rollup-win32-x64-msvc': 4.24.4 fsevents: 2.3.3 rrweb-cssom@0.7.1: {} @@ -18937,7 +18622,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.8.0 + tslib: 2.8.1 safe-array-concat@1.1.2: dependencies: @@ -18987,12 +18672,13 @@ snapshots: parse-srcset: 1.0.2 postcss: 8.4.47 - sass@1.80.3: + sass@1.80.6: dependencies: - '@parcel/watcher': 2.4.1 chokidar: 4.0.1 immutable: 4.3.7 source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.0 sax@1.4.1: {} @@ -19120,12 +18806,12 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.22.0: + shiki@1.22.2: dependencies: - '@shikijs/core': 1.22.0 - '@shikijs/engine-javascript': 1.22.0 - '@shikijs/engine-oniguruma': 1.22.0 - '@shikijs/types': 1.22.0 + '@shikijs/core': 1.22.2 + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -19144,7 +18830,7 @@ snapshots: simple-oauth2@5.1.0: dependencies: - '@hapi/hoek': 11.0.4 + '@hapi/hoek': 11.0.6 '@hapi/wreck': 18.1.0 debug: 4.3.7(supports-color@8.1.1) joi: 17.13.3 @@ -19239,21 +18925,6 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - smart-buffer@4.2.0: {} - - socks-proxy-agent@8.0.4: - dependencies: - agent-base: 7.1.1 - debug: 4.3.7(supports-color@8.1.1) - socks: 2.8.3 - transitivePeerDependencies: - - supports-color - - socks@2.8.3: - dependencies: - ip-address: 9.0.5 - smart-buffer: 4.2.0 - sonic-boom@4.2.0: dependencies: atomic-sleep: 1.0.0 @@ -19351,22 +19022,24 @@ snapshots: dependencies: internal-slot: 1.0.7 - storybook-addon-misskey-theme@https://codeload.github.com/misskey-dev/storybook-addon-misskey-theme/tar.gz/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/components@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/core-events@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/manager-api@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/preview-api@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/theming@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(@storybook/types@8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + storybook-addon-misskey-theme@https://codeload.github.com/misskey-dev/storybook-addon-misskey-theme/tar.gz/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/components@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/core-events@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/manager-api@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/preview-api@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/theming@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(@storybook/types@8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@storybook/blocks': 8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/components': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/core-events': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/manager-api': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/preview-api': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/theming': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@storybook/types': 8.3.6(storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@storybook/blocks': 8.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/components': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/core-events': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/manager-api': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/preview-api': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/theming': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) + '@storybook/types': 8.4.2(storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5)) optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook@8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4): + storybook@8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5): dependencies: - '@storybook/core': 8.3.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) + '@storybook/core': 8.4.2(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.5) + optionalDependencies: + prettier: 3.3.3 transitivePeerDependencies: - bufferutil - supports-color @@ -19563,14 +19236,10 @@ snapshots: dependencies: execa: 6.1.0 - telejson@7.2.0: - dependencies: - memoizerific: 1.11.3 - terser@5.36.0: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.13.0 + acorn: 8.14.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -19604,7 +19273,7 @@ snapshots: dependencies: real-require: 0.2.0 - three@0.169.0: {} + three@0.170.0: {} throttle-debounce@5.0.2: {} @@ -19628,11 +19297,11 @@ snapshots: tinyspy@3.0.2: {} - tldts-core@6.1.53: {} + tldts-core@6.1.58: {} - tldts@6.1.53: + tldts@6.1.58: dependencies: - tldts-core: 6.1.53 + tldts-core: 6.1.58 tmp@0.2.3: {} @@ -19676,7 +19345,7 @@ snapshots: tough-cookie@5.0.0: dependencies: - tldts: 6.1.53 + tldts: 6.1.58 tr46@0.0.3: {} @@ -19686,6 +19355,8 @@ snapshots: trace-redirect@1.0.6: {} + tree-kill@1.2.2: {} + trim-lines@3.0.1: {} trim-newlines@3.0.1: {} @@ -19696,7 +19367,7 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.6.3): + ts-api-utils@1.4.0(typescript@5.6.3): dependencies: typescript: 5.6.3 @@ -19740,9 +19411,9 @@ snapshots: tslib@2.7.0: {} - tslib@2.8.0: {} + tslib@2.8.1: {} - tsx@4.19.1: + tsx@4.19.2: dependencies: esbuild: 0.24.0 get-tsconfig: 4.8.1 @@ -19816,7 +19487,7 @@ snapshots: typedarray@0.0.6: {} - typeorm@0.3.20(ioredis@5.4.1)(pg@8.13.0): + typeorm@0.3.20(ioredis@5.4.1)(pg@8.13.1): dependencies: '@sqltools/formatter': 1.2.5 app-root-path: 3.1.0 @@ -19830,12 +19501,12 @@ snapshots: mkdirp: 2.1.6 reflect-metadata: 0.2.2 sha.js: 2.4.11 - tslib: 2.8.0 + tslib: 2.8.1 uuid: 9.0.1 yargs: 17.7.2 optionalDependencies: ioredis: 5.4.1 - pg: 8.13.0 + pg: 8.13.1 transitivePeerDependencies: - supports-color @@ -19917,9 +19588,9 @@ snapshots: unpipe@1.0.0: {} - unplugin@1.14.1: + unplugin@1.15.0: dependencies: - acorn: 8.13.0 + acorn: 8.14.0 webpack-virtual-modules: 0.6.2 untildify@4.0.0: {} @@ -19939,7 +19610,7 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - utf-8-validate@6.0.4: + utf-8-validate@6.0.5: dependencies: node-gyp-build: 4.8.2 optional: true @@ -19956,7 +19627,7 @@ snapshots: utils-merge@1.0.1: {} - uuid@10.0.0: {} + uuid@11.0.2: {} uuid@3.4.0: {} @@ -20001,12 +19672,12 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@2.1.3(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0): + vite-node@2.1.4(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 - vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - less @@ -20020,35 +19691,36 @@ snapshots: vite-plugin-turbosnap@1.0.3: {} - vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0): + vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0): dependencies: esbuild: 0.24.0 postcss: 8.4.47 - rollup: 4.24.0 + rollup: 4.24.4 optionalDependencies: - '@types/node': 22.7.8 + '@types/node': 22.9.0 fsevents: 2.3.3 - sass: 1.80.3 + sass: 1.80.6 terser: 5.36.0 - vitest-fetch-mock@0.3.0(encoding@0.1.13)(vitest@2.1.3(@types/node@22.7.8)(happy-dom@15.7.4)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(msw@2.5.0(typescript@5.6.3))(sass@1.80.3)(terser@5.36.0)): + vitest-fetch-mock@0.3.0(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(sass@1.80.6)(terser@5.36.0)): dependencies: - cross-fetch: 4.0.0(encoding@0.1.13) - vitest: 2.1.3(@types/node@22.7.8)(happy-dom@15.7.4)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(msw@2.5.0(typescript@5.6.3))(sass@1.80.3)(terser@5.36.0) + cross-fetch: 4.0.0 + vitest: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(sass@1.80.6)(terser@5.36.0) transitivePeerDependencies: - encoding - vitest@2.1.3(@types/node@22.7.8)(happy-dom@15.7.4)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(msw@2.5.0(typescript@5.6.3))(sass@1.80.3)(terser@5.36.0): + vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(jsdom@25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5))(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(sass@1.80.6)(terser@5.36.0): dependencies: - '@vitest/expect': 2.1.3 - '@vitest/mocker': 2.1.3(@vitest/spy@2.1.3)(msw@2.5.0(typescript@5.6.3))(vite@5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0)) - '@vitest/pretty-format': 2.1.3 - '@vitest/runner': 2.1.3 - '@vitest/snapshot': 2.1.3 - '@vitest/spy': 2.1.3 - '@vitest/utils': 2.1.3 - chai: 5.1.1 + '@vitest/expect': 2.1.4 + '@vitest/mocker': 2.1.4(msw@2.6.0(@types/node@22.9.0)(typescript@5.6.3))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0)) + '@vitest/pretty-format': 2.1.4 + '@vitest/runner': 2.1.4 + '@vitest/snapshot': 2.1.4 + '@vitest/spy': 2.1.4 + '@vitest/utils': 2.1.4 + chai: 5.1.2 debug: 4.3.7(supports-color@8.1.1) + expect-type: 1.1.0 magic-string: 0.30.12 pathe: 1.1.2 std-env: 3.7.0 @@ -20056,13 +19728,13 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.9(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) - vite-node: 2.1.3(@types/node@22.7.8)(sass@1.80.3)(terser@5.36.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) + vite-node: 2.1.4(@types/node@22.9.0)(sass@1.80.6)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.7.8 - happy-dom: 15.7.4 - jsdom: 25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) + '@types/node': 22.9.0 + happy-dom: 15.9.0 + jsdom: 25.0.1(bufferutil@4.0.8)(utf-8-validate@6.0.5) transitivePeerDependencies: - less - lightningcss @@ -20099,16 +19771,16 @@ snapshots: vscode-uri@3.0.8: {} - vue-component-meta@2.1.6(typescript@5.6.3): + vue-component-meta@2.1.10(typescript@5.6.3): dependencies: - '@volar/typescript': 2.4.6 - '@vue/language-core': 2.1.6(typescript@5.6.3) + '@volar/typescript': 2.4.8 + '@vue/language-core': 2.1.10(typescript@5.6.3) path-browserify: 1.0.1 - vue-component-type-helpers: 2.1.6 + vue-component-type-helpers: 2.1.10 optionalDependencies: typescript: 5.6.3 - vue-component-type-helpers@2.1.6: {} + vue-component-type-helpers@2.1.10: {} vue-demi@0.14.10(vue@3.5.12(typescript@5.6.3)): dependencies: @@ -20116,8 +19788,8 @@ snapshots: vue-docgen-api@4.79.2(vue@3.5.12(typescript@5.6.3)): dependencies: - '@babel/parser': 7.25.9 - '@babel/types': 7.25.9 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 '@vue/compiler-dom': 3.5.12 '@vue/compiler-sfc': 3.5.12 ast-types: 0.16.1 @@ -20143,14 +19815,18 @@ snapshots: transitivePeerDependencies: - supports-color + vue-gtag@2.0.1(vue@3.5.12(typescript@5.6.3)): + dependencies: + vue: 3.5.12(typescript@5.6.3) + vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.5.12(typescript@5.6.3)): dependencies: vue: 3.5.12(typescript@5.6.3) - vue-tsc@2.1.6(typescript@5.6.3): + vue-tsc@2.1.10(typescript@5.6.3): dependencies: - '@volar/typescript': 2.4.6 - '@vue/language-core': 2.1.6(typescript@5.6.3) + '@volar/typescript': 2.4.8 + '@vue/language-core': 2.1.10(typescript@5.6.3) semver: 7.6.3 typescript: 5.6.3 @@ -20268,8 +19944,8 @@ snapshots: with@7.0.2: dependencies: - '@babel/parser': 7.25.9 - '@babel/types': 7.25.9 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 assert-never: 1.3.0 babel-walk: 3.0.0-canary-5 @@ -20300,10 +19976,10 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 - ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4): + ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.5): optionalDependencies: bufferutil: 4.0.8 - utf-8-validate: 6.0.4 + utf-8-validate: 6.0.5 xev@3.0.2: {} diff --git a/scripts/changelog-checker/.eslintrc.cjs b/scripts/changelog-checker/.eslintrc.cjs deleted file mode 100644 index 6acf8b3e6..000000000 --- a/scripts/changelog-checker/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, - extends: [ - '../../packages/shared/.eslintrc.js', - ], -}; diff --git a/scripts/changelog-checker/.gitignore b/scripts/changelog-checker/.gitignore deleted file mode 100644 index 882936f9b..000000000 --- a/scripts/changelog-checker/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -coverage -.idea \ No newline at end of file diff --git a/scripts/changelog-checker/package.json b/scripts/changelog-checker/package.json deleted file mode 100644 index 4d738cd45..000000000 --- a/scripts/changelog-checker/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "changelog-checker", - "version": "1.0.0", - "description": "", - "type": "module", - "scripts": { - "run": "vite-node src/index.ts", - "test": "vitest run", - "test:coverage": "vitest run --coverage" - }, - "devDependencies": { - "@types/mdast": "4.0.3", - "@types/node": "20.10.7", - "@vitest/coverage-v8": "1.1.3", - "mdast-util-to-string": "4.0.0", - "remark": "15.0.1", - "remark-parse": "11.0.0", - "typescript": "5.6.3", - "unified": "11.0.4", - "vite": "5.0.12", - "vite-node": "1.1.3", - "vitest": "1.1.3" - } -} diff --git a/scripts/changelog-checker/src/checker.ts b/scripts/changelog-checker/src/checker.ts deleted file mode 100644 index 8fd6ff562..000000000 --- a/scripts/changelog-checker/src/checker.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import { Release } from './parser.js'; - -export class Result { - public readonly success: boolean; - public readonly message?: string; - - private constructor(success: boolean, message?: string) { - this.success = success; - this.message = message; - } - - static ofSuccess(): Result { - return new Result(true); - } - - static ofFailed(message?: string): Result { - return new Result(false, message); - } -} - -/** - * develop -> masterまたはrelease -> masterを想定したパターン。 - * base側の先頭とhead側で追加された分のリリースより1つ前のバージョンが等価であるかチェックする。 - */ -export function checkNewRelease(base: Release[], head: Release[]): Result { - const releaseCountDiff = head.length - base.length; - if (releaseCountDiff <= 0) { - return Result.ofFailed('Invalid release count.'); - } - - const baseLatest = base[0]; - const headPrevious = head[releaseCountDiff]; - - if (baseLatest.releaseName !== headPrevious.releaseName) { - return Result.ofFailed('Contains unexpected releases.'); - } - - return Result.ofSuccess(); -} - -/** - * topic -> developまたはtopic -> masterを想定したパターン。 - * head側の最新リリース配下に書き加えられているかをチェックする。 - */ -export function checkNewTopic(base: Release[], head: Release[]): Result { - if (head.length !== base.length) { - return Result.ofFailed('Invalid release count.'); - } - - const headLatest = head[0]; - for (let relIdx = 0; relIdx < base.length; relIdx++) { - const baseItem = base[relIdx]; - const headItem = head[relIdx]; - if (baseItem.releaseName !== headItem.releaseName) { - // リリースの順番が変わってると成立しないのでエラーにする - return Result.ofFailed(`Release is different. base:${baseItem.releaseName}, head:${headItem.releaseName}`); - } - - if (baseItem.categories.length !== headItem.categories.length) { - // カテゴリごと書き加えられたパターン - if (headLatest.releaseName !== headItem.releaseName) { - // 最新リリース以外に追記されていた場合 - return Result.ofFailed(`There is an error in the update history. expected additions:${headLatest.releaseName}, actual additions:${headItem.releaseName}`); - } - } else { - // カテゴリ数の変動はないのでリスト項目の数をチェック - for (let catIdx = 0; catIdx < baseItem.categories.length; catIdx++) { - const baseCategory = baseItem.categories[catIdx]; - const headCategory = headItem.categories[catIdx]; - - if (baseCategory.categoryName !== headCategory.categoryName) { - // カテゴリの順番が変わっていると成立しないのでエラーにする - return Result.ofFailed(`Category is different. base:${baseCategory.categoryName}, head:${headCategory.categoryName}`); - } - - if (baseCategory.items.length !== headCategory.items.length) { - if (headLatest.releaseName !== headItem.releaseName) { - // 最新リリース以外に追記されていた場合 - return Result.ofFailed(`There is an error in the update history. expected additions:${headLatest.releaseName}, actual additions:${headItem.releaseName}`); - } - } - } - } - } - - return Result.ofSuccess(); -} diff --git a/scripts/changelog-checker/src/index.ts b/scripts/changelog-checker/src/index.ts deleted file mode 100644 index 5864afea5..000000000 --- a/scripts/changelog-checker/src/index.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import * as process from 'process'; -import * as fs from 'fs'; -import { parseChangeLog } from './parser.js'; -import { checkNewRelease, checkNewTopic } from './checker.js'; - -function abort(message?: string) { - if (message) { - console.error(message); - } - - process.exit(1); -} - -function main() { - if (!fs.existsSync('./CHANGELOG-base.md') || !fs.existsSync('./CHANGELOG-head.md')) { - console.error('CHANGELOG-base.md or CHANGELOG-head.md is missing.'); - return; - } - - const base = parseChangeLog('./CHANGELOG-base.md'); - const head = parseChangeLog('./CHANGELOG-head.md'); - - const result = (base.length < head.length) - ? checkNewRelease(base, head) - : checkNewTopic(base, head); - - if (!result.success) { - abort(result.message); - } -} - -main(); diff --git a/scripts/changelog-checker/src/parser.ts b/scripts/changelog-checker/src/parser.ts deleted file mode 100644 index 894d60d6a..000000000 --- a/scripts/changelog-checker/src/parser.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import * as fs from 'node:fs'; -import { unified } from 'unified'; -import remarkParse from 'remark-parse'; -import { Heading, List, Node } from 'mdast'; -import { toString } from 'mdast-util-to-string'; - -export class Release { - public readonly releaseName: string; - public readonly categories: ReleaseCategory[]; - - constructor(releaseName: string, categories: ReleaseCategory[] = []) { - this.releaseName = releaseName; - this.categories = [...categories]; - } -} - -export class ReleaseCategory { - public readonly categoryName: string; - public readonly items: string[]; - - constructor(categoryName: string, items: string[] = []) { - this.categoryName = categoryName; - this.items = [...items]; - } -} - -function isHeading(node: Node): node is Heading { - return node.type === 'heading'; -} - -function isList(node: Node): node is List { - return node.type === 'list'; -} - -export function parseChangeLog(path: string): Release[] { - const input = fs.readFileSync(path, { encoding: 'utf8' }); - const processor = unified().use(remarkParse); - - const releases: Release[] = []; - const root = processor.parse(input); - - let release: Release | null = null; - let category: ReleaseCategory | null = null; - for (const it of root.children) { - if (isHeading(it) && it.depth === 2) { - // リリース - release = new Release(toString(it)); - releases.push(release); - } else if (isHeading(it) && it.depth === 3 && release) { - // リリース配下のカテゴリ - category = new ReleaseCategory(toString(it)); - release.categories.push(category); - } else if (isList(it) && category) { - for (const listItem of it.children) { - // カテゴリ配下のリスト項目 - category.items.push(toString(listItem)); - } - } - } - - return releases; -} diff --git a/scripts/changelog-checker/test/checker.test.ts b/scripts/changelog-checker/test/checker.test.ts deleted file mode 100644 index 9ca8fa85f..000000000 --- a/scripts/changelog-checker/test/checker.test.ts +++ /dev/null @@ -1,419 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import {expect, suite, test} from "vitest"; -import {Release, ReleaseCategory} from "../src/parser"; -import {checkNewRelease, checkNewTopic} from "../src/checker"; - -suite('checkNewRelease', () => { - test('headに新しいリリースがある1', () => { - const base = [new Release('2024.12.0')] - const head = [new Release('2024.12.1'), new Release('2024.12.0')] - - const result = checkNewRelease(base, head) - - expect(result.success).toBe(true) - }) - - test('headに新しいリリースがある2', () => { - const base = [new Release('2024.12.0')] - const head = [new Release('2024.12.2'), new Release('2024.12.1'), new Release('2024.12.0')] - - const result = checkNewRelease(base, head) - - expect(result.success).toBe(true) - }) - - - test('リリースの数が同じ', () => { - const base = [new Release('2024.12.0')] - const head = [new Release('2024.12.0')] - - const result = checkNewRelease(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) - - test('baseにあるリリースがheadにない', () => { - const base = [new Release('2024.12.0')] - const head = [new Release('2024.12.2'), new Release('2024.12.1')] - - const result = checkNewRelease(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) -}) - -suite('checkNewTopic', () => { - test('追記なし', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('最新バージョンにカテゴリを追加したときはエラーにならない', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('最新バージョンからカテゴリを削除したときはエラーにならない', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat3', - 'feat4', - ]) - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('最新バージョンに追記したときはエラーにならない', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - 'feat3', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('最新バージョンから削除したときはエラーにならない', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - expect(result.success).toBe(true) - }) - - test('古いバージョンにカテゴリを追加したときはエラーになる', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - new ReleaseCategory('Client', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) - - test('古いバージョンからカテゴリを削除したときはエラーになる', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - ]) - ] - - const result = checkNewTopic(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) - - test('古いバージョンに追記したときはエラーになる', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - 'feat3', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) - - test('古いバージョンから削除したときはエラーになる', () => { - const base = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]) - ] - - const head = [ - new Release('2024.12.1', [ - new ReleaseCategory('Server', [ - 'feat1', - 'feat2', - ]), - ]), - new Release('2024.12.0', [ - new ReleaseCategory('Server', [ - 'feat1', - ]), - ]) - ] - - const result = checkNewTopic(base, head) - - console.log(result.message) - expect(result.success).toBe(false) - }) -}) diff --git a/scripts/changelog-checker/tsconfig.json b/scripts/changelog-checker/tsconfig.json deleted file mode 100644 index 32f1547eb..000000000 --- a/scripts/changelog-checker/tsconfig.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "compilerOptions": { - "target": "ES2022", - "module": "nodenext", - "moduleResolution": "nodenext", - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "removeComments": true, - "strict": true, - "strictFunctionTypes": true, - "strictNullChecks": true, - "experimentalDecorators": true, - "noImplicitReturns": true, - "esModuleInterop": true, - "typeRoots": [ - "./node_modules/@types" - ], - "lib": [ - "esnext" - ] - }, - "include": [ - "src/**/*" - ], - "exclude": [ - "node_modules", - "test/**/*" - ] -} diff --git a/scripts/changelog-checker/vite.config.ts b/scripts/changelog-checker/vite.config.ts deleted file mode 100644 index 46db02c80..000000000 --- a/scripts/changelog-checker/vite.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import {defineConfig} from 'vite'; - - -const config = defineConfig({}); - -export default config;