vrchat 2.20.4 → 2.20.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-353CBA4S.mjs +6 -0
- package/dist/chunk-353CBA4S.mjs.map +1 -0
- package/dist/chunk-63N2PY2X.mjs +65 -0
- package/dist/chunk-63N2PY2X.mjs.map +1 -0
- package/dist/chunk-EWNWJRNP.js +8 -0
- package/dist/chunk-EWNWJRNP.js.map +1 -0
- package/dist/chunk-OCTHAJNR.js +74 -0
- package/dist/chunk-OCTHAJNR.js.map +1 -0
- package/dist/client-BEQ2VP--.d.mts +13895 -0
- package/dist/client-BEQ2VP--.d.ts +13895 -0
- package/dist/index.d.mts +5 -12210
- package/dist/index.d.ts +5 -12210
- package/dist/index.js +5213 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5201 -3
- package/dist/index.mjs.map +1 -1
- package/dist/types.d.mts +3 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +3 -0
- package/dist/types.mjs.map +1 -0
- package/dist/websocket.d.mts +3 -0
- package/dist/websocket.d.ts +3 -0
- package/dist/websocket.js +12 -0
- package/dist/websocket.js.map +1 -0
- package/dist/websocket.mjs +3 -0
- package/dist/websocket.mjs.map +1 -0
- package/package.json +17 -12
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cookie.ts","../src/utilities.ts","../src/error.ts","../src/generated/client.gen.ts","../src/generated/transformers.gen.ts","../src/generated/sdk.gen.ts","../src/log.ts","../src/websocket.ts","../src/client.ts"],"names":["parseSetCookie","cookie","name","rest","value","_options","options","option","expires","serializeCookie","serializeCookies","cookies","toCookiesObject","isCookieValid","isLazyFunction","collapse","tryJsonParse","VRChatError","_VRChatError","request","response","baseUrl","message","cause","VRChat","fail","throwOnError","error","client","createClient","createConfig","accountDeletionLogSchemaResponseTransformer","data","badgeSchemaResponseTransformer","pastDisplayNameSchemaResponseTransformer","currentUserSchemaResponseTransformer","item","getCurrentUserResponseTransformer","deleteUserResponseTransformer","registerUserAccountResponseTransformer","unityPackageSchemaResponseTransformer","avatarSchemaResponseTransformer","getOwnAvatarResponseTransformer","searchAvatarsResponseTransformer","createAvatarResponseTransformer","deleteAvatarResponseTransformer","getAvatarResponseTransformer","updateAvatarResponseTransformer","selectAvatarResponseTransformer","selectFallbackAvatarResponseTransformer","getFavoritedAvatarsResponseTransformer","getLicensedAvatarsResponseTransformer","serviceStatusSchemaResponseTransformer","enqueueImpostorResponseTransformer","calendarEventSchemaResponseTransformer","paginatedCalendarEventListSchemaResponseTransformer","getCalendarEventsResponseTransformer","getFeaturedCalendarEventsResponseTransformer","getFollowedCalendarEventsResponseTransformer","searchCalendarEventsResponseTransformer","getGroupCalendarEventsResponseTransformer","createGroupCalendarEventResponseTransformer","getGroupCalendarEventResponseTransformer","updateGroupCalendarEventResponseTransformer","followGroupCalendarEventResponseTransformer","transactionSchemaResponseTransformer","getSteamTransactionsResponseTransformer","getSteamTransactionResponseTransformer","userSubscriptionSchemaResponseTransformer","getCurrentSubscriptionsResponseTransformer","productSchemaResponseTransformer","productListingVariantSchemaResponseTransformer","productListingSchemaResponseTransformer","getProductListingResponseTransformer","getProductListingsResponseTransformer","tiliaStatusSchemaResponseTransformer","getTiliaStatusResponseTransformer","economyAccountSchemaResponseTransformer","getEconomyAccountResponseTransformer","storeShelfSchemaResponseTransformer","storeSchemaResponseTransformer","getStoreResponseTransformer","getStoreShelvesResponseTransformer","fileVersionSchemaResponseTransformer","fileSchemaResponseTransformer","getFilesResponseTransformer","createFileResponseTransformer","deleteFileResponseTransformer","getFileResponseTransformer","createFileVersionResponseTransformer","deleteFileVersionResponseTransformer","finishFileDataUploadResponseTransformer","uploadImageResponseTransformer","uploadIconResponseTransformer","uploadGalleryImageResponseTransformer","adminAssetBundleSchemaResponseTransformer","getAdminAssetBundleResponseTransformer","limitedUserFriendSchemaResponseTransformer","getFriendsResponseTransformer","notificationSchemaResponseTransformer","friendResponseTransformer","groupGallerySchemaResponseTransformer","limitedGroupSchemaResponseTransformer","searchGroupsResponseTransformer","groupMyMemberSchemaResponseTransformer","groupRoleSchemaResponseTransformer","groupSchemaResponseTransformer","createGroupResponseTransformer","getGroupResponseTransformer","updateGroupResponseTransformer","groupAnnouncementSchemaResponseTransformer","getGroupAnnouncementsResponseTransformer","createGroupAnnouncementResponseTransformer","groupAuditLogEntrySchemaResponseTransformer","paginatedGroupAuditLogEntryListSchemaResponseTransformer","getGroupAuditLogsResponseTransformer","groupMemberSchemaResponseTransformer","getGroupBansResponseTransformer","banGroupMemberResponseTransformer","unbanGroupMemberResponseTransformer","createGroupGalleryResponseTransformer","groupGalleryImageSchemaResponseTransformer","getGroupGalleryImagesResponseTransformer","updateGroupGalleryResponseTransformer","addGroupGalleryImageResponseTransformer","worldSchemaResponseTransformer","groupInstanceSchemaResponseTransformer","getGroupInstancesResponseTransformer","getGroupInvitesResponseTransformer","joinGroupResponseTransformer","getGroupMembersResponseTransformer","groupLimitedMemberSchemaResponseTransformer","getGroupMemberResponseTransformer","updateGroupMemberResponseTransformer","groupPostSchemaResponseTransformer","getGroupPostsResponseTransformer","addGroupPostResponseTransformer","updateGroupPostResponseTransformer","getGroupRequestsResponseTransformer","getGroupRolesResponseTransformer","createGroupRoleResponseTransformer","deleteGroupRoleResponseTransformer","updateGroupRoleResponseTransformer","inventoryItemSchemaResponseTransformer","inventorySchemaResponseTransformer","getInventoryResponseTransformer","getOwnInventoryItemResponseTransformer","updateOwnInventoryItemResponseTransformer","inventoryDropSchemaResponseTransformer","getInventoryDropsResponseTransformer","inventoryTemplateSchemaResponseTransformer","getInventoryTemplateResponseTransformer","sentNotificationSchemaResponseTransformer","inviteUserResponseTransformer","inviteUserWithPhotoResponseTransformer","inviteMyselfToResponseTransformer","requestInviteResponseTransformer","requestInviteWithPhotoResponseTransformer","respondInviteResponseTransformer","respondInviteWithPhotoResponseTransformer","inviteMessageSchemaResponseTransformer","getInviteMessagesResponseTransformer","resetInviteMessageResponseTransformer","getInviteMessageResponseTransformer","updateInviteMessageResponseTransformer","limitedUserInstanceSchemaResponseTransformer","instanceSchemaResponseTransformer","createInstanceResponseTransformer","closeInstanceResponseTransformer","getInstanceResponseTransformer","getInstanceByShortNameResponseTransformer","getNotificationsResponseTransformer","getNotificationResponseTransformer","markNotificationAsReadResponseTransformer","deleteNotificationResponseTransformer","playerModerationSchemaResponseTransformer","getPlayerModerationsResponseTransformer","moderateUserResponseTransformer","printSchemaResponseTransformer","getUserPrintsResponseTransformer","getPrintResponseTransformer","editPrintResponseTransformer","uploadPrintResponseTransformer","propSchemaResponseTransformer","getPropResponseTransformer","jamSchemaResponseTransformer","getJamsResponseTransformer","getJamResponseTransformer","submissionSchemaResponseTransformer","getJamSubmissionsResponseTransformer","userSchemaResponseTransformer","getUserByNameResponseTransformer","getUserResponseTransformer","updateUserResponseTransformer","limitedUserGroupsSchemaResponseTransformer","getUserGroupsResponseTransformer","getUserGroupRequestsResponseTransformer","userNoteSchemaResponseTransformer","getUserNotesResponseTransformer","updateUserNoteResponseTransformer","getUserNoteResponseTransformer","addTagsResponseTransformer","removeTagsResponseTransformer","getUserGroupInstancesResponseTransformer","limitedUnityPackageSchemaResponseTransformer","limitedWorldSchemaResponseTransformer","searchWorldsResponseTransformer","createWorldResponseTransformer","getActiveWorldsResponseTransformer","favoritedWorldSchemaResponseTransformer","getFavoritedWorldsResponseTransformer","getRecentWorldsResponseTransformer","getWorldResponseTransformer","updateWorldResponseTransformer","getWorldInstanceResponseTransformer","apiConfigSchemaResponseTransformer","getConfigResponseTransformer","infoPushSchemaResponseTransformer","getInfoPushResponseTransformer","getSystemTimeResponseTransformer","_HeyApiClient","args","VRChatInternal","formDataBodySerializer","log","debug","logCache","logHttp","logWebsocket","initLogging","interceptors","meta","requestId","requestIdSymbol","clone","VRChatWebsocket","EventEmitter","vrchat","WebSocket","authToken","event","type","_content","content","reason","TwoFactorMethods","authenticateSymbol","requiresTwoFactorAuth","isUser","application","authentication","keyv","verbose","headers","userAgent","Cacheable","Keyv","CacheableHooks","partial","authenticationResult","b","newResponse","credentials","optimistic","authenticatePromise","_credentials","promise","_resolve","resolve","username","password","totpSecret","twoFactorCode","twoFactorMethods","TOTP","code","factors","function_","factor","allCookies","newCookies"],"mappings":"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","file":"index.js","sourcesContent":["export interface Cookie {\n\tname: string;\n\tvalue: string;\n\t/**\n\t * The expiration time of the cookie in milliseconds since the epoch.\n\t * If the cookie does not expire, this will be `null`.\n\t */\n\texpires: number | null;\n\toptions: Record<string, string>;\n}\n\n/**\n * Parses a Set-Cookie header string into a Cookie object.\n *\n * @param cookie - The Set-Cookie header string to parse.\n * @returns A Cookie object containing the name, value, expiration time, and options.\n *\n * @see [Set-Cookie header on MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie)\n */\nexport function parseSetCookie(cookie: string): Cookie {\n\tconst [name, ...rest] = cookie.split(\"=\") as [string, ...Array<string>];\n\tconst [value, ..._options] = rest.join(\"=\").split(\";\") as [string, ...Array<string>];\n\n\tconst options = Object.fromEntries(_options.map((option) => {\n\t\tconst [name, value] = option.split(\"=\") as [string, string];\n\t\treturn [name.trim().toLowerCase(), value];\n\t})) as Record<string, string>;\n\n\t// If both Expires and Max-Age are set, Max-Age has precedence.\n\t// https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#max-agenumber\n\tconst expires = options[\"max-age\"]\n\t\t? Date.now() + Number(options[\"max-age\"]) * 1000\n\t\t: options.expires\n\t\t\t? new Date(options.expires).getTime()\n\t\t\t: null;\n\n\treturn { name, value, expires, options };\n}\n\nexport function serializeCookie({ name, value }: Pick<Cookie, \"name\" | \"value\">): string {\n\treturn `${name}=${value}`;\n}\n\nexport function serializeCookies(cookies: Array<Cookie>): string {\n\treturn cookies.map(serializeCookie).join(\"; \");\n}\n\nexport function toCookiesObject(cookies: Array<Cookie>): Record<string, Cookie> {\n\treturn Object.fromEntries(cookies.map((cookie) => [cookie.name, cookie] as const));\n}\n\nexport function isCookieValid(cookie: Cookie): boolean {\n\treturn cookie.expires === null || cookie.expires > Date.now();\n}\n","export type MaybePromise<T> = Promise<T> | T;\n\nexport type LazyFunction<T> = () => MaybePromise<T>;\nexport type Lazy<T> = LazyFunction<T> | MaybePromise<T>;\n\nfunction isLazyFunction<T>(value: Lazy<T>): value is LazyFunction<T> {\n\treturn typeof value === \"function\";\n}\n\n/**\n * Collapse a lazy value into a promise.\n *\n * If the value is a function, it will be called and the result will be returned.\n * If the value is already a promise or a non-function value, it will be returned as is.\n *\n * @param value The lazy value to collapse.\n * @returns A promise that resolves to the value.\n */\nexport async function collapse<T>(value: Lazy<T>): Promise<T> {\n\treturn isLazyFunction(value) ? value() : value;\n}\n\nexport function tryJsonParse(value: string): unknown {\n\ttry {\n\t\treturn JSON.parse(value);\n\t}\n\tcatch {\n\t\treturn value;\n\t}\n}\n","import { baseUrl, VRChat } from \"./client\";\nimport { tryJsonParse } from \"./utilities\";\n\n/**\n * @internal\n */\ninterface VRChatErrorOptions {\n\tmessage: string;\n\tresponse: Response;\n\trequest: Request;\n}\n\nexport class VRChatError extends Error {\n\tpublic request: Request;\n\tpublic response: Response;\n\n\tpublic get statusCode(): number {\n\t\treturn this.response.status ?? 0;\n\t}\n\n\tpublic get unauthorized(): boolean {\n\t\treturn this.statusCode === 401;\n\t}\n\n\t/**\n\t * Creates a new `VRChatError` instance from a value.\n\t *\n\t * This method is used to convert various types of error values into a consistent `VRChatError` instance.\n\t * It can handle `Error` instances, strings, and objects with a `message` property.\n\t * If the value is already a `VRChatError`, it will return it as is.\n\t *\n\t * @internal\n\t */\n\tpublic static from(value: unknown, request?: Request, response?: Response): VRChatError {\n\t\tif (value instanceof VRChatError)\n\t\t\treturn value;\n\n\t\trequest ??= new Request(baseUrl);\n\t\tresponse ??= new Response();\n\n\t\tif (value instanceof Error)\n\t\t\treturn new VRChatError({ message: value.message, response, request, cause: value });\n\n\t\tif (typeof value == \"string\")\n\t\t\treturn new VRChatError({ message: value, response, request });\n\n\t\tif (typeof value == \"object\" && value) {\n\t\t\tif (\"message\" in value && typeof value.message === \"string\")\n\t\t\t\treturn new VRChatError({ message: value.message, response, request, cause: value });\n\n\t\t\tif (\"error\" in value && typeof value.error === \"object\" && value.error) {\n\t\t\t\tif (\"message\" in value.error && typeof value.error.message === \"string\") {\n\t\t\t\t\t// VRChat sometimes JSON-encodes the error message, so we try to parse it, then stringify it.\n\t\t\t\t\treturn new VRChatError({ message: String(tryJsonParse(value.error.message)), response, request, cause: value });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Last resort, try to stringify the reason.\n\t\treturn new VRChatError({ message: JSON.stringify(value), response, request, cause: value });\n\t}\n\n\tprivate constructor({ message, request, response, cause }: { cause?: unknown } & VRChatErrorOptions) {\n\t\tsuper(message, { cause });\n\n\t\tthis.request = request;\n\t\tthis.response = response;\n\n\t\tthis.name = \"VRChatError\";\n\t\tError.captureStackTrace(this, VRChat);\n\t}\n\n\tpublic toResponseError(): { error: { message: string; status_code: number } } {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\tmessage: this.message,\n\t\t\t\tstatus_code: this.statusCode,\n\t\t\t}\n\t\t};\n\t}\n}\n\n/**\n * @internal\n */\nexport function fail({ message, request, response, throwOnError }: { throwOnError?: boolean } & VRChatErrorOptions): { data: undefined; error: VRChatError; request: Request; response: Response } {\n\tconst error = VRChatError.from(message, request, response);\n\tif (throwOnError) throw error;\n\n\treturn {\n\t\tdata: undefined,\n\t\terror,\n\t\trequest: error.request,\n\t\tresponse: error.response\n\t};\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://api.vrchat.cloud/api/1'\n}));","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { GetCurrentUserResponse, DeleteUserResponse, RegisterUserAccountResponse, GetOwnAvatarResponse, SearchAvatarsResponse, CreateAvatarResponse, DeleteAvatarResponse, GetAvatarResponse, UpdateAvatarResponse, SelectAvatarResponse, SelectFallbackAvatarResponse, GetFavoritedAvatarsResponse, GetLicensedAvatarsResponse, EnqueueImpostorResponse, GetCalendarEventsResponse, GetFeaturedCalendarEventsResponse, GetFollowedCalendarEventsResponse, SearchCalendarEventsResponse, GetGroupCalendarEventsResponse, CreateGroupCalendarEventResponse, GetGroupCalendarEventResponse, UpdateGroupCalendarEventResponse, FollowGroupCalendarEventResponse, GetSteamTransactionsResponse, GetSteamTransactionResponse, GetCurrentSubscriptionsResponse, GetProductListingResponse, GetProductListingsResponse, GetTiliaStatusResponse, GetEconomyAccountResponse, GetStoreResponse, GetStoreShelvesResponse, GetFilesResponse, CreateFileResponse, DeleteFileResponse, GetFileResponse, CreateFileVersionResponse, DeleteFileVersionResponse, FinishFileDataUploadResponse, UploadImageResponse, UploadIconResponse, UploadGalleryImageResponse, GetAdminAssetBundleResponse, GetFriendsResponse, FriendResponse, SearchGroupsResponse, CreateGroupResponse, GetGroupResponse, UpdateGroupResponse, GetGroupAnnouncementsResponse, CreateGroupAnnouncementResponse, GetGroupAuditLogsResponse, GetGroupBansResponse, BanGroupMemberResponse, UnbanGroupMemberResponse, CreateGroupGalleryResponse, GetGroupGalleryImagesResponse, UpdateGroupGalleryResponse, AddGroupGalleryImageResponse, GetGroupInstancesResponse, GetGroupInvitesResponse, JoinGroupResponse, GetGroupMembersResponse, GetGroupMemberResponse, UpdateGroupMemberResponse, GetGroupPostsResponse, AddGroupPostResponse, UpdateGroupPostResponse, GetGroupRequestsResponse, GetGroupRolesResponse, CreateGroupRoleResponse, DeleteGroupRoleResponse, UpdateGroupRoleResponse, GetInventoryResponse, GetOwnInventoryItemResponse, UpdateOwnInventoryItemResponse, GetInventoryDropsResponse, GetInventoryTemplateResponse, InviteUserResponse, InviteUserWithPhotoResponse, InviteMyselfToResponse, RequestInviteResponse, RequestInviteWithPhotoResponse, RespondInviteResponse, RespondInviteWithPhotoResponse, GetInviteMessagesResponse, ResetInviteMessageResponse, GetInviteMessageResponse, UpdateInviteMessageResponse, CreateInstanceResponse, CloseInstanceResponse, GetInstanceResponse, GetInstanceByShortNameResponse, GetNotificationsResponse, GetNotificationResponse, MarkNotificationAsReadResponse, DeleteNotificationResponse, GetPlayerModerationsResponse, ModerateUserResponse, GetUserPrintsResponse, GetPrintResponse, EditPrintResponse, UploadPrintResponse, GetPropResponse, GetJamsResponse, GetJamResponse, GetJamSubmissionsResponse, GetUserByNameResponse, GetUserResponse, UpdateUserResponse, GetUserGroupsResponse, GetUserGroupRequestsResponse, GetUserNotesResponse, UpdateUserNoteResponse, GetUserNoteResponse, AddTagsResponse, RemoveTagsResponse, GetUserGroupInstancesResponse, SearchWorldsResponse, CreateWorldResponse, GetActiveWorldsResponse, GetFavoritedWorldsResponse, GetRecentWorldsResponse, GetWorldResponse, UpdateWorldResponse, GetWorldInstanceResponse, GetConfigResponse, GetInfoPushResponse, GetSystemTimeResponse } from './types.gen';\n\nconst accountDeletionLogSchemaResponseTransformer = (data: any) => {\n if (data.deletionScheduled) {\n data.deletionScheduled = new Date(data.deletionScheduled);\n }\n if (data.dateTime) {\n data.dateTime = new Date(data.dateTime);\n }\n return data;\n};\n\nconst badgeSchemaResponseTransformer = (data: any) => {\n if (data.assignedAt) {\n data.assignedAt = new Date(data.assignedAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nconst pastDisplayNameSchemaResponseTransformer = (data: any) => {\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nconst currentUserSchemaResponseTransformer = (data: any) => {\n if (data.accountDeletionDate) {\n data.accountDeletionDate = new Date(data.accountDeletionDate);\n }\n if (data.accountDeletionLog) {\n data.accountDeletionLog = data.accountDeletionLog.map((item: any) => {\n return accountDeletionLogSchemaResponseTransformer(item);\n });\n }\n if (data.badges) {\n data.badges = data.badges.map((item: any) => {\n return badgeSchemaResponseTransformer(item);\n });\n }\n data.date_joined = new Date(data.date_joined);\n if (data.last_activity) {\n data.last_activity = new Date(data.last_activity);\n }\n data.last_login = new Date(data.last_login);\n if (data.last_mobile) {\n data.last_mobile = new Date(data.last_mobile);\n }\n data.pastDisplayNames = data.pastDisplayNames.map((item: any) => {\n return pastDisplayNameSchemaResponseTransformer(item);\n });\n if (data.platform_history) {\n data.platform_history = data.platform_history.map((item: any) => {\n if (item.recorded) {\n item.recorded = new Date(item.recorded);\n }\n return item;\n });\n }\n if (data.twoFactorAuthEnabledDate) {\n data.twoFactorAuthEnabledDate = new Date(data.twoFactorAuthEnabledDate);\n }\n if (data.updated_at) {\n data.updated_at = new Date(data.updated_at);\n }\n return data;\n};\n\nexport const getCurrentUserResponseTransformer = async (data: any): Promise<GetCurrentUserResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteUserResponseTransformer = async (data: any): Promise<DeleteUserResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const registerUserAccountResponseTransformer = async (data: any): Promise<RegisterUserAccountResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nconst unityPackageSchemaResponseTransformer = (data: any) => {\n if (data.created_at) {\n data.created_at = new Date(data.created_at);\n }\n if (data.unitySortNumber) {\n data.unitySortNumber = BigInt(data.unitySortNumber.toString());\n }\n return data;\n};\n\nconst avatarSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.unityPackages = data.unityPackages.map((item: any) => {\n return unityPackageSchemaResponseTransformer(item);\n });\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getOwnAvatarResponseTransformer = async (data: any): Promise<GetOwnAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const searchAvatarsResponseTransformer = async (data: any): Promise<SearchAvatarsResponse> => {\n data = data.map((item: any) => {\n return avatarSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const createAvatarResponseTransformer = async (data: any): Promise<CreateAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteAvatarResponseTransformer = async (data: any): Promise<DeleteAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getAvatarResponseTransformer = async (data: any): Promise<GetAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateAvatarResponseTransformer = async (data: any): Promise<UpdateAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const selectAvatarResponseTransformer = async (data: any): Promise<SelectAvatarResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const selectFallbackAvatarResponseTransformer = async (data: any): Promise<SelectFallbackAvatarResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFavoritedAvatarsResponseTransformer = async (data: any): Promise<GetFavoritedAvatarsResponse> => {\n data = data.map((item: any) => {\n return avatarSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getLicensedAvatarsResponseTransformer = async (data: any): Promise<GetLicensedAvatarsResponse> => {\n data = data.map((item: any) => {\n return avatarSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst serviceStatusSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const enqueueImpostorResponseTransformer = async (data: any): Promise<EnqueueImpostorResponse> => {\n data = serviceStatusSchemaResponseTransformer(data);\n return data;\n};\n\nconst calendarEventSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.deletedAt) {\n data.deletedAt = new Date(data.deletedAt);\n }\n if (data.endsAt) {\n data.endsAt = new Date(data.endsAt);\n }\n if (data.startsAt) {\n data.startsAt = new Date(data.startsAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n if (data.userInterest) {\n if (data.userInterest.createdAt) {\n data.userInterest.createdAt = new Date(data.userInterest.createdAt);\n }\n if (data.userInterest.updatedAt) {\n data.userInterest.updatedAt = new Date(data.userInterest.updatedAt);\n }\n }\n return data;\n};\n\nconst paginatedCalendarEventListSchemaResponseTransformer = (data: any) => {\n if (data.results) {\n data.results = data.results.map((item: any) => {\n return calendarEventSchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nexport const getCalendarEventsResponseTransformer = async (data: any): Promise<GetCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFeaturedCalendarEventsResponseTransformer = async (data: any): Promise<GetFeaturedCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFollowedCalendarEventsResponseTransformer = async (data: any): Promise<GetFollowedCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const searchCalendarEventsResponseTransformer = async (data: any): Promise<SearchCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupCalendarEventsResponseTransformer = async (data: any): Promise<GetGroupCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const createGroupCalendarEventResponseTransformer = async (data: any): Promise<CreateGroupCalendarEventResponse> => {\n data = calendarEventSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupCalendarEventResponseTransformer = async (data: any): Promise<GetGroupCalendarEventResponse> => {\n data = calendarEventSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateGroupCalendarEventResponseTransformer = async (data: any): Promise<UpdateGroupCalendarEventResponse> => {\n data = calendarEventSchemaResponseTransformer(data);\n return data;\n};\n\nexport const followGroupCalendarEventResponseTransformer = async (data: any): Promise<FollowGroupCalendarEventResponse> => {\n data = calendarEventSchemaResponseTransformer(data);\n return data;\n};\n\nconst transactionSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getSteamTransactionsResponseTransformer = async (data: any): Promise<GetSteamTransactionsResponse> => {\n data = data.map((item: any) => {\n return transactionSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getSteamTransactionResponseTransformer = async (data: any): Promise<GetSteamTransactionResponse> => {\n data = transactionSchemaResponseTransformer(data);\n return data;\n};\n\nconst userSubscriptionSchemaResponseTransformer = (data: any) => {\n data.expires = new Date(data.expires);\n data.created_at = new Date(data.created_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getCurrentSubscriptionsResponseTransformer = async (data: any): Promise<GetCurrentSubscriptionsResponse> => {\n data = data.map((item: any) => {\n return userSubscriptionSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst productSchemaResponseTransformer = (data: any) => {\n data.created = new Date(data.created);\n if (data.updated) {\n data.updated = new Date(data.updated);\n }\n return data;\n};\n\nconst productListingVariantSchemaResponseTransformer = (data: any) => {\n if (data.effectiveFrom) {\n data.effectiveFrom = new Date(data.effectiveFrom);\n }\n return data;\n};\n\nconst productListingSchemaResponseTransformer = (data: any) => {\n if (data.hydratedProducts) {\n data.hydratedProducts = data.hydratedProducts.map((item: any) => {\n return productSchemaResponseTransformer(item);\n });\n }\n if (data.listingVariants) {\n data.listingVariants = data.listingVariants.map((item: any) => {\n return productListingVariantSchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nexport const getProductListingResponseTransformer = async (data: any): Promise<GetProductListingResponse> => {\n data = productListingSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getProductListingsResponseTransformer = async (data: any): Promise<GetProductListingsResponse> => {\n data = data.map((item: any) => {\n return productListingSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst tiliaStatusSchemaResponseTransformer = (data: any) => {\n if (data.plannedOfflineWindowStart) {\n data.plannedOfflineWindowStart = new Date(data.plannedOfflineWindowStart);\n }\n if (data.plannedOfflineWindowEnd) {\n data.plannedOfflineWindowEnd = new Date(data.plannedOfflineWindowEnd);\n }\n return data;\n};\n\nexport const getTiliaStatusResponseTransformer = async (data: any): Promise<GetTiliaStatusResponse> => {\n data = tiliaStatusSchemaResponseTransformer(data);\n return data;\n};\n\nconst economyAccountSchemaResponseTransformer = (data: any) => {\n if (data.accountActivatedOn) {\n data.accountActivatedOn = new Date(data.accountActivatedOn);\n }\n return data;\n};\n\nexport const getEconomyAccountResponseTransformer = async (data: any): Promise<GetEconomyAccountResponse> => {\n data = economyAccountSchemaResponseTransformer(data);\n return data;\n};\n\nconst storeShelfSchemaResponseTransformer = (data: any) => {\n if (data.listings) {\n data.listings = data.listings.map((item: any) => {\n return productListingSchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nconst storeSchemaResponseTransformer = (data: any) => {\n if (data.listings) {\n data.listings = data.listings.map((item: any) => {\n return productListingSchemaResponseTransformer(item);\n });\n }\n if (data.shelves) {\n data.shelves = data.shelves.map((item: any) => {\n return storeShelfSchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nexport const getStoreResponseTransformer = async (data: any): Promise<GetStoreResponse> => {\n data = storeSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getStoreShelvesResponseTransformer = async (data: any): Promise<GetStoreShelvesResponse> => {\n data = data.map((item: any) => {\n return storeShelfSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst fileVersionSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n return data;\n};\n\nconst fileSchemaResponseTransformer = (data: any) => {\n data.versions = data.versions.map((item: any) => {\n return fileVersionSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getFilesResponseTransformer = async (data: any): Promise<GetFilesResponse> => {\n data = data.map((item: any) => {\n return fileSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const createFileResponseTransformer = async (data: any): Promise<CreateFileResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteFileResponseTransformer = async (data: any): Promise<DeleteFileResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFileResponseTransformer = async (data: any): Promise<GetFileResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const createFileVersionResponseTransformer = async (data: any): Promise<CreateFileVersionResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteFileVersionResponseTransformer = async (data: any): Promise<DeleteFileVersionResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const finishFileDataUploadResponseTransformer = async (data: any): Promise<FinishFileDataUploadResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const uploadImageResponseTransformer = async (data: any): Promise<UploadImageResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const uploadIconResponseTransformer = async (data: any): Promise<UploadIconResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const uploadGalleryImageResponseTransformer = async (data: any): Promise<UploadGalleryImageResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nconst adminAssetBundleSchemaResponseTransformer = (data: any) => {\n data._created_at = new Date(data._created_at);\n data._updated_at = new Date(data._updated_at);\n return data;\n};\n\nexport const getAdminAssetBundleResponseTransformer = async (data: any): Promise<GetAdminAssetBundleResponse> => {\n data = adminAssetBundleSchemaResponseTransformer(data);\n return data;\n};\n\nconst limitedUserFriendSchemaResponseTransformer = (data: any) => {\n if (data.last_login) {\n data.last_login = new Date(data.last_login);\n }\n if (data.last_activity) {\n data.last_activity = new Date(data.last_activity);\n }\n if (data.last_mobile) {\n data.last_mobile = new Date(data.last_mobile);\n }\n return data;\n};\n\nexport const getFriendsResponseTransformer = async (data: any): Promise<GetFriendsResponse> => {\n data = data.map((item: any) => {\n return limitedUserFriendSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst notificationSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n return data;\n};\n\nexport const friendResponseTransformer = async (data: any): Promise<FriendResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupGallerySchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nconst limitedGroupSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.galleries) {\n data.galleries = data.galleries.map((item: any) => {\n return groupGallerySchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nexport const searchGroupsResponseTransformer = async (data: any): Promise<SearchGroupsResponse> => {\n data = data.map((item: any) => {\n return limitedGroupSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst groupMyMemberSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.joinedAt) {\n data.joinedAt = new Date(data.joinedAt);\n }\n if (data.lastPostReadAt) {\n data.lastPostReadAt = new Date(data.lastPostReadAt);\n }\n return data;\n};\n\nconst groupRoleSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nconst groupSchemaResponseTransformer = (data: any) => {\n if (data.memberCountSyncedAt) {\n data.memberCountSyncedAt = new Date(data.memberCountSyncedAt);\n }\n if (data.galleries) {\n data.galleries = data.galleries.map((item: any) => {\n return groupGallerySchemaResponseTransformer(item);\n });\n }\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n if (data.lastPostCreatedAt) {\n data.lastPostCreatedAt = new Date(data.lastPostCreatedAt);\n }\n if (data.myMember) {\n data.myMember = groupMyMemberSchemaResponseTransformer(data.myMember);\n }\n if (data.roles) {\n data.roles = data.roles.map((item: any) => {\n return groupRoleSchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nexport const createGroupResponseTransformer = async (data: any): Promise<CreateGroupResponse> => {\n data = groupSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupResponseTransformer = async (data: any): Promise<GetGroupResponse> => {\n data = groupSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateGroupResponseTransformer = async (data: any): Promise<UpdateGroupResponse> => {\n data = groupSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupAnnouncementSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nexport const getGroupAnnouncementsResponseTransformer = async (data: any): Promise<GetGroupAnnouncementsResponse> => {\n data = groupAnnouncementSchemaResponseTransformer(data);\n return data;\n};\n\nexport const createGroupAnnouncementResponseTransformer = async (data: any): Promise<CreateGroupAnnouncementResponse> => {\n data = groupAnnouncementSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupAuditLogEntrySchemaResponseTransformer = (data: any) => {\n if (data.created_at) {\n data.created_at = new Date(data.created_at);\n }\n return data;\n};\n\nconst paginatedGroupAuditLogEntryListSchemaResponseTransformer = (data: any) => {\n if (data.results) {\n data.results = data.results.map((item: any) => {\n return groupAuditLogEntrySchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nexport const getGroupAuditLogsResponseTransformer = async (data: any): Promise<GetGroupAuditLogsResponse> => {\n data = paginatedGroupAuditLogEntryListSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupMemberSchemaResponseTransformer = (data: any) => {\n if (data.joinedAt) {\n data.joinedAt = new Date(data.joinedAt);\n }\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.bannedAt) {\n data.bannedAt = new Date(data.bannedAt);\n }\n if (data.lastPostReadAt) {\n data.lastPostReadAt = new Date(data.lastPostReadAt);\n }\n return data;\n};\n\nexport const getGroupBansResponseTransformer = async (data: any): Promise<GetGroupBansResponse> => {\n data = data.map((item: any) => {\n return groupMemberSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const banGroupMemberResponseTransformer = async (data: any): Promise<BanGroupMemberResponse> => {\n data = groupMemberSchemaResponseTransformer(data);\n return data;\n};\n\nexport const unbanGroupMemberResponseTransformer = async (data: any): Promise<UnbanGroupMemberResponse> => {\n data = groupMemberSchemaResponseTransformer(data);\n return data;\n};\n\nexport const createGroupGalleryResponseTransformer = async (data: any): Promise<CreateGroupGalleryResponse> => {\n data = groupGallerySchemaResponseTransformer(data);\n return data;\n};\n\nconst groupGalleryImageSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.approvedAt) {\n data.approvedAt = new Date(data.approvedAt);\n }\n return data;\n};\n\nexport const getGroupGalleryImagesResponseTransformer = async (data: any): Promise<GetGroupGalleryImagesResponse> => {\n data = data.map((item: any) => {\n return groupGalleryImageSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const updateGroupGalleryResponseTransformer = async (data: any): Promise<UpdateGroupGalleryResponse> => {\n data = groupGallerySchemaResponseTransformer(data);\n return data;\n};\n\nexport const addGroupGalleryImageResponseTransformer = async (data: any): Promise<AddGroupGalleryImageResponse> => {\n data = groupGalleryImageSchemaResponseTransformer(data);\n return data;\n};\n\nconst worldSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n if (data.unityPackages) {\n data.unityPackages = data.unityPackages.map((item: any) => {\n return unityPackageSchemaResponseTransformer(item);\n });\n }\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nconst groupInstanceSchemaResponseTransformer = (data: any) => {\n data.world = worldSchemaResponseTransformer(data.world);\n return data;\n};\n\nexport const getGroupInstancesResponseTransformer = async (data: any): Promise<GetGroupInstancesResponse> => {\n data = data.map((item: any) => {\n return groupInstanceSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getGroupInvitesResponseTransformer = async (data: any): Promise<GetGroupInvitesResponse> => {\n data = data.map((item: any) => {\n return groupMemberSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const joinGroupResponseTransformer = async (data: any): Promise<JoinGroupResponse> => {\n data = groupMemberSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupMembersResponseTransformer = async (data: any): Promise<GetGroupMembersResponse> => {\n data = data.map((item: any) => {\n return groupMemberSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst groupLimitedMemberSchemaResponseTransformer = (data: any) => {\n if (data.joinedAt) {\n data.joinedAt = new Date(data.joinedAt);\n }\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.bannedAt) {\n data.bannedAt = new Date(data.bannedAt);\n }\n if (data.lastPostReadAt) {\n data.lastPostReadAt = new Date(data.lastPostReadAt);\n }\n return data;\n};\n\nexport const getGroupMemberResponseTransformer = async (data: any): Promise<GetGroupMemberResponse> => {\n data = groupLimitedMemberSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateGroupMemberResponseTransformer = async (data: any): Promise<UpdateGroupMemberResponse> => {\n data = groupLimitedMemberSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupPostSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nexport const getGroupPostsResponseTransformer = async (data: any): Promise<GetGroupPostsResponse> => {\n if (data.posts) {\n data.posts = data.posts.map((item: any) => {\n return groupPostSchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nexport const addGroupPostResponseTransformer = async (data: any): Promise<AddGroupPostResponse> => {\n data = groupPostSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateGroupPostResponseTransformer = async (data: any): Promise<UpdateGroupPostResponse> => {\n data = groupPostSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupRequestsResponseTransformer = async (data: any): Promise<GetGroupRequestsResponse> => {\n data = data.map((item: any) => {\n return groupMemberSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getGroupRolesResponseTransformer = async (data: any): Promise<GetGroupRolesResponse> => {\n data = data.map((item: any) => {\n return groupRoleSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const createGroupRoleResponseTransformer = async (data: any): Promise<CreateGroupRoleResponse> => {\n data = groupRoleSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteGroupRoleResponseTransformer = async (data: any): Promise<DeleteGroupRoleResponse> => {\n data = data.map((item: any) => {\n return groupRoleSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const updateGroupRoleResponseTransformer = async (data: any): Promise<UpdateGroupRoleResponse> => {\n data = data.map((item: any) => {\n return groupRoleSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst inventoryItemSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n if (data.expiryDate) {\n data.expiryDate = new Date(data.expiryDate);\n }\n data.template_created_at = new Date(data.template_created_at);\n data.template_updated_at = new Date(data.template_updated_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nconst inventorySchemaResponseTransformer = (data: any) => {\n data.data = data.data.map((item: any) => {\n return inventoryItemSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getInventoryResponseTransformer = async (data: any): Promise<GetInventoryResponse> => {\n data = inventorySchemaResponseTransformer(data);\n return data;\n};\n\nexport const getOwnInventoryItemResponseTransformer = async (data: any): Promise<GetOwnInventoryItemResponse> => {\n data = inventoryItemSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateOwnInventoryItemResponseTransformer = async (data: any): Promise<UpdateOwnInventoryItemResponse> => {\n data = inventoryItemSchemaResponseTransformer(data);\n return data;\n};\n\nconst inventoryDropSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n if (data.dropExpiryDate) {\n data.dropExpiryDate = new Date(data.dropExpiryDate);\n }\n data.endDropDate = new Date(data.endDropDate);\n data.startDropDate = new Date(data.startDropDate);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getInventoryDropsResponseTransformer = async (data: any): Promise<GetInventoryDropsResponse> => {\n data = data.map((item: any) => {\n return inventoryDropSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst inventoryTemplateSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getInventoryTemplateResponseTransformer = async (data: any): Promise<GetInventoryTemplateResponse> => {\n data = inventoryTemplateSchemaResponseTransformer(data);\n return data;\n};\n\nconst sentNotificationSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n return data;\n};\n\nexport const inviteUserResponseTransformer = async (data: any): Promise<InviteUserResponse> => {\n data = sentNotificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const inviteUserWithPhotoResponseTransformer = async (data: any): Promise<InviteUserWithPhotoResponse> => {\n data = sentNotificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const inviteMyselfToResponseTransformer = async (data: any): Promise<InviteMyselfToResponse> => {\n data = sentNotificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const requestInviteResponseTransformer = async (data: any): Promise<RequestInviteResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const requestInviteWithPhotoResponseTransformer = async (data: any): Promise<RequestInviteWithPhotoResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const respondInviteResponseTransformer = async (data: any): Promise<RespondInviteResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const respondInviteWithPhotoResponseTransformer = async (data: any): Promise<RespondInviteWithPhotoResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nconst inviteMessageSchemaResponseTransformer = (data: any) => {\n data.updatedAt = new Date(data.updatedAt);\n return data;\n};\n\nexport const getInviteMessagesResponseTransformer = async (data: any): Promise<GetInviteMessagesResponse> => {\n data = data.map((item: any) => {\n return inviteMessageSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const resetInviteMessageResponseTransformer = async (data: any): Promise<ResetInviteMessageResponse> => {\n data = data.map((item: any) => {\n return inviteMessageSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getInviteMessageResponseTransformer = async (data: any): Promise<GetInviteMessageResponse> => {\n data = inviteMessageSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateInviteMessageResponseTransformer = async (data: any): Promise<UpdateInviteMessageResponse> => {\n data = data.map((item: any) => {\n return inviteMessageSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst limitedUserInstanceSchemaResponseTransformer = (data: any) => {\n if (data.date_joined) {\n data.date_joined = new Date(data.date_joined);\n }\n if (data.last_activity) {\n data.last_activity = new Date(data.last_activity);\n }\n if (data.last_mobile) {\n data.last_mobile = new Date(data.last_mobile);\n }\n return data;\n};\n\nconst instanceSchemaResponseTransformer = (data: any) => {\n data.world = worldSchemaResponseTransformer(data.world);\n if (data.users) {\n data.users = data.users.map((item: any) => {\n return limitedUserInstanceSchemaResponseTransformer(item);\n });\n }\n if (data.closedAt) {\n data.closedAt = new Date(data.closedAt);\n }\n return data;\n};\n\nexport const createInstanceResponseTransformer = async (data: any): Promise<CreateInstanceResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nexport const closeInstanceResponseTransformer = async (data: any): Promise<CloseInstanceResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getInstanceResponseTransformer = async (data: any): Promise<GetInstanceResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getInstanceByShortNameResponseTransformer = async (data: any): Promise<GetInstanceByShortNameResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getNotificationsResponseTransformer = async (data: any): Promise<GetNotificationsResponse> => {\n data = data.map((item: any) => {\n return notificationSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getNotificationResponseTransformer = async (data: any): Promise<GetNotificationResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const markNotificationAsReadResponseTransformer = async (data: any): Promise<MarkNotificationAsReadResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteNotificationResponseTransformer = async (data: any): Promise<DeleteNotificationResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nconst playerModerationSchemaResponseTransformer = (data: any) => {\n data.created = new Date(data.created);\n return data;\n};\n\nexport const getPlayerModerationsResponseTransformer = async (data: any): Promise<GetPlayerModerationsResponse> => {\n data = data.map((item: any) => {\n return playerModerationSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const moderateUserResponseTransformer = async (data: any): Promise<ModerateUserResponse> => {\n data = playerModerationSchemaResponseTransformer(data);\n return data;\n};\n\nconst printSchemaResponseTransformer = (data: any) => {\n data.createdAt = new Date(data.createdAt);\n data.timestamp = new Date(data.timestamp);\n return data;\n};\n\nexport const getUserPrintsResponseTransformer = async (data: any): Promise<GetUserPrintsResponse> => {\n data = data.map((item: any) => {\n return printSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getPrintResponseTransformer = async (data: any): Promise<GetPrintResponse> => {\n data = printSchemaResponseTransformer(data);\n return data;\n};\n\nexport const editPrintResponseTransformer = async (data: any): Promise<EditPrintResponse> => {\n data = printSchemaResponseTransformer(data);\n return data;\n};\n\nexport const uploadPrintResponseTransformer = async (data: any): Promise<UploadPrintResponse> => {\n data = printSchemaResponseTransformer(data);\n return data;\n};\n\nconst propSchemaResponseTransformer = (data: any) => {\n data._created_at = new Date(data._created_at);\n data._updated_at = new Date(data._updated_at);\n return data;\n};\n\nexport const getPropResponseTransformer = async (data: any): Promise<GetPropResponse> => {\n data = propSchemaResponseTransformer(data);\n return data;\n};\n\nconst jamSchemaResponseTransformer = (data: any) => {\n if (data.stateChangeDates.closed) {\n data.stateChangeDates.closed = new Date(data.stateChangeDates.closed);\n }\n if (data.stateChangeDates.submissionsClosed) {\n data.stateChangeDates.submissionsClosed = new Date(data.stateChangeDates.submissionsClosed);\n }\n if (data.stateChangeDates.submissionsOpened) {\n data.stateChangeDates.submissionsOpened = new Date(data.stateChangeDates.submissionsOpened);\n }\n if (data.stateChangeDates.winnersSelected) {\n data.stateChangeDates.winnersSelected = new Date(data.stateChangeDates.winnersSelected);\n }\n if (data.submissionContentGateDate) {\n data.submissionContentGateDate = new Date(data.submissionContentGateDate);\n }\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getJamsResponseTransformer = async (data: any): Promise<GetJamsResponse> => {\n data = data.map((item: any) => {\n return jamSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getJamResponseTransformer = async (data: any): Promise<GetJamResponse> => {\n data = jamSchemaResponseTransformer(data);\n return data;\n};\n\nconst submissionSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n return data;\n};\n\nexport const getJamSubmissionsResponseTransformer = async (data: any): Promise<GetJamSubmissionsResponse> => {\n data = data.map((item: any) => {\n return submissionSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst userSchemaResponseTransformer = (data: any) => {\n if (data.badges) {\n data.badges = data.badges.map((item: any) => {\n return badgeSchemaResponseTransformer(item);\n });\n }\n data.date_joined = new Date(data.date_joined);\n return data;\n};\n\nexport const getUserByNameResponseTransformer = async (data: any): Promise<GetUserByNameResponse> => {\n data = userSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getUserResponseTransformer = async (data: any): Promise<GetUserResponse> => {\n data = userSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateUserResponseTransformer = async (data: any): Promise<UpdateUserResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nconst limitedUserGroupsSchemaResponseTransformer = (data: any) => {\n if (data.lastPostCreatedAt) {\n data.lastPostCreatedAt = new Date(data.lastPostCreatedAt);\n }\n if (data.lastPostReadAt) {\n data.lastPostReadAt = new Date(data.lastPostReadAt);\n }\n return data;\n};\n\nexport const getUserGroupsResponseTransformer = async (data: any): Promise<GetUserGroupsResponse> => {\n data = data.map((item: any) => {\n return limitedUserGroupsSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getUserGroupRequestsResponseTransformer = async (data: any): Promise<GetUserGroupRequestsResponse> => {\n data = data.map((item: any) => {\n return groupSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst userNoteSchemaResponseTransformer = (data: any) => {\n data.createdAt = new Date(data.createdAt);\n return data;\n};\n\nexport const getUserNotesResponseTransformer = async (data: any): Promise<GetUserNotesResponse> => {\n data = data.map((item: any) => {\n return userNoteSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const updateUserNoteResponseTransformer = async (data: any): Promise<UpdateUserNoteResponse> => {\n data = userNoteSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getUserNoteResponseTransformer = async (data: any): Promise<GetUserNoteResponse> => {\n data = userNoteSchemaResponseTransformer(data);\n return data;\n};\n\nexport const addTagsResponseTransformer = async (data: any): Promise<AddTagsResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const removeTagsResponseTransformer = async (data: any): Promise<RemoveTagsResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getUserGroupInstancesResponseTransformer = async (data: any): Promise<GetUserGroupInstancesResponse> => {\n if (data.fetchedAt) {\n data.fetchedAt = new Date(data.fetchedAt);\n }\n if (data.instances) {\n data.instances = data.instances.map((item: any) => {\n return instanceSchemaResponseTransformer(item);\n });\n }\n return data;\n};\n\nconst limitedUnityPackageSchemaResponseTransformer = (data: any) => {\n if (data.created_at) {\n data.created_at = new Date(data.created_at);\n }\n return data;\n};\n\nconst limitedWorldSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.unityPackages = data.unityPackages.map((item: any) => {\n return limitedUnityPackageSchemaResponseTransformer(item);\n });\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const searchWorldsResponseTransformer = async (data: any): Promise<SearchWorldsResponse> => {\n data = data.map((item: any) => {\n return limitedWorldSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const createWorldResponseTransformer = async (data: any): Promise<CreateWorldResponse> => {\n data = worldSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getActiveWorldsResponseTransformer = async (data: any): Promise<GetActiveWorldsResponse> => {\n data = data.map((item: any) => {\n return limitedWorldSchemaResponseTransformer(item);\n });\n return data;\n};\n\nconst favoritedWorldSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.unityPackages = data.unityPackages.map((item: any) => {\n return unityPackageSchemaResponseTransformer(item);\n });\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getFavoritedWorldsResponseTransformer = async (data: any): Promise<GetFavoritedWorldsResponse> => {\n data = data.map((item: any) => {\n return favoritedWorldSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getRecentWorldsResponseTransformer = async (data: any): Promise<GetRecentWorldsResponse> => {\n data = data.map((item: any) => {\n return limitedWorldSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getWorldResponseTransformer = async (data: any): Promise<GetWorldResponse> => {\n data = worldSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateWorldResponseTransformer = async (data: any): Promise<UpdateWorldResponse> => {\n data = worldSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getWorldInstanceResponseTransformer = async (data: any): Promise<GetWorldInstanceResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nconst apiConfigSchemaResponseTransformer = (data: any) => {\n data['dis-countdown'] = new Date(data['dis-countdown']);\n return data;\n};\n\nexport const getConfigResponseTransformer = async (data: any): Promise<GetConfigResponse> => {\n data = apiConfigSchemaResponseTransformer(data);\n return data;\n};\n\nconst infoPushSchemaResponseTransformer = (data: any) => {\n data.createdAt = new Date(data.createdAt);\n data.updatedAt = new Date(data.updatedAt);\n if (data.startDate) {\n data.startDate = new Date(data.startDate);\n }\n if (data.endDate) {\n data.endDate = new Date(data.endDate);\n }\n return data;\n};\n\nexport const getInfoPushResponseTransformer = async (data: any): Promise<GetInfoPushResponse> => {\n data = data.map((item: any) => {\n return infoPushSchemaResponseTransformer(item);\n });\n return data;\n};\n\nexport const getSystemTimeResponseTransformer = async (data: any): Promise<GetSystemTimeResponse> => {\n data = new Date(data);\n return data;\n};","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Options as ClientOptions, type TDataShape, type Client, formDataBodySerializer } from '@hey-api/client-fetch';\nimport type { CheckUserExistsData, CheckUserExistsResponses, CheckUserExistsErrors, GetCurrentUserData, GetCurrentUserResponses, GetCurrentUserErrors, Disable2FaData, Disable2FaResponses, Disable2FaErrors, Verify2FaData, Verify2FaResponses, Verify2FaErrors, CancelPending2FaData, CancelPending2FaResponses, CancelPending2FaErrors, Enable2FaData, Enable2FaResponses, Enable2FaErrors, VerifyPending2FaData, VerifyPending2FaResponses, VerifyPending2FaErrors, GetRecoveryCodesData, GetRecoveryCodesResponses, GetRecoveryCodesErrors, VerifyRecoveryCodeData, VerifyRecoveryCodeResponses, VerifyRecoveryCodeErrors, Verify2FaEmailCodeData, Verify2FaEmailCodeResponses, Verify2FaEmailCodeErrors, VerifyAuthTokenData, VerifyAuthTokenResponses, VerifyAuthTokenErrors, LogoutData, LogoutResponses, LogoutErrors, DeleteUserData, DeleteUserResponses, DeleteUserErrors, RegisterUserAccountData, RegisterUserAccountResponses, RegisterUserAccountErrors, ResendEmailConfirmationData, ResendEmailConfirmationResponses, ResendEmailConfirmationErrors, ConfirmEmailData, VerifyLoginPlaceData, GetOwnAvatarData, GetOwnAvatarResponses, GetOwnAvatarErrors, SearchAvatarsData, SearchAvatarsResponses, SearchAvatarsErrors, CreateAvatarData, CreateAvatarResponses, CreateAvatarErrors, GetAvatarStylesData, GetAvatarStylesResponses, DeleteAvatarData, DeleteAvatarResponses, DeleteAvatarErrors, GetAvatarData, GetAvatarResponses, GetAvatarErrors, UpdateAvatarData, UpdateAvatarResponses, UpdateAvatarErrors, SelectAvatarData, SelectAvatarResponses, SelectAvatarErrors, SelectFallbackAvatarData, SelectFallbackAvatarResponses, SelectFallbackAvatarErrors, GetFavoritedAvatarsData, GetFavoritedAvatarsResponses, GetFavoritedAvatarsErrors, GetLicensedAvatarsData, GetLicensedAvatarsResponses, GetLicensedAvatarsErrors, EnqueueImpostorData, EnqueueImpostorResponses, EnqueueImpostorErrors, GetImpostorQueueStatsData, GetImpostorQueueStatsResponses, GetImpostorQueueStatsErrors, DeleteImpostorData, DeleteImpostorResponses, DeleteImpostorErrors, GetCalendarEventsData, GetCalendarEventsResponses, GetCalendarEventsErrors, GetFeaturedCalendarEventsData, GetFeaturedCalendarEventsResponses, GetFeaturedCalendarEventsErrors, GetFollowedCalendarEventsData, GetFollowedCalendarEventsResponses, GetFollowedCalendarEventsErrors, SearchCalendarEventsData, SearchCalendarEventsResponses, SearchCalendarEventsErrors, GetGroupCalendarEventsData, GetGroupCalendarEventsResponses, GetGroupCalendarEventsErrors, CreateGroupCalendarEventData, CreateGroupCalendarEventResponses, CreateGroupCalendarEventErrors, DeleteGroupCalendarEventData, DeleteGroupCalendarEventResponses, DeleteGroupCalendarEventErrors, GetGroupCalendarEventData, GetGroupCalendarEventResponses, GetGroupCalendarEventErrors, GetGroupCalendarEventIcsData, GetGroupCalendarEventIcsResponses, GetGroupCalendarEventIcsErrors, UpdateGroupCalendarEventData, UpdateGroupCalendarEventResponses, UpdateGroupCalendarEventErrors, FollowGroupCalendarEventData, FollowGroupCalendarEventResponses, FollowGroupCalendarEventErrors, GetSteamTransactionsData, GetSteamTransactionsResponses, GetSteamTransactionsErrors, GetSteamTransactionData, GetSteamTransactionResponses, GetSteamTransactionErrors, GetCurrentSubscriptionsData, GetCurrentSubscriptionsResponses, GetCurrentSubscriptionsErrors, GetUserSubscriptionEligibleData, GetUserSubscriptionEligibleResponses, GetUserSubscriptionEligibleErrors, GetSubscriptionsData, GetSubscriptionsResponses, GetSubscriptionsErrors, GetLicenseGroupData, GetLicenseGroupResponses, GetLicenseGroupErrors, GetProductListingData, GetProductListingResponses, GetProductListingErrors, GetProductListingsData, GetProductListingsResponses, GetProductListingsErrors, GetTokenBundlesData, GetTokenBundlesResponses, GetTokenBundlesErrors, GetTiliaStatusData, GetTiliaStatusResponses, GetTiliaStatusErrors, GetTiliaTosData, GetTiliaTosResponses, GetTiliaTosErrors, GetBalanceData, GetBalanceResponses, GetBalanceErrors, GetBalanceEarningsData, GetBalanceEarningsResponses, GetBalanceEarningsErrors, GetEconomyAccountData, GetEconomyAccountResponses, GetEconomyAccountErrors, GetActiveLicensesData, GetActiveLicensesResponses, GetActiveLicensesErrors, GetStoreData, GetStoreResponses, GetStoreErrors, GetStoreShelvesData, GetStoreShelvesResponses, GetStoreShelvesErrors, GetFavoritesData, GetFavoritesResponses, GetFavoritesErrors, AddFavoriteData, AddFavoriteResponses, AddFavoriteErrors, RemoveFavoriteData, RemoveFavoriteResponses, RemoveFavoriteErrors, GetFavoriteGroupsData, GetFavoriteGroupsResponses, GetFavoriteGroupsErrors, ClearFavoriteGroupData, ClearFavoriteGroupResponses, GetFavoriteGroupData, GetFavoriteGroupResponses, UpdateFavoriteGroupData, UpdateFavoriteGroupResponses, GetFavoriteLimitsData, GetFavoriteLimitsResponses, GetFavoriteLimitsErrors, GetFilesData, GetFilesResponses, CreateFileData, CreateFileResponses, DeleteFileData, DeleteFileResponses, DeleteFileErrors, GetFileData, GetFileResponses, GetFileErrors, CreateFileVersionData, CreateFileVersionResponses, DeleteFileVersionData, DeleteFileVersionResponses, DeleteFileVersionErrors, DownloadFileVersionData, DownloadFileVersionResponses, DownloadFileVersionErrors, FinishFileDataUploadData, FinishFileDataUploadResponses, StartFileDataUploadData, StartFileDataUploadResponses, StartFileDataUploadErrors, GetFileDataUploadStatusData, GetFileDataUploadStatusResponses, GetFileAnalysisData, GetFileAnalysisResponses, GetFileAnalysisErrors, GetFileAnalysisSecurityData, GetFileAnalysisSecurityResponses, GetFileAnalysisSecurityErrors, GetFileAnalysisStandardData, GetFileAnalysisStandardResponses, GetFileAnalysisStandardErrors, UploadImageData, UploadImageResponses, UploadIconData, UploadIconResponses, UploadGalleryImageData, UploadGalleryImageResponses, GetAdminAssetBundleData, GetAdminAssetBundleResponses, GetFriendsData, GetFriendsResponses, GetFriendsErrors, DeleteFriendRequestData, DeleteFriendRequestResponses, DeleteFriendRequestErrors, FriendData, FriendResponses, FriendErrors, GetFriendStatusData, GetFriendStatusResponses, GetFriendStatusErrors, UnfriendData, UnfriendResponses, UnfriendErrors, SearchGroupsData, SearchGroupsResponses, SearchGroupsErrors, CreateGroupData, CreateGroupResponses, CreateGroupErrors, GetGroupRoleTemplatesData, GetGroupRoleTemplatesResponses, GetGroupRoleTemplatesErrors, DeleteGroupData, DeleteGroupResponses, DeleteGroupErrors, GetGroupData, GetGroupResponses, GetGroupErrors, UpdateGroupData, UpdateGroupResponses, UpdateGroupErrors, DeleteGroupAnnouncementData, DeleteGroupAnnouncementResponses, DeleteGroupAnnouncementErrors, GetGroupAnnouncementsData, GetGroupAnnouncementsResponses, GetGroupAnnouncementsErrors, CreateGroupAnnouncementData, CreateGroupAnnouncementResponses, CreateGroupAnnouncementErrors, GetGroupAuditLogsData, GetGroupAuditLogsResponses, GetGroupAuditLogsErrors, GetGroupBansData, GetGroupBansResponses, GetGroupBansErrors, BanGroupMemberData, BanGroupMemberResponses, BanGroupMemberErrors, UnbanGroupMemberData, UnbanGroupMemberResponses, UnbanGroupMemberErrors, CreateGroupGalleryData, CreateGroupGalleryResponses, CreateGroupGalleryErrors, DeleteGroupGalleryData, DeleteGroupGalleryResponses, DeleteGroupGalleryErrors, GetGroupGalleryImagesData, GetGroupGalleryImagesResponses, GetGroupGalleryImagesErrors, UpdateGroupGalleryData, UpdateGroupGalleryResponses, UpdateGroupGalleryErrors, AddGroupGalleryImageData, AddGroupGalleryImageResponses, AddGroupGalleryImageErrors, DeleteGroupGalleryImageData, DeleteGroupGalleryImageResponses, DeleteGroupGalleryImageErrors, GetGroupInstancesData, GetGroupInstancesResponses, GetGroupInstancesErrors, GetGroupInvitesData, GetGroupInvitesResponses, GetGroupInvitesErrors, CreateGroupInviteData, CreateGroupInviteResponses, CreateGroupInviteErrors, DeleteGroupInviteData, DeleteGroupInviteResponses, DeleteGroupInviteErrors, JoinGroupData, JoinGroupResponses, JoinGroupErrors, LeaveGroupData, LeaveGroupResponses, LeaveGroupErrors, GetGroupMembersData, GetGroupMembersResponses, GetGroupMembersErrors, KickGroupMemberData, KickGroupMemberResponses, KickGroupMemberErrors, GetGroupMemberData, GetGroupMemberResponses, GetGroupMemberErrors, UpdateGroupMemberData, UpdateGroupMemberResponses, UpdateGroupMemberErrors, RemoveGroupMemberRoleData, RemoveGroupMemberRoleResponses, RemoveGroupMemberRoleErrors, AddGroupMemberRoleData, AddGroupMemberRoleResponses, AddGroupMemberRoleErrors, GetGroupPermissionsData, GetGroupPermissionsResponses, GetGroupPermissionsErrors, GetGroupPostsData, GetGroupPostsResponses, GetGroupPostsErrors, AddGroupPostData, AddGroupPostResponses, AddGroupPostErrors, DeleteGroupPostData, DeleteGroupPostResponses, DeleteGroupPostErrors, UpdateGroupPostData, UpdateGroupPostResponses, UpdateGroupPostErrors, UpdateGroupRepresentationData, UpdateGroupRepresentationResponses, UpdateGroupRepresentationErrors, CancelGroupRequestData, CancelGroupRequestResponses, CancelGroupRequestErrors, GetGroupRequestsData, GetGroupRequestsResponses, GetGroupRequestsErrors, RespondGroupJoinRequestData, RespondGroupJoinRequestResponses, RespondGroupJoinRequestErrors, GetGroupRolesData, GetGroupRolesResponses, GetGroupRolesErrors, CreateGroupRoleData, CreateGroupRoleResponses, CreateGroupRoleErrors, DeleteGroupRoleData, DeleteGroupRoleResponses, DeleteGroupRoleErrors, UpdateGroupRoleData, UpdateGroupRoleResponses, UpdateGroupRoleErrors, GetInventoryData, GetInventoryResponses, GetInventoryErrors, GetOwnInventoryItemData, GetOwnInventoryItemResponses, GetOwnInventoryItemErrors, UpdateOwnInventoryItemData, UpdateOwnInventoryItemResponses, UpdateOwnInventoryItemErrors, GetInventoryDropsData, GetInventoryDropsResponses, GetInventoryDropsErrors, GetInventoryTemplateData, GetInventoryTemplateResponses, GetInventoryTemplateErrors, SpawnInventoryItemData, SpawnInventoryItemResponses, SpawnInventoryItemErrors, ShareInventoryItemPedestalData, ShareInventoryItemPedestalResponses, ShareInventoryItemPedestalErrors, ShareInventoryItemDirectData, ShareInventoryItemDirectResponses, ShareInventoryItemDirectErrors, InviteUserData, InviteUserResponses, InviteUserErrors, InviteUserWithPhotoData, InviteUserWithPhotoResponses, InviteUserWithPhotoErrors, InviteMyselfToData, InviteMyselfToResponses, InviteMyselfToErrors, RequestInviteData, RequestInviteResponses, RequestInviteErrors, RequestInviteWithPhotoData, RequestInviteWithPhotoResponses, RequestInviteWithPhotoErrors, RespondInviteData, RespondInviteResponses, RespondInviteErrors, RespondInviteWithPhotoData, RespondInviteWithPhotoResponses, RespondInviteWithPhotoErrors, GetInviteMessagesData, GetInviteMessagesResponses, GetInviteMessagesErrors, ResetInviteMessageData, ResetInviteMessageResponses, ResetInviteMessageErrors, GetInviteMessageData, GetInviteMessageResponses, GetInviteMessageErrors, UpdateInviteMessageData, UpdateInviteMessageResponses, UpdateInviteMessageErrors, CreateInstanceData, CreateInstanceResponses, CreateInstanceErrors, GetRecentLocationsData, GetRecentLocationsResponses, GetRecentLocationsErrors, CloseInstanceData, CloseInstanceResponses, CloseInstanceErrors, GetInstanceData, GetInstanceResponses, GetInstanceErrors, GetShortNameData, GetShortNameResponses, GetShortNameErrors, GetInstanceByShortNameData, GetInstanceByShortNameResponses, GetInstanceByShortNameErrors, GetNotificationsData, GetNotificationsResponses, GetNotificationsErrors, GetNotificationData, GetNotificationResponses, GetNotificationErrors, AcceptFriendRequestData, AcceptFriendRequestResponses, AcceptFriendRequestErrors, MarkNotificationAsReadData, MarkNotificationAsReadResponses, MarkNotificationAsReadErrors, DeleteNotificationData, DeleteNotificationResponses, DeleteNotificationErrors, ClearNotificationsData, ClearNotificationsResponses, ClearNotificationsErrors, ClearAllPlayerModerationsData, ClearAllPlayerModerationsResponses, ClearAllPlayerModerationsErrors, GetPlayerModerationsData, GetPlayerModerationsResponses, GetPlayerModerationsErrors, ModerateUserData, ModerateUserResponses, ModerateUserErrors, UnmoderateUserData, UnmoderateUserResponses, UnmoderateUserErrors, GetUserPrintsData, GetUserPrintsResponses, GetUserPrintsErrors, DeletePrintData, DeletePrintResponses, DeletePrintErrors, GetPrintData, GetPrintResponses, GetPrintErrors, EditPrintData, EditPrintResponses, EditPrintErrors, UploadPrintData, UploadPrintResponses, UploadPrintErrors, GetPropData, GetPropResponses, GetPropErrors, GetJamsData, GetJamsResponses, GetJamData, GetJamResponses, GetJamErrors, GetJamSubmissionsData, GetJamSubmissionsResponses, GetJamSubmissionsErrors, SearchUsersData, SearchUsersResponses, SearchUsersErrors, GetUserByNameData, GetUserByNameResponses, GetUserByNameErrors, GetUserData, GetUserResponses, GetUserErrors, UpdateUserData, UpdateUserResponses, UpdateUserErrors, GetUserGroupsData, GetUserGroupsResponses, GetUserGroupsErrors, GetUserGroupRequestsData, GetUserGroupRequestsResponses, GetUserGroupRequestsErrors, GetUserRepresentedGroupData, GetUserRepresentedGroupResponses, GetUserRepresentedGroupErrors, GetUserFeedbackData, GetUserFeedbackResponses, GetUserFeedbackErrors, GetUserNotesData, GetUserNotesResponses, GetUserNotesErrors, UpdateUserNoteData, UpdateUserNoteResponses, UpdateUserNoteErrors, GetUserNoteData, GetUserNoteResponses, GetUserNoteErrors, AddTagsData, AddTagsResponses, AddTagsErrors, RemoveTagsData, RemoveTagsResponses, RemoveTagsErrors, UpdateBadgeData, UpdateBadgeResponses, UpdateBadgeErrors, GetUserGroupInstancesData, GetUserGroupInstancesResponses, GetUserGroupInstancesErrors, CheckUserPersistenceExistsData, CheckUserPersistenceExistsResponses, CheckUserPersistenceExistsErrors, DeleteUserPersistenceData, DeleteUserPersistenceResponses, DeleteUserPersistenceErrors, SearchWorldsData, SearchWorldsResponses, SearchWorldsErrors, CreateWorldData, CreateWorldResponses, CreateWorldErrors, GetActiveWorldsData, GetActiveWorldsResponses, GetActiveWorldsErrors, GetFavoritedWorldsData, GetFavoritedWorldsResponses, GetFavoritedWorldsErrors, GetRecentWorldsData, GetRecentWorldsResponses, GetRecentWorldsErrors, DeleteWorldData, DeleteWorldResponses, DeleteWorldErrors, GetWorldData, GetWorldResponses, GetWorldErrors, UpdateWorldData, UpdateWorldResponses, UpdateWorldErrors, GetWorldMetadataData, GetWorldMetadataResponses, GetWorldMetadataErrors, UnpublishWorldData, UnpublishWorldResponses, UnpublishWorldErrors, GetWorldPublishStatusData, GetWorldPublishStatusResponses, GetWorldPublishStatusErrors, PublishWorldData, PublishWorldResponses, PublishWorldErrors, GetWorldInstanceData, GetWorldInstanceResponses, GetWorldInstanceErrors, GetConfigData, GetConfigResponses, GetInfoPushData, GetInfoPushResponses, GetCssData, GetCssResponses, GetCssErrors, GetJavaScriptData, GetJavaScriptResponses, GetJavaScriptErrors, GetHealthData, GetHealthResponses, GetCurrentOnlineUsersData, GetCurrentOnlineUsersResponses, GetSystemTimeData, GetSystemTimeResponses, GetAssignedPermissionsData, GetAssignedPermissionsResponses, GetAssignedPermissionsErrors, GetPermissionData, GetPermissionResponses, GetPermissionErrors } from './types.gen';\nimport { client as _heyApiClient } from './client.gen';\nimport { getCurrentUserResponseTransformer, deleteUserResponseTransformer, registerUserAccountResponseTransformer, getOwnAvatarResponseTransformer, searchAvatarsResponseTransformer, createAvatarResponseTransformer, deleteAvatarResponseTransformer, getAvatarResponseTransformer, updateAvatarResponseTransformer, selectAvatarResponseTransformer, selectFallbackAvatarResponseTransformer, getFavoritedAvatarsResponseTransformer, getLicensedAvatarsResponseTransformer, enqueueImpostorResponseTransformer, getCalendarEventsResponseTransformer, getFeaturedCalendarEventsResponseTransformer, getFollowedCalendarEventsResponseTransformer, searchCalendarEventsResponseTransformer, getGroupCalendarEventsResponseTransformer, createGroupCalendarEventResponseTransformer, getGroupCalendarEventResponseTransformer, updateGroupCalendarEventResponseTransformer, followGroupCalendarEventResponseTransformer, getSteamTransactionsResponseTransformer, getSteamTransactionResponseTransformer, getCurrentSubscriptionsResponseTransformer, getProductListingResponseTransformer, getProductListingsResponseTransformer, getTiliaStatusResponseTransformer, getEconomyAccountResponseTransformer, getStoreResponseTransformer, getStoreShelvesResponseTransformer, getFilesResponseTransformer, createFileResponseTransformer, deleteFileResponseTransformer, getFileResponseTransformer, createFileVersionResponseTransformer, deleteFileVersionResponseTransformer, finishFileDataUploadResponseTransformer, uploadImageResponseTransformer, uploadIconResponseTransformer, uploadGalleryImageResponseTransformer, getAdminAssetBundleResponseTransformer, getFriendsResponseTransformer, friendResponseTransformer, searchGroupsResponseTransformer, createGroupResponseTransformer, getGroupResponseTransformer, updateGroupResponseTransformer, getGroupAnnouncementsResponseTransformer, createGroupAnnouncementResponseTransformer, getGroupAuditLogsResponseTransformer, getGroupBansResponseTransformer, banGroupMemberResponseTransformer, unbanGroupMemberResponseTransformer, createGroupGalleryResponseTransformer, getGroupGalleryImagesResponseTransformer, updateGroupGalleryResponseTransformer, addGroupGalleryImageResponseTransformer, getGroupInstancesResponseTransformer, getGroupInvitesResponseTransformer, joinGroupResponseTransformer, getGroupMembersResponseTransformer, getGroupMemberResponseTransformer, updateGroupMemberResponseTransformer, getGroupPostsResponseTransformer, addGroupPostResponseTransformer, updateGroupPostResponseTransformer, getGroupRequestsResponseTransformer, getGroupRolesResponseTransformer, createGroupRoleResponseTransformer, deleteGroupRoleResponseTransformer, updateGroupRoleResponseTransformer, getInventoryResponseTransformer, getOwnInventoryItemResponseTransformer, updateOwnInventoryItemResponseTransformer, getInventoryDropsResponseTransformer, getInventoryTemplateResponseTransformer, inviteUserResponseTransformer, inviteUserWithPhotoResponseTransformer, inviteMyselfToResponseTransformer, requestInviteResponseTransformer, requestInviteWithPhotoResponseTransformer, respondInviteResponseTransformer, respondInviteWithPhotoResponseTransformer, getInviteMessagesResponseTransformer, resetInviteMessageResponseTransformer, getInviteMessageResponseTransformer, updateInviteMessageResponseTransformer, createInstanceResponseTransformer, closeInstanceResponseTransformer, getInstanceResponseTransformer, getInstanceByShortNameResponseTransformer, getNotificationsResponseTransformer, getNotificationResponseTransformer, markNotificationAsReadResponseTransformer, deleteNotificationResponseTransformer, getPlayerModerationsResponseTransformer, moderateUserResponseTransformer, getUserPrintsResponseTransformer, getPrintResponseTransformer, editPrintResponseTransformer, uploadPrintResponseTransformer, getPropResponseTransformer, getJamsResponseTransformer, getJamResponseTransformer, getJamSubmissionsResponseTransformer, getUserByNameResponseTransformer, getUserResponseTransformer, updateUserResponseTransformer, getUserGroupsResponseTransformer, getUserGroupRequestsResponseTransformer, getUserNotesResponseTransformer, updateUserNoteResponseTransformer, getUserNoteResponseTransformer, addTagsResponseTransformer, removeTagsResponseTransformer, getUserGroupInstancesResponseTransformer, searchWorldsResponseTransformer, createWorldResponseTransformer, getActiveWorldsResponseTransformer, getFavoritedWorldsResponseTransformer, getRecentWorldsResponseTransformer, getWorldResponseTransformer, updateWorldResponseTransformer, getWorldInstanceResponseTransformer, getConfigResponseTransformer, getInfoPushResponseTransformer, getSystemTimeResponseTransformer } from './transformers.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\nclass _HeyApiClient {\n protected _client: Client = _heyApiClient;\n \n constructor(args?: {\n client?: Client;\n }) {\n if (args?.client) {\n this._client = args.client;\n }\n }\n}\n\nexport class VRChatInternal extends _HeyApiClient {\n /**\n * Check User Exists\n * Checks if a user by a given `username`, `displayName` or `email` exist. This is used during registration to check if a username has already been taken, during change of displayName to check if a displayName is available, and during change of email to check if the email is already used. In the later two cases the `excludeUserId` is used to exclude oneself, otherwise the result would always be true.\n *\n * It is **REQUIRED** to include **AT LEAST** `username`, `displayName` **or** `email` query parameter. Although they can be combined - in addition with `excludeUserId` (generally to exclude yourself) - to further fine-tune the search.\n */\n public checkUserExists<ThrowOnError extends boolean = false>(options?: Options<CheckUserExistsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<CheckUserExistsResponses, CheckUserExistsErrors, ThrowOnError>({\n url: '/auth/exists',\n ...options\n });\n }\n \n /**\n * Login and/or Get Current User Info\n * This endpoint does the following two operations:\n * 1) Checks if you are already logged in by looking for a valid `auth` cookie. If you are have a valid auth cookie then no additional auth-related actions are taken. If you are **not** logged in then it will log you in with the `Authorization` header and set the `auth` cookie. The `auth` cookie will only be sent once.\n * 2) If logged in, this function will also return the CurrentUser object containing detailed information about the currently logged in user.\n *\n * The auth string after `Authorization: Basic {string}` is a base64-encoded string of the username and password, both individually url-encoded, and then joined with a colon.\n *\n * > base64(urlencode(username):urlencode(password))\n *\n * **WARNING: Session Limit:** Each authentication with login credentials counts as a separate session, out of which you have a limited amount. Make sure to save and reuse the `auth` cookie if you are often restarting the program. The provided API libraries automatically save cookies during runtime, but does not persist during restart. While it can be fine to use username/password during development, expect in production to very fast run into the rate-limit and be temporarily blocked from making new sessions until older ones expire. The exact number of simultaneous sessions is unknown/undisclosed.\n */\n public getCurrentUser<ThrowOnError extends boolean = false>(options?: Options<GetCurrentUserData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetCurrentUserResponses, GetCurrentUserErrors, ThrowOnError>({\n responseTransformer: getCurrentUserResponseTransformer,\n url: '/auth/user',\n ...options\n });\n }\n \n /**\n * Disable 2FA\n * Disables 2FA for the currently logged in account\n */\n public disable2Fa<ThrowOnError extends boolean = false>(options?: Options<Disable2FaData, ThrowOnError>) {\n return (options?.client ?? this._client).delete<Disable2FaResponses, Disable2FaErrors, ThrowOnError>({\n url: '/auth/twofactorauth',\n ...options\n });\n }\n \n /**\n * Verify 2FA code\n * Finishes the login sequence with a normal 2FA-generated code for accounts with 2FA-protection enabled.\n */\n public verify2Fa<ThrowOnError extends boolean = false>(options: Options<Verify2FaData, ThrowOnError>) {\n return (options.client ?? this._client).post<Verify2FaResponses, Verify2FaErrors, ThrowOnError>({\n url: '/auth/twofactorauth/totp/verify',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Cancel pending enabling of time-based 2FA codes\n * Cancels the sequence for enabling time-based 2FA.\n */\n public cancelPending2Fa<ThrowOnError extends boolean = false>(options?: Options<CancelPending2FaData, ThrowOnError>) {\n return (options?.client ?? this._client).delete<CancelPending2FaResponses, CancelPending2FaErrors, ThrowOnError>({\n url: '/auth/twofactorauth/totp/pending',\n ...options\n });\n }\n \n /**\n * Enable time-based 2FA codes\n * Begins the sequence for enabling time-based 2FA.\n */\n public enable2Fa<ThrowOnError extends boolean = false>(options?: Options<Enable2FaData, ThrowOnError>) {\n return (options?.client ?? this._client).post<Enable2FaResponses, Enable2FaErrors, ThrowOnError>({\n url: '/auth/twofactorauth/totp/pending',\n ...options\n });\n }\n \n /**\n * Verify Pending 2FA code\n * Finishes sequence for enabling time-based 2FA.\n */\n public verifyPending2Fa<ThrowOnError extends boolean = false>(options: Options<VerifyPending2FaData, ThrowOnError>) {\n return (options.client ?? this._client).post<VerifyPending2FaResponses, VerifyPending2FaErrors, ThrowOnError>({\n url: '/auth/twofactorauth/totp/pending/verify',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get 2FA Recovery codes\n * Gets the OTP (One Time Password) recovery codes for accounts with 2FA-protection enabled.\n */\n public getRecoveryCodes<ThrowOnError extends boolean = false>(options?: Options<GetRecoveryCodesData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetRecoveryCodesResponses, GetRecoveryCodesErrors, ThrowOnError>({\n url: '/auth/user/twofactorauth/otp',\n ...options\n });\n }\n \n /**\n * Verify 2FA code with Recovery code\n * Finishes the login sequence with an OTP (One Time Password) recovery code for accounts with 2FA-protection enabled.\n */\n public verifyRecoveryCode<ThrowOnError extends boolean = false>(options: Options<VerifyRecoveryCodeData, ThrowOnError>) {\n return (options.client ?? this._client).post<VerifyRecoveryCodeResponses, VerifyRecoveryCodeErrors, ThrowOnError>({\n url: '/auth/twofactorauth/otp/verify',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Verify 2FA email code\n * Finishes the login sequence with an 2FA email code.\n */\n public verify2FaEmailCode<ThrowOnError extends boolean = false>(options: Options<Verify2FaEmailCodeData, ThrowOnError>) {\n return (options.client ?? this._client).post<Verify2FaEmailCodeResponses, Verify2FaEmailCodeErrors, ThrowOnError>({\n url: '/auth/twofactorauth/emailotp/verify',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Verify Auth Token\n * Verify whether the currently provided Auth Token is valid.\n */\n public verifyAuthToken<ThrowOnError extends boolean = false>(options?: Options<VerifyAuthTokenData, ThrowOnError>) {\n return (options?.client ?? this._client).get<VerifyAuthTokenResponses, VerifyAuthTokenErrors, ThrowOnError>({\n url: '/auth',\n ...options\n });\n }\n \n /**\n * Logout\n * Invalidates the login session.\n */\n public logout<ThrowOnError extends boolean = false>(options?: Options<LogoutData, ThrowOnError>) {\n return (options?.client ?? this._client).put<LogoutResponses, LogoutErrors, ThrowOnError>({\n url: '/logout',\n ...options\n });\n }\n \n /**\n * Delete User\n * Deletes the account with given ID. Normal users only have permission to delete their own account. Account deletion is 14 days from this request, and will be cancelled if you do an authenticated request with the account afterwards.\n *\n * **VRC+ NOTE:** Despite the 14-days cooldown, any VRC+ subscription will be cancelled **immediately**.\n *\n * **METHOD NOTE:** Despite this being a Delete action, the method type required is PUT.\n */\n public deleteUser<ThrowOnError extends boolean = false>(options: Options<DeleteUserData, ThrowOnError>) {\n return (options.client ?? this._client).put<DeleteUserResponses, DeleteUserErrors, ThrowOnError>({\n responseTransformer: deleteUserResponseTransformer,\n url: '/users/{userId}/delete',\n ...options\n });\n }\n \n /**\n * Register User Account\n * ~~Register a new user account.~~\n *\n * **DEPRECATED:** Automated creation of accounts has no legitimate public third-party use case, and would be in violation of ToS §13.2:\n * *By using the Platform, you agree not to: i. [...] use the Platform in a manner inconsistent with individual human usage*\n * This endpoint is documented in the interest of completeness\n * @deprecated\n */\n public registerUserAccount<ThrowOnError extends boolean = false>(options: Options<RegisterUserAccountData, ThrowOnError>) {\n return (options.client ?? this._client).post<RegisterUserAccountResponses, RegisterUserAccountErrors, ThrowOnError>({\n responseTransformer: registerUserAccountResponseTransformer,\n url: '/auth/register',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Resend Email Confirmation\n * Requests a resend of pending email address confirmation email\n */\n public resendEmailConfirmation<ThrowOnError extends boolean = false>(options?: Options<ResendEmailConfirmationData, ThrowOnError>) {\n return (options?.client ?? this._client).post<ResendEmailConfirmationResponses, ResendEmailConfirmationErrors, ThrowOnError>({\n url: '/auth/user/resendEmail',\n ...options\n });\n }\n \n /**\n * Confirm Email\n * Confirms the email address for a user\n */\n public confirmEmail<ThrowOnError extends boolean = false>(options: Options<ConfirmEmailData, ThrowOnError>) {\n return (options.client ?? this._client).get<unknown, unknown, ThrowOnError>({\n url: '/auth/confirmEmail',\n ...options\n });\n }\n \n /**\n * Verify Login Place\n * Verifies a login attempt for a user\n */\n public verifyLoginPlace<ThrowOnError extends boolean = false>(options: Options<VerifyLoginPlaceData, ThrowOnError>) {\n return (options.client ?? this._client).get<unknown, unknown, ThrowOnError>({\n url: '/auth/verifyLoginPlace',\n ...options\n });\n }\n \n /**\n * Get Own Avatar\n * Get the current avatar for the user. This will return an error for any other user than the one logged in.\n */\n public getOwnAvatar<ThrowOnError extends boolean = false>(options: Options<GetOwnAvatarData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetOwnAvatarResponses, GetOwnAvatarErrors, ThrowOnError>({\n responseTransformer: getOwnAvatarResponseTransformer,\n url: '/users/{userId}/avatar',\n ...options\n });\n }\n \n /**\n * Search Avatars\n * Search and list avatars by query filters. You can only search your own or featured avatars. It is not possible as a normal user to search other peoples avatars.\n */\n public searchAvatars<ThrowOnError extends boolean = false>(options?: Options<SearchAvatarsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<SearchAvatarsResponses, SearchAvatarsErrors, ThrowOnError>({\n responseTransformer: searchAvatarsResponseTransformer,\n url: '/avatars',\n ...options\n });\n }\n \n /**\n * Create Avatar\n * Create an avatar. It's possible to optionally specify a ID if you want a custom one. Attempting to create an Avatar with an already claimed ID will result in a DB error.\n */\n public createAvatar<ThrowOnError extends boolean = false>(options?: Options<CreateAvatarData, ThrowOnError>) {\n return (options?.client ?? this._client).post<CreateAvatarResponses, CreateAvatarErrors, ThrowOnError>({\n responseTransformer: createAvatarResponseTransformer,\n url: '/avatars',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * Get Avatar Styles\n * List avatar styles.\n */\n public getAvatarStyles<ThrowOnError extends boolean = false>(options?: Options<GetAvatarStylesData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetAvatarStylesResponses, unknown, ThrowOnError>({\n url: '/avatarStyles',\n ...options\n });\n }\n \n /**\n * Delete Avatar\n * Delete an avatar. Notice an avatar is never fully \"deleted\", only its ReleaseStatus is set to \"hidden\" and the linked Files are deleted. The AvatarID is permanently reserved.\n */\n public deleteAvatar<ThrowOnError extends boolean = false>(options: Options<DeleteAvatarData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteAvatarResponses, DeleteAvatarErrors, ThrowOnError>({\n responseTransformer: deleteAvatarResponseTransformer,\n url: '/avatars/{avatarId}',\n ...options\n });\n }\n \n /**\n * Get Avatar\n * Get information about a specific Avatar.\n */\n public getAvatar<ThrowOnError extends boolean = false>(options: Options<GetAvatarData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetAvatarResponses, GetAvatarErrors, ThrowOnError>({\n responseTransformer: getAvatarResponseTransformer,\n url: '/avatars/{avatarId}',\n ...options\n });\n }\n \n /**\n * Update Avatar\n * Update information about a specific avatar.\n */\n public updateAvatar<ThrowOnError extends boolean = false>(options: Options<UpdateAvatarData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateAvatarResponses, UpdateAvatarErrors, ThrowOnError>({\n responseTransformer: updateAvatarResponseTransformer,\n url: '/avatars/{avatarId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Select Avatar\n * Switches into that avatar.\n */\n public selectAvatar<ThrowOnError extends boolean = false>(options: Options<SelectAvatarData, ThrowOnError>) {\n return (options.client ?? this._client).put<SelectAvatarResponses, SelectAvatarErrors, ThrowOnError>({\n responseTransformer: selectAvatarResponseTransformer,\n url: '/avatars/{avatarId}/select',\n ...options\n });\n }\n \n /**\n * Select Fallback Avatar\n * Switches into that avatar as your fallback avatar.\n * @deprecated\n */\n public selectFallbackAvatar<ThrowOnError extends boolean = false>(options: Options<SelectFallbackAvatarData, ThrowOnError>) {\n return (options.client ?? this._client).put<SelectFallbackAvatarResponses, SelectFallbackAvatarErrors, ThrowOnError>({\n responseTransformer: selectFallbackAvatarResponseTransformer,\n url: '/avatars/{avatarId}/selectFallback',\n ...options\n });\n }\n \n /**\n * List Favorited Avatars\n * Search and list favorited avatars by query filters.\n */\n public getFavoritedAvatars<ThrowOnError extends boolean = false>(options?: Options<GetFavoritedAvatarsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFavoritedAvatarsResponses, GetFavoritedAvatarsErrors, ThrowOnError>({\n responseTransformer: getFavoritedAvatarsResponseTransformer,\n url: '/avatars/favorites',\n ...options\n });\n }\n \n /**\n * List Licensed Avatars\n * List licensed avatars.\n */\n public getLicensedAvatars<ThrowOnError extends boolean = false>(options?: Options<GetLicensedAvatarsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetLicensedAvatarsResponses, GetLicensedAvatarsErrors, ThrowOnError>({\n responseTransformer: getLicensedAvatarsResponseTransformer,\n url: '/avatars/licensed',\n ...options\n });\n }\n \n /**\n * Enqueue Impostor generation\n * Enqueue Impostor generation for that avatar.\n */\n public enqueueImpostor<ThrowOnError extends boolean = false>(options: Options<EnqueueImpostorData, ThrowOnError>) {\n return (options.client ?? this._client).post<EnqueueImpostorResponses, EnqueueImpostorErrors, ThrowOnError>({\n responseTransformer: enqueueImpostorResponseTransformer,\n url: '/avatars/{avatarId}/impostor/enqueue',\n ...options\n });\n }\n \n /**\n * Get Impostor Queue Stats\n * Gets service stats for queued impostor.\n */\n public getImpostorQueueStats<ThrowOnError extends boolean = false>(options?: Options<GetImpostorQueueStatsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetImpostorQueueStatsResponses, GetImpostorQueueStatsErrors, ThrowOnError>({\n url: '/avatars/impostor/queue/stats',\n ...options\n });\n }\n \n /**\n * Delete generated Impostor\n * Delete generated Impostor for that avatar.\n */\n public deleteImpostor<ThrowOnError extends boolean = false>(options: Options<DeleteImpostorData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteImpostorResponses, DeleteImpostorErrors, ThrowOnError>({\n url: '/avatars/{avatarId}/impostor',\n ...options\n });\n }\n \n /**\n * List calendar events\n * Get a list of a user's calendar events for the month in ?date\n */\n public getCalendarEvents<ThrowOnError extends boolean = false>(options?: Options<GetCalendarEventsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetCalendarEventsResponses, GetCalendarEventsErrors, ThrowOnError>({\n responseTransformer: getCalendarEventsResponseTransformer,\n url: '/calendar',\n ...options\n });\n }\n \n /**\n * List featured calendar events\n * Get a list of a featured calendar events for the month in ?date\n */\n public getFeaturedCalendarEvents<ThrowOnError extends boolean = false>(options?: Options<GetFeaturedCalendarEventsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFeaturedCalendarEventsResponses, GetFeaturedCalendarEventsErrors, ThrowOnError>({\n responseTransformer: getFeaturedCalendarEventsResponseTransformer,\n url: '/calendar/featured',\n ...options\n });\n }\n \n /**\n * List followed calendar events\n * Get a list of a followed calendar events for the month in ?date\n */\n public getFollowedCalendarEvents<ThrowOnError extends boolean = false>(options?: Options<GetFollowedCalendarEventsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFollowedCalendarEventsResponses, GetFollowedCalendarEventsErrors, ThrowOnError>({\n responseTransformer: getFollowedCalendarEventsResponseTransformer,\n url: '/calendar/following',\n ...options\n });\n }\n \n /**\n * Search for calendar events\n * Get a list of calendar events by search terms\n */\n public searchCalendarEvents<ThrowOnError extends boolean = false>(options: Options<SearchCalendarEventsData, ThrowOnError>) {\n return (options.client ?? this._client).get<SearchCalendarEventsResponses, SearchCalendarEventsErrors, ThrowOnError>({\n responseTransformer: searchCalendarEventsResponseTransformer,\n url: '/calendar/search',\n ...options\n });\n }\n \n /**\n * List a group's calendar events\n * Get a list of a group's calendar events\n */\n public getGroupCalendarEvents<ThrowOnError extends boolean = false>(options: Options<GetGroupCalendarEventsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupCalendarEventsResponses, GetGroupCalendarEventsErrors, ThrowOnError>({\n responseTransformer: getGroupCalendarEventsResponseTransformer,\n url: '/calendar/{groupId}',\n ...options\n });\n }\n \n /**\n * Create a calendar event\n * Creates an event for a group on the calendar\n */\n public createGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<CreateGroupCalendarEventData, ThrowOnError>) {\n return (options.client ?? this._client).post<CreateGroupCalendarEventResponses, CreateGroupCalendarEventErrors, ThrowOnError>({\n responseTransformer: createGroupCalendarEventResponseTransformer,\n url: '/calendar/{groupId}/event',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete a calendar event\n * Delete a group calendar event\n */\n public deleteGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<DeleteGroupCalendarEventData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteGroupCalendarEventResponses, DeleteGroupCalendarEventErrors, ThrowOnError>({\n url: '/calendar/{groupId}/{calendarId}',\n ...options\n });\n }\n \n /**\n * Get a calendar event\n * Get a group calendar event\n */\n public getGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<GetGroupCalendarEventData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupCalendarEventResponses, GetGroupCalendarEventErrors, ThrowOnError>({\n responseTransformer: getGroupCalendarEventResponseTransformer,\n url: '/calendar/{groupId}/{calendarId}',\n ...options\n });\n }\n \n /**\n * Download calendar event as ICS\n * Returns the specified calendar in iCalendar (ICS) format.\n */\n public getGroupCalendarEventIcs<ThrowOnError extends boolean = false>(options: Options<GetGroupCalendarEventIcsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupCalendarEventIcsResponses, GetGroupCalendarEventIcsErrors, ThrowOnError>({\n url: '/calendar/{groupId}/{calendarId}.ics',\n ...options\n });\n }\n \n /**\n * Update a calendar event\n * Updates an event for a group on the calendar\n */\n public updateGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<UpdateGroupCalendarEventData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateGroupCalendarEventResponses, UpdateGroupCalendarEventErrors, ThrowOnError>({\n responseTransformer: updateGroupCalendarEventResponseTransformer,\n url: '/calendar/{groupId}/{calendarId}/event',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Follow a calendar event\n * Follow or unfollow an event on a group's calendar\n */\n public followGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<FollowGroupCalendarEventData, ThrowOnError>) {\n return (options.client ?? this._client).post<FollowGroupCalendarEventResponses, FollowGroupCalendarEventErrors, ThrowOnError>({\n responseTransformer: followGroupCalendarEventResponseTransformer,\n url: '/calendar/{groupId}/{calendarId}/follow',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * List Steam Transactions\n * Get all own Steam transactions.\n */\n public getSteamTransactions<ThrowOnError extends boolean = false>(options?: Options<GetSteamTransactionsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetSteamTransactionsResponses, GetSteamTransactionsErrors, ThrowOnError>({\n responseTransformer: getSteamTransactionsResponseTransformer,\n url: '/Steam/transactions',\n ...options\n });\n }\n \n /**\n * Get Steam Transaction\n * Get a single Steam transactions by ID. This returns the exact same information as `getSteamTransactions`, so no point in using this endpoint.\n * @deprecated\n */\n public getSteamTransaction<ThrowOnError extends boolean = false>(options: Options<GetSteamTransactionData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetSteamTransactionResponses, GetSteamTransactionErrors, ThrowOnError>({\n responseTransformer: getSteamTransactionResponseTransformer,\n url: '/Steam/transactions/{transactionId}',\n ...options\n });\n }\n \n /**\n * Get Current Subscriptions\n * Get a list of all current user subscriptions.\n */\n public getCurrentSubscriptions<ThrowOnError extends boolean = false>(options?: Options<GetCurrentSubscriptionsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetCurrentSubscriptionsResponses, GetCurrentSubscriptionsErrors, ThrowOnError>({\n responseTransformer: getCurrentSubscriptionsResponseTransformer,\n url: '/auth/user/subscription',\n ...options\n });\n }\n \n /**\n * Get User Subscription Eligiblity\n * Get the user's eligibility status for subscriptions.\n */\n public getUserSubscriptionEligible<ThrowOnError extends boolean = false>(options: Options<GetUserSubscriptionEligibleData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserSubscriptionEligibleResponses, GetUserSubscriptionEligibleErrors, ThrowOnError>({\n url: '/users/{userId}/subscription/eligible',\n ...options\n });\n }\n \n /**\n * List Subscriptions\n * List all existing Subscriptions. For example, \"vrchatplus-monthly\" and \"vrchatplus-yearly\".\n */\n public getSubscriptions<ThrowOnError extends boolean = false>(options?: Options<GetSubscriptionsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetSubscriptionsResponses, GetSubscriptionsErrors, ThrowOnError>({\n url: '/subscriptions',\n ...options\n });\n }\n \n /**\n * Get License Group\n * Get a single License Group by given ID.\n */\n public getLicenseGroup<ThrowOnError extends boolean = false>(options: Options<GetLicenseGroupData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetLicenseGroupResponses, GetLicenseGroupErrors, ThrowOnError>({\n url: '/licenseGroups/{licenseGroupId}',\n ...options\n });\n }\n \n /**\n * Get Product Listing\n * Gets a product listing\n */\n public getProductListing<ThrowOnError extends boolean = false>(options: Options<GetProductListingData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetProductListingResponses, GetProductListingErrors, ThrowOnError>({\n responseTransformer: getProductListingResponseTransformer,\n url: '/listing/{productId}',\n ...options\n });\n }\n \n /**\n * Get User Product Listings\n * Gets the product listings of a given user\n */\n public getProductListings<ThrowOnError extends boolean = false>(options: Options<GetProductListingsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetProductListingsResponses, GetProductListingsErrors, ThrowOnError>({\n responseTransformer: getProductListingsResponseTransformer,\n url: '/user/{userId}/listings',\n ...options\n });\n }\n \n /**\n * List Token Bundles\n * Gets the list of token bundles\n */\n public getTokenBundles<ThrowOnError extends boolean = false>(options?: Options<GetTokenBundlesData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetTokenBundlesResponses, GetTokenBundlesErrors, ThrowOnError>({\n url: '/tokenBundles',\n ...options\n });\n }\n \n /**\n * Get Tilia Status\n * Gets the status of Tilia integration\n */\n public getTiliaStatus<ThrowOnError extends boolean = false>(options?: Options<GetTiliaStatusData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetTiliaStatusResponses, GetTiliaStatusErrors, ThrowOnError>({\n responseTransformer: getTiliaStatusResponseTransformer,\n url: '/tilia/status',\n ...options\n });\n }\n \n /**\n * Get Tilia TOS Agreement Status\n * Gets the status of the agreement of a user to the Tilia TOS\n */\n public getTiliaTos<ThrowOnError extends boolean = false>(options: Options<GetTiliaTosData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetTiliaTosResponses, GetTiliaTosErrors, ThrowOnError>({\n url: '/user/{userId}/tilia/tos',\n ...options\n });\n }\n \n /**\n * Get Balance\n * Gets the balance of a user\n */\n public getBalance<ThrowOnError extends boolean = false>(options: Options<GetBalanceData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetBalanceResponses, GetBalanceErrors, ThrowOnError>({\n url: '/user/{userId}/balance',\n ...options\n });\n }\n \n /**\n * Get Balance Earnings\n * Gets the balance of a user from earnings\n */\n public getBalanceEarnings<ThrowOnError extends boolean = false>(options: Options<GetBalanceEarningsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetBalanceEarningsResponses, GetBalanceEarningsErrors, ThrowOnError>({\n url: '/user/{userId}/balance/earnings',\n ...options\n });\n }\n \n /**\n * Get Economy Account\n * Gets the economy account of a user\n */\n public getEconomyAccount<ThrowOnError extends boolean = false>(options: Options<GetEconomyAccountData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetEconomyAccountResponses, GetEconomyAccountErrors, ThrowOnError>({\n responseTransformer: getEconomyAccountResponseTransformer,\n url: '/user/{userId}/economy/account',\n ...options\n });\n }\n \n /**\n * Get Active Licenses\n * Gets active licenses\n */\n public getActiveLicenses<ThrowOnError extends boolean = false>(options?: Options<GetActiveLicensesData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetActiveLicensesResponses, GetActiveLicensesErrors, ThrowOnError>({\n url: '/economy/licenses/active',\n ...options\n });\n }\n \n /**\n * Get Store\n * Gets a store\n */\n public getStore<ThrowOnError extends boolean = false>(options: Options<GetStoreData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetStoreResponses, GetStoreErrors, ThrowOnError>({\n responseTransformer: getStoreResponseTransformer,\n url: '/economy/store',\n ...options\n });\n }\n \n /**\n * Get Store Shelves\n * Gets the shelves for a store\n */\n public getStoreShelves<ThrowOnError extends boolean = false>(options: Options<GetStoreShelvesData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetStoreShelvesResponses, GetStoreShelvesErrors, ThrowOnError>({\n responseTransformer: getStoreShelvesResponseTransformer,\n url: '/economy/store/shelves',\n ...options\n });\n }\n \n /**\n * List Favorites\n * Returns a list of favorites.\n */\n public getFavorites<ThrowOnError extends boolean = false>(options?: Options<GetFavoritesData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFavoritesResponses, GetFavoritesErrors, ThrowOnError>({\n url: '/favorites',\n ...options\n });\n }\n \n /**\n * Add Favorite\n * Add a new favorite.\n *\n * Friend groups are named `group_0` through `group_3`. Avatar and World groups are named `avatars1` to `avatars4` and `worlds1` to `worlds4`.\n *\n * You cannot add people whom you are not friends with to your friends list. Destroying a friendship removes the person as favorite on both sides.\n */\n public addFavorite<ThrowOnError extends boolean = false>(options?: Options<AddFavoriteData, ThrowOnError>) {\n return (options?.client ?? this._client).post<AddFavoriteResponses, AddFavoriteErrors, ThrowOnError>({\n url: '/favorites',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * Remove Favorite\n * Remove a favorite from your favorites list.\n */\n public removeFavorite<ThrowOnError extends boolean = false>(options: Options<RemoveFavoriteData, ThrowOnError>) {\n return (options.client ?? this._client).delete<RemoveFavoriteResponses, RemoveFavoriteErrors, ThrowOnError>({\n url: '/favorites/{favoriteId}',\n ...options\n });\n }\n \n /**\n * List Favorite Groups\n * Return a list of favorite groups owned by a user. Returns the same information as `getFavoriteGroups`.\n */\n public getFavoriteGroups<ThrowOnError extends boolean = false>(options?: Options<GetFavoriteGroupsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFavoriteGroupsResponses, GetFavoriteGroupsErrors, ThrowOnError>({\n url: '/favorite/groups',\n ...options\n });\n }\n \n /**\n * Clear Favorite Group\n * Clear ALL contents of a specific favorite group.\n */\n public clearFavoriteGroup<ThrowOnError extends boolean = false>(options: Options<ClearFavoriteGroupData, ThrowOnError>) {\n return (options.client ?? this._client).delete<ClearFavoriteGroupResponses, unknown, ThrowOnError>({\n url: '/favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}',\n ...options\n });\n }\n \n /**\n * Show Favorite Group\n * Fetch information about a specific favorite group.\n */\n public getFavoriteGroup<ThrowOnError extends boolean = false>(options: Options<GetFavoriteGroupData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetFavoriteGroupResponses, unknown, ThrowOnError>({\n url: '/favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}',\n ...options\n });\n }\n \n /**\n * Update Favorite Group\n * Update information about a specific favorite group.\n */\n public updateFavoriteGroup<ThrowOnError extends boolean = false>(options: Options<UpdateFavoriteGroupData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateFavoriteGroupResponses, unknown, ThrowOnError>({\n url: '/favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Favorite Limits\n * Return information about a specific Favorite.\n */\n public getFavoriteLimits<ThrowOnError extends boolean = false>(options?: Options<GetFavoriteLimitsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFavoriteLimitsResponses, GetFavoriteLimitsErrors, ThrowOnError>({\n url: '/auth/user/favoritelimits',\n ...options\n });\n }\n \n /**\n * List Files\n * Returns a list of files\n */\n public getFiles<ThrowOnError extends boolean = false>(options?: Options<GetFilesData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFilesResponses, unknown, ThrowOnError>({\n responseTransformer: getFilesResponseTransformer,\n url: '/files',\n ...options\n });\n }\n \n /**\n * Create File\n * Creates a new File object\n */\n public createFile<ThrowOnError extends boolean = false>(options?: Options<CreateFileData, ThrowOnError>) {\n return (options?.client ?? this._client).post<CreateFileResponses, unknown, ThrowOnError>({\n responseTransformer: createFileResponseTransformer,\n url: '/file',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * Delete File\n * Deletes a File object.\n */\n public deleteFile<ThrowOnError extends boolean = false>(options: Options<DeleteFileData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteFileResponses, DeleteFileErrors, ThrowOnError>({\n responseTransformer: deleteFileResponseTransformer,\n url: '/file/{fileId}',\n ...options\n });\n }\n \n /**\n * Show File\n * Shows general information about the \"File\" object. Each File can have several \"Version\"'s, and each Version can have multiple real files or \"Data\" blobs.\n */\n public getFile<ThrowOnError extends boolean = false>(options: Options<GetFileData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetFileResponses, GetFileErrors, ThrowOnError>({\n responseTransformer: getFileResponseTransformer,\n url: '/file/{fileId}',\n ...options\n });\n }\n \n /**\n * Create File Version\n * Creates a new FileVersion. Once a Version has been created, proceed to the `/file/{fileId}/{versionId}/file/start` endpoint to start a file upload.\n */\n public createFileVersion<ThrowOnError extends boolean = false>(options: Options<CreateFileVersionData, ThrowOnError>) {\n return (options.client ?? this._client).post<CreateFileVersionResponses, unknown, ThrowOnError>({\n responseTransformer: createFileVersionResponseTransformer,\n url: '/file/{fileId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete File Version\n * Delete a specific version of a file. You can only delete the latest version.\n */\n public deleteFileVersion<ThrowOnError extends boolean = false>(options: Options<DeleteFileVersionData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteFileVersionResponses, DeleteFileVersionErrors, ThrowOnError>({\n responseTransformer: deleteFileVersionResponseTransformer,\n url: '/file/{fileId}/{versionId}',\n ...options\n });\n }\n \n /**\n * Download File Version\n * Downloads the file with the provided version number.\n *\n * **Version Note:** Version 0 is always when the file was created. The real data is usually always located in version 1 and up.\n *\n * **Extension Note:** Files are not guaranteed to have a file extensions. UnityPackage files tends to have it, images through this endpoint do not. You are responsible for appending file extension from the `extension` field when neccesary.\n */\n public downloadFileVersion<ThrowOnError extends boolean = false>(options: Options<DownloadFileVersionData, ThrowOnError>) {\n return (options.client ?? this._client).get<DownloadFileVersionResponses, DownloadFileVersionErrors, ThrowOnError>({\n url: '/file/{fileId}/{versionId}',\n ...options\n });\n }\n \n /**\n * Finish FileData Upload\n * Finish an upload of a FileData. This will mark it as \"complete\". After uploading the `file` for Avatars and Worlds you then have to upload a `signature` file.\n */\n public finishFileDataUpload<ThrowOnError extends boolean = false>(options: Options<FinishFileDataUploadData, ThrowOnError>) {\n return (options.client ?? this._client).put<FinishFileDataUploadResponses, unknown, ThrowOnError>({\n responseTransformer: finishFileDataUploadResponseTransformer,\n url: '/file/{fileId}/{versionId}/{fileType}/finish',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Start FileData Upload\n * Starts an upload of a specific FilePart. This endpoint will return an AWS URL which you can PUT data to. You need to call this and receive a new AWS API URL for each `partNumber`. Please see AWS's REST documentation on \"PUT Object to S3\" on how to upload. Once all parts has been uploaded, proceed to `/finish` endpoint.\n *\n * **Note:** `nextPartNumber` seems like it is always ignored. Despite it returning 0, first partNumber is always 1.\n */\n public startFileDataUpload<ThrowOnError extends boolean = false>(options: Options<StartFileDataUploadData, ThrowOnError>) {\n return (options.client ?? this._client).put<StartFileDataUploadResponses, StartFileDataUploadErrors, ThrowOnError>({\n url: '/file/{fileId}/{versionId}/{fileType}/start',\n ...options\n });\n }\n \n /**\n * Check FileData Upload Status\n * Retrieves the upload status for file upload. Can currently only be accessed when `status` is `waiting`. Trying to access it on a file version already uploaded currently times out.\n */\n public getFileDataUploadStatus<ThrowOnError extends boolean = false>(options: Options<GetFileDataUploadStatusData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetFileDataUploadStatusResponses, unknown, ThrowOnError>({\n url: '/file/{fileId}/{versionId}/{fileType}/status',\n ...options\n });\n }\n \n /**\n * Get File Version Analysis\n * Get the performance analysis for the uploaded assets of an avatar\n */\n public getFileAnalysis<ThrowOnError extends boolean = false>(options: Options<GetFileAnalysisData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetFileAnalysisResponses, GetFileAnalysisErrors, ThrowOnError>({\n url: '/analysis/{fileId}/{versionId}',\n ...options\n });\n }\n \n /**\n * Get File Version Analysis Security\n * Get the security performance analysis for the uploaded assets of an avatar\n */\n public getFileAnalysisSecurity<ThrowOnError extends boolean = false>(options: Options<GetFileAnalysisSecurityData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetFileAnalysisSecurityResponses, GetFileAnalysisSecurityErrors, ThrowOnError>({\n url: '/analysis/{fileId}/{versionId}/security',\n ...options\n });\n }\n \n /**\n * Get File Version Analysis Standard\n * Get the standard performance analysis for the uploaded assets of an avatar\n */\n public getFileAnalysisStandard<ThrowOnError extends boolean = false>(options: Options<GetFileAnalysisStandardData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetFileAnalysisStandardResponses, GetFileAnalysisStandardErrors, ThrowOnError>({\n url: '/analysis/{fileId}/{versionId}/standard',\n ...options\n });\n }\n \n /**\n * Upload gallery image, icon, emoji or sticker\n * Upload an image, which can be an icon, gallery image, sticker or emoji\n */\n public uploadImage<ThrowOnError extends boolean = false>(options?: Options<UploadImageData, ThrowOnError>) {\n return (options?.client ?? this._client).post<UploadImageResponses, unknown, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: uploadImageResponseTransformer,\n url: '/file/image',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n }\n \n /**\n * Upload icon\n * Upload an icon\n */\n public uploadIcon<ThrowOnError extends boolean = false>(options?: Options<UploadIconData, ThrowOnError>) {\n return (options?.client ?? this._client).post<UploadIconResponses, unknown, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: uploadIconResponseTransformer,\n url: '/icon',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n }\n \n /**\n * Upload gallery image\n * Upload a gallery image\n */\n public uploadGalleryImage<ThrowOnError extends boolean = false>(options?: Options<UploadGalleryImageData, ThrowOnError>) {\n return (options?.client ?? this._client).post<UploadGalleryImageResponses, unknown, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: uploadGalleryImageResponseTransformer,\n url: '/gallery',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n }\n \n /**\n * Get AdminAssetBundle\n * Returns an AdminAssetBundle\n */\n public getAdminAssetBundle<ThrowOnError extends boolean = false>(options: Options<GetAdminAssetBundleData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetAdminAssetBundleResponses, unknown, ThrowOnError>({\n responseTransformer: getAdminAssetBundleResponseTransformer,\n url: '/adminassetbundles/{adminAssetBundleId}',\n ...options\n });\n }\n \n /**\n * List Friends\n * List information about friends.\n */\n public getFriends<ThrowOnError extends boolean = false>(options?: Options<GetFriendsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFriendsResponses, GetFriendsErrors, ThrowOnError>({\n responseTransformer: getFriendsResponseTransformer,\n url: '/auth/user/friends',\n ...options\n });\n }\n \n /**\n * Delete Friend Request\n * Deletes an outgoing pending friend request to another user. To delete an incoming friend request, use the `deleteNotification` endpoint instead.\n */\n public deleteFriendRequest<ThrowOnError extends boolean = false>(options: Options<DeleteFriendRequestData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteFriendRequestResponses, DeleteFriendRequestErrors, ThrowOnError>({\n url: '/user/{userId}/friendRequest',\n ...options\n });\n }\n \n /**\n * Send Friend Request\n * Send a friend request to another user.\n */\n public friend<ThrowOnError extends boolean = false>(options: Options<FriendData, ThrowOnError>) {\n return (options.client ?? this._client).post<FriendResponses, FriendErrors, ThrowOnError>({\n responseTransformer: friendResponseTransformer,\n url: '/user/{userId}/friendRequest',\n ...options\n });\n }\n \n /**\n * Check Friend Status\n * Retrieve if the user is currently a friend with a given user, if they have an outgoing friend request, and if they have an incoming friend request. The proper way to receive and accept friend request is by checking if the user has an incoming `Notification` of type `friendRequest`, and then accepting that notification.\n */\n public getFriendStatus<ThrowOnError extends boolean = false>(options: Options<GetFriendStatusData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetFriendStatusResponses, GetFriendStatusErrors, ThrowOnError>({\n url: '/user/{userId}/friendStatus',\n ...options\n });\n }\n \n /**\n * Unfriend\n * Unfriend a user by ID.\n */\n public unfriend<ThrowOnError extends boolean = false>(options: Options<UnfriendData, ThrowOnError>) {\n return (options.client ?? this._client).delete<UnfriendResponses, UnfriendErrors, ThrowOnError>({\n url: '/auth/user/friends/{userId}',\n ...options\n });\n }\n \n /**\n * Search Group\n * Searches Groups by name or shortCode\n */\n public searchGroups<ThrowOnError extends boolean = false>(options?: Options<SearchGroupsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<SearchGroupsResponses, SearchGroupsErrors, ThrowOnError>({\n responseTransformer: searchGroupsResponseTransformer,\n url: '/groups',\n ...options\n });\n }\n \n /**\n * Create Group\n * Creates a Group and returns a Group object. **Requires VRC+ Subscription.**\n */\n public createGroup<ThrowOnError extends boolean = false>(options: Options<CreateGroupData, ThrowOnError>) {\n return (options.client ?? this._client).post<CreateGroupResponses, CreateGroupErrors, ThrowOnError>({\n responseTransformer: createGroupResponseTransformer,\n url: '/groups',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Group Role Templates\n * Obtain predefined templates for group roles\n */\n public getGroupRoleTemplates<ThrowOnError extends boolean = false>(options?: Options<GetGroupRoleTemplatesData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetGroupRoleTemplatesResponses, GetGroupRoleTemplatesErrors, ThrowOnError>({\n url: '/groups/roleTemplates',\n ...options\n });\n }\n \n /**\n * Delete Group\n * Deletes a Group.\n */\n public deleteGroup<ThrowOnError extends boolean = false>(options: Options<DeleteGroupData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteGroupResponses, DeleteGroupErrors, ThrowOnError>({\n url: '/groups/{groupId}',\n ...options\n });\n }\n \n /**\n * Get Group by ID\n * Returns a single Group by ID.\n */\n public getGroup<ThrowOnError extends boolean = false>(options: Options<GetGroupData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupResponses, GetGroupErrors, ThrowOnError>({\n responseTransformer: getGroupResponseTransformer,\n url: '/groups/{groupId}',\n ...options\n });\n }\n \n /**\n * Update Group\n * Updates a Group and returns it.\n */\n public updateGroup<ThrowOnError extends boolean = false>(options: Options<UpdateGroupData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateGroupResponses, UpdateGroupErrors, ThrowOnError>({\n responseTransformer: updateGroupResponseTransformer,\n url: '/groups/{groupId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete Group Announcement\n * Deletes the announcement for a Group.\n */\n public deleteGroupAnnouncement<ThrowOnError extends boolean = false>(options: Options<DeleteGroupAnnouncementData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteGroupAnnouncementResponses, DeleteGroupAnnouncementErrors, ThrowOnError>({\n url: '/groups/{groupId}/announcement',\n ...options\n });\n }\n \n /**\n * Get Group Announcement\n * Returns the announcement for a Group.\n * If no announcement has been made, then it returns **empty object**.\n * If an announcement exists, then it will always return all fields except `imageId` and `imageUrl` which may be null.\n */\n public getGroupAnnouncements<ThrowOnError extends boolean = false>(options: Options<GetGroupAnnouncementsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupAnnouncementsResponses, GetGroupAnnouncementsErrors, ThrowOnError>({\n responseTransformer: getGroupAnnouncementsResponseTransformer,\n url: '/groups/{groupId}/announcement',\n ...options\n });\n }\n \n /**\n * Create Group Announcement\n * Creates an Announcement for a Group. Warning: This will also remove all announcements. To make proper announcements, use the posts endpoint instead\n */\n public createGroupAnnouncement<ThrowOnError extends boolean = false>(options: Options<CreateGroupAnnouncementData, ThrowOnError>) {\n return (options.client ?? this._client).post<CreateGroupAnnouncementResponses, CreateGroupAnnouncementErrors, ThrowOnError>({\n responseTransformer: createGroupAnnouncementResponseTransformer,\n url: '/groups/{groupId}/announcement',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Group Audit Logs\n * Returns a list of audit logs for a Group.\n */\n public getGroupAuditLogs<ThrowOnError extends boolean = false>(options: Options<GetGroupAuditLogsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupAuditLogsResponses, GetGroupAuditLogsErrors, ThrowOnError>({\n responseTransformer: getGroupAuditLogsResponseTransformer,\n url: '/groups/{groupId}/auditLogs',\n ...options\n });\n }\n \n /**\n * Get Group Bans\n * Returns a list of banned users for a Group.\n */\n public getGroupBans<ThrowOnError extends boolean = false>(options: Options<GetGroupBansData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupBansResponses, GetGroupBansErrors, ThrowOnError>({\n responseTransformer: getGroupBansResponseTransformer,\n url: '/groups/{groupId}/bans',\n ...options\n });\n }\n \n /**\n * Ban Group Member\n * Bans a user from a Group.\n */\n public banGroupMember<ThrowOnError extends boolean = false>(options: Options<BanGroupMemberData, ThrowOnError>) {\n return (options.client ?? this._client).post<BanGroupMemberResponses, BanGroupMemberErrors, ThrowOnError>({\n responseTransformer: banGroupMemberResponseTransformer,\n url: '/groups/{groupId}/bans',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Unban Group Member\n * Unbans a user from a Group.\n */\n public unbanGroupMember<ThrowOnError extends boolean = false>(options: Options<UnbanGroupMemberData, ThrowOnError>) {\n return (options.client ?? this._client).delete<UnbanGroupMemberResponses, UnbanGroupMemberErrors, ThrowOnError>({\n responseTransformer: unbanGroupMemberResponseTransformer,\n url: '/groups/{groupId}/bans/{userId}',\n ...options\n });\n }\n \n /**\n * Create Group Gallery\n * Creates a gallery for a Group.\n */\n public createGroupGallery<ThrowOnError extends boolean = false>(options: Options<CreateGroupGalleryData, ThrowOnError>) {\n return (options.client ?? this._client).post<CreateGroupGalleryResponses, CreateGroupGalleryErrors, ThrowOnError>({\n responseTransformer: createGroupGalleryResponseTransformer,\n url: '/groups/{groupId}/galleries',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete Group Gallery\n * Deletes a gallery for a Group.\n */\n public deleteGroupGallery<ThrowOnError extends boolean = false>(options: Options<DeleteGroupGalleryData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteGroupGalleryResponses, DeleteGroupGalleryErrors, ThrowOnError>({\n url: '/groups/{groupId}/galleries/{groupGalleryId}',\n ...options\n });\n }\n \n /**\n * Get Group Gallery Images\n * Returns a list of images for a Group gallery.\n */\n public getGroupGalleryImages<ThrowOnError extends boolean = false>(options: Options<GetGroupGalleryImagesData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupGalleryImagesResponses, GetGroupGalleryImagesErrors, ThrowOnError>({\n responseTransformer: getGroupGalleryImagesResponseTransformer,\n url: '/groups/{groupId}/galleries/{groupGalleryId}',\n ...options\n });\n }\n \n /**\n * Update Group Gallery\n * Updates a gallery for a Group.\n */\n public updateGroupGallery<ThrowOnError extends boolean = false>(options: Options<UpdateGroupGalleryData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateGroupGalleryResponses, UpdateGroupGalleryErrors, ThrowOnError>({\n responseTransformer: updateGroupGalleryResponseTransformer,\n url: '/groups/{groupId}/galleries/{groupGalleryId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Add Group Gallery Image\n * Adds an image to a Group gallery.\n */\n public addGroupGalleryImage<ThrowOnError extends boolean = false>(options: Options<AddGroupGalleryImageData, ThrowOnError>) {\n return (options.client ?? this._client).post<AddGroupGalleryImageResponses, AddGroupGalleryImageErrors, ThrowOnError>({\n responseTransformer: addGroupGalleryImageResponseTransformer,\n url: '/groups/{groupId}/galleries/{groupGalleryId}/images',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete Group Gallery Image\n * Deletes an image from a Group gallery.\n */\n public deleteGroupGalleryImage<ThrowOnError extends boolean = false>(options: Options<DeleteGroupGalleryImageData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteGroupGalleryImageResponses, DeleteGroupGalleryImageErrors, ThrowOnError>({\n url: '/groups/{groupId}/galleries/{groupGalleryId}/images/{groupGalleryImageId}',\n ...options\n });\n }\n \n /**\n * Get Group Instances\n * Returns a list of group instances\n */\n public getGroupInstances<ThrowOnError extends boolean = false>(options: Options<GetGroupInstancesData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupInstancesResponses, GetGroupInstancesErrors, ThrowOnError>({\n responseTransformer: getGroupInstancesResponseTransformer,\n url: '/groups/{groupId}/instances',\n ...options\n });\n }\n \n /**\n * Get Group Invites Sent\n * Returns a list of members that have been invited to the Group.\n */\n public getGroupInvites<ThrowOnError extends boolean = false>(options: Options<GetGroupInvitesData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupInvitesResponses, GetGroupInvitesErrors, ThrowOnError>({\n responseTransformer: getGroupInvitesResponseTransformer,\n url: '/groups/{groupId}/invites',\n ...options\n });\n }\n \n /**\n * Invite User to Group\n * Sends an invite to a user to join the group.\n */\n public createGroupInvite<ThrowOnError extends boolean = false>(options: Options<CreateGroupInviteData, ThrowOnError>) {\n return (options.client ?? this._client).post<CreateGroupInviteResponses, CreateGroupInviteErrors, ThrowOnError>({\n url: '/groups/{groupId}/invites',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete User Invite\n * Deletes an Group invite sent to a User\n */\n public deleteGroupInvite<ThrowOnError extends boolean = false>(options: Options<DeleteGroupInviteData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteGroupInviteResponses, DeleteGroupInviteErrors, ThrowOnError>({\n url: '/groups/{groupId}/invites/{userId}',\n ...options\n });\n }\n \n /**\n * Join Group\n * Join a Group by ID and returns the member object.\n */\n public joinGroup<ThrowOnError extends boolean = false>(options: Options<JoinGroupData, ThrowOnError>) {\n return (options.client ?? this._client).post<JoinGroupResponses, JoinGroupErrors, ThrowOnError>({\n responseTransformer: joinGroupResponseTransformer,\n url: '/groups/{groupId}/join',\n ...options\n });\n }\n \n /**\n * Leave Group\n * Leave a group by ID.\n */\n public leaveGroup<ThrowOnError extends boolean = false>(options: Options<LeaveGroupData, ThrowOnError>) {\n return (options.client ?? this._client).post<LeaveGroupResponses, LeaveGroupErrors, ThrowOnError>({\n url: '/groups/{groupId}/leave',\n ...options\n });\n }\n \n /**\n * List Group Members\n * Returns a List of all **other** Group Members. This endpoint will never return the user calling the endpoint.\n * Information about the user calling the endpoint must be found in the `myMember` field of the Group object.\n */\n public getGroupMembers<ThrowOnError extends boolean = false>(options: Options<GetGroupMembersData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupMembersResponses, GetGroupMembersErrors, ThrowOnError>({\n responseTransformer: getGroupMembersResponseTransformer,\n url: '/groups/{groupId}/members',\n ...options\n });\n }\n \n /**\n * Kick Group Member\n * Kicks a Group Member from the Group. The current user must have the \"Remove Group Members\" permission.\n */\n public kickGroupMember<ThrowOnError extends boolean = false>(options: Options<KickGroupMemberData, ThrowOnError>) {\n return (options.client ?? this._client).delete<KickGroupMemberResponses, KickGroupMemberErrors, ThrowOnError>({\n url: '/groups/{groupId}/members/{userId}',\n ...options\n });\n }\n \n /**\n * Get Group Member\n * Returns a LimitedGroup Member.\n */\n public getGroupMember<ThrowOnError extends boolean = false>(options: Options<GetGroupMemberData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupMemberResponses, GetGroupMemberErrors, ThrowOnError>({\n responseTransformer: getGroupMemberResponseTransformer,\n url: '/groups/{groupId}/members/{userId}',\n ...options\n });\n }\n \n /**\n * Update Group Member\n * Updates a Group Member\n */\n public updateGroupMember<ThrowOnError extends boolean = false>(options: Options<UpdateGroupMemberData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateGroupMemberResponses, UpdateGroupMemberErrors, ThrowOnError>({\n responseTransformer: updateGroupMemberResponseTransformer,\n url: '/groups/{groupId}/members/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Remove Role from GroupMember\n * Removes a Role from a Group Member\n */\n public removeGroupMemberRole<ThrowOnError extends boolean = false>(options: Options<RemoveGroupMemberRoleData, ThrowOnError>) {\n return (options.client ?? this._client).delete<RemoveGroupMemberRoleResponses, RemoveGroupMemberRoleErrors, ThrowOnError>({\n url: '/groups/{groupId}/members/{userId}/roles/{groupRoleId}',\n ...options\n });\n }\n \n /**\n * Add Role to GroupMember\n * Adds a Role to a Group Member\n */\n public addGroupMemberRole<ThrowOnError extends boolean = false>(options: Options<AddGroupMemberRoleData, ThrowOnError>) {\n return (options.client ?? this._client).put<AddGroupMemberRoleResponses, AddGroupMemberRoleErrors, ThrowOnError>({\n url: '/groups/{groupId}/members/{userId}/roles/{groupRoleId}',\n ...options\n });\n }\n \n /**\n * List Group Permissions\n * Returns a List of all possible/available permissions for a Group.\n */\n public getGroupPermissions<ThrowOnError extends boolean = false>(options: Options<GetGroupPermissionsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupPermissionsResponses, GetGroupPermissionsErrors, ThrowOnError>({\n url: '/groups/{groupId}/permissions',\n ...options\n });\n }\n \n /**\n * Get posts from a Group\n * Get posts from a Group\n */\n public getGroupPosts<ThrowOnError extends boolean = false>(options: Options<GetGroupPostsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupPostsResponses, GetGroupPostsErrors, ThrowOnError>({\n responseTransformer: getGroupPostsResponseTransformer,\n url: '/groups/{groupId}/posts',\n ...options\n });\n }\n \n /**\n * Create a post in a Group\n * Create a post in a Group.\n */\n public addGroupPost<ThrowOnError extends boolean = false>(options: Options<AddGroupPostData, ThrowOnError>) {\n return (options.client ?? this._client).post<AddGroupPostResponses, AddGroupPostErrors, ThrowOnError>({\n responseTransformer: addGroupPostResponseTransformer,\n url: '/groups/{groupId}/posts',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete a Group post\n * Delete a Group post\n */\n public deleteGroupPost<ThrowOnError extends boolean = false>(options: Options<DeleteGroupPostData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteGroupPostResponses, DeleteGroupPostErrors, ThrowOnError>({\n url: '/groups/{groupId}/posts/{notificationId}',\n ...options\n });\n }\n \n /**\n * Edits a Group post\n * Edits a Group post\n */\n public updateGroupPost<ThrowOnError extends boolean = false>(options: Options<UpdateGroupPostData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateGroupPostResponses, UpdateGroupPostErrors, ThrowOnError>({\n responseTransformer: updateGroupPostResponseTransformer,\n url: '/groups/{groupId}/posts/{notificationId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Update Group Representation\n * Updates whether the user is representing the group.\n *\n * When `isRepresenting` is set to `true`, this flag will be set to `false` for all other groups\n */\n public updateGroupRepresentation<ThrowOnError extends boolean = false>(options: Options<UpdateGroupRepresentationData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateGroupRepresentationResponses, UpdateGroupRepresentationErrors, ThrowOnError>({\n url: '/groups/{groupId}/representation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Cancel Group Join Request\n * Cancels a request sent to join the group.\n */\n public cancelGroupRequest<ThrowOnError extends boolean = false>(options: Options<CancelGroupRequestData, ThrowOnError>) {\n return (options.client ?? this._client).delete<CancelGroupRequestResponses, CancelGroupRequestErrors, ThrowOnError>({\n url: '/groups/{groupId}/requests',\n ...options\n });\n }\n \n /**\n * Get Group Join Requests\n * Returns a list of members that have requested to join the Group.\n */\n public getGroupRequests<ThrowOnError extends boolean = false>(options: Options<GetGroupRequestsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupRequestsResponses, GetGroupRequestsErrors, ThrowOnError>({\n responseTransformer: getGroupRequestsResponseTransformer,\n url: '/groups/{groupId}/requests',\n ...options\n });\n }\n \n /**\n * Respond Group Join request\n * Responds to a Group Join Request with Accept/Deny\n */\n public respondGroupJoinRequest<ThrowOnError extends boolean = false>(options: Options<RespondGroupJoinRequestData, ThrowOnError>) {\n return (options.client ?? this._client).put<RespondGroupJoinRequestResponses, RespondGroupJoinRequestErrors, ThrowOnError>({\n url: '/groups/{groupId}/requests/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Group Roles\n * Returns a Group Role by ID.\n */\n public getGroupRoles<ThrowOnError extends boolean = false>(options: Options<GetGroupRolesData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetGroupRolesResponses, GetGroupRolesErrors, ThrowOnError>({\n responseTransformer: getGroupRolesResponseTransformer,\n url: '/groups/{groupId}/roles',\n ...options\n });\n }\n \n /**\n * Create GroupRole\n * Create a Group role.\n */\n public createGroupRole<ThrowOnError extends boolean = false>(options: Options<CreateGroupRoleData, ThrowOnError>) {\n return (options.client ?? this._client).post<CreateGroupRoleResponses, CreateGroupRoleErrors, ThrowOnError>({\n responseTransformer: createGroupRoleResponseTransformer,\n url: '/groups/{groupId}/roles',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete Group Role\n * Deletes a Group Role by ID and returns the remaining roles.\n */\n public deleteGroupRole<ThrowOnError extends boolean = false>(options: Options<DeleteGroupRoleData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteGroupRoleResponses, DeleteGroupRoleErrors, ThrowOnError>({\n responseTransformer: deleteGroupRoleResponseTransformer,\n url: '/groups/{groupId}/roles/{groupRoleId}',\n ...options\n });\n }\n \n /**\n * Update Group Role\n * Updates a group role by ID.\n */\n public updateGroupRole<ThrowOnError extends boolean = false>(options: Options<UpdateGroupRoleData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateGroupRoleResponses, UpdateGroupRoleErrors, ThrowOnError>({\n responseTransformer: updateGroupRoleResponseTransformer,\n url: '/groups/{groupId}/roles/{groupRoleId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Inventory\n * Returns an Inventory object.\n */\n public getInventory<ThrowOnError extends boolean = false>(options?: Options<GetInventoryData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetInventoryResponses, GetInventoryErrors, ThrowOnError>({\n responseTransformer: getInventoryResponseTransformer,\n url: '/inventory',\n ...options\n });\n }\n \n /**\n * Get Own Inventory Item\n * Returns an InventoryItem object held by the currently logged in user.\n */\n public getOwnInventoryItem<ThrowOnError extends boolean = false>(options: Options<GetOwnInventoryItemData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetOwnInventoryItemResponses, GetOwnInventoryItemErrors, ThrowOnError>({\n responseTransformer: getOwnInventoryItemResponseTransformer,\n url: '/inventory/{inventoryItemId}',\n ...options\n });\n }\n \n /**\n * Update Own Inventory Item\n * Returns the modified InventoryItem object as held by the currently logged in user.\n */\n public updateOwnInventoryItem<ThrowOnError extends boolean = false>(options: Options<UpdateOwnInventoryItemData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateOwnInventoryItemResponses, UpdateOwnInventoryItemErrors, ThrowOnError>({\n responseTransformer: updateOwnInventoryItemResponseTransformer,\n url: '/inventory/{inventoryItemId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * List Inventory Drops\n * Returns a list of InventoryDrop objects.\n */\n public getInventoryDrops<ThrowOnError extends boolean = false>(options?: Options<GetInventoryDropsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetInventoryDropsResponses, GetInventoryDropsErrors, ThrowOnError>({\n responseTransformer: getInventoryDropsResponseTransformer,\n url: '/inventory/drops',\n ...options\n });\n }\n \n /**\n * Get Inventory Template\n * Returns an InventoryTemplate object.\n */\n public getInventoryTemplate<ThrowOnError extends boolean = false>(options: Options<GetInventoryTemplateData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetInventoryTemplateResponses, GetInventoryTemplateErrors, ThrowOnError>({\n responseTransformer: getInventoryTemplateResponseTransformer,\n url: '/inventory/template/{inventoryTemplateId}',\n ...options\n });\n }\n \n /**\n * Spawn Inventory Item\n * Returns an InventorySpawn object.\n */\n public spawnInventoryItem<ThrowOnError extends boolean = false>(options: Options<SpawnInventoryItemData, ThrowOnError>) {\n return (options.client ?? this._client).get<SpawnInventoryItemResponses, SpawnInventoryItemErrors, ThrowOnError>({\n url: '/inventory/spawn',\n ...options\n });\n }\n \n /**\n * Share Inventory Item by Pedestal\n * Returns an InventorySpawn object.\n */\n public shareInventoryItemPedestal<ThrowOnError extends boolean = false>(options: Options<ShareInventoryItemPedestalData, ThrowOnError>) {\n return (options.client ?? this._client).get<ShareInventoryItemPedestalResponses, ShareInventoryItemPedestalErrors, ThrowOnError>({\n url: '/inventory/cloning/pedestal',\n ...options\n });\n }\n \n /**\n * Share Inventory Item Direct\n * Share content directly with other users.\n */\n public shareInventoryItemDirect<ThrowOnError extends boolean = false>(options: Options<ShareInventoryItemDirectData, ThrowOnError>) {\n return (options.client ?? this._client).post<ShareInventoryItemDirectResponses, ShareInventoryItemDirectErrors, ThrowOnError>({\n url: '/inventory/cloning/direct',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Invite User\n * Sends an invite to a user. Returns the Notification of type `invite` that was sent.\n */\n public inviteUser<ThrowOnError extends boolean = false>(options: Options<InviteUserData, ThrowOnError>) {\n return (options.client ?? this._client).post<InviteUserResponses, InviteUserErrors, ThrowOnError>({\n responseTransformer: inviteUserResponseTransformer,\n url: '/invite/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Invite User with photo\n * Sends an photo invite to a user. Returns the Notification of type `invite` that was sent.\n */\n public inviteUserWithPhoto<ThrowOnError extends boolean = false>(options: Options<InviteUserWithPhotoData, ThrowOnError>) {\n return (options.client ?? this._client).post<InviteUserWithPhotoResponses, InviteUserWithPhotoErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: inviteUserWithPhotoResponseTransformer,\n url: '/invite/{userId}/photo',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n }\n \n /**\n * Invite Myself To Instance\n * Sends self an invite to an instance\n */\n public inviteMyselfTo<ThrowOnError extends boolean = false>(options: Options<InviteMyselfToData, ThrowOnError>) {\n return (options.client ?? this._client).post<InviteMyselfToResponses, InviteMyselfToErrors, ThrowOnError>({\n responseTransformer: inviteMyselfToResponseTransformer,\n url: '/invite/myself/to/{worldId}:{instanceId}',\n ...options\n });\n }\n \n /**\n * Request Invite\n * Requests an invite from a user. Returns the Notification of type `requestInvite` that was sent.\n */\n public requestInvite<ThrowOnError extends boolean = false>(options: Options<RequestInviteData, ThrowOnError>) {\n return (options.client ?? this._client).post<RequestInviteResponses, RequestInviteErrors, ThrowOnError>({\n responseTransformer: requestInviteResponseTransformer,\n url: '/requestInvite/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Request Invite with photo\n * Requests with photo an invite from a user. Returns the Notification of type `requestInvite` that was sent.\n */\n public requestInviteWithPhoto<ThrowOnError extends boolean = false>(options: Options<RequestInviteWithPhotoData, ThrowOnError>) {\n return (options.client ?? this._client).post<RequestInviteWithPhotoResponses, RequestInviteWithPhotoErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: requestInviteWithPhotoResponseTransformer,\n url: '/requestInvite/{userId}/photo',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n }\n \n /**\n * Respond Invite\n * Respond to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification.\n *\n * In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection.\n * In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.\n */\n public respondInvite<ThrowOnError extends boolean = false>(options: Options<RespondInviteData, ThrowOnError>) {\n return (options.client ?? this._client).post<RespondInviteResponses, RespondInviteErrors, ThrowOnError>({\n responseTransformer: respondInviteResponseTransformer,\n url: '/invite/{notificationId}/response',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Respond Invite with photo\n * Respond with photo to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification.\n *\n * In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection.\n * In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.'\n */\n public respondInviteWithPhoto<ThrowOnError extends boolean = false>(options: Options<RespondInviteWithPhotoData, ThrowOnError>) {\n return (options.client ?? this._client).post<RespondInviteWithPhotoResponses, RespondInviteWithPhotoErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: respondInviteWithPhotoResponseTransformer,\n url: '/invite/{notificationId}/response/photo',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n }\n \n /**\n * List Invite Messages\n * Returns a list of all the users Invite Messages. Admin Credentials are required to view messages of other users!\n *\n * Message type refers to a different collection of messages, used during different types of responses.\n *\n * * `message` = Message during a normal invite\n * * `response` = Message when replying to a message\n * * `request` = Message when requesting an invite\n * * `requestResponse` = Message when replying to a request for invite\n */\n public getInviteMessages<ThrowOnError extends boolean = false>(options: Options<GetInviteMessagesData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetInviteMessagesResponses, GetInviteMessagesErrors, ThrowOnError>({\n responseTransformer: getInviteMessagesResponseTransformer,\n url: '/message/{userId}/{messageType}',\n ...options\n });\n }\n \n /**\n * Reset Invite Message\n * Resets a single Invite Message back to its original message, and then returns a list of all of them. Admin Credentials are required to update messages of other users!\n *\n * Resetting a message respects the rate-limit, so it is not possible to reset within the 60 minutes countdown.\n * Resetting it does however not set the rate-limit to 60 like when editing it.\n * It is possible to edit it right after resetting it.\n * Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\".\n *\n * Message type refers to a different collection of messages, used during different types of responses.\n *\n * * `message` = Message during a normal invite\n * * `response` = Message when replying to a message\n * * `request` = Message when requesting an invite\n * * `requestResponse` = Message when replying to a request for invite\n *\n * The DELETE endpoint does not have/require any request body.\n */\n public resetInviteMessage<ThrowOnError extends boolean = false>(options: Options<ResetInviteMessageData, ThrowOnError>) {\n return (options.client ?? this._client).delete<ResetInviteMessageResponses, ResetInviteMessageErrors, ThrowOnError>({\n responseTransformer: resetInviteMessageResponseTransformer,\n url: '/message/{userId}/{messageType}/{slot}',\n ...options\n });\n }\n \n /**\n * Get Invite Message\n * Returns a single Invite Message. This returns the exact same information but less than `getInviteMessages`. Admin Credentials are required to view messages of other users!\n *\n * Message type refers to a different collection of messages, used during different types of responses.\n *\n * * `message` = Message during a normal invite\n * * `response` = Message when replying to a message\n * * `request` = Message when requesting an invite\n * * `requestResponse` = Message when replying to a request for invite\n */\n public getInviteMessage<ThrowOnError extends boolean = false>(options: Options<GetInviteMessageData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetInviteMessageResponses, GetInviteMessageErrors, ThrowOnError>({\n responseTransformer: getInviteMessageResponseTransformer,\n url: '/message/{userId}/{messageType}/{slot}',\n ...options\n });\n }\n \n /**\n * Update Invite Message\n * Updates a single Invite Message and then returns a list of all of them. Admin Credentials are required to update messages of other users!\n *\n * Updating a message automatically sets the cooldown timer to 60 minutes.\n * Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\".\n *\n * Message type refers to a different collection of messages, used during different types of responses.\n *\n * * `message` = Message during a normal invite\n * * `response` = Message when replying to a message\n * * `request` = Message when requesting an invite\n * * `requestResponse` = Message when replying to a request for invite\n */\n public updateInviteMessage<ThrowOnError extends boolean = false>(options: Options<UpdateInviteMessageData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateInviteMessageResponses, UpdateInviteMessageErrors, ThrowOnError>({\n responseTransformer: updateInviteMessageResponseTransformer,\n url: '/message/{userId}/{messageType}/{slot}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Create Instance\n * Create an instance\n */\n public createInstance<ThrowOnError extends boolean = false>(options: Options<CreateInstanceData, ThrowOnError>) {\n return (options.client ?? this._client).post<CreateInstanceResponses, CreateInstanceErrors, ThrowOnError>({\n responseTransformer: createInstanceResponseTransformer,\n url: '/instances',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * List Recent Locations\n * Returns a list of recently visited locations.\n */\n public getRecentLocations<ThrowOnError extends boolean = false>(options?: Options<GetRecentLocationsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetRecentLocationsResponses, GetRecentLocationsErrors, ThrowOnError>({\n url: '/instances/recent',\n ...options\n });\n }\n \n /**\n * Close Instance\n * Close an instance or update the closedAt time when it will be closed.\n *\n * You can only close an instance if the ownerId is yourself or if the instance owner is a group and you have the `group-instance-manage` permission.\n */\n public closeInstance<ThrowOnError extends boolean = false>(options: Options<CloseInstanceData, ThrowOnError>) {\n return (options.client ?? this._client).delete<CloseInstanceResponses, CloseInstanceErrors, ThrowOnError>({\n responseTransformer: closeInstanceResponseTransformer,\n url: '/instances/{worldId}:{instanceId}',\n ...options\n });\n }\n \n /**\n * Get Instance\n * Returns an instance. Please read [Instances Tutorial](https://vrchatapi.github.io/tutorials/instances/) for more information on Instances.\n *\n * If an invalid instanceId is provided, this endpoint will simply return \"null\"!\n */\n public getInstance<ThrowOnError extends boolean = false>(options: Options<GetInstanceData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetInstanceResponses, GetInstanceErrors, ThrowOnError>({\n responseTransformer: getInstanceResponseTransformer,\n url: '/instances/{worldId}:{instanceId}',\n ...options\n });\n }\n \n /**\n * Get Instance Short Name\n * Returns an instance short name.\n */\n public getShortName<ThrowOnError extends boolean = false>(options: Options<GetShortNameData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetShortNameResponses, GetShortNameErrors, ThrowOnError>({\n url: '/instances/{worldId}:{instanceId}/shortName',\n ...options\n });\n }\n \n /**\n * Get Instance By Short Name\n * Returns an instance. Please read [Instances Tutorial](https://vrchatapi.github.io/tutorials/instances/) for more information on Instances.\n */\n public getInstanceByShortName<ThrowOnError extends boolean = false>(options: Options<GetInstanceByShortNameData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetInstanceByShortNameResponses, GetInstanceByShortNameErrors, ThrowOnError>({\n responseTransformer: getInstanceByShortNameResponseTransformer,\n url: '/instances/s/{shortName}',\n ...options\n });\n }\n \n /**\n * List Notifications\n * Retrieve all of the current user's notifications.\n */\n public getNotifications<ThrowOnError extends boolean = false>(options?: Options<GetNotificationsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetNotificationsResponses, GetNotificationsErrors, ThrowOnError>({\n responseTransformer: getNotificationsResponseTransformer,\n url: '/auth/user/notifications',\n ...options\n });\n }\n \n /**\n * Show notification\n * Get a notification by notification `not_` ID.\n */\n public getNotification<ThrowOnError extends boolean = false>(options: Options<GetNotificationData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetNotificationResponses, GetNotificationErrors, ThrowOnError>({\n responseTransformer: getNotificationResponseTransformer,\n url: '/auth/user/notifications/{notificationId}',\n ...options\n });\n }\n \n /**\n * Accept Friend Request\n * Accept a friend request by notification `frq_` ID. Friend requests can be found using the NotificationsAPI `getNotifications` by filtering of type `friendRequest`.\n */\n public acceptFriendRequest<ThrowOnError extends boolean = false>(options: Options<AcceptFriendRequestData, ThrowOnError>) {\n return (options.client ?? this._client).put<AcceptFriendRequestResponses, AcceptFriendRequestErrors, ThrowOnError>({\n url: '/auth/user/notifications/{notificationId}/accept',\n ...options\n });\n }\n \n /**\n * Mark Notification As Read\n * Mark a notification as seen.\n */\n public markNotificationAsRead<ThrowOnError extends boolean = false>(options: Options<MarkNotificationAsReadData, ThrowOnError>) {\n return (options.client ?? this._client).put<MarkNotificationAsReadResponses, MarkNotificationAsReadErrors, ThrowOnError>({\n responseTransformer: markNotificationAsReadResponseTransformer,\n url: '/auth/user/notifications/{notificationId}/see',\n ...options\n });\n }\n \n /**\n * Delete Notification\n * Delete a notification.\n */\n public deleteNotification<ThrowOnError extends boolean = false>(options: Options<DeleteNotificationData, ThrowOnError>) {\n return (options.client ?? this._client).put<DeleteNotificationResponses, DeleteNotificationErrors, ThrowOnError>({\n responseTransformer: deleteNotificationResponseTransformer,\n url: '/auth/user/notifications/{notificationId}/hide',\n ...options\n });\n }\n \n /**\n * Clear All Notifications\n * Clear **all** notifications.\n */\n public clearNotifications<ThrowOnError extends boolean = false>(options?: Options<ClearNotificationsData, ThrowOnError>) {\n return (options?.client ?? this._client).put<ClearNotificationsResponses, ClearNotificationsErrors, ThrowOnError>({\n url: '/auth/user/notifications/clear',\n ...options\n });\n }\n \n /**\n * Clear All Player Moderations\n * ⚠️ **This will delete every single player moderation you've ever made.**\n */\n public clearAllPlayerModerations<ThrowOnError extends boolean = false>(options?: Options<ClearAllPlayerModerationsData, ThrowOnError>) {\n return (options?.client ?? this._client).delete<ClearAllPlayerModerationsResponses, ClearAllPlayerModerationsErrors, ThrowOnError>({\n url: '/auth/user/playermoderations',\n ...options\n });\n }\n \n /**\n * Search Player Moderations\n * Returns a list of all player moderations made by **you**.\n *\n * This endpoint does not have pagination, and will return *all* results. Use query parameters to limit your query if needed.\n */\n public getPlayerModerations<ThrowOnError extends boolean = false>(options?: Options<GetPlayerModerationsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetPlayerModerationsResponses, GetPlayerModerationsErrors, ThrowOnError>({\n responseTransformer: getPlayerModerationsResponseTransformer,\n url: '/auth/user/playermoderations',\n ...options\n });\n }\n \n /**\n * Moderate User\n * Moderate a user, e.g. unmute them or show their avatar.\n *\n * Please see the [Player Moderation docs](https://vrchatapi.github.io/docs/api/#tag--playermoderation) on what playerModerations are, and how they differ from staff moderations.\n */\n public moderateUser<ThrowOnError extends boolean = false>(options: Options<ModerateUserData, ThrowOnError>) {\n return (options.client ?? this._client).post<ModerateUserResponses, ModerateUserErrors, ThrowOnError>({\n responseTransformer: moderateUserResponseTransformer,\n url: '/auth/user/playermoderations',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Unmoderate User\n * Removes a player moderation previously added through `moderateUser`. E.g if you previously have shown their avatar, but now want to reset it to default.\n */\n public unmoderateUser<ThrowOnError extends boolean = false>(options: Options<UnmoderateUserData, ThrowOnError>) {\n return (options.client ?? this._client).put<UnmoderateUserResponses, UnmoderateUserErrors, ThrowOnError>({\n url: '/auth/user/unplayermoderate',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Own Prints\n * Returns a list of all prints of the user. User id has to be your own userId, as you can't request other user's prints.\n */\n public getUserPrints<ThrowOnError extends boolean = false>(options: Options<GetUserPrintsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserPrintsResponses, GetUserPrintsErrors, ThrowOnError>({\n responseTransformer: getUserPrintsResponseTransformer,\n url: '/prints/user/{userId}',\n ...options\n });\n }\n \n /**\n * Delete Print\n * Returns a print.\n */\n public deletePrint<ThrowOnError extends boolean = false>(options: Options<DeletePrintData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeletePrintResponses, DeletePrintErrors, ThrowOnError>({\n url: '/prints/{printId}',\n ...options\n });\n }\n \n /**\n * Get Print\n * Returns a print.\n */\n public getPrint<ThrowOnError extends boolean = false>(options: Options<GetPrintData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetPrintResponses, GetPrintErrors, ThrowOnError>({\n responseTransformer: getPrintResponseTransformer,\n url: '/prints/{printId}',\n ...options\n });\n }\n \n /**\n * Edit Print\n * Edits a print.\n */\n public editPrint<ThrowOnError extends boolean = false>(options: Options<EditPrintData, ThrowOnError>) {\n return (options.client ?? this._client).post<EditPrintResponses, EditPrintErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: editPrintResponseTransformer,\n url: '/prints/{printId}',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n }\n \n /**\n * Upload Print\n * Uploads and creates a print.\n */\n public uploadPrint<ThrowOnError extends boolean = false>(options?: Options<UploadPrintData, ThrowOnError>) {\n return (options?.client ?? this._client).post<UploadPrintResponses, UploadPrintErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: uploadPrintResponseTransformer,\n url: '/prints',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n }\n \n /**\n * Get Prop\n * Returns a Prop object.\n */\n public getProp<ThrowOnError extends boolean = false>(options: Options<GetPropData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetPropResponses, GetPropErrors, ThrowOnError>({\n responseTransformer: getPropResponseTransformer,\n url: '/props/{propId}',\n ...options\n });\n }\n \n /**\n * Show jams list\n * Lists World Jams or Avatar Jams, both currently running and ones that have ended.\n *\n * `isActive` is used to select only active or already ended jams.\n *\n * `type` is used to select only world or avatar jams, and can only take `world` or `avatar`.\n * ``\n */\n public getJams<ThrowOnError extends boolean = false>(options?: Options<GetJamsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetJamsResponses, unknown, ThrowOnError>({\n responseTransformer: getJamsResponseTransformer,\n url: '/jams',\n ...options\n });\n }\n \n /**\n * Show jam information\n * Returns a jam.\n */\n public getJam<ThrowOnError extends boolean = false>(options: Options<GetJamData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetJamResponses, GetJamErrors, ThrowOnError>({\n responseTransformer: getJamResponseTransformer,\n url: '/jams/{jamId}',\n ...options\n });\n }\n \n /**\n * Show jam submissions\n * Returns all submissions of a jam.\n */\n public getJamSubmissions<ThrowOnError extends boolean = false>(options: Options<GetJamSubmissionsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetJamSubmissionsResponses, GetJamSubmissionsErrors, ThrowOnError>({\n responseTransformer: getJamSubmissionsResponseTransformer,\n url: '/jams/{jamId}/submissions',\n ...options\n });\n }\n \n /**\n * Search All Users\n * Search and list any users by text query\n */\n public searchUsers<ThrowOnError extends boolean = false>(options?: Options<SearchUsersData, ThrowOnError>) {\n return (options?.client ?? this._client).get<SearchUsersResponses, SearchUsersErrors, ThrowOnError>({\n url: '/users',\n ...options\n });\n }\n \n /**\n * Get User by Username\n * ~~Get public user information about a specific user using their name.~~\n *\n * **DEPRECATED:** VRChat API no longer return usernames of other users. [See issue by Tupper for more information](https://github.com/pypy-vrc/VRCX/issues/429).\n * This endpoint now require Admin Credentials.\n * @deprecated\n */\n public getUserByName<ThrowOnError extends boolean = false>(options: Options<GetUserByNameData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserByNameResponses, GetUserByNameErrors, ThrowOnError>({\n responseTransformer: getUserByNameResponseTransformer,\n url: '/users/{username}/name',\n ...options\n });\n }\n \n /**\n * Get User by ID\n * Get public user information about a specific user using their ID.\n */\n public getUser<ThrowOnError extends boolean = false>(options: Options<GetUserData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserResponses, GetUserErrors, ThrowOnError>({\n responseTransformer: getUserResponseTransformer,\n url: '/users/{userId}',\n ...options\n });\n }\n \n /**\n * Update User Info\n * Update a users information such as the email and birthday.\n */\n public updateUser<ThrowOnError extends boolean = false>(options: Options<UpdateUserData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateUserResponses, UpdateUserErrors, ThrowOnError>({\n responseTransformer: updateUserResponseTransformer,\n url: '/users/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get User Groups\n * Get user's public groups\n */\n public getUserGroups<ThrowOnError extends boolean = false>(options: Options<GetUserGroupsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserGroupsResponses, GetUserGroupsErrors, ThrowOnError>({\n responseTransformer: getUserGroupsResponseTransformer,\n url: '/users/{userId}/groups',\n ...options\n });\n }\n \n /**\n * Get User Group Requests\n * Returns a list of Groups the user has requested to be invited into.\n */\n public getUserGroupRequests<ThrowOnError extends boolean = false>(options: Options<GetUserGroupRequestsData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserGroupRequestsResponses, GetUserGroupRequestsErrors, ThrowOnError>({\n responseTransformer: getUserGroupRequestsResponseTransformer,\n url: '/users/{userId}/groups/requested',\n ...options\n });\n }\n \n /**\n * Get user's current represented group\n * Returns the current group that the user is currently representing\n */\n public getUserRepresentedGroup<ThrowOnError extends boolean = false>(options: Options<GetUserRepresentedGroupData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserRepresentedGroupResponses, GetUserRepresentedGroupErrors, ThrowOnError>({\n url: '/users/{userId}/groups/represented',\n ...options\n });\n }\n \n /**\n * Get User Feedback\n * Get user's submitted feedback\n * @deprecated\n */\n public getUserFeedback<ThrowOnError extends boolean = false>(options: Options<GetUserFeedbackData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserFeedbackResponses, GetUserFeedbackErrors, ThrowOnError>({\n url: '/users/{userId}/feedback',\n ...options\n });\n }\n \n /**\n * Get User Notes\n * Get recently updated user notes\n */\n public getUserNotes<ThrowOnError extends boolean = false>(options?: Options<GetUserNotesData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetUserNotesResponses, GetUserNotesErrors, ThrowOnError>({\n responseTransformer: getUserNotesResponseTransformer,\n url: '/userNotes',\n ...options\n });\n }\n \n /**\n * Update User Note\n * Updates the currently authenticated user's note on a user\n */\n public updateUserNote<ThrowOnError extends boolean = false>(options: Options<UpdateUserNoteData, ThrowOnError>) {\n return (options.client ?? this._client).post<UpdateUserNoteResponses, UpdateUserNoteErrors, ThrowOnError>({\n responseTransformer: updateUserNoteResponseTransformer,\n url: '/userNotes',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get User Note\n * Get a particular user note\n */\n public getUserNote<ThrowOnError extends boolean = false>(options: Options<GetUserNoteData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserNoteResponses, GetUserNoteErrors, ThrowOnError>({\n responseTransformer: getUserNoteResponseTransformer,\n url: '/userNotes/{userNoteId}',\n ...options\n });\n }\n \n /**\n * Add User Tags\n * Adds tags to the user's profile\n */\n public addTags<ThrowOnError extends boolean = false>(options: Options<AddTagsData, ThrowOnError>) {\n return (options.client ?? this._client).post<AddTagsResponses, AddTagsErrors, ThrowOnError>({\n responseTransformer: addTagsResponseTransformer,\n url: '/users/{userId}/addTags',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Remove User Tags\n * Removes tags from the user's profile\n */\n public removeTags<ThrowOnError extends boolean = false>(options: Options<RemoveTagsData, ThrowOnError>) {\n return (options.client ?? this._client).post<RemoveTagsResponses, RemoveTagsErrors, ThrowOnError>({\n responseTransformer: removeTagsResponseTransformer,\n url: '/users/{userId}/removeTags',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Update User Badge\n * Updates a user's badge\n */\n public updateBadge<ThrowOnError extends boolean = false>(options: Options<UpdateBadgeData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateBadgeResponses, UpdateBadgeErrors, ThrowOnError>({\n url: '/users/{userId}/badges/{badgeId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get User Group Instances\n * Returns a list of group instances for a user\n */\n public getUserGroupInstances<ThrowOnError extends boolean = false>(options: Options<GetUserGroupInstancesData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetUserGroupInstancesResponses, GetUserGroupInstancesErrors, ThrowOnError>({\n responseTransformer: getUserGroupInstancesResponseTransformer,\n url: '/users/{userId}/instances/groups',\n ...options\n });\n }\n \n /**\n * Check User Persistence Exists\n * Checks whether the user has persistence data for a given world\n */\n public checkUserPersistenceExists<ThrowOnError extends boolean = false>(options: Options<CheckUserPersistenceExistsData, ThrowOnError>) {\n return (options.client ?? this._client).get<CheckUserPersistenceExistsResponses, CheckUserPersistenceExistsErrors, ThrowOnError>({\n url: '/users/{userId}/{worldId}/persist/exists',\n ...options\n });\n }\n \n /**\n * Delete User Persistence\n * Deletes the user's persistence data for a given world\n */\n public deleteUserPersistence<ThrowOnError extends boolean = false>(options: Options<DeleteUserPersistenceData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteUserPersistenceResponses, DeleteUserPersistenceErrors, ThrowOnError>({\n url: '/users/{userId}/{worldId}/persist',\n ...options\n });\n }\n \n /**\n * Search All Worlds\n * Search and list any worlds by query filters.\n */\n public searchWorlds<ThrowOnError extends boolean = false>(options?: Options<SearchWorldsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<SearchWorldsResponses, SearchWorldsErrors, ThrowOnError>({\n responseTransformer: searchWorldsResponseTransformer,\n url: '/worlds',\n ...options\n });\n }\n \n /**\n * Create World\n * Create a new world. This endpoint requires `assetUrl` to be a valid File object with `.vrcw` file extension, and `imageUrl` to be a valid File object with an image file extension.\n */\n public createWorld<ThrowOnError extends boolean = false>(options?: Options<CreateWorldData, ThrowOnError>) {\n return (options?.client ?? this._client).post<CreateWorldResponses, CreateWorldErrors, ThrowOnError>({\n responseTransformer: createWorldResponseTransformer,\n url: '/worlds',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * List Active Worlds\n * Search and list currently Active worlds by query filters.\n */\n public getActiveWorlds<ThrowOnError extends boolean = false>(options?: Options<GetActiveWorldsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetActiveWorldsResponses, GetActiveWorldsErrors, ThrowOnError>({\n responseTransformer: getActiveWorldsResponseTransformer,\n url: '/worlds/active',\n ...options\n });\n }\n \n /**\n * List Favorited Worlds\n * Search and list favorited worlds by query filters.\n */\n public getFavoritedWorlds<ThrowOnError extends boolean = false>(options?: Options<GetFavoritedWorldsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetFavoritedWorldsResponses, GetFavoritedWorldsErrors, ThrowOnError>({\n responseTransformer: getFavoritedWorldsResponseTransformer,\n url: '/worlds/favorites',\n ...options\n });\n }\n \n /**\n * List Recent Worlds\n * Search and list recently visited worlds by query filters.\n */\n public getRecentWorlds<ThrowOnError extends boolean = false>(options?: Options<GetRecentWorldsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetRecentWorldsResponses, GetRecentWorldsErrors, ThrowOnError>({\n responseTransformer: getRecentWorldsResponseTransformer,\n url: '/worlds/recent',\n ...options\n });\n }\n \n /**\n * Delete World\n * Delete a world. Notice a world is never fully \"deleted\", only its ReleaseStatus is set to \"hidden\" and the linked Files are deleted. The WorldID is permanently reserved.\n */\n public deleteWorld<ThrowOnError extends boolean = false>(options: Options<DeleteWorldData, ThrowOnError>) {\n return (options.client ?? this._client).delete<DeleteWorldResponses, DeleteWorldErrors, ThrowOnError>({\n url: '/worlds/{worldId}',\n ...options\n });\n }\n \n /**\n * Get World by ID\n * Get information about a specific World.\n * Works unauthenticated but when so will always return `0` for certain fields.\n */\n public getWorld<ThrowOnError extends boolean = false>(options: Options<GetWorldData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetWorldResponses, GetWorldErrors, ThrowOnError>({\n responseTransformer: getWorldResponseTransformer,\n url: '/worlds/{worldId}',\n ...options\n });\n }\n \n /**\n * Update World\n * Update information about a specific World.\n */\n public updateWorld<ThrowOnError extends boolean = false>(options: Options<UpdateWorldData, ThrowOnError>) {\n return (options.client ?? this._client).put<UpdateWorldResponses, UpdateWorldErrors, ThrowOnError>({\n responseTransformer: updateWorldResponseTransformer,\n url: '/worlds/{worldId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get World Metadata\n * Return a worlds custom metadata. This is currently believed to be unused. Metadata can be set with `updateWorld` and can be any arbitrary object.\n * @deprecated\n */\n public getWorldMetadata<ThrowOnError extends boolean = false>(options: Options<GetWorldMetadataData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetWorldMetadataResponses, GetWorldMetadataErrors, ThrowOnError>({\n url: '/worlds/{worldId}/metadata',\n ...options\n });\n }\n \n /**\n * Unpublish World\n * Unpublish a world.\n */\n public unpublishWorld<ThrowOnError extends boolean = false>(options: Options<UnpublishWorldData, ThrowOnError>) {\n return (options.client ?? this._client).delete<UnpublishWorldResponses, UnpublishWorldErrors, ThrowOnError>({\n url: '/worlds/{worldId}/publish',\n ...options\n });\n }\n \n /**\n * Get World Publish Status\n * Returns a worlds publish status.\n */\n public getWorldPublishStatus<ThrowOnError extends boolean = false>(options: Options<GetWorldPublishStatusData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetWorldPublishStatusResponses, GetWorldPublishStatusErrors, ThrowOnError>({\n url: '/worlds/{worldId}/publish',\n ...options\n });\n }\n \n /**\n * Publish World\n * Publish a world. You can only publish one world per week.\n */\n public publishWorld<ThrowOnError extends boolean = false>(options: Options<PublishWorldData, ThrowOnError>) {\n return (options.client ?? this._client).put<PublishWorldResponses, PublishWorldErrors, ThrowOnError>({\n url: '/worlds/{worldId}/publish',\n ...options\n });\n }\n \n /**\n * Get World Instance\n * Returns a worlds instance.\n */\n public getWorldInstance<ThrowOnError extends boolean = false>(options: Options<GetWorldInstanceData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetWorldInstanceResponses, GetWorldInstanceErrors, ThrowOnError>({\n responseTransformer: getWorldInstanceResponseTransformer,\n url: '/worlds/{worldId}/{instanceId}',\n ...options\n });\n }\n \n /**\n * Fetch API Config\n * API config contains configuration that the clients needs to work properly.\n *\n * Currently the most important value here is `clientApiKey` which is used for all other API endpoints.\n */\n public getConfig<ThrowOnError extends boolean = false>(options?: Options<GetConfigData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetConfigResponses, unknown, ThrowOnError>({\n responseTransformer: getConfigResponseTransformer,\n url: '/config',\n ...options\n });\n }\n \n /**\n * Show Information Notices\n * IPS (Info Push System) is a system for VRChat to push out dynamic information to the client. This is primarily used by the Quick-Menu info banners, but can also be used to e.g. alert you to update your game to the latest version.\n *\n * `include` is used to query what Information Pushes should be included in the response. If include is missing or empty, then no notices will normally be returned. This is an \"any of\" search.\n *\n * `require` is used to limit what Information Pushes should be included in the response. This is usually used in combination with `include`, and is an \"all of\" search.\n */\n public getInfoPush<ThrowOnError extends boolean = false>(options?: Options<GetInfoPushData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetInfoPushResponses, unknown, ThrowOnError>({\n responseTransformer: getInfoPushResponseTransformer,\n url: '/infoPush',\n ...options\n });\n }\n \n /**\n * Download CSS\n * Fetches the CSS code to the frontend React website.\n */\n public getCss<ThrowOnError extends boolean = false>(options?: Options<GetCssData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetCssResponses, GetCssErrors, ThrowOnError>({\n url: '/css/app.css',\n ...options\n });\n }\n \n /**\n * Download JavaScript\n * Fetches the JavaScript code to the frontend React website.\n */\n public getJavaScript<ThrowOnError extends boolean = false>(options?: Options<GetJavaScriptData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetJavaScriptResponses, GetJavaScriptErrors, ThrowOnError>({\n url: '/js/app.js',\n ...options\n });\n }\n \n /**\n * Check API Health\n * ~~Gets the overall health status, the server name, and the current build version tag of the API.~~\n *\n * **DEPRECATED:** VRChat has suddenly restricted this endpoint for unknown reasons, and now always return 401 Unauthorized.\n * @deprecated\n */\n public getHealth<ThrowOnError extends boolean = false>(options?: Options<GetHealthData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetHealthResponses, unknown, ThrowOnError>({\n url: '/health',\n ...options\n });\n }\n \n /**\n * Current Online Users\n * Returns the current number of online users.\n *\n * **NOTE:** The response type is not a JSON object, but a simple JSON integer.\n */\n public getCurrentOnlineUsers<ThrowOnError extends boolean = false>(options?: Options<GetCurrentOnlineUsersData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetCurrentOnlineUsersResponses, unknown, ThrowOnError>({\n url: '/visits',\n ...options\n });\n }\n \n /**\n * Current System Time\n * Returns the current time of the API server.\n *\n * **NOTE:** The response type is not a JSON object, but a simple JSON string.\n */\n public getSystemTime<ThrowOnError extends boolean = false>(options?: Options<GetSystemTimeData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetSystemTimeResponses, unknown, ThrowOnError>({\n responseTransformer: getSystemTimeResponseTransformer,\n url: '/time',\n ...options\n });\n }\n \n /**\n * Get Assigned Permissions\n * Returns a list of all permissions currently granted by the user. Permissions are assigned e.g. by subscribing to VRC+.\n */\n public getAssignedPermissions<ThrowOnError extends boolean = false>(options?: Options<GetAssignedPermissionsData, ThrowOnError>) {\n return (options?.client ?? this._client).get<GetAssignedPermissionsResponses, GetAssignedPermissionsErrors, ThrowOnError>({\n url: '/auth/permissions',\n ...options\n });\n }\n \n /**\n * Get Permission\n * Returns a single permission. This endpoint is pretty useless, as it returns the exact same information as `/auth/permissions`.\n */\n public getPermission<ThrowOnError extends boolean = false>(options: Options<GetPermissionData, ThrowOnError>) {\n return (options.client ?? this._client).get<GetPermissionResponses, GetPermissionErrors, ThrowOnError>({\n url: '/permissions/{permissionId}',\n ...options\n });\n }\n}","import debug from \"debug\";\n\nimport type { VRChat } from \"./client\";\nimport { requestIdSymbol } from \"./client\";\nimport type { Options } from \"./generated/sdk.gen\";\n\nexport const log = debug(\"vrchat\");\nexport const logCache = log.extend(\"cache\");\n\nexport const logHttp = log.extend(\"http\");\nexport const logWebsocket = log.extend(\"websocket\");\n\nexport function initLogging({ client: { interceptors } }: VRChat): void {\n\tinterceptors.request.use(async (request, options) => {\n\t\tconst { meta } = options as Options as { meta: Record<PropertyKey, unknown> };\n\t\tconst requestId = meta[requestIdSymbol];\n\n\t\tconst clone = request.clone();\n\n\t\tlogHttp(\n\t\t\t\"%o %s %s %O\",\n\t\t\trequestId,\n\t\t\trequest.method,\n\t\t\trequest.url.slice((options.baseUrl as string).length),\n\t\t\tawait clone.json().catch(() => clone.text())\n\t\t);\n\n\t\treturn request;\n\t});\n\n\tinterceptors.response.use(async (response, request, options) => {\n\t\tconst { meta } = options as Options as { meta: Record<PropertyKey, unknown> };\n\t\tconst requestId = meta[requestIdSymbol];\n\n\t\tconst clone = response.clone();\n\n\t\tlogHttp(\n\t\t\t\"%o %s %s %o %s %O\",\n\t\t\trequestId,\n\t\t\trequest.method,\n\t\t\trequest.url.slice((options.baseUrl as string).length),\n\t\t\tclone.status,\n\t\t\tclone.statusText,\n\t\t\tawait clone.json().catch(() => clone.text())\n\t\t);\n\n\t\treturn response;\n\t});\n}\n","import EventEmitter from \"node:events\";\n\nimport WebSocket from \"isomorphic-ws\";\nimport type TypedEventEmitter from \"typed-emitter\";\n\nimport type { VRChat } from \"./client\";\nimport type { Events } from \"./events\";\nimport { logWebsocket } from \"./log\";\n\nconst baseUrl = \"wss://pipeline.vrchat.cloud\";\n\nexport interface VRChatWebsocketOptions {\n\tbaseUrl?: string;\n\theaders?: Headers;\n\tauthToken?: string;\n}\n\nexport class VRChatWebsocket extends (EventEmitter as new () => TypedEventEmitter<Events>) {\n\tprivate url!: URL;\n\tprivate websocket?: WebSocket;\n\n\tpublic constructor(\n\t\tpublic readonly options: VRChatWebsocketOptions = {},\n\t\tprivate readonly vrchat?: VRChat\n\t) {\n\t\tsuper();\n\n\t\tthis.url = new URL(this.options.baseUrl ?? baseUrl);\n\n\t\tif (options.authToken)\n\t\t\tthis.authenticate(options.authToken);\n\n\t\tprocess.on(\"beforeExit\", () => this.close());\n\t\tprocess.on(\"SIGINT\", () => this.close());\n\t}\n\n\tpublic get connected(): boolean {\n\t\treturn this.websocket?.readyState === WebSocket.OPEN;\n\t}\n\n\tpublic close(): void {\n\t\tif (!this.websocket || this.websocket.readyState === WebSocket.CLOSED)\n\t\t\treturn;\n\n\t\tlogWebsocket(\"%s()\", this.close.name);\n\t\tthis.websocket.close();\n\t}\n\n\tpublic async authenticate(authToken: string): Promise<void> {\n\t\tlogWebsocket(\"%s(authToken: \\\"%s\\\")\", this.authenticate.name, authToken);\n\n\t\tthis.close();\n\t\tthis.url.searchParams.set(\"authToken\", authToken);\n\n\t\tthis.websocket = new WebSocket(this.url, {\n\t\t\theaders: Object.fromEntries(this.options.headers?.entries() ?? [])\n\t\t});\n\n\t\tthis.websocket.addEventListener(\"open\", (event: WebSocket.Event) => {\n\t\t\tlogWebsocket(\"%s\", event.type);\n\t\t});\n\n\t\tthis.websocket.addEventListener(\"close\", (event: WebSocket.CloseEvent) => {\n\t\t\tlogWebsocket(\"%s: %s\", event.type, event.reason);\n\t\t});\n\n\t\tthis.websocket.addEventListener(\"error\", (event: WebSocket.ErrorEvent) => {\n\t\t\tlogWebsocket(\"%s: %O\", event.type, event.error);\n\t\t});\n\n\t\tthis.websocket.addEventListener(\"message\", (event: WebSocket.MessageEvent) => {\n\t\t\ttry {\n\t\t\t\tconst { type, content: _content } = JSON.parse(event.data.toString());\n\t\t\t\tconst content = JSON.parse(_content);\n\n\t\t\t\tlogWebsocket(\"%s: %O\", type, content);\n\n\t\t\t\tthis.emit(type, content);\n\t\t\t}\n\t\t\tcatch (reason) {\n\t\t\t\tlogWebsocket(\"Malformed message: %O\", event.data);\n\t\t\t\tlogWebsocket(reason);\n\t\t\t}\n\t\t});\n\t}\n}\n","import type { Client, RequestResult } from \"@hey-api/client-fetch\";\nimport { createClient, createConfig } from \"@hey-api/client-fetch\";\nimport { Cacheable, CacheableHooks } from \"cacheable\";\nimport type { KeyvStoreAdapter } from \"keyv\";\nimport Keyv from \"keyv\";\nimport { TOTP } from \"totp-generator\";\n\nimport type { Cookie } from \"./cookie\";\nimport {\n\tisCookieValid,\n\tparseSetCookie,\n\tserializeCookies,\n\ttoCookiesObject\n} from \"./cookie\";\nimport { fail, VRChatError } from \"./error\";\nimport type { Options } from \"./generated/sdk.gen\";\nimport { VRChatInternal } from \"./generated/sdk.gen\";\nimport type {\n\tCurrentUser,\n\tGetCurrentUserData,\n\tGetCurrentUserErrors,\n\tGetCurrentUserResponses\n} from \"./generated/types.gen\";\nimport { initLogging, log, logCache } from \"./log\";\nimport type { Lazy } from \"./utilities\";\nimport { collapse } from \"./utilities\";\nimport type { VRChatWebsocketOptions } from \"./websocket\";\nimport { VRChatWebsocket } from \"./websocket\";\n\nexport interface VRChatOptions extends Omit<NonNullable<Parameters<typeof createConfig>[0]>, \"body\" | \"bodySerializer\" | \"credentials\" | \"global\" | \"method\" | \"mode\" | \"parseAs\" | \"querySerializer\"> {\n\t/**\n\t * When using the VRChat API, you must provide an application name, version, and contact information.\n\t * This is used to identify your application to VRChat, and to provide support if needed.\n\t */\n\tapplication: {\n\t\t/**\n\t\t * The name of your application.\n\t\t */\n\t\tname: string;\n\t\t/**\n\t\t * The version of your application.\n\t\t *\n\t\t * [Semantic versioning](https://semver.org/) is recommended, e.g. `1.0.0`, but commit hashes or other identifiers are also acceptable.\n\t\t */\n\t\tversion: string;\n\t\t/**\n\t\t * An email, or a URL to a support page.\n\t\t */\n\t\tcontact: string;\n\t};\n\tauthentication?: {\n\t\t/**\n\t\t * The credentials to use for the VRChat API.\n\t\t *\n\t\t * If not provided, the user must be logged in using the `login` method.\n\t\t * If provided, this will be used to authenticate the user automatically.\n\t\t */\n\t\tcredentials?: Lazy<LoginCredentials>;\n\t\t/**\n\t\t * If set to `true`, the client will attempt to authenticate immediately after being created.\n\t\t * If set to `false`, the client will only re-authenticate on request failure (e.g. 401 Unauthorized).\n\t\t * @default true\n\t\t */\n\t\toptimistic?: boolean;\n\t};\n\tpipeline?: VRChatWebsocketOptions;\n\t/**\n\t * A [Keyv-compatible adapter](https://npm.im/keyv#official-storage-adapters) for caching & persistent sessions.\n\t */\n\tkeyv?: Keyv<unknown> | KeyvStoreAdapter | Map<unknown, unknown>;\n\t/**\n\t * If set to `true`, this client will log debug information to the console.\n\t * This is useful for debugging, but **will expose sensitive information**.\n\t * @default false\n\t */\n\tverbose?: boolean;\n}\n\nexport const TwoFactorMethods = [\"totp\", \"otp\", \"emailOtp\"] as const;\nexport type TwoFactorMethods = (typeof TwoFactorMethods)[number];\n\nexport interface LoginCredentials {\n\t/**\n\t * The username or email of the VRChat account.\n\t */\n\tusername: string;\n\t/**\n\t * The password of the VRChat account.\n\t */\n\tpassword: string;\n\t/**\n\t * The secret key for two-factor authentication, useful for service accounts & automated workflows.\n\t * If this is a user-initiated login, don't use this.\n\t *\n\t * Equivalent to ``twoFactorCode: TOTP.generate(totpSecret).otp``.\n\t */\n\ttotpSecret?: string;\n\t/**\n\t * If provided, this function will be called to generate the two-factor authentication code.\n\t * It overrides ``totpSecret`` if both are provided, ``totpSecret`` will be ignored.\n\t *\n\t * @returns The two-factor authentication code.\n\t */\n\ttwoFactorCode?: Lazy<string>;\n}\n\ntype LoginOptions<ThrowOnError extends boolean> = LoginCredentials & Omit<Options<GetCurrentUserData, ThrowOnError>, \"credentials\" | \"responseTransformer\">;\ntype CurrentUserResult<ThrowOnError extends boolean> = Awaited<RequestResult<GetCurrentUserResponses, GetCurrentUserErrors, ThrowOnError>>;\n\nexport const baseUrl = \"https://api.vrchat.cloud/api/1/\";\n\nconst authenticateSymbol = Symbol(\"authenticate\");\n/**\n * @internal\n */\nexport const requestIdSymbol = Symbol(\"requestId\");\n\nfunction requiresTwoFactorAuth(data?: unknown): data is { requiresTwoFactorAuth: Array<TwoFactorMethods> } {\n\treturn !!data && typeof data === \"object\" && \"requiresTwoFactorAuth\" in data && Array.isArray(data.requiresTwoFactorAuth);\n}\n\nfunction isUser(data?: unknown): data is { id: string } {\n\treturn !!data && typeof data === \"object\" && \"id\" in data && typeof data.id === \"string\";\n}\n\nexport class VRChat extends VRChatInternal {\n\tprivate cache: Cacheable;\n\n\tprivate credentials?: Lazy<LoginCredentials>;\n\tprivate authenticatePromise?: Promise<CurrentUserResult<false>>;\n\tprivate lastCurrentUser?: CurrentUser;\n\tprivate userAgent: string;\n\n\tpublic readonly client: Client;\n\tpublic readonly pipeline: VRChatWebsocket;\n\n\tpublic constructor(public readonly options: VRChatOptions) {\n\t\tconst {\n\t\t\tapplication,\n\t\t\tauthentication,\n\t\t\tkeyv,\n\t\t\tverbose,\n\t\t\t...rest\n\t\t} = options;\n\n\t\tif (!application\n\t\t\t|| !application.name\n\t\t\t|| !application.version\n\t\t\t|| !application.contact\n\t\t\t// Catch common mistakes, like forgetting to change the example.\n\t\t\t|| application.contact.includes(\"@example.com\")\n\t\t\t|| application.contact.includes(\"\\n\")\n\t\t) throw VRChatError.from(\"You must provide an application name, version, and contact information.\");\n\n\t\tconst headers = new Headers(rest.headers as HeadersInit);\n\n\t\tconst userAgent = `${application.name}/${application.version} (${application.contact}), VRChat.js/${process.env.VERSION} (https://vrchat.community/discord)`;\n\t\theaders.set(\"user-agent\", userAgent);\n\n\t\tconst client = createClient(createConfig({\n\t\t\tbaseUrl,\n\t\t\t...rest,\n\t\t\theaders\n\t\t}));\n\n\t\tsuper({ client });\n\t\tthis.client = client;\n\t\tthis.userAgent = userAgent;\n\n\t\tif (verbose) {\n\t\t\tlog.enabled = true;\n\t\t\tlogCache.enabled = true;\n\t\t}\n\n\t\tthis.cache = new Cacheable({\n\t\t\tnonBlocking: true,\n\t\t\tsecondary:\n\t\t\t\tkeyv\n\t\t\t\t\t? keyv instanceof Keyv\n\t\t\t\t\t\t? keyv\n\t\t\t\t\t\t: new Keyv({\n\t\t\t\t\t\t\tstore: keyv\n\t\t\t\t\t\t})\n\t\t\t\t\t: undefined\n\t\t});\n\n\t\tprocess.on(\"beforeExit\", () => this.cache.disconnect());\n\n\t\tconst { interceptors } = client;\n\n\t\tlet requestId = 0;\n\t\tinterceptors.request.use(async (request, _options) => {\n\t\t\tconst options = _options as Options;\n\t\t\tconst { meta = {} } = options as { meta: Record<PropertyKey, unknown> };\n\n\t\t\tmeta[requestIdSymbol] = requestId++;\n\t\t\toptions.meta = meta;\n\n\t\t\treturn request;\n\t\t});\n\n\t\tif (log.enabled) initLogging(this);\n\n\t\tif (logCache.enabled) {\n\t\t\tthis.cache.onHooks(\n\t\t\t\tObject\n\t\t\t\t\t.values(CacheableHooks)\n\t\t\t\t\t.map((event) => ({\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\thandler: (data) => logCache(`%s %O`, event.toLowerCase(), data)\n\t\t\t\t\t}))\n\t\t\t);\n\t\t}\n\n\t\tinterceptors.request.use(async (request, options) => {\n\t\t\tconst { meta = {} } = options as Options as { meta: Record<PropertyKey, unknown> };\n\t\t\tconst requestId = meta[requestIdSymbol];\n\n\t\t\t// If the session is being refreshed, wait for the authentication to complete.\n\t\t\tif (this.authenticatePromise && !meta[authenticateSymbol]) {\n\t\t\t\tlog(\"%o Waiting for authentication to complete...\", requestId);\n\t\t\t\tawait this.authenticatePromise.catch(() => { });\n\t\t\t}\n\n\t\t\tif (request.credentials !== \"omit\") {\n\t\t\t\tconst cookies = await this.getCookies();\n\t\t\t\tif (!cookies.length) return request;\n\n\t\t\t\trequest.headers.set(\"cookie\", serializeCookies(cookies));\n\t\t\t}\n\n\t\t\treturn request;\n\t\t});\n\n\t\tinterceptors.response.use(async (response, request, options) => {\n\t\t\tconst { meta } = options as Options as { meta: Record<PropertyKey, unknown> };\n\n\t\t\tawait this.saveCookies(response.headers);\n\n\t\t\tif (response.status === 401 && !meta[authenticateSymbol]) {\n\t\t\t\tconst error = VRChatError.from(await response.clone().json());\n\t\t\t\tconst partial = error.message.toLowerCase() === \"requires two-factor authentication\";\n\n\t\t\t\tconst authenticationResult = await this.authenticate({ partial });\n\t\t\t\tif (!authenticationResult.data)\n\t\t\t\t\treturn new Response(\n\t\t\t\t\t\tJSON.stringify(authenticationResult.error.toResponseError()),\n\t\t\t\t\t\tauthenticationResult.response\n\t\t\t\t\t);\n\n\t\t\t\tconst { data, error: b, response: newResponse } = (await this._client.request(options as any));\n\t\t\t\treturn new Response(\n\t\t\t\t\tJSON.stringify(data || (b as VRChatError)?.toResponseError()),\n\t\t\t\t\tnewResponse\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn response;\n\t\t});\n\n\t\tinterceptors.error.use((reason, response, request) => VRChatError.from(reason, request, response));\n\n\t\tif (authentication) {\n\t\t\tconst { credentials, optimistic = true } = authentication;\n\t\t\tthis.setCredentials(credentials);\n\n\t\t\t// If the optimistic option is set, authenticate immediately.\n\t\t\tif (optimistic) void this.authenticate({ partial: true });\n\t\t}\n\n\t\tthis.pipeline = new VRChatWebsocket({ headers });\n\t}\n\n\tpublic setCredentials(credentials?: Lazy<LoginCredentials>): void {\n\t\tthis.credentials = credentials;\n\t}\n\n\tprivate async authenticate({ partial = false }: { partial?: boolean } = {}): Promise<CurrentUserResult<false>> {\n\t\tconst { authenticatePromise, credentials: _credentials } = this;\n\t\tif (authenticatePromise) return authenticatePromise;\n\n\t\tlog(\"%s(%O)\", this.authenticate.name, { partial });\n\n\t\tconst { promise, resolve: _resolve } = Promise.withResolvers<CurrentUserResult<false>>();\n\n\t\tthis.authenticatePromise = promise;\n\n\t\tconst resolve = (value: CurrentUserResult<false>): CurrentUserResult<false> => {\n\t\t\t_resolve(value);\n\t\t\tthis.authenticatePromise = undefined;\n\n\t\t\treturn value;\n\t\t};\n\n\t\tconst cookies = toCookiesObject(await this.getCookies());\n\t\tif (!cookies.auth) partial = false;\n\n\t\tif (cookies.auth) this.pipeline.authenticate(cookies.auth.value);\n\n\t\tlet value: CurrentUserResult<false> | undefined;\n\n\t\tif (partial) {\n\t\t\tvalue = await this.getCurrentUser({ meta: { [authenticateSymbol]: true }, responseTransformer: undefined });\n\t\t\tif (isUser(value?.data)) {\n\t\t\t\treturn resolve(value);\n\t\t\t}\n\t\t}\n\n\t\tconst credentials = await collapse(_credentials);\n\t\t// @ts-expect-error: todo.\n\t\tif (!credentials) return resolve(fail({ message: \"Missing Credentials\" }));\n\n\t\tlog(\"%O\", credentials);\n\n\t\tif (value && requiresTwoFactorAuth(value.data)) {\n\t\t\tvalue = await this.loginWith2FA(value, credentials, { meta: { [authenticateSymbol]: true } });\n\n\t\t\tif (value.error) return resolve(value);\n\t\t\tif (isUser(value?.data)) return resolve(value);\n\t\t}\n\n\t\tvalue = await this.login({ ...credentials, meta: { [authenticateSymbol]: true } });\n\t\tif (isUser(value.data)) return resolve(value);\n\n\t\treturn resolve(value);\n\t}\n\n\t/**\n\t * Logs in to the VRChat API using the provided credentials, and returns the current user.\n\t * This method handles two-factor authentication if required using the provided `twoFactorCode` function or `totpSecret`.\n\t *\n\t * @param options - The login options, including username, password, and optional two-factor authentication details.\n\t * @returns A promise that resolves to the current user data, or an error if the login fails.\n\t */\n\tpublic async login<ThrowOnError extends boolean = false>(\n\t\toptions: LoginOptions<ThrowOnError>\n\t): Promise<CurrentUserResult<ThrowOnError>> {\n\t\tconst { username, password, totpSecret, twoFactorCode, ...rest } = options;\n\t\tlog(\"%s(%O)\", this.login.name, { username, password, totpSecret, twoFactorCode, ...rest });\n\n\t\tlet value = await this.getCurrentUser({\n\t\t\t...rest,\n\t\t\tcredentials: \"omit\",\n\t\t\tresponseTransformer: undefined,\n\t\t\theaders: {\n\t\t\t\tauthorization: `Basic ${btoa(`${encodeURIComponent(username)}:${encodeURIComponent(password)}`)}`\n\t\t\t}\n\t\t});\n\n\t\tif (!value.data) return value;\n\n\t\tif (requiresTwoFactorAuth(value.data))\n\t\t\tvalue = await this.loginWith2FA(value, { totpSecret, twoFactorCode }, options);\n\n\t\treturn value;\n\t}\n\n\tprivate async loginWith2FA<ThrowOnError extends boolean = false>(\n\t\tvalue: CurrentUserResult<ThrowOnError>,\n\t\t{\n\t\t\ttotpSecret,\n\t\t\ttwoFactorCode\n\t\t}: Pick<LoginCredentials, \"totpSecret\" | \"twoFactorCode\">,\n\t\toptions: Omit<LoginOptions<ThrowOnError>, keyof LoginCredentials>\n\t): Promise<CurrentUserResult<ThrowOnError>> {\n\t\tlog(\"%s(%O)\", this.loginWith2FA.name, { value, totpSecret, twoFactorCode });\n\n\t\tif (!requiresTwoFactorAuth(value.data))\n\t\t\treturn value;\n\n\t\tconst { throwOnError } = options;\n\t\tconst { data: { requiresTwoFactorAuth: twoFactorMethods }, request, response } = value;\n\n\t\tif (twoFactorMethods.includes(\"totp\") && totpSecret && !twoFactorCode)\n\t\t\ttwoFactorCode = TOTP.generate(totpSecret).otp;\n\n\t\tconst code = await collapse(twoFactorCode) || \"\";\n\n\t\tconst factors = await Promise.all([\n\t\t\ttwoFactorMethods.includes(\"totp\") ? this.verify2Fa.bind(this) : undefined,\n\t\t\ttwoFactorMethods.includes(\"emailOtp\") ? this.verify2FaEmailCode.bind(this) : undefined,\n\t\t\ttwoFactorMethods.includes(\"otp\") ? this.verifyRecoveryCode.bind(this) : undefined\n\t\t].filter(Boolean).map((function_) => function_?.({\n\t\t\t...options,\n\t\t\tthrowOnError: false,\n\t\t\tbody: {\n\t\t\t\tcode\n\t\t\t}\n\t\t})));\n\n\t\tif (factors.length === 0)\n\t\t\t// @ts-expect-error: todo.\n\t\t\treturn fail({\n\t\t\t\tthrowOnError,\n\t\t\t\tmessage: \"Couldn't verify two-factor authentication, no valid methods found\",\n\t\t\t\tresponse,\n\t\t\t\trequest\n\t\t\t});\n\n\t\t// If all factors failed, return the first error.\n\t\tif (factors.every((value) => !value?.data?.verified)) {\n\t\t\tconst factor = factors.find((factor) => factor?.error)!;\n\n\t\t\tif (throwOnError) throw factor.error;\n\t\t\t// @ts-expect-error: todo.\n\t\t\treturn factor;\n\t\t}\n\n\t\t// @ts-expect-error: todo.\n\t\treturn this.getCurrentUser(options);\n\t}\n\n\t/**\n\t * Alias for `vrchat.pipeline.on(...)`.\n\t */\n\tpublic get on(): VRChatWebsocket[\"on\"] {\n\t\treturn this.pipeline.on.bind(this.pipeline);\n\t}\n\n\tprivate async getCookies(): Promise<Array<Cookie>> {\n\t\tconst allCookies = await this.cache.get<Array<Cookie>>(\"cookies\");\n\t\tif (!allCookies) return [];\n\n\t\tconst cookies = allCookies.filter(isCookieValid);\n\n\t\treturn cookies;\n\t}\n\n\tprivate async saveCookies(headers: Headers): Promise<void> {\n\t\tconst newCookies = headers.getSetCookie().map(parseSetCookie);\n\t\tif (!newCookies.length) return;\n\n\t\tconst cookies = Object.values(\n\t\t\tObject\n\t\t\t\t.fromEntries([\n\t\t\t\t\t// A race-condition may occur here, but it is unlikely to cause issues.\n\t\t\t\t\t// If it does, some cookies may be lost, but the most recent ones will be saved.\n\t\t\t\t\t...(await this.getCookies()),\n\t\t\t\t\t...newCookies\n\t\t\t\t]\n\t\t\t\t\t.filter(isCookieValid)\n\t\t\t\t\t.map((cookie) => [cookie.name, cookie] as const))\n\t\t);\n\n\t\tawait this.cache.set(\"cookies\", cookies);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/lib/metadata.ts","../src/application.ts","../src/generated/core/bodySerializer.gen.ts","../src/generated/core/serverSentEvents.gen.ts","../src/generated/core/pathSerializer.gen.ts","../src/generated/core/utils.gen.ts","../src/generated/core/auth.gen.ts","../src/generated/client/utils.gen.ts","../src/generated/client/client.gen.ts","../src/generated/client.gen.ts","../src/lib/json.ts","../src/error.ts","../src/generated/transformers.gen.ts","../src/generated/sdk.gen.ts","../src/lib/cookie.ts","../src/lib/guards.ts","../src/lib/lazy.ts","../src/lib/symbols.ts","../src/client.ts"],"names":["version","joinedValues","config","request","error","finalError","url","name","value","log","client","Cacheable","Keyv","options","CacheableHooks","VRChatWebsocket","TOTP","factor"],"mappings":"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","file":"index.js","sourcesContent":["{\n \"name\": \"vrchat\",\n \"displayName\": \"VRChat.js\",\n \"version\": \"2.20.6\",\n \"description\": \"\",\n \"type\": \"commonjs\",\n \"types\": \"dist/index.d.ts\",\n \"homepage\": \"https://vrchat.community/javascript\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/vrchatapi/vrchatapi-javascript.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/vrchatapi/vrchatapi-javascript/issues\"\n },\n \"files\": [\n \"dist\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\"\n }\n },\n \"scripts\": {\n \"prebuild\": \"rm src/generated -rf && openapi-ts\",\n \"build\": \"tsup\"\n },\n \"keywords\": [\n \"typescript\",\n \"openapi-client\",\n \"openapi-generator\",\n \"vrchat-api\",\n \"vrchat-api-client\",\n \"vrchat\"\n ],\n \"author\": \"\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cacheable\": \"^1.10.4\",\n \"debug\": \"^4.4.3\",\n \"isomorphic-ws\": \"^5.0.0\",\n \"keyv\": \"^5.5.5\",\n \"totp-generator\": \"^2.0.0\",\n \"ws\": \"^8.18.3\"\n },\n \"devDependencies\": {\n \"@ariesclark/eslint-config\": \"^3.1.1\",\n \"@hey-api/openapi-ts\": \"^0.88.0\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^24.10.1\",\n \"bun-plugin-dts\": \"^0.3.0\",\n \"eslint\": \"^9.39.1\",\n \"semver\": \"^7.7.3\",\n \"tsup\": \"^8.5.1\",\n \"typed-emitter\": \"^2.1.0\",\n \"typescript\": \"^5.9.3\"\n }\n}\n","import { bugs, displayName, homepage, version } from \"../../package.json\";\nimport { getApplicationAgent } from \"../application\";\n\nexport const defaultUserAgent = getApplicationAgent({\n\tname: displayName,\n\tversion,\n\tcontact: homepage\n});\n\nexport const issueUrl = bugs.url;\nexport { version };\n","import { defaultUserAgent } from \"./lib/metadata\";\n\nexport interface VRChatApplication {\n\t/**\n\t * The name of your application.\n\t */\n\tname: string;\n\t/**\n\t * The version of your application.\n\t *\n\t * [Semantic versioning](https://semver.org/) is recommended, e.g. `1.0.0`, but commit hashes or other identifiers are also acceptable.\n\t */\n\tversion: string;\n\t/**\n\t * An email, or a URL to a support page.\n\t */\n\tcontact: string;\n}\n\nexport function isApplication(application: VRChatApplication): boolean {\n\treturn (\n\t\t!!application\n\t\t&& !!application.name\n\t\t&& !!application.version\n\t\t&& !!application.contact\n\t\t// Catch common mistakes, like forgetting to change the example.\n\t\t&& !application.contact.includes(\"@example.com\")\n\t\t&& !application.contact.includes(\"\\n\")\n\t);\n}\n\nexport function getApplicationAgent({ name, version, contact }: VRChatApplication): string {\n\treturn `${name}/${version} (${contact})`;\n}\n\nexport function getUserAgent(application: VRChatApplication): string {\n\treturn `${getApplicationAgent(application)}, ${defaultUserAgent}`;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n ArrayStyle,\n ObjectStyle,\n SerializerOptions,\n} from './pathSerializer.gen';\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string;\n\nexport type BodySerializer = (body: any) => any;\n\ntype QuerySerializerOptionsObject = {\n allowReserved?: boolean;\n array?: Partial<SerializerOptions<ArrayStyle>>;\n object?: Partial<SerializerOptions<ObjectStyle>>;\n};\n\nexport type QuerySerializerOptions = QuerySerializerOptionsObject & {\n /**\n * Per-parameter serialization overrides. When provided, these settings\n * override the global array/object settings for specific parameter names.\n */\n parameters?: Record<string, QuerySerializerOptionsObject>;\n};\n\nconst serializeFormDataPair = (\n data: FormData,\n key: string,\n value: unknown,\n): void => {\n if (typeof value === 'string' || value instanceof Blob) {\n data.append(key, value);\n } else if (value instanceof Date) {\n data.append(key, value.toISOString());\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nconst serializeUrlSearchParamsPair = (\n data: URLSearchParams,\n key: string,\n value: unknown,\n): void => {\n if (typeof value === 'string') {\n data.append(key, value);\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nexport const formDataBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ): FormData => {\n const data = new FormData();\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeFormDataPair(data, key, v));\n } else {\n serializeFormDataPair(data, key, value);\n }\n });\n\n return data;\n },\n};\n\nexport const jsonBodySerializer = {\n bodySerializer: <T>(body: T): string =>\n JSON.stringify(body, (_key, value) =>\n typeof value === 'bigint' ? value.toString() : value,\n ),\n};\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ): string => {\n const data = new URLSearchParams();\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));\n } else {\n serializeUrlSearchParamsPair(data, key, value);\n }\n });\n\n return data.toString();\n },\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Config } from './types.gen';\n\nexport type ServerSentEventsOptions<TData = unknown> = Omit<\n RequestInit,\n 'method'\n> &\n Pick<Config, 'method' | 'responseTransformer' | 'responseValidator'> & {\n /**\n * Fetch API implementation. You can use this option to provide a custom\n * fetch instance.\n *\n * @default globalThis.fetch\n */\n fetch?: typeof fetch;\n /**\n * Implementing clients can call request interceptors inside this hook.\n */\n onRequest?: (url: string, init: RequestInit) => Promise<Request>;\n /**\n * Callback invoked when a network or parsing error occurs during streaming.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param error The error that occurred.\n */\n onSseError?: (error: unknown) => void;\n /**\n * Callback invoked when an event is streamed from the server.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @param event Event streamed from the server.\n * @returns Nothing (void).\n */\n onSseEvent?: (event: StreamEvent<TData>) => void;\n serializedBody?: RequestInit['body'];\n /**\n * Default retry delay in milliseconds.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 3000\n */\n sseDefaultRetryDelay?: number;\n /**\n * Maximum number of retry attempts before giving up.\n */\n sseMaxRetryAttempts?: number;\n /**\n * Maximum retry delay in milliseconds.\n *\n * Applies only when exponential backoff is used.\n *\n * This option applies only if the endpoint returns a stream of events.\n *\n * @default 30000\n */\n sseMaxRetryDelay?: number;\n /**\n * Optional sleep function for retry backoff.\n *\n * Defaults to using `setTimeout`.\n */\n sseSleepFn?: (ms: number) => Promise<void>;\n url: string;\n };\n\nexport interface StreamEvent<TData = unknown> {\n data: TData;\n event?: string;\n id?: string;\n retry?: number;\n}\n\nexport type ServerSentEventsResult<\n TData = unknown,\n TReturn = void,\n TNext = unknown,\n> = {\n stream: AsyncGenerator<\n TData extends Record<string, unknown> ? TData[keyof TData] : TData,\n TReturn,\n TNext\n >;\n};\n\nexport const createSseClient = <TData = unknown>({\n onRequest,\n onSseError,\n onSseEvent,\n responseTransformer,\n responseValidator,\n sseDefaultRetryDelay,\n sseMaxRetryAttempts,\n sseMaxRetryDelay,\n sseSleepFn,\n url,\n ...options\n}: ServerSentEventsOptions): ServerSentEventsResult<TData> => {\n let lastEventId: string | undefined;\n\n const sleep =\n sseSleepFn ??\n ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));\n\n const createStream = async function* () {\n let retryDelay: number = sseDefaultRetryDelay ?? 3000;\n let attempt = 0;\n const signal = options.signal ?? new AbortController().signal;\n\n while (true) {\n if (signal.aborted) break;\n\n attempt++;\n\n const headers =\n options.headers instanceof Headers\n ? options.headers\n : new Headers(options.headers as Record<string, string> | undefined);\n\n if (lastEventId !== undefined) {\n headers.set('Last-Event-ID', lastEventId);\n }\n\n try {\n const requestInit: RequestInit = {\n redirect: 'follow',\n ...options,\n body: options.serializedBody,\n headers,\n signal,\n };\n let request = new Request(url, requestInit);\n if (onRequest) {\n request = await onRequest(url, requestInit);\n }\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = options.fetch ?? globalThis.fetch;\n const response = await _fetch(request);\n\n if (!response.ok)\n throw new Error(\n `SSE failed: ${response.status} ${response.statusText}`,\n );\n\n if (!response.body) throw new Error('No body in SSE response');\n\n const reader = response.body\n .pipeThrough(new TextDecoderStream())\n .getReader();\n\n let buffer = '';\n\n const abortHandler = () => {\n try {\n reader.cancel();\n } catch {\n // noop\n }\n };\n\n signal.addEventListener('abort', abortHandler);\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += value;\n\n const chunks = buffer.split('\\n\\n');\n buffer = chunks.pop() ?? '';\n\n for (const chunk of chunks) {\n const lines = chunk.split('\\n');\n const dataLines: Array<string> = [];\n let eventName: string | undefined;\n\n for (const line of lines) {\n if (line.startsWith('data:')) {\n dataLines.push(line.replace(/^data:\\s*/, ''));\n } else if (line.startsWith('event:')) {\n eventName = line.replace(/^event:\\s*/, '');\n } else if (line.startsWith('id:')) {\n lastEventId = line.replace(/^id:\\s*/, '');\n } else if (line.startsWith('retry:')) {\n const parsed = Number.parseInt(\n line.replace(/^retry:\\s*/, ''),\n 10,\n );\n if (!Number.isNaN(parsed)) {\n retryDelay = parsed;\n }\n }\n }\n\n let data: unknown;\n let parsedJson = false;\n\n if (dataLines.length) {\n const rawData = dataLines.join('\\n');\n try {\n data = JSON.parse(rawData);\n parsedJson = true;\n } catch {\n data = rawData;\n }\n }\n\n if (parsedJson) {\n if (responseValidator) {\n await responseValidator(data);\n }\n\n if (responseTransformer) {\n data = await responseTransformer(data);\n }\n }\n\n onSseEvent?.({\n data,\n event: eventName,\n id: lastEventId,\n retry: retryDelay,\n });\n\n if (dataLines.length) {\n yield data as any;\n }\n }\n }\n } finally {\n signal.removeEventListener('abort', abortHandler);\n reader.releaseLock();\n }\n\n break; // exit loop on normal completion\n } catch (error) {\n // connection failed or aborted; retry after delay\n onSseError?.(error);\n\n if (\n sseMaxRetryAttempts !== undefined &&\n attempt >= sseMaxRetryAttempts\n ) {\n break; // stop after firing error\n }\n\n // exponential backoff: double retry each attempt, cap at 30s\n const backoff = Math.min(\n retryDelay * 2 ** (attempt - 1),\n sseMaxRetryDelay ?? 30000,\n );\n await sleep(backoff);\n }\n }\n };\n\n const stream = createStream();\n\n return { stream };\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\ninterface SerializeOptions<T>\n extends SerializePrimitiveOptions,\n SerializerOptions<T> {}\n\ninterface SerializePrimitiveOptions {\n allowReserved?: boolean;\n name: string;\n}\n\nexport interface SerializerOptions<T> {\n /**\n * @default true\n */\n explode: boolean;\n style: T;\n}\n\nexport type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';\nexport type ArraySeparatorStyle = ArrayStyle | MatrixStyle;\ntype MatrixStyle = 'label' | 'matrix' | 'simple';\nexport type ObjectStyle = 'form' | 'deepObject';\ntype ObjectSeparatorStyle = ObjectStyle | MatrixStyle;\n\ninterface SerializePrimitiveParam extends SerializePrimitiveOptions {\n value: string;\n}\n\nexport const separatorArrayExplode = (style: ArraySeparatorStyle) => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nexport const separatorArrayNoExplode = (style: ArraySeparatorStyle) => {\n switch (style) {\n case 'form':\n return ',';\n case 'pipeDelimited':\n return '|';\n case 'spaceDelimited':\n return '%20';\n default:\n return ',';\n }\n};\n\nexport const separatorObjectExplode = (style: ObjectSeparatorStyle) => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nexport const serializeArrayParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n}: SerializeOptions<ArraySeparatorStyle> & {\n value: unknown[];\n}) => {\n if (!explode) {\n const joinedValues = (\n allowReserved ? value : value.map((v) => encodeURIComponent(v as string))\n ).join(separatorArrayNoExplode(style));\n switch (style) {\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n case 'simple':\n return joinedValues;\n default:\n return `${name}=${joinedValues}`;\n }\n }\n\n const separator = separatorArrayExplode(style);\n const joinedValues = value\n .map((v) => {\n if (style === 'label' || style === 'simple') {\n return allowReserved ? v : encodeURIComponent(v as string);\n }\n\n return serializePrimitiveParam({\n allowReserved,\n name,\n value: v as string,\n });\n })\n .join(separator);\n return style === 'label' || style === 'matrix'\n ? separator + joinedValues\n : joinedValues;\n};\n\nexport const serializePrimitiveParam = ({\n allowReserved,\n name,\n value,\n}: SerializePrimitiveParam) => {\n if (value === undefined || value === null) {\n return '';\n }\n\n if (typeof value === 'object') {\n throw new Error(\n 'Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.',\n );\n }\n\n return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;\n};\n\nexport const serializeObjectParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n valueOnly,\n}: SerializeOptions<ObjectSeparatorStyle> & {\n value: Record<string, unknown> | Date;\n valueOnly?: boolean;\n}) => {\n if (value instanceof Date) {\n return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;\n }\n\n if (style !== 'deepObject' && !explode) {\n let values: string[] = [];\n Object.entries(value).forEach(([key, v]) => {\n values = [\n ...values,\n key,\n allowReserved ? (v as string) : encodeURIComponent(v as string),\n ];\n });\n const joinedValues = values.join(',');\n switch (style) {\n case 'form':\n return `${name}=${joinedValues}`;\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n default:\n return joinedValues;\n }\n }\n\n const separator = separatorObjectExplode(style);\n const joinedValues = Object.entries(value)\n .map(([key, v]) =>\n serializePrimitiveParam({\n allowReserved,\n name: style === 'deepObject' ? `${name}[${key}]` : key,\n value: v as string,\n }),\n )\n .join(separator);\n return style === 'label' || style === 'matrix'\n ? separator + joinedValues\n : joinedValues;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { BodySerializer, QuerySerializer } from './bodySerializer.gen';\nimport {\n type ArraySeparatorStyle,\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from './pathSerializer.gen';\n\nexport interface PathSerializer {\n path: Record<string, unknown>;\n url: string;\n}\n\nexport const PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\nexport const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {\n let url = _url;\n const matches = _url.match(PATH_PARAM_RE);\n if (matches) {\n for (const match of matches) {\n let explode = false;\n let name = match.substring(1, match.length - 1);\n let style: ArraySeparatorStyle = 'simple';\n\n if (name.endsWith('*')) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n\n if (name.startsWith('.')) {\n name = name.substring(1);\n style = 'label';\n } else if (name.startsWith(';')) {\n name = name.substring(1);\n style = 'matrix';\n }\n\n const value = path[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n url = url.replace(\n match,\n serializeArrayParam({ explode, name, style, value }),\n );\n continue;\n }\n\n if (typeof value === 'object') {\n url = url.replace(\n match,\n serializeObjectParam({\n explode,\n name,\n style,\n value: value as Record<string, unknown>,\n valueOnly: true,\n }),\n );\n continue;\n }\n\n if (style === 'matrix') {\n url = url.replace(\n match,\n `;${serializePrimitiveParam({\n name,\n value: value as string,\n })}`,\n );\n continue;\n }\n\n const replaceValue = encodeURIComponent(\n style === 'label' ? `.${value as string}` : (value as string),\n );\n url = url.replace(match, replaceValue);\n }\n }\n return url;\n};\n\nexport const getUrl = ({\n baseUrl,\n path,\n query,\n querySerializer,\n url: _url,\n}: {\n baseUrl?: string;\n path?: Record<string, unknown>;\n query?: Record<string, unknown>;\n querySerializer: QuerySerializer;\n url: string;\n}) => {\n const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;\n let url = (baseUrl ?? '') + pathUrl;\n if (path) {\n url = defaultPathSerializer({ path, url });\n }\n let search = query ? querySerializer(query) : '';\n if (search.startsWith('?')) {\n search = search.substring(1);\n }\n if (search) {\n url += `?${search}`;\n }\n return url;\n};\n\nexport function getValidRequestBody(options: {\n body?: unknown;\n bodySerializer?: BodySerializer | null;\n serializedBody?: unknown;\n}) {\n const hasBody = options.body !== undefined;\n const isSerializedBody = hasBody && options.bodySerializer;\n\n if (isSerializedBody) {\n if ('serializedBody' in options) {\n const hasSerializedBody =\n options.serializedBody !== undefined && options.serializedBody !== '';\n\n return hasSerializedBody ? options.serializedBody : null;\n }\n\n // not all clients implement a serializedBody property (i.e. client-axios)\n return options.body !== '' ? options.body : null;\n }\n\n // plain/text body\n if (hasBody) {\n return options.body;\n }\n\n // no body was provided\n return undefined;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nexport type AuthToken = string | undefined;\n\nexport interface Auth {\n /**\n * Which part of the request do we use to send the auth?\n *\n * @default 'header'\n */\n in?: 'header' | 'query' | 'cookie';\n /**\n * Header or query parameter name.\n *\n * @default 'Authorization'\n */\n name?: string;\n scheme?: 'basic' | 'bearer';\n type: 'apiKey' | 'http';\n}\n\nexport const getAuthToken = async (\n auth: Auth,\n callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n const token =\n typeof callback === 'function' ? await callback(auth) : callback;\n\n if (!token) {\n return;\n }\n\n if (auth.scheme === 'bearer') {\n return `Bearer ${token}`;\n }\n\n if (auth.scheme === 'basic') {\n return `Basic ${btoa(token)}`;\n }\n\n return token;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { getAuthToken } from '../core/auth.gen';\nimport type { QuerySerializerOptions } from '../core/bodySerializer.gen';\nimport { jsonBodySerializer } from '../core/bodySerializer.gen';\nimport {\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from '../core/pathSerializer.gen';\nimport { getUrl } from '../core/utils.gen';\nimport type { Client, ClientOptions, Config, RequestOptions } from './types.gen';\n\nexport const createQuerySerializer = <T = unknown>({\n parameters = {},\n ...args\n}: QuerySerializerOptions = {}) => {\n const querySerializer = (queryParams: T) => {\n const search: string[] = [];\n if (queryParams && typeof queryParams === 'object') {\n for (const name in queryParams) {\n const value = queryParams[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n const options = parameters[name] || args;\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...options.array,\n });\n if (serializedArray) search.push(serializedArray);\n } else if (typeof value === 'object') {\n const serializedObject = serializeObjectParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...options.object,\n });\n if (serializedObject) search.push(serializedObject);\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved: options.allowReserved,\n name,\n value: value as string,\n });\n if (serializedPrimitive) search.push(serializedPrimitive);\n }\n }\n }\n return search.join('&');\n };\n return querySerializer;\n};\n\n/**\n * Infers parseAs value from provided Content-Type header.\n */\nexport const getParseAs = (\n contentType: string | null,\n): Exclude<Config['parseAs'], 'auto'> => {\n if (!contentType) {\n // If no Content-Type header is provided, the best we can do is return the raw response body,\n // which is effectively the same as the 'stream' option.\n return 'stream';\n }\n\n const cleanContent = contentType.split(';')[0]?.trim();\n\n if (!cleanContent) {\n return;\n }\n\n if (\n cleanContent.startsWith('application/json') ||\n cleanContent.endsWith('+json')\n ) {\n return 'json';\n }\n\n if (cleanContent === 'multipart/form-data') {\n return 'formData';\n }\n\n if (\n ['application/', 'audio/', 'image/', 'video/'].some((type) =>\n cleanContent.startsWith(type),\n )\n ) {\n return 'blob';\n }\n\n if (cleanContent.startsWith('text/')) {\n return 'text';\n }\n\n return;\n};\n\nconst checkForExistence = (\n options: Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers;\n },\n name?: string,\n): boolean => {\n if (!name) {\n return false;\n }\n if (\n options.headers.has(name) ||\n options.query?.[name] ||\n options.headers.get('Cookie')?.includes(`${name}=`)\n ) {\n return true;\n }\n return false;\n};\n\nexport const setAuthParams = async ({\n security,\n ...options\n}: Pick<Required<RequestOptions>, 'security'> &\n Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers;\n }) => {\n for (const auth of security) {\n if (checkForExistence(options, auth.name)) {\n continue;\n }\n\n const token = await getAuthToken(auth, options.auth);\n\n if (!token) {\n continue;\n }\n\n const name = auth.name ?? 'Authorization';\n\n switch (auth.in) {\n case 'query':\n if (!options.query) {\n options.query = {};\n }\n options.query[name] = token;\n break;\n case 'cookie':\n options.headers.append('Cookie', `${name}=${token}`);\n break;\n case 'header':\n default:\n options.headers.set(name, token);\n break;\n }\n }\n};\n\nexport const buildUrl: Client['buildUrl'] = (options) =>\n getUrl({\n baseUrl: options.baseUrl as string,\n path: options.path,\n query: options.query,\n querySerializer:\n typeof options.querySerializer === 'function'\n ? options.querySerializer\n : createQuerySerializer(options.querySerializer),\n url: options.url,\n });\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n const config = { ...a, ...b };\n if (config.baseUrl?.endsWith('/')) {\n config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);\n }\n config.headers = mergeHeaders(a.headers, b.headers);\n return config;\n};\n\nconst headersEntries = (headers: Headers): Array<[string, string]> => {\n const entries: Array<[string, string]> = [];\n headers.forEach((value, key) => {\n entries.push([key, value]);\n });\n return entries;\n};\n\nexport const mergeHeaders = (\n ...headers: Array<Required<Config>['headers'] | undefined>\n): Headers => {\n const mergedHeaders = new Headers();\n for (const header of headers) {\n if (!header) {\n continue;\n }\n\n const iterator =\n header instanceof Headers\n ? headersEntries(header)\n : Object.entries(header);\n\n for (const [key, value] of iterator) {\n if (value === null) {\n mergedHeaders.delete(key);\n } else if (Array.isArray(value)) {\n for (const v of value) {\n mergedHeaders.append(key, v as string);\n }\n } else if (value !== undefined) {\n // assume object headers are meant to be JSON stringified, i.e. their\n // content value in OpenAPI specification is 'application/json'\n mergedHeaders.set(\n key,\n typeof value === 'object' ? JSON.stringify(value) : (value as string),\n );\n }\n }\n }\n return mergedHeaders;\n};\n\ntype ErrInterceptor<Err, Res, Req, Options> = (\n error: Err,\n response: Res,\n request: Req,\n options: Options,\n) => Err | Promise<Err>;\n\ntype ReqInterceptor<Req, Options> = (\n request: Req,\n options: Options,\n) => Req | Promise<Req>;\n\ntype ResInterceptor<Res, Req, Options> = (\n response: Res,\n request: Req,\n options: Options,\n) => Res | Promise<Res>;\n\nclass Interceptors<Interceptor> {\n fns: Array<Interceptor | null> = [];\n\n clear(): void {\n this.fns = [];\n }\n\n eject(id: number | Interceptor): void {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = null;\n }\n }\n\n exists(id: number | Interceptor): boolean {\n const index = this.getInterceptorIndex(id);\n return Boolean(this.fns[index]);\n }\n\n getInterceptorIndex(id: number | Interceptor): number {\n if (typeof id === 'number') {\n return this.fns[id] ? id : -1;\n }\n return this.fns.indexOf(id);\n }\n\n update(\n id: number | Interceptor,\n fn: Interceptor,\n ): number | Interceptor | false {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = fn;\n return id;\n }\n return false;\n }\n\n use(fn: Interceptor): number {\n this.fns.push(fn);\n return this.fns.length - 1;\n }\n}\n\nexport interface Middleware<Req, Res, Err, Options> {\n error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;\n request: Interceptors<ReqInterceptor<Req, Options>>;\n response: Interceptors<ResInterceptor<Res, Req, Options>>;\n}\n\nexport const createInterceptors = <Req, Res, Err, Options>(): Middleware<\n Req,\n Res,\n Err,\n Options\n> => ({\n error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),\n request: new Interceptors<ReqInterceptor<Req, Options>>(),\n response: new Interceptors<ResInterceptor<Res, Req, Options>>(),\n});\n\nconst defaultQuerySerializer = createQuerySerializer({\n allowReserved: false,\n array: {\n explode: true,\n style: 'form',\n },\n object: {\n explode: true,\n style: 'deepObject',\n },\n});\n\nconst defaultHeaders = {\n 'Content-Type': 'application/json',\n};\n\nexport const createConfig = <T extends ClientOptions = ClientOptions>(\n override: Config<Omit<ClientOptions, keyof T> & T> = {},\n): Config<Omit<ClientOptions, keyof T> & T> => ({\n ...jsonBodySerializer,\n headers: defaultHeaders,\n parseAs: 'auto',\n querySerializer: defaultQuerySerializer,\n ...override,\n});\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { createSseClient } from '../core/serverSentEvents.gen';\nimport type { HttpMethod } from '../core/types.gen';\nimport { getValidRequestBody } from '../core/utils.gen';\nimport type {\n Client,\n Config,\n RequestOptions,\n ResolvedRequestOptions,\n} from './types.gen';\nimport {\n buildUrl,\n createConfig,\n createInterceptors,\n getParseAs,\n mergeConfigs,\n mergeHeaders,\n setAuthParams,\n} from './utils.gen';\n\ntype ReqInit = Omit<RequestInit, 'body' | 'headers'> & {\n body?: any;\n headers: ReturnType<typeof mergeHeaders>;\n};\n\nexport const createClient = (config: Config = {}): Client => {\n let _config = mergeConfigs(createConfig(), config);\n\n const getConfig = (): Config => ({ ..._config });\n\n const setConfig = (config: Config): Config => {\n _config = mergeConfigs(_config, config);\n return getConfig();\n };\n\n const interceptors = createInterceptors<\n Request,\n Response,\n unknown,\n ResolvedRequestOptions\n >();\n\n const beforeRequest = async (options: RequestOptions) => {\n const opts = {\n ..._config,\n ...options,\n fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,\n headers: mergeHeaders(_config.headers, options.headers),\n serializedBody: undefined,\n };\n\n if (opts.security) {\n await setAuthParams({\n ...opts,\n security: opts.security,\n });\n }\n\n if (opts.requestValidator) {\n await opts.requestValidator(opts);\n }\n\n if (opts.body !== undefined && opts.bodySerializer) {\n opts.serializedBody = opts.bodySerializer(opts.body);\n }\n\n // remove Content-Type header if body is empty to avoid sending invalid requests\n if (opts.body === undefined || opts.serializedBody === '') {\n opts.headers.delete('Content-Type');\n }\n\n const url = buildUrl(opts);\n\n return { opts, url };\n };\n\n const request: Client['request'] = async (options) => {\n // @ts-expect-error\n const { opts, url } = await beforeRequest(options);\n const requestInit: ReqInit = {\n redirect: 'follow',\n ...opts,\n body: getValidRequestBody(opts),\n };\n\n let request = new Request(url, requestInit);\n\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts);\n }\n }\n\n // fetch must be assigned here, otherwise it would throw the error:\n // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n const _fetch = opts.fetch!;\n let response: Response;\n\n try {\n response = await _fetch(request);\n } catch (error) {\n // Handle fetch exceptions (AbortError, network errors, etc.)\n let finalError = error;\n\n for (const fn of interceptors.error.fns) {\n if (fn) {\n finalError = (await fn(\n error,\n undefined as any,\n request,\n opts,\n )) as unknown;\n }\n }\n\n finalError = finalError || ({} as unknown);\n\n if (opts.throwOnError) {\n throw finalError;\n }\n\n // Return error response\n return opts.responseStyle === 'data'\n ? undefined\n : {\n error: finalError,\n request,\n response: undefined as any,\n };\n }\n\n for (const fn of interceptors.response.fns) {\n if (fn) {\n response = await fn(response, request, opts);\n }\n }\n\n const result = {\n request,\n response,\n };\n\n if (response.ok) {\n const parseAs =\n (opts.parseAs === 'auto'\n ? getParseAs(response.headers.get('Content-Type'))\n : opts.parseAs) ?? 'json';\n\n if (\n response.status === 204 ||\n response.headers.get('Content-Length') === '0'\n ) {\n let emptyData: any;\n switch (parseAs) {\n case 'arrayBuffer':\n case 'blob':\n case 'text':\n emptyData = await response[parseAs]();\n break;\n case 'formData':\n emptyData = new FormData();\n break;\n case 'stream':\n emptyData = response.body;\n break;\n case 'json':\n default:\n emptyData = {};\n break;\n }\n return opts.responseStyle === 'data'\n ? emptyData\n : {\n data: emptyData,\n ...result,\n };\n }\n\n let data: any;\n switch (parseAs) {\n case 'arrayBuffer':\n case 'blob':\n case 'formData':\n case 'json':\n case 'text':\n data = await response[parseAs]();\n break;\n case 'stream':\n return opts.responseStyle === 'data'\n ? response.body\n : {\n data: response.body,\n ...result,\n };\n }\n\n if (parseAs === 'json') {\n if (opts.responseValidator) {\n await opts.responseValidator(data);\n }\n\n if (opts.responseTransformer) {\n data = await opts.responseTransformer(data);\n }\n }\n\n return opts.responseStyle === 'data'\n ? data\n : {\n data,\n ...result,\n };\n }\n\n const textError = await response.text();\n let jsonError: unknown;\n\n try {\n jsonError = JSON.parse(textError);\n } catch {\n // noop\n }\n\n const error = jsonError ?? textError;\n let finalError = error;\n\n for (const fn of interceptors.error.fns) {\n if (fn) {\n finalError = (await fn(error, response, request, opts)) as string;\n }\n }\n\n finalError = finalError || ({} as string);\n\n if (opts.throwOnError) {\n throw finalError;\n }\n\n // TODO: we probably want to return error and improve types\n return opts.responseStyle === 'data'\n ? undefined\n : {\n error: finalError,\n ...result,\n };\n };\n\n const makeMethodFn =\n (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>\n request({ ...options, method });\n\n const makeSseFn =\n (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {\n const { opts, url } = await beforeRequest(options);\n return createSseClient({\n ...opts,\n body: opts.body as BodyInit | null | undefined,\n headers: opts.headers as unknown as Record<string, string>,\n method,\n onRequest: async (url, init) => {\n let request = new Request(url, init);\n for (const fn of interceptors.request.fns) {\n if (fn) {\n request = await fn(request, opts);\n }\n }\n return request;\n },\n url,\n });\n };\n\n return {\n buildUrl,\n connect: makeMethodFn('CONNECT'),\n delete: makeMethodFn('DELETE'),\n get: makeMethodFn('GET'),\n getConfig,\n head: makeMethodFn('HEAD'),\n interceptors,\n options: makeMethodFn('OPTIONS'),\n patch: makeMethodFn('PATCH'),\n post: makeMethodFn('POST'),\n put: makeMethodFn('PUT'),\n request,\n setConfig,\n sse: {\n connect: makeSseFn('CONNECT'),\n delete: makeSseFn('DELETE'),\n get: makeSseFn('GET'),\n head: makeSseFn('HEAD'),\n options: makeSseFn('OPTIONS'),\n patch: makeSseFn('PATCH'),\n post: makeSseFn('POST'),\n put: makeSseFn('PUT'),\n trace: makeSseFn('TRACE'),\n },\n trace: makeMethodFn('TRACE'),\n } as Client;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type ClientOptions, type Config, createClient, createConfig } from './client';\nimport type { ClientOptions as ClientOptions2 } from './types.gen';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions2>({ baseUrl: 'https://api.vrchat.cloud/api/1' }));\n","export function tryJsonParse(value: string): unknown {\n\ttry {\n\t\treturn JSON.parse(value);\n\t}\n\tcatch {\n\t\treturn value;\n\t}\n}\n","import { VRChat } from \"./client\";\nimport { client } from \"./generated/client.gen\";\nimport { tryJsonParse } from \"./lib/json\";\n\n/**\n * @internal\n */\ninterface VRChatErrorOptions {\n\tmessage: string;\n\tresponse: Response;\n\trequest: Request;\n}\n\nexport class VRChatError extends Error {\n\tpublic request: Request;\n\tpublic response: Response;\n\n\tpublic get statusCode(): number {\n\t\treturn this.response.status ?? 0;\n\t}\n\n\tpublic get unauthorized(): boolean {\n\t\treturn this.statusCode === 401;\n\t}\n\n\t/**\n\t * Creates a new `VRChatError` instance from a value.\n\t *\n\t * This method is used to convert various types of error values into a consistent `VRChatError` instance.\n\t * It can handle `Error` instances, strings, and objects with a `message` property.\n\t * If the value is already a `VRChatError`, it will return it as is.\n\t *\n\t * @internal\n\t */\n\tpublic static from(value: unknown, { request, response }: Partial<Pick<VRChatErrorOptions, \"request\" | \"response\">> = {}): VRChatError {\n\t\tif (value instanceof VRChatError)\n\t\t\treturn value;\n\n\t\trequest ??= new Request(client.getConfig().baseUrl!);\n\t\tresponse ??= new Response();\n\n\t\tif (value instanceof Error)\n\t\t\treturn new VRChatError({ message: value.message, response, request, cause: value });\n\n\t\tif (typeof value == \"string\")\n\t\t\treturn new VRChatError({ message: value, response, request });\n\n\t\tif (typeof value == \"object\" && value) {\n\t\t\tif (\"message\" in value && typeof value.message === \"string\")\n\t\t\t\treturn new VRChatError({ message: value.message, response, request, cause: value });\n\n\t\t\tif (\"error\" in value && typeof value.error === \"object\" && value.error) {\n\t\t\t\tif (\"message\" in value.error && typeof value.error.message === \"string\") {\n\t\t\t\t\t// VRChat sometimes JSON-encodes the error message, so we try to parse it, then stringify it.\n\t\t\t\t\treturn new VRChatError({ message: String(tryJsonParse(value.error.message)), response, request, cause: value });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Last resort, try to stringify the reason.\n\t\treturn new VRChatError({ message: JSON.stringify(value), response, request, cause: value });\n\t}\n\n\tprivate constructor({ message, request, response, cause }: { cause?: unknown } & VRChatErrorOptions) {\n\t\tsuper(message, { cause });\n\n\t\tthis.request = request;\n\t\tthis.response = response;\n\n\t\tthis.name = \"VRChatError\";\n\t\tError.captureStackTrace(this, VRChat);\n\t}\n\n\tpublic toResponseContent(): { error: { message: string; status_code: number } } {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\tmessage: this.message,\n\t\t\t\tstatus_code: this.statusCode,\n\t\t\t}\n\t\t};\n\t}\n}\n\nexport function fail({ message, request, response, throwOnError }: { throwOnError?: boolean } & VRChatErrorOptions): { data: undefined; error: VRChatError; request: Request; response: Response } {\n\tconst error = VRChatError.from(message, { request, response });\n\tif (throwOnError) throw error;\n\n\treturn {\n\t\tdata: undefined,\n\t\terror,\n\t\trequest: error.request,\n\t\tresponse: error.response\n\t};\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { AddGroupGalleryImageResponse, AddGroupPostResponse, AddTagsResponse, BanGroupMemberResponse, CloseInstanceResponse, ConsumeOwnInventoryItemResponse, CreateAvatarResponse, CreateFileResponse, CreateFileVersionResponse, CreateGlobalAvatarModerationResponse, CreateGroupAnnouncementResponse, CreateGroupCalendarEventResponse, CreateGroupGalleryResponse, CreateGroupResponse, CreateGroupRoleResponse, CreateInstanceResponse, CreateWorldResponse, DeleteAvatarResponse, DeleteFileResponse, DeleteFileVersionResponse, DeleteGroupRoleResponse, DeleteNotificationResponse, DeleteUserResponse, DiscoverCalendarEventsResponse, EditPrintResponse, EnqueueImpostorResponse, EquipOwnInventoryItemResponse, FinishFileDataUploadResponse, FollowGroupCalendarEventResponse, FriendResponse, GetActiveWorldsResponse, GetAdminAssetBundleResponse, GetAvatarResponse, GetCalendarEventsResponse, GetConfigResponse, GetCurrentSubscriptionsResponse, GetCurrentUserResponse, GetEconomyAccountResponse, GetFavoritedAvatarsResponse, GetFavoritedWorldsResponse, GetFeaturedCalendarEventsResponse, GetFileResponse, GetFilesResponse, GetFollowedCalendarEventsResponse, GetFriendsResponse, GetGlobalAvatarModerationsResponse, GetGroupAnnouncementsResponse, GetGroupAuditLogsResponse, GetGroupBansResponse, GetGroupCalendarEventResponse, GetGroupCalendarEventsResponse, GetGroupGalleryImagesResponse, GetGroupInstancesResponse, GetGroupInvitesResponse, GetGroupMemberResponse, GetGroupMembersResponse, GetGroupPostsResponse, GetGroupRequestsResponse, GetGroupResponse, GetGroupRolesResponse, GetInfoPushResponse, GetInstanceByShortNameResponse, GetInstanceResponse, GetInventoryDropsResponse, GetInventoryResponse, GetInventoryTemplateResponse, GetInviteMessageResponse, GetInviteMessagesResponse, GetJamResponse, GetJamsResponse, GetJamSubmissionsResponse, GetLicensedAvatarsResponse, GetMutualGroupsResponse, GetNotificationResponse, GetNotificationsResponse, GetOwnAvatarResponse, GetOwnInventoryItemResponse, GetPlayerModerationsResponse, GetPrintResponse, GetProductListingAlternateResponse, GetProductListingResponse, GetProductListingsResponse, GetProductPurchasesResponse, GetPropResponse, GetRecentSubscriptionResponse, GetRecentWorldsResponse, GetSteamTransactionResponse, GetSteamTransactionsResponse, GetStoreResponse, GetStoreShelvesResponse, GetSystemTimeResponse, GetTiliaStatusResponse, GetUserByNameResponse, GetUserGroupInstancesForGroupResponse, GetUserGroupInstancesResponse, GetUserGroupRequestsResponse, GetUserGroupsResponse, GetUserNoteResponse, GetUserNotesResponse, GetUserPrintsResponse, GetUserResponse, GetWorldInstanceResponse, GetWorldResponse, InviteMyselfToResponse, InviteUserResponse, InviteUserWithPhotoResponse, JoinGroupResponse, MarkNotificationAsReadResponse, ModerateUserResponse, PurchaseProductListingResponse, RegisterUserAccountResponse, RemoveTagsResponse, RequestInviteResponse, RequestInviteWithPhotoResponse, ResetInviteMessageResponse, RespondInviteResponse, RespondInviteWithPhotoResponse, SearchAvatarsResponse, SearchCalendarEventsResponse, SearchGroupsResponse, SearchWorldsResponse, SelectAvatarResponse, SelectFallbackAvatarResponse, UnbanGroupMemberResponse, UpdateAvatarResponse, UpdateGroupCalendarEventResponse, UpdateGroupGalleryResponse, UpdateGroupMemberResponse, UpdateGroupPostResponse, UpdateGroupResponse, UpdateGroupRoleResponse, UpdateInviteMessageResponse, UpdateOwnInventoryItemResponse, UpdateUserNoteResponse, UpdateUserResponse, UpdateWorldResponse, UploadGalleryImageResponse, UploadIconResponse, UploadImageResponse, UploadPrintResponse } from './types.gen';\n\nconst transactionSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getSteamTransactionsResponseTransformer = async (data: any): Promise<GetSteamTransactionsResponse> => {\n data = data.map((item: any) => transactionSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getSteamTransactionResponseTransformer = async (data: any): Promise<GetSteamTransactionResponse> => {\n data = transactionSchemaResponseTransformer(data);\n return data;\n};\n\nconst adminAssetBundleSchemaResponseTransformer = (data: any) => {\n data._created_at = new Date(data._created_at);\n data._updated_at = new Date(data._updated_at);\n return data;\n};\n\nexport const getAdminAssetBundleResponseTransformer = async (data: any): Promise<GetAdminAssetBundleResponse> => {\n data = adminAssetBundleSchemaResponseTransformer(data);\n return data;\n};\n\nconst currentUserSchemaResponseTransformer = (data: any) => {\n if (data.accountDeletionDate) {\n data.accountDeletionDate = new Date(data.accountDeletionDate);\n }\n if (data.accountDeletionLog) {\n data.accountDeletionLog = data.accountDeletionLog.map((item: any) => accountDeletionLogSchemaResponseTransformer(item));\n }\n if (data.badges) {\n data.badges = data.badges.map((item: any) => badgeSchemaResponseTransformer(item));\n }\n data.date_joined = new Date(data.date_joined);\n if (data.last_activity) {\n data.last_activity = new Date(data.last_activity);\n }\n data.last_login = new Date(data.last_login);\n if (data.last_mobile) {\n data.last_mobile = new Date(data.last_mobile);\n }\n data.pastDisplayNames = data.pastDisplayNames.map((item: any) => pastDisplayNameSchemaResponseTransformer(item));\n if (data.platform_history) {\n data.platform_history = data.platform_history.map((item: any) => {\n if (item.recorded) {\n item.recorded = new Date(item.recorded);\n }\n return item;\n });\n }\n if (data.twoFactorAuthEnabledDate) {\n data.twoFactorAuthEnabledDate = new Date(data.twoFactorAuthEnabledDate);\n }\n if (data.updated_at) {\n data.updated_at = new Date(data.updated_at);\n }\n return data;\n};\n\nconst accountDeletionLogSchemaResponseTransformer = (data: any) => {\n if (data.dateTime) {\n data.dateTime = new Date(data.dateTime);\n }\n if (data.deletionScheduled) {\n data.deletionScheduled = new Date(data.deletionScheduled);\n }\n return data;\n};\n\nconst badgeSchemaResponseTransformer = (data: any) => {\n if (data.assignedAt) {\n data.assignedAt = new Date(data.assignedAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nconst pastDisplayNameSchemaResponseTransformer = (data: any) => {\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const registerUserAccountResponseTransformer = async (data: any): Promise<RegisterUserAccountResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getCurrentUserResponseTransformer = async (data: any): Promise<GetCurrentUserResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nconst avatarModerationSchemaResponseTransformer = (data: any) => {\n data.created = new Date(data.created);\n return data;\n};\n\nexport const getGlobalAvatarModerationsResponseTransformer = async (data: any): Promise<GetGlobalAvatarModerationsResponse> => {\n data = data.map((item: any) => avatarModerationSchemaResponseTransformer(item));\n return data;\n};\n\nconst avatarModerationCreatedSchemaResponseTransformer = (data: any) => {\n data.created = BigInt(data.created.toString());\n return data;\n};\n\nexport const createGlobalAvatarModerationResponseTransformer = async (data: any): Promise<CreateGlobalAvatarModerationResponse> => {\n data = avatarModerationCreatedSchemaResponseTransformer(data);\n return data;\n};\n\nconst limitedUserFriendSchemaResponseTransformer = (data: any) => {\n if (data.last_activity) {\n data.last_activity = new Date(data.last_activity);\n }\n if (data.last_login) {\n data.last_login = new Date(data.last_login);\n }\n if (data.last_mobile) {\n data.last_mobile = new Date(data.last_mobile);\n }\n return data;\n};\n\nexport const getFriendsResponseTransformer = async (data: any): Promise<GetFriendsResponse> => {\n data = data.map((item: any) => limitedUserFriendSchemaResponseTransformer(item));\n return data;\n};\n\nconst notificationSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n return data;\n};\n\nexport const getNotificationsResponseTransformer = async (data: any): Promise<GetNotificationsResponse> => {\n data = data.map((item: any) => notificationSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getNotificationResponseTransformer = async (data: any): Promise<GetNotificationResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteNotificationResponseTransformer = async (data: any): Promise<DeleteNotificationResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const markNotificationAsReadResponseTransformer = async (data: any): Promise<MarkNotificationAsReadResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nconst playerModerationSchemaResponseTransformer = (data: any) => {\n data.created = new Date(data.created);\n return data;\n};\n\nexport const getPlayerModerationsResponseTransformer = async (data: any): Promise<GetPlayerModerationsResponse> => {\n data = data.map((item: any) => playerModerationSchemaResponseTransformer(item));\n return data;\n};\n\nexport const moderateUserResponseTransformer = async (data: any): Promise<ModerateUserResponse> => {\n data = playerModerationSchemaResponseTransformer(data);\n return data;\n};\n\nconst userSubscriptionSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.expires = new Date(data.expires);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getCurrentSubscriptionsResponseTransformer = async (data: any): Promise<GetCurrentSubscriptionsResponse> => {\n data = data.map((item: any) => userSubscriptionSchemaResponseTransformer(item));\n return data;\n};\n\nconst avatarSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.unityPackages = data.unityPackages.map((item: any) => unityPackageSchemaResponseTransformer(item));\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nconst unityPackageSchemaResponseTransformer = (data: any) => {\n if (data.created_at) {\n data.created_at = new Date(data.created_at);\n }\n if (data.unitySortNumber) {\n data.unitySortNumber = BigInt(data.unitySortNumber.toString());\n }\n return data;\n};\n\nexport const searchAvatarsResponseTransformer = async (data: any): Promise<SearchAvatarsResponse> => {\n data = data.map((item: any) => avatarSchemaResponseTransformer(item));\n return data;\n};\n\nexport const createAvatarResponseTransformer = async (data: any): Promise<CreateAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFavoritedAvatarsResponseTransformer = async (data: any): Promise<GetFavoritedAvatarsResponse> => {\n data = data.map((item: any) => avatarSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getLicensedAvatarsResponseTransformer = async (data: any): Promise<GetLicensedAvatarsResponse> => {\n data = data.map((item: any) => avatarSchemaResponseTransformer(item));\n return data;\n};\n\nexport const deleteAvatarResponseTransformer = async (data: any): Promise<DeleteAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getAvatarResponseTransformer = async (data: any): Promise<GetAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateAvatarResponseTransformer = async (data: any): Promise<UpdateAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nconst serviceStatusSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const enqueueImpostorResponseTransformer = async (data: any): Promise<EnqueueImpostorResponse> => {\n data = serviceStatusSchemaResponseTransformer(data);\n return data;\n};\n\nexport const selectAvatarResponseTransformer = async (data: any): Promise<SelectAvatarResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const selectFallbackAvatarResponseTransformer = async (data: any): Promise<SelectFallbackAvatarResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nconst paginatedCalendarEventListSchemaResponseTransformer = (data: any) => {\n if (data.results) {\n data.results = data.results.map((item: any) => calendarEventSchemaResponseTransformer(item));\n }\n return data;\n};\n\nconst calendarEventSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.deletedAt) {\n data.deletedAt = new Date(data.deletedAt);\n }\n data.endsAt = new Date(data.endsAt);\n data.startsAt = new Date(data.startsAt);\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n if (data.userInterest) {\n if (data.userInterest.createdAt) {\n data.userInterest.createdAt = new Date(data.userInterest.createdAt);\n }\n if (data.userInterest.updatedAt) {\n data.userInterest.updatedAt = new Date(data.userInterest.updatedAt);\n }\n }\n return data;\n};\n\nexport const getCalendarEventsResponseTransformer = async (data: any): Promise<GetCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nconst calendarEventDiscoverySchemaResponseTransformer = (data: any) => {\n data.results = data.results.map((item: any) => calendarEventSchemaResponseTransformer(item));\n return data;\n};\n\nexport const discoverCalendarEventsResponseTransformer = async (data: any): Promise<DiscoverCalendarEventsResponse> => {\n data = calendarEventDiscoverySchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFeaturedCalendarEventsResponseTransformer = async (data: any): Promise<GetFeaturedCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFollowedCalendarEventsResponseTransformer = async (data: any): Promise<GetFollowedCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const searchCalendarEventsResponseTransformer = async (data: any): Promise<SearchCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupCalendarEventsResponseTransformer = async (data: any): Promise<GetGroupCalendarEventsResponse> => {\n data = paginatedCalendarEventListSchemaResponseTransformer(data);\n return data;\n};\n\nexport const createGroupCalendarEventResponseTransformer = async (data: any): Promise<CreateGroupCalendarEventResponse> => {\n data = calendarEventSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupCalendarEventResponseTransformer = async (data: any): Promise<GetGroupCalendarEventResponse> => {\n data = calendarEventSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateGroupCalendarEventResponseTransformer = async (data: any): Promise<UpdateGroupCalendarEventResponse> => {\n data = calendarEventSchemaResponseTransformer(data);\n return data;\n};\n\nexport const followGroupCalendarEventResponseTransformer = async (data: any): Promise<FollowGroupCalendarEventResponse> => {\n data = calendarEventSchemaResponseTransformer(data);\n return data;\n};\n\nconst apiConfigSchemaResponseTransformer = (data: any) => {\n data['dis-countdown'] = new Date(data['dis-countdown']);\n return data;\n};\n\nexport const getConfigResponseTransformer = async (data: any): Promise<GetConfigResponse> => {\n data = apiConfigSchemaResponseTransformer(data);\n return data;\n};\n\nconst productPurchaseSchemaResponseTransformer = (data: any) => {\n data.purchaseDate = new Date(data.purchaseDate);\n data.purchaseEndDate = new Date(data.purchaseEndDate);\n data.purchaseStartDate = new Date(data.purchaseStartDate);\n return data;\n};\n\nexport const purchaseProductListingResponseTransformer = async (data: any): Promise<PurchaseProductListingResponse> => {\n data = productPurchaseSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getProductPurchasesResponseTransformer = async (data: any): Promise<GetProductPurchasesResponse> => {\n data = data.map((item: any) => productPurchaseSchemaResponseTransformer(item));\n return data;\n};\n\nconst storeSchemaResponseTransformer = (data: any) => {\n if (data.listings) {\n data.listings = data.listings.map((item: any) => productListingSchemaResponseTransformer(item));\n }\n if (data.shelves) {\n data.shelves = data.shelves.map((item: any) => storeShelfSchemaResponseTransformer(item));\n }\n return data;\n};\n\nconst productListingSchemaResponseTransformer = (data: any) => {\n if (data.hydratedProducts) {\n data.hydratedProducts = data.hydratedProducts.map((item: any) => productSchemaResponseTransformer(item));\n }\n if (data.listingVariants) {\n data.listingVariants = data.listingVariants.map((item: any) => productListingVariantSchemaResponseTransformer(item));\n }\n return data;\n};\n\nconst productSchemaResponseTransformer = (data: any) => {\n data.created = new Date(data.created);\n if (data.updated) {\n data.updated = new Date(data.updated);\n }\n return data;\n};\n\nconst productListingVariantSchemaResponseTransformer = (data: any) => {\n if (data.effectiveFrom) {\n data.effectiveFrom = new Date(data.effectiveFrom);\n }\n return data;\n};\n\nconst storeShelfSchemaResponseTransformer = (data: any) => {\n if (data.listings) {\n data.listings = data.listings.map((item: any) => productListingSchemaResponseTransformer(item));\n }\n return data;\n};\n\nexport const getStoreResponseTransformer = async (data: any): Promise<GetStoreResponse> => {\n data = storeSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getStoreShelvesResponseTransformer = async (data: any): Promise<GetStoreShelvesResponse> => {\n data = data.map((item: any) => storeShelfSchemaResponseTransformer(item));\n return data;\n};\n\nconst fileSchemaResponseTransformer = (data: any) => {\n data.versions = data.versions.map((item: any) => fileVersionSchemaResponseTransformer(item));\n return data;\n};\n\nconst fileVersionSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n return data;\n};\n\nexport const createFileResponseTransformer = async (data: any): Promise<CreateFileResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const uploadImageResponseTransformer = async (data: any): Promise<UploadImageResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteFileResponseTransformer = async (data: any): Promise<DeleteFileResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFileResponseTransformer = async (data: any): Promise<GetFileResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const createFileVersionResponseTransformer = async (data: any): Promise<CreateFileVersionResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteFileVersionResponseTransformer = async (data: any): Promise<DeleteFileVersionResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const finishFileDataUploadResponseTransformer = async (data: any): Promise<FinishFileDataUploadResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getFilesResponseTransformer = async (data: any): Promise<GetFilesResponse> => {\n data = data.map((item: any) => fileSchemaResponseTransformer(item));\n return data;\n};\n\nexport const uploadGalleryImageResponseTransformer = async (data: any): Promise<UploadGalleryImageResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nconst limitedGroupSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.galleries) {\n data.galleries = data.galleries.map((item: any) => groupGallerySchemaResponseTransformer(item));\n }\n return data;\n};\n\nconst groupGallerySchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nexport const searchGroupsResponseTransformer = async (data: any): Promise<SearchGroupsResponse> => {\n data = data.map((item: any) => limitedGroupSchemaResponseTransformer(item));\n return data;\n};\n\nconst groupSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.galleries) {\n data.galleries = data.galleries.map((item: any) => groupGallerySchemaResponseTransformer(item));\n }\n if (data.lastPostCreatedAt) {\n data.lastPostCreatedAt = new Date(data.lastPostCreatedAt);\n }\n if (data.memberCountSyncedAt) {\n data.memberCountSyncedAt = new Date(data.memberCountSyncedAt);\n }\n if (data.myMember) {\n data.myMember = groupMyMemberSchemaResponseTransformer(data.myMember);\n }\n if (data.roles) {\n data.roles = data.roles.map((item: any) => groupRoleSchemaResponseTransformer(item));\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nconst groupMyMemberSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.joinedAt) {\n data.joinedAt = new Date(data.joinedAt);\n }\n if (data.lastPostReadAt) {\n data.lastPostReadAt = new Date(data.lastPostReadAt);\n }\n return data;\n};\n\nconst groupRoleSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nexport const createGroupResponseTransformer = async (data: any): Promise<CreateGroupResponse> => {\n data = groupSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupResponseTransformer = async (data: any): Promise<GetGroupResponse> => {\n data = groupSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateGroupResponseTransformer = async (data: any): Promise<UpdateGroupResponse> => {\n data = groupSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupAnnouncementSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nexport const getGroupAnnouncementsResponseTransformer = async (data: any): Promise<GetGroupAnnouncementsResponse> => {\n data = groupAnnouncementSchemaResponseTransformer(data);\n return data;\n};\n\nexport const createGroupAnnouncementResponseTransformer = async (data: any): Promise<CreateGroupAnnouncementResponse> => {\n data = groupAnnouncementSchemaResponseTransformer(data);\n return data;\n};\n\nconst paginatedGroupAuditLogEntryListSchemaResponseTransformer = (data: any) => {\n if (data.results) {\n data.results = data.results.map((item: any) => groupAuditLogEntrySchemaResponseTransformer(item));\n }\n return data;\n};\n\nconst groupAuditLogEntrySchemaResponseTransformer = (data: any) => {\n if (data.created_at) {\n data.created_at = new Date(data.created_at);\n }\n return data;\n};\n\nexport const getGroupAuditLogsResponseTransformer = async (data: any): Promise<GetGroupAuditLogsResponse> => {\n data = paginatedGroupAuditLogEntryListSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupMemberSchemaResponseTransformer = (data: any) => {\n if (data.bannedAt) {\n data.bannedAt = new Date(data.bannedAt);\n }\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.joinedAt) {\n data.joinedAt = new Date(data.joinedAt);\n }\n if (data.lastPostReadAt) {\n data.lastPostReadAt = new Date(data.lastPostReadAt);\n }\n return data;\n};\n\nexport const getGroupBansResponseTransformer = async (data: any): Promise<GetGroupBansResponse> => {\n data = data.map((item: any) => groupMemberSchemaResponseTransformer(item));\n return data;\n};\n\nexport const banGroupMemberResponseTransformer = async (data: any): Promise<BanGroupMemberResponse> => {\n data = groupMemberSchemaResponseTransformer(data);\n return data;\n};\n\nexport const unbanGroupMemberResponseTransformer = async (data: any): Promise<UnbanGroupMemberResponse> => {\n data = groupMemberSchemaResponseTransformer(data);\n return data;\n};\n\nexport const createGroupGalleryResponseTransformer = async (data: any): Promise<CreateGroupGalleryResponse> => {\n data = groupGallerySchemaResponseTransformer(data);\n return data;\n};\n\nconst groupGalleryImageSchemaResponseTransformer = (data: any) => {\n if (data.approvedAt) {\n data.approvedAt = new Date(data.approvedAt);\n }\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n return data;\n};\n\nexport const getGroupGalleryImagesResponseTransformer = async (data: any): Promise<GetGroupGalleryImagesResponse> => {\n data = data.map((item: any) => groupGalleryImageSchemaResponseTransformer(item));\n return data;\n};\n\nexport const updateGroupGalleryResponseTransformer = async (data: any): Promise<UpdateGroupGalleryResponse> => {\n data = groupGallerySchemaResponseTransformer(data);\n return data;\n};\n\nexport const addGroupGalleryImageResponseTransformer = async (data: any): Promise<AddGroupGalleryImageResponse> => {\n data = groupGalleryImageSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupInstanceSchemaResponseTransformer = (data: any) => {\n data.world = worldSchemaResponseTransformer(data.world);\n return data;\n};\n\nconst worldSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n if (data.unityPackages) {\n data.unityPackages = data.unityPackages.map((item: any) => unityPackageSchemaResponseTransformer(item));\n }\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getGroupInstancesResponseTransformer = async (data: any): Promise<GetGroupInstancesResponse> => {\n data = data.map((item: any) => groupInstanceSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getGroupInvitesResponseTransformer = async (data: any): Promise<GetGroupInvitesResponse> => {\n data = data.map((item: any) => groupMemberSchemaResponseTransformer(item));\n return data;\n};\n\nexport const joinGroupResponseTransformer = async (data: any): Promise<JoinGroupResponse> => {\n data = groupMemberSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupMembersResponseTransformer = async (data: any): Promise<GetGroupMembersResponse> => {\n data = data.map((item: any) => groupMemberSchemaResponseTransformer(item));\n return data;\n};\n\nconst groupLimitedMemberSchemaResponseTransformer = (data: any) => {\n if (data.bannedAt) {\n data.bannedAt = new Date(data.bannedAt);\n }\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.joinedAt) {\n data.joinedAt = new Date(data.joinedAt);\n }\n if (data.lastPostReadAt) {\n data.lastPostReadAt = new Date(data.lastPostReadAt);\n }\n return data;\n};\n\nexport const getGroupMemberResponseTransformer = async (data: any): Promise<GetGroupMemberResponse> => {\n data = groupLimitedMemberSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateGroupMemberResponseTransformer = async (data: any): Promise<UpdateGroupMemberResponse> => {\n data = groupLimitedMemberSchemaResponseTransformer(data);\n return data;\n};\n\nconst groupPostSchemaResponseTransformer = (data: any) => {\n if (data.createdAt) {\n data.createdAt = new Date(data.createdAt);\n }\n if (data.updatedAt) {\n data.updatedAt = new Date(data.updatedAt);\n }\n return data;\n};\n\nexport const getGroupPostsResponseTransformer = async (data: any): Promise<GetGroupPostsResponse> => {\n if (data.posts) {\n data.posts = data.posts.map((item: any) => groupPostSchemaResponseTransformer(item));\n }\n return data;\n};\n\nexport const addGroupPostResponseTransformer = async (data: any): Promise<AddGroupPostResponse> => {\n data = groupPostSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateGroupPostResponseTransformer = async (data: any): Promise<UpdateGroupPostResponse> => {\n data = groupPostSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getGroupRequestsResponseTransformer = async (data: any): Promise<GetGroupRequestsResponse> => {\n data = data.map((item: any) => groupMemberSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getGroupRolesResponseTransformer = async (data: any): Promise<GetGroupRolesResponse> => {\n data = data.map((item: any) => groupRoleSchemaResponseTransformer(item));\n return data;\n};\n\nexport const createGroupRoleResponseTransformer = async (data: any): Promise<CreateGroupRoleResponse> => {\n data = groupRoleSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteGroupRoleResponseTransformer = async (data: any): Promise<DeleteGroupRoleResponse> => {\n data = data.map((item: any) => groupRoleSchemaResponseTransformer(item));\n return data;\n};\n\nexport const updateGroupRoleResponseTransformer = async (data: any): Promise<UpdateGroupRoleResponse> => {\n data = data.map((item: any) => groupRoleSchemaResponseTransformer(item));\n return data;\n};\n\nexport const uploadIconResponseTransformer = async (data: any): Promise<UploadIconResponse> => {\n data = fileSchemaResponseTransformer(data);\n return data;\n};\n\nconst infoPushSchemaResponseTransformer = (data: any) => {\n data.createdAt = new Date(data.createdAt);\n if (data.endDate) {\n data.endDate = new Date(data.endDate);\n }\n if (data.startDate) {\n data.startDate = new Date(data.startDate);\n }\n data.updatedAt = new Date(data.updatedAt);\n return data;\n};\n\nexport const getInfoPushResponseTransformer = async (data: any): Promise<GetInfoPushResponse> => {\n data = data.map((item: any) => infoPushSchemaResponseTransformer(item));\n return data;\n};\n\nconst instanceSchemaResponseTransformer = (data: any) => {\n if (data.closedAt) {\n data.closedAt = new Date(data.closedAt);\n }\n if (data.users) {\n data.users = data.users.map((item: any) => limitedUserInstanceSchemaResponseTransformer(item));\n }\n data.world = worldSchemaResponseTransformer(data.world);\n return data;\n};\n\nconst limitedUserInstanceSchemaResponseTransformer = (data: any) => {\n if (data.date_joined) {\n data.date_joined = new Date(data.date_joined);\n }\n if (data.last_activity) {\n data.last_activity = new Date(data.last_activity);\n }\n if (data.last_mobile) {\n data.last_mobile = new Date(data.last_mobile);\n }\n return data;\n};\n\nexport const createInstanceResponseTransformer = async (data: any): Promise<CreateInstanceResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getInstanceByShortNameResponseTransformer = async (data: any): Promise<GetInstanceByShortNameResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nexport const closeInstanceResponseTransformer = async (data: any): Promise<CloseInstanceResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getInstanceResponseTransformer = async (data: any): Promise<GetInstanceResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n\nconst inventorySchemaResponseTransformer = (data: any) => {\n data.data = data.data.map((item: any) => inventoryItemSchemaResponseTransformer(item));\n return data;\n};\n\nconst inventoryItemSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n if (data.expiryDate) {\n data.expiryDate = new Date(data.expiryDate);\n }\n data.template_created_at = new Date(data.template_created_at);\n data.template_updated_at = new Date(data.template_updated_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getInventoryResponseTransformer = async (data: any): Promise<GetInventoryResponse> => {\n data = inventorySchemaResponseTransformer(data);\n return data;\n};\n\nconst inventoryDropSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n if (data.dropExpiryDate) {\n data.dropExpiryDate = new Date(data.dropExpiryDate);\n }\n data.endDropDate = new Date(data.endDropDate);\n data.startDropDate = new Date(data.startDropDate);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getInventoryDropsResponseTransformer = async (data: any): Promise<GetInventoryDropsResponse> => {\n data = data.map((item: any) => inventoryDropSchemaResponseTransformer(item));\n return data;\n};\n\nconst inventoryTemplateSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getInventoryTemplateResponseTransformer = async (data: any): Promise<GetInventoryTemplateResponse> => {\n data = inventoryTemplateSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getOwnInventoryItemResponseTransformer = async (data: any): Promise<GetOwnInventoryItemResponse> => {\n data = inventoryItemSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateOwnInventoryItemResponseTransformer = async (data: any): Promise<UpdateOwnInventoryItemResponse> => {\n data = inventoryItemSchemaResponseTransformer(data);\n return data;\n};\n\nconst inventoryConsumptionResultsSchemaResponseTransformer = (data: any) => {\n data.inventoryItems = data.inventoryItems.map((item: any) => inventoryItemSchemaResponseTransformer(item));\n return data;\n};\n\nexport const consumeOwnInventoryItemResponseTransformer = async (data: any): Promise<ConsumeOwnInventoryItemResponse> => {\n data = inventoryConsumptionResultsSchemaResponseTransformer(data);\n return data;\n};\n\nexport const equipOwnInventoryItemResponseTransformer = async (data: any): Promise<EquipOwnInventoryItemResponse> => {\n data = inventoryItemSchemaResponseTransformer(data);\n return data;\n};\n\nconst sentNotificationSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n return data;\n};\n\nexport const inviteMyselfToResponseTransformer = async (data: any): Promise<InviteMyselfToResponse> => {\n data = sentNotificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const respondInviteResponseTransformer = async (data: any): Promise<RespondInviteResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const respondInviteWithPhotoResponseTransformer = async (data: any): Promise<RespondInviteWithPhotoResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const inviteUserResponseTransformer = async (data: any): Promise<InviteUserResponse> => {\n data = sentNotificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const inviteUserWithPhotoResponseTransformer = async (data: any): Promise<InviteUserWithPhotoResponse> => {\n data = sentNotificationSchemaResponseTransformer(data);\n return data;\n};\n\nconst jamSchemaResponseTransformer = (data: any) => {\n if (data.stateChangeDates.closed) {\n data.stateChangeDates.closed = new Date(data.stateChangeDates.closed);\n }\n if (data.stateChangeDates.submissionsClosed) {\n data.stateChangeDates.submissionsClosed = new Date(data.stateChangeDates.submissionsClosed);\n }\n if (data.stateChangeDates.submissionsOpened) {\n data.stateChangeDates.submissionsOpened = new Date(data.stateChangeDates.submissionsOpened);\n }\n if (data.stateChangeDates.winnersSelected) {\n data.stateChangeDates.winnersSelected = new Date(data.stateChangeDates.winnersSelected);\n }\n if (data.submissionContentGateDate) {\n data.submissionContentGateDate = new Date(data.submissionContentGateDate);\n }\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getJamsResponseTransformer = async (data: any): Promise<GetJamsResponse> => {\n data = data.map((item: any) => jamSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getJamResponseTransformer = async (data: any): Promise<GetJamResponse> => {\n data = jamSchemaResponseTransformer(data);\n return data;\n};\n\nconst submissionSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n return data;\n};\n\nexport const getJamSubmissionsResponseTransformer = async (data: any): Promise<GetJamSubmissionsResponse> => {\n data = data.map((item: any) => submissionSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getProductListingResponseTransformer = async (data: any): Promise<GetProductListingResponse> => {\n data = productListingSchemaResponseTransformer(data);\n return data;\n};\n\nconst inviteMessageSchemaResponseTransformer = (data: any) => {\n data.updatedAt = new Date(data.updatedAt);\n return data;\n};\n\nexport const getInviteMessagesResponseTransformer = async (data: any): Promise<GetInviteMessagesResponse> => {\n data = data.map((item: any) => inviteMessageSchemaResponseTransformer(item));\n return data;\n};\n\nexport const resetInviteMessageResponseTransformer = async (data: any): Promise<ResetInviteMessageResponse> => {\n data = data.map((item: any) => inviteMessageSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getInviteMessageResponseTransformer = async (data: any): Promise<GetInviteMessageResponse> => {\n data = inviteMessageSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateInviteMessageResponseTransformer = async (data: any): Promise<UpdateInviteMessageResponse> => {\n data = data.map((item: any) => inviteMessageSchemaResponseTransformer(item));\n return data;\n};\n\nconst printSchemaResponseTransformer = (data: any) => {\n data.createdAt = new Date(data.createdAt);\n data.timestamp = new Date(data.timestamp);\n return data;\n};\n\nexport const uploadPrintResponseTransformer = async (data: any): Promise<UploadPrintResponse> => {\n data = printSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getUserPrintsResponseTransformer = async (data: any): Promise<GetUserPrintsResponse> => {\n data = data.map((item: any) => printSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getPrintResponseTransformer = async (data: any): Promise<GetPrintResponse> => {\n data = printSchemaResponseTransformer(data);\n return data;\n};\n\nexport const editPrintResponseTransformer = async (data: any): Promise<EditPrintResponse> => {\n data = printSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getProductListingAlternateResponseTransformer = async (data: any): Promise<GetProductListingAlternateResponse> => {\n data = productListingSchemaResponseTransformer(data);\n return data;\n};\n\nconst propSchemaResponseTransformer = (data: any) => {\n data._created_at = new Date(data._created_at);\n data._updated_at = new Date(data._updated_at);\n return data;\n};\n\nexport const getPropResponseTransformer = async (data: any): Promise<GetPropResponse> => {\n data = propSchemaResponseTransformer(data);\n return data;\n};\n\nexport const requestInviteResponseTransformer = async (data: any): Promise<RequestInviteResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const requestInviteWithPhotoResponseTransformer = async (data: any): Promise<RequestInviteWithPhotoResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nconst tiliaStatusSchemaResponseTransformer = (data: any) => {\n if (data.plannedOfflineWindowEnd) {\n data.plannedOfflineWindowEnd = new Date(data.plannedOfflineWindowEnd);\n }\n if (data.plannedOfflineWindowStart) {\n data.plannedOfflineWindowStart = new Date(data.plannedOfflineWindowStart);\n }\n return data;\n};\n\nexport const getTiliaStatusResponseTransformer = async (data: any): Promise<GetTiliaStatusResponse> => {\n data = tiliaStatusSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getSystemTimeResponseTransformer = async (data: any): Promise<GetSystemTimeResponse> => {\n data = new Date(data);\n return data;\n};\n\nexport const getRecentSubscriptionResponseTransformer = async (data: any): Promise<GetRecentSubscriptionResponse> => {\n data = userSubscriptionSchemaResponseTransformer(data);\n return data;\n};\n\nconst economyAccountSchemaResponseTransformer = (data: any) => {\n if (data.accountActivatedOn) {\n data.accountActivatedOn = new Date(data.accountActivatedOn);\n }\n return data;\n};\n\nexport const getEconomyAccountResponseTransformer = async (data: any): Promise<GetEconomyAccountResponse> => {\n data = economyAccountSchemaResponseTransformer(data);\n return data;\n};\n\nexport const friendResponseTransformer = async (data: any): Promise<FriendResponse> => {\n data = notificationSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getProductListingsResponseTransformer = async (data: any): Promise<GetProductListingsResponse> => {\n data = data.map((item: any) => productListingSchemaResponseTransformer(item));\n return data;\n};\n\nconst userNoteSchemaResponseTransformer = (data: any) => {\n data.createdAt = new Date(data.createdAt);\n return data;\n};\n\nexport const getUserNotesResponseTransformer = async (data: any): Promise<GetUserNotesResponse> => {\n data = data.map((item: any) => userNoteSchemaResponseTransformer(item));\n return data;\n};\n\nexport const updateUserNoteResponseTransformer = async (data: any): Promise<UpdateUserNoteResponse> => {\n data = userNoteSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getUserNoteResponseTransformer = async (data: any): Promise<GetUserNoteResponse> => {\n data = userNoteSchemaResponseTransformer(data);\n return data;\n};\n\nconst userSchemaResponseTransformer = (data: any) => {\n if (data.badges) {\n data.badges = data.badges.map((item: any) => badgeSchemaResponseTransformer(item));\n }\n data.date_joined = new Date(data.date_joined);\n return data;\n};\n\nexport const getUserResponseTransformer = async (data: any): Promise<GetUserResponse> => {\n data = userSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateUserResponseTransformer = async (data: any): Promise<UpdateUserResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const addTagsResponseTransformer = async (data: any): Promise<AddTagsResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getOwnAvatarResponseTransformer = async (data: any): Promise<GetOwnAvatarResponse> => {\n data = avatarSchemaResponseTransformer(data);\n return data;\n};\n\nexport const deleteUserResponseTransformer = async (data: any): Promise<DeleteUserResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nconst limitedUserGroupsSchemaResponseTransformer = (data: any) => {\n if (data.lastPostCreatedAt) {\n data.lastPostCreatedAt = new Date(data.lastPostCreatedAt);\n }\n if (data.lastPostReadAt) {\n data.lastPostReadAt = new Date(data.lastPostReadAt);\n }\n return data;\n};\n\nexport const getUserGroupsResponseTransformer = async (data: any): Promise<GetUserGroupsResponse> => {\n data = data.map((item: any) => limitedUserGroupsSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getUserGroupRequestsResponseTransformer = async (data: any): Promise<GetUserGroupRequestsResponse> => {\n data = data.map((item: any) => groupSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getUserGroupInstancesResponseTransformer = async (data: any): Promise<GetUserGroupInstancesResponse> => {\n if (data.fetchedAt) {\n data.fetchedAt = new Date(data.fetchedAt);\n }\n if (data.instances) {\n data.instances = data.instances.map((item: any) => instanceSchemaResponseTransformer(item));\n }\n return data;\n};\n\nexport const getUserGroupInstancesForGroupResponseTransformer = async (data: any): Promise<GetUserGroupInstancesForGroupResponse> => {\n if (data.fetchedAt) {\n data.fetchedAt = new Date(data.fetchedAt);\n }\n if (data.instances) {\n data.instances = data.instances.map((item: any) => instanceSchemaResponseTransformer(item));\n }\n return data;\n};\n\nexport const getMutualGroupsResponseTransformer = async (data: any): Promise<GetMutualGroupsResponse> => {\n data = data.map((item: any) => limitedUserGroupsSchemaResponseTransformer(item));\n return data;\n};\n\nexport const removeTagsResponseTransformer = async (data: any): Promise<RemoveTagsResponse> => {\n data = currentUserSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getUserByNameResponseTransformer = async (data: any): Promise<GetUserByNameResponse> => {\n data = userSchemaResponseTransformer(data);\n return data;\n};\n\nconst limitedWorldSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.unityPackages = data.unityPackages.map((item: any) => limitedUnityPackageSchemaResponseTransformer(item));\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nconst limitedUnityPackageSchemaResponseTransformer = (data: any) => {\n if (data.created_at) {\n data.created_at = new Date(data.created_at);\n }\n return data;\n};\n\nexport const searchWorldsResponseTransformer = async (data: any): Promise<SearchWorldsResponse> => {\n data = data.map((item: any) => limitedWorldSchemaResponseTransformer(item));\n return data;\n};\n\nexport const createWorldResponseTransformer = async (data: any): Promise<CreateWorldResponse> => {\n data = worldSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getActiveWorldsResponseTransformer = async (data: any): Promise<GetActiveWorldsResponse> => {\n data = data.map((item: any) => limitedWorldSchemaResponseTransformer(item));\n return data;\n};\n\nconst favoritedWorldSchemaResponseTransformer = (data: any) => {\n data.created_at = new Date(data.created_at);\n data.unityPackages = data.unityPackages.map((item: any) => unityPackageSchemaResponseTransformer(item));\n data.updated_at = new Date(data.updated_at);\n return data;\n};\n\nexport const getFavoritedWorldsResponseTransformer = async (data: any): Promise<GetFavoritedWorldsResponse> => {\n data = data.map((item: any) => favoritedWorldSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getRecentWorldsResponseTransformer = async (data: any): Promise<GetRecentWorldsResponse> => {\n data = data.map((item: any) => limitedWorldSchemaResponseTransformer(item));\n return data;\n};\n\nexport const getWorldResponseTransformer = async (data: any): Promise<GetWorldResponse> => {\n data = worldSchemaResponseTransformer(data);\n return data;\n};\n\nexport const updateWorldResponseTransformer = async (data: any): Promise<UpdateWorldResponse> => {\n data = worldSchemaResponseTransformer(data);\n return data;\n};\n\nexport const getWorldInstanceResponseTransformer = async (data: any): Promise<GetWorldInstanceResponse> => {\n data = instanceSchemaResponseTransformer(data);\n return data;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type Client, formDataBodySerializer, type Options as Options2, type TDataShape } from './client';\nimport { client } from './client.gen';\nimport { addGroupGalleryImageResponseTransformer, addGroupPostResponseTransformer, addTagsResponseTransformer, banGroupMemberResponseTransformer, closeInstanceResponseTransformer, consumeOwnInventoryItemResponseTransformer, createAvatarResponseTransformer, createFileResponseTransformer, createFileVersionResponseTransformer, createGlobalAvatarModerationResponseTransformer, createGroupAnnouncementResponseTransformer, createGroupCalendarEventResponseTransformer, createGroupGalleryResponseTransformer, createGroupResponseTransformer, createGroupRoleResponseTransformer, createInstanceResponseTransformer, createWorldResponseTransformer, deleteAvatarResponseTransformer, deleteFileResponseTransformer, deleteFileVersionResponseTransformer, deleteGroupRoleResponseTransformer, deleteNotificationResponseTransformer, deleteUserResponseTransformer, discoverCalendarEventsResponseTransformer, editPrintResponseTransformer, enqueueImpostorResponseTransformer, equipOwnInventoryItemResponseTransformer, finishFileDataUploadResponseTransformer, followGroupCalendarEventResponseTransformer, friendResponseTransformer, getActiveWorldsResponseTransformer, getAdminAssetBundleResponseTransformer, getAvatarResponseTransformer, getCalendarEventsResponseTransformer, getConfigResponseTransformer, getCurrentSubscriptionsResponseTransformer, getCurrentUserResponseTransformer, getEconomyAccountResponseTransformer, getFavoritedAvatarsResponseTransformer, getFavoritedWorldsResponseTransformer, getFeaturedCalendarEventsResponseTransformer, getFileResponseTransformer, getFilesResponseTransformer, getFollowedCalendarEventsResponseTransformer, getFriendsResponseTransformer, getGlobalAvatarModerationsResponseTransformer, getGroupAnnouncementsResponseTransformer, getGroupAuditLogsResponseTransformer, getGroupBansResponseTransformer, getGroupCalendarEventResponseTransformer, getGroupCalendarEventsResponseTransformer, getGroupGalleryImagesResponseTransformer, getGroupInstancesResponseTransformer, getGroupInvitesResponseTransformer, getGroupMemberResponseTransformer, getGroupMembersResponseTransformer, getGroupPostsResponseTransformer, getGroupRequestsResponseTransformer, getGroupResponseTransformer, getGroupRolesResponseTransformer, getInfoPushResponseTransformer, getInstanceByShortNameResponseTransformer, getInstanceResponseTransformer, getInventoryDropsResponseTransformer, getInventoryResponseTransformer, getInventoryTemplateResponseTransformer, getInviteMessageResponseTransformer, getInviteMessagesResponseTransformer, getJamResponseTransformer, getJamsResponseTransformer, getJamSubmissionsResponseTransformer, getLicensedAvatarsResponseTransformer, getMutualGroupsResponseTransformer, getNotificationResponseTransformer, getNotificationsResponseTransformer, getOwnAvatarResponseTransformer, getOwnInventoryItemResponseTransformer, getPlayerModerationsResponseTransformer, getPrintResponseTransformer, getProductListingAlternateResponseTransformer, getProductListingResponseTransformer, getProductListingsResponseTransformer, getProductPurchasesResponseTransformer, getPropResponseTransformer, getRecentSubscriptionResponseTransformer, getRecentWorldsResponseTransformer, getSteamTransactionResponseTransformer, getSteamTransactionsResponseTransformer, getStoreResponseTransformer, getStoreShelvesResponseTransformer, getSystemTimeResponseTransformer, getTiliaStatusResponseTransformer, getUserByNameResponseTransformer, getUserGroupInstancesForGroupResponseTransformer, getUserGroupInstancesResponseTransformer, getUserGroupRequestsResponseTransformer, getUserGroupsResponseTransformer, getUserNoteResponseTransformer, getUserNotesResponseTransformer, getUserPrintsResponseTransformer, getUserResponseTransformer, getWorldInstanceResponseTransformer, getWorldResponseTransformer, inviteMyselfToResponseTransformer, inviteUserResponseTransformer, inviteUserWithPhotoResponseTransformer, joinGroupResponseTransformer, markNotificationAsReadResponseTransformer, moderateUserResponseTransformer, purchaseProductListingResponseTransformer, registerUserAccountResponseTransformer, removeTagsResponseTransformer, requestInviteResponseTransformer, requestInviteWithPhotoResponseTransformer, resetInviteMessageResponseTransformer, respondInviteResponseTransformer, respondInviteWithPhotoResponseTransformer, searchAvatarsResponseTransformer, searchCalendarEventsResponseTransformer, searchGroupsResponseTransformer, searchWorldsResponseTransformer, selectAvatarResponseTransformer, selectFallbackAvatarResponseTransformer, unbanGroupMemberResponseTransformer, updateAvatarResponseTransformer, updateGroupCalendarEventResponseTransformer, updateGroupGalleryResponseTransformer, updateGroupMemberResponseTransformer, updateGroupPostResponseTransformer, updateGroupResponseTransformer, updateGroupRoleResponseTransformer, updateInviteMessageResponseTransformer, updateOwnInventoryItemResponseTransformer, updateUserNoteResponseTransformer, updateUserResponseTransformer, updateWorldResponseTransformer, uploadGalleryImageResponseTransformer, uploadIconResponseTransformer, uploadImageResponseTransformer, uploadPrintResponseTransformer } from './transformers.gen';\nimport type { AcceptFriendRequest, AcceptFriendRequestErrors, AcceptFriendRequestResponses, AddFavorite, AddFavoriteErrors, AddFavoriteResponses, AddGroupGalleryImage, AddGroupGalleryImageErrors, AddGroupGalleryImageResponses, AddGroupMemberRole, AddGroupMemberRoleErrors, AddGroupMemberRoleResponses, AddGroupPost, AddGroupPostErrors, AddGroupPostResponses, AddTags, AddTagsErrors, AddTagsResponses, BanGroupMember, BanGroupMemberErrors, BanGroupMemberResponses, Boop, BoopErrors, BoopResponses, CancelGroupRequest, CancelGroupRequestErrors, CancelGroupRequestResponses, CancelPending2Fa, CancelPending2FaErrors, CancelPending2FaResponses, CheckUserExists, CheckUserExistsErrors, CheckUserExistsResponses, CheckUserPersistenceExists, CheckUserPersistenceExistsErrors, CheckUserPersistenceExistsResponses, ClearAllPlayerModerations, ClearAllPlayerModerationsErrors, ClearAllPlayerModerationsResponses, ClearFavoriteGroup, ClearFavoriteGroupResponses, ClearNotifications, ClearNotificationsErrors, ClearNotificationsResponses, CloseInstance, CloseInstanceErrors, CloseInstanceResponses, ConfirmEmail, ConsumeOwnInventoryItem, ConsumeOwnInventoryItemErrors, ConsumeOwnInventoryItemResponses, CreateAvatar, CreateAvatarErrors, CreateAvatarResponses, CreateFile, CreateFileResponses, CreateFileVersion, CreateFileVersionResponses, CreateGlobalAvatarModeration, CreateGlobalAvatarModerationErrors, CreateGlobalAvatarModerationResponses, CreateGroup, CreateGroupAnnouncement, CreateGroupAnnouncementErrors, CreateGroupAnnouncementResponses, CreateGroupCalendarEvent, CreateGroupCalendarEventErrors, CreateGroupCalendarEventResponses, CreateGroupErrors, CreateGroupGallery, CreateGroupGalleryErrors, CreateGroupGalleryResponses, CreateGroupInvite, CreateGroupInviteErrors, CreateGroupInviteResponses, CreateGroupResponses, CreateGroupRole, CreateGroupRoleErrors, CreateGroupRoleResponses, CreateInstance, CreateInstanceErrors, CreateInstanceResponses, CreateWorld, CreateWorldErrors, CreateWorldResponses, DeleteAvatar, DeleteAvatarErrors, DeleteAvatarResponses, DeleteFile, DeleteFileErrors, DeleteFileResponses, DeleteFileVersion, DeleteFileVersionErrors, DeleteFileVersionResponses, DeleteFriendRequest, DeleteFriendRequestErrors, DeleteFriendRequestResponses, DeleteGlobalAvatarModeration, DeleteGlobalAvatarModerationErrors, DeleteGlobalAvatarModerationResponses, DeleteGroup, DeleteGroupAnnouncement, DeleteGroupAnnouncementErrors, DeleteGroupAnnouncementResponses, DeleteGroupCalendarEvent, DeleteGroupCalendarEventErrors, DeleteGroupCalendarEventResponses, DeleteGroupErrors, DeleteGroupGallery, DeleteGroupGalleryErrors, DeleteGroupGalleryImage, DeleteGroupGalleryImageErrors, DeleteGroupGalleryImageResponses, DeleteGroupGalleryResponses, DeleteGroupInvite, DeleteGroupInviteErrors, DeleteGroupInviteResponses, DeleteGroupPost, DeleteGroupPostErrors, DeleteGroupPostResponses, DeleteGroupResponses, DeleteGroupRole, DeleteGroupRoleErrors, DeleteGroupRoleResponses, DeleteImpostor, DeleteImpostorErrors, DeleteImpostorResponses, DeleteNotification, DeleteNotificationErrors, DeleteNotificationResponses, DeleteOwnInventoryItem, DeleteOwnInventoryItemErrors, DeleteOwnInventoryItemResponses, DeletePrint, DeletePrintErrors, DeletePrintResponses, DeleteUser, DeleteUserErrors, DeleteUserPersistence, DeleteUserPersistenceErrors, DeleteUserPersistenceResponses, DeleteUserResponses, DeleteWorld, DeleteWorldErrors, DeleteWorldResponses, Disable2Fa, Disable2FaErrors, Disable2FaResponses, DiscoverCalendarEvents, DiscoverCalendarEventsErrors, DiscoverCalendarEventsResponses, DownloadFileVersion, DownloadFileVersionErrors, DownloadFileVersionResponses, EditPrint, EditPrintErrors, EditPrintResponses, Enable2Fa, Enable2FaErrors, Enable2FaResponses, EnqueueImpostor, EnqueueImpostorErrors, EnqueueImpostorResponses, EquipOwnInventoryItem, EquipOwnInventoryItemErrors, EquipOwnInventoryItemResponses, FinishFileDataUpload, FinishFileDataUploadResponses, FollowGroupCalendarEvent, FollowGroupCalendarEventErrors, FollowGroupCalendarEventResponses, Friend, FriendErrors, FriendResponses, GetActiveLicenses, GetActiveLicensesErrors, GetActiveLicensesResponses, GetActiveWorlds, GetActiveWorldsErrors, GetActiveWorldsResponses, GetAdminAssetBundle, GetAdminAssetBundleResponses, GetAssignedPermissions, GetAssignedPermissionsErrors, GetAssignedPermissionsResponses, GetAvatar, GetAvatarErrors, GetAvatarResponses, GetAvatarStyles, GetAvatarStylesResponses, GetBalance, GetBalanceEarnings, GetBalanceEarningsErrors, GetBalanceEarningsResponses, GetBalanceErrors, GetBalanceResponses, GetBulkGiftPurchases, GetBulkGiftPurchasesErrors, GetBulkGiftPurchasesResponses, GetCalendarEvents, GetCalendarEventsErrors, GetCalendarEventsResponses, GetConfig, GetConfigResponses, GetCss, GetCssErrors, GetCssResponses, GetCurrentOnlineUsers, GetCurrentOnlineUsersResponses, GetCurrentSubscriptions, GetCurrentSubscriptionsErrors, GetCurrentSubscriptionsResponses, GetCurrentUser, GetCurrentUserErrors, GetCurrentUserResponses, GetEconomyAccount, GetEconomyAccountErrors, GetEconomyAccountResponses, GetFavoritedAvatars, GetFavoritedAvatarsErrors, GetFavoritedAvatarsResponses, GetFavoritedWorlds, GetFavoritedWorldsErrors, GetFavoritedWorldsResponses, GetFavoriteGroup, GetFavoriteGroupResponses, GetFavoriteGroups, GetFavoriteGroupsErrors, GetFavoriteGroupsResponses, GetFavoriteLimits, GetFavoriteLimitsErrors, GetFavoriteLimitsResponses, GetFavorites, GetFavoritesErrors, GetFavoritesResponses, GetFeaturedCalendarEvents, GetFeaturedCalendarEventsErrors, GetFeaturedCalendarEventsResponses, GetFile, GetFileAnalysis, GetFileAnalysisErrors, GetFileAnalysisResponses, GetFileAnalysisSecurity, GetFileAnalysisSecurityErrors, GetFileAnalysisSecurityResponses, GetFileAnalysisStandard, GetFileAnalysisStandardErrors, GetFileAnalysisStandardResponses, GetFileDataUploadStatus, GetFileDataUploadStatusResponses, GetFileErrors, GetFileResponses, GetFiles, GetFilesResponses, GetFollowedCalendarEvents, GetFollowedCalendarEventsErrors, GetFollowedCalendarEventsResponses, GetFriends, GetFriendsErrors, GetFriendsResponses, GetFriendStatus, GetFriendStatusErrors, GetFriendStatusResponses, GetGlobalAvatarModerations, GetGlobalAvatarModerationsErrors, GetGlobalAvatarModerationsResponses, GetGroup, GetGroupAnnouncements, GetGroupAnnouncementsErrors, GetGroupAnnouncementsResponses, GetGroupAuditLogs, GetGroupAuditLogsErrors, GetGroupAuditLogsResponses, GetGroupBans, GetGroupBansErrors, GetGroupBansResponses, GetGroupCalendarEvent, GetGroupCalendarEventErrors, GetGroupCalendarEventIcs, GetGroupCalendarEventIcsErrors, GetGroupCalendarEventIcsResponses, GetGroupCalendarEventResponses, GetGroupCalendarEvents, GetGroupCalendarEventsErrors, GetGroupCalendarEventsResponses, GetGroupErrors, GetGroupGalleryImages, GetGroupGalleryImagesErrors, GetGroupGalleryImagesResponses, GetGroupInstances, GetGroupInstancesErrors, GetGroupInstancesResponses, GetGroupInvites, GetGroupInvitesErrors, GetGroupInvitesResponses, GetGroupMember, GetGroupMemberErrors, GetGroupMemberResponses, GetGroupMembers, GetGroupMembersErrors, GetGroupMembersResponses, GetGroupPermissions, GetGroupPermissionsErrors, GetGroupPermissionsResponses, GetGroupPosts, GetGroupPostsErrors, GetGroupPostsResponses, GetGroupRequests, GetGroupRequestsErrors, GetGroupRequestsResponses, GetGroupResponses, GetGroupRoles, GetGroupRolesErrors, GetGroupRolesResponses, GetGroupRoleTemplates, GetGroupRoleTemplatesErrors, GetGroupRoleTemplatesResponses, GetHealth, GetHealthResponses, GetImpostorQueueStats, GetImpostorQueueStatsErrors, GetImpostorQueueStatsResponses, GetInfoPush, GetInfoPushResponses, GetInstance, GetInstanceByShortName, GetInstanceByShortNameErrors, GetInstanceByShortNameResponses, GetInstanceErrors, GetInstanceResponses, GetInventory, GetInventoryDrops, GetInventoryDropsErrors, GetInventoryDropsResponses, GetInventoryErrors, GetInventoryResponses, GetInventoryTemplate, GetInventoryTemplateErrors, GetInventoryTemplateResponses, GetInviteMessage, GetInviteMessageErrors, GetInviteMessageResponses, GetInviteMessages, GetInviteMessagesErrors, GetInviteMessagesResponses, GetJam, GetJamErrors, GetJamResponses, GetJams, GetJamsResponses, GetJamSubmissions, GetJamSubmissionsErrors, GetJamSubmissionsResponses, GetJavaScript, GetJavaScriptErrors, GetJavaScriptResponses, GetLicensedAvatars, GetLicensedAvatarsErrors, GetLicensedAvatarsResponses, GetLicenseGroup, GetLicenseGroupErrors, GetLicenseGroupResponses, GetMutualFriends, GetMutualFriendsErrors, GetMutualFriendsResponses, GetMutualGroups, GetMutualGroupsErrors, GetMutualGroupsResponses, GetMutuals, GetMutualsErrors, GetMutualsResponses, GetNotification, GetNotificationErrors, GetNotificationResponses, GetNotifications, GetNotificationsErrors, GetNotificationsResponses, GetOwnAvatar, GetOwnAvatarErrors, GetOwnAvatarResponses, GetOwnInventoryItem, GetOwnInventoryItemErrors, GetOwnInventoryItemResponses, GetPermission, GetPermissionErrors, GetPermissionResponses, GetPlayerModerations, GetPlayerModerationsErrors, GetPlayerModerationsResponses, GetPrint, GetPrintErrors, GetPrintResponses, GetProductListing, GetProductListingAlternate, GetProductListingAlternateErrors, GetProductListingAlternateResponses, GetProductListingErrors, GetProductListingResponses, GetProductListings, GetProductListingsErrors, GetProductListingsResponses, GetProductPurchases, GetProductPurchasesErrors, GetProductPurchasesResponses, GetProp, GetPropErrors, GetPropResponses, GetRecentLocations, GetRecentLocationsErrors, GetRecentLocationsResponses, GetRecentSubscription, GetRecentSubscriptionErrors, GetRecentSubscriptionResponses, GetRecentWorlds, GetRecentWorldsErrors, GetRecentWorldsResponses, GetRecoveryCodes, GetRecoveryCodesErrors, GetRecoveryCodesResponses, GetShortName, GetShortNameErrors, GetShortNameResponses, GetSteamTransaction, GetSteamTransactionErrors, GetSteamTransactionResponses, GetSteamTransactions, GetSteamTransactionsErrors, GetSteamTransactionsResponses, GetStore, GetStoreErrors, GetStoreResponses, GetStoreShelves, GetStoreShelvesErrors, GetStoreShelvesResponses, GetSubscriptions, GetSubscriptionsErrors, GetSubscriptionsResponses, GetSystemTime, GetSystemTimeResponses, GetTiliaStatus, GetTiliaStatusErrors, GetTiliaStatusResponses, GetTiliaTos, GetTiliaTosErrors, GetTiliaTosResponses, GetTokenBundles, GetTokenBundlesErrors, GetTokenBundlesResponses, GetUser, GetUserByName, GetUserByNameErrors, GetUserByNameResponses, GetUserCreditsEligible, GetUserCreditsEligibleErrors, GetUserCreditsEligibleResponses, GetUserErrors, GetUserFeedback, GetUserFeedbackErrors, GetUserFeedbackResponses, GetUserGroupInstances, GetUserGroupInstancesErrors, GetUserGroupInstancesForGroup, GetUserGroupInstancesForGroupErrors, GetUserGroupInstancesForGroupResponses, GetUserGroupInstancesResponses, GetUserGroupRequests, GetUserGroupRequestsErrors, GetUserGroupRequestsResponses, GetUserGroups, GetUserGroupsErrors, GetUserGroupsResponses, GetUserNote, GetUserNoteErrors, GetUserNoteResponses, GetUserNotes, GetUserNotesErrors, GetUserNotesResponses, GetUserPrints, GetUserPrintsErrors, GetUserPrintsResponses, GetUserRepresentedGroup, GetUserRepresentedGroupErrors, GetUserRepresentedGroupResponses, GetUserResponses, GetUserSubscriptionEligible, GetUserSubscriptionEligibleErrors, GetUserSubscriptionEligibleResponses, GetWorld, GetWorldErrors, GetWorldInstance, GetWorldInstanceErrors, GetWorldInstanceResponses, GetWorldMetadata, GetWorldMetadataErrors, GetWorldMetadataResponses, GetWorldPublishStatus, GetWorldPublishStatusErrors, GetWorldPublishStatusResponses, GetWorldResponses, InviteMyselfTo, InviteMyselfToErrors, InviteMyselfToResponses, InviteUser, InviteUserErrors, InviteUserResponses, InviteUserWithPhoto, InviteUserWithPhotoErrors, InviteUserWithPhotoResponses, JoinGroup, JoinGroupErrors, JoinGroupResponses, KickGroupMember, KickGroupMemberErrors, KickGroupMemberResponses, LeaveGroup, LeaveGroupErrors, LeaveGroupResponses, Logout, LogoutErrors, LogoutResponses, MarkNotificationAsRead, MarkNotificationAsReadErrors, MarkNotificationAsReadResponses, ModerateUser, ModerateUserErrors, ModerateUserResponses, PublishWorld, PublishWorldErrors, PublishWorldResponses, PurchaseProductListing, PurchaseProductListingErrors, PurchaseProductListingResponses, RegisterUserAccount, RegisterUserAccountErrors, RegisterUserAccountResponses, RemoveFavorite, RemoveFavoriteErrors, RemoveFavoriteResponses, RemoveGroupMemberRole, RemoveGroupMemberRoleErrors, RemoveGroupMemberRoleResponses, RemoveTags, RemoveTagsErrors, RemoveTagsResponses, RequestInvite, RequestInviteErrors, RequestInviteResponses, RequestInviteWithPhoto, RequestInviteWithPhotoErrors, RequestInviteWithPhotoResponses, ResendEmailConfirmation, ResendEmailConfirmationErrors, ResendEmailConfirmationResponses, ResetInviteMessage, ResetInviteMessageErrors, ResetInviteMessageResponses, RespondGroupJoinRequest2, RespondGroupJoinRequestErrors, RespondGroupJoinRequestResponses, RespondInvite, RespondInviteErrors, RespondInviteResponses, RespondInviteWithPhoto, RespondInviteWithPhotoErrors, RespondInviteWithPhotoResponses, SearchAvatars, SearchAvatarsErrors, SearchAvatarsResponses, SearchCalendarEvents, SearchCalendarEventsErrors, SearchCalendarEventsResponses, SearchGroups, SearchGroupsErrors, SearchGroupsResponses, SearchUsers, SearchUsersErrors, SearchUsersResponses, SearchWorlds, SearchWorldsErrors, SearchWorldsResponses, SelectAvatar, SelectAvatarErrors, SelectAvatarResponses, SelectFallbackAvatar, SelectFallbackAvatarErrors, SelectFallbackAvatarResponses, ShareInventoryItemDirect, ShareInventoryItemDirectErrors, ShareInventoryItemDirectResponses, ShareInventoryItemPedestal, ShareInventoryItemPedestalErrors, ShareInventoryItemPedestalResponses, SpawnInventoryItem, SpawnInventoryItemErrors, SpawnInventoryItemResponses, StartFileDataUpload, StartFileDataUploadErrors, StartFileDataUploadResponses, UnbanGroupMember, UnbanGroupMemberErrors, UnbanGroupMemberResponses, UnequipOwnInventorySlot, UnequipOwnInventorySlotErrors, UnequipOwnInventorySlotResponses, Unfriend, UnfriendErrors, UnfriendResponses, UnmoderateUser, UnmoderateUserErrors, UnmoderateUserResponses, UnpublishWorld, UnpublishWorldErrors, UnpublishWorldResponses, UpdateAvatar, UpdateAvatarErrors, UpdateAvatarResponses, UpdateBadge, UpdateBadgeErrors, UpdateBadgeResponses, UpdateFavoriteGroup, UpdateFavoriteGroupResponses, UpdateGroup, UpdateGroupCalendarEvent, UpdateGroupCalendarEventErrors, UpdateGroupCalendarEventResponses, UpdateGroupErrors, UpdateGroupGallery, UpdateGroupGalleryErrors, UpdateGroupGalleryResponses, UpdateGroupMember, UpdateGroupMemberErrors, UpdateGroupMemberResponses, UpdateGroupPost, UpdateGroupPostErrors, UpdateGroupPostResponses, UpdateGroupRepresentation, UpdateGroupRepresentationErrors, UpdateGroupRepresentationResponses, UpdateGroupResponses, UpdateGroupRole, UpdateGroupRoleErrors, UpdateGroupRoleResponses, UpdateInviteMessage, UpdateInviteMessageErrors, UpdateInviteMessageResponses, UpdateOwnInventoryItem, UpdateOwnInventoryItemErrors, UpdateOwnInventoryItemResponses, UpdateTiliaTos, UpdateTiliaTosErrors, UpdateTiliaTosResponses, UpdateUser, UpdateUserErrors, UpdateUserNote, UpdateUserNoteErrors, UpdateUserNoteResponses, UpdateUserResponses, UpdateWorld, UpdateWorldErrors, UpdateWorldResponses, UploadGalleryImage, UploadGalleryImageResponses, UploadIcon, UploadIconResponses, UploadImage, UploadImageResponses, UploadPrint, UploadPrintErrors, UploadPrintResponses, Verify2Fa, Verify2FaEmailCode, Verify2FaEmailCodeErrors, Verify2FaEmailCodeResponses, Verify2FaErrors, Verify2FaResponses, VerifyAuthToken, VerifyAuthTokenErrors, VerifyAuthTokenResponses, VerifyLoginPlace, VerifyPending2Fa, VerifyPending2FaErrors, VerifyPending2FaResponses, VerifyRecoveryCode, VerifyRecoveryCodeErrors, VerifyRecoveryCodeResponses } from './types.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\nclass HeyApiClient {\n protected client: Client;\n \n constructor(args?: {\n client?: Client;\n }) {\n this.client = args?.client ?? client;\n }\n}\n\nclass HeyApiRegistry<T> {\n private readonly defaultKey = 'default';\n \n private readonly instances: Map<string, T> = new Map();\n \n get(key?: string): T {\n const instance = this.instances.get(key ?? this.defaultKey);\n if (!instance) {\n throw new Error(`No SDK client found. Create one with \"new VRChatInternal()\" to fix this error.`);\n }\n return instance;\n }\n \n set(value: T, key?: string): void {\n this.instances.set(key ?? this.defaultKey, value);\n }\n}\n\nexport class VRChatInternal extends HeyApiClient {\n public static readonly __registry = new HeyApiRegistry<VRChatInternal>();\n \n constructor(args?: {\n client?: Client;\n key?: string;\n }) {\n super(args);\n VRChatInternal.__registry.set(this, args?.key);\n }\n \n /**\n * List Steam Transactions\n *\n * Get all own Steam transactions.\n */\n public getSteamTransactions<ThrowOnError extends boolean = false>(options?: Options<GetSteamTransactions, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetSteamTransactionsResponses, GetSteamTransactionsErrors, ThrowOnError>({\n responseTransformer: getSteamTransactionsResponseTransformer,\n url: '/Steam/transactions',\n ...options\n });\n }\n \n /**\n * Get Steam Transaction\n *\n * Get a single Steam transactions by ID. This returns the exact same information as `getSteamTransactions`, so no point in using this endpoint.\n *\n * @deprecated\n */\n public getSteamTransaction<ThrowOnError extends boolean = false>(options: Options<GetSteamTransaction, ThrowOnError>) {\n return (options.client ?? this.client).get<GetSteamTransactionResponses, GetSteamTransactionErrors, ThrowOnError>({\n responseTransformer: getSteamTransactionResponseTransformer,\n url: '/Steam/transactions/{transactionId}',\n ...options\n });\n }\n \n /**\n * Get AdminAssetBundle\n *\n * Returns an AdminAssetBundle\n */\n public getAdminAssetBundle<ThrowOnError extends boolean = false>(options: Options<GetAdminAssetBundle, ThrowOnError>) {\n return (options.client ?? this.client).get<GetAdminAssetBundleResponses, unknown, ThrowOnError>({\n responseTransformer: getAdminAssetBundleResponseTransformer,\n url: '/adminassetbundles/{adminAssetBundleId}',\n ...options\n });\n }\n \n /**\n * Get File Version Analysis\n *\n * Get the performance analysis for the uploaded assets of an avatar\n */\n public getFileAnalysis<ThrowOnError extends boolean = false>(options: Options<GetFileAnalysis, ThrowOnError>) {\n return (options.client ?? this.client).get<GetFileAnalysisResponses, GetFileAnalysisErrors, ThrowOnError>({ url: '/analysis/{fileId}/{versionId}', ...options });\n }\n \n /**\n * Get File Version Analysis Security\n *\n * Get the security performance analysis for the uploaded assets of an avatar\n */\n public getFileAnalysisSecurity<ThrowOnError extends boolean = false>(options: Options<GetFileAnalysisSecurity, ThrowOnError>) {\n return (options.client ?? this.client).get<GetFileAnalysisSecurityResponses, GetFileAnalysisSecurityErrors, ThrowOnError>({ url: '/analysis/{fileId}/{versionId}/security', ...options });\n }\n \n /**\n * Get File Version Analysis Standard\n *\n * Get the standard performance analysis for the uploaded assets of an avatar\n */\n public getFileAnalysisStandard<ThrowOnError extends boolean = false>(options: Options<GetFileAnalysisStandard, ThrowOnError>) {\n return (options.client ?? this.client).get<GetFileAnalysisStandardResponses, GetFileAnalysisStandardErrors, ThrowOnError>({ url: '/analysis/{fileId}/{versionId}/standard', ...options });\n }\n \n /**\n * Verify Auth Token\n *\n * Verify whether the currently provided Auth Token is valid.\n */\n public verifyAuthToken<ThrowOnError extends boolean = false>(options?: Options<VerifyAuthToken, ThrowOnError>) {\n return (options?.client ?? this.client).get<VerifyAuthTokenResponses, VerifyAuthTokenErrors, ThrowOnError>({ url: '/auth', ...options });\n }\n \n /**\n * Confirm Email\n *\n * Confirms the email address for a user\n */\n public confirmEmail<ThrowOnError extends boolean = false>(options: Options<ConfirmEmail, ThrowOnError>) {\n return (options.client ?? this.client).get<unknown, unknown, ThrowOnError>({ url: '/auth/confirmEmail', ...options });\n }\n \n /**\n * Check User Exists\n *\n * Checks if a user by a given `username`, `displayName` or `email` exist. This is used during registration to check if a username has already been taken, during change of displayName to check if a displayName is available, and during change of email to check if the email is already used. In the later two cases the `excludeUserId` is used to exclude oneself, otherwise the result would always be true.\n *\n * It is **REQUIRED** to include **AT LEAST** `username`, `displayName` **or** `email` query parameter. Although they can be combined - in addition with `excludeUserId` (generally to exclude yourself) - to further fine-tune the search.\n */\n public checkUserExists<ThrowOnError extends boolean = false>(options?: Options<CheckUserExists, ThrowOnError>) {\n return (options?.client ?? this.client).get<CheckUserExistsResponses, CheckUserExistsErrors, ThrowOnError>({ url: '/auth/exists', ...options });\n }\n \n /**\n * Get Assigned Permissions\n *\n * Returns a list of all permissions currently granted by the user. Permissions are assigned e.g. by subscribing to VRC+.\n */\n public getAssignedPermissions<ThrowOnError extends boolean = false>(options?: Options<GetAssignedPermissions, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetAssignedPermissionsResponses, GetAssignedPermissionsErrors, ThrowOnError>({ url: '/auth/permissions', ...options });\n }\n \n /**\n * Register User Account\n *\n * ~~Register a new user account.~~\n *\n * **DEPRECATED:** Automated creation of accounts has no legitimate public third-party use case, and would be in violation of ToS §13.2:\n * *By using the Platform, you agree not to: i. [...] use the Platform in a manner inconsistent with individual human usage*\n * This endpoint is documented in the interest of completeness\n *\n * @deprecated\n */\n public registerUserAccount<ThrowOnError extends boolean = false>(options: Options<RegisterUserAccount, ThrowOnError>) {\n return (options.client ?? this.client).post<RegisterUserAccountResponses, RegisterUserAccountErrors, ThrowOnError>({\n responseTransformer: registerUserAccountResponseTransformer,\n url: '/auth/register',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Disable 2FA\n *\n * Disables 2FA for the currently logged in account\n */\n public disable2Fa<ThrowOnError extends boolean = false>(options?: Options<Disable2Fa, ThrowOnError>) {\n return (options?.client ?? this.client).delete<Disable2FaResponses, Disable2FaErrors, ThrowOnError>({ url: '/auth/twofactorauth', ...options });\n }\n \n /**\n * Verify 2FA email code\n *\n * Finishes the login sequence with an 2FA email code.\n */\n public verify2FaEmailCode<ThrowOnError extends boolean = false>(options: Options<Verify2FaEmailCode, ThrowOnError>) {\n return (options.client ?? this.client).post<Verify2FaEmailCodeResponses, Verify2FaEmailCodeErrors, ThrowOnError>({\n url: '/auth/twofactorauth/emailotp/verify',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Verify 2FA code with Recovery code\n *\n * Finishes the login sequence with an OTP (One Time Password) recovery code for accounts with 2FA-protection enabled.\n */\n public verifyRecoveryCode<ThrowOnError extends boolean = false>(options: Options<VerifyRecoveryCode, ThrowOnError>) {\n return (options.client ?? this.client).post<VerifyRecoveryCodeResponses, VerifyRecoveryCodeErrors, ThrowOnError>({\n url: '/auth/twofactorauth/otp/verify',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Cancel pending enabling of time-based 2FA codes\n *\n * Cancels the sequence for enabling time-based 2FA.\n */\n public cancelPending2Fa<ThrowOnError extends boolean = false>(options?: Options<CancelPending2Fa, ThrowOnError>) {\n return (options?.client ?? this.client).delete<CancelPending2FaResponses, CancelPending2FaErrors, ThrowOnError>({ url: '/auth/twofactorauth/totp/pending', ...options });\n }\n \n /**\n * Enable time-based 2FA codes\n *\n * Begins the sequence for enabling time-based 2FA.\n */\n public enable2Fa<ThrowOnError extends boolean = false>(options?: Options<Enable2Fa, ThrowOnError>) {\n return (options?.client ?? this.client).post<Enable2FaResponses, Enable2FaErrors, ThrowOnError>({ url: '/auth/twofactorauth/totp/pending', ...options });\n }\n \n /**\n * Verify Pending 2FA code\n *\n * Finishes sequence for enabling time-based 2FA.\n */\n public verifyPending2Fa<ThrowOnError extends boolean = false>(options: Options<VerifyPending2Fa, ThrowOnError>) {\n return (options.client ?? this.client).post<VerifyPending2FaResponses, VerifyPending2FaErrors, ThrowOnError>({\n url: '/auth/twofactorauth/totp/pending/verify',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Verify 2FA code\n *\n * Finishes the login sequence with a normal 2FA-generated code for accounts with 2FA-protection enabled.\n */\n public verify2Fa<ThrowOnError extends boolean = false>(options: Options<Verify2Fa, ThrowOnError>) {\n return (options.client ?? this.client).post<Verify2FaResponses, Verify2FaErrors, ThrowOnError>({\n url: '/auth/twofactorauth/totp/verify',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Login and/or Get Current User Info\n *\n * This endpoint does the following two operations:\n * 1) Checks if you are already logged in by looking for a valid `auth` cookie. If you are have a valid auth cookie then no additional auth-related actions are taken. If you are **not** logged in then it will log you in with the `Authorization` header and set the `auth` cookie. The `auth` cookie will only be sent once.\n * 2) If logged in, this function will also return the CurrentUser object containing detailed information about the currently logged in user.\n *\n * The auth string after `Authorization: Basic {string}` is a base64-encoded string of the username and password, both individually url-encoded, and then joined with a colon.\n *\n * > base64(urlencode(username):urlencode(password))\n *\n * **WARNING: Session Limit:** Each authentication with login credentials counts as a separate session, out of which you have a limited amount. Make sure to save and reuse the `auth` cookie if you are often restarting the program. The provided API libraries automatically save cookies during runtime, but does not persist during restart. While it can be fine to use username/password during development, expect in production to very fast run into the rate-limit and be temporarily blocked from making new sessions until older ones expire. The exact number of simultaneous sessions is unknown/undisclosed.\n */\n public getCurrentUser<ThrowOnError extends boolean = false>(options?: Options<GetCurrentUser, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetCurrentUserResponses, GetCurrentUserErrors, ThrowOnError>({\n responseTransformer: getCurrentUserResponseTransformer,\n url: '/auth/user',\n ...options\n });\n }\n \n /**\n * Delete Global Avatar Moderation\n *\n * Globally unmoderates an avatar.\n */\n public deleteGlobalAvatarModeration<ThrowOnError extends boolean = false>(options: Options<DeleteGlobalAvatarModeration, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGlobalAvatarModerationResponses, DeleteGlobalAvatarModerationErrors, ThrowOnError>({ url: '/auth/user/avatarmoderations', ...options });\n }\n \n /**\n * Get Global Avatar Moderations\n *\n * Returns list of globally moderated avatars.\n */\n public getGlobalAvatarModerations<ThrowOnError extends boolean = false>(options?: Options<GetGlobalAvatarModerations, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetGlobalAvatarModerationsResponses, GetGlobalAvatarModerationsErrors, ThrowOnError>({\n responseTransformer: getGlobalAvatarModerationsResponseTransformer,\n url: '/auth/user/avatarmoderations',\n ...options\n });\n }\n \n /**\n * Create Global Avatar Moderation\n *\n * Globally moderates an avatar.\n */\n public createGlobalAvatarModeration<ThrowOnError extends boolean = false>(options: Options<CreateGlobalAvatarModeration, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateGlobalAvatarModerationResponses, CreateGlobalAvatarModerationErrors, ThrowOnError>({\n responseTransformer: createGlobalAvatarModerationResponseTransformer,\n url: '/auth/user/avatarmoderations',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Favorite Limits\n *\n * Return information about a specific Favorite.\n */\n public getFavoriteLimits<ThrowOnError extends boolean = false>(options?: Options<GetFavoriteLimits, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFavoriteLimitsResponses, GetFavoriteLimitsErrors, ThrowOnError>({ url: '/auth/user/favoritelimits', ...options });\n }\n \n /**\n * List Friends\n *\n * List information about friends.\n */\n public getFriends<ThrowOnError extends boolean = false>(options?: Options<GetFriends, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFriendsResponses, GetFriendsErrors, ThrowOnError>({\n responseTransformer: getFriendsResponseTransformer,\n url: '/auth/user/friends',\n ...options\n });\n }\n \n /**\n * Unfriend\n *\n * Unfriend a user by ID.\n */\n public unfriend<ThrowOnError extends boolean = false>(options: Options<Unfriend, ThrowOnError>) {\n return (options.client ?? this.client).delete<UnfriendResponses, UnfriendErrors, ThrowOnError>({ url: '/auth/user/friends/{userId}', ...options });\n }\n \n /**\n * List Notifications\n *\n * Retrieve all of the current user's notifications.\n */\n public getNotifications<ThrowOnError extends boolean = false>(options?: Options<GetNotifications, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetNotificationsResponses, GetNotificationsErrors, ThrowOnError>({\n responseTransformer: getNotificationsResponseTransformer,\n url: '/auth/user/notifications',\n ...options\n });\n }\n \n /**\n * Clear All Notifications\n *\n * Clear **all** notifications.\n */\n public clearNotifications<ThrowOnError extends boolean = false>(options?: Options<ClearNotifications, ThrowOnError>) {\n return (options?.client ?? this.client).put<ClearNotificationsResponses, ClearNotificationsErrors, ThrowOnError>({ url: '/auth/user/notifications/clear', ...options });\n }\n \n /**\n * Show notification\n *\n * Get a notification by notification `not_` ID.\n */\n public getNotification<ThrowOnError extends boolean = false>(options: Options<GetNotification, ThrowOnError>) {\n return (options.client ?? this.client).get<GetNotificationResponses, GetNotificationErrors, ThrowOnError>({\n responseTransformer: getNotificationResponseTransformer,\n url: '/auth/user/notifications/{notificationId}',\n ...options\n });\n }\n \n /**\n * Accept Friend Request\n *\n * Accept a friend request by notification `frq_` ID. Friend requests can be found using the NotificationsAPI `getNotifications` by filtering of type `friendRequest`.\n */\n public acceptFriendRequest<ThrowOnError extends boolean = false>(options: Options<AcceptFriendRequest, ThrowOnError>) {\n return (options.client ?? this.client).put<AcceptFriendRequestResponses, AcceptFriendRequestErrors, ThrowOnError>({ url: '/auth/user/notifications/{notificationId}/accept', ...options });\n }\n \n /**\n * Delete Notification\n *\n * Delete a notification.\n */\n public deleteNotification<ThrowOnError extends boolean = false>(options: Options<DeleteNotification, ThrowOnError>) {\n return (options.client ?? this.client).put<DeleteNotificationResponses, DeleteNotificationErrors, ThrowOnError>({\n responseTransformer: deleteNotificationResponseTransformer,\n url: '/auth/user/notifications/{notificationId}/hide',\n ...options\n });\n }\n \n /**\n * Mark Notification As Read\n *\n * Mark a notification as seen.\n */\n public markNotificationAsRead<ThrowOnError extends boolean = false>(options: Options<MarkNotificationAsRead, ThrowOnError>) {\n return (options.client ?? this.client).put<MarkNotificationAsReadResponses, MarkNotificationAsReadErrors, ThrowOnError>({\n responseTransformer: markNotificationAsReadResponseTransformer,\n url: '/auth/user/notifications/{notificationId}/see',\n ...options\n });\n }\n \n /**\n * Clear All Player Moderations\n *\n * ⚠️ **This will delete every single player moderation you've ever made.**\n */\n public clearAllPlayerModerations<ThrowOnError extends boolean = false>(options?: Options<ClearAllPlayerModerations, ThrowOnError>) {\n return (options?.client ?? this.client).delete<ClearAllPlayerModerationsResponses, ClearAllPlayerModerationsErrors, ThrowOnError>({ url: '/auth/user/playermoderations', ...options });\n }\n \n /**\n * Search Player Moderations\n *\n * Returns a list of all player moderations made by **you**.\n *\n * This endpoint does not have pagination, and will return *all* results. Use query parameters to limit your query if needed.\n */\n public getPlayerModerations<ThrowOnError extends boolean = false>(options?: Options<GetPlayerModerations, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetPlayerModerationsResponses, GetPlayerModerationsErrors, ThrowOnError>({\n responseTransformer: getPlayerModerationsResponseTransformer,\n url: '/auth/user/playermoderations',\n ...options\n });\n }\n \n /**\n * Moderate User\n *\n * Moderate a user, e.g. unmute them or show their avatar.\n *\n * Please see the [Player Moderation docs](https://vrchatapi.github.io/docs/api/#tag--playermoderation) on what playerModerations are, and how they differ from staff moderations.\n */\n public moderateUser<ThrowOnError extends boolean = false>(options: Options<ModerateUser, ThrowOnError>) {\n return (options.client ?? this.client).post<ModerateUserResponses, ModerateUserErrors, ThrowOnError>({\n responseTransformer: moderateUserResponseTransformer,\n url: '/auth/user/playermoderations',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Resend Email Confirmation\n *\n * Requests a resend of pending email address confirmation email\n */\n public resendEmailConfirmation<ThrowOnError extends boolean = false>(options?: Options<ResendEmailConfirmation, ThrowOnError>) {\n return (options?.client ?? this.client).post<ResendEmailConfirmationResponses, ResendEmailConfirmationErrors, ThrowOnError>({ url: '/auth/user/resendEmail', ...options });\n }\n \n /**\n * Get Current Subscriptions\n *\n * Get a list of all current user subscriptions.\n */\n public getCurrentSubscriptions<ThrowOnError extends boolean = false>(options?: Options<GetCurrentSubscriptions, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetCurrentSubscriptionsResponses, GetCurrentSubscriptionsErrors, ThrowOnError>({\n responseTransformer: getCurrentSubscriptionsResponseTransformer,\n url: '/auth/user/subscription',\n ...options\n });\n }\n \n /**\n * Get 2FA Recovery codes\n *\n * Gets the OTP (One Time Password) recovery codes for accounts with 2FA-protection enabled.\n */\n public getRecoveryCodes<ThrowOnError extends boolean = false>(options?: Options<GetRecoveryCodes, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetRecoveryCodesResponses, GetRecoveryCodesErrors, ThrowOnError>({ url: '/auth/user/twofactorauth/otp', ...options });\n }\n \n /**\n * Unmoderate User\n *\n * Removes a player moderation previously added through `moderateUser`. E.g if you previously have shown their avatar, but now want to reset it to default.\n */\n public unmoderateUser<ThrowOnError extends boolean = false>(options: Options<UnmoderateUser, ThrowOnError>) {\n return (options.client ?? this.client).put<UnmoderateUserResponses, UnmoderateUserErrors, ThrowOnError>({\n url: '/auth/user/unplayermoderate',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Verify Login Place\n *\n * Verifies a login attempt for a user\n */\n public verifyLoginPlace<ThrowOnError extends boolean = false>(options: Options<VerifyLoginPlace, ThrowOnError>) {\n return (options.client ?? this.client).get<unknown, unknown, ThrowOnError>({ url: '/auth/verifyLoginPlace', ...options });\n }\n \n /**\n * Get Avatar Styles\n *\n * List avatar styles.\n */\n public getAvatarStyles<ThrowOnError extends boolean = false>(options?: Options<GetAvatarStyles, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetAvatarStylesResponses, unknown, ThrowOnError>({ url: '/avatarStyles', ...options });\n }\n \n /**\n * Search Avatars\n *\n * Search and list avatars by query filters. You can only search your own or featured avatars. It is not possible as a normal user to search other peoples avatars.\n */\n public searchAvatars<ThrowOnError extends boolean = false>(options?: Options<SearchAvatars, ThrowOnError>) {\n return (options?.client ?? this.client).get<SearchAvatarsResponses, SearchAvatarsErrors, ThrowOnError>({\n responseTransformer: searchAvatarsResponseTransformer,\n url: '/avatars',\n ...options\n });\n }\n \n /**\n * Create Avatar\n *\n * Create an avatar. It's possible to optionally specify a ID if you want a custom one. Attempting to create an Avatar with an already claimed ID will result in a DB error.\n */\n public createAvatar<ThrowOnError extends boolean = false>(options?: Options<CreateAvatar, ThrowOnError>) {\n return (options?.client ?? this.client).post<CreateAvatarResponses, CreateAvatarErrors, ThrowOnError>({\n responseTransformer: createAvatarResponseTransformer,\n url: '/avatars',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * List Favorited Avatars\n *\n * Search and list favorited avatars by query filters.\n */\n public getFavoritedAvatars<ThrowOnError extends boolean = false>(options?: Options<GetFavoritedAvatars, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFavoritedAvatarsResponses, GetFavoritedAvatarsErrors, ThrowOnError>({\n responseTransformer: getFavoritedAvatarsResponseTransformer,\n url: '/avatars/favorites',\n ...options\n });\n }\n \n /**\n * Get Impostor Queue Stats\n *\n * Gets service stats for queued impostor.\n */\n public getImpostorQueueStats<ThrowOnError extends boolean = false>(options?: Options<GetImpostorQueueStats, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetImpostorQueueStatsResponses, GetImpostorQueueStatsErrors, ThrowOnError>({ url: '/avatars/impostor/queue/stats', ...options });\n }\n \n /**\n * List Licensed Avatars\n *\n * List licensed avatars.\n */\n public getLicensedAvatars<ThrowOnError extends boolean = false>(options?: Options<GetLicensedAvatars, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetLicensedAvatarsResponses, GetLicensedAvatarsErrors, ThrowOnError>({\n responseTransformer: getLicensedAvatarsResponseTransformer,\n url: '/avatars/licensed',\n ...options\n });\n }\n \n /**\n * Delete Avatar\n *\n * Delete an avatar. Notice an avatar is never fully \"deleted\", only its ReleaseStatus is set to \"hidden\" and the linked Files are deleted. The AvatarID is permanently reserved.\n */\n public deleteAvatar<ThrowOnError extends boolean = false>(options: Options<DeleteAvatar, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteAvatarResponses, DeleteAvatarErrors, ThrowOnError>({\n responseTransformer: deleteAvatarResponseTransformer,\n url: '/avatars/{avatarId}',\n ...options\n });\n }\n \n /**\n * Get Avatar\n *\n * Get information about a specific Avatar.\n */\n public getAvatar<ThrowOnError extends boolean = false>(options: Options<GetAvatar, ThrowOnError>) {\n return (options.client ?? this.client).get<GetAvatarResponses, GetAvatarErrors, ThrowOnError>({\n responseTransformer: getAvatarResponseTransformer,\n url: '/avatars/{avatarId}',\n ...options\n });\n }\n \n /**\n * Update Avatar\n *\n * Update information about a specific avatar.\n */\n public updateAvatar<ThrowOnError extends boolean = false>(options: Options<UpdateAvatar, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateAvatarResponses, UpdateAvatarErrors, ThrowOnError>({\n responseTransformer: updateAvatarResponseTransformer,\n url: '/avatars/{avatarId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete generated Impostor\n *\n * Delete generated Impostor for that avatar.\n */\n public deleteImpostor<ThrowOnError extends boolean = false>(options: Options<DeleteImpostor, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteImpostorResponses, DeleteImpostorErrors, ThrowOnError>({ url: '/avatars/{avatarId}/impostor', ...options });\n }\n \n /**\n * Enqueue Impostor generation\n *\n * Enqueue Impostor generation for that avatar.\n */\n public enqueueImpostor<ThrowOnError extends boolean = false>(options: Options<EnqueueImpostor, ThrowOnError>) {\n return (options.client ?? this.client).post<EnqueueImpostorResponses, EnqueueImpostorErrors, ThrowOnError>({\n responseTransformer: enqueueImpostorResponseTransformer,\n url: '/avatars/{avatarId}/impostor/enqueue',\n ...options\n });\n }\n \n /**\n * Select Avatar\n *\n * Switches into that avatar.\n */\n public selectAvatar<ThrowOnError extends boolean = false>(options: Options<SelectAvatar, ThrowOnError>) {\n return (options.client ?? this.client).put<SelectAvatarResponses, SelectAvatarErrors, ThrowOnError>({\n responseTransformer: selectAvatarResponseTransformer,\n url: '/avatars/{avatarId}/select',\n ...options\n });\n }\n \n /**\n * Select Fallback Avatar\n *\n * Switches into that avatar as your fallback avatar.\n *\n * @deprecated\n */\n public selectFallbackAvatar<ThrowOnError extends boolean = false>(options: Options<SelectFallbackAvatar, ThrowOnError>) {\n return (options.client ?? this.client).put<SelectFallbackAvatarResponses, SelectFallbackAvatarErrors, ThrowOnError>({\n responseTransformer: selectFallbackAvatarResponseTransformer,\n url: '/avatars/{avatarId}/selectFallback',\n ...options\n });\n }\n \n /**\n * List calendar events\n *\n * Get a list of a user's calendar events for the month in ?date\n */\n public getCalendarEvents<ThrowOnError extends boolean = false>(options?: Options<GetCalendarEvents, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetCalendarEventsResponses, GetCalendarEventsErrors, ThrowOnError>({\n responseTransformer: getCalendarEventsResponseTransformer,\n url: '/calendar',\n ...options\n });\n }\n \n /**\n * Discover calendar events\n *\n * Get a list of calendar events\n * Initially, call without a `nextCursor` parameter\n * For every successive call, use the `nextCursor` property returned in the previous call & the `number` of entries desired for this call\n * The `nextCursor` internally keeps track of the `offset` of the results, the initial request parameters, and accounts for discrepancies that might arise from time elapsed between calls\n */\n public discoverCalendarEvents<ThrowOnError extends boolean = false>(options?: Options<DiscoverCalendarEvents, ThrowOnError>) {\n return (options?.client ?? this.client).get<DiscoverCalendarEventsResponses, DiscoverCalendarEventsErrors, ThrowOnError>({\n responseTransformer: discoverCalendarEventsResponseTransformer,\n url: '/calendar/discover',\n ...options\n });\n }\n \n /**\n * List featured calendar events\n *\n * Get a list of a featured calendar events for the month in ?date\n */\n public getFeaturedCalendarEvents<ThrowOnError extends boolean = false>(options?: Options<GetFeaturedCalendarEvents, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFeaturedCalendarEventsResponses, GetFeaturedCalendarEventsErrors, ThrowOnError>({\n responseTransformer: getFeaturedCalendarEventsResponseTransformer,\n url: '/calendar/featured',\n ...options\n });\n }\n \n /**\n * List followed calendar events\n *\n * Get a list of a followed calendar events for the month in ?date\n */\n public getFollowedCalendarEvents<ThrowOnError extends boolean = false>(options?: Options<GetFollowedCalendarEvents, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFollowedCalendarEventsResponses, GetFollowedCalendarEventsErrors, ThrowOnError>({\n responseTransformer: getFollowedCalendarEventsResponseTransformer,\n url: '/calendar/following',\n ...options\n });\n }\n \n /**\n * Search for calendar events\n *\n * Get a list of calendar events by search terms\n */\n public searchCalendarEvents<ThrowOnError extends boolean = false>(options: Options<SearchCalendarEvents, ThrowOnError>) {\n return (options.client ?? this.client).get<SearchCalendarEventsResponses, SearchCalendarEventsErrors, ThrowOnError>({\n responseTransformer: searchCalendarEventsResponseTransformer,\n url: '/calendar/search',\n ...options\n });\n }\n \n /**\n * List a group's calendar events\n *\n * Get a list of a group's calendar events\n */\n public getGroupCalendarEvents<ThrowOnError extends boolean = false>(options: Options<GetGroupCalendarEvents, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupCalendarEventsResponses, GetGroupCalendarEventsErrors, ThrowOnError>({\n responseTransformer: getGroupCalendarEventsResponseTransformer,\n url: '/calendar/{groupId}',\n ...options\n });\n }\n \n /**\n * Create a calendar event\n *\n * Creates an event for a group on the calendar\n */\n public createGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<CreateGroupCalendarEvent, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateGroupCalendarEventResponses, CreateGroupCalendarEventErrors, ThrowOnError>({\n responseTransformer: createGroupCalendarEventResponseTransformer,\n url: '/calendar/{groupId}/event',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete a calendar event\n *\n * Delete a group calendar event\n */\n public deleteGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<DeleteGroupCalendarEvent, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGroupCalendarEventResponses, DeleteGroupCalendarEventErrors, ThrowOnError>({ url: '/calendar/{groupId}/{calendarId}', ...options });\n }\n \n /**\n * Get a calendar event\n *\n * Get a group calendar event\n */\n public getGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<GetGroupCalendarEvent, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupCalendarEventResponses, GetGroupCalendarEventErrors, ThrowOnError>({\n responseTransformer: getGroupCalendarEventResponseTransformer,\n url: '/calendar/{groupId}/{calendarId}',\n ...options\n });\n }\n \n /**\n * Download calendar event as ICS\n *\n * Returns the specified calendar in iCalendar (ICS) format.\n */\n public getGroupCalendarEventIcs<ThrowOnError extends boolean = false>(options: Options<GetGroupCalendarEventIcs, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupCalendarEventIcsResponses, GetGroupCalendarEventIcsErrors, ThrowOnError>({ url: '/calendar/{groupId}/{calendarId}.ics', ...options });\n }\n \n /**\n * Update a calendar event\n *\n * Updates an event for a group on the calendar\n */\n public updateGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<UpdateGroupCalendarEvent, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateGroupCalendarEventResponses, UpdateGroupCalendarEventErrors, ThrowOnError>({\n responseTransformer: updateGroupCalendarEventResponseTransformer,\n url: '/calendar/{groupId}/{calendarId}/event',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Follow a calendar event\n *\n * Follow or unfollow an event on a group's calendar\n */\n public followGroupCalendarEvent<ThrowOnError extends boolean = false>(options: Options<FollowGroupCalendarEvent, ThrowOnError>) {\n return (options.client ?? this.client).post<FollowGroupCalendarEventResponses, FollowGroupCalendarEventErrors, ThrowOnError>({\n responseTransformer: followGroupCalendarEventResponseTransformer,\n url: '/calendar/{groupId}/{calendarId}/follow',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Fetch API Config\n *\n * API config contains configuration that the clients needs to work properly.\n *\n * Currently the most important value here is `clientApiKey` which is used for all other API endpoints.\n */\n public getConfig<ThrowOnError extends boolean = false>(options?: Options<GetConfig, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetConfigResponses, unknown, ThrowOnError>({\n responseTransformer: getConfigResponseTransformer,\n url: '/config',\n ...options\n });\n }\n \n /**\n * Download CSS\n *\n * Fetches the CSS code to the frontend React website.\n */\n public getCss<ThrowOnError extends boolean = false>(options?: Options<GetCss, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetCssResponses, GetCssErrors, ThrowOnError>({ url: '/css/app.css', ...options });\n }\n \n /**\n * Get Active Licenses\n *\n * Gets active licenses\n */\n public getActiveLicenses<ThrowOnError extends boolean = false>(options?: Options<GetActiveLicenses, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetActiveLicensesResponses, GetActiveLicensesErrors, ThrowOnError>({ url: '/economy/licenses/active', ...options });\n }\n \n /**\n * Purchase Product Listing\n *\n * Purchases a product listing\n */\n public purchaseProductListing<ThrowOnError extends boolean = false>(options?: Options<PurchaseProductListing, ThrowOnError>) {\n return (options?.client ?? this.client).post<PurchaseProductListingResponses, PurchaseProductListingErrors, ThrowOnError>({\n responseTransformer: purchaseProductListingResponseTransformer,\n url: '/economy/purchase/listing',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * Get Product Purchases\n *\n * Gets product purchases\n */\n public getProductPurchases<ThrowOnError extends boolean = false>(options: Options<GetProductPurchases, ThrowOnError>) {\n return (options.client ?? this.client).get<GetProductPurchasesResponses, GetProductPurchasesErrors, ThrowOnError>({\n responseTransformer: getProductPurchasesResponseTransformer,\n url: '/economy/purchases',\n ...options\n });\n }\n \n /**\n * Get Store\n *\n * Gets a store\n */\n public getStore<ThrowOnError extends boolean = false>(options: Options<GetStore, ThrowOnError>) {\n return (options.client ?? this.client).get<GetStoreResponses, GetStoreErrors, ThrowOnError>({\n responseTransformer: getStoreResponseTransformer,\n url: '/economy/store',\n ...options\n });\n }\n \n /**\n * Get Store Shelves\n *\n * Gets the shelves for a store\n */\n public getStoreShelves<ThrowOnError extends boolean = false>(options: Options<GetStoreShelves, ThrowOnError>) {\n return (options.client ?? this.client).get<GetStoreShelvesResponses, GetStoreShelvesErrors, ThrowOnError>({\n responseTransformer: getStoreShelvesResponseTransformer,\n url: '/economy/store/shelves',\n ...options\n });\n }\n \n /**\n * Clear Favorite Group\n *\n * Clear ALL contents of a specific favorite group.\n */\n public clearFavoriteGroup<ThrowOnError extends boolean = false>(options: Options<ClearFavoriteGroup, ThrowOnError>) {\n return (options.client ?? this.client).delete<ClearFavoriteGroupResponses, unknown, ThrowOnError>({ url: '/favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}', ...options });\n }\n \n /**\n * Show Favorite Group\n *\n * Fetch information about a specific favorite group.\n */\n public getFavoriteGroup<ThrowOnError extends boolean = false>(options: Options<GetFavoriteGroup, ThrowOnError>) {\n return (options.client ?? this.client).get<GetFavoriteGroupResponses, unknown, ThrowOnError>({ url: '/favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}', ...options });\n }\n \n /**\n * Update Favorite Group\n *\n * Update information about a specific favorite group.\n */\n public updateFavoriteGroup<ThrowOnError extends boolean = false>(options: Options<UpdateFavoriteGroup, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateFavoriteGroupResponses, unknown, ThrowOnError>({\n url: '/favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * List Favorite Groups\n *\n * Return a list of favorite groups owned by a user. Returns the same information as `getFavoriteGroups`.\n */\n public getFavoriteGroups<ThrowOnError extends boolean = false>(options?: Options<GetFavoriteGroups, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFavoriteGroupsResponses, GetFavoriteGroupsErrors, ThrowOnError>({ url: '/favorite/groups', ...options });\n }\n \n /**\n * List Favorites\n *\n * Returns a list of favorites.\n */\n public getFavorites<ThrowOnError extends boolean = false>(options?: Options<GetFavorites, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFavoritesResponses, GetFavoritesErrors, ThrowOnError>({ url: '/favorites', ...options });\n }\n \n /**\n * Add Favorite\n *\n * Add a new favorite.\n *\n * Friend groups are named `group_0` through `group_3`. Avatar and World groups are named `avatars1` to `avatars4` and `worlds1` to `worlds4`.\n *\n * You cannot add people whom you are not friends with to your friends list. Destroying a friendship removes the person as favorite on both sides.\n */\n public addFavorite<ThrowOnError extends boolean = false>(options?: Options<AddFavorite, ThrowOnError>) {\n return (options?.client ?? this.client).post<AddFavoriteResponses, AddFavoriteErrors, ThrowOnError>({\n url: '/favorites',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * Remove Favorite\n *\n * Remove a favorite from your favorites list.\n */\n public removeFavorite<ThrowOnError extends boolean = false>(options: Options<RemoveFavorite, ThrowOnError>) {\n return (options.client ?? this.client).delete<RemoveFavoriteResponses, RemoveFavoriteErrors, ThrowOnError>({ url: '/favorites/{favoriteId}', ...options });\n }\n \n /**\n * Create File\n *\n * Creates a new File object\n */\n public createFile<ThrowOnError extends boolean = false>(options?: Options<CreateFile, ThrowOnError>) {\n return (options?.client ?? this.client).post<CreateFileResponses, unknown, ThrowOnError>({\n responseTransformer: createFileResponseTransformer,\n url: '/file',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * Upload gallery image, icon, emoji or sticker\n *\n * Upload an image, which can be an icon, gallery image, sticker or emoji\n */\n public uploadImage<ThrowOnError extends boolean = false>(options?: Options<UploadImage, ThrowOnError>) {\n return (options?.client ?? this.client).post<UploadImageResponses, unknown, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: uploadImageResponseTransformer,\n url: '/file/image',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n }\n \n /**\n * Delete File\n *\n * Deletes a File object.\n */\n public deleteFile<ThrowOnError extends boolean = false>(options: Options<DeleteFile, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteFileResponses, DeleteFileErrors, ThrowOnError>({\n responseTransformer: deleteFileResponseTransformer,\n url: '/file/{fileId}',\n ...options\n });\n }\n \n /**\n * Show File\n *\n * Shows general information about the \"File\" object. Each File can have several \"Version\"'s, and each Version can have multiple real files or \"Data\" blobs.\n */\n public getFile<ThrowOnError extends boolean = false>(options: Options<GetFile, ThrowOnError>) {\n return (options.client ?? this.client).get<GetFileResponses, GetFileErrors, ThrowOnError>({\n responseTransformer: getFileResponseTransformer,\n url: '/file/{fileId}',\n ...options\n });\n }\n \n /**\n * Create File Version\n *\n * Creates a new FileVersion. Once a Version has been created, proceed to the `/file/{fileId}/{versionId}/file/start` endpoint to start a file upload.\n */\n public createFileVersion<ThrowOnError extends boolean = false>(options: Options<CreateFileVersion, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateFileVersionResponses, unknown, ThrowOnError>({\n responseTransformer: createFileVersionResponseTransformer,\n url: '/file/{fileId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete File Version\n *\n * Delete a specific version of a file. You can only delete the latest version.\n */\n public deleteFileVersion<ThrowOnError extends boolean = false>(options: Options<DeleteFileVersion, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteFileVersionResponses, DeleteFileVersionErrors, ThrowOnError>({\n responseTransformer: deleteFileVersionResponseTransformer,\n url: '/file/{fileId}/{versionId}',\n ...options\n });\n }\n \n /**\n * Download File Version\n *\n * Downloads the file with the provided version number.\n *\n * **Version Note:** Version 0 is always when the file was created. The real data is usually always located in version 1 and up.\n *\n * **Extension Note:** Files are not guaranteed to have a file extensions. UnityPackage files tends to have it, images through this endpoint do not. You are responsible for appending file extension from the `extension` field when neccesary.\n */\n public downloadFileVersion<ThrowOnError extends boolean = false>(options: Options<DownloadFileVersion, ThrowOnError>) {\n return (options.client ?? this.client).get<DownloadFileVersionResponses, DownloadFileVersionErrors, ThrowOnError>({ url: '/file/{fileId}/{versionId}', ...options });\n }\n \n /**\n * Finish FileData Upload\n *\n * Finish an upload of a FileData. This will mark it as \"complete\". After uploading the `file` for Avatars and Worlds you then have to upload a `signature` file.\n */\n public finishFileDataUpload<ThrowOnError extends boolean = false>(options: Options<FinishFileDataUpload, ThrowOnError>) {\n return (options.client ?? this.client).put<FinishFileDataUploadResponses, unknown, ThrowOnError>({\n responseTransformer: finishFileDataUploadResponseTransformer,\n url: '/file/{fileId}/{versionId}/{fileType}/finish',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Start FileData Upload\n *\n * Starts an upload of a specific FilePart. This endpoint will return an AWS URL which you can PUT data to. You need to call this and receive a new AWS API URL for each `partNumber`. Please see AWS's REST documentation on \"PUT Object to S3\" on how to upload. Once all parts has been uploaded, proceed to `/finish` endpoint.\n *\n * **Note:** `nextPartNumber` seems like it is always ignored. Despite it returning 0, first partNumber is always 1.\n */\n public startFileDataUpload<ThrowOnError extends boolean = false>(options: Options<StartFileDataUpload, ThrowOnError>) {\n return (options.client ?? this.client).put<StartFileDataUploadResponses, StartFileDataUploadErrors, ThrowOnError>({ url: '/file/{fileId}/{versionId}/{fileType}/start', ...options });\n }\n \n /**\n * Check FileData Upload Status\n *\n * Retrieves the upload status for file upload. Can currently only be accessed when `status` is `waiting`. Trying to access it on a file version already uploaded currently times out.\n */\n public getFileDataUploadStatus<ThrowOnError extends boolean = false>(options: Options<GetFileDataUploadStatus, ThrowOnError>) {\n return (options.client ?? this.client).get<GetFileDataUploadStatusResponses, unknown, ThrowOnError>({ url: '/file/{fileId}/{versionId}/{fileType}/status', ...options });\n }\n \n /**\n * List Files\n *\n * Returns a list of files\n */\n public getFiles<ThrowOnError extends boolean = false>(options?: Options<GetFiles, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFilesResponses, unknown, ThrowOnError>({\n responseTransformer: getFilesResponseTransformer,\n url: '/files',\n ...options\n });\n }\n \n /**\n * Upload gallery image\n *\n * Upload a gallery image\n */\n public uploadGalleryImage<ThrowOnError extends boolean = false>(options?: Options<UploadGalleryImage, ThrowOnError>) {\n return (options?.client ?? this.client).post<UploadGalleryImageResponses, unknown, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: uploadGalleryImageResponseTransformer,\n url: '/gallery',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n }\n \n /**\n * Search Group\n *\n * Searches Groups by name or shortCode\n */\n public searchGroups<ThrowOnError extends boolean = false>(options?: Options<SearchGroups, ThrowOnError>) {\n return (options?.client ?? this.client).get<SearchGroupsResponses, SearchGroupsErrors, ThrowOnError>({\n responseTransformer: searchGroupsResponseTransformer,\n url: '/groups',\n ...options\n });\n }\n \n /**\n * Create Group\n *\n * Creates a Group and returns a Group object. **Requires VRC+ Subscription.**\n */\n public createGroup<ThrowOnError extends boolean = false>(options: Options<CreateGroup, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateGroupResponses, CreateGroupErrors, ThrowOnError>({\n responseTransformer: createGroupResponseTransformer,\n url: '/groups',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Group Role Templates\n *\n * Obtain predefined templates for group roles\n */\n public getGroupRoleTemplates<ThrowOnError extends boolean = false>(options?: Options<GetGroupRoleTemplates, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetGroupRoleTemplatesResponses, GetGroupRoleTemplatesErrors, ThrowOnError>({ url: '/groups/roleTemplates', ...options });\n }\n \n /**\n * Delete Group\n *\n * Deletes a Group.\n */\n public deleteGroup<ThrowOnError extends boolean = false>(options: Options<DeleteGroup, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGroupResponses, DeleteGroupErrors, ThrowOnError>({ url: '/groups/{groupId}', ...options });\n }\n \n /**\n * Get Group by ID\n *\n * Returns a single Group by ID.\n */\n public getGroup<ThrowOnError extends boolean = false>(options: Options<GetGroup, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupResponses, GetGroupErrors, ThrowOnError>({\n responseTransformer: getGroupResponseTransformer,\n url: '/groups/{groupId}',\n ...options\n });\n }\n \n /**\n * Update Group\n *\n * Updates a Group and returns it.\n */\n public updateGroup<ThrowOnError extends boolean = false>(options: Options<UpdateGroup, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateGroupResponses, UpdateGroupErrors, ThrowOnError>({\n responseTransformer: updateGroupResponseTransformer,\n url: '/groups/{groupId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete Group Announcement\n *\n * Deletes the announcement for a Group.\n */\n public deleteGroupAnnouncement<ThrowOnError extends boolean = false>(options: Options<DeleteGroupAnnouncement, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGroupAnnouncementResponses, DeleteGroupAnnouncementErrors, ThrowOnError>({ url: '/groups/{groupId}/announcement', ...options });\n }\n \n /**\n * Get Group Announcement\n *\n * Returns the announcement for a Group.\n * If no announcement has been made, then it returns **empty object**.\n * If an announcement exists, then it will always return all fields except `imageId` and `imageUrl` which may be null.\n */\n public getGroupAnnouncements<ThrowOnError extends boolean = false>(options: Options<GetGroupAnnouncements, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupAnnouncementsResponses, GetGroupAnnouncementsErrors, ThrowOnError>({\n responseTransformer: getGroupAnnouncementsResponseTransformer,\n url: '/groups/{groupId}/announcement',\n ...options\n });\n }\n \n /**\n * Create Group Announcement\n *\n * Creates an Announcement for a Group. Warning: This will also remove all announcements. To make proper announcements, use the posts endpoint instead\n */\n public createGroupAnnouncement<ThrowOnError extends boolean = false>(options: Options<CreateGroupAnnouncement, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateGroupAnnouncementResponses, CreateGroupAnnouncementErrors, ThrowOnError>({\n responseTransformer: createGroupAnnouncementResponseTransformer,\n url: '/groups/{groupId}/announcement',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Group Audit Logs\n *\n * Returns a list of audit logs for a Group.\n */\n public getGroupAuditLogs<ThrowOnError extends boolean = false>(options: Options<GetGroupAuditLogs, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupAuditLogsResponses, GetGroupAuditLogsErrors, ThrowOnError>({\n responseTransformer: getGroupAuditLogsResponseTransformer,\n url: '/groups/{groupId}/auditLogs',\n ...options\n });\n }\n \n /**\n * Get Group Bans\n *\n * Returns a list of banned users for a Group.\n */\n public getGroupBans<ThrowOnError extends boolean = false>(options: Options<GetGroupBans, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupBansResponses, GetGroupBansErrors, ThrowOnError>({\n responseTransformer: getGroupBansResponseTransformer,\n url: '/groups/{groupId}/bans',\n ...options\n });\n }\n \n /**\n * Ban Group Member\n *\n * Bans a user from a Group.\n */\n public banGroupMember<ThrowOnError extends boolean = false>(options: Options<BanGroupMember, ThrowOnError>) {\n return (options.client ?? this.client).post<BanGroupMemberResponses, BanGroupMemberErrors, ThrowOnError>({\n responseTransformer: banGroupMemberResponseTransformer,\n url: '/groups/{groupId}/bans',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Unban Group Member\n *\n * Unbans a user from a Group.\n */\n public unbanGroupMember<ThrowOnError extends boolean = false>(options: Options<UnbanGroupMember, ThrowOnError>) {\n return (options.client ?? this.client).delete<UnbanGroupMemberResponses, UnbanGroupMemberErrors, ThrowOnError>({\n responseTransformer: unbanGroupMemberResponseTransformer,\n url: '/groups/{groupId}/bans/{userId}',\n ...options\n });\n }\n \n /**\n * Create Group Gallery\n *\n * Creates a gallery for a Group.\n */\n public createGroupGallery<ThrowOnError extends boolean = false>(options: Options<CreateGroupGallery, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateGroupGalleryResponses, CreateGroupGalleryErrors, ThrowOnError>({\n responseTransformer: createGroupGalleryResponseTransformer,\n url: '/groups/{groupId}/galleries',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete Group Gallery\n *\n * Deletes a gallery for a Group.\n */\n public deleteGroupGallery<ThrowOnError extends boolean = false>(options: Options<DeleteGroupGallery, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGroupGalleryResponses, DeleteGroupGalleryErrors, ThrowOnError>({ url: '/groups/{groupId}/galleries/{groupGalleryId}', ...options });\n }\n \n /**\n * Get Group Gallery Images\n *\n * Returns a list of images for a Group gallery.\n */\n public getGroupGalleryImages<ThrowOnError extends boolean = false>(options: Options<GetGroupGalleryImages, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupGalleryImagesResponses, GetGroupGalleryImagesErrors, ThrowOnError>({\n responseTransformer: getGroupGalleryImagesResponseTransformer,\n url: '/groups/{groupId}/galleries/{groupGalleryId}',\n ...options\n });\n }\n \n /**\n * Update Group Gallery\n *\n * Updates a gallery for a Group.\n */\n public updateGroupGallery<ThrowOnError extends boolean = false>(options: Options<UpdateGroupGallery, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateGroupGalleryResponses, UpdateGroupGalleryErrors, ThrowOnError>({\n responseTransformer: updateGroupGalleryResponseTransformer,\n url: '/groups/{groupId}/galleries/{groupGalleryId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Add Group Gallery Image\n *\n * Adds an image to a Group gallery.\n */\n public addGroupGalleryImage<ThrowOnError extends boolean = false>(options: Options<AddGroupGalleryImage, ThrowOnError>) {\n return (options.client ?? this.client).post<AddGroupGalleryImageResponses, AddGroupGalleryImageErrors, ThrowOnError>({\n responseTransformer: addGroupGalleryImageResponseTransformer,\n url: '/groups/{groupId}/galleries/{groupGalleryId}/images',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete Group Gallery Image\n *\n * Deletes an image from a Group gallery.\n */\n public deleteGroupGalleryImage<ThrowOnError extends boolean = false>(options: Options<DeleteGroupGalleryImage, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGroupGalleryImageResponses, DeleteGroupGalleryImageErrors, ThrowOnError>({ url: '/groups/{groupId}/galleries/{groupGalleryId}/images/{groupGalleryImageId}', ...options });\n }\n \n /**\n * Get Group Instances\n *\n * Returns a list of group instances\n */\n public getGroupInstances<ThrowOnError extends boolean = false>(options: Options<GetGroupInstances, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupInstancesResponses, GetGroupInstancesErrors, ThrowOnError>({\n responseTransformer: getGroupInstancesResponseTransformer,\n url: '/groups/{groupId}/instances',\n ...options\n });\n }\n \n /**\n * Get Group Invites Sent\n *\n * Returns a list of members that have been invited to the Group.\n */\n public getGroupInvites<ThrowOnError extends boolean = false>(options: Options<GetGroupInvites, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupInvitesResponses, GetGroupInvitesErrors, ThrowOnError>({\n responseTransformer: getGroupInvitesResponseTransformer,\n url: '/groups/{groupId}/invites',\n ...options\n });\n }\n \n /**\n * Invite User to Group\n *\n * Sends an invite to a user to join the group.\n */\n public createGroupInvite<ThrowOnError extends boolean = false>(options: Options<CreateGroupInvite, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateGroupInviteResponses, CreateGroupInviteErrors, ThrowOnError>({\n url: '/groups/{groupId}/invites',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete User Invite\n *\n * Deletes an Group invite sent to a User\n */\n public deleteGroupInvite<ThrowOnError extends boolean = false>(options: Options<DeleteGroupInvite, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGroupInviteResponses, DeleteGroupInviteErrors, ThrowOnError>({ url: '/groups/{groupId}/invites/{userId}', ...options });\n }\n \n /**\n * Join Group\n *\n * Join a Group by ID and returns the member object.\n */\n public joinGroup<ThrowOnError extends boolean = false>(options: Options<JoinGroup, ThrowOnError>) {\n return (options.client ?? this.client).post<JoinGroupResponses, JoinGroupErrors, ThrowOnError>({\n responseTransformer: joinGroupResponseTransformer,\n url: '/groups/{groupId}/join',\n ...options\n });\n }\n \n /**\n * Leave Group\n *\n * Leave a group by ID.\n */\n public leaveGroup<ThrowOnError extends boolean = false>(options: Options<LeaveGroup, ThrowOnError>) {\n return (options.client ?? this.client).post<LeaveGroupResponses, LeaveGroupErrors, ThrowOnError>({ url: '/groups/{groupId}/leave', ...options });\n }\n \n /**\n * List Group Members\n *\n * Returns a List of all **other** Group Members. This endpoint will never return the user calling the endpoint.\n * Information about the user calling the endpoint must be found in the `myMember` field of the Group object.\n */\n public getGroupMembers<ThrowOnError extends boolean = false>(options: Options<GetGroupMembers, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupMembersResponses, GetGroupMembersErrors, ThrowOnError>({\n responseTransformer: getGroupMembersResponseTransformer,\n url: '/groups/{groupId}/members',\n ...options\n });\n }\n \n /**\n * Kick Group Member\n *\n * Kicks a Group Member from the Group. The current user must have the \"Remove Group Members\" permission.\n */\n public kickGroupMember<ThrowOnError extends boolean = false>(options: Options<KickGroupMember, ThrowOnError>) {\n return (options.client ?? this.client).delete<KickGroupMemberResponses, KickGroupMemberErrors, ThrowOnError>({ url: '/groups/{groupId}/members/{userId}', ...options });\n }\n \n /**\n * Get Group Member\n *\n * Returns a LimitedGroup Member.\n */\n public getGroupMember<ThrowOnError extends boolean = false>(options: Options<GetGroupMember, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupMemberResponses, GetGroupMemberErrors, ThrowOnError>({\n responseTransformer: getGroupMemberResponseTransformer,\n url: '/groups/{groupId}/members/{userId}',\n ...options\n });\n }\n \n /**\n * Update Group Member\n *\n * Updates a Group Member\n */\n public updateGroupMember<ThrowOnError extends boolean = false>(options: Options<UpdateGroupMember, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateGroupMemberResponses, UpdateGroupMemberErrors, ThrowOnError>({\n responseTransformer: updateGroupMemberResponseTransformer,\n url: '/groups/{groupId}/members/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Remove Role from GroupMember\n *\n * Removes a Role from a Group Member\n */\n public removeGroupMemberRole<ThrowOnError extends boolean = false>(options: Options<RemoveGroupMemberRole, ThrowOnError>) {\n return (options.client ?? this.client).delete<RemoveGroupMemberRoleResponses, RemoveGroupMemberRoleErrors, ThrowOnError>({ url: '/groups/{groupId}/members/{userId}/roles/{groupRoleId}', ...options });\n }\n \n /**\n * Add Role to GroupMember\n *\n * Adds a Role to a Group Member\n */\n public addGroupMemberRole<ThrowOnError extends boolean = false>(options: Options<AddGroupMemberRole, ThrowOnError>) {\n return (options.client ?? this.client).put<AddGroupMemberRoleResponses, AddGroupMemberRoleErrors, ThrowOnError>({ url: '/groups/{groupId}/members/{userId}/roles/{groupRoleId}', ...options });\n }\n \n /**\n * List Group Permissions\n *\n * Returns a List of all possible/available permissions for a Group.\n */\n public getGroupPermissions<ThrowOnError extends boolean = false>(options: Options<GetGroupPermissions, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupPermissionsResponses, GetGroupPermissionsErrors, ThrowOnError>({ url: '/groups/{groupId}/permissions', ...options });\n }\n \n /**\n * Get posts from a Group\n *\n * Get posts from a Group\n */\n public getGroupPosts<ThrowOnError extends boolean = false>(options: Options<GetGroupPosts, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupPostsResponses, GetGroupPostsErrors, ThrowOnError>({\n responseTransformer: getGroupPostsResponseTransformer,\n url: '/groups/{groupId}/posts',\n ...options\n });\n }\n \n /**\n * Create a post in a Group\n *\n * Create a post in a Group.\n */\n public addGroupPost<ThrowOnError extends boolean = false>(options: Options<AddGroupPost, ThrowOnError>) {\n return (options.client ?? this.client).post<AddGroupPostResponses, AddGroupPostErrors, ThrowOnError>({\n responseTransformer: addGroupPostResponseTransformer,\n url: '/groups/{groupId}/posts',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete a Group post\n *\n * Delete a Group post\n */\n public deleteGroupPost<ThrowOnError extends boolean = false>(options: Options<DeleteGroupPost, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGroupPostResponses, DeleteGroupPostErrors, ThrowOnError>({ url: '/groups/{groupId}/posts/{notificationId}', ...options });\n }\n \n /**\n * Edits a Group post\n *\n * Edits a Group post\n */\n public updateGroupPost<ThrowOnError extends boolean = false>(options: Options<UpdateGroupPost, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateGroupPostResponses, UpdateGroupPostErrors, ThrowOnError>({\n responseTransformer: updateGroupPostResponseTransformer,\n url: '/groups/{groupId}/posts/{notificationId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Update Group Representation\n *\n * Updates whether the user is representing the group.\n *\n * When `isRepresenting` is set to `true`, this flag will be set to `false` for all other groups\n */\n public updateGroupRepresentation<ThrowOnError extends boolean = false>(options: Options<UpdateGroupRepresentation, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateGroupRepresentationResponses, UpdateGroupRepresentationErrors, ThrowOnError>({\n url: '/groups/{groupId}/representation',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Cancel Group Join Request\n *\n * Cancels a request sent to join the group.\n */\n public cancelGroupRequest<ThrowOnError extends boolean = false>(options: Options<CancelGroupRequest, ThrowOnError>) {\n return (options.client ?? this.client).delete<CancelGroupRequestResponses, CancelGroupRequestErrors, ThrowOnError>({ url: '/groups/{groupId}/requests', ...options });\n }\n \n /**\n * Get Group Join Requests\n *\n * Returns a list of members that have requested to join the Group.\n */\n public getGroupRequests<ThrowOnError extends boolean = false>(options: Options<GetGroupRequests, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupRequestsResponses, GetGroupRequestsErrors, ThrowOnError>({\n responseTransformer: getGroupRequestsResponseTransformer,\n url: '/groups/{groupId}/requests',\n ...options\n });\n }\n \n /**\n * Respond Group Join request\n *\n * Responds to a Group Join Request with Accept/Deny\n */\n public respondGroupJoinRequest<ThrowOnError extends boolean = false>(options: Options<RespondGroupJoinRequest2, ThrowOnError>) {\n return (options.client ?? this.client).put<RespondGroupJoinRequestResponses, RespondGroupJoinRequestErrors, ThrowOnError>({\n url: '/groups/{groupId}/requests/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Group Roles\n *\n * Returns a Group Role by ID.\n */\n public getGroupRoles<ThrowOnError extends boolean = false>(options: Options<GetGroupRoles, ThrowOnError>) {\n return (options.client ?? this.client).get<GetGroupRolesResponses, GetGroupRolesErrors, ThrowOnError>({\n responseTransformer: getGroupRolesResponseTransformer,\n url: '/groups/{groupId}/roles',\n ...options\n });\n }\n \n /**\n * Create GroupRole\n *\n * Create a Group role.\n */\n public createGroupRole<ThrowOnError extends boolean = false>(options: Options<CreateGroupRole, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateGroupRoleResponses, CreateGroupRoleErrors, ThrowOnError>({\n responseTransformer: createGroupRoleResponseTransformer,\n url: '/groups/{groupId}/roles',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Delete Group Role\n *\n * Deletes a Group Role by ID and returns the remaining roles.\n */\n public deleteGroupRole<ThrowOnError extends boolean = false>(options: Options<DeleteGroupRole, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteGroupRoleResponses, DeleteGroupRoleErrors, ThrowOnError>({\n responseTransformer: deleteGroupRoleResponseTransformer,\n url: '/groups/{groupId}/roles/{groupRoleId}',\n ...options\n });\n }\n \n /**\n * Update Group Role\n *\n * Updates a group role by ID.\n */\n public updateGroupRole<ThrowOnError extends boolean = false>(options: Options<UpdateGroupRole, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateGroupRoleResponses, UpdateGroupRoleErrors, ThrowOnError>({\n responseTransformer: updateGroupRoleResponseTransformer,\n url: '/groups/{groupId}/roles/{groupRoleId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Check API Health\n *\n * ~~Gets the overall health status, the server name, and the current build version tag of the API.~~\n *\n * **DEPRECATED:** VRChat has suddenly restricted this endpoint for unknown reasons, and now always return 401 Unauthorized.\n *\n * @deprecated\n */\n public getHealth<ThrowOnError extends boolean = false>(options?: Options<GetHealth, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetHealthResponses, unknown, ThrowOnError>({ url: '/health', ...options });\n }\n \n /**\n * Upload icon\n *\n * Upload an icon\n */\n public uploadIcon<ThrowOnError extends boolean = false>(options?: Options<UploadIcon, ThrowOnError>) {\n return (options?.client ?? this.client).post<UploadIconResponses, unknown, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: uploadIconResponseTransformer,\n url: '/icon',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n }\n \n /**\n * Show Information Notices\n *\n * IPS (Info Push System) is a system for VRChat to push out dynamic information to the client. This is primarily used by the Quick-Menu info banners, but can also be used to e.g. alert you to update your game to the latest version.\n *\n * `include` is used to query what Information Pushes should be included in the response. If include is missing or empty, then no notices will normally be returned. This is an \"any of\" search.\n *\n * `require` is used to limit what Information Pushes should be included in the response. This is usually used in combination with `include`, and is an \"all of\" search.\n */\n public getInfoPush<ThrowOnError extends boolean = false>(options?: Options<GetInfoPush, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetInfoPushResponses, unknown, ThrowOnError>({\n responseTransformer: getInfoPushResponseTransformer,\n url: '/infoPush',\n ...options\n });\n }\n \n /**\n * Create Instance\n *\n * Create an instance\n */\n public createInstance<ThrowOnError extends boolean = false>(options: Options<CreateInstance, ThrowOnError>) {\n return (options.client ?? this.client).post<CreateInstanceResponses, CreateInstanceErrors, ThrowOnError>({\n responseTransformer: createInstanceResponseTransformer,\n url: '/instances',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * List Recent Locations\n *\n * Returns a list of recently visited locations.\n */\n public getRecentLocations<ThrowOnError extends boolean = false>(options?: Options<GetRecentLocations, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetRecentLocationsResponses, GetRecentLocationsErrors, ThrowOnError>({ url: '/instances/recent', ...options });\n }\n \n /**\n * Get Instance By Short Name\n *\n * Returns an instance. Please read [Instances Tutorial](https://vrchatapi.github.io/tutorials/instances/) for more information on Instances.\n */\n public getInstanceByShortName<ThrowOnError extends boolean = false>(options: Options<GetInstanceByShortName, ThrowOnError>) {\n return (options.client ?? this.client).get<GetInstanceByShortNameResponses, GetInstanceByShortNameErrors, ThrowOnError>({\n responseTransformer: getInstanceByShortNameResponseTransformer,\n url: '/instances/s/{shortName}',\n ...options\n });\n }\n \n /**\n * Close Instance\n *\n * Close an instance or update the closedAt time when it will be closed.\n *\n * You can only close an instance if the ownerId is yourself or if the instance owner is a group and you have the `group-instance-manage` permission.\n */\n public closeInstance<ThrowOnError extends boolean = false>(options: Options<CloseInstance, ThrowOnError>) {\n return (options.client ?? this.client).delete<CloseInstanceResponses, CloseInstanceErrors, ThrowOnError>({\n responseTransformer: closeInstanceResponseTransformer,\n url: '/instances/{worldId}:{instanceId}',\n ...options\n });\n }\n \n /**\n * Get Instance\n *\n * Returns an instance. Please read [Instances Tutorial](https://vrchatapi.github.io/tutorials/instances/) for more information on Instances.\n *\n * If an invalid instanceId is provided, this endpoint will simply return \"null\"!\n */\n public getInstance<ThrowOnError extends boolean = false>(options: Options<GetInstance, ThrowOnError>) {\n return (options.client ?? this.client).get<GetInstanceResponses, GetInstanceErrors, ThrowOnError>({\n responseTransformer: getInstanceResponseTransformer,\n url: '/instances/{worldId}:{instanceId}',\n ...options\n });\n }\n \n /**\n * Get Instance Short Name\n *\n * Returns an instance short name.\n */\n public getShortName<ThrowOnError extends boolean = false>(options: Options<GetShortName, ThrowOnError>) {\n return (options.client ?? this.client).get<GetShortNameResponses, GetShortNameErrors, ThrowOnError>({ url: '/instances/{worldId}:{instanceId}/shortName', ...options });\n }\n \n /**\n * Get Inventory\n *\n * Returns an Inventory object.\n */\n public getInventory<ThrowOnError extends boolean = false>(options?: Options<GetInventory, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetInventoryResponses, GetInventoryErrors, ThrowOnError>({\n responseTransformer: getInventoryResponseTransformer,\n url: '/inventory',\n ...options\n });\n }\n \n /**\n * Share Inventory Item Direct\n *\n * Share content directly with other users.\n */\n public shareInventoryItemDirect<ThrowOnError extends boolean = false>(options: Options<ShareInventoryItemDirect, ThrowOnError>) {\n return (options.client ?? this.client).post<ShareInventoryItemDirectResponses, ShareInventoryItemDirectErrors, ThrowOnError>({\n url: '/inventory/cloning/direct',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Share Inventory Item by Pedestal\n *\n * Returns an InventorySpawn object.\n */\n public shareInventoryItemPedestal<ThrowOnError extends boolean = false>(options: Options<ShareInventoryItemPedestal, ThrowOnError>) {\n return (options.client ?? this.client).get<ShareInventoryItemPedestalResponses, ShareInventoryItemPedestalErrors, ThrowOnError>({ url: '/inventory/cloning/pedestal', ...options });\n }\n \n /**\n * List Inventory Drops\n *\n * Returns a list of InventoryDrop objects.\n */\n public getInventoryDrops<ThrowOnError extends boolean = false>(options?: Options<GetInventoryDrops, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetInventoryDropsResponses, GetInventoryDropsErrors, ThrowOnError>({\n responseTransformer: getInventoryDropsResponseTransformer,\n url: '/inventory/drops',\n ...options\n });\n }\n \n /**\n * Spawn Inventory Item\n *\n * Returns an InventorySpawn object.\n */\n public spawnInventoryItem<ThrowOnError extends boolean = false>(options: Options<SpawnInventoryItem, ThrowOnError>) {\n return (options.client ?? this.client).get<SpawnInventoryItemResponses, SpawnInventoryItemErrors, ThrowOnError>({ url: '/inventory/spawn', ...options });\n }\n \n /**\n * Get Inventory Template\n *\n * Returns an InventoryTemplate object.\n */\n public getInventoryTemplate<ThrowOnError extends boolean = false>(options: Options<GetInventoryTemplate, ThrowOnError>) {\n return (options.client ?? this.client).get<GetInventoryTemplateResponses, GetInventoryTemplateErrors, ThrowOnError>({\n responseTransformer: getInventoryTemplateResponseTransformer,\n url: '/inventory/template/{inventoryTemplateId}',\n ...options\n });\n }\n \n /**\n * Delete Own Inventory Item\n *\n * Deletes an InventoryItem from the inventory of the currently logged in user.\n */\n public deleteOwnInventoryItem<ThrowOnError extends boolean = false>(options: Options<DeleteOwnInventoryItem, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteOwnInventoryItemResponses, DeleteOwnInventoryItemErrors, ThrowOnError>({ url: '/inventory/{inventoryItemId}', ...options });\n }\n \n /**\n * Get Own Inventory Item\n *\n * Returns an InventoryItem object held by the currently logged in user.\n */\n public getOwnInventoryItem<ThrowOnError extends boolean = false>(options: Options<GetOwnInventoryItem, ThrowOnError>) {\n return (options.client ?? this.client).get<GetOwnInventoryItemResponses, GetOwnInventoryItemErrors, ThrowOnError>({\n responseTransformer: getOwnInventoryItemResponseTransformer,\n url: '/inventory/{inventoryItemId}',\n ...options\n });\n }\n \n /**\n * Update Own Inventory Item\n *\n * Returns the modified InventoryItem object as held by the currently logged in user.\n */\n public updateOwnInventoryItem<ThrowOnError extends boolean = false>(options: Options<UpdateOwnInventoryItem, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateOwnInventoryItemResponses, UpdateOwnInventoryItemErrors, ThrowOnError>({\n responseTransformer: updateOwnInventoryItemResponseTransformer,\n url: '/inventory/{inventoryItemId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Consume Own Inventory Item\n *\n * Returns the modified InventoryItem object as held by the currently logged in user.\n */\n public consumeOwnInventoryItem<ThrowOnError extends boolean = false>(options: Options<ConsumeOwnInventoryItem, ThrowOnError>) {\n return (options.client ?? this.client).put<ConsumeOwnInventoryItemResponses, ConsumeOwnInventoryItemErrors, ThrowOnError>({\n responseTransformer: consumeOwnInventoryItemResponseTransformer,\n url: '/inventory/{inventoryItemId}/consume',\n ...options\n });\n }\n \n /**\n * Unequip Own Inventory Slot\n *\n * Unequips the InventoryItem in the given slot of the inventory of the currently logged in user.\n */\n public unequipOwnInventorySlot<ThrowOnError extends boolean = false>(options: Options<UnequipOwnInventorySlot, ThrowOnError>) {\n return (options.client ?? this.client).delete<UnequipOwnInventorySlotResponses, UnequipOwnInventorySlotErrors, ThrowOnError>({ url: '/inventory/{inventoryItemId}/equip', ...options });\n }\n \n /**\n * Equip Own Inventory Item\n *\n * Returns the modified InventoryItem object as held by the currently logged in user.\n */\n public equipOwnInventoryItem<ThrowOnError extends boolean = false>(options: Options<EquipOwnInventoryItem, ThrowOnError>) {\n return (options.client ?? this.client).put<EquipOwnInventoryItemResponses, EquipOwnInventoryItemErrors, ThrowOnError>({\n responseTransformer: equipOwnInventoryItemResponseTransformer,\n url: '/inventory/{inventoryItemId}/equip',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Invite Myself To Instance\n *\n * Sends self an invite to an instance\n */\n public inviteMyselfTo<ThrowOnError extends boolean = false>(options: Options<InviteMyselfTo, ThrowOnError>) {\n return (options.client ?? this.client).post<InviteMyselfToResponses, InviteMyselfToErrors, ThrowOnError>({\n responseTransformer: inviteMyselfToResponseTransformer,\n url: '/invite/myself/to/{worldId}:{instanceId}',\n ...options\n });\n }\n \n /**\n * Respond Invite\n *\n * Respond to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification.\n *\n * In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection.\n * In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.\n */\n public respondInvite<ThrowOnError extends boolean = false>(options: Options<RespondInvite, ThrowOnError>) {\n return (options.client ?? this.client).post<RespondInviteResponses, RespondInviteErrors, ThrowOnError>({\n responseTransformer: respondInviteResponseTransformer,\n url: '/invite/{notificationId}/response',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Respond Invite with photo\n *\n * Respond with photo to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification.\n *\n * In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection.\n * In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.'\n */\n public respondInviteWithPhoto<ThrowOnError extends boolean = false>(options: Options<RespondInviteWithPhoto, ThrowOnError>) {\n return (options.client ?? this.client).post<RespondInviteWithPhotoResponses, RespondInviteWithPhotoErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: respondInviteWithPhotoResponseTransformer,\n url: '/invite/{notificationId}/response/photo',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n }\n \n /**\n * Invite User\n *\n * Sends an invite to a user. Returns the Notification of type `invite` that was sent.\n */\n public inviteUser<ThrowOnError extends boolean = false>(options: Options<InviteUser, ThrowOnError>) {\n return (options.client ?? this.client).post<InviteUserResponses, InviteUserErrors, ThrowOnError>({\n responseTransformer: inviteUserResponseTransformer,\n url: '/invite/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Invite User with photo\n *\n * Sends an photo invite to a user. Returns the Notification of type `invite` that was sent.\n */\n public inviteUserWithPhoto<ThrowOnError extends boolean = false>(options: Options<InviteUserWithPhoto, ThrowOnError>) {\n return (options.client ?? this.client).post<InviteUserWithPhotoResponses, InviteUserWithPhotoErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: inviteUserWithPhotoResponseTransformer,\n url: '/invite/{userId}/photo',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n }\n \n /**\n * Show jams list\n *\n * Lists World Jams or Avatar Jams, both currently running and ones that have ended.\n *\n * `isActive` is used to select only active or already ended jams.\n *\n * `type` is used to select only world or avatar jams, and can only take `world` or `avatar`.\n * ``\n */\n public getJams<ThrowOnError extends boolean = false>(options?: Options<GetJams, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetJamsResponses, unknown, ThrowOnError>({\n responseTransformer: getJamsResponseTransformer,\n url: '/jams',\n ...options\n });\n }\n \n /**\n * Show jam information\n *\n * Returns a jam.\n */\n public getJam<ThrowOnError extends boolean = false>(options: Options<GetJam, ThrowOnError>) {\n return (options.client ?? this.client).get<GetJamResponses, GetJamErrors, ThrowOnError>({\n responseTransformer: getJamResponseTransformer,\n url: '/jams/{jamId}',\n ...options\n });\n }\n \n /**\n * Show jam submissions\n *\n * Returns all submissions of a jam.\n */\n public getJamSubmissions<ThrowOnError extends boolean = false>(options: Options<GetJamSubmissions, ThrowOnError>) {\n return (options.client ?? this.client).get<GetJamSubmissionsResponses, GetJamSubmissionsErrors, ThrowOnError>({\n responseTransformer: getJamSubmissionsResponseTransformer,\n url: '/jams/{jamId}/submissions',\n ...options\n });\n }\n \n /**\n * Download JavaScript\n *\n * Fetches the JavaScript code to the frontend React website.\n */\n public getJavaScript<ThrowOnError extends boolean = false>(options?: Options<GetJavaScript, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetJavaScriptResponses, GetJavaScriptErrors, ThrowOnError>({ url: '/js/app.js', ...options });\n }\n \n /**\n * Get License Group\n *\n * Get a single License Group by given ID.\n */\n public getLicenseGroup<ThrowOnError extends boolean = false>(options: Options<GetLicenseGroup, ThrowOnError>) {\n return (options.client ?? this.client).get<GetLicenseGroupResponses, GetLicenseGroupErrors, ThrowOnError>({ url: '/licenseGroups/{licenseGroupId}', ...options });\n }\n \n /**\n * Get Product Listing\n *\n * Gets a product listing\n */\n public getProductListing<ThrowOnError extends boolean = false>(options: Options<GetProductListing, ThrowOnError>) {\n return (options.client ?? this.client).get<GetProductListingResponses, GetProductListingErrors, ThrowOnError>({\n responseTransformer: getProductListingResponseTransformer,\n url: '/listing/{productId}',\n ...options\n });\n }\n \n /**\n * Logout\n *\n * Invalidates the login session.\n */\n public logout<ThrowOnError extends boolean = false>(options?: Options<Logout, ThrowOnError>) {\n return (options?.client ?? this.client).put<LogoutResponses, LogoutErrors, ThrowOnError>({ url: '/logout', ...options });\n }\n \n /**\n * List Invite Messages\n *\n * Returns a list of all the users Invite Messages. Admin Credentials are required to view messages of other users!\n *\n * Message type refers to a different collection of messages, used during different types of responses.\n *\n * * `message` = Message during a normal invite\n * * `response` = Message when replying to a message\n * * `request` = Message when requesting an invite\n * * `requestResponse` = Message when replying to a request for invite\n */\n public getInviteMessages<ThrowOnError extends boolean = false>(options: Options<GetInviteMessages, ThrowOnError>) {\n return (options.client ?? this.client).get<GetInviteMessagesResponses, GetInviteMessagesErrors, ThrowOnError>({\n responseTransformer: getInviteMessagesResponseTransformer,\n url: '/message/{userId}/{messageType}',\n ...options\n });\n }\n \n /**\n * Reset Invite Message\n *\n * Resets a single Invite Message back to its original message, and then returns a list of all of them. Admin Credentials are required to update messages of other users!\n *\n * Resetting a message respects the rate-limit, so it is not possible to reset within the 60 minutes countdown.\n * Resetting it does however not set the rate-limit to 60 like when editing it.\n * It is possible to edit it right after resetting it.\n * Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\".\n *\n * Message type refers to a different collection of messages, used during different types of responses.\n *\n * * `message` = Message during a normal invite\n * * `response` = Message when replying to a message\n * * `request` = Message when requesting an invite\n * * `requestResponse` = Message when replying to a request for invite\n *\n * The DELETE endpoint does not have/require any request body.\n */\n public resetInviteMessage<ThrowOnError extends boolean = false>(options: Options<ResetInviteMessage, ThrowOnError>) {\n return (options.client ?? this.client).delete<ResetInviteMessageResponses, ResetInviteMessageErrors, ThrowOnError>({\n responseTransformer: resetInviteMessageResponseTransformer,\n url: '/message/{userId}/{messageType}/{slot}',\n ...options\n });\n }\n \n /**\n * Get Invite Message\n *\n * Returns a single Invite Message. This returns the exact same information but less than `getInviteMessages`. Admin Credentials are required to view messages of other users!\n *\n * Message type refers to a different collection of messages, used during different types of responses.\n *\n * * `message` = Message during a normal invite\n * * `response` = Message when replying to a message\n * * `request` = Message when requesting an invite\n * * `requestResponse` = Message when replying to a request for invite\n */\n public getInviteMessage<ThrowOnError extends boolean = false>(options: Options<GetInviteMessage, ThrowOnError>) {\n return (options.client ?? this.client).get<GetInviteMessageResponses, GetInviteMessageErrors, ThrowOnError>({\n responseTransformer: getInviteMessageResponseTransformer,\n url: '/message/{userId}/{messageType}/{slot}',\n ...options\n });\n }\n \n /**\n * Update Invite Message\n *\n * Updates a single Invite Message and then returns a list of all of them. Admin Credentials are required to update messages of other users!\n *\n * Updating a message automatically sets the cooldown timer to 60 minutes.\n * Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\".\n *\n * Message type refers to a different collection of messages, used during different types of responses.\n *\n * * `message` = Message during a normal invite\n * * `response` = Message when replying to a message\n * * `request` = Message when requesting an invite\n * * `requestResponse` = Message when replying to a request for invite\n */\n public updateInviteMessage<ThrowOnError extends boolean = false>(options: Options<UpdateInviteMessage, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateInviteMessageResponses, UpdateInviteMessageErrors, ThrowOnError>({\n responseTransformer: updateInviteMessageResponseTransformer,\n url: '/message/{userId}/{messageType}/{slot}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Permission\n *\n * Returns a single permission. This endpoint is pretty useless, as it returns the exact same information as `/auth/permissions`.\n */\n public getPermission<ThrowOnError extends boolean = false>(options: Options<GetPermission, ThrowOnError>) {\n return (options.client ?? this.client).get<GetPermissionResponses, GetPermissionErrors, ThrowOnError>({ url: '/permissions/{permissionId}', ...options });\n }\n \n /**\n * Upload Print\n *\n * Uploads and creates a print.\n */\n public uploadPrint<ThrowOnError extends boolean = false>(options?: Options<UploadPrint, ThrowOnError>) {\n return (options?.client ?? this.client).post<UploadPrintResponses, UploadPrintErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: uploadPrintResponseTransformer,\n url: '/prints',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options?.headers\n }\n });\n }\n \n /**\n * Get Own Prints\n *\n * Returns a list of all prints of the user. User id has to be your own userId, as you can't request other user's prints.\n */\n public getUserPrints<ThrowOnError extends boolean = false>(options: Options<GetUserPrints, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserPrintsResponses, GetUserPrintsErrors, ThrowOnError>({\n responseTransformer: getUserPrintsResponseTransformer,\n url: '/prints/user/{userId}',\n ...options\n });\n }\n \n /**\n * Delete Print\n *\n * Returns a print.\n */\n public deletePrint<ThrowOnError extends boolean = false>(options: Options<DeletePrint, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeletePrintResponses, DeletePrintErrors, ThrowOnError>({ url: '/prints/{printId}', ...options });\n }\n \n /**\n * Get Print\n *\n * Returns a print.\n */\n public getPrint<ThrowOnError extends boolean = false>(options: Options<GetPrint, ThrowOnError>) {\n return (options.client ?? this.client).get<GetPrintResponses, GetPrintErrors, ThrowOnError>({\n responseTransformer: getPrintResponseTransformer,\n url: '/prints/{printId}',\n ...options\n });\n }\n \n /**\n * Edit Print\n *\n * Edits a print.\n */\n public editPrint<ThrowOnError extends boolean = false>(options: Options<EditPrint, ThrowOnError>) {\n return (options.client ?? this.client).post<EditPrintResponses, EditPrintErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: editPrintResponseTransformer,\n url: '/prints/{printId}',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n }\n \n /**\n * Get Product Listing (alternate)\n *\n * Gets a product listing\n *\n * @deprecated\n */\n public getProductListingAlternate<ThrowOnError extends boolean = false>(options: Options<GetProductListingAlternate, ThrowOnError>) {\n return (options.client ?? this.client).get<GetProductListingAlternateResponses, GetProductListingAlternateErrors, ThrowOnError>({\n responseTransformer: getProductListingAlternateResponseTransformer,\n url: '/products/{productId}',\n ...options\n });\n }\n \n /**\n * Get Prop\n *\n * Returns a Prop object.\n */\n public getProp<ThrowOnError extends boolean = false>(options: Options<GetProp, ThrowOnError>) {\n return (options.client ?? this.client).get<GetPropResponses, GetPropErrors, ThrowOnError>({\n responseTransformer: getPropResponseTransformer,\n url: '/props/{propId}',\n ...options\n });\n }\n \n /**\n * Request Invite\n *\n * Requests an invite from a user. Returns the Notification of type `requestInvite` that was sent.\n */\n public requestInvite<ThrowOnError extends boolean = false>(options: Options<RequestInvite, ThrowOnError>) {\n return (options.client ?? this.client).post<RequestInviteResponses, RequestInviteErrors, ThrowOnError>({\n responseTransformer: requestInviteResponseTransformer,\n url: '/requestInvite/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Request Invite with photo\n *\n * Requests with photo an invite from a user. Returns the Notification of type `requestInvite` that was sent.\n */\n public requestInviteWithPhoto<ThrowOnError extends boolean = false>(options: Options<RequestInviteWithPhoto, ThrowOnError>) {\n return (options.client ?? this.client).post<RequestInviteWithPhotoResponses, RequestInviteWithPhotoErrors, ThrowOnError>({\n ...formDataBodySerializer,\n responseTransformer: requestInviteWithPhotoResponseTransformer,\n url: '/requestInvite/{userId}/photo',\n ...options,\n headers: {\n 'Content-Type': null,\n ...options.headers\n }\n });\n }\n \n /**\n * List Subscriptions\n *\n * List all existing Subscriptions. For example, \"vrchatplus-monthly\" and \"vrchatplus-yearly\".\n */\n public getSubscriptions<ThrowOnError extends boolean = false>(options?: Options<GetSubscriptions, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetSubscriptionsResponses, GetSubscriptionsErrors, ThrowOnError>({ url: '/subscriptions', ...options });\n }\n \n /**\n * Get Tilia Status\n *\n * Gets the status of Tilia integration\n */\n public getTiliaStatus<ThrowOnError extends boolean = false>(options?: Options<GetTiliaStatus, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetTiliaStatusResponses, GetTiliaStatusErrors, ThrowOnError>({\n responseTransformer: getTiliaStatusResponseTransformer,\n url: '/tilia/status',\n ...options\n });\n }\n \n /**\n * Current System Time\n *\n * Returns the current time of the API server.\n *\n * **NOTE:** The response type is not a JSON object, but a simple JSON string.\n */\n public getSystemTime<ThrowOnError extends boolean = false>(options?: Options<GetSystemTime, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetSystemTimeResponses, unknown, ThrowOnError>({\n responseTransformer: getSystemTimeResponseTransformer,\n url: '/time',\n ...options\n });\n }\n \n /**\n * List Token Bundles\n *\n * Gets the list of token bundles\n */\n public getTokenBundles<ThrowOnError extends boolean = false>(options?: Options<GetTokenBundles, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetTokenBundlesResponses, GetTokenBundlesErrors, ThrowOnError>({ url: '/tokenBundles', ...options });\n }\n \n /**\n * Get Bulk Gift Purchases\n *\n * Get bulk gift purchases made by the user.\n */\n public getBulkGiftPurchases<ThrowOnError extends boolean = false>(options?: Options<GetBulkGiftPurchases, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetBulkGiftPurchasesResponses, GetBulkGiftPurchasesErrors, ThrowOnError>({ url: '/user/bulk/gift/purchases', ...options });\n }\n \n /**\n * Get Recent Subscription\n *\n * Get the most recent user subscription.\n */\n public getRecentSubscription<ThrowOnError extends boolean = false>(options?: Options<GetRecentSubscription, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetRecentSubscriptionResponses, GetRecentSubscriptionErrors, ThrowOnError>({\n responseTransformer: getRecentSubscriptionResponseTransformer,\n url: '/user/subscription/recent',\n ...options\n });\n }\n \n /**\n * Get Balance\n *\n * Gets the balance of a user\n */\n public getBalance<ThrowOnError extends boolean = false>(options: Options<GetBalance, ThrowOnError>) {\n return (options.client ?? this.client).get<GetBalanceResponses, GetBalanceErrors, ThrowOnError>({ url: '/user/{userId}/balance', ...options });\n }\n \n /**\n * Get Balance Earnings\n *\n * Gets the balance of a user from earnings\n */\n public getBalanceEarnings<ThrowOnError extends boolean = false>(options: Options<GetBalanceEarnings, ThrowOnError>) {\n return (options.client ?? this.client).get<GetBalanceEarningsResponses, GetBalanceEarningsErrors, ThrowOnError>({ url: '/user/{userId}/balance/earnings', ...options });\n }\n \n /**\n * Get Economy Account\n *\n * Gets the economy account of a user\n */\n public getEconomyAccount<ThrowOnError extends boolean = false>(options: Options<GetEconomyAccount, ThrowOnError>) {\n return (options.client ?? this.client).get<GetEconomyAccountResponses, GetEconomyAccountErrors, ThrowOnError>({\n responseTransformer: getEconomyAccountResponseTransformer,\n url: '/user/{userId}/economy/account',\n ...options\n });\n }\n \n /**\n * Delete Friend Request\n *\n * Deletes an outgoing pending friend request to another user. To delete an incoming friend request, use the `deleteNotification` endpoint instead.\n */\n public deleteFriendRequest<ThrowOnError extends boolean = false>(options: Options<DeleteFriendRequest, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteFriendRequestResponses, DeleteFriendRequestErrors, ThrowOnError>({ url: '/user/{userId}/friendRequest', ...options });\n }\n \n /**\n * Send Friend Request\n *\n * Send a friend request to another user.\n */\n public friend<ThrowOnError extends boolean = false>(options: Options<Friend, ThrowOnError>) {\n return (options.client ?? this.client).post<FriendResponses, FriendErrors, ThrowOnError>({\n responseTransformer: friendResponseTransformer,\n url: '/user/{userId}/friendRequest',\n ...options\n });\n }\n \n /**\n * Check Friend Status\n *\n * Retrieve if the user is currently a friend with a given user, if they have an outgoing friend request, and if they have an incoming friend request. The proper way to receive and accept friend request is by checking if the user has an incoming `Notification` of type `friendRequest`, and then accepting that notification.\n */\n public getFriendStatus<ThrowOnError extends boolean = false>(options: Options<GetFriendStatus, ThrowOnError>) {\n return (options.client ?? this.client).get<GetFriendStatusResponses, GetFriendStatusErrors, ThrowOnError>({ url: '/user/{userId}/friendStatus', ...options });\n }\n \n /**\n * Get User Product Listings\n *\n * Gets the product listings of a given user\n */\n public getProductListings<ThrowOnError extends boolean = false>(options: Options<GetProductListings, ThrowOnError>) {\n return (options.client ?? this.client).get<GetProductListingsResponses, GetProductListingsErrors, ThrowOnError>({\n responseTransformer: getProductListingsResponseTransformer,\n url: '/user/{userId}/listings',\n ...options\n });\n }\n \n /**\n * Get Tilia TOS Agreement Status\n *\n * Gets the status of the agreement of a user to the Tilia TOS\n */\n public getTiliaTos<ThrowOnError extends boolean = false>(options: Options<GetTiliaTos, ThrowOnError>) {\n return (options.client ?? this.client).get<GetTiliaTosResponses, GetTiliaTosErrors, ThrowOnError>({ url: '/user/{userId}/tilia/tos', ...options });\n }\n \n /**\n * Update Tilia TOS Agreement Status\n *\n * Updates the status of the agreement of a user to the Tilia TOS\n */\n public updateTiliaTos<ThrowOnError extends boolean = false>(options: Options<UpdateTiliaTos, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateTiliaTosResponses, UpdateTiliaTosErrors, ThrowOnError>({\n url: '/user/{userId}/tilia/tos',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get User Notes\n *\n * Get recently updated user notes\n */\n public getUserNotes<ThrowOnError extends boolean = false>(options?: Options<GetUserNotes, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetUserNotesResponses, GetUserNotesErrors, ThrowOnError>({\n responseTransformer: getUserNotesResponseTransformer,\n url: '/userNotes',\n ...options\n });\n }\n \n /**\n * Update User Note\n *\n * Updates the currently authenticated user's note on a user\n */\n public updateUserNote<ThrowOnError extends boolean = false>(options: Options<UpdateUserNote, ThrowOnError>) {\n return (options.client ?? this.client).post<UpdateUserNoteResponses, UpdateUserNoteErrors, ThrowOnError>({\n responseTransformer: updateUserNoteResponseTransformer,\n url: '/userNotes',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get User Note\n *\n * Get a particular user note\n */\n public getUserNote<ThrowOnError extends boolean = false>(options: Options<GetUserNote, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserNoteResponses, GetUserNoteErrors, ThrowOnError>({\n responseTransformer: getUserNoteResponseTransformer,\n url: '/userNotes/{userNoteId}',\n ...options\n });\n }\n \n /**\n * Search All Users\n *\n * Search and list any users by text query\n */\n public searchUsers<ThrowOnError extends boolean = false>(options?: Options<SearchUsers, ThrowOnError>) {\n return (options?.client ?? this.client).get<SearchUsersResponses, SearchUsersErrors, ThrowOnError>({ url: '/users', ...options });\n }\n \n /**\n * Get User by ID\n *\n * Get public user information about a specific user using their ID.\n */\n public getUser<ThrowOnError extends boolean = false>(options: Options<GetUser, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserResponses, GetUserErrors, ThrowOnError>({\n responseTransformer: getUserResponseTransformer,\n url: '/users/{userId}',\n ...options\n });\n }\n \n /**\n * Update User Info\n *\n * Update a users information such as the email and birthday.\n */\n public updateUser<ThrowOnError extends boolean = false>(options: Options<UpdateUser, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateUserResponses, UpdateUserErrors, ThrowOnError>({\n responseTransformer: updateUserResponseTransformer,\n url: '/users/{userId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Add User Tags\n *\n * Adds tags to the user's profile\n */\n public addTags<ThrowOnError extends boolean = false>(options: Options<AddTags, ThrowOnError>) {\n return (options.client ?? this.client).post<AddTagsResponses, AddTagsErrors, ThrowOnError>({\n responseTransformer: addTagsResponseTransformer,\n url: '/users/{userId}/addTags',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get Own Avatar\n *\n * Get the current avatar for the user. This will return an error for any other user than the one logged in.\n */\n public getOwnAvatar<ThrowOnError extends boolean = false>(options: Options<GetOwnAvatar, ThrowOnError>) {\n return (options.client ?? this.client).get<GetOwnAvatarResponses, GetOwnAvatarErrors, ThrowOnError>({\n responseTransformer: getOwnAvatarResponseTransformer,\n url: '/users/{userId}/avatar',\n ...options\n });\n }\n \n /**\n * Update User Badge\n *\n * Updates a user's badge\n */\n public updateBadge<ThrowOnError extends boolean = false>(options: Options<UpdateBadge, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateBadgeResponses, UpdateBadgeErrors, ThrowOnError>({\n url: '/users/{userId}/badges/{badgeId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Send Boop\n *\n * Send a boop to another user.\n */\n public boop<ThrowOnError extends boolean = false>(options: Options<Boop, ThrowOnError>) {\n return (options.client ?? this.client).post<BoopResponses, BoopErrors, ThrowOnError>({\n url: '/users/{userId}/boop',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get User Credits Eligiblity\n *\n * Get the user's eligibility status for subscriptions based on available credits.\n */\n public getUserCreditsEligible<ThrowOnError extends boolean = false>(options: Options<GetUserCreditsEligible, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserCreditsEligibleResponses, GetUserCreditsEligibleErrors, ThrowOnError>({ url: '/users/{userId}/credits/eligible', ...options });\n }\n \n /**\n * Delete User\n *\n * Deletes the account with given ID. Normal users only have permission to delete their own account. Account deletion is 14 days from this request, and will be cancelled if you do an authenticated request with the account afterwards.\n *\n * **VRC+ NOTE:** Despite the 14-days cooldown, any VRC+ subscription will be cancelled **immediately**.\n *\n * **METHOD NOTE:** Despite this being a Delete action, the method type required is PUT.\n */\n public deleteUser<ThrowOnError extends boolean = false>(options: Options<DeleteUser, ThrowOnError>) {\n return (options.client ?? this.client).put<DeleteUserResponses, DeleteUserErrors, ThrowOnError>({\n responseTransformer: deleteUserResponseTransformer,\n url: '/users/{userId}/delete',\n ...options\n });\n }\n \n /**\n * Get User Feedback\n *\n * Get user's submitted feedback\n *\n * @deprecated\n */\n public getUserFeedback<ThrowOnError extends boolean = false>(options: Options<GetUserFeedback, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserFeedbackResponses, GetUserFeedbackErrors, ThrowOnError>({ url: '/users/{userId}/feedback', ...options });\n }\n \n /**\n * Get User Groups\n *\n * Get user's public groups\n */\n public getUserGroups<ThrowOnError extends boolean = false>(options: Options<GetUserGroups, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserGroupsResponses, GetUserGroupsErrors, ThrowOnError>({\n responseTransformer: getUserGroupsResponseTransformer,\n url: '/users/{userId}/groups',\n ...options\n });\n }\n \n /**\n * Get user's current represented group\n *\n * Returns the current group that the user is currently representing\n */\n public getUserRepresentedGroup<ThrowOnError extends boolean = false>(options: Options<GetUserRepresentedGroup, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserRepresentedGroupResponses, GetUserRepresentedGroupErrors, ThrowOnError>({ url: '/users/{userId}/groups/represented', ...options });\n }\n \n /**\n * Get User Group Requests\n *\n * Returns a list of Groups the user has requested to be invited into.\n */\n public getUserGroupRequests<ThrowOnError extends boolean = false>(options: Options<GetUserGroupRequests, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserGroupRequestsResponses, GetUserGroupRequestsErrors, ThrowOnError>({\n responseTransformer: getUserGroupRequestsResponseTransformer,\n url: '/users/{userId}/groups/requested',\n ...options\n });\n }\n \n /**\n * Get User Group Instances\n *\n * Returns a list of group instances for a user\n */\n public getUserGroupInstances<ThrowOnError extends boolean = false>(options: Options<GetUserGroupInstances, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserGroupInstancesResponses, GetUserGroupInstancesErrors, ThrowOnError>({\n responseTransformer: getUserGroupInstancesResponseTransformer,\n url: '/users/{userId}/instances/groups',\n ...options\n });\n }\n \n /**\n * Get User Group Instances for a specific Group\n *\n * Returns a list of a group's instances for a user\n */\n public getUserGroupInstancesForGroup<ThrowOnError extends boolean = false>(options: Options<GetUserGroupInstancesForGroup, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserGroupInstancesForGroupResponses, GetUserGroupInstancesForGroupErrors, ThrowOnError>({\n responseTransformer: getUserGroupInstancesForGroupResponseTransformer,\n url: '/users/{userId}/instances/groups/{groupId}',\n ...options\n });\n }\n \n /**\n * Get User Mutuals\n *\n * Gets the counts of mutuals between the logged in user and the specified user\n */\n public getMutuals<ThrowOnError extends boolean = false>(options: Options<GetMutuals, ThrowOnError>) {\n return (options.client ?? this.client).get<GetMutualsResponses, GetMutualsErrors, ThrowOnError>({ url: '/users/{userId}/mutuals', ...options });\n }\n \n /**\n * Get User Mutual Friends\n *\n * Gets a list of mutual friends between the logged in user and the specified user\n */\n public getMutualFriends<ThrowOnError extends boolean = false>(options: Options<GetMutualFriends, ThrowOnError>) {\n return (options.client ?? this.client).get<GetMutualFriendsResponses, GetMutualFriendsErrors, ThrowOnError>({ url: '/users/{userId}/mutuals/friends', ...options });\n }\n \n /**\n * Get User Mutual Groups\n *\n * Gets a list of mutual groups between the logged in user and the specified user\n */\n public getMutualGroups<ThrowOnError extends boolean = false>(options: Options<GetMutualGroups, ThrowOnError>) {\n return (options.client ?? this.client).get<GetMutualGroupsResponses, GetMutualGroupsErrors, ThrowOnError>({\n responseTransformer: getMutualGroupsResponseTransformer,\n url: '/users/{userId}/mutuals/groups',\n ...options\n });\n }\n \n /**\n * Remove User Tags\n *\n * Removes tags from the user's profile\n */\n public removeTags<ThrowOnError extends boolean = false>(options: Options<RemoveTags, ThrowOnError>) {\n return (options.client ?? this.client).post<RemoveTagsResponses, RemoveTagsErrors, ThrowOnError>({\n responseTransformer: removeTagsResponseTransformer,\n url: '/users/{userId}/removeTags',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get User Subscription Eligiblity\n *\n * Get the user's eligibility status for subscriptions.\n */\n public getUserSubscriptionEligible<ThrowOnError extends boolean = false>(options: Options<GetUserSubscriptionEligible, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserSubscriptionEligibleResponses, GetUserSubscriptionEligibleErrors, ThrowOnError>({ url: '/users/{userId}/subscription/eligible', ...options });\n }\n \n /**\n * Delete User Persistence\n *\n * Deletes the user's persistence data for a given world\n */\n public deleteUserPersistence<ThrowOnError extends boolean = false>(options: Options<DeleteUserPersistence, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteUserPersistenceResponses, DeleteUserPersistenceErrors, ThrowOnError>({ url: '/users/{userId}/{worldId}/persist', ...options });\n }\n \n /**\n * Check User Persistence Exists\n *\n * Checks whether the user has persistence data for a given world\n */\n public checkUserPersistenceExists<ThrowOnError extends boolean = false>(options: Options<CheckUserPersistenceExists, ThrowOnError>) {\n return (options.client ?? this.client).get<CheckUserPersistenceExistsResponses, CheckUserPersistenceExistsErrors, ThrowOnError>({ url: '/users/{userId}/{worldId}/persist/exists', ...options });\n }\n \n /**\n * Get User by Username\n *\n * ~~Get public user information about a specific user using their name.~~\n *\n * **DEPRECATED:** VRChat API no longer return usernames of other users. [See issue by Tupper for more information](https://github.com/pypy-vrc/VRCX/issues/429).\n * This endpoint now require Admin Credentials.\n *\n * @deprecated\n */\n public getUserByName<ThrowOnError extends boolean = false>(options: Options<GetUserByName, ThrowOnError>) {\n return (options.client ?? this.client).get<GetUserByNameResponses, GetUserByNameErrors, ThrowOnError>({\n responseTransformer: getUserByNameResponseTransformer,\n url: '/users/{username}/name',\n ...options\n });\n }\n \n /**\n * Current Online Users\n *\n * Returns the current number of online users.\n *\n * **NOTE:** The response type is not a JSON object, but a simple JSON integer.\n */\n public getCurrentOnlineUsers<ThrowOnError extends boolean = false>(options?: Options<GetCurrentOnlineUsers, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetCurrentOnlineUsersResponses, unknown, ThrowOnError>({ url: '/visits', ...options });\n }\n \n /**\n * Search All Worlds\n *\n * Search and list any worlds by query filters.\n */\n public searchWorlds<ThrowOnError extends boolean = false>(options?: Options<SearchWorlds, ThrowOnError>) {\n return (options?.client ?? this.client).get<SearchWorldsResponses, SearchWorldsErrors, ThrowOnError>({\n responseTransformer: searchWorldsResponseTransformer,\n url: '/worlds',\n ...options\n });\n }\n \n /**\n * Create World\n *\n * Create a new world. This endpoint requires `assetUrl` to be a valid File object with `.vrcw` file extension, and `imageUrl` to be a valid File object with an image file extension.\n */\n public createWorld<ThrowOnError extends boolean = false>(options?: Options<CreateWorld, ThrowOnError>) {\n return (options?.client ?? this.client).post<CreateWorldResponses, CreateWorldErrors, ThrowOnError>({\n responseTransformer: createWorldResponseTransformer,\n url: '/worlds',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options?.headers\n }\n });\n }\n \n /**\n * List Active Worlds\n *\n * Search and list currently Active worlds by query filters.\n */\n public getActiveWorlds<ThrowOnError extends boolean = false>(options?: Options<GetActiveWorlds, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetActiveWorldsResponses, GetActiveWorldsErrors, ThrowOnError>({\n responseTransformer: getActiveWorldsResponseTransformer,\n url: '/worlds/active',\n ...options\n });\n }\n \n /**\n * List Favorited Worlds\n *\n * Search and list favorited worlds by query filters.\n */\n public getFavoritedWorlds<ThrowOnError extends boolean = false>(options?: Options<GetFavoritedWorlds, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetFavoritedWorldsResponses, GetFavoritedWorldsErrors, ThrowOnError>({\n responseTransformer: getFavoritedWorldsResponseTransformer,\n url: '/worlds/favorites',\n ...options\n });\n }\n \n /**\n * List Recent Worlds\n *\n * Search and list recently visited worlds by query filters.\n */\n public getRecentWorlds<ThrowOnError extends boolean = false>(options?: Options<GetRecentWorlds, ThrowOnError>) {\n return (options?.client ?? this.client).get<GetRecentWorldsResponses, GetRecentWorldsErrors, ThrowOnError>({\n responseTransformer: getRecentWorldsResponseTransformer,\n url: '/worlds/recent',\n ...options\n });\n }\n \n /**\n * Delete World\n *\n * Delete a world. Notice a world is never fully \"deleted\", only its ReleaseStatus is set to \"hidden\" and the linked Files are deleted. The WorldID is permanently reserved.\n */\n public deleteWorld<ThrowOnError extends boolean = false>(options: Options<DeleteWorld, ThrowOnError>) {\n return (options.client ?? this.client).delete<DeleteWorldResponses, DeleteWorldErrors, ThrowOnError>({ url: '/worlds/{worldId}', ...options });\n }\n \n /**\n * Get World by ID\n *\n * Get information about a specific World.\n * Works unauthenticated but when so will always return `0` for certain fields.\n */\n public getWorld<ThrowOnError extends boolean = false>(options: Options<GetWorld, ThrowOnError>) {\n return (options.client ?? this.client).get<GetWorldResponses, GetWorldErrors, ThrowOnError>({\n responseTransformer: getWorldResponseTransformer,\n url: '/worlds/{worldId}',\n ...options\n });\n }\n \n /**\n * Update World\n *\n * Update information about a specific World.\n */\n public updateWorld<ThrowOnError extends boolean = false>(options: Options<UpdateWorld, ThrowOnError>) {\n return (options.client ?? this.client).put<UpdateWorldResponses, UpdateWorldErrors, ThrowOnError>({\n responseTransformer: updateWorldResponseTransformer,\n url: '/worlds/{worldId}',\n ...options,\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n }\n });\n }\n \n /**\n * Get World Metadata\n *\n * Return a worlds custom metadata. This is currently believed to be unused. Metadata can be set with `updateWorld` and can be any arbitrary object.\n *\n * @deprecated\n */\n public getWorldMetadata<ThrowOnError extends boolean = false>(options: Options<GetWorldMetadata, ThrowOnError>) {\n return (options.client ?? this.client).get<GetWorldMetadataResponses, GetWorldMetadataErrors, ThrowOnError>({ url: '/worlds/{worldId}/metadata', ...options });\n }\n \n /**\n * Unpublish World\n *\n * Unpublish a world.\n */\n public unpublishWorld<ThrowOnError extends boolean = false>(options: Options<UnpublishWorld, ThrowOnError>) {\n return (options.client ?? this.client).delete<UnpublishWorldResponses, UnpublishWorldErrors, ThrowOnError>({ url: '/worlds/{worldId}/publish', ...options });\n }\n \n /**\n * Get World Publish Status\n *\n * Returns a worlds publish status.\n */\n public getWorldPublishStatus<ThrowOnError extends boolean = false>(options: Options<GetWorldPublishStatus, ThrowOnError>) {\n return (options.client ?? this.client).get<GetWorldPublishStatusResponses, GetWorldPublishStatusErrors, ThrowOnError>({ url: '/worlds/{worldId}/publish', ...options });\n }\n \n /**\n * Publish World\n *\n * Publish a world. You can only publish one world per week.\n */\n public publishWorld<ThrowOnError extends boolean = false>(options: Options<PublishWorld, ThrowOnError>) {\n return (options.client ?? this.client).put<PublishWorldResponses, PublishWorldErrors, ThrowOnError>({ url: '/worlds/{worldId}/publish', ...options });\n }\n \n /**\n * Get World Instance\n *\n * Returns a worlds instance.\n */\n public getWorldInstance<ThrowOnError extends boolean = false>(options: Options<GetWorldInstance, ThrowOnError>) {\n return (options.client ?? this.client).get<GetWorldInstanceResponses, GetWorldInstanceErrors, ThrowOnError>({\n responseTransformer: getWorldInstanceResponseTransformer,\n url: '/worlds/{worldId}/{instanceId}',\n ...options\n });\n }\n}\n","export interface Cookie {\n\tname: string;\n\tvalue: string;\n\t/**\n\t * The expiration time of the cookie in milliseconds since the epoch.\n\t * If the cookie does not expire, this will be `null`.\n\t */\n\texpires: number | null;\n\toptions: Record<string, string>;\n}\n\n/**\n * Parses a Set-Cookie header string into a Cookie object.\n *\n * @param cookie - The Set-Cookie header string to parse.\n * @returns A Cookie object containing the name, value, expiration time, and options.\n *\n * @see [Set-Cookie header on MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie)\n */\nexport function parseSetCookie(cookie: string): Cookie {\n\tconst [name, ...rest] = cookie.split(\"=\") as [string, ...Array<string>];\n\tconst [value, ..._options] = rest.join(\"=\").split(\";\") as [string, ...Array<string>];\n\n\tconst options = Object.fromEntries(_options.map((option) => {\n\t\tconst [name, value] = option.split(\"=\") as [string, string];\n\t\treturn [name.trim().toLowerCase(), value];\n\t})) as Record<string, string>;\n\n\t// If both Expires and Max-Age are set, Max-Age has precedence.\n\t// https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#max-agenumber\n\tconst expires = options[\"max-age\"]\n\t\t? Date.now() + Number(options[\"max-age\"]) * 1000\n\t\t: options.expires\n\t\t\t? new Date(options.expires).getTime()\n\t\t\t: null;\n\n\treturn { name, value, expires, options };\n}\n\nexport function serializeCookie({ name, value }: Pick<Cookie, \"name\" | \"value\">): string {\n\treturn `${name}=${value}`;\n}\n\nexport function serializeCookies(cookies: Array<Cookie>): string {\n\treturn cookies.map(serializeCookie).join(\"; \");\n}\n\nexport function toCookiesObject(cookies: Array<Cookie>): Record<string, Cookie> {\n\treturn Object.fromEntries(cookies.map((cookie) => [cookie.name, cookie] as const));\n}\n\nexport function isCookieValid(cookie: Cookie): boolean {\n\treturn cookie.expires === null || cookie.expires > Date.now();\n}\n","import type { TwoFactorMethods } from \"../types\";\n\nexport function requiresTwoFactorAuth(data?: unknown): data is { requiresTwoFactorAuth: Array<TwoFactorMethods> } {\n\treturn !!data && typeof data === \"object\" && \"requiresTwoFactorAuth\" in data && Array.isArray(data.requiresTwoFactorAuth);\n}\n\nexport function isUser(data?: unknown): data is { id: string } {\n\treturn !!data && typeof data === \"object\" && \"id\" in data && typeof data.id === \"string\";\n}\n","export type MaybePromise<T> = Promise<T> | T;\n\nexport type LazyFunction<T> = () => MaybePromise<T>;\nexport type Lazy<T> = LazyFunction<T> | MaybePromise<T>;\n\nfunction isLazyFunction<T>(value: Lazy<T>): value is LazyFunction<T> {\n\treturn typeof value === \"function\";\n}\n\n/**\n * Collapse a lazy value into a promise.\n *\n * If the value is a function, it will be called and the result will be returned.\n * If the value is already a promise or a non-function value, it will be returned as is.\n *\n * @param value The lazy value to collapse.\n * @returns A promise that resolves to the value.\n */\nexport async function collapse<T>(value: Lazy<T>): Promise<T> {\n\treturn isLazyFunction(value) ? value() : value;\n}\n","export const authenticateSymbol = Symbol(\"authenticate\");\n","import { Cacheable, CacheableHooks } from \"cacheable\";\nimport Keyv from \"keyv\";\nimport { TOTP } from \"totp-generator\";\n\nimport { getUserAgent, isApplication } from \"./application\";\nimport { fail, VRChatError } from \"./error\";\nimport { createClient, createConfig } from \"./generated/client\";\nimport type { Client } from \"./generated/client\";\nimport type { Options } from \"./generated/sdk.gen\";\nimport { VRChatInternal } from \"./generated/sdk.gen\";\nimport type { Cookie } from \"./lib/cookie\";\nimport {\n\tisCookieValid,\n\tparseSetCookie,\n\tserializeCookies,\n\ttoCookiesObject\n} from \"./lib/cookie\";\nimport { isUser, requiresTwoFactorAuth } from \"./lib/guards\";\nimport type { Lazy } from \"./lib/lazy\";\nimport { collapse } from \"./lib/lazy\";\nimport { log } from \"./lib/log\";\nimport { authenticateSymbol } from \"./lib/symbols\";\nimport type { LoginCredentials, LoginOptions, LoginResult, VRChatOptions } from \"./types\";\nimport { VRChatWebsocket } from \"./websocket\";\n\nexport const logCache = log.extend(\"cache\");\nexport const logHttp = log.extend(\"http\");\n\nexport class VRChat extends VRChatInternal {\n\tprivate cache: Cacheable;\n\n\tprivate credentials?: Lazy<LoginCredentials>;\n\tprivate authenticatePromise?: Promise<LoginResult>;\n\n\tpublic readonly client: Client;\n\tpublic readonly pipeline: VRChatWebsocket;\n\n\tpublic constructor(public readonly options: VRChatOptions) {\n\t\tconst {\n\t\t\tapplication,\n\t\t\tauthentication,\n\t\t\tkeyv,\n\t\t\tverbose,\n\t\t\tpipeline: websocketOptions,\n\t\t\t...clientOptions\n\t\t} = options;\n\n\t\tif (!isApplication(application))\n\t\t\tthrow VRChatError.from(\"You must provide an application name, version, and contact information.\");\n\n\t\tconst headers = new Headers(clientOptions.headers as HeadersInit);\n\t\theaders.set(\"user-agent\", getUserAgent(application));\n\n\t\tconst client = createClient(createConfig({\n\t\t\t...clientOptions,\n\t\t\theaders\n\t\t}));\n\n\t\tsuper({ client });\n\t\tthis.client = client;\n\n\t\tif (verbose) {\n\t\t\tlog.enabled = true;\n\t\t\tlogCache.enabled = true;\n\t\t}\n\n\t\tthis.cache = new Cacheable({\n\t\t\tnonBlocking: true,\n\t\t\tsecondary:\n\t\t\t\tkeyv\n\t\t\t\t\t? keyv instanceof Keyv\n\t\t\t\t\t\t? keyv\n\t\t\t\t\t\t: new Keyv({\n\t\t\t\t\t\t\tstore: keyv\n\t\t\t\t\t\t})\n\t\t\t\t\t: undefined\n\t\t});\n\n\t\tprocess.on(\"beforeExit\", () => this.cache.disconnect());\n\n\t\tconst { interceptors } = client;\n\n\t\tif (log.enabled) {\n\t\t\tinterceptors.request.use(async (request, options) => {\n\t\t\t\tconst clone = request.clone();\n\n\t\t\t\tlogHttp(\n\t\t\t\t\t\"%s %s %O\",\n\t\t\t\t\trequest.method,\n\t\t\t\t\trequest.url.slice((options.baseUrl as string).length),\n\t\t\t\t\tawait clone.json().catch(() => clone.text())\n\t\t\t\t);\n\n\t\t\t\treturn request;\n\t\t\t});\n\n\t\t\tinterceptors.response.use(async (response, request, options) => {\n\t\t\t\tconst clone = response.clone();\n\n\t\t\t\tlogHttp(\n\t\t\t\t\t\"%s %s %o %s %O\",\n\t\t\t\t\trequest.method,\n\t\t\t\t\trequest.url.slice((options.baseUrl as string).length),\n\t\t\t\t\tclone.status,\n\t\t\t\t\tclone.statusText,\n\t\t\t\t\tawait clone.json().catch(() => clone.text())\n\t\t\t\t);\n\n\t\t\t\treturn response;\n\t\t\t});\n\t\t}\n\n\t\tif (logCache.enabled) {\n\t\t\tthis.cache.onHooks(\n\t\t\t\tObject\n\t\t\t\t\t.values(CacheableHooks)\n\t\t\t\t\t.map((event) => ({\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\thandler: (data) => logCache(`%s %O`, event.toLowerCase(), data)\n\t\t\t\t\t}))\n\t\t\t);\n\t\t}\n\n\t\tinterceptors.request.use(async (request, options) => {\n\t\t\tconst { meta = {} } = options as Options as { meta: Record<PropertyKey, unknown> };\n\n\t\t\t// If the session is being refreshed, wait for the authentication to complete.\n\t\t\tif (this.authenticatePromise && !meta[authenticateSymbol]) {\n\t\t\t\tlog(\"%Waiting for authentication to complete...\");\n\t\t\t\tawait this.authenticatePromise.catch(() => { });\n\t\t\t}\n\n\t\t\tif (request.credentials !== \"omit\") {\n\t\t\t\tconst cookies = await this.getCookies();\n\t\t\t\tif (!cookies.length) return request;\n\n\t\t\t\trequest.headers.set(\"cookie\", serializeCookies(cookies));\n\t\t\t}\n\n\t\t\treturn request;\n\t\t});\n\n\t\tinterceptors.response.use(async (response, request, options) => {\n\t\t\tconst { meta } = options as Options as { meta: Record<PropertyKey, unknown> };\n\n\t\t\tawait this.saveCookies(response.headers);\n\n\t\t\tif (response.status === 401 && !meta[authenticateSymbol]) {\n\t\t\t\tconst error = VRChatError.from(await response.clone().json());\n\t\t\t\tconst partial = error.message.toLowerCase() === \"requires two-factor authentication\";\n\n\t\t\t\tconst authenticationResult = await this.authenticate({ partial });\n\t\t\t\tif (!authenticationResult.data)\n\t\t\t\t\treturn Response.json(\n\t\t\t\t\t\tauthenticationResult.error.toResponseContent(),\n\t\t\t\t\t\tauthenticationResult.response\n\t\t\t\t\t);\n\n\t\t\t\tconst { data, error: newError, response: newResponse } = (await this.client.request(options as any));\n\t\t\t\treturn Response.json(\n\t\t\t\t\tdata || (newError as VRChatError)?.toResponseContent(),\n\t\t\t\t\tnewResponse\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn response;\n\t\t});\n\n\t\tinterceptors.error.use((reason, response, request) => VRChatError.from(reason, { request, response }));\n\n\t\tif (authentication) {\n\t\t\tconst { credentials, optimistic = true } = authentication;\n\t\t\tthis.setCredentials(credentials);\n\n\t\t\t// If the optimistic option is set, authenticate immediately.\n\t\t\tif (optimistic) void this.authenticate({ partial: true });\n\t\t}\n\n\t\tthis.pipeline = new VRChatWebsocket({ ...websocketOptions, headers });\n\t}\n\n\tpublic setCredentials(credentials?: Lazy<LoginCredentials>): void {\n\t\tthis.credentials = credentials;\n\t}\n\n\tprivate async authenticate({ partial = false }: { partial?: boolean } = {}): Promise<LoginResult> {\n\t\tconst { authenticatePromise, credentials: _credentials } = this;\n\t\tif (authenticatePromise) return authenticatePromise;\n\n\t\tlog(\"%s(%O)\", this.authenticate.name, { partial });\n\n\t\tconst { promise, resolve: _resolve } = Promise.withResolvers<LoginResult>();\n\n\t\tthis.authenticatePromise = promise;\n\n\t\tconst resolve = (value: LoginResult): LoginResult => {\n\t\t\t_resolve(value);\n\t\t\tthis.authenticatePromise = undefined;\n\n\t\t\treturn value;\n\t\t};\n\n\t\tconst cookies = toCookiesObject(await this.getCookies());\n\t\tif (!cookies.auth) partial = false;\n\n\t\tif (cookies.auth) this.pipeline?.authenticate(cookies.auth.value);\n\n\t\tlet value: LoginResult | undefined;\n\n\t\tif (partial) {\n\t\t\tvalue = await this.getCurrentUser({ meta: { [authenticateSymbol]: true }, responseTransformer: undefined });\n\t\t\tif (isUser(value?.data)) {\n\t\t\t\treturn resolve(value);\n\t\t\t}\n\t\t}\n\n\t\tconst credentials = await collapse(_credentials);\n\t\t// @ts-expect-error: todo.\n\t\tif (!credentials) return resolve(fail({ message: \"Missing Credentials\" }));\n\n\t\tlog(\"%O\", credentials);\n\n\t\tif (value && requiresTwoFactorAuth(value.data)) {\n\t\t\tvalue = await this.loginWith2FA(value, credentials, { meta: { [authenticateSymbol]: true } });\n\n\t\t\tif (value?.error) return resolve(value);\n\t\t\tif (isUser(value?.data)) return resolve(value);\n\t\t}\n\n\t\tvalue = await this.login({ ...credentials, meta: { [authenticateSymbol]: true } });\n\t\tif (isUser(value?.data)) return resolve(value);\n\n\t\treturn resolve(value);\n\t}\n\n\t/**\n\t * Logs in to the VRChat API using the provided credentials, and returns the current user.\n\t * This method handles two-factor authentication if required using the provided `twoFactorCode` function or `totpSecret`.\n\t *\n\t * @param options - The login options, including username, password, and optional two-factor authentication details.\n\t * @returns A promise that resolves to the current user data, or an error if the login fails.\n\t */\n\tpublic async login<ThrowOnError extends boolean = false>(\n\t\toptions: LoginOptions<ThrowOnError>\n\t): Promise<LoginResult<ThrowOnError>> {\n\t\tconst { username, password, totpSecret, twoFactorCode, ...rest } = options;\n\t\tlog(\"%s(%O)\", this.login.name, { username, password, totpSecret, twoFactorCode, ...rest });\n\n\t\tlet value = await this.getCurrentUser({\n\t\t\t...rest,\n\t\t\tcredentials: \"omit\",\n\t\t\tresponseTransformer: undefined,\n\t\t\theaders: {\n\t\t\t\tauthorization: `Basic ${btoa(`${encodeURIComponent(username)}:${encodeURIComponent(password)}`)}`\n\t\t\t}\n\t\t});\n\n\t\tif (!value.data) return value;\n\n\t\tif (requiresTwoFactorAuth(value.data))\n\t\t\tvalue = await this.loginWith2FA(value, { totpSecret, twoFactorCode }, options);\n\n\t\treturn value;\n\t}\n\n\tprivate async loginWith2FA<ThrowOnError extends boolean = false>(\n\t\tvalue: LoginResult<ThrowOnError>,\n\t\t{\n\t\t\ttotpSecret,\n\t\t\ttwoFactorCode\n\t\t}: Pick<LoginCredentials, \"totpSecret\" | \"twoFactorCode\">,\n\t\toptions: Omit<LoginOptions<ThrowOnError>, keyof LoginCredentials>\n\t): Promise<LoginResult<ThrowOnError>> {\n\t\tlog(\"%s(%O)\", this.loginWith2FA.name, { value, totpSecret, twoFactorCode });\n\n\t\tif (!requiresTwoFactorAuth(value.data))\n\t\t\treturn value;\n\n\t\tconst { throwOnError } = options;\n\t\tconst { data: { requiresTwoFactorAuth: twoFactorMethods }, request, response } = value;\n\n\t\tif (twoFactorMethods.includes(\"totp\") && totpSecret && !twoFactorCode)\n\t\t\ttwoFactorCode = (await TOTP.generate(totpSecret)).otp;\n\n\t\tconst code = await collapse(twoFactorCode) || \"\";\n\n\t\tconst factors = await Promise.all([\n\t\t\ttwoFactorMethods.includes(\"totp\") ? this.verify2Fa.bind(this) : undefined,\n\t\t\ttwoFactorMethods.includes(\"emailOtp\") ? this.verify2FaEmailCode.bind(this) : undefined,\n\t\t\ttwoFactorMethods.includes(\"otp\") ? this.verifyRecoveryCode.bind(this) : undefined\n\t\t].filter(Boolean).map((function_) => function_?.({\n\t\t\t...options,\n\t\t\tthrowOnError: false,\n\t\t\tbody: {\n\t\t\t\tcode\n\t\t\t}\n\t\t})));\n\n\t\tif (factors.length === 0)\n\t\t\t// @ts-expect-error: todo.\n\t\t\treturn fail({\n\t\t\t\tthrowOnError,\n\t\t\t\tmessage: \"Couldn't verify two-factor authentication, no valid methods found\",\n\t\t\t\tresponse,\n\t\t\t\trequest\n\t\t\t});\n\n\t\t// If all factors failed, return the first error.\n\t\tif (factors.every((value) => !value?.data?.verified)) {\n\t\t\tconst factor = factors.find((factor) => factor?.error)!;\n\n\t\t\tif (throwOnError) throw factor.error;\n\t\t\t// @ts-expect-error: todo.\n\t\t\treturn factor;\n\t\t}\n\n\t\t// @ts-expect-error: todo.\n\t\treturn this.getCurrentUser(options);\n\t}\n\n\t/**\n\t * Alias for `vrchat.pipeline.on(...)`.\n\t */\n\tpublic get on(): VRChatWebsocket[\"on\"] {\n\t\treturn this.pipeline.on.bind(this.pipeline);\n\t}\n\n\tprivate async getCookies(): Promise<Array<Cookie>> {\n\t\tconst allCookies = await this.cache.get<Array<Cookie>>(\"cookies\");\n\t\tif (!allCookies) return [];\n\n\t\tconst cookies = allCookies.filter(isCookieValid);\n\n\t\treturn cookies;\n\t}\n\n\tprivate async saveCookies(headers: Headers): Promise<void> {\n\t\tconst newCookies = headers.getSetCookie().map(parseSetCookie);\n\t\tif (!newCookies.length) return;\n\n\t\tconst cookies = Object.values(\n\t\t\tObject\n\t\t\t\t.fromEntries([\n\t\t\t\t\t// A race-condition may occur here, but it is unlikely to cause issues.\n\t\t\t\t\t// If it does, some cookies may be lost, but the most recent ones will be saved.\n\t\t\t\t\t...(await this.getCookies()),\n\t\t\t\t\t...newCookies\n\t\t\t\t]\n\t\t\t\t\t.filter(isCookieValid)\n\t\t\t\t\t.map((cookie) => [cookie.name, cookie] as const))\n\t\t);\n\n\t\tawait this.cache.set(\"cookies\", cookies);\n\t}\n}\n"]}
|