// This file was generated by [tauri-specta](https://github.com/oscartbeaumont/tauri-specta). Do not edit this file manually. /** user-defined commands **/ export const commands = { async getAppData() : Promise { return await TAURI_INVOKE("get_app_data"); }, async getAppState() : Promise { return await TAURI_INVOKE("get_app_state"); }, async getNekoPositions() : Promise { return await TAURI_INVOKE("get_neko_positions"); }, async getActiveDollSpriteBase64() : Promise { return await TAURI_INVOKE("get_active_doll_sprite_base64"); }, async getFriendActiveDollSpritesBase64() : Promise { return await TAURI_INVOKE("get_friend_active_doll_sprites_base64"); }, async refreshAppData() : Promise { return await TAURI_INVOKE("refresh_app_data"); }, async listFriends() : Promise { return await TAURI_INVOKE("list_friends"); }, async searchUsers(username: string | null) : Promise { return await TAURI_INVOKE("search_users", { username }); }, async sendFriendRequest(request: SendFriendRequestDto) : Promise { return await TAURI_INVOKE("send_friend_request", { request }); }, async receivedFriendRequests() : Promise { return await TAURI_INVOKE("received_friend_requests"); }, async sentFriendRequests() : Promise { return await TAURI_INVOKE("sent_friend_requests"); }, async acceptFriendRequest(requestId: string) : Promise { return await TAURI_INVOKE("accept_friend_request", { requestId }); }, async denyFriendRequest(requestId: string) : Promise { return await TAURI_INVOKE("deny_friend_request", { requestId }); }, async unfriend(friendId: string) : Promise { return await TAURI_INVOKE("unfriend", { friendId }); }, async getDolls() : Promise { return await TAURI_INVOKE("get_dolls"); }, async getDoll(id: string) : Promise { return await TAURI_INVOKE("get_doll", { id }); }, async createDoll(dto: CreateDollDto) : Promise { return await TAURI_INVOKE("create_doll", { dto }); }, async updateDoll(id: string, dto: UpdateDollDto) : Promise { return await TAURI_INVOKE("update_doll", { id, dto }); }, async deleteDoll(id: string) : Promise { return await TAURI_INVOKE("delete_doll", { id }); }, async setActiveDoll(dollId: string) : Promise { return await TAURI_INVOKE("set_active_doll", { dollId }); }, async removeActiveDoll() : Promise { return await TAURI_INVOKE("remove_active_doll"); }, async recolorGifBase64(whiteColorHex: string, blackColorHex: string, applyTexture: boolean) : Promise { return await TAURI_INVOKE("recolor_gif_base64", { whiteColorHex, blackColorHex, applyTexture }); }, async encodePetDollGifBase64(doll: DollDto) : Promise { return await TAURI_INVOKE("encode_pet_doll_gif_base64", { doll }); }, async quitApp() : Promise { return await TAURI_INVOKE("quit_app"); }, async restartApp() : Promise { await TAURI_INVOKE("restart_app"); }, /** * Attempt to re-establish the user session without restarting the app. * * Validates server health, checks for a valid session token, * then reconstructs the user session (re-fetches app data + WebSocket). */ async retryConnection() : Promise { return await TAURI_INVOKE("retry_connection"); }, async getClientConfig() : Promise { return await TAURI_INVOKE("get_client_config"); }, async saveClientConfig(config: AppConfig) : Promise { return await TAURI_INVOKE("save_client_config", { config }); }, async openClientConfig() : Promise { return await TAURI_INVOKE("open_client_config"); }, async openDollEditorWindow(dollId: string | null) : Promise { await TAURI_INVOKE("open_doll_editor_window", { dollId }); }, async getSceneInteractive() : Promise { return await TAURI_INVOKE("get_scene_interactive"); }, async setSceneInteractive(interactive: boolean, shouldClick: boolean) : Promise { await TAURI_INVOKE("set_scene_interactive", { interactive, shouldClick }); }, async setPetMenuState(id: string, open: boolean) : Promise { await TAURI_INVOKE("set_pet_menu_state", { id, open }); }, async startGoogleAuth() : Promise { return await TAURI_INVOKE("start_google_auth"); }, async startDiscordAuth() : Promise { return await TAURI_INVOKE("start_discord_auth"); }, async logoutAndRestart() : Promise { return await TAURI_INVOKE("logout_and_restart"); }, async sendInteractionCmd(dto: SendInteractionDto) : Promise { return await TAURI_INVOKE("send_interaction_cmd", { dto }); }, async getModules() : Promise { return await TAURI_INVOKE("get_modules"); }, async setSceneSetupNekosPosition(nekosPosition: NekoPosition | null) : Promise { await TAURI_INVOKE("set_scene_setup_nekos_position", { nekosPosition }); }, async setSceneSetupNekosOpacity(nekosOpacity: number) : Promise { await TAURI_INVOKE("set_scene_setup_nekos_opacity", { nekosOpacity }); }, async setSceneSetupNekosScale(nekosScale: number) : Promise { await TAURI_INVOKE("set_scene_setup_nekos_scale", { nekosScale }); } } /** user-defined events **/ export const events = __makeEvents__<{ activeDollSpriteChanged: ActiveDollSpriteChanged, appDataRefreshed: AppDataRefreshed, appStateChanged: AppStateChanged, authFlowUpdated: AuthFlowUpdated, createDoll: CreateDoll, editDoll: EditDoll, friendActiveDollChanged: FriendActiveDollChanged, friendActiveDollSpritesUpdated: FriendActiveDollSpritesUpdated, friendDisconnected: FriendDisconnected, friendRequestAccepted: FriendRequestAccepted, friendRequestDenied: FriendRequestDenied, friendRequestReceived: FriendRequestReceived, friendUserStatusChanged: FriendUserStatusChanged, interactionDeliveryFailed: InteractionDeliveryFailed, interactionReceived: InteractionReceived, nekoPositionsUpdated: NekoPositionsUpdated, sceneInteractiveChanged: SceneInteractiveChanged, setInteractionOverlay: SetInteractionOverlay, unfriended: Unfriended, userStatusChanged: UserStatusChanged }>({ activeDollSpriteChanged: "active-doll-sprite-changed", appDataRefreshed: "app-data-refreshed", appStateChanged: "app-state-changed", authFlowUpdated: "auth-flow-updated", createDoll: "create-doll", editDoll: "edit-doll", friendActiveDollChanged: "friend-active-doll-changed", friendActiveDollSpritesUpdated: "friend-active-doll-sprites-updated", friendDisconnected: "friend-disconnected", friendRequestAccepted: "friend-request-accepted", friendRequestDenied: "friend-request-denied", friendRequestReceived: "friend-request-received", friendUserStatusChanged: "friend-user-status-changed", interactionDeliveryFailed: "interaction-delivery-failed", interactionReceived: "interaction-received", nekoPositionsUpdated: "neko-positions-updated", sceneInteractiveChanged: "scene-interactive-changed", setInteractionOverlay: "set-interaction-overlay", unfriended: "unfriended", userStatusChanged: "user-status-changed" }) /** user-defined constants **/ /** user-defined types **/ export type AcceleratorAction = "scene_interactivity" export type AcceleratorKey = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" | "num_0" | "num_1" | "num_2" | "num_3" | "num_4" | "num_5" | "num_6" | "num_7" | "num_8" | "num_9" | "f1" | "f2" | "f3" | "f4" | "f5" | "f6" | "f7" | "f8" | "f9" | "f10" | "f11" | "f12" | "enter" | "space" | "escape" | "tab" | "backspace" | "delete" | "insert" | "home" | "end" | "page_up" | "page_down" | "arrow_up" | "arrow_down" | "arrow_left" | "arrow_right" | "minus" | "equal" | "left_bracket" | "right_bracket" | "back_slash" | "semicolon" | "apostrophe" | "comma" | "dot" | "slash" | "grave" export type AcceleratorModifier = "cmd" | "alt" | "ctrl" | "shift" export type ActiveDollSpriteChanged = string | null export type AppConfig = { api_base_url: string | null; debug_mode: boolean; accelerators?: Partial<{ [key in AcceleratorAction]: KeyboardAccelerator }> } export type AppDataRefreshed = UserData export type AppState = { sceneSetup: SceneSetup } export type AppStateChanged = AppState export type AuthFlowStatus = "started" | "succeeded" | "failed" | "cancelled" export type AuthFlowUpdated = AuthFlowUpdatedPayload export type AuthFlowUpdatedPayload = { provider: string; status: AuthFlowStatus; message: string | null } export type CreateDoll = null export type CreateDollDto = { name: string; configuration: DollConfigurationDto | null } export type CursorPosition = { x: number; y: number } export type CursorPositions = { raw: CursorPosition; mapped: CursorPosition } export type DisplayData = { screen_width: number; screen_height: number; monitor_scale_factor: number } export type DollColorSchemeDto = { outline: string; body: string } export type DollConfigurationDto = { colorScheme: DollColorSchemeDto } export type DollDto = { id: string; name: string; configuration: DollConfigurationDto; createdAt: string; updatedAt: string } export type EditDoll = string export type FriendActiveDollChanged = FriendActiveDollChangedPayload export type FriendActiveDollChangedPayload = { friendId: string; doll: DollDto | null } export type FriendActiveDollSpritesDto = Partial<{ [key in string]: string }> export type FriendActiveDollSpritesUpdated = FriendActiveDollSpritesDto export type FriendDisconnected = FriendDisconnectedPayload export type FriendDisconnectedPayload = { userId: string } export type FriendRequestAccepted = FriendRequestAcceptedPayload export type FriendRequestAcceptedPayload = { id: string; friend: UserBasicDto; acceptedAt: string } export type FriendRequestDenied = FriendRequestDeniedPayload export type FriendRequestDeniedPayload = { id: string; denier: UserBasicDto; deniedAt: string } export type FriendRequestReceived = FriendRequestReceivedPayload export type FriendRequestReceivedPayload = { id: string; sender: UserBasicDto; createdAt: string } export type FriendRequestResponseDto = { id: string; sender: UserBasicDto; receiver: UserBasicDto; status: string; createdAt: string; updatedAt: string } export type FriendUserStatusChanged = FriendUserStatusPayload export type FriendUserStatusPayload = { userId: string; status: UserStatusPayload } export type FriendshipResponseDto = { id: string; friend: UserBasicDto | null; createdAt: string } export type InteractionDeliveryFailed = InteractionDeliveryFailedDto export type InteractionDeliveryFailedDto = { recipientUserId: string; reason: string } export type InteractionPayloadDto = { senderUserId: string; senderName: string; content: string; type: string; timestamp: string } export type InteractionReceived = InteractionPayloadDto export type KeyboardAccelerator = { modifiers?: AcceleratorModifier[]; key?: AcceleratorKey | null } export type ModuleMetadata = { id: string; name: string; version: string; description: string | null } export type NekoPosition = "top-left" | "top" | "top-right" | "left" | "right" | "bottom-left" | "bottom" | "bottom-right" export type NekoPositionDto = { userId: string; isSelf: boolean; cursor: CursorPositions; target: CursorPosition; overrideApplied: boolean } export type NekoPositionsDto = Partial<{ [key in string]: NekoPositionDto }> export type NekoPositionsUpdated = NekoPositionsDto export type PresenceStatus = { title: string | null; subtitle: string | null; graphicsB64: string | null } export type SceneData = { display: DisplayData; grid_size: number } export type SceneInteractiveChanged = boolean export type SceneSetup = { nekosPosition: NekoPosition | null; nekosOpacity: number; nekosScale: number } export type SendFriendRequestDto = { receiverId: string } export type SendInteractionDto = { recipientUserId: string; content: string; type: string } export type SetInteractionOverlay = boolean export type Unfriended = UnfriendedPayload export type UnfriendedPayload = { friendId: string } export type UpdateDollDto = { name: string | null; configuration: DollConfigurationDto | null } export type UserBasicDto = { id: string; name: string; username: string | null; activeDoll: DollDto | null } export type UserData = { user: UserProfile | null; friends: FriendshipResponseDto[] | null; dolls: DollDto[] | null; scene: SceneData } export type UserProfile = { id: string; name: string; email: string; username: string | null; roles: string[]; createdAt: string; updatedAt: string; lastLoginAt: string | null; activeDollId: string | null } export type UserStatusChanged = UserStatusPayload export type UserStatusPayload = { presenceStatus: PresenceStatus; state: UserStatusState } export type UserStatusState = "idle" | "resting" /** tauri-specta globals **/ import { invoke as TAURI_INVOKE, Channel as TAURI_CHANNEL, } from "@tauri-apps/api/core"; import * as TAURI_API_EVENT from "@tauri-apps/api/event"; import { type WebviewWindow as __WebviewWindow__ } from "@tauri-apps/api/webviewWindow"; type __EventObj__ = { listen: ( cb: TAURI_API_EVENT.EventCallback, ) => ReturnType>; once: ( cb: TAURI_API_EVENT.EventCallback, ) => ReturnType>; emit: null extends T ? (payload?: T) => ReturnType : (payload: T) => ReturnType; }; export type Result = | { status: "ok"; data: T } | { status: "error"; error: E }; function __makeEvents__>( mappings: Record, ) { return new Proxy( {} as unknown as { [K in keyof T]: __EventObj__ & { (handle: __WebviewWindow__): __EventObj__; }; }, { get: (_, event) => { const name = mappings[event as keyof T]; return new Proxy((() => {}) as any, { apply: (_, __, [window]: [__WebviewWindow__]) => ({ listen: (arg: any) => window.listen(name, arg), once: (arg: any) => window.once(name, arg), emit: (arg: any) => window.emit(name, arg), }), get: (_, command: keyof __EventObj__) => { switch (command) { case "listen": return (arg: any) => TAURI_API_EVENT.listen(name, arg); case "once": return (arg: any) => TAURI_API_EVENT.once(name, arg); case "emit": return (arg: any) => TAURI_API_EVENT.emit(name, arg); } }, }); }, }, ); }