diff --git a/CHANGELOG.md b/CHANGELOG.md
index d90b1425c1..ab4ecb3ffe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,13 @@
   - 実装の都合により、プラグインは1つエラーを起こした時に即時停止するようになりました
 - Enhance: ページのデザインを変更
 - Enhance: 2要素認証(ワンタイムパスワード)の入力欄を改善
+- Enhance: 「今日誕生日のフォロー中ユーザー」ウィジェットを手動でリロードできるように
+- Enhance: 映像・音声の再生にブラウザのネイティブプレイヤーを使用できるように
+- Enhance: 映像・音声の再生メニューに「再生速度」「ループ再生」「ピクチャインピクチャ」を追加
+- Enhance: 映像・音声の再生にキーボードショートカットが使えるように
+- Enhance: ノートについているリアクションの「もっと!」から、リアクションの一覧を表示できるように
+- Enhance: リプライにて引用がある場合テキストが空でもノートできるように
+  - 引用したいノートのURLをコピーしリプライ投稿画面にペーストして添付することで達成できます
 - Fix: 一部のページ内リンクが正しく動作しない問題を修正
 - Fix: 周年の実績が閏年を考慮しない問題を修正
 - Fix: ローカルURLのプレビューポップアップが左上に表示される
@@ -27,12 +34,19 @@
   (Cherry-picked from https://github.com/MisskeyIO/misskey/pull/528)
 - Fix: コードブロックのシンタックスハイライトで使用される定義ファイルをCDNから取得するように #13177
   - CDNから取得せずMisskey本体にバンドルする場合は`pacakges/frontend/vite.config.ts`を修正してください。
+- Fix: タイムゾーンによっては、「今日誕生日のフォロー中ユーザー」ウィジェットが正しく動作しない問題を修正
+- Fix: CWのみの引用リノートが詳細ページで純粋なリノートとして誤って扱われてしまう問題を修正
+- Fix: ノート詳細ページにおいてCW付き引用リノートのCWボタンのラベルに「引用」が含まれていない問題を修正
+- Fix: ダイアログの入力で字数制限に違反していてもEnterキーが押せてしまう問題を修正
 
 ### Server
 - Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに
 - Enhance: misskey-dev/summaly@5.1.0の取り込み(プレビュー生成処理の効率化)
 - Fix: フォローリクエストを作成する際に既存のものは削除するように  
   (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/440)
+- Fix: エンドポイント`notes/translate`のエラーを改善
+- Fix: CleanRemoteFilesProcessorService report progress from 100% (#13632)
+- Fix: 一部の音声ファイルが映像ファイルとして扱われる問題を修正
 
 ## 2024.3.1
 
diff --git a/locales/index.d.ts b/locales/index.d.ts
index 905d016733..28f428d51b 100644
--- a/locales/index.d.ts
+++ b/locales/index.d.ts
@@ -5125,6 +5125,14 @@ export interface Locale extends ILocale {
      * バックアップコードを使う
      */
     "useBackupCode": string;
+    /**
+     * アプリを起動
+     */
+    "launchApp": string;
+    /**
+     * 動画・音声の再生にブラウザのUIを使用する
+     */
+    "useNativeUIForVideoAudioPlayer": string;
     "_bubbleGame": {
         /**
          * 遊び方
@@ -7767,13 +7775,9 @@ export interface Locale extends ILocale {
          */
         "step1": ParameterizedString<"a" | "b">;
         /**
-         * 次に、表示されているQRコードをアプリでスキャンします。
+         * 次に、表示されているQRコードをアプリでスキャンするか、ボタンをクリックして端末上でアプリを開きます。
          */
         "step2": string;
-        /**
-         * QRコードをクリックすると、お使いの端末にインストールされている認証アプリやキーリングに登録できます。
-         */
-        "step2Click": string;
         /**
          * デスクトップアプリを使用する場合は次のURIを入力します
          */
@@ -7866,6 +7870,10 @@ export interface Locale extends ILocale {
          * バックアップコードが全て使用されました。認証アプリを利用できない場合、これ以上アカウントにアクセスできなくなります。認証アプリを再登録してください。
          */
         "backupCodesExhaustedWarning": string;
+        /**
+         * 詳細なガイドはこちら
+         */
+        "moreDetailedGuideHere": string;
     };
     "_permissions": {
         /**
@@ -9079,6 +9087,14 @@ export interface Locale extends ILocale {
              * ボタン
              */
             "button": string;
+            /**
+             * 動的ブロック
+             */
+            "dynamic": string;
+            /**
+             * このブロックは廃止されています。今後は{play}を利用してください。
+             */
+            "dynamicDescription": ParameterizedString<"play">;
             /**
              * ノート埋め込み
              */
@@ -10133,6 +10149,20 @@ export interface Locale extends ILocale {
          */
         "summaryProxyDescription2": string;
     };
+    "_mediaControls": {
+        /**
+         * ピクチャインピクチャ
+         */
+        "pip": string;
+        /**
+         * 再生速度
+         */
+        "playbackRate": string;
+        /**
+         * ループ再生
+         */
+        "loop": string;
+    };
 }
 declare const locales: {
     [lang: string]: Locale;
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index fc9e3ee664..807dedecd1 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -1277,6 +1277,8 @@ gameRetry: "リトライ"
 notUsePleaseLeaveBlank: "使用しない場合は空欄にしてください"
 useTotp: "ワンタイムパスワードを使う"
 useBackupCode: "バックアップコードを使う"
+launchApp: "アプリを起動"
+useNativeUIForVideoAudioPlayer: "動画・音声の再生にブラウザのUIを使用する"
 
 _bubbleGame:
   howToPlay: "遊び方"
@@ -2039,8 +2041,7 @@ _2fa:
   alreadyRegistered: "既に設定は完了しています。"
   registerTOTP: "認証アプリの設定を開始"
   step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。"
-  step2: "次に、表示されているQRコードをアプリでスキャンします。"
-  step2Click: "QRコードをクリックすると、お使いの端末にインストールされている認証アプリやキーリングに登録できます。"
+  step2: "次に、表示されているQRコードをアプリでスキャンするか、ボタンをクリックして端末上でアプリを開きます。"
   step2Uri: "デスクトップアプリを使用する場合は次のURIを入力します"
   step3Title: "確認コードを入力"
   step3: "アプリに表示されている確認コード(トークン)を入力します。"
@@ -2064,6 +2065,7 @@ _2fa:
   backupCodesDescription: "認証アプリが使用できなくなった場合、以下のバックアップコードを使ってアカウントにアクセスできます。これらのコードは必ず安全な場所に保管してください。各コードは一回だけ使用できます。"
   backupCodeUsedWarning: "バックアップコードが使用されました。認証アプリが使えなくなっている場合、なるべく早く認証アプリを再設定してください。"
   backupCodesExhaustedWarning: "バックアップコードが全て使用されました。認証アプリを利用できない場合、これ以上アカウントにアクセスできなくなります。認証アプリを再登録してください。"
+  moreDetailedGuideHere: "詳細なガイドはこちら"
 
 _permissions:
   "read:account": "アカウントの情報を見る"
@@ -2393,6 +2395,8 @@ _pages:
     section: "セクション"
     image: "画像"
     button: "ボタン"
+    dynamic: "動的ブロック"
+    dynamicDescription: "このブロックは廃止されています。今後は{play}を利用してください。"
 
     note: "ノート埋め込み"
     _note:
@@ -2697,3 +2701,8 @@ _urlPreviewSetting:
   summaryProxy: "プレビューを生成するプロキシのエンドポイント"
   summaryProxyDescription: "Misskey本体ではなく、サマリープロキシを使用してプレビューを生成します。"
   summaryProxyDescription2: "プロキシには下記パラメータがクエリ文字列として連携されます。プロキシ側がこれらをサポートしない場合、設定値は無視されます。"
+
+_mediaControls:
+  pip: "ピクチャインピクチャ"
+  playbackRate: "再生速度"
+  loop: "ループ再生"
diff --git a/package.json b/package.json
index c2730865f0..ce58a74f56 100644
--- a/package.json
+++ b/package.json
@@ -56,7 +56,9 @@
 		"postcss": "8.4.35",
 		"tar": "6.2.0",
 		"terser": "5.28.1",
-		"typescript": "5.3.3"
+		"typescript": "5.3.3",
+		"esbuild": "0.19.11",
+		"glob": "10.3.10"
 	},
 	"devDependencies": {
 		"@types/node": "^20.11.28",
diff --git a/packages/backend/.swcrc b/packages/backend/.swcrc
index 0504a2d389..845190b5f4 100644
--- a/packages/backend/.swcrc
+++ b/packages/backend/.swcrc
@@ -19,5 +19,6 @@
 		},
 		"target": "es2022"
 	},
-	"minify": false
+	"minify": false,
+	"sourceMaps": "inline"
 }
diff --git a/packages/backend/package.json b/packages/backend/package.json
index 937180eedb..c06a5ed1b7 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -11,15 +11,15 @@
 		"start:test": "cross-env NODE_ENV=test node ./built/boot/entry.js",
 		"migrate": "pnpm typeorm migration:run -d ormconfig.js",
 		"revert": "pnpm typeorm migration:revert -d ormconfig.js",
-		"check:connect": "node ./check_connect.js",
+		"check:connect": "node ./scripts/check_connect.js",
 		"build": "swc src -d built -D",
 		"build:test": "swc test-server -d built-test -D --config-file test-server/.swcrc",
 		"watch:swc": "swc src -d built -D -w",
 		"build:tsc": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
-		"watch": "node watch.mjs",
+		"watch": "node ./scripts/watch.mjs",
 		"restart": "pnpm build && pnpm start",
-		"dev": "nodemon -w src -e ts,js,mjs,cjs,json --exec \"cross-env NODE_ENV=development pnpm run restart\"",
-		"typecheck": "pnpm --filter megalodon build && tsc --noEmit",
+		"dev": "node ./scripts/dev.mjs",
+		"typecheck": "pnpm --filter megalodon build && tsc --noEmit && tsc -p test --noEmit",
 		"eslint": "eslint --quiet \"src/**/*.ts\"",
 		"lint": "pnpm typecheck && pnpm eslint",
 		"jest": "cross-env NODE_ENV=test node --experimental-vm-modules --experimental-import-meta-resolve node_modules/jest/bin/jest.js --forceExit --config jest.config.unit.cjs",
@@ -31,7 +31,7 @@
 		"test:e2e": "pnpm build && pnpm build:test && pnpm jest:e2e",
 		"test-and-coverage": "pnpm jest-and-coverage",
 		"test-and-coverage:e2e": "pnpm build && pnpm build:test && pnpm jest-and-coverage:e2e",
-		"generate-api-json": "pnpm build && node ./generate_api_json.js"
+		"generate-api-json": "pnpm build && node ./scripts/generate_api_json.js"
 	},
 	"optionalDependencies": {
 		"@swc/core-android-arm64": "1.3.11",
diff --git a/packages/backend/check_connect.js b/packages/backend/scripts/check_connect.js
similarity index 85%
rename from packages/backend/check_connect.js
rename to packages/backend/scripts/check_connect.js
index d88e649c09..ba25fd416c 100644
--- a/packages/backend/check_connect.js
+++ b/packages/backend/scripts/check_connect.js
@@ -4,7 +4,7 @@
  */
 
 import Redis from 'ioredis';
-import { loadConfig } from './built/config.js';
+import { loadConfig } from '../built/config.js';
 
 const config = loadConfig();
 const redis = new Redis(config.redis);
diff --git a/packages/backend/scripts/dev.mjs b/packages/backend/scripts/dev.mjs
new file mode 100644
index 0000000000..2d0de0f916
--- /dev/null
+++ b/packages/backend/scripts/dev.mjs
@@ -0,0 +1,61 @@
+/*
+ * SPDX-FileCopyrightText: syuilo and misskey-project
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+import { execa, execaNode } from 'execa';
+
+/** @type {import('execa').ExecaChildProcess | undefined} */
+let backendProcess;
+
+async function execBuildAssets() {
+	await execa('pnpm', ['run', 'build-assets'], {
+		cwd: '../../',
+		stdout: process.stdout,
+		stderr: process.stderr,
+	})
+}
+
+function execStart() {
+	// pnpm run start を呼び出したいが、windowsだとプロセスグループ単位でのkillが出来ずゾンビプロセス化するので
+	// 上記と同等の動きをするコマンドで子・孫プロセスを作らないようにしたい
+	backendProcess = execaNode('./built/boot/entry.js', [], {
+		stdout: process.stdout,
+		stderr: process.stderr,
+		env: {
+			'NODE_ENV': 'development',
+		},
+	});
+}
+
+async function killProc() {
+	if (backendProcess) {
+		backendProcess.kill();
+		await new Promise(resolve => backendProcess.on('exit', resolve));
+		backendProcess = undefined;
+	}
+}
+
+(async () => {
+	execaNode(
+		'./node_modules/nodemon/bin/nodemon.js',
+		[
+			'-w', 'src',
+			'-e', 'ts,js,mjs,cjs,json',
+			'--exec', 'pnpm', 'run', 'build',
+		],
+		{
+			stdio: [process.stdin, process.stdout, process.stderr, 'ipc'],
+		})
+		.on('message', async (message) => {
+			if (message.type === 'exit') {
+				// かならずbuild->build-assetsの順番で呼び出したいので、
+				// 少々トリッキーだがnodemonからのexitイベントを利用してbuild-assets->startを行う。
+				// pnpm restartをbuildが終わる前にbuild-assetsが動いてしまうので、バラバラに呼び出す必要がある
+
+				await killProc();
+				await execBuildAssets();
+				execStart();
+			}
+		})
+})();
diff --git a/packages/backend/generate_api_json.js b/packages/backend/scripts/generate_api_json.js
similarity index 70%
rename from packages/backend/generate_api_json.js
rename to packages/backend/scripts/generate_api_json.js
index 602ced1d75..b4769ef801 100644
--- a/packages/backend/generate_api_json.js
+++ b/packages/backend/scripts/generate_api_json.js
@@ -3,8 +3,8 @@
  * SPDX-License-Identifier: AGPL-3.0-only
  */
 
-import { loadConfig } from './built/config.js'
-import { genOpenapiSpec } from './built/server/api/openapi/gen-spec.js'
+import { loadConfig } from '../built/config.js'
+import { genOpenapiSpec } from '../built/server/api/openapi/gen-spec.js'
 import { writeFileSync } from "node:fs";
 
 const config = loadConfig();
diff --git a/packages/backend/watch.mjs b/packages/backend/scripts/watch.mjs
similarity index 100%
rename from packages/backend/watch.mjs
rename to packages/backend/scripts/watch.mjs
diff --git a/packages/backend/src/core/AccountMoveService.ts b/packages/backend/src/core/AccountMoveService.ts
index 5bd885df40..b6b591d240 100644
--- a/packages/backend/src/core/AccountMoveService.ts
+++ b/packages/backend/src/core/AccountMoveService.ts
@@ -305,7 +305,7 @@ export class AccountMoveService {
 		let resultUser: MiLocalUser | MiRemoteUser | null = null;
 
 		if (this.userEntityService.isRemoteUser(dst)) {
-			if ((new Date()).getTime() - (dst.lastFetchedAt?.getTime() ?? 0) > 10 * 1000) {
+			if (Date.now() - (dst.lastFetchedAt?.getTime() ?? 0) > 10 * 1000) {
 				await this.apPersonService.updatePerson(dst.uri);
 			}
 			dst = await this.apPersonService.fetchPerson(dst.uri) ?? dst;
@@ -321,7 +321,7 @@ export class AccountMoveService {
 				if (!src) continue; // oldAccountを探してもこのサーバーに存在しない場合はフォロー関係もないということなのでスルー
 
 				if (this.userEntityService.isRemoteUser(dst)) {
-					if ((new Date()).getTime() - (src.lastFetchedAt?.getTime() ?? 0) > 10 * 1000) {
+					if (Date.now() - (src.lastFetchedAt?.getTime() ?? 0) > 10 * 1000) {
 						await this.apPersonService.updatePerson(srcUri);
 					}
 
diff --git a/packages/backend/src/core/FileInfoService.ts b/packages/backend/src/core/FileInfoService.ts
index 2d3312f247..9a9eae3cae 100644
--- a/packages/backend/src/core/FileInfoService.ts
+++ b/packages/backend/src/core/FileInfoService.ts
@@ -8,11 +8,13 @@ import * as crypto from 'node:crypto';
 import * as stream from 'node:stream/promises';
 import { Injectable } from '@nestjs/common';
 import * as fileType from 'file-type';
+import FFmpeg from 'fluent-ffmpeg';
 import isSvg from 'is-svg';
 import probeImageSize from 'probe-image-size';
-import sharp from 'sharp';
 import { sharpBmp } from '@misskey-dev/sharp-read-bmp';
 import { encode } from 'blurhash';
+import { LoggerService } from '@/core/LoggerService.js';
+import type Logger from '@/logger.js';
 import { bindThis } from '@/decorators.js';
 
 export type FileInfo = {
@@ -43,8 +45,12 @@ const TYPE_SVG = {
 
 @Injectable()
 export class FileInfoService {
+	private logger: Logger;
+
 	constructor(
+		private loggerService: LoggerService,
 	) {
+		this.logger = this.loggerService.getLogger('file-info');
 	}
 
 	/**
@@ -147,6 +153,34 @@ export class FileInfoService {
 		return mime;
 	}
 
+	/**
+	 * ビデオファイルにビデオトラックがあるかどうかチェック
+	 * (ない場合:m4a, webmなど)
+	 *
+	 * @param path ファイルパス
+	 * @returns ビデオトラックがあるかどうか(エラー発生時は常に`true`を返す)
+	 */
+	@bindThis
+	private hasVideoTrackOnVideoFile(path: string): Promise<boolean> {
+		const sublogger = this.logger.createSubLogger('ffprobe');
+		sublogger.info(`Checking the video file. File path: ${path}`);
+		return new Promise((resolve) => {
+			try {
+				FFmpeg.ffprobe(path, (err, metadata) => {
+					if (err) {
+						sublogger.warn(`Could not check the video file. Returns true. File path: ${path}`, err);
+						resolve(true);
+						return;
+					}
+					resolve(metadata.streams.some((stream) => stream.codec_type === 'video'));
+				});
+			} catch (err) {
+				sublogger.warn(`Could not check the video file. Returns true. File path: ${path}`, err as Error);
+				resolve(true);
+			}
+		});
+	}
+
 	/**
 	 * Detect MIME Type and extension
 	 */
@@ -169,6 +203,20 @@ export class FileInfoService {
 				return TYPE_SVG;
 			}
 
+			if ((type.mime.startsWith('video') || type.mime === 'application/ogg') && !(await this.hasVideoTrackOnVideoFile(path))) {
+				const newMime = `audio/${type.mime.split('/')[1]}`;
+				if (newMime === 'audio/mp4') {
+					return {
+						mime: 'audio/mp4',
+						ext: 'm4a',
+					};
+				}
+				return {
+					mime: newMime,
+					ext: type.ext,
+				};
+			}
+
 			return {
 				mime: this.fixMime(type.mime),
 				ext: type.ext,
diff --git a/packages/backend/src/core/PushNotificationService.ts b/packages/backend/src/core/PushNotificationService.ts
index 3b706d9854..6a845b951d 100644
--- a/packages/backend/src/core/PushNotificationService.ts
+++ b/packages/backend/src/core/PushNotificationService.ts
@@ -101,7 +101,7 @@ export class PushNotificationService implements OnApplicationShutdown {
 				type,
 				body: (type === 'notification' || type === 'unreadAntennaNote') ? truncateBody(type, body) : body,
 				userId,
-				dateTime: (new Date()).getTime(),
+				dateTime: Date.now(),
 			}), {
 				proxy: this.config.proxy,
 			}).catch((err: any) => {
diff --git a/packages/backend/src/queue/processors/CleanRemoteFilesProcessorService.ts b/packages/backend/src/queue/processors/CleanRemoteFilesProcessorService.ts
index 917de8b72c..728fc9e72b 100644
--- a/packages/backend/src/queue/processors/CleanRemoteFilesProcessorService.ts
+++ b/packages/backend/src/queue/processors/CleanRemoteFilesProcessorService.ts
@@ -63,7 +63,7 @@ export class CleanRemoteFilesProcessorService {
 				isLink: false,
 			});
 
-			job.updateProgress(deletedCount / total);
+			job.updateProgress(100 / total * deletedCount);
 		}
 
 		this.logger.succ('All cached remote files has been deleted.');
diff --git a/packages/backend/src/server/api/endpoints/i/import-blocking.ts b/packages/backend/src/server/api/endpoints/i/import-blocking.ts
index 8ddbe5663e..2606108539 100644
--- a/packages/backend/src/server/api/endpoints/i/import-blocking.ts
+++ b/packages/backend/src/server/api/endpoints/i/import-blocking.ts
@@ -75,7 +75,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 
 			const checkMoving = await this.accountMoveService.validateAlsoKnownAs(
 				me,
-				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > (new Date()).getTime(),
+				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > Date.now(),
 				true,
 			);
 			if (checkMoving ? file.size > 32 * 1024 * 1024 : file.size > 64 * 1024) throw new ApiError(meta.errors.tooBigFile);
diff --git a/packages/backend/src/server/api/endpoints/i/import-following.ts b/packages/backend/src/server/api/endpoints/i/import-following.ts
index 390dd9cd71..d5e824df27 100644
--- a/packages/backend/src/server/api/endpoints/i/import-following.ts
+++ b/packages/backend/src/server/api/endpoints/i/import-following.ts
@@ -75,7 +75,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 
 			const checkMoving = await this.accountMoveService.validateAlsoKnownAs(
 				me,
-				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > (new Date()).getTime(),
+				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > Date.now(),
 				true,
 			);
 			if (checkMoving ? file.size > 32 * 1024 * 1024 : file.size > 64 * 1024) throw new ApiError(meta.errors.tooBigFile);
diff --git a/packages/backend/src/server/api/endpoints/i/import-muting.ts b/packages/backend/src/server/api/endpoints/i/import-muting.ts
index 51a9cdf5a5..0f5800404e 100644
--- a/packages/backend/src/server/api/endpoints/i/import-muting.ts
+++ b/packages/backend/src/server/api/endpoints/i/import-muting.ts
@@ -75,7 +75,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 
 			const checkMoving = await this.accountMoveService.validateAlsoKnownAs(
 				me,
-				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > (new Date()).getTime(),
+				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > Date.now(),
 				true,
 			);
 			if (checkMoving ? file.size > 32 * 1024 * 1024 : file.size > 64 * 1024) throw new ApiError(meta.errors.tooBigFile);
diff --git a/packages/backend/src/server/api/endpoints/i/import-user-lists.ts b/packages/backend/src/server/api/endpoints/i/import-user-lists.ts
index a3b67301a7..bacdd5c88f 100644
--- a/packages/backend/src/server/api/endpoints/i/import-user-lists.ts
+++ b/packages/backend/src/server/api/endpoints/i/import-user-lists.ts
@@ -74,7 +74,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 
 			const checkMoving = await this.accountMoveService.validateAlsoKnownAs(
 				me,
-				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > (new Date()).getTime(),
+				(old, src) => !!src.movedAt && src.movedAt.getTime() + 1000 * 60 * 60 * 2 > Date.now(),
 				true,
 			);
 			if (checkMoving ? file.size > 32 * 1024 * 1024 : file.size > 64 * 1024) throw new ApiError(meta.errors.tooBigFile);
diff --git a/packages/backend/src/server/api/endpoints/notes/translate.ts b/packages/backend/src/server/api/endpoints/notes/translate.ts
index a935f761b7..54b242dae0 100644
--- a/packages/backend/src/server/api/endpoints/notes/translate.ts
+++ b/packages/backend/src/server/api/endpoints/notes/translate.ts
@@ -21,7 +21,7 @@ export const meta = {
 
 	res: {
 		type: 'object',
-		optional: false, nullable: false,
+		optional: true, nullable: false,
 		properties: {
 			sourceLang: { type: 'string' },
 			text: { type: 'string' },
@@ -39,6 +39,11 @@ export const meta = {
 			code: 'NO_SUCH_NOTE',
 			id: 'bea9b03f-36e0-49c5-a4db-627a029f8971',
 		},
+		cannotTranslateInvisibleNote: {
+			message: 'Cannot translate invisible note.',
+			code: 'CANNOT_TRANSLATE_INVISIBLE_NOTE',
+			id: 'ea29f2ca-c368-43b3-aaf1-5ac3e74bbe5d',
+		},
 	},
 } as const;
 
@@ -72,21 +77,20 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 			});
 
 			if (!(await this.noteEntityService.isVisibleForMe(note, me.id))) {
-				return 204; // TODO: 良い感じのエラー返す
+				throw new ApiError(meta.errors.cannotTranslateInvisibleNote);
 			}
 
 			if (note.text == null) {
-				return 204;
+				return;
 			}
 
 			const instance = await this.metaService.fetch();
 
-			if (instance.deeplAuthKey == null && !instance.deeplFreeMode) {
-				return 204; // TODO: 良い感じのエラー返す
+			if (instance.deeplAuthKey == null && !instance.deeplFree				throw new ApiError(meta.errors.unavailable);
 			}
 
 			if (instance.deeplFreeMode && !instance.deeplFreeInstance) {
-				return 204;
+				throw new ApiError(meta.errors.unavailable);
 			}
 
 			let targetLang = ps.targetLang;
diff --git a/packages/backend/src/server/api/endpoints/users/following.ts b/packages/backend/src/server/api/endpoints/users/following.ts
index 5d52ebba76..6b3389f0b2 100644
--- a/packages/backend/src/server/api/endpoints/users/following.ts
+++ b/packages/backend/src/server/api/endpoints/users/following.ts
@@ -6,6 +6,7 @@
 import { IsNull } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository, FollowingsRepository, UserProfilesRepository } from '@/models/_.js';
+import { birthdaySchema } from '@/models/User.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { QueryService } from '@/core/QueryService.js';
 import { FollowingEntityService } from '@/core/entities/FollowingEntityService.js';
@@ -66,7 +67,7 @@ export const paramDef = {
 			description: 'The local host is represented with `null`.',
 		},
 
-		birthday: { type: 'string', nullable: true },
+		birthday: { ...birthdaySchema, nullable: true },
 	},
 	anyOf: [
 		{ required: ['userId'] },
@@ -127,9 +128,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 
 			if (ps.birthday) {
 				try {
-					const d = new Date(ps.birthday);
-					d.setHours(0, 0, 0, 0);
-					const birthday = `${(d.getMonth() + 1).toString().padStart(2, '0')}-${d.getDate().toString().padStart(2, '0')}`;
+					const birthday = ps.birthday.substring(5, 10);
 					const birthdayUserQuery = this.userProfilesRepository.createQueryBuilder('user_profile');
 					birthdayUserQuery.select('user_profile.userId')
 						.where(`SUBSTR(user_profile.birthday, 6, 5) = '${birthday}'`);
diff --git a/packages/backend/test/e2e/note.ts b/packages/backend/test/e2e/note.ts
index 11016f58ae..bda31d9640 100644
--- a/packages/backend/test/e2e/note.ts
+++ b/packages/backend/test/e2e/note.ts
@@ -8,12 +8,13 @@ process.env.NODE_ENV = 'test';
 import * as assert from 'assert';
 import { MiNote } from '@/models/Note.js';
 import { MAX_NOTE_TEXT_LENGTH } from '@/const.js';
-import { api, initTestDb, post, signup, uploadFile, uploadUrl } from '../utils.js';
+import { api, initTestDb, post, role, signup, uploadFile, uploadUrl } from '../utils.js';
 import type * as misskey from 'misskey-js';
 
 describe('Note', () => {
 	let Notes: any;
 
+	let root: misskey.entities.SignupResponse;
 	let alice: misskey.entities.SignupResponse;
 	let bob: misskey.entities.SignupResponse;
 	let tom: misskey.entities.SignupResponse;
@@ -21,6 +22,7 @@ describe('Note', () => {
 	beforeAll(async () => {
 		const connection = await initTestDb(true);
 		Notes = connection.getRepository(MiNote);
+		root = await signup({ username: 'root' });
 		alice = await signup({ username: 'alice' });
 		bob = await signup({ username: 'bob' });
 		tom = await signup({ username: 'tom', host: 'example.com' });
@@ -473,14 +475,14 @@ describe('Note', () => {
 						value: true,
 					},
 				} as any,
-			}, alice);
+			}, root);
 
 			assert.strictEqual(res.status, 200);
 
 			const assign = await api('admin/roles/assign', {
 				userId: alice.id,
 				roleId: res.body.id,
-			}, alice);
+			}, root);
 
 			assert.strictEqual(assign.status, 204);
 			assert.strictEqual(file.body!.isSensitive, false);
@@ -508,11 +510,11 @@ describe('Note', () => {
 			await api('admin/roles/unassign', {
 				userId: alice.id,
 				roleId: res.body.id,
-			});
+			}, root);
 
 			await api('admin/roles/delete', {
 				roleId: res.body.id,
-			}, alice);
+			}, root);
 		});
 	});
 
@@ -644,7 +646,7 @@ describe('Note', () => {
 				sensitiveWords: [
 					'test',
 				],
-			}, alice);
+			}, root);
 
 			assert.strictEqual(sensitive.status, 204);
 
@@ -663,7 +665,7 @@ describe('Note', () => {
 				sensitiveWords: [
 					'/Test/i',
 				],
-			}, alice);
+			}, root);
 
 			assert.strictEqual(sensitive.status, 204);
 
@@ -680,7 +682,7 @@ describe('Note', () => {
 				sensitiveWords: [
 					'Test hoge',
 				],
-			}, alice);
+			}, root);
 
 			assert.strictEqual(sensitive.status, 204);
 
@@ -697,7 +699,7 @@ describe('Note', () => {
 				prohibitedWords: [
 					'test',
 				],
-			}, alice);
+			}, root);
 
 			assert.strictEqual(prohibited.status, 204);
 
@@ -716,7 +718,7 @@ describe('Note', () => {
 				prohibitedWords: [
 					'/Test/i',
 				],
-			}, alice);
+			}, root);
 
 			assert.strictEqual(prohibited.status, 204);
 
@@ -733,7 +735,7 @@ describe('Note', () => {
 				prohibitedWords: [
 					'Test hoge',
 				],
-			}, alice);
+			}, root);
 
 			assert.strictEqual(prohibited.status, 204);
 
@@ -750,7 +752,7 @@ describe('Note', () => {
 				prohibitedWords: [
 					'test',
 				],
-			}, alice);
+			}, root);
 
 			assert.strictEqual(prohibited.status, 204);
 
@@ -785,7 +787,7 @@ describe('Note', () => {
 						value: 0,
 					},
 				} as any,
-			}, alice);
+			}, root);
 
 			assert.strictEqual(res.status, 200);
 
@@ -794,7 +796,7 @@ describe('Note', () => {
 			const assign = await api('admin/roles/assign', {
 				userId: alice.id,
 				roleId: res.body.id,
-			}, alice);
+			}, root);
 
 			assert.strictEqual(assign.status, 204);
 
@@ -810,11 +812,11 @@ describe('Note', () => {
 			await api('admin/roles/unassign', {
 				userId: alice.id,
 				roleId: res.body.id,
-			});
+			}, root);
 
 			await api('admin/roles/delete', {
 				roleId: res.body.id,
-			}, alice);
+			}, root);
 		});
 
 		test('ダイレクト投稿もエラーになる', async () => {
@@ -839,7 +841,7 @@ describe('Note', () => {
 						value: 0,
 					},
 				} as any,
-			}, alice);
+			}, root);
 
 			assert.strictEqual(res.status, 200);
 
@@ -848,7 +850,7 @@ describe('Note', () => {
 			const assign = await api('admin/roles/assign', {
 				userId: alice.id,
 				roleId: res.body.id,
-			}, alice);
+			}, root);
 
 			assert.strictEqual(assign.status, 204);
 
@@ -866,11 +868,11 @@ describe('Note', () => {
 			await api('admin/roles/unassign', {
 				userId: alice.id,
 				roleId: res.body.id,
-			});
+			}, root);
 
 			await api('admin/roles/delete', {
 				roleId: res.body.id,
-			}, alice);
+			}, root);
 		});
 
 		test('ダイレクトの宛先とメンションが同じ場合は重複してカウントしない', async () => {
@@ -895,7 +897,7 @@ describe('Note', () => {
 						value: 1,
 					},
 				} as any,
-			}, alice);
+			}, root);
 
 			assert.strictEqual(res.status, 200);
 
@@ -904,7 +906,7 @@ describe('Note', () => {
 			const assign = await api('admin/roles/assign', {
 				userId: alice.id,
 				roleId: res.body.id,
-			}, alice);
+			}, root);
 
 			assert.strictEqual(assign.status, 204);
 
@@ -921,11 +923,11 @@ describe('Note', () => {
 			await api('admin/roles/unassign', {
 				userId: alice.id,
 				roleId: res.body.id,
-			});
+			}, root);
 
 			await api('admin/roles/delete', {
 				roleId: res.body.id,
-			}, alice);
+			}, root);
 		});
 	});
 
@@ -960,4 +962,61 @@ describe('Note', () => {
 			assert.strictEqual(mainNote.repliesCount, 0);
 		});
 	});
+
+	describe('notes/translate', () => {
+		describe('翻訳機能の利用が許可されていない場合', () => {
+			let cannotTranslateRole: misskey.entities.Role;
+
+			beforeAll(async () => {
+				cannotTranslateRole = await role(root, {}, { canUseTranslator: false });
+				await api('admin/roles/assign', { roleId: cannotTranslateRole.id, userId: alice.id }, root);
+			});
+
+			test('翻訳機能の利用が許可されていない場合翻訳できない', async () => {
+				const aliceNote = await post(alice, { text: 'Hello' });
+				const res = await api('notes/translate', {
+					noteId: aliceNote.id,
+					targetLang: 'ja',
+				}, alice);
+
+				assert.strictEqual(res.status, 400);
+				assert.strictEqual(res.body.error.code, 'UNAVAILABLE');
+			});
+
+			afterAll(async () => {
+				await api('admin/roles/unassign', { roleId: cannotTranslateRole.id, userId: alice.id }, root);
+			});
+		});
+
+		test('存在しないノートは翻訳できない', async () => {
+			const res = await api('notes/translate', { noteId: 'foo', targetLang: 'ja' }, alice);
+
+			assert.strictEqual(res.status, 400);
+			assert.strictEqual(res.body.error.code, 'NO_SUCH_NOTE');
+		});
+
+		test('不可視なノートは翻訳できない', async () => {
+			const aliceNote = await post(alice, { visibility: 'followers', text: 'Hello' });
+			const bobTranslateAttempt = await api('notes/translate', { noteId: aliceNote.id, targetLang: 'ja' }, bob);
+
+			assert.strictEqual(bobTranslateAttempt.status, 400);
+			assert.strictEqual(bobTranslateAttempt.body.error.code, 'CANNOT_TRANSLATE_INVISIBLE_NOTE');
+		});
+
+		test('text: null なノートを翻訳すると空のレスポンスが返ってくる', async () => {
+			const aliceNote = await post(alice, { text: null, poll: { choices: ['kinoko', 'takenoko'] } });
+			const res = await api('notes/translate', { noteId: aliceNote.id, targetLang: 'ja' }, alice);
+
+			assert.strictEqual(res.status, 204);
+		});
+
+		test('サーバーに DeepL 認証キーが登録されていない場合翻訳できない', async () => {
+			const aliceNote = await post(alice, { text: 'Hello' });
+			const res = await api('notes/translate', { noteId: aliceNote.id, targetLang: 'ja' }, alice);
+
+			// NOTE: デフォルトでは登録されていないので落ちる
+			assert.strictEqual(res.status, 400);
+			assert.strictEqual(res.body.error.code, 'UNAVAILABLE');
+		});
+	});
 });
diff --git a/packages/backend/test/resources/kick_gaba7.m4a b/packages/backend/test/resources/kick_gaba7.m4a
new file mode 100644
index 0000000000..321df6349f
Binary files /dev/null and b/packages/backend/test/resources/kick_gaba7.m4a differ
diff --git a/packages/backend/test/unit/FileInfoService.ts b/packages/backend/test/unit/FileInfoService.ts
index 7d89886064..e298ce5052 100644
--- a/packages/backend/test/unit/FileInfoService.ts
+++ b/packages/backend/test/unit/FileInfoService.ts
@@ -14,6 +14,7 @@ import { afterAll, beforeAll, describe, test } from '@jest/globals';
 import { GlobalModule } from '@/GlobalModule.js';
 import { FileInfoService } from '@/core/FileInfoService.js';
 //import { DI } from '@/di-symbols.js';
+import { LoggerService } from '@/core/LoggerService.js';
 import type { TestingModule } from '@nestjs/testing';
 import type { MockFunctionMetadata } from 'jest-mock';
 
@@ -33,6 +34,7 @@ describe('FileInfoService', () => {
 				GlobalModule,
 			],
 			providers: [
+				LoggerService,
 				FileInfoService,
 			],
 		})
@@ -318,8 +320,26 @@ describe('FileInfoService', () => {
 			});
 		});
 
-		/*
-		 * video/webmとして検出されてしまう
+		test('MPEG-4 AUDIO (M4A)', async () => {
+			const path = `${resources}/kick_gaba7.m4a`;
+			const info = await fileInfoService.getFileInfo(path, { skipSensitiveDetection: true }) as any;
+			delete info.warnings;
+			delete info.blurhash;
+			delete info.sensitive;
+			delete info.porn;
+			delete info.width;
+			delete info.height;
+			delete info.orientation;
+			assert.deepStrictEqual(info, {
+				size: 9817,
+				md5: '74c9279a4abe98789565f1dc1a541a42',
+				type: {
+					mime: 'audio/mp4',
+					ext: 'm4a',
+				},
+			});
+		});
+
 		test('WEBM AUDIO', async () => {
 			const path = `${resources}/kick_gaba7.webm`;
 			const info = await fileInfoService.getFileInfo(path) as any;
@@ -332,13 +352,12 @@ describe('FileInfoService', () => {
 			delete info.orientation;
 			assert.deepStrictEqual(info, {
 				size: 8879,
-				md5: '3350083dec312419cfdc06c16413aca7',
+				md5: '53bc1adcb6acbbda67ff9bd484896438',
 				type: {
 					mime: 'audio/webm',
 					ext: 'webm',
 				},
 			});
 		});
-		 */
 	});
 });
diff --git a/packages/frontend/package.json b/packages/frontend/package.json
index bdccf4aba6..d37ccba84b 100644
--- a/packages/frontend/package.json
+++ b/packages/frontend/package.json
@@ -30,7 +30,7 @@
 		"@twemoji/parser": "15.0.0",
 		"@vitejs/plugin-vue": "5.0.4",
 		"@vue/compiler-sfc": "3.4.21",
-		"aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.2",
+		"aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.4",
 		"astring": "1.8.6",
 		"broadcast-channel": "7.0.0",
 		"buraha": "0.0.1",
diff --git a/packages/frontend/src/components/MkButton.vue b/packages/frontend/src/components/MkButton.vue
index c0f41b64d0..c8d2797e16 100644
--- a/packages/frontend/src/components/MkButton.vue
+++ b/packages/frontend/src/components/MkButton.vue
@@ -23,6 +23,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 	v-else class="_button"
 	:class="[$style.root, { [$style.inline]: inline, [$style.primary]: primary, [$style.gradate]: gradate, [$style.danger]: danger, [$style.rounded]: rounded, [$style.full]: full, [$style.small]: small, [$style.large]: large, [$style.transparent]: transparent, [$style.asLike]: asLike }]"
 	:to="to ?? '#'"
+	:behavior="linkBehavior"
 	@mousedown="onMousedown"
 >
 	<div ref="ripples" :class="$style.ripples" :data-children-class="$style.ripple"></div>
@@ -43,6 +44,7 @@ const props = defineProps<{
 	inline?: boolean;
 	link?: boolean;
 	to?: string;
+	linkBehavior?: null | 'window' | 'browser';
 	autofocus?: boolean;
 	wait?: boolean;
 	danger?: boolean;
diff --git a/packages/frontend/src/components/MkCode.vue b/packages/frontend/src/components/MkCode.vue
index acd2ea6f97..e5589813e1 100644
--- a/packages/frontend/src/components/MkCode.vue
+++ b/packages/frontend/src/components/MkCode.vue
@@ -80,11 +80,9 @@ function copy() {
 .codePlaceholderRoot {
 	display: block;
 	width: 100%;
-	background: none;
 	border: none;
 	outline: none;
   font: inherit;
-  color: inherit;
 	cursor: pointer;
 
 	box-sizing: border-box;
diff --git a/packages/frontend/src/components/MkContextMenu.vue b/packages/frontend/src/components/MkContextMenu.vue
index 5ca3c77fb2..a807742bb9 100644
--- a/packages/frontend/src/components/MkContextMenu.vue
+++ b/packages/frontend/src/components/MkContextMenu.vue
@@ -47,12 +47,12 @@ onMounted(() => {
 	const width = rootEl.value!.offsetWidth;
 	const height = rootEl.value!.offsetHeight;
 
-	if (left + width - window.pageXOffset >= (window.innerWidth - SCROLLBAR_THICKNESS)) {
-		left = (window.innerWidth - SCROLLBAR_THICKNESS) - width + window.pageXOffset;
+	if (left + width - window.scrollX >= (window.innerWidth - SCROLLBAR_THICKNESS)) {
+		left = (window.innerWidth - SCROLLBAR_THICKNESS) - width + window.scrollX;
 	}
 
-	if (top + height - window.pageYOffset >= (window.innerHeight - SCROLLBAR_THICKNESS)) {
-		top = (window.innerHeight - SCROLLBAR_THICKNESS) - height + window.pageYOffset;
+	if (top + height - window.scrollY >= (window.innerHeight - SCROLLBAR_THICKNESS)) {
+		top = (window.innerHeight - SCROLLBAR_THICKNESS) - height + window.scrollY;
 	}
 
 	if (top < 0) {
diff --git a/packages/frontend/src/components/MkDialog.vue b/packages/frontend/src/components/MkDialog.vue
index b81ebbbb11..0c9c14ee59 100644
--- a/packages/frontend/src/components/MkDialog.vue
+++ b/packages/frontend/src/components/MkDialog.vue
@@ -161,7 +161,7 @@ function onKeydown(evt: KeyboardEvent) {
 }
 
 function onInputKeydown(evt: KeyboardEvent) {
-	if (evt.key === 'Enter') {
+	if (evt.key === 'Enter' && okButtonDisabledReason.value === null) {
 		evt.preventDefault();
 		evt.stopPropagation();
 		ok();
diff --git a/packages/frontend/src/components/MkMediaAudio.vue b/packages/frontend/src/components/MkMediaAudio.vue
index 23539427e3..fce00e7f52 100644
--- a/packages/frontend/src/components/MkMediaAudio.vue
+++ b/packages/frontend/src/components/MkMediaAudio.vue
@@ -5,11 +5,15 @@ SPDX-License-Identifier: AGPL-3.0-only
 
 <template>
 <div
+	ref="playerEl"
+	v-hotkey="keymap"
+	tabindex="0"
 	:class="[
 		$style.audioContainer,
 		(audio.isSensitive && defaultStore.state.highlightSensitiveMedia) && $style.sensitive,
 	]"
 	@contextmenu.stop
+	@keydown.stop
 >
 	<button v-if="hide" :class="$style.hidden" @click="hide = false">
 		<div :class="$style.hiddenTextWrapper">
@@ -18,6 +22,19 @@ SPDX-License-Identifier: AGPL-3.0-only
 			<span style="display: block;">{{ i18n.ts.clickToShow }}</span>
 		</div>
 	</button>
+
+	<div v-else-if="defaultStore.reactiveState.useNativeUIForVideoAudioPlayer.value" :class="$style.nativeAudioContainer">
+		<audio
+			ref="audioEl"
+			preload="metadata"
+			controls
+			:class="$style.nativeAudio"
+			@keydown.prevent
+		>
+			<source :src="audio.url">
+		</audio>
+	</div>
+
 	<div v-else :class="$style.audioControls">
 		<audio
 			ref="audioEl"
@@ -75,6 +92,41 @@ const props = defineProps<{
 	audio: Misskey.entities.DriveFile;
 }>();
 
+const keymap = {
+	'up': () => {
+		if (hasFocus() && audioEl.value) {
+			volume.value = Math.min(volume.value + 0.1, 1);
+		}
+	},
+	'down': () => {
+		if (hasFocus() && audioEl.value) {
+			volume.value = Math.max(volume.value - 0.1, 0);
+		}
+	},
+	'left': () => {
+		if (hasFocus() && audioEl.value) {
+			audioEl.value.currentTime = Math.max(audioEl.value.currentTime - 5, 0);
+		}
+	},
+	'right': () => {
+		if (hasFocus() && audioEl.value) {
+			audioEl.value.currentTime = Math.min(audioEl.value.currentTime + 5, audioEl.value.duration);
+		}
+	},
+	'space': () => {
+		if (hasFocus()) {
+			togglePlayPause();
+		}
+	},
+};
+
+// PlayerElもしくはその子要素にフォーカスがあるかどうか
+function hasFocus() {
+	if (!playerEl.value) return false;
+	return playerEl.value === document.activeElement || playerEl.value.contains(document.activeElement);
+}
+
+const playerEl = shallowRef<HTMLDivElement>();
 const audioEl = shallowRef<HTMLAudioElement>();
 
 // eslint-disable-next-line vue/no-setup-props-destructure
@@ -88,6 +140,30 @@ function showMenu(ev: MouseEvent) {
 
 	menu = [
 		// TODO: 再生キューに追加
+		{
+			type: 'switch',
+			text: i18n.ts._mediaControls.loop,
+			icon: 'ti ti-repeat',
+			ref: loop,
+		},
+		{
+			type: 'radio',
+			text: i18n.ts._mediaControls.playbackRate,
+			icon: 'ti ti-clock-play',
+			ref: speed,
+			options: {
+				'0.25x': 0.25,
+				'0.5x': 0.5,
+				'0.75x': 0.75,
+				'1.0x': 1,
+				'1.25x': 1.25,
+				'1.5x': 1.5,
+				'2.0x': 2,
+			},
+		},
+		{
+			type: 'divider',
+		},
 		{
 			text: i18n.ts.hide,
 			icon: 'ph-eye-closed ph-bold ph-lg',
@@ -150,6 +226,8 @@ const rangePercent = computed({
 	},
 });
 const volume = ref(.25);
+const speed = ref(1);
+const loop = ref(false); // TODO: ドライブファイルのフラグに置き換える
 const bufferedEnd = ref(0);
 const bufferedDataRatio = computed(() => {
 	if (!audioEl.value) return 0;
@@ -179,6 +257,7 @@ function toggleMute() {
 }
 
 let onceInit = false;
+let mediaTickFrameId: number | null = null;
 let stopAudioElWatch: () => void;
 
 function init() {
@@ -198,8 +277,12 @@ function init() {
 					}
 
 					elapsedTimeMs.value = audioEl.value.currentTime * 1000;
+
+					if (audioEl.value.loop !== loop.value) {
+						loop.value = audioEl.value.loop;
+					}
 				}
-				window.requestAnimationFrame(updateMediaTick);
+				mediaTickFrameId = window.requestAnimationFrame(updateMediaTick);
 			}
 
 			updateMediaTick();
@@ -237,6 +320,14 @@ watch(volume, (to) => {
 	if (audioEl.value) audioEl.value.volume = to;
 });
 
+watch(speed, (to) => {
+	if (audioEl.value) audioEl.value.playbackRate = to;
+});
+
+watch(loop, (to) => {
+	if (audioEl.value) audioEl.value.loop = to;
+});
+
 onMounted(() => {
 	init();
 });
@@ -255,6 +346,10 @@ onDeactivated(() => {
 	hide.value = (defaultStore.state.nsfw === 'force' || defaultStore.state.dataSaver.media) ? true : (props.audio.isSensitive && defaultStore.state.nsfw !== 'ignore');
 	stopAudioElWatch();
 	onceInit = false;
+	if (mediaTickFrameId) {
+		window.cancelAnimationFrame(mediaTickFrameId);
+		mediaTickFrameId = null;
+	}
 });
 </script>
 
@@ -265,6 +360,10 @@ onDeactivated(() => {
 	border: .5px solid var(--divider);
 	border-radius: var(--radius);
 	overflow: clip;
+
+	&:focus {
+		outline: none;
+	}
 }
 
 .sensitive {
@@ -370,4 +469,15 @@ onDeactivated(() => {
 		}
 	}
 }
+
+.nativeAudioContainer {
+	display: flex;
+	align-items: center;
+	padding: 6px;
+}
+
+.nativeAudio {
+	display: block;
+	width: 100%;
+}
 </style>
diff --git a/packages/frontend/src/components/MkMediaVideo.vue b/packages/frontend/src/components/MkMediaVideo.vue
index c64d87e8d6..f35a404320 100644
--- a/packages/frontend/src/components/MkMediaVideo.vue
+++ b/packages/frontend/src/components/MkMediaVideo.vue
@@ -6,6 +6,8 @@ SPDX-License-Identifier: AGPL-3.0-only
 <template>
 <div
 	ref="playerEl"
+	v-hotkey="keymap"
+	tabindex="0"
 	:class="[
 		$style.videoContainer,
 		controlsShowing && $style.active,
@@ -14,6 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 	@mouseover="onMouseOver"
 	@mouseleave="onMouseLeave"
 	@contextmenu.stop
+	@keydown.stop
 >
 	<button v-if="hide" :class="$style.hidden" @click="hide = false">
 		<div :class="$style.hiddenTextWrapper">
@@ -22,7 +25,28 @@ SPDX-License-Identifier: AGPL-3.0-only
 			<span style="display: block;">{{ i18n.ts.clickToShow }}</span>
 		</div>
 	</button>
-	<div v-else :class="$style.videoRoot" @click.self="togglePlayPause">
+
+	<div v-else-if="defaultStore.reactiveState.useNativeUIForVideoAudioPlayer.value" :class="$style.videoRoot">
+		<video
+			ref="videoEl"
+			:class="$style.video"
+			:poster="video.thumbnailUrl ?? undefined"
+			:title="video.comment ?? undefined"
+			:alt="video.comment"
+			preload="metadata"
+			controls
+			@keydown.prevent
+		>
+			<source :src="video.url">
+		</video>
+		<i class="ti ti-eye-off" :class="$style.hide" @click="hide = true"></i>
+		<div :class="$style.indicators">
+			<div v-if="video.comment" :class="$style.indicator">ALT</div>
+			<div v-if="video.isSensitive" :class="$style.indicator" style="color: var(--warn);" :title="i18n.ts.sensitive"><i class="ti ti-eye-exclamation"></i></div>
+		</div>
+	</div>
+
+	<div v-else :class="$style.videoRoot">
 		<video
 			ref="videoEl"
 			:class="$style.video"
@@ -31,6 +55,8 @@ SPDX-License-Identifier: AGPL-3.0-only
 			:alt="video.comment"
 			preload="metadata"
 			playsinline
+			@keydown.prevent
+			@click.self="togglePlayPause"
 		>
 			<source :src="video.url">
 		</video>
@@ -103,6 +129,40 @@ const props = defineProps<{
 	video: Misskey.entities.DriveFile;
 }>();
 
+const keymap = {
+	'up': () => {
+		if (hasFocus() && videoEl.value) {
+			volume.value = Math.min(volume.value + 0.1, 1);
+		}
+	},
+	'down': () => {
+		if (hasFocus() && videoEl.value) {
+			volume.value = Math.max(volume.value - 0.1, 0);
+		}
+	},
+	'left': () => {
+		if (hasFocus() && videoEl.value) {
+			videoEl.value.currentTime = Math.max(videoEl.value.currentTime - 5, 0);
+		}
+	},
+	'right': () => {
+		if (hasFocus() && videoEl.value) {
+			videoEl.value.currentTime = Math.min(videoEl.value.currentTime + 5, videoEl.value.duration);
+		}
+	},
+	'space': () => {
+		if (hasFocus()) {
+			togglePlayPause();
+		}
+	},
+};
+
+// PlayerElもしくはその子要素にフォーカスがあるかどうか
+function hasFocus() {
+	if (!playerEl.value) return false;
+	return playerEl.value === document.activeElement || playerEl.value.contains(document.activeElement);
+}
+
 // eslint-disable-next-line vue/no-setup-props-destructure
 const hide = ref((defaultStore.state.nsfw === 'force' || defaultStore.state.dataSaver.media) ? true : (props.video.isSensitive && defaultStore.state.nsfw !== 'ignore'));
 
@@ -114,6 +174,35 @@ function showMenu(ev: MouseEvent) {
 
 	menu = [
 		// TODO: 再生キューに追加
+		{
+			type: 'switch',
+			text: i18n.ts._mediaControls.loop,
+			icon: 'ti ti-repeat',
+			ref: loop,
+		},
+		{
+			type: 'radio',
+			text: i18n.ts._mediaControls.playbackRate,
+			icon: 'ti ti-clock-play',
+			ref: speed,
+			options: {
+				'0.25x': 0.25,
+				'0.5x': 0.5,
+				'0.75x': 0.75,
+				'1.0x': 1,
+				'1.25x': 1.25,
+				'1.5x': 1.5,
+				'2.0x': 2,
+			},
+		},
+		...(document.pictureInPictureEnabled ? [{
+			text: i18n.ts._mediaControls.pip,
+			icon: 'ti ti-picture-in-picture',
+			action: togglePictureInPicture,
+		}] : []),
+		{
+			type: 'divider',
+		},
 		{
 			text: i18n.ts.hide,
 			icon: 'ph-eye-closed ph-bold ph-lg',
@@ -189,6 +278,8 @@ const rangePercent = computed({
 	},
 });
 const volume = ref(.25);
+const speed = ref(1);
+const loop = ref(false); // TODO: ドライブファイルのフラグに置き換える
 const bufferedEnd = ref(0);
 const bufferedDataRatio = computed(() => {
 	if (!videoEl.value) return 0;
@@ -246,6 +337,16 @@ function toggleFullscreen() {
 	}
 }
 
+function togglePictureInPicture() {
+	if (videoEl.value) {
+		if (document.pictureInPictureElement) {
+			document.exitPictureInPicture();
+		} else {
+			videoEl.value.requestPictureInPicture();
+		}
+	}
+}
+
 function toggleMute() {
 	if (volume.value === 0) {
 		volume.value = .25;
@@ -255,6 +356,7 @@ function toggleMute() {
 }
 
 let onceInit = false;
+let mediaTickFrameId: number | null = null;
 let stopVideoElWatch: () => void;
 
 function init() {
@@ -274,8 +376,12 @@ function init() {
 					}
 
 					elapsedTimeMs.value = videoEl.value.currentTime * 1000;
+
+					if (videoEl.value.loop !== loop.value) {
+						loop.value = videoEl.value.loop;
+					}
 				}
-				window.requestAnimationFrame(updateMediaTick);
+				mediaTickFrameId = window.requestAnimationFrame(updateMediaTick);
 			}
 
 			updateMediaTick();
@@ -319,6 +425,14 @@ watch(volume, (to) => {
 	if (videoEl.value) videoEl.value.volume = to;
 });
 
+watch(speed, (to) => {
+	if (videoEl.value) videoEl.value.playbackRate = to;
+});
+
+watch(loop, (to) => {
+	if (videoEl.value) videoEl.value.loop = to;
+});
+
 watch(hide, (to) => {
 	if (to && isFullscreen.value) {
 		document.exitFullscreen();
@@ -344,6 +458,10 @@ onDeactivated(() => {
 	hide.value = (defaultStore.state.nsfw === 'force' || defaultStore.state.dataSaver.media) ? true : (props.video.isSensitive && defaultStore.state.nsfw !== 'ignore');
 	stopVideoElWatch();
 	onceInit = false;
+	if (mediaTickFrameId) {
+		window.cancelAnimationFrame(mediaTickFrameId);
+		mediaTickFrameId = null;
+	}
 });
 </script>
 
@@ -352,6 +470,10 @@ onDeactivated(() => {
 	container-type: inline-size;
 	position: relative;
 	overflow: clip;
+
+	&:focus {
+		outline: none;
+	}
 }
 
 .sensitive {
@@ -415,7 +537,7 @@ onDeactivated(() => {
 	font: inherit;
 	color: inherit;
 	cursor: pointer;
-	padding: 120px 0;
+	padding: 60px 0;
 	display: flex;
 	align-items: center;
 	justify-content: center;
diff --git a/packages/frontend/src/components/MkMenu.vue b/packages/frontend/src/components/MkMenu.vue
index 8395879d02..526631b0e4 100644
--- a/packages/frontend/src/components/MkMenu.vue
+++ b/packages/frontend/src/components/MkMenu.vue
@@ -42,9 +42,26 @@ SPDX-License-Identifier: AGPL-3.0-only
 				</div>
 			</button>
 			<button v-else-if="item.type === 'switch'" role="menuitemcheckbox" :tabindex="i" class="_button" :class="[$style.item, $style.switch, { [$style.switchDisabled]: item.disabled } ]" @click="switchItem(item)" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)">
-				<MkSwitchButton :class="$style.switchButton" :checked="item.ref" :disabled="item.disabled" @toggle="switchItem(item)"/>
+				<i v-if="item.icon" class="ti-fw" :class="[$style.icon, item.icon]"></i>
+				<MkSwitchButton v-else :class="$style.switchButton" :checked="item.ref" :disabled="item.disabled" @toggle="switchItem(item)"/>
 				<div :class="$style.item_content">
-					<span :class="[$style.item_content_text, $style.switchText]">{{ item.text }}</span>
+					<span :class="[$style.item_content_text, { [$style.switchText]: !item.icon }]">{{ item.text }}</span>
+					<MkSwitchButton v-if="item.icon" :class="[$style.switchButton, $style.caret]" :checked="item.ref" :disabled="item.disabled" @toggle="switchItem(item)"/>
+				</div>
+			</button>
+			<button v-else-if="item.type === 'radio'" class="_button" role="menuitem" :tabindex="i" :class="[$style.item, $style.parent, { [$style.childShowing]: childShowingItem === item }]" @mouseenter="preferClick ? null : showRadioOptions(item, $event)" @click="!preferClick ? null : showRadioOptions(item, $event)">
+				<i v-if="item.icon" class="ti-fw" :class="[$style.icon, item.icon]" style="pointer-events: none;"></i>
+				<div :class="$style.item_content">
+					<span :class="$style.item_content_text" style="pointer-events: none;">{{ item.text }}</span>
+					<span :class="$style.caret" style="pointer-events: none;"><i class="ti ti-chevron-right ti-fw"></i></span>
+				</div>
+			</button>
+			<button v-else-if="item.type === 'radioOption'" :tabindex="i" class="_button" role="menuitem" :class="[$style.item, { [$style.radioActive]: item.active }]" @click="clicked(item.action, $event, false)" @mouseenter.passive="onItemMouseEnter(item)" @mouseleave.passive="onItemMouseLeave(item)">
+				<div :class="$style.icon">
+					<span :class="[$style.radio, { [$style.radioChecked]: item.active }]"></span>
+				</div>
+				<div :class="$style.item_content">
+					<span :class="$style.item_content_text">{{ item.text }}</span>
 				</div>
 			</button>
 			<button v-else-if="item.type === 'parent'" class="_button" role="menuitem" :tabindex="i" :class="[$style.item, $style.parent, { [$style.childShowing]: childShowingItem === item }]" @mouseenter="preferClick ? null : showChildren(item, $event)" @click="!preferClick ? null : showChildren(item, $event)">
@@ -77,7 +94,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 import { ComputedRef, computed, defineAsyncComponent, isRef, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch } from 'vue';
 import { focusPrev, focusNext } from '@/scripts/focus.js';
 import MkSwitchButton from '@/components/MkSwitch.button.vue';
-import { MenuItem, InnerMenuItem, MenuPending, MenuAction, MenuSwitch, MenuParent } from '@/types/menu.js';
+import { MenuItem, InnerMenuItem, MenuPending, MenuAction, MenuSwitch, MenuRadio, MenuRadioOption, MenuParent } from '@/types/menu.js';
 import * as os from '@/os.js';
 import { i18n } from '@/i18n.js';
 import { isTouchUsing } from '@/scripts/touch.js';
@@ -168,6 +185,31 @@ function onItemMouseLeave(item) {
 	if (childCloseTimer) window.clearTimeout(childCloseTimer);
 }
 
+async function showRadioOptions(item: MenuRadio, ev: MouseEvent) {
+	const children: MenuItem[] = Object.keys(item.options).map<MenuRadioOption>(key => {
+		const value = item.options[key];
+		return {
+			type: 'radioOption',
+			text: key,
+			action: () => {
+				item.ref = value;
+			},
+			active: computed(() => item.ref === value),
+		};
+	});
+
+	if (props.asDrawer) {
+		os.popupMenu(children, ev.currentTarget ?? ev.target).finally(() => {
+			emit('close');
+		});
+		emit('hide');
+	} else {
+		childTarget.value = (ev.currentTarget ?? ev.target) as HTMLElement;
+		childMenu.value = children;
+		childShowingItem.value = item;
+	}
+}
+
 async function showChildren(item: MenuParent, ev: MouseEvent) {
 	const children: MenuItem[] = await (async () => {
 		if (childrenCache.has(item)) {
@@ -196,8 +238,10 @@ async function showChildren(item: MenuParent, ev: MouseEvent) {
 	}
 }
 
-function clicked(fn: MenuAction, ev: MouseEvent) {
+function clicked(fn: MenuAction, ev: MouseEvent, doClose = true) {
 	fn(ev);
+
+	if (!doClose) return;
 	close(true);
 }
 
@@ -350,6 +394,15 @@ onBeforeUnmount(() => {
 		}
 	}
 
+	&.radioActive {
+		color: var(--accent) !important;
+		opacity: 1;
+
+		&:before {
+			background-color: var(--accentedBg) !important;
+		}
+	}
+
 	&:not(:active):focus-visible {
 		box-shadow: 0 0 0 2px var(--focus) inset;
 	}
@@ -417,11 +470,11 @@ onBeforeUnmount(() => {
 
 .switchButton {
 	margin-left: -2px;
+	--height: 1.35em;
 }
 
 .switchText {
 	margin-left: 8px;
-	margin-top: 2px;
 	overflow: hidden;
 	text-overflow: ellipsis;
 }
@@ -461,4 +514,32 @@ onBeforeUnmount(() => {
 	margin: 8px 0;
 	border-top: solid 0.5px var(--divider);
 }
+
+.radio {
+	display: inline-block;
+	position: relative;
+	width: 1em;
+	height: 1em;
+	vertical-align: -.125em;
+	border-radius: 50%;
+	border: solid 2px var(--divider);
+	background-color: var(--panel);
+
+	&.radioChecked {
+		border-color: var(--accent);
+
+		&::after {
+			content: "";
+			display: block;
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+			width: 50%;
+			height: 50%;
+			border-radius: 50%;
+			background-color: var(--accent);
+		}
+	}
+}
 </style>
diff --git a/packages/frontend/src/components/MkModal.vue b/packages/frontend/src/components/MkModal.vue
index 40e67fb4e0..eb240da759 100644
--- a/packages/frontend/src/components/MkModal.vue
+++ b/packages/frontend/src/components/MkModal.vue
@@ -175,8 +175,8 @@ const align = () => {
 	let left;
 	let top;
 
-	const x = srcRect.left + (fixed.value ? 0 : window.pageXOffset);
-	const y = srcRect.top + (fixed.value ? 0 : window.pageYOffset);
+	const x = srcRect.left + (fixed.value ? 0 : window.scrollX);
+	const y = srcRect.top + (fixed.value ? 0 : window.scrollY);
 
 	if (props.anchor.x === 'center') {
 		left = x + (props.src.offsetWidth / 2) - (width / 2);
@@ -220,24 +220,24 @@ const align = () => {
 		}
 	} else {
 		// 画面から横にはみ出る場合
-		if (left + width - window.pageXOffset > (window.innerWidth - SCROLLBAR_THICKNESS)) {
-			left = (window.innerWidth - SCROLLBAR_THICKNESS) - width + window.pageXOffset - 1;
+		if (left + width - window.scrollX > (window.innerWidth - SCROLLBAR_THICKNESS)) {
+			left = (window.innerWidth - SCROLLBAR_THICKNESS) - width + window.scrollX - 1;
 		}
 
-		const underSpace = ((window.innerHeight - SCROLLBAR_THICKNESS) - MARGIN) - (top - window.pageYOffset);
+		const underSpace = ((window.innerHeight - SCROLLBAR_THICKNESS) - MARGIN) - (top - window.scrollY);
 		const upperSpace = (srcRect.top - MARGIN);
 
 		// 画面から縦にはみ出る場合
-		if (top + height - window.pageYOffset > ((window.innerHeight - SCROLLBAR_THICKNESS) - MARGIN)) {
+		if (top + height - window.scrollY > ((window.innerHeight - SCROLLBAR_THICKNESS) - MARGIN)) {
 			if (props.noOverlap && props.anchor.x === 'center') {
 				if (underSpace >= (upperSpace / 3)) {
 					maxHeight.value = underSpace;
 				} else {
 					maxHeight.value = upperSpace;
-					top = window.pageYOffset + ((upperSpace + MARGIN) - height);
+					top = window.scrollY + ((upperSpace + MARGIN) - height);
 				}
 			} else {
-				top = ((window.innerHeight - SCROLLBAR_THICKNESS) - MARGIN) - height + window.pageYOffset - 1;
+				top = ((window.innerHeight - SCROLLBAR_THICKNESS) - MARGIN) - height + window.scrollY - 1;
 			}
 		} else {
 			maxHeight.value = underSpace;
@@ -255,15 +255,15 @@ const align = () => {
 	let transformOriginX = 'center';
 	let transformOriginY = 'center';
 
-	if (top >= srcRect.top + props.src.offsetHeight + (fixed.value ? 0 : window.pageYOffset)) {
+	if (top >= srcRect.top + props.src.offsetHeight + (fixed.value ? 0 : window.scrollY)) {
 		transformOriginY = 'top';
-	} else if ((top + height) <= srcRect.top + (fixed.value ? 0 : window.pageYOffset)) {
+	} else if ((top + height) <= srcRect.top + (fixed.value ? 0 : window.scrollY)) {
 		transformOriginY = 'bottom';
 	}
 
-	if (left >= srcRect.left + props.src.offsetWidth + (fixed.value ? 0 : window.pageXOffset)) {
+	if (left >= srcRect.left + props.src.offsetWidth + (fixed.value ? 0 : window.scrollX)) {
 		transformOriginX = 'left';
-	} else if ((left + width) <= srcRect.left + (fixed.value ? 0 : window.pageXOffset)) {
+	} else if ((left + width) <= srcRect.left + (fixed.value ? 0 : window.scrollX)) {
 		transformOriginX = 'right';
 	}
 
diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue
index 1957913606..47317ff485 100644
--- a/packages/frontend/src/components/MkNote.vue
+++ b/packages/frontend/src/components/MkNote.vue
@@ -101,7 +101,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 			</div>
 			<MkReactionsViewer v-if="appearNote.reactionAcceptance !== 'likeOnly'" :note="appearNote" :maxNumber="16" @click.stop @mockUpdateMyReaction="emitUpdReaction">
 				<template #more>
-					<div :class="$style.reactionOmitted">{{ i18n.ts.more }}</div>
+					<MkA :to="`/notes/${appearNote.id}/reactions`" :class="[$style.reactionOmitted]">{{ i18n.ts.more }}</MkA>
 				</template>
 			</MkReactionsViewer>
 			<footer :class="$style.footer">
@@ -275,6 +275,7 @@ if (noteViewInterruptors.length > 0) {
 
 const isRenote = (
 	note.value.renote != null &&
+	note.value.reply == null &&
 	note.value.text == null &&
 	note.value.cw == null &&
 	note.value.fileIds && note.value.fileIds.length === 0 &&
@@ -1254,10 +1255,9 @@ function emitUpdReaction(emoji: string, delta: number) {
 
 .reactionOmitted {
 	display: inline-block;
-	height: 32px;
-	margin: 2px;
-	padding: 0 6px;
+	margin-left: 8px;
 	opacity: .8;
+	font-size: 95%;
 }
 
 .clickToOpen {
diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue
index 028add9dde..f17c2b542d 100644
--- a/packages/frontend/src/components/MkNoteDetailed.vue
+++ b/packages/frontend/src/components/MkNoteDetailed.vue
@@ -69,7 +69,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 		<div :class="$style.noteContent">
 			<p v-if="appearNote.cw != null" :class="$style.cw">
 				<Mfm v-if="appearNote.cw != ''" style="margin-right: 8px;" :text="appearNote.cw" :author="appearNote.user" :nyaize="'respect'"/>
-				<MkCwButton v-model="showContent" :text="appearNote.text" :files="appearNote.files" :poll="appearNote.poll"/>
+				<MkCwButton v-model="showContent" :text="appearNote.text" :renote="appearNote.renote" :files="appearNote.files" :poll="appearNote.poll"/>
 			</p>
 			<div v-show="appearNote.cw == null || showContent">
 				<span v-if="appearNote.isHidden" style="opacity: 0.5">({{ i18n.ts.private }})</span>
@@ -264,10 +264,13 @@ import MkButton from '@/components/MkButton.vue';
 import { boostMenuItems, type Visibility } from '@/scripts/boost-quote.js';
 import { isEnabledUrlPreview } from '@/instance.js';
 
-const props = defineProps<{
+const props = withDefaults(defineProps<{
 	note: Misskey.entities.Note;
 	expandAllCws?: boolean;
-}>();
+	initialTab: string;
+}>(), {
+	initialTab: 'replies',
+});
 
 const inChannel = inject('inChannel', null);
 
@@ -294,7 +297,9 @@ if (noteViewInterruptors.length > 0) {
 
 const isRenote = (
 	note.value.renote != null &&
+	note.value.reply == null &&
 	note.value.text == null &&
+	note.value.cw == null &&
 	note.value.fileIds && note.value.fileIds.length === 0 &&
 	note.value.poll == null
 );
@@ -357,7 +362,7 @@ provide('react', (reaction: string) => {
 	});
 });
 
-const tab = ref('replies');
+const tab = ref(props.initialTab);
 const reactionTabType = ref<string | null>(null);
 
 const renotesPagination = computed<Paging>(() => ({
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index d9e50fbb79..639e0a0b0a 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -255,7 +255,13 @@ const maxTextLength = computed((): number => {
 
 const canPost = computed((): boolean => {
 	return !props.mock && !posting.value && !posted.value &&
-		(1 <= textLength.value || 1 <= files.value.length || !!poll.value || !!props.renote) &&
+		(
+			1 <= textLength.value ||
+			1 <= files.value.length ||
+			poll.value != null ||
+			props.renote != null ||
+			(props.reply != null && quoteId.value != null)
+		) &&
 		(textLength.value <= maxTextLength.value) &&
 		(!poll.value || poll.value.choices.length >= 2);
 });
diff --git a/packages/frontend/src/components/MkReactionsViewer.vue b/packages/frontend/src/components/MkReactionsViewer.vue
index 3d3130cd51..a70ed18d18 100644
--- a/packages/frontend/src/components/MkReactionsViewer.vue
+++ b/packages/frontend/src/components/MkReactionsViewer.vue
@@ -100,6 +100,9 @@ watch([() => props.note.reactions, () => props.maxNumber], ([newSource, maxNumbe
 }
 
 .root {
+	display: flex;
+	flex-wrap: wrap;
+	align-items: center;
 	margin: 4px -2px 0 -2px;
 	cursor: auto; /* not clickToOpen-able */
 
diff --git a/packages/frontend/src/components/MkSwitch.button.vue b/packages/frontend/src/components/MkSwitch.button.vue
index 21339d1b4e..f7c413e1d3 100644
--- a/packages/frontend/src/components/MkSwitch.button.vue
+++ b/packages/frontend/src/components/MkSwitch.button.vue
@@ -41,13 +41,15 @@ const toggle = () => {
 
 <style lang="scss" module>
 .button {
+	--height: 21px;
+
 	position: relative;
 	display: inline-flex;
 	flex-shrink: 0;
 	margin: 0;
 	box-sizing: border-box;
-	width: 32px;
-	height: 23px;
+	width: calc(var(--height) * 1.6);
+	height: calc(var(--height) + 2px); // 枠線
 	outline: none;
 	background: var(--switchOffBg);
 	background-clip: content-box;
@@ -69,9 +71,10 @@ const toggle = () => {
 
 .knob {
 	position: absolute;
+	box-sizing: border-box;
 	top: 3px;
-	width: 15px;
-	height: 15px;
+	width: calc(var(--height) - 6px);
+	height: calc(var(--height) - 6px);
 	border-radius: var(--radius-ellipse);
 	transition: all 0.2s ease;
 
@@ -82,7 +85,7 @@ const toggle = () => {
 }
 
 .knobChecked {
-	left: 12px;
+	left: calc(calc(100% - var(--height)) + 3px);
 	background: var(--switchOnFg);
 }
 </style>
diff --git a/packages/frontend/src/components/MkUrlPreviewPopup.vue b/packages/frontend/src/components/MkUrlPreviewPopup.vue
index cf75064be7..e972973dba 100644
--- a/packages/frontend/src/components/MkUrlPreviewPopup.vue
+++ b/packages/frontend/src/components/MkUrlPreviewPopup.vue
@@ -33,8 +33,8 @@ const left = ref(0);
 
 onMounted(() => {
 	const rect = props.source.getBoundingClientRect();
-	const x = Math.max((rect.left + (props.source.offsetWidth / 2)) - (300 / 2), 6) + window.pageXOffset;
-	const y = rect.top + props.source.offsetHeight + window.pageYOffset;
+	const x = Math.max((rect.left + (props.source.offsetWidth / 2)) - (300 / 2), 6) + window.scrollX;
+	const y = rect.top + props.source.offsetHeight + window.scrollY;
 
 	top.value = y;
 	left.value = x;
diff --git a/packages/frontend/src/components/MkUserPopup.vue b/packages/frontend/src/components/MkUserPopup.vue
index 6550fc4ec1..18e4bde59d 100644
--- a/packages/frontend/src/components/MkUserPopup.vue
+++ b/packages/frontend/src/components/MkUserPopup.vue
@@ -118,8 +118,8 @@ onMounted(() => {
 	}
 
 	const rect = props.source.getBoundingClientRect();
-	const x = ((rect.left + (props.source.offsetWidth / 2)) - (300 / 2)) + window.pageXOffset;
-	const y = rect.top + props.source.offsetHeight + window.pageYOffset;
+	const x = ((rect.left + (props.source.offsetWidth / 2)) - (300 / 2)) + window.scrollX;
+	const y = rect.top + props.source.offsetHeight + window.scrollY;
 
 	top.value = y;
 	left.value = x;
diff --git a/packages/frontend/src/components/global/MkTime.vue b/packages/frontend/src/components/global/MkTime.vue
index 67532268d3..23fe99bd9c 100644
--- a/packages/frontend/src/components/global/MkTime.vue
+++ b/packages/frontend/src/components/global/MkTime.vue
@@ -47,7 +47,7 @@ const invalid = Number.isNaN(_time);
 const absolute = !invalid ? dateTimeFormat.format(_time) : i18n.ts._ago.invalid;
 
 // eslint-disable-next-line vue/no-setup-props-destructure
-const now = ref((props.origin ?? new Date()).getTime());
+const now = ref(props.origin?.getTime() ?? Date.now());
 const ago = computed(() => (now.value - _time) / 1000/*ms*/);
 
 const relative = computed<string>(() => {
@@ -77,7 +77,7 @@ let tickId: number;
 let currentInterval: number;
 
 function tick() {
-	now.value = (new Date()).getTime();
+	now.value = Date.now();
 	const nextInterval = ago.value < 60 ? 10000 : ago.value < 3600 ? 60000 : 180000;
 
 	if (currentInterval !== nextInterval) {
diff --git a/packages/frontend/src/components/page/page.block.vue b/packages/frontend/src/components/page/page.block.vue
index 164720ac6b..c7f72dce8c 100644
--- a/packages/frontend/src/components/page/page.block.vue
+++ b/packages/frontend/src/components/page/page.block.vue
@@ -14,6 +14,7 @@ import XText from './page.text.vue';
 import XSection from './page.section.vue';
 import XImage from './page.image.vue';
 import XNote from './page.note.vue';
+import XDynamic from './page.dynamic.vue';
 
 function getComponent(type: string) {
 	switch (type) {
@@ -21,6 +22,20 @@ function getComponent(type: string) {
 		case 'section': return XSection;
 		case 'image': return XImage;
 		case 'note': return XNote;
+
+		// 動的ページの代替用ブロック
+		case 'button':
+		case 'if':
+		case 'textarea':
+		case 'post':
+		case 'canvas':
+		case 'numberInput':
+		case 'textInput':
+		case 'switch':
+		case 'radioButton':
+		case 'counter':
+			return XDynamic;
+
 		default: return null;
 	}
 }
diff --git a/packages/frontend/src/components/page/page.dynamic.vue b/packages/frontend/src/components/page/page.dynamic.vue
new file mode 100644
index 0000000000..8c511a690d
--- /dev/null
+++ b/packages/frontend/src/components/page/page.dynamic.vue
@@ -0,0 +1,43 @@
+<!--
+SPDX-FileCopyrightText: syuilo and misskey-project
+SPDX-License-Identifier: AGPL-3.0-only
+-->
+
+<!-- 動的ページのブロックの代替。利用できないということを表示する -->
+<template>
+<div :class="$style.root">
+	<div :class="$style.heading"><i class="ti ti-dice-5"></i> {{ i18n.ts._pages.blocks.dynamic }}</div>
+	<I18n :src="i18n.ts._pages.blocks.dynamicDescription" tag="div" :class="$style.text">
+		<template #play>
+			<MkA to="/play" class="_link">Play</MkA>
+		</template>
+	</I18n>
+</div>
+</template>
+
+<script lang="ts" setup>
+import * as Misskey from 'misskey-js';
+import { i18n } from '@/i18n.js';
+
+const props = defineProps<{
+	block: Misskey.entities.PageBlock,
+	page: Misskey.entities.Page,
+}>();
+</script>
+
+<style lang="scss" module>
+.root {
+	border: 1px solid var(--divider);
+	border-radius: var(--radius);
+	padding: var(--margin);
+	text-align: center;
+}
+
+.heading {
+	font-weight: 700;
+}
+
+.text {
+	font-size: 90%;
+}
+</style>
diff --git a/packages/frontend/src/components/page/page.text.vue b/packages/frontend/src/components/page/page.text.vue
index cac67afd0b..2f11c09db2 100644
--- a/packages/frontend/src/components/page/page.text.vue
+++ b/packages/frontend/src/components/page/page.text.vue
@@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 <template>
 <div class="_gaps" :class="$style.textRoot">
 	<Mfm :text="block.text ?? ''" :isNote="false"/>
-	<div v-if="isEnabledUrlPreview">
+	<div v-if="isEnabledUrlPreview" class="_gaps_s">
 		<MkUrlPreview v-for="url in urls" :key="url" :url="url"/>
 	</div>
 </div>
diff --git a/packages/frontend/src/pages/note.vue b/packages/frontend/src/pages/note.vue
index 6ccb5b61e5..71b6993afd 100644
--- a/packages/frontend/src/pages/note.vue
+++ b/packages/frontend/src/pages/note.vue
@@ -21,11 +21,11 @@ SPDX-License-Identifier: AGPL-3.0-only
 						</div>
 						<div v-if="defaultStore.state.noteDesign === 'misskey'" class="_margin _gaps_s">
 							<MkRemoteCaution v-if="note.user.host != null" :href="note.url ?? note.uri"/>
-							<MkNoteDetailed :key="note.id" v-model:note="note" :class="$style.note" :expandAllCws="expandAllCws"/>
+							<MkNoteDetailed :key="note.id" v-model:note="note" :initialTab="initialTab" :class="$style.note" :expandAllCws="expandAllCws"/>
 						</div>
 						<div v-else-if="defaultStore.state.noteDesign === 'sharkey'" class="_margin _gaps_s">
 							<MkRemoteCaution v-if="note.user.host != null" :href="note.url ?? note.uri"/>
-							<SkNoteDetailed :key="note.id" v-model:note="note" :class="$style.note" :expandAllCws="expandAllCws"/>
+							<SkNoteDetailed :key="note.id" v-model:note="note" :initialTab="initialTab" :class="$style.note" :expandAllCws="expandAllCws"/>
 						</div>
 						<div v-if="clips && clips.length > 0" class="_margin">
 							<div style="font-weight: bold; padding: 12px;">{{ i18n.ts.clip }}</div>
@@ -71,6 +71,7 @@ import { defaultStore } from '@/store.js';
 
 const props = defineProps<{
 	noteId: string;
+	initialTab?: string;
 }>();
 
 const note = ref<null | Misskey.entities.Note>();
diff --git a/packages/frontend/src/pages/settings/2fa.qrdialog.vue b/packages/frontend/src/pages/settings/2fa.qrdialog.vue
index 3e1df89173..857e28e1a1 100644
--- a/packages/frontend/src/pages/settings/2fa.qrdialog.vue
+++ b/packages/frontend/src/pages/settings/2fa.qrdialog.vue
@@ -25,6 +25,8 @@ SPDX-License-Identifier: AGPL-3.0-only
 				<div style="height: 100cqh; overflow: auto; text-align: center;">
 					<MkSpacer :marginMin="20" :marginMax="28">
 						<div class="_gaps">
+							<MkInfo><MkLink url="https://misskey-hub.net/docs/for-users/stepped-guides/how-to-enable-2fa/" target="_blank">{{ i18n.ts._2fa.moreDetailedGuideHere }}</MkLink></MkInfo>
+
 							<I18n :src="i18n.ts._2fa.step1" tag="div">
 								<template #a>
 									<a href="https://authy.com/" rel="noopener" target="_blank" class="_link">Authy</a>
@@ -33,8 +35,12 @@ SPDX-License-Identifier: AGPL-3.0-only
 									<a href="https://support.google.com/accounts/answer/1066447" rel="noopener" target="_blank" class="_link">Google Authenticator</a>
 								</template>
 							</I18n>
-							<div>{{ i18n.ts._2fa.step2 }}<br>{{ i18n.ts._2fa.step2Click }}</div>
-							<a :href="twoFactorData.url"><img :class="$style.qr" :src="twoFactorData.qr"></a>
+							<div>{{ i18n.ts._2fa.step2 }}</div>
+							<div>
+								<a :class="$style.qrRoot" :href="twoFactorData.url"><img :class="$style.qr" :src="twoFactorData.qr"></a>
+								<!-- QRコード側にマージンが入っているので直下でOK -->
+								<div><MkButton inline rounded link :to="twoFactorData.url" :linkBehavior="'browser'">{{ i18n.ts.launchApp }}</MkButton></div>
+							</div>
 							<MkKeyValue :copy="twoFactorData.url">
 								<template #key>{{ i18n.ts._2fa.step2Uri }}</template>
 								<template #value>{{ twoFactorData.url }}</template>
@@ -109,6 +115,7 @@ import { i18n } from '@/i18n.js';
 import * as os from '@/os.js';
 import MkFolder from '@/components/MkFolder.vue';
 import MkInfo from '@/components/MkInfo.vue';
+import MkLink from '@/components/MkLink.vue';
 import { confetti } from '@/scripts/confetti.js';
 import { signinRequired } from '@/account.js';
 
@@ -177,8 +184,14 @@ function allDone() {
 	transform: translateX(-50px);
 }
 
-.qr {
+.qrRoot {
+	display: block;
+	margin: 0 auto;
 	width: 200px;
 	max-width: 100%;
 }
+
+.qr {
+	width: 100%;
+}
 </style>
diff --git a/packages/frontend/src/pages/settings/2fa.vue b/packages/frontend/src/pages/settings/2fa.vue
index 2b246c0e52..39261097d4 100644
--- a/packages/frontend/src/pages/settings/2fa.vue
+++ b/packages/frontend/src/pages/settings/2fa.vue
@@ -30,7 +30,10 @@ SPDX-License-Identifier: AGPL-3.0-only
 				<MkButton v-else danger @click="unregisterTOTP">{{ i18n.ts.unregister }}</MkButton>
 			</div>
 
-			<MkButton v-else-if="!$i.twoFactorEnabled" primary gradate @click="registerTOTP">{{ i18n.ts._2fa.registerTOTP }}</MkButton>
+			<div v-else-if="!$i.twoFactorEnabled" class="_gaps_s">
+				<MkButton primary gradate @click="registerTOTP">{{ i18n.ts._2fa.registerTOTP }}</MkButton>
+				<MkLink url="https://misskey-hub.net/docs/for-users/stepped-guides/how-to-enable-2fa/" target="_blank"><i class="ti ti-help-circle"></i> {{ i18n.ts.learnMore }}</MkLink>
+			</div>
 		</MkFolder>
 
 		<MkFolder>
@@ -79,6 +82,7 @@ import MkInfo from '@/components/MkInfo.vue';
 import MkSwitch from '@/components/MkSwitch.vue';
 import FormSection from '@/components/form/section.vue';
 import MkFolder from '@/components/MkFolder.vue';
+import MkLink from '@/components/MkLink.vue';
 import * as os from '@/os.js';
 import { signinRequired, updateAccount } from '@/account.js';
 import { i18n } from '@/i18n.js';
diff --git a/packages/frontend/src/pages/settings/general.vue b/packages/frontend/src/pages/settings/general.vue
index 436ddda78e..ffe82627cb 100644
--- a/packages/frontend/src/pages/settings/general.vue
+++ b/packages/frontend/src/pages/settings/general.vue
@@ -148,6 +148,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 				<MkSwitch v-model="forceShowAds">{{ i18n.ts.forceShowAds }}</MkSwitch>
 				<MkSwitch v-model="oneko">{{ i18n.ts.oneko }}</MkSwitch>
 				<MkSwitch v-model="enableSeasonalScreenEffect">{{ i18n.ts.seasonalScreenEffect }}</MkSwitch>
+				<MkSwitch v-model="useNativeUIForVideoAudioPlayer">{{ i18n.ts.useNativeUIForVideoAudioPlayer }}</MkSwitch>
 			</div>
 			<div>
 				<MkRadios v-model="emojiStyle">
@@ -364,6 +365,7 @@ const enableSeasonalScreenEffect = computed(defaultStore.makeGetterSetter('enabl
 const showVisibilitySelectorOnBoost = computed(defaultStore.makeGetterSetter('showVisibilitySelectorOnBoost'));
 const visibilityOnBoost = computed(defaultStore.makeGetterSetter('visibilityOnBoost'));
 const enableHorizontalSwipe = computed(defaultStore.makeGetterSetter('enableHorizontalSwipe'));
+const useNativeUIForVideoAudioPlayer = computed(defaultStore.makeGetterSetter('useNativeUIForVideoAudioPlayer'));
 
 watch(lang, () => {
 	miLocalStorage.setItem('lang', lang.value as string);
diff --git a/packages/frontend/src/router/definition.ts b/packages/frontend/src/router/definition.ts
index c5fc28a345..1ee62248c3 100644
--- a/packages/frontend/src/router/definition.ts
+++ b/packages/frontend/src/router/definition.ts
@@ -35,7 +35,7 @@ const routes: RouteDef[] = [{
 	component: page(() => import('@/pages/user/index.vue')),
 }, {
 	name: 'note',
-	path: '/notes/:noteId',
+	path: '/notes/:noteId/:initialTab?',
 	component: page(() => import('@/pages/note.vue')),
 }, {
 	name: 'list',
diff --git a/packages/frontend/src/scripts/keycode.ts b/packages/frontend/src/scripts/keycode.ts
index bc1f485f5e..7ffceafada 100644
--- a/packages/frontend/src/scripts/keycode.ts
+++ b/packages/frontend/src/scripts/keycode.ts
@@ -15,6 +15,7 @@ export default (input: string): string[] => {
 export const aliases = {
 	'esc': 'Escape',
 	'enter': ['Enter', 'NumpadEnter'],
+	'space': [' ', 'Spacebar'],
 	'up': 'ArrowUp',
 	'down': 'ArrowDown',
 	'left': 'ArrowLeft',
diff --git a/packages/frontend/src/scripts/popup-position.ts b/packages/frontend/src/scripts/popup-position.ts
index 8c9e3c02c3..3dad41a8b3 100644
--- a/packages/frontend/src/scripts/popup-position.ts
+++ b/packages/frontend/src/scripts/popup-position.ts
@@ -26,8 +26,8 @@ export function calcPopupPosition(el: HTMLElement, props: {
 		let top: number;
 
 		if (props.anchorElement) {
-			left = rect.left + window.pageXOffset + (props.anchorElement.offsetWidth / 2);
-			top = (rect.top + window.pageYOffset - contentHeight) - props.innerMargin;
+			left = rect.left + window.scrollX + (props.anchorElement.offsetWidth / 2);
+			top = (rect.top + window.scrollY - contentHeight) - props.innerMargin;
 		} else {
 			left = props.x;
 			top = (props.y - contentHeight) - props.innerMargin;
@@ -35,8 +35,8 @@ export function calcPopupPosition(el: HTMLElement, props: {
 
 		left -= (el.offsetWidth / 2);
 
-		if (left + contentWidth - window.pageXOffset > window.innerWidth) {
-			left = window.innerWidth - contentWidth + window.pageXOffset - 1;
+		if (left + contentWidth - window.scrollX > window.innerWidth) {
+			left = window.innerWidth - contentWidth + window.scrollX - 1;
 		}
 
 		return [left, top];
@@ -47,8 +47,8 @@ export function calcPopupPosition(el: HTMLElement, props: {
 		let top: number;
 
 		if (props.anchorElement) {
-			left = rect.left + window.pageXOffset + (props.anchorElement.offsetWidth / 2);
-			top = (rect.top + window.pageYOffset + props.anchorElement.offsetHeight) + props.innerMargin;
+			left = rect.left + window.scrollX + (props.anchorElement.offsetWidth / 2);
+			top = (rect.top + window.scrollY + props.anchorElement.offsetHeight) + props.innerMargin;
 		} else {
 			left = props.x;
 			top = (props.y) + props.innerMargin;
@@ -56,8 +56,8 @@ export function calcPopupPosition(el: HTMLElement, props: {
 
 		left -= (el.offsetWidth / 2);
 
-		if (left + contentWidth - window.pageXOffset > window.innerWidth) {
-			left = window.innerWidth - contentWidth + window.pageXOffset - 1;
+		if (left + contentWidth - window.scrollX > window.innerWidth) {
+			left = window.innerWidth - contentWidth + window.scrollX - 1;
 		}
 
 		return [left, top];
@@ -68,8 +68,8 @@ export function calcPopupPosition(el: HTMLElement, props: {
 		let top: number;
 
 		if (props.anchorElement) {
-			left = (rect.left + window.pageXOffset - contentWidth) - props.innerMargin;
-			top = rect.top + window.pageYOffset + (props.anchorElement.offsetHeight / 2);
+			left = (rect.left + window.scrollX - contentWidth) - props.innerMargin;
+			top = rect.top + window.scrollY + (props.anchorElement.offsetHeight / 2);
 		} else {
 			left = (props.x - contentWidth) - props.innerMargin;
 			top = props.y;
@@ -77,8 +77,8 @@ export function calcPopupPosition(el: HTMLElement, props: {
 
 		top -= (el.offsetHeight / 2);
 
-		if (top + contentHeight - window.pageYOffset > window.innerHeight) {
-			top = window.innerHeight - contentHeight + window.pageYOffset - 1;
+		if (top + contentHeight - window.scrollY > window.innerHeight) {
+			top = window.innerHeight - contentHeight + window.scrollY - 1;
 		}
 
 		return [left, top];
@@ -89,15 +89,15 @@ export function calcPopupPosition(el: HTMLElement, props: {
 		let top: number;
 
 		if (props.anchorElement) {
-			left = (rect.left + props.anchorElement.offsetWidth + window.pageXOffset) + props.innerMargin;
+			left = (rect.left + props.anchorElement.offsetWidth + window.scrollX) + props.innerMargin;
 
 			if (props.align === 'top') {
-				top = rect.top + window.pageYOffset;
+				top = rect.top + window.scrollY;
 				if (props.alignOffset != null) top += props.alignOffset;
 			} else if (props.align === 'bottom') {
 				// TODO
 			} else { // center
-				top = rect.top + window.pageYOffset + (props.anchorElement.offsetHeight / 2);
+				top = rect.top + window.scrollY + (props.anchorElement.offsetHeight / 2);
 				top -= (el.offsetHeight / 2);
 			}
 		} else {
@@ -106,8 +106,8 @@ export function calcPopupPosition(el: HTMLElement, props: {
 			top -= (el.offsetHeight / 2);
 		}
 
-		if (top + contentHeight - window.pageYOffset > window.innerHeight) {
-			top = window.innerHeight - contentHeight + window.pageYOffset - 1;
+		if (top + contentHeight - window.scrollY > window.innerHeight) {
+			top = window.innerHeight - contentHeight + window.scrollY - 1;
 		}
 
 		return [left, top];
@@ -123,7 +123,7 @@ export function calcPopupPosition(el: HTMLElement, props: {
 				const [left, top] = calcPosWhenTop();
 
 				// ツールチップを上に向かって表示するスペースがなければ下に向かって出す
-				if (top - window.pageYOffset < 0) {
+				if (top - window.scrollY < 0) {
 					const [left, top] = calcPosWhenBottom();
 					return { left, top, transformOrigin: 'center top' };
 				}
@@ -141,7 +141,7 @@ export function calcPopupPosition(el: HTMLElement, props: {
 				const [left, top] = calcPosWhenLeft();
 
 				// ツールチップを左に向かって表示するスペースがなければ右に向かって出す
-				if (left - window.pageXOffset < 0) {
+				if (left - window.scrollX < 0) {
 					const [left, top] = calcPosWhenRight();
 					return { left, top, transformOrigin: 'left center' };
 				}
diff --git a/packages/frontend/src/scripts/use-chart-tooltip.ts b/packages/frontend/src/scripts/use-chart-tooltip.ts
index 7e4bf5c9c6..bed221a622 100644
--- a/packages/frontend/src/scripts/use-chart-tooltip.ts
+++ b/packages/frontend/src/scripts/use-chart-tooltip.ts
@@ -53,11 +53,11 @@ export function useChartTooltip(opts: { position: 'top' | 'middle' } = { positio
 		const rect = context.chart.canvas.getBoundingClientRect();
 
 		tooltipShowing.value = true;
-		tooltipX.value = rect.left + window.pageXOffset + context.tooltip.caretX;
+		tooltipX.value = rect.left + window.scrollX + context.tooltip.caretX;
 		if (opts.position === 'top') {
-			tooltipY.value = rect.top + window.pageYOffset;
+			tooltipY.value = rect.top + window.scrollY;
 		} else if (opts.position === 'middle') {
-			tooltipY.value = rect.top + window.pageYOffset + context.tooltip.caretY;
+			tooltipY.value = rect.top + window.scrollY + context.tooltip.caretY;
 		}
 	}
 
diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts
index d705fea07c..8f2149d60a 100644
--- a/packages/frontend/src/store.ts
+++ b/packages/frontend/src/store.ts
@@ -495,6 +495,10 @@ export const defaultStore = markRaw(new Storage('base', {
 		where: 'device',
 		default: true,
 	},
+	useNativeUIForVideoAudioPlayer: {
+		where: 'device',
+		default: false,
+	},
 
 	sound_masterVolume: {
 		where: 'device',
diff --git a/packages/frontend/src/types/menu.ts b/packages/frontend/src/types/menu.ts
index 712f3464e5..138eb7dd62 100644
--- a/packages/frontend/src/types/menu.ts
+++ b/packages/frontend/src/types/menu.ts
@@ -6,6 +6,8 @@
 import * as Misskey from 'misskey-js';
 import { ComputedRef, Ref } from 'vue';
 
+interface MenuRadioOptionsDef extends Record<string, any> { }
+
 export type MenuAction = (ev: MouseEvent) => void;
 
 export type MenuDivider = { type: 'divider' };
@@ -14,13 +16,15 @@ export type MenuLabel = { type: 'label', text: string };
 export type MenuLink = { type: 'link', to: string, text: string, icon?: string, indicate?: boolean, avatar?: Misskey.entities.User };
 export type MenuA = { type: 'a', href: string, target?: string, download?: string, text: string, icon?: string, indicate?: boolean };
 export type MenuUser = { type: 'user', user: Misskey.entities.User, active?: boolean, indicate?: boolean, action: MenuAction };
-export type MenuSwitch = { type: 'switch', ref: Ref<boolean>, text: string, disabled?: boolean | Ref<boolean> };
+export type MenuSwitch = { type: 'switch', ref: Ref<boolean>, text: string, icon?: string, disabled?: boolean | Ref<boolean> };
 export type MenuButton = { type?: 'button', text: string, icon?: string, indicate?: boolean, danger?: boolean, active?: boolean | ComputedRef<boolean>, avatar?: Misskey.entities.User; action: MenuAction };
+export type MenuRadio = { type: 'radio', text: string, icon?: string, ref: Ref<MenuRadioOptionsDef[keyof MenuRadioOptionsDef]>, options: MenuRadioOptionsDef, disabled?: boolean | Ref<boolean> };
+export type MenuRadioOption = { type: 'radioOption', text: string, action: MenuAction; active?: boolean | ComputedRef<boolean> };
 export type MenuParent = { type: 'parent', text: string, icon?: string, children: MenuItem[] | (() => Promise<MenuItem[]> | MenuItem[]) };
 
 export type MenuPending = { type: 'pending' };
 
-type OuterMenuItem = MenuDivider | MenuNull | MenuLabel | MenuLink | MenuA | MenuUser | MenuSwitch | MenuButton | MenuParent;
+type OuterMenuItem = MenuDivider | MenuNull | MenuLabel | MenuLink | MenuA | MenuUser | MenuSwitch | MenuButton | MenuRadio | MenuRadioOption | MenuParent;
 type OuterPromiseMenuItem = Promise<MenuLabel | MenuLink | MenuA | MenuUser | MenuSwitch | MenuButton | MenuParent>;
 export type MenuItem = OuterMenuItem | OuterPromiseMenuItem;
-export type InnerMenuItem = MenuDivider | MenuPending | MenuLabel | MenuLink | MenuA | MenuUser | MenuSwitch | MenuButton | MenuParent;
+export type InnerMenuItem = MenuDivider | MenuPending | MenuLabel | MenuLink | MenuA | MenuUser | MenuSwitch | MenuButton | MenuRadio | MenuRadioOption | MenuParent;
diff --git a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue
index 36ba9f8255..e4ac9673dd 100644
--- a/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue
+++ b/packages/frontend/src/widgets/WidgetBirthdayFollowings.vue
@@ -7,6 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 <MkContainer :showHeader="widgetProps.showHeader" class="mkw-bdayfollowings">
 	<template #icon><i class="ph-cake ph-bold ph-lg"></i></template>
 	<template #header>{{ i18n.ts._widgets.birthdayFollowings }}</template>
+	<template #func="{ buttonStyleClass }"><button class="_button" :class="buttonStyleClass" @click="actualFetch()"><i class="ti ti-refresh"></i></button></template>
 
 	<div :class="$style.bdayFRoot">
 		<MkLoading v-if="fetching"/>
@@ -53,7 +54,7 @@ const { widgetProps, configure } = useWidgetPropsManager(name,
 	emit,
 );
 
-const users = ref<Misskey.entities.FollowingFolloweePopulated[]>([]);
+const users = ref<Misskey.Endpoints['users/following']['res']>([]);
 const fetching = ref(true);
 let lastFetchedAt = '1970-01-01';
 
@@ -70,19 +71,35 @@ const fetch = () => {
 	now.setHours(0, 0, 0, 0);
 
 	if (now > lfAtD) {
-		misskeyApi('users/following', {
-			limit: 18,
-			birthday: now.toISOString(),
-			userId: $i.id,
-		}).then(res => {
-			users.value = res;
-			fetching.value = false;
-		});
+		actualFetch();
 
 		lastFetchedAt = now.toISOString();
 	}
 };
 
+function actualFetch() {
+	if ($i == null) {
+		users.value = [];
+		fetching.value = false;
+		return;
+	}
+
+	const now = new Date();
+	now.setHours(0, 0, 0, 0);
+	fetching.value = true;
+	misskeyApi('users/following', {
+		limit: 18,
+		birthday: `${now.getFullYear().toString().padStart(4, '0')}-${(now.getMonth() + 1).toString().padStart(2, '0')}-${now.getDate().toString().padStart(2, '0')}`,
+		userId: $i.id,
+	}).then(res => {
+		users.value = res;
+		window.setTimeout(() => {
+			// 早すぎるとチカチカする
+			fetching.value = false;
+		}, 100);
+	});
+}
+
 useInterval(fetch, 1000 * 60, {
 	immediate: true,
 	afterMounted: true,
diff --git a/packages/frontend/src/widgets/WidgetUnixClock.vue b/packages/frontend/src/widgets/WidgetUnixClock.vue
index 2ac7d1c781..832cd575cc 100644
--- a/packages/frontend/src/widgets/WidgetUnixClock.vue
+++ b/packages/frontend/src/widgets/WidgetUnixClock.vue
@@ -68,9 +68,9 @@ watch(showColon, (v) => {
 });
 
 const tick = () => {
-	const now = new Date();
-	ss.value = Math.floor(now.getTime() / 1000).toString();
-	ms.value = Math.floor(now.getTime() % 1000 / 10).toString().padStart(2, '0');
+	const now = Date.now();
+	ss.value = Math.floor(now / 1000).toString();
+	ms.value = Math.floor(now % 1000 / 10).toString().padStart(2, '0');
 	if (ss.value !== prevSec) showColon.value = true;
 	prevSec = ss.value;
 };
diff --git a/packages/misskey-bubble-game/.eslintignore b/packages/misskey-bubble-game/.eslintignore
index f22128f047..52ea8b3362 100644
--- a/packages/misskey-bubble-game/.eslintignore
+++ b/packages/misskey-bubble-game/.eslintignore
@@ -5,3 +5,4 @@ node_modules
 /jest.config.ts
 /test
 /test-d
+build.js
diff --git a/packages/misskey-bubble-game/build.js b/packages/misskey-bubble-game/build.js
index 4744dfaf7b..0b79f4b915 100644
--- a/packages/misskey-bubble-game/build.js
+++ b/packages/misskey-bubble-game/build.js
@@ -1,31 +1,105 @@
+import * as esbuild from "esbuild";
 import { build } from "esbuild";
 import { globSync } from "glob";
+import { execa } from "execa";
+import fs from "node:fs";
+import { fileURLToPath } from "node:url";
+import { dirname } from "node:path";
+
+const _filename = fileURLToPath(import.meta.url);
+const _dirname = dirname(_filename);
+const _package = JSON.parse(fs.readFileSync(_dirname + '/package.json', 'utf-8'));
 
 const entryPoints = globSync("./src/**/**.{ts,tsx}");
 
 /** @type {import('esbuild').BuildOptions} */
 const options = {
-  entryPoints,
-  minify: true,
-  outdir: "./built/esm",
-  target: "es2022",
-  platform: "browser",
-  format: "esm",
+	entryPoints,
+	minify: process.env.NODE_ENV === 'production',
+	outdir: "./built",
+	target: "es2022",
+	platform: "browser",
+	format: "esm",
+	sourcemap: 'linked',
 };
 
-if (process.env.WATCH === "true") {
-  options.watch = {
-    onRebuild(error, result) {
-      if (error) {
-        console.error("watch build failed:", error);
-      } else {
-        console.log("watch build succeeded:", result);
-      }
-    },
-  };
+// built配下をすべて削除する
+fs.rmSync('./built', { recursive: true, force: true });
+
+if (process.argv.map(arg => arg.toLowerCase()).includes("--watch")) {
+	await watchSrc();
+} else {
+	await buildSrc();
 }
 
-build(options).catch((err) => {
-  process.stderr.write(err.stderr);
-  process.exit(1);
-});
+async function buildSrc() {
+	console.log(`[${_package.name}] start building...`);
+
+	await build(options)
+		.then(it => {
+			console.log(`[${_package.name}] build succeeded.`);
+		})
+		.catch((err) => {
+			process.stderr.write(err.stderr);
+			process.exit(1);
+		});
+
+	if (process.env.NODE_ENV === 'production') {
+		console.log(`[${_package.name}] skip building d.ts because NODE_ENV is production.`);
+	} else {
+		await buildDts();
+	}
+
+	console.log(`[${_package.name}] finish building.`);
+}
+
+function buildDts() {
+	return execa(
+		'tsc',
+		[
+			'--project', 'tsconfig.json',
+			'--outDir', 'built',
+			'--declaration', 'true',
+			'--emitDeclarationOnly', 'true',
+		],
+		{
+			stdout: process.stdout,
+			stderr: process.stderr,
+		}
+	);
+}
+
+async function watchSrc() {
+	const plugins = [{
+		name: 'gen-dts',
+		setup(build) {
+			build.onStart(() => {
+				console.log(`[${_package.name}] detect changed...`);
+			});
+			build.onEnd(async result => {
+				if (result.errors.length > 0) {
+					console.error(`[${_package.name}] watch build failed:`, result);
+					return;
+				}
+				await buildDts();
+			});
+		},
+	}];
+
+	console.log(`[${_package.name}] start watching...`)
+
+	const context = await esbuild.context({ ...options, plugins });
+	await context.watch();
+
+	await new Promise((resolve, reject) => {
+		process.on('SIGHUP', resolve);
+		process.on('SIGINT', resolve);
+		process.on('SIGTERM', resolve);
+		process.on('SIGKILL', resolve);
+		process.on('uncaughtException', reject);
+		process.on('exit', resolve);
+	}).finally(async () => {
+		await context.dispose();
+		console.log(`[${_package.name}] finish watching.`);
+	});
+}
diff --git a/packages/misskey-bubble-game/package.json b/packages/misskey-bubble-game/package.json
index ddc4c2134b..a3aad147a9 100644
--- a/packages/misskey-bubble-game/package.json
+++ b/packages/misskey-bubble-game/package.json
@@ -2,24 +2,21 @@
 	"type": "module",
 	"name": "misskey-bubble-game",
 	"version": "0.0.1",
-	"types": "./built/dts/index.d.ts",
+	"main": "./built/index.js",
+	"types": "./built/index.d.ts",
 	"exports": {
 		".": {
-			"import": "./built/esm/index.js",
-			"types": "./built/dts/index.d.ts"
+			"import": "./built/index.js",
+			"types": "./built/index.d.ts"
 		},
 		"./*": {
-			"import": "./built/esm/*",
-			"types": "./built/dts/*"
+			"import": "./built/*",
+			"types": "./built/*"
 		}
 	},
 	"scripts": {
 		"build": "node ./build.js",
-		"build:tsc": "npm run tsc",
-		"tsc": "npm run tsc-esm && npm run tsc-dts",
-		"tsc-esm": "tsc --outDir built/esm",
-		"tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true",
-		"watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build:tsc\"",
+		"watch": "nodemon -w package.json -e json --exec \"node ./build.js --watch\"",
 		"eslint": "eslint . --ext .js,.jsx,.ts,.tsx",
 		"typecheck": "tsc --noEmit",
 		"lint": "pnpm typecheck && pnpm eslint"
@@ -27,21 +24,22 @@
 	"devDependencies": {
 		"@misskey-dev/eslint-plugin": "1.0.0",
 		"@types/matter-js": "0.19.6",
-		"@types/node": "20.11.5",
 		"@types/seedrandom": "3.0.8",
+		"@types/node": "20.11.5",
 		"@typescript-eslint/eslint-plugin": "7.1.0",
 		"@typescript-eslint/parser": "7.1.0",
 		"eslint": "8.57.0",
 		"nodemon": "3.0.2",
-		"typescript": "5.3.3"
+		"execa": "8.0.1",
+		"typescript": "5.3.3",
+		"esbuild": "0.19.11",
+		"glob": "10.3.10"
 	},
 	"files": [
 		"built"
 	],
 	"dependencies": {
-		"esbuild": "0.19.11",
 		"eventemitter3": "5.0.1",
-		"glob": "^10.3.10",
 		"matter-js": "0.19.0",
 		"seedrandom": "3.0.5"
 	}
diff --git a/packages/misskey-bubble-game/src/index.ts b/packages/misskey-bubble-game/src/index.ts
index 004a7d008e..c5f1f68062 100644
--- a/packages/misskey-bubble-game/src/index.ts
+++ b/packages/misskey-bubble-game/src/index.ts
@@ -6,5 +6,9 @@
 import { DropAndFusionGame, Mono } from './game.js';
 
 export {
-	DropAndFusionGame, Mono,
+	DropAndFusionGame,
+};
+
+export type {
+	Mono,
 };
diff --git a/packages/misskey-bubble-game/tsconfig.json b/packages/misskey-bubble-game/tsconfig.json
index f56b65e868..6e34e332e0 100644
--- a/packages/misskey-bubble-game/tsconfig.json
+++ b/packages/misskey-bubble-game/tsconfig.json
@@ -6,7 +6,7 @@
 		"moduleResolution": "nodenext",
 		"declaration": true,
 		"declarationMap": true,
-		"sourceMap": true,
+		"sourceMap": false,
 		"outDir": "./built/",
 		"removeComments": true,
 		"strict": true,
diff --git a/packages/misskey-js/.eslintignore b/packages/misskey-js/.eslintignore
index f22128f047..52ea8b3362 100644
--- a/packages/misskey-js/.eslintignore
+++ b/packages/misskey-js/.eslintignore
@@ -5,3 +5,4 @@ node_modules
 /jest.config.ts
 /test
 /test-d
+build.js
diff --git a/packages/misskey-js/api-extractor.json b/packages/misskey-js/api-extractor.json
index f80d0f20a8..a95281a6d5 100644
--- a/packages/misskey-js/api-extractor.json
+++ b/packages/misskey-js/api-extractor.json
@@ -45,7 +45,7 @@
    *
    * SUPPORTED TOKENS: <projectFolder>, <packageName>, <unscopedPackageName>
    */
-  "mainEntryPointFilePath": "<projectFolder>/built/dts/index.d.ts",
+  "mainEntryPointFilePath": "<projectFolder>/built/index.d.ts",
 
   /**
    * A list of NPM package names whose exports should be treated as part of this package.
diff --git a/packages/misskey-js/build.js b/packages/misskey-js/build.js
new file mode 100644
index 0000000000..0b79f4b915
--- /dev/null
+++ b/packages/misskey-js/build.js
@@ -0,0 +1,105 @@
+import * as esbuild from "esbuild";
+import { build } from "esbuild";
+import { globSync } from "glob";
+import { execa } from "execa";
+import fs from "node:fs";
+import { fileURLToPath } from "node:url";
+import { dirname } from "node:path";
+
+const _filename = fileURLToPath(import.meta.url);
+const _dirname = dirname(_filename);
+const _package = JSON.parse(fs.readFileSync(_dirname + '/package.json', 'utf-8'));
+
+const entryPoints = globSync("./src/**/**.{ts,tsx}");
+
+/** @type {import('esbuild').BuildOptions} */
+const options = {
+	entryPoints,
+	minify: process.env.NODE_ENV === 'production',
+	outdir: "./built",
+	target: "es2022",
+	platform: "browser",
+	format: "esm",
+	sourcemap: 'linked',
+};
+
+// built配下をすべて削除する
+fs.rmSync('./built', { recursive: true, force: true });
+
+if (process.argv.map(arg => arg.toLowerCase()).includes("--watch")) {
+	await watchSrc();
+} else {
+	await buildSrc();
+}
+
+async function buildSrc() {
+	console.log(`[${_package.name}] start building...`);
+
+	await build(options)
+		.then(it => {
+			console.log(`[${_package.name}] build succeeded.`);
+		})
+		.catch((err) => {
+			process.stderr.write(err.stderr);
+			process.exit(1);
+		});
+
+	if (process.env.NODE_ENV === 'production') {
+		console.log(`[${_package.name}] skip building d.ts because NODE_ENV is production.`);
+	} else {
+		await buildDts();
+	}
+
+	console.log(`[${_package.name}] finish building.`);
+}
+
+function buildDts() {
+	return execa(
+		'tsc',
+		[
+			'--project', 'tsconfig.json',
+			'--outDir', 'built',
+			'--declaration', 'true',
+			'--emitDeclarationOnly', 'true',
+		],
+		{
+			stdout: process.stdout,
+			stderr: process.stderr,
+		}
+	);
+}
+
+async function watchSrc() {
+	const plugins = [{
+		name: 'gen-dts',
+		setup(build) {
+			build.onStart(() => {
+				console.log(`[${_package.name}] detect changed...`);
+			});
+			build.onEnd(async result => {
+				if (result.errors.length > 0) {
+					console.error(`[${_package.name}] watch build failed:`, result);
+					return;
+				}
+				await buildDts();
+			});
+		},
+	}];
+
+	console.log(`[${_package.name}] start watching...`)
+
+	const context = await esbuild.context({ ...options, plugins });
+	await context.watch();
+
+	await new Promise((resolve, reject) => {
+		process.on('SIGHUP', resolve);
+		process.on('SIGINT', resolve);
+		process.on('SIGTERM', resolve);
+		process.on('SIGKILL', resolve);
+		process.on('uncaughtException', reject);
+		process.on('exit', resolve);
+	}).finally(async () => {
+		await context.dispose();
+		console.log(`[${_package.name}] finish watching.`);
+	});
+}
diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md
index b17776e8dd..3b8ff791fa 100644
--- a/packages/misskey-js/etc/misskey-js.api.md
+++ b/packages/misskey-js/etc/misskey-js.api.md
@@ -29,313 +29,313 @@ type Ad = components['schemas']['Ad'];
 // Warning: (ae-forgotten-export) The symbol "operations" needs to be exported by the entry point index.d.ts
 //
 // @public (undocumented)
-type AdminAbuseUserReportsRequest = operations['admin/abuse-user-reports']['requestBody']['content']['application/json'];
+type AdminAbuseUserReportsRequest = operations['admin___abuse-user-reports']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAbuseUserReportsResponse = operations['admin/abuse-user-reports']['responses']['200']['content']['application/json'];
+type AdminAbuseUserReportsResponse = operations['admin___abuse-user-reports']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAccountsCreateRequest = operations['admin/accounts/create']['requestBody']['content']['application/json'];
+type AdminAccountsCreateRequest = operations['admin___accounts___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAccountsCreateResponse = operations['admin/accounts/create']['responses']['200']['content']['application/json'];
+type AdminAccountsCreateResponse = operations['admin___accounts___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAccountsDeleteRequest = operations['admin/accounts/delete']['requestBody']['content']['application/json'];
+type AdminAccountsDeleteRequest = operations['admin___accounts___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAccountsFindByEmailRequest = operations['admin/accounts/find-by-email']['requestBody']['content']['application/json'];
+type AdminAccountsFindByEmailRequest = operations['admin___accounts___find-by-email']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAccountsFindByEmailResponse = operations['admin/accounts/find-by-email']['responses']['200']['content']['application/json'];
+type AdminAccountsFindByEmailResponse = operations['admin___accounts___find-by-email']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAdCreateRequest = operations['admin/ad/create']['requestBody']['content']['application/json'];
+type AdminAdCreateRequest = operations['admin___ad___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAdCreateResponse = operations['admin/ad/create']['responses']['200']['content']['application/json'];
+type AdminAdCreateResponse = operations['admin___ad___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAdDeleteRequest = operations['admin/ad/delete']['requestBody']['content']['application/json'];
+type AdminAdDeleteRequest = operations['admin___ad___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAdListRequest = operations['admin/ad/list']['requestBody']['content']['application/json'];
+type AdminAdListRequest = operations['admin___ad___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAdListResponse = operations['admin/ad/list']['responses']['200']['content']['application/json'];
+type AdminAdListResponse = operations['admin___ad___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAdUpdateRequest = operations['admin/ad/update']['requestBody']['content']['application/json'];
+type AdminAdUpdateRequest = operations['admin___ad___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAnnouncementsCreateRequest = operations['admin/announcements/create']['requestBody']['content']['application/json'];
+type AdminAnnouncementsCreateRequest = operations['admin___announcements___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAnnouncementsCreateResponse = operations['admin/announcements/create']['responses']['200']['content']['application/json'];
+type AdminAnnouncementsCreateResponse = operations['admin___announcements___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAnnouncementsDeleteRequest = operations['admin/announcements/delete']['requestBody']['content']['application/json'];
+type AdminAnnouncementsDeleteRequest = operations['admin___announcements___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAnnouncementsListRequest = operations['admin/announcements/list']['requestBody']['content']['application/json'];
+type AdminAnnouncementsListRequest = operations['admin___announcements___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAnnouncementsListResponse = operations['admin/announcements/list']['responses']['200']['content']['application/json'];
+type AdminAnnouncementsListResponse = operations['admin___announcements___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAnnouncementsUpdateRequest = operations['admin/announcements/update']['requestBody']['content']['application/json'];
+type AdminAnnouncementsUpdateRequest = operations['admin___announcements___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminApproveUserRequest = operations['admin/approve-user']['requestBody']['content']['application/json'];
+type AdminApproveUserRequest = operations['admin__approve-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAvatarDecorationsCreateRequest = operations['admin/avatar-decorations/create']['requestBody']['content']['application/json'];
+type AdminAvatarDecorationsCreateRequest = operations['admin___avatar-decorations___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAvatarDecorationsDeleteRequest = operations['admin/avatar-decorations/delete']['requestBody']['content']['application/json'];
+type AdminAvatarDecorationsDeleteRequest = operations['admin___avatar-decorations___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAvatarDecorationsListRequest = operations['admin/avatar-decorations/list']['requestBody']['content']['application/json'];
+type AdminAvatarDecorationsListRequest = operations['admin___avatar-decorations___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAvatarDecorationsListResponse = operations['admin/avatar-decorations/list']['responses']['200']['content']['application/json'];
+type AdminAvatarDecorationsListResponse = operations['admin___avatar-decorations___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminAvatarDecorationsUpdateRequest = operations['admin/avatar-decorations/update']['requestBody']['content']['application/json'];
+type AdminAvatarDecorationsUpdateRequest = operations['admin___avatar-decorations___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminDeleteAccountRequest = operations['admin/delete-account']['requestBody']['content']['application/json'];
+type AdminDeleteAccountRequest = operations['admin___delete-account']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminDeleteAllFilesOfAUserRequest = operations['admin/delete-all-files-of-a-user']['requestBody']['content']['application/json'];
+type AdminDeleteAllFilesOfAUserRequest = operations['admin___delete-all-files-of-a-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminDriveFilesRequest = operations['admin/drive/files']['requestBody']['content']['application/json'];
+type AdminDriveFilesRequest = operations['admin___drive___files']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminDriveFilesResponse = operations['admin/drive/files']['responses']['200']['content']['application/json'];
+type AdminDriveFilesResponse = operations['admin___drive___files']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminDriveShowFileRequest = operations['admin/drive/show-file']['requestBody']['content']['application/json'];
+type AdminDriveShowFileRequest = operations['admin___drive___show-file']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminDriveShowFileResponse = operations['admin/drive/show-file']['responses']['200']['content']['application/json'];
+type AdminDriveShowFileResponse = operations['admin___drive___show-file']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiAddAliasesBulkRequest = operations['admin/emoji/add-aliases-bulk']['requestBody']['content']['application/json'];
+type AdminEmojiAddAliasesBulkRequest = operations['admin___emoji___add-aliases-bulk']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiAddRequest = operations['admin/emoji/add']['requestBody']['content']['application/json'];
+type AdminEmojiAddRequest = operations['admin___emoji___add']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiAddResponse = operations['admin/emoji/add']['responses']['200']['content']['application/json'];
+type AdminEmojiAddResponse = operations['admin___emoji___add']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiCopyRequest = operations['admin/emoji/copy']['requestBody']['content']['application/json'];
+type AdminEmojiCopyRequest = operations['admin___emoji___copy']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiCopyResponse = operations['admin/emoji/copy']['responses']['200']['content']['application/json'];
+type AdminEmojiCopyResponse = operations['admin___emoji___copy']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiDeleteBulkRequest = operations['admin/emoji/delete-bulk']['requestBody']['content']['application/json'];
+type AdminEmojiDeleteBulkRequest = operations['admin___emoji___delete-bulk']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiDeleteRequest = operations['admin/emoji/delete']['requestBody']['content']['application/json'];
+type AdminEmojiDeleteRequest = operations['admin___emoji___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiImportZipRequest = operations['admin/emoji/import-zip']['requestBody']['content']['application/json'];
+type AdminEmojiImportZipRequest = operations['admin___emoji___import-zip']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiListRemoteRequest = operations['admin/emoji/list-remote']['requestBody']['content']['application/json'];
+type AdminEmojiListRemoteRequest = operations['admin___emoji___list-remote']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiListRemoteResponse = operations['admin/emoji/list-remote']['responses']['200']['content']['application/json'];
+type AdminEmojiListRemoteResponse = operations['admin___emoji___list-remote']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiListRequest = operations['admin/emoji/list']['requestBody']['content']['application/json'];
+type AdminEmojiListRequest = operations['admin___emoji___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiListResponse = operations['admin/emoji/list']['responses']['200']['content']['application/json'];
+type AdminEmojiListResponse = operations['admin___emoji___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiRemoveAliasesBulkRequest = operations['admin/emoji/remove-aliases-bulk']['requestBody']['content']['application/json'];
+type AdminEmojiRemoveAliasesBulkRequest = operations['admin___emoji___remove-aliases-bulk']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiSetAliasesBulkRequest = operations['admin/emoji/set-aliases-bulk']['requestBody']['content']['application/json'];
+type AdminEmojiSetAliasesBulkRequest = operations['admin___emoji___set-aliases-bulk']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiSetCategoryBulkRequest = operations['admin/emoji/set-category-bulk']['requestBody']['content']['application/json'];
+type AdminEmojiSetCategoryBulkRequest = operations['admin___emoji___set-category-bulk']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiSetLicenseBulkRequest = operations['admin/emoji/set-license-bulk']['requestBody']['content']['application/json'];
+type AdminEmojiSetLicenseBulkRequest = operations['admin___emoji___set-license-bulk']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminEmojiUpdateRequest = operations['admin/emoji/update']['requestBody']['content']['application/json'];
+type AdminEmojiUpdateRequest = operations['admin___emoji___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminFederationDeleteAllFilesRequest = operations['admin/federation/delete-all-files']['requestBody']['content']['application/json'];
+type AdminFederationDeleteAllFilesRequest = operations['admin___federation___delete-all-files']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminFederationRefreshRemoteInstanceMetadataRequest = operations['admin/federation/refresh-remote-instance-metadata']['requestBody']['content']['application/json'];
+type AdminFederationRefreshRemoteInstanceMetadataRequest = operations['admin___federation___refresh-remote-instance-metadata']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminFederationRemoveAllFollowingRequest = operations['admin/federation/remove-all-following']['requestBody']['content']['application/json'];
+type AdminFederationRemoveAllFollowingRequest = operations['admin___federation___remove-all-following']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminFederationUpdateInstanceRequest = operations['admin/federation/update-instance']['requestBody']['content']['application/json'];
+type AdminFederationUpdateInstanceRequest = operations['admin___federation___update-instance']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminGetIndexStatsResponse = operations['admin/get-index-stats']['responses']['200']['content']['application/json'];
+type AdminGetIndexStatsResponse = operations['admin___get-index-stats']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminGetTableStatsResponse = operations['admin/get-table-stats']['responses']['200']['content']['application/json'];
+type AdminGetTableStatsResponse = operations['admin___get-table-stats']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminGetUserIpsRequest = operations['admin/get-user-ips']['requestBody']['content']['application/json'];
+type AdminGetUserIpsRequest = operations['admin___get-user-ips']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminGetUserIpsResponse = operations['admin/get-user-ips']['responses']['200']['content']['application/json'];
+type AdminGetUserIpsResponse = operations['admin___get-user-ips']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminInviteCreateRequest = operations['admin/invite/create']['requestBody']['content']['application/json'];
+type AdminInviteCreateRequest = operations['admin___invite___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminInviteCreateResponse = operations['admin/invite/create']['responses']['200']['content']['application/json'];
+type AdminInviteCreateResponse = operations['admin___invite___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminInviteListRequest = operations['admin/invite/list']['requestBody']['content']['application/json'];
+type AdminInviteListRequest = operations['admin___invite___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminInviteListResponse = operations['admin/invite/list']['responses']['200']['content']['application/json'];
+type AdminInviteListResponse = operations['admin___invite___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminMetaResponse = operations['admin/meta']['responses']['200']['content']['application/json'];
+type AdminMetaResponse = operations['admin___meta']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminNsfwUserRequest = operations['admin/nsfw-user']['requestBody']['content']['application/json'];
+type AdminNsfwUserRequest = operations['admin__nsfw-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminPromoCreateRequest = operations['admin/promo/create']['requestBody']['content']['application/json'];
+type AdminPromoCreateRequest = operations['admin___promo___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminQueueDeliverDelayedResponse = operations['admin/queue/deliver-delayed']['responses']['200']['content']['application/json'];
+type AdminQueueDeliverDelayedResponse = operations['admin___queue___deliver-delayed']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminQueueInboxDelayedResponse = operations['admin/queue/inbox-delayed']['responses']['200']['content']['application/json'];
+type AdminQueueInboxDelayedResponse = operations['admin___queue___inbox-delayed']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminQueuePromoteRequest = operations['admin/queue/promote']['requestBody']['content']['application/json'];
+type AdminQueuePromoteRequest = operations['admin___queue___promote']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminQueueStatsResponse = operations['admin/queue/stats']['responses']['200']['content']['application/json'];
+type AdminQueueStatsResponse = operations['admin___queue___stats']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRelaysAddRequest = operations['admin/relays/add']['requestBody']['content']['application/json'];
+type AdminRelaysAddRequest = operations['admin___relays___add']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRelaysAddResponse = operations['admin/relays/add']['responses']['200']['content']['application/json'];
+type AdminRelaysAddResponse = operations['admin___relays___add']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRelaysListResponse = operations['admin/relays/list']['responses']['200']['content']['application/json'];
+type AdminRelaysListResponse = operations['admin___relays___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRelaysRemoveRequest = operations['admin/relays/remove']['requestBody']['content']['application/json'];
+type AdminRelaysRemoveRequest = operations['admin___relays___remove']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminResetPasswordRequest = operations['admin/reset-password']['requestBody']['content']['application/json'];
+type AdminResetPasswordRequest = operations['admin___reset-password']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminResetPasswordResponse = operations['admin/reset-password']['responses']['200']['content']['application/json'];
+type AdminResetPasswordResponse = operations['admin___reset-password']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminResolveAbuseUserReportRequest = operations['admin/resolve-abuse-user-report']['requestBody']['content']['application/json'];
+type AdminResolveAbuseUserReportRequest = operations['admin___resolve-abuse-user-report']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesAssignRequest = operations['admin/roles/assign']['requestBody']['content']['application/json'];
+type AdminRolesAssignRequest = operations['admin___roles___assign']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesCreateRequest = operations['admin/roles/create']['requestBody']['content']['application/json'];
+type AdminRolesCreateRequest = operations['admin___roles___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesCreateResponse = operations['admin/roles/create']['responses']['200']['content']['application/json'];
+type AdminRolesCreateResponse = operations['admin___roles___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesDeleteRequest = operations['admin/roles/delete']['requestBody']['content']['application/json'];
+type AdminRolesDeleteRequest = operations['admin___roles___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesListResponse = operations['admin/roles/list']['responses']['200']['content']['application/json'];
+type AdminRolesListResponse = operations['admin___roles___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesShowRequest = operations['admin/roles/show']['requestBody']['content']['application/json'];
+type AdminRolesShowRequest = operations['admin___roles___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesShowResponse = operations['admin/roles/show']['responses']['200']['content']['application/json'];
+type AdminRolesShowResponse = operations['admin___roles___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesUnassignRequest = operations['admin/roles/unassign']['requestBody']['content']['application/json'];
+type AdminRolesUnassignRequest = operations['admin___roles___unassign']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesUpdateDefaultPoliciesRequest = operations['admin/roles/update-default-policies']['requestBody']['content']['application/json'];
+type AdminRolesUpdateDefaultPoliciesRequest = operations['admin___roles___update-default-policies']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesUpdateRequest = operations['admin/roles/update']['requestBody']['content']['application/json'];
+type AdminRolesUpdateRequest = operations['admin___roles___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesUsersRequest = operations['admin/roles/users']['requestBody']['content']['application/json'];
+type AdminRolesUsersRequest = operations['admin___roles___users']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminRolesUsersResponse = operations['admin/roles/users']['responses']['200']['content']['application/json'];
+type AdminRolesUsersResponse = operations['admin___roles___users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminSendEmailRequest = operations['admin/send-email']['requestBody']['content']['application/json'];
+type AdminSendEmailRequest = operations['admin___send-email']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminServerInfoResponse = operations['admin/server-info']['responses']['200']['content']['application/json'];
+type AdminServerInfoResponse = operations['admin___server-info']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminShowModerationLogsRequest = operations['admin/show-moderation-logs']['requestBody']['content']['application/json'];
+type AdminShowModerationLogsRequest = operations['admin___show-moderation-logs']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminShowModerationLogsResponse = operations['admin/show-moderation-logs']['responses']['200']['content']['application/json'];
+type AdminShowModerationLogsResponse = operations['admin___show-moderation-logs']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminShowUserRequest = operations['admin/show-user']['requestBody']['content']['application/json'];
+type AdminShowUserRequest = operations['admin___show-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminShowUserResponse = operations['admin/show-user']['responses']['200']['content']['application/json'];
+type AdminShowUserResponse = operations['admin___show-user']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminShowUsersRequest = operations['admin/show-users']['requestBody']['content']['application/json'];
+type AdminShowUsersRequest = operations['admin___show-users']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminShowUsersResponse = operations['admin/show-users']['responses']['200']['content']['application/json'];
+type AdminShowUsersResponse = operations['admin___show-users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AdminSilenceUserRequest = operations['admin/silence-user']['requestBody']['content']['application/json'];
+type AdminSilenceUserRequest = operations['admin__silence-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminSuspendUserRequest = operations['admin/suspend-user']['requestBody']['content']['application/json'];
+type AdminSuspendUserRequest = operations['admin___suspend-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminUnnsfwUserRequest = operations['admin/unnsfw-user']['requestBody']['content']['application/json'];
+type AdminUnnsfwUserRequest = operations['admin__unnsfw-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminUnsetUserAvatarRequest = operations['admin/unset-user-avatar']['requestBody']['content']['application/json'];
+type AdminUnsetUserAvatarRequest = operations['admin___unset-user-avatar']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminUnsetUserBannerRequest = operations['admin/unset-user-banner']['requestBody']['content']['application/json'];
+type AdminUnsetUserBannerRequest = operations['admin___unset-user-banner']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminUnsilenceUserRequest = operations['admin/unsilence-user']['requestBody']['content']['application/json'];
+type AdminUnsilenceUserRequest = operations['admin__unsilence-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminUnsuspendUserRequest = operations['admin/unsuspend-user']['requestBody']['content']['application/json'];
+type AdminUnsuspendUserRequest = operations['admin___unsuspend-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminUpdateMetaRequest = operations['admin/update-meta']['requestBody']['content']['application/json'];
+type AdminUpdateMetaRequest = operations['admin___update-meta']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AdminUpdateUserNoteRequest = operations['admin/update-user-note']['requestBody']['content']['application/json'];
+type AdminUpdateUserNoteRequest = operations['admin___update-user-note']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type Announcement = components['schemas']['Announcement'];
@@ -355,40 +355,40 @@ type AnnouncementsResponse = operations['announcements']['responses']['200']['co
 type Antenna = components['schemas']['Antenna'];
 
 // @public (undocumented)
-type AntennasCreateRequest = operations['antennas/create']['requestBody']['content']['application/json'];
+type AntennasCreateRequest = operations['antennas___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasCreateResponse = operations['antennas/create']['responses']['200']['content']['application/json'];
+type AntennasCreateResponse = operations['antennas___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasDeleteRequest = operations['antennas/delete']['requestBody']['content']['application/json'];
+type AntennasDeleteRequest = operations['antennas___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasListResponse = operations['antennas/list']['responses']['200']['content']['application/json'];
+type AntennasListResponse = operations['antennas___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasNotesRequest = operations['antennas/notes']['requestBody']['content']['application/json'];
+type AntennasNotesRequest = operations['antennas___notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasNotesResponse = operations['antennas/notes']['responses']['200']['content']['application/json'];
+type AntennasNotesResponse = operations['antennas___notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasShowRequest = operations['antennas/show']['requestBody']['content']['application/json'];
+type AntennasShowRequest = operations['antennas___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasShowResponse = operations['antennas/show']['responses']['200']['content']['application/json'];
+type AntennasShowResponse = operations['antennas___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasUpdateRequest = operations['antennas/update']['requestBody']['content']['application/json'];
+type AntennasUpdateRequest = operations['antennas___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AntennasUpdateResponse = operations['antennas/update']['responses']['200']['content']['application/json'];
+type AntennasUpdateResponse = operations['antennas___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ApGetRequest = operations['ap/get']['requestBody']['content']['application/json'];
+type ApGetRequest = operations['ap___get']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ApGetResponse = operations['ap/get']['responses']['200']['content']['application/json'];
+type ApGetResponse = operations['ap___get']['responses']['200']['content']['application/json'];
 
 declare namespace api {
     export {
@@ -429,73 +429,73 @@ type APIError = {
 type App = components['schemas']['App'];
 
 // @public (undocumented)
-type AppCreateRequest = operations['app/create']['requestBody']['content']['application/json'];
+type AppCreateRequest = operations['app___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AppCreateResponse = operations['app/create']['responses']['200']['content']['application/json'];
+type AppCreateResponse = operations['app___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AppShowRequest = operations['app/show']['requestBody']['content']['application/json'];
+type AppShowRequest = operations['app___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AppShowResponse = operations['app/show']['responses']['200']['content']['application/json'];
+type AppShowResponse = operations['app___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ApShowRequest = operations['ap/show']['requestBody']['content']['application/json'];
+type ApShowRequest = operations['ap___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ApShowResponse = operations['ap/show']['responses']['200']['content']['application/json'];
+type ApShowResponse = operations['ap___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AuthAcceptRequest = operations['auth/accept']['requestBody']['content']['application/json'];
+type AuthAcceptRequest = operations['auth___accept']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AuthSessionGenerateRequest = operations['auth/session/generate']['requestBody']['content']['application/json'];
+type AuthSessionGenerateRequest = operations['auth___session___generate']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AuthSessionGenerateResponse = operations['auth/session/generate']['responses']['200']['content']['application/json'];
+type AuthSessionGenerateResponse = operations['auth___session___generate']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AuthSessionShowRequest = operations['auth/session/show']['requestBody']['content']['application/json'];
+type AuthSessionShowRequest = operations['auth___session___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AuthSessionShowResponse = operations['auth/session/show']['responses']['200']['content']['application/json'];
+type AuthSessionShowResponse = operations['auth___session___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type AuthSessionUserkeyRequest = operations['auth/session/userkey']['requestBody']['content']['application/json'];
+type AuthSessionUserkeyRequest = operations['auth___session___userkey']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type AuthSessionUserkeyResponse = operations['auth/session/userkey']['responses']['200']['content']['application/json'];
+type AuthSessionUserkeyResponse = operations['auth___session___userkey']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type Blocking = components['schemas']['Blocking'];
 
 // @public (undocumented)
-type BlockingCreateRequest = operations['blocking/create']['requestBody']['content']['application/json'];
+type BlockingCreateRequest = operations['blocking___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type BlockingCreateResponse = operations['blocking/create']['responses']['200']['content']['application/json'];
+type BlockingCreateResponse = operations['blocking___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type BlockingDeleteRequest = operations['blocking/delete']['requestBody']['content']['application/json'];
+type BlockingDeleteRequest = operations['blocking___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type BlockingDeleteResponse = operations['blocking/delete']['responses']['200']['content']['application/json'];
+type BlockingDeleteResponse = operations['blocking___delete']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type BlockingListRequest = operations['blocking/list']['requestBody']['content']['application/json'];
+type BlockingListRequest = operations['blocking___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type BlockingListResponse = operations['blocking/list']['responses']['200']['content']['application/json'];
+type BlockingListResponse = operations['blocking___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type BubbleGameRankingRequest = operations['bubble-game/ranking']['requestBody']['content']['application/json'];
+type BubbleGameRankingRequest = operations['bubble-game___ranking']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type BubbleGameRankingResponse = operations['bubble-game/ranking']['responses']['200']['content']['application/json'];
+type BubbleGameRankingResponse = operations['bubble-game___ranking']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type BubbleGameRegisterRequest = operations['bubble-game/register']['requestBody']['content']['application/json'];
+type BubbleGameRegisterRequest = operations['bubble-game___register']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type Channel = components['schemas']['Channel'];
@@ -763,184 +763,184 @@ export type Channels = {
 };
 
 // @public (undocumented)
-type ChannelsCreateRequest = operations['channels/create']['requestBody']['content']['application/json'];
+type ChannelsCreateRequest = operations['channels___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsCreateResponse = operations['channels/create']['responses']['200']['content']['application/json'];
+type ChannelsCreateResponse = operations['channels___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsFavoriteRequest = operations['channels/favorite']['requestBody']['content']['application/json'];
+type ChannelsFavoriteRequest = operations['channels___favorite']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsFeaturedResponse = operations['channels/featured']['responses']['200']['content']['application/json'];
+type ChannelsFeaturedResponse = operations['channels___featured']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsFollowedRequest = operations['channels/followed']['requestBody']['content']['application/json'];
+type ChannelsFollowedRequest = operations['channels___followed']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsFollowedResponse = operations['channels/followed']['responses']['200']['content']['application/json'];
+type ChannelsFollowedResponse = operations['channels___followed']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsFollowRequest = operations['channels/follow']['requestBody']['content']['application/json'];
+type ChannelsFollowRequest = operations['channels___follow']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsMyFavoritesResponse = operations['channels/my-favorites']['responses']['200']['content']['application/json'];
+type ChannelsMyFavoritesResponse = operations['channels___my-favorites']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsOwnedRequest = operations['channels/owned']['requestBody']['content']['application/json'];
+type ChannelsOwnedRequest = operations['channels___owned']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsOwnedResponse = operations['channels/owned']['responses']['200']['content']['application/json'];
+type ChannelsOwnedResponse = operations['channels___owned']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsSearchRequest = operations['channels/search']['requestBody']['content']['application/json'];
+type ChannelsSearchRequest = operations['channels___search']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsSearchResponse = operations['channels/search']['responses']['200']['content']['application/json'];
+type ChannelsSearchResponse = operations['channels___search']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsShowRequest = operations['channels/show']['requestBody']['content']['application/json'];
+type ChannelsShowRequest = operations['channels___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsShowResponse = operations['channels/show']['responses']['200']['content']['application/json'];
+type ChannelsShowResponse = operations['channels___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsTimelineRequest = operations['channels/timeline']['requestBody']['content']['application/json'];
+type ChannelsTimelineRequest = operations['channels___timeline']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsTimelineResponse = operations['channels/timeline']['responses']['200']['content']['application/json'];
+type ChannelsTimelineResponse = operations['channels___timeline']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsUnfavoriteRequest = operations['channels/unfavorite']['requestBody']['content']['application/json'];
+type ChannelsUnfavoriteRequest = operations['channels___unfavorite']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsUnfollowRequest = operations['channels/unfollow']['requestBody']['content']['application/json'];
+type ChannelsUnfollowRequest = operations['channels___unfollow']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsUpdateRequest = operations['channels/update']['requestBody']['content']['application/json'];
+type ChannelsUpdateRequest = operations['channels___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChannelsUpdateResponse = operations['channels/update']['responses']['200']['content']['application/json'];
+type ChannelsUpdateResponse = operations['channels___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsActiveUsersRequest = operations['charts/active-users']['requestBody']['content']['application/json'];
+type ChartsActiveUsersRequest = operations['charts___active-users']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsActiveUsersResponse = operations['charts/active-users']['responses']['200']['content']['application/json'];
+type ChartsActiveUsersResponse = operations['charts___active-users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsApRequestRequest = operations['charts/ap-request']['requestBody']['content']['application/json'];
+type ChartsApRequestRequest = operations['charts___ap-request']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsApRequestResponse = operations['charts/ap-request']['responses']['200']['content']['application/json'];
+type ChartsApRequestResponse = operations['charts___ap-request']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsDriveRequest = operations['charts/drive']['requestBody']['content']['application/json'];
+type ChartsDriveRequest = operations['charts___drive']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsDriveResponse = operations['charts/drive']['responses']['200']['content']['application/json'];
+type ChartsDriveResponse = operations['charts___drive']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsFederationRequest = operations['charts/federation']['requestBody']['content']['application/json'];
+type ChartsFederationRequest = operations['charts___federation']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsFederationResponse = operations['charts/federation']['responses']['200']['content']['application/json'];
+type ChartsFederationResponse = operations['charts___federation']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsInstanceRequest = operations['charts/instance']['requestBody']['content']['application/json'];
+type ChartsInstanceRequest = operations['charts___instance']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsInstanceResponse = operations['charts/instance']['responses']['200']['content']['application/json'];
+type ChartsInstanceResponse = operations['charts___instance']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsNotesRequest = operations['charts/notes']['requestBody']['content']['application/json'];
+type ChartsNotesRequest = operations['charts___notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsNotesResponse = operations['charts/notes']['responses']['200']['content']['application/json'];
+type ChartsNotesResponse = operations['charts___notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserDriveRequest = operations['charts/user/drive']['requestBody']['content']['application/json'];
+type ChartsUserDriveRequest = operations['charts___user___drive']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserDriveResponse = operations['charts/user/drive']['responses']['200']['content']['application/json'];
+type ChartsUserDriveResponse = operations['charts___user___drive']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserFollowingRequest = operations['charts/user/following']['requestBody']['content']['application/json'];
+type ChartsUserFollowingRequest = operations['charts___user___following']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserFollowingResponse = operations['charts/user/following']['responses']['200']['content']['application/json'];
+type ChartsUserFollowingResponse = operations['charts___user___following']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserNotesRequest = operations['charts/user/notes']['requestBody']['content']['application/json'];
+type ChartsUserNotesRequest = operations['charts___user___notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserNotesResponse = operations['charts/user/notes']['responses']['200']['content']['application/json'];
+type ChartsUserNotesResponse = operations['charts___user___notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserPvRequest = operations['charts/user/pv']['requestBody']['content']['application/json'];
+type ChartsUserPvRequest = operations['charts___user___pv']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserPvResponse = operations['charts/user/pv']['responses']['200']['content']['application/json'];
+type ChartsUserPvResponse = operations['charts___user___pv']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserReactionsRequest = operations['charts/user/reactions']['requestBody']['content']['application/json'];
+type ChartsUserReactionsRequest = operations['charts___user___reactions']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUserReactionsResponse = operations['charts/user/reactions']['responses']['200']['content']['application/json'];
+type ChartsUserReactionsResponse = operations['charts___user___reactions']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUsersRequest = operations['charts/users']['requestBody']['content']['application/json'];
+type ChartsUsersRequest = operations['charts___users']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ChartsUsersResponse = operations['charts/users']['responses']['200']['content']['application/json'];
+type ChartsUsersResponse = operations['charts___users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type Clip = components['schemas']['Clip'];
 
 // @public (undocumented)
-type ClipsAddNoteRequest = operations['clips/add-note']['requestBody']['content']['application/json'];
+type ClipsAddNoteRequest = operations['clips___add-note']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsCreateRequest = operations['clips/create']['requestBody']['content']['application/json'];
+type ClipsCreateRequest = operations['clips___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsCreateResponse = operations['clips/create']['responses']['200']['content']['application/json'];
+type ClipsCreateResponse = operations['clips___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsDeleteRequest = operations['clips/delete']['requestBody']['content']['application/json'];
+type ClipsDeleteRequest = operations['clips___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsFavoriteRequest = operations['clips/favorite']['requestBody']['content']['application/json'];
+type ClipsFavoriteRequest = operations['clips___favorite']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsListResponse = operations['clips/list']['responses']['200']['content']['application/json'];
+type ClipsListResponse = operations['clips___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsMyFavoritesResponse = operations['clips/my-favorites']['responses']['200']['content']['application/json'];
+type ClipsMyFavoritesResponse = operations['clips___my-favorites']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsNotesRequest = operations['clips/notes']['requestBody']['content']['application/json'];
+type ClipsNotesRequest = operations['clips___notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsNotesResponse = operations['clips/notes']['responses']['200']['content']['application/json'];
+type ClipsNotesResponse = operations['clips___notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsRemoveNoteRequest = operations['clips/remove-note']['requestBody']['content']['application/json'];
+type ClipsRemoveNoteRequest = operations['clips___remove-note']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsShowRequest = operations['clips/show']['requestBody']['content']['application/json'];
+type ClipsShowRequest = operations['clips___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsShowResponse = operations['clips/show']['responses']['200']['content']['application/json'];
+type ClipsShowResponse = operations['clips___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsUnfavoriteRequest = operations['clips/unfavorite']['requestBody']['content']['application/json'];
+type ClipsUnfavoriteRequest = operations['clips___unfavorite']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsUpdateRequest = operations['clips/update']['requestBody']['content']['application/json'];
+type ClipsUpdateRequest = operations['clips___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ClipsUpdateResponse = operations['clips/update']['responses']['200']['content']['application/json'];
+type ClipsUpdateResponse = operations['clips___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type DateString = string;
@@ -949,109 +949,109 @@ type DateString = string;
 type DriveFile = components['schemas']['DriveFile'];
 
 // @public (undocumented)
-type DriveFilesAttachedNotesRequest = operations['drive/files/attached-notes']['requestBody']['content']['application/json'];
+type DriveFilesAttachedNotesRequest = operations['drive___files___attached-notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesAttachedNotesResponse = operations['drive/files/attached-notes']['responses']['200']['content']['application/json'];
+type DriveFilesAttachedNotesResponse = operations['drive___files___attached-notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesCheckExistenceRequest = operations['drive/files/check-existence']['requestBody']['content']['application/json'];
+type DriveFilesCheckExistenceRequest = operations['drive___files___check-existence']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesCheckExistenceResponse = operations['drive/files/check-existence']['responses']['200']['content']['application/json'];
+type DriveFilesCheckExistenceResponse = operations['drive___files___check-existence']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesCreateRequest = operations['drive/files/create']['requestBody']['content']['multipart/form-data'];
+type DriveFilesCreateRequest = operations['drive___files___create']['requestBody']['content']['multipart/form-data'];
 
 // @public (undocumented)
-type DriveFilesCreateResponse = operations['drive/files/create']['responses']['200']['content']['application/json'];
+type DriveFilesCreateResponse = operations['drive___files___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesDeleteRequest = operations['drive/files/delete']['requestBody']['content']['application/json'];
+type DriveFilesDeleteRequest = operations['drive___files___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesFindByHashRequest = operations['drive/files/find-by-hash']['requestBody']['content']['application/json'];
+type DriveFilesFindByHashRequest = operations['drive___files___find-by-hash']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesFindByHashResponse = operations['drive/files/find-by-hash']['responses']['200']['content']['application/json'];
+type DriveFilesFindByHashResponse = operations['drive___files___find-by-hash']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesFindRequest = operations['drive/files/find']['requestBody']['content']['application/json'];
+type DriveFilesFindRequest = operations['drive___files___find']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesFindResponse = operations['drive/files/find']['responses']['200']['content']['application/json'];
+type DriveFilesFindResponse = operations['drive___files___find']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesRequest = operations['drive/files']['requestBody']['content']['application/json'];
+type DriveFilesRequest = operations['drive___files']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesResponse = operations['drive/files']['responses']['200']['content']['application/json'];
+type DriveFilesResponse = operations['drive___files']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesShowRequest = operations['drive/files/show']['requestBody']['content']['application/json'];
+type DriveFilesShowRequest = operations['drive___files___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesShowResponse = operations['drive/files/show']['responses']['200']['content']['application/json'];
+type DriveFilesShowResponse = operations['drive___files___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesUpdateRequest = operations['drive/files/update']['requestBody']['content']['application/json'];
+type DriveFilesUpdateRequest = operations['drive___files___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesUpdateResponse = operations['drive/files/update']['responses']['200']['content']['application/json'];
+type DriveFilesUpdateResponse = operations['drive___files___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFilesUploadFromUrlRequest = operations['drive/files/upload-from-url']['requestBody']['content']['application/json'];
+type DriveFilesUploadFromUrlRequest = operations['drive___files___upload-from-url']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type DriveFolder = components['schemas']['DriveFolder'];
 
 // @public (undocumented)
-type DriveFoldersCreateRequest = operations['drive/folders/create']['requestBody']['content']['application/json'];
+type DriveFoldersCreateRequest = operations['drive___folders___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersCreateResponse = operations['drive/folders/create']['responses']['200']['content']['application/json'];
+type DriveFoldersCreateResponse = operations['drive___folders___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersDeleteRequest = operations['drive/folders/delete']['requestBody']['content']['application/json'];
+type DriveFoldersDeleteRequest = operations['drive___folders___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersFindRequest = operations['drive/folders/find']['requestBody']['content']['application/json'];
+type DriveFoldersFindRequest = operations['drive___folders___find']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersFindResponse = operations['drive/folders/find']['responses']['200']['content']['application/json'];
+type DriveFoldersFindResponse = operations['drive___folders___find']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersRequest = operations['drive/folders']['requestBody']['content']['application/json'];
+type DriveFoldersRequest = operations['drive___folders']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersResponse = operations['drive/folders']['responses']['200']['content']['application/json'];
+type DriveFoldersResponse = operations['drive___folders']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersShowRequest = operations['drive/folders/show']['requestBody']['content']['application/json'];
+type DriveFoldersShowRequest = operations['drive___folders___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersShowResponse = operations['drive/folders/show']['responses']['200']['content']['application/json'];
+type DriveFoldersShowResponse = operations['drive___folders___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersUpdateRequest = operations['drive/folders/update']['requestBody']['content']['application/json'];
+type DriveFoldersUpdateRequest = operations['drive___folders___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveFoldersUpdateResponse = operations['drive/folders/update']['responses']['200']['content']['application/json'];
+type DriveFoldersUpdateResponse = operations['drive___folders___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type DriveResponse = operations['drive']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type DriveStreamRequest = operations['drive/stream']['requestBody']['content']['application/json'];
+type DriveStreamRequest = operations['drive___stream']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type DriveStreamResponse = operations['drive/stream']['responses']['200']['content']['application/json'];
+type DriveStreamResponse = operations['drive___stream']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type EmailAddressAvailableRequest = operations['email-address/available']['requestBody']['content']['application/json'];
+type EmailAddressAvailableRequest = operations['email-address___available']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type EmailAddressAvailableResponse = operations['email-address/available']['responses']['200']['content']['application/json'];
+type EmailAddressAvailableResponse = operations['email-address___available']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type EmojiAdded = {
@@ -1779,46 +1779,46 @@ export { entities }
 type Error_2 = components['schemas']['Error'];
 
 // @public (undocumented)
-type FederationFollowersRequest = operations['federation/followers']['requestBody']['content']['application/json'];
+type FederationFollowersRequest = operations['federation___followers']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FederationFollowersResponse = operations['federation/followers']['responses']['200']['content']['application/json'];
+type FederationFollowersResponse = operations['federation___followers']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FederationFollowingRequest = operations['federation/following']['requestBody']['content']['application/json'];
+type FederationFollowingRequest = operations['federation___following']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FederationFollowingResponse = operations['federation/following']['responses']['200']['content']['application/json'];
+type FederationFollowingResponse = operations['federation___following']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type FederationInstance = components['schemas']['FederationInstance'];
 
 // @public (undocumented)
-type FederationInstancesRequest = operations['federation/instances']['requestBody']['content']['application/json'];
+type FederationInstancesRequest = operations['federation___instances']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FederationInstancesResponse = operations['federation/instances']['responses']['200']['content']['application/json'];
+type FederationInstancesResponse = operations['federation___instances']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FederationShowInstanceRequest = operations['federation/show-instance']['requestBody']['content']['application/json'];
+type FederationShowInstanceRequest = operations['federation___show-instance']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FederationShowInstanceResponse = operations['federation/show-instance']['responses']['200']['content']['application/json'];
+type FederationShowInstanceResponse = operations['federation___show-instance']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FederationStatsRequest = operations['federation/stats']['requestBody']['content']['application/json'];
+type FederationStatsRequest = operations['federation___stats']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FederationStatsResponse = operations['federation/stats']['responses']['200']['content']['application/json'];
+type FederationStatsResponse = operations['federation___stats']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FederationUpdateRemoteUserRequest = operations['federation/update-remote-user']['requestBody']['content']['application/json'];
+type FederationUpdateRemoteUserRequest = operations['federation___update-remote-user']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FederationUsersRequest = operations['federation/users']['requestBody']['content']['application/json'];
+type FederationUsersRequest = operations['federation___users']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FederationUsersResponse = operations['federation/users']['responses']['200']['content']['application/json'];
+type FederationUsersResponse = operations['federation___users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type FetchExternalResourcesRequest = operations['fetch-external-resources']['requestBody']['content']['application/json'];
@@ -1850,43 +1850,43 @@ type FetchRssResponse = operations['fetch-rss']['responses']['200']['content']['
 type Flash = components['schemas']['Flash'];
 
 // @public (undocumented)
-type FlashCreateRequest = operations['flash/create']['requestBody']['content']['application/json'];
+type FlashCreateRequest = operations['flash___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FlashCreateResponse = operations['flash/create']['responses']['200']['content']['application/json'];
+type FlashCreateResponse = operations['flash___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FlashDeleteRequest = operations['flash/delete']['requestBody']['content']['application/json'];
+type FlashDeleteRequest = operations['flash___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FlashFeaturedResponse = operations['flash/featured']['responses']['200']['content']['application/json'];
+type FlashFeaturedResponse = operations['flash___featured']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FlashLikeRequest = operations['flash/like']['requestBody']['content']['application/json'];
+type FlashLikeRequest = operations['flash___like']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FlashMyLikesRequest = operations['flash/my-likes']['requestBody']['content']['application/json'];
+type FlashMyLikesRequest = operations['flash___my-likes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FlashMyLikesResponse = operations['flash/my-likes']['responses']['200']['content']['application/json'];
+type FlashMyLikesResponse = operations['flash___my-likes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FlashMyRequest = operations['flash/my']['requestBody']['content']['application/json'];
+type FlashMyRequest = operations['flash___my']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FlashMyResponse = operations['flash/my']['responses']['200']['content']['application/json'];
+type FlashMyResponse = operations['flash___my']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FlashShowRequest = operations['flash/show']['requestBody']['content']['application/json'];
+type FlashShowRequest = operations['flash___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FlashShowResponse = operations['flash/show']['responses']['200']['content']['application/json'];
+type FlashShowResponse = operations['flash___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FlashUnlikeRequest = operations['flash/unlike']['requestBody']['content']['application/json'];
+type FlashUnlikeRequest = operations['flash___unlike']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FlashUpdateRequest = operations['flash/update']['requestBody']['content']['application/json'];
+type FlashUpdateRequest = operations['flash___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 export const followersVisibilities: readonly ["public", "followers", "private"];
@@ -1895,97 +1895,97 @@ export const followersVisibilities: readonly ["public", "followers", "private"];
 type Following = components['schemas']['Following'];
 
 // @public (undocumented)
-type FollowingCreateRequest = operations['following/create']['requestBody']['content']['application/json'];
+type FollowingCreateRequest = operations['following___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingCreateResponse = operations['following/create']['responses']['200']['content']['application/json'];
+type FollowingCreateResponse = operations['following___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingDeleteRequest = operations['following/delete']['requestBody']['content']['application/json'];
+type FollowingDeleteRequest = operations['following___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingDeleteResponse = operations['following/delete']['responses']['200']['content']['application/json'];
+type FollowingDeleteResponse = operations['following___delete']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingInvalidateRequest = operations['following/invalidate']['requestBody']['content']['application/json'];
+type FollowingInvalidateRequest = operations['following___invalidate']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingInvalidateResponse = operations['following/invalidate']['responses']['200']['content']['application/json'];
+type FollowingInvalidateResponse = operations['following___invalidate']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingRequestsAcceptRequest = operations['following/requests/accept']['requestBody']['content']['application/json'];
+type FollowingRequestsAcceptRequest = operations['following___requests___accept']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingRequestsCancelRequest = operations['following/requests/cancel']['requestBody']['content']['application/json'];
+type FollowingRequestsCancelRequest = operations['following___requests___cancel']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingRequestsCancelResponse = operations['following/requests/cancel']['responses']['200']['content']['application/json'];
+type FollowingRequestsCancelResponse = operations['following___requests___cancel']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingRequestsListRequest = operations['following/requests/list']['requestBody']['content']['application/json'];
+type FollowingRequestsListRequest = operations['following___requests___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingRequestsListResponse = operations['following/requests/list']['responses']['200']['content']['application/json'];
+type FollowingRequestsListResponse = operations['following___requests___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingRequestsRejectRequest = operations['following/requests/reject']['requestBody']['content']['application/json'];
+type FollowingRequestsRejectRequest = operations['following___requests___reject']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingUpdateAllRequest = operations['following/update-all']['requestBody']['content']['application/json'];
+type FollowingUpdateAllRequest = operations['following___update-all']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingUpdateRequest = operations['following/update']['requestBody']['content']['application/json'];
+type FollowingUpdateRequest = operations['following___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type FollowingUpdateResponse = operations['following/update']['responses']['200']['content']['application/json'];
+type FollowingUpdateResponse = operations['following___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 export const followingVisibilities: readonly ["public", "followers", "private"];
 
 // @public (undocumented)
-type GalleryFeaturedRequest = operations['gallery/featured']['requestBody']['content']['application/json'];
+type GalleryFeaturedRequest = operations['gallery___featured']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryFeaturedResponse = operations['gallery/featured']['responses']['200']['content']['application/json'];
+type GalleryFeaturedResponse = operations['gallery___featured']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPopularResponse = operations['gallery/popular']['responses']['200']['content']['application/json'];
+type GalleryPopularResponse = operations['gallery___popular']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type GalleryPost = components['schemas']['GalleryPost'];
 
 // @public (undocumented)
-type GalleryPostsCreateRequest = operations['gallery/posts/create']['requestBody']['content']['application/json'];
+type GalleryPostsCreateRequest = operations['gallery___posts___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsCreateResponse = operations['gallery/posts/create']['responses']['200']['content']['application/json'];
+type GalleryPostsCreateResponse = operations['gallery___posts___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsDeleteRequest = operations['gallery/posts/delete']['requestBody']['content']['application/json'];
+type GalleryPostsDeleteRequest = operations['gallery___posts___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsLikeRequest = operations['gallery/posts/like']['requestBody']['content']['application/json'];
+type GalleryPostsLikeRequest = operations['gallery___posts___like']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsRequest = operations['gallery/posts']['requestBody']['content']['application/json'];
+type GalleryPostsRequest = operations['gallery___posts']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsResponse = operations['gallery/posts']['responses']['200']['content']['application/json'];
+type GalleryPostsResponse = operations['gallery___posts']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsShowRequest = operations['gallery/posts/show']['requestBody']['content']['application/json'];
+type GalleryPostsShowRequest = operations['gallery___posts___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsShowResponse = operations['gallery/posts/show']['responses']['200']['content']['application/json'];
+type GalleryPostsShowResponse = operations['gallery___posts___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsUnlikeRequest = operations['gallery/posts/unlike']['requestBody']['content']['application/json'];
+type GalleryPostsUnlikeRequest = operations['gallery___posts___unlike']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsUpdateRequest = operations['gallery/posts/update']['requestBody']['content']['application/json'];
+type GalleryPostsUpdateRequest = operations['gallery___posts___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type GalleryPostsUpdateResponse = operations['gallery/posts/update']['responses']['200']['content']['application/json'];
+type GalleryPostsUpdateResponse = operations['gallery___posts___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type GetAvatarDecorationsResponse = operations['get-avatar-decorations']['responses']['200']['content']['application/json'];
@@ -1997,286 +1997,286 @@ type GetOnlineUsersCountResponse = operations['get-online-users-count']['respons
 type Hashtag = components['schemas']['Hashtag'];
 
 // @public (undocumented)
-type HashtagsListRequest = operations['hashtags/list']['requestBody']['content']['application/json'];
+type HashtagsListRequest = operations['hashtags___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type HashtagsListResponse = operations['hashtags/list']['responses']['200']['content']['application/json'];
+type HashtagsListResponse = operations['hashtags___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type HashtagsSearchRequest = operations['hashtags/search']['requestBody']['content']['application/json'];
+type HashtagsSearchRequest = operations['hashtags___search']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type HashtagsSearchResponse = operations['hashtags/search']['responses']['200']['content']['application/json'];
+type HashtagsSearchResponse = operations['hashtags___search']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type HashtagsShowRequest = operations['hashtags/show']['requestBody']['content']['application/json'];
+type HashtagsShowRequest = operations['hashtags___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type HashtagsShowResponse = operations['hashtags/show']['responses']['200']['content']['application/json'];
+type HashtagsShowResponse = operations['hashtags___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type HashtagsTrendResponse = operations['hashtags/trend']['responses']['200']['content']['application/json'];
+type HashtagsTrendResponse = operations['hashtags___trend']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type HashtagsUsersRequest = operations['hashtags/users']['requestBody']['content']['application/json'];
+type HashtagsUsersRequest = operations['hashtags___users']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type HashtagsUsersResponse = operations['hashtags/users']['responses']['200']['content']['application/json'];
+type HashtagsUsersResponse = operations['hashtags___users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type I2faDoneRequest = operations['i/2fa/done']['requestBody']['content']['application/json'];
+type I2faDoneRequest = operations['i___2fa___done']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type I2faDoneResponse = operations['i/2fa/done']['responses']['200']['content']['application/json'];
+type I2faDoneResponse = operations['i___2fa___done']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type I2faKeyDoneRequest = operations['i/2fa/key-done']['requestBody']['content']['application/json'];
+type I2faKeyDoneRequest = operations['i___2fa___key-done']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type I2faKeyDoneResponse = operations['i/2fa/key-done']['responses']['200']['content']['application/json'];
+type I2faKeyDoneResponse = operations['i___2fa___key-done']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type I2faPasswordLessRequest = operations['i/2fa/password-less']['requestBody']['content']['application/json'];
+type I2faPasswordLessRequest = operations['i___2fa___password-less']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type I2faRegisterKeyRequest = operations['i/2fa/register-key']['requestBody']['content']['application/json'];
+type I2faRegisterKeyRequest = operations['i___2fa___register-key']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type I2faRegisterKeyResponse = operations['i/2fa/register-key']['responses']['200']['content']['application/json'];
+type I2faRegisterKeyResponse = operations['i___2fa___register-key']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type I2faRegisterRequest = operations['i/2fa/register']['requestBody']['content']['application/json'];
+type I2faRegisterRequest = operations['i___2fa___register']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type I2faRegisterResponse = operations['i/2fa/register']['responses']['200']['content']['application/json'];
+type I2faRegisterResponse = operations['i___2fa___register']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type I2faRemoveKeyRequest = operations['i/2fa/remove-key']['requestBody']['content']['application/json'];
+type I2faRemoveKeyRequest = operations['i___2fa___remove-key']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type I2faUnregisterRequest = operations['i/2fa/unregister']['requestBody']['content']['application/json'];
+type I2faUnregisterRequest = operations['i___2fa___unregister']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type I2faUpdateKeyRequest = operations['i/2fa/update-key']['requestBody']['content']['application/json'];
+type I2faUpdateKeyRequest = operations['i___2fa___update-key']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IAppsRequest = operations['i/apps']['requestBody']['content']['application/json'];
+type IAppsRequest = operations['i___apps']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IAppsResponse = operations['i/apps']['responses']['200']['content']['application/json'];
+type IAppsResponse = operations['i___apps']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IAuthorizedAppsRequest = operations['i/authorized-apps']['requestBody']['content']['application/json'];
+type IAuthorizedAppsRequest = operations['i___authorized-apps']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IAuthorizedAppsResponse = operations['i/authorized-apps']['responses']['200']['content']['application/json'];
+type IAuthorizedAppsResponse = operations['i___authorized-apps']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IChangePasswordRequest = operations['i/change-password']['requestBody']['content']['application/json'];
+type IChangePasswordRequest = operations['i___change-password']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IClaimAchievementRequest = operations['i/claim-achievement']['requestBody']['content']['application/json'];
+type IClaimAchievementRequest = operations['i___claim-achievement']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type ID = string;
 
 // @public (undocumented)
-type IDeleteAccountRequest = operations['i/delete-account']['requestBody']['content']['application/json'];
+type IDeleteAccountRequest = operations['i___delete-account']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IExportFollowingRequest = operations['i/export-following']['requestBody']['content']['application/json'];
+type IExportFollowingRequest = operations['i___export-following']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IFavoritesRequest = operations['i/favorites']['requestBody']['content']['application/json'];
+type IFavoritesRequest = operations['i___favorites']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IFavoritesResponse = operations['i/favorites']['responses']['200']['content']['application/json'];
+type IFavoritesResponse = operations['i___favorites']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IGalleryLikesRequest = operations['i/gallery/likes']['requestBody']['content']['application/json'];
+type IGalleryLikesRequest = operations['i___gallery___likes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IGalleryLikesResponse = operations['i/gallery/likes']['responses']['200']['content']['application/json'];
+type IGalleryLikesResponse = operations['i___gallery___likes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IGalleryPostsRequest = operations['i/gallery/posts']['requestBody']['content']['application/json'];
+type IGalleryPostsRequest = operations['i___gallery___posts']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IGalleryPostsResponse = operations['i/gallery/posts']['responses']['200']['content']['application/json'];
+type IGalleryPostsResponse = operations['i___gallery___posts']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IImportAntennasRequest = operations['i/import-antennas']['requestBody']['content']['application/json'];
+type IImportAntennasRequest = operations['i___import-antennas']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IImportBlockingRequest = operations['i/import-blocking']['requestBody']['content']['application/json'];
+type IImportBlockingRequest = operations['i___import-blocking']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IImportFollowingRequest = operations['i/import-following']['requestBody']['content']['application/json'];
+type IImportFollowingRequest = operations['i___import-following']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IImportMutingRequest = operations['i/import-muting']['requestBody']['content']['application/json'];
+type IImportMutingRequest = operations['i___import-muting']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IImportNotesRequest = operations['i/import-notes']['requestBody']['content']['application/json'];
+type IImportNotesRequest = operations['i__import-notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IImportUserListsRequest = operations['i/import-user-lists']['requestBody']['content']['application/json'];
+type IImportUserListsRequest = operations['i___import-user-lists']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IMoveRequest = operations['i/move']['requestBody']['content']['application/json'];
+type IMoveRequest = operations['i___move']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IMoveResponse = operations['i/move']['responses']['200']['content']['application/json'];
+type IMoveResponse = operations['i___move']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type INotificationsGroupedRequest = operations['i/notifications-grouped']['requestBody']['content']['application/json'];
+type INotificationsGroupedRequest = operations['i___notifications-grouped']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type INotificationsGroupedResponse = operations['i/notifications-grouped']['responses']['200']['content']['application/json'];
+type INotificationsGroupedResponse = operations['i___notifications-grouped']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type INotificationsRequest = operations['i/notifications']['requestBody']['content']['application/json'];
+type INotificationsRequest = operations['i___notifications']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type INotificationsResponse = operations['i/notifications']['responses']['200']['content']['application/json'];
+type INotificationsResponse = operations['i___notifications']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type InviteCode = components['schemas']['InviteCode'];
 
 // @public (undocumented)
-type InviteCreateResponse = operations['invite/create']['responses']['200']['content']['application/json'];
+type InviteCreateResponse = operations['invite___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type InviteDeleteRequest = operations['invite/delete']['requestBody']['content']['application/json'];
+type InviteDeleteRequest = operations['invite___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type InviteLimitResponse = operations['invite/limit']['responses']['200']['content']['application/json'];
+type InviteLimitResponse = operations['invite___limit']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type InviteListRequest = operations['invite/list']['requestBody']['content']['application/json'];
+type InviteListRequest = operations['invite___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type InviteListResponse = operations['invite/list']['responses']['200']['content']['application/json'];
+type InviteListResponse = operations['invite___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IPageLikesRequest = operations['i/page-likes']['requestBody']['content']['application/json'];
+type IPageLikesRequest = operations['i___page-likes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IPageLikesResponse = operations['i/page-likes']['responses']['200']['content']['application/json'];
+type IPageLikesResponse = operations['i___page-likes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IPagesRequest = operations['i/pages']['requestBody']['content']['application/json'];
+type IPagesRequest = operations['i___pages']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IPagesResponse = operations['i/pages']['responses']['200']['content']['application/json'];
+type IPagesResponse = operations['i___pages']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IPinRequest = operations['i/pin']['requestBody']['content']['application/json'];
+type IPinRequest = operations['i___pin']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IPinResponse = operations['i/pin']['responses']['200']['content']['application/json'];
+type IPinResponse = operations['i___pin']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IReadAnnouncementRequest = operations['i/read-announcement']['requestBody']['content']['application/json'];
+type IReadAnnouncementRequest = operations['i___read-announcement']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegenerateTokenRequest = operations['i/regenerate-token']['requestBody']['content']['application/json'];
+type IRegenerateTokenRequest = operations['i___regenerate-token']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryGetAllRequest = operations['i/registry/get-all']['requestBody']['content']['application/json'];
+type IRegistryGetAllRequest = operations['i___registry___get-all']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryGetAllResponse = operations['i/registry/get-all']['responses']['200']['content']['application/json'];
+type IRegistryGetAllResponse = operations['i___registry___get-all']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryGetDetailRequest = operations['i/registry/get-detail']['requestBody']['content']['application/json'];
+type IRegistryGetDetailRequest = operations['i___registry___get-detail']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryGetDetailResponse = operations['i/registry/get-detail']['responses']['200']['content']['application/json'];
+type IRegistryGetDetailResponse = operations['i___registry___get-detail']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryGetRequest = operations['i/registry/get']['requestBody']['content']['application/json'];
+type IRegistryGetRequest = operations['i___registry___get']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryGetResponse = operations['i/registry/get']['responses']['200']['content']['application/json'];
+type IRegistryGetResponse = operations['i___registry___get']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryGetUnsecureRequest = operations['i/registry/get-unsecure']['requestBody']['content']['application/json'];
+type IRegistryGetUnsecureRequest = operations['i__registry__get-unsecure']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryKeysRequest = operations['i/registry/keys']['requestBody']['content']['application/json'];
+type IRegistryKeysRequest = operations['i___registry___keys']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryKeysResponse = operations['i/registry/keys']['responses']['200']['content']['application/json'];
+type IRegistryKeysResponse = operations['i___registry___keys']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryKeysWithTypeRequest = operations['i/registry/keys-with-type']['requestBody']['content']['application/json'];
+type IRegistryKeysWithTypeRequest = operations['i___registry___keys-with-type']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryKeysWithTypeResponse = operations['i/registry/keys-with-type']['responses']['200']['content']['application/json'];
+type IRegistryKeysWithTypeResponse = operations['i___registry___keys-with-type']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryRemoveRequest = operations['i/registry/remove']['requestBody']['content']['application/json'];
+type IRegistryRemoveRequest = operations['i___registry___remove']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistryScopesWithDomainResponse = operations['i/registry/scopes-with-domain']['responses']['200']['content']['application/json'];
+type IRegistryScopesWithDomainResponse = operations['i___registry___scopes-with-domain']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IRegistrySetRequest = operations['i/registry/set']['requestBody']['content']['application/json'];
+type IRegistrySetRequest = operations['i___registry___set']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type IResponse = operations['i']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IRevokeTokenRequest = operations['i/revoke-token']['requestBody']['content']['application/json'];
+type IRevokeTokenRequest = operations['i___revoke-token']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 function isAPIError(reason: Record<PropertyKey, unknown>): reason is APIError;
 
 // @public (undocumented)
-type ISigninHistoryRequest = operations['i/signin-history']['requestBody']['content']['application/json'];
+type ISigninHistoryRequest = operations['i___signin-history']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ISigninHistoryResponse = operations['i/signin-history']['responses']['200']['content']['application/json'];
+type ISigninHistoryResponse = operations['i___signin-history']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IUnpinRequest = operations['i/unpin']['requestBody']['content']['application/json'];
+type IUnpinRequest = operations['i___unpin']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IUnpinResponse = operations['i/unpin']['responses']['200']['content']['application/json'];
+type IUnpinResponse = operations['i___unpin']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IUpdateEmailRequest = operations['i/update-email']['requestBody']['content']['application/json'];
+type IUpdateEmailRequest = operations['i___update-email']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IUpdateEmailResponse = operations['i/update-email']['responses']['200']['content']['application/json'];
+type IUpdateEmailResponse = operations['i___update-email']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IUpdateRequest = operations['i/update']['requestBody']['content']['application/json'];
+type IUpdateRequest = operations['i___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IUpdateResponse = operations['i/update']['responses']['200']['content']['application/json'];
+type IUpdateResponse = operations['i___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IWebhooksCreateRequest = operations['i/webhooks/create']['requestBody']['content']['application/json'];
+type IWebhooksCreateRequest = operations['i___webhooks___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IWebhooksCreateResponse = operations['i/webhooks/create']['responses']['200']['content']['application/json'];
+type IWebhooksCreateResponse = operations['i___webhooks___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IWebhooksDeleteRequest = operations['i/webhooks/delete']['requestBody']['content']['application/json'];
+type IWebhooksDeleteRequest = operations['i___webhooks___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IWebhooksListResponse = operations['i/webhooks/list']['responses']['200']['content']['application/json'];
+type IWebhooksListResponse = operations['i___webhooks___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IWebhooksShowRequest = operations['i/webhooks/show']['requestBody']['content']['application/json'];
+type IWebhooksShowRequest = operations['i___webhooks___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type IWebhooksShowResponse = operations['i/webhooks/show']['responses']['200']['content']['application/json'];
+type IWebhooksShowResponse = operations['i___webhooks___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type IWebhooksUpdateRequest = operations['i/webhooks/update']['requestBody']['content']['application/json'];
+type IWebhooksUpdateRequest = operations['i___webhooks___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type MeDetailed = components['schemas']['MeDetailed'];
@@ -2300,10 +2300,10 @@ type MetaRequest = operations['meta']['requestBody']['content']['application/jso
 type MetaResponse = operations['meta']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type MiauthGenTokenRequest = operations['miauth/gen-token']['requestBody']['content']['application/json'];
+type MiauthGenTokenRequest = operations['miauth___gen-token']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type MiauthGenTokenResponse = operations['miauth/gen-token']['responses']['200']['content']['application/json'];
+type MiauthGenTokenResponse = operations['miauth___gen-token']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type ModerationLog = {
@@ -2434,28 +2434,28 @@ type ModerationLog = {
 export const moderationLogTypes: readonly ["updateServerSettings", "suspend", "approve", "unsuspend", "updateUserNote", "addCustomEmoji", "updateCustomEmoji", "deleteCustomEmoji", "assignRole", "unassignRole", "createRole", "updateRole", "deleteRole", "clearQueue", "promoteQueue", "deleteDriveFile", "deleteNote", "createGlobalAnnouncement", "createUserAnnouncement", "updateGlobalAnnouncement", "updateUserAnnouncement", "deleteGlobalAnnouncement", "deleteUserAnnouncement", "resetPassword", "suspendRemoteInstance", "unsuspendRemoteInstance", "updateRemoteInstanceNote", "markSensitiveDriveFile", "unmarkSensitiveDriveFile", "resolveAbuseReport", "createInvitation", "createAd", "updateAd", "deleteAd", "createAvatarDecoration", "updateAvatarDecoration", "deleteAvatarDecoration", "unsetUserAvatar", "unsetUserBanner"];
 
 // @public (undocumented)
-type MuteCreateRequest = operations['mute/create']['requestBody']['content']['application/json'];
+type MuteCreateRequest = operations['mute___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type MuteDeleteRequest = operations['mute/delete']['requestBody']['content']['application/json'];
+type MuteDeleteRequest = operations['mute___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 export const mutedNoteReasons: readonly ["word", "manual", "spam", "other"];
 
 // @public (undocumented)
-type MuteListRequest = operations['mute/list']['requestBody']['content']['application/json'];
+type MuteListRequest = operations['mute___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type MuteListResponse = operations['mute/list']['responses']['200']['content']['application/json'];
+type MuteListResponse = operations['mute___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type Muting = components['schemas']['Muting'];
 
 // @public (undocumented)
-type MyAppsRequest = operations['my/apps']['requestBody']['content']['application/json'];
+type MyAppsRequest = operations['my___apps']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type MyAppsResponse = operations['my/apps']['responses']['200']['content']['application/json'];
+type MyAppsResponse = operations['my___apps']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type Note = components['schemas']['Note'];
@@ -2467,115 +2467,115 @@ type NoteFavorite = components['schemas']['NoteFavorite'];
 type NoteReaction = components['schemas']['NoteReaction'];
 
 // @public (undocumented)
-type NotesBubbleTimelineRequest = operations['notes/bubble-timeline']['requestBody']['content']['application/json'];
+type NotesBubbleTimelineRequest = operations['notes__bubble-timeline']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesBubbleTimelineResponse = operations['notes/bubble-timeline']['responses']['200']['content']['application/json'];
+type NotesBubbleTimelineResponse = operations['notes__bubble-timeline']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesChildrenRequest = operations['notes/children']['requestBody']['content']['application/json'];
+type NotesChildrenRequest = operations['notes___children']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesChildrenResponse = operations['notes/children']['responses']['200']['content']['application/json'];
+type NotesChildrenResponse = operations['notes___children']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesClipsRequest = operations['notes/clips']['requestBody']['content']['application/json'];
+type NotesClipsRequest = operations['notes___clips']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesClipsResponse = operations['notes/clips']['responses']['200']['content']['application/json'];
+type NotesClipsResponse = operations['notes___clips']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesConversationRequest = operations['notes/conversation']['requestBody']['content']['application/json'];
+type NotesConversationRequest = operations['notes___conversation']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesConversationResponse = operations['notes/conversation']['responses']['200']['content']['application/json'];
+type NotesConversationResponse = operations['notes___conversation']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesCreateRequest = operations['notes/create']['requestBody']['content']['application/json'];
+type NotesCreateRequest = operations['notes___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesCreateResponse = operations['notes/create']['responses']['200']['content']['application/json'];
+type NotesCreateResponse = operations['notes___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesDeleteRequest = operations['notes/delete']['requestBody']['content']['application/json'];
+type NotesDeleteRequest = operations['notes___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesEditRequest = operations['notes/edit']['requestBody']['content']['application/json'];
+type NotesEditRequest = operations['notes__edit']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesEditResponse = operations['notes/edit']['responses']['200']['content']['application/json'];
+type NotesEditResponse = operations['notes__edit']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesFavoritesCreateRequest = operations['notes/favorites/create']['requestBody']['content']['application/json'];
+type NotesFavoritesCreateRequest = operations['notes___favorites___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesFavoritesDeleteRequest = operations['notes/favorites/delete']['requestBody']['content']['application/json'];
+type NotesFavoritesDeleteRequest = operations['notes___favorites___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesFeaturedRequest = operations['notes/featured']['requestBody']['content']['application/json'];
+type NotesFeaturedRequest = operations['notes___featured']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesFeaturedResponse = operations['notes/featured']['responses']['200']['content']['application/json'];
+type NotesFeaturedResponse = operations['notes___featured']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesGlobalTimelineRequest = operations['notes/global-timeline']['requestBody']['content']['application/json'];
+type NotesGlobalTimelineRequest = operations['notes___global-timeline']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesGlobalTimelineResponse = operations['notes/global-timeline']['responses']['200']['content']['application/json'];
+type NotesGlobalTimelineResponse = operations['notes___global-timeline']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesHybridTimelineRequest = operations['notes/hybrid-timeline']['requestBody']['content']['application/json'];
+type NotesHybridTimelineRequest = operations['notes___hybrid-timeline']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesHybridTimelineResponse = operations['notes/hybrid-timeline']['responses']['200']['content']['application/json'];
+type NotesHybridTimelineResponse = operations['notes___hybrid-timeline']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesLikeRequest = operations['notes/like']['requestBody']['content']['application/json'];
+type NotesLikeRequest = operations['notes__like']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesLocalTimelineRequest = operations['notes/local-timeline']['requestBody']['content']['application/json'];
+type NotesLocalTimelineRequest = operations['notes___local-timeline']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesLocalTimelineResponse = operations['notes/local-timeline']['responses']['200']['content']['application/json'];
+type NotesLocalTimelineResponse = operations['notes___local-timeline']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesMentionsRequest = operations['notes/mentions']['requestBody']['content']['application/json'];
+type NotesMentionsRequest = operations['notes___mentions']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesMentionsResponse = operations['notes/mentions']['responses']['200']['content']['application/json'];
+type NotesMentionsResponse = operations['notes___mentions']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesPollsRecommendationRequest = operations['notes/polls/recommendation']['requestBody']['content']['application/json'];
+type NotesPollsRecommendationRequest = operations['notes___polls___recommendation']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesPollsRecommendationResponse = operations['notes/polls/recommendation']['responses']['200']['content']['application/json'];
+type NotesPollsRecommendationResponse = operations['notes___polls___recommendation']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesPollsVoteRequest = operations['notes/polls/vote']['requestBody']['content']['application/json'];
+type NotesPollsVoteRequest = operations['notes___polls___vote']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesReactionsCreateRequest = operations['notes/reactions/create']['requestBody']['content']['application/json'];
+type NotesReactionsCreateRequest = operations['notes___reactions___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesReactionsDeleteRequest = operations['notes/reactions/delete']['requestBody']['content']['application/json'];
+type NotesReactionsDeleteRequest = operations['notes___reactions___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesReactionsRequest = operations['notes/reactions']['requestBody']['content']['application/json'];
+type NotesReactionsRequest = operations['notes___reactions']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesReactionsResponse = operations['notes/reactions']['responses']['200']['content']['application/json'];
+type NotesReactionsResponse = operations['notes___reactions']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesRenotesRequest = operations['notes/renotes']['requestBody']['content']['application/json'];
+type NotesRenotesRequest = operations['notes___renotes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesRenotesResponse = operations['notes/renotes']['responses']['200']['content']['application/json'];
+type NotesRenotesResponse = operations['notes___renotes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesRepliesRequest = operations['notes/replies']['requestBody']['content']['application/json'];
+type NotesRepliesRequest = operations['notes___replies']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesRepliesResponse = operations['notes/replies']['responses']['200']['content']['application/json'];
+type NotesRepliesResponse = operations['notes___replies']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type NotesRequest = operations['notes']['requestBody']['content']['application/json'];
@@ -2584,55 +2584,55 @@ type NotesRequest = operations['notes']['requestBody']['content']['application/j
 type NotesResponse = operations['notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesSearchByTagRequest = operations['notes/search-by-tag']['requestBody']['content']['application/json'];
+type NotesSearchByTagRequest = operations['notes___search-by-tag']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesSearchByTagResponse = operations['notes/search-by-tag']['responses']['200']['content']['application/json'];
+type NotesSearchByTagResponse = operations['notes___search-by-tag']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesSearchRequest = operations['notes/search']['requestBody']['content']['application/json'];
+type NotesSearchRequest = operations['notes___search']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesSearchResponse = operations['notes/search']['responses']['200']['content']['application/json'];
+type NotesSearchResponse = operations['notes___search']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesShowRequest = operations['notes/show']['requestBody']['content']['application/json'];
+type NotesShowRequest = operations['notes___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesShowResponse = operations['notes/show']['responses']['200']['content']['application/json'];
+type NotesShowResponse = operations['notes___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesStateRequest = operations['notes/state']['requestBody']['content']['application/json'];
+type NotesStateRequest = operations['notes___state']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesStateResponse = operations['notes/state']['responses']['200']['content']['application/json'];
+type NotesStateResponse = operations['notes___state']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesThreadMutingCreateRequest = operations['notes/thread-muting/create']['requestBody']['content']['application/json'];
+type NotesThreadMutingCreateRequest = operations['notes___thread-muting___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesThreadMutingDeleteRequest = operations['notes/thread-muting/delete']['requestBody']['content']['application/json'];
+type NotesThreadMutingDeleteRequest = operations['notes___thread-muting___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesTimelineRequest = operations['notes/timeline']['requestBody']['content']['application/json'];
+type NotesTimelineRequest = operations['notes___timeline']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesTimelineResponse = operations['notes/timeline']['responses']['200']['content']['application/json'];
+type NotesTimelineResponse = operations['notes___timeline']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesTranslateRequest = operations['notes/translate']['requestBody']['content']['application/json'];
+type NotesTranslateRequest = operations['notes___translate']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesTranslateResponse = operations['notes/translate']['responses']['200']['content']['application/json'];
+type NotesTranslateResponse = operations['notes___translate']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type NotesUnrenoteRequest = operations['notes/unrenote']['requestBody']['content']['application/json'];
+type NotesUnrenoteRequest = operations['notes___unrenote']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesUserListTimelineRequest = operations['notes/user-list-timeline']['requestBody']['content']['application/json'];
+type NotesUserListTimelineRequest = operations['notes___user-list-timeline']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type NotesUserListTimelineResponse = operations['notes/user-list-timeline']['responses']['200']['content']['application/json'];
+type NotesUserListTimelineResponse = operations['notes___user-list-timeline']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type NotesVersionsRequest = operations['notes/versions']['requestBody']['content']['application/json'];
@@ -2647,7 +2647,7 @@ export const noteVisibilities: readonly ["public", "home", "followers", "specifi
 type Notification_2 = components['schemas']['Notification'];
 
 // @public (undocumented)
-type NotificationsCreateRequest = operations['notifications/create']['requestBody']['content']['application/json'];
+type NotificationsCreateRequest = operations['notifications___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 export const notificationTypes: readonly ["note", "follow", "mention", "reply", "renote", "quote", "reaction", "pollVote", "pollEnded", "receiveFollowRequest", "followRequestAccepted", "groupInvited", "app", "roleAssigned", "achievementEarned", "edited"];
@@ -2671,31 +2671,31 @@ type PageEvent = {
 type PagePushRequest = operations['page-push']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type PagesCreateRequest = operations['pages/create']['requestBody']['content']['application/json'];
+type PagesCreateRequest = operations['pages___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type PagesCreateResponse = operations['pages/create']['responses']['200']['content']['application/json'];
+type PagesCreateResponse = operations['pages___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type PagesDeleteRequest = operations['pages/delete']['requestBody']['content']['application/json'];
+type PagesDeleteRequest = operations['pages___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type PagesFeaturedResponse = operations['pages/featured']['responses']['200']['content']['application/json'];
+type PagesFeaturedResponse = operations['pages___featured']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type PagesLikeRequest = operations['pages/like']['requestBody']['content']['application/json'];
+type PagesLikeRequest = operations['pages___like']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type PagesShowRequest = operations['pages/show']['requestBody']['content']['application/json'];
+type PagesShowRequest = operations['pages___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type PagesShowResponse = operations['pages/show']['responses']['200']['content']['application/json'];
+type PagesShowResponse = operations['pages___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type PagesUnlikeRequest = operations['pages/unlike']['requestBody']['content']['application/json'];
+type PagesUnlikeRequest = operations['pages___unlike']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type PagesUpdateRequest = operations['pages/update']['requestBody']['content']['application/json'];
+type PagesUpdateRequest = operations['pages___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 function parse(acct: string): Acct;
@@ -2710,7 +2710,7 @@ type PingResponse = operations['ping']['responses']['200']['content']['applicati
 type PinnedUsersResponse = operations['pinned-users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type PromoReadRequest = operations['promo/read']['requestBody']['content']['application/json'];
+type PromoReadRequest = operations['promo___read']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type QueueCount = components['schemas']['QueueCount'];
@@ -2735,16 +2735,16 @@ type QueueStats = {
 type QueueStatsLog = QueueStats[];
 
 // @public (undocumented)
-type RenoteMuteCreateRequest = operations['renote-mute/create']['requestBody']['content']['application/json'];
+type RenoteMuteCreateRequest = operations['renote-mute___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type RenoteMuteDeleteRequest = operations['renote-mute/delete']['requestBody']['content']['application/json'];
+type RenoteMuteDeleteRequest = operations['renote-mute___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type RenoteMuteListRequest = operations['renote-mute/list']['requestBody']['content']['application/json'];
+type RenoteMuteListRequest = operations['renote-mute___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type RenoteMuteListResponse = operations['renote-mute/list']['responses']['200']['content']['application/json'];
+type RenoteMuteListResponse = operations['renote-mute___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type RenoteMuting = components['schemas']['RenoteMuting'];
@@ -2759,7 +2759,7 @@ type ResetPasswordRequest = operations['reset-password']['requestBody']['content
 type RetentionResponse = operations['retention']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiCancelMatchRequest = operations['reversi/cancel-match']['requestBody']['content']['application/json'];
+type ReversiCancelMatchRequest = operations['reversi___cancel-match']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type ReversiGameDetailed = components['schemas']['ReversiGameDetailed'];
@@ -2768,34 +2768,34 @@ type ReversiGameDetailed = components['schemas']['ReversiGameDetailed'];
 type ReversiGameLite = components['schemas']['ReversiGameLite'];
 
 // @public (undocumented)
-type ReversiGamesRequest = operations['reversi/games']['requestBody']['content']['application/json'];
+type ReversiGamesRequest = operations['reversi___games']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiGamesResponse = operations['reversi/games']['responses']['200']['content']['application/json'];
+type ReversiGamesResponse = operations['reversi___games']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiInvitationsResponse = operations['reversi/invitations']['responses']['200']['content']['application/json'];
+type ReversiInvitationsResponse = operations['reversi___invitations']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiMatchRequest = operations['reversi/match']['requestBody']['content']['application/json'];
+type ReversiMatchRequest = operations['reversi___match']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiMatchResponse = operations['reversi/match']['responses']['200']['content']['application/json'];
+type ReversiMatchResponse = operations['reversi___match']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiShowGameRequest = operations['reversi/show-game']['requestBody']['content']['application/json'];
+type ReversiShowGameRequest = operations['reversi___show-game']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiShowGameResponse = operations['reversi/show-game']['responses']['200']['content']['application/json'];
+type ReversiShowGameResponse = operations['reversi___show-game']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiSurrenderRequest = operations['reversi/surrender']['requestBody']['content']['application/json'];
+type ReversiSurrenderRequest = operations['reversi___surrender']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiVerifyRequest = operations['reversi/verify']['requestBody']['content']['application/json'];
+type ReversiVerifyRequest = operations['reversi___verify']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type ReversiVerifyResponse = operations['reversi/verify']['responses']['200']['content']['application/json'];
+type ReversiVerifyResponse = operations['reversi___verify']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type Role = components['schemas']['Role'];
@@ -2828,25 +2828,25 @@ type RoleLite = components['schemas']['RoleLite'];
 type RolePolicies = components['schemas']['RolePolicies'];
 
 // @public (undocumented)
-type RolesListResponse = operations['roles/list']['responses']['200']['content']['application/json'];
+type RolesListResponse = operations['roles___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type RolesNotesRequest = operations['roles/notes']['requestBody']['content']['application/json'];
+type RolesNotesRequest = operations['roles___notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type RolesNotesResponse = operations['roles/notes']['responses']['200']['content']['application/json'];
+type RolesNotesResponse = operations['roles___notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type RolesShowRequest = operations['roles/show']['requestBody']['content']['application/json'];
+type RolesShowRequest = operations['roles___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type RolesShowResponse = operations['roles/show']['responses']['200']['content']['application/json'];
+type RolesShowResponse = operations['roles___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type RolesUsersRequest = operations['roles/users']['requestBody']['content']['application/json'];
+type RolesUsersRequest = operations['roles___users']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type RolesUsersResponse = operations['roles/users']['responses']['200']['content']['application/json'];
+type RolesUsersResponse = operations['roles___users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type ServerInfoResponse = operations['server-info']['responses']['200']['content']['application/json'];
@@ -2968,25 +2968,25 @@ export class Stream extends EventEmitter<StreamEvents> {
 type SwitchCaseResponseType<E extends keyof Endpoints, P extends Endpoints[E]['req']> = Endpoints[E]['res'] extends SwitchCase ? IsCaseMatched<E, P, 0> extends true ? GetCaseResult<E, P, 0> : IsCaseMatched<E, P, 1> extends true ? GetCaseResult<E, P, 1> : IsCaseMatched<E, P, 2> extends true ? GetCaseResult<E, P, 2> : IsCaseMatched<E, P, 3> extends true ? GetCaseResult<E, P, 3> : IsCaseMatched<E, P, 4> extends true ? GetCaseResult<E, P, 4> : IsCaseMatched<E, P, 5> extends true ? GetCaseResult<E, P, 5> : IsCaseMatched<E, P, 6> extends true ? GetCaseResult<E, P, 6> : IsCaseMatched<E, P, 7> extends true ? GetCaseResult<E, P, 7> : IsCaseMatched<E, P, 8> extends true ? GetCaseResult<E, P, 8> : IsCaseMatched<E, P, 9> extends true ? GetCaseResult<E, P, 9> : Endpoints[E]['res']['$switch']['$default'] : Endpoints[E]['res'];
 
 // @public (undocumented)
-type SwRegisterRequest = operations['sw/register']['requestBody']['content']['application/json'];
+type SwRegisterRequest = operations['sw___register']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type SwRegisterResponse = operations['sw/register']['responses']['200']['content']['application/json'];
+type SwRegisterResponse = operations['sw___register']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type SwShowRegistrationRequest = operations['sw/show-registration']['requestBody']['content']['application/json'];
+type SwShowRegistrationRequest = operations['sw___show-registration']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type SwShowRegistrationResponse = operations['sw/show-registration']['responses']['200']['content']['application/json'];
+type SwShowRegistrationResponse = operations['sw___show-registration']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type SwUnregisterRequest = operations['sw/unregister']['requestBody']['content']['application/json'];
+type SwUnregisterRequest = operations['sw___unregister']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type SwUpdateRegistrationRequest = operations['sw/update-registration']['requestBody']['content']['application/json'];
+type SwUpdateRegistrationRequest = operations['sw___update-registration']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type SwUpdateRegistrationResponse = operations['sw/update-registration']['responses']['200']['content']['application/json'];
+type SwUpdateRegistrationResponse = operations['sw___update-registration']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
 type TestRequest = operations['test']['requestBody']['content']['application/json'];
@@ -3016,145 +3016,145 @@ type UserList = components['schemas']['UserList'];
 type UserLite = components['schemas']['UserLite'];
 
 // @public (undocumented)
-type UsernameAvailableRequest = operations['username/available']['requestBody']['content']['application/json'];
+type UsernameAvailableRequest = operations['username___available']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsernameAvailableResponse = operations['username/available']['responses']['200']['content']['application/json'];
+type UsernameAvailableResponse = operations['username___available']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersAchievementsRequest = operations['users/achievements']['requestBody']['content']['application/json'];
+type UsersAchievementsRequest = operations['users___achievements']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersAchievementsResponse = operations['users/achievements']['responses']['200']['content']['application/json'];
+type UsersAchievementsResponse = operations['users___achievements']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersClipsRequest = operations['users/clips']['requestBody']['content']['application/json'];
+type UsersClipsRequest = operations['users___clips']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersClipsResponse = operations['users/clips']['responses']['200']['content']['application/json'];
+type UsersClipsResponse = operations['users___clips']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersFeaturedNotesRequest = operations['users/featured-notes']['requestBody']['content']['application/json'];
+type UsersFeaturedNotesRequest = operations['users___featured-notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersFeaturedNotesResponse = operations['users/featured-notes']['responses']['200']['content']['application/json'];
+type UsersFeaturedNotesResponse = operations['users___featured-notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersFlashsRequest = operations['users/flashs']['requestBody']['content']['application/json'];
+type UsersFlashsRequest = operations['users___flashs']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersFlashsResponse = operations['users/flashs']['responses']['200']['content']['application/json'];
+type UsersFlashsResponse = operations['users___flashs']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersFollowersRequest = operations['users/followers']['requestBody']['content']['application/json'];
+type UsersFollowersRequest = operations['users___followers']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersFollowersResponse = operations['users/followers']['responses']['200']['content']['application/json'];
+type UsersFollowersResponse = operations['users___followers']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersFollowingRequest = operations['users/following']['requestBody']['content']['application/json'];
+type UsersFollowingRequest = operations['users___following']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersFollowingResponse = operations['users/following']['responses']['200']['content']['application/json'];
+type UsersFollowingResponse = operations['users___following']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersGalleryPostsRequest = operations['users/gallery/posts']['requestBody']['content']['application/json'];
+type UsersGalleryPostsRequest = operations['users___gallery___posts']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersGalleryPostsResponse = operations['users/gallery/posts']['responses']['200']['content']['application/json'];
+type UsersGalleryPostsResponse = operations['users___gallery___posts']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersGetFrequentlyRepliedUsersRequest = operations['users/get-frequently-replied-users']['requestBody']['content']['application/json'];
+type UsersGetFrequentlyRepliedUsersRequest = operations['users___get-frequently-replied-users']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersGetFrequentlyRepliedUsersResponse = operations['users/get-frequently-replied-users']['responses']['200']['content']['application/json'];
+type UsersGetFrequentlyRepliedUsersResponse = operations['users___get-frequently-replied-users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsCreateFromPublicRequest = operations['users/lists/create-from-public']['requestBody']['content']['application/json'];
+type UsersListsCreateFromPublicRequest = operations['users___lists___create-from-public']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsCreateFromPublicResponse = operations['users/lists/create-from-public']['responses']['200']['content']['application/json'];
+type UsersListsCreateFromPublicResponse = operations['users___lists___create-from-public']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsCreateRequest = operations['users/lists/create']['requestBody']['content']['application/json'];
+type UsersListsCreateRequest = operations['users___lists___create']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsCreateResponse = operations['users/lists/create']['responses']['200']['content']['application/json'];
+type UsersListsCreateResponse = operations['users___lists___create']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsDeleteRequest = operations['users/lists/delete']['requestBody']['content']['application/json'];
+type UsersListsDeleteRequest = operations['users___lists___delete']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsFavoriteRequest = operations['users/lists/favorite']['requestBody']['content']['application/json'];
+type UsersListsFavoriteRequest = operations['users___lists___favorite']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsGetMembershipsRequest = operations['users/lists/get-memberships']['requestBody']['content']['application/json'];
+type UsersListsGetMembershipsRequest = operations['users___lists___get-memberships']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsGetMembershipsResponse = operations['users/lists/get-memberships']['responses']['200']['content']['application/json'];
+type UsersListsGetMembershipsResponse = operations['users___lists___get-memberships']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsListRequest = operations['users/lists/list']['requestBody']['content']['application/json'];
+type UsersListsListRequest = operations['users___lists___list']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsListResponse = operations['users/lists/list']['responses']['200']['content']['application/json'];
+type UsersListsListResponse = operations['users___lists___list']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsPullRequest = operations['users/lists/pull']['requestBody']['content']['application/json'];
+type UsersListsPullRequest = operations['users___lists___pull']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsPushRequest = operations['users/lists/push']['requestBody']['content']['application/json'];
+type UsersListsPushRequest = operations['users___lists___push']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsShowRequest = operations['users/lists/show']['requestBody']['content']['application/json'];
+type UsersListsShowRequest = operations['users___lists___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsShowResponse = operations['users/lists/show']['responses']['200']['content']['application/json'];
+type UsersListsShowResponse = operations['users___lists___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsUnfavoriteRequest = operations['users/lists/unfavorite']['requestBody']['content']['application/json'];
+type UsersListsUnfavoriteRequest = operations['users___lists___unfavorite']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsUpdateMembershipRequest = operations['users/lists/update-membership']['requestBody']['content']['application/json'];
+type UsersListsUpdateMembershipRequest = operations['users___lists___update-membership']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsUpdateRequest = operations['users/lists/update']['requestBody']['content']['application/json'];
+type UsersListsUpdateRequest = operations['users___lists___update']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersListsUpdateResponse = operations['users/lists/update']['responses']['200']['content']['application/json'];
+type UsersListsUpdateResponse = operations['users___lists___update']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersNotesRequest = operations['users/notes']['requestBody']['content']['application/json'];
+type UsersNotesRequest = operations['users___notes']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersNotesResponse = operations['users/notes']['responses']['200']['content']['application/json'];
+type UsersNotesResponse = operations['users___notes']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersPagesRequest = operations['users/pages']['requestBody']['content']['application/json'];
+type UsersPagesRequest = operations['users___pages']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersPagesResponse = operations['users/pages']['responses']['200']['content']['application/json'];
+type UsersPagesResponse = operations['users___pages']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersReactionsRequest = operations['users/reactions']['requestBody']['content']['application/json'];
+type UsersReactionsRequest = operations['users___reactions']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersReactionsResponse = operations['users/reactions']['responses']['200']['content']['application/json'];
+type UsersReactionsResponse = operations['users___reactions']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersRecommendationRequest = operations['users/recommendation']['requestBody']['content']['application/json'];
+type UsersRecommendationRequest = operations['users___recommendation']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersRecommendationResponse = operations['users/recommendation']['responses']['200']['content']['application/json'];
+type UsersRecommendationResponse = operations['users___recommendation']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersRelationRequest = operations['users/relation']['requestBody']['content']['application/json'];
+type UsersRelationRequest = operations['users___relation']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersRelationResponse = operations['users/relation']['responses']['200']['content']['application/json'];
+type UsersRelationResponse = operations['users___relation']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersReportAbuseRequest = operations['users/report-abuse']['requestBody']['content']['application/json'];
+type UsersReportAbuseRequest = operations['users___report-abuse']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
 type UsersRequest = operations['users']['requestBody']['content']['application/json'];
@@ -3163,25 +3163,25 @@ type UsersRequest = operations['users']['requestBody']['content']['application/j
 type UsersResponse = operations['users']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersSearchByUsernameAndHostRequest = operations['users/search-by-username-and-host']['requestBody']['content']['application/json'];
+type UsersSearchByUsernameAndHostRequest = operations['users___search-by-username-and-host']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersSearchByUsernameAndHostResponse = operations['users/search-by-username-and-host']['responses']['200']['content']['application/json'];
+type UsersSearchByUsernameAndHostResponse = operations['users___search-by-username-and-host']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersSearchRequest = operations['users/search']['requestBody']['content']['application/json'];
+type UsersSearchRequest = operations['users___search']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersSearchResponse = operations['users/search']['responses']['200']['content']['application/json'];
+type UsersSearchResponse = operations['users___search']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersShowRequest = operations['users/show']['requestBody']['content']['application/json'];
+type UsersShowRequest = operations['users___show']['requestBody']['content']['application/json'];
 
 // @public (undocumented)
-type UsersShowResponse = operations['users/show']['responses']['200']['content']['application/json'];
+type UsersShowResponse = operations['users___show']['responses']['200']['content']['application/json'];
 
 // @public (undocumented)
-type UsersUpdateMemoRequest = operations['users/update-memo']['requestBody']['content']['application/json'];
+type UsersUpdateMemoRequest = operations['users___update-memo']['requestBody']['content']['application/json'];
 
 // Warnings were encountered during analysis:
 //
diff --git a/packages/misskey-js/generator/src/generator.ts b/packages/misskey-js/generator/src/generator.ts
index 49dcd4c1ed..78178d7c7e 100644
--- a/packages/misskey-js/generator/src/generator.ts
+++ b/packages/misskey-js/generator/src/generator.ts
@@ -60,13 +60,17 @@ async function generateEndpoints(
 	// misskey-jsはPOST固定で送っているので、こちらも決め打ちする。別メソッドに対応することがあればこちらも直す必要あり
 	const paths = openApiDocs.paths ?? {};
 	const postPathItems = Object.keys(paths)
-		.map(it => paths[it]?.post)
+		.map(it => ({
+			_path_: it.replace(/^\//, ''),
+			...paths[it]?.post,
+		}))
 		.filter(filterUndefined);
 
 	for (const operation of postPathItems) {
+		const path = operation._path_;
 		// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
 		const operationId = operation.operationId!;
-		const endpoint = new Endpoint(operationId);
+		const endpoint = new Endpoint(path);
 		endpoints.push(endpoint);
 
 		if (isRequestBodyObject(operation.requestBody)) {
@@ -76,19 +80,21 @@ async function generateEndpoints(
 				// いまのところ複数のメディアタイプをとるエンドポイントは無いので決め打ちする
 				endpoint.request = new OperationTypeAlias(
 					operationId,
+					path,
 					supportMediaTypes[0],
 					OperationsAliasType.REQUEST,
 				);
 			}
 		}
 
-		if (isResponseObject(operation.responses['200']) && operation.responses['200'].content) {
+		if (operation.responses && isResponseObject(operation.responses['200']) && operation.responses['200'].content) {
 			const resContent = operation.responses['200'].content;
 			const supportMediaTypes = Object.keys(resContent);
 			if (supportMediaTypes.length > 0) {
 				// いまのところ複数のメディアタイプを返すエンドポイントは無いので決め打ちする
 				endpoint.response = new OperationTypeAlias(
 					operationId,
+					path,
 					supportMediaTypes[0],
 					OperationsAliasType.RESPONSE,
 				);
@@ -140,12 +146,19 @@ async function generateApiClientJSDoc(
 	endpointsFileName: string,
 	warningsOutputPath: string,
 ) {
-	const endpoints: { operationId: string; description: string; }[] = [];
+	const endpoints: {
+		operationId: string;
+		path: string;
+		description: string;
+	}[] = [];
 
 	// misskey-jsはPOST固定で送っているので、こちらも決め打ちする。別メソッドに対応することがあればこちらも直す必要あり
 	const paths = openApiDocs.paths ?? {};
 	const postPathItems = Object.keys(paths)
-		.map(it => paths[it]?.post)
+		.map(it => ({
+			_path_: it.replace(/^\//, ''),
+			...paths[it]?.post,
+		}))
 		.filter(filterUndefined);
 
 	for (const operation of postPathItems) {
@@ -155,6 +168,7 @@ async function generateApiClientJSDoc(
 		if (operation.description) {
 			endpoints.push({
 				operationId: operationId,
+				path: operation._path_,
 				description: operation.description,
 			});
 		}
@@ -175,7 +189,7 @@ async function generateApiClientJSDoc(
 			'    /**',
 			`     * ${endpoint.description.split('\n').join('\n     * ')}`,
 			'     */',
-			`    request<E extends '${endpoint.operationId}', P extends Endpoints[E][\'req\']>(`,
+			`    request<E extends '${endpoint.path}', P extends Endpoints[E][\'req\']>(`,
 			'      endpoint: E,',
 			'      params: P,',
 			'      credential?: string | null,',
@@ -234,21 +248,24 @@ interface IOperationTypeAlias {
 
 class OperationTypeAlias implements IOperationTypeAlias {
 	public readonly operationId: string;
+	public readonly path: string;
 	public readonly mediaType: string;
 	public readonly type: OperationsAliasType;
 
 	constructor(
 		operationId: string,
+		path: string,
 		mediaType: string,
 		type: OperationsAliasType,
 	) {
 		this.operationId = operationId;
+		this.path = path;
 		this.mediaType = mediaType;
 		this.type = type;
 	}
 
 	generateName(): string {
-		const nameBase = this.operationId.replace(/\//g, '-');
+		const nameBase = this.path.replace(/\//g, '-');
 		return toPascal(nameBase + this.type);
 	}
 
@@ -281,19 +298,19 @@ const emptyRequest = new EmptyTypeAlias(OperationsAliasType.REQUEST);
 const emptyResponse = new EmptyTypeAlias(OperationsAliasType.RESPONSE);
 
 class Endpoint {
-	public readonly operationId: string;
+	public readonly path: string;
 	public request?: IOperationTypeAlias;
 	public response?: IOperationTypeAlias;
 
-	constructor(operationId: string) {
-		this.operationId = operationId;
+	constructor(path: string) {
+		this.path = path;
 	}
 
 	toLine(): string {
 		const reqName = this.request?.generateName() ?? emptyRequest.generateName();
 		const resName = this.response?.generateName() ?? emptyResponse.generateName();
 
-		return `'${this.operationId}': { req: ${reqName}; res: ${resName} };`;
+		return `'${this.path}': { req: ${reqName}; res: ${resName} };`;
 	}
 }
 
diff --git a/packages/misskey-js/package.json b/packages/misskey-js/package.json
index 772f001c07..a9c75c95c2 100644
--- a/packages/misskey-js/package.json
+++ b/packages/misskey-js/package.json
@@ -3,23 +3,21 @@
 	"name": "misskey-js",
 	"version": "2024.3.1",
 	"description": "Misskey SDK for JavaScript",
-	"types": "./built/dts/index.d.ts",
+	"main": "./built/index.js",
+	"types": "./built/index.d.ts",
 	"exports": {
 		".": {
-			"import": "./built/esm/index.js",
-			"types": "./built/dts/index.d.ts"
+			"import": "./built/index.js",
+			"types": "./built/index.d.ts"
 		},
 		"./*": {
-			"import": "./built/esm/*",
-			"types": "./built/dts/*"
+			"import": "./built/*",
+			"types": "./built/*"
 		}
 	},
 	"scripts": {
-		"build": "npm run ts",
-		"ts": "npm run ts-esm && npm run ts-dts",
-		"ts-esm": "tsc --outDir built/esm",
-		"ts-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true",
-		"watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run ts\"",
+		"build": "node ./build.js",
+		"watch": "nodemon -w package.json -e json --exec \"node ./build.js --watch\"",
 		"tsd": "tsd",
 		"api": "pnpm api-extractor run --local --verbose",
 		"api-prod": "pnpm api-extractor run --verbose",
@@ -49,17 +47,16 @@
 		"mock-socket": "9.3.1",
 		"ncp": "2.0.0",
 		"nodemon": "3.1.0",
+		"execa": "8.0.1",
 		"tsd": "0.30.7",
-		"typescript": "5.3.3"
+		"typescript": "5.3.3",
+		"esbuild": "0.19.11",
+		"glob": "10.3.10"
 	},
 	"files": [
-		"built",
-		"built/esm",
-		"built/dts"
+		"built"
 	],
 	"dependencies": {
-		"@swc/cli": "0.1.63",
-		"@swc/core": "1.3.105",
 		"eventemitter3": "5.0.1",
 		"reconnecting-websocket": "4.4.0"
 	}
diff --git a/packages/misskey-js/src/api.ts b/packages/misskey-js/src/api.ts
index 134ead0d79..959a634a74 100644
--- a/packages/misskey-js/src/api.ts
+++ b/packages/misskey-js/src/api.ts
@@ -3,7 +3,7 @@ import './autogen/apiClientJSDoc.js';
 import { SwitchCaseResponseType } from './api.types.js';
 import type { Endpoints } from './api.types.js';
 
-export {
+export type {
 	SwitchCaseResponseType,
 } from './api.types.js';
 
diff --git a/packages/misskey-js/src/autogen/entities.ts b/packages/misskey-js/src/autogen/entities.ts
index 70568ac690..60bf6659c0 100644
--- a/packages/misskey-js/src/autogen/entities.ts
+++ b/packages/misskey-js/src/autogen/entities.ts
@@ -1,570 +1,556 @@
+/* eslint @typescript-eslint/naming-convention: 0 */
 import { operations } from './types.js';
 
 export type EmptyRequest = Record<string, unknown> | undefined;
 export type EmptyResponse = Record<string, unknown> | undefined;
 
-export type AdminMetaResponse = operations['admin/meta']['responses']['200']['content']['application/json'];
-export type AdminAbuseUserReportsRequest = operations['admin/abuse-user-reports']['requestBody']['content']['application/json'];
-export type AdminAbuseUserReportsResponse = operations['admin/abuse-user-reports']['responses']['200']['content']['application/json'];
-export type AdminAccountsCreateRequest = operations['admin/accounts/create']['requestBody']['content']['application/json'];
-export type AdminAccountsCreateResponse = operations['admin/accounts/create']['responses']['200']['content']['application/json'];
-export type AdminAccountsDeleteRequest = operations['admin/accounts/delete']['requestBody']['content']['application/json'];
-export type AdminAccountsFindByEmailRequest = operations['admin/accounts/find-by-email']['requestBody']['content']['application/json'];
-export type AdminAccountsFindByEmailResponse = operations['admin/accounts/find-by-email']['responses']['200']['content']['application/json'];
-export type AdminAdCreateRequest = operations['admin/ad/create']['requestBody']['content']['application/json'];
-export type AdminAdCreateResponse = operations['admin/ad/create']['responses']['200']['content']['application/json'];
-export type AdminAdDeleteRequest = operations['admin/ad/delete']['requestBody']['content']['application/json'];
-export type AdminAdListRequest = operations['admin/ad/list']['requestBody']['content']['application/json'];
-export type AdminAdListResponse = operations['admin/ad/list']['responses']['200']['content']['application/json'];
-export type AdminAdUpdateRequest = operations['admin/ad/update']['requestBody']['content']['application/json'];
-export type AdminAnnouncementsCreateRequest = operations['admin/announcements/create']['requestBody']['content']['application/json'];
-export type AdminAnnouncementsCreateResponse = operations['admin/announcements/create']['responses']['200']['content']['application/json'];
-export type AdminAnnouncementsDeleteRequest = operations['admin/announcements/delete']['requestBody']['content']['application/json'];
-export type AdminAnnouncementsListRequest = operations['admin/announcements/list']['requestBody']['content']['application/json'];
-export type AdminAnnouncementsListResponse = operations['admin/announcements/list']['responses']['200']['content']['application/json'];
-export type AdminAnnouncementsUpdateRequest = operations['admin/announcements/update']['requestBody']['content']['application/json'];
-export type AdminAvatarDecorationsCreateRequest = operations['admin/avatar-decorations/create']['requestBody']['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'];
-export type AdminAvatarDecorationsUpdateRequest = operations['admin/avatar-decorations/update']['requestBody']['content']['application/json'];
-export type AdminDeleteAllFilesOfAUserRequest = operations['admin/delete-all-files-of-a-user']['requestBody']['content']['application/json'];
-export type AdminUnsetUserAvatarRequest = operations['admin/unset-user-avatar']['requestBody']['content']['application/json'];
-export type AdminUnsetUserBannerRequest = operations['admin/unset-user-banner']['requestBody']['content']['application/json'];
-export type AdminDriveFilesRequest = operations['admin/drive/files']['requestBody']['content']['application/json'];
-export type AdminDriveFilesResponse = operations['admin/drive/files']['responses']['200']['content']['application/json'];
-export type AdminDriveShowFileRequest = operations['admin/drive/show-file']['requestBody']['content']['application/json'];
-export type AdminDriveShowFileResponse = operations['admin/drive/show-file']['responses']['200']['content']['application/json'];
-export type AdminEmojiAddAliasesBulkRequest = operations['admin/emoji/add-aliases-bulk']['requestBody']['content']['application/json'];
-export type AdminEmojiAddRequest = operations['admin/emoji/add']['requestBody']['content']['application/json'];
-export type AdminEmojiAddResponse = operations['admin/emoji/add']['responses']['200']['content']['application/json'];
-export type AdminEmojiCopyRequest = operations['admin/emoji/copy']['requestBody']['content']['application/json'];
-export type AdminEmojiCopyResponse = operations['admin/emoji/copy']['responses']['200']['content']['application/json'];
-export type AdminEmojiDeleteBulkRequest = operations['admin/emoji/delete-bulk']['requestBody']['content']['application/json'];
-export type AdminEmojiDeleteRequest = operations['admin/emoji/delete']['requestBody']['content']['application/json'];
-export type AdminEmojiImportZipRequest = operations['admin/emoji/import-zip']['requestBody']['content']['application/json'];
-export type AdminEmojiListRemoteRequest = operations['admin/emoji/list-remote']['requestBody']['content']['application/json'];
-export type AdminEmojiListRemoteResponse = operations['admin/emoji/list-remote']['responses']['200']['content']['application/json'];
-export type AdminEmojiListRequest = operations['admin/emoji/list']['requestBody']['content']['application/json'];
-export type AdminEmojiListResponse = operations['admin/emoji/list']['responses']['200']['content']['application/json'];
-export type AdminEmojiRemoveAliasesBulkRequest = operations['admin/emoji/remove-aliases-bulk']['requestBody']['content']['application/json'];
-export type AdminEmojiSetAliasesBulkRequest = operations['admin/emoji/set-aliases-bulk']['requestBody']['content']['application/json'];
-export type AdminEmojiSetCategoryBulkRequest = operations['admin/emoji/set-category-bulk']['requestBody']['content']['application/json'];
-export type AdminEmojiSetLicenseBulkRequest = operations['admin/emoji/set-license-bulk']['requestBody']['content']['application/json'];
-export type AdminEmojiUpdateRequest = operations['admin/emoji/update']['requestBody']['content']['application/json'];
-export type AdminFederationDeleteAllFilesRequest = operations['admin/federation/delete-all-files']['requestBody']['content']['application/json'];
-export type AdminFederationRefreshRemoteInstanceMetadataRequest = operations['admin/federation/refresh-remote-instance-metadata']['requestBody']['content']['application/json'];
-export type AdminFederationRemoveAllFollowingRequest = operations['admin/federation/remove-all-following']['requestBody']['content']['application/json'];
-export type AdminFederationUpdateInstanceRequest = operations['admin/federation/update-instance']['requestBody']['content']['application/json'];
-export type AdminGetIndexStatsResponse = operations['admin/get-index-stats']['responses']['200']['content']['application/json'];
-export type AdminGetTableStatsResponse = operations['admin/get-table-stats']['responses']['200']['content']['application/json'];
-export type AdminGetUserIpsRequest = operations['admin/get-user-ips']['requestBody']['content']['application/json'];
-export type AdminGetUserIpsResponse = operations['admin/get-user-ips']['responses']['200']['content']['application/json'];
-export type AdminInviteCreateRequest = operations['admin/invite/create']['requestBody']['content']['application/json'];
-export type AdminInviteCreateResponse = operations['admin/invite/create']['responses']['200']['content']['application/json'];
-export type AdminInviteListRequest = operations['admin/invite/list']['requestBody']['content']['application/json'];
-export type AdminInviteListResponse = operations['admin/invite/list']['responses']['200']['content']['application/json'];
-export type AdminPromoCreateRequest = operations['admin/promo/create']['requestBody']['content']['application/json'];
-export type AdminQueueDeliverDelayedResponse = operations['admin/queue/deliver-delayed']['responses']['200']['content']['application/json'];
-export type AdminQueueInboxDelayedResponse = operations['admin/queue/inbox-delayed']['responses']['200']['content']['application/json'];
-export type AdminQueuePromoteRequest = operations['admin/queue/promote']['requestBody']['content']['application/json'];
-export type AdminQueueStatsResponse = operations['admin/queue/stats']['responses']['200']['content']['application/json'];
-export type AdminRelaysAddRequest = operations['admin/relays/add']['requestBody']['content']['application/json'];
-export type AdminRelaysAddResponse = operations['admin/relays/add']['responses']['200']['content']['application/json'];
-export type AdminRelaysListResponse = operations['admin/relays/list']['responses']['200']['content']['application/json'];
-export type AdminRelaysRemoveRequest = operations['admin/relays/remove']['requestBody']['content']['application/json'];
-export type AdminResetPasswordRequest = operations['admin/reset-password']['requestBody']['content']['application/json'];
-export type AdminResetPasswordResponse = operations['admin/reset-password']['responses']['200']['content']['application/json'];
-export type AdminResolveAbuseUserReportRequest = operations['admin/resolve-abuse-user-report']['requestBody']['content']['application/json'];
-export type AdminSendEmailRequest = operations['admin/send-email']['requestBody']['content']['application/json'];
-export type AdminServerInfoResponse = operations['admin/server-info']['responses']['200']['content']['application/json'];
-export type AdminShowModerationLogsRequest = operations['admin/show-moderation-logs']['requestBody']['content']['application/json'];
-export type AdminShowModerationLogsResponse = operations['admin/show-moderation-logs']['responses']['200']['content']['application/json'];
-export type AdminShowUserRequest = operations['admin/show-user']['requestBody']['content']['application/json'];
-export type AdminShowUserResponse = operations['admin/show-user']['responses']['200']['content']['application/json'];
-export type AdminShowUsersRequest = operations['admin/show-users']['requestBody']['content']['application/json'];
-export type AdminShowUsersResponse = operations['admin/show-users']['responses']['200']['content']['application/json'];
-export type AdminNsfwUserRequest = operations['admin/nsfw-user']['requestBody']['content']['application/json'];
-export type AdminUnnsfwUserRequest = operations['admin/unnsfw-user']['requestBody']['content']['application/json'];
-export type AdminSilenceUserRequest = operations['admin/silence-user']['requestBody']['content']['application/json'];
-export type AdminUnsilenceUserRequest = operations['admin/unsilence-user']['requestBody']['content']['application/json'];
-export type AdminSuspendUserRequest = operations['admin/suspend-user']['requestBody']['content']['application/json'];
-export type AdminApproveUserRequest = operations['admin/approve-user']['requestBody']['content']['application/json'];
-export type AdminUnsuspendUserRequest = operations['admin/unsuspend-user']['requestBody']['content']['application/json'];
-export type AdminUpdateMetaRequest = operations['admin/update-meta']['requestBody']['content']['application/json'];
-export type AdminDeleteAccountRequest = operations['admin/delete-account']['requestBody']['content']['application/json'];
-export type AdminUpdateUserNoteRequest = operations['admin/update-user-note']['requestBody']['content']['application/json'];
-export type AdminRolesCreateRequest = operations['admin/roles/create']['requestBody']['content']['application/json'];
-export type AdminRolesCreateResponse = operations['admin/roles/create']['responses']['200']['content']['application/json'];
-export type AdminRolesDeleteRequest = operations['admin/roles/delete']['requestBody']['content']['application/json'];
-export type AdminRolesListResponse = operations['admin/roles/list']['responses']['200']['content']['application/json'];
-export type AdminRolesShowRequest = operations['admin/roles/show']['requestBody']['content']['application/json'];
-export type AdminRolesShowResponse = operations['admin/roles/show']['responses']['200']['content']['application/json'];
-export type AdminRolesUpdateRequest = operations['admin/roles/update']['requestBody']['content']['application/json'];
-export type AdminRolesAssignRequest = operations['admin/roles/assign']['requestBody']['content']['application/json'];
-export type AdminRolesUnassignRequest = operations['admin/roles/unassign']['requestBody']['content']['application/json'];
-export type AdminRolesUpdateDefaultPoliciesRequest = operations['admin/roles/update-default-policies']['requestBody']['content']['application/json'];
-export type AdminRolesUsersRequest = operations['admin/roles/users']['requestBody']['content']['application/json'];
-export type AdminRolesUsersResponse = operations['admin/roles/users']['responses']['200']['content']['application/json'];
+export type AdminMetaResponse = operations['admin___meta']['responses']['200']['content']['application/json'];
+export type AdminAbuseUserReportsRequest = operations['admin___abuse-user-reports']['requestBody']['content']['application/json'];
+export type AdminAbuseUserReportsResponse = operations['admin___abuse-user-reports']['responses']['200']['content']['application/json'];
+export type AdminAccountsCreateRequest = operations['admin___accounts___create']['requestBody']['content']['application/json'];
+export type AdminAccountsCreateResponse = operations['admin___accounts___create']['responses']['200']['content']['application/json'];
+export type AdminAccountsDeleteRequest = operations['admin___accounts___delete']['requestBody']['content']['application/json'];
+export type AdminAccountsFindByEmailRequest = operations['admin___accounts___find-by-email']['requestBody']['content']['application/json'];
+export type AdminAccountsFindByEmailResponse = operations['admin___accounts___find-by-email']['responses']['200']['content']['application/json'];
+export type AdminAdCreateRequest = operations['admin___ad___create']['requestBody']['content']['application/json'];
+export type AdminAdCreateResponse = operations['admin___ad___create']['responses']['200']['content']['application/json'];
+export type AdminAdDeleteRequest = operations['admin___ad___delete']['requestBody']['content']['application/json'];
+export type AdminAdListRequest = operations['admin___ad___list']['requestBody']['content']['application/json'];
+export type AdminAdListResponse = operations['admin___ad___list']['responses']['200']['content']['application/json'];
+export type AdminAdUpdateRequest = operations['admin___ad___update']['requestBody']['content']['application/json'];
+export type AdminAnnouncementsCreateRequest = operations['admin___announcements___create']['requestBody']['content']['application/json'];
+export type AdminAnnouncementsCreateResponse = operations['admin___announcements___create']['responses']['200']['content']['application/json'];
+export type AdminAnnouncementsDeleteRequest = operations['admin___announcements___delete']['requestBody']['content']['application/json'];
+export type AdminAnnouncementsListRequest = operations['admin___announcements___list']['requestBody']['content']['application/json'];
+export type AdminAnnouncementsListResponse = operations['admin___announcements___list']['responses']['200']['content']['application/json'];
+export type AdminAnnouncementsUpdateRequest = operations['admin___announcements___update']['requestBody']['content']['application/json'];
+export type AdminAvatarDecorationsCreateRequest = operations['admin___avatar-decorations___create']['requestBody']['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'];
+export type AdminAvatarDecorationsUpdateRequest = operations['admin___avatar-decorations___update']['requestBody']['content']['application/json'];
+export type AdminDeleteAllFilesOfAUserRequest = operations['admin___delete-all-files-of-a-user']['requestBody']['content']['application/json'];
+export type AdminUnsetUserAvatarRequest = operations['admin___unset-user-avatar']['requestBody']['content']['application/json'];
+export type AdminUnsetUserBannerRequest = operations['admin___unset-user-banner']['requestBody']['content']['application/json'];
+export type AdminDriveFilesRequest = operations['admin___drive___files']['requestBody']['content']['application/json'];
+export type AdminDriveFilesResponse = operations['admin___drive___files']['responses']['200']['content']['application/json'];
+export type AdminDriveShowFileRequest = operations['admin___drive___show-file']['requestBody']['content']['application/json'];
+export type AdminDriveShowFileResponse = operations['admin___drive___show-file']['responses']['200']['content']['application/json'];
+export type AdminEmojiAddAliasesBulkRequest = operations['admin___emoji___add-aliases-bulk']['requestBody']['content']['application/json'];
+export type AdminEmojiAddRequest = operations['admin___emoji___add']['requestBody']['content']['application/json'];
+export type AdminEmojiAddResponse = operations['admin___emoji___add']['responses']['200']['content']['application/json'];
+export type AdminEmojiCopyRequest = operations['admin___emoji___copy']['requestBody']['content']['application/json'];
+export type AdminEmojiCopyResponse = operations['admin___emoji___copy']['responses']['200']['content']['application/json'];
+export type AdminEmojiDeleteBulkRequest = operations['admin___emoji___delete-bulk']['requestBody']['content']['application/json'];
+export type AdminEmojiDeleteRequest = operations['admin___emoji___delete']['requestBody']['content']['application/json'];
+export type AdminEmojiImportZipRequest = operations['admin___emoji___import-zip']['requestBody']['content']['application/json'];
+export type AdminEmojiListRemoteRequest = operations['admin___emoji___list-remote']['requestBody']['content']['application/json'];
+export type AdminEmojiListRemoteResponse = operations['admin___emoji___list-remote']['responses']['200']['content']['application/json'];
+export type AdminEmojiListRequest = operations['admin___emoji___list']['requestBody']['content']['application/json'];
+export type AdminEmojiListResponse = operations['admin___emoji___list']['responses']['200']['content']['application/json'];
+export type AdminEmojiRemoveAliasesBulkRequest = operations['admin___emoji___remove-aliases-bulk']['requestBody']['content']['application/json'];
+export type AdminEmojiSetAliasesBulkRequest = operations['admin___emoji___set-aliases-bulk']['requestBody']['content']['application/json'];
+export type AdminEmojiSetCategoryBulkRequest = operations['admin___emoji___set-category-bulk']['requestBody']['content']['application/json'];
+export type AdminEmojiSetLicenseBulkRequest = operations['admin___emoji___set-license-bulk']['requestBody']['content']['application/json'];
+export type AdminEmojiUpdateRequest = operations['admin___emoji___update']['requestBody']['content']['application/json'];
+export type AdminFederationDeleteAllFilesRequest = operations['admin___federation___delete-all-files']['requestBody']['content']['application/json'];
+export type AdminFederationRefreshRemoteInstanceMetadataRequest = operations['admin___federation___refresh-remote-instance-metadata']['requestBody']['content']['application/json'];
+export type AdminFederationRemoveAllFollowingRequest = operations['admin___federation___remove-all-following']['requestBody']['content']['application/json'];
+export type AdminFederationUpdateInstanceRequest = operations['admin___federation___update-instance']['requestBody']['content']['application/json'];
+export type AdminGetIndexStatsResponse = operations['admin___get-index-stats']['responses']['200']['content']['application/json'];
+export type AdminGetTableStatsResponse = operations['admin___get-table-stats']['responses']['200']['content']['application/json'];
+export type AdminGetUserIpsRequest = operations['admin___get-user-ips']['requestBody']['content']['application/json'];
+export type AdminGetUserIpsResponse = operations['admin___get-user-ips']['responses']['200']['content']['application/json'];
+export type AdminInviteCreateRequest = operations['admin___invite___create']['requestBody']['content']['application/json'];
+export type AdminInviteCreateResponse = operations['admin___invite___create']['responses']['200']['content']['application/json'];
+export type AdminInviteListRequest = operations['admin___invite___list']['requestBody']['content']['application/json'];
+export type AdminInviteListResponse = operations['admin___invite___list']['responses']['200']['content']['application/json'];
+export type AdminPromoCreateRequest = operations['admin___promo___create']['requestBody']['content']['application/json'];
+export type AdminQueueDeliverDelayedResponse = operations['admin___queue___deliver-delayed']['responses']['200']['content']['application/json'];
+export type AdminQueueInboxDelayedResponse = operations['admin___queue___inbox-delayed']['responses']['200']['content']['application/json'];
+export type AdminQueuePromoteRequest = operations['admin___queue___promote']['requestBody']['content']['application/json'];
+export type AdminQueueStatsResponse = operations['admin___queue___stats']['responses']['200']['content']['application/json'];
+export type AdminRelaysAddRequest = operations['admin___relays___add']['requestBody']['content']['application/json'];
+export type AdminRelaysAddResponse = operations['admin___relays___add']['responses']['200']['content']['application/json'];
+export type AdminRelaysListResponse = operations['admin___relays___list']['responses']['200']['content']['application/json'];
+export type AdminRelaysRemoveRequest = operations['admin___relays___remove']['requestBody']['content']['application/json'];
+export type AdminResetPasswordRequest = operations['admin___reset-password']['requestBody']['content']['application/json'];
+export type AdminResetPasswordResponse = operations['admin___reset-password']['responses']['200']['content']['application/json'];
+export type AdminResolveAbuseUserReportRequest = operations['admin___resolve-abuse-user-report']['requestBody']['content']['application/json'];
+export type AdminSendEmailRequest = operations['admin___send-email']['requestBody']['content']['application/json'];
+export type AdminServerInfoResponse = operations['admin___server-info']['responses']['200']['content']['application/json'];
+export type AdminShowModerationLogsRequest = operations['admin___show-moderation-logs']['requestBody']['content']['application/json'];
+export type AdminShowModerationLogsResponse = operations['admin___show-moderation-logs']['responses']['200']['content']['application/json'];
+export type AdminShowUserRequest = operations['admin___show-user']['requestBody']['content']['application/json'];
+export type AdminShowUserResponse = operations['admin___show-user']['responses']['200']['content']['application/json'];
+export type AdminShowUsersRequest = operations['admin___show-users']['requestBody']['content']['application/json'];
+export type AdminShowUsersResponse = operations['admin___show-users']['responses']['200']['content']['application/json'];
+export type AdminSuspendUserRequest = operations['admin___suspend-user']['requestBody']['content']['application/json'];
+export type AdminUnsuspendUserRequest = operations['admin___unsuspend-user']['requestBody']['content']['application/json'];
+export type AdminUpdateMetaRequest = operations['admin___update-meta']['requestBody']['content']['application/json'];
+export type AdminDeleteAccountRequest = operations['admin___delete-account']['requestBody']['content']['application/json'];
+export type AdminUpdateUserNoteRequest = operations['admin___update-user-note']['requestBody']['content']['application/json'];
+export type AdminRolesCreateRequest = operations['admin___roles___create']['requestBody']['content']['application/json'];
+export type AdminRolesCreateResponse = operations['admin___roles___create']['responses']['200']['content']['application/json'];
+export type AdminRolesDeleteRequest = operations['admin___roles___delete']['requestBody']['content']['application/json'];
+export type AdminRolesListResponse = operations['admin___roles___list']['responses']['200']['content']['application/json'];
+export type AdminRolesShowRequest = operations['admin___roles___show']['requestBody']['content']['application/json'];
+export type AdminRolesShowResponse = operations['admin___roles___show']['responses']['200']['content']['application/json'];
+export type AdminRolesUpdateRequest = operations['admin___roles___update']['requestBody']['content']['application/json'];
+export type AdminRolesAssignRequest = operations['admin___roles___assign']['requestBody']['content']['application/json'];
+export type AdminRolesUnassignRequest = operations['admin___roles___unassign']['requestBody']['content']['application/json'];
+export type AdminRolesUpdateDefaultPoliciesRequest = operations['admin___roles___update-default-policies']['requestBody']['content']['application/json'];
+export type AdminRolesUsersRequest = operations['admin___roles___users']['requestBody']['content']['application/json'];
+export type AdminRolesUsersResponse = operations['admin___roles___users']['responses']['200']['content']['application/json'];
 export type AnnouncementsRequest = operations['announcements']['requestBody']['content']['application/json'];
 export type AnnouncementsResponse = operations['announcements']['responses']['200']['content']['application/json'];
-export type AntennasCreateRequest = operations['antennas/create']['requestBody']['content']['application/json'];
-export type AntennasCreateResponse = operations['antennas/create']['responses']['200']['content']['application/json'];
-export type AntennasDeleteRequest = operations['antennas/delete']['requestBody']['content']['application/json'];
-export type AntennasListResponse = operations['antennas/list']['responses']['200']['content']['application/json'];
-export type AntennasNotesRequest = operations['antennas/notes']['requestBody']['content']['application/json'];
-export type AntennasNotesResponse = operations['antennas/notes']['responses']['200']['content']['application/json'];
-export type AntennasShowRequest = operations['antennas/show']['requestBody']['content']['application/json'];
-export type AntennasShowResponse = operations['antennas/show']['responses']['200']['content']['application/json'];
-export type AntennasUpdateRequest = operations['antennas/update']['requestBody']['content']['application/json'];
-export type AntennasUpdateResponse = operations['antennas/update']['responses']['200']['content']['application/json'];
-export type ApGetRequest = operations['ap/get']['requestBody']['content']['application/json'];
-export type ApGetResponse = operations['ap/get']['responses']['200']['content']['application/json'];
-export type ApShowRequest = operations['ap/show']['requestBody']['content']['application/json'];
-export type ApShowResponse = operations['ap/show']['responses']['200']['content']['application/json'];
-export type AppCreateRequest = operations['app/create']['requestBody']['content']['application/json'];
-export type AppCreateResponse = operations['app/create']['responses']['200']['content']['application/json'];
-export type AppShowRequest = operations['app/show']['requestBody']['content']['application/json'];
-export type AppShowResponse = operations['app/show']['responses']['200']['content']['application/json'];
-export type AuthAcceptRequest = operations['auth/accept']['requestBody']['content']['application/json'];
-export type AuthSessionGenerateRequest = operations['auth/session/generate']['requestBody']['content']['application/json'];
-export type AuthSessionGenerateResponse = operations['auth/session/generate']['responses']['200']['content']['application/json'];
-export type AuthSessionShowRequest = operations['auth/session/show']['requestBody']['content']['application/json'];
-export type AuthSessionShowResponse = operations['auth/session/show']['responses']['200']['content']['application/json'];
-export type AuthSessionUserkeyRequest = operations['auth/session/userkey']['requestBody']['content']['application/json'];
-export type AuthSessionUserkeyResponse = operations['auth/session/userkey']['responses']['200']['content']['application/json'];
-export type BlockingCreateRequest = operations['blocking/create']['requestBody']['content']['application/json'];
-export type BlockingCreateResponse = operations['blocking/create']['responses']['200']['content']['application/json'];
-export type BlockingDeleteRequest = operations['blocking/delete']['requestBody']['content']['application/json'];
-export type BlockingDeleteResponse = operations['blocking/delete']['responses']['200']['content']['application/json'];
-export type BlockingListRequest = operations['blocking/list']['requestBody']['content']['application/json'];
-export type BlockingListResponse = operations['blocking/list']['responses']['200']['content']['application/json'];
-export type ChannelsCreateRequest = operations['channels/create']['requestBody']['content']['application/json'];
-export type ChannelsCreateResponse = operations['channels/create']['responses']['200']['content']['application/json'];
-export type ChannelsFeaturedResponse = operations['channels/featured']['responses']['200']['content']['application/json'];
-export type ChannelsFollowRequest = operations['channels/follow']['requestBody']['content']['application/json'];
-export type ChannelsFollowedRequest = operations['channels/followed']['requestBody']['content']['application/json'];
-export type ChannelsFollowedResponse = operations['channels/followed']['responses']['200']['content']['application/json'];
-export type ChannelsOwnedRequest = operations['channels/owned']['requestBody']['content']['application/json'];
-export type ChannelsOwnedResponse = operations['channels/owned']['responses']['200']['content']['application/json'];
-export type ChannelsShowRequest = operations['channels/show']['requestBody']['content']['application/json'];
-export type ChannelsShowResponse = operations['channels/show']['responses']['200']['content']['application/json'];
-export type ChannelsTimelineRequest = operations['channels/timeline']['requestBody']['content']['application/json'];
-export type ChannelsTimelineResponse = operations['channels/timeline']['responses']['200']['content']['application/json'];
-export type ChannelsUnfollowRequest = operations['channels/unfollow']['requestBody']['content']['application/json'];
-export type ChannelsUpdateRequest = operations['channels/update']['requestBody']['content']['application/json'];
-export type ChannelsUpdateResponse = operations['channels/update']['responses']['200']['content']['application/json'];
-export type ChannelsFavoriteRequest = operations['channels/favorite']['requestBody']['content']['application/json'];
-export type ChannelsUnfavoriteRequest = operations['channels/unfavorite']['requestBody']['content']['application/json'];
-export type ChannelsMyFavoritesResponse = operations['channels/my-favorites']['responses']['200']['content']['application/json'];
-export type ChannelsSearchRequest = operations['channels/search']['requestBody']['content']['application/json'];
-export type ChannelsSearchResponse = operations['channels/search']['responses']['200']['content']['application/json'];
-export type ChartsActiveUsersRequest = operations['charts/active-users']['requestBody']['content']['application/json'];
-export type ChartsActiveUsersResponse = operations['charts/active-users']['responses']['200']['content']['application/json'];
-export type ChartsApRequestRequest = operations['charts/ap-request']['requestBody']['content']['application/json'];
-export type ChartsApRequestResponse = operations['charts/ap-request']['responses']['200']['content']['application/json'];
-export type ChartsDriveRequest = operations['charts/drive']['requestBody']['content']['application/json'];
-export type ChartsDriveResponse = operations['charts/drive']['responses']['200']['content']['application/json'];
-export type ChartsFederationRequest = operations['charts/federation']['requestBody']['content']['application/json'];
-export type ChartsFederationResponse = operations['charts/federation']['responses']['200']['content']['application/json'];
-export type ChartsInstanceRequest = operations['charts/instance']['requestBody']['content']['application/json'];
-export type ChartsInstanceResponse = operations['charts/instance']['responses']['200']['content']['application/json'];
-export type ChartsNotesRequest = operations['charts/notes']['requestBody']['content']['application/json'];
-export type ChartsNotesResponse = operations['charts/notes']['responses']['200']['content']['application/json'];
-export type ChartsUserDriveRequest = operations['charts/user/drive']['requestBody']['content']['application/json'];
-export type ChartsUserDriveResponse = operations['charts/user/drive']['responses']['200']['content']['application/json'];
-export type ChartsUserFollowingRequest = operations['charts/user/following']['requestBody']['content']['application/json'];
-export type ChartsUserFollowingResponse = operations['charts/user/following']['responses']['200']['content']['application/json'];
-export type ChartsUserNotesRequest = operations['charts/user/notes']['requestBody']['content']['application/json'];
-export type ChartsUserNotesResponse = operations['charts/user/notes']['responses']['200']['content']['application/json'];
-export type ChartsUserPvRequest = operations['charts/user/pv']['requestBody']['content']['application/json'];
-export type ChartsUserPvResponse = operations['charts/user/pv']['responses']['200']['content']['application/json'];
-export type ChartsUserReactionsRequest = operations['charts/user/reactions']['requestBody']['content']['application/json'];
-export type ChartsUserReactionsResponse = operations['charts/user/reactions']['responses']['200']['content']['application/json'];
-export type ChartsUsersRequest = operations['charts/users']['requestBody']['content']['application/json'];
-export type ChartsUsersResponse = operations['charts/users']['responses']['200']['content']['application/json'];
-export type ClipsAddNoteRequest = operations['clips/add-note']['requestBody']['content']['application/json'];
-export type ClipsRemoveNoteRequest = operations['clips/remove-note']['requestBody']['content']['application/json'];
-export type ClipsCreateRequest = operations['clips/create']['requestBody']['content']['application/json'];
-export type ClipsCreateResponse = operations['clips/create']['responses']['200']['content']['application/json'];
-export type ClipsDeleteRequest = operations['clips/delete']['requestBody']['content']['application/json'];
-export type ClipsListResponse = operations['clips/list']['responses']['200']['content']['application/json'];
-export type ClipsNotesRequest = operations['clips/notes']['requestBody']['content']['application/json'];
-export type ClipsNotesResponse = operations['clips/notes']['responses']['200']['content']['application/json'];
-export type ClipsShowRequest = operations['clips/show']['requestBody']['content']['application/json'];
-export type ClipsShowResponse = operations['clips/show']['responses']['200']['content']['application/json'];
-export type ClipsUpdateRequest = operations['clips/update']['requestBody']['content']['application/json'];
-export type ClipsUpdateResponse = operations['clips/update']['responses']['200']['content']['application/json'];
-export type ClipsFavoriteRequest = operations['clips/favorite']['requestBody']['content']['application/json'];
-export type ClipsUnfavoriteRequest = operations['clips/unfavorite']['requestBody']['content']['application/json'];
-export type ClipsMyFavoritesResponse = operations['clips/my-favorites']['responses']['200']['content']['application/json'];
+export type AntennasCreateRequest = operations['antennas___create']['requestBody']['content']['application/json'];
+export type AntennasCreateResponse = operations['antennas___create']['responses']['200']['content']['application/json'];
+export type AntennasDeleteRequest = operations['antennas___delete']['requestBody']['content']['application/json'];
+export type AntennasListResponse = operations['antennas___list']['responses']['200']['content']['application/json'];
+export type AntennasNotesRequest = operations['antennas___notes']['requestBody']['content']['application/json'];
+export type AntennasNotesResponse = operations['antennas___notes']['responses']['200']['content']['application/json'];
+export type AntennasShowRequest = operations['antennas___show']['requestBody']['content']['application/json'];
+export type AntennasShowResponse = operations['antennas___show']['responses']['200']['content']['application/json'];
+export type AntennasUpdateRequest = operations['antennas___update']['requestBody']['content']['application/json'];
+export type AntennasUpdateResponse = operations['antennas___update']['responses']['200']['content']['application/json'];
+export type ApGetRequest = operations['ap___get']['requestBody']['content']['application/json'];
+export type ApGetResponse = operations['ap___get']['responses']['200']['content']['application/json'];
+export type ApShowRequest = operations['ap___show']['requestBody']['content']['application/json'];
+export type ApShowResponse = operations['ap___show']['responses']['200']['content']['application/json'];
+export type AppCreateRequest = operations['app___create']['requestBody']['content']['application/json'];
+export type AppCreateResponse = operations['app___create']['responses']['200']['content']['application/json'];
+export type AppShowRequest = operations['app___show']['requestBody']['content']['application/json'];
+export type AppShowResponse = operations['app___show']['responses']['200']['content']['application/json'];
+export type AuthAcceptRequest = operations['auth___accept']['requestBody']['content']['application/json'];
+export type AuthSessionGenerateRequest = operations['auth___session___generate']['requestBody']['content']['application/json'];
+export type AuthSessionGenerateResponse = operations['auth___session___generate']['responses']['200']['content']['application/json'];
+export type AuthSessionShowRequest = operations['auth___session___show']['requestBody']['content']['application/json'];
+export type AuthSessionShowResponse = operations['auth___session___show']['responses']['200']['content']['application/json'];
+export type AuthSessionUserkeyRequest = operations['auth___session___userkey']['requestBody']['content']['application/json'];
+export type AuthSessionUserkeyResponse = operations['auth___session___userkey']['responses']['200']['content']['application/json'];
+export type BlockingCreateRequest = operations['blocking___create']['requestBody']['content']['application/json'];
+export type BlockingCreateResponse = operations['blocking___create']['responses']['200']['content']['application/json'];
+export type BlockingDeleteRequest = operations['blocking___delete']['requestBody']['content']['application/json'];
+export type BlockingDeleteResponse = operations['blocking___delete']['responses']['200']['content']['application/json'];
+export type BlockingListRequest = operations['blocking___list']['requestBody']['content']['application/json'];
+export type BlockingListResponse = operations['blocking___list']['responses']['200']['content']['application/json'];
+export type ChannelsCreateRequest = operations['channels___create']['requestBody']['content']['application/json'];
+export type ChannelsCreateResponse = operations['channels___create']['responses']['200']['content']['application/json'];
+export type ChannelsFeaturedResponse = operations['channels___featured']['responses']['200']['content']['application/json'];
+export type ChannelsFollowRequest = operations['channels___follow']['requestBody']['content']['application/json'];
+export type ChannelsFollowedRequest = operations['channels___followed']['requestBody']['content']['application/json'];
+export type ChannelsFollowedResponse = operations['channels___followed']['responses']['200']['content']['application/json'];
+export type ChannelsOwnedRequest = operations['channels___owned']['requestBody']['content']['application/json'];
+export type ChannelsOwnedResponse = operations['channels___owned']['responses']['200']['content']['application/json'];
+export type ChannelsShowRequest = operations['channels___show']['requestBody']['content']['application/json'];
+export type ChannelsShowResponse = operations['channels___show']['responses']['200']['content']['application/json'];
+export type ChannelsTimelineRequest = operations['channels___timeline']['requestBody']['content']['application/json'];
+export type ChannelsTimelineResponse = operations['channels___timeline']['responses']['200']['content']['application/json'];
+export type ChannelsUnfollowRequest = operations['channels___unfollow']['requestBody']['content']['application/json'];
+export type ChannelsUpdateRequest = operations['channels___update']['requestBody']['content']['application/json'];
+export type ChannelsUpdateResponse = operations['channels___update']['responses']['200']['content']['application/json'];
+export type ChannelsFavoriteRequest = operations['channels___favorite']['requestBody']['content']['application/json'];
+export type ChannelsUnfavoriteRequest = operations['channels___unfavorite']['requestBody']['content']['application/json'];
+export type ChannelsMyFavoritesResponse = operations['channels___my-favorites']['responses']['200']['content']['application/json'];
+export type ChannelsSearchRequest = operations['channels___search']['requestBody']['content']['application/json'];
+export type ChannelsSearchResponse = operations['channels___search']['responses']['200']['content']['application/json'];
+export type ChartsActiveUsersRequest = operations['charts___active-users']['requestBody']['content']['application/json'];
+export type ChartsActiveUsersResponse = operations['charts___active-users']['responses']['200']['content']['application/json'];
+export type ChartsApRequestRequest = operations['charts___ap-request']['requestBody']['content']['application/json'];
+export type ChartsApRequestResponse = operations['charts___ap-request']['responses']['200']['content']['application/json'];
+export type ChartsDriveRequest = operations['charts___drive']['requestBody']['content']['application/json'];
+export type ChartsDriveResponse = operations['charts___drive']['responses']['200']['content']['application/json'];
+export type ChartsFederationRequest = operations['charts___federation']['requestBody']['content']['application/json'];
+export type ChartsFederationResponse = operations['charts___federation']['responses']['200']['content']['application/json'];
+export type ChartsInstanceRequest = operations['charts___instance']['requestBody']['content']['application/json'];
+export type ChartsInstanceResponse = operations['charts___instance']['responses']['200']['content']['application/json'];
+export type ChartsNotesRequest = operations['charts___notes']['requestBody']['content']['application/json'];
+export type ChartsNotesResponse = operations['charts___notes']['responses']['200']['content']['application/json'];
+export type ChartsUserDriveRequest = operations['charts___user___drive']['requestBody']['content']['application/json'];
+export type ChartsUserDriveResponse = operations['charts___user___drive']['responses']['200']['content']['application/json'];
+export type ChartsUserFollowingRequest = operations['charts___user___following']['requestBody']['content']['application/json'];
+export type ChartsUserFollowingResponse = operations['charts___user___following']['responses']['200']['content']['application/json'];
+export type ChartsUserNotesRequest = operations['charts___user___notes']['requestBody']['content']['application/json'];
+export type ChartsUserNotesResponse = operations['charts___user___notes']['responses']['200']['content']['application/json'];
+export type ChartsUserPvRequest = operations['charts___user___pv']['requestBody']['content']['application/json'];
+export type ChartsUserPvResponse = operations['charts___user___pv']['responses']['200']['content']['application/json'];
+export type ChartsUserReactionsRequest = operations['charts___user___reactions']['requestBody']['content']['application/json'];
+export type ChartsUserReactionsResponse = operations['charts___user___reactions']['responses']['200']['content']['application/json'];
+export type ChartsUsersRequest = operations['charts___users']['requestBody']['content']['application/json'];
+export type ChartsUsersResponse = operations['charts___users']['responses']['200']['content']['application/json'];
+export type ClipsAddNoteRequest = operations['clips___add-note']['requestBody']['content']['application/json'];
+export type ClipsRemoveNoteRequest = operations['clips___remove-note']['requestBody']['content']['application/json'];
+export type ClipsCreateRequest = operations['clips___create']['requestBody']['content']['application/json'];
+export type ClipsCreateResponse = operations['clips___create']['responses']['200']['content']['application/json'];
+export type ClipsDeleteRequest = operations['clips___delete']['requestBody']['content']['application/json'];
+export type ClipsListResponse = operations['clips___list']['responses']['200']['content']['application/json'];
+export type ClipsNotesRequest = operations['clips___notes']['requestBody']['content']['application/json'];
+export type ClipsNotesResponse = operations['clips___notes']['responses']['200']['content']['application/json'];
+export type ClipsShowRequest = operations['clips___show']['requestBody']['content']['application/json'];
+export type ClipsShowResponse = operations['clips___show']['responses']['200']['content']['application/json'];
+export type ClipsUpdateRequest = operations['clips___update']['requestBody']['content']['application/json'];
+export type ClipsUpdateResponse = operations['clips___update']['responses']['200']['content']['application/json'];
+export type ClipsFavoriteRequest = operations['clips___favorite']['requestBody']['content']['application/json'];
+export type ClipsUnfavoriteRequest = operations['clips___unfavorite']['requestBody']['content']['application/json'];
+export type ClipsMyFavoritesResponse = operations['clips___my-favorites']['responses']['200']['content']['application/json'];
 export type DriveResponse = operations['drive']['responses']['200']['content']['application/json'];
-export type DriveFilesRequest = operations['drive/files']['requestBody']['content']['application/json'];
-export type DriveFilesResponse = operations['drive/files']['responses']['200']['content']['application/json'];
-export type DriveFilesAttachedNotesRequest = operations['drive/files/attached-notes']['requestBody']['content']['application/json'];
-export type DriveFilesAttachedNotesResponse = operations['drive/files/attached-notes']['responses']['200']['content']['application/json'];
-export type DriveFilesCheckExistenceRequest = operations['drive/files/check-existence']['requestBody']['content']['application/json'];
-export type DriveFilesCheckExistenceResponse = operations['drive/files/check-existence']['responses']['200']['content']['application/json'];
-export type DriveFilesCreateRequest = operations['drive/files/create']['requestBody']['content']['multipart/form-data'];
-export type DriveFilesCreateResponse = operations['drive/files/create']['responses']['200']['content']['application/json'];
-export type DriveFilesDeleteRequest = operations['drive/files/delete']['requestBody']['content']['application/json'];
-export type DriveFilesFindByHashRequest = operations['drive/files/find-by-hash']['requestBody']['content']['application/json'];
-export type DriveFilesFindByHashResponse = operations['drive/files/find-by-hash']['responses']['200']['content']['application/json'];
-export type DriveFilesFindRequest = operations['drive/files/find']['requestBody']['content']['application/json'];
-export type DriveFilesFindResponse = operations['drive/files/find']['responses']['200']['content']['application/json'];
-export type DriveFilesShowRequest = operations['drive/files/show']['requestBody']['content']['application/json'];
-export type DriveFilesShowResponse = operations['drive/files/show']['responses']['200']['content']['application/json'];
-export type DriveFilesUpdateRequest = operations['drive/files/update']['requestBody']['content']['application/json'];
-export type DriveFilesUpdateResponse = operations['drive/files/update']['responses']['200']['content']['application/json'];
-export type DriveFilesUploadFromUrlRequest = operations['drive/files/upload-from-url']['requestBody']['content']['application/json'];
-export type DriveFoldersRequest = operations['drive/folders']['requestBody']['content']['application/json'];
-export type DriveFoldersResponse = operations['drive/folders']['responses']['200']['content']['application/json'];
-export type DriveFoldersCreateRequest = operations['drive/folders/create']['requestBody']['content']['application/json'];
-export type DriveFoldersCreateResponse = operations['drive/folders/create']['responses']['200']['content']['application/json'];
-export type DriveFoldersDeleteRequest = operations['drive/folders/delete']['requestBody']['content']['application/json'];
-export type DriveFoldersFindRequest = operations['drive/folders/find']['requestBody']['content']['application/json'];
-export type DriveFoldersFindResponse = operations['drive/folders/find']['responses']['200']['content']['application/json'];
-export type DriveFoldersShowRequest = operations['drive/folders/show']['requestBody']['content']['application/json'];
-export type DriveFoldersShowResponse = operations['drive/folders/show']['responses']['200']['content']['application/json'];
-export type DriveFoldersUpdateRequest = operations['drive/folders/update']['requestBody']['content']['application/json'];
-export type DriveFoldersUpdateResponse = operations['drive/folders/update']['responses']['200']['content']['application/json'];
-export type DriveStreamRequest = operations['drive/stream']['requestBody']['content']['application/json'];
-export type DriveStreamResponse = operations['drive/stream']['responses']['200']['content']['application/json'];
-export type EmailAddressAvailableRequest = operations['email-address/available']['requestBody']['content']['application/json'];
-export type EmailAddressAvailableResponse = operations['email-address/available']['responses']['200']['content']['application/json'];
+export type DriveFilesRequest = operations['drive___files']['requestBody']['content']['application/json'];
+export type DriveFilesResponse = operations['drive___files']['responses']['200']['content']['application/json'];
+export type DriveFilesAttachedNotesRequest = operations['drive___files___attached-notes']['requestBody']['content']['application/json'];
+export type DriveFilesAttachedNotesResponse = operations['drive___files___attached-notes']['responses']['200']['content']['application/json'];
+export type DriveFilesCheckExistenceRequest = operations['drive___files___check-existence']['requestBody']['content']['application/json'];
+export type DriveFilesCheckExistenceResponse = operations['drive___files___check-existence']['responses']['200']['content']['application/json'];
+export type DriveFilesCreateRequest = operations['drive___files___create']['requestBody']['content']['multipart/form-data'];
+export type DriveFilesCreateResponse = operations['drive___files___create']['responses']['200']['content']['application/json'];
+export type DriveFilesDeleteRequest = operations['drive___files___delete']['requestBody']['content']['application/json'];
+export type DriveFilesFindByHashRequest = operations['drive___files___find-by-hash']['requestBody']['content']['application/json'];
+export type DriveFilesFindByHashResponse = operations['drive___files___find-by-hash']['responses']['200']['content']['application/json'];
+export type DriveFilesFindRequest = operations['drive___files___find']['requestBody']['content']['application/json'];
+export type DriveFilesFindResponse = operations['drive___files___find']['responses']['200']['content']['application/json'];
+export type DriveFilesShowRequest = operations['drive___files___show']['requestBody']['content']['application/json'];
+export type DriveFilesShowResponse = operations['drive___files___show']['responses']['200']['content']['application/json'];
+export type DriveFilesUpdateRequest = operations['drive___files___update']['requestBody']['content']['application/json'];
+export type DriveFilesUpdateResponse = operations['drive___files___update']['responses']['200']['content']['application/json'];
+export type DriveFilesUploadFromUrlRequest = operations['drive___files___upload-from-url']['requestBody']['content']['application/json'];
+export type DriveFoldersRequest = operations['drive___folders']['requestBody']['content']['application/json'];
+export type DriveFoldersResponse = operations['drive___folders']['responses']['200']['content']['application/json'];
+export type DriveFoldersCreateRequest = operations['drive___folders___create']['requestBody']['content']['application/json'];
+export type DriveFoldersCreateResponse = operations['drive___folders___create']['responses']['200']['content']['application/json'];
+export type DriveFoldersDeleteRequest = operations['drive___folders___delete']['requestBody']['content']['application/json'];
+export type DriveFoldersFindRequest = operations['drive___folders___find']['requestBody']['content']['application/json'];
+export type DriveFoldersFindResponse = operations['drive___folders___find']['responses']['200']['content']['application/json'];
+export type DriveFoldersShowRequest = operations['drive___folders___show']['requestBody']['content']['application/json'];
+export type DriveFoldersShowResponse = operations['drive___folders___show']['responses']['200']['content']['application/json'];
+export type DriveFoldersUpdateRequest = operations['drive___folders___update']['requestBody']['content']['application/json'];
+export type DriveFoldersUpdateResponse = operations['drive___folders___update']['responses']['200']['content']['application/json'];
+export type DriveStreamRequest = operations['drive___stream']['requestBody']['content']['application/json'];
+export type DriveStreamResponse = operations['drive___stream']['responses']['200']['content']['application/json'];
+export type EmailAddressAvailableRequest = operations['email-address___available']['requestBody']['content']['application/json'];
+export type EmailAddressAvailableResponse = operations['email-address___available']['responses']['200']['content']['application/json'];
 export type EndpointRequest = operations['endpoint']['requestBody']['content']['application/json'];
 export type EndpointResponse = operations['endpoint']['responses']['200']['content']['application/json'];
 export type EndpointsResponse = operations['endpoints']['responses']['200']['content']['application/json'];
-export type FederationFollowersRequest = operations['federation/followers']['requestBody']['content']['application/json'];
-export type FederationFollowersResponse = operations['federation/followers']['responses']['200']['content']['application/json'];
-export type FederationFollowingRequest = operations['federation/following']['requestBody']['content']['application/json'];
-export type FederationFollowingResponse = operations['federation/following']['responses']['200']['content']['application/json'];
-export type FederationInstancesRequest = operations['federation/instances']['requestBody']['content']['application/json'];
-export type FederationInstancesResponse = operations['federation/instances']['responses']['200']['content']['application/json'];
-export type FederationShowInstanceRequest = operations['federation/show-instance']['requestBody']['content']['application/json'];
-export type FederationShowInstanceResponse = operations['federation/show-instance']['responses']['200']['content']['application/json'];
-export type FederationUpdateRemoteUserRequest = operations['federation/update-remote-user']['requestBody']['content']['application/json'];
-export type FederationUsersRequest = operations['federation/users']['requestBody']['content']['application/json'];
-export type FederationUsersResponse = operations['federation/users']['responses']['200']['content']['application/json'];
-export type FederationStatsRequest = operations['federation/stats']['requestBody']['content']['application/json'];
-export type FederationStatsResponse = operations['federation/stats']['responses']['200']['content']['application/json'];
-export type FollowingCreateRequest = operations['following/create']['requestBody']['content']['application/json'];
-export type FollowingCreateResponse = operations['following/create']['responses']['200']['content']['application/json'];
-export type FollowingDeleteRequest = operations['following/delete']['requestBody']['content']['application/json'];
-export type FollowingDeleteResponse = operations['following/delete']['responses']['200']['content']['application/json'];
-export type FollowingUpdateRequest = operations['following/update']['requestBody']['content']['application/json'];
-export type FollowingUpdateResponse = operations['following/update']['responses']['200']['content']['application/json'];
-export type FollowingUpdateAllRequest = operations['following/update-all']['requestBody']['content']['application/json'];
-export type FollowingInvalidateRequest = operations['following/invalidate']['requestBody']['content']['application/json'];
-export type FollowingInvalidateResponse = operations['following/invalidate']['responses']['200']['content']['application/json'];
-export type FollowingRequestsAcceptRequest = operations['following/requests/accept']['requestBody']['content']['application/json'];
-export type FollowingRequestsCancelRequest = operations['following/requests/cancel']['requestBody']['content']['application/json'];
-export type FollowingRequestsCancelResponse = operations['following/requests/cancel']['responses']['200']['content']['application/json'];
-export type FollowingRequestsListRequest = operations['following/requests/list']['requestBody']['content']['application/json'];
-export type FollowingRequestsListResponse = operations['following/requests/list']['responses']['200']['content']['application/json'];
-export type FollowingRequestsRejectRequest = operations['following/requests/reject']['requestBody']['content']['application/json'];
-export type GalleryFeaturedRequest = operations['gallery/featured']['requestBody']['content']['application/json'];
-export type GalleryFeaturedResponse = operations['gallery/featured']['responses']['200']['content']['application/json'];
-export type GalleryPopularResponse = operations['gallery/popular']['responses']['200']['content']['application/json'];
-export type GalleryPostsRequest = operations['gallery/posts']['requestBody']['content']['application/json'];
-export type GalleryPostsResponse = operations['gallery/posts']['responses']['200']['content']['application/json'];
-export type GalleryPostsCreateRequest = operations['gallery/posts/create']['requestBody']['content']['application/json'];
-export type GalleryPostsCreateResponse = operations['gallery/posts/create']['responses']['200']['content']['application/json'];
-export type GalleryPostsDeleteRequest = operations['gallery/posts/delete']['requestBody']['content']['application/json'];
-export type GalleryPostsLikeRequest = operations['gallery/posts/like']['requestBody']['content']['application/json'];
-export type GalleryPostsShowRequest = operations['gallery/posts/show']['requestBody']['content']['application/json'];
-export type GalleryPostsShowResponse = operations['gallery/posts/show']['responses']['200']['content']['application/json'];
-export type GalleryPostsUnlikeRequest = operations['gallery/posts/unlike']['requestBody']['content']['application/json'];
-export type GalleryPostsUpdateRequest = operations['gallery/posts/update']['requestBody']['content']['application/json'];
-export type GalleryPostsUpdateResponse = operations['gallery/posts/update']['responses']['200']['content']['application/json'];
+export type FederationFollowersRequest = operations['federation___followers']['requestBody']['content']['application/json'];
+export type FederationFollowersResponse = operations['federation___followers']['responses']['200']['content']['application/json'];
+export type FederationFollowingRequest = operations['federation___following']['requestBody']['content']['application/json'];
+export type FederationFollowingResponse = operations['federation___following']['responses']['200']['content']['application/json'];
+export type FederationInstancesRequest = operations['federation___instances']['requestBody']['content']['application/json'];
+export type FederationInstancesResponse = operations['federation___instances']['responses']['200']['content']['application/json'];
+export type FederationShowInstanceRequest = operations['federation___show-instance']['requestBody']['content']['application/json'];
+export type FederationShowInstanceResponse = operations['federation___show-instance']['responses']['200']['content']['application/json'];
+export type FederationUpdateRemoteUserRequest = operations['federation___update-remote-user']['requestBody']['content']['application/json'];
+export type FederationUsersRequest = operations['federation___users']['requestBody']['content']['application/json'];
+export type FederationUsersResponse = operations['federation___users']['responses']['200']['content']['application/json'];
+export type FederationStatsRequest = operations['federation___stats']['requestBody']['content']['application/json'];
+export type FederationStatsResponse = operations['federation___stats']['responses']['200']['content']['application/json'];
+export type FollowingCreateRequest = operations['following___create']['requestBody']['content']['application/json'];
+export type FollowingCreateResponse = operations['following___create']['responses']['200']['content']['application/json'];
+export type FollowingDeleteRequest = operations['following___delete']['requestBody']['content']['application/json'];
+export type FollowingDeleteResponse = operations['following___delete']['responses']['200']['content']['application/json'];
+export type FollowingUpdateRequest = operations['following___update']['requestBody']['content']['application/json'];
+export type FollowingUpdateResponse = operations['following___update']['responses']['200']['content']['application/json'];
+export type FollowingUpdateAllRequest = operations['following___update-all']['requestBody']['content']['application/json'];
+export type FollowingInvalidateRequest = operations['following___invalidate']['requestBody']['content']['application/json'];
+export type FollowingInvalidateResponse = operations['following___invalidate']['responses']['200']['content']['application/json'];
+export type FollowingRequestsAcceptRequest = operations['following___requests___accept']['requestBody']['content']['application/json'];
+export type FollowingRequestsCancelRequest = operations['following___requests___cancel']['requestBody']['content']['application/json'];
+export type FollowingRequestsCancelResponse = operations['following___requests___cancel']['responses']['200']['content']['application/json'];
+export type FollowingRequestsListRequest = operations['following___requests___list']['requestBody']['content']['application/json'];
+export type FollowingRequestsListResponse = operations['following___requests___list']['responses']['200']['content']['application/json'];
+export type FollowingRequestsRejectRequest = operations['following___requests___reject']['requestBody']['content']['application/json'];
+export type GalleryFeaturedRequest = operations['gallery___featured']['requestBody']['content']['application/json'];
+export type GalleryFeaturedResponse = operations['gallery___featured']['responses']['200']['content']['application/json'];
+export type GalleryPopularResponse = operations['gallery___popular']['responses']['200']['content']['application/json'];
+export type GalleryPostsRequest = operations['gallery___posts']['requestBody']['content']['application/json'];
+export type GalleryPostsResponse = operations['gallery___posts']['responses']['200']['content']['application/json'];
+export type GalleryPostsCreateRequest = operations['gallery___posts___create']['requestBody']['content']['application/json'];
+export type GalleryPostsCreateResponse = operations['gallery___posts___create']['responses']['200']['content']['application/json'];
+export type GalleryPostsDeleteRequest = operations['gallery___posts___delete']['requestBody']['content']['application/json'];
+export type GalleryPostsLikeRequest = operations['gallery___posts___like']['requestBody']['content']['application/json'];
+export type GalleryPostsShowRequest = operations['gallery___posts___show']['requestBody']['content']['application/json'];
+export type GalleryPostsShowResponse = operations['gallery___posts___show']['responses']['200']['content']['application/json'];
+export type GalleryPostsUnlikeRequest = operations['gallery___posts___unlike']['requestBody']['content']['application/json'];
+export type GalleryPostsUpdateRequest = operations['gallery___posts___update']['requestBody']['content']['application/json'];
+export type GalleryPostsUpdateResponse = operations['gallery___posts___update']['responses']['200']['content']['application/json'];
 export type GetOnlineUsersCountResponse = operations['get-online-users-count']['responses']['200']['content']['application/json'];
 export type GetAvatarDecorationsResponse = operations['get-avatar-decorations']['responses']['200']['content']['application/json'];
-export type HashtagsListRequest = operations['hashtags/list']['requestBody']['content']['application/json'];
-export type HashtagsListResponse = operations['hashtags/list']['responses']['200']['content']['application/json'];
-export type HashtagsSearchRequest = operations['hashtags/search']['requestBody']['content']['application/json'];
-export type HashtagsSearchResponse = operations['hashtags/search']['responses']['200']['content']['application/json'];
-export type HashtagsShowRequest = operations['hashtags/show']['requestBody']['content']['application/json'];
-export type HashtagsShowResponse = operations['hashtags/show']['responses']['200']['content']['application/json'];
-export type HashtagsTrendResponse = operations['hashtags/trend']['responses']['200']['content']['application/json'];
-export type HashtagsUsersRequest = operations['hashtags/users']['requestBody']['content']['application/json'];
-export type HashtagsUsersResponse = operations['hashtags/users']['responses']['200']['content']['application/json'];
+export type HashtagsListRequest = operations['hashtags___list']['requestBody']['content']['application/json'];
+export type HashtagsListResponse = operations['hashtags___list']['responses']['200']['content']['application/json'];
+export type HashtagsSearchRequest = operations['hashtags___search']['requestBody']['content']['application/json'];
+export type HashtagsSearchResponse = operations['hashtags___search']['responses']['200']['content']['application/json'];
+export type HashtagsShowRequest = operations['hashtags___show']['requestBody']['content']['application/json'];
+export type HashtagsShowResponse = operations['hashtags___show']['responses']['200']['content']['application/json'];
+export type HashtagsTrendResponse = operations['hashtags___trend']['responses']['200']['content']['application/json'];
+export type HashtagsUsersRequest = operations['hashtags___users']['requestBody']['content']['application/json'];
+export type HashtagsUsersResponse = operations['hashtags___users']['responses']['200']['content']['application/json'];
 export type IResponse = operations['i']['responses']['200']['content']['application/json'];
-export type I2faDoneRequest = operations['i/2fa/done']['requestBody']['content']['application/json'];
-export type I2faDoneResponse = operations['i/2fa/done']['responses']['200']['content']['application/json'];
-export type I2faKeyDoneRequest = operations['i/2fa/key-done']['requestBody']['content']['application/json'];
-export type I2faKeyDoneResponse = operations['i/2fa/key-done']['responses']['200']['content']['application/json'];
-export type I2faPasswordLessRequest = operations['i/2fa/password-less']['requestBody']['content']['application/json'];
-export type I2faRegisterKeyRequest = operations['i/2fa/register-key']['requestBody']['content']['application/json'];
-export type I2faRegisterKeyResponse = operations['i/2fa/register-key']['responses']['200']['content']['application/json'];
-export type I2faRegisterRequest = operations['i/2fa/register']['requestBody']['content']['application/json'];
-export type I2faRegisterResponse = operations['i/2fa/register']['responses']['200']['content']['application/json'];
-export type I2faUpdateKeyRequest = operations['i/2fa/update-key']['requestBody']['content']['application/json'];
-export type I2faRemoveKeyRequest = operations['i/2fa/remove-key']['requestBody']['content']['application/json'];
-export type I2faUnregisterRequest = operations['i/2fa/unregister']['requestBody']['content']['application/json'];
-export type IAppsRequest = operations['i/apps']['requestBody']['content']['application/json'];
-export type IAppsResponse = operations['i/apps']['responses']['200']['content']['application/json'];
-export type IAuthorizedAppsRequest = operations['i/authorized-apps']['requestBody']['content']['application/json'];
-export type IAuthorizedAppsResponse = operations['i/authorized-apps']['responses']['200']['content']['application/json'];
-export type IClaimAchievementRequest = operations['i/claim-achievement']['requestBody']['content']['application/json'];
-export type IChangePasswordRequest = operations['i/change-password']['requestBody']['content']['application/json'];
-export type IDeleteAccountRequest = operations['i/delete-account']['requestBody']['content']['application/json'];
-export type IExportFollowingRequest = operations['i/export-following']['requestBody']['content']['application/json'];
-export type IFavoritesRequest = operations['i/favorites']['requestBody']['content']['application/json'];
-export type IFavoritesResponse = operations['i/favorites']['responses']['200']['content']['application/json'];
-export type IGalleryLikesRequest = operations['i/gallery/likes']['requestBody']['content']['application/json'];
-export type IGalleryLikesResponse = operations['i/gallery/likes']['responses']['200']['content']['application/json'];
-export type IGalleryPostsRequest = operations['i/gallery/posts']['requestBody']['content']['application/json'];
-export type IGalleryPostsResponse = operations['i/gallery/posts']['responses']['200']['content']['application/json'];
-export type IImportBlockingRequest = operations['i/import-blocking']['requestBody']['content']['application/json'];
-export type IImportFollowingRequest = operations['i/import-following']['requestBody']['content']['application/json'];
-export type IImportNotesRequest = operations['i/import-notes']['requestBody']['content']['application/json'];
-export type IImportMutingRequest = operations['i/import-muting']['requestBody']['content']['application/json'];
-export type IImportUserListsRequest = operations['i/import-user-lists']['requestBody']['content']['application/json'];
-export type IImportAntennasRequest = operations['i/import-antennas']['requestBody']['content']['application/json'];
-export type INotificationsRequest = operations['i/notifications']['requestBody']['content']['application/json'];
-export type INotificationsResponse = operations['i/notifications']['responses']['200']['content']['application/json'];
-export type INotificationsGroupedRequest = operations['i/notifications-grouped']['requestBody']['content']['application/json'];
-export type INotificationsGroupedResponse = operations['i/notifications-grouped']['responses']['200']['content']['application/json'];
-export type IPageLikesRequest = operations['i/page-likes']['requestBody']['content']['application/json'];
-export type IPageLikesResponse = operations['i/page-likes']['responses']['200']['content']['application/json'];
-export type IPagesRequest = operations['i/pages']['requestBody']['content']['application/json'];
-export type IPagesResponse = operations['i/pages']['responses']['200']['content']['application/json'];
-export type IPinRequest = operations['i/pin']['requestBody']['content']['application/json'];
-export type IPinResponse = operations['i/pin']['responses']['200']['content']['application/json'];
-export type IReadAnnouncementRequest = operations['i/read-announcement']['requestBody']['content']['application/json'];
-export type IRegenerateTokenRequest = operations['i/regenerate-token']['requestBody']['content']['application/json'];
-export type IRegistryGetAllRequest = operations['i/registry/get-all']['requestBody']['content']['application/json'];
-export type IRegistryGetAllResponse = operations['i/registry/get-all']['responses']['200']['content']['application/json'];
-export type IRegistryGetUnsecureRequest = operations['i/registry/get-unsecure']['requestBody']['content']['application/json'];
-export type IRegistryGetDetailRequest = operations['i/registry/get-detail']['requestBody']['content']['application/json'];
-export type IRegistryGetDetailResponse = operations['i/registry/get-detail']['responses']['200']['content']['application/json'];
-export type IRegistryGetRequest = operations['i/registry/get']['requestBody']['content']['application/json'];
-export type IRegistryGetResponse = operations['i/registry/get']['responses']['200']['content']['application/json'];
-export type IRegistryKeysWithTypeRequest = operations['i/registry/keys-with-type']['requestBody']['content']['application/json'];
-export type IRegistryKeysWithTypeResponse = operations['i/registry/keys-with-type']['responses']['200']['content']['application/json'];
-export type IRegistryKeysRequest = operations['i/registry/keys']['requestBody']['content']['application/json'];
-export type IRegistryKeysResponse = operations['i/registry/keys']['responses']['200']['content']['application/json'];
-export type IRegistryRemoveRequest = operations['i/registry/remove']['requestBody']['content']['application/json'];
-export type IRegistryScopesWithDomainResponse = operations['i/registry/scopes-with-domain']['responses']['200']['content']['application/json'];
-export type IRegistrySetRequest = operations['i/registry/set']['requestBody']['content']['application/json'];
-export type IRevokeTokenRequest = operations['i/revoke-token']['requestBody']['content']['application/json'];
-export type ISigninHistoryRequest = operations['i/signin-history']['requestBody']['content']['application/json'];
-export type ISigninHistoryResponse = operations['i/signin-history']['responses']['200']['content']['application/json'];
-export type IUnpinRequest = operations['i/unpin']['requestBody']['content']['application/json'];
-export type IUnpinResponse = operations['i/unpin']['responses']['200']['content']['application/json'];
-export type IUpdateEmailRequest = operations['i/update-email']['requestBody']['content']['application/json'];
-export type IUpdateEmailResponse = operations['i/update-email']['responses']['200']['content']['application/json'];
-export type IUpdateRequest = operations['i/update']['requestBody']['content']['application/json'];
-export type IUpdateResponse = operations['i/update']['responses']['200']['content']['application/json'];
-export type IMoveRequest = operations['i/move']['requestBody']['content']['application/json'];
-export type IMoveResponse = operations['i/move']['responses']['200']['content']['application/json'];
-export type IWebhooksCreateRequest = operations['i/webhooks/create']['requestBody']['content']['application/json'];
-export type IWebhooksCreateResponse = operations['i/webhooks/create']['responses']['200']['content']['application/json'];
-export type IWebhooksListResponse = operations['i/webhooks/list']['responses']['200']['content']['application/json'];
-export type IWebhooksShowRequest = operations['i/webhooks/show']['requestBody']['content']['application/json'];
-export type IWebhooksShowResponse = operations['i/webhooks/show']['responses']['200']['content']['application/json'];
-export type IWebhooksUpdateRequest = operations['i/webhooks/update']['requestBody']['content']['application/json'];
-export type IWebhooksDeleteRequest = operations['i/webhooks/delete']['requestBody']['content']['application/json'];
-export type InviteCreateResponse = operations['invite/create']['responses']['200']['content']['application/json'];
-export type InviteDeleteRequest = operations['invite/delete']['requestBody']['content']['application/json'];
-export type InviteListRequest = operations['invite/list']['requestBody']['content']['application/json'];
-export type InviteListResponse = operations['invite/list']['responses']['200']['content']['application/json'];
-export type InviteLimitResponse = operations['invite/limit']['responses']['200']['content']['application/json'];
+export type I2faDoneRequest = operations['i___2fa___done']['requestBody']['content']['application/json'];
+export type I2faDoneResponse = operations['i___2fa___done']['responses']['200']['content']['application/json'];
+export type I2faKeyDoneRequest = operations['i___2fa___key-done']['requestBody']['content']['application/json'];
+export type I2faKeyDoneResponse = operations['i___2fa___key-done']['responses']['200']['content']['application/json'];
+export type I2faPasswordLessRequest = operations['i___2fa___password-less']['requestBody']['content']['application/json'];
+export type I2faRegisterKeyRequest = operations['i___2fa___register-key']['requestBody']['content']['application/json'];
+export type I2faRegisterKeyResponse = operations['i___2fa___register-key']['responses']['200']['content']['application/json'];
+export type I2faRegisterRequest = operations['i___2fa___register']['requestBody']['content']['application/json'];
+export type I2faRegisterResponse = operations['i___2fa___register']['responses']['200']['content']['application/json'];
+export type I2faUpdateKeyRequest = operations['i___2fa___update-key']['requestBody']['content']['application/json'];
+export type I2faRemoveKeyRequest = operations['i___2fa___remove-key']['requestBody']['content']['application/json'];
+export type I2faUnregisterRequest = operations['i___2fa___unregister']['requestBody']['content']['application/json'];
+export type IAppsRequest = operations['i___apps']['requestBody']['content']['application/json'];
+export type IAppsResponse = operations['i___apps']['responses']['200']['content']['application/json'];
+export type IAuthorizedAppsRequest = operations['i___authorized-apps']['requestBody']['content']['application/json'];
+export type IAuthorizedAppsResponse = operations['i___authorized-apps']['responses']['200']['content']['application/json'];
+export type IClaimAchievementRequest = operations['i___claim-achievement']['requestBody']['content']['application/json'];
+export type IChangePasswordRequest = operations['i___change-password']['requestBody']['content']['application/json'];
+export type IDeleteAccountRequest = operations['i___delete-account']['requestBody']['content']['application/json'];
+export type IExportFollowingRequest = operations['i___export-following']['requestBody']['content']['application/json'];
+export type IFavoritesRequest = operations['i___favorites']['requestBody']['content']['application/json'];
+export type IFavoritesResponse = operations['i___favorites']['responses']['200']['content']['application/json'];
+export type IGalleryLikesRequest = operations['i___gallery___likes']['requestBody']['content']['application/json'];
+export type IGalleryLikesResponse = operations['i___gallery___likes']['responses']['200']['content']['application/json'];
+export type IGalleryPostsRequest = operations['i___gallery___posts']['requestBody']['content']['application/json'];
+export type IGalleryPostsResponse = operations['i___gallery___posts']['responses']['200']['content']['application/json'];
+export type IImportBlockingRequest = operations['i___import-blocking']['requestBody']['content']['application/json'];
+export type IImportFollowingRequest = operations['i___import-following']['requestBody']['content']['application/json'];
+export type IImportMutingRequest = operations['i___import-muting']['requestBody']['content']['application/json'];
+export type IImportUserListsRequest = operations['i___import-user-lists']['requestBody']['content']['application/json'];
+export type IImportAntennasRequest = operations['i___import-antennas']['requestBody']['content']['application/json'];
+export type INotificationsRequest = operations['i___notifications']['requestBody']['content']['application/json'];
+export type INotificationsResponse = operations['i___notifications']['responses']['200']['content']['application/json'];
+export type INotificationsGroupedRequest = operations['i___notifications-grouped']['requestBody']['content']['application/json'];
+export type INotificationsGroupedResponse = operations['i___notifications-grouped']['responses']['200']['content']['application/json'];
+export type IPageLikesRequest = operations['i___page-likes']['requestBody']['content']['application/json'];
+export type IPageLikesResponse = operations['i___page-likes']['responses']['200']['content']['application/json'];
+export type IPagesRequest = operations['i___pages']['requestBody']['content']['application/json'];
+export type IPagesResponse = operations['i___pages']['responses']['200']['content']['application/json'];
+export type IPinRequest = operations['i___pin']['requestBody']['content']['application/json'];
+export type IPinResponse = operations['i___pin']['responses']['200']['content']['application/json'];
+export type IReadAnnouncementRequest = operations['i___read-announcement']['requestBody']['content']['application/json'];
+export type IRegenerateTokenRequest = operations['i___regenerate-token']['requestBody']['content']['application/json'];
+export type IRegistryGetAllRequest = operations['i___registry___get-all']['requestBody']['content']['application/json'];
+export type IRegistryGetAllResponse = operations['i___registry___get-all']['responses']['200']['content']['application/json'];
+export type IRegistryGetDetailRequest = operations['i___registry___get-detail']['requestBody']['content']['application/json'];
+export type IRegistryGetDetailResponse = operations['i___registry___get-detail']['responses']['200']['content']['application/json'];
+export type IRegistryGetRequest = operations['i___registry___get']['requestBody']['content']['application/json'];
+export type IRegistryGetResponse = operations['i___registry___get']['responses']['200']['content']['application/json'];
+export type IRegistryKeysWithTypeRequest = operations['i___registry___keys-with-type']['requestBody']['content']['application/json'];
+export type IRegistryKeysWithTypeResponse = operations['i___registry___keys-with-type']['responses']['200']['content']['application/json'];
+export type IRegistryKeysRequest = operations['i___registry___keys']['requestBody']['content']['application/json'];
+export type IRegistryKeysResponse = operations['i___registry___keys']['responses']['200']['content']['application/json'];
+export type IRegistryRemoveRequest = operations['i___registry___remove']['requestBody']['content']['application/json'];
+export type IRegistryScopesWithDomainResponse = operations['i___registry___scopes-with-domain']['responses']['200']['content']['application/json'];
+export type IRegistrySetRequest = operations['i___registry___set']['requestBody']['content']['application/json'];
+export type IRevokeTokenRequest = operations['i___revoke-token']['requestBody']['content']['application/json'];
+export type ISigninHistoryRequest = operations['i___signin-history']['requestBody']['content']['application/json'];
+export type ISigninHistoryResponse = operations['i___signin-history']['responses']['200']['content']['application/json'];
+export type IUnpinRequest = operations['i___unpin']['requestBody']['content']['application/json'];
+export type IUnpinResponse = operations['i___unpin']['responses']['200']['content']['application/json'];
+export type IUpdateEmailRequest = operations['i___update-email']['requestBody']['content']['application/json'];
+export type IUpdateEmailResponse = operations['i___update-email']['responses']['200']['content']['application/json'];
+export type IUpdateRequest = operations['i___update']['requestBody']['content']['application/json'];
+export type IUpdateResponse = operations['i___update']['responses']['200']['content']['application/json'];
+export type IMoveRequest = operations['i___move']['requestBody']['content']['application/json'];
+export type IMoveResponse = operations['i___move']['responses']['200']['content']['application/json'];
+export type IWebhooksCreateRequest = operations['i___webhooks___create']['requestBody']['content']['application/json'];
+export type IWebhooksCreateResponse = operations['i___webhooks___create']['responses']['200']['content']['application/json'];
+export type IWebhooksListResponse = operations['i___webhooks___list']['responses']['200']['content']['application/json'];
+export type IWebhooksShowRequest = operations['i___webhooks___show']['requestBody']['content']['application/json'];
+export type IWebhooksShowResponse = operations['i___webhooks___show']['responses']['200']['content']['application/json'];
+export type IWebhooksUpdateRequest = operations['i___webhooks___update']['requestBody']['content']['application/json'];
+export type IWebhooksDeleteRequest = operations['i___webhooks___delete']['requestBody']['content']['application/json'];
+export type InviteCreateResponse = operations['invite___create']['responses']['200']['content']['application/json'];
+export type InviteDeleteRequest = operations['invite___delete']['requestBody']['content']['application/json'];
+export type InviteListRequest = operations['invite___list']['requestBody']['content']['application/json'];
+export type InviteListResponse = operations['invite___list']['responses']['200']['content']['application/json'];
+export type InviteLimitResponse = operations['invite___limit']['responses']['200']['content']['application/json'];
 export type MetaRequest = operations['meta']['requestBody']['content']['application/json'];
 export type MetaResponse = operations['meta']['responses']['200']['content']['application/json'];
 export type EmojisResponse = operations['emojis']['responses']['200']['content']['application/json'];
 export type EmojiRequest = operations['emoji']['requestBody']['content']['application/json'];
 export type EmojiResponse = operations['emoji']['responses']['200']['content']['application/json'];
-export type MiauthGenTokenRequest = operations['miauth/gen-token']['requestBody']['content']['application/json'];
-export type MiauthGenTokenResponse = operations['miauth/gen-token']['responses']['200']['content']['application/json'];
-export type MuteCreateRequest = operations['mute/create']['requestBody']['content']['application/json'];
-export type MuteDeleteRequest = operations['mute/delete']['requestBody']['content']['application/json'];
-export type MuteListRequest = operations['mute/list']['requestBody']['content']['application/json'];
-export type MuteListResponse = operations['mute/list']['responses']['200']['content']['application/json'];
-export type RenoteMuteCreateRequest = operations['renote-mute/create']['requestBody']['content']['application/json'];
-export type RenoteMuteDeleteRequest = operations['renote-mute/delete']['requestBody']['content']['application/json'];
-export type RenoteMuteListRequest = operations['renote-mute/list']['requestBody']['content']['application/json'];
-export type RenoteMuteListResponse = operations['renote-mute/list']['responses']['200']['content']['application/json'];
-export type MyAppsRequest = operations['my/apps']['requestBody']['content']['application/json'];
-export type MyAppsResponse = operations['my/apps']['responses']['200']['content']['application/json'];
+export type MiauthGenTokenRequest = operations['miauth___gen-token']['requestBody']['content']['application/json'];
+export type MiauthGenTokenResponse = operations['miauth___gen-token']['responses']['200']['content']['application/json'];
+export type MuteCreateRequest = operations['mute___create']['requestBody']['content']['application/json'];
+export type MuteDeleteRequest = operations['mute___delete']['requestBody']['content']['application/json'];
+export type MuteListRequest = operations['mute___list']['requestBody']['content']['application/json'];
+export type MuteListResponse = operations['mute___list']['responses']['200']['content']['application/json'];
+export type RenoteMuteCreateRequest = operations['renote-mute___create']['requestBody']['content']['application/json'];
+export type RenoteMuteDeleteRequest = operations['renote-mute___delete']['requestBody']['content']['application/json'];
+export type RenoteMuteListRequest = operations['renote-mute___list']['requestBody']['content']['application/json'];
+export type RenoteMuteListResponse = operations['renote-mute___list']['responses']['200']['content']['application/json'];
+export type MyAppsRequest = operations['my___apps']['requestBody']['content']['application/json'];
+export type MyAppsResponse = operations['my___apps']['responses']['200']['content']['application/json'];
 export type NotesRequest = operations['notes']['requestBody']['content']['application/json'];
 export type NotesResponse = operations['notes']['responses']['200']['content']['application/json'];
-export type NotesChildrenRequest = operations['notes/children']['requestBody']['content']['application/json'];
-export type NotesChildrenResponse = operations['notes/children']['responses']['200']['content']['application/json'];
-export type NotesClipsRequest = operations['notes/clips']['requestBody']['content']['application/json'];
-export type NotesClipsResponse = operations['notes/clips']['responses']['200']['content']['application/json'];
-export type NotesConversationRequest = operations['notes/conversation']['requestBody']['content']['application/json'];
-export type NotesConversationResponse = operations['notes/conversation']['responses']['200']['content']['application/json'];
-export type NotesCreateRequest = operations['notes/create']['requestBody']['content']['application/json'];
-export type NotesCreateResponse = operations['notes/create']['responses']['200']['content']['application/json'];
-export type NotesDeleteRequest = operations['notes/delete']['requestBody']['content']['application/json'];
-export type NotesFavoritesCreateRequest = operations['notes/favorites/create']['requestBody']['content']['application/json'];
-export type NotesFavoritesDeleteRequest = operations['notes/favorites/delete']['requestBody']['content']['application/json'];
-export type NotesFeaturedRequest = operations['notes/featured']['requestBody']['content']['application/json'];
-export type NotesFeaturedResponse = operations['notes/featured']['responses']['200']['content']['application/json'];
-export type NotesGlobalTimelineRequest = operations['notes/global-timeline']['requestBody']['content']['application/json'];
-export type NotesGlobalTimelineResponse = operations['notes/global-timeline']['responses']['200']['content']['application/json'];
-export type NotesBubbleTimelineRequest = operations['notes/bubble-timeline']['requestBody']['content']['application/json'];
-export type NotesBubbleTimelineResponse = operations['notes/bubble-timeline']['responses']['200']['content']['application/json'];
-export type NotesHybridTimelineRequest = operations['notes/hybrid-timeline']['requestBody']['content']['application/json'];
-export type NotesHybridTimelineResponse = operations['notes/hybrid-timeline']['responses']['200']['content']['application/json'];
-export type NotesLocalTimelineRequest = operations['notes/local-timeline']['requestBody']['content']['application/json'];
-export type NotesLocalTimelineResponse = operations['notes/local-timeline']['responses']['200']['content']['application/json'];
-export type NotesMentionsRequest = operations['notes/mentions']['requestBody']['content']['application/json'];
-export type NotesMentionsResponse = operations['notes/mentions']['responses']['200']['content']['application/json'];
-export type NotesPollsRecommendationRequest = operations['notes/polls/recommendation']['requestBody']['content']['application/json'];
-export type NotesPollsRecommendationResponse = operations['notes/polls/recommendation']['responses']['200']['content']['application/json'];
-export type NotesPollsVoteRequest = operations['notes/polls/vote']['requestBody']['content']['application/json'];
-export type NotesReactionsRequest = operations['notes/reactions']['requestBody']['content']['application/json'];
-export type NotesReactionsResponse = operations['notes/reactions']['responses']['200']['content']['application/json'];
-export type NotesReactionsCreateRequest = operations['notes/reactions/create']['requestBody']['content']['application/json'];
-export type NotesReactionsDeleteRequest = operations['notes/reactions/delete']['requestBody']['content']['application/json'];
-export type NotesLikeRequest = operations['notes/like']['requestBody']['content']['application/json'];
-export type NotesRenotesRequest = operations['notes/renotes']['requestBody']['content']['application/json'];
-export type NotesRenotesResponse = operations['notes/renotes']['responses']['200']['content']['application/json'];
-export type NotesRepliesRequest = operations['notes/replies']['requestBody']['content']['application/json'];
-export type NotesRepliesResponse = operations['notes/replies']['responses']['200']['content']['application/json'];
-export type NotesSearchByTagRequest = operations['notes/search-by-tag']['requestBody']['content']['application/json'];
-export type NotesSearchByTagResponse = operations['notes/search-by-tag']['responses']['200']['content']['application/json'];
-export type NotesSearchRequest = operations['notes/search']['requestBody']['content']['application/json'];
-export type NotesSearchResponse = operations['notes/search']['responses']['200']['content']['application/json'];
-export type NotesShowRequest = operations['notes/show']['requestBody']['content']['application/json'];
-export type NotesShowResponse = operations['notes/show']['responses']['200']['content']['application/json'];
-export type NotesStateRequest = operations['notes/state']['requestBody']['content']['application/json'];
-export type NotesStateResponse = operations['notes/state']['responses']['200']['content']['application/json'];
-export type NotesThreadMutingCreateRequest = operations['notes/thread-muting/create']['requestBody']['content']['application/json'];
-export type NotesThreadMutingDeleteRequest = operations['notes/thread-muting/delete']['requestBody']['content']['application/json'];
-export type NotesTimelineRequest = operations['notes/timeline']['requestBody']['content']['application/json'];
-export type NotesTimelineResponse = operations['notes/timeline']['responses']['200']['content']['application/json'];
-export type NotesTranslateRequest = operations['notes/translate']['requestBody']['content']['application/json'];
-export type NotesTranslateResponse = operations['notes/translate']['responses']['200']['content']['application/json'];
-export type NotesUnrenoteRequest = operations['notes/unrenote']['requestBody']['content']['application/json'];
-export type NotesUserListTimelineRequest = operations['notes/user-list-timeline']['requestBody']['content']['application/json'];
-export type NotesUserListTimelineResponse = operations['notes/user-list-timeline']['responses']['200']['content']['application/json'];
-export type NotesEditRequest = operations['notes/edit']['requestBody']['content']['application/json'];
-export type NotesEditResponse = operations['notes/edit']['responses']['200']['content']['application/json'];
-export type NotesVersionsRequest = operations['notes/versions']['requestBody']['content']['application/json'];
-export type NotesVersionsResponse = operations['notes/versions']['responses']['200']['content']['application/json'];
-export type NotificationsCreateRequest = operations['notifications/create']['requestBody']['content']['application/json'];
+export type NotesChildrenRequest = operations['notes___children']['requestBody']['content']['application/json'];
+export type NotesChildrenResponse = operations['notes___children']['responses']['200']['content']['application/json'];
+export type NotesClipsRequest = operations['notes___clips']['requestBody']['content']['application/json'];
+export type NotesClipsResponse = operations['notes___clips']['responses']['200']['content']['application/json'];
+export type NotesConversationRequest = operations['notes___conversation']['requestBody']['content']['application/json'];
+export type NotesConversationResponse = operations['notes___conversation']['responses']['200']['content']['application/json'];
+export type NotesCreateRequest = operations['notes___create']['requestBody']['content']['application/json'];
+export type NotesCreateResponse = operations['notes___create']['responses']['200']['content']['application/json'];
+export type NotesDeleteRequest = operations['notes___delete']['requestBody']['content']['application/json'];
+export type NotesFavoritesCreateRequest = operations['notes___favorites___create']['requestBody']['content']['application/json'];
+export type NotesFavoritesDeleteRequest = operations['notes___favorites___delete']['requestBody']['content']['application/json'];
+export type NotesFeaturedRequest = operations['notes___featured']['requestBody']['content']['application/json'];
+export type NotesFeaturedResponse = operations['notes___featured']['responses']['200']['content']['application/json'];
+export type NotesGlobalTimelineRequest = operations['notes___global-timeline']['requestBody']['content']['application/json'];
+export type NotesGlobalTimelineResponse = operations['notes___global-timeline']['responses']['200']['content']['application/json'];
+export type NotesHybridTimelineRequest = operations['notes___hybrid-timeline']['requestBody']['content']['application/json'];
+export type NotesHybridTimelineResponse = operations['notes___hybrid-timeline']['responses']['200']['content']['application/json'];
+export type NotesLocalTimelineRequest = operations['notes___local-timeline']['requestBody']['content']['application/json'];
+export type NotesLocalTimelineResponse = operations['notes___local-timeline']['responses']['200']['content']['application/json'];
+export type NotesMentionsRequest = operations['notes___mentions']['requestBody']['content']['application/json'];
+export type NotesMentionsResponse = operations['notes___mentions']['responses']['200']['content']['application/json'];
+export type NotesPollsRecommendationRequest = operations['notes___polls___recommendation']['requestBody']['content']['application/json'];
+export type NotesPollsRecommendationResponse = operations['notes___polls___recommendation']['responses']['200']['content']['application/json'];
+export type NotesPollsVoteRequest = operations['notes___polls___vote']['requestBody']['content']['application/json'];
+export type NotesReactionsRequest = operations['notes___reactions']['requestBody']['content']['application/json'];
+export type NotesReactionsResponse = operations['notes___reactions']['responses']['200']['content']['application/json'];
+export type NotesReactionsCreateRequest = operations['notes___reactions___create']['requestBody']['content']['application/json'];
+export type NotesReactionsDeleteRequest = operations['notes___reactions___delete']['requestBody']['content']['application/json'];
+export type NotesRenotesRequest = operations['notes___renotes']['requestBody']['content']['application/json'];
+export type NotesRenotesResponse = operations['notes___renotes']['responses']['200']['content']['application/json'];
+export type NotesRepliesRequest = operations['notes___replies']['requestBody']['content']['application/json'];
+export type NotesRepliesResponse = operations['notes___replies']['responses']['200']['content']['application/json'];
+export type NotesSearchByTagRequest = operations['notes___search-by-tag']['requestBody']['content']['application/json'];
+export type NotesSearchByTagResponse = operations['notes___search-by-tag']['responses']['200']['content']['application/json'];
+export type NotesSearchRequest = operations['notes___search']['requestBody']['content']['application/json'];
+export type NotesSearchResponse = operations['notes___search']['responses']['200']['content']['application/json'];
+export type NotesShowRequest = operations['notes___show']['requestBody']['content']['application/json'];
+export type NotesShowResponse = operations['notes___show']['responses']['200']['content']['application/json'];
+export type NotesStateRequest = operations['notes___state']['requestBody']['content']['application/json'];
+export type NotesStateResponse = operations['notes___state']['responses']['200']['content']['application/json'];
+export type NotesThreadMutingCreateRequest = operations['notes___thread-muting___create']['requestBody']['content']['application/json'];
+export type NotesThreadMutingDeleteRequest = operations['notes___thread-muting___delete']['requestBody']['content']['application/json'];
+export type NotesTimelineRequest = operations['notes___timeline']['requestBody']['content']['application/json'];
+export type NotesTimelineResponse = operations['notes___timeline']['responses']['200']['content']['application/json'];
+export type NotesTranslateRequest = operations['notes___translate']['requestBody']['content']['application/json'];
+export type NotesTranslateResponse = operations['notes___translate']['responses']['200']['content']['application/json'];
+export type NotesUnrenoteRequest = operations['notes___unrenote']['requestBody']['content']['application/json'];
+export type NotesUserListTimelineRequest = operations['notes___user-list-timeline']['requestBody']['content']['application/json'];
+export type NotesUserListTimelineResponse = operations['notes___user-list-timeline']['responses']['200']['content']['application/json'];
+export type NotificationsCreateRequest = operations['notifications___create']['requestBody']['content']['application/json'];
 export type PagePushRequest = operations['page-push']['requestBody']['content']['application/json'];
-export type PagesCreateRequest = operations['pages/create']['requestBody']['content']['application/json'];
-export type PagesCreateResponse = operations['pages/create']['responses']['200']['content']['application/json'];
-export type PagesDeleteRequest = operations['pages/delete']['requestBody']['content']['application/json'];
-export type PagesFeaturedResponse = operations['pages/featured']['responses']['200']['content']['application/json'];
-export type PagesLikeRequest = operations['pages/like']['requestBody']['content']['application/json'];
-export type PagesShowRequest = operations['pages/show']['requestBody']['content']['application/json'];
-export type PagesShowResponse = operations['pages/show']['responses']['200']['content']['application/json'];
-export type PagesUnlikeRequest = operations['pages/unlike']['requestBody']['content']['application/json'];
-export type PagesUpdateRequest = operations['pages/update']['requestBody']['content']['application/json'];
-export type FlashCreateRequest = operations['flash/create']['requestBody']['content']['application/json'];
-export type FlashCreateResponse = operations['flash/create']['responses']['200']['content']['application/json'];
-export type FlashDeleteRequest = operations['flash/delete']['requestBody']['content']['application/json'];
-export type FlashFeaturedResponse = operations['flash/featured']['responses']['200']['content']['application/json'];
-export type FlashLikeRequest = operations['flash/like']['requestBody']['content']['application/json'];
-export type FlashShowRequest = operations['flash/show']['requestBody']['content']['application/json'];
-export type FlashShowResponse = operations['flash/show']['responses']['200']['content']['application/json'];
-export type FlashUnlikeRequest = operations['flash/unlike']['requestBody']['content']['application/json'];
-export type FlashUpdateRequest = operations['flash/update']['requestBody']['content']['application/json'];
-export type FlashMyRequest = operations['flash/my']['requestBody']['content']['application/json'];
-export type FlashMyResponse = operations['flash/my']['responses']['200']['content']['application/json'];
-export type FlashMyLikesRequest = operations['flash/my-likes']['requestBody']['content']['application/json'];
-export type FlashMyLikesResponse = operations['flash/my-likes']['responses']['200']['content']['application/json'];
+export type PagesCreateRequest = operations['pages___create']['requestBody']['content']['application/json'];
+export type PagesCreateResponse = operations['pages___create']['responses']['200']['content']['application/json'];
+export type PagesDeleteRequest = operations['pages___delete']['requestBody']['content']['application/json'];
+export type PagesFeaturedResponse = operations['pages___featured']['responses']['200']['content']['application/json'];
+export type PagesLikeRequest = operations['pages___like']['requestBody']['content']['application/json'];
+export type PagesShowRequest = operations['pages___show']['requestBody']['content']['application/json'];
+export type PagesShowResponse = operations['pages___show']['responses']['200']['content']['application/json'];
+export type PagesUnlikeRequest = operations['pages___unlike']['requestBody']['content']['application/json'];
+export type PagesUpdateRequest = operations['pages___update']['requestBody']['content']['application/json'];
+export type FlashCreateRequest = operations['flash___create']['requestBody']['content']['application/json'];
+export type FlashCreateResponse = operations['flash___create']['responses']['200']['content']['application/json'];
+export type FlashDeleteRequest = operations['flash___delete']['requestBody']['content']['application/json'];
+export type FlashFeaturedResponse = operations['flash___featured']['responses']['200']['content']['application/json'];
+export type FlashLikeRequest = operations['flash___like']['requestBody']['content']['application/json'];
+export type FlashShowRequest = operations['flash___show']['requestBody']['content']['application/json'];
+export type FlashShowResponse = operations['flash___show']['responses']['200']['content']['application/json'];
+export type FlashUnlikeRequest = operations['flash___unlike']['requestBody']['content']['application/json'];
+export type FlashUpdateRequest = operations['flash___update']['requestBody']['content']['application/json'];
+export type FlashMyRequest = operations['flash___my']['requestBody']['content']['application/json'];
+export type FlashMyResponse = operations['flash___my']['responses']['200']['content']['application/json'];
+export type FlashMyLikesRequest = operations['flash___my-likes']['requestBody']['content']['application/json'];
+export type FlashMyLikesResponse = operations['flash___my-likes']['responses']['200']['content']['application/json'];
 export type PingResponse = operations['ping']['responses']['200']['content']['application/json'];
 export type PinnedUsersResponse = operations['pinned-users']['responses']['200']['content']['application/json'];
-export type PromoReadRequest = operations['promo/read']['requestBody']['content']['application/json'];
-export type RolesListResponse = operations['roles/list']['responses']['200']['content']['application/json'];
-export type RolesShowRequest = operations['roles/show']['requestBody']['content']['application/json'];
-export type RolesShowResponse = operations['roles/show']['responses']['200']['content']['application/json'];
-export type RolesUsersRequest = operations['roles/users']['requestBody']['content']['application/json'];
-export type RolesUsersResponse = operations['roles/users']['responses']['200']['content']['application/json'];
-export type RolesNotesRequest = operations['roles/notes']['requestBody']['content']['application/json'];
-export type RolesNotesResponse = operations['roles/notes']['responses']['200']['content']['application/json'];
+export type PromoReadRequest = operations['promo___read']['requestBody']['content']['application/json'];
+export type RolesListResponse = operations['roles___list']['responses']['200']['content']['application/json'];
+export type RolesShowRequest = operations['roles___show']['requestBody']['content']['application/json'];
+export type RolesShowResponse = operations['roles___show']['responses']['200']['content']['application/json'];
+export type RolesUsersRequest = operations['roles___users']['requestBody']['content']['application/json'];
+export type RolesUsersResponse = operations['roles___users']['responses']['200']['content']['application/json'];
+export type RolesNotesRequest = operations['roles___notes']['requestBody']['content']['application/json'];
+export type RolesNotesResponse = operations['roles___notes']['responses']['200']['content']['application/json'];
 export type RequestResetPasswordRequest = operations['request-reset-password']['requestBody']['content']['application/json'];
 export type ResetPasswordRequest = operations['reset-password']['requestBody']['content']['application/json'];
 export type ServerInfoResponse = operations['server-info']['responses']['200']['content']['application/json'];
 export type StatsResponse = operations['stats']['responses']['200']['content']['application/json'];
-export type SwShowRegistrationRequest = operations['sw/show-registration']['requestBody']['content']['application/json'];
-export type SwShowRegistrationResponse = operations['sw/show-registration']['responses']['200']['content']['application/json'];
-export type SwUpdateRegistrationRequest = operations['sw/update-registration']['requestBody']['content']['application/json'];
-export type SwUpdateRegistrationResponse = operations['sw/update-registration']['responses']['200']['content']['application/json'];
-export type SwRegisterRequest = operations['sw/register']['requestBody']['content']['application/json'];
-export type SwRegisterResponse = operations['sw/register']['responses']['200']['content']['application/json'];
-export type SwUnregisterRequest = operations['sw/unregister']['requestBody']['content']['application/json'];
+export type SwShowRegistrationRequest = operations['sw___show-registration']['requestBody']['content']['application/json'];
+export type SwShowRegistrationResponse = operations['sw___show-registration']['responses']['200']['content']['application/json'];
+export type SwUpdateRegistrationRequest = operations['sw___update-registration']['requestBody']['content']['application/json'];
+export type SwUpdateRegistrationResponse = operations['sw___update-registration']['responses']['200']['content']['application/json'];
+export type SwRegisterRequest = operations['sw___register']['requestBody']['content']['application/json'];
+export type SwRegisterResponse = operations['sw___register']['responses']['200']['content']['application/json'];
+export type SwUnregisterRequest = operations['sw___unregister']['requestBody']['content']['application/json'];
 export type TestRequest = operations['test']['requestBody']['content']['application/json'];
 export type TestResponse = operations['test']['responses']['200']['content']['application/json'];
-export type UsernameAvailableRequest = operations['username/available']['requestBody']['content']['application/json'];
-export type UsernameAvailableResponse = operations['username/available']['responses']['200']['content']['application/json'];
+export type UsernameAvailableRequest = operations['username___available']['requestBody']['content']['application/json'];
+export type UsernameAvailableResponse = operations['username___available']['responses']['200']['content']['application/json'];
 export type UsersRequest = operations['users']['requestBody']['content']['application/json'];
 export type UsersResponse = operations['users']['responses']['200']['content']['application/json'];
-export type UsersClipsRequest = operations['users/clips']['requestBody']['content']['application/json'];
-export type UsersClipsResponse = operations['users/clips']['responses']['200']['content']['application/json'];
-export type UsersFollowersRequest = operations['users/followers']['requestBody']['content']['application/json'];
-export type UsersFollowersResponse = operations['users/followers']['responses']['200']['content']['application/json'];
-export type UsersFollowingRequest = operations['users/following']['requestBody']['content']['application/json'];
-export type UsersFollowingResponse = operations['users/following']['responses']['200']['content']['application/json'];
-export type UsersGalleryPostsRequest = operations['users/gallery/posts']['requestBody']['content']['application/json'];
-export type UsersGalleryPostsResponse = operations['users/gallery/posts']['responses']['200']['content']['application/json'];
-export type UsersGetFrequentlyRepliedUsersRequest = operations['users/get-frequently-replied-users']['requestBody']['content']['application/json'];
-export type UsersGetFrequentlyRepliedUsersResponse = operations['users/get-frequently-replied-users']['responses']['200']['content']['application/json'];
-export type UsersFeaturedNotesRequest = operations['users/featured-notes']['requestBody']['content']['application/json'];
-export type UsersFeaturedNotesResponse = operations['users/featured-notes']['responses']['200']['content']['application/json'];
-export type UsersListsCreateRequest = operations['users/lists/create']['requestBody']['content']['application/json'];
-export type UsersListsCreateResponse = operations['users/lists/create']['responses']['200']['content']['application/json'];
-export type UsersListsDeleteRequest = operations['users/lists/delete']['requestBody']['content']['application/json'];
-export type UsersListsListRequest = operations['users/lists/list']['requestBody']['content']['application/json'];
-export type UsersListsListResponse = operations['users/lists/list']['responses']['200']['content']['application/json'];
-export type UsersListsPullRequest = operations['users/lists/pull']['requestBody']['content']['application/json'];
-export type UsersListsPushRequest = operations['users/lists/push']['requestBody']['content']['application/json'];
-export type UsersListsShowRequest = operations['users/lists/show']['requestBody']['content']['application/json'];
-export type UsersListsShowResponse = operations['users/lists/show']['responses']['200']['content']['application/json'];
-export type UsersListsFavoriteRequest = operations['users/lists/favorite']['requestBody']['content']['application/json'];
-export type UsersListsUnfavoriteRequest = operations['users/lists/unfavorite']['requestBody']['content']['application/json'];
-export type UsersListsUpdateRequest = operations['users/lists/update']['requestBody']['content']['application/json'];
-export type UsersListsUpdateResponse = operations['users/lists/update']['responses']['200']['content']['application/json'];
-export type UsersListsCreateFromPublicRequest = operations['users/lists/create-from-public']['requestBody']['content']['application/json'];
-export type UsersListsCreateFromPublicResponse = operations['users/lists/create-from-public']['responses']['200']['content']['application/json'];
-export type UsersListsUpdateMembershipRequest = operations['users/lists/update-membership']['requestBody']['content']['application/json'];
-export type UsersListsGetMembershipsRequest = operations['users/lists/get-memberships']['requestBody']['content']['application/json'];
-export type UsersListsGetMembershipsResponse = operations['users/lists/get-memberships']['responses']['200']['content']['application/json'];
-export type UsersNotesRequest = operations['users/notes']['requestBody']['content']['application/json'];
-export type UsersNotesResponse = operations['users/notes']['responses']['200']['content']['application/json'];
-export type UsersPagesRequest = operations['users/pages']['requestBody']['content']['application/json'];
-export type UsersPagesResponse = operations['users/pages']['responses']['200']['content']['application/json'];
-export type UsersFlashsRequest = operations['users/flashs']['requestBody']['content']['application/json'];
-export type UsersFlashsResponse = operations['users/flashs']['responses']['200']['content']['application/json'];
-export type UsersReactionsRequest = operations['users/reactions']['requestBody']['content']['application/json'];
-export type UsersReactionsResponse = operations['users/reactions']['responses']['200']['content']['application/json'];
-export type UsersRecommendationRequest = operations['users/recommendation']['requestBody']['content']['application/json'];
-export type UsersRecommendationResponse = operations['users/recommendation']['responses']['200']['content']['application/json'];
-export type UsersRelationRequest = operations['users/relation']['requestBody']['content']['application/json'];
-export type UsersRelationResponse = operations['users/relation']['responses']['200']['content']['application/json'];
-export type UsersReportAbuseRequest = operations['users/report-abuse']['requestBody']['content']['application/json'];
-export type UsersSearchByUsernameAndHostRequest = operations['users/search-by-username-and-host']['requestBody']['content']['application/json'];
-export type UsersSearchByUsernameAndHostResponse = operations['users/search-by-username-and-host']['responses']['200']['content']['application/json'];
-export type UsersSearchRequest = operations['users/search']['requestBody']['content']['application/json'];
-export type UsersSearchResponse = operations['users/search']['responses']['200']['content']['application/json'];
-export type UsersShowRequest = operations['users/show']['requestBody']['content']['application/json'];
-export type UsersShowResponse = operations['users/show']['responses']['200']['content']['application/json'];
-export type UsersAchievementsRequest = operations['users/achievements']['requestBody']['content']['application/json'];
-export type UsersAchievementsResponse = operations['users/achievements']['responses']['200']['content']['application/json'];
-export type UsersUpdateMemoRequest = operations['users/update-memo']['requestBody']['content']['application/json'];
+export type UsersClipsRequest = operations['users___clips']['requestBody']['content']['application/json'];
+export type UsersClipsResponse = operations['users___clips']['responses']['200']['content']['application/json'];
+export type UsersFollowersRequest = operations['users___followers']['requestBody']['content']['application/json'];
+export type UsersFollowersResponse = operations['users___followers']['responses']['200']['content']['application/json'];
+export type UsersFollowingRequest = operations['users___following']['requestBody']['content']['application/json'];
+export type UsersFollowingResponse = operations['users___following']['responses']['200']['content']['application/json'];
+export type UsersGalleryPostsRequest = operations['users___gallery___posts']['requestBody']['content']['application/json'];
+export type UsersGalleryPostsResponse = operations['users___gallery___posts']['responses']['200']['content']['application/json'];
+export type UsersGetFrequentlyRepliedUsersRequest = operations['users___get-frequently-replied-users']['requestBody']['content']['application/json'];
+export type UsersGetFrequentlyRepliedUsersResponse = operations['users___get-frequently-replied-users']['responses']['200']['content']['application/json'];
+export type UsersFeaturedNotesRequest = operations['users___featured-notes']['requestBody']['content']['application/json'];
+export type UsersFeaturedNotesResponse = operations['users___featured-notes']['responses']['200']['content']['application/json'];
+export type UsersListsCreateRequest = operations['users___lists___create']['requestBody']['content']['application/json'];
+export type UsersListsCreateResponse = operations['users___lists___create']['responses']['200']['content']['application/json'];
+export type UsersListsDeleteRequest = operations['users___lists___delete']['requestBody']['content']['application/json'];
+export type UsersListsListRequest = operations['users___lists___list']['requestBody']['content']['application/json'];
+export type UsersListsListResponse = operations['users___lists___list']['responses']['200']['content']['application/json'];
+export type UsersListsPullRequest = operations['users___lists___pull']['requestBody']['content']['application/json'];
+export type UsersListsPushRequest = operations['users___lists___push']['requestBody']['content']['application/json'];
+export type UsersListsShowRequest = operations['users___lists___show']['requestBody']['content']['application/json'];
+export type UsersListsShowResponse = operations['users___lists___show']['responses']['200']['content']['application/json'];
+export type UsersListsFavoriteRequest = operations['users___lists___favorite']['requestBody']['content']['application/json'];
+export type UsersListsUnfavoriteRequest = operations['users___lists___unfavorite']['requestBody']['content']['application/json'];
+export type UsersListsUpdateRequest = operations['users___lists___update']['requestBody']['content']['application/json'];
+export type UsersListsUpdateResponse = operations['users___lists___update']['responses']['200']['content']['application/json'];
+export type UsersListsCreateFromPublicRequest = operations['users___lists___create-from-public']['requestBody']['content']['application/json'];
+export type UsersListsCreateFromPublicResponse = operations['users___lists___create-from-public']['responses']['200']['content']['application/json'];
+export type UsersListsUpdateMembershipRequest = operations['users___lists___update-membership']['requestBody']['content']['application/json'];
+export type UsersListsGetMembershipsRequest = operations['users___lists___get-memberships']['requestBody']['content']['application/json'];
+export type UsersListsGetMembershipsResponse = operations['users___lists___get-memberships']['responses']['200']['content']['application/json'];
+export type UsersNotesRequest = operations['users___notes']['requestBody']['content']['application/json'];
+export type UsersNotesResponse = operations['users___notes']['responses']['200']['content']['application/json'];
+export type UsersPagesRequest = operations['users___pages']['requestBody']['content']['application/json'];
+export type UsersPagesResponse = operations['users___pages']['responses']['200']['content']['application/json'];
+export type UsersFlashsRequest = operations['users___flashs']['requestBody']['content']['application/json'];
+export type UsersFlashsResponse = operations['users___flashs']['responses']['200']['content']['application/json'];
+export type UsersReactionsRequest = operations['users___reactions']['requestBody']['content']['application/json'];
+export type UsersReactionsResponse = operations['users___reactions']['responses']['200']['content']['application/json'];
+export type UsersRecommendationRequest = operations['users___recommendation']['requestBody']['content']['application/json'];
+export type UsersRecommendationResponse = operations['users___recommendation']['responses']['200']['content']['application/json'];
+export type UsersRelationRequest = operations['users___relation']['requestBody']['content']['application/json'];
+export type UsersRelationResponse = operations['users___relation']['responses']['200']['content']['application/json'];
+export type UsersReportAbuseRequest = operations['users___report-abuse']['requestBody']['content']['application/json'];
+export type UsersSearchByUsernameAndHostRequest = operations['users___search-by-username-and-host']['requestBody']['content']['application/json'];
+export type UsersSearchByUsernameAndHostResponse = operations['users___search-by-username-and-host']['responses']['200']['content']['application/json'];
+export type UsersSearchRequest = operations['users___search']['requestBody']['content']['application/json'];
+export type UsersSearchResponse = operations['users___search']['responses']['200']['content']['application/json'];
+export type UsersShowRequest = operations['users___show']['requestBody']['content']['application/json'];
+export type UsersShowResponse = operations['users___show']['responses']['200']['content']['application/json'];
+export type UsersAchievementsRequest = operations['users___achievements']['requestBody']['content']['application/json'];
+export type UsersAchievementsResponse = operations['users___achievements']['responses']['200']['content']['application/json'];
+export type UsersUpdateMemoRequest = operations['users___update-memo']['requestBody']['content']['application/json'];
 export type FetchRssRequest = operations['fetch-rss']['requestBody']['content']['application/json'];
 export type FetchRssResponse = operations['fetch-rss']['responses']['200']['content']['application/json'];
 export type FetchExternalResourcesRequest = operations['fetch-external-resources']['requestBody']['content']['application/json'];
 export type FetchExternalResourcesResponse = operations['fetch-external-resources']['responses']['200']['content']['application/json'];
 export type RetentionResponse = operations['retention']['responses']['200']['content']['application/json'];
-export type SponsorsRequest = operations['sponsors']['requestBody']['content']['application/json'];
-export type BubbleGameRegisterRequest = operations['bubble-game/register']['requestBody']['content']['application/json'];
-export type BubbleGameRankingRequest = operations['bubble-game/ranking']['requestBody']['content']['application/json'];
-export type BubbleGameRankingResponse = operations['bubble-game/ranking']['responses']['200']['content']['application/json'];
-export type ReversiCancelMatchRequest = operations['reversi/cancel-match']['requestBody']['content']['application/json'];
-export type ReversiGamesRequest = operations['reversi/games']['requestBody']['content']['application/json'];
-export type ReversiGamesResponse = operations['reversi/games']['responses']['200']['content']['application/json'];
-export type ReversiMatchRequest = operations['reversi/match']['requestBody']['content']['application/json'];
-export type ReversiMatchResponse = operations['reversi/match']['responses']['200']['content']['application/json'];
-export type ReversiInvitationsResponse = operations['reversi/invitations']['responses']['200']['content']['application/json'];
-export type ReversiShowGameRequest = operations['reversi/show-game']['requestBody']['content']['application/json'];
-export type ReversiShowGameResponse = operations['reversi/show-game']['responses']['200']['content']['application/json'];
-export type ReversiSurrenderRequest = operations['reversi/surrender']['requestBody']['content']['application/json'];
-export type ReversiVerifyRequest = operations['reversi/verify']['requestBody']['content']['application/json'];
-export type ReversiVerifyResponse = operations['reversi/verify']['responses']['200']['content']['application/json'];
+export type BubbleGameRegisterRequest = operations['bubble-game___register']['requestBody']['content']['application/json'];
+export type BubbleGameRankingRequest = operations['bubble-game___ranking']['requestBody']['content']['application/json'];
+export type BubbleGameRankingResponse = operations['bubble-game___ranking']['responses']['200']['content']['application/json'];
+export type ReversiCancelMatchRequest = operations['reversi___cancel-match']['requestBody']['content']['application/json'];
+export type ReversiGamesRequest = operations['reversi___games']['requestBody']['content']['application/json'];
+export type ReversiGamesResponse = operations['reversi___games']['responses']['200']['content']['application/json'];
+export type ReversiMatchRequest = operations['reversi___match']['requestBody']['content']['application/json'];
+export type ReversiMatchResponse = operations['reversi___match']['responses']['200']['content']['application/json'];
+export type ReversiInvitationsResponse = operations['reversi___invitations']['responses']['200']['content']['application/json'];
+export type ReversiShowGameRequest = operations['reversi___show-game']['requestBody']['content']['application/json'];
+export type ReversiShowGameResponse = operations['reversi___show-game']['responses']['200']['content']['application/json'];
+export type ReversiSurrenderRequest = operations['reversi___surrender']['requestBody']['content']['application/json'];
+export type ReversiVerifyRequest = operations['reversi___verify']['requestBody']['content']['application/json'];
+export type ReversiVerifyResponse = operations['reversi___verify']['responses']['200']['content']['application/json'];
diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts
index ff314dec68..550bee9b82 100644
--- a/packages/misskey-js/src/autogen/types.ts
+++ b/packages/misskey-js/src/autogen/types.ts
@@ -19,7 +19,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:meta*
      */
-    post: operations['admin/meta'];
+    post: operations['admin___meta'];
   };
   '/admin/abuse-user-reports': {
     /**
@@ -28,7 +28,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:abuse-user-reports*
      */
-    post: operations['admin/abuse-user-reports'];
+    post: operations['admin___abuse-user-reports'];
   };
   '/admin/accounts/create': {
     /**
@@ -37,7 +37,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['admin/accounts/create'];
+    post: operations['admin___accounts___create'];
   };
   '/admin/accounts/delete': {
     /**
@@ -46,7 +46,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:account*
      */
-    post: operations['admin/accounts/delete'];
+    post: operations['admin___accounts___delete'];
   };
   '/admin/accounts/find-by-email': {
     /**
@@ -55,7 +55,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:account*
      */
-    post: operations['admin/accounts/find-by-email'];
+    post: operations['admin___accounts___find-by-email'];
   };
   '/admin/ad/create': {
     /**
@@ -64,7 +64,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
      */
-    post: operations['admin/ad/create'];
+    post: operations['admin___ad___create'];
   };
   '/admin/ad/delete': {
     /**
@@ -73,7 +73,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
      */
-    post: operations['admin/ad/delete'];
+    post: operations['admin___ad___delete'];
   };
   '/admin/ad/list': {
     /**
@@ -82,7 +82,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:ad*
      */
-    post: operations['admin/ad/list'];
+    post: operations['admin___ad___list'];
   };
   '/admin/ad/update': {
     /**
@@ -91,7 +91,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
      */
-    post: operations['admin/ad/update'];
+    post: operations['admin___ad___update'];
   };
   '/admin/announcements/create': {
     /**
@@ -100,7 +100,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
      */
-    post: operations['admin/announcements/create'];
+    post: operations['admin___announcements___create'];
   };
   '/admin/announcements/delete': {
     /**
@@ -109,7 +109,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
      */
-    post: operations['admin/announcements/delete'];
+    post: operations['admin___announcements___delete'];
   };
   '/admin/announcements/list': {
     /**
@@ -118,7 +118,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:announcements*
      */
-    post: operations['admin/announcements/list'];
+    post: operations['admin___announcements___list'];
   };
   '/admin/announcements/update': {
     /**
@@ -127,7 +127,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
      */
-    post: operations['admin/announcements/update'];
+    post: operations['admin___announcements___update'];
   };
   '/admin/avatar-decorations/create': {
     /**
@@ -136,7 +136,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
      */
-    post: operations['admin/avatar-decorations/create'];
+    post: operations['admin___avatar-decorations___create'];
   };
   '/admin/avatar-decorations/delete': {
     /**
@@ -145,7 +145,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
      */
-    post: operations['admin/avatar-decorations/delete'];
+    post: operations['admin___avatar-decorations___delete'];
   };
   '/admin/avatar-decorations/list': {
     /**
@@ -154,7 +154,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:avatar-decorations*
      */
-    post: operations['admin/avatar-decorations/list'];
+    post: operations['admin___avatar-decorations___list'];
   };
   '/admin/avatar-decorations/update': {
     /**
@@ -163,7 +163,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
      */
-    post: operations['admin/avatar-decorations/update'];
+    post: operations['admin___avatar-decorations___update'];
   };
   '/admin/delete-all-files-of-a-user': {
     /**
@@ -172,7 +172,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:delete-all-files-of-a-user*
      */
-    post: operations['admin/delete-all-files-of-a-user'];
+    post: operations['admin___delete-all-files-of-a-user'];
   };
   '/admin/unset-user-avatar': {
     /**
@@ -181,7 +181,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-avatar*
      */
-    post: operations['admin/unset-user-avatar'];
+    post: operations['admin___unset-user-avatar'];
   };
   '/admin/unset-user-banner': {
     /**
@@ -190,7 +190,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-banner*
      */
-    post: operations['admin/unset-user-banner'];
+    post: operations['admin___unset-user-banner'];
   };
   '/admin/drive/clean-remote-files': {
     /**
@@ -199,7 +199,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
      */
-    post: operations['admin/drive/clean-remote-files'];
+    post: operations['admin___drive___clean-remote-files'];
   };
   '/admin/drive/cleanup': {
     /**
@@ -208,7 +208,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
      */
-    post: operations['admin/drive/cleanup'];
+    post: operations['admin___drive___cleanup'];
   };
   '/admin/drive/files': {
     /**
@@ -217,7 +217,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
      */
-    post: operations['admin/drive/files'];
+    post: operations['admin___drive___files'];
   };
   '/admin/drive/show-file': {
     /**
@@ -226,7 +226,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
      */
-    post: operations['admin/drive/show-file'];
+    post: operations['admin___drive___show-file'];
   };
   '/admin/emoji/add-aliases-bulk': {
     /**
@@ -235,7 +235,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/add-aliases-bulk'];
+    post: operations['admin___emoji___add-aliases-bulk'];
   };
   '/admin/emoji/add': {
     /**
@@ -244,7 +244,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/add'];
+    post: operations['admin___emoji___add'];
   };
   '/admin/emoji/copy': {
     /**
@@ -253,7 +253,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/copy'];
+    post: operations['admin___emoji___copy'];
   };
   '/admin/emoji/delete-bulk': {
     /**
@@ -262,7 +262,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/delete-bulk'];
+    post: operations['admin___emoji___delete-bulk'];
   };
   '/admin/emoji/delete': {
     /**
@@ -271,7 +271,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/delete'];
+    post: operations['admin___emoji___delete'];
   };
   '/admin/emoji/import-zip': {
     /**
@@ -281,7 +281,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['admin/emoji/import-zip'];
+    post: operations['admin___emoji___import-zip'];
   };
   '/admin/emoji/list-remote': {
     /**
@@ -290,7 +290,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
      */
-    post: operations['admin/emoji/list-remote'];
+    post: operations['admin___emoji___list-remote'];
   };
   '/admin/emoji/list': {
     /**
@@ -299,7 +299,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
      */
-    post: operations['admin/emoji/list'];
+    post: operations['admin___emoji___list'];
   };
   '/admin/emoji/remove-aliases-bulk': {
     /**
@@ -308,7 +308,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/remove-aliases-bulk'];
+    post: operations['admin___emoji___remove-aliases-bulk'];
   };
   '/admin/emoji/set-aliases-bulk': {
     /**
@@ -317,7 +317,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/set-aliases-bulk'];
+    post: operations['admin___emoji___set-aliases-bulk'];
   };
   '/admin/emoji/set-category-bulk': {
     /**
@@ -326,7 +326,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/set-category-bulk'];
+    post: operations['admin___emoji___set-category-bulk'];
   };
   '/admin/emoji/set-license-bulk': {
     /**
@@ -335,7 +335,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/set-license-bulk'];
+    post: operations['admin___emoji___set-license-bulk'];
   };
   '/admin/emoji/update': {
     /**
@@ -344,7 +344,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
      */
-    post: operations['admin/emoji/update'];
+    post: operations['admin___emoji___update'];
   };
   '/admin/federation/delete-all-files': {
     /**
@@ -353,7 +353,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
      */
-    post: operations['admin/federation/delete-all-files'];
+    post: operations['admin___federation___delete-all-files'];
   };
   '/admin/federation/refresh-remote-instance-metadata': {
     /**
@@ -362,7 +362,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
      */
-    post: operations['admin/federation/refresh-remote-instance-metadata'];
+    post: operations['admin___federation___refresh-remote-instance-metadata'];
   };
   '/admin/federation/remove-all-following': {
     /**
@@ -371,7 +371,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
      */
-    post: operations['admin/federation/remove-all-following'];
+    post: operations['admin___federation___remove-all-following'];
   };
   '/admin/federation/update-instance': {
     /**
@@ -380,7 +380,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
      */
-    post: operations['admin/federation/update-instance'];
+    post: operations['admin___federation___update-instance'];
   };
   '/admin/get-index-stats': {
     /**
@@ -389,7 +389,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:index-stats*
      */
-    post: operations['admin/get-index-stats'];
+    post: operations['admin___get-index-stats'];
   };
   '/admin/get-table-stats': {
     /**
@@ -398,7 +398,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:table-stats*
      */
-    post: operations['admin/get-table-stats'];
+    post: operations['admin___get-table-stats'];
   };
   '/admin/get-user-ips': {
     /**
@@ -407,7 +407,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:user-ips*
      */
-    post: operations['admin/get-user-ips'];
+    post: operations['admin___get-user-ips'];
   };
   '/admin/invite/create': {
     /**
@@ -416,7 +416,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes*
      */
-    post: operations['admin/invite/create'];
+    post: operations['admin___invite___create'];
   };
   '/admin/invite/list': {
     /**
@@ -425,7 +425,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:invite-codes*
      */
-    post: operations['admin/invite/list'];
+    post: operations['admin___invite___list'];
   };
   '/admin/promo/create': {
     /**
@@ -434,7 +434,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:promo*
      */
-    post: operations['admin/promo/create'];
+    post: operations['admin___promo___create'];
   };
   '/admin/queue/clear': {
     /**
@@ -443,7 +443,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
      */
-    post: operations['admin/queue/clear'];
+    post: operations['admin___queue___clear'];
   };
   '/admin/queue/deliver-delayed': {
     /**
@@ -452,7 +452,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
      */
-    post: operations['admin/queue/deliver-delayed'];
+    post: operations['admin___queue___deliver-delayed'];
   };
   '/admin/queue/inbox-delayed': {
     /**
@@ -461,7 +461,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
      */
-    post: operations['admin/queue/inbox-delayed'];
+    post: operations['admin___queue___inbox-delayed'];
   };
   '/admin/queue/promote': {
     /**
@@ -470,7 +470,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
      */
-    post: operations['admin/queue/promote'];
+    post: operations['admin___queue___promote'];
   };
   '/admin/queue/stats': {
     /**
@@ -479,7 +479,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
      */
-    post: operations['admin/queue/stats'];
+    post: operations['admin___queue___stats'];
   };
   '/admin/relays/add': {
     /**
@@ -488,7 +488,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
      */
-    post: operations['admin/relays/add'];
+    post: operations['admin___relays___add'];
   };
   '/admin/relays/list': {
     /**
@@ -497,7 +497,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:relays*
      */
-    post: operations['admin/relays/list'];
+    post: operations['admin___relays___list'];
   };
   '/admin/relays/remove': {
     /**
@@ -506,7 +506,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
      */
-    post: operations['admin/relays/remove'];
+    post: operations['admin___relays___remove'];
   };
   '/admin/reset-password': {
     /**
@@ -515,7 +515,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:reset-password*
      */
-    post: operations['admin/reset-password'];
+    post: operations['admin___reset-password'];
   };
   '/admin/resolve-abuse-user-report': {
     /**
@@ -524,7 +524,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:resolve-abuse-user-report*
      */
-    post: operations['admin/resolve-abuse-user-report'];
+    post: operations['admin___resolve-abuse-user-report'];
   };
   '/admin/send-email': {
     /**
@@ -533,7 +533,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:send-email*
      */
-    post: operations['admin/send-email'];
+    post: operations['admin___send-email'];
   };
   '/admin/server-info': {
     /**
@@ -542,7 +542,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:server-info*
      */
-    post: operations['admin/server-info'];
+    post: operations['admin___server-info'];
   };
   '/admin/show-moderation-logs': {
     /**
@@ -551,7 +551,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:show-moderation-log*
      */
-    post: operations['admin/show-moderation-logs'];
+    post: operations['admin___show-moderation-logs'];
   };
   '/admin/show-user': {
     /**
@@ -560,7 +560,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:show-user*
      */
-    post: operations['admin/show-user'];
+    post: operations['admin___show-user'];
   };
   '/admin/show-users': {
     /**
@@ -569,7 +569,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:show-users*
      */
-    post: operations['admin/show-users'];
+    post: operations['admin___show-users'];
   };
   '/admin/nsfw-user': {
     /**
@@ -614,7 +614,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:suspend-user*
      */
-    post: operations['admin/suspend-user'];
+    post: operations['admin___suspend-user'];
   };
   '/admin/approve-user': {
     /**
@@ -632,7 +632,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:unsuspend-user*
      */
-    post: operations['admin/unsuspend-user'];
+    post: operations['admin___unsuspend-user'];
   };
   '/admin/update-meta': {
     /**
@@ -641,7 +641,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:meta*
      */
-    post: operations['admin/update-meta'];
+    post: operations['admin___update-meta'];
   };
   '/admin/delete-account': {
     /**
@@ -650,7 +650,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:delete-account*
      */
-    post: operations['admin/delete-account'];
+    post: operations['admin___delete-account'];
   };
   '/admin/update-user-note': {
     /**
@@ -659,7 +659,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:user-note*
      */
-    post: operations['admin/update-user-note'];
+    post: operations['admin___update-user-note'];
   };
   '/admin/roles/create': {
     /**
@@ -668,7 +668,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
      */
-    post: operations['admin/roles/create'];
+    post: operations['admin___roles___create'];
   };
   '/admin/roles/delete': {
     /**
@@ -677,7 +677,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
      */
-    post: operations['admin/roles/delete'];
+    post: operations['admin___roles___delete'];
   };
   '/admin/roles/list': {
     /**
@@ -686,7 +686,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
      */
-    post: operations['admin/roles/list'];
+    post: operations['admin___roles___list'];
   };
   '/admin/roles/show': {
     /**
@@ -695,7 +695,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
      */
-    post: operations['admin/roles/show'];
+    post: operations['admin___roles___show'];
   };
   '/admin/roles/update': {
     /**
@@ -704,7 +704,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
      */
-    post: operations['admin/roles/update'];
+    post: operations['admin___roles___update'];
   };
   '/admin/roles/assign': {
     /**
@@ -713,7 +713,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
      */
-    post: operations['admin/roles/assign'];
+    post: operations['admin___roles___assign'];
   };
   '/admin/roles/unassign': {
     /**
@@ -722,7 +722,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
      */
-    post: operations['admin/roles/unassign'];
+    post: operations['admin___roles___unassign'];
   };
   '/admin/roles/update-default-policies': {
     /**
@@ -731,7 +731,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
      */
-    post: operations['admin/roles/update-default-policies'];
+    post: operations['admin___roles___update-default-policies'];
   };
   '/admin/roles/users': {
     /**
@@ -740,7 +740,7 @@ export type paths = {
      *
      * **Credential required**: *No* / **Permission**: *read:admin:roles*
      */
-    post: operations['admin/roles/users'];
+    post: operations['admin___roles___users'];
   };
   '/announcements': {
     /**
@@ -758,7 +758,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['antennas/create'];
+    post: operations['antennas___create'];
   };
   '/antennas/delete': {
     /**
@@ -767,7 +767,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['antennas/delete'];
+    post: operations['antennas___delete'];
   };
   '/antennas/list': {
     /**
@@ -776,7 +776,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['antennas/list'];
+    post: operations['antennas___list'];
   };
   '/antennas/notes': {
     /**
@@ -785,7 +785,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['antennas/notes'];
+    post: operations['antennas___notes'];
   };
   '/antennas/show': {
     /**
@@ -794,7 +794,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['antennas/show'];
+    post: operations['antennas___show'];
   };
   '/antennas/update': {
     /**
@@ -803,7 +803,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['antennas/update'];
+    post: operations['antennas___update'];
   };
   '/ap/get': {
     /**
@@ -812,7 +812,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:federation*
      */
-    post: operations['ap/get'];
+    post: operations['ap___get'];
   };
   '/ap/show': {
     /**
@@ -821,7 +821,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['ap/show'];
+    post: operations['ap___show'];
   };
   '/app/create': {
     /**
@@ -830,7 +830,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['app/create'];
+    post: operations['app___create'];
   };
   '/app/show': {
     /**
@@ -839,7 +839,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['app/show'];
+    post: operations['app___show'];
   };
   '/auth/accept': {
     /**
@@ -849,7 +849,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['auth/accept'];
+    post: operations['auth___accept'];
   };
   '/auth/session/generate': {
     /**
@@ -858,7 +858,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['auth/session/generate'];
+    post: operations['auth___session___generate'];
   };
   '/auth/session/show': {
     /**
@@ -867,7 +867,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['auth/session/show'];
+    post: operations['auth___session___show'];
   };
   '/auth/session/userkey': {
     /**
@@ -876,7 +876,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['auth/session/userkey'];
+    post: operations['auth___session___userkey'];
   };
   '/blocking/create': {
     /**
@@ -885,7 +885,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:blocks*
      */
-    post: operations['blocking/create'];
+    post: operations['blocking___create'];
   };
   '/blocking/delete': {
     /**
@@ -894,7 +894,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:blocks*
      */
-    post: operations['blocking/delete'];
+    post: operations['blocking___delete'];
   };
   '/blocking/list': {
     /**
@@ -903,7 +903,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:blocks*
      */
-    post: operations['blocking/list'];
+    post: operations['blocking___list'];
   };
   '/channels/create': {
     /**
@@ -912,7 +912,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:channels*
      */
-    post: operations['channels/create'];
+    post: operations['channels___create'];
   };
   '/channels/featured': {
     /**
@@ -921,7 +921,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['channels/featured'];
+    post: operations['channels___featured'];
   };
   '/channels/follow': {
     /**
@@ -930,7 +930,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:channels*
      */
-    post: operations['channels/follow'];
+    post: operations['channels___follow'];
   };
   '/channels/followed': {
     /**
@@ -939,7 +939,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:channels*
      */
-    post: operations['channels/followed'];
+    post: operations['channels___followed'];
   };
   '/channels/owned': {
     /**
@@ -948,7 +948,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:channels*
      */
-    post: operations['channels/owned'];
+    post: operations['channels___owned'];
   };
   '/channels/show': {
     /**
@@ -957,7 +957,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['channels/show'];
+    post: operations['channels___show'];
   };
   '/channels/timeline': {
     /**
@@ -966,7 +966,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['channels/timeline'];
+    post: operations['channels___timeline'];
   };
   '/channels/unfollow': {
     /**
@@ -975,7 +975,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:channels*
      */
-    post: operations['channels/unfollow'];
+    post: operations['channels___unfollow'];
   };
   '/channels/update': {
     /**
@@ -984,7 +984,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:channels*
      */
-    post: operations['channels/update'];
+    post: operations['channels___update'];
   };
   '/channels/favorite': {
     /**
@@ -993,7 +993,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:channels*
      */
-    post: operations['channels/favorite'];
+    post: operations['channels___favorite'];
   };
   '/channels/unfavorite': {
     /**
@@ -1002,7 +1002,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:channels*
      */
-    post: operations['channels/unfavorite'];
+    post: operations['channels___unfavorite'];
   };
   '/channels/my-favorites': {
     /**
@@ -1011,7 +1011,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:channels*
      */
-    post: operations['channels/my-favorites'];
+    post: operations['channels___my-favorites'];
   };
   '/channels/search': {
     /**
@@ -1020,7 +1020,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['channels/search'];
+    post: operations['channels___search'];
   };
   '/charts/active-users': {
     /**
@@ -1029,14 +1029,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/active-users'];
+    get: operations['charts___active-users'];
     /**
      * charts/active-users
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/active-users'];
+    post: operations['charts___active-users'];
   };
   '/charts/ap-request': {
     /**
@@ -1045,14 +1045,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/ap-request'];
+    get: operations['charts___ap-request'];
     /**
      * charts/ap-request
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/ap-request'];
+    post: operations['charts___ap-request'];
   };
   '/charts/drive': {
     /**
@@ -1061,14 +1061,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/drive'];
+    get: operations['charts___drive'];
     /**
      * charts/drive
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/drive'];
+    post: operations['charts___drive'];
   };
   '/charts/federation': {
     /**
@@ -1077,14 +1077,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/federation'];
+    get: operations['charts___federation'];
     /**
      * charts/federation
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/federation'];
+    post: operations['charts___federation'];
   };
   '/charts/instance': {
     /**
@@ -1093,14 +1093,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/instance'];
+    get: operations['charts___instance'];
     /**
      * charts/instance
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/instance'];
+    post: operations['charts___instance'];
   };
   '/charts/notes': {
     /**
@@ -1109,14 +1109,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/notes'];
+    get: operations['charts___notes'];
     /**
      * charts/notes
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/notes'];
+    post: operations['charts___notes'];
   };
   '/charts/user/drive': {
     /**
@@ -1125,14 +1125,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/user/drive'];
+    get: operations['charts___user___drive'];
     /**
      * charts/user/drive
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/user/drive'];
+    post: operations['charts___user___drive'];
   };
   '/charts/user/following': {
     /**
@@ -1141,14 +1141,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/user/following'];
+    get: operations['charts___user___following'];
     /**
      * charts/user/following
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/user/following'];
+    post: operations['charts___user___following'];
   };
   '/charts/user/notes': {
     /**
@@ -1157,14 +1157,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/user/notes'];
+    get: operations['charts___user___notes'];
     /**
      * charts/user/notes
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/user/notes'];
+    post: operations['charts___user___notes'];
   };
   '/charts/user/pv': {
     /**
@@ -1173,14 +1173,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/user/pv'];
+    get: operations['charts___user___pv'];
     /**
      * charts/user/pv
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/user/pv'];
+    post: operations['charts___user___pv'];
   };
   '/charts/user/reactions': {
     /**
@@ -1189,14 +1189,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/user/reactions'];
+    get: operations['charts___user___reactions'];
     /**
      * charts/user/reactions
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/user/reactions'];
+    post: operations['charts___user___reactions'];
   };
   '/charts/users': {
     /**
@@ -1205,14 +1205,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['charts/users'];
+    get: operations['charts___users'];
     /**
      * charts/users
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['charts/users'];
+    post: operations['charts___users'];
   };
   '/clips/add-note': {
     /**
@@ -1221,7 +1221,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['clips/add-note'];
+    post: operations['clips___add-note'];
   };
   '/clips/remove-note': {
     /**
@@ -1230,7 +1230,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['clips/remove-note'];
+    post: operations['clips___remove-note'];
   };
   '/clips/create': {
     /**
@@ -1239,7 +1239,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['clips/create'];
+    post: operations['clips___create'];
   };
   '/clips/delete': {
     /**
@@ -1248,7 +1248,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['clips/delete'];
+    post: operations['clips___delete'];
   };
   '/clips/list': {
     /**
@@ -1257,7 +1257,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['clips/list'];
+    post: operations['clips___list'];
   };
   '/clips/notes': {
     /**
@@ -1266,7 +1266,7 @@ export type paths = {
      *
      * **Credential required**: *No* / **Permission**: *read:account*
      */
-    post: operations['clips/notes'];
+    post: operations['clips___notes'];
   };
   '/clips/show': {
     /**
@@ -1275,7 +1275,7 @@ export type paths = {
      *
      * **Credential required**: *No* / **Permission**: *read:account*
      */
-    post: operations['clips/show'];
+    post: operations['clips___show'];
   };
   '/clips/update': {
     /**
@@ -1284,7 +1284,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['clips/update'];
+    post: operations['clips___update'];
   };
   '/clips/favorite': {
     /**
@@ -1293,7 +1293,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:clip-favorite*
      */
-    post: operations['clips/favorite'];
+    post: operations['clips___favorite'];
   };
   '/clips/unfavorite': {
     /**
@@ -1302,7 +1302,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:clip-favorite*
      */
-    post: operations['clips/unfavorite'];
+    post: operations['clips___unfavorite'];
   };
   '/clips/my-favorites': {
     /**
@@ -1311,7 +1311,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:clip-favorite*
      */
-    post: operations['clips/my-favorites'];
+    post: operations['clips___my-favorites'];
   };
   '/drive': {
     /**
@@ -1329,7 +1329,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/files'];
+    post: operations['drive___files'];
   };
   '/drive/files/attached-notes': {
     /**
@@ -1338,7 +1338,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/files/attached-notes'];
+    post: operations['drive___files___attached-notes'];
   };
   '/drive/files/check-existence': {
     /**
@@ -1347,7 +1347,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/files/check-existence'];
+    post: operations['drive___files___check-existence'];
   };
   '/drive/files/create': {
     /**
@@ -1356,7 +1356,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:drive*
      */
-    post: operations['drive/files/create'];
+    post: operations['drive___files___create'];
   };
   '/drive/files/delete': {
     /**
@@ -1365,7 +1365,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:drive*
      */
-    post: operations['drive/files/delete'];
+    post: operations['drive___files___delete'];
   };
   '/drive/files/find-by-hash': {
     /**
@@ -1374,7 +1374,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/files/find-by-hash'];
+    post: operations['drive___files___find-by-hash'];
   };
   '/drive/files/find': {
     /**
@@ -1383,7 +1383,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/files/find'];
+    post: operations['drive___files___find'];
   };
   '/drive/files/show': {
     /**
@@ -1392,7 +1392,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/files/show'];
+    post: operations['drive___files___show'];
   };
   '/drive/files/update': {
     /**
@@ -1401,7 +1401,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:drive*
      */
-    post: operations['drive/files/update'];
+    post: operations['drive___files___update'];
   };
   '/drive/files/upload-from-url': {
     /**
@@ -1410,7 +1410,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:drive*
      */
-    post: operations['drive/files/upload-from-url'];
+    post: operations['drive___files___upload-from-url'];
   };
   '/drive/folders': {
     /**
@@ -1419,7 +1419,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/folders'];
+    post: operations['drive___folders'];
   };
   '/drive/folders/create': {
     /**
@@ -1428,7 +1428,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:drive*
      */
-    post: operations['drive/folders/create'];
+    post: operations['drive___folders___create'];
   };
   '/drive/folders/delete': {
     /**
@@ -1437,7 +1437,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:drive*
      */
-    post: operations['drive/folders/delete'];
+    post: operations['drive___folders___delete'];
   };
   '/drive/folders/find': {
     /**
@@ -1446,7 +1446,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/folders/find'];
+    post: operations['drive___folders___find'];
   };
   '/drive/folders/show': {
     /**
@@ -1455,7 +1455,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/folders/show'];
+    post: operations['drive___folders___show'];
   };
   '/drive/folders/update': {
     /**
@@ -1464,7 +1464,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:drive*
      */
-    post: operations['drive/folders/update'];
+    post: operations['drive___folders___update'];
   };
   '/drive/stream': {
     /**
@@ -1473,7 +1473,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:drive*
      */
-    post: operations['drive/stream'];
+    post: operations['drive___stream'];
   };
   '/email-address/available': {
     /**
@@ -1482,7 +1482,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['email-address/available'];
+    post: operations['email-address___available'];
   };
   '/endpoint': {
     /**
@@ -1519,7 +1519,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['federation/followers'];
+    post: operations['federation___followers'];
   };
   '/federation/following': {
     /**
@@ -1528,7 +1528,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['federation/following'];
+    post: operations['federation___following'];
   };
   '/federation/instances': {
     /**
@@ -1537,14 +1537,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['federation/instances'];
+    get: operations['federation___instances'];
     /**
      * federation/instances
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['federation/instances'];
+    post: operations['federation___instances'];
   };
   '/federation/show-instance': {
     /**
@@ -1553,7 +1553,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['federation/show-instance'];
+    post: operations['federation___show-instance'];
   };
   '/federation/update-remote-user': {
     /**
@@ -1562,7 +1562,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['federation/update-remote-user'];
+    post: operations['federation___update-remote-user'];
   };
   '/federation/users': {
     /**
@@ -1571,7 +1571,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['federation/users'];
+    post: operations['federation___users'];
   };
   '/federation/stats': {
     /**
@@ -1580,14 +1580,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['federation/stats'];
+    get: operations['federation___stats'];
     /**
      * federation/stats
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['federation/stats'];
+    post: operations['federation___stats'];
   };
   '/following/create': {
     /**
@@ -1596,7 +1596,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:following*
      */
-    post: operations['following/create'];
+    post: operations['following___create'];
   };
   '/following/delete': {
     /**
@@ -1605,7 +1605,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:following*
      */
-    post: operations['following/delete'];
+    post: operations['following___delete'];
   };
   '/following/update': {
     /**
@@ -1614,7 +1614,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:following*
      */
-    post: operations['following/update'];
+    post: operations['following___update'];
   };
   '/following/update-all': {
     /**
@@ -1623,7 +1623,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:following*
      */
-    post: operations['following/update-all'];
+    post: operations['following___update-all'];
   };
   '/following/invalidate': {
     /**
@@ -1632,7 +1632,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:following*
      */
-    post: operations['following/invalidate'];
+    post: operations['following___invalidate'];
   };
   '/following/requests/accept': {
     /**
@@ -1641,7 +1641,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:following*
      */
-    post: operations['following/requests/accept'];
+    post: operations['following___requests___accept'];
   };
   '/following/requests/cancel': {
     /**
@@ -1650,7 +1650,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:following*
      */
-    post: operations['following/requests/cancel'];
+    post: operations['following___requests___cancel'];
   };
   '/following/requests/list': {
     /**
@@ -1659,7 +1659,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:following*
      */
-    post: operations['following/requests/list'];
+    post: operations['following___requests___list'];
   };
   '/following/requests/reject': {
     /**
@@ -1668,7 +1668,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:following*
      */
-    post: operations['following/requests/reject'];
+    post: operations['following___requests___reject'];
   };
   '/gallery/featured': {
     /**
@@ -1677,7 +1677,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['gallery/featured'];
+    post: operations['gallery___featured'];
   };
   '/gallery/popular': {
     /**
@@ -1686,7 +1686,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['gallery/popular'];
+    post: operations['gallery___popular'];
   };
   '/gallery/posts': {
     /**
@@ -1695,7 +1695,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['gallery/posts'];
+    post: operations['gallery___posts'];
   };
   '/gallery/posts/create': {
     /**
@@ -1704,7 +1704,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:gallery*
      */
-    post: operations['gallery/posts/create'];
+    post: operations['gallery___posts___create'];
   };
   '/gallery/posts/delete': {
     /**
@@ -1713,7 +1713,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:gallery*
      */
-    post: operations['gallery/posts/delete'];
+    post: operations['gallery___posts___delete'];
   };
   '/gallery/posts/like': {
     /**
@@ -1722,7 +1722,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:gallery-likes*
      */
-    post: operations['gallery/posts/like'];
+    post: operations['gallery___posts___like'];
   };
   '/gallery/posts/show': {
     /**
@@ -1731,7 +1731,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['gallery/posts/show'];
+    post: operations['gallery___posts___show'];
   };
   '/gallery/posts/unlike': {
     /**
@@ -1740,7 +1740,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:gallery-likes*
      */
-    post: operations['gallery/posts/unlike'];
+    post: operations['gallery___posts___unlike'];
   };
   '/gallery/posts/update': {
     /**
@@ -1749,7 +1749,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:gallery*
      */
-    post: operations['gallery/posts/update'];
+    post: operations['gallery___posts___update'];
   };
   '/get-online-users-count': {
     /**
@@ -1783,7 +1783,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['hashtags/list'];
+    post: operations['hashtags___list'];
   };
   '/hashtags/search': {
     /**
@@ -1792,7 +1792,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['hashtags/search'];
+    post: operations['hashtags___search'];
   };
   '/hashtags/show': {
     /**
@@ -1801,7 +1801,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['hashtags/show'];
+    post: operations['hashtags___show'];
   };
   '/hashtags/trend': {
     /**
@@ -1810,14 +1810,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['hashtags/trend'];
+    get: operations['hashtags___trend'];
     /**
      * hashtags/trend
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['hashtags/trend'];
+    post: operations['hashtags___trend'];
   };
   '/hashtags/users': {
     /**
@@ -1826,7 +1826,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['hashtags/users'];
+    post: operations['hashtags___users'];
   };
   '/i': {
     /**
@@ -1845,7 +1845,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/2fa/done'];
+    post: operations['i___2fa___done'];
   };
   '/i/2fa/key-done': {
     /**
@@ -1855,7 +1855,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/2fa/key-done'];
+    post: operations['i___2fa___key-done'];
   };
   '/i/2fa/password-less': {
     /**
@@ -1865,7 +1865,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/2fa/password-less'];
+    post: operations['i___2fa___password-less'];
   };
   '/i/2fa/register-key': {
     /**
@@ -1875,7 +1875,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/2fa/register-key'];
+    post: operations['i___2fa___register-key'];
   };
   '/i/2fa/register': {
     /**
@@ -1885,7 +1885,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/2fa/register'];
+    post: operations['i___2fa___register'];
   };
   '/i/2fa/update-key': {
     /**
@@ -1895,7 +1895,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/2fa/update-key'];
+    post: operations['i___2fa___update-key'];
   };
   '/i/2fa/remove-key': {
     /**
@@ -1905,7 +1905,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/2fa/remove-key'];
+    post: operations['i___2fa___remove-key'];
   };
   '/i/2fa/unregister': {
     /**
@@ -1915,7 +1915,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/2fa/unregister'];
+    post: operations['i___2fa___unregister'];
   };
   '/i/apps': {
     /**
@@ -1925,7 +1925,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/apps'];
+    post: operations['i___apps'];
   };
   '/i/authorized-apps': {
     /**
@@ -1935,7 +1935,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/authorized-apps'];
+    post: operations['i___authorized-apps'];
   };
   '/i/claim-achievement': {
     /**
@@ -1944,7 +1944,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/claim-achievement'];
+    post: operations['i___claim-achievement'];
   };
   '/i/change-password': {
     /**
@@ -1954,7 +1954,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/change-password'];
+    post: operations['i___change-password'];
   };
   '/i/delete-account': {
     /**
@@ -1964,7 +1964,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/delete-account'];
+    post: operations['i___delete-account'];
   };
   '/i/export-data': {
     /**
@@ -1984,7 +1984,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/export-blocking'];
+    post: operations['i___export-blocking'];
   };
   '/i/export-following': {
     /**
@@ -1994,7 +1994,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/export-following'];
+    post: operations['i___export-following'];
   };
   '/i/export-mute': {
     /**
@@ -2004,7 +2004,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/export-mute'];
+    post: operations['i___export-mute'];
   };
   '/i/export-notes': {
     /**
@@ -2014,7 +2014,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/export-notes'];
+    post: operations['i___export-notes'];
   };
   '/i/export-clips': {
     /**
@@ -2024,7 +2024,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/export-clips'];
+    post: operations['i___export-clips'];
   };
   '/i/export-favorites': {
     /**
@@ -2034,7 +2034,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/export-favorites'];
+    post: operations['i___export-favorites'];
   };
   '/i/export-user-lists': {
     /**
@@ -2044,7 +2044,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/export-user-lists'];
+    post: operations['i___export-user-lists'];
   };
   '/i/export-antennas': {
     /**
@@ -2054,7 +2054,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/export-antennas'];
+    post: operations['i___export-antennas'];
   };
   '/i/favorites': {
     /**
@@ -2063,7 +2063,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:favorites*
      */
-    post: operations['i/favorites'];
+    post: operations['i___favorites'];
   };
   '/i/gallery/likes': {
     /**
@@ -2072,7 +2072,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:gallery-likes*
      */
-    post: operations['i/gallery/likes'];
+    post: operations['i___gallery___likes'];
   };
   '/i/gallery/posts': {
     /**
@@ -2081,7 +2081,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:gallery*
      */
-    post: operations['i/gallery/posts'];
+    post: operations['i___gallery___posts'];
   };
   '/i/import-blocking': {
     /**
@@ -2091,7 +2091,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/import-blocking'];
+    post: operations['i___import-blocking'];
   };
   '/i/import-following': {
     /**
@@ -2101,7 +2101,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/import-following'];
+    post: operations['i___import-following'];
   };
   '/i/import-notes': {
     /**
@@ -2121,7 +2121,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/import-muting'];
+    post: operations['i___import-muting'];
   };
   '/i/import-user-lists': {
     /**
@@ -2131,7 +2131,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/import-user-lists'];
+    post: operations['i___import-user-lists'];
   };
   '/i/import-antennas': {
     /**
@@ -2141,7 +2141,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/import-antennas'];
+    post: operations['i___import-antennas'];
   };
   '/i/notifications': {
     /**
@@ -2150,7 +2150,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:notifications*
      */
-    post: operations['i/notifications'];
+    post: operations['i___notifications'];
   };
   '/i/notifications-grouped': {
     /**
@@ -2159,7 +2159,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:notifications*
      */
-    post: operations['i/notifications-grouped'];
+    post: operations['i___notifications-grouped'];
   };
   '/i/page-likes': {
     /**
@@ -2168,7 +2168,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:page-likes*
      */
-    post: operations['i/page-likes'];
+    post: operations['i___page-likes'];
   };
   '/i/pages': {
     /**
@@ -2177,7 +2177,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:pages*
      */
-    post: operations['i/pages'];
+    post: operations['i___pages'];
   };
   '/i/pin': {
     /**
@@ -2186,7 +2186,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/pin'];
+    post: operations['i___pin'];
   };
   '/i/read-all-unread-notes': {
     /**
@@ -2195,7 +2195,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/read-all-unread-notes'];
+    post: operations['i___read-all-unread-notes'];
   };
   '/i/read-announcement': {
     /**
@@ -2204,7 +2204,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/read-announcement'];
+    post: operations['i___read-announcement'];
   };
   '/i/regenerate-token': {
     /**
@@ -2214,7 +2214,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/regenerate-token'];
+    post: operations['i___regenerate-token'];
   };
   '/i/registry/get-all': {
     /**
@@ -2223,7 +2223,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['i/registry/get-all'];
+    post: operations['i___registry___get-all'];
   };
   '/i/registry/get-unsecure': {
     /**
@@ -2241,7 +2241,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['i/registry/get-detail'];
+    post: operations['i___registry___get-detail'];
   };
   '/i/registry/get': {
     /**
@@ -2250,7 +2250,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['i/registry/get'];
+    post: operations['i___registry___get'];
   };
   '/i/registry/keys-with-type': {
     /**
@@ -2259,7 +2259,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['i/registry/keys-with-type'];
+    post: operations['i___registry___keys-with-type'];
   };
   '/i/registry/keys': {
     /**
@@ -2268,7 +2268,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['i/registry/keys'];
+    post: operations['i___registry___keys'];
   };
   '/i/registry/remove': {
     /**
@@ -2277,7 +2277,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/registry/remove'];
+    post: operations['i___registry___remove'];
   };
   '/i/registry/scopes-with-domain': {
     /**
@@ -2287,7 +2287,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/registry/scopes-with-domain'];
+    post: operations['i___registry___scopes-with-domain'];
   };
   '/i/registry/set': {
     /**
@@ -2296,7 +2296,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/registry/set'];
+    post: operations['i___registry___set'];
   };
   '/i/revoke-token': {
     /**
@@ -2306,7 +2306,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/revoke-token'];
+    post: operations['i___revoke-token'];
   };
   '/i/signin-history': {
     /**
@@ -2316,7 +2316,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/signin-history'];
+    post: operations['i___signin-history'];
   };
   '/i/unpin': {
     /**
@@ -2325,7 +2325,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/unpin'];
+    post: operations['i___unpin'];
   };
   '/i/update-email': {
     /**
@@ -2335,7 +2335,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/update-email'];
+    post: operations['i___update-email'];
   };
   '/i/update': {
     /**
@@ -2344,7 +2344,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/update'];
+    post: operations['i___update'];
   };
   '/i/move': {
     /**
@@ -2354,7 +2354,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['i/move'];
+    post: operations['i___move'];
   };
   '/i/webhooks/create': {
     /**
@@ -2363,7 +2363,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/webhooks/create'];
+    post: operations['i___webhooks___create'];
   };
   '/i/webhooks/list': {
     /**
@@ -2372,7 +2372,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['i/webhooks/list'];
+    post: operations['i___webhooks___list'];
   };
   '/i/webhooks/show': {
     /**
@@ -2381,7 +2381,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['i/webhooks/show'];
+    post: operations['i___webhooks___show'];
   };
   '/i/webhooks/update': {
     /**
@@ -2390,7 +2390,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/webhooks/update'];
+    post: operations['i___webhooks___update'];
   };
   '/i/webhooks/delete': {
     /**
@@ -2399,7 +2399,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['i/webhooks/delete'];
+    post: operations['i___webhooks___delete'];
   };
   '/invite/create': {
     /**
@@ -2408,7 +2408,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
      */
-    post: operations['invite/create'];
+    post: operations['invite___create'];
   };
   '/invite/delete': {
     /**
@@ -2417,7 +2417,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
      */
-    post: operations['invite/delete'];
+    post: operations['invite___delete'];
   };
   '/invite/list': {
     /**
@@ -2426,7 +2426,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
      */
-    post: operations['invite/list'];
+    post: operations['invite___list'];
   };
   '/invite/limit': {
     /**
@@ -2435,7 +2435,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
      */
-    post: operations['invite/limit'];
+    post: operations['invite___limit'];
   };
   '/meta': {
     /**
@@ -2486,7 +2486,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['miauth/gen-token'];
+    post: operations['miauth___gen-token'];
   };
   '/mute/create': {
     /**
@@ -2495,7 +2495,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:mutes*
      */
-    post: operations['mute/create'];
+    post: operations['mute___create'];
   };
   '/mute/delete': {
     /**
@@ -2504,7 +2504,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:mutes*
      */
-    post: operations['mute/delete'];
+    post: operations['mute___delete'];
   };
   '/mute/list': {
     /**
@@ -2513,7 +2513,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:mutes*
      */
-    post: operations['mute/list'];
+    post: operations['mute___list'];
   };
   '/renote-mute/create': {
     /**
@@ -2522,7 +2522,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:mutes*
      */
-    post: operations['renote-mute/create'];
+    post: operations['renote-mute___create'];
   };
   '/renote-mute/delete': {
     /**
@@ -2531,7 +2531,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:mutes*
      */
-    post: operations['renote-mute/delete'];
+    post: operations['renote-mute___delete'];
   };
   '/renote-mute/list': {
     /**
@@ -2540,7 +2540,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:mutes*
      */
-    post: operations['renote-mute/list'];
+    post: operations['renote-mute___list'];
   };
   '/my/apps': {
     /**
@@ -2549,7 +2549,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['my/apps'];
+    post: operations['my___apps'];
   };
   '/notes': {
     /**
@@ -2567,7 +2567,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/children'];
+    post: operations['notes___children'];
   };
   '/notes/clips': {
     /**
@@ -2576,7 +2576,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/clips'];
+    post: operations['notes___clips'];
   };
   '/notes/conversation': {
     /**
@@ -2585,7 +2585,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/conversation'];
+    post: operations['notes___conversation'];
   };
   '/notes/create': {
     /**
@@ -2594,7 +2594,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:notes*
      */
-    post: operations['notes/create'];
+    post: operations['notes___create'];
   };
   '/notes/delete': {
     /**
@@ -2603,7 +2603,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:notes*
      */
-    post: operations['notes/delete'];
+    post: operations['notes___delete'];
   };
   '/notes/favorites/create': {
     /**
@@ -2612,7 +2612,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:favorites*
      */
-    post: operations['notes/favorites/create'];
+    post: operations['notes___favorites___create'];
   };
   '/notes/favorites/delete': {
     /**
@@ -2621,7 +2621,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:favorites*
      */
-    post: operations['notes/favorites/delete'];
+    post: operations['notes___favorites___delete'];
   };
   '/notes/featured': {
     /**
@@ -2630,14 +2630,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['notes/featured'];
+    get: operations['notes___featured'];
     /**
      * notes/featured
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/featured'];
+    post: operations['notes___featured'];
   };
   '/notes/global-timeline': {
     /**
@@ -2646,7 +2646,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/global-timeline'];
+    post: operations['notes___global-timeline'];
   };
   '/notes/bubble-timeline': {
     /**
@@ -2664,7 +2664,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['notes/hybrid-timeline'];
+    post: operations['notes___hybrid-timeline'];
   };
   '/notes/local-timeline': {
     /**
@@ -2673,7 +2673,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/local-timeline'];
+    post: operations['notes___local-timeline'];
   };
   '/notes/mentions': {
     /**
@@ -2682,7 +2682,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['notes/mentions'];
+    post: operations['notes___mentions'];
   };
   '/notes/polls/recommendation': {
     /**
@@ -2691,7 +2691,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['notes/polls/recommendation'];
+    post: operations['notes___polls___recommendation'];
   };
   '/notes/polls/vote': {
     /**
@@ -2700,7 +2700,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:votes*
      */
-    post: operations['notes/polls/vote'];
+    post: operations['notes___polls___vote'];
   };
   '/notes/reactions': {
     /**
@@ -2709,14 +2709,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['notes/reactions'];
+    get: operations['notes___reactions'];
     /**
      * notes/reactions
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/reactions'];
+    post: operations['notes___reactions'];
   };
   '/notes/reactions/create': {
     /**
@@ -2725,7 +2725,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:reactions*
      */
-    post: operations['notes/reactions/create'];
+    post: operations['notes___reactions___create'];
   };
   '/notes/reactions/delete': {
     /**
@@ -2734,7 +2734,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:reactions*
      */
-    post: operations['notes/reactions/delete'];
+    post: operations['notes___reactions___delete'];
   };
   '/notes/like': {
     /**
@@ -2752,7 +2752,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/renotes'];
+    post: operations['notes___renotes'];
   };
   '/notes/replies': {
     /**
@@ -2761,7 +2761,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/replies'];
+    post: operations['notes___replies'];
   };
   '/notes/search-by-tag': {
     /**
@@ -2770,7 +2770,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/search-by-tag'];
+    post: operations['notes___search-by-tag'];
   };
   '/notes/search': {
     /**
@@ -2779,7 +2779,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/search'];
+    post: operations['notes___search'];
   };
   '/notes/show': {
     /**
@@ -2788,7 +2788,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['notes/show'];
+    post: operations['notes___show'];
   };
   '/notes/state': {
     /**
@@ -2797,7 +2797,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['notes/state'];
+    post: operations['notes___state'];
   };
   '/notes/thread-muting/create': {
     /**
@@ -2806,7 +2806,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['notes/thread-muting/create'];
+    post: operations['notes___thread-muting___create'];
   };
   '/notes/thread-muting/delete': {
     /**
@@ -2815,7 +2815,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['notes/thread-muting/delete'];
+    post: operations['notes___thread-muting___delete'];
   };
   '/notes/timeline': {
     /**
@@ -2824,7 +2824,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['notes/timeline'];
+    post: operations['notes___timeline'];
   };
   '/notes/translate': {
     /**
@@ -2833,7 +2833,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['notes/translate'];
+    post: operations['notes___translate'];
   };
   '/notes/unrenote': {
     /**
@@ -2842,7 +2842,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:notes*
      */
-    post: operations['notes/unrenote'];
+    post: operations['notes___unrenote'];
   };
   '/notes/user-list-timeline': {
     /**
@@ -2851,7 +2851,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['notes/user-list-timeline'];
+    post: operations['notes___user-list-timeline'];
   };
   '/notes/edit': {
     /**
@@ -2878,7 +2878,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:notifications*
      */
-    post: operations['notifications/create'];
+    post: operations['notifications___create'];
   };
   '/notifications/flush': {
     /**
@@ -2887,7 +2887,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:notifications*
      */
-    post: operations['notifications/flush'];
+    post: operations['notifications___flush'];
   };
   '/notifications/mark-all-as-read': {
     /**
@@ -2896,7 +2896,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:notifications*
      */
-    post: operations['notifications/mark-all-as-read'];
+    post: operations['notifications___mark-all-as-read'];
   };
   '/notifications/test-notification': {
     /**
@@ -2905,7 +2905,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:notifications*
      */
-    post: operations['notifications/test-notification'];
+    post: operations['notifications___test-notification'];
   };
   '/page-push': {
     /**
@@ -2924,7 +2924,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:pages*
      */
-    post: operations['pages/create'];
+    post: operations['pages___create'];
   };
   '/pages/delete': {
     /**
@@ -2933,7 +2933,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:pages*
      */
-    post: operations['pages/delete'];
+    post: operations['pages___delete'];
   };
   '/pages/featured': {
     /**
@@ -2942,7 +2942,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['pages/featured'];
+    post: operations['pages___featured'];
   };
   '/pages/like': {
     /**
@@ -2951,7 +2951,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:page-likes*
      */
-    post: operations['pages/like'];
+    post: operations['pages___like'];
   };
   '/pages/show': {
     /**
@@ -2960,7 +2960,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['pages/show'];
+    post: operations['pages___show'];
   };
   '/pages/unlike': {
     /**
@@ -2969,7 +2969,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:page-likes*
      */
-    post: operations['pages/unlike'];
+    post: operations['pages___unlike'];
   };
   '/pages/update': {
     /**
@@ -2978,7 +2978,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:pages*
      */
-    post: operations['pages/update'];
+    post: operations['pages___update'];
   };
   '/flash/create': {
     /**
@@ -2987,7 +2987,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:flash*
      */
-    post: operations['flash/create'];
+    post: operations['flash___create'];
   };
   '/flash/delete': {
     /**
@@ -2996,7 +2996,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:flash*
      */
-    post: operations['flash/delete'];
+    post: operations['flash___delete'];
   };
   '/flash/featured': {
     /**
@@ -3005,7 +3005,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['flash/featured'];
+    post: operations['flash___featured'];
   };
   '/flash/like': {
     /**
@@ -3014,7 +3014,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:flash-likes*
      */
-    post: operations['flash/like'];
+    post: operations['flash___like'];
   };
   '/flash/show': {
     /**
@@ -3023,7 +3023,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['flash/show'];
+    post: operations['flash___show'];
   };
   '/flash/unlike': {
     /**
@@ -3032,7 +3032,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:flash-likes*
      */
-    post: operations['flash/unlike'];
+    post: operations['flash___unlike'];
   };
   '/flash/update': {
     /**
@@ -3041,7 +3041,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:flash*
      */
-    post: operations['flash/update'];
+    post: operations['flash___update'];
   };
   '/flash/my': {
     /**
@@ -3050,7 +3050,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:flash*
      */
-    post: operations['flash/my'];
+    post: operations['flash___my'];
   };
   '/flash/my-likes': {
     /**
@@ -3059,7 +3059,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:flash-likes*
      */
-    post: operations['flash/my-likes'];
+    post: operations['flash___my-likes'];
   };
   '/ping': {
     /**
@@ -3086,7 +3086,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['promo/read'];
+    post: operations['promo___read'];
   };
   '/roles/list': {
     /**
@@ -3095,7 +3095,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['roles/list'];
+    post: operations['roles___list'];
   };
   '/roles/show': {
     /**
@@ -3104,7 +3104,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['roles/show'];
+    post: operations['roles___show'];
   };
   '/roles/users': {
     /**
@@ -3113,7 +3113,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['roles/users'];
+    post: operations['roles___users'];
   };
   '/roles/notes': {
     /**
@@ -3122,7 +3122,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['roles/notes'];
+    post: operations['roles___notes'];
   };
   '/request-reset-password': {
     /**
@@ -3184,7 +3184,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['sw/show-registration'];
+    post: operations['sw___show-registration'];
   };
   '/sw/update-registration': {
     /**
@@ -3194,7 +3194,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['sw/update-registration'];
+    post: operations['sw___update-registration'];
   };
   '/sw/register': {
     /**
@@ -3204,7 +3204,7 @@ export type paths = {
      * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
      * **Credential required**: *Yes*
      */
-    post: operations['sw/register'];
+    post: operations['sw___register'];
   };
   '/sw/unregister': {
     /**
@@ -3213,7 +3213,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['sw/unregister'];
+    post: operations['sw___unregister'];
   };
   '/test': {
     /**
@@ -3231,7 +3231,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['username/available'];
+    post: operations['username___available'];
   };
   '/users': {
     /**
@@ -3249,7 +3249,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/clips'];
+    post: operations['users___clips'];
   };
   '/users/followers': {
     /**
@@ -3258,7 +3258,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/followers'];
+    post: operations['users___followers'];
   };
   '/users/following': {
     /**
@@ -3267,7 +3267,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/following'];
+    post: operations['users___following'];
   };
   '/users/gallery/posts': {
     /**
@@ -3276,7 +3276,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/gallery/posts'];
+    post: operations['users___gallery___posts'];
   };
   '/users/get-frequently-replied-users': {
     /**
@@ -3285,7 +3285,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/get-frequently-replied-users'];
+    post: operations['users___get-frequently-replied-users'];
   };
   '/users/featured-notes': {
     /**
@@ -3294,14 +3294,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['users/featured-notes'];
+    get: operations['users___featured-notes'];
     /**
      * users/featured-notes
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['users/featured-notes'];
+    post: operations['users___featured-notes'];
   };
   '/users/lists/create': {
     /**
@@ -3310,7 +3310,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/create'];
+    post: operations['users___lists___create'];
   };
   '/users/lists/delete': {
     /**
@@ -3319,7 +3319,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/delete'];
+    post: operations['users___lists___delete'];
   };
   '/users/lists/list': {
     /**
@@ -3328,7 +3328,7 @@ export type paths = {
      *
      * **Credential required**: *No* / **Permission**: *read:account*
      */
-    post: operations['users/lists/list'];
+    post: operations['users___lists___list'];
   };
   '/users/lists/pull': {
     /**
@@ -3337,7 +3337,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/pull'];
+    post: operations['users___lists___pull'];
   };
   '/users/lists/push': {
     /**
@@ -3346,7 +3346,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/push'];
+    post: operations['users___lists___push'];
   };
   '/users/lists/show': {
     /**
@@ -3355,7 +3355,7 @@ export type paths = {
      *
      * **Credential required**: *No* / **Permission**: *read:account*
      */
-    post: operations['users/lists/show'];
+    post: operations['users___lists___show'];
   };
   '/users/lists/favorite': {
     /**
@@ -3364,7 +3364,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/favorite'];
+    post: operations['users___lists___favorite'];
   };
   '/users/lists/unfavorite': {
     /**
@@ -3373,7 +3373,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/unfavorite'];
+    post: operations['users___lists___unfavorite'];
   };
   '/users/lists/update': {
     /**
@@ -3382,7 +3382,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/update'];
+    post: operations['users___lists___update'];
   };
   '/users/lists/create-from-public': {
     /**
@@ -3391,7 +3391,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/create-from-public'];
+    post: operations['users___lists___create-from-public'];
   };
   '/users/lists/update-membership': {
     /**
@@ -3400,7 +3400,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/lists/update-membership'];
+    post: operations['users___lists___update-membership'];
   };
   '/users/lists/get-memberships': {
     /**
@@ -3409,7 +3409,7 @@ export type paths = {
      *
      * **Credential required**: *No* / **Permission**: *read:account*
      */
-    post: operations['users/lists/get-memberships'];
+    post: operations['users___lists___get-memberships'];
   };
   '/users/notes': {
     /**
@@ -3418,7 +3418,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/notes'];
+    post: operations['users___notes'];
   };
   '/users/pages': {
     /**
@@ -3427,7 +3427,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/pages'];
+    post: operations['users___pages'];
   };
   '/users/flashs': {
     /**
@@ -3436,7 +3436,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/flashs'];
+    post: operations['users___flashs'];
   };
   '/users/reactions': {
     /**
@@ -3445,7 +3445,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/reactions'];
+    post: operations['users___reactions'];
   };
   '/users/recommendation': {
     /**
@@ -3454,7 +3454,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['users/recommendation'];
+    post: operations['users___recommendation'];
   };
   '/users/relation': {
     /**
@@ -3463,7 +3463,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['users/relation'];
+    post: operations['users___relation'];
   };
   '/users/report-abuse': {
     /**
@@ -3472,7 +3472,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:report-abuse*
      */
-    post: operations['users/report-abuse'];
+    post: operations['users___report-abuse'];
   };
   '/users/search-by-username-and-host': {
     /**
@@ -3481,7 +3481,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/search-by-username-and-host'];
+    post: operations['users___search-by-username-and-host'];
   };
   '/users/search': {
     /**
@@ -3490,7 +3490,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/search'];
+    post: operations['users___search'];
   };
   '/users/show': {
     /**
@@ -3499,7 +3499,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/show'];
+    post: operations['users___show'];
   };
   '/users/achievements': {
     /**
@@ -3508,7 +3508,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['users/achievements'];
+    post: operations['users___achievements'];
   };
   '/users/update-memo': {
     /**
@@ -3517,7 +3517,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['users/update-memo'];
+    post: operations['users___update-memo'];
   };
   '/fetch-rss': {
     /**
@@ -3577,7 +3577,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['bubble-game/register'];
+    post: operations['bubble-game___register'];
   };
   '/bubble-game/ranking': {
     /**
@@ -3586,14 +3586,14 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    get: operations['bubble-game/ranking'];
+    get: operations['bubble-game___ranking'];
     /**
      * bubble-game/ranking
      * @description No description provided.
      *
      * **Credential required**: *No*
      */
-    post: operations['bubble-game/ranking'];
+    post: operations['bubble-game___ranking'];
   };
   '/reversi/cancel-match': {
     /**
@@ -3602,7 +3602,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['reversi/cancel-match'];
+    post: operations['reversi___cancel-match'];
   };
   '/reversi/games': {
     /**
@@ -3611,7 +3611,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['reversi/games'];
+    post: operations['reversi___games'];
   };
   '/reversi/match': {
     /**
@@ -3620,7 +3620,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['reversi/match'];
+    post: operations['reversi___match'];
   };
   '/reversi/invitations': {
     /**
@@ -3629,7 +3629,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *read:account*
      */
-    post: operations['reversi/invitations'];
+    post: operations['reversi___invitations'];
   };
   '/reversi/show-game': {
     /**
@@ -3638,7 +3638,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['reversi/show-game'];
+    post: operations['reversi___show-game'];
   };
   '/reversi/surrender': {
     /**
@@ -3647,7 +3647,7 @@ export type paths = {
      *
      * **Credential required**: *Yes* / **Permission**: *write:account*
      */
-    post: operations['reversi/surrender'];
+    post: operations['reversi___surrender'];
   };
   '/reversi/verify': {
     /**
@@ -3656,7 +3656,7 @@ export type paths = {
      *
      * **Credential required**: *No*
      */
-    post: operations['reversi/verify'];
+    post: operations['reversi___verify'];
   };
 };
 
@@ -5009,7 +5009,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:meta*
    */
-  'admin/meta': {
+  admin___meta: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -5175,7 +5175,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:abuse-user-reports*
    */
-  'admin/abuse-user-reports': {
+  'admin___abuse-user-reports': {
     requestBody: {
       content: {
         'application/json': {
@@ -5267,7 +5267,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'admin/accounts/create': {
+  admin___accounts___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -5321,7 +5321,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:account*
    */
-  'admin/accounts/delete': {
+  admin___accounts___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -5373,7 +5373,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:account*
    */
-  'admin/accounts/find-by-email': {
+  'admin___accounts___find-by-email': {
     requestBody: {
       content: {
         'application/json': {
@@ -5426,7 +5426,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
    */
-  'admin/ad/create': {
+  admin___ad___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -5487,7 +5487,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
    */
-  'admin/ad/delete': {
+  admin___ad___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -5539,7 +5539,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:ad*
    */
-  'admin/ad/list': {
+  admin___ad___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -5599,7 +5599,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
    */
-  'admin/ad/update': {
+  admin___ad___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -5660,7 +5660,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
    */
-  'admin/announcements/create': {
+  admin___announcements___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -5749,7 +5749,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
    */
-  'admin/announcements/delete': {
+  admin___announcements___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -5801,7 +5801,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:announcements*
    */
-  'admin/announcements/list': {
+  admin___announcements___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -5875,7 +5875,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
    */
-  'admin/announcements/update': {
+  admin___announcements___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -5938,7 +5938,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
    */
-  'admin/avatar-decorations/create': {
+  'admin___avatar-decorations___create': {
     requestBody: {
       content: {
         'application/json': {
@@ -5992,7 +5992,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
    */
-  'admin/avatar-decorations/delete': {
+  'admin___avatar-decorations___delete': {
     requestBody: {
       content: {
         'application/json': {
@@ -6044,7 +6044,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:avatar-decorations*
    */
-  'admin/avatar-decorations/list': {
+  'admin___avatar-decorations___list': {
     requestBody: {
       content: {
         'application/json': {
@@ -6118,7 +6118,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
    */
-  'admin/avatar-decorations/update': {
+  'admin___avatar-decorations___update': {
     requestBody: {
       content: {
         'application/json': {
@@ -6174,7 +6174,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:delete-all-files-of-a-user*
    */
-  'admin/delete-all-files-of-a-user': {
+  'admin___delete-all-files-of-a-user': {
     requestBody: {
       content: {
         'application/json': {
@@ -6226,7 +6226,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-avatar*
    */
-  'admin/unset-user-avatar': {
+  'admin___unset-user-avatar': {
     requestBody: {
       content: {
         'application/json': {
@@ -6278,7 +6278,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-banner*
    */
-  'admin/unset-user-banner': {
+  'admin___unset-user-banner': {
     requestBody: {
       content: {
         'application/json': {
@@ -6330,7 +6330,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
    */
-  'admin/drive/clean-remote-files': {
+  'admin___drive___clean-remote-files': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -6374,7 +6374,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
    */
-  'admin/drive/cleanup': {
+  admin___drive___cleanup: {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -6418,7 +6418,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
    */
-  'admin/drive/files': {
+  admin___drive___files: {
     requestBody: {
       content: {
         'application/json': {
@@ -6489,7 +6489,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
    */
-  'admin/drive/show-file': {
+  'admin___drive___show-file': {
     requestBody: {
       content: {
         'application/json': {
@@ -6598,7 +6598,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/add-aliases-bulk': {
+  'admin___emoji___add-aliases-bulk': {
     requestBody: {
       content: {
         'application/json': {
@@ -6650,7 +6650,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/add': {
+  admin___emoji___add: {
     requestBody: {
       content: {
         'application/json': {
@@ -6712,7 +6712,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/copy': {
+  admin___emoji___copy: {
     requestBody: {
       content: {
         'application/json': {
@@ -6769,7 +6769,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/delete-bulk': {
+  'admin___emoji___delete-bulk': {
     requestBody: {
       content: {
         'application/json': {
@@ -6820,7 +6820,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/delete': {
+  admin___emoji___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -6873,7 +6873,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'admin/emoji/import-zip': {
+  'admin___emoji___import-zip': {
     requestBody: {
       content: {
         'application/json': {
@@ -6925,7 +6925,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
    */
-  'admin/emoji/list-remote': {
+  'admin___emoji___list-remote': {
     requestBody: {
       content: {
         'application/json': {
@@ -6999,7 +6999,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
    */
-  'admin/emoji/list': {
+  admin___emoji___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -7068,7 +7068,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/remove-aliases-bulk': {
+  'admin___emoji___remove-aliases-bulk': {
     requestBody: {
       content: {
         'application/json': {
@@ -7120,7 +7120,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/set-aliases-bulk': {
+  'admin___emoji___set-aliases-bulk': {
     requestBody: {
       content: {
         'application/json': {
@@ -7172,7 +7172,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/set-category-bulk': {
+  'admin___emoji___set-category-bulk': {
     requestBody: {
       content: {
         'application/json': {
@@ -7225,7 +7225,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/set-license-bulk': {
+  'admin___emoji___set-license-bulk': {
     requestBody: {
       content: {
         'application/json': {
@@ -7278,7 +7278,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
    */
-  'admin/emoji/update': {
+  admin___emoji___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -7340,7 +7340,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
    */
-  'admin/federation/delete-all-files': {
+  'admin___federation___delete-all-files': {
     requestBody: {
       content: {
         'application/json': {
@@ -7391,7 +7391,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
    */
-  'admin/federation/refresh-remote-instance-metadata': {
+  'admin___federation___refresh-remote-instance-metadata': {
     requestBody: {
       content: {
         'application/json': {
@@ -7442,7 +7442,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
    */
-  'admin/federation/remove-all-following': {
+  'admin___federation___remove-all-following': {
     requestBody: {
       content: {
         'application/json': {
@@ -7493,7 +7493,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
    */
-  'admin/federation/update-instance': {
+  'admin___federation___update-instance': {
     requestBody: {
       content: {
         'application/json': {
@@ -7547,7 +7547,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:index-stats*
    */
-  'admin/get-index-stats': {
+  'admin___get-index-stats': {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -7596,7 +7596,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:table-stats*
    */
-  'admin/get-table-stats': {
+  'admin___get-table-stats': {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -7647,7 +7647,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:user-ips*
    */
-  'admin/get-user-ips': {
+  'admin___get-user-ips': {
     requestBody: {
       content: {
         'application/json': {
@@ -7705,7 +7705,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes*
    */
-  'admin/invite/create': {
+  admin___invite___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -7760,7 +7760,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:invite-codes*
    */
-  'admin/invite/list': {
+  admin___invite___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -7823,7 +7823,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:promo*
    */
-  'admin/promo/create': {
+  admin___promo___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -7876,7 +7876,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
    */
-  'admin/queue/clear': {
+  admin___queue___clear: {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -7920,7 +7920,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
    */
-  'admin/queue/deliver-delayed': {
+  'admin___queue___deliver-delayed': {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -7966,7 +7966,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
    */
-  'admin/queue/inbox-delayed': {
+  'admin___queue___inbox-delayed': {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -8012,7 +8012,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
    */
-  'admin/queue/promote': {
+  admin___queue___promote: {
     requestBody: {
       content: {
         'application/json': {
@@ -8064,7 +8064,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
    */
-  'admin/queue/stats': {
+  admin___queue___stats: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -8115,7 +8115,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
    */
-  'admin/relays/add': {
+  admin___relays___add: {
     requestBody: {
       content: {
         'application/json': {
@@ -8178,7 +8178,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:relays*
    */
-  'admin/relays/list': {
+  admin___relays___list: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -8234,7 +8234,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
    */
-  'admin/relays/remove': {
+  admin___relays___remove: {
     requestBody: {
       content: {
         'application/json': {
@@ -8285,7 +8285,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:reset-password*
    */
-  'admin/reset-password': {
+  'admin___reset-password': {
     requestBody: {
       content: {
         'application/json': {
@@ -8341,7 +8341,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:resolve-abuse-user-report*
    */
-  'admin/resolve-abuse-user-report': {
+  'admin___resolve-abuse-user-report': {
     requestBody: {
       content: {
         'application/json': {
@@ -8395,7 +8395,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:send-email*
    */
-  'admin/send-email': {
+  'admin___send-email': {
     requestBody: {
       content: {
         'application/json': {
@@ -8448,7 +8448,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:server-info*
    */
-  'admin/server-info': {
+  'admin___server-info': {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -8518,7 +8518,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:show-moderation-log*
    */
-  'admin/show-moderation-logs': {
+  'admin___show-moderation-logs': {
     requestBody: {
       content: {
         'application/json': {
@@ -8589,7 +8589,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:show-user*
    */
-  'admin/show-user': {
+  'admin___show-user': {
     requestBody: {
       content: {
         'application/json': {
@@ -8798,7 +8798,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:show-users*
    */
-  'admin/show-users': {
+  'admin___show-users': {
     requestBody: {
       content: {
         'application/json': {
@@ -9081,7 +9081,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:suspend-user*
    */
-  'admin/suspend-user': {
+  'admin___suspend-user': {
     requestBody: {
       content: {
         'application/json': {
@@ -9185,7 +9185,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:unsuspend-user*
    */
-  'admin/unsuspend-user': {
+  'admin___unsuspend-user': {
     requestBody: {
       content: {
         'application/json': {
@@ -9237,7 +9237,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:meta*
    */
-  'admin/update-meta': {
+  'admin___update-meta': {
     requestBody: {
       content: {
         'application/json': {
@@ -9405,7 +9405,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:delete-account*
    */
-  'admin/delete-account': {
+  'admin___delete-account': {
     requestBody: {
       content: {
         'application/json': {
@@ -9457,7 +9457,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:user-note*
    */
-  'admin/update-user-note': {
+  'admin___update-user-note': {
     requestBody: {
       content: {
         'application/json': {
@@ -9510,7 +9510,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
    */
-  'admin/roles/create': {
+  admin___roles___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -9578,7 +9578,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
    */
-  'admin/roles/delete': {
+  admin___roles___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -9630,7 +9630,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
    */
-  'admin/roles/list': {
+  admin___roles___list: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -9676,7 +9676,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
    */
-  'admin/roles/show': {
+  admin___roles___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -9730,7 +9730,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
    */
-  'admin/roles/update': {
+  admin___roles___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -9797,7 +9797,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
    */
-  'admin/roles/assign': {
+  admin___roles___assign: {
     requestBody: {
       content: {
         'application/json': {
@@ -9852,7 +9852,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
    */
-  'admin/roles/unassign': {
+  admin___roles___unassign: {
     requestBody: {
       content: {
         'application/json': {
@@ -9906,7 +9906,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
    */
-  'admin/roles/update-default-policies': {
+  'admin___roles___update-default-policies': {
     requestBody: {
       content: {
         'application/json': {
@@ -9957,7 +9957,7 @@ export type operations = {
    *
    * **Credential required**: *No* / **Permission**: *read:admin:roles*
    */
-  'admin/roles/users': {
+  admin___roles___users: {
     requestBody: {
       content: {
         'application/json': {
@@ -10085,7 +10085,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'antennas/create': {
+  antennas___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -10151,7 +10151,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'antennas/delete': {
+  antennas___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -10203,7 +10203,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'antennas/list': {
+  antennas___list: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -10249,7 +10249,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'antennas/notes': {
+  antennas___notes: {
     requestBody: {
       content: {
         'application/json': {
@@ -10311,7 +10311,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'antennas/show': {
+  antennas___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -10365,7 +10365,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'antennas/update': {
+  antennas___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -10433,7 +10433,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:federation*
    */
-  'ap/get': {
+  ap___get: {
     requestBody: {
       content: {
         'application/json': {
@@ -10492,7 +10492,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'ap/show': {
+  ap___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -10559,7 +10559,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'app/create': {
+  app___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -10615,7 +10615,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'app/show': {
+  app___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -10670,7 +10670,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'auth/accept': {
+  auth___accept: {
     requestBody: {
       content: {
         'application/json': {
@@ -10721,7 +10721,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'auth/session/generate': {
+  auth___session___generate: {
     requestBody: {
       content: {
         'application/json': {
@@ -10778,7 +10778,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'auth/session/show': {
+  auth___session___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -10836,7 +10836,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'auth/session/userkey': {
+  auth___session___userkey: {
     requestBody: {
       content: {
         'application/json': {
@@ -10893,7 +10893,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:blocks*
    */
-  'blocking/create': {
+  blocking___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -10953,7 +10953,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:blocks*
    */
-  'blocking/delete': {
+  blocking___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -11013,7 +11013,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:blocks*
    */
-  'blocking/list': {
+  blocking___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -11071,7 +11071,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:channels*
    */
-  'channels/create': {
+  channels___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -11136,7 +11136,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'channels/featured': {
+  channels___featured: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -11182,7 +11182,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:channels*
    */
-  'channels/follow': {
+  channels___follow: {
     requestBody: {
       content: {
         'application/json': {
@@ -11234,7 +11234,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:channels*
    */
-  'channels/followed': {
+  channels___followed: {
     requestBody: {
       content: {
         'application/json': {
@@ -11292,7 +11292,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:channels*
    */
-  'channels/owned': {
+  channels___owned: {
     requestBody: {
       content: {
         'application/json': {
@@ -11350,7 +11350,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'channels/show': {
+  channels___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -11404,7 +11404,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'channels/timeline': {
+  channels___timeline: {
     requestBody: {
       content: {
         'application/json': {
@@ -11468,7 +11468,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:channels*
    */
-  'channels/unfollow': {
+  channels___unfollow: {
     requestBody: {
       content: {
         'application/json': {
@@ -11520,7 +11520,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:channels*
    */
-  'channels/update': {
+  channels___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -11583,7 +11583,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:channels*
    */
-  'channels/favorite': {
+  channels___favorite: {
     requestBody: {
       content: {
         'application/json': {
@@ -11635,7 +11635,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:channels*
    */
-  'channels/unfavorite': {
+  channels___unfavorite: {
     requestBody: {
       content: {
         'application/json': {
@@ -11687,7 +11687,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:channels*
    */
-  'channels/my-favorites': {
+  'channels___my-favorites': {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -11733,7 +11733,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'channels/search': {
+  channels___search: {
     requestBody: {
       content: {
         'application/json': {
@@ -11797,7 +11797,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/active-users': {
+  'charts___active-users': {
     requestBody: {
       content: {
         'application/json': {
@@ -11865,7 +11865,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/ap-request': {
+  'charts___ap-request': {
     requestBody: {
       content: {
         'application/json': {
@@ -11927,7 +11927,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/drive': {
+  charts___drive: {
     requestBody: {
       content: {
         'application/json': {
@@ -11998,7 +11998,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/federation': {
+  charts___federation: {
     requestBody: {
       content: {
         'application/json': {
@@ -12065,7 +12065,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/instance': {
+  charts___instance: {
     requestBody: {
       content: {
         'application/json': {
@@ -12163,7 +12163,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/notes': {
+  charts___notes: {
     requestBody: {
       content: {
         'application/json': {
@@ -12244,7 +12244,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/user/drive': {
+  charts___user___drive: {
     requestBody: {
       content: {
         'application/json': {
@@ -12311,7 +12311,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/user/following': {
+  charts___user___following: {
     requestBody: {
       content: {
         'application/json': {
@@ -12396,7 +12396,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/user/notes': {
+  charts___user___notes: {
     requestBody: {
       content: {
         'application/json': {
@@ -12466,7 +12466,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/user/pv': {
+  charts___user___pv: {
     requestBody: {
       content: {
         'application/json': {
@@ -12535,7 +12535,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/user/reactions': {
+  charts___user___reactions: {
     requestBody: {
       content: {
         'application/json': {
@@ -12602,7 +12602,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'charts/users': {
+  charts___users: {
     requestBody: {
       content: {
         'application/json': {
@@ -12671,7 +12671,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'clips/add-note': {
+  'clips___add-note': {
     requestBody: {
       content: {
         'application/json': {
@@ -12731,7 +12731,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'clips/remove-note': {
+  'clips___remove-note': {
     requestBody: {
       content: {
         'application/json': {
@@ -12785,7 +12785,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'clips/create': {
+  clips___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -12841,7 +12841,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'clips/delete': {
+  clips___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -12893,7 +12893,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'clips/list': {
+  clips___list: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -12939,7 +12939,7 @@ export type operations = {
    *
    * **Credential required**: *No* / **Permission**: *read:account*
    */
-  'clips/notes': {
+  clips___notes: {
     requestBody: {
       content: {
         'application/json': {
@@ -12999,7 +12999,7 @@ export type operations = {
    *
    * **Credential required**: *No* / **Permission**: *read:account*
    */
-  'clips/show': {
+  clips___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -13053,7 +13053,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'clips/update': {
+  clips___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -13110,7 +13110,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:clip-favorite*
    */
-  'clips/favorite': {
+  clips___favorite: {
     requestBody: {
       content: {
         'application/json': {
@@ -13162,7 +13162,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:clip-favorite*
    */
-  'clips/unfavorite': {
+  clips___unfavorite: {
     requestBody: {
       content: {
         'application/json': {
@@ -13214,7 +13214,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:clip-favorite*
    */
-  'clips/my-favorites': {
+  'clips___my-favorites': {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -13309,7 +13309,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/files': {
+  drive___files: {
     requestBody: {
       content: {
         'application/json': {
@@ -13375,7 +13375,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/files/attached-notes': {
+  'drive___files___attached-notes': {
     requestBody: {
       content: {
         'application/json': {
@@ -13435,7 +13435,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/files/check-existence': {
+  'drive___files___check-existence': {
     requestBody: {
       content: {
         'application/json': {
@@ -13488,7 +13488,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:drive*
    */
-  'drive/files/create': {
+  drive___files___create: {
     requestBody: {
       content: {
         'multipart/form-data': {
@@ -13564,7 +13564,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:drive*
    */
-  'drive/files/delete': {
+  drive___files___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -13616,7 +13616,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/files/find-by-hash': {
+  'drive___files___find-by-hash': {
     requestBody: {
       content: {
         'application/json': {
@@ -13669,7 +13669,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/files/find': {
+  drive___files___find: {
     requestBody: {
       content: {
         'application/json': {
@@ -13727,7 +13727,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/files/show': {
+  drive___files___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -13782,7 +13782,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:drive*
    */
-  'drive/files/update': {
+  drive___files___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -13841,7 +13841,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:drive*
    */
-  'drive/files/upload-from-url': {
+  'drive___files___upload-from-url': {
     requestBody: {
       content: {
         'application/json': {
@@ -13911,7 +13911,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/folders': {
+  drive___folders: {
     requestBody: {
       content: {
         'application/json': {
@@ -13974,7 +13974,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:drive*
    */
-  'drive/folders/create': {
+  drive___folders___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -14036,7 +14036,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:drive*
    */
-  'drive/folders/delete': {
+  drive___folders___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -14088,7 +14088,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/folders/find': {
+  drive___folders___find: {
     requestBody: {
       content: {
         'application/json': {
@@ -14146,7 +14146,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/folders/show': {
+  drive___folders___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -14200,7 +14200,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:drive*
    */
-  'drive/folders/update': {
+  drive___folders___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -14257,7 +14257,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:drive*
    */
-  'drive/stream': {
+  drive___stream: {
     requestBody: {
       content: {
         'application/json': {
@@ -14316,7 +14316,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'email-address/available': {
+  'email-address___available': {
     requestBody: {
       content: {
         'application/json': {
@@ -14531,7 +14531,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'federation/followers': {
+  federation___followers: {
     requestBody: {
       content: {
         'application/json': {
@@ -14590,7 +14590,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'federation/following': {
+  federation___following: {
     requestBody: {
       content: {
         'application/json': {
@@ -14649,7 +14649,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'federation/instances': {
+  federation___instances: {
     requestBody: {
       content: {
         'application/json': {
@@ -14718,7 +14718,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'federation/show-instance': {
+  'federation___show-instance': {
     requestBody: {
       content: {
         'application/json': {
@@ -14775,7 +14775,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'federation/update-remote-user': {
+  'federation___update-remote-user': {
     requestBody: {
       content: {
         'application/json': {
@@ -14827,7 +14827,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'federation/users': {
+  federation___users: {
     requestBody: {
       content: {
         'application/json': {
@@ -14886,7 +14886,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'federation/stats': {
+  federation___stats: {
     requestBody: {
       content: {
         'application/json': {
@@ -14945,7 +14945,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:following*
    */
-  'following/create': {
+  following___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -15006,7 +15006,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:following*
    */
-  'following/delete': {
+  following___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -15066,7 +15066,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:following*
    */
-  'following/update': {
+  following___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -15129,7 +15129,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:following*
    */
-  'following/update-all': {
+  'following___update-all': {
     requestBody: {
       content: {
         'application/json': {
@@ -15188,7 +15188,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:following*
    */
-  'following/invalidate': {
+  following___invalidate: {
     requestBody: {
       content: {
         'application/json': {
@@ -15248,7 +15248,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:following*
    */
-  'following/requests/accept': {
+  following___requests___accept: {
     requestBody: {
       content: {
         'application/json': {
@@ -15300,7 +15300,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:following*
    */
-  'following/requests/cancel': {
+  following___requests___cancel: {
     requestBody: {
       content: {
         'application/json': {
@@ -15354,7 +15354,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:following*
    */
-  'following/requests/list': {
+  following___requests___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -15417,7 +15417,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:following*
    */
-  'following/requests/reject': {
+  following___requests___reject: {
     requestBody: {
       content: {
         'application/json': {
@@ -15469,7 +15469,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'gallery/featured': {
+  gallery___featured: {
     requestBody: {
       content: {
         'application/json': {
@@ -15525,7 +15525,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'gallery/popular': {
+  gallery___popular: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -15571,7 +15571,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'gallery/posts': {
+  gallery___posts: {
     requestBody: {
       content: {
         'application/json': {
@@ -15629,7 +15629,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:gallery*
    */
-  'gallery/posts/create': {
+  gallery___posts___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -15692,7 +15692,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:gallery*
    */
-  'gallery/posts/delete': {
+  gallery___posts___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -15744,7 +15744,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:gallery-likes*
    */
-  'gallery/posts/like': {
+  gallery___posts___like: {
     requestBody: {
       content: {
         'application/json': {
@@ -15796,7 +15796,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'gallery/posts/show': {
+  gallery___posts___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -15850,7 +15850,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:gallery-likes*
    */
-  'gallery/posts/unlike': {
+  gallery___posts___unlike: {
     requestBody: {
       content: {
         'application/json': {
@@ -15902,7 +15902,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:gallery*
    */
-  'gallery/posts/update': {
+  gallery___posts___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -16071,7 +16071,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'hashtags/list': {
+  hashtags___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -16133,7 +16133,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'hashtags/search': {
+  hashtags___search: {
     requestBody: {
       content: {
         'application/json': {
@@ -16190,7 +16190,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'hashtags/show': {
+  hashtags___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -16243,7 +16243,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'hashtags/trend': {
+  hashtags___trend: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -16293,7 +16293,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'hashtags/users': {
+  hashtags___users: {
     requestBody: {
       content: {
         'application/json': {
@@ -16407,7 +16407,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/2fa/done': {
+  i___2fa___done: {
     requestBody: {
       content: {
         'application/json': {
@@ -16463,7 +16463,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/2fa/key-done': {
+  'i___2fa___key-done': {
     requestBody: {
       content: {
         'application/json': {
@@ -16523,7 +16523,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/2fa/password-less': {
+  'i___2fa___password-less': {
     requestBody: {
       content: {
         'application/json': {
@@ -16575,7 +16575,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/2fa/register-key': {
+  'i___2fa___register-key': {
     requestBody: {
       content: {
         'application/json': {
@@ -16664,7 +16664,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/2fa/register': {
+  i___2fa___register: {
     requestBody: {
       content: {
         'application/json': {
@@ -16725,7 +16725,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/2fa/update-key': {
+  'i___2fa___update-key': {
     requestBody: {
       content: {
         'application/json': {
@@ -16778,7 +16778,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/2fa/remove-key': {
+  'i___2fa___remove-key': {
     requestBody: {
       content: {
         'application/json': {
@@ -16832,7 +16832,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/2fa/unregister': {
+  i___2fa___unregister: {
     requestBody: {
       content: {
         'application/json': {
@@ -16885,7 +16885,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/apps': {
+  i___apps: {
     requestBody: {
       content: {
         'application/json': {
@@ -16949,7 +16949,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/authorized-apps': {
+  'i___authorized-apps': {
     requestBody: {
       content: {
         'application/json': {
@@ -17017,7 +17017,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/claim-achievement': {
+  'i___claim-achievement': {
     requestBody: {
       content: {
         'application/json': {
@@ -17070,7 +17070,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/change-password': {
+  'i___change-password': {
     requestBody: {
       content: {
         'application/json': {
@@ -17124,7 +17124,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/delete-account': {
+  'i___delete-account': {
     requestBody: {
       content: {
         'application/json': {
@@ -17228,7 +17228,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/export-blocking': {
+  'i___export-blocking': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -17279,7 +17279,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/export-following': {
+  'i___export-following': {
     requestBody: {
       content: {
         'application/json': {
@@ -17340,7 +17340,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/export-mute': {
+  'i___export-mute': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -17391,7 +17391,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/export-notes': {
+  'i___export-notes': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -17442,7 +17442,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/export-clips': {
+  'i___export-clips': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -17493,7 +17493,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/export-favorites': {
+  'i___export-favorites': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -17544,7 +17544,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/export-user-lists': {
+  'i___export-user-lists': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -17595,7 +17595,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/export-antennas': {
+  'i___export-antennas': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -17645,7 +17645,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:favorites*
    */
-  'i/favorites': {
+  i___favorites: {
     requestBody: {
       content: {
         'application/json': {
@@ -17703,7 +17703,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:gallery-likes*
    */
-  'i/gallery/likes': {
+  i___gallery___likes: {
     requestBody: {
       content: {
         'application/json': {
@@ -17765,7 +17765,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:gallery*
    */
-  'i/gallery/posts': {
+  i___gallery___posts: {
     requestBody: {
       content: {
         'application/json': {
@@ -17824,7 +17824,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/import-blocking': {
+  'i___import-blocking': {
     requestBody: {
       content: {
         'application/json': {
@@ -17883,7 +17883,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/import-following': {
+  'i___import-following': {
     requestBody: {
       content: {
         'application/json': {
@@ -18003,7 +18003,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/import-muting': {
+  'i___import-muting': {
     requestBody: {
       content: {
         'application/json': {
@@ -18062,7 +18062,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/import-user-lists': {
+  'i___import-user-lists': {
     requestBody: {
       content: {
         'application/json': {
@@ -18121,7 +18121,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/import-antennas': {
+  'i___import-antennas': {
     requestBody: {
       content: {
         'application/json': {
@@ -18179,7 +18179,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:notifications*
    */
-  'i/notifications': {
+  i___notifications: {
     requestBody: {
       content: {
         'application/json': {
@@ -18247,7 +18247,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:notifications*
    */
-  'i/notifications-grouped': {
+  'i___notifications-grouped': {
     requestBody: {
       content: {
         'application/json': {
@@ -18315,7 +18315,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:page-likes*
    */
-  'i/page-likes': {
+  'i___page-likes': {
     requestBody: {
       content: {
         'application/json': {
@@ -18377,7 +18377,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:pages*
    */
-  'i/pages': {
+  i___pages: {
     requestBody: {
       content: {
         'application/json': {
@@ -18435,7 +18435,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/pin': {
+  i___pin: {
     requestBody: {
       content: {
         'application/json': {
@@ -18489,7 +18489,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/read-all-unread-notes': {
+  'i___read-all-unread-notes': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -18533,7 +18533,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/read-announcement': {
+  'i___read-announcement': {
     requestBody: {
       content: {
         'application/json': {
@@ -18586,7 +18586,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/regenerate-token': {
+  'i___regenerate-token': {
     requestBody: {
       content: {
         'application/json': {
@@ -18637,7 +18637,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'i/registry/get-all': {
+  'i___registry___get-all': {
     requestBody: {
       content: {
         'application/json': {
@@ -18745,7 +18745,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'i/registry/get-detail': {
+  'i___registry___get-detail': {
     requestBody: {
       content: {
         'application/json': {
@@ -18804,7 +18804,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'i/registry/get': {
+  i___registry___get: {
     requestBody: {
       content: {
         'application/json': {
@@ -18860,7 +18860,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'i/registry/keys-with-type': {
+  'i___registry___keys-with-type': {
     requestBody: {
       content: {
         'application/json': {
@@ -18917,7 +18917,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'i/registry/keys': {
+  i___registry___keys: {
     requestBody: {
       content: {
         'application/json': {
@@ -18972,7 +18972,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/registry/remove': {
+  i___registry___remove: {
     requestBody: {
       content: {
         'application/json': {
@@ -19027,7 +19027,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/registry/scopes-with-domain': {
+  'i___registry___scopes-with-domain': {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -19076,7 +19076,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/registry/set': {
+  i___registry___set: {
     requestBody: {
       content: {
         'application/json': {
@@ -19132,7 +19132,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/revoke-token': {
+  'i___revoke-token': {
     requestBody: {
       content: {
         'application/json': {
@@ -19186,7 +19186,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/signin-history': {
+  'i___signin-history': {
     requestBody: {
       content: {
         'application/json': {
@@ -19244,7 +19244,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/unpin': {
+  i___unpin: {
     requestBody: {
       content: {
         'application/json': {
@@ -19299,7 +19299,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/update-email': {
+  'i___update-email': {
     requestBody: {
       content: {
         'application/json': {
@@ -19360,7 +19360,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/update': {
+  i___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -19599,7 +19599,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'i/move': {
+  i___move: {
     requestBody: {
       content: {
         'application/json': {
@@ -19658,7 +19658,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/webhooks/create': {
+  i___webhooks___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -19728,7 +19728,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'i/webhooks/list': {
+  i___webhooks___list: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -19787,7 +19787,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'i/webhooks/show': {
+  i___webhooks___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -19854,7 +19854,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/webhooks/update': {
+  i___webhooks___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -19912,7 +19912,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'i/webhooks/delete': {
+  i___webhooks___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -19964,7 +19964,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
    */
-  'invite/create': {
+  invite___create: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -20010,7 +20010,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
    */
-  'invite/delete': {
+  invite___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -20062,7 +20062,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
    */
-  'invite/list': {
+  invite___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -20120,7 +20120,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
    */
-  'invite/limit': {
+  invite___limit: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -20324,7 +20324,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'miauth/gen-token': {
+  'miauth___gen-token': {
     requestBody: {
       content: {
         'application/json': {
@@ -20383,7 +20383,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:mutes*
    */
-  'mute/create': {
+  mute___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -20443,7 +20443,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:mutes*
    */
-  'mute/delete': {
+  mute___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -20495,7 +20495,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:mutes*
    */
-  'mute/list': {
+  mute___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -20553,7 +20553,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:mutes*
    */
-  'renote-mute/create': {
+  'renote-mute___create': {
     requestBody: {
       content: {
         'application/json': {
@@ -20611,7 +20611,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:mutes*
    */
-  'renote-mute/delete': {
+  'renote-mute___delete': {
     requestBody: {
       content: {
         'application/json': {
@@ -20663,7 +20663,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:mutes*
    */
-  'renote-mute/list': {
+  'renote-mute___list': {
     requestBody: {
       content: {
         'application/json': {
@@ -20721,7 +20721,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'my/apps': {
+  my___apps: {
     requestBody: {
       content: {
         'application/json': {
@@ -20841,7 +20841,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/children': {
+  notes___children: {
     requestBody: {
       content: {
         'application/json': {
@@ -20903,7 +20903,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/clips': {
+  notes___clips: {
     requestBody: {
       content: {
         'application/json': {
@@ -20957,7 +20957,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/conversation': {
+  notes___conversation: {
     requestBody: {
       content: {
         'application/json': {
@@ -21015,7 +21015,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:notes*
    */
-  'notes/create': {
+  notes___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -21110,7 +21110,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:notes*
    */
-  'notes/delete': {
+  notes___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -21168,7 +21168,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:favorites*
    */
-  'notes/favorites/create': {
+  notes___favorites___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -21226,7 +21226,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:favorites*
    */
-  'notes/favorites/delete': {
+  notes___favorites___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -21278,7 +21278,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/featured': {
+  notes___featured: {
     requestBody: {
       content: {
         'application/json': {
@@ -21336,7 +21336,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/global-timeline': {
+  'notes___global-timeline': {
     requestBody: {
       content: {
         'application/json': {
@@ -21468,7 +21468,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'notes/hybrid-timeline': {
+  'notes___hybrid-timeline': {
     requestBody: {
       content: {
         'application/json': {
@@ -21544,7 +21544,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/local-timeline': {
+  'notes___local-timeline': {
     requestBody: {
       content: {
         'application/json': {
@@ -21614,7 +21614,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'notes/mentions': {
+  notes___mentions: {
     requestBody: {
       content: {
         'application/json': {
@@ -21675,7 +21675,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'notes/polls/recommendation': {
+  notes___polls___recommendation: {
     requestBody: {
       content: {
         'application/json': {
@@ -21731,7 +21731,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:votes*
    */
-  'notes/polls/vote': {
+  notes___polls___vote: {
     requestBody: {
       content: {
         'application/json': {
@@ -21784,7 +21784,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/reactions': {
+  notes___reactions: {
     requestBody: {
       content: {
         'application/json': {
@@ -21845,7 +21845,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:reactions*
    */
-  'notes/reactions/create': {
+  notes___reactions___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -21898,7 +21898,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:reactions*
    */
-  'notes/reactions/delete': {
+  notes___reactions___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -22009,7 +22009,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/renotes': {
+  notes___renotes: {
     requestBody: {
       content: {
         'application/json': {
@@ -22073,7 +22073,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/replies': {
+  notes___replies: {
     requestBody: {
       content: {
         'application/json': {
@@ -22133,7 +22133,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/search-by-tag': {
+  'notes___search-by-tag': {
     requestBody: {
       content: {
         'application/json': {
@@ -22205,7 +22205,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/search': {
+  notes___search: {
     requestBody: {
       content: {
         'application/json': {
@@ -22280,7 +22280,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'notes/show': {
+  notes___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -22334,7 +22334,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'notes/state': {
+  notes___state: {
     requestBody: {
       content: {
         'application/json': {
@@ -22391,7 +22391,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'notes/thread-muting/create': {
+  'notes___thread-muting___create': {
     requestBody: {
       content: {
         'application/json': {
@@ -22449,7 +22449,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'notes/thread-muting/delete': {
+  'notes___thread-muting___delete': {
     requestBody: {
       content: {
         'application/json': {
@@ -22501,7 +22501,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'notes/timeline': {
+  notes___timeline: {
     requestBody: {
       content: {
         'application/json': {
@@ -22575,7 +22575,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'notes/translate': {
+  notes___translate: {
     requestBody: {
       content: {
         'application/json': {
@@ -22595,6 +22595,10 @@ export type operations = {
           };
         };
       };
+      /** @description OK (without any results) */
+      204: {
+        content: never;
+      };
       /** @description Client error */
       400: {
         content: {
@@ -22633,7 +22637,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:notes*
    */
-  'notes/unrenote': {
+  notes___unrenote: {
     requestBody: {
       content: {
         'application/json': {
@@ -22693,7 +22697,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'notes/user-list-timeline': {
+  'notes___user-list-timeline': {
     requestBody: {
       content: {
         'application/json': {
@@ -22921,7 +22925,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:notifications*
    */
-  'notifications/create': {
+  notifications___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -22980,7 +22984,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:notifications*
    */
-  'notifications/flush': {
+  notifications___flush: {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -23024,7 +23028,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:notifications*
    */
-  'notifications/mark-all-as-read': {
+  'notifications___mark-all-as-read': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -23068,7 +23072,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:notifications*
    */
-  'notifications/test-notification': {
+  'notifications___test-notification': {
     responses: {
       /** @description OK (without any results) */
       204: {
@@ -23173,7 +23177,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:pages*
    */
-  'pages/create': {
+  pages___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -23252,7 +23256,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:pages*
    */
-  'pages/delete': {
+  pages___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -23304,7 +23308,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'pages/featured': {
+  pages___featured: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -23350,7 +23354,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:page-likes*
    */
-  'pages/like': {
+  pages___like: {
     requestBody: {
       content: {
         'application/json': {
@@ -23402,7 +23406,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'pages/show': {
+  pages___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -23458,7 +23462,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:page-likes*
    */
-  'pages/unlike': {
+  pages___unlike: {
     requestBody: {
       content: {
         'application/json': {
@@ -23510,7 +23514,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:pages*
    */
-  'pages/update': {
+  pages___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -23584,7 +23588,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:flash*
    */
-  'flash/create': {
+  flash___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -23651,7 +23655,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:flash*
    */
-  'flash/delete': {
+  flash___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -23703,7 +23707,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'flash/featured': {
+  flash___featured: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -23749,7 +23753,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:flash-likes*
    */
-  'flash/like': {
+  flash___like: {
     requestBody: {
       content: {
         'application/json': {
@@ -23801,7 +23805,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'flash/show': {
+  flash___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -23855,7 +23859,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:flash-likes*
    */
-  'flash/unlike': {
+  flash___unlike: {
     requestBody: {
       content: {
         'application/json': {
@@ -23907,7 +23911,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:flash*
    */
-  'flash/update': {
+  flash___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -23971,7 +23975,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:flash*
    */
-  'flash/my': {
+  flash___my: {
     requestBody: {
       content: {
         'application/json': {
@@ -24029,7 +24033,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:flash-likes*
    */
-  'flash/my-likes': {
+  'flash___my-likes': {
     requestBody: {
       content: {
         'application/json': {
@@ -24185,7 +24189,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'promo/read': {
+  promo___read: {
     requestBody: {
       content: {
         'application/json': {
@@ -24237,7 +24241,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'roles/list': {
+  roles___list: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -24283,7 +24287,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'roles/show': {
+  roles___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -24337,7 +24341,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'roles/users': {
+  roles___users: {
     requestBody: {
       content: {
         'application/json': {
@@ -24401,7 +24405,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'roles/notes': {
+  roles___notes: {
     requestBody: {
       content: {
         'application/json': {
@@ -24731,7 +24735,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'sw/show-registration': {
+  'sw___show-registration': {
     requestBody: {
       content: {
         'application/json': {
@@ -24793,7 +24797,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'sw/update-registration': {
+  'sw___update-registration': {
     requestBody: {
       content: {
         'application/json': {
@@ -24852,7 +24856,7 @@ export type operations = {
    * **Internal Endpoint**: This endpoint is an API for the misskey mainframe and is not intended for use by third parties.
    * **Credential required**: *Yes*
    */
-  'sw/register': {
+  sw___register: {
     requestBody: {
       content: {
         'application/json': {
@@ -24916,7 +24920,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'sw/unregister': {
+  sw___unregister: {
     requestBody: {
       content: {
         'application/json': {
@@ -25035,7 +25039,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'username/available': {
+  username___available: {
     requestBody: {
       content: {
         'application/json': {
@@ -25163,7 +25167,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/clips': {
+  users___clips: {
     requestBody: {
       content: {
         'application/json': {
@@ -25223,7 +25227,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/followers': {
+  users___followers: {
     requestBody: {
       content: {
         'application/json': {
@@ -25286,7 +25290,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/following': {
+  users___following: {
     requestBody: {
       content: {
         'application/json': {
@@ -25350,7 +25354,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/gallery/posts': {
+  users___gallery___posts: {
     requestBody: {
       content: {
         'application/json': {
@@ -25410,7 +25414,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/get-frequently-replied-users': {
+  'users___get-frequently-replied-users': {
     requestBody: {
       content: {
         'application/json': {
@@ -25469,7 +25473,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/featured-notes': {
+  'users___featured-notes': {
     requestBody: {
       content: {
         'application/json': {
@@ -25527,7 +25531,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/create': {
+  users___lists___create: {
     requestBody: {
       content: {
         'application/json': {
@@ -25580,7 +25584,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/delete': {
+  users___lists___delete: {
     requestBody: {
       content: {
         'application/json': {
@@ -25632,7 +25636,7 @@ export type operations = {
    *
    * **Credential required**: *No* / **Permission**: *read:account*
    */
-  'users/lists/list': {
+  users___lists___list: {
     requestBody: {
       content: {
         'application/json': {
@@ -25686,7 +25690,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/pull': {
+  users___lists___pull: {
     requestBody: {
       content: {
         'application/json': {
@@ -25740,7 +25744,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/push': {
+  users___lists___push: {
     requestBody: {
       content: {
         'application/json': {
@@ -25800,7 +25804,7 @@ export type operations = {
    *
    * **Credential required**: *No* / **Permission**: *read:account*
    */
-  'users/lists/show': {
+  users___lists___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -25856,7 +25860,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/favorite': {
+  users___lists___favorite: {
     requestBody: {
       content: {
         'application/json': {
@@ -25908,7 +25912,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/unfavorite': {
+  users___lists___unfavorite: {
     requestBody: {
       content: {
         'application/json': {
@@ -25960,7 +25964,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/update': {
+  users___lists___update: {
     requestBody: {
       content: {
         'application/json': {
@@ -26016,7 +26020,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/create-from-public': {
+  'users___lists___create-from-public': {
     requestBody: {
       content: {
         'application/json': {
@@ -26071,7 +26075,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/lists/update-membership': {
+  'users___lists___update-membership': {
     requestBody: {
       content: {
         'application/json': {
@@ -26126,7 +26130,7 @@ export type operations = {
    *
    * **Credential required**: *No* / **Permission**: *read:account*
    */
-  'users/lists/get-memberships': {
+  'users___lists___get-memberships': {
     requestBody: {
       content: {
         'application/json': {
@@ -26197,7 +26201,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/notes': {
+  users___notes: {
     requestBody: {
       content: {
         'application/json': {
@@ -26269,7 +26273,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/pages': {
+  users___pages: {
     requestBody: {
       content: {
         'application/json': {
@@ -26329,7 +26333,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/flashs': {
+  users___flashs: {
     requestBody: {
       content: {
         'application/json': {
@@ -26389,7 +26393,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/reactions': {
+  users___reactions: {
     requestBody: {
       content: {
         'application/json': {
@@ -26451,7 +26455,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'users/recommendation': {
+  users___recommendation: {
     requestBody: {
       content: {
         'application/json': {
@@ -26507,7 +26511,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'users/relation': {
+  users___relation: {
     requestBody: {
       content: {
         'application/json': {
@@ -26582,7 +26586,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:report-abuse*
    */
-  'users/report-abuse': {
+  'users___report-abuse': {
     requestBody: {
       content: {
         'application/json': {
@@ -26635,7 +26639,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/search-by-username-and-host': {
+  'users___search-by-username-and-host': {
     requestBody: {
       content: {
         'application/json': {
@@ -26693,7 +26697,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/search': {
+  users___search: {
     requestBody: {
       content: {
         'application/json': {
@@ -26757,7 +26761,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/show': {
+  users___show: {
     requestBody: {
       content: {
         'application/json': {
@@ -26815,7 +26819,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'users/achievements': {
+  users___achievements: {
     requestBody: {
       content: {
         'application/json': {
@@ -26872,7 +26876,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'users/update-memo': {
+  'users___update-memo': {
     requestBody: {
       content: {
         'application/json': {
@@ -27150,7 +27154,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'bubble-game/register': {
+  'bubble-game___register': {
     requestBody: {
       content: {
         'application/json': {
@@ -27211,7 +27215,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'bubble-game/ranking': {
+  'bubble-game___ranking': {
     requestBody: {
       content: {
         'application/json': {
@@ -27269,7 +27273,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'reversi/cancel-match': {
+  'reversi___cancel-match': {
     requestBody: {
       content: {
         'application/json': {
@@ -27321,7 +27325,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'reversi/games': {
+  reversi___games: {
     requestBody: {
       content: {
         'application/json': {
@@ -27381,7 +27385,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'reversi/match': {
+  reversi___match: {
     requestBody: {
       content: {
         'application/json': {
@@ -27443,7 +27447,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *read:account*
    */
-  'reversi/invitations': {
+  reversi___invitations: {
     responses: {
       /** @description OK (with results) */
       200: {
@@ -27489,7 +27493,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'reversi/show-game': {
+  'reversi___show-game': {
     requestBody: {
       content: {
         'application/json': {
@@ -27543,7 +27547,7 @@ export type operations = {
    *
    * **Credential required**: *Yes* / **Permission**: *write:account*
    */
-  'reversi/surrender': {
+  reversi___surrender: {
     requestBody: {
       content: {
         'application/json': {
@@ -27595,7 +27599,7 @@ export type operations = {
    *
    * **Credential required**: *No*
    */
-  'reversi/verify': {
+  reversi___verify: {
     requestBody: {
       content: {
         'application/json': {
diff --git a/packages/misskey-js/src/index.ts b/packages/misskey-js/src/index.ts
index 54cae8ec03..28007a8ade 100644
--- a/packages/misskey-js/src/index.ts
+++ b/packages/misskey-js/src/index.ts
@@ -1,17 +1,20 @@
-import { Endpoints } from './api.types.js';
+import { type Endpoints } from './api.types.js';
 import Stream, { Connection } from './streaming.js';
-import { Channels } from './streaming.types.js';
-import { Acct } from './acct.js';
+import { type Channels } from './streaming.types.js';
+import { type Acct } from './acct.js';
 import * as consts from './consts.js';
 
-export {
+export type {
 	Endpoints,
-	Stream,
-	Connection as ChannelConnection,
 	Channels,
 	Acct,
 };
 
+export {
+	Stream,
+	Connection as ChannelConnection,
+};
+
 export const permissions = consts.permissions;
 export const notificationTypes = consts.notificationTypes;
 export const noteVisibilities = consts.noteVisibilities;
diff --git a/packages/misskey-js/tsconfig.json b/packages/misskey-js/tsconfig.json
index f56b65e868..6e34e332e0 100644
--- a/packages/misskey-js/tsconfig.json
+++ b/packages/misskey-js/tsconfig.json
@@ -6,7 +6,7 @@
 		"moduleResolution": "nodenext",
 		"declaration": true,
 		"declarationMap": true,
-		"sourceMap": true,
+		"sourceMap": false,
 		"outDir": "./built/",
 		"removeComments": true,
 		"strict": true,
diff --git a/packages/misskey-reversi/.eslintignore b/packages/misskey-reversi/.eslintignore
index f22128f047..52ea8b3362 100644
--- a/packages/misskey-reversi/.eslintignore
+++ b/packages/misskey-reversi/.eslintignore
@@ -5,3 +5,4 @@ node_modules
 /jest.config.ts
 /test
 /test-d
+build.js
diff --git a/packages/misskey-reversi/build.js b/packages/misskey-reversi/build.js
index 4744dfaf7b..0b79f4b915 100644
--- a/packages/misskey-reversi/build.js
+++ b/packages/misskey-reversi/build.js
@@ -1,31 +1,105 @@
+import * as esbuild from "esbuild";
 import { build } from "esbuild";
 import { globSync } from "glob";
+import { execa } from "execa";
+import fs from "node:fs";
+import { fileURLToPath } from "node:url";
+import { dirname } from "node:path";
+
+const _filename = fileURLToPath(import.meta.url);
+const _dirname = dirname(_filename);
+const _package = JSON.parse(fs.readFileSync(_dirname + '/package.json', 'utf-8'));
 
 const entryPoints = globSync("./src/**/**.{ts,tsx}");
 
 /** @type {import('esbuild').BuildOptions} */
 const options = {
-  entryPoints,
-  minify: true,
-  outdir: "./built/esm",
-  target: "es2022",
-  platform: "browser",
-  format: "esm",
+	entryPoints,
+	minify: process.env.NODE_ENV === 'production',
+	outdir: "./built",
+	target: "es2022",
+	platform: "browser",
+	format: "esm",
+	sourcemap: 'linked',
 };
 
-if (process.env.WATCH === "true") {
-  options.watch = {
-    onRebuild(error, result) {
-      if (error) {
-        console.error("watch build failed:", error);
-      } else {
-        console.log("watch build succeeded:", result);
-      }
-    },
-  };
+// built配下をすべて削除する
+fs.rmSync('./built', { recursive: true, force: true });
+
+if (process.argv.map(arg => arg.toLowerCase()).includes("--watch")) {
+	await watchSrc();
+} else {
+	await buildSrc();
 }
 
-build(options).catch((err) => {
-  process.stderr.write(err.stderr);
-  process.exit(1);
-});
+async function buildSrc() {
+	console.log(`[${_package.name}] start building...`);
+
+	await build(options)
+		.then(it => {
+			console.log(`[${_package.name}] build succeeded.`);
+		})
+		.catch((err) => {
+			process.stderr.write(err.stderr);
+			process.exit(1);
+		});
+
+	if (process.env.NODE_ENV === 'production') {
+		console.log(`[${_package.name}] skip building d.ts because NODE_ENV is production.`);
+	} else {
+		await buildDts();
+	}
+
+	console.log(`[${_package.name}] finish building.`);
+}
+
+function buildDts() {
+	return execa(
+		'tsc',
+		[
+			'--project', 'tsconfig.json',
+			'--outDir', 'built',
+			'--declaration', 'true',
+			'--emitDeclarationOnly', 'true',
+		],
+		{
+			stdout: process.stdout,
+			stderr: process.stderr,
+		}
+	);
+}
+
+async function watchSrc() {
+	const plugins = [{
+		name: 'gen-dts',
+		setup(build) {
+			build.onStart(() => {
+				console.log(`[${_package.name}] detect changed...`);
+			});
+			build.onEnd(async result => {
+				if (result.errors.length > 0) {
+					console.error(`[${_package.name}] watch build failed:`, result);
+					return;
+				}
+				await buildDts();
+			});
+		},
+	}];
+
+	console.log(`[${_package.name}] start watching...`)
+
+	const context = await esbuild.context({ ...options, plugins });
+	await context.watch();
+
+	await new Promise((resolve, reject) => {
+		process.on('SIGHUP', resolve);
+		process.on('SIGINT', resolve);
+		process.on('SIGTERM', resolve);
+		process.on('SIGKILL', resolve);
+		process.on('uncaughtException', reject);
+		process.on('exit', resolve);
+	}).finally(async () => {
+		await context.dispose();
+		console.log(`[${_package.name}] finish watching.`);
+	});
+}
diff --git a/packages/misskey-reversi/package.json b/packages/misskey-reversi/package.json
index 7bfc890fef..45a6120861 100644
--- a/packages/misskey-reversi/package.json
+++ b/packages/misskey-reversi/package.json
@@ -2,24 +2,21 @@
 	"type": "module",
 	"name": "misskey-reversi",
 	"version": "0.0.1",
-	"types": "./built/dts/index.d.ts",
+	"main": "./built/index.js",
+	"types": "./built/index.d.ts",
 	"exports": {
 		".": {
-			"import": "./built/esm/index.js",
-			"types": "./built/dts/index.d.ts"
+			"import": "./built/index.js",
+			"types": "./built/index.d.ts"
 		},
 		"./*": {
-			"import": "./built/esm/*",
-			"types": "./built/dts/*"
+			"import": "./built/*",
+			"types": "./built/*"
 		}
 	},
 	"scripts": {
 		"build": "node ./build.js",
-		"build:tsc": "npm run tsc",
-		"tsc": "npm run tsc-esm && npm run tsc-dts",
-		"tsc-esm": "tsc --outDir built/esm",
-		"tsc-dts": "tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true",
-		"watch": "nodemon -w src -e ts,js,cjs,mjs,json --exec \"pnpm run build:tsc\"",
+		"watch": "nodemon -w package.json -e json --exec \"node ./build.js --watch\"",
 		"eslint": "eslint . --ext .js,.jsx,.ts,.tsx",
 		"typecheck": "tsc --noEmit",
 		"lint": "pnpm typecheck && pnpm eslint"
@@ -30,15 +27,16 @@
 		"@typescript-eslint/eslint-plugin": "7.1.0",
 		"@typescript-eslint/parser": "7.1.0",
 		"eslint": "8.57.0",
+		"execa": "8.0.1",
 		"nodemon": "3.0.2",
-		"typescript": "5.3.3"
+		"typescript": "5.3.3",
+		"esbuild": "0.19.11",
+		"glob": "10.3.10"
 	},
 	"files": [
 		"built"
 	],
 	"dependencies": {
-		"crc-32": "1.2.2",
-		"esbuild": "0.19.11",
-		"glob": "10.3.10"
+		"crc-32": "1.2.2"
 	}
 }
diff --git a/packages/misskey-reversi/tsconfig.json b/packages/misskey-reversi/tsconfig.json
index f56b65e868..6e34e332e0 100644
--- a/packages/misskey-reversi/tsconfig.json
+++ b/packages/misskey-reversi/tsconfig.json
@@ -6,7 +6,7 @@
 		"moduleResolution": "nodenext",
 		"declaration": true,
 		"declarationMap": true,
-		"sourceMap": true,
+		"sourceMap": false,
 		"outDir": "./built/",
 		"removeComments": true,
 		"strict": true,
diff --git a/packages/sw/src/sw.ts b/packages/sw/src/sw.ts
index c38419eadc..33614429de 100644
--- a/packages/sw/src/sw.ts
+++ b/packages/sw/src/sw.ts
@@ -76,7 +76,7 @@ globalThis.addEventListener('push', ev => {
 			case 'notification':
 			case 'unreadAntennaNote':
 				// 1日以上経過している場合は無視
-				if ((new Date()).getTime() - data.dateTime > 1000 * 60 * 60 * 24) break;
+				if (Date.now() - data.dateTime > 1000 * 60 * 60 * 24) break;
 
 				return createNotification(data);
 			case 'readAllNotifications':
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8d73bb8e20..4e83b909f5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -15,12 +15,18 @@ importers:
       cssnano:
         specifier: 6.0.5
         version: 6.0.5(postcss@8.4.35)
+      esbuild:
+        specifier: 0.19.11
+        version: 0.19.11
       execa:
         specifier: 8.0.1
         version: 8.0.1
       fast-glob:
         specifier: 3.3.2
         version: 3.3.2
+      glob:
+        specifier: 10.3.10
+        version: 10.3.10
       ignore-walk:
         specifier: 6.0.4
         version: 6.0.4
@@ -724,8 +730,8 @@ importers:
         specifier: 3.4.21
         version: 3.4.21
       aiscript-vscode:
-        specifier: github:aiscript-dev/aiscript-vscode#v0.1.2
-        version: github.com/aiscript-dev/aiscript-vscode/793211d40243c8775f6b85f015c221c82cbffb07
+        specifier: github:aiscript-dev/aiscript-vscode#v0.1.4
+        version: github.com/aiscript-dev/aiscript-vscode/3f79d6f0550369267220aa67702287948d885424
       astring:
         specifier: 1.8.6
         version: 1.8.6
@@ -1129,22 +1135,16 @@ importers:
         version: 3.1.0
       ts-jest:
         specifier: ^29.1.1
-        version: 29.1.1(@babel/core@7.24.0)(jest@29.7.0)(typescript@5.1.6)
+        version: 29.1.1(@babel/core@7.24.0)(esbuild@0.19.11)(jest@29.7.0)(typescript@5.1.6)
       typedoc:
         specifier: ^0.25.3
         version: 0.25.3(typescript@5.1.6)
 
   packages/misskey-bubble-game:
     dependencies:
-      esbuild:
-        specifier: 0.19.11
-        version: 0.19.11
       eventemitter3:
         specifier: 5.0.1
         version: 5.0.1
-      glob:
-        specifier: ^10.3.10
-        version: 10.3.10
       matter-js:
         specifier: 0.19.0
         version: 0.19.0
@@ -1170,9 +1170,18 @@ importers:
       '@typescript-eslint/parser':
         specifier: 7.1.0
         version: 7.1.0(eslint@8.57.0)(typescript@5.3.3)
+      esbuild:
+        specifier: 0.19.11
+        version: 0.19.11
       eslint:
         specifier: 8.57.0
         version: 8.57.0
+      execa:
+        specifier: 8.0.1
+        version: 8.0.1
+      glob:
+        specifier: 10.3.10
+        version: 10.3.10
       nodemon:
         specifier: 3.0.2
         version: 3.0.2
@@ -1182,12 +1191,6 @@ importers:
 
   packages/misskey-js:
     dependencies:
-      '@swc/cli':
-        specifier: 0.1.63
-        version: 0.1.63(@swc/core@1.3.105)
-      '@swc/core':
-        specifier: 1.3.105
-        version: 1.3.105
       eventemitter3:
         specifier: 5.0.1
         version: 5.0.1
@@ -1203,7 +1206,7 @@ importers:
         version: 1.0.0(@typescript-eslint/eslint-plugin@7.1.0)(@typescript-eslint/parser@7.1.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
       '@swc/jest':
         specifier: 0.2.31
-        version: 0.2.31(@swc/core@1.3.105)
+        version: 0.2.31(@swc/core@1.3.107)
       '@types/jest':
         specifier: 29.5.12
         version: 29.5.12
@@ -1216,9 +1219,18 @@ importers:
       '@typescript-eslint/parser':
         specifier: 7.1.0
         version: 7.1.0(eslint@8.57.0)(typescript@5.3.3)
+      esbuild:
+        specifier: 0.19.11
+        version: 0.19.11
       eslint:
         specifier: 8.57.0
         version: 8.57.0
+      execa:
+        specifier: 8.0.1
+        version: 8.0.1
+      glob:
+        specifier: 10.3.10
+        version: 10.3.10
       jest:
         specifier: 29.7.0
         version: 29.7.0(@types/node@20.11.22)
@@ -1285,12 +1297,6 @@ importers:
       crc-32:
         specifier: 1.2.2
         version: 1.2.2
-      esbuild:
-        specifier: 0.19.11
-        version: 0.19.11
-      glob:
-        specifier: 10.3.10
-        version: 10.3.10
     devDependencies:
       '@misskey-dev/eslint-plugin':
         specifier: 1.0.0
@@ -1304,9 +1310,18 @@ importers:
       '@typescript-eslint/parser':
         specifier: 7.1.0
         version: 7.1.0(eslint@8.57.0)(typescript@5.3.3)
+      esbuild:
+        specifier: 0.19.11
+        version: 0.19.11
       eslint:
         specifier: 8.57.0
         version: 8.57.0
+      execa:
+        specifier: 8.0.1
+        version: 8.0.1
+      glob:
+        specifier: 10.3.10
+        version: 10.3.10
       nodemon:
         specifier: 3.0.2
         version: 3.0.2
@@ -5262,7 +5277,7 @@ packages:
     resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==}
     engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
     dependencies:
-      semver: 7.5.4
+      semver: 7.6.0
     dev: false
 
   /@nuxtjs/opencollective@0.3.2:
@@ -6953,32 +6968,12 @@ packages:
       ts-dedent: 2.2.0
       type-fest: 2.19.0
       vue: 3.4.21(typescript@5.3.3)
-      vue-component-type-helpers: 2.0.7
+      vue-component-type-helpers: 2.0.12
     transitivePeerDependencies:
       - encoding
       - supports-color
     dev: true
 
-  /@swc/cli@0.1.63(@swc/core@1.3.105):
-    resolution: {integrity: sha512-EM9oxxHzmmsprYRbGqsS2M4M/Gr5Gkcl0ROYYIdlUyTkhOiX822EQiRCpPCwdutdnzH2GyaTN7wc6i0Y+CKd3A==}
-    engines: {node: '>= 12.13'}
-    hasBin: true
-    peerDependencies:
-      '@swc/core': ^1.2.66
-      chokidar: 3.5.3
-    peerDependenciesMeta:
-      chokidar:
-        optional: true
-    dependencies:
-      '@mole-inc/bin-wrapper': 8.0.1
-      '@swc/core': 1.3.105
-      commander: 7.2.0
-      fast-glob: 3.3.2
-      semver: 7.5.4
-      slash: 3.0.0
-      source-map: 0.7.4
-    dev: false
-
   /@swc/cli@0.1.63(@swc/core@1.3.107)(chokidar@3.5.3):
     resolution: {integrity: sha512-EM9oxxHzmmsprYRbGqsS2M4M/Gr5Gkcl0ROYYIdlUyTkhOiX822EQiRCpPCwdutdnzH2GyaTN7wc6i0Y+CKd3A==}
     engines: {node: '>= 12.13'}
@@ -7011,14 +7006,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-darwin-arm64@1.3.105:
-    resolution: {integrity: sha512-buWeweLVDXXmcnfIemH4PGnpjwsDTUGitnPchdftb0u1FU8zSSP/lw/pUCBDG/XvWAp7c/aFxgN4CyG0j7eayA==}
-    engines: {node: '>=10'}
-    cpu: [arm64]
-    os: [darwin]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-darwin-arm64@1.3.107:
     resolution: {integrity: sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw==}
     engines: {node: '>=10'}
@@ -7036,14 +7023,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-darwin-x64@1.3.105:
-    resolution: {integrity: sha512-hFmXPApqjA/8sy/9NpljHVaKi1OvL9QkJ2MbbTCCbJERuHMpMUeMBUWipHRfepGHFhU+9B9zkEup/qJaJR4XIg==}
-    engines: {node: '>=10'}
-    cpu: [x64]
-    os: [darwin]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-darwin-x64@1.3.107:
     resolution: {integrity: sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A==}
     engines: {node: '>=10'}
@@ -7072,14 +7051,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-linux-arm-gnueabihf@1.3.105:
-    resolution: {integrity: sha512-mwXyMC41oMKkKrPpL8uJpOxw7fyfQoVtIw3Y5p0Blabk+espNYqix0E8VymHdRKuLmM//z5wVmMsuHdGBHvZeg==}
-    engines: {node: '>=10'}
-    cpu: [arm]
-    os: [linux]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-linux-arm-gnueabihf@1.3.107:
     resolution: {integrity: sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ==}
     engines: {node: '>=10'}
@@ -7097,14 +7068,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-linux-arm64-gnu@1.3.105:
-    resolution: {integrity: sha512-H7yEIVydnUtqBSUxwmO6vpIQn7j+Rr0DF6ZOORPyd/SFzQJK9cJRtmJQ3ZMzlJ1Bb+1gr3MvjgLEnmyCYEm2Hg==}
-    engines: {node: '>=10'}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-linux-arm64-gnu@1.3.107:
     resolution: {integrity: sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg==}
     engines: {node: '>=10'}
@@ -7122,14 +7085,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-linux-arm64-musl@1.3.105:
-    resolution: {integrity: sha512-Jg7RTFT3pGFdGt5elPV6oDkinRy7q9cXpenjXnJnM2uvx3jOwnsAhexPyCDHom8SHL0j+9kaLLC66T3Gz1E4UA==}
-    engines: {node: '>=10'}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-linux-arm64-musl@1.3.107:
     resolution: {integrity: sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw==}
     engines: {node: '>=10'}
@@ -7147,14 +7102,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-linux-x64-gnu@1.3.105:
-    resolution: {integrity: sha512-DJghplpyusAmp1X5pW/y93MmS/u83Sx5GrpJxI6KLPa82+NItTgMcl8KBQmW5GYAJpVKZyaIvBanS5TdR8aN2w==}
-    engines: {node: '>=10'}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-linux-x64-gnu@1.3.107:
     resolution: {integrity: sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g==}
     engines: {node: '>=10'}
@@ -7172,14 +7119,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-linux-x64-musl@1.3.105:
-    resolution: {integrity: sha512-wD5jL2dZH/5nPNssBo6jhOvkI0lmWnVR4vnOXWjuXgjq1S0AJpO5jdre/6pYLmf26hft3M42bteDnjR4AAZ38w==}
-    engines: {node: '>=10'}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-linux-x64-musl@1.3.107:
     resolution: {integrity: sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw==}
     engines: {node: '>=10'}
@@ -7197,14 +7136,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-win32-arm64-msvc@1.3.105:
-    resolution: {integrity: sha512-UqJtwILUHRw2+3UTPnRkZrzM/bGdQtbR4UFdp79mZQYfryeOUVNg7aJj/bWUTkKtLiZ3o+FBNrM/x2X1mJX5bA==}
-    engines: {node: '>=10'}
-    cpu: [arm64]
-    os: [win32]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-win32-arm64-msvc@1.3.107:
     resolution: {integrity: sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA==}
     engines: {node: '>=10'}
@@ -7222,14 +7153,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-win32-ia32-msvc@1.3.105:
-    resolution: {integrity: sha512-Z95C6vZgBEJ1snidYyjVKnVWiy/ZpPiIFIXGWkDr4ZyBgL3eZX12M6LzZ+NApHKffrbO4enbFyFomueBQgS2oA==}
-    engines: {node: '>=10'}
-    cpu: [ia32]
-    os: [win32]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-win32-ia32-msvc@1.3.107:
     resolution: {integrity: sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA==}
     engines: {node: '>=10'}
@@ -7247,14 +7170,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core-win32-x64-msvc@1.3.105:
-    resolution: {integrity: sha512-3J8fkyDPFsS3mszuYUY4Wfk7/B2oio9qXUwF3DzOs2MK+XgdyMLIptIxL7gdfitXJBH8k39uVjrIw1JGJDjyFA==}
-    engines: {node: '>=10'}
-    cpu: [x64]
-    os: [win32]
-    requiresBuild: true
-    optional: true
-
   /@swc/core-win32-x64-msvc@1.3.107:
     resolution: {integrity: sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA==}
     engines: {node: '>=10'}
@@ -7272,30 +7187,6 @@ packages:
     dev: false
     optional: true
 
-  /@swc/core@1.3.105:
-    resolution: {integrity: sha512-me2VZyr3OjqRpFrYQJJYy7x/zbFSl9nt+MAGnIcBtjDsN00iTVqEaKxBjPBFQV9BDAgPz2SRWes/DhhVm5SmMw==}
-    engines: {node: '>=10'}
-    requiresBuild: true
-    peerDependencies:
-      '@swc/helpers': ^0.5.0
-    peerDependenciesMeta:
-      '@swc/helpers':
-        optional: true
-    dependencies:
-      '@swc/counter': 0.1.2
-      '@swc/types': 0.1.5
-    optionalDependencies:
-      '@swc/core-darwin-arm64': 1.3.105
-      '@swc/core-darwin-x64': 1.3.105
-      '@swc/core-linux-arm-gnueabihf': 1.3.105
-      '@swc/core-linux-arm64-gnu': 1.3.105
-      '@swc/core-linux-arm64-musl': 1.3.105
-      '@swc/core-linux-x64-gnu': 1.3.105
-      '@swc/core-linux-x64-musl': 1.3.105
-      '@swc/core-win32-arm64-msvc': 1.3.105
-      '@swc/core-win32-ia32-msvc': 1.3.105
-      '@swc/core-win32-x64-msvc': 1.3.105
-
   /@swc/core@1.3.107:
     resolution: {integrity: sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ==}
     engines: {node: '>=10'}
@@ -7323,17 +7214,6 @@ packages:
   /@swc/counter@0.1.2:
     resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==}
 
-  /@swc/jest@0.2.31(@swc/core@1.3.105):
-    resolution: {integrity: sha512-Gh0Ste380O8KUY1IqsKr+aOvqqs2Loa+WcWWVNwl+lhXqOWK1iTFAP1K0IDfLqAuFP68+D/PxcpBJn21e6Quvw==}
-    engines: {npm: '>= 7.0.0'}
-    peerDependencies:
-      '@swc/core': '*'
-    dependencies:
-      '@jest/create-cache-key-function': 29.7.0
-      '@swc/core': 1.3.105
-      jsonc-parser: 3.2.0
-    dev: true
-
   /@swc/jest@0.2.31(@swc/core@1.3.107):
     resolution: {integrity: sha512-Gh0Ste380O8KUY1IqsKr+aOvqqs2Loa+WcWWVNwl+lhXqOWK1iTFAP1K0IDfLqAuFP68+D/PxcpBJn21e6Quvw==}
     engines: {npm: '>= 7.0.0'}
@@ -11123,7 +11003,7 @@ packages:
       '@one-ini/wasm': 0.1.1
       commander: 10.0.1
       minimatch: 9.0.1
-      semver: 7.5.4
+      semver: 7.6.0
     dev: true
 
   /ee-first@1.1.1:
@@ -13614,7 +13494,7 @@ packages:
       '@babel/parser': 7.23.6
       '@istanbuljs/schema': 0.1.3
       istanbul-lib-coverage: 3.2.2
-      semver: 7.5.4
+      semver: 7.6.0
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -14708,6 +14588,8 @@ packages:
   /lru-cache@10.1.0:
     resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==}
     engines: {node: 14 || >=16.14}
+    dependencies:
+      semver: 7.6.0
 
   /lru-cache@4.1.5:
     resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
@@ -14790,7 +14672,7 @@ packages:
     resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
     engines: {node: '>=10'}
     dependencies:
-      semver: 7.5.4
+      semver: 7.6.0
     dev: true
 
   /make-error@1.3.6:
@@ -15858,7 +15740,7 @@ packages:
     dependencies:
       hosted-git-info: 4.1.0
       is-core-module: 2.13.1
-      semver: 7.5.4
+      semver: 7.6.0
       validate-npm-package-license: 3.0.4
     dev: true
 
@@ -17939,7 +17821,6 @@ packages:
     hasBin: true
     dependencies:
       lru-cache: 6.0.0
-    dev: true
 
   /send@0.18.0:
     resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
@@ -19060,7 +18941,7 @@ packages:
     engines: {node: '>=6.10'}
     dev: true
 
-  /ts-jest@29.1.1(@babel/core@7.24.0)(jest@29.7.0)(typescript@5.1.6):
+  /ts-jest@29.1.1(@babel/core@7.24.0)(esbuild@0.19.11)(jest@29.7.0)(typescript@5.1.6):
     resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==}
     engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
     hasBin: true
@@ -19083,6 +18964,7 @@ packages:
     dependencies:
       '@babel/core': 7.24.0
       bs-logger: 0.2.6
+      esbuild: 0.19.11
       fast-json-stable-stringify: 2.1.0
       jest: 29.7.0(@types/node@20.11.30)
       jest-util: 29.7.0
@@ -19843,7 +19725,7 @@ packages:
     engines: {vscode: ^1.82.0}
     dependencies:
       minimatch: 5.1.6
-      semver: 7.5.4
+      semver: 7.6.0
       vscode-languageserver-protocol: 3.17.5
     dev: false
 
@@ -19900,8 +19782,8 @@ packages:
     resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==}
     dev: true
 
-  /vue-component-type-helpers@2.0.7:
-    resolution: {integrity: sha512-7e12Evdll7JcTIocojgnCgwocX4WzIYStGClBQ+QuWPinZo/vQolv2EMq4a3lg16TKfwWafLimG77bxb56UauA==}
+  /vue-component-type-helpers@2.0.12:
+    resolution: {integrity: sha512-iVJugClQdu3ZyF0N4CF3Egi+gWYfnxlIPPGtFXZG29rF3kQIuziP+k7rVGCCHiibIOQ1SlspKjrh+LRYzMpwTA==}
     dev: true
 
   /vue-demi@0.14.7(vue@3.4.21):
@@ -20441,10 +20323,10 @@ packages:
     resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
     dev: true
 
-  '@github.com/aiscript-dev/aiscript-languageserver/releases/download/0.1.5/aiscript-dev-aiscript-languageserver-0.1.5.tgz':
-    resolution: {tarball: https://github.com/aiscript-dev/aiscript-languageserver/releases/download/0.1.5/aiscript-dev-aiscript-languageserver-0.1.5.tgz}
+  '@github.com/aiscript-dev/aiscript-languageserver/releases/download/0.1.6/aiscript-dev-aiscript-languageserver-0.1.6.tgz':
+    resolution: {tarball: https://github.com/aiscript-dev/aiscript-languageserver/releases/download/0.1.6/aiscript-dev-aiscript-languageserver-0.1.6.tgz}
     name: '@aiscript-dev/aiscript-languageserver'
-    version: 0.1.5
+    version: 0.1.6
     hasBin: true
     dependencies:
       seedrandom: 3.0.5
@@ -20454,13 +20336,13 @@ packages:
       vscode-languageserver-textdocument: 1.0.11
     dev: false
 
-  github.com/aiscript-dev/aiscript-vscode/793211d40243c8775f6b85f015c221c82cbffb07:
-    resolution: {tarball: https://codeload.github.com/aiscript-dev/aiscript-vscode/tar.gz/793211d40243c8775f6b85f015c221c82cbffb07}
+  github.com/aiscript-dev/aiscript-vscode/3f79d6f0550369267220aa67702287948d885424:
+    resolution: {tarball: https://codeload.github.com/aiscript-dev/aiscript-vscode/tar.gz/3f79d6f0550369267220aa67702287948d885424}
     name: aiscript-vscode
-    version: 0.1.2
+    version: 0.1.4
     engines: {vscode: ^1.83.0}
     dependencies:
-      '@aiscript-dev/aiscript-languageserver': '@github.com/aiscript-dev/aiscript-languageserver/releases/download/0.1.5/aiscript-dev-aiscript-languageserver-0.1.5.tgz'
+      '@aiscript-dev/aiscript-languageserver': '@github.com/aiscript-dev/aiscript-languageserver/releases/download/0.1.6/aiscript-dev-aiscript-languageserver-0.1.6.tgz'
       vscode-languageclient: 9.0.1
     dev: false
 
diff --git a/scripts/dev.mjs b/scripts/dev.mjs
index e00b2e254d..a5c071fa7e 100644
--- a/scripts/dev.mjs
+++ b/scripts/dev.mjs
@@ -16,41 +16,41 @@ await execa('pnpm', ['clean'], {
 	stderr: process.stderr,
 });
 
-await execa('pnpm', ['build-pre'], {
-	cwd: _dirname + '/../',
-	stdout: process.stdout,
-	stderr: process.stderr,
-});
+await Promise.all([
+	execa('pnpm', ['build-pre'], {
+		cwd: _dirname + '/../',
+		stdout: process.stdout,
+		stderr: process.stderr,
+	}),
+	execa('pnpm', ['build-assets'], {
+		cwd: _dirname + '/../',
+		stdout: process.stdout,
+		stderr: process.stderr,
+	}),
+	execa('pnpm', ['--filter', 'misskey-js', 'build'], {
+		cwd: _dirname + '/../',
+		stdout: process.stdout,
+		stderr: process.stderr,
+	}),
+	execa('pnpm', ['--filter', 'megalodon', 'build'], {
+		cwd: _dirname + '/../',
+		stdout: process.stdout,
+		stderr: process.stderr,
+	}),
+]);
 
-await execa('pnpm', ['build-assets'], {
-	cwd: _dirname + '/../',
-	stdout: process.stdout,
-	stderr: process.stderr,
-});
-
-await execa('pnpm', ['--filter', 'misskey-js', 'ts'], {
-	cwd: _dirname + '/../',
-	stdout: process.stdout,
-	stderr: process.stderr,
-});
-
-await execa("pnpm", ['--filter', 'megalodon', 'build'], {
-	cwd: _dirname + '/../',
-	stdout: process.stdout,
-	stderr: process.stderr,
-});
-
-await execa('pnpm', ['--filter', 'misskey-reversi', 'build:tsc'], {
-	cwd: _dirname + '/../',
-	stdout: process.stdout,
-	stderr: process.stderr,
-});
-
-await execa('pnpm', ['--filter', 'misskey-bubble-game', 'build:tsc'], {
-	cwd: _dirname + '/../',
-	stdout: process.stdout,
-	stderr: process.stderr,
-});
+await Promise.all([
+	execa('pnpm', ['--filter', 'misskey-reversi', 'build'], {
+		cwd: _dirname + '/../',
+		stdout: process.stdout,
+		stderr: process.stderr,
+	}),
+	execa('pnpm', ['--filter', 'misskey-bubble-game', 'build'], {
+		cwd: _dirname + '/../',
+		stdout: process.stdout,
+		stderr: process.stderr,
+	}),
+]);
 
 execa('pnpm', ['build-pre', '--watch'], {
 	cwd: _dirname + '/../',