From 92a99fba2cc2ff7c53d8c6468f03cecfeaba2584 Mon Sep 17 00:00:00 2001 From: Sergey Mankovsky Date: Wed, 3 Jul 2024 16:33:43 +0200 Subject: [PATCH] Migrate to the latest openapi-ts --- www/app/api/OpenApi.ts | 7 +- www/app/api/core/ApiRequestOptions.ts | 5 +- www/app/api/core/AxiosHttpRequest.ts | 4 +- www/app/api/core/BaseHttpRequest.ts | 4 +- www/app/api/core/CancelablePromise.ts | 70 +- www/app/api/core/OpenAPI.ts | 51 +- www/app/api/core/request.ts | 111 ++- www/app/api/core/types.ts | 14 - www/app/api/index.ts | 60 +- www/app/api/models/AudioWaveform.ts | 3 - ...ipts__transcript_id__record_upload_post.ts | 4 - www/app/api/models/CreateParticipant.ts | 4 - www/app/api/models/CreateTranscript.ts | 5 - www/app/api/models/DeletionStatus.ts | 3 - www/app/api/models/GetTranscript.ts | 19 - .../api/models/GetTranscriptSegmentTopic.ts | 5 - www/app/api/models/GetTranscriptTopic.ts | 11 - .../api/models/GetTranscriptTopicWithWords.ts | 13 - .../GetTranscriptTopicWithWordsPerSpeaker.ts | 13 - www/app/api/models/HTTPValidationError.ts | 5 - www/app/api/models/Page_GetTranscript_.ts | 9 - www/app/api/models/Participant.ts | 5 - www/app/api/models/RtcOffer.ts | 4 - www/app/api/models/SpeakerAssignment.ts | 6 - www/app/api/models/SpeakerAssignmentStatus.ts | 3 - www/app/api/models/SpeakerMerge.ts | 4 - www/app/api/models/SpeakerWords.ts | 6 - www/app/api/models/TranscriptParticipant.ts | 5 - www/app/api/models/UpdateParticipant.ts | 4 - www/app/api/models/UpdateTranscript.ts | 12 - www/app/api/models/UserInfo.ts | 5 - www/app/api/models/ValidationError.ts | 5 - www/app/api/models/Word.ts | 6 - www/app/api/schemas.gen.ts | 845 ++++++++++++++++++ www/app/api/schemas/$AudioWaveform.ts | 11 - ...ipts__transcript_id__record_upload_post.ts | 10 - www/app/api/schemas/$CreateParticipant.ts | 19 - www/app/api/schemas/$CreateTranscript.ts | 14 - www/app/api/schemas/$DeletionStatus.ts | 8 - www/app/api/schemas/$GetTranscript.ts | 123 --- .../api/schemas/$GetTranscriptSegmentTopic.ts | 16 - www/app/api/schemas/$GetTranscriptTopic.ts | 42 - .../schemas/$GetTranscriptTopicWithWords.ts | 48 - .../$GetTranscriptTopicWithWordsPerSpeaker.ts | 48 - www/app/api/schemas/$HTTPValidationError.ts | 10 - www/app/api/schemas/$Page_GetTranscript_.ts | 52 -- www/app/api/schemas/$Participant.ts | 24 - www/app/api/schemas/$RtcOffer.ts | 12 - www/app/api/schemas/$SpeakerAssignment.ts | 34 - .../api/schemas/$SpeakerAssignmentStatus.ts | 8 - www/app/api/schemas/$SpeakerMerge.ts | 12 - www/app/api/schemas/$SpeakerWords.ts | 15 - www/app/api/schemas/$TranscriptParticipant.ts | 23 - www/app/api/schemas/$UpdateParticipant.ts | 26 - www/app/api/schemas/$UpdateTranscript.ts | 95 -- www/app/api/schemas/$UserInfo.ts | 32 - www/app/api/schemas/$ValidationError.ts | 27 - www/app/api/schemas/$Word.ts | 19 - www/app/api/services.gen.ts | 579 ++++++++++++ www/app/api/services/DefaultService.ts | 598 ------------- www/app/api/types.gen.ts | 642 +++++++++++++ www/openapi-ts.config.ts | 14 + www/package.json | 4 +- www/yarn.lock | 297 +++++- 64 files changed, 2524 insertions(+), 1668 deletions(-) delete mode 100644 www/app/api/core/types.ts delete mode 100644 www/app/api/models/AudioWaveform.ts delete mode 100644 www/app/api/models/Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post.ts delete mode 100644 www/app/api/models/CreateParticipant.ts delete mode 100644 www/app/api/models/CreateTranscript.ts delete mode 100644 www/app/api/models/DeletionStatus.ts delete mode 100644 www/app/api/models/GetTranscript.ts delete mode 100644 www/app/api/models/GetTranscriptSegmentTopic.ts delete mode 100644 www/app/api/models/GetTranscriptTopic.ts delete mode 100644 www/app/api/models/GetTranscriptTopicWithWords.ts delete mode 100644 www/app/api/models/GetTranscriptTopicWithWordsPerSpeaker.ts delete mode 100644 www/app/api/models/HTTPValidationError.ts delete mode 100644 www/app/api/models/Page_GetTranscript_.ts delete mode 100644 www/app/api/models/Participant.ts delete mode 100644 www/app/api/models/RtcOffer.ts delete mode 100644 www/app/api/models/SpeakerAssignment.ts delete mode 100644 www/app/api/models/SpeakerAssignmentStatus.ts delete mode 100644 www/app/api/models/SpeakerMerge.ts delete mode 100644 www/app/api/models/SpeakerWords.ts delete mode 100644 www/app/api/models/TranscriptParticipant.ts delete mode 100644 www/app/api/models/UpdateParticipant.ts delete mode 100644 www/app/api/models/UpdateTranscript.ts delete mode 100644 www/app/api/models/UserInfo.ts delete mode 100644 www/app/api/models/ValidationError.ts delete mode 100644 www/app/api/models/Word.ts create mode 100644 www/app/api/schemas.gen.ts delete mode 100644 www/app/api/schemas/$AudioWaveform.ts delete mode 100644 www/app/api/schemas/$Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post.ts delete mode 100644 www/app/api/schemas/$CreateParticipant.ts delete mode 100644 www/app/api/schemas/$CreateTranscript.ts delete mode 100644 www/app/api/schemas/$DeletionStatus.ts delete mode 100644 www/app/api/schemas/$GetTranscript.ts delete mode 100644 www/app/api/schemas/$GetTranscriptSegmentTopic.ts delete mode 100644 www/app/api/schemas/$GetTranscriptTopic.ts delete mode 100644 www/app/api/schemas/$GetTranscriptTopicWithWords.ts delete mode 100644 www/app/api/schemas/$GetTranscriptTopicWithWordsPerSpeaker.ts delete mode 100644 www/app/api/schemas/$HTTPValidationError.ts delete mode 100644 www/app/api/schemas/$Page_GetTranscript_.ts delete mode 100644 www/app/api/schemas/$Participant.ts delete mode 100644 www/app/api/schemas/$RtcOffer.ts delete mode 100644 www/app/api/schemas/$SpeakerAssignment.ts delete mode 100644 www/app/api/schemas/$SpeakerAssignmentStatus.ts delete mode 100644 www/app/api/schemas/$SpeakerMerge.ts delete mode 100644 www/app/api/schemas/$SpeakerWords.ts delete mode 100644 www/app/api/schemas/$TranscriptParticipant.ts delete mode 100644 www/app/api/schemas/$UpdateParticipant.ts delete mode 100644 www/app/api/schemas/$UpdateTranscript.ts delete mode 100644 www/app/api/schemas/$UserInfo.ts delete mode 100644 www/app/api/schemas/$ValidationError.ts delete mode 100644 www/app/api/schemas/$Word.ts create mode 100644 www/app/api/services.gen.ts delete mode 100644 www/app/api/services/DefaultService.ts create mode 100644 www/app/api/types.gen.ts create mode 100644 www/openapi-ts.config.ts diff --git a/www/app/api/OpenApi.ts b/www/app/api/OpenApi.ts index 19cbbf31..23cc35f3 100644 --- a/www/app/api/OpenApi.ts +++ b/www/app/api/OpenApi.ts @@ -1,8 +1,9 @@ import type { BaseHttpRequest } from "./core/BaseHttpRequest"; import type { OpenAPIConfig } from "./core/OpenAPI"; +import { Interceptors } from "./core/OpenAPI"; import { AxiosHttpRequest } from "./core/AxiosHttpRequest"; -import { DefaultService } from "./services/DefaultService"; +import { DefaultService } from "./services.gen"; type HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest; @@ -25,6 +26,10 @@ export class OpenApi { PASSWORD: config?.PASSWORD, HEADERS: config?.HEADERS, ENCODE_PATH: config?.ENCODE_PATH, + interceptors: { + request: config?.interceptors?.request ?? new Interceptors(), + response: config?.interceptors?.response ?? new Interceptors(), + }, }); this.default = new DefaultService(this.request); diff --git a/www/app/api/core/ApiRequestOptions.ts b/www/app/api/core/ApiRequestOptions.ts index 28e1917c..57fbb095 100644 --- a/www/app/api/core/ApiRequestOptions.ts +++ b/www/app/api/core/ApiRequestOptions.ts @@ -1,4 +1,4 @@ -export type ApiRequestOptions = { +export type ApiRequestOptions = { readonly method: | "GET" | "PUT" @@ -16,5 +16,6 @@ export type ApiRequestOptions = { readonly body?: any; readonly mediaType?: string; readonly responseHeader?: string; - readonly errors?: Record; + readonly responseTransformer?: (data: unknown) => Promise; + readonly errors?: Record; }; diff --git a/www/app/api/core/AxiosHttpRequest.ts b/www/app/api/core/AxiosHttpRequest.ts index 5cd27cda..aba5096e 100644 --- a/www/app/api/core/AxiosHttpRequest.ts +++ b/www/app/api/core/AxiosHttpRequest.ts @@ -15,7 +15,9 @@ export class AxiosHttpRequest extends BaseHttpRequest { * @returns CancelablePromise * @throws ApiError */ - public override request(options: ApiRequestOptions): CancelablePromise { + public override request( + options: ApiRequestOptions, + ): CancelablePromise { return __request(this.config, options); } } diff --git a/www/app/api/core/BaseHttpRequest.ts b/www/app/api/core/BaseHttpRequest.ts index cf68a62a..3f89861c 100644 --- a/www/app/api/core/BaseHttpRequest.ts +++ b/www/app/api/core/BaseHttpRequest.ts @@ -5,5 +5,7 @@ import type { OpenAPIConfig } from "./OpenAPI"; export abstract class BaseHttpRequest { constructor(public readonly config: OpenAPIConfig) {} - public abstract request(options: ApiRequestOptions): CancelablePromise; + public abstract request( + options: ApiRequestOptions, + ): CancelablePromise; } diff --git a/www/app/api/core/CancelablePromise.ts b/www/app/api/core/CancelablePromise.ts index b1ebd8ca..0640e989 100644 --- a/www/app/api/core/CancelablePromise.ts +++ b/www/app/api/core/CancelablePromise.ts @@ -18,13 +18,13 @@ export interface OnCancel { } export class CancelablePromise implements Promise { - #isResolved: boolean; - #isRejected: boolean; - #isCancelled: boolean; - readonly #cancelHandlers: (() => void)[]; - readonly #promise: Promise; - #resolve?: (value: T | PromiseLike) => void; - #reject?: (reason?: unknown) => void; + private _isResolved: boolean; + private _isRejected: boolean; + private _isCancelled: boolean; + readonly cancelHandlers: (() => void)[]; + readonly promise: Promise; + private _resolve?: (value: T | PromiseLike) => void; + private _reject?: (reason?: unknown) => void; constructor( executor: ( @@ -33,47 +33,47 @@ export class CancelablePromise implements Promise { onCancel: OnCancel, ) => void, ) { - this.#isResolved = false; - this.#isRejected = false; - this.#isCancelled = false; - this.#cancelHandlers = []; - this.#promise = new Promise((resolve, reject) => { - this.#resolve = resolve; - this.#reject = reject; + this._isResolved = false; + this._isRejected = false; + this._isCancelled = false; + this.cancelHandlers = []; + this.promise = new Promise((resolve, reject) => { + this._resolve = resolve; + this._reject = reject; const onResolve = (value: T | PromiseLike): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { + if (this._isResolved || this._isRejected || this._isCancelled) { return; } - this.#isResolved = true; - if (this.#resolve) this.#resolve(value); + this._isResolved = true; + if (this._resolve) this._resolve(value); }; const onReject = (reason?: unknown): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { + if (this._isResolved || this._isRejected || this._isCancelled) { return; } - this.#isRejected = true; - if (this.#reject) this.#reject(reason); + this._isRejected = true; + if (this._reject) this._reject(reason); }; const onCancel = (cancelHandler: () => void): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { + if (this._isResolved || this._isRejected || this._isCancelled) { return; } - this.#cancelHandlers.push(cancelHandler); + this.cancelHandlers.push(cancelHandler); }; Object.defineProperty(onCancel, "isResolved", { - get: (): boolean => this.#isResolved, + get: (): boolean => this._isResolved, }); Object.defineProperty(onCancel, "isRejected", { - get: (): boolean => this.#isRejected, + get: (): boolean => this._isRejected, }); Object.defineProperty(onCancel, "isCancelled", { - get: (): boolean => this.#isCancelled, + get: (): boolean => this._isCancelled, }); return executor(onResolve, onReject, onCancel as OnCancel); @@ -88,27 +88,27 @@ export class CancelablePromise implements Promise { onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, onRejected?: ((reason: unknown) => TResult2 | PromiseLike) | null, ): Promise { - return this.#promise.then(onFulfilled, onRejected); + return this.promise.then(onFulfilled, onRejected); } public catch( onRejected?: ((reason: unknown) => TResult | PromiseLike) | null, ): Promise { - return this.#promise.catch(onRejected); + return this.promise.catch(onRejected); } public finally(onFinally?: (() => void) | null): Promise { - return this.#promise.finally(onFinally); + return this.promise.finally(onFinally); } public cancel(): void { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { + if (this._isResolved || this._isRejected || this._isCancelled) { return; } - this.#isCancelled = true; - if (this.#cancelHandlers.length) { + this._isCancelled = true; + if (this.cancelHandlers.length) { try { - for (const cancelHandler of this.#cancelHandlers) { + for (const cancelHandler of this.cancelHandlers) { cancelHandler(); } } catch (error) { @@ -116,11 +116,11 @@ export class CancelablePromise implements Promise { return; } } - this.#cancelHandlers.length = 0; - if (this.#reject) this.#reject(new CancelError("Request aborted")); + this.cancelHandlers.length = 0; + if (this._reject) this._reject(new CancelError("Request aborted")); } public get isCancelled(): boolean { - return this.#isCancelled; + return this._isCancelled; } } diff --git a/www/app/api/core/OpenAPI.ts b/www/app/api/core/OpenAPI.ts index 2749e631..20ea0ed9 100644 --- a/www/app/api/core/OpenAPI.ts +++ b/www/app/api/core/OpenAPI.ts @@ -1,8 +1,28 @@ +import type { AxiosRequestConfig, AxiosResponse } from "axios"; import type { ApiRequestOptions } from "./ApiRequestOptions"; -import type { TConfig, TResult } from "./types"; -type Resolver = (options: ApiRequestOptions) => Promise; type Headers = Record; +type Middleware = (value: T) => T | Promise; +type Resolver = (options: ApiRequestOptions) => Promise; + +export class Interceptors { + _fns: Middleware[]; + + constructor() { + this._fns = []; + } + + eject(fn: Middleware): void { + const index = this._fns.indexOf(fn); + if (index !== -1) { + this._fns = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)]; + } + } + + use(fn: Middleware): void { + this._fns = [...this._fns, fn]; + } +} export type OpenAPIConfig = { BASE: string; @@ -10,11 +30,14 @@ export type OpenAPIConfig = { ENCODE_PATH?: ((path: string) => string) | undefined; HEADERS?: Headers | Resolver | undefined; PASSWORD?: string | Resolver | undefined; - RESULT?: TResult; TOKEN?: string | Resolver | undefined; USERNAME?: string | Resolver | undefined; VERSION: string; WITH_CREDENTIALS: boolean; + interceptors: { + request: Interceptors; + response: Interceptors; + }; }; export const OpenAPI: OpenAPIConfig = { @@ -23,26 +46,12 @@ export const OpenAPI: OpenAPIConfig = { ENCODE_PATH: undefined, HEADERS: undefined, PASSWORD: undefined, - RESULT: "body", TOKEN: undefined, USERNAME: undefined, VERSION: "0.1.0", WITH_CREDENTIALS: false, -}; - -export const mergeOpenApiConfig = ( - config: OpenAPIConfig, - overrides: TConfig, -) => { - const merged = { ...config }; - Object.entries(overrides) - .filter(([key]) => key.startsWith("_")) - .forEach(([key, value]) => { - const k = key.slice(1).toLocaleUpperCase() as keyof typeof merged; - if (merged.hasOwnProperty(k)) { - // @ts-ignore - merged[k] = value; - } - }); - return merged; + interceptors: { + request: new Interceptors(), + response: new Interceptors(), + }, }; diff --git a/www/app/api/core/request.ts b/www/app/api/core/request.ts index c750d804..b576207e 100644 --- a/www/app/api/core/request.ts +++ b/www/app/api/core/request.ts @@ -5,7 +5,6 @@ import type { AxiosResponse, AxiosInstance, } from "axios"; -import FormData from "form-data"; import { ApiError } from "./ApiError"; import type { ApiRequestOptions } from "./ApiRequestOptions"; @@ -23,18 +22,7 @@ export const isStringWithValue = (value: unknown): value is string => { }; export const isBlob = (value: any): value is Blob => { - return ( - value !== null && - typeof value === "object" && - typeof value.type === "string" && - typeof value.stream === "function" && - typeof value.arrayBuffer === "function" && - typeof value.constructor === "function" && - typeof value.constructor.name === "string" && - /^(Blob|File)$/.test(value.constructor.name) && - // @ts-ignore - /^(Blob|File)$/.test(value[Symbol.toStringTag]) - ); + return value instanceof Blob; }; export const isFormData = (value: unknown): value is FormData => { @@ -66,7 +54,9 @@ export const getQueryString = (params: Record): string => { return; } - if (Array.isArray(value)) { + if (value instanceof Date) { + append(key, value.toISOString()); + } else if (Array.isArray(value)) { value.forEach((v) => encodePair(key, v)); } else if (typeof value === "object") { Object.entries(value).forEach(([k, v]) => encodePair(`${key}[${k}]`, v)); @@ -102,7 +92,7 @@ export const getFormData = ( if (options.formData) { const formData = new FormData(); - const process = (key: string, value: any) => { + const process = (key: string, value: unknown) => { if (isString(value) || isBlob(value)) { formData.append(key, value); } else { @@ -111,7 +101,7 @@ export const getFormData = ( }; Object.entries(options.formData) - .filter(([_, value]) => value !== undefined && value !== null) + .filter(([, value]) => value !== undefined && value !== null) .forEach(([key, value]) => { if (Array.isArray(value)) { value.forEach((v) => process(key, v)); @@ -125,10 +115,10 @@ export const getFormData = ( return undefined; }; -type Resolver = (options: ApiRequestOptions) => Promise; +type Resolver = (options: ApiRequestOptions) => Promise; export const resolve = async ( - options: ApiRequestOptions, + options: ApiRequestOptions, resolver?: T | Resolver, ): Promise => { if (typeof resolver === "function") { @@ -137,29 +127,27 @@ export const resolve = async ( return resolver; }; -export const getHeaders = async ( +export const getHeaders = async ( config: OpenAPIConfig, - options: ApiRequestOptions, - formData?: FormData, + options: ApiRequestOptions, ): Promise> => { const [token, username, password, additionalHeaders] = await Promise.all([ + // @ts-ignore resolve(options, config.TOKEN), + // @ts-ignore resolve(options, config.USERNAME), + // @ts-ignore resolve(options, config.PASSWORD), + // @ts-ignore resolve(options, config.HEADERS), ]); - const formHeaders = - (typeof formData?.getHeaders === "function" && formData?.getHeaders()) || - {}; - const headers = Object.entries({ Accept: "application/json", ...additionalHeaders, ...options.headers, - ...formHeaders, }) - .filter(([_, value]) => value !== undefined && value !== null) + .filter(([, value]) => value !== undefined && value !== null) .reduce( (headers, [key, value]) => ({ ...headers, @@ -187,6 +175,10 @@ export const getHeaders = async ( } else if (!isFormData(options.body)) { headers["Content-Type"] = "application/json"; } + } else if (options.formData !== undefined) { + if (options.mediaType) { + headers["Content-Type"] = options.mediaType; + } } return headers; @@ -201,7 +193,7 @@ export const getRequestBody = (options: ApiRequestOptions): unknown => { export const sendRequest = async ( config: OpenAPIConfig, - options: ApiRequestOptions, + options: ApiRequestOptions, url: string, body: unknown, formData: FormData | undefined, @@ -211,17 +203,21 @@ export const sendRequest = async ( ): Promise> => { const controller = new AbortController(); - const requestConfig: AxiosRequestConfig = { - url, - headers, + let requestConfig: AxiosRequestConfig = { data: body ?? formData, + headers, method: options.method, - withCredentials: config.WITH_CREDENTIALS, signal: controller.signal, + url, + withCredentials: config.WITH_CREDENTIALS, }; onCancel(() => controller.abort()); + for (const fn of config.interceptors.request._fns) { + requestConfig = await fn(requestConfig); + } + try { return await axiosClient.request(requestConfig); } catch (error) { @@ -260,11 +256,44 @@ export const catchErrorCodes = ( const errors: Record = { 400: "Bad Request", 401: "Unauthorized", + 402: "Payment Required", 403: "Forbidden", 404: "Not Found", + 405: "Method Not Allowed", + 406: "Not Acceptable", + 407: "Proxy Authentication Required", + 408: "Request Timeout", + 409: "Conflict", + 410: "Gone", + 411: "Length Required", + 412: "Precondition Failed", + 413: "Payload Too Large", + 414: "URI Too Long", + 415: "Unsupported Media Type", + 416: "Range Not Satisfiable", + 417: "Expectation Failed", + 418: "Im a teapot", + 421: "Misdirected Request", + 422: "Unprocessable Content", + 423: "Locked", + 424: "Failed Dependency", + 425: "Too Early", + 426: "Upgrade Required", + 428: "Precondition Required", + 429: "Too Many Requests", + 431: "Request Header Fields Too Large", + 451: "Unavailable For Legal Reasons", 500: "Internal Server Error", + 501: "Not Implemented", 502: "Bad Gateway", 503: "Service Unavailable", + 504: "Gateway Timeout", + 505: "HTTP Version Not Supported", + 506: "Variant Also Negotiates", + 507: "Insufficient Storage", + 508: "Loop Detected", + 510: "Not Extended", + 511: "Network Authentication Required", ...options.errors, }; @@ -302,7 +331,7 @@ export const catchErrorCodes = ( */ export const request = ( config: OpenAPIConfig, - options: ApiRequestOptions, + options: ApiRequestOptions, axiosClient: AxiosInstance = axios, ): CancelablePromise => { return new CancelablePromise(async (resolve, reject, onCancel) => { @@ -310,10 +339,10 @@ export const request = ( const url = getUrl(config, options); const formData = getFormData(options); const body = getRequestBody(options); - const headers = await getHeaders(config, options, formData); + const headers = await getHeaders(config, options); if (!onCancel.isCancelled) { - const response = await sendRequest( + let response = await sendRequest( config, options, url, @@ -323,18 +352,28 @@ export const request = ( onCancel, axiosClient, ); + + for (const fn of config.interceptors.response._fns) { + response = await fn(response); + } + const responseBody = getResponseBody(response); const responseHeader = getResponseHeader( response, options.responseHeader, ); + let transformedBody = responseBody; + if (options.responseTransformer && isSuccess(response.status)) { + transformedBody = await options.responseTransformer(responseBody); + } + const result: ApiResult = { url, ok: isSuccess(response.status), status: response.status, statusText: response.statusText, - body: responseHeader ?? responseBody, + body: responseHeader ?? transformedBody, }; catchErrorCodes(options, result); diff --git a/www/app/api/core/types.ts b/www/app/api/core/types.ts deleted file mode 100644 index 8e915c44..00000000 --- a/www/app/api/core/types.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { ApiResult } from "./ApiResult"; - -export type TResult = "body" | "raw"; - -export type TApiResponse = Exclude< - T, - "raw" -> extends never - ? ApiResult - : ApiResult["body"]; - -export type TConfig = { - _result?: T; -}; diff --git a/www/app/api/index.ts b/www/app/api/index.ts index 0d54a439..27fbb57d 100644 --- a/www/app/api/index.ts +++ b/www/app/api/index.ts @@ -1,59 +1,9 @@ +// This file is auto-generated by @hey-api/openapi-ts export { OpenApi } from "./OpenApi"; - export { ApiError } from "./core/ApiError"; export { BaseHttpRequest } from "./core/BaseHttpRequest"; export { CancelablePromise, CancelError } from "./core/CancelablePromise"; -export { OpenAPI } from "./core/OpenAPI"; -export type { OpenAPIConfig } from "./core/OpenAPI"; - -export type { AudioWaveform } from "./models/AudioWaveform"; -export type { Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post } from "./models/Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post"; -export type { CreateParticipant } from "./models/CreateParticipant"; -export type { CreateTranscript } from "./models/CreateTranscript"; -export type { DeletionStatus } from "./models/DeletionStatus"; -export type { GetTranscript } from "./models/GetTranscript"; -export type { GetTranscriptSegmentTopic } from "./models/GetTranscriptSegmentTopic"; -export type { GetTranscriptTopic } from "./models/GetTranscriptTopic"; -export type { GetTranscriptTopicWithWords } from "./models/GetTranscriptTopicWithWords"; -export type { GetTranscriptTopicWithWordsPerSpeaker } from "./models/GetTranscriptTopicWithWordsPerSpeaker"; -export type { HTTPValidationError } from "./models/HTTPValidationError"; -export type { Page_GetTranscript_ } from "./models/Page_GetTranscript_"; -export type { Participant } from "./models/Participant"; -export type { RtcOffer } from "./models/RtcOffer"; -export type { SpeakerAssignment } from "./models/SpeakerAssignment"; -export type { SpeakerAssignmentStatus } from "./models/SpeakerAssignmentStatus"; -export type { SpeakerMerge } from "./models/SpeakerMerge"; -export type { SpeakerWords } from "./models/SpeakerWords"; -export type { TranscriptParticipant } from "./models/TranscriptParticipant"; -export type { UpdateParticipant } from "./models/UpdateParticipant"; -export type { UpdateTranscript } from "./models/UpdateTranscript"; -export type { UserInfo } from "./models/UserInfo"; -export type { ValidationError } from "./models/ValidationError"; -export type { Word } from "./models/Word"; - -export { $AudioWaveform } from "./schemas/$AudioWaveform"; -export { $Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post } from "./schemas/$Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post"; -export { $CreateParticipant } from "./schemas/$CreateParticipant"; -export { $CreateTranscript } from "./schemas/$CreateTranscript"; -export { $DeletionStatus } from "./schemas/$DeletionStatus"; -export { $GetTranscript } from "./schemas/$GetTranscript"; -export { $GetTranscriptSegmentTopic } from "./schemas/$GetTranscriptSegmentTopic"; -export { $GetTranscriptTopic } from "./schemas/$GetTranscriptTopic"; -export { $GetTranscriptTopicWithWords } from "./schemas/$GetTranscriptTopicWithWords"; -export { $GetTranscriptTopicWithWordsPerSpeaker } from "./schemas/$GetTranscriptTopicWithWordsPerSpeaker"; -export { $HTTPValidationError } from "./schemas/$HTTPValidationError"; -export { $Page_GetTranscript_ } from "./schemas/$Page_GetTranscript_"; -export { $Participant } from "./schemas/$Participant"; -export { $RtcOffer } from "./schemas/$RtcOffer"; -export { $SpeakerAssignment } from "./schemas/$SpeakerAssignment"; -export { $SpeakerAssignmentStatus } from "./schemas/$SpeakerAssignmentStatus"; -export { $SpeakerMerge } from "./schemas/$SpeakerMerge"; -export { $SpeakerWords } from "./schemas/$SpeakerWords"; -export { $TranscriptParticipant } from "./schemas/$TranscriptParticipant"; -export { $UpdateParticipant } from "./schemas/$UpdateParticipant"; -export { $UpdateTranscript } from "./schemas/$UpdateTranscript"; -export { $UserInfo } from "./schemas/$UserInfo"; -export { $ValidationError } from "./schemas/$ValidationError"; -export { $Word } from "./schemas/$Word"; - -export { DefaultService } from "./services/DefaultService"; +export { OpenAPI, type OpenAPIConfig } from "./core/OpenAPI"; +export * from "./schemas.gen"; +export * from "./services.gen"; +export * from "./types.gen"; diff --git a/www/app/api/models/AudioWaveform.ts b/www/app/api/models/AudioWaveform.ts deleted file mode 100644 index 60dd57ec..00000000 --- a/www/app/api/models/AudioWaveform.ts +++ /dev/null @@ -1,3 +0,0 @@ -export type AudioWaveform = { - data: Array; -}; diff --git a/www/app/api/models/Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post.ts b/www/app/api/models/Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post.ts deleted file mode 100644 index b313fa1b..00000000 --- a/www/app/api/models/Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post = - { - file: Blob; - }; diff --git a/www/app/api/models/CreateParticipant.ts b/www/app/api/models/CreateParticipant.ts deleted file mode 100644 index 0d7f1950..00000000 --- a/www/app/api/models/CreateParticipant.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type CreateParticipant = { - speaker?: number | null; - name: string; -}; diff --git a/www/app/api/models/CreateTranscript.ts b/www/app/api/models/CreateTranscript.ts deleted file mode 100644 index 32fd6a1b..00000000 --- a/www/app/api/models/CreateTranscript.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type CreateTranscript = { - name: string; - source_language?: string; - target_language?: string; -}; diff --git a/www/app/api/models/DeletionStatus.ts b/www/app/api/models/DeletionStatus.ts deleted file mode 100644 index 9bd016e0..00000000 --- a/www/app/api/models/DeletionStatus.ts +++ /dev/null @@ -1,3 +0,0 @@ -export type DeletionStatus = { - status: string; -}; diff --git a/www/app/api/models/GetTranscript.ts b/www/app/api/models/GetTranscript.ts deleted file mode 100644 index b755d62a..00000000 --- a/www/app/api/models/GetTranscript.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { TranscriptParticipant } from "./TranscriptParticipant"; - -export type GetTranscript = { - id: string; - user_id: string | null; - name: string; - status: string; - locked: boolean; - duration: number; - title: string | null; - short_summary: string | null; - long_summary: string | null; - created_at: string; - share_mode?: string; - source_language: string | null; - target_language: string | null; - participants: Array | null; - reviewed: boolean; -}; diff --git a/www/app/api/models/GetTranscriptSegmentTopic.ts b/www/app/api/models/GetTranscriptSegmentTopic.ts deleted file mode 100644 index bba84fb7..00000000 --- a/www/app/api/models/GetTranscriptSegmentTopic.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type GetTranscriptSegmentTopic = { - text: string; - start: number; - speaker: number; -}; diff --git a/www/app/api/models/GetTranscriptTopic.ts b/www/app/api/models/GetTranscriptTopic.ts deleted file mode 100644 index 808c825a..00000000 --- a/www/app/api/models/GetTranscriptTopic.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { GetTranscriptSegmentTopic } from "./GetTranscriptSegmentTopic"; - -export type GetTranscriptTopic = { - id: string; - title: string; - summary: string; - timestamp: number; - duration: number | null; - transcript: string; - segments?: Array; -}; diff --git a/www/app/api/models/GetTranscriptTopicWithWords.ts b/www/app/api/models/GetTranscriptTopicWithWords.ts deleted file mode 100644 index ffc0cd5f..00000000 --- a/www/app/api/models/GetTranscriptTopicWithWords.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { GetTranscriptSegmentTopic } from "./GetTranscriptSegmentTopic"; -import type { Word } from "./Word"; - -export type GetTranscriptTopicWithWords = { - id: string; - title: string; - summary: string; - timestamp: number; - duration: number | null; - transcript: string; - segments?: Array; - words?: Array; -}; diff --git a/www/app/api/models/GetTranscriptTopicWithWordsPerSpeaker.ts b/www/app/api/models/GetTranscriptTopicWithWordsPerSpeaker.ts deleted file mode 100644 index c77bfe9a..00000000 --- a/www/app/api/models/GetTranscriptTopicWithWordsPerSpeaker.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { GetTranscriptSegmentTopic } from "./GetTranscriptSegmentTopic"; -import type { SpeakerWords } from "./SpeakerWords"; - -export type GetTranscriptTopicWithWordsPerSpeaker = { - id: string; - title: string; - summary: string; - timestamp: number; - duration: number | null; - transcript: string; - segments?: Array; - words_per_speaker?: Array; -}; diff --git a/www/app/api/models/HTTPValidationError.ts b/www/app/api/models/HTTPValidationError.ts deleted file mode 100644 index e12e0ef9..00000000 --- a/www/app/api/models/HTTPValidationError.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { ValidationError } from "./ValidationError"; - -export type HTTPValidationError = { - detail?: Array; -}; diff --git a/www/app/api/models/Page_GetTranscript_.ts b/www/app/api/models/Page_GetTranscript_.ts deleted file mode 100644 index bff594b2..00000000 --- a/www/app/api/models/Page_GetTranscript_.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { GetTranscript } from "./GetTranscript"; - -export type Page_GetTranscript_ = { - items: Array; - total: number; - page: number | null; - size: number | null; - pages?: number | null; -}; diff --git a/www/app/api/models/Participant.ts b/www/app/api/models/Participant.ts deleted file mode 100644 index 90b07edf..00000000 --- a/www/app/api/models/Participant.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type Participant = { - id: string; - speaker: number | null; - name: string; -}; diff --git a/www/app/api/models/RtcOffer.ts b/www/app/api/models/RtcOffer.ts deleted file mode 100644 index 38d0e205..00000000 --- a/www/app/api/models/RtcOffer.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type RtcOffer = { - sdp: string; - type: string; -}; diff --git a/www/app/api/models/SpeakerAssignment.ts b/www/app/api/models/SpeakerAssignment.ts deleted file mode 100644 index 3ba7c28a..00000000 --- a/www/app/api/models/SpeakerAssignment.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type SpeakerAssignment = { - speaker?: number | null; - participant?: string | null; - timestamp_from: number; - timestamp_to: number; -}; diff --git a/www/app/api/models/SpeakerAssignmentStatus.ts b/www/app/api/models/SpeakerAssignmentStatus.ts deleted file mode 100644 index 645cd97d..00000000 --- a/www/app/api/models/SpeakerAssignmentStatus.ts +++ /dev/null @@ -1,3 +0,0 @@ -export type SpeakerAssignmentStatus = { - status: string; -}; diff --git a/www/app/api/models/SpeakerMerge.ts b/www/app/api/models/SpeakerMerge.ts deleted file mode 100644 index 8c0c9df2..00000000 --- a/www/app/api/models/SpeakerMerge.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type SpeakerMerge = { - speaker_from: number; - speaker_to: number; -}; diff --git a/www/app/api/models/SpeakerWords.ts b/www/app/api/models/SpeakerWords.ts deleted file mode 100644 index 22e5d490..00000000 --- a/www/app/api/models/SpeakerWords.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { Word } from "./Word"; - -export type SpeakerWords = { - speaker: number; - words: Array; -}; diff --git a/www/app/api/models/TranscriptParticipant.ts b/www/app/api/models/TranscriptParticipant.ts deleted file mode 100644 index 77c0479d..00000000 --- a/www/app/api/models/TranscriptParticipant.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type TranscriptParticipant = { - id?: string; - speaker: number | null; - name: string; -}; diff --git a/www/app/api/models/UpdateParticipant.ts b/www/app/api/models/UpdateParticipant.ts deleted file mode 100644 index 86bec423..00000000 --- a/www/app/api/models/UpdateParticipant.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type UpdateParticipant = { - speaker?: number | null; - name?: string | null; -}; diff --git a/www/app/api/models/UpdateTranscript.ts b/www/app/api/models/UpdateTranscript.ts deleted file mode 100644 index 824e5edb..00000000 --- a/www/app/api/models/UpdateTranscript.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { TranscriptParticipant } from "./TranscriptParticipant"; - -export type UpdateTranscript = { - name?: string | null; - locked?: boolean | null; - title?: string | null; - short_summary?: string | null; - long_summary?: string | null; - share_mode?: "public" | "semi-private" | "private" | null; - participants?: Array | null; - reviewed?: boolean | null; -}; diff --git a/www/app/api/models/UserInfo.ts b/www/app/api/models/UserInfo.ts deleted file mode 100644 index ad05efae..00000000 --- a/www/app/api/models/UserInfo.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type UserInfo = { - sub: string; - email: string | null; - email_verified: boolean | null; -}; diff --git a/www/app/api/models/ValidationError.ts b/www/app/api/models/ValidationError.ts deleted file mode 100644 index 03252ff0..00000000 --- a/www/app/api/models/ValidationError.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type ValidationError = { - loc: Array; - msg: string; - type: string; -}; diff --git a/www/app/api/models/Word.ts b/www/app/api/models/Word.ts deleted file mode 100644 index be83d3e1..00000000 --- a/www/app/api/models/Word.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type Word = { - text: string; - start: number; - end: number; - speaker?: number; -}; diff --git a/www/app/api/schemas.gen.ts b/www/app/api/schemas.gen.ts new file mode 100644 index 00000000..01e3f6ba --- /dev/null +++ b/www/app/api/schemas.gen.ts @@ -0,0 +1,845 @@ +// This file is auto-generated by @hey-api/openapi-ts + +export const $AudioWaveform = { + properties: { + data: { + items: { + type: "number", + }, + type: "array", + title: "Data", + }, + }, + type: "object", + required: ["data"], + title: "AudioWaveform", +} as const; + +export const $Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post = + { + properties: { + file: { + type: "string", + format: "binary", + title: "File", + }, + }, + type: "object", + required: ["file"], + title: + "Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post", + } as const; + +export const $CreateParticipant = { + properties: { + speaker: { + anyOf: [ + { + type: "integer", + }, + { + type: "null", + }, + ], + title: "Speaker", + }, + name: { + type: "string", + title: "Name", + }, + }, + type: "object", + required: ["name"], + title: "CreateParticipant", +} as const; + +export const $CreateTranscript = { + properties: { + name: { + type: "string", + title: "Name", + }, + source_language: { + type: "string", + title: "Source Language", + default: "en", + }, + target_language: { + type: "string", + title: "Target Language", + default: "en", + }, + }, + type: "object", + required: ["name"], + title: "CreateTranscript", +} as const; + +export const $DeletionStatus = { + properties: { + status: { + type: "string", + title: "Status", + }, + }, + type: "object", + required: ["status"], + title: "DeletionStatus", +} as const; + +export const $GetTranscript = { + properties: { + id: { + type: "string", + title: "Id", + }, + user_id: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "User Id", + }, + name: { + type: "string", + title: "Name", + }, + status: { + type: "string", + title: "Status", + }, + locked: { + type: "boolean", + title: "Locked", + }, + duration: { + type: "number", + title: "Duration", + }, + title: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Title", + }, + short_summary: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Short Summary", + }, + long_summary: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Long Summary", + }, + created_at: { + type: "string", + format: "date-time", + title: "Created At", + }, + share_mode: { + type: "string", + title: "Share Mode", + default: "private", + }, + source_language: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Source Language", + }, + target_language: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Target Language", + }, + participants: { + anyOf: [ + { + items: { + $ref: "#/components/schemas/TranscriptParticipant", + }, + type: "array", + }, + { + type: "null", + }, + ], + title: "Participants", + }, + reviewed: { + type: "boolean", + title: "Reviewed", + }, + }, + type: "object", + required: [ + "id", + "user_id", + "name", + "status", + "locked", + "duration", + "title", + "short_summary", + "long_summary", + "created_at", + "source_language", + "target_language", + "participants", + "reviewed", + ], + title: "GetTranscript", +} as const; + +export const $GetTranscriptSegmentTopic = { + properties: { + text: { + type: "string", + title: "Text", + }, + start: { + type: "number", + title: "Start", + }, + speaker: { + type: "integer", + title: "Speaker", + }, + }, + type: "object", + required: ["text", "start", "speaker"], + title: "GetTranscriptSegmentTopic", +} as const; + +export const $GetTranscriptTopic = { + properties: { + id: { + type: "string", + title: "Id", + }, + title: { + type: "string", + title: "Title", + }, + summary: { + type: "string", + title: "Summary", + }, + timestamp: { + type: "number", + title: "Timestamp", + }, + duration: { + anyOf: [ + { + type: "number", + }, + { + type: "null", + }, + ], + title: "Duration", + }, + transcript: { + type: "string", + title: "Transcript", + }, + segments: { + items: { + $ref: "#/components/schemas/GetTranscriptSegmentTopic", + }, + type: "array", + title: "Segments", + default: [], + }, + }, + type: "object", + required: ["id", "title", "summary", "timestamp", "duration", "transcript"], + title: "GetTranscriptTopic", +} as const; + +export const $GetTranscriptTopicWithWords = { + properties: { + id: { + type: "string", + title: "Id", + }, + title: { + type: "string", + title: "Title", + }, + summary: { + type: "string", + title: "Summary", + }, + timestamp: { + type: "number", + title: "Timestamp", + }, + duration: { + anyOf: [ + { + type: "number", + }, + { + type: "null", + }, + ], + title: "Duration", + }, + transcript: { + type: "string", + title: "Transcript", + }, + segments: { + items: { + $ref: "#/components/schemas/GetTranscriptSegmentTopic", + }, + type: "array", + title: "Segments", + default: [], + }, + words: { + items: { + $ref: "#/components/schemas/Word", + }, + type: "array", + title: "Words", + default: [], + }, + }, + type: "object", + required: ["id", "title", "summary", "timestamp", "duration", "transcript"], + title: "GetTranscriptTopicWithWords", +} as const; + +export const $GetTranscriptTopicWithWordsPerSpeaker = { + properties: { + id: { + type: "string", + title: "Id", + }, + title: { + type: "string", + title: "Title", + }, + summary: { + type: "string", + title: "Summary", + }, + timestamp: { + type: "number", + title: "Timestamp", + }, + duration: { + anyOf: [ + { + type: "number", + }, + { + type: "null", + }, + ], + title: "Duration", + }, + transcript: { + type: "string", + title: "Transcript", + }, + segments: { + items: { + $ref: "#/components/schemas/GetTranscriptSegmentTopic", + }, + type: "array", + title: "Segments", + default: [], + }, + words_per_speaker: { + items: { + $ref: "#/components/schemas/SpeakerWords", + }, + type: "array", + title: "Words Per Speaker", + default: [], + }, + }, + type: "object", + required: ["id", "title", "summary", "timestamp", "duration", "transcript"], + title: "GetTranscriptTopicWithWordsPerSpeaker", +} as const; + +export const $HTTPValidationError = { + properties: { + detail: { + items: { + $ref: "#/components/schemas/ValidationError", + }, + type: "array", + title: "Detail", + }, + }, + type: "object", + title: "HTTPValidationError", +} as const; + +export const $Page_GetTranscript_ = { + properties: { + items: { + items: { + $ref: "#/components/schemas/GetTranscript", + }, + type: "array", + title: "Items", + }, + total: { + type: "integer", + minimum: 0, + title: "Total", + }, + page: { + anyOf: [ + { + type: "integer", + minimum: 1, + }, + { + type: "null", + }, + ], + title: "Page", + }, + size: { + anyOf: [ + { + type: "integer", + minimum: 1, + }, + { + type: "null", + }, + ], + title: "Size", + }, + pages: { + anyOf: [ + { + type: "integer", + minimum: 0, + }, + { + type: "null", + }, + ], + title: "Pages", + }, + }, + type: "object", + required: ["items", "total", "page", "size"], + title: "Page[GetTranscript]", +} as const; + +export const $Participant = { + properties: { + id: { + type: "string", + title: "Id", + }, + speaker: { + anyOf: [ + { + type: "integer", + }, + { + type: "null", + }, + ], + title: "Speaker", + }, + name: { + type: "string", + title: "Name", + }, + }, + type: "object", + required: ["id", "speaker", "name"], + title: "Participant", +} as const; + +export const $RtcOffer = { + properties: { + sdp: { + type: "string", + title: "Sdp", + }, + type: { + type: "string", + title: "Type", + }, + }, + type: "object", + required: ["sdp", "type"], + title: "RtcOffer", +} as const; + +export const $SpeakerAssignment = { + properties: { + speaker: { + anyOf: [ + { + type: "integer", + minimum: 0, + }, + { + type: "null", + }, + ], + title: "Speaker", + }, + participant: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Participant", + }, + timestamp_from: { + type: "number", + title: "Timestamp From", + }, + timestamp_to: { + type: "number", + title: "Timestamp To", + }, + }, + type: "object", + required: ["timestamp_from", "timestamp_to"], + title: "SpeakerAssignment", +} as const; + +export const $SpeakerAssignmentStatus = { + properties: { + status: { + type: "string", + title: "Status", + }, + }, + type: "object", + required: ["status"], + title: "SpeakerAssignmentStatus", +} as const; + +export const $SpeakerMerge = { + properties: { + speaker_from: { + type: "integer", + title: "Speaker From", + }, + speaker_to: { + type: "integer", + title: "Speaker To", + }, + }, + type: "object", + required: ["speaker_from", "speaker_to"], + title: "SpeakerMerge", +} as const; + +export const $SpeakerWords = { + properties: { + speaker: { + type: "integer", + title: "Speaker", + }, + words: { + items: { + $ref: "#/components/schemas/Word", + }, + type: "array", + title: "Words", + }, + }, + type: "object", + required: ["speaker", "words"], + title: "SpeakerWords", +} as const; + +export const $TranscriptParticipant = { + properties: { + id: { + type: "string", + title: "Id", + }, + speaker: { + anyOf: [ + { + type: "integer", + }, + { + type: "null", + }, + ], + title: "Speaker", + }, + name: { + type: "string", + title: "Name", + }, + }, + type: "object", + required: ["speaker", "name"], + title: "TranscriptParticipant", +} as const; + +export const $UpdateParticipant = { + properties: { + speaker: { + anyOf: [ + { + type: "integer", + }, + { + type: "null", + }, + ], + title: "Speaker", + }, + name: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Name", + }, + }, + type: "object", + title: "UpdateParticipant", +} as const; + +export const $UpdateTranscript = { + properties: { + name: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Name", + }, + locked: { + anyOf: [ + { + type: "boolean", + }, + { + type: "null", + }, + ], + title: "Locked", + }, + title: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Title", + }, + short_summary: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Short Summary", + }, + long_summary: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Long Summary", + }, + share_mode: { + anyOf: [ + { + type: "string", + enum: ["public", "semi-private", "private"], + }, + { + type: "null", + }, + ], + title: "Share Mode", + }, + participants: { + anyOf: [ + { + items: { + $ref: "#/components/schemas/TranscriptParticipant", + }, + type: "array", + }, + { + type: "null", + }, + ], + title: "Participants", + }, + reviewed: { + anyOf: [ + { + type: "boolean", + }, + { + type: "null", + }, + ], + title: "Reviewed", + }, + }, + type: "object", + title: "UpdateTranscript", +} as const; + +export const $UserInfo = { + properties: { + sub: { + type: "string", + title: "Sub", + }, + email: { + anyOf: [ + { + type: "string", + }, + { + type: "null", + }, + ], + title: "Email", + }, + email_verified: { + anyOf: [ + { + type: "boolean", + }, + { + type: "null", + }, + ], + title: "Email Verified", + }, + }, + type: "object", + required: ["sub", "email", "email_verified"], + title: "UserInfo", +} as const; + +export const $ValidationError = { + properties: { + loc: { + items: { + anyOf: [ + { + type: "string", + }, + { + type: "integer", + }, + ], + }, + type: "array", + title: "Location", + }, + msg: { + type: "string", + title: "Message", + }, + type: { + type: "string", + title: "Error Type", + }, + }, + type: "object", + required: ["loc", "msg", "type"], + title: "ValidationError", +} as const; + +export const $Word = { + properties: { + text: { + type: "string", + title: "Text", + }, + start: { + type: "number", + title: "Start", + }, + end: { + type: "number", + title: "End", + }, + speaker: { + type: "integer", + title: "Speaker", + default: 0, + }, + }, + type: "object", + required: ["text", "start", "end"], + title: "Word", +} as const; diff --git a/www/app/api/schemas/$AudioWaveform.ts b/www/app/api/schemas/$AudioWaveform.ts deleted file mode 100644 index cfa2964f..00000000 --- a/www/app/api/schemas/$AudioWaveform.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const $AudioWaveform = { - properties: { - data: { - type: "array", - contains: { - type: "number", - }, - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post.ts b/www/app/api/schemas/$Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post.ts deleted file mode 100644 index 60678cca..00000000 --- a/www/app/api/schemas/$Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post.ts +++ /dev/null @@ -1,10 +0,0 @@ -export const $Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post = - { - properties: { - file: { - type: "binary", - isRequired: true, - format: "binary", - }, - }, - } as const; diff --git a/www/app/api/schemas/$CreateParticipant.ts b/www/app/api/schemas/$CreateParticipant.ts deleted file mode 100644 index acb580e8..00000000 --- a/www/app/api/schemas/$CreateParticipant.ts +++ /dev/null @@ -1,19 +0,0 @@ -export const $CreateParticipant = { - properties: { - speaker: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - }, - name: { - type: "string", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$CreateTranscript.ts b/www/app/api/schemas/$CreateTranscript.ts deleted file mode 100644 index 5e0baef5..00000000 --- a/www/app/api/schemas/$CreateTranscript.ts +++ /dev/null @@ -1,14 +0,0 @@ -export const $CreateTranscript = { - properties: { - name: { - type: "string", - isRequired: true, - }, - source_language: { - type: "string", - }, - target_language: { - type: "string", - }, - }, -} as const; diff --git a/www/app/api/schemas/$DeletionStatus.ts b/www/app/api/schemas/$DeletionStatus.ts deleted file mode 100644 index a2afbfb6..00000000 --- a/www/app/api/schemas/$DeletionStatus.ts +++ /dev/null @@ -1,8 +0,0 @@ -export const $DeletionStatus = { - properties: { - status: { - type: "string", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$GetTranscript.ts b/www/app/api/schemas/$GetTranscript.ts deleted file mode 100644 index 7ff805e7..00000000 --- a/www/app/api/schemas/$GetTranscript.ts +++ /dev/null @@ -1,123 +0,0 @@ -export const $GetTranscript = { - properties: { - id: { - type: "string", - isRequired: true, - }, - user_id: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - name: { - type: "string", - isRequired: true, - }, - status: { - type: "string", - isRequired: true, - }, - locked: { - type: "boolean", - isRequired: true, - }, - duration: { - type: "number", - isRequired: true, - }, - title: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - short_summary: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - long_summary: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - created_at: { - type: "string", - isRequired: true, - format: "date-time", - }, - share_mode: { - type: "string", - }, - source_language: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - target_language: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - participants: { - type: "any-of", - contains: [ - { - type: "array", - contains: { - type: "TranscriptParticipant", - }, - }, - { - type: "null", - }, - ], - isRequired: true, - }, - reviewed: { - type: "boolean", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$GetTranscriptSegmentTopic.ts b/www/app/api/schemas/$GetTranscriptSegmentTopic.ts deleted file mode 100644 index c7cb3cd5..00000000 --- a/www/app/api/schemas/$GetTranscriptSegmentTopic.ts +++ /dev/null @@ -1,16 +0,0 @@ -export const $GetTranscriptSegmentTopic = { - properties: { - text: { - type: "string", - isRequired: true, - }, - start: { - type: "number", - isRequired: true, - }, - speaker: { - type: "number", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$GetTranscriptTopic.ts b/www/app/api/schemas/$GetTranscriptTopic.ts deleted file mode 100644 index 36456769..00000000 --- a/www/app/api/schemas/$GetTranscriptTopic.ts +++ /dev/null @@ -1,42 +0,0 @@ -export const $GetTranscriptTopic = { - properties: { - id: { - type: "string", - isRequired: true, - }, - title: { - type: "string", - isRequired: true, - }, - summary: { - type: "string", - isRequired: true, - }, - timestamp: { - type: "number", - isRequired: true, - }, - duration: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - transcript: { - type: "string", - isRequired: true, - }, - segments: { - type: "array", - contains: { - type: "GetTranscriptSegmentTopic", - }, - }, - }, -} as const; diff --git a/www/app/api/schemas/$GetTranscriptTopicWithWords.ts b/www/app/api/schemas/$GetTranscriptTopicWithWords.ts deleted file mode 100644 index 252ac3cb..00000000 --- a/www/app/api/schemas/$GetTranscriptTopicWithWords.ts +++ /dev/null @@ -1,48 +0,0 @@ -export const $GetTranscriptTopicWithWords = { - properties: { - id: { - type: "string", - isRequired: true, - }, - title: { - type: "string", - isRequired: true, - }, - summary: { - type: "string", - isRequired: true, - }, - timestamp: { - type: "number", - isRequired: true, - }, - duration: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - transcript: { - type: "string", - isRequired: true, - }, - segments: { - type: "array", - contains: { - type: "GetTranscriptSegmentTopic", - }, - }, - words: { - type: "array", - contains: { - type: "Word", - }, - }, - }, -} as const; diff --git a/www/app/api/schemas/$GetTranscriptTopicWithWordsPerSpeaker.ts b/www/app/api/schemas/$GetTranscriptTopicWithWordsPerSpeaker.ts deleted file mode 100644 index 25164f7b..00000000 --- a/www/app/api/schemas/$GetTranscriptTopicWithWordsPerSpeaker.ts +++ /dev/null @@ -1,48 +0,0 @@ -export const $GetTranscriptTopicWithWordsPerSpeaker = { - properties: { - id: { - type: "string", - isRequired: true, - }, - title: { - type: "string", - isRequired: true, - }, - summary: { - type: "string", - isRequired: true, - }, - timestamp: { - type: "number", - isRequired: true, - }, - duration: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - transcript: { - type: "string", - isRequired: true, - }, - segments: { - type: "array", - contains: { - type: "GetTranscriptSegmentTopic", - }, - }, - words_per_speaker: { - type: "array", - contains: { - type: "SpeakerWords", - }, - }, - }, -} as const; diff --git a/www/app/api/schemas/$HTTPValidationError.ts b/www/app/api/schemas/$HTTPValidationError.ts deleted file mode 100644 index dd7ec8af..00000000 --- a/www/app/api/schemas/$HTTPValidationError.ts +++ /dev/null @@ -1,10 +0,0 @@ -export const $HTTPValidationError = { - properties: { - detail: { - type: "array", - contains: { - type: "ValidationError", - }, - }, - }, -} as const; diff --git a/www/app/api/schemas/$Page_GetTranscript_.ts b/www/app/api/schemas/$Page_GetTranscript_.ts deleted file mode 100644 index d692773a..00000000 --- a/www/app/api/schemas/$Page_GetTranscript_.ts +++ /dev/null @@ -1,52 +0,0 @@ -export const $Page_GetTranscript_ = { - properties: { - items: { - type: "array", - contains: { - type: "GetTranscript", - }, - isRequired: true, - }, - total: { - type: "number", - isRequired: true, - }, - page: { - type: "any-of", - contains: [ - { - type: "number", - minimum: 1, - }, - { - type: "null", - }, - ], - isRequired: true, - }, - size: { - type: "any-of", - contains: [ - { - type: "number", - minimum: 1, - }, - { - type: "null", - }, - ], - isRequired: true, - }, - pages: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - }, - }, -} as const; diff --git a/www/app/api/schemas/$Participant.ts b/www/app/api/schemas/$Participant.ts deleted file mode 100644 index 25b6c710..00000000 --- a/www/app/api/schemas/$Participant.ts +++ /dev/null @@ -1,24 +0,0 @@ -export const $Participant = { - properties: { - id: { - type: "string", - isRequired: true, - }, - speaker: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - name: { - type: "string", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$RtcOffer.ts b/www/app/api/schemas/$RtcOffer.ts deleted file mode 100644 index b5ec33a1..00000000 --- a/www/app/api/schemas/$RtcOffer.ts +++ /dev/null @@ -1,12 +0,0 @@ -export const $RtcOffer = { - properties: { - sdp: { - type: "string", - isRequired: true, - }, - type: { - type: "string", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$SpeakerAssignment.ts b/www/app/api/schemas/$SpeakerAssignment.ts deleted file mode 100644 index 869f407a..00000000 --- a/www/app/api/schemas/$SpeakerAssignment.ts +++ /dev/null @@ -1,34 +0,0 @@ -export const $SpeakerAssignment = { - properties: { - speaker: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - }, - participant: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - }, - timestamp_from: { - type: "number", - isRequired: true, - }, - timestamp_to: { - type: "number", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$SpeakerAssignmentStatus.ts b/www/app/api/schemas/$SpeakerAssignmentStatus.ts deleted file mode 100644 index e8aa81e0..00000000 --- a/www/app/api/schemas/$SpeakerAssignmentStatus.ts +++ /dev/null @@ -1,8 +0,0 @@ -export const $SpeakerAssignmentStatus = { - properties: { - status: { - type: "string", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$SpeakerMerge.ts b/www/app/api/schemas/$SpeakerMerge.ts deleted file mode 100644 index fc662b8f..00000000 --- a/www/app/api/schemas/$SpeakerMerge.ts +++ /dev/null @@ -1,12 +0,0 @@ -export const $SpeakerMerge = { - properties: { - speaker_from: { - type: "number", - isRequired: true, - }, - speaker_to: { - type: "number", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$SpeakerWords.ts b/www/app/api/schemas/$SpeakerWords.ts deleted file mode 100644 index a9c45af7..00000000 --- a/www/app/api/schemas/$SpeakerWords.ts +++ /dev/null @@ -1,15 +0,0 @@ -export const $SpeakerWords = { - properties: { - speaker: { - type: "number", - isRequired: true, - }, - words: { - type: "array", - contains: { - type: "Word", - }, - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$TranscriptParticipant.ts b/www/app/api/schemas/$TranscriptParticipant.ts deleted file mode 100644 index d9f16714..00000000 --- a/www/app/api/schemas/$TranscriptParticipant.ts +++ /dev/null @@ -1,23 +0,0 @@ -export const $TranscriptParticipant = { - properties: { - id: { - type: "string", - }, - speaker: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - name: { - type: "string", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$UpdateParticipant.ts b/www/app/api/schemas/$UpdateParticipant.ts deleted file mode 100644 index 97352e58..00000000 --- a/www/app/api/schemas/$UpdateParticipant.ts +++ /dev/null @@ -1,26 +0,0 @@ -export const $UpdateParticipant = { - properties: { - speaker: { - type: "any-of", - contains: [ - { - type: "number", - }, - { - type: "null", - }, - ], - }, - name: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - }, - }, -} as const; diff --git a/www/app/api/schemas/$UpdateTranscript.ts b/www/app/api/schemas/$UpdateTranscript.ts deleted file mode 100644 index b3d5fb07..00000000 --- a/www/app/api/schemas/$UpdateTranscript.ts +++ /dev/null @@ -1,95 +0,0 @@ -export const $UpdateTranscript = { - properties: { - name: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - }, - locked: { - type: "any-of", - contains: [ - { - type: "boolean", - }, - { - type: "null", - }, - ], - }, - title: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - }, - short_summary: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - }, - long_summary: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - }, - share_mode: { - type: "any-of", - contains: [ - { - type: "Enum", - }, - { - type: "null", - }, - ], - }, - participants: { - type: "any-of", - contains: [ - { - type: "array", - contains: { - type: "TranscriptParticipant", - }, - }, - { - type: "null", - }, - ], - }, - reviewed: { - type: "any-of", - contains: [ - { - type: "boolean", - }, - { - type: "null", - }, - ], - }, - }, -} as const; diff --git a/www/app/api/schemas/$UserInfo.ts b/www/app/api/schemas/$UserInfo.ts deleted file mode 100644 index b1d406f4..00000000 --- a/www/app/api/schemas/$UserInfo.ts +++ /dev/null @@ -1,32 +0,0 @@ -export const $UserInfo = { - properties: { - sub: { - type: "string", - isRequired: true, - }, - email: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - email_verified: { - type: "any-of", - contains: [ - { - type: "boolean", - }, - { - type: "null", - }, - ], - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$ValidationError.ts b/www/app/api/schemas/$ValidationError.ts deleted file mode 100644 index ee241461..00000000 --- a/www/app/api/schemas/$ValidationError.ts +++ /dev/null @@ -1,27 +0,0 @@ -export const $ValidationError = { - properties: { - loc: { - type: "array", - contains: { - type: "any-of", - contains: [ - { - type: "string", - }, - { - type: "number", - }, - ], - }, - isRequired: true, - }, - msg: { - type: "string", - isRequired: true, - }, - type: { - type: "string", - isRequired: true, - }, - }, -} as const; diff --git a/www/app/api/schemas/$Word.ts b/www/app/api/schemas/$Word.ts deleted file mode 100644 index f69fba99..00000000 --- a/www/app/api/schemas/$Word.ts +++ /dev/null @@ -1,19 +0,0 @@ -export const $Word = { - properties: { - text: { - type: "string", - isRequired: true, - }, - start: { - type: "number", - isRequired: true, - }, - end: { - type: "number", - isRequired: true, - }, - speaker: { - type: "number", - }, - }, -} as const; diff --git a/www/app/api/services.gen.ts b/www/app/api/services.gen.ts new file mode 100644 index 00000000..b546e7b4 --- /dev/null +++ b/www/app/api/services.gen.ts @@ -0,0 +1,579 @@ +// This file is auto-generated by @hey-api/openapi-ts + +import type { CancelablePromise } from "./core/CancelablePromise"; +import type { BaseHttpRequest } from "./core/BaseHttpRequest"; +import type { + MetricsResponse, + V1TranscriptsListData, + V1TranscriptsListResponse, + V1TranscriptsCreateData, + V1TranscriptsCreateResponse, + V1TranscriptGetData, + V1TranscriptGetResponse, + V1TranscriptUpdateData, + V1TranscriptUpdateResponse, + V1TranscriptDeleteData, + V1TranscriptDeleteResponse, + V1TranscriptGetTopicsData, + V1TranscriptGetTopicsResponse, + V1TranscriptGetTopicsWithWordsData, + V1TranscriptGetTopicsWithWordsResponse, + V1TranscriptGetTopicsWithWordsPerSpeakerData, + V1TranscriptGetTopicsWithWordsPerSpeakerResponse, + V1TranscriptHeadAudioMp3Data, + V1TranscriptHeadAudioMp3Response, + V1TranscriptGetAudioMp3Data, + V1TranscriptGetAudioMp3Response, + V1TranscriptGetAudioWaveformData, + V1TranscriptGetAudioWaveformResponse, + V1TranscriptGetParticipantsData, + V1TranscriptGetParticipantsResponse, + V1TranscriptAddParticipantData, + V1TranscriptAddParticipantResponse, + V1TranscriptGetParticipantData, + V1TranscriptGetParticipantResponse, + V1TranscriptUpdateParticipantData, + V1TranscriptUpdateParticipantResponse, + V1TranscriptDeleteParticipantData, + V1TranscriptDeleteParticipantResponse, + V1TranscriptAssignSpeakerData, + V1TranscriptAssignSpeakerResponse, + V1TranscriptMergeSpeakerData, + V1TranscriptMergeSpeakerResponse, + V1TranscriptRecordUploadData, + V1TranscriptRecordUploadResponse, + V1TranscriptGetWebsocketEventsData, + V1TranscriptGetWebsocketEventsResponse, + V1TranscriptRecordWebrtcData, + V1TranscriptRecordWebrtcResponse, + V1UserMeResponse, +} from "./types.gen"; + +export class DefaultService { + constructor(public readonly httpRequest: BaseHttpRequest) {} + + /** + * Metrics + * Endpoint that serves Prometheus metrics. + * @returns unknown Successful Response + * @throws ApiError + */ + public metrics(): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/metrics", + }); + } + + /** + * Transcripts List + * @param data The data for the request. + * @param data.page Page number + * @param data.size Page size + * @returns Page_GetTranscript_ Successful Response + * @throws ApiError + */ + public v1TranscriptsList( + data: V1TranscriptsListData = {}, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts", + query: { + page: data.page, + size: data.size, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcripts Create + * @param data The data for the request. + * @param data.requestBody + * @returns GetTranscript Successful Response + * @throws ApiError + */ + public v1TranscriptsCreate( + data: V1TranscriptsCreateData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "POST", + url: "/v1/transcripts", + body: data.requestBody, + mediaType: "application/json", + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get + * @param data The data for the request. + * @param data.transcriptId + * @returns GetTranscript Successful Response + * @throws ApiError + */ + public v1TranscriptGet( + data: V1TranscriptGetData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}", + path: { + transcript_id: data.transcriptId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Update + * @param data The data for the request. + * @param data.transcriptId + * @param data.requestBody + * @returns GetTranscript Successful Response + * @throws ApiError + */ + public v1TranscriptUpdate( + data: V1TranscriptUpdateData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "PATCH", + url: "/v1/transcripts/{transcript_id}", + path: { + transcript_id: data.transcriptId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Delete + * @param data The data for the request. + * @param data.transcriptId + * @returns DeletionStatus Successful Response + * @throws ApiError + */ + public v1TranscriptDelete( + data: V1TranscriptDeleteData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "DELETE", + url: "/v1/transcripts/{transcript_id}", + path: { + transcript_id: data.transcriptId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Topics + * @param data The data for the request. + * @param data.transcriptId + * @returns GetTranscriptTopic Successful Response + * @throws ApiError + */ + public v1TranscriptGetTopics( + data: V1TranscriptGetTopicsData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}/topics", + path: { + transcript_id: data.transcriptId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Topics With Words + * @param data The data for the request. + * @param data.transcriptId + * @returns GetTranscriptTopicWithWords Successful Response + * @throws ApiError + */ + public v1TranscriptGetTopicsWithWords( + data: V1TranscriptGetTopicsWithWordsData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}/topics/with-words", + path: { + transcript_id: data.transcriptId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Topics With Words Per Speaker + * @param data The data for the request. + * @param data.transcriptId + * @param data.topicId + * @returns GetTranscriptTopicWithWordsPerSpeaker Successful Response + * @throws ApiError + */ + public v1TranscriptGetTopicsWithWordsPerSpeaker( + data: V1TranscriptGetTopicsWithWordsPerSpeakerData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}/topics/{topic_id}/words-per-speaker", + path: { + transcript_id: data.transcriptId, + topic_id: data.topicId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Audio Mp3 + * @param data The data for the request. + * @param data.transcriptId + * @param data.token + * @returns unknown Successful Response + * @throws ApiError + */ + public v1TranscriptHeadAudioMp3( + data: V1TranscriptHeadAudioMp3Data, + ): CancelablePromise { + return this.httpRequest.request({ + method: "HEAD", + url: "/v1/transcripts/{transcript_id}/audio/mp3", + path: { + transcript_id: data.transcriptId, + }, + query: { + token: data.token, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Audio Mp3 + * @param data The data for the request. + * @param data.transcriptId + * @param data.token + * @returns unknown Successful Response + * @throws ApiError + */ + public v1TranscriptGetAudioMp3( + data: V1TranscriptGetAudioMp3Data, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}/audio/mp3", + path: { + transcript_id: data.transcriptId, + }, + query: { + token: data.token, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Audio Waveform + * @param data The data for the request. + * @param data.transcriptId + * @returns AudioWaveform Successful Response + * @throws ApiError + */ + public v1TranscriptGetAudioWaveform( + data: V1TranscriptGetAudioWaveformData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}/audio/waveform", + path: { + transcript_id: data.transcriptId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Participants + * @param data The data for the request. + * @param data.transcriptId + * @returns Participant Successful Response + * @throws ApiError + */ + public v1TranscriptGetParticipants( + data: V1TranscriptGetParticipantsData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}/participants", + path: { + transcript_id: data.transcriptId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Add Participant + * @param data The data for the request. + * @param data.transcriptId + * @param data.requestBody + * @returns Participant Successful Response + * @throws ApiError + */ + public v1TranscriptAddParticipant( + data: V1TranscriptAddParticipantData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "POST", + url: "/v1/transcripts/{transcript_id}/participants", + path: { + transcript_id: data.transcriptId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Participant + * @param data The data for the request. + * @param data.transcriptId + * @param data.participantId + * @returns Participant Successful Response + * @throws ApiError + */ + public v1TranscriptGetParticipant( + data: V1TranscriptGetParticipantData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}/participants/{participant_id}", + path: { + transcript_id: data.transcriptId, + participant_id: data.participantId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Update Participant + * @param data The data for the request. + * @param data.transcriptId + * @param data.participantId + * @param data.requestBody + * @returns Participant Successful Response + * @throws ApiError + */ + public v1TranscriptUpdateParticipant( + data: V1TranscriptUpdateParticipantData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "PATCH", + url: "/v1/transcripts/{transcript_id}/participants/{participant_id}", + path: { + transcript_id: data.transcriptId, + participant_id: data.participantId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Delete Participant + * @param data The data for the request. + * @param data.transcriptId + * @param data.participantId + * @returns DeletionStatus Successful Response + * @throws ApiError + */ + public v1TranscriptDeleteParticipant( + data: V1TranscriptDeleteParticipantData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "DELETE", + url: "/v1/transcripts/{transcript_id}/participants/{participant_id}", + path: { + transcript_id: data.transcriptId, + participant_id: data.participantId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Assign Speaker + * @param data The data for the request. + * @param data.transcriptId + * @param data.requestBody + * @returns SpeakerAssignmentStatus Successful Response + * @throws ApiError + */ + public v1TranscriptAssignSpeaker( + data: V1TranscriptAssignSpeakerData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "PATCH", + url: "/v1/transcripts/{transcript_id}/speaker/assign", + path: { + transcript_id: data.transcriptId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Merge Speaker + * @param data The data for the request. + * @param data.transcriptId + * @param data.requestBody + * @returns SpeakerAssignmentStatus Successful Response + * @throws ApiError + */ + public v1TranscriptMergeSpeaker( + data: V1TranscriptMergeSpeakerData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "PATCH", + url: "/v1/transcripts/{transcript_id}/speaker/merge", + path: { + transcript_id: data.transcriptId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Record Upload + * @param data The data for the request. + * @param data.transcriptId + * @param data.formData + * @returns unknown Successful Response + * @throws ApiError + */ + public v1TranscriptRecordUpload( + data: V1TranscriptRecordUploadData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "POST", + url: "/v1/transcripts/{transcript_id}/record/upload", + path: { + transcript_id: data.transcriptId, + }, + formData: data.formData, + mediaType: "multipart/form-data", + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Get Websocket Events + * @param data The data for the request. + * @param data.transcriptId + * @returns unknown Successful Response + * @throws ApiError + */ + public v1TranscriptGetWebsocketEvents( + data: V1TranscriptGetWebsocketEventsData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/transcripts/{transcript_id}/events", + path: { + transcript_id: data.transcriptId, + }, + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * Transcript Record Webrtc + * @param data The data for the request. + * @param data.transcriptId + * @param data.requestBody + * @returns unknown Successful Response + * @throws ApiError + */ + public v1TranscriptRecordWebrtc( + data: V1TranscriptRecordWebrtcData, + ): CancelablePromise { + return this.httpRequest.request({ + method: "POST", + url: "/v1/transcripts/{transcript_id}/record/webrtc", + path: { + transcript_id: data.transcriptId, + }, + body: data.requestBody, + mediaType: "application/json", + errors: { + 422: "Validation Error", + }, + }); + } + + /** + * User Me + * @returns unknown Successful Response + * @throws ApiError + */ + public v1UserMe(): CancelablePromise { + return this.httpRequest.request({ + method: "GET", + url: "/v1/me", + }); + } +} diff --git a/www/app/api/services/DefaultService.ts b/www/app/api/services/DefaultService.ts deleted file mode 100644 index fe6092e9..00000000 --- a/www/app/api/services/DefaultService.ts +++ /dev/null @@ -1,598 +0,0 @@ -import type { AudioWaveform } from "../models/AudioWaveform"; -import type { Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post } from "../models/Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post"; -import type { CreateParticipant } from "../models/CreateParticipant"; -import type { CreateTranscript } from "../models/CreateTranscript"; -import type { DeletionStatus } from "../models/DeletionStatus"; -import type { GetTranscript } from "../models/GetTranscript"; -import type { GetTranscriptTopic } from "../models/GetTranscriptTopic"; -import type { GetTranscriptTopicWithWords } from "../models/GetTranscriptTopicWithWords"; -import type { GetTranscriptTopicWithWordsPerSpeaker } from "../models/GetTranscriptTopicWithWordsPerSpeaker"; -import type { Page_GetTranscript_ } from "../models/Page_GetTranscript_"; -import type { Participant } from "../models/Participant"; -import type { RtcOffer } from "../models/RtcOffer"; -import type { SpeakerAssignment } from "../models/SpeakerAssignment"; -import type { SpeakerAssignmentStatus } from "../models/SpeakerAssignmentStatus"; -import type { SpeakerMerge } from "../models/SpeakerMerge"; -import type { UpdateParticipant } from "../models/UpdateParticipant"; -import type { UpdateTranscript } from "../models/UpdateTranscript"; -import type { UserInfo } from "../models/UserInfo"; -import type { CancelablePromise } from "../core/CancelablePromise"; -import type { BaseHttpRequest } from "../core/BaseHttpRequest"; - -export type TDataV1TranscriptsList = { - /** - * Page number - */ - page?: number; - /** - * Page size - */ - size?: number; -}; -export type TDataV1TranscriptsCreate = { - requestBody: CreateTranscript; -}; -export type TDataV1TranscriptGet = { - transcriptId: string; -}; -export type TDataV1TranscriptUpdate = { - requestBody: UpdateTranscript; - transcriptId: string; -}; -export type TDataV1TranscriptDelete = { - transcriptId: string; -}; -export type TDataV1TranscriptGetTopics = { - transcriptId: string; -}; -export type TDataV1TranscriptGetTopicsWithWords = { - transcriptId: string; -}; -export type TDataV1TranscriptGetTopicsWithWordsPerSpeaker = { - topicId: string; - transcriptId: string; -}; -export type TDataV1TranscriptHeadAudioMp3 = { - token?: string | null; - transcriptId: string; -}; -export type TDataV1TranscriptGetAudioMp3 = { - token?: string | null; - transcriptId: string; -}; -export type TDataV1TranscriptGetAudioWaveform = { - transcriptId: string; -}; -export type TDataV1TranscriptGetParticipants = { - transcriptId: string; -}; -export type TDataV1TranscriptAddParticipant = { - requestBody: CreateParticipant; - transcriptId: string; -}; -export type TDataV1TranscriptGetParticipant = { - participantId: string; - transcriptId: string; -}; -export type TDataV1TranscriptUpdateParticipant = { - participantId: string; - requestBody: UpdateParticipant; - transcriptId: string; -}; -export type TDataV1TranscriptDeleteParticipant = { - participantId: string; - transcriptId: string; -}; -export type TDataV1TranscriptAssignSpeaker = { - requestBody: SpeakerAssignment; - transcriptId: string; -}; -export type TDataV1TranscriptMergeSpeaker = { - requestBody: SpeakerMerge; - transcriptId: string; -}; -export type TDataV1TranscriptRecordUpload = { - formData: Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post; - transcriptId: string; -}; -export type TDataV1TranscriptGetWebsocketEvents = { - transcriptId: string; -}; -export type TDataV1TranscriptRecordWebrtc = { - requestBody: RtcOffer; - transcriptId: string; -}; - -export class DefaultService { - constructor(public readonly httpRequest: BaseHttpRequest) {} - - /** - * Metrics - * Endpoint that serves Prometheus metrics. - * @returns unknown Successful Response - * @throws ApiError - */ - public metrics(): CancelablePromise { - return this.httpRequest.request({ - method: "GET", - url: "/metrics", - }); - } - - /** - * Transcripts List - * @returns Page_GetTranscript_ Successful Response - * @throws ApiError - */ - public v1TranscriptsList( - data: TDataV1TranscriptsList = {}, - ): CancelablePromise { - const { page = 1, size = 50 } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts", - query: { - page, - size, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcripts Create - * @returns GetTranscript Successful Response - * @throws ApiError - */ - public v1TranscriptsCreate( - data: TDataV1TranscriptsCreate, - ): CancelablePromise { - const { requestBody } = data; - return this.httpRequest.request({ - method: "POST", - url: "/v1/transcripts", - body: requestBody, - mediaType: "application/json", - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get - * @returns GetTranscript Successful Response - * @throws ApiError - */ - public v1TranscriptGet( - data: TDataV1TranscriptGet, - ): CancelablePromise { - const { transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}", - path: { - transcript_id: transcriptId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Update - * @returns GetTranscript Successful Response - * @throws ApiError - */ - public v1TranscriptUpdate( - data: TDataV1TranscriptUpdate, - ): CancelablePromise { - const { requestBody, transcriptId } = data; - return this.httpRequest.request({ - method: "PATCH", - url: "/v1/transcripts/{transcript_id}", - path: { - transcript_id: transcriptId, - }, - body: requestBody, - mediaType: "application/json", - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Delete - * @returns DeletionStatus Successful Response - * @throws ApiError - */ - public v1TranscriptDelete( - data: TDataV1TranscriptDelete, - ): CancelablePromise { - const { transcriptId } = data; - return this.httpRequest.request({ - method: "DELETE", - url: "/v1/transcripts/{transcript_id}", - path: { - transcript_id: transcriptId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Topics - * @returns GetTranscriptTopic Successful Response - * @throws ApiError - */ - public v1TranscriptGetTopics( - data: TDataV1TranscriptGetTopics, - ): CancelablePromise> { - const { transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}/topics", - path: { - transcript_id: transcriptId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Topics With Words - * @returns GetTranscriptTopicWithWords Successful Response - * @throws ApiError - */ - public v1TranscriptGetTopicsWithWords( - data: TDataV1TranscriptGetTopicsWithWords, - ): CancelablePromise> { - const { transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}/topics/with-words", - path: { - transcript_id: transcriptId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Topics With Words Per Speaker - * @returns GetTranscriptTopicWithWordsPerSpeaker Successful Response - * @throws ApiError - */ - public v1TranscriptGetTopicsWithWordsPerSpeaker( - data: TDataV1TranscriptGetTopicsWithWordsPerSpeaker, - ): CancelablePromise { - const { topicId, transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}/topics/{topic_id}/words-per-speaker", - path: { - transcript_id: transcriptId, - topic_id: topicId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Audio Mp3 - * @returns unknown Successful Response - * @throws ApiError - */ - public v1TranscriptHeadAudioMp3( - data: TDataV1TranscriptHeadAudioMp3, - ): CancelablePromise { - const { token, transcriptId } = data; - return this.httpRequest.request({ - method: "HEAD", - url: "/v1/transcripts/{transcript_id}/audio/mp3", - path: { - transcript_id: transcriptId, - }, - query: { - token, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Audio Mp3 - * @returns unknown Successful Response - * @throws ApiError - */ - public v1TranscriptGetAudioMp3( - data: TDataV1TranscriptGetAudioMp3, - ): CancelablePromise { - const { token, transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}/audio/mp3", - path: { - transcript_id: transcriptId, - }, - query: { - token, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Audio Waveform - * @returns AudioWaveform Successful Response - * @throws ApiError - */ - public v1TranscriptGetAudioWaveform( - data: TDataV1TranscriptGetAudioWaveform, - ): CancelablePromise { - const { transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}/audio/waveform", - path: { - transcript_id: transcriptId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Participants - * @returns Participant Successful Response - * @throws ApiError - */ - public v1TranscriptGetParticipants( - data: TDataV1TranscriptGetParticipants, - ): CancelablePromise> { - const { transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}/participants", - path: { - transcript_id: transcriptId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Add Participant - * @returns Participant Successful Response - * @throws ApiError - */ - public v1TranscriptAddParticipant( - data: TDataV1TranscriptAddParticipant, - ): CancelablePromise { - const { requestBody, transcriptId } = data; - return this.httpRequest.request({ - method: "POST", - url: "/v1/transcripts/{transcript_id}/participants", - path: { - transcript_id: transcriptId, - }, - body: requestBody, - mediaType: "application/json", - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Participant - * @returns Participant Successful Response - * @throws ApiError - */ - public v1TranscriptGetParticipant( - data: TDataV1TranscriptGetParticipant, - ): CancelablePromise { - const { participantId, transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}/participants/{participant_id}", - path: { - transcript_id: transcriptId, - participant_id: participantId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Update Participant - * @returns Participant Successful Response - * @throws ApiError - */ - public v1TranscriptUpdateParticipant( - data: TDataV1TranscriptUpdateParticipant, - ): CancelablePromise { - const { participantId, requestBody, transcriptId } = data; - return this.httpRequest.request({ - method: "PATCH", - url: "/v1/transcripts/{transcript_id}/participants/{participant_id}", - path: { - transcript_id: transcriptId, - participant_id: participantId, - }, - body: requestBody, - mediaType: "application/json", - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Delete Participant - * @returns DeletionStatus Successful Response - * @throws ApiError - */ - public v1TranscriptDeleteParticipant( - data: TDataV1TranscriptDeleteParticipant, - ): CancelablePromise { - const { participantId, transcriptId } = data; - return this.httpRequest.request({ - method: "DELETE", - url: "/v1/transcripts/{transcript_id}/participants/{participant_id}", - path: { - transcript_id: transcriptId, - participant_id: participantId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Assign Speaker - * @returns SpeakerAssignmentStatus Successful Response - * @throws ApiError - */ - public v1TranscriptAssignSpeaker( - data: TDataV1TranscriptAssignSpeaker, - ): CancelablePromise { - const { requestBody, transcriptId } = data; - return this.httpRequest.request({ - method: "PATCH", - url: "/v1/transcripts/{transcript_id}/speaker/assign", - path: { - transcript_id: transcriptId, - }, - body: requestBody, - mediaType: "application/json", - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Merge Speaker - * @returns SpeakerAssignmentStatus Successful Response - * @throws ApiError - */ - public v1TranscriptMergeSpeaker( - data: TDataV1TranscriptMergeSpeaker, - ): CancelablePromise { - const { requestBody, transcriptId } = data; - return this.httpRequest.request({ - method: "PATCH", - url: "/v1/transcripts/{transcript_id}/speaker/merge", - path: { - transcript_id: transcriptId, - }, - body: requestBody, - mediaType: "application/json", - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Record Upload - * @returns unknown Successful Response - * @throws ApiError - */ - public v1TranscriptRecordUpload( - data: TDataV1TranscriptRecordUpload, - ): CancelablePromise { - const { formData, transcriptId } = data; - return this.httpRequest.request({ - method: "POST", - url: "/v1/transcripts/{transcript_id}/record/upload", - path: { - transcript_id: transcriptId, - }, - formData: formData, - mediaType: "multipart/form-data", - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Get Websocket Events - * @returns unknown Successful Response - * @throws ApiError - */ - public v1TranscriptGetWebsocketEvents( - data: TDataV1TranscriptGetWebsocketEvents, - ): CancelablePromise { - const { transcriptId } = data; - return this.httpRequest.request({ - method: "GET", - url: "/v1/transcripts/{transcript_id}/events", - path: { - transcript_id: transcriptId, - }, - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * Transcript Record Webrtc - * @returns unknown Successful Response - * @throws ApiError - */ - public v1TranscriptRecordWebrtc( - data: TDataV1TranscriptRecordWebrtc, - ): CancelablePromise { - const { requestBody, transcriptId } = data; - return this.httpRequest.request({ - method: "POST", - url: "/v1/transcripts/{transcript_id}/record/webrtc", - path: { - transcript_id: transcriptId, - }, - body: requestBody, - mediaType: "application/json", - errors: { - 422: `Validation Error`, - }, - }); - } - - /** - * User Me - * @returns unknown Successful Response - * @throws ApiError - */ - public v1UserMe(): CancelablePromise { - return this.httpRequest.request({ - method: "GET", - url: "/v1/me", - }); - } -} diff --git a/www/app/api/types.gen.ts b/www/app/api/types.gen.ts new file mode 100644 index 00000000..db50d253 --- /dev/null +++ b/www/app/api/types.gen.ts @@ -0,0 +1,642 @@ +// This file is auto-generated by @hey-api/openapi-ts + +export type AudioWaveform = { + data: Array; +}; + +export type Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post = + { + file: Blob | File; + }; + +export type CreateParticipant = { + speaker?: number | null; + name: string; +}; + +export type CreateTranscript = { + name: string; + source_language?: string; + target_language?: string; +}; + +export type DeletionStatus = { + status: string; +}; + +export type GetTranscript = { + id: string; + user_id: string | null; + name: string; + status: string; + locked: boolean; + duration: number; + title: string | null; + short_summary: string | null; + long_summary: string | null; + created_at: string; + share_mode?: string; + source_language: string | null; + target_language: string | null; + participants: Array | null; + reviewed: boolean; +}; + +export type GetTranscriptSegmentTopic = { + text: string; + start: number; + speaker: number; +}; + +export type GetTranscriptTopic = { + id: string; + title: string; + summary: string; + timestamp: number; + duration: number | null; + transcript: string; + segments?: Array; +}; + +export type GetTranscriptTopicWithWords = { + id: string; + title: string; + summary: string; + timestamp: number; + duration: number | null; + transcript: string; + segments?: Array; + words?: Array; +}; + +export type GetTranscriptTopicWithWordsPerSpeaker = { + id: string; + title: string; + summary: string; + timestamp: number; + duration: number | null; + transcript: string; + segments?: Array; + words_per_speaker?: Array; +}; + +export type HTTPValidationError = { + detail?: Array; +}; + +export type Page_GetTranscript_ = { + items: Array; + total: number; + page: number | null; + size: number | null; + pages?: number | null; +}; + +export type Participant = { + id: string; + speaker: number | null; + name: string; +}; + +export type RtcOffer = { + sdp: string; + type: string; +}; + +export type SpeakerAssignment = { + speaker?: number | null; + participant?: string | null; + timestamp_from: number; + timestamp_to: number; +}; + +export type SpeakerAssignmentStatus = { + status: string; +}; + +export type SpeakerMerge = { + speaker_from: number; + speaker_to: number; +}; + +export type SpeakerWords = { + speaker: number; + words: Array; +}; + +export type TranscriptParticipant = { + id?: string; + speaker: number | null; + name: string; +}; + +export type UpdateParticipant = { + speaker?: number | null; + name?: string | null; +}; + +export type UpdateTranscript = { + name?: string | null; + locked?: boolean | null; + title?: string | null; + short_summary?: string | null; + long_summary?: string | null; + share_mode?: "public" | "semi-private" | "private" | null; + participants?: Array | null; + reviewed?: boolean | null; +}; + +export type UserInfo = { + sub: string; + email: string | null; + email_verified: boolean | null; +}; + +export type ValidationError = { + loc: Array; + msg: string; + type: string; +}; + +export type Word = { + text: string; + start: number; + end: number; + speaker?: number; +}; + +export type MetricsResponse = unknown; + +export type V1TranscriptsListData = { + /** + * Page number + */ + page?: number; + /** + * Page size + */ + size?: number; +}; + +export type V1TranscriptsListResponse = Page_GetTranscript_; + +export type V1TranscriptsCreateData = { + requestBody: CreateTranscript; +}; + +export type V1TranscriptsCreateResponse = GetTranscript; + +export type V1TranscriptGetData = { + transcriptId: string; +}; + +export type V1TranscriptGetResponse = GetTranscript; + +export type V1TranscriptUpdateData = { + requestBody: UpdateTranscript; + transcriptId: string; +}; + +export type V1TranscriptUpdateResponse = GetTranscript; + +export type V1TranscriptDeleteData = { + transcriptId: string; +}; + +export type V1TranscriptDeleteResponse = DeletionStatus; + +export type V1TranscriptGetTopicsData = { + transcriptId: string; +}; + +export type V1TranscriptGetTopicsResponse = Array; + +export type V1TranscriptGetTopicsWithWordsData = { + transcriptId: string; +}; + +export type V1TranscriptGetTopicsWithWordsResponse = + Array; + +export type V1TranscriptGetTopicsWithWordsPerSpeakerData = { + topicId: string; + transcriptId: string; +}; + +export type V1TranscriptGetTopicsWithWordsPerSpeakerResponse = + GetTranscriptTopicWithWordsPerSpeaker; + +export type V1TranscriptHeadAudioMp3Data = { + token?: string | null; + transcriptId: string; +}; + +export type V1TranscriptHeadAudioMp3Response = unknown; + +export type V1TranscriptGetAudioMp3Data = { + token?: string | null; + transcriptId: string; +}; + +export type V1TranscriptGetAudioMp3Response = unknown; + +export type V1TranscriptGetAudioWaveformData = { + transcriptId: string; +}; + +export type V1TranscriptGetAudioWaveformResponse = AudioWaveform; + +export type V1TranscriptGetParticipantsData = { + transcriptId: string; +}; + +export type V1TranscriptGetParticipantsResponse = Array; + +export type V1TranscriptAddParticipantData = { + requestBody: CreateParticipant; + transcriptId: string; +}; + +export type V1TranscriptAddParticipantResponse = Participant; + +export type V1TranscriptGetParticipantData = { + participantId: string; + transcriptId: string; +}; + +export type V1TranscriptGetParticipantResponse = Participant; + +export type V1TranscriptUpdateParticipantData = { + participantId: string; + requestBody: UpdateParticipant; + transcriptId: string; +}; + +export type V1TranscriptUpdateParticipantResponse = Participant; + +export type V1TranscriptDeleteParticipantData = { + participantId: string; + transcriptId: string; +}; + +export type V1TranscriptDeleteParticipantResponse = DeletionStatus; + +export type V1TranscriptAssignSpeakerData = { + requestBody: SpeakerAssignment; + transcriptId: string; +}; + +export type V1TranscriptAssignSpeakerResponse = SpeakerAssignmentStatus; + +export type V1TranscriptMergeSpeakerData = { + requestBody: SpeakerMerge; + transcriptId: string; +}; + +export type V1TranscriptMergeSpeakerResponse = SpeakerAssignmentStatus; + +export type V1TranscriptRecordUploadData = { + formData: Body_transcript_record_upload_v1_transcripts__transcript_id__record_upload_post; + transcriptId: string; +}; + +export type V1TranscriptRecordUploadResponse = unknown; + +export type V1TranscriptGetWebsocketEventsData = { + transcriptId: string; +}; + +export type V1TranscriptGetWebsocketEventsResponse = unknown; + +export type V1TranscriptRecordWebrtcData = { + requestBody: RtcOffer; + transcriptId: string; +}; + +export type V1TranscriptRecordWebrtcResponse = unknown; + +export type V1UserMeResponse = UserInfo | null; + +export type $OpenApiTs = { + "/metrics": { + get: { + res: { + /** + * Successful Response + */ + 200: unknown; + }; + }; + }; + "/v1/transcripts": { + get: { + req: V1TranscriptsListData; + res: { + /** + * Successful Response + */ + 200: Page_GetTranscript_; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + post: { + req: V1TranscriptsCreateData; + res: { + /** + * Successful Response + */ + 200: GetTranscript; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}": { + get: { + req: V1TranscriptGetData; + res: { + /** + * Successful Response + */ + 200: GetTranscript; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + patch: { + req: V1TranscriptUpdateData; + res: { + /** + * Successful Response + */ + 200: GetTranscript; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + delete: { + req: V1TranscriptDeleteData; + res: { + /** + * Successful Response + */ + 200: DeletionStatus; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/topics": { + get: { + req: V1TranscriptGetTopicsData; + res: { + /** + * Successful Response + */ + 200: Array; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/topics/with-words": { + get: { + req: V1TranscriptGetTopicsWithWordsData; + res: { + /** + * Successful Response + */ + 200: Array; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/topics/{topic_id}/words-per-speaker": { + get: { + req: V1TranscriptGetTopicsWithWordsPerSpeakerData; + res: { + /** + * Successful Response + */ + 200: GetTranscriptTopicWithWordsPerSpeaker; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/audio/mp3": { + head: { + req: V1TranscriptHeadAudioMp3Data; + res: { + /** + * Successful Response + */ + 200: unknown; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + get: { + req: V1TranscriptGetAudioMp3Data; + res: { + /** + * Successful Response + */ + 200: unknown; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/audio/waveform": { + get: { + req: V1TranscriptGetAudioWaveformData; + res: { + /** + * Successful Response + */ + 200: AudioWaveform; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/participants": { + get: { + req: V1TranscriptGetParticipantsData; + res: { + /** + * Successful Response + */ + 200: Array; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + post: { + req: V1TranscriptAddParticipantData; + res: { + /** + * Successful Response + */ + 200: Participant; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/participants/{participant_id}": { + get: { + req: V1TranscriptGetParticipantData; + res: { + /** + * Successful Response + */ + 200: Participant; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + patch: { + req: V1TranscriptUpdateParticipantData; + res: { + /** + * Successful Response + */ + 200: Participant; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + delete: { + req: V1TranscriptDeleteParticipantData; + res: { + /** + * Successful Response + */ + 200: DeletionStatus; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/speaker/assign": { + patch: { + req: V1TranscriptAssignSpeakerData; + res: { + /** + * Successful Response + */ + 200: SpeakerAssignmentStatus; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/speaker/merge": { + patch: { + req: V1TranscriptMergeSpeakerData; + res: { + /** + * Successful Response + */ + 200: SpeakerAssignmentStatus; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/record/upload": { + post: { + req: V1TranscriptRecordUploadData; + res: { + /** + * Successful Response + */ + 200: unknown; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/events": { + get: { + req: V1TranscriptGetWebsocketEventsData; + res: { + /** + * Successful Response + */ + 200: unknown; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/transcripts/{transcript_id}/record/webrtc": { + post: { + req: V1TranscriptRecordWebrtcData; + res: { + /** + * Successful Response + */ + 200: unknown; + /** + * Validation Error + */ + 422: HTTPValidationError; + }; + }; + }; + "/v1/me": { + get: { + res: { + /** + * Successful Response + */ + 200: UserInfo | null; + }; + }; + }; +}; diff --git a/www/openapi-ts.config.ts b/www/openapi-ts.config.ts new file mode 100644 index 00000000..9304b8f7 --- /dev/null +++ b/www/openapi-ts.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from "@hey-api/openapi-ts"; + +export default defineConfig({ + client: "axios", + name: "OpenApi", + input: "http://127.0.0.1:1250/openapi.json", + output: { + path: "./app/api", + format: "prettier", + }, + services: { + asClass: true, + }, +}); diff --git a/www/package.json b/www/package.json index ba3b3f83..f206bfbc 100644 --- a/www/package.json +++ b/www/package.json @@ -8,7 +8,7 @@ "start": "next start", "lint": "next lint", "format": "prettier --write .", - "openapi": "openapi-ts --input http://127.0.0.1:1250/openapi.json --name OpenApi --output app/api && yarn format" + "openapi": "openapi-ts" }, "dependencies": { "@chakra-ui/icons": "^2.1.1", @@ -56,7 +56,7 @@ "license": "All Rights Reserved", "devDependencies": { "@types/react": "18.2.20", - "@hey-api/openapi-ts": "^0.27.24", + "@hey-api/openapi-ts": "^0.48.0", "prettier": "^3.0.0" } } diff --git a/www/yarn.lock b/www/yarn.lock index 51e9c96d..c7fafc37 100644 --- a/www/yarn.lock +++ b/www/yarn.lock @@ -12,10 +12,10 @@ resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== -"@apidevtools/json-schema-ref-parser@11.5.4": - version "11.5.4" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.5.4.tgz#6a90caf2140834025cf72651280c46084de187ae" - integrity sha512-o2fsypTGU0WxRxbax8zQoHiIB4dyrkwYfcm8TxZ+bx9pCzcWZbQtiMqpgBvWA/nJ2TrGjK5adCLfTH8wUeU/Wg== +"@apidevtools/json-schema-ref-parser@11.6.4": + version "11.6.4" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.6.4.tgz#0f3e02302f646471d621a8850e6a346d63c8ebd4" + integrity sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w== dependencies: "@jsdevtools/ono" "^7.1.3" "@types/json-schema" "^7.0.15" @@ -1103,14 +1103,15 @@ dependencies: prop-types "^15.8.1" -"@hey-api/openapi-ts@^0.27.24": - version "0.27.39" - resolved "https://registry.yarnpkg.com/@hey-api/openapi-ts/-/openapi-ts-0.27.39.tgz#130be15a33cda0ea04dc51166089b7eb77190479" - integrity sha512-sqcMU4QUR/KDwYYj6YlYwAwo8F3bm9Sy9PNwWZ8K/kVNMajtcFkWXDMygeGHaLEVE0zwxmYuO+mcSN+lTD5ZCQ== +"@hey-api/openapi-ts@^0.48.0": + version "0.48.1" + resolved "https://registry.yarnpkg.com/@hey-api/openapi-ts/-/openapi-ts-0.48.1.tgz#a80e2372e7550057817c3dfb3742d87c395036a9" + integrity sha512-iZBEmS12EWn4yl/nYMui+PA3hprjFR9z+9p+p+s3f0VRXPw+uZWO0yuIfCcsAw1n0isikw2uJEY4qxwlnI07AQ== dependencies: - "@apidevtools/json-schema-ref-parser" "11.5.4" + "@apidevtools/json-schema-ref-parser" "11.6.4" + c12 "1.11.1" camelcase "8.0.0" - commander "12.0.0" + commander "12.1.0" handlebars "4.7.8" "@humanwhocodes/config-array@^0.11.13": @@ -1662,6 +1663,11 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +acorn@^8.11.3: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + acorn@^8.9.0: version "8.11.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" @@ -1955,6 +1961,24 @@ busboy@1.6.0: dependencies: streamsearch "^1.1.0" +c12@1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/c12/-/c12-1.11.1.tgz#d5244e95407af450a523e44eb57e5b87b82f8677" + integrity sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg== + dependencies: + chokidar "^3.6.0" + confbox "^0.1.7" + defu "^6.1.4" + dotenv "^16.4.5" + giget "^1.2.3" + jiti "^1.21.6" + mlly "^1.7.1" + ohash "^1.1.3" + pathe "^1.1.2" + perfect-debounce "^1.0.0" + pkg-types "^1.1.1" + rc9 "^2.1.2" + call-bind@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -2044,11 +2068,38 @@ character-entities@^2.0.0: optionalDependencies: fsevents "~2.3.2" +chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + ci-info@^3.2.0: version "3.8.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== +citty@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.6.tgz#0f7904da1ed4625e1a9ea7e0fa780981aab7c5e4" + integrity sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ== + dependencies: + consola "^3.2.3" + classnames@^2.2.3: version "2.3.2" resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz" @@ -2100,10 +2151,10 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== -commander@12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-12.0.0.tgz#b929db6df8546080adfd004ab215ed48cf6f2592" - integrity sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA== +commander@12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== commander@^4.0.0: version "4.1.1" @@ -2130,6 +2181,16 @@ concat-map@0.0.1: resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +confbox@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.7.tgz#ccfc0a2bcae36a84838e83a3b7f770fb17d6c579" + integrity sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA== + +consola@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" + integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== + convert-source-map@^1.5.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" @@ -2158,7 +2219,7 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -cross-spawn@^7.0.2: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -2238,6 +2299,11 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +defu@^6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" + integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -2248,6 +2314,11 @@ dequal@^2.0.0, dequal@^2.0.3: resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== +destr@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449" + integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== + detect-node-es@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" @@ -2307,6 +2378,11 @@ dom-helpers@^5.0.1: "@babel/runtime" "^7.8.7" csstype "^3.0.2" +dotenv@^16.4.5: + version "16.4.5" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + electron-to-chromium@^1.4.431: version "1.4.455" resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz" @@ -2660,6 +2736,21 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +execa@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -2819,6 +2910,13 @@ framesync@6.1.2: dependencies: tslib "2.4.0" +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" @@ -2884,6 +2982,11 @@ get-nonce@^1.0.0: resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -2899,6 +3002,20 @@ get-tsconfig@^4.5.0: dependencies: resolve-pkg-maps "^1.0.0" +giget@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/giget/-/giget-1.2.3.tgz#ef6845d1140e89adad595f7f3bb60aa31c672cb6" + integrity sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA== + dependencies: + citty "^0.1.6" + consola "^3.2.3" + defu "^6.1.4" + node-fetch-native "^1.6.3" + nypm "^0.3.8" + ohash "^1.1.3" + pathe "^1.1.2" + tar "^6.2.0" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" @@ -3120,6 +3237,11 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + iconv-lite@^0.6.2: version "0.6.3" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" @@ -3341,6 +3463,11 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -3430,6 +3557,11 @@ jiti@^1.18.2: resolved "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz" integrity sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg== +jiti@^1.21.6: + version "1.21.6" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + jose@^4.6.0: version "4.14.4" resolved "https://registry.yarnpkg.com/jose/-/jose-4.14.4.tgz#59e09204e2670c3164ee24cbfe7115c6f8bff9ca" @@ -3851,6 +3983,11 @@ mime@2.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + minimatch@9.0.3: version "9.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" @@ -3877,6 +4014,26 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + mkdirp@^0.5.5: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -3884,6 +4041,21 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.6" +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mlly@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.1.tgz#e0336429bb0731b6a8e887b438cbdae522c8f32f" + integrity sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.1.1" + ufo "^1.5.3" + ms@2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" @@ -3942,6 +4114,11 @@ next@^14.0.4: "@next/swc-win32-ia32-msvc" "14.0.4" "@next/swc-win32-x64-msvc" "14.0.4" +node-fetch-native@^1.6.3: + version "1.6.4" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" + integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== + node-fetch@^2.6.7: version "2.6.12" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" @@ -3964,6 +4141,25 @@ normalize-range@^0.1.2: resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +nypm@^0.3.8: + version "0.3.9" + resolved "https://registry.yarnpkg.com/nypm/-/nypm-0.3.9.tgz#ab74c55075737466847611aa33c3c67741c01d8f" + integrity sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw== + dependencies: + citty "^0.1.6" + consola "^3.2.3" + execa "^8.0.1" + pathe "^1.1.2" + pkg-types "^1.1.1" + ufo "^1.5.3" + object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" @@ -4044,6 +4240,11 @@ object.values@^1.1.6, object.values@^1.1.7: define-properties "^1.2.0" es-abstract "^1.22.1" +ohash@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/ohash/-/ohash-1.1.3.tgz#f12c3c50bfe7271ce3fd1097d42568122ccdcf07" + integrity sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw== + once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" @@ -4051,6 +4252,13 @@ once@^1.3.0, once@^1.4.0: dependencies: wrappy "1" +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + optionator@^0.9.3: version "0.9.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" @@ -4109,6 +4317,11 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + path-parse@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" @@ -4124,6 +4337,16 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== + +perfect-debounce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" + integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" @@ -4144,6 +4367,15 @@ pirates@^4.0.1: resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== +pkg-types@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.1.3.tgz#161bb1242b21daf7795036803f28e30222e476e3" + integrity sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA== + dependencies: + confbox "^0.1.7" + mlly "^1.7.1" + pathe "^1.1.2" + postcss-import@^15.1.0: version "15.1.0" resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" @@ -4269,6 +4501,14 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" +rc9@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/rc9/-/rc9-2.1.2.tgz#6282ff638a50caa0a91a31d76af4a0b9cbd1080d" + integrity sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg== + dependencies: + defu "^6.1.4" + destr "^2.0.3" + react-clientside-effect@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz#29f9b14e944a376b03fb650eed2a754dd128ea3a" @@ -4629,6 +4869,11 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + simple-peer@^9.11.1: version "9.11.1" resolved "https://registry.npmjs.org/simple-peer/-/simple-peer-9.11.1.tgz" @@ -4740,6 +4985,11 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -4858,6 +5108,18 @@ tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -5015,6 +5277,11 @@ typescript@^5.1.6: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== +ufo@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" + integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== + uglify-js@^3.1.4: version "3.17.4" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c"