fix(backend): 虚無ノートを投稿できる問題の修正と `api.json` の OpenAPI Specification 3.1.0 への対応 (#12969)
* fix(backend): `text: null`だけのノートは投稿できないように * add test * Update CHANGELOG.md * chore: bump OpenAPI Specification from 3.0.0 to 3.1.0 * chore: テストがすでにコメントで記述されていたのでそっちを使うことにする * fix test * fix(backend): prohibit posting whitespace-only notes * Update CHANGELOG.md * fix(backend): `renoteId`または`fileIds`(`mediaIds`)または`poll`が`null`でない場合に、`text が空白文字のみで構成されたリクエストになることを許可して、結果は`text: null`を返すように * test(backend): 引用renoteで空白文字のみで構成されたtextにするとレスポンスが`text: null`になることをチェックするテストを追加 * fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように * fix(misskey-js): OpenAPI 3.1に対応 * fix(misskey-js): 型生成をOpenAPI Specification 3.1.0に対応 * fix(ci): `validate-api.json`をOpenAPI Specification 3.1.0に対応 * fix(ci): スキーマ書き換えの際のミスを修正 * Revert "fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように" This reverts commita9ca55343d. * fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように * Revert "fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように" This reverts commit865458989f. * fix(misskey-js): `openapi-parser`で`validate`のかわりに`parse`を用いるように * Update CHANGELOG.md
This commit is contained in:
		
							parent
							
								
									79370aaee2
								
							
						
					
					
						commit
						d792f4f348
					
				|  | @ -33,8 +33,8 @@ jobs: | |||
|       with: | ||||
|         node-version: ${{ matrix.node-version }} | ||||
|         cache: 'pnpm' | ||||
|     - name: Install swagger-cli | ||||
|       run: npm i -g swagger-cli | ||||
|     - name: Install Redocly CLI | ||||
|       run: npm i -g @redocly/cli | ||||
|     - run: corepack enable | ||||
|     - run: pnpm i --frozen-lockfile | ||||
|     - name: Check pnpm-lock.yaml | ||||
|  | @ -44,4 +44,4 @@ jobs: | |||
|     - name: Build and generate | ||||
|       run: pnpm build && pnpm --filter backend generate-api-json | ||||
|     - name: Validation | ||||
|       run: swagger-cli validate ./packages/backend/built/api.json | ||||
|       run: npx @redocly/cli lint --extends=minimal ./packages/backend/built/api.json | ||||
|  |  | |||
|  | @ -36,7 +36,10 @@ | |||
| - Enhance: 連合先のレートリミットに引っかかった際にリトライするようになりました | ||||
| - Enhance: ActivityPub Deliver queueでBodyを事前処理するように (#12916) | ||||
| - Enhance: クリップをエクスポートできるように | ||||
| - Enhance: `api.json`のOpenAPI Specificationを3.1.0に更新 | ||||
| - Fix: `drive/files/update`でファイル名のバリデーションが機能していない問題を修正 | ||||
| - Fix: `notes/create`で、`text`が空白文字のみで構成されているか`null`であって、かつ`text`だけであるリクエストに対するレスポンスが400になるように変更 | ||||
| - Fix: `notes/create`で、`text`が空白文字のみで構成されていてかつリノート、ファイルまたは投票を含んでいるリクエストに対するレスポンスの`text`が`""`から`null`になるように変更 | ||||
| 
 | ||||
| ## 2023.12.2 | ||||
| 
 | ||||
|  |  | |||
|  | @ -325,6 +325,9 @@ export class NoteCreateService implements OnApplicationShutdown { | |||
| 				data.text = data.text.slice(0, DB_MAX_NOTE_TEXT_LENGTH); | ||||
| 			} | ||||
| 			data.text = data.text.trim(); | ||||
| 			if (data.text === '') { | ||||
| 				data.text = null; | ||||
| 			} | ||||
| 		} else { | ||||
| 			data.text = null; | ||||
| 		} | ||||
|  |  | |||
|  | @ -36,7 +36,7 @@ export const paramDef = { | |||
| 		untilId: { type: 'string', format: 'misskey:id' }, | ||||
| 		folderId: { type: 'string', format: 'misskey:id', nullable: true, default: null }, | ||||
| 		type: { type: 'string', nullable: true, pattern: /^[a-zA-Z\/\-*]+$/.toString().slice(1, -1) }, | ||||
| 		sort: { type: 'string', nullable: true, enum: ['+createdAt', '-createdAt', '+name', '-name', '+size', '-size'] }, | ||||
| 		sort: { type: 'string', nullable: true, enum: ['+createdAt', '-createdAt', '+name', '-name', '+size', '-size', null] }, | ||||
| 	}, | ||||
| 	required: [], | ||||
| } as const; | ||||
|  |  | |||
|  | @ -60,6 +60,7 @@ export const paramDef = { | |||
| 				'-firstRetrievedAt', | ||||
| 				'+latestRequestReceivedAt', | ||||
| 				'-latestRequestReceivedAt', | ||||
| 				null, | ||||
| 			], | ||||
| 		}, | ||||
| 	}, | ||||
|  |  | |||
|  | @ -103,13 +103,13 @@ export const meta = { | |||
| 							items: { | ||||
| 								type: 'string', | ||||
| 								enum: [ | ||||
| 									"ble", | ||||
| 									"cable", | ||||
| 									"hybrid", | ||||
| 									"internal", | ||||
| 									"nfc", | ||||
| 									"smart-card", | ||||
| 									"usb", | ||||
| 									'ble', | ||||
| 									'cable', | ||||
| 									'hybrid', | ||||
| 									'internal', | ||||
| 									'nfc', | ||||
| 									'smart-card', | ||||
| 									'usb', | ||||
| 								], | ||||
| 							}, | ||||
| 						}, | ||||
|  | @ -123,8 +123,8 @@ export const meta = { | |||
| 					authenticatorAttachment: { | ||||
| 						type: 'string', | ||||
| 						enum: [ | ||||
| 							"cross-platform", | ||||
| 							"platform", | ||||
| 							'cross-platform', | ||||
| 							'platform', | ||||
| 						], | ||||
| 					}, | ||||
| 					requireResidentKey: { | ||||
|  | @ -133,9 +133,9 @@ export const meta = { | |||
| 					userVerification: { | ||||
| 						type: 'string', | ||||
| 						enum: [ | ||||
| 							"discouraged", | ||||
| 							"preferred", | ||||
| 							"required", | ||||
| 							'discouraged', | ||||
| 							'preferred', | ||||
| 							'required', | ||||
| 						], | ||||
| 					}, | ||||
| 				}, | ||||
|  | @ -144,10 +144,11 @@ export const meta = { | |||
| 				type: 'string', | ||||
| 				nullable: true, | ||||
| 				enum: [ | ||||
| 					"direct", | ||||
| 					"enterprise", | ||||
| 					"indirect", | ||||
| 					"none", | ||||
| 					'direct', | ||||
| 					'enterprise', | ||||
| 					'indirect', | ||||
| 					'none', | ||||
| 					null, | ||||
| 				], | ||||
| 			}, | ||||
| 			extensions: { | ||||
|  |  | |||
|  | @ -34,11 +34,10 @@ describe('api:notes/create', () => { | |||
| 					.toBe(VALID); | ||||
| 			}); | ||||
| 
 | ||||
| 			// TODO
 | ||||
| 			//test('null post', () => {
 | ||||
| 			//	expect(v({ text: null }))
 | ||||
| 			//		.toBe(INVALID);
 | ||||
| 			//});
 | ||||
| 			test('null post', () => { | ||||
| 				expect(v({ text: null })) | ||||
| 					.toBe(INVALID); | ||||
| 			}); | ||||
| 
 | ||||
| 			test('0 characters post', () => { | ||||
| 				expect(v({ text: '' })) | ||||
|  | @ -49,6 +48,11 @@ describe('api:notes/create', () => { | |||
| 				expect(v({ text: await tooLong })) | ||||
| 					.toBe(INVALID); | ||||
| 			}); | ||||
| 
 | ||||
| 			test('whitespace-only post', () => { | ||||
| 				expect(v({ text: ' ' })) | ||||
| 					.toBe(INVALID); | ||||
| 			}); | ||||
| 		}); | ||||
| 
 | ||||
| 		describe('cw', () => { | ||||
|  |  | |||
|  | @ -172,13 +172,33 @@ export const paramDef = { | |||
| 		}, | ||||
| 	}, | ||||
| 	// (re)note with text, files and poll are optional
 | ||||
| 	anyOf: [ | ||||
| 		{ required: ['text'] }, | ||||
| 		{ required: ['renoteId'] }, | ||||
| 		{ required: ['fileIds'] }, | ||||
| 		{ required: ['mediaIds'] }, | ||||
| 		{ required: ['poll'] }, | ||||
| 	], | ||||
| 	if: { | ||||
| 		properties: { | ||||
| 			renoteId: { | ||||
| 				type: 'null', | ||||
| 			}, | ||||
| 			fileIds: { | ||||
| 				type: 'null', | ||||
| 			}, | ||||
| 			mediaIds: { | ||||
| 				type: 'null', | ||||
| 			}, | ||||
| 			poll: { | ||||
| 				type: 'null', | ||||
| 			}, | ||||
| 		}, | ||||
| 	}, | ||||
| 	then: { | ||||
| 		properties: { | ||||
| 			text: { | ||||
| 				type: 'string', | ||||
| 				minLength: 1, | ||||
| 				maxLength: MAX_NOTE_TEXT_LENGTH, | ||||
| 				pattern: '[^\\s]+', | ||||
| 			}, | ||||
| 		}, | ||||
| 		required: ['text'], | ||||
| 	}, | ||||
| } as const; | ||||
| 
 | ||||
| @Injectable() | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ import { schemas, convertSchemaToOpenApiSchema } from './schemas.js'; | |||
| 
 | ||||
| export function genOpenapiSpec(config: Config) { | ||||
| 	const spec = { | ||||
| 		openapi: '3.0.0', | ||||
| 		openapi: '3.1.0', | ||||
| 
 | ||||
| 		info: { | ||||
| 			version: config.version, | ||||
|  | @ -56,7 +56,7 @@ export function genOpenapiSpec(config: Config) { | |||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		const resSchema = endpoint.meta.res ? convertSchemaToOpenApiSchema(endpoint.meta.res) : {}; | ||||
| 		const resSchema = endpoint.meta.res ? convertSchemaToOpenApiSchema(endpoint.meta.res, 'res') : {}; | ||||
| 
 | ||||
| 		let desc = (endpoint.meta.description ? endpoint.meta.description : 'No description provided.') + '\n\n'; | ||||
| 
 | ||||
|  | @ -71,7 +71,7 @@ export function genOpenapiSpec(config: Config) { | |||
| 		} | ||||
| 
 | ||||
| 		const requestType = endpoint.meta.requireFile ? 'multipart/form-data' : 'application/json'; | ||||
| 		const schema = { ...endpoint.params }; | ||||
| 		const schema = { ...convertSchemaToOpenApiSchema(endpoint.params, 'param') }; | ||||
| 
 | ||||
| 		if (endpoint.meta.requireFile) { | ||||
| 			schema.properties = { | ||||
|  | @ -210,7 +210,9 @@ export function genOpenapiSpec(config: Config) { | |||
| 		}; | ||||
| 
 | ||||
| 		spec.paths['/' + endpoint.name] = { | ||||
| 			...(endpoint.meta.allowGet ? { get: info } : {}), | ||||
| 			...(endpoint.meta.allowGet ? { | ||||
| 				get: info, | ||||
| 			} : {}), | ||||
| 			post: info, | ||||
| 		}; | ||||
| 	} | ||||
|  |  | |||
|  | @ -6,32 +6,35 @@ | |||
| import type { Schema } from '@/misc/json-schema.js'; | ||||
| import { refs } from '@/misc/json-schema.js'; | ||||
| 
 | ||||
| export function convertSchemaToOpenApiSchema(schema: Schema) { | ||||
| 	// optional, refはスキーマ定義に含まれないので分離しておく
 | ||||
| export function convertSchemaToOpenApiSchema(schema: Schema, type: 'param' | 'res') { | ||||
| 	// optional, nullable, refはスキーマ定義に含まれないので分離しておく
 | ||||
| 	// eslint-disable-next-line @typescript-eslint/no-unused-vars
 | ||||
| 	const { optional, ref, ...res }: any = schema; | ||||
| 	const { optional, nullable, ref, ...res }: any = schema; | ||||
| 
 | ||||
| 	if (schema.type === 'object' && schema.properties) { | ||||
| 		const required = Object.entries(schema.properties).filter(([k, v]) => !v.optional).map(([k]) => k); | ||||
| 		if (required.length > 0) { | ||||
| 		if (type === 'res') { | ||||
| 			const required = Object.entries(schema.properties).filter(([k, v]) => !v.optional).map(([k]) => k); | ||||
| 			if (required.length > 0) { | ||||
| 			// 空配列は許可されない
 | ||||
| 			res.required = required; | ||||
| 				res.required = required; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		for (const k of Object.keys(schema.properties)) { | ||||
| 			res.properties[k] = convertSchemaToOpenApiSchema(schema.properties[k]); | ||||
| 			res.properties[k] = convertSchemaToOpenApiSchema(schema.properties[k], type); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if (schema.type === 'array' && schema.items) { | ||||
| 		res.items = convertSchemaToOpenApiSchema(schema.items); | ||||
| 		res.items = convertSchemaToOpenApiSchema(schema.items, type); | ||||
| 	} | ||||
| 
 | ||||
| 	if (schema.anyOf) res.anyOf = schema.anyOf.map(convertSchemaToOpenApiSchema); | ||||
| 	if (schema.oneOf) res.oneOf = schema.oneOf.map(convertSchemaToOpenApiSchema); | ||||
| 	if (schema.allOf) res.allOf = schema.allOf.map(convertSchemaToOpenApiSchema); | ||||
| 	for (const o of ['anyOf', 'oneOf', 'allOf'] as const) { | ||||
| 		// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
 | ||||
| 		if (o in schema) res[o] = schema[o]!.map(schema => convertSchemaToOpenApiSchema(schema, type)); | ||||
| 	} | ||||
| 
 | ||||
| 	if (schema.ref) { | ||||
| 	if (type === 'res' && schema.ref) { | ||||
| 		const $ref = `#/components/schemas/${schema.ref}`; | ||||
| 		if (schema.nullable || schema.optional) { | ||||
| 			res.allOf = [{ $ref }]; | ||||
|  | @ -40,6 +43,14 @@ export function convertSchemaToOpenApiSchema(schema: Schema) { | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if (schema.nullable) { | ||||
| 		if (Array.isArray(schema.type) && !schema.type.includes('null')) { | ||||
| 			res.type.push('null'); | ||||
| 		} else if (typeof schema.type === 'string') { | ||||
| 			res.type = [res.type, 'null']; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	return res; | ||||
| } | ||||
| 
 | ||||
|  | @ -72,6 +83,6 @@ export const schemas = { | |||
| 	}, | ||||
| 
 | ||||
| 	...Object.fromEntries( | ||||
| 		Object.entries(refs).map(([key, schema]) => [key, convertSchemaToOpenApiSchema(schema)]), | ||||
| 		Object.entries(refs).map(([key, schema]) => [key, convertSchemaToOpenApiSchema(schema, 'res')]), | ||||
| 	), | ||||
| }; | ||||
|  |  | |||
|  | @ -136,6 +136,19 @@ describe('Note', () => { | |||
| 		assert.strictEqual(res.body.createdNote.renote.text, bobPost.text); | ||||
| 	}); | ||||
| 
 | ||||
| 	test('引用renoteで空白文字のみで構成されたtextにするとレスポンスがtext: nullになる', async () => { | ||||
| 		const bobPost = await post(bob, { | ||||
| 			text: 'test', | ||||
| 		}); | ||||
| 		const res = await api('/notes/create', { | ||||
| 			text: ' ', | ||||
| 			renoteId: bobPost.id, | ||||
| 		}, alice); | ||||
| 
 | ||||
| 		assert.strictEqual(res.status, 200); | ||||
| 		assert.strictEqual(res.body.createdNote.text, null); | ||||
| 	}); | ||||
| 
 | ||||
| 	test('visibility: followersでrenoteできる', async () => { | ||||
| 		const createRes = await api('/notes/create', { | ||||
| 			text: 'test', | ||||
|  |  | |||
|  | @ -7,14 +7,14 @@ | |||
| 		"generate": "tsx src/generator.ts && eslint ./built/**/* --ext .ts --fix" | ||||
| 	}, | ||||
| 	"devDependencies": { | ||||
| 		"@apidevtools/swagger-parser": "10.1.0", | ||||
| 		"@misskey-dev/eslint-plugin": "^1.0.0", | ||||
| 		"@readme/openapi-parser": "2.5.0", | ||||
| 		"@types/node": "20.9.1", | ||||
| 		"@typescript-eslint/eslint-plugin": "6.11.0", | ||||
| 		"@typescript-eslint/parser": "6.11.0", | ||||
| 		"eslint": "8.53.0", | ||||
| 		"openapi-types": "12.1.3", | ||||
| 		"openapi-typescript": "6.7.1", | ||||
| 		"openapi-typescript": "6.7.3", | ||||
| 		"ts-case-convert": "2.0.2", | ||||
| 		"tsx": "4.4.0", | ||||
| 		"typescript": "5.3.3" | ||||
|  |  | |||
|  | @ -1,10 +1,10 @@ | |||
| import { mkdir, writeFile } from 'fs/promises'; | ||||
| import { OpenAPIV3 } from 'openapi-types'; | ||||
| import { OpenAPIV3_1 } from 'openapi-types'; | ||||
| import { toPascal } from 'ts-case-convert'; | ||||
| import SwaggerParser from '@apidevtools/swagger-parser'; | ||||
| import OpenAPIParser from '@readme/openapi-parser'; | ||||
| import openapiTS from 'openapi-typescript'; | ||||
| 
 | ||||
| function generateVersionHeaderComment(openApiDocs: OpenAPIV3.Document): string { | ||||
| function generateVersionHeaderComment(openApiDocs: OpenAPIV3_1.Document): string { | ||||
| 	const contents = { | ||||
| 		version: openApiDocs.info.version, | ||||
| 		generatedAt: new Date().toISOString(), | ||||
|  | @ -21,7 +21,7 @@ function generateVersionHeaderComment(openApiDocs: OpenAPIV3.Document): string { | |||
| } | ||||
| 
 | ||||
| async function generateBaseTypes( | ||||
| 	openApiDocs: OpenAPIV3.Document, | ||||
| 	openApiDocs: OpenAPIV3_1.Document, | ||||
| 	openApiJsonPath: string, | ||||
| 	typeFileName: string, | ||||
| ) { | ||||
|  | @ -47,7 +47,7 @@ async function generateBaseTypes( | |||
| } | ||||
| 
 | ||||
| async function generateSchemaEntities( | ||||
| 	openApiDocs: OpenAPIV3.Document, | ||||
| 	openApiDocs: OpenAPIV3_1.Document, | ||||
| 	typeFileName: string, | ||||
| 	outputPath: string, | ||||
| ) { | ||||
|  | @ -71,7 +71,7 @@ async function generateSchemaEntities( | |||
| } | ||||
| 
 | ||||
| async function generateEndpoints( | ||||
| 	openApiDocs: OpenAPIV3.Document, | ||||
| 	openApiDocs: OpenAPIV3_1.Document, | ||||
| 	typeFileName: string, | ||||
| 	entitiesOutputPath: string, | ||||
| 	endpointOutputPath: string, | ||||
|  | @ -79,7 +79,7 @@ async function generateEndpoints( | |||
| 	const endpoints: Endpoint[] = []; | ||||
| 
 | ||||
| 	// misskey-jsはPOST固定で送っているので、こちらも決め打ちする。別メソッドに対応することがあればこちらも直す必要あり
 | ||||
| 	const paths = openApiDocs.paths; | ||||
| 	const paths = openApiDocs.paths ?? {}; | ||||
| 	const postPathItems = Object.keys(paths) | ||||
| 		.map(it => paths[it]?.post) | ||||
| 		.filter(filterUndefined); | ||||
|  | @ -160,7 +160,7 @@ async function generateEndpoints( | |||
| } | ||||
| 
 | ||||
| async function generateApiClientJSDoc( | ||||
| 	openApiDocs: OpenAPIV3.Document, | ||||
| 	openApiDocs: OpenAPIV3_1.Document, | ||||
| 	apiClientFileName: string, | ||||
| 	endpointsFileName: string, | ||||
| 	warningsOutputPath: string, | ||||
|  | @ -168,7 +168,7 @@ async function generateApiClientJSDoc( | |||
| 	const endpoints: { operationId: string; description: string; }[] = []; | ||||
| 
 | ||||
| 	// misskey-jsはPOST固定で送っているので、こちらも決め打ちする。別メソッドに対応することがあればこちらも直す必要あり
 | ||||
| 	const paths = openApiDocs.paths; | ||||
| 	const paths = openApiDocs.paths ?? {}; | ||||
| 	const postPathItems = Object.keys(paths) | ||||
| 		.map(it => paths[it]?.post) | ||||
| 		.filter(filterUndefined); | ||||
|  | @ -221,21 +221,21 @@ async function generateApiClientJSDoc( | |||
| 	await writeFile(warningsOutputPath, endpointOutputLine.join('\n')); | ||||
| } | ||||
| 
 | ||||
| function isRequestBodyObject(value: unknown): value is OpenAPIV3.RequestBodyObject { | ||||
| function isRequestBodyObject(value: unknown): value is OpenAPIV3_1.RequestBodyObject { | ||||
| 	if (!value) { | ||||
| 		return false; | ||||
| 	} | ||||
| 
 | ||||
| 	const { content } = value as Record<keyof OpenAPIV3.RequestBodyObject, unknown>; | ||||
| 	const { content } = value as Record<keyof OpenAPIV3_1.RequestBodyObject, unknown>; | ||||
| 	return content !== undefined; | ||||
| } | ||||
| 
 | ||||
| function isResponseObject(value: unknown): value is OpenAPIV3.ResponseObject { | ||||
| function isResponseObject(value: unknown): value is OpenAPIV3_1.ResponseObject { | ||||
| 	if (!value) { | ||||
| 		return false; | ||||
| 	} | ||||
| 
 | ||||
| 	const { description } = value as Record<keyof OpenAPIV3.ResponseObject, unknown>; | ||||
| 	const { description } = value as Record<keyof OpenAPIV3_1.ResponseObject, unknown>; | ||||
| 	return description !== undefined; | ||||
| } | ||||
| 
 | ||||
|  | @ -330,7 +330,7 @@ async function main() { | |||
| 	await mkdir(generatePath, { recursive: true }); | ||||
| 
 | ||||
| 	const openApiJsonPath = './api.json'; | ||||
| 	const openApiDocs = await SwaggerParser.validate(openApiJsonPath) as OpenAPIV3.Document; | ||||
| 	const openApiDocs = await OpenAPIParser.parse(openApiJsonPath) as OpenAPIV3_1.Document; | ||||
| 
 | ||||
| 	const typeFileName = './built/autogen/types.ts'; | ||||
| 	await generateBaseTypes(openApiDocs, openApiJsonPath, typeFileName); | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| /* | ||||
|  * version: 2023.12.2 | ||||
|  * generatedAt: 2024-01-11T14:29:04.817Z | ||||
|  * generatedAt: 2024-01-13T04:31:38.782Z | ||||
|  */ | ||||
| 
 | ||||
| import type { SwitchCaseResponseType } from '../api.js'; | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| /* | ||||
|  * version: 2023.12.2 | ||||
|  * generatedAt: 2024-01-11T14:29:04.814Z | ||||
|  * generatedAt: 2024-01-13T04:31:38.778Z | ||||
|  */ | ||||
| 
 | ||||
| import type { | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| /* | ||||
|  * version: 2023.12.2 | ||||
|  * generatedAt: 2024-01-11T14:29:04.811Z | ||||
|  * generatedAt: 2024-01-13T04:31:38.775Z | ||||
|  */ | ||||
| 
 | ||||
| import { operations } from './types.js'; | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| /* | ||||
|  * version: 2023.12.2 | ||||
|  * generatedAt: 2024-01-11T14:29:04.810Z | ||||
|  * generatedAt: 2024-01-13T04:31:38.773Z | ||||
|  */ | ||||
| 
 | ||||
| import { components } from './types.js'; | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| 
 | ||||
| /* | ||||
|  * version: 2023.12.2 | ||||
|  * generatedAt: 2024-01-11T14:29:04.681Z | ||||
|  * generatedAt: 2024-01-13T04:31:38.633Z | ||||
|  */ | ||||
| 
 | ||||
| /** | ||||
|  | @ -3816,7 +3816,7 @@ export type components = { | |||
|       fileIds?: string[]; | ||||
|       files?: components['schemas']['DriveFile'][]; | ||||
|       tags?: string[]; | ||||
|       poll?: Record<string, unknown> | null; | ||||
|       poll?: Record<string, never> | null; | ||||
|       /** | ||||
|        * Format: id | ||||
|        * @example xxxxxxxxxx | ||||
|  | @ -3839,7 +3839,7 @@ export type components = { | |||
|       url?: string; | ||||
|       reactionAndUserPairCache?: string[]; | ||||
|       clippedCount?: number; | ||||
|       myReaction?: Record<string, unknown> | null; | ||||
|       myReaction?: Record<string, never> | null; | ||||
|     }; | ||||
|     NoteReaction: { | ||||
|       /** | ||||
|  |  | |||
							
								
								
									
										203
									
								
								pnpm-lock.yaml
								
								
								
								
							
							
						
						
									
										203
									
								
								pnpm-lock.yaml
								
								
								
								
							|  | @ -1080,12 +1080,12 @@ importers: | |||
| 
 | ||||
|   packages/misskey-js/generator: | ||||
|     devDependencies: | ||||
|       '@apidevtools/swagger-parser': | ||||
|         specifier: 10.1.0 | ||||
|         version: 10.1.0(openapi-types@12.1.3) | ||||
|       '@misskey-dev/eslint-plugin': | ||||
|         specifier: ^1.0.0 | ||||
|         version: 1.0.0(@typescript-eslint/eslint-plugin@6.11.0)(@typescript-eslint/parser@6.11.0)(eslint-plugin-import@2.29.1)(eslint@8.53.0) | ||||
|       '@readme/openapi-parser': | ||||
|         specifier: 2.5.0 | ||||
|         version: 2.5.0(openapi-types@12.1.3) | ||||
|       '@types/node': | ||||
|         specifier: 20.9.1 | ||||
|         version: 20.9.1 | ||||
|  | @ -1102,8 +1102,8 @@ importers: | |||
|         specifier: 12.1.3 | ||||
|         version: 12.1.3 | ||||
|       openapi-typescript: | ||||
|         specifier: 6.7.1 | ||||
|         version: 6.7.1 | ||||
|         specifier: 6.7.3 | ||||
|         version: 6.7.3 | ||||
|       ts-case-convert: | ||||
|         specifier: 2.0.2 | ||||
|         version: 2.0.2 | ||||
|  | @ -1167,14 +1167,6 @@ packages: | |||
|       '@jridgewell/trace-mapping': 0.3.18 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@apidevtools/json-schema-ref-parser@9.0.6: | ||||
|     resolution: {integrity: sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==} | ||||
|     dependencies: | ||||
|       '@jsdevtools/ono': 7.1.3 | ||||
|       call-me-maybe: 1.0.2 | ||||
|       js-yaml: 3.14.1 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@apidevtools/openapi-schemas@2.1.0: | ||||
|     resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==} | ||||
|     engines: {node: '>=10'} | ||||
|  | @ -1184,21 +1176,6 @@ packages: | |||
|     resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /@apidevtools/swagger-parser@10.1.0(openapi-types@12.1.3): | ||||
|     resolution: {integrity: sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw==} | ||||
|     peerDependencies: | ||||
|       openapi-types: '>=7' | ||||
|     dependencies: | ||||
|       '@apidevtools/json-schema-ref-parser': 9.0.6 | ||||
|       '@apidevtools/openapi-schemas': 2.1.0 | ||||
|       '@apidevtools/swagger-methods': 3.0.2 | ||||
|       '@jsdevtools/ono': 7.1.3 | ||||
|       ajv: 8.12.0 | ||||
|       ajv-draft-04: 1.0.0(ajv@8.12.0) | ||||
|       call-me-maybe: 1.0.2 | ||||
|       openapi-types: 12.1.3 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@aw-web-design/x-default-browser@1.4.126: | ||||
|     resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==} | ||||
|     hasBin: true | ||||
|  | @ -1835,7 +1812,7 @@ packages: | |||
|       '@babel/traverse': 7.22.11 | ||||
|       '@babel/types': 7.22.17 | ||||
|       convert-source-map: 1.9.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       gensync: 1.0.0-beta.2 | ||||
|       json5: 2.2.3 | ||||
|       semver: 6.3.1 | ||||
|  | @ -1858,7 +1835,7 @@ packages: | |||
|       '@babel/traverse': 7.23.5 | ||||
|       '@babel/types': 7.23.5 | ||||
|       convert-source-map: 2.0.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       gensync: 1.0.0-beta.2 | ||||
|       json5: 2.2.3 | ||||
|       semver: 6.3.1 | ||||
|  | @ -1960,7 +1937,7 @@ packages: | |||
|       '@babel/core': 7.23.5 | ||||
|       '@babel/helper-compilation-targets': 7.22.15 | ||||
|       '@babel/helper-plugin-utils': 7.22.5 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       lodash.debounce: 4.0.8 | ||||
|       resolve: 1.22.8 | ||||
|     transitivePeerDependencies: | ||||
|  | @ -3328,7 +3305,6 @@ packages: | |||
|     engines: {node: '>=6.9.0'} | ||||
|     dependencies: | ||||
|       regenerator-runtime: 0.14.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /@babel/template@7.22.15: | ||||
|     resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} | ||||
|  | @ -3360,7 +3336,7 @@ packages: | |||
|       '@babel/helper-split-export-declaration': 7.22.6 | ||||
|       '@babel/parser': 7.23.5 | ||||
|       '@babel/types': 7.22.17 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       globals: 11.12.0 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|  | @ -3378,7 +3354,7 @@ packages: | |||
|       '@babel/helper-split-export-declaration': 7.22.6 | ||||
|       '@babel/parser': 7.23.5 | ||||
|       '@babel/types': 7.23.5 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       globals: 11.12.0 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|  | @ -4257,7 +4233,7 @@ packages: | |||
|     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} | ||||
|     dependencies: | ||||
|       ajv: 6.12.6 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       espree: 9.6.1 | ||||
|       globals: 13.19.0 | ||||
|       ignore: 5.2.4 | ||||
|  | @ -4274,7 +4250,7 @@ packages: | |||
|     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} | ||||
|     dependencies: | ||||
|       ajv: 6.12.6 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       espree: 9.6.1 | ||||
|       globals: 13.19.0 | ||||
|       ignore: 5.2.4 | ||||
|  | @ -4539,7 +4515,7 @@ packages: | |||
|     engines: {node: '>=10.10.0'} | ||||
|     dependencies: | ||||
|       '@humanwhocodes/object-schema': 2.0.1 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       minimatch: 3.1.2 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|  | @ -4550,6 +4526,11 @@ packages: | |||
|     engines: {node: '>=12.22'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /@humanwhocodes/momoa@2.0.4: | ||||
|     resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} | ||||
|     engines: {node: '>=10.10.0'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /@humanwhocodes/object-schema@2.0.1: | ||||
|     resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} | ||||
|     dev: true | ||||
|  | @ -5108,7 +5089,7 @@ packages: | |||
|       '@open-draft/until': 1.0.3 | ||||
|       '@types/debug': 4.1.7 | ||||
|       '@xmldom/xmldom': 0.8.6 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       headers-polyfill: 3.2.5 | ||||
|       outvariant: 1.4.0 | ||||
|       strict-event-emitter: 0.2.8 | ||||
|  | @ -5863,6 +5844,48 @@ packages: | |||
|       '@babel/runtime': 7.23.2 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@readme/better-ajv-errors@1.6.0(ajv@8.12.0): | ||||
|     resolution: {integrity: sha512-9gO9rld84Jgu13kcbKRU+WHseNhaVt76wYMeRDGsUGYxwJtI3RmEJ9LY9dZCYQGI8eUZLuxb5qDja0nqklpFjQ==} | ||||
|     engines: {node: '>=14'} | ||||
|     peerDependencies: | ||||
|       ajv: 4.11.8 - 8 | ||||
|     dependencies: | ||||
|       '@babel/code-frame': 7.23.5 | ||||
|       '@babel/runtime': 7.23.4 | ||||
|       '@humanwhocodes/momoa': 2.0.4 | ||||
|       ajv: 8.12.0 | ||||
|       chalk: 4.1.2 | ||||
|       json-to-ast: 2.1.0 | ||||
|       jsonpointer: 5.0.1 | ||||
|       leven: 3.1.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@readme/json-schema-ref-parser@1.2.0: | ||||
|     resolution: {integrity: sha512-Bt3QVovFSua4QmHa65EHUmh2xS0XJ3rgTEUPH998f4OW4VVJke3BuS16f+kM0ZLOGdvIrzrPRqwihuv5BAjtrA==} | ||||
|     dependencies: | ||||
|       '@jsdevtools/ono': 7.1.3 | ||||
|       '@types/json-schema': 7.0.12 | ||||
|       call-me-maybe: 1.0.2 | ||||
|       js-yaml: 4.1.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@readme/openapi-parser@2.5.0(openapi-types@12.1.3): | ||||
|     resolution: {integrity: sha512-IbymbOqRuUzoIgxfAAR7XJt2FWl6n2yqN09fF5adacGm7W03siA3bj1Emql0X9D2T+RpBYz3x9zDsMhuoMP62A==} | ||||
|     engines: {node: '>=14'} | ||||
|     peerDependencies: | ||||
|       openapi-types: '>=7' | ||||
|     dependencies: | ||||
|       '@apidevtools/openapi-schemas': 2.1.0 | ||||
|       '@apidevtools/swagger-methods': 3.0.2 | ||||
|       '@jsdevtools/ono': 7.1.3 | ||||
|       '@readme/better-ajv-errors': 1.6.0(ajv@8.12.0) | ||||
|       '@readme/json-schema-ref-parser': 1.2.0 | ||||
|       ajv: 8.12.0 | ||||
|       ajv-draft-04: 1.0.0(ajv@8.12.0) | ||||
|       call-me-maybe: 1.0.2 | ||||
|       openapi-types: 12.1.3 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@rollup/plugin-json@6.1.0(rollup@4.9.1): | ||||
|     resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} | ||||
|     engines: {node: '>=14.0.0'} | ||||
|  | @ -8532,7 +8555,7 @@ packages: | |||
|       '@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) | ||||
|       '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) | ||||
|       '@typescript-eslint/visitor-keys': 6.11.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       eslint: 8.53.0 | ||||
|       graphemer: 1.4.0 | ||||
|       ignore: 5.2.4 | ||||
|  | @ -8561,7 +8584,7 @@ packages: | |||
|       '@typescript-eslint/type-utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3) | ||||
|       '@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3) | ||||
|       '@typescript-eslint/visitor-keys': 6.14.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       eslint: 8.56.0 | ||||
|       graphemer: 1.4.0 | ||||
|       ignore: 5.2.4 | ||||
|  | @ -8587,7 +8610,7 @@ packages: | |||
|       '@typescript-eslint/types': 6.11.0 | ||||
|       '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3) | ||||
|       '@typescript-eslint/visitor-keys': 6.11.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       eslint: 8.53.0 | ||||
|       typescript: 5.3.3 | ||||
|     transitivePeerDependencies: | ||||
|  | @ -8608,7 +8631,7 @@ packages: | |||
|       '@typescript-eslint/types': 6.14.0 | ||||
|       '@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3) | ||||
|       '@typescript-eslint/visitor-keys': 6.14.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       eslint: 8.56.0 | ||||
|       typescript: 5.3.3 | ||||
|     transitivePeerDependencies: | ||||
|  | @ -8643,7 +8666,7 @@ packages: | |||
|     dependencies: | ||||
|       '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3) | ||||
|       '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       eslint: 8.53.0 | ||||
|       ts-api-utils: 1.0.1(typescript@5.3.3) | ||||
|       typescript: 5.3.3 | ||||
|  | @ -8663,7 +8686,7 @@ packages: | |||
|     dependencies: | ||||
|       '@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3) | ||||
|       '@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3) | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       eslint: 8.56.0 | ||||
|       ts-api-utils: 1.0.1(typescript@5.3.3) | ||||
|       typescript: 5.3.3 | ||||
|  | @ -8692,7 +8715,7 @@ packages: | |||
|     dependencies: | ||||
|       '@typescript-eslint/types': 6.11.0 | ||||
|       '@typescript-eslint/visitor-keys': 6.11.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       globby: 11.1.0 | ||||
|       is-glob: 4.0.3 | ||||
|       semver: 7.5.4 | ||||
|  | @ -8713,7 +8736,7 @@ packages: | |||
|     dependencies: | ||||
|       '@typescript-eslint/types': 6.14.0 | ||||
|       '@typescript-eslint/visitor-keys': 6.14.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       globby: 11.1.0 | ||||
|       is-glob: 4.0.3 | ||||
|       semver: 7.5.4 | ||||
|  | @ -9170,7 +9193,7 @@ packages: | |||
|     engines: {node: '>= 6.0.0'} | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
| 
 | ||||
|  | @ -9178,7 +9201,7 @@ packages: | |||
|     resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} | ||||
|     engines: {node: '>= 14'} | ||||
|     dependencies: | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|     dev: false | ||||
|  | @ -9564,7 +9587,7 @@ packages: | |||
|     resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==} | ||||
|     dependencies: | ||||
|       archy: 1.0.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       fastq: 1.15.0 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|  | @ -10432,6 +10455,11 @@ packages: | |||
|     engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /code-error-fragment@0.0.230: | ||||
|     resolution: {integrity: sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==} | ||||
|     engines: {node: '>= 4'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /collect-v8-coverage@1.0.1: | ||||
|     resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} | ||||
|     dev: true | ||||
|  | @ -11008,6 +11036,7 @@ packages: | |||
|     dependencies: | ||||
|       ms: 2.1.2 | ||||
|       supports-color: 5.5.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /debug@4.3.4(supports-color@8.1.1): | ||||
|     resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} | ||||
|  | @ -11020,7 +11049,6 @@ packages: | |||
|     dependencies: | ||||
|       ms: 2.1.2 | ||||
|       supports-color: 8.1.1 | ||||
|     dev: true | ||||
| 
 | ||||
|   /decamelize-keys@1.1.1: | ||||
|     resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} | ||||
|  | @ -11237,7 +11265,7 @@ packages: | |||
|     hasBin: true | ||||
|     dependencies: | ||||
|       address: 1.2.2 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|     dev: true | ||||
|  | @ -11561,7 +11589,7 @@ packages: | |||
|     peerDependencies: | ||||
|       esbuild: '>=0.12 <1' | ||||
|     dependencies: | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       esbuild: 0.18.20 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|  | @ -11899,7 +11927,7 @@ packages: | |||
|       ajv: 6.12.6 | ||||
|       chalk: 4.1.2 | ||||
|       cross-spawn: 7.0.3 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       doctrine: 3.0.0 | ||||
|       escape-string-regexp: 4.0.0 | ||||
|       eslint-scope: 7.2.2 | ||||
|  | @ -11946,7 +11974,7 @@ packages: | |||
|       ajv: 6.12.6 | ||||
|       chalk: 4.1.2 | ||||
|       cross-spawn: 7.0.3 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       doctrine: 3.0.0 | ||||
|       escape-string-regexp: 4.0.0 | ||||
|       eslint-scope: 7.2.2 | ||||
|  | @ -12576,7 +12604,7 @@ packages: | |||
|       debug: | ||||
|         optional: true | ||||
|     dependencies: | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
| 
 | ||||
|   /for-each@0.3.3: | ||||
|     resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} | ||||
|  | @ -13054,6 +13082,10 @@ packages: | |||
|   /graceful-fs@4.2.11: | ||||
|     resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} | ||||
| 
 | ||||
|   /grapheme-splitter@1.0.4: | ||||
|     resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /graphemer@1.4.0: | ||||
|     resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} | ||||
|     dev: true | ||||
|  | @ -13128,6 +13160,7 @@ packages: | |||
|   /has-flag@3.0.0: | ||||
|     resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} | ||||
|     engines: {node: '>=4'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /has-flag@4.0.0: | ||||
|     resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} | ||||
|  | @ -13265,7 +13298,7 @@ packages: | |||
|     engines: {node: '>= 14'} | ||||
|     dependencies: | ||||
|       agent-base: 7.1.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|     dev: false | ||||
|  | @ -13327,7 +13360,7 @@ packages: | |||
|     engines: {node: '>= 6.0.0'} | ||||
|     dependencies: | ||||
|       agent-base: 5.1.1 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|     dev: true | ||||
|  | @ -13337,7 +13370,7 @@ packages: | |||
|     engines: {node: '>= 6'} | ||||
|     dependencies: | ||||
|       agent-base: 6.0.2 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
| 
 | ||||
|  | @ -13346,7 +13379,7 @@ packages: | |||
|     engines: {node: '>= 14'} | ||||
|     dependencies: | ||||
|       agent-base: 7.1.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|     dev: false | ||||
|  | @ -13356,7 +13389,7 @@ packages: | |||
|     engines: {node: '>= 14'} | ||||
|     dependencies: | ||||
|       agent-base: 7.1.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|     dev: false | ||||
|  | @ -13516,7 +13549,7 @@ packages: | |||
|     dependencies: | ||||
|       '@ioredis/commands': 1.2.0 | ||||
|       cluster-key-slot: 1.1.2 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       denque: 2.1.0 | ||||
|       lodash.defaults: 4.2.0 | ||||
|       lodash.isarguments: 3.1.0 | ||||
|  | @ -13957,7 +13990,7 @@ packages: | |||
|     resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} | ||||
|     engines: {node: '>=10'} | ||||
|     dependencies: | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       istanbul-lib-coverage: 3.2.0 | ||||
|       source-map: 0.6.1 | ||||
|     transitivePeerDependencies: | ||||
|  | @ -14634,7 +14667,7 @@ packages: | |||
|     resolution: {integrity: sha512-pJ4XLQP4Q9HTxl6RVDLJ8Cyh1uitSs0CzDBAz1uoJ4sRD/Bk7cFSXL1FUXDW3zJ7YnfliJx6eu8Jn283bpZ4Yg==} | ||||
|     engines: {node: '>=10'} | ||||
|     dependencies: | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       rfdc: 1.3.0 | ||||
|       uri-js: 4.4.1 | ||||
|     transitivePeerDependencies: | ||||
|  | @ -14657,6 +14690,14 @@ packages: | |||
|   /json-stringify-safe@5.0.1: | ||||
|     resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} | ||||
| 
 | ||||
|   /json-to-ast@2.1.0: | ||||
|     resolution: {integrity: sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==} | ||||
|     engines: {node: '>= 4'} | ||||
|     dependencies: | ||||
|       code-error-fragment: 0.0.230 | ||||
|       grapheme-splitter: 1.0.4 | ||||
|     dev: true | ||||
| 
 | ||||
|   /json5@1.0.2: | ||||
|     resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} | ||||
|     hasBin: true | ||||
|  | @ -14704,6 +14745,11 @@ packages: | |||
|       - web-streams-polyfill | ||||
|     dev: false | ||||
| 
 | ||||
|   /jsonpointer@5.0.1: | ||||
|     resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} | ||||
|     engines: {node: '>=0.10.0'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /jsprim@1.4.2: | ||||
|     resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} | ||||
|     engines: {node: '>=0.6.0'} | ||||
|  | @ -16051,15 +16097,15 @@ packages: | |||
|   /openapi-types@12.1.3: | ||||
|     resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} | ||||
| 
 | ||||
|   /openapi-typescript@6.7.1: | ||||
|     resolution: {integrity: sha512-Q3Ltt0KUm2smcPrsaR8qKmSwQ1KM4yGDJVoQdpYa0yvKPeN8huDx5utMT7DvwvJastHHzUxajjivK3WN2+fobg==} | ||||
|   /openapi-typescript@6.7.3: | ||||
|     resolution: {integrity: sha512-es3mGcDXV6TKPo6n3aohzHm0qxhLyR39MhF6mkD1FwFGjhxnqMqfSIgM0eCpInZvqatve4CxmXcMZw3jnnsaXw==} | ||||
|     hasBin: true | ||||
|     dependencies: | ||||
|       ansi-colors: 4.1.3 | ||||
|       fast-glob: 3.3.2 | ||||
|       js-yaml: 4.1.0 | ||||
|       supports-color: 9.4.0 | ||||
|       undici: 5.28.1 | ||||
|       undici: 5.28.2 | ||||
|       yargs-parser: 21.1.1 | ||||
|     dev: true | ||||
| 
 | ||||
|  | @ -17232,7 +17278,7 @@ packages: | |||
|     engines: {node: '>=8.16.0'} | ||||
|     dependencies: | ||||
|       '@types/mime-types': 2.1.4 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       extract-zip: 1.7.0 | ||||
|       https-proxy-agent: 4.0.0 | ||||
|       mime: 2.6.0 | ||||
|  | @ -18229,7 +18275,7 @@ packages: | |||
|     dependencies: | ||||
|       '@hapi/hoek': 10.0.1 | ||||
|       '@hapi/wreck': 18.0.1 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       joi: 17.7.0 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|  | @ -18429,7 +18475,7 @@ packages: | |||
|     engines: {node: '>= 14'} | ||||
|     dependencies: | ||||
|       agent-base: 7.1.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       socks: 2.7.1 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|  | @ -18582,7 +18628,7 @@ packages: | |||
|       arg: 5.0.2 | ||||
|       bluebird: 3.7.2 | ||||
|       check-more-types: 2.24.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       execa: 5.1.1 | ||||
|       lazy-ass: 1.6.0 | ||||
|       ps-tree: 1.2.0 | ||||
|  | @ -18846,6 +18892,7 @@ packages: | |||
|     engines: {node: '>=4'} | ||||
|     dependencies: | ||||
|       has-flag: 3.0.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /supports-color@7.2.0: | ||||
|     resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} | ||||
|  | @ -19468,7 +19515,7 @@ packages: | |||
|       chalk: 4.1.2 | ||||
|       cli-highlight: 2.1.11 | ||||
|       date-fns: 2.30.0 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       dotenv: 16.0.3 | ||||
|       glob: 8.1.0 | ||||
|       ioredis: 5.3.2 | ||||
|  | @ -19548,6 +19595,14 @@ packages: | |||
|     engines: {node: '>=14.0'} | ||||
|     dependencies: | ||||
|       '@fastify/busboy': 2.1.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   /undici@5.28.2: | ||||
|     resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==} | ||||
|     engines: {node: '>=14.0'} | ||||
|     dependencies: | ||||
|       '@fastify/busboy': 2.1.0 | ||||
|     dev: true | ||||
| 
 | ||||
|   /unicode-canonical-property-names-ecmascript@2.0.0: | ||||
|     resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} | ||||
|  | @ -19825,7 +19880,7 @@ packages: | |||
|     hasBin: true | ||||
|     dependencies: | ||||
|       cac: 6.7.14 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       mlly: 1.4.0 | ||||
|       pathe: 1.1.1 | ||||
|       picocolors: 1.0.0 | ||||
|  | @ -19937,7 +19992,7 @@ packages: | |||
|       acorn-walk: 8.2.0 | ||||
|       cac: 6.7.14 | ||||
|       chai: 4.3.10 | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       happy-dom: 10.0.3 | ||||
|       local-pkg: 0.4.3 | ||||
|       magic-string: 0.30.3 | ||||
|  | @ -20019,7 +20074,7 @@ packages: | |||
|     peerDependencies: | ||||
|       eslint: '>=6.0.0' | ||||
|     dependencies: | ||||
|       debug: 4.3.4(supports-color@5.5.0) | ||||
|       debug: 4.3.4(supports-color@8.1.1) | ||||
|       eslint: 8.56.0 | ||||
|       eslint-scope: 7.2.2 | ||||
|       eslint-visitor-keys: 3.4.3 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue