vrc-get/vrc-get-gui/lib/bindings.ts
2026-06-02 19:26:07 +09:00

464 lines
23 KiB
TypeScript

// This file has been generated by Tauri Specta. Do not edit this file manually.
import { invoke as __TAURI_INVOKE } from "@tauri-apps/api/core";
/** Commands */
export const commands = {
environmentLanguage: () => __TAURI_INVOKE<string>("environment_language"),
environmentSetLanguage: (language: string) => __TAURI_INVOKE<null>("environment_set_language", { language }),
environmentTheme: () => __TAURI_INVOKE<string>("environment_theme"),
environmentSetTheme: (theme: string) => __TAURI_INVOKE<null>("environment_set_theme", { theme }),
environmentGetProjectSorting: () => __TAURI_INVOKE<string>("environment_get_project_sorting"),
environmentSetProjectSorting: (sorting: string) => __TAURI_INVOKE<null>("environment_set_project_sorting", { sorting }),
environmentGetFinishedSetupPages: () => __TAURI_INVOKE<SetupPages[]>("environment_get_finished_setup_pages"),
environmentFinishedSetupPage: (page: SetupPages) => __TAURI_INVOKE<null>("environment_finished_setup_page", { page }),
environmentClearSetupProcess: () => __TAURI_INVOKE<null>("environment_clear_setup_process"),
environmentLogsLevel: () => __TAURI_INVOKE<LogLevel[]>("environment_logs_level"),
environmentSetLogsLevel: (logsLevel: LogLevel[]) => __TAURI_INVOKE<null>("environment_set_logs_level", { logsLevel }),
environmentGuiAnimation: () => __TAURI_INVOKE<boolean>("environment_gui_animation"),
environmentSetGuiAnimation: (guiAnimation: boolean) => __TAURI_INVOKE<null>("environment_set_gui_animation", { guiAnimation }),
environmentGuiCompact: () => __TAURI_INVOKE<boolean>("environment_gui_compact"),
environmentSetGuiCompact: (guiCompact: boolean) => __TAURI_INVOKE<null>("environment_set_gui_compact", { guiCompact }),
environmentProjectViewMode: () => __TAURI_INVOKE<string>("environment_project_view_mode"),
environmentSetProjectViewMode: (projectViewMode: string) => __TAURI_INVOKE<null>("environment_set_project_view_mode", { projectViewMode }),
environmentSetUnityHubAccessMethod: (unityHubAccessMethod: UnityHubAccessMethod) => __TAURI_INVOKE<null>("environment_set_unity_hub_access_method", { unityHubAccessMethod }),
environmentSetTemplateFavorite: (templateId: string, favorite: boolean) => __TAURI_INVOKE<null>("environment_set_template_favorite", { templateId, favorite }),
environmentProjects: () => __TAURI_INVOKE<TauriProject[]>("environment_projects"),
environmentAddProjectWithPicker: () => __TAURI_INVOKE<TauriAddProjectWithPickerResult>("environment_add_project_with_picker"),
environmentRemoveProjectByPath: (projectPath: string, directory: boolean) => __TAURI_INVOKE<null>("environment_remove_project_by_path", { projectPath, directory }),
environmentCopyProjectForMigration: (channel: string, sourcePath: string) => __TAURI_INVOKE<AsyncCallResult<TauriCopyProjectProgress, string>>("environment_copy_project_for_migration", { channel, sourcePath }),
environmentCopyProject: (channel: string, sourcePath: string, newPath: string) => __TAURI_INVOKE<AsyncCallResult<TauriCopyProjectProgress, string>>("environment_copy_project", { channel, sourcePath, newPath }),
environmentSetFavoriteProject: (projectPath: string, favorite: boolean) => __TAURI_INVOKE<null>("environment_set_favorite_project", { projectPath, favorite }),
environmentProjectCreationInformation: () => __TAURI_INVOKE<TauriProjectCreationInformation>("environment_project_creation_information"),
environmentCheckProjectName: (basePath: string, projectName: string) => __TAURI_INVOKE<TauriProjectDirCheckResult>("environment_check_project_name", { basePath, projectName }),
environmentCreateProject: (basePath: string, projectName: string, templateId: string, templateVersion: number, unityVersion: string) => __TAURI_INVOKE<TauriCreateProjectResult>("environment_create_project", { basePath, projectName, templateId, templateVersion, unityVersion }),
environmentRefetchPackages: () => __TAURI_INVOKE<null>("environment_refetch_packages"),
environmentPackages: () => __TAURI_INVOKE<TauriPackage[]>("environment_packages"),
environmentRepositoriesInfo: () => __TAURI_INVOKE<TauriRepositoriesInfo>("environment_repositories_info"),
environmentHideRepository: (repository: string) => __TAURI_INVOKE<null>("environment_hide_repository", { repository }),
environmentShowRepository: (repository: string) => __TAURI_INVOKE<null>("environment_show_repository", { repository }),
environmentSetHideLocalUserPackages: (value: boolean) => __TAURI_INVOKE<null>("environment_set_hide_local_user_packages", { value }),
environmentDownloadRepository: (url: string, headers: { [key in string]: string }) => __TAURI_INVOKE<TauriDownloadRepository>("environment_download_repository", { url, headers }),
environmentAddRepository: (url: string, headers: { [key in string]: string }) => __TAURI_INVOKE<TauriAddRepositoryResult>("environment_add_repository", { url, headers }),
environmentRemoveRepository: (index: number, expectedId: string) => __TAURI_INVOKE<null>("environment_remove_repository", { index, expectedId }),
environmentReorderRepositories: (repos: TauriUserRepositoryRef[]) => __TAURI_INVOKE<null>("environment_reorder_repositories", { repos }),
environmentImportRepositoryPick: () => __TAURI_INVOKE<TauriImportRepositoryPickResult>("environment_import_repository_pick"),
environmentImportDownloadRepositories: (channel: string, repositories: TauriRepositoryDescriptor[]) => __TAURI_INVOKE<AsyncCallResult<number, ([TauriRepositoryDescriptor, TauriDownloadRepository])[]>>("environment_import_download_repositories", { channel, repositories }),
environmentImportAddRepositories: (repositories: TauriRepositoryDescriptor[]) => __TAURI_INVOKE<null>("environment_import_add_repositories", { repositories }),
environmentExportRepositories: () => __TAURI_INVOKE<null>("environment_export_repositories"),
environmentClearPackageCache: () => __TAURI_INVOKE<null>("environment_clear_package_cache"),
environmentGetUserPackages: () => __TAURI_INVOKE<TauriUserPackage[]>("environment_get_user_packages"),
environmentAddUserPackageWithPicker: () => __TAURI_INVOKE<TauriAddUserPackageWithPickerResult>("environment_add_user_package_with_picker"),
environmentRemoveUserPackages: (path: string) => __TAURI_INVOKE<null>("environment_remove_user_packages", { path }),
environmentUnityVersions: () => __TAURI_INVOKE<TauriUnityVersions>("environment_unity_versions"),
environmentGetSettings: () => __TAURI_INVOKE<TauriEnvironmentSettings>("environment_get_settings"),
environmentPickUnityHub: () => __TAURI_INVOKE<TauriPickUnityHubResult>("environment_pick_unity_hub"),
environmentPickUnity: () => __TAURI_INVOKE<TauriPickUnityResult>("environment_pick_unity"),
environmentPickProjectDefaultPath: () => __TAURI_INVOKE<TauriPickProjectDefaultPathResult>("environment_pick_project_default_path"),
environmentPickProjectBackupPath: () => __TAURI_INVOKE<TauriPickProjectBackupPathResult>("environment_pick_project_backup_path"),
environmentSetShowPrereleasePackages: (value: boolean) => __TAURI_INVOKE<null>("environment_set_show_prerelease_packages", { value }),
environmentSetBackupFormat: (backupFormat: string) => __TAURI_INVOKE<null>("environment_set_backup_format", { backupFormat }),
environmentSetExcludeVpmPackagesFromBackup: (excludeVpmPackagesFromBackup: boolean) => __TAURI_INVOKE<null>("environment_set_exclude_vpm_packages_from_backup", { excludeVpmPackagesFromBackup }),
environmentSetReleaseChannel: (releaseChannel: string) => __TAURI_INVOKE<null>("environment_set_release_channel", { releaseChannel }),
environmentSetUseAlcomForVccProtocol: (useAlcomForVccProtocol: boolean) => __TAURI_INVOKE<null>("environment_set_use_alcom_for_vcc_protocol", { useAlcomForVccProtocol }),
environmentGetDefaultUnityArguments: () => __TAURI_INVOKE<string[]>("environment_get_default_unity_arguments"),
environmentSetDefaultUnityArguments: (defaultUnityArguments: string[] | null) => __TAURI_INVOKE<null>("environment_set_default_unity_arguments", { defaultUnityArguments }),
environmentExportTemplate: (id: string) => __TAURI_INVOKE<null>("environment_export_template", { id }),
environmentGetAlcomTemplate: (id: string) => __TAURI_INVOKE<TauriAlcomTemplate>("environment_get_alcom_template", { id }),
environmentPickUnityPackages: () => __TAURI_INVOKE<string[]>("environment_pick_unity_packages"),
environmentPickUnityPackage: (current: string) => __TAURI_INVOKE<TauriPickUnityPackageResult>("environment_pick_unity_package", { current }),
environmentSaveTemplate: (id: string | null, base: string, name: string, unityRange: string, vpmPackages: ([string, string])[], unityPackages: string[]) => __TAURI_INVOKE<null>("environment_save_template", { id, base, name, unityRange, vpmPackages, unityPackages }),
environmentRemoveTemplate: (id: string) => __TAURI_INVOKE<null>("environment_remove_template", { id }),
environmentImportTemplate: () => __TAURI_INVOKE<TauriImportTemplateResult_Serialize>("environment_import_template"),
environmentImportTemplateOverride: (importOverride: TauriImportDuplicated_Deserialize[]) => __TAURI_INVOKE<number>("environment_import_template_override", { importOverride }),
environmentUpdateUnityPathsFromUnityHub: () => __TAURI_INVOKE<boolean>("environment_update_unity_paths_from_unity_hub"),
environmentIsLoadingFromUnityHubInProgress: () => __TAURI_INVOKE<boolean>("environment_is_loading_from_unity_hub_in_progress"),
environmentWaitForUnityHubUpdate: () => __TAURI_INVOKE<void>("environment_wait_for_unity_hub_update"),
projectDetails: (projectPath: string) => __TAURI_INVOKE<TauriProjectDetails>("project_details", { projectPath }),
projectInstallPackages: (projectPath: string, installs: ([string, string])[]) => __TAURI_INVOKE<TauriPendingProjectChanges>("project_install_packages", { projectPath, installs }),
projectReinstallPackages: (projectPath: string, packageIds: string[]) => __TAURI_INVOKE<TauriPendingProjectChanges>("project_reinstall_packages", { projectPath, packageIds }),
projectResolve: (projectPath: string) => __TAURI_INVOKE<TauriPendingProjectChanges>("project_resolve", { projectPath }),
projectRemovePackages: (projectPath: string, names: string[]) => __TAURI_INVOKE<TauriPendingProjectChanges>("project_remove_packages", { projectPath, names }),
projectApplyPendingChanges: (projectPath: string, changesVersion: number) => __TAURI_INVOKE<null>("project_apply_pending_changes", { projectPath, changesVersion }),
projectClearPendingChanges: () => __TAURI_INVOKE<null>("project_clear_pending_changes"),
projectMigrateProjectTo2022: (projectPath: string) => __TAURI_INVOKE<null>("project_migrate_project_to_2022", { projectPath }),
projectCallUnityForMigration: (channel: string, projectPath: string, unityPath: string) => __TAURI_INVOKE<AsyncCallResult<string, TauriCallUnityForMigrationResult>>("project_call_unity_for_migration", { channel, projectPath, unityPath }),
projectMigrateProjectToVpm: (projectPath: string) => __TAURI_INVOKE<null>("project_migrate_project_to_vpm", { projectPath }),
projectOpenUnity: (projectPath: string, unityPath: string) => __TAURI_INVOKE<boolean>("project_open_unity", { projectPath, unityPath }),
projectIsUnityLaunching: (projectPath: string) => __TAURI_INVOKE<boolean>("project_is_unity_launching", { projectPath }),
projectCreateBackup: (channel: string, projectPath: string) => __TAURI_INVOKE<AsyncCallResult<TauriCreateBackupProgress, null>>("project_create_backup", { channel, projectPath }),
projectGetCustomUnityArgs: (projectPath: string) => __TAURI_INVOKE<string[] | null>("project_get_custom_unity_args", { projectPath }),
projectSetCustomUnityArgs: (projectPath: string, args: string[] | null) => __TAURI_INVOKE<boolean>("project_set_custom_unity_args", { projectPath, args }),
projectGetUnityPath: (projectPath: string) => __TAURI_INVOKE<string | null>("project_get_unity_path", { projectPath }),
projectSetUnityPath: (projectPath: string, unityPath: string | null) => __TAURI_INVOKE<boolean>("project_set_unity_path", { projectPath, unityPath }),
utilOpen: (path: string, ifNotExists: OpenOptions) => __TAURI_INVOKE<null>("util_open", { path, ifNotExists }),
utilOpenUrl: (url: string) => __TAURI_INVOKE<null>("util_open_url", { url }),
utilOpenUrlNocheck: (url: string) => __TAURI_INVOKE<null>("util_open_url_nocheck", { url }),
utilGetLogEntries: () => __TAURI_INVOKE<LogEntry_Serialize[]>("util_get_log_entries"),
utilGetVersion: () => __TAURI_INVOKE<string>("util_get_version"),
utilCheckForUpdate: () => __TAURI_INVOKE<{
version: number,
current_version: string,
latest_version: string,
updater_status: UpdaterStatus,
update_description: string | null,
updater_disabled_messages: { [key in string]: string } | null,
} | null>("util_check_for_update"),
utilInstallAndUpgrade: (channel: string, version: number) => __TAURI_INVOKE<AsyncCallResult<InstallUpgradeProgress, null>>("util_install_and_upgrade", { channel, version }),
utilIsBadHostname: () => __TAURI_INVOKE<boolean>("util_is_bad_hostname"),
utilPickDirectory: (current: string) => __TAURI_INVOKE<TauriPickProjectDefaultPathResult>("util_pick_directory", { current }),
deepLinkHasAddRepository: () => __TAURI_INVOKE<boolean>("deep_link_has_add_repository"),
deepLinkTakeAddRepository: () => __TAURI_INVOKE<{
url: string,
headers: { [key in string]: string },
} | null>("deep_link_take_add_repository"),
deepLinkInstallVcc: () => __TAURI_INVOKE<void>("deep_link_install_vcc"),
deepLinkImportedClearNonToastedCount: () => __TAURI_INVOKE<number>("deep_link_imported_clear_non_toasted_count"),
deepLinkReduceImportedClearNonToastedCount: (reduce: number) => __TAURI_INVOKE<void>("deep_link_reduce_imported_clear_non_toasted_count", { reduce }),
};
/* Types */
export type AddRepositoryInfo = {
url: string,
headers: { [key in string]: string },
};
export type AsyncCallResult<P, R> = { type: "Result"; value: R } | { type: "Started" } | { type: "UnusedProgress"; progress: P };
export type CheckForUpdateResponse = {
version: number,
current_version: string,
latest_version: string,
updater_status: UpdaterStatus,
update_description: string | null,
updater_disabled_messages: { [key in string]: string } | null,
};
export type GlobalInfo = {
language: string,
theme: string,
version: string | null,
commitHash: string | null,
osType: string,
arch: string,
osInfo: string,
webviewVersion: string,
appData: string,
defaultUnityArguments: string[],
vpmHomeFolder: string,
checkForUpdates: boolean,
shouldInstallDeepLink: boolean,
};
// Errors that is expected to be handled on the GUI side
export type HandleableRustError = { type: "MissingDependencies"; dependencies: ([string, string])[] };
export type InstallUpgradeProgress = { type: "DownloadProgress"; received: number; total: number | null } | { type: "DownloadComplete" };
export type LocalizableRustError = {
id: string,
args: { [key in string]: string },
};
export type LogEntry = LogEntry_Serialize | LogEntry_Deserialize;
export type LogEntry_Deserialize = {
time: string,
level: LogLevel,
target: string,
message: string,
gui_toast: boolean | null,
};
export type LogEntry_Serialize = {
time: string,
level: LogLevel,
target: string,
message: string,
gui_toast: boolean | null,
};
export type LogLevel = "Error" | "Warn" | "Info" | "Debug" | "Trace";
export type OpenOptions = "ErrorIfNotExists" | "CreateFolderIfNotExists" | "OpenParentIfNotExists";
export type RustError = { type: "Unrecoverable"; message: string } | { type: "Localizable" } & (LocalizableRustError) | { type: "Handleable"; message: string; body: HandleableRustError };
export type SetupPages = "Appearance" | "UnityHub" | "ProjectPath" | "Backups" | "SystemSetting";
export type TauriAddProjectWithPickerResult = "NoFolderSelected" | "InvalidSelection" | "AlreadyAdded" | "Successful";
export type TauriAddRepositoryResult = "BadUrl" | "Success";
export type TauriAddUserPackageWithPickerResult = "NoFolderSelected" | "InvalidSelection" | "AlreadyAdded" | "Successful";
export type TauriAlcomTemplate = {
display_name: string,
base: string,
unity_version: string | null,
vpm_dependencies: { [key in string]: string },
unity_packages: string[],
};
export type TauriBasePackageInfo = {
name: string,
display_name: string | null,
description: string | null,
keywords: string[],
version: TauriVersion,
unity: [number, number] | null,
changelog_url: string | null,
documentation_url: string | null,
vpm_dependencies: string[],
legacy_packages: string[],
is_yanked: boolean,
};
export type TauriCallUnityForMigrationResult = { type: "ExistsWithNonZero"; status: string } | { type: "FinishedSuccessfully" };
export type TauriConflictInfo = {
packages: string[],
unity_conflict: boolean,
unlocked_names: string[],
};
export type TauriCopyProjectProgress = {
total: number,
proceed: number,
last_proceed: string,
};
export type TauriCreateBackupProgress = {
total: number,
proceed: number,
last_proceed: string,
};
export type TauriCreateProjectResult = "AlreadyExists" | "TemplateNotFound" | "Successful";
export type TauriDownloadRepository = { type: "BadUrl" } | { type: "Duplicated"; reason: TauriDuplicatedReason; duplicated_name: string } | { type: "DownloadError"; message: string } | { type: "Success"; value: TauriRemoteRepositoryInfo };
export type TauriDuplicatedReason = "URLDuplicated" | "IDDuplicated";
export type TauriEnvironmentSettings = {
default_project_path: string,
project_backup_path: string,
unity_hub: string,
unity_paths: ([string, string, boolean])[],
show_prerelease_packages: boolean,
backup_format: string,
release_channel: string,
use_alcom_for_vcc_protocol: boolean,
default_unity_arguments: string[] | null,
gui_animation: boolean,
gui_compact: boolean,
unity_hub_access_method: UnityHubAccessMethod,
exclude_vpm_packages_from_backup: boolean,
};
export type TauriImportDuplicated = TauriImportDuplicated_Serialize | TauriImportDuplicated_Deserialize;
export type TauriImportDuplicated_Deserialize = {
id: string,
existing_path: string,
existing_name: string,
existing_update_date: string | null,
importing_name: string,
importing_update_date: string | null,
data: string,
};
export type TauriImportDuplicated_Serialize = {
id: string,
existing_path: string,
existing_name: string,
existing_update_date: string | null,
importing_name: string,
importing_update_date: string | null,
data: string,
};
export type TauriImportRepositoryPickResult = { type: "NoFilePicked" } | { type: "ParsedRepositories"; repositories: TauriRepositoryDescriptor[]; unparsable_lines: string[] };
export type TauriImportTemplateResult = TauriImportTemplateResult_Serialize | TauriImportTemplateResult_Deserialize;
export type TauriImportTemplateResult_Deserialize = {
imported: number,
duplicates: TauriImportDuplicated_Deserialize[],
};
export type TauriImportTemplateResult_Serialize = {
imported: number,
duplicates: TauriImportDuplicated_Serialize[],
};
export type TauriPackage = {
source: TauriPackageSource,
} & (TauriBasePackageInfo);
export type TauriPackageChange = ({ InstallNew: TauriBasePackageInfo }) & { Remove?: never } | ({ Remove: TauriRemoveReason }) & { InstallNew?: never };
export type TauriPackageSource = "LocalUser" | { Remote: {
id: string,
display_name: string,
} };
export type TauriPendingProjectChanges = {
changes_version: number,
package_changes: ([string, TauriPackageChange])[],
remove_legacy_files: string[],
remove_legacy_folders: string[],
conflicts: ([string, TauriConflictInfo])[],
};
export type TauriPickProjectBackupPathResult = { type: "NoFolderSelected" } | { type: "InvalidSelection" } | { type: "Successful" };
export type TauriPickProjectDefaultPathResult = { type: "NoFolderSelected" } | { type: "InvalidSelection" } | { type: "Successful"; new_path: string };
export type TauriPickUnityHubResult = { type: "NoFolderSelected" } | { type: "InvalidSelection" } | { type: "Successful" };
export type TauriPickUnityPackageResult = { type: "NoFolderSelected" } | { type: "InvalidSelection" } | { type: "Successful"; new_path: string };
export type TauriPickUnityResult = "NoFolderSelected" | "InvalidSelection" | "AlreadyAdded" | "Successful";
export type TauriProject = {
name: string,
path: string,
project_type: TauriProjectType,
unity: string,
unity_revision: string | null,
last_modified: number,
created_at: number,
favorite: boolean,
is_exists: boolean,
is_valid: boolean | null,
};
export type TauriProjectCreationInformation = {
templates: TauriProjectTemplateInfo[],
recent_project_locations: string[],
favorite_templates: string[],
last_used_template: string | null,
templates_version: number,
default_path: string,
};
export type TauriProjectDetails = {
unity: [number, number],
unity_str: string,
unity_revision: string | null,
installed_packages: ([string, TauriBasePackageInfo])[],
should_resolve: boolean,
};
export type TauriProjectDirCheckResult = "InvalidNameForFolderName" | "MayCompatibilityProblem" | "WideChar" | "AlreadyExists" | "Ok";
export type TauriProjectTemplateInfo = {
display_name: string,
id: string,
unity_versions: string[],
update_date: string | null,
has_unitypackage: boolean,
source_path: string | null,
available: boolean,
};
export type TauriProjectType = "Unknown" | "LegacySdk2" | "LegacyWorlds" | "LegacyAvatars" | "UpmWorlds" | "UpmAvatars" | "UpmStarter" | "Worlds" | "Avatars" | "VpmStarter";
export type TauriRemoteRepositoryInfo = {
display_name: string,
id: string,
url: string,
packages: TauriBasePackageInfo[],
};
export type TauriRemoveReason = "Requested" | "Legacy" | "Unused";
export type TauriRepositoriesInfo = {
user_repositories: TauriUserRepository[],
hidden_user_repositories: string[],
hide_local_user_packages: boolean,
show_prerelease_packages: boolean,
};
export type TauriRepositoryDescriptor = {
url: string,
headers: { [key in string]: string },
};
export type TauriUnityVersions = {
unity_paths: ([string, string, boolean])[],
recommended_version: string,
install_recommended_version_link: string,
};
export type TauriUpdatedRealProjectInfo = {
path: string,
is_valid: boolean,
project_type: TauriProjectType,
unity: string,
unity_revision: string | null,
};
export type TauriUserPackage = {
path: string,
package: TauriBasePackageInfo,
};
export type TauriUserRepository = {
index: number,
id: string,
url: string | null,
display_name: string,
};
export type TauriUserRepositoryRef = {
index: number,
id: string,
};
export type TauriVersion = {
major: number,
minor: number,
patch: number,
pre: string,
build: string,
};
export type UnityHubAccessMethod =
// Reads config files of Unity Hub
"ReadConfig" |
// Launches headless Unity Hub in background
"CallHub";
export type UpdaterStatus =
/**
* Update is found and can be updated automatically. UpdaterInformation is available
*
* User will proceed update.
*/
"Updatable" |
/**
* Update is found, but installer or package for current architecture does not found.
* This can happen if platform support is removed.
* x86_64 macOS will become this state in near future, but other platforms may if new arch is expanded enough.
*
* Inform only
*/
"NoPlatform" |
/**
* Update is found and installer is found, but current installation is different from
* the previous (detected) installation, or we failed to detect current installation path.
*
* Inform user to install update manually to prevent problem.
*/
"NotUpdatable" |
/**
* Updater is disabled at build time. generally the installation is managed by package manager.
*
* Inform user to upgrade through package manager.
* Packager may customize information message by defining
* `VRC_GET_GUI_UPDATER_UPDATE_SUGGESTION_MESSAGE` environment variable at build time.
*/
"UpdaterDisabled";