diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 31e974edaa..9b3f85fe1d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -92,6 +92,6 @@ jobs: - run: pnpm i --frozen-lockfile - run: pnpm --filter misskey-js run build if: ${{ matrix.workspace == 'backend' }} - - run: pnpm --filter misskey-reversi run build:tsc + - run: pnpm --filter misskey-reversi run build if: ${{ matrix.workspace == 'backend' }} - run: pnpm --filter ${{ matrix.workspace }} run typecheck diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index 49a6a39805..a803db4508 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -45,6 +45,8 @@ jobs: with: version: 8 run_install: false + - name: Install FFmpeg + uses: FedericoCarboni/setup-ffmpeg@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4.0.2 with: diff --git a/CHANGELOG.md b/CHANGELOG.md index ae19cad0da..78a4682960 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ ## Unreleased +### Note +- コントロールパネル内にあるサマリープロキシの設定個所がセキュリティから全般へ変更となります。 + ### General +- Enhance: URLプレビューの有効化・無効化を設定できるように #13569 +- Enhance: アンテナでBotによるノートを除外できるように + (Cherry-picked from https://github.com/MisskeyIO/misskey/pull/545) - Fix: Play作成時に設定した公開範囲が機能していない問題を修正 ### Client @@ -10,7 +16,13 @@ - Enhance: リアクション受け入れが「いいねのみ」の場合はリアクション絵文字一覧を表示しないように - Enhance: 設定>プラグインのページからプラグインの簡易的なログやエラーを見られるように - 実装の都合により、プラグインは1つエラーを起こした時に即時停止するようになりました -- Enhance: ページのデザインを変更 +- Enhance: ページのデザインを変更 +- Enhance: 2要素認証(ワンタイムパスワード)の入力欄を改善 +- Enhance: 「今日誕生日のフォロー中ユーザー」ウィジェットを手動でリロードできるように +- Enhance: 映像・音声の再生にブラウザのネイティブプレイヤーを使用できるように +- Enhance: 映像・音声の再生メニューに「再生速度」「ループ再生」「ピクチャインピクチャ」を追加 +- Enhance: 映像・音声の再生にキーボードショートカットが使えるように +- Enhance: ノートについているリアクションの「もっと!」から、リアクションの一覧を表示できるように - Fix: 一部のページ内リンクが正しく動作しない問題を修正 - Fix: 周年の実績が閏年を考慮しない問題を修正 - Fix: ローカルURLのプレビューポップアップが左上に表示される @@ -18,11 +30,18 @@ (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/459) - Fix: ページタイトルでローカルユーザーとリモートユーザーの区別がつかない問題を修正 (Cherry-picked from https://github.com/MisskeyIO/misskey/pull/528) +- Fix: コードブロックのシンタックスハイライトで使用される定義ファイルをCDNから取得するように #13177 + - CDNから取得せずMisskey本体にバンドルする場合は`pacakges/frontend/vite.config.ts`を修正してください。 +- Fix: タイムゾーンによっては、「今日誕生日のフォロー中ユーザー」ウィジェットが正しく動作しない問題を修正 ### 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/cypress/e2e/basic.cy.js b/cypress/e2e/basic.cy.ts similarity index 100% rename from cypress/e2e/basic.cy.js rename to cypress/e2e/basic.cy.ts diff --git a/cypress/e2e/router.cy.js b/cypress/e2e/router.cy.ts similarity index 100% rename from cypress/e2e/router.cy.js rename to cypress/e2e/router.cy.ts diff --git a/cypress/e2e/widgets.cy.js b/cypress/e2e/widgets.cy.ts similarity index 100% rename from cypress/e2e/widgets.cy.js rename to cypress/e2e/widgets.cy.ts diff --git a/cypress/support/commands.js b/cypress/support/commands.ts similarity index 98% rename from cypress/support/commands.js rename to cypress/support/commands.ts index 91a4d7abe6..c2d92e1663 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.ts @@ -30,7 +30,7 @@ Cypress.Commands.add('visitHome', () => { }) Cypress.Commands.add('resetState', () => { - cy.window(win => { + cy.window().then(win => { win.indexedDB.deleteDatabase('keyval-store'); }); cy.request('POST', '/api/reset-db', {}).as('reset'); diff --git a/cypress/support/e2e.js b/cypress/support/e2e.ts similarity index 100% rename from cypress/support/e2e.js rename to cypress/support/e2e.ts diff --git a/cypress/support/index.ts b/cypress/support/index.ts new file mode 100644 index 0000000000..c1bed21979 --- /dev/null +++ b/cypress/support/index.ts @@ -0,0 +1,19 @@ +declare global { + namespace Cypress { + interface Chainable { + login(username: string, password: string): Chainable; + + registerUser( + username: string, + password: string, + isAdmin?: boolean + ): Chainable; + + resetState(): Chainable; + + visitHome(): Chainable; + } + } +} + +export {} diff --git a/cypress/tsconfig.json b/cypress/tsconfig.json new file mode 100644 index 0000000000..6fe7f32cc4 --- /dev/null +++ b/cypress/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "lib": ["dom", "es5"], + "target": "es5", + "types": ["cypress", "node"] + }, + "include": ["./**/*.ts"] +} diff --git a/locales/index.d.ts b/locales/index.d.ts index 01e35cc8cd..5f8d107874 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -1740,6 +1740,10 @@ export interface Locale extends ILocale { * 除外キーワード */ "antennaExcludeKeywords": string; + /** + * Botアカウントを除外 + */ + "antennaExcludeBots": string; /** * スペースで区切るとAND指定になり、改行で区切るとOR指定になります */ @@ -5144,6 +5148,26 @@ export interface Locale extends ILocale { * リトライ */ "gameRetry": string; + /** + * 使用しない場合は空欄にしてください + */ + "notUsePleaseLeaveBlank": string; + /** + * ワンタイムパスワードを使う + */ + "useTotp": string; + /** + * バックアップコードを使う + */ + "useBackupCode": string; + /** + * アプリを起動 + */ + "launchApp": string; + /** + * 動画・音声の再生にブラウザのUIを使用する + */ + "useNativeUIForVideoAudioPlayer": string; "_bubbleGame": { /** * 遊び方 @@ -7832,13 +7856,9 @@ export interface Locale extends ILocale { */ "step1": ParameterizedString<"a" | "b">; /** - * 次に、表示されているQRコードをアプリでスキャンします。 + * 次に、表示されているQRコードをアプリでスキャンするか、ボタンをクリックして端末上でアプリを開きます。 */ "step2": string; - /** - * QRコードをクリックすると、お使いの端末にインストールされている認証アプリやキーリングに登録できます。 - */ - "step2Click": string; /** * デスクトップアプリを使用する場合は次のURIを入力します */ @@ -9128,6 +9148,14 @@ export interface Locale extends ILocale { * ボタン */ "button": string; + /** + * 動的ブロック + */ + "dynamic": string; + /** + * このブロックは廃止されています。今後は{play}を利用してください。 + */ + "dynamicDescription": ParameterizedString<"play">; /** * ノート埋め込み */ @@ -10116,6 +10144,74 @@ export interface Locale extends ILocale { */ "header": string; }; + "_urlPreviewSetting": { + /** + * URLプレビューの設定 + */ + "title": string; + /** + * URLプレビューを有効にする + */ + "enable": string; + /** + * プレビュー取得時のタイムアウト(ms) + */ + "timeout": string; + /** + * プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されません。 + */ + "timeoutDescription": string; + /** + * Content-Lengthの最大値(byte) + */ + "maximumContentLength": string; + /** + * Content-Lengthがこの値を超えた場合、プレビューは生成されません。 + */ + "maximumContentLengthDescription": string; + /** + * Content-Lengthが取得できた場合のみプレビューを生成 + */ + "requireContentLength": string; + /** + * 相手サーバがContent-Lengthを返さない場合、プレビューは生成されません。 + */ + "requireContentLengthDescription": string; + /** + * User-Agent + */ + "userAgent": string; + /** + * プレビュー取得時に使用されるUser-Agentを設定します。空欄の場合、デフォルトのUser-Agentが使用されます。 + */ + "userAgentDescription": string; + /** + * プレビューを生成するプロキシのエンドポイント + */ + "summaryProxy": string; + /** + * Misskey本体ではなく、サマリープロキシを使用してプレビューを生成します。 + */ + "summaryProxyDescription": string; + /** + * プロキシには下記パラメータがクエリ文字列として連携されます。プロキシ側がこれらをサポートしない場合、設定値は無視されます。 + */ + "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 171129e921..e45725935a 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -431,6 +431,7 @@ name: "名前" antennaSource: "受信ソース" antennaKeywords: "受信キーワード" antennaExcludeKeywords: "除外キーワード" +antennaExcludeBots: "Botアカウントを除外" antennaKeywordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります" notifyAntenna: "新しいノートを通知する" withFileAntenna: "ファイルが添付されたノートのみ" @@ -1282,6 +1283,11 @@ enableHorizontalSwipe: "スワイプしてタブを切り替える" loading: "読み込み中" surrender: "やめる" gameRetry: "リトライ" +notUsePleaseLeaveBlank: "使用しない場合は空欄にしてください" +useTotp: "ワンタイムパスワードを使う" +useBackupCode: "バックアップコードを使う" +launchApp: "アプリを起動" +useNativeUIForVideoAudioPlayer: "動画・音声の再生にブラウザのUIを使用する" _bubbleGame: howToPlay: "遊び方" @@ -2057,8 +2063,7 @@ _2fa: alreadyRegistered: "既に設定は完了しています。" registerTOTP: "認証アプリの設定を開始" step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。" - step2: "次に、表示されているQRコードをアプリでスキャンします。" - step2Click: "QRコードをクリックすると、お使いの端末にインストールされている認証アプリやキーリングに登録できます。" + step2: "次に、表示されているQRコードをアプリでスキャンするか、ボタンをクリックして端末上でアプリを開きます。" step2Uri: "デスクトップアプリを使用する場合は次のURIを入力します" step3Title: "確認コードを入力" step3: "アプリに表示されている確認コード(トークン)を入力します。" @@ -2407,6 +2412,8 @@ _pages: section: "セクション" image: "画像" button: "ボタン" + dynamic: "動的ブロック" + dynamicDescription: "このブロックは廃止されています。今後は{play}を利用してください。" note: "ノート埋め込み" _note: @@ -2692,3 +2699,22 @@ _offlineScreen: title: "オフライン - サーバーに接続できません" header: "サーバーに接続できません" +_urlPreviewSetting: + title: "URLプレビューの設定" + enable: "URLプレビューを有効にする" + timeout: "プレビュー取得時のタイムアウト(ms)" + timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されません。" + maximumContentLength: "Content-Lengthの最大値(byte)" + maximumContentLengthDescription: "Content-Lengthがこの値を超えた場合、プレビューは生成されません。" + requireContentLength: "Content-Lengthが取得できた場合のみプレビューを生成" + requireContentLengthDescription: "相手サーバがContent-Lengthを返さない場合、プレビューは生成されません。" + userAgent: "User-Agent" + userAgentDescription: "プレビュー取得時に使用されるUser-Agentを設定します。空欄の場合、デフォルトのUser-Agentが使用されます。" + summaryProxy: "プレビューを生成するプロキシのエンドポイント" + summaryProxyDescription: "Misskey本体ではなく、サマリープロキシを使用してプレビューを生成します。" + summaryProxyDescription2: "プロキシには下記パラメータがクエリ文字列として連携されます。プロキシ側がこれらをサポートしない場合、設定値は無視されます。" + +_mediaControls: + pip: "ピクチャインピクチャ" + playbackRate: "再生速度" + loop: "ループ再生" diff --git a/package.json b/package.json index 556c21c402..3a781db83c 100644 --- a/package.json +++ b/package.json @@ -56,9 +56,12 @@ "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", "@typescript-eslint/eslint-plugin": "7.1.0", "@typescript-eslint/parser": "7.1.0", "cross-env": "7.0.3", 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/migration/1710512074000-url-preview-meta.js b/packages/backend/migration/1710512074000-url-preview-meta.js new file mode 100644 index 0000000000..8af521bbf4 --- /dev/null +++ b/packages/backend/migration/1710512074000-url-preview-meta.js @@ -0,0 +1,42 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export class UrlPreviewMeta1710512074000 { + name = 'UrlPreviewMeta1710512074000' + + async up(queryRunner) { + await queryRunner.query(` + alter table meta + rename column "summalyProxy" to "urlPreviewSummaryProxyUrl"; + alter table meta + add "urlPreviewEnabled" boolean default true not null; + alter table meta + add "urlPreviewTimeout" integer default 10000 not null; + alter table meta + add "urlPreviewMaximumContentLength" bigint default 10485760 not null; + alter table meta + add "urlPreviewRequireContentLength" boolean default false not null; + alter table meta + add "urlPreviewUserAgent" varchar(1024) default null; + `); + } + + async down(queryRunner) { + await queryRunner.query(` + alter table meta + rename column "urlPreviewSummaryProxyUrl" to "summalyProxy"; + alter table meta + drop column "urlPreviewEnabled"; + alter table meta + drop column "urlPreviewTimeout"; + alter table meta + drop column "urlPreviewMaximumContentLength"; + alter table meta + drop column "urlPreviewRequireContentLength"; + alter table meta + drop column "urlPreviewUserAgent"; + `); + } +} diff --git a/packages/backend/migration/1710919614510-antenna-exclude-bots.js b/packages/backend/migration/1710919614510-antenna-exclude-bots.js new file mode 100644 index 0000000000..fac84317cc --- /dev/null +++ b/packages/backend/migration/1710919614510-antenna-exclude-bots.js @@ -0,0 +1,16 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export class AntennaExcludeBots1710919614510 { + name = 'AntennaExcludeBots1710919614510' + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "antenna" ADD "excludeBots" boolean NOT NULL DEFAULT false`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "excludeBots"`); + } +} diff --git a/packages/backend/package.json b/packages/backend/package.json index 22bafad2a0..7874b53c94 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -80,7 +80,7 @@ "@fastify/static": "6.12.0", "@fastify/view": "8.2.0", "@misskey-dev/sharp-read-bmp": "1.2.0", - "@misskey-dev/summaly": "5.0.3", + "@misskey-dev/summaly": "5.1.0", "@nestjs/common": "10.3.3", "@nestjs/core": "10.3.3", "@nestjs/testing": "10.3.3", diff --git a/packages/backend/src/core/AntennaService.ts b/packages/backend/src/core/AntennaService.ts index 4f956a43ed..793d8974b3 100644 --- a/packages/backend/src/core/AntennaService.ts +++ b/packages/backend/src/core/AntennaService.ts @@ -92,7 +92,7 @@ export class AntennaService implements OnApplicationShutdown { } @bindThis - public async addNoteToAntennas(note: MiNote, noteUser: { id: MiUser['id']; username: string; host: string | null; }): Promise { + public async addNoteToAntennas(note: MiNote, noteUser: { id: MiUser['id']; username: string; host: string | null; isBot: boolean; }): Promise { const antennas = await this.getAntennas(); const antennasWithMatchResult = await Promise.all(antennas.map(antenna => this.checkHitAntenna(antenna, note, noteUser).then(hit => [antenna, hit] as const))); const matchedAntennas = antennasWithMatchResult.filter(([, hit]) => hit).map(([antenna]) => antenna); @@ -110,10 +110,12 @@ export class AntennaService implements OnApplicationShutdown { // NOTE: フォローしているユーザーのノート、リストのユーザーのノート、グループのユーザーのノート指定はパフォーマンス上の理由で無効になっている @bindThis - public async checkHitAntenna(antenna: MiAntenna, note: (MiNote | Packed<'Note'>), noteUser: { id: MiUser['id']; username: string; host: string | null; }): Promise { + public async checkHitAntenna(antenna: MiAntenna, note: (MiNote | Packed<'Note'>), noteUser: { id: MiUser['id']; username: string; host: string | null; isBot: boolean; }): Promise { if (note.visibility === 'specified') return false; if (note.visibility === 'followers') return false; + if (antenna.excludeBots && noteUser.isBot) return false; + if (antenna.localOnly && noteUser.host != null) return false; if (!antenna.withReplies && note.replyId != null) return false; diff --git a/packages/backend/src/core/FileInfoService.ts b/packages/backend/src/core/FileInfoService.ts index b8babcb3a7..169285f033 100644 --- a/packages/backend/src/core/FileInfoService.ts +++ b/packages/backend/src/core/FileInfoService.ts @@ -14,11 +14,12 @@ import FFmpeg from 'fluent-ffmpeg'; import isSvg from 'is-svg'; import probeImageSize from 'probe-image-size'; import { type predictionType } from 'nsfwjs'; -import sharp from 'sharp'; import { sharpBmp } from '@misskey-dev/sharp-read-bmp'; import { encode } from 'blurhash'; import { createTempDir } from '@/misc/create-temp.js'; import { AiService } from '@/core/AiService.js'; +import { LoggerService } from '@/core/LoggerService.js'; +import type Logger from '@/logger.js'; import { bindThis } from '@/decorators.js'; export type FileInfo = { @@ -49,9 +50,13 @@ const TYPE_SVG = { @Injectable() export class FileInfoService { + private logger: Logger; + constructor( private aiService: AiService, + private loggerService: LoggerService, ) { + this.logger = this.loggerService.getLogger('file-info'); } /** @@ -317,6 +322,34 @@ export class FileInfoService { return mime; } + /** + * ビデオファイルにビデオトラックがあるかどうかチェック + * (ない場合:m4a, webmなど) + * + * @param path ファイルパス + * @returns ビデオトラックがあるかどうか(エラー発生時は常に`true`を返す) + */ + @bindThis + private hasVideoTrackOnVideoFile(path: string): Promise { + 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 */ @@ -339,6 +372,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/entities/AntennaEntityService.ts b/packages/backend/src/core/entities/AntennaEntityService.ts index 64d6a3c978..3ec8efa6bf 100644 --- a/packages/backend/src/core/entities/AntennaEntityService.ts +++ b/packages/backend/src/core/entities/AntennaEntityService.ts @@ -39,6 +39,7 @@ export class AntennaEntityService { caseSensitive: antenna.caseSensitive, localOnly: antenna.localOnly, notify: antenna.notify, + excludeBots: antenna.excludeBots, withReplies: antenna.withReplies, withFile: antenna.withFile, isActive: antenna.isActive, diff --git a/packages/backend/src/core/entities/MetaEntityService.ts b/packages/backend/src/core/entities/MetaEntityService.ts index b50d76288f..9d054ab6a1 100644 --- a/packages/backend/src/core/entities/MetaEntityService.ts +++ b/packages/backend/src/core/entities/MetaEntityService.ts @@ -111,6 +111,7 @@ export class MetaEntityService { policies: { ...DEFAULT_POLICIES, ...instance.policies }, mediaProxy: this.config.mediaProxy, + enableUrlPreview: instance.urlPreviewEnabled, }; return packed; diff --git a/packages/backend/src/models/Antenna.ts b/packages/backend/src/models/Antenna.ts index 332a899768..f5e819059e 100644 --- a/packages/backend/src/models/Antenna.ts +++ b/packages/backend/src/models/Antenna.ts @@ -72,6 +72,11 @@ export class MiAntenna { }) public caseSensitive: boolean; + @Column('boolean', { + default: false, + }) + public excludeBots: boolean; + @Column('boolean', { default: false, }) diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts index 531525d21f..72ef88b4d1 100644 --- a/packages/backend/src/models/Meta.ts +++ b/packages/backend/src/models/Meta.ts @@ -299,12 +299,6 @@ export class MiMeta { }) public enableSensitiveMediaDetectionForVideos: boolean; - @Column('varchar', { - length: 1024, - nullable: true, - }) - public summalyProxy: string | null; - @Column('boolean', { default: false, }) @@ -631,4 +625,36 @@ export class MiMeta { nullable: true, }) public proxyCheckioApiKey: string; + + @Column('boolean', { + default: true, + }) + public urlPreviewEnabled: boolean; + + @Column('integer', { + default: 10000, + }) + public urlPreviewTimeout: number; + + @Column('bigint', { + default: 1024 * 1024 * 10, + }) + public urlPreviewMaximumContentLength: number; + + @Column('boolean', { + default: true, + }) + public urlPreviewRequireContentLength: boolean; + + @Column('varchar', { + length: 1024, + nullable: true, + }) + public urlPreviewSummaryProxyUrl: string | null; + + @Column('varchar', { + length: 1024, + nullable: true, + }) + public urlPreviewUserAgent: string | null; } diff --git a/packages/backend/src/models/json-schema/antenna.ts b/packages/backend/src/models/json-schema/antenna.ts index 74622b6193..78cf6d3ba2 100644 --- a/packages/backend/src/models/json-schema/antenna.ts +++ b/packages/backend/src/models/json-schema/antenna.ts @@ -76,6 +76,11 @@ export const packedAntennaSchema = { type: 'boolean', optional: false, nullable: false, }, + excludeBots: { + type: 'boolean', + optional: false, nullable: false, + default: false, + }, withReplies: { type: 'boolean', optional: false, nullable: false, diff --git a/packages/backend/src/models/json-schema/meta.ts b/packages/backend/src/models/json-schema/meta.ts index 17789f3b46..473339a1ad 100644 --- a/packages/backend/src/models/json-schema/meta.ts +++ b/packages/backend/src/models/json-schema/meta.ts @@ -207,6 +207,10 @@ export const packedMetaLiteSchema = { type: 'string', optional: false, nullable: false, }, + enableUrlPreview: { + type: 'boolean', + optional: false, nullable: false, + }, backgroundImageUrl: { type: 'string', optional: false, nullable: true, 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/queue/processors/ExportAntennasProcessorService.ts b/packages/backend/src/queue/processors/ExportAntennasProcessorService.ts index af48bad417..1d8e90f367 100644 --- a/packages/backend/src/queue/processors/ExportAntennasProcessorService.ts +++ b/packages/backend/src/queue/processors/ExportAntennasProcessorService.ts @@ -81,6 +81,7 @@ export class ExportAntennasProcessorService { }) : null, caseSensitive: antenna.caseSensitive, localOnly: antenna.localOnly, + excludeBots: antenna.excludeBots, withReplies: antenna.withReplies, withFile: antenna.withFile, notify: antenna.notify, diff --git a/packages/backend/src/queue/processors/ImportAntennasProcessorService.ts b/packages/backend/src/queue/processors/ImportAntennasProcessorService.ts index 951b560597..ff1c04de06 100644 --- a/packages/backend/src/queue/processors/ImportAntennasProcessorService.ts +++ b/packages/backend/src/queue/processors/ImportAntennasProcessorService.ts @@ -44,6 +44,7 @@ const validate = new Ajv().compile({ } }, caseSensitive: { type: 'boolean' }, localOnly: { type: 'boolean' }, + excludeBots: { type: 'boolean' }, withReplies: { type: 'boolean' }, withFile: { type: 'boolean' }, notify: { type: 'boolean' }, @@ -88,6 +89,7 @@ export class ImportAntennasProcessorService { users: (antenna.src === 'list' && antenna.userListAccts !== null ? antenna.userListAccts : antenna.users).filter(Boolean), caseSensitive: antenna.caseSensitive, localOnly: antenna.localOnly, + excludeBots: antenna.excludeBots, withReplies: antenna.withReplies, withFile: antenna.withFile, notify: antenna.notify, diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index f4589a7c2f..ce2f9d26dc 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -434,6 +434,8 @@ export const meta = { summalyProxy: { type: 'string', optional: false, nullable: true, + deprecated: true, + description: '[Deprecated] Use "urlPreviewSummaryProxyUrl" instead.', }, themeColor: { type: 'string', @@ -470,6 +472,30 @@ export const meta = { type: 'string', optional: false, nullable: true, }, + urlPreviewEnabled: { + type: 'boolean', + optional: false, nullable: false, + }, + urlPreviewTimeout: { + type: 'number', + optional: false, nullable: false, + }, + urlPreviewMaximumContentLength: { + type: 'number', + optional: false, nullable: false, + }, + urlPreviewRequireContentLength: { + type: 'boolean', + optional: false, nullable: false, + }, + urlPreviewUserAgent: { + type: 'string', + optional: false, nullable: true, + }, + urlPreviewSummaryProxyUrl: { + type: 'string', + optional: false, nullable: true, + }, }, }, } as const; @@ -553,7 +579,6 @@ export default class extends Endpoint { // eslint- setSensitiveFlagAutomatically: instance.setSensitiveFlagAutomatically, enableSensitiveMediaDetectionForVideos: instance.enableSensitiveMediaDetectionForVideos, proxyAccountId: instance.proxyAccountId, - summalyProxy: instance.summalyProxy, email: instance.email, smtpSecure: instance.smtpSecure, smtpHost: instance.smtpHost, @@ -604,6 +629,13 @@ export default class extends Endpoint { // eslint- enableGDPRMode: instance.enableGDPRMode, enableProxyCheckio: instance.enableProxyCheckio, proxyCheckioApiKey: instance.proxyCheckioApiKey, + summalyProxy: instance.urlPreviewSummaryProxyUrl, + urlPreviewEnabled: instance.urlPreviewEnabled, + urlPreviewTimeout: instance.urlPreviewTimeout, + urlPreviewMaximumContentLength: instance.urlPreviewMaximumContentLength, + urlPreviewRequireContentLength: instance.urlPreviewRequireContentLength, + urlPreviewUserAgent: instance.urlPreviewUserAgent, + urlPreviewSummaryProxyUrl: instance.urlPreviewSummaryProxyUrl, }; }); } diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index 73dfe9c04c..98a474bb37 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -153,6 +153,16 @@ export const paramDef = { type: 'string', }, }, + summalyProxy: { + type: 'string', nullable: true, + description: '[Deprecated] Use "urlPreviewSummaryProxyUrl" instead.', + }, + urlPreviewEnabled: { type: 'boolean' }, + urlPreviewTimeout: { type: 'integer' }, + urlPreviewMaximumContentLength: { type: 'integer' }, + urlPreviewRequireContentLength: { type: 'boolean' }, + urlPreviewUserAgent: { type: 'string', nullable: true }, + urlPreviewSummaryProxyUrl: { type: 'string', nullable: true }, EmojiBotToken: { type: 'string', nullable: true }, ApiBase: { type: 'string', nullable: true }, enableGDPRMode: { type: 'boolean' }, @@ -391,10 +401,6 @@ export default class extends Endpoint { // eslint- set.langs = ps.langs.filter(Boolean); } - if (ps.summalyProxy !== undefined) { - set.summalyProxy = ps.summalyProxy; - } - if (ps.enableEmail !== undefined) { set.enableEmail = ps.enableEmail; } @@ -619,6 +625,32 @@ export default class extends Endpoint { // eslint- set.bannedEmailDomains = ps.bannedEmailDomains; } + if (ps.urlPreviewEnabled !== undefined) { + set.urlPreviewEnabled = ps.urlPreviewEnabled; + } + + if (ps.urlPreviewTimeout !== undefined) { + set.urlPreviewTimeout = ps.urlPreviewTimeout; + } + + if (ps.urlPreviewMaximumContentLength !== undefined) { + set.urlPreviewMaximumContentLength = ps.urlPreviewMaximumContentLength; + } + + if (ps.urlPreviewRequireContentLength !== undefined) { + set.urlPreviewRequireContentLength = ps.urlPreviewRequireContentLength; + } + + if (ps.urlPreviewUserAgent !== undefined) { + const value = (ps.urlPreviewUserAgent ?? '').trim(); + set.urlPreviewUserAgent = value === '' ? null : ps.urlPreviewUserAgent; + } + + if (ps.summalyProxy !== undefined || ps.urlPreviewSummaryProxyUrl !== undefined) { + const value = ((ps.urlPreviewSummaryProxyUrl ?? ps.summalyProxy) ?? '').trim(); + set.urlPreviewSummaryProxyUrl = value === '' ? null : value; + } + const before = await this.metaService.fetch(true); await this.metaService.update(set); diff --git a/packages/backend/src/server/api/endpoints/antennas/create.ts b/packages/backend/src/server/api/endpoints/antennas/create.ts index 191de8f833..57c8eb4958 100644 --- a/packages/backend/src/server/api/endpoints/antennas/create.ts +++ b/packages/backend/src/server/api/endpoints/antennas/create.ts @@ -64,6 +64,7 @@ export const paramDef = { } }, caseSensitive: { type: 'boolean' }, localOnly: { type: 'boolean' }, + excludeBots: { type: 'boolean' }, withReplies: { type: 'boolean' }, withFile: { type: 'boolean' }, notify: { type: 'boolean' }, @@ -124,6 +125,7 @@ export default class extends Endpoint { // eslint- users: ps.users, caseSensitive: ps.caseSensitive, localOnly: ps.localOnly, + excludeBots: ps.excludeBots, withReplies: ps.withReplies, withFile: ps.withFile, notify: ps.notify, diff --git a/packages/backend/src/server/api/endpoints/antennas/update.ts b/packages/backend/src/server/api/endpoints/antennas/update.ts index 76a34924a0..e6720aacf8 100644 --- a/packages/backend/src/server/api/endpoints/antennas/update.ts +++ b/packages/backend/src/server/api/endpoints/antennas/update.ts @@ -63,6 +63,7 @@ export const paramDef = { } }, caseSensitive: { type: 'boolean' }, localOnly: { type: 'boolean' }, + excludeBots: { type: 'boolean' }, withReplies: { type: 'boolean' }, withFile: { type: 'boolean' }, notify: { type: 'boolean' }, @@ -120,6 +121,7 @@ export default class extends Endpoint { // eslint- users: ps.users, caseSensitive: ps.caseSensitive, localOnly: ps.localOnly, + excludeBots: ps.excludeBots, withReplies: ps.withReplies, withFile: ps.withFile, notify: ps.notify, diff --git a/packages/backend/src/server/api/endpoints/notes/translate.ts b/packages/backend/src/server/api/endpoints/notes/translate.ts index 78812351f4..38a9660aa2 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,17 +77,17 @@ export default class extends Endpoint { // 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) { - return 204; // TODO: 良い感じのエラー返す + 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 { // 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/src/server/api/openapi/gen-spec.ts b/packages/backend/src/server/api/openapi/gen-spec.ts index 7679a9b464..2a14270a24 100644 --- a/packages/backend/src/server/api/openapi/gen-spec.ts +++ b/packages/backend/src/server/api/openapi/gen-spec.ts @@ -93,7 +93,7 @@ export function genOpenapiSpec(config: Config, includeSelfRef = false) { const hasBody = (schema.type === 'object' && schema.properties && Object.keys(schema.properties).length >= 1); const info = { - operationId: endpoint.name, + operationId: endpoint.name.replaceAll('/', '___'), // NOTE: スラッシュは使えない summary: endpoint.name, description: desc, externalDocs: { diff --git a/packages/backend/src/server/web/UrlPreviewService.ts b/packages/backend/src/server/web/UrlPreviewService.ts index c6a96e94cb..8f8f08a305 100644 --- a/packages/backend/src/server/web/UrlPreviewService.ts +++ b/packages/backend/src/server/web/UrlPreviewService.ts @@ -5,6 +5,7 @@ import { Inject, Injectable } from '@nestjs/common'; import { summaly } from '@misskey-dev/summaly'; +import { SummalyResult } from '@misskey-dev/summaly/built/summary.js'; import { DI } from '@/di-symbols.js'; import type { Config } from '@/config.js'; import { MetaService } from '@/core/MetaService.js'; @@ -14,6 +15,7 @@ import { query } from '@/misc/prelude/url.js'; import { LoggerService } from '@/core/LoggerService.js'; import { bindThis } from '@/decorators.js'; import { ApiError } from '@/server/api/error.js'; +import { MiMeta } from '@/models/Meta.js'; import type { FastifyRequest, FastifyReply } from 'fastify'; @Injectable() @@ -62,24 +64,25 @@ export class UrlPreviewService { const meta = await this.metaService.fetch(); - this.logger.info(meta.summalyProxy + if (!meta.urlPreviewEnabled) { + reply.code(403); + return { + error: new ApiError({ + message: 'URL preview is disabled', + code: 'URL_PREVIEW_DISABLED', + id: '58b36e13-d2f5-0323-b0c6-76aa9dabefb8', + }), + }; + } + + this.logger.info(meta.urlPreviewSummaryProxyUrl ? `(Proxy) Getting preview of ${url}@${lang} ...` : `Getting preview of ${url}@${lang} ...`); + try { - const summary = meta.summalyProxy ? - await this.httpRequestService.getJson>(`${meta.summalyProxy}?${query({ - url: url, - lang: lang ?? 'ja-JP', - })}`) - : - await summaly(url, { - followRedirects: false, - lang: lang ?? 'ja-JP', - agent: this.config.proxy ? { - http: this.httpRequestService.httpAgent, - https: this.httpRequestService.httpsAgent, - } : undefined, - }); + const summary = meta.urlPreviewSummaryProxyUrl + ? await this.fetchSummaryFromProxy(url, meta, lang) + : await this.fetchSummary(url, meta, lang); this.logger.succ(`Got preview of ${url}: ${summary.title}`); @@ -100,6 +103,7 @@ export class UrlPreviewService { return summary; } catch (err) { this.logger.warn(`Failed to get preview of ${url}: ${err}`); + reply.code(422); reply.header('Cache-Control', 'max-age=86400, immutable'); return { @@ -111,4 +115,37 @@ export class UrlPreviewService { }; } } + + private fetchSummary(url: string, meta: MiMeta, lang?: string): Promise { + const agent = this.config.proxy + ? { + http: this.httpRequestService.httpAgent, + https: this.httpRequestService.httpsAgent, + } + : undefined; + + return summaly(url, { + followRedirects: false, + lang: lang ?? 'ja-JP', + agent: agent, + userAgent: meta.urlPreviewUserAgent ?? undefined, + operationTimeout: meta.urlPreviewTimeout, + contentLengthLimit: meta.urlPreviewMaximumContentLength, + contentLengthRequired: meta.urlPreviewRequireContentLength, + }); + } + + private fetchSummaryFromProxy(url: string, meta: MiMeta, lang?: string): Promise { + const proxy = meta.urlPreviewSummaryProxyUrl!; + const queryStr = query({ + url: url, + lang: lang ?? 'ja-JP', + userAgent: meta.urlPreviewUserAgent ?? undefined, + operationTimeout: meta.urlPreviewTimeout, + contentLengthLimit: meta.urlPreviewMaximumContentLength, + contentLengthRequired: meta.urlPreviewRequireContentLength, + }); + + return this.httpRequestService.getJson(`${proxy}?${queryStr}`); + } } diff --git a/packages/backend/test/e2e/antennas.ts b/packages/backend/test/e2e/antennas.ts index 7370b1963c..cf5c7dd130 100644 --- a/packages/backend/test/e2e/antennas.ts +++ b/packages/backend/test/e2e/antennas.ts @@ -44,6 +44,7 @@ describe('アンテナ', () => { users: [''], withFile: false, withReplies: false, + excludeBots: false, }; let root: User; @@ -156,6 +157,7 @@ describe('アンテナ', () => { users: [''], withFile: false, withReplies: false, + excludeBots: false, localOnly: false, }; assert.deepStrictEqual(response, expected); 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/e2e/streaming.ts b/packages/backend/test/e2e/streaming.ts index edb930617f..26bb68ec6c 100644 --- a/packages/backend/test/e2e/streaming.ts +++ b/packages/backend/test/e2e/streaming.ts @@ -158,19 +158,17 @@ describe('Streaming', () => { assert.strictEqual(fired, true); }); - /* なんか失敗する test('フォローしているユーザーの visibility: followers な投稿への返信が流れる', async () => { - const note = await api('notes/create', { text: 'foo', visibility: 'followers' }, kyoko); + const note = await post(kyoko, { text: 'foo', visibility: 'followers' }); const fired = await waitFire( ayano, 'homeTimeline', // ayano:home - () => api('notes/create', { text: 'bar', visibility: 'followers', replyId: note.body.id }, kyoko), // kyoko posts + () => api('notes/create', { text: 'bar', visibility: 'followers', replyId: note.id }, kyoko), // kyoko posts msg => msg.type === 'note' && msg.body.userId === kyoko.id && msg.body.reply.text === 'foo', ); assert.strictEqual(fired, true); }); - */ test('フォローしているユーザーのフォローしていないユーザーの visibility: followers な投稿への返信が流れない', async () => { const chitoseNote = await post(chitose, { text: 'followers-only post', visibility: 'followers' }); 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 2eec80d763..40d187f5a8 100644 --- a/packages/backend/test/unit/FileInfoService.ts +++ b/packages/backend/test/unit/FileInfoService.ts @@ -15,6 +15,7 @@ import { GlobalModule } from '@/GlobalModule.js'; import { FileInfoService } from '@/core/FileInfoService.js'; //import { DI } from '@/di-symbols.js'; import { AiService } from '@/core/AiService.js'; +import { LoggerService } from '@/core/LoggerService.js'; import type { TestingModule } from '@nestjs/testing'; import type { MockFunctionMetadata } from 'jest-mock'; @@ -35,6 +36,7 @@ describe('FileInfoService', () => { ], providers: [ AiService, + LoggerService, FileInfoService, ], }) @@ -323,8 +325,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, { skipSensitiveDetection: true }) as any; @@ -337,13 +357,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 682def8e8d..db7f7b76f6 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -60,7 +60,7 @@ "rollup": "4.12.0", "sanitize-html": "2.12.1", "sass": "1.71.1", - "shiki": "1.1.7", + "shiki": "1.2.0", "strict-event-emitter-types": "2.0.0", "textarea-caret": "3.1.0", "three": "0.162.0", diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 681beaf00f..d86ae18ffe 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -145,8 +145,11 @@ export async function common(createVue: () => App) { // NOTE: この処理は必ずクライアント更新チェック処理より後に来ること(テーマ再構築のため) watch(defaultStore.reactiveState.darkMode, (darkMode) => { applyTheme(darkMode ? ColdDeviceStorage.get('darkTheme') : ColdDeviceStorage.get('lightTheme')); + document.documentElement.dataset.colorMode = darkMode ? 'dark' : 'light'; }, { immediate: miLocalStorage.getItem('theme') == null }); + document.documentElement.dataset.colorMode = defaultStore.state.darkMode ? 'dark' : 'light'; + const darkTheme = computed(ColdDeviceStorage.makeGetterSetter('darkTheme')); const lightTheme = computed(ColdDeviceStorage.makeGetterSetter('lightTheme')); diff --git a/packages/frontend/src/components/MkButton.vue b/packages/frontend/src/components/MkButton.vue index 4591e09be3..c93fa0ae95 100644 --- a/packages/frontend/src/components/MkButton.vue +++ b/packages/frontend/src/components/MkButton.vue @@ -55,6 +55,7 @@ SPDX-License-Identifier: AGPL-3.0-only } ]" :to="to ?? '#'" + :behavior="linkBehavior" @mousedown="onMousedown" >
@@ -76,7 +77,7 @@ const props = defineProps<{ inline?: boolean; link?: boolean; to?: string; - autofocus?: boolean; + linkBehavior?: null | 'window' | 'browser';autofocus?: boolean; wait?: boolean; danger?: boolean; full?: boolean; diff --git a/packages/frontend/src/components/MkCode.core.vue b/packages/frontend/src/components/MkCode.core.vue index 872517b6aa..c0e7df5dac 100644 --- a/packages/frontend/src/components/MkCode.core.vue +++ b/packages/frontend/src/components/MkCode.core.vue @@ -9,9 +9,9 @@ SPDX-License-Identifier: AGPL-3.0-only diff --git a/packages/frontend/src/components/MkMediaVideo.vue b/packages/frontend/src/components/MkMediaVideo.vue index 73c1b6ff9d..1e3868bc36 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 -
{{ i18n.ts._2fa.step2 }}
{{ i18n.ts._2fa.step2Click }}
- +
{{ i18n.ts._2fa.step2 }}
+
+ + +
{{ i18n.ts.launchApp }}
+
@@ -52,7 +56,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts._2fa.step3Title }}
- +
{{ i18n.ts._2fa.step3 }}
@@ -177,8 +181,14 @@ function allDone() { transform: translateX(-50px); } -.qr { +.qrRoot { + display: block; + margin: 0 auto; width: 200px; max-width: 100%; } + +.qr { + width: 100%; +} diff --git a/packages/frontend/src/pages/settings/2fa.vue b/packages/frontend/src/pages/settings/2fa.vue index d8c5f848fe..975f23cdd1 100644 --- a/packages/frontend/src/pages/settings/2fa.vue +++ b/packages/frontend/src/pages/settings/2fa.vue @@ -80,7 +80,7 @@ import MkSwitch from '@/components/MkSwitch.vue'; import FormSection from '@/components/form/section.vue'; import MkFolder from '@/components/MkFolder.vue'; import * as os from '@/os.js'; -import { signinRequired } from '@/account.js'; +import { signinRequired, updateAccount } from '@/account.js'; import { i18n } from '@/i18n.js'; const $i = signinRequired(); @@ -116,6 +116,10 @@ async function unregisterTOTP(): Promise { os.apiWithDialog('i/2fa/unregister', { password: auth.result.password, token: auth.result.token, + }).then(res => { + updateAccount({ + twoFactorEnabled: false, + }); }).catch(error => { os.alert({ type: 'error', diff --git a/packages/frontend/src/pages/settings/general.vue b/packages/frontend/src/pages/settings/general.vue index 6e8fda32f3..9877117f2a 100644 --- a/packages/frontend/src/pages/settings/general.vue +++ b/packages/frontend/src/pages/settings/general.vue @@ -177,6 +177,7 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts.onlyAndWithSave }} {{ i18n.ts.hanntenn }} {{ i18n.ts.seasonalScreenEffect }} + {{ i18n.ts.useNativeUIForVideoAudioPlayer }}
@@ -475,6 +476,7 @@ const remoteLocalTimelineName2 = ref(defaultStore.state['remoteLocalTimelineName const remoteLocalTimelineName3 = ref(defaultStore.state['remoteLocalTimelineName3']); const remoteLocalTimelineName4 = ref(defaultStore.state['remoteLocalTimelineName4']); const remoteLocalTimelineName5 = ref(defaultStore.state['remoteLocalTimelineName5']); +const useNativeUIForVideoAudioPlayer = computed(defaultStore.makeGetterSetter('useNativeUIForVideoAudioPlayer')); const remoteLocalTimelineEnable1 = computed(defaultStore.makeGetterSetter('remoteLocalTimelineEnable1')); const remoteLocalTimelineEnable2 = computed(defaultStore.makeGetterSetter('remoteLocalTimelineEnable2')); diff --git a/packages/frontend/src/router/definition.ts b/packages/frontend/src/router/definition.ts index eaeeafd499..c9f03b738f 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/code-highlighter.ts b/packages/frontend/src/scripts/code-highlighter.ts index 5dd0a3be78..e94027d302 100644 --- a/packages/frontend/src/scripts/code-highlighter.ts +++ b/packages/frontend/src/scripts/code-highlighter.ts @@ -3,18 +3,19 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { bundledThemesInfo } from 'shiki'; import { getHighlighterCore, loadWasm } from 'shiki/core'; import darkPlus from 'shiki/themes/dark-plus.mjs'; +import { bundledThemesInfo } from 'shiki/themes'; +import { bundledLanguagesInfo } from 'shiki/langs'; import { unique } from './array.js'; import { deepClone } from './clone.js'; import { deepMerge } from './merge.js'; -import type { Highlighter, LanguageRegistration, ThemeRegistration, ThemeRegistrationRaw } from 'shiki'; +import type { HighlighterCore, LanguageRegistration, ThemeRegistration, ThemeRegistrationRaw } from 'shiki/core'; import { ColdDeviceStorage } from '@/store.js'; import lightTheme from '@/themes/_light.json5'; import darkTheme from '@/themes/_dark.json5'; -let _highlighter: Highlighter | null = null; +let _highlighter: HighlighterCore | null = null; export async function getTheme(mode: 'light' | 'dark', getName: true): Promise; export async function getTheme(mode: 'light' | 'dark', getName?: false): Promise; @@ -51,16 +52,14 @@ export async function getTheme(mode: 'light' | 'dark', getName = false): Promise return darkPlus; } -export async function getHighlighter(): Promise { +export async function getHighlighter(): Promise { if (!_highlighter) { return await initHighlighter(); } return _highlighter; } -export async function initHighlighter() { - const aiScriptGrammar = await import('aiscript-vscode/aiscript/syntaxes/aiscript.tmLanguage.json'); - +async function initHighlighter() { await loadWasm(import('shiki/onig.wasm?init')); // テーマの重複を消す @@ -69,11 +68,12 @@ export async function initHighlighter() { ...(await Promise.all([getTheme('light'), getTheme('dark')])), ]); + const jsLangInfo = bundledLanguagesInfo.find(t => t.id === 'javascript'); const highlighter = await getHighlighterCore({ themes, langs: [ - import('shiki/langs/javascript.mjs'), - aiScriptGrammar.default as unknown as LanguageRegistration, + ...(jsLangInfo ? [async () => await jsLangInfo.import()] : []), + async () => (await import('aiscript-vscode/aiscript/syntaxes/aiscript.tmLanguage.json')).default as unknown as LanguageRegistration, ], }); 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/theme.ts b/packages/frontend/src/scripts/theme.ts index 5f7e88bd9f..c7f8b3d596 100644 --- a/packages/frontend/src/scripts/theme.ts +++ b/packages/frontend/src/scripts/theme.ts @@ -6,7 +6,7 @@ import { ref } from 'vue'; import tinycolor from 'tinycolor2'; import { deepClone } from './clone.js'; -import type { BuiltinTheme } from 'shiki'; +import type { BundledTheme } from 'shiki/themes'; import { globalEvents } from '@/events.js'; import lightTheme from '@/themes/_light.json5'; import darkTheme from '@/themes/_dark.json5'; @@ -20,7 +20,7 @@ export type Theme = { base?: 'dark' | 'light'; props: Record; codeHighlighter?: { - base: BuiltinTheme; + base: BundledTheme; overrides?: Record; } | { base: '_none_'; diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index f81e54cfd8..02efc12cff 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -7,7 +7,6 @@ import { markRaw, ref } from 'vue'; import * as Misskey from 'misskey-js'; import { miLocalStorage } from './local-storage.js'; import type { SoundType } from '@/scripts/sound.js'; -import type { BuiltinTheme as ShikiBuiltinTheme } from 'shiki'; import { Storage } from '@/pizzax.js'; import { hemisphere } from '@/scripts/intl-const.js'; @@ -709,6 +708,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/style.scss b/packages/frontend/src/style.scss index f6442d9e0d..a923b5ffc6 100644 --- a/packages/frontend/src/style.scss +++ b/packages/frontend/src/style.scss @@ -439,12 +439,13 @@ rt { border-radius: 10px; --bg: #F1E8DC; - --panel: #fff; --fg: #693410; - --switchOffBg: rgba(0, 0, 0, 0.1); - --switchOffFg: rgb(255, 255, 255); - --switchOnBg: var(--accent); - --switchOnFg: rgb(255, 255, 255); +} + +html[data-color-mode=dark] ._woodenFrame { + --bg: #1d0c02; + --fg: #F1E8DC; + --panel: #192320; } ._woodenFrameH { 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 { } + 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, text: string, disabled?: boolean | Ref }; +export type MenuSwitch = { type: 'switch', ref: Ref, text: string, icon?: string, disabled?: boolean | Ref }; export type MenuButton = { type?: 'button', text: string, icon?: string, indicate?: boolean, danger?: boolean, active?: boolean | ComputedRef, avatar?: Misskey.entities.User; action: MenuAction }; +export type MenuRadio = { type: 'radio', text: string, icon?: string, ref: Ref, options: MenuRadioOptionsDef, disabled?: boolean | Ref }; +export type MenuRadioOption = { type: 'radioOption', text: string, action: MenuAction; active?: boolean | ComputedRef }; export type MenuParent = { type: 'parent', text: string, icon?: string, children: MenuItem[] | (() => Promise | 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; 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 5b448e2c3b..49fd103d37 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 +
@@ -53,7 +54,7 @@ const { widgetProps, configure } = useWidgetPropsManager(name, emit, ); -const users = ref([]); +const users = ref([]); 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/vite.config.ts b/packages/frontend/vite.config.ts index 3e2b3ebb35..55038ea205 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -5,11 +5,30 @@ import {type UserConfig, defineConfig} from 'vite'; import locales from '../../locales/index.js'; import meta from '../../package.json'; +import packageInfo from './package.json' assert { type: 'json' }; import pluginUnwindCssModuleClassName from './lib/rollup-plugin-unwind-css-module-class-name.js'; import pluginJson5 from './vite.json5.js'; const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.json', '.json5', '.svg', '.sass', '.scss', '.css', '.vue']; +/** + * Misskeyのフロントエンドにバンドルせず、CDNなどから別途読み込むリソースを記述する。 + * CDNを使わずにバンドルしたい場合、以下の配列から該当要素を削除orコメントアウトすればOK + */ +const externalPackages = [ + // shiki(コードブロックのシンタックスハイライトで使用中)はテーマ・言語の定義の容量が大きいため、それらはCDNから読み込む + { + name: 'shiki', + match: /^shiki\/(?(langs|themes))$/, + path(id: string, pattern: RegExp): string { + const match = pattern.exec(id)?.groups; + return match + ? `https://esm.sh/shiki@${packageInfo.dependencies.shiki}/${match['subPkg']}` + : id; + }, + }, +]; + const hash = (str: string, seed = 0): number => { let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed; @@ -112,6 +131,7 @@ export function getConfig(): UserConfig { input: { app: './src/_boot_.ts', }, + external: externalPackages.map(p => p.match), output: { manualChunks: { vue: ['vue'], @@ -119,6 +139,15 @@ export function getConfig(): UserConfig { }, chunkFileNames: process.env.NODE_ENV === 'production' ? '[hash:8].js' : '[name]-[hash:8].js', assetFileNames: process.env.NODE_ENV === 'production' ? '[hash:8][extname]' : '[name]-[hash:8][extname]', + paths(id) { + for (const p of externalPackages) { + if (p.match.test(id)) { + return p.path(id, p.match); + } + } + + return id; + }, }, }, cssCodeSplit: true, 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: , , */ - "mainEntryPointFilePath": "/built/dts/index.d.ts", + "mainEntryPointFilePath": "/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 2237d278f4..360724d2a9 100644 --- a/packages/misskey-js/etc/misskey-js.api.md +++ b/packages/misskey-js/etc/misskey-js.api.md @@ -29,298 +29,298 @@ 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 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 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 AdminSuspendUserRequest = operations['admin/suspend-user']['requestBody']['content']['application/json']; +type AdminSuspendUserRequest = operations['admin___suspend-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 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']; @@ -340,40 +340,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 { @@ -414,73 +414,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']; @@ -732,184 +732,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; @@ -918,109 +918,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 = { @@ -1733,46 +1733,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']; @@ -1804,43 +1804,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"]; @@ -1849,97 +1849,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']; @@ -1951,280 +1951,280 @@ 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 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 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): 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']; @@ -2248,10 +2248,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 = { @@ -2379,28 +2379,28 @@ type ModerationLog = { export const moderationLogTypes: readonly ["updateServerSettings", "suspend", "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']; @@ -2412,100 +2412,100 @@ type NoteFavorite = components['schemas']['NoteFavorite']; type NoteReaction = components['schemas']['NoteReaction']; // @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 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 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']; @@ -2514,55 +2514,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) export const noteVisibilities: readonly ["public", "home", "followers", "specified"]; @@ -2571,7 +2571,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"]; @@ -2595,31 +2595,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; @@ -2634,7 +2634,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']; @@ -2659,16 +2659,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']; @@ -2683,7 +2683,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']; @@ -2692,34 +2692,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']; @@ -2752,25 +2752,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']; @@ -2889,25 +2889,25 @@ export class Stream extends EventEmitter { type SwitchCaseResponseType = Endpoints[E]['res'] extends SwitchCase ? IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : IsCaseMatched extends true ? GetCaseResult : 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']; @@ -2937,145 +2937,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']; @@ -3084,25 +3084,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 f091e599a9..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, ); @@ -98,6 +104,8 @@ async function generateEndpoints( const entitiesOutputLine: string[] = []; + entitiesOutputLine.push('/* eslint @typescript-eslint/naming-convention: 0 */'); + entitiesOutputLine.push(`import { operations } from '${toImportPath(typeFileName)}';`); entitiesOutputLine.push(''); @@ -138,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) { @@ -153,6 +168,7 @@ async function generateApiClientJSDoc( if (operation.description) { endpoints.push({ operationId: operationId, + path: operation._path_, description: operation.description, }); } @@ -173,7 +189,7 @@ async function generateApiClientJSDoc( ' /**', ` * ${endpoint.description.split('\n').join('\n * ')}`, ' */', - ` request(`, + ` request(`, ' endpoint: E,', ' params: P,', ' credential?: string | null,', @@ -232,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); } @@ -279,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 a936931e99..60bf6659c0 100644 --- a/packages/misskey-js/src/autogen/entities.ts +++ b/packages/misskey-js/src/autogen/entities.ts @@ -1,555 +1,556 @@ +/* eslint @typescript-eslint/naming-convention: 0 */ import { operations } from './types.js'; export type EmptyRequest = Record | undefined; export type EmptyResponse = Record | 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 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 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 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 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 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 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 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 382f25df2b..b09f077951 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/suspend-user': { /** @@ -578,7 +578,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:admin:suspend-user* */ - post: operations['admin/suspend-user']; + post: operations['admin___suspend-user']; }; '/admin/unsuspend-user': { /** @@ -587,7 +587,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': { /** @@ -596,7 +596,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:admin:meta* */ - post: operations['admin/update-meta']; + post: operations['admin___update-meta']; }; '/admin/delete-account': { /** @@ -605,7 +605,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': { /** @@ -614,7 +614,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': { /** @@ -623,7 +623,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - post: operations['admin/roles/create']; + post: operations['admin___roles___create']; }; '/admin/roles/delete': { /** @@ -632,7 +632,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - post: operations['admin/roles/delete']; + post: operations['admin___roles___delete']; }; '/admin/roles/list': { /** @@ -641,7 +641,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:admin:roles* */ - post: operations['admin/roles/list']; + post: operations['admin___roles___list']; }; '/admin/roles/show': { /** @@ -650,7 +650,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:admin:roles* */ - post: operations['admin/roles/show']; + post: operations['admin___roles___show']; }; '/admin/roles/update': { /** @@ -659,7 +659,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - post: operations['admin/roles/update']; + post: operations['admin___roles___update']; }; '/admin/roles/assign': { /** @@ -668,7 +668,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - post: operations['admin/roles/assign']; + post: operations['admin___roles___assign']; }; '/admin/roles/unassign': { /** @@ -677,7 +677,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': { /** @@ -686,7 +686,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': { /** @@ -695,7 +695,7 @@ export type paths = { * * **Credential required**: *No* / **Permission**: *read:admin:roles* */ - post: operations['admin/roles/users']; + post: operations['admin___roles___users']; }; '/announcements': { /** @@ -713,7 +713,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['antennas/create']; + post: operations['antennas___create']; }; '/antennas/delete': { /** @@ -722,7 +722,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['antennas/delete']; + post: operations['antennas___delete']; }; '/antennas/list': { /** @@ -731,7 +731,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['antennas/list']; + post: operations['antennas___list']; }; '/antennas/notes': { /** @@ -740,7 +740,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['antennas/notes']; + post: operations['antennas___notes']; }; '/antennas/show': { /** @@ -749,7 +749,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['antennas/show']; + post: operations['antennas___show']; }; '/antennas/update': { /** @@ -758,7 +758,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['antennas/update']; + post: operations['antennas___update']; }; '/ap/get': { /** @@ -767,7 +767,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:federation* */ - post: operations['ap/get']; + post: operations['ap___get']; }; '/ap/show': { /** @@ -776,7 +776,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['ap/show']; + post: operations['ap___show']; }; '/app/create': { /** @@ -785,7 +785,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['app/create']; + post: operations['app___create']; }; '/app/show': { /** @@ -794,7 +794,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['app/show']; + post: operations['app___show']; }; '/auth/accept': { /** @@ -804,7 +804,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': { /** @@ -813,7 +813,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['auth/session/generate']; + post: operations['auth___session___generate']; }; '/auth/session/show': { /** @@ -822,7 +822,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['auth/session/show']; + post: operations['auth___session___show']; }; '/auth/session/userkey': { /** @@ -831,7 +831,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['auth/session/userkey']; + post: operations['auth___session___userkey']; }; '/blocking/create': { /** @@ -840,7 +840,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:blocks* */ - post: operations['blocking/create']; + post: operations['blocking___create']; }; '/blocking/delete': { /** @@ -849,7 +849,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:blocks* */ - post: operations['blocking/delete']; + post: operations['blocking___delete']; }; '/blocking/list': { /** @@ -858,7 +858,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:blocks* */ - post: operations['blocking/list']; + post: operations['blocking___list']; }; '/channels/create': { /** @@ -867,7 +867,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - post: operations['channels/create']; + post: operations['channels___create']; }; '/channels/featured': { /** @@ -876,7 +876,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['channels/featured']; + post: operations['channels___featured']; }; '/channels/follow': { /** @@ -885,7 +885,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - post: operations['channels/follow']; + post: operations['channels___follow']; }; '/channels/followed': { /** @@ -894,7 +894,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:channels* */ - post: operations['channels/followed']; + post: operations['channels___followed']; }; '/channels/owned': { /** @@ -903,7 +903,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:channels* */ - post: operations['channels/owned']; + post: operations['channels___owned']; }; '/channels/show': { /** @@ -912,7 +912,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['channels/show']; + post: operations['channels___show']; }; '/channels/timeline': { /** @@ -921,7 +921,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['channels/timeline']; + post: operations['channels___timeline']; }; '/channels/unfollow': { /** @@ -930,7 +930,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - post: operations['channels/unfollow']; + post: operations['channels___unfollow']; }; '/channels/update': { /** @@ -939,7 +939,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - post: operations['channels/update']; + post: operations['channels___update']; }; '/channels/favorite': { /** @@ -948,7 +948,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - post: operations['channels/favorite']; + post: operations['channels___favorite']; }; '/channels/unfavorite': { /** @@ -957,7 +957,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - post: operations['channels/unfavorite']; + post: operations['channels___unfavorite']; }; '/channels/my-favorites': { /** @@ -966,7 +966,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:channels* */ - post: operations['channels/my-favorites']; + post: operations['channels___my-favorites']; }; '/channels/search': { /** @@ -975,7 +975,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['channels/search']; + post: operations['channels___search']; }; '/charts/active-users': { /** @@ -984,14 +984,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': { /** @@ -1000,14 +1000,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': { /** @@ -1016,14 +1016,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': { /** @@ -1032,14 +1032,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': { /** @@ -1048,14 +1048,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': { /** @@ -1064,14 +1064,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': { /** @@ -1080,14 +1080,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': { /** @@ -1096,14 +1096,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': { /** @@ -1112,14 +1112,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': { /** @@ -1128,14 +1128,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': { /** @@ -1144,14 +1144,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': { /** @@ -1160,14 +1160,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': { /** @@ -1176,7 +1176,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['clips/add-note']; + post: operations['clips___add-note']; }; '/clips/remove-note': { /** @@ -1185,7 +1185,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['clips/remove-note']; + post: operations['clips___remove-note']; }; '/clips/create': { /** @@ -1194,7 +1194,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['clips/create']; + post: operations['clips___create']; }; '/clips/delete': { /** @@ -1203,7 +1203,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['clips/delete']; + post: operations['clips___delete']; }; '/clips/list': { /** @@ -1212,7 +1212,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['clips/list']; + post: operations['clips___list']; }; '/clips/notes': { /** @@ -1221,7 +1221,7 @@ export type paths = { * * **Credential required**: *No* / **Permission**: *read:account* */ - post: operations['clips/notes']; + post: operations['clips___notes']; }; '/clips/show': { /** @@ -1230,7 +1230,7 @@ export type paths = { * * **Credential required**: *No* / **Permission**: *read:account* */ - post: operations['clips/show']; + post: operations['clips___show']; }; '/clips/update': { /** @@ -1239,7 +1239,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['clips/update']; + post: operations['clips___update']; }; '/clips/favorite': { /** @@ -1248,7 +1248,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:clip-favorite* */ - post: operations['clips/favorite']; + post: operations['clips___favorite']; }; '/clips/unfavorite': { /** @@ -1257,7 +1257,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:clip-favorite* */ - post: operations['clips/unfavorite']; + post: operations['clips___unfavorite']; }; '/clips/my-favorites': { /** @@ -1266,7 +1266,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:clip-favorite* */ - post: operations['clips/my-favorites']; + post: operations['clips___my-favorites']; }; '/drive': { /** @@ -1284,7 +1284,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - post: operations['drive/files']; + post: operations['drive___files']; }; '/drive/files/attached-notes': { /** @@ -1293,7 +1293,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': { /** @@ -1302,7 +1302,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': { /** @@ -1311,7 +1311,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - post: operations['drive/files/create']; + post: operations['drive___files___create']; }; '/drive/files/delete': { /** @@ -1320,7 +1320,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': { /** @@ -1329,7 +1329,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': { /** @@ -1338,7 +1338,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - post: operations['drive/files/find']; + post: operations['drive___files___find']; }; '/drive/files/show': { /** @@ -1347,7 +1347,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - post: operations['drive/files/show']; + post: operations['drive___files___show']; }; '/drive/files/update': { /** @@ -1356,7 +1356,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': { /** @@ -1365,7 +1365,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': { /** @@ -1374,7 +1374,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - post: operations['drive/folders']; + post: operations['drive___folders']; }; '/drive/folders/create': { /** @@ -1383,7 +1383,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - post: operations['drive/folders/create']; + post: operations['drive___folders___create']; }; '/drive/folders/delete': { /** @@ -1392,7 +1392,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - post: operations['drive/folders/delete']; + post: operations['drive___folders___delete']; }; '/drive/folders/find': { /** @@ -1401,7 +1401,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - post: operations['drive/folders/find']; + post: operations['drive___folders___find']; }; '/drive/folders/show': { /** @@ -1410,7 +1410,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - post: operations['drive/folders/show']; + post: operations['drive___folders___show']; }; '/drive/folders/update': { /** @@ -1419,7 +1419,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - post: operations['drive/folders/update']; + post: operations['drive___folders___update']; }; '/drive/stream': { /** @@ -1428,7 +1428,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - post: operations['drive/stream']; + post: operations['drive___stream']; }; '/email-address/available': { /** @@ -1437,7 +1437,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['email-address/available']; + post: operations['email-address___available']; }; '/endpoint': { /** @@ -1474,7 +1474,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['federation/followers']; + post: operations['federation___followers']; }; '/federation/following': { /** @@ -1483,7 +1483,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['federation/following']; + post: operations['federation___following']; }; '/federation/instances': { /** @@ -1492,14 +1492,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': { /** @@ -1508,7 +1508,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['federation/show-instance']; + post: operations['federation___show-instance']; }; '/federation/update-remote-user': { /** @@ -1517,7 +1517,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['federation/update-remote-user']; + post: operations['federation___update-remote-user']; }; '/federation/users': { /** @@ -1526,7 +1526,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['federation/users']; + post: operations['federation___users']; }; '/federation/stats': { /** @@ -1535,14 +1535,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': { /** @@ -1551,7 +1551,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - post: operations['following/create']; + post: operations['following___create']; }; '/following/delete': { /** @@ -1560,7 +1560,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - post: operations['following/delete']; + post: operations['following___delete']; }; '/following/update': { /** @@ -1569,7 +1569,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - post: operations['following/update']; + post: operations['following___update']; }; '/following/update-all': { /** @@ -1578,7 +1578,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - post: operations['following/update-all']; + post: operations['following___update-all']; }; '/following/invalidate': { /** @@ -1587,7 +1587,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - post: operations['following/invalidate']; + post: operations['following___invalidate']; }; '/following/requests/accept': { /** @@ -1596,7 +1596,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - post: operations['following/requests/accept']; + post: operations['following___requests___accept']; }; '/following/requests/cancel': { /** @@ -1605,7 +1605,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - post: operations['following/requests/cancel']; + post: operations['following___requests___cancel']; }; '/following/requests/list': { /** @@ -1614,7 +1614,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:following* */ - post: operations['following/requests/list']; + post: operations['following___requests___list']; }; '/following/requests/reject': { /** @@ -1623,7 +1623,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - post: operations['following/requests/reject']; + post: operations['following___requests___reject']; }; '/gallery/featured': { /** @@ -1632,7 +1632,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['gallery/featured']; + post: operations['gallery___featured']; }; '/gallery/popular': { /** @@ -1641,7 +1641,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['gallery/popular']; + post: operations['gallery___popular']; }; '/gallery/posts': { /** @@ -1650,7 +1650,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['gallery/posts']; + post: operations['gallery___posts']; }; '/gallery/posts/create': { /** @@ -1659,7 +1659,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:gallery* */ - post: operations['gallery/posts/create']; + post: operations['gallery___posts___create']; }; '/gallery/posts/delete': { /** @@ -1668,7 +1668,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:gallery* */ - post: operations['gallery/posts/delete']; + post: operations['gallery___posts___delete']; }; '/gallery/posts/like': { /** @@ -1677,7 +1677,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:gallery-likes* */ - post: operations['gallery/posts/like']; + post: operations['gallery___posts___like']; }; '/gallery/posts/show': { /** @@ -1686,7 +1686,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['gallery/posts/show']; + post: operations['gallery___posts___show']; }; '/gallery/posts/unlike': { /** @@ -1695,7 +1695,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:gallery-likes* */ - post: operations['gallery/posts/unlike']; + post: operations['gallery___posts___unlike']; }; '/gallery/posts/update': { /** @@ -1704,7 +1704,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:gallery* */ - post: operations['gallery/posts/update']; + post: operations['gallery___posts___update']; }; '/get-online-users-count': { /** @@ -1738,7 +1738,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['hashtags/list']; + post: operations['hashtags___list']; }; '/hashtags/search': { /** @@ -1747,7 +1747,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['hashtags/search']; + post: operations['hashtags___search']; }; '/hashtags/show': { /** @@ -1756,7 +1756,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['hashtags/show']; + post: operations['hashtags___show']; }; '/hashtags/trend': { /** @@ -1765,14 +1765,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': { /** @@ -1781,7 +1781,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['hashtags/users']; + post: operations['hashtags___users']; }; '/i': { /** @@ -1800,7 +1800,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': { /** @@ -1810,7 +1810,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': { /** @@ -1820,7 +1820,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': { /** @@ -1830,7 +1830,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': { /** @@ -1840,7 +1840,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': { /** @@ -1850,7 +1850,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': { /** @@ -1860,7 +1860,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': { /** @@ -1870,7 +1870,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': { /** @@ -1880,7 +1880,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': { /** @@ -1890,7 +1890,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': { /** @@ -1899,7 +1899,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/claim-achievement']; + post: operations['i___claim-achievement']; }; '/i/change-password': { /** @@ -1909,7 +1909,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': { /** @@ -1919,7 +1919,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-blocking': { /** @@ -1929,7 +1929,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': { /** @@ -1939,7 +1939,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': { /** @@ -1949,7 +1949,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': { /** @@ -1959,7 +1959,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': { /** @@ -1969,7 +1969,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': { /** @@ -1979,7 +1979,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': { /** @@ -1989,7 +1989,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': { /** @@ -1999,7 +1999,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': { /** @@ -2008,7 +2008,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:favorites* */ - post: operations['i/favorites']; + post: operations['i___favorites']; }; '/i/gallery/likes': { /** @@ -2017,7 +2017,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:gallery-likes* */ - post: operations['i/gallery/likes']; + post: operations['i___gallery___likes']; }; '/i/gallery/posts': { /** @@ -2026,7 +2026,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:gallery* */ - post: operations['i/gallery/posts']; + post: operations['i___gallery___posts']; }; '/i/import-blocking': { /** @@ -2036,7 +2036,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': { /** @@ -2046,7 +2046,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-muting': { /** @@ -2056,7 +2056,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': { /** @@ -2066,7 +2066,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': { /** @@ -2076,7 +2076,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': { /** @@ -2085,7 +2085,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:notifications* */ - post: operations['i/notifications']; + post: operations['i___notifications']; }; '/i/notifications-grouped': { /** @@ -2094,7 +2094,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:notifications* */ - post: operations['i/notifications-grouped']; + post: operations['i___notifications-grouped']; }; '/i/page-likes': { /** @@ -2103,7 +2103,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:page-likes* */ - post: operations['i/page-likes']; + post: operations['i___page-likes']; }; '/i/pages': { /** @@ -2112,7 +2112,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:pages* */ - post: operations['i/pages']; + post: operations['i___pages']; }; '/i/pin': { /** @@ -2121,7 +2121,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/pin']; + post: operations['i___pin']; }; '/i/read-all-unread-notes': { /** @@ -2130,7 +2130,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': { /** @@ -2139,7 +2139,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/read-announcement']; + post: operations['i___read-announcement']; }; '/i/regenerate-token': { /** @@ -2149,7 +2149,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': { /** @@ -2158,7 +2158,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-detail': { /** @@ -2167,7 +2167,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': { /** @@ -2176,7 +2176,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': { /** @@ -2185,7 +2185,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': { /** @@ -2194,7 +2194,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['i/registry/keys']; + post: operations['i___registry___keys']; }; '/i/registry/remove': { /** @@ -2203,7 +2203,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': { /** @@ -2213,7 +2213,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': { /** @@ -2222,7 +2222,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/registry/set']; + post: operations['i___registry___set']; }; '/i/revoke-token': { /** @@ -2232,7 +2232,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': { /** @@ -2242,7 +2242,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': { /** @@ -2251,7 +2251,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/unpin']; + post: operations['i___unpin']; }; '/i/update-email': { /** @@ -2261,7 +2261,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': { /** @@ -2270,7 +2270,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/update']; + post: operations['i___update']; }; '/i/move': { /** @@ -2280,7 +2280,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': { /** @@ -2289,7 +2289,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/webhooks/create']; + post: operations['i___webhooks___create']; }; '/i/webhooks/list': { /** @@ -2298,7 +2298,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['i/webhooks/list']; + post: operations['i___webhooks___list']; }; '/i/webhooks/show': { /** @@ -2307,7 +2307,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['i/webhooks/show']; + post: operations['i___webhooks___show']; }; '/i/webhooks/update': { /** @@ -2316,7 +2316,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/webhooks/update']; + post: operations['i___webhooks___update']; }; '/i/webhooks/delete': { /** @@ -2325,7 +2325,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['i/webhooks/delete']; + post: operations['i___webhooks___delete']; }; '/invite/create': { /** @@ -2334,7 +2334,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:invite-codes* */ - post: operations['invite/create']; + post: operations['invite___create']; }; '/invite/delete': { /** @@ -2343,7 +2343,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:invite-codes* */ - post: operations['invite/delete']; + post: operations['invite___delete']; }; '/invite/list': { /** @@ -2352,7 +2352,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:invite-codes* */ - post: operations['invite/list']; + post: operations['invite___list']; }; '/invite/limit': { /** @@ -2361,7 +2361,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:invite-codes* */ - post: operations['invite/limit']; + post: operations['invite___limit']; }; '/meta': { /** @@ -2412,7 +2412,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': { /** @@ -2421,7 +2421,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:mutes* */ - post: operations['mute/create']; + post: operations['mute___create']; }; '/mute/delete': { /** @@ -2430,7 +2430,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:mutes* */ - post: operations['mute/delete']; + post: operations['mute___delete']; }; '/mute/list': { /** @@ -2439,7 +2439,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:mutes* */ - post: operations['mute/list']; + post: operations['mute___list']; }; '/renote-mute/create': { /** @@ -2448,7 +2448,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:mutes* */ - post: operations['renote-mute/create']; + post: operations['renote-mute___create']; }; '/renote-mute/delete': { /** @@ -2457,7 +2457,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:mutes* */ - post: operations['renote-mute/delete']; + post: operations['renote-mute___delete']; }; '/renote-mute/list': { /** @@ -2466,7 +2466,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:mutes* */ - post: operations['renote-mute/list']; + post: operations['renote-mute___list']; }; '/my/apps': { /** @@ -2475,7 +2475,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['my/apps']; + post: operations['my___apps']; }; '/notes': { /** @@ -2493,7 +2493,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/children']; + post: operations['notes___children']; }; '/notes/clips': { /** @@ -2502,7 +2502,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/clips']; + post: operations['notes___clips']; }; '/notes/conversation': { /** @@ -2511,7 +2511,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/conversation']; + post: operations['notes___conversation']; }; '/notes/create': { /** @@ -2520,7 +2520,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:notes* */ - post: operations['notes/create']; + post: operations['notes___create']; }; '/notes/delete': { /** @@ -2529,7 +2529,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:notes* */ - post: operations['notes/delete']; + post: operations['notes___delete']; }; '/notes/favorites/create': { /** @@ -2538,7 +2538,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:favorites* */ - post: operations['notes/favorites/create']; + post: operations['notes___favorites___create']; }; '/notes/favorites/delete': { /** @@ -2547,7 +2547,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:favorites* */ - post: operations['notes/favorites/delete']; + post: operations['notes___favorites___delete']; }; '/notes/featured': { /** @@ -2556,14 +2556,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': { /** @@ -2572,7 +2572,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/global-timeline']; + post: operations['notes___global-timeline']; }; '/notes/hybrid-timeline': { /** @@ -2581,7 +2581,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['notes/hybrid-timeline']; + post: operations['notes___hybrid-timeline']; }; '/notes/local-timeline': { /** @@ -2590,7 +2590,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/local-timeline']; + post: operations['notes___local-timeline']; }; '/notes/mentions': { /** @@ -2599,7 +2599,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['notes/mentions']; + post: operations['notes___mentions']; }; '/notes/polls/recommendation': { /** @@ -2608,7 +2608,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['notes/polls/recommendation']; + post: operations['notes___polls___recommendation']; }; '/notes/polls/vote': { /** @@ -2617,7 +2617,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:votes* */ - post: operations['notes/polls/vote']; + post: operations['notes___polls___vote']; }; '/notes/reactions': { /** @@ -2626,14 +2626,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': { /** @@ -2642,7 +2642,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:reactions* */ - post: operations['notes/reactions/create']; + post: operations['notes___reactions___create']; }; '/notes/reactions/delete': { /** @@ -2651,7 +2651,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:reactions* */ - post: operations['notes/reactions/delete']; + post: operations['notes___reactions___delete']; }; '/notes/renotes': { /** @@ -2660,7 +2660,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/renotes']; + post: operations['notes___renotes']; }; '/notes/replies': { /** @@ -2669,7 +2669,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/replies']; + post: operations['notes___replies']; }; '/notes/search-by-tag': { /** @@ -2678,7 +2678,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/search-by-tag']; + post: operations['notes___search-by-tag']; }; '/notes/search': { /** @@ -2687,7 +2687,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/search']; + post: operations['notes___search']; }; '/notes/show': { /** @@ -2696,7 +2696,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['notes/show']; + post: operations['notes___show']; }; '/notes/state': { /** @@ -2705,7 +2705,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['notes/state']; + post: operations['notes___state']; }; '/notes/thread-muting/create': { /** @@ -2714,7 +2714,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': { /** @@ -2723,7 +2723,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['notes/thread-muting/delete']; + post: operations['notes___thread-muting___delete']; }; '/notes/timeline': { /** @@ -2732,7 +2732,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['notes/timeline']; + post: operations['notes___timeline']; }; '/notes/translate': { /** @@ -2741,7 +2741,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['notes/translate']; + post: operations['notes___translate']; }; '/notes/unrenote': { /** @@ -2750,7 +2750,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:notes* */ - post: operations['notes/unrenote']; + post: operations['notes___unrenote']; }; '/notes/user-list-timeline': { /** @@ -2759,7 +2759,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['notes/user-list-timeline']; + post: operations['notes___user-list-timeline']; }; '/notifications/create': { /** @@ -2768,7 +2768,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:notifications* */ - post: operations['notifications/create']; + post: operations['notifications___create']; }; '/notifications/flush': { /** @@ -2777,7 +2777,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:notifications* */ - post: operations['notifications/flush']; + post: operations['notifications___flush']; }; '/notifications/mark-all-as-read': { /** @@ -2786,7 +2786,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': { /** @@ -2795,7 +2795,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:notifications* */ - post: operations['notifications/test-notification']; + post: operations['notifications___test-notification']; }; '/page-push': { /** @@ -2814,7 +2814,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:pages* */ - post: operations['pages/create']; + post: operations['pages___create']; }; '/pages/delete': { /** @@ -2823,7 +2823,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:pages* */ - post: operations['pages/delete']; + post: operations['pages___delete']; }; '/pages/featured': { /** @@ -2832,7 +2832,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['pages/featured']; + post: operations['pages___featured']; }; '/pages/like': { /** @@ -2841,7 +2841,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:page-likes* */ - post: operations['pages/like']; + post: operations['pages___like']; }; '/pages/show': { /** @@ -2850,7 +2850,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['pages/show']; + post: operations['pages___show']; }; '/pages/unlike': { /** @@ -2859,7 +2859,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:page-likes* */ - post: operations['pages/unlike']; + post: operations['pages___unlike']; }; '/pages/update': { /** @@ -2868,7 +2868,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:pages* */ - post: operations['pages/update']; + post: operations['pages___update']; }; '/flash/create': { /** @@ -2877,7 +2877,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:flash* */ - post: operations['flash/create']; + post: operations['flash___create']; }; '/flash/delete': { /** @@ -2886,7 +2886,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:flash* */ - post: operations['flash/delete']; + post: operations['flash___delete']; }; '/flash/featured': { /** @@ -2895,7 +2895,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['flash/featured']; + post: operations['flash___featured']; }; '/flash/like': { /** @@ -2904,7 +2904,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:flash-likes* */ - post: operations['flash/like']; + post: operations['flash___like']; }; '/flash/show': { /** @@ -2913,7 +2913,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['flash/show']; + post: operations['flash___show']; }; '/flash/unlike': { /** @@ -2922,7 +2922,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:flash-likes* */ - post: operations['flash/unlike']; + post: operations['flash___unlike']; }; '/flash/update': { /** @@ -2931,7 +2931,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:flash* */ - post: operations['flash/update']; + post: operations['flash___update']; }; '/flash/my': { /** @@ -2940,7 +2940,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:flash* */ - post: operations['flash/my']; + post: operations['flash___my']; }; '/flash/my-likes': { /** @@ -2949,7 +2949,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:flash-likes* */ - post: operations['flash/my-likes']; + post: operations['flash___my-likes']; }; '/ping': { /** @@ -2976,7 +2976,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['promo/read']; + post: operations['promo___read']; }; '/roles/list': { /** @@ -2985,7 +2985,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['roles/list']; + post: operations['roles___list']; }; '/roles/show': { /** @@ -2994,7 +2994,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['roles/show']; + post: operations['roles___show']; }; '/roles/users': { /** @@ -3003,7 +3003,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['roles/users']; + post: operations['roles___users']; }; '/roles/notes': { /** @@ -3012,7 +3012,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['roles/notes']; + post: operations['roles___notes']; }; '/request-reset-password': { /** @@ -3074,7 +3074,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': { /** @@ -3084,7 +3084,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': { /** @@ -3094,7 +3094,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': { /** @@ -3103,7 +3103,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['sw/unregister']; + post: operations['sw___unregister']; }; '/test': { /** @@ -3121,7 +3121,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['username/available']; + post: operations['username___available']; }; '/users': { /** @@ -3139,7 +3139,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/clips']; + post: operations['users___clips']; }; '/users/followers': { /** @@ -3148,7 +3148,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/followers']; + post: operations['users___followers']; }; '/users/following': { /** @@ -3157,7 +3157,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/following']; + post: operations['users___following']; }; '/users/gallery/posts': { /** @@ -3166,7 +3166,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/gallery/posts']; + post: operations['users___gallery___posts']; }; '/users/get-frequently-replied-users': { /** @@ -3175,7 +3175,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/get-frequently-replied-users']; + post: operations['users___get-frequently-replied-users']; }; '/users/featured-notes': { /** @@ -3184,14 +3184,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': { /** @@ -3200,7 +3200,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['users/lists/create']; + post: operations['users___lists___create']; }; '/users/lists/delete': { /** @@ -3209,7 +3209,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['users/lists/delete']; + post: operations['users___lists___delete']; }; '/users/lists/list': { /** @@ -3218,7 +3218,7 @@ export type paths = { * * **Credential required**: *No* / **Permission**: *read:account* */ - post: operations['users/lists/list']; + post: operations['users___lists___list']; }; '/users/lists/pull': { /** @@ -3227,7 +3227,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['users/lists/pull']; + post: operations['users___lists___pull']; }; '/users/lists/push': { /** @@ -3236,7 +3236,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['users/lists/push']; + post: operations['users___lists___push']; }; '/users/lists/show': { /** @@ -3245,7 +3245,7 @@ export type paths = { * * **Credential required**: *No* / **Permission**: *read:account* */ - post: operations['users/lists/show']; + post: operations['users___lists___show']; }; '/users/lists/favorite': { /** @@ -3254,7 +3254,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['users/lists/favorite']; + post: operations['users___lists___favorite']; }; '/users/lists/unfavorite': { /** @@ -3263,7 +3263,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['users/lists/unfavorite']; + post: operations['users___lists___unfavorite']; }; '/users/lists/update': { /** @@ -3272,7 +3272,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': { /** @@ -3281,7 +3281,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': { /** @@ -3290,7 +3290,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': { /** @@ -3299,7 +3299,7 @@ export type paths = { * * **Credential required**: *No* / **Permission**: *read:account* */ - post: operations['users/lists/get-memberships']; + post: operations['users___lists___get-memberships']; }; '/users/notes': { /** @@ -3308,7 +3308,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/notes']; + post: operations['users___notes']; }; '/users/pages': { /** @@ -3317,7 +3317,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/pages']; + post: operations['users___pages']; }; '/users/flashs': { /** @@ -3326,7 +3326,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/flashs']; + post: operations['users___flashs']; }; '/users/reactions': { /** @@ -3335,7 +3335,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/reactions']; + post: operations['users___reactions']; }; '/users/recommendation': { /** @@ -3344,7 +3344,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['users/recommendation']; + post: operations['users___recommendation']; }; '/users/relation': { /** @@ -3353,7 +3353,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['users/relation']; + post: operations['users___relation']; }; '/users/report-abuse': { /** @@ -3362,7 +3362,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': { /** @@ -3371,7 +3371,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': { /** @@ -3380,7 +3380,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/search']; + post: operations['users___search']; }; '/users/show': { /** @@ -3389,7 +3389,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/show']; + post: operations['users___show']; }; '/users/achievements': { /** @@ -3398,7 +3398,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['users/achievements']; + post: operations['users___achievements']; }; '/users/update-memo': { /** @@ -3407,7 +3407,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['users/update-memo']; + post: operations['users___update-memo']; }; '/fetch-rss': { /** @@ -3458,7 +3458,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['bubble-game/register']; + post: operations['bubble-game___register']; }; '/bubble-game/ranking': { /** @@ -3467,14 +3467,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': { /** @@ -3483,7 +3483,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['reversi/cancel-match']; + post: operations['reversi___cancel-match']; }; '/reversi/games': { /** @@ -3492,7 +3492,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['reversi/games']; + post: operations['reversi___games']; }; '/reversi/match': { /** @@ -3501,7 +3501,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['reversi/match']; + post: operations['reversi___match']; }; '/reversi/invitations': { /** @@ -3510,7 +3510,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - post: operations['reversi/invitations']; + post: operations['reversi___invitations']; }; '/reversi/show-game': { /** @@ -3519,7 +3519,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['reversi/show-game']; + post: operations['reversi___show-game']; }; '/reversi/surrender': { /** @@ -3528,7 +3528,7 @@ export type paths = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - post: operations['reversi/surrender']; + post: operations['reversi___surrender']; }; '/reversi/verify': { /** @@ -3537,7 +3537,7 @@ export type paths = { * * **Credential required**: *No* */ - post: operations['reversi/verify']; + post: operations['reversi___verify']; }; }; @@ -4434,6 +4434,8 @@ export type components = { localOnly: boolean; notify: boolean; /** @default false */ + excludeBots: boolean; + /** @default false */ withReplies: boolean; withFile: boolean; isActive: boolean; @@ -4808,6 +4810,7 @@ export type components = { enableServiceWorker: boolean; translatorAvailable: boolean; mediaProxy: string; + enableUrlPreview: boolean; backgroundImageUrl: string | null; impressumUrl: string | null; logoImageUrl: string | null; @@ -4857,7 +4860,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:meta* */ - 'admin/meta': { + admin___meta: { responses: { /** @description OK (with results) */ 200: { @@ -4960,11 +4963,21 @@ export type operations = { objectStorageS3ForcePathStyle: boolean; privacyPolicyUrl: string | null; repositoryUrl: string | null; + /** + * @deprecated + * @description [Deprecated] Use "urlPreviewSummaryProxyUrl" instead. + */ summalyProxy: string | null; themeColor: string | null; tosUrl: string | null; uri: string; version: string; + urlPreviewEnabled: boolean; + urlPreviewTimeout: number; + urlPreviewMaximumContentLength: number; + urlPreviewRequireContentLength: boolean; + urlPreviewUserAgent: string | null; + urlPreviewSummaryProxyUrl: string | null; }; }; }; @@ -5006,7 +5019,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': { @@ -5098,7 +5111,7 @@ export type operations = { * * **Credential required**: *No* */ - 'admin/accounts/create': { + admin___accounts___create: { requestBody: { content: { 'application/json': { @@ -5152,7 +5165,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:account* */ - 'admin/accounts/delete': { + admin___accounts___delete: { requestBody: { content: { 'application/json': { @@ -5204,7 +5217,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': { @@ -5257,7 +5270,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:ad* */ - 'admin/ad/create': { + admin___ad___create: { requestBody: { content: { 'application/json': { @@ -5318,7 +5331,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:ad* */ - 'admin/ad/delete': { + admin___ad___delete: { requestBody: { content: { 'application/json': { @@ -5370,7 +5383,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:ad* */ - 'admin/ad/list': { + admin___ad___list: { requestBody: { content: { 'application/json': { @@ -5430,7 +5443,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:ad* */ - 'admin/ad/update': { + admin___ad___update: { requestBody: { content: { 'application/json': { @@ -5491,7 +5504,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:announcements* */ - 'admin/announcements/create': { + admin___announcements___create: { requestBody: { content: { 'application/json': { @@ -5580,7 +5593,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:announcements* */ - 'admin/announcements/delete': { + admin___announcements___delete: { requestBody: { content: { 'application/json': { @@ -5632,7 +5645,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:announcements* */ - 'admin/announcements/list': { + admin___announcements___list: { requestBody: { content: { 'application/json': { @@ -5706,7 +5719,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:announcements* */ - 'admin/announcements/update': { + admin___announcements___update: { requestBody: { content: { 'application/json': { @@ -5769,7 +5782,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations* */ - 'admin/avatar-decorations/create': { + 'admin___avatar-decorations___create': { requestBody: { content: { 'application/json': { @@ -5823,7 +5836,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations* */ - 'admin/avatar-decorations/delete': { + 'admin___avatar-decorations___delete': { requestBody: { content: { 'application/json': { @@ -5875,7 +5888,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:avatar-decorations* */ - 'admin/avatar-decorations/list': { + 'admin___avatar-decorations___list': { requestBody: { content: { 'application/json': { @@ -5950,7 +5963,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations* */ - 'admin/avatar-decorations/update': { + 'admin___avatar-decorations___update': { requestBody: { content: { 'application/json': { @@ -6006,7 +6019,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': { @@ -6058,7 +6071,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': { @@ -6110,7 +6123,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': { @@ -6162,7 +6175,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: { @@ -6206,7 +6219,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:drive* */ - 'admin/drive/cleanup': { + admin___drive___cleanup: { responses: { /** @description OK (without any results) */ 204: { @@ -6250,7 +6263,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:drive* */ - 'admin/drive/files': { + admin___drive___files: { requestBody: { content: { 'application/json': { @@ -6321,7 +6334,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:drive* */ - 'admin/drive/show-file': { + 'admin___drive___show-file': { requestBody: { content: { 'application/json': { @@ -6430,7 +6443,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': { @@ -6482,7 +6495,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:emoji* */ - 'admin/emoji/add': { + admin___emoji___add: { requestBody: { content: { 'application/json': { @@ -6544,7 +6557,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:emoji* */ - 'admin/emoji/copy': { + admin___emoji___copy: { requestBody: { content: { 'application/json': { @@ -6601,7 +6614,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:emoji* */ - 'admin/emoji/delete-bulk': { + 'admin___emoji___delete-bulk': { requestBody: { content: { 'application/json': { @@ -6652,7 +6665,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:emoji* */ - 'admin/emoji/delete': { + admin___emoji___delete: { requestBody: { content: { 'application/json': { @@ -6705,7 +6718,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': { @@ -6757,7 +6770,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:emoji* */ - 'admin/emoji/list-remote': { + 'admin___emoji___list-remote': { requestBody: { content: { 'application/json': { @@ -6831,7 +6844,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:emoji* */ - 'admin/emoji/list': { + admin___emoji___list: { requestBody: { content: { 'application/json': { @@ -6900,7 +6913,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': { @@ -6952,7 +6965,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': { @@ -7004,7 +7017,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': { @@ -7057,7 +7070,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': { @@ -7110,7 +7123,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:emoji* */ - 'admin/emoji/update': { + admin___emoji___update: { requestBody: { content: { 'application/json': { @@ -7172,7 +7185,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': { @@ -7223,7 +7236,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': { @@ -7274,7 +7287,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': { @@ -7325,7 +7338,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:federation* */ - 'admin/federation/update-instance': { + 'admin___federation___update-instance': { requestBody: { content: { 'application/json': { @@ -7378,7 +7391,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: { @@ -7427,7 +7440,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: { @@ -7478,7 +7491,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:user-ips* */ - 'admin/get-user-ips': { + 'admin___get-user-ips': { requestBody: { content: { 'application/json': { @@ -7536,7 +7549,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes* */ - 'admin/invite/create': { + admin___invite___create: { requestBody: { content: { 'application/json': { @@ -7591,7 +7604,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:invite-codes* */ - 'admin/invite/list': { + admin___invite___list: { requestBody: { content: { 'application/json': { @@ -7654,7 +7667,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:promo* */ - 'admin/promo/create': { + admin___promo___create: { requestBody: { content: { 'application/json': { @@ -7707,7 +7720,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:queue* */ - 'admin/queue/clear': { + admin___queue___clear: { responses: { /** @description OK (without any results) */ 204: { @@ -7751,7 +7764,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: { @@ -7797,7 +7810,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: { @@ -7843,7 +7856,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:queue* */ - 'admin/queue/promote': { + admin___queue___promote: { requestBody: { content: { 'application/json': { @@ -7895,7 +7908,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:emoji* */ - 'admin/queue/stats': { + admin___queue___stats: { responses: { /** @description OK (with results) */ 200: { @@ -7946,7 +7959,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:relays* */ - 'admin/relays/add': { + admin___relays___add: { requestBody: { content: { 'application/json': { @@ -8009,7 +8022,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:relays* */ - 'admin/relays/list': { + admin___relays___list: { responses: { /** @description OK (with results) */ 200: { @@ -8065,7 +8078,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:relays* */ - 'admin/relays/remove': { + admin___relays___remove: { requestBody: { content: { 'application/json': { @@ -8116,7 +8129,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:reset-password* */ - 'admin/reset-password': { + 'admin___reset-password': { requestBody: { content: { 'application/json': { @@ -8172,7 +8185,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': { @@ -8226,7 +8239,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:send-email* */ - 'admin/send-email': { + 'admin___send-email': { requestBody: { content: { 'application/json': { @@ -8279,7 +8292,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:server-info* */ - 'admin/server-info': { + 'admin___server-info': { responses: { /** @description OK (with results) */ 200: { @@ -8349,7 +8362,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': { @@ -8420,7 +8433,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:show-user* */ - 'admin/show-user': { + 'admin___show-user': { requestBody: { content: { 'application/json': { @@ -8629,7 +8642,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:show-users* */ - 'admin/show-users': { + 'admin___show-users': { requestBody: { content: { 'application/json': { @@ -8704,7 +8717,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:suspend-user* */ - 'admin/suspend-user': { + 'admin___suspend-user': { requestBody: { content: { 'application/json': { @@ -8756,7 +8769,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:unsuspend-user* */ - 'admin/unsuspend-user': { + 'admin___unsuspend-user': { requestBody: { content: { 'application/json': { @@ -8808,7 +8821,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:meta* */ - 'admin/update-meta': { + 'admin___update-meta': { requestBody: { content: { 'application/json': { @@ -8861,7 +8874,6 @@ export type operations = { maintainerName?: string | null; maintainerEmail?: string | null; langs?: string[]; - summalyProxy?: string | null; deeplAuthKey?: string | null; deeplIsPro?: boolean; enableEmail?: boolean; @@ -8915,6 +8927,14 @@ export type operations = { perUserListTimelineCacheMax?: number; notesPerOneAd?: number; silencedHosts?: string[] | null; + /** @description [Deprecated] Use "urlPreviewSummaryProxyUrl" instead. */ + summalyProxy?: string | null; + urlPreviewEnabled?: boolean; + urlPreviewTimeout?: number; + urlPreviewMaximumContentLength?: number; + urlPreviewRequireContentLength?: boolean; + urlPreviewUserAgent?: string | null; + urlPreviewSummaryProxyUrl?: string | null; }; }; }; @@ -8961,7 +8981,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:delete-account* */ - 'admin/delete-account': { + 'admin___delete-account': { requestBody: { content: { 'application/json': { @@ -9013,7 +9033,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:user-note* */ - 'admin/update-user-note': { + 'admin___update-user-note': { requestBody: { content: { 'application/json': { @@ -9066,7 +9086,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - 'admin/roles/create': { + admin___roles___create: { requestBody: { content: { 'application/json': { @@ -9134,7 +9154,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - 'admin/roles/delete': { + admin___roles___delete: { requestBody: { content: { 'application/json': { @@ -9186,7 +9206,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:roles* */ - 'admin/roles/list': { + admin___roles___list: { responses: { /** @description OK (with results) */ 200: { @@ -9232,7 +9252,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:admin:roles* */ - 'admin/roles/show': { + admin___roles___show: { requestBody: { content: { 'application/json': { @@ -9286,7 +9306,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - 'admin/roles/update': { + admin___roles___update: { requestBody: { content: { 'application/json': { @@ -9353,7 +9373,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - 'admin/roles/assign': { + admin___roles___assign: { requestBody: { content: { 'application/json': { @@ -9408,7 +9428,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:admin:roles* */ - 'admin/roles/unassign': { + admin___roles___unassign: { requestBody: { content: { 'application/json': { @@ -9462,7 +9482,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': { @@ -9513,7 +9533,7 @@ export type operations = { * * **Credential required**: *No* / **Permission**: *read:admin:roles* */ - 'admin/roles/users': { + admin___roles___users: { requestBody: { content: { 'application/json': { @@ -9641,7 +9661,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'antennas/create': { + antennas___create: { requestBody: { content: { 'application/json': { @@ -9655,6 +9675,7 @@ export type operations = { users: string[]; caseSensitive: boolean; localOnly?: boolean; + excludeBots?: boolean; withReplies: boolean; withFile: boolean; notify: boolean; @@ -9706,7 +9727,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'antennas/delete': { + antennas___delete: { requestBody: { content: { 'application/json': { @@ -9758,7 +9779,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'antennas/list': { + antennas___list: { responses: { /** @description OK (with results) */ 200: { @@ -9804,7 +9825,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'antennas/notes': { + antennas___notes: { requestBody: { content: { 'application/json': { @@ -9866,7 +9887,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'antennas/show': { + antennas___show: { requestBody: { content: { 'application/json': { @@ -9920,7 +9941,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'antennas/update': { + antennas___update: { requestBody: { content: { 'application/json': { @@ -9936,6 +9957,7 @@ export type operations = { users?: string[]; caseSensitive?: boolean; localOnly?: boolean; + excludeBots?: boolean; withReplies?: boolean; withFile?: boolean; notify?: boolean; @@ -9987,7 +10009,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:federation* */ - 'ap/get': { + ap___get: { requestBody: { content: { 'application/json': { @@ -10046,7 +10068,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'ap/show': { + ap___show: { requestBody: { content: { 'application/json': { @@ -10113,7 +10135,7 @@ export type operations = { * * **Credential required**: *No* */ - 'app/create': { + app___create: { requestBody: { content: { 'application/json': { @@ -10169,7 +10191,7 @@ export type operations = { * * **Credential required**: *No* */ - 'app/show': { + app___show: { requestBody: { content: { 'application/json': { @@ -10224,7 +10246,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': { @@ -10275,7 +10297,7 @@ export type operations = { * * **Credential required**: *No* */ - 'auth/session/generate': { + auth___session___generate: { requestBody: { content: { 'application/json': { @@ -10332,7 +10354,7 @@ export type operations = { * * **Credential required**: *No* */ - 'auth/session/show': { + auth___session___show: { requestBody: { content: { 'application/json': { @@ -10390,7 +10412,7 @@ export type operations = { * * **Credential required**: *No* */ - 'auth/session/userkey': { + auth___session___userkey: { requestBody: { content: { 'application/json': { @@ -10447,7 +10469,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:blocks* */ - 'blocking/create': { + blocking___create: { requestBody: { content: { 'application/json': { @@ -10507,7 +10529,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:blocks* */ - 'blocking/delete': { + blocking___delete: { requestBody: { content: { 'application/json': { @@ -10567,7 +10589,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:blocks* */ - 'blocking/list': { + blocking___list: { requestBody: { content: { 'application/json': { @@ -10625,7 +10647,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - 'channels/create': { + channels___create: { requestBody: { content: { 'application/json': { @@ -10690,7 +10712,7 @@ export type operations = { * * **Credential required**: *No* */ - 'channels/featured': { + channels___featured: { responses: { /** @description OK (with results) */ 200: { @@ -10736,7 +10758,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - 'channels/follow': { + channels___follow: { requestBody: { content: { 'application/json': { @@ -10788,7 +10810,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:channels* */ - 'channels/followed': { + channels___followed: { requestBody: { content: { 'application/json': { @@ -10846,7 +10868,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:channels* */ - 'channels/owned': { + channels___owned: { requestBody: { content: { 'application/json': { @@ -10904,7 +10926,7 @@ export type operations = { * * **Credential required**: *No* */ - 'channels/show': { + channels___show: { requestBody: { content: { 'application/json': { @@ -10958,7 +10980,7 @@ export type operations = { * * **Credential required**: *No* */ - 'channels/timeline': { + channels___timeline: { requestBody: { content: { 'application/json': { @@ -11022,7 +11044,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - 'channels/unfollow': { + channels___unfollow: { requestBody: { content: { 'application/json': { @@ -11074,7 +11096,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - 'channels/update': { + channels___update: { requestBody: { content: { 'application/json': { @@ -11137,7 +11159,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - 'channels/favorite': { + channels___favorite: { requestBody: { content: { 'application/json': { @@ -11189,7 +11211,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:channels* */ - 'channels/unfavorite': { + channels___unfavorite: { requestBody: { content: { 'application/json': { @@ -11241,7 +11263,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:channels* */ - 'channels/my-favorites': { + 'channels___my-favorites': { responses: { /** @description OK (with results) */ 200: { @@ -11287,7 +11309,7 @@ export type operations = { * * **Credential required**: *No* */ - 'channels/search': { + channels___search: { requestBody: { content: { 'application/json': { @@ -11351,7 +11373,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/active-users': { + 'charts___active-users': { requestBody: { content: { 'application/json': { @@ -11419,7 +11441,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/ap-request': { + 'charts___ap-request': { requestBody: { content: { 'application/json': { @@ -11481,7 +11503,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/drive': { + charts___drive: { requestBody: { content: { 'application/json': { @@ -11552,7 +11574,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/federation': { + charts___federation: { requestBody: { content: { 'application/json': { @@ -11619,7 +11641,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/instance': { + charts___instance: { requestBody: { content: { 'application/json': { @@ -11717,7 +11739,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/notes': { + charts___notes: { requestBody: { content: { 'application/json': { @@ -11798,7 +11820,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/user/drive': { + charts___user___drive: { requestBody: { content: { 'application/json': { @@ -11865,7 +11887,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/user/following': { + charts___user___following: { requestBody: { content: { 'application/json': { @@ -11950,7 +11972,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/user/notes': { + charts___user___notes: { requestBody: { content: { 'application/json': { @@ -12020,7 +12042,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/user/pv': { + charts___user___pv: { requestBody: { content: { 'application/json': { @@ -12089,7 +12111,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/user/reactions': { + charts___user___reactions: { requestBody: { content: { 'application/json': { @@ -12156,7 +12178,7 @@ export type operations = { * * **Credential required**: *No* */ - 'charts/users': { + charts___users: { requestBody: { content: { 'application/json': { @@ -12225,7 +12247,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'clips/add-note': { + 'clips___add-note': { requestBody: { content: { 'application/json': { @@ -12285,7 +12307,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'clips/remove-note': { + 'clips___remove-note': { requestBody: { content: { 'application/json': { @@ -12339,7 +12361,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'clips/create': { + clips___create: { requestBody: { content: { 'application/json': { @@ -12395,7 +12417,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'clips/delete': { + clips___delete: { requestBody: { content: { 'application/json': { @@ -12447,7 +12469,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'clips/list': { + clips___list: { responses: { /** @description OK (with results) */ 200: { @@ -12493,7 +12515,7 @@ export type operations = { * * **Credential required**: *No* / **Permission**: *read:account* */ - 'clips/notes': { + clips___notes: { requestBody: { content: { 'application/json': { @@ -12553,7 +12575,7 @@ export type operations = { * * **Credential required**: *No* / **Permission**: *read:account* */ - 'clips/show': { + clips___show: { requestBody: { content: { 'application/json': { @@ -12607,7 +12629,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'clips/update': { + clips___update: { requestBody: { content: { 'application/json': { @@ -12664,7 +12686,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:clip-favorite* */ - 'clips/favorite': { + clips___favorite: { requestBody: { content: { 'application/json': { @@ -12716,7 +12738,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:clip-favorite* */ - 'clips/unfavorite': { + clips___unfavorite: { requestBody: { content: { 'application/json': { @@ -12768,7 +12790,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:clip-favorite* */ - 'clips/my-favorites': { + 'clips___my-favorites': { responses: { /** @description OK (with results) */ 200: { @@ -12863,7 +12885,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/files': { + drive___files: { requestBody: { content: { 'application/json': { @@ -12929,7 +12951,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/files/attached-notes': { + 'drive___files___attached-notes': { requestBody: { content: { 'application/json': { @@ -12989,7 +13011,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/files/check-existence': { + 'drive___files___check-existence': { requestBody: { content: { 'application/json': { @@ -13042,7 +13064,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - 'drive/files/create': { + drive___files___create: { requestBody: { content: { 'multipart/form-data': { @@ -13118,7 +13140,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - 'drive/files/delete': { + drive___files___delete: { requestBody: { content: { 'application/json': { @@ -13170,7 +13192,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/files/find-by-hash': { + 'drive___files___find-by-hash': { requestBody: { content: { 'application/json': { @@ -13223,7 +13245,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/files/find': { + drive___files___find: { requestBody: { content: { 'application/json': { @@ -13281,7 +13303,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/files/show': { + drive___files___show: { requestBody: { content: { 'application/json': { @@ -13336,7 +13358,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - 'drive/files/update': { + drive___files___update: { requestBody: { content: { 'application/json': { @@ -13395,7 +13417,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - 'drive/files/upload-from-url': { + 'drive___files___upload-from-url': { requestBody: { content: { 'application/json': { @@ -13465,7 +13487,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/folders': { + drive___folders: { requestBody: { content: { 'application/json': { @@ -13528,7 +13550,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - 'drive/folders/create': { + drive___folders___create: { requestBody: { content: { 'application/json': { @@ -13590,7 +13612,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - 'drive/folders/delete': { + drive___folders___delete: { requestBody: { content: { 'application/json': { @@ -13642,7 +13664,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/folders/find': { + drive___folders___find: { requestBody: { content: { 'application/json': { @@ -13700,7 +13722,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/folders/show': { + drive___folders___show: { requestBody: { content: { 'application/json': { @@ -13754,7 +13776,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:drive* */ - 'drive/folders/update': { + drive___folders___update: { requestBody: { content: { 'application/json': { @@ -13811,7 +13833,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:drive* */ - 'drive/stream': { + drive___stream: { requestBody: { content: { 'application/json': { @@ -13870,7 +13892,7 @@ export type operations = { * * **Credential required**: *No* */ - 'email-address/available': { + 'email-address___available': { requestBody: { content: { 'application/json': { @@ -14085,7 +14107,7 @@ export type operations = { * * **Credential required**: *No* */ - 'federation/followers': { + federation___followers: { requestBody: { content: { 'application/json': { @@ -14144,7 +14166,7 @@ export type operations = { * * **Credential required**: *No* */ - 'federation/following': { + federation___following: { requestBody: { content: { 'application/json': { @@ -14203,7 +14225,7 @@ export type operations = { * * **Credential required**: *No* */ - 'federation/instances': { + federation___instances: { requestBody: { content: { 'application/json': { @@ -14270,7 +14292,7 @@ export type operations = { * * **Credential required**: *No* */ - 'federation/show-instance': { + 'federation___show-instance': { requestBody: { content: { 'application/json': { @@ -14327,7 +14349,7 @@ export type operations = { * * **Credential required**: *No* */ - 'federation/update-remote-user': { + 'federation___update-remote-user': { requestBody: { content: { 'application/json': { @@ -14379,7 +14401,7 @@ export type operations = { * * **Credential required**: *No* */ - 'federation/users': { + federation___users: { requestBody: { content: { 'application/json': { @@ -14438,7 +14460,7 @@ export type operations = { * * **Credential required**: *No* */ - 'federation/stats': { + federation___stats: { requestBody: { content: { 'application/json': { @@ -14497,7 +14519,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - 'following/create': { + following___create: { requestBody: { content: { 'application/json': { @@ -14558,7 +14580,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - 'following/delete': { + following___delete: { requestBody: { content: { 'application/json': { @@ -14618,7 +14640,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - 'following/update': { + following___update: { requestBody: { content: { 'application/json': { @@ -14681,7 +14703,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - 'following/update-all': { + 'following___update-all': { requestBody: { content: { 'application/json': { @@ -14740,7 +14762,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - 'following/invalidate': { + following___invalidate: { requestBody: { content: { 'application/json': { @@ -14800,7 +14822,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - 'following/requests/accept': { + following___requests___accept: { requestBody: { content: { 'application/json': { @@ -14852,7 +14874,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - 'following/requests/cancel': { + following___requests___cancel: { requestBody: { content: { 'application/json': { @@ -14906,7 +14928,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:following* */ - 'following/requests/list': { + following___requests___list: { requestBody: { content: { 'application/json': { @@ -14969,7 +14991,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:following* */ - 'following/requests/reject': { + following___requests___reject: { requestBody: { content: { 'application/json': { @@ -15021,7 +15043,7 @@ export type operations = { * * **Credential required**: *No* */ - 'gallery/featured': { + gallery___featured: { requestBody: { content: { 'application/json': { @@ -15077,7 +15099,7 @@ export type operations = { * * **Credential required**: *No* */ - 'gallery/popular': { + gallery___popular: { responses: { /** @description OK (with results) */ 200: { @@ -15123,7 +15145,7 @@ export type operations = { * * **Credential required**: *No* */ - 'gallery/posts': { + gallery___posts: { requestBody: { content: { 'application/json': { @@ -15181,7 +15203,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:gallery* */ - 'gallery/posts/create': { + gallery___posts___create: { requestBody: { content: { 'application/json': { @@ -15244,7 +15266,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:gallery* */ - 'gallery/posts/delete': { + gallery___posts___delete: { requestBody: { content: { 'application/json': { @@ -15296,7 +15318,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:gallery-likes* */ - 'gallery/posts/like': { + gallery___posts___like: { requestBody: { content: { 'application/json': { @@ -15348,7 +15370,7 @@ export type operations = { * * **Credential required**: *No* */ - 'gallery/posts/show': { + gallery___posts___show: { requestBody: { content: { 'application/json': { @@ -15402,7 +15424,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:gallery-likes* */ - 'gallery/posts/unlike': { + gallery___posts___unlike: { requestBody: { content: { 'application/json': { @@ -15454,7 +15476,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:gallery* */ - 'gallery/posts/update': { + gallery___posts___update: { requestBody: { content: { 'application/json': { @@ -15624,7 +15646,7 @@ export type operations = { * * **Credential required**: *No* */ - 'hashtags/list': { + hashtags___list: { requestBody: { content: { 'application/json': { @@ -15686,7 +15708,7 @@ export type operations = { * * **Credential required**: *No* */ - 'hashtags/search': { + hashtags___search: { requestBody: { content: { 'application/json': { @@ -15743,7 +15765,7 @@ export type operations = { * * **Credential required**: *No* */ - 'hashtags/show': { + hashtags___show: { requestBody: { content: { 'application/json': { @@ -15796,7 +15818,7 @@ export type operations = { * * **Credential required**: *No* */ - 'hashtags/trend': { + hashtags___trend: { responses: { /** @description OK (with results) */ 200: { @@ -15846,7 +15868,7 @@ export type operations = { * * **Credential required**: *No* */ - 'hashtags/users': { + hashtags___users: { requestBody: { content: { 'application/json': { @@ -15960,7 +15982,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': { @@ -16016,7 +16038,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': { @@ -16076,7 +16098,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': { @@ -16128,7 +16150,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': { @@ -16217,7 +16239,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': { @@ -16278,7 +16300,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': { @@ -16331,7 +16353,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': { @@ -16385,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/unregister': { + i___2fa___unregister: { requestBody: { content: { 'application/json': { @@ -16438,7 +16460,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': { @@ -16502,7 +16524,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': { @@ -16570,7 +16592,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/claim-achievement': { + 'i___claim-achievement': { requestBody: { content: { 'application/json': { @@ -16623,7 +16645,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': { @@ -16677,7 +16699,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': { @@ -16730,7 +16752,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: { @@ -16781,7 +16803,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': { @@ -16842,7 +16864,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: { @@ -16893,7 +16915,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: { @@ -16944,7 +16966,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: { @@ -16995,7 +17017,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: { @@ -17046,7 +17068,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: { @@ -17097,7 +17119,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: { @@ -17147,7 +17169,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:favorites* */ - 'i/favorites': { + i___favorites: { requestBody: { content: { 'application/json': { @@ -17205,7 +17227,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:gallery-likes* */ - 'i/gallery/likes': { + i___gallery___likes: { requestBody: { content: { 'application/json': { @@ -17267,7 +17289,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:gallery* */ - 'i/gallery/posts': { + i___gallery___posts: { requestBody: { content: { 'application/json': { @@ -17326,7 +17348,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': { @@ -17385,7 +17407,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': { @@ -17445,7 +17467,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': { @@ -17504,7 +17526,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': { @@ -17563,7 +17585,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': { @@ -17621,7 +17643,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:notifications* */ - 'i/notifications': { + i___notifications: { requestBody: { content: { 'application/json': { @@ -17689,7 +17711,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:notifications* */ - 'i/notifications-grouped': { + 'i___notifications-grouped': { requestBody: { content: { 'application/json': { @@ -17757,7 +17779,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:page-likes* */ - 'i/page-likes': { + 'i___page-likes': { requestBody: { content: { 'application/json': { @@ -17819,7 +17841,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:pages* */ - 'i/pages': { + i___pages: { requestBody: { content: { 'application/json': { @@ -17877,7 +17899,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/pin': { + i___pin: { requestBody: { content: { 'application/json': { @@ -17931,7 +17953,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: { @@ -17975,7 +17997,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/read-announcement': { + 'i___read-announcement': { requestBody: { content: { 'application/json': { @@ -18028,7 +18050,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': { @@ -18079,7 +18101,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'i/registry/get-all': { + 'i___registry___get-all': { requestBody: { content: { 'application/json': { @@ -18134,7 +18156,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'i/registry/get-detail': { + 'i___registry___get-detail': { requestBody: { content: { 'application/json': { @@ -18193,7 +18215,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'i/registry/get': { + i___registry___get: { requestBody: { content: { 'application/json': { @@ -18249,7 +18271,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'i/registry/keys-with-type': { + 'i___registry___keys-with-type': { requestBody: { content: { 'application/json': { @@ -18306,7 +18328,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'i/registry/keys': { + i___registry___keys: { requestBody: { content: { 'application/json': { @@ -18361,7 +18383,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/registry/remove': { + i___registry___remove: { requestBody: { content: { 'application/json': { @@ -18416,7 +18438,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: { @@ -18465,7 +18487,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/registry/set': { + i___registry___set: { requestBody: { content: { 'application/json': { @@ -18521,7 +18543,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': { @@ -18575,7 +18597,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': { @@ -18633,7 +18655,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/unpin': { + i___unpin: { requestBody: { content: { 'application/json': { @@ -18688,7 +18710,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': { @@ -18749,7 +18771,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/update': { + i___update: { requestBody: { content: { 'application/json': { @@ -18983,7 +19005,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': { @@ -19042,7 +19064,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/webhooks/create': { + i___webhooks___create: { requestBody: { content: { 'application/json': { @@ -19112,7 +19134,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'i/webhooks/list': { + i___webhooks___list: { responses: { /** @description OK (with results) */ 200: { @@ -19171,7 +19193,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'i/webhooks/show': { + i___webhooks___show: { requestBody: { content: { 'application/json': { @@ -19238,7 +19260,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/webhooks/update': { + i___webhooks___update: { requestBody: { content: { 'application/json': { @@ -19296,7 +19318,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'i/webhooks/delete': { + i___webhooks___delete: { requestBody: { content: { 'application/json': { @@ -19348,7 +19370,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:invite-codes* */ - 'invite/create': { + invite___create: { responses: { /** @description OK (with results) */ 200: { @@ -19394,7 +19416,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:invite-codes* */ - 'invite/delete': { + invite___delete: { requestBody: { content: { 'application/json': { @@ -19446,7 +19468,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:invite-codes* */ - 'invite/list': { + invite___list: { requestBody: { content: { 'application/json': { @@ -19504,7 +19526,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:invite-codes* */ - 'invite/limit': { + invite___limit: { responses: { /** @description OK (with results) */ 200: { @@ -19708,7 +19730,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': { @@ -19767,7 +19789,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:mutes* */ - 'mute/create': { + mute___create: { requestBody: { content: { 'application/json': { @@ -19827,7 +19849,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:mutes* */ - 'mute/delete': { + mute___delete: { requestBody: { content: { 'application/json': { @@ -19879,7 +19901,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:mutes* */ - 'mute/list': { + mute___list: { requestBody: { content: { 'application/json': { @@ -19937,7 +19959,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:mutes* */ - 'renote-mute/create': { + 'renote-mute___create': { requestBody: { content: { 'application/json': { @@ -19995,7 +20017,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:mutes* */ - 'renote-mute/delete': { + 'renote-mute___delete': { requestBody: { content: { 'application/json': { @@ -20047,7 +20069,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:mutes* */ - 'renote-mute/list': { + 'renote-mute___list': { requestBody: { content: { 'application/json': { @@ -20105,7 +20127,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'my/apps': { + my___apps: { requestBody: { content: { 'application/json': { @@ -20225,7 +20247,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/children': { + notes___children: { requestBody: { content: { 'application/json': { @@ -20285,7 +20307,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/clips': { + notes___clips: { requestBody: { content: { 'application/json': { @@ -20339,7 +20361,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/conversation': { + notes___conversation: { requestBody: { content: { 'application/json': { @@ -20397,7 +20419,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:notes* */ - 'notes/create': { + notes___create: { requestBody: { content: { 'application/json': { @@ -20492,7 +20514,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:notes* */ - 'notes/delete': { + notes___delete: { requestBody: { content: { 'application/json': { @@ -20550,7 +20572,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:favorites* */ - 'notes/favorites/create': { + notes___favorites___create: { requestBody: { content: { 'application/json': { @@ -20608,7 +20630,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:favorites* */ - 'notes/favorites/delete': { + notes___favorites___delete: { requestBody: { content: { 'application/json': { @@ -20660,7 +20682,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/featured': { + notes___featured: { requestBody: { content: { 'application/json': { @@ -20718,7 +20740,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/global-timeline': { + 'notes___global-timeline': { requestBody: { content: { 'application/json': { @@ -20782,7 +20804,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'notes/hybrid-timeline': { + 'notes___hybrid-timeline': { requestBody: { content: { 'application/json': { @@ -20856,7 +20878,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/local-timeline': { + 'notes___local-timeline': { requestBody: { content: { 'application/json': { @@ -20924,7 +20946,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'notes/mentions': { + notes___mentions: { requestBody: { content: { 'application/json': { @@ -20985,7 +21007,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'notes/polls/recommendation': { + notes___polls___recommendation: { requestBody: { content: { 'application/json': { @@ -21041,7 +21063,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:votes* */ - 'notes/polls/vote': { + notes___polls___vote: { requestBody: { content: { 'application/json': { @@ -21094,7 +21116,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/reactions': { + notes___reactions: { requestBody: { content: { 'application/json': { @@ -21155,7 +21177,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:reactions* */ - 'notes/reactions/create': { + notes___reactions___create: { requestBody: { content: { 'application/json': { @@ -21208,7 +21230,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:reactions* */ - 'notes/reactions/delete': { + notes___reactions___delete: { requestBody: { content: { 'application/json': { @@ -21266,7 +21288,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/renotes': { + notes___renotes: { requestBody: { content: { 'application/json': { @@ -21326,7 +21348,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/replies': { + notes___replies: { requestBody: { content: { 'application/json': { @@ -21386,7 +21408,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/search-by-tag': { + 'notes___search-by-tag': { requestBody: { content: { 'application/json': { @@ -21458,7 +21480,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/search': { + notes___search: { requestBody: { content: { 'application/json': { @@ -21531,7 +21553,7 @@ export type operations = { * * **Credential required**: *No* */ - 'notes/show': { + notes___show: { requestBody: { content: { 'application/json': { @@ -21585,7 +21607,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'notes/state': { + notes___state: { requestBody: { content: { 'application/json': { @@ -21642,7 +21664,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'notes/thread-muting/create': { + 'notes___thread-muting___create': { requestBody: { content: { 'application/json': { @@ -21700,7 +21722,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'notes/thread-muting/delete': { + 'notes___thread-muting___delete': { requestBody: { content: { 'application/json': { @@ -21752,7 +21774,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'notes/timeline': { + notes___timeline: { requestBody: { content: { 'application/json': { @@ -21824,7 +21846,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'notes/translate': { + notes___translate: { requestBody: { content: { 'application/json': { @@ -21844,6 +21866,10 @@ export type operations = { }; }; }; + /** @description OK (without any results) */ + 204: { + content: never; + }; /** @description Client error */ 400: { content: { @@ -21882,7 +21908,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:notes* */ - 'notes/unrenote': { + notes___unrenote: { requestBody: { content: { 'application/json': { @@ -21940,7 +21966,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'notes/user-list-timeline': { + 'notes___user-list-timeline': { requestBody: { content: { 'application/json': { @@ -22017,7 +22043,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:notifications* */ - 'notifications/create': { + notifications___create: { requestBody: { content: { 'application/json': { @@ -22076,7 +22102,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:notifications* */ - 'notifications/flush': { + notifications___flush: { responses: { /** @description OK (without any results) */ 204: { @@ -22120,7 +22146,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: { @@ -22164,7 +22190,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:notifications* */ - 'notifications/test-notification': { + 'notifications___test-notification': { responses: { /** @description OK (without any results) */ 204: { @@ -22269,7 +22295,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:pages* */ - 'pages/create': { + pages___create: { requestBody: { content: { 'application/json': { @@ -22348,7 +22374,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:pages* */ - 'pages/delete': { + pages___delete: { requestBody: { content: { 'application/json': { @@ -22400,7 +22426,7 @@ export type operations = { * * **Credential required**: *No* */ - 'pages/featured': { + pages___featured: { responses: { /** @description OK (with results) */ 200: { @@ -22446,7 +22472,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:page-likes* */ - 'pages/like': { + pages___like: { requestBody: { content: { 'application/json': { @@ -22498,7 +22524,7 @@ export type operations = { * * **Credential required**: *No* */ - 'pages/show': { + pages___show: { requestBody: { content: { 'application/json': { @@ -22554,7 +22580,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:page-likes* */ - 'pages/unlike': { + pages___unlike: { requestBody: { content: { 'application/json': { @@ -22606,7 +22632,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:pages* */ - 'pages/update': { + pages___update: { requestBody: { content: { 'application/json': { @@ -22680,7 +22706,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:flash* */ - 'flash/create': { + flash___create: { requestBody: { content: { 'application/json': { @@ -22747,7 +22773,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:flash* */ - 'flash/delete': { + flash___delete: { requestBody: { content: { 'application/json': { @@ -22799,7 +22825,7 @@ export type operations = { * * **Credential required**: *No* */ - 'flash/featured': { + flash___featured: { responses: { /** @description OK (with results) */ 200: { @@ -22845,7 +22871,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:flash-likes* */ - 'flash/like': { + flash___like: { requestBody: { content: { 'application/json': { @@ -22897,7 +22923,7 @@ export type operations = { * * **Credential required**: *No* */ - 'flash/show': { + flash___show: { requestBody: { content: { 'application/json': { @@ -22951,7 +22977,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:flash-likes* */ - 'flash/unlike': { + flash___unlike: { requestBody: { content: { 'application/json': { @@ -23003,7 +23029,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:flash* */ - 'flash/update': { + flash___update: { requestBody: { content: { 'application/json': { @@ -23067,7 +23093,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:flash* */ - 'flash/my': { + flash___my: { requestBody: { content: { 'application/json': { @@ -23125,7 +23151,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:flash-likes* */ - 'flash/my-likes': { + 'flash___my-likes': { requestBody: { content: { 'application/json': { @@ -23281,7 +23307,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'promo/read': { + promo___read: { requestBody: { content: { 'application/json': { @@ -23333,7 +23359,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'roles/list': { + roles___list: { responses: { /** @description OK (with results) */ 200: { @@ -23379,7 +23405,7 @@ export type operations = { * * **Credential required**: *No* */ - 'roles/show': { + roles___show: { requestBody: { content: { 'application/json': { @@ -23433,7 +23459,7 @@ export type operations = { * * **Credential required**: *No* */ - 'roles/users': { + roles___users: { requestBody: { content: { 'application/json': { @@ -23497,7 +23523,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'roles/notes': { + roles___notes: { requestBody: { content: { 'application/json': { @@ -23827,7 +23853,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': { @@ -23889,7 +23915,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': { @@ -23948,7 +23974,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': { @@ -24012,7 +24038,7 @@ export type operations = { * * **Credential required**: *No* */ - 'sw/unregister': { + sw___unregister: { requestBody: { content: { 'application/json': { @@ -24131,7 +24157,7 @@ export type operations = { * * **Credential required**: *No* */ - 'username/available': { + username___available: { requestBody: { content: { 'application/json': { @@ -24259,7 +24285,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/clips': { + users___clips: { requestBody: { content: { 'application/json': { @@ -24319,7 +24345,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/followers': { + users___followers: { requestBody: { content: { 'application/json': { @@ -24382,7 +24408,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/following': { + users___following: { requestBody: { content: { 'application/json': { @@ -24446,7 +24472,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/gallery/posts': { + users___gallery___posts: { requestBody: { content: { 'application/json': { @@ -24506,7 +24532,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/get-frequently-replied-users': { + 'users___get-frequently-replied-users': { requestBody: { content: { 'application/json': { @@ -24565,7 +24591,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/featured-notes': { + 'users___featured-notes': { requestBody: { content: { 'application/json': { @@ -24623,7 +24649,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/create': { + users___lists___create: { requestBody: { content: { 'application/json': { @@ -24676,7 +24702,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/delete': { + users___lists___delete: { requestBody: { content: { 'application/json': { @@ -24728,7 +24754,7 @@ export type operations = { * * **Credential required**: *No* / **Permission**: *read:account* */ - 'users/lists/list': { + users___lists___list: { requestBody: { content: { 'application/json': { @@ -24782,7 +24808,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/pull': { + users___lists___pull: { requestBody: { content: { 'application/json': { @@ -24836,7 +24862,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/push': { + users___lists___push: { requestBody: { content: { 'application/json': { @@ -24896,7 +24922,7 @@ export type operations = { * * **Credential required**: *No* / **Permission**: *read:account* */ - 'users/lists/show': { + users___lists___show: { requestBody: { content: { 'application/json': { @@ -24952,7 +24978,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/favorite': { + users___lists___favorite: { requestBody: { content: { 'application/json': { @@ -25004,7 +25030,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/unfavorite': { + users___lists___unfavorite: { requestBody: { content: { 'application/json': { @@ -25056,7 +25082,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/update': { + users___lists___update: { requestBody: { content: { 'application/json': { @@ -25112,7 +25138,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/create-from-public': { + 'users___lists___create-from-public': { requestBody: { content: { 'application/json': { @@ -25167,7 +25193,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/lists/update-membership': { + 'users___lists___update-membership': { requestBody: { content: { 'application/json': { @@ -25222,7 +25248,7 @@ export type operations = { * * **Credential required**: *No* / **Permission**: *read:account* */ - 'users/lists/get-memberships': { + 'users___lists___get-memberships': { requestBody: { content: { 'application/json': { @@ -25293,7 +25319,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/notes': { + users___notes: { requestBody: { content: { 'application/json': { @@ -25365,7 +25391,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/pages': { + users___pages: { requestBody: { content: { 'application/json': { @@ -25425,7 +25451,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/flashs': { + users___flashs: { requestBody: { content: { 'application/json': { @@ -25485,7 +25511,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/reactions': { + users___reactions: { requestBody: { content: { 'application/json': { @@ -25547,7 +25573,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'users/recommendation': { + users___recommendation: { requestBody: { content: { 'application/json': { @@ -25603,7 +25629,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'users/relation': { + users___relation: { requestBody: { content: { 'application/json': { @@ -25678,7 +25704,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:report-abuse* */ - 'users/report-abuse': { + 'users___report-abuse': { requestBody: { content: { 'application/json': { @@ -25731,7 +25757,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/search-by-username-and-host': { + 'users___search-by-username-and-host': { requestBody: { content: { 'application/json': { @@ -25789,7 +25815,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/search': { + users___search: { requestBody: { content: { 'application/json': { @@ -25853,7 +25879,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/show': { + users___show: { requestBody: { content: { 'application/json': { @@ -25911,7 +25937,7 @@ export type operations = { * * **Credential required**: *No* */ - 'users/achievements': { + users___achievements: { requestBody: { content: { 'application/json': { @@ -25968,7 +25994,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'users/update-memo': { + 'users___update-memo': { requestBody: { content: { 'application/json': { @@ -26194,7 +26220,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'bubble-game/register': { + 'bubble-game___register': { requestBody: { content: { 'application/json': { @@ -26255,7 +26281,7 @@ export type operations = { * * **Credential required**: *No* */ - 'bubble-game/ranking': { + 'bubble-game___ranking': { requestBody: { content: { 'application/json': { @@ -26313,7 +26339,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'reversi/cancel-match': { + 'reversi___cancel-match': { requestBody: { content: { 'application/json': { @@ -26365,7 +26391,7 @@ export type operations = { * * **Credential required**: *No* */ - 'reversi/games': { + reversi___games: { requestBody: { content: { 'application/json': { @@ -26425,7 +26451,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'reversi/match': { + reversi___match: { requestBody: { content: { 'application/json': { @@ -26487,7 +26513,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *read:account* */ - 'reversi/invitations': { + reversi___invitations: { responses: { /** @description OK (with results) */ 200: { @@ -26533,7 +26559,7 @@ export type operations = { * * **Credential required**: *No* */ - 'reversi/show-game': { + 'reversi___show-game': { requestBody: { content: { 'application/json': { @@ -26587,7 +26613,7 @@ export type operations = { * * **Credential required**: *Yes* / **Permission**: *write:account* */ - 'reversi/surrender': { + reversi___surrender: { requestBody: { content: { 'application/json': { @@ -26639,7 +26665,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/pnpm-lock.yaml b/pnpm-lock.yaml index f7892cc36c..d499b36b4d 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 @@ -44,6 +50,9 @@ importers: specifier: 4.4.0 version: 4.4.0 devDependencies: + '@types/node': + specifier: ^20.11.28 + version: 20.11.28 '@typescript-eslint/eslint-plugin': specifier: 7.1.0 version: 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) @@ -114,8 +123,8 @@ importers: specifier: 1.2.0 version: 1.2.0 '@misskey-dev/summaly': - specifier: 5.0.3 - version: 5.0.3 + specifier: 5.1.0 + version: 5.1.0 '@nestjs/common': specifier: 10.3.3 version: 10.3.3(reflect-metadata@0.2.1)(rxjs@7.8.1) @@ -809,8 +818,8 @@ importers: specifier: 1.71.1 version: 1.71.1 shiki: - specifier: 1.1.7 - version: 1.1.7 + specifier: 1.2.0 + version: 1.2.0 strict-event-emitter-types: specifier: 2.0.0 version: 2.0.0 @@ -1037,15 +1046,9 @@ importers: 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 @@ -1071,9 +1074,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 @@ -1083,12 +1095,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 @@ -1104,7 +1110,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 @@ -1117,9 +1123,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) @@ -1186,12 +1201,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 @@ -1205,9 +1214,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 @@ -4839,6 +4857,20 @@ packages: jschardet: 3.0.0 private-ip: 2.3.3 trace-redirect: 1.0.6 + dev: true + + /@misskey-dev/summaly@5.1.0: + resolution: {integrity: sha512-WAUrgX3/z4h4aI8Y/WVwmJcJ6Fa1Zf2LJCSS651t9MHoWVGABLsQ2KCXRGmlpk4i+cMDNIwweObUroosE7j8rg==} + dependencies: + cheerio: 1.0.0-rc.12 + escape-regexp: 0.0.1 + got: 12.6.1 + html-entities: 2.3.2 + iconv-lite: 0.6.3 + jschardet: 3.0.0 + private-ip: 2.3.3 + trace-redirect: 1.0.6 + dev: false /@mole-inc/bin-wrapper@8.0.1: resolution: {integrity: sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==} @@ -5394,8 +5426,8 @@ packages: string-argv: 0.3.1 dev: true - /@shikijs/core@1.1.7: - resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==} + /@shikijs/core@1.2.0: + resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==} dev: false /@sideway/address@4.1.4: @@ -6716,32 +6748,12 @@ packages: ts-dedent: 2.2.0 type-fest: 2.19.0 vue: 3.4.21(typescript@5.3.3) - vue-component-type-helpers: 1.8.27 + vue-component-type-helpers: 2.0.6 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'} @@ -6774,14 +6786,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'} @@ -6799,14 +6803,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'} @@ -6835,14 +6831,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'} @@ -6860,14 +6848,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'} @@ -6885,14 +6865,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'} @@ -6910,14 +6882,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'} @@ -6935,14 +6899,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'} @@ -6960,14 +6916,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'} @@ -6985,14 +6933,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'} @@ -7010,14 +6950,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'} @@ -7035,30 +6967,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.1 - '@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'} @@ -7086,17 +6994,6 @@ packages: /@swc/counter@0.1.1: resolution: {integrity: sha512-xVRaR4u9hcYjFvcSg71Lz5Bo4//CyjAAfMxa7UsaDSYxAshflUkVJWiyVWrfxC59z2kP1IzI4/1BEpnhI9o3Mw==} - /@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'} @@ -7720,6 +7617,12 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.11.28: + resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} + dependencies: + undici-types: 5.26.5 + dev: true + /@types/node@20.11.5: resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} dependencies: @@ -17766,10 +17669,10 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - /shiki@1.1.7: - resolution: {integrity: sha512-9kUTMjZtcPH3i7vHunA6EraTPpPOITYTdA5uMrvsJRexktqP0s7P3s9HVK80b4pP42FRVe03D7fT3NmJv2yYhw==} + /shiki@1.2.0: + resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==} dependencies: - '@shikijs/core': 1.1.7 + '@shikijs/core': 1.2.0 dev: false /side-channel@1.0.4: @@ -19553,6 +19456,10 @@ packages: resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==} dev: true + /vue-component-type-helpers@2.0.6: + resolution: {integrity: sha512-qdGXCtoBrwqk1BT6r2+1Wcvl583ZVkuSZ3or7Y1O2w5AvWtlvvxwjGhmz5DdPJS9xqRdDlgTJ/38ehWnEi0tFA==} + dev: true + /vue-demi@0.14.7(vue@3.4.21): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} diff --git a/scripts/dev.mjs b/scripts/dev.mjs index 1ca2c6c2ea..bbb2547758 100644 --- a/scripts/dev.mjs +++ b/scripts/dev.mjs @@ -16,35 +16,36 @@ 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, + }), +]); -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', '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 + '/../',