import { isTauriRuntime } from "@/lib/backend/tauriRuntime"; import type * as TauriModule from "@/lib/backend/tauri"; import { appendDebugLog } from "@/lib/backend/debugLog"; import { useSettingsStore } from "@/stores/settingsStore"; import type { AiConfigItem } from "@/types/ai"; // --------------------------------------------------------------------------- // Lazy backend resolution (avoids top-level await) // --------------------------------------------------------------------------- type Backend = typeof TauriModule; let _backend: Backend | null = null; async function getBackend(): Promise { if (_backend) return _backend; _backend = isTauriRuntime(globalThis) ? await import("@/lib/backend/tauri") : await import("@/lib/backend/http"); return _backend; } // --------------------------------------------------------------------------- // Helper: create a forwarding function that lazily resolves the backend // --------------------------------------------------------------------------- function forward(name: K): Backend[K] { return (async (...args: unknown[]) => { const startedAt = performance.now(); const operation = String(name); appendDebugLog("debug", "[DBX][api:start]", operation); const b = await getBackend(); try { const result = await (b[name] as (...a: unknown[]) => unknown)(...args); appendDebugLog("debug", "[DBX][api:success]", { operation, elapsedMs: Math.round(performance.now() - startedAt), }); return result; } catch (error) { appendDebugLog("error", "[DBX][api:error]", { operation, elapsedMs: Math.round(performance.now() - startedAt), error, }); throw error; } }) as unknown as Backend[K]; } // --------------------------------------------------------------------------- // Re-export all functions via lazy forwarding // --------------------------------------------------------------------------- // Connection export const testConnection = forward("testConnection"); export const testConnectionWithInfo = forward("testConnectionWithInfo"); export const connectDb = forward("connectDb"); export const connectionDatabaseInfo = forward("connectionDatabaseInfo"); export const saveConnectionDatabaseInfo = forward("saveConnectionDatabaseInfo"); export const unlockConnectionWrites = forward("unlockConnectionWrites"); export const lockConnectionWrites = forward("lockConnectionWrites"); export const connectionWriteUnlockState = forward("connectionWriteUnlockState"); export const connectionFinalProxyPort = forward("connectionFinalProxyPort"); export const disconnectDb = forward("disconnectDb"); export const sessionCredentialStatus = forward("sessionCredentialStatus"); export const forgetSessionCredential = forward("forgetSessionCredential"); export const replaceNacosSessionCredential = forward("replaceNacosSessionCredential"); export const checkConnectionHealth = forward("checkConnectionHealth"); export const connectionIdentifierQuote = forward("connectionIdentifierQuote"); export const closeDatabaseConnection = forward("closeDatabaseConnection"); export const refreshConnections = forward("refreshConnections"); export const saveConnections = forward("saveConnections"); export const loadConnections = forward("loadConnections"); export const loadTunnelProfiles = forward("loadTunnelProfiles"); export const saveTunnelProfiles = forward("saveTunnelProfiles"); export const testTunnelProfile = forward("testTunnelProfile"); export const resolveSshPrompt = forward("resolveSshPrompt"); export const readKeychainPassword = forward("readKeychainPassword"); export const readKeychainPasswords = forward("readKeychainPasswords"); export const decryptConfig = forward("decryptConfig"); export const listPlugins = forward("listPlugins"); export const listJdbcDrivers = forward("listJdbcDrivers"); export const listJdbcMavenBundles = forward("listJdbcMavenBundles"); export const listJdbcLocalBundles = forward("listJdbcLocalBundles"); export const importJdbcDrivers = forward("importJdbcDrivers"); export const installJdbcDriverFromMaven = forward("installJdbcDriverFromMaven"); export const installPrestoSqlJdbcDriver = forward("installPrestoSqlJdbcDriver"); export const deleteJdbcDriver = forward("deleteJdbcDriver"); export const deleteJdbcMavenBundle = forward("deleteJdbcMavenBundle"); export const deleteJdbcLocalBundle = forward("deleteJdbcLocalBundle"); export const jdbcPluginStatus = forward("jdbcPluginStatus"); export const installJdbcPlugin = forward("installJdbcPlugin"); export const installJdbcPluginLocal = forward("installJdbcPluginLocal"); export const uninstallJdbcPlugin = forward("uninstallJdbcPlugin"); export const listInstalledAgentsLocal = forward("listInstalledAgentsLocal"); export async function listInstalledAgents() { const backend = await getBackend(); return backend.listInstalledAgents(useSettingsStore().editorSettings.updateDownloadSource); } export const isAgentInstalled = forward("isAgentInstalled"); export const getDriverStoreUsage = forward("getDriverStoreUsage"); export const clearDriverDownloadCache = forward("clearDriverDownloadCache"); export const getDriverRuntimeSummary = forward("getDriverRuntimeSummary"); export const stopDriverRuntime = forward("stopDriverRuntime"); export const restartDriverRuntime = forward("restartDriverRuntime"); export async function installAgent(dbType: string, operationId?: string) { const backend = await getBackend(); return backend.installAgent(dbType, useSettingsStore().editorSettings.updateDownloadSource, operationId); } export async function upgradeAllAgents(operationId?: string) { const backend = await getBackend(); return backend.upgradeAllAgents(useSettingsStore().editorSettings.updateDownloadSource, operationId); } export const cancelAgentInstall = forward("cancelAgentInstall"); export const cancelAgentUpgradeAll = forward("cancelAgentUpgradeAll"); export const checkAgentUpdateBlockers = forward("checkAgentUpdateBlockers"); export const uninstallAgent = forward("uninstallAgent"); export const getAgentJavaRuntimeConfig = forward("getAgentJavaRuntimeConfig"); export const setAgentJavaRuntimeConfig = forward("setAgentJavaRuntimeConfig"); export const invalidateAgentRegistryCache = forward("invalidateAgentRegistryCache"); export async function importAgentsFromZip(fileOrPath: string | File, operationId?: string) { const backend = await getBackend(); return backend.importAgentsFromZip(fileOrPath, operationId); } export const previewAgentOfflineExport = forward("previewAgentOfflineExport"); export const exportAgentsOffline = forward("exportAgentsOffline"); export const importAgentDriver = forward("importAgentDriver"); export const importAgentJar = importAgentDriver; export async function reinstallJre(jreKey?: string, operationId?: string) { const backend = await getBackend(); return backend.reinstallJre(jreKey, useSettingsStore().editorSettings.updateDownloadSource, operationId); } export const uninstallJre = forward("uninstallJre"); export const listenAgentInstallProgress = forward("listenAgentInstallProgress"); export const loadSavedSqlLibrary = forward("loadSavedSqlLibrary"); export const loadSavedSqlFilesForSync = forward("loadSavedSqlFilesForSync"); export const loadSavedSqlFile = forward("loadSavedSqlFile"); export const saveSavedSqlFolder = forward("saveSavedSqlFolder"); export const deleteSavedSqlFolder = forward("deleteSavedSqlFolder"); export const saveSavedSqlFile = forward("saveSavedSqlFile"); export const deleteSavedSqlFile = forward("deleteSavedSqlFile"); export const savedSqlStorageDir = forward("savedSqlStorageDir"); export const openSavedSqlStorageDir = forward("openSavedSqlStorageDir"); export const revealPathInFileManager = forward("revealPathInFileManager"); export const deleteDatabaseBackupFiles = forward("deleteDatabaseBackupFiles"); export const isSqliteDatabaseFile = forward("isSqliteDatabaseFile"); export const backupSqliteDatabase = forward("backupSqliteDatabase"); export const restoreSqliteDatabase = forward("restoreSqliteDatabase"); export const syncSavedSqlDirectory = forward("syncSavedSqlDirectory"); // Schema export const listDatabases = forward("listDatabases"); export const listDatabaseMetadata = forward("listDatabaseMetadata"); export const listDatabaseStorage = forward("listDatabaseStorage"); export const listXuguTablespaces = forward("listXuguTablespaces"); export const getSqlServerCompletionContext = forward("getSqlServerCompletionContext"); export const listDorisCatalogs = forward("listDorisCatalogs"); export const listDorisCatalogDatabases = forward("listDorisCatalogDatabases"); export const listSqlServerLinkedServers = forward("listSqlServerLinkedServers"); export const listSqlServerLinkedServerCatalogs = forward("listSqlServerLinkedServerCatalogs"); export const listSqlServerLinkedServerSchemas = forward("listSqlServerLinkedServerSchemas"); export const listSqlServerLinkedServerTables = forward("listSqlServerLinkedServerTables"); export const saveSchemaCache = forward("saveSchemaCache"); export const loadSchemaCache = forward("loadSchemaCache"); export const deleteSchemaCachePrefix = forward("deleteSchemaCachePrefix"); export const listSchemas = forward("listSchemas"); export const listSchemaInfos = forward("listSchemaInfos"); export const listTables = forward("listTables"); export const getTableComment = forward("getTableComment"); export const getMysqlTableAutoIncrement = forward("getMysqlTableAutoIncrement"); export const listObjects = forward("listObjects"); export const listObjectStatistics = forward("listObjectStatistics"); export const listCompletionObjects = forward("listCompletionObjects"); export const completionAssistantSearch = forward("completionAssistantSearch"); export const getObjectSource = forward("getObjectSource"); export const getEventInfo = forward("getEventInfo"); export const getCustomTypeDetails = forward("getCustomTypeDetails"); export const getColumns = forward("getColumns"); export const getAllColumns = forward("getAllColumns"); export const getSqlServerColumnMetadata = forward("getSqlServerColumnMetadata"); export const listDataTypes = forward("listDataTypes"); export const listIndexes = forward("listIndexes"); export const listReferenceKeyColumns = forward("listReferenceKeyColumns"); export const listReferenceKeys = forward("listReferenceKeys"); export const listForeignKeys = forward("listForeignKeys"); export const listTriggers = forward("listTriggers"); export const listConstraints = forward("listConstraints"); export const listPartitions = forward("listPartitions"); export const getTablePartitionStatus = forward("getTablePartitionStatus"); export const listInvalidIndexes = forward("listInvalidIndexes"); export const listSubpartitions = forward("listSubpartitions"); export const getTableDdl = forward("getTableDdl"); export const getTableDisplayDdl = forward("getTableDisplayDdl"); export const listFunctions = forward("listFunctions"); export const listSequences = forward("listSequences"); export const listRules = forward("listRules"); export const listOwners = forward("listOwners"); export const getTableOwner = forward("getTableOwner"); export const listExtensions = forward("listExtensions"); export const listAvailableExtensions = forward("listAvailableExtensions"); export const prepareSchemaDiff = forward("prepareSchemaDiff"); export const generateSchemaSyncSql = forward("generateSchemaSyncSql"); export const generateSchemaSyncPlan = forward("generateSchemaSyncPlan"); export const listDialectDataTypes = forward("listDialectDataTypes"); // Docs export const collectDocsSnapshot = forward("collectDocsSnapshot"); export const loadDocsAnnotations = forward("loadDocsAnnotations"); export const applyDocsAnnotations = forward("applyDocsAnnotations"); export const saveDocsAnnotations = forward("saveDocsAnnotations"); export const exportDocsHtml = forward("exportDocsHtml"); // Query export const executeQuery = forward("executeQuery"); export const executeConditionalUpdate = forward("executeConditionalUpdate"); export const executeMulti = forward("executeMulti"); export const executeMultiWithProgress = forward("executeMultiWithProgress"); export const executeBatch = forward("executeBatch"); export const executeScript = forward("executeScript"); export const executeScriptWith2pc = forward("executeScriptWith2pc"); export const executeInTransaction = forward("executeInTransaction"); export const beginManualTransaction = forward("beginManualTransaction"); export const executeInManualTransaction = forward("executeInManualTransaction"); export const commitManualTransaction = forward("commitManualTransaction"); export const rollbackManualTransaction = forward("rollbackManualTransaction"); export const cancelQuery = forward("cancelQuery"); export const cancelConditionalUpdate = forward("cancelConditionalUpdate"); export const closeQuerySession = forward("closeQuerySession"); export const closeClientConnectionSession = forward("closeClientConnectionSession"); export const analyzeSqlReferences = forward("analyzeSqlReferences"); export const findStatementAtCursor = forward("findStatementAtCursor"); export const prepareQueryPaginationExecutionPlan = forward("prepareQueryPaginationExecutionPlan"); export const buildSortedQuerySql = forward("buildSortedQuerySql"); export const buildExplainSql = forward("buildExplainSql"); export const getExplainInfo = forward("getExplainInfo"); export const buildCreateUserSql = forward("buildCreateUserSql"); export const buildDroppedFilePreviewSql = forward("buildDroppedFilePreviewSql"); export const buildTableSelectSql = forward("buildTableSelectSql"); export const buildDatabaseSearchSql = forward("buildDatabaseSearchSql"); export const buildSearchResultWhere = forward("buildSearchResultWhere"); export const buildRenameObjectSql = forward("buildRenameObjectSql"); export const buildRenameDatabaseSql = forward("buildRenameDatabaseSql"); export const buildRenameDatabasePreflightSql = forward("buildRenameDatabasePreflightSql"); export const buildCreateDatabaseSql = forward("buildCreateDatabaseSql"); export const buildDuckDbAttachDatabaseSql = forward("buildDuckDbAttachDatabaseSql"); export const buildSqliteAttachDatabaseSql = forward("buildSqliteAttachDatabaseSql"); export const buildDropObjectSql = forward("buildDropObjectSql"); export const buildDropTableSql = forward("buildDropTableSql"); export const buildDropTableChildObjectSql = forward("buildDropTableChildObjectSql"); export const buildEmptyTableSql = forward("buildEmptyTableSql"); export const buildTruncateTableSql = forward("buildTruncateTableSql"); export const buildVacuumTableSql = forward("buildVacuumTableSql"); export const buildMysqlAutoIncrementSql = forward("buildMysqlAutoIncrementSql"); export const buildDropDatabaseSql = forward("buildDropDatabaseSql"); export const buildCreateSchemaSql = forward("buildCreateSchemaSql"); export const buildUpdateDatabasePropertiesSql = forward("buildUpdateDatabasePropertiesSql"); export const buildDropSchemaSql = forward("buildDropSchemaSql"); export const buildDuplicateTableStructureSql = forward("buildDuplicateTableStructureSql"); export const buildCopyTableDataSql = forward("buildCopyTableDataSql"); export const buildExecutableObjectSourceStatements = forward("buildExecutableObjectSourceStatements"); export const buildExecutableObjectSourceSql = forward("buildExecutableObjectSourceSql"); export const buildEditableObjectSource = forward("buildEditableObjectSource"); export const buildRoutineRenameObjectSourceStatements = forward("buildRoutineRenameObjectSourceStatements"); export const buildViewDdlSql = forward("buildViewDdlSql"); export const buildTableStructureChangeSql = forward("buildTableStructureChangeSql"); export const buildTableOwnerChangeSql = forward("buildTableOwnerChangeSql"); export const previewSqliteTableStructureChange = forward("previewSqliteTableStructureChange"); export const applySqliteTableStructureChange = forward("applySqliteTableStructureChange"); export const buildCreateTableSql = forward("buildCreateTableSql"); export const buildSingleColumnAlterSql = forward("buildSingleColumnAlterSql"); export const analyzeEditableQueryEditability = forward("analyzeEditableQueryEditability"); export const prepareDataGridSave = forward("prepareDataGridSave"); export const extractDataGridSelection = forward("extractDataGridSelection"); export const buildDataGridCopyUpdateStatements = forward("buildDataGridCopyUpdateStatements"); export const buildDataGridCopyInsertStatement = forward("buildDataGridCopyInsertStatement"); export const buildDmlChangePreviewSql = forward("buildDmlChangePreviewSql"); export const buildDataGridContextFilterCondition = forward("buildDataGridContextFilterCondition"); export const buildDataGridColumnValueFilterCondition = forward("buildDataGridColumnValueFilterCondition"); export const buildDataGridColumnValuesFilterCondition = forward("buildDataGridColumnValuesFilterCondition"); export const buildDataGridColumnDistinctValuesSql = forward("buildDataGridColumnDistinctValuesSql"); export const buildDataGridCountSql = forward("buildDataGridCountSql"); export const buildDataGridConditionalUpdateSql = forward("buildDataGridConditionalUpdateSql"); export const buildHiveTablePropertiesSql = forward("buildHiveTablePropertiesSql"); export const buildExportInsertStatements = forward("buildExportInsertStatements"); export const buildExportSqlInsert = forward("buildExportSqlInsert"); export const buildDatabaseSqlExport = forward("buildDatabaseSqlExport"); export const prepareDataCompare = forward("prepareDataCompare"); export const prepareDataCompareFromTables = forward("prepareDataCompareFromTables"); export const prepareDataCompareMissingTarget = forward("prepareDataCompareMissingTarget"); export const buildDataCompareSyncPlan = forward("buildDataCompareSyncPlan"); // AI export const aiComplete = forward("aiComplete"); export const aiStream = forward("aiStream"); export const aiAgentStream = forward("aiAgentStream"); export const aiCancelStream = forward("aiCancelStream"); export const aiTestConnection = forward("aiTestConnection"); export const aiListModels = forward("aiListModels"); export const aiResolveModelEffort = forward("aiResolveModelEffort"); export const saveAiChatSelection = forward("saveAiChatSelection"); export const loadAiChatSelection = forward("loadAiChatSelection"); export const saveAiConfig = forward("saveAiConfig"); export const loadAiConfig = forward("loadAiConfig"); export const saveAiConfigs = forward("saveAiConfigs"); export const loadAiConfigs = forward("loadAiConfigs"); export const setDefaultAiConfig = forward("setDefaultAiConfig"); export const saveAiConfigItem = forward("saveAiConfigItem"); export const deleteAiConfig = forward("deleteAiConfig"); export const saveAiProviderConfig = forward("saveAiProviderConfig"); export const loadAiProviderConfigs = forward("loadAiProviderConfigs"); export const loadDesktopSettings = forward("loadDesktopSettings"); export const saveDesktopSettings = forward("saveDesktopSettings"); export const loadMcpGlobalPolicy = forward("loadMcpGlobalPolicy"); export const saveMcpGlobalPolicy = forward("saveMcpGlobalPolicy"); export const loadMaxAgentTurns = forward("loadMaxAgentTurns"); export const saveMaxAgentTurns = forward("saveMaxAgentTurns"); export const loadMaxRetries = forward("loadMaxRetries"); export const saveMaxRetries = forward("saveMaxRetries"); export const completeAppClose = forward("completeAppClose"); export const requestAppClose = forward("requestAppClose"); export const setDriverStoreDir = forward("setDriverStoreDir"); export const setPluginStoreDir = forward("setPluginStoreDir"); export const setAgentStoreDir = forward("setAgentStoreDir"); export const getDriverStorePath = forward("getDriverStorePath"); export const loadPinnedTreeNodeIds = forward("loadPinnedTreeNodeIds"); export const savePinnedTreeNodeIds = forward("savePinnedTreeNodeIds"); export const loadEditorSettings = forward("loadEditorSettings"); export const saveEditorSettings = forward("saveEditorSettings"); export const loadOpenTabsState = forward("loadOpenTabsState"); export const saveOpenTabsState = forward("saveOpenTabsState"); export const loadSavedSqlEditorPositions = forward("loadSavedSqlEditorPositions"); export const saveSavedSqlEditorPositions = forward("saveSavedSqlEditorPositions"); export const loadTransferTaskLibrary = forward("loadTransferTaskLibrary"); export const saveTransferTaskLibrary = forward("saveTransferTaskLibrary"); export const webdavSyncTest = forward("webdavSyncTest"); export const webdavPasswordStatus = forward("webdavPasswordStatus"); export const saveWebdavSavedPassword = forward("saveWebdavSavedPassword"); export const forgetWebdavSavedPassword = forward("forgetWebdavSavedPassword"); export const webdavSyncSecretsStatus = forward("webdavSyncSecretsStatus"); export const saveWebdavSyncSecretsPreference = forward("saveWebdavSyncSecretsPreference"); export const forgetWebdavSyncSecretsPassphrase = forward("forgetWebdavSyncSecretsPassphrase"); export const webdavSyncUpload = forward("webdavSyncUpload"); export const webdavSyncDownload = forward("webdavSyncDownload"); export const snippetSyncTest = forward("snippetSyncTest"); export const snippetTokenStatus = forward("snippetTokenStatus"); export const saveSnippetSavedToken = forward("saveSnippetSavedToken"); export const forgetSnippetSavedToken = forward("forgetSnippetSavedToken"); export const snippetSyncSettings = forward("snippetSyncSettings"); export const saveSnippetSyncId = forward("saveSnippetSyncId"); export const retrySnippetLegacyCleanup = forward("retrySnippetLegacyCleanup"); export const snippetSyncUpload = forward("snippetSyncUpload"); export const snippetSyncDownload = forward("snippetSyncDownload"); export const saveAiConversation = forward("saveAiConversation"); export const loadAiConversations = forward("loadAiConversations"); export const deleteAiConversation = forward("deleteAiConversation"); export const saveAiRun = forward("saveAiRun"); export const saveAiRunState = forward("saveAiRunState"); export const loadAiRuns = forward("loadAiRuns"); // Prompt Templates export const loadPromptTemplates = forward("loadPromptTemplates"); export const savePromptTemplate = forward("savePromptTemplate"); export const deletePromptTemplate = forward("deletePromptTemplate"); export const getAiGlobalCustomInstructions = forward("getAiGlobalCustomInstructions"); export const setAiGlobalCustomInstructions = forward("setAiGlobalCustomInstructions"); // System export const listSystemFonts = forward("listSystemFonts"); export const listSshConfigHosts = forward("listSshConfigHosts"); // SQL File Execution export const previewSqlFile = forward("previewSqlFile"); export const executeSqlFile = forward("executeSqlFile"); export const executeSqlFiles = forward("executeSqlFiles"); export const cancelSqlFileExecution = forward("cancelSqlFileExecution"); export const listenSqlFileProgress = forward("listenSqlFileProgress"); export const pendingOpenSqlFiles = forward("pendingOpenSqlFiles"); export const pendingOpenDbFiles = forward("pendingOpenDbFiles"); export const pendingOpenConnectionLinks = forward("pendingOpenConnectionLinks"); export const pendingOpenAiConfigLinks = forward("pendingOpenAiConfigLinks"); export const readExternalSqlFile = forward("readExternalSqlFile"); export const readExternalSqlFileSnapshot = forward("readExternalSqlFileSnapshot"); export const inspectExternalSqlFile = forward("inspectExternalSqlFile"); export const writeExternalSqlFile = forward("writeExternalSqlFile"); export const saveExternalSqlFile = forward("saveExternalSqlFile"); export const listSqlFilesInFolder = forward("listSqlFilesInFolder"); export const createSqlFileInFolder = forward("createSqlFileInFolder"); export const renameSqlFileInFolder = forward("renameSqlFileInFolder"); export const deleteSqlFileInFolder = forward("deleteSqlFileInFolder"); // Nacos export const nacosTestConnection = forward("nacosTestConnection"); export const nacosListNamespaces = forward("nacosListNamespaces"); export const nacosSidebarSnapshot = forward("nacosSidebarSnapshot"); export const nacosCreateNamespace = forward("nacosCreateNamespace"); export const nacosUpdateNamespace = forward("nacosUpdateNamespace"); export const nacosDeleteNamespace = forward("nacosDeleteNamespace"); export const nacosListConfigs = forward("nacosListConfigs"); export const nacosGetConfig = forward("nacosGetConfig"); export const nacosPublishConfig = forward("nacosPublishConfig"); export const nacosDeleteConfig = forward("nacosDeleteConfig"); export const nacosSearchConfigContent = forward("nacosSearchConfigContent"); export const nacosCancelConfigContentSearch = forward("nacosCancelConfigContentSearch"); export const nacosExportConfigs = forward("nacosExportConfigs"); export const nacosPreviewConfigImport = forward("nacosPreviewConfigImport"); export const nacosApplyConfigImport = forward("nacosApplyConfigImport"); export const nacosPreviewConfigTransfer = forward("nacosPreviewConfigTransfer"); export const nacosApplyConfigTransfer = forward("nacosApplyConfigTransfer"); export const nacosListConfigHistory = forward("nacosListConfigHistory"); export const nacosGetConfigHistory = forward("nacosGetConfigHistory"); export const nacosRollbackConfig = forward("nacosRollbackConfig"); export const nacosGetRNacosConsoleCaptcha = forward("nacosGetRNacosConsoleCaptcha"); export const nacosLoginRNacosConsole = forward("nacosLoginRNacosConsole"); export const nacosListUsers = forward("nacosListUsers"); export const nacosCreateUser = forward("nacosCreateUser"); export const nacosUpdateUser = forward("nacosUpdateUser"); export const nacosDeleteUser = forward("nacosDeleteUser"); export const nacosListRoleBindings = forward("nacosListRoleBindings"); export const nacosAssignRole = forward("nacosAssignRole"); export const nacosRemoveRole = forward("nacosRemoveRole"); export const nacosAccessSnapshot = forward("nacosAccessSnapshot"); export const nacosStartAccessOperation = forward("nacosStartAccessOperation"); export const nacosGetAccessOperation = forward("nacosGetAccessOperation"); export const nacosRetryAccessOperation = forward("nacosRetryAccessOperation"); export const nacosUndoAccessOperation = forward("nacosUndoAccessOperation"); export const nacosListServices = forward("nacosListServices"); export const nacosGetService = forward("nacosGetService"); export const nacosCreateService = forward("nacosCreateService"); export const nacosUpdateService = forward("nacosUpdateService"); export const nacosDeleteService = forward("nacosDeleteService"); export const nacosListInstances = forward("nacosListInstances"); export const nacosUpdateInstance = forward("nacosUpdateInstance"); export const nacosRegisterInstance = forward("nacosRegisterInstance"); export const nacosDeregisterInstance = forward("nacosDeregisterInstance"); export const nacosGetDashboard = forward("nacosGetDashboard"); export const nacosRawRequest = forward("nacosRawRequest"); // Data Transfer export const startTransfer = forward("startTransfer"); export const cancelTransfer = forward("cancelTransfer"); export const previewTransferOwnership = forward("previewTransferOwnership"); export const sortTablesByFkDependency = forward("sortTablesByFkDependency"); // Table File Import export const previewTableImportFile = forward("previewTableImportFile"); export const importTableFile = forward("importTableFile"); export const cancelTableImport = forward("cancelTableImport"); export const releaseTableImportSource = forward("releaseTableImportSource"); // Database Export export const beginDatabaseBackupSnapshot = forward("beginDatabaseBackupSnapshot"); export const exportDatabaseSql = forward("exportDatabaseSql"); export const cancelDatabaseExport = forward("cancelDatabaseExport"); export const clearDatabaseExportCancellation = forward("clearDatabaseExportCancellation"); export const recordDatabaseExportDestination = forward("recordDatabaseExportDestination"); export const exportQueryResultCsv = forward("exportQueryResultCsv"); export const exportTableDataCsv = forward("exportTableDataCsv"); export const exportQueryResultXlsx = forward("exportQueryResultXlsx"); export const exportQueryResultsXlsx = forward("exportQueryResultsXlsx"); export const exportQueryResultJson = forward("exportQueryResultJson"); export const exportQueryResultMarkdown = forward("exportQueryResultMarkdown"); export const startTableExport = forward("startTableExport"); export const cancelTableExport = forward("cancelTableExport"); export const startQueryResultExport = forward("startQueryResultExport"); export const cancelQueryResultExport = forward("cancelQueryResultExport"); // Redis export const redisListDatabases = forward("redisListDatabases"); export const redisScanKeys = forward("redisScanKeys"); export const redisScanKeysBatch = forward("redisScanKeysBatch"); export const redisScanValues = forward("redisScanValues"); export const redisGetValue = forward("redisGetValue"); export const redisGetTtl = forward("redisGetTtl"); export const redisGetStreamEntries = forward("redisGetStreamEntries"); export const redisGetStreamGroups = forward("redisGetStreamGroups"); export const redisGetStreamConsumers = forward("redisGetStreamConsumers"); export const redisGetStreamPending = forward("redisGetStreamPending"); export const redisSetString = forward("redisSetString"); export const redisDeleteKey = forward("redisDeleteKey"); export const redisRenameKey = forward("redisRenameKey"); export const redisHashSet = forward("redisHashSet"); export const redisHashDel = forward("redisHashDel"); export const redisHashFieldUpdate = forward("redisHashFieldUpdate"); export const redisHashFieldSetTtl = forward("redisHashFieldSetTtl"); export const redisHashFieldSetExpireAt = forward("redisHashFieldSetExpireAt"); export const redisListPush = forward("redisListPush"); export const redisListSet = forward("redisListSet"); export const redisListRemove = forward("redisListRemove"); export const redisSetAdd = forward("redisSetAdd"); export const redisSetRemove = forward("redisSetRemove"); export const redisZadd = forward("redisZadd"); export const redisZrem = forward("redisZrem"); export const redisZsetUpdate = forward("redisZsetUpdate"); export const redisStreamAdd = forward("redisStreamAdd"); export const redisJsonSet = forward("redisJsonSet"); export const redisCheckJsonModule = forward("redisCheckJsonModule"); export const redisSetTtl = forward("redisSetTtl"); export const redisSetExpireAt = forward("redisSetExpireAt"); export const redisDeleteKeys = forward("redisDeleteKeys"); export const redisFlushDb = forward("redisFlushDb"); export const redisExecuteCommand = forward("redisExecuteCommand"); export const redisLoadMore = forward("redisLoadMore"); export const redisPubSubPublish = forward("redisPubSubPublish"); export const redisPubSubConnect = forward("redisPubSubConnect"); export const redisSlowlogGet = forward("redisSlowlogGet"); export const redisClusterMasterNodes = forward("redisClusterMasterNodes"); // etcd export const etcdListPrefix = forward("etcdListPrefix"); export const etcdSupportsTtl = forward("etcdSupportsTtl"); export const etcdGet = forward("etcdGet"); export const etcdPut = forward("etcdPut"); export const etcdDelete = forward("etcdDelete"); export const etcdRename = forward("etcdRename"); export const etcdHistory = forward("etcdHistory"); export const etcdStatus = forward("etcdStatus"); export const etcdPreflight = forward("etcdPreflight"); export const etcdCompact = forward("etcdCompact"); export const etcdDefrag = forward("etcdDefrag"); export const etcdWatchStart = forward("etcdWatchStart"); export const etcdWatchPoll = forward("etcdWatchPoll"); export const etcdWatchStop = forward("etcdWatchStop"); export const etcdLeaseList = forward("etcdLeaseList"); export const etcdLeaseCall = forward("etcdLeaseCall"); export const etcdAuthCall = forward("etcdAuthCall"); // ZooKeeper export const zookeeperListPrefix = forward("zookeeperListPrefix"); export const zookeeperGet = forward("zookeeperGet"); export const zookeeperPut = forward("zookeeperPut"); export const zookeeperDelete = forward("zookeeperDelete"); // Consul KV export const consulCapabilities = forward("consulCapabilities"); export const consulTxn = forward("consulTxn"); export const consulRenameKey = forward("consulRenameKey"); export const consulBlockingQuery = forward("consulBlockingQuery"); export const consulDomainWatch = forward("consulDomainWatch"); export const consulCancelBlocking = forward("consulCancelBlocking"); export const consulWatchStart = forward("consulWatchStart"); export const consulListRecursive = forward("consulListRecursive"); export const consulSearch = forward("consulSearch"); export const consulSearchProgress = forward("consulSearchProgress"); export const consulCancelSearch = forward("consulCancelSearch"); export const consulExportBundle = forward("consulExportBundle"); export const consulImportPreview = forward("consulImportPreview"); export const consulImportExecute = forward("consulImportExecute"); export const consulDeletePrefixPreview = forward("consulDeletePrefixPreview"); export const consulDeletePrefixExecute = forward("consulDeletePrefixExecute"); export const consulListPrefix = forward("consulListPrefix"); export const consulGet = forward("consulGet"); export const consulPut = forward("consulPut"); export const consulDelete = forward("consulDelete"); export const consulPreparedQueryList = forward("consulPreparedQueryList"); export const consulPreparedQueryRead = forward("consulPreparedQueryRead"); export const consulPreparedQueryCreate = forward("consulPreparedQueryCreate"); export const consulPreparedQueryUpdate = forward("consulPreparedQueryUpdate"); export const consulPreparedQueryDelete = forward("consulPreparedQueryDelete"); export const consulPreparedQueryExecute = forward("consulPreparedQueryExecute"); export const consulPreparedQueryExplain = forward("consulPreparedQueryExplain"); export const consulEventList = forward("consulEventList"); export const consulEventFire = forward("consulEventFire"); export const consulCoordinateNodes = forward("consulCoordinateNodes"); export const consulOperatorRead = forward("consulOperatorRead"); export const consulSnapshotGenerate = forward("consulSnapshotGenerate"); export const consulSnapshotRestore = forward("consulSnapshotRestore"); export const consulAutopilotUpdate = forward("consulAutopilotUpdate"); export const consulRaftTransfer = forward("consulRaftTransfer"); export const consulRaftRemove = forward("consulRaftRemove"); export const consulKeyringWrite = forward("consulKeyringWrite"); export const consulLicenseWrite = forward("consulLicenseWrite"); export const consulStatusLeader = forward("consulStatusLeader"); export const consulStatusPeers = forward("consulStatusPeers"); export const consulAgentSelf = forward("consulAgentSelf"); export const consulAgentMembers = forward("consulAgentMembers"); export const consulAgentMetrics = forward("consulAgentMetrics"); export const consulCatalogDatacenters = forward("consulCatalogDatacenters"); export const consulCatalogNodes = forward("consulCatalogNodes"); export const consulCatalogServices = forward("consulCatalogServices"); export const consulCatalogServiceNodes = forward("consulCatalogServiceNodes"); export const consulCatalogNodeServices = forward("consulCatalogNodeServices"); export const consulHealthNode = forward("consulHealthNode"); export const consulHealthChecks = forward("consulHealthChecks"); export const consulHealthService = forward("consulHealthService"); export const consulHealthState = forward("consulHealthState"); export const consulAgentServices = forward("consulAgentServices"); export const consulAgentService = forward("consulAgentService"); export const consulAgentChecks = forward("consulAgentChecks"); export const consulAgentRegisterService = forward("consulAgentRegisterService"); export const consulAgentDeregisterService = forward("consulAgentDeregisterService"); export const consulAgentServiceMaintenance = forward("consulAgentServiceMaintenance"); export const consulAgentRegisterCheck = forward("consulAgentRegisterCheck"); export const consulAgentDeregisterCheck = forward("consulAgentDeregisterCheck"); export const consulAgentUpdateTtl = forward("consulAgentUpdateTtl"); export const consulSessions = forward("consulSessions"); export const consulNodeSessions = forward("consulNodeSessions"); export const consulSession = forward("consulSession"); export const consulSessionKeys = forward("consulSessionKeys"); export const consulSessionDestroyImpact = forward("consulSessionDestroyImpact"); export const consulCreateSession = forward("consulCreateSession"); export const consulRenewSession = forward("consulRenewSession"); export const consulDestroySession = forward("consulDestroySession"); export const consulAcquireLock = forward("consulAcquireLock"); export const consulReleaseLock = forward("consulReleaseLock"); export const consulAclList = forward("consulAclList"); export const consulAclTokenSelf = forward("consulAclTokenSelf"); export const consulAclTokenClone = forward("consulAclTokenClone"); export const consulAclGet = forward("consulAclGet"); export const consulAclApply = forward("consulAclApply"); export const consulAclReferences = forward("consulAclReferences"); export const consulAclDelete = forward("consulAclDelete"); export const consulEnterpriseList = forward("consulEnterpriseList"); export const consulEnterpriseGet = forward("consulEnterpriseGet"); export const consulEnterpriseApply = forward("consulEnterpriseApply"); export const consulEnterpriseImpact = forward("consulEnterpriseImpact"); export const consulEnterpriseDelete = forward("consulEnterpriseDelete"); export const consulMeshConfigList = forward("consulMeshConfigList"); export const consulMeshConfigGet = forward("consulMeshConfigGet"); export const consulMeshConfigApply = forward("consulMeshConfigApply"); export const consulMeshConfigDelete = forward("consulMeshConfigDelete"); export const consulMeshIntentionsList = forward("consulMeshIntentionsList"); export const consulMeshIntentionGet = forward("consulMeshIntentionGet"); export const consulMeshIntentionGetExact = forward("consulMeshIntentionGetExact"); export const consulMeshIntentionUpsert = forward("consulMeshIntentionUpsert"); export const consulMeshIntentionDelete = forward("consulMeshIntentionDelete"); export const consulMeshIntentionDeleteExact = forward("consulMeshIntentionDeleteExact"); export const consulMeshIntentionMatch = forward("consulMeshIntentionMatch"); export const consulMeshIntentionCheck = forward("consulMeshIntentionCheck"); export const consulMeshDiscoveryChain = forward("consulMeshDiscoveryChain"); export const consulMeshPeeringList = forward("consulMeshPeeringList"); export const consulMeshPeeringGet = forward("consulMeshPeeringGet"); export const consulMeshPeeringGenerateToken = forward("consulMeshPeeringGenerateToken"); export const consulMeshPeeringEstablish = forward("consulMeshPeeringEstablish"); export const consulMeshPeeringDelete = forward("consulMeshPeeringDelete"); export const consulMeshExportedServicesList = forward("consulMeshExportedServicesList"); export const consulMeshExportedServicesApply = forward("consulMeshExportedServicesApply"); // HBase export const hbaseGetTableSchema = forward("hbaseGetTableSchema"); export const hbaseScanRows = forward("hbaseScanRows"); export const hbaseGetRow = forward("hbaseGetRow"); export const hbasePutRow = forward("hbasePutRow"); export const hbaseDeleteRow = forward("hbaseDeleteRow"); export const hbaseCreateTable = forward("hbaseCreateTable"); export const hbaseDeleteTable = forward("hbaseDeleteTable"); // Message Queue export const mqTestConnection = forward("mqTestConnection"); export const mqListTenants = forward("mqListTenants"); export const mqGetTenant = forward("mqGetTenant"); export const mqCreateTenant = forward("mqCreateTenant"); export const mqUpdateTenant = forward("mqUpdateTenant"); export const mqDeleteTenant = forward("mqDeleteTenant"); export const mqListNamespaces = forward("mqListNamespaces"); export const mqCreateNamespace = forward("mqCreateNamespace"); export const mqDeleteNamespace = forward("mqDeleteNamespace"); export const mqGetNamespacePolicies = forward("mqGetNamespacePolicies"); export const mqListTopics = forward("mqListTopics"); export const mqCreateTopic = forward("mqCreateTopic"); export const mqDeleteTopic = forward("mqDeleteTopic"); export const mqUpdatePartitions = forward("mqUpdatePartitions"); export const mqGetTopicStats = forward("mqGetTopicStats"); export const mqGetTopicInternalStats = forward("mqGetTopicInternalStats"); export const mqListExchanges = forward("mqListExchanges"); export const mqCreateExchange = forward("mqCreateExchange"); export const mqDeleteExchange = forward("mqDeleteExchange"); export const mqListBindings = forward("mqListBindings"); export const mqBind = forward("mqBind"); export const mqUnbind = forward("mqUnbind"); export const mqListClientConnections = forward("mqListClientConnections"); export const mqListClientChannels = forward("mqListClientChannels"); export const mqCloseClientConnection = forward("mqCloseClientConnection"); export const mqListSubscriptions = forward("mqListSubscriptions"); export const mqEnrichSubscriptions = forward("mqEnrichSubscriptions"); export const mqGetKafkaConsumerGroupSnapshot = forward("mqGetKafkaConsumerGroupSnapshot"); export const mqCreateSubscription = forward("mqCreateSubscription"); export const mqDeleteSubscription = forward("mqDeleteSubscription"); export const mqSkipMessages = forward("mqSkipMessages"); export const mqResetCursor = forward("mqResetCursor"); export const mqClearBacklog = forward("mqClearBacklog"); export const mqPeekMessages = forward("mqPeekMessages"); export const mqExpireMessages = forward("mqExpireMessages"); export const mqListProducers = forward("mqListProducers"); export const mqListConsumers = forward("mqListConsumers"); export const mqUnloadTopic = forward("mqUnloadTopic"); export const mqSetPublishRate = forward("mqSetPublishRate"); export const mqSetDispatchRate = forward("mqSetDispatchRate"); export const mqSetSubscribeRate = forward("mqSetSubscribeRate"); export const mqSetBacklogQuota = forward("mqSetBacklogQuota"); export const mqSetRetention = forward("mqSetRetention"); export const mqGetEffectivePolicies = forward("mqGetEffectivePolicies"); export const mqGrantPermission = forward("mqGrantPermission"); export const mqRevokePermission = forward("mqRevokePermission"); export const mqListPermissions = forward("mqListPermissions"); export const mqIssueToken = forward("mqIssueToken"); export const mqListTokenRecords = forward("mqListTokenRecords"); export const mqGetBacklog = forward("mqGetBacklog"); export const mqGetConsumerGroupConfig = forward("mqGetConsumerGroupConfig"); export const mqAlterConsumerGroupConfig = forward("mqAlterConsumerGroupConfig"); export const mqGetClusterInfo = forward("mqGetClusterInfo"); export const mqGetTopicRoute = forward("mqGetTopicRoute"); export const mqAlterTopicConfig = forward("mqAlterTopicConfig"); export const mqSkipTopicAccumulation = forward("mqSkipTopicAccumulation"); export const mqViewMessage = forward("mqViewMessage"); export const mqQueryMessagesByKey = forward("mqQueryMessagesByKey"); export const mqQueryMessagesByTopic = forward("mqQueryMessagesByTopic"); export const mqQueryMessageTrace = forward("mqQueryMessageTrace"); export const mqRawRequest = forward("mqRawRequest"); export const mqSendMessage = forward("mqSendMessage"); export const mqListUsers = forward("mqListUsers"); export const mqCreateUser = forward("mqCreateUser"); export const mqDeleteUser = forward("mqDeleteUser"); export const mqListUserPermissions = forward("mqListUserPermissions"); export const mqGrantUserPermission = forward("mqGrantUserPermission"); export const mqRevokeUserPermission = forward("mqRevokeUserPermission"); export const mqListPolicies = forward("mqListPolicies"); export const mqSetPolicy = forward("mqSetPolicy"); export const mqDeletePolicy = forward("mqDeletePolicy"); export const mqGetOverview = forward("mqGetOverview"); export const mqListNodes = forward("mqListNodes"); // MongoDB export const documentListDatabases = forward("documentListDatabases"); export const mongoListDatabases = forward("mongoListDatabases"); export const documentListCollections = forward("documentListCollections"); export const mongoListCollections = forward("mongoListCollections"); export const documentListGridFsBuckets = forward("documentListGridFsBuckets"); export const documentCreateGridFsBucket = forward("documentCreateGridFsBucket"); export const documentDeleteGridFsBucket = forward("documentDeleteGridFsBucket"); export const documentListGridFsFiles = forward("documentListGridFsFiles"); export const documentDownloadGridFsFile = forward("documentDownloadGridFsFile"); export const documentUploadGridFsFile = forward("documentUploadGridFsFile"); export const documentDeleteGridFsFile = forward("documentDeleteGridFsFile"); export const vectorGetCollectionDetail = forward("vectorGetCollectionDetail"); export const vectorDropDatabase = forward("vectorDropDatabase"); export const vectorDropCollection = forward("vectorDropCollection"); export const vectorRenameCollection = forward("vectorRenameCollection"); export const mongoCreateDatabase = forward("mongoCreateDatabase"); export const mongoDropDatabase = forward("mongoDropDatabase"); export const mongoDropCollection = forward("mongoDropCollection"); export const mongoRenameCollection = forward("mongoRenameCollection"); export const mongoCloneCollection = forward("mongoCloneCollection"); export const documentFindDocuments = forward("documentFindDocuments"); export const documentCountDocuments = forward("documentCountDocuments"); export const dynamodbDescribeTable = forward("dynamodbDescribeTable"); export const elasticsearchCountDocuments = forward("elasticsearchCountDocuments"); export const mongoFindDocuments = forward("mongoFindDocuments"); export const mongoParseShellCommand = forward("mongoParseShellCommand"); export const mongoFindOne = forward("mongoFindOne"); export const mongoCountDocuments = forward("mongoCountDocuments"); export const mongoServerVersion = forward("mongoServerVersion"); export const mongoAggregateDocuments = forward("mongoAggregateDocuments"); export const mongoDistinct = forward("mongoDistinct"); export const mongoCollectionStats = forward("mongoCollectionStats"); export const mongoListIndexSpecs = forward("mongoListIndexSpecs"); export const mongoCreateIndex = forward("mongoCreateIndex"); export const mongoCreateUser = forward("mongoCreateUser"); export const mongoRunCommand = forward("mongoRunCommand"); export const mongoDropIndexes = forward("mongoDropIndexes"); export const documentInsertDocument = forward("documentInsertDocument"); export const mongoInsertDocument = forward("mongoInsertDocument"); export const mongoInsertDocuments = forward("mongoInsertDocuments"); export const documentUpdateDocument = forward("documentUpdateDocument"); export const mongoUpdateDocument = forward("mongoUpdateDocument"); export const mongoUpdateDocuments = forward("mongoUpdateDocuments"); export const documentDeleteDocument = forward("documentDeleteDocument"); export const documentSaveMeilisearchBatch = forward("documentSaveMeilisearchBatch"); export const meilisearchSearchDocuments = forward("meilisearchSearchDocuments"); export const meilisearchFetchDocuments = forward("meilisearchFetchDocuments"); export const meilisearchGetDocument = forward("meilisearchGetDocument"); export const meilisearchGetIndexSettings = forward("meilisearchGetIndexSettings"); export const meilisearchUpdateIndexSettings = forward("meilisearchUpdateIndexSettings"); export const meilisearchGetIndexStats = forward("meilisearchGetIndexStats"); export const meilisearchGetIndexOverview = forward("meilisearchGetIndexOverview"); export const meilisearchDeleteIndex = forward("meilisearchDeleteIndex"); export const meilisearchDeleteAllDocuments = forward("meilisearchDeleteAllDocuments"); export const meilisearchGetSystemOverview = forward("meilisearchGetSystemOverview"); export const meilisearchListIndexes = forward("meilisearchListIndexes"); export const meilisearchListKeys = forward("meilisearchListKeys"); export const meilisearchGetKey = forward("meilisearchGetKey"); export const meilisearchCreateKey = forward("meilisearchCreateKey"); export const meilisearchUpdateKey = forward("meilisearchUpdateKey"); export const meilisearchDeleteKey = forward("meilisearchDeleteKey"); export const meilisearchGetTasks = forward("meilisearchGetTasks"); export const meilisearchGetTask = forward("meilisearchGetTask"); export const meilisearchCancelTasks = forward("meilisearchCancelTasks"); export const meilisearchDeleteTasks = forward("meilisearchDeleteTasks"); export const mongoDeleteDocument = forward("mongoDeleteDocument"); export const mongoDeleteDocuments = forward("mongoDeleteDocuments"); export const mongoFindOneAndUpdate = forward("mongoFindOneAndUpdate"); export const mongoFindOneAndReplace = forward("mongoFindOneAndReplace"); export const mongoFindOneAndDelete = forward("mongoFindOneAndDelete"); // Elasticsearch export const elasticsearchListIndices = forward("elasticsearchListIndices"); export const elasticsearchGetIndexMetadata = forward("elasticsearchGetIndexMetadata"); export const elasticsearchDeleteAllDocuments = forward("elasticsearchDeleteAllDocuments"); export const vectorListCollections = forward("vectorListCollections"); // History export const saveHistory = forward("saveHistory"); export const loadHistory = forward("loadHistory"); export const searchHistory = forward("searchHistory"); export const loadHistoryConnectionOptions = forward("loadHistoryConnectionOptions"); export const loadRedisHistory = forward("loadRedisHistory"); export const clearHistory = forward("clearHistory"); export const clearRedisHistory = forward("clearRedisHistory"); export const deleteHistoryEntry = forward("deleteHistoryEntry"); // Updates export const checkMcpServerStatus = forward("checkMcpServerStatus"); export const installMcpServer = forward("installMcpServer"); export const uninstallMcpServer = forward("uninstallMcpServer"); export const loadMcpHttpServerSettings = forward("loadMcpHttpServerSettings"); export const saveMcpHttpServerSettings = forward("saveMcpHttpServerSettings"); export const mcpHttpServerStatus = forward("mcpHttpServerStatus"); export const rotateMcpHttpServerToken = forward("rotateMcpHttpServerToken"); export const loadWebMcpHttpStatus = forward("loadWebMcpHttpStatus"); export const checkForUpdates = forward("checkForUpdates"); export const fetchChangelog = forward("fetchChangelog"); export const getSystemProxyUrl = forward("getSystemProxyUrl"); export const downloadUpdate = forward("downloadUpdate"); export const cancelUpdateDownload = forward("cancelUpdateDownload"); export const installDownloadedUpdate = forward("installDownloadedUpdate"); export const getAppVersion = forward("getAppVersion"); export const getAppSupportInfo = forward("getAppSupportInfo"); // Layout export const saveSidebarLayout = forward("saveSidebarLayout"); export const loadSidebarLayout = forward("loadSidebarLayout"); // --------------------------------------------------------------------------- // Re-export all types from tauri.ts (shared between both backends) // --------------------------------------------------------------------------- export type { AiConfigItem }; export type { AppSupportInfo, AiMessage, AiCompletionRequest, AiTaskContract, AiStreamChunk, AiModelInfo, AiChatMessage, AiConversation, AiRun, AiRunStatus, PromptTemplate, AgentDriverInfo, AgentOfflineArtifactKind, AgentOfflineExportUnavailableReason, AgentOfflineExportCandidate, AgentOfflineExportPreview, AgentOfflineExportResult, DriverStoreUsage, DriverStoreUsageItem, DriverRuntimeHealth, DriverRuntimeStatus, DriverRuntimeInfo, DriverRuntimeSummary, JavaRuntimeMode, JavaRuntimeConfig, DriverInstallProgress, DriverStoreMigrationResult, DriverStorePathInfo, WebDavConfig, WebDavPasswordStatus, WebDavSyncSummary, WebDavDownloadResult, SnippetProvider, SnippetSyncConfig, SnippetSyncSettings, SnippetSyncSummary, SnippetDownloadResult, SnippetTokenStatus, McpServerStatus, McpHttpServerSettings, McpHttpServerStatus, WebMcpHttpStatus, UpdateInfo, RedisBlob, RedisCollectionPage, RedisDatabaseInfo, RedisHashItem, RedisKeyInfo, RedisListItem, RedisSetItem, RedisStreamConsumer, RedisStreamEntry, RedisStreamField, RedisStreamGroup, RedisStreamMetric, RedisStreamPage, RedisStreamPendingEntry, RedisStreamPendingPage, RedisValue, RedisValueData, RedisZsetItem, RedisScanResult, RedisCommandSafety, RedisCommandResult, RedisSlowlogEntry, RedisNodeEndpoint, KvValueEncoding, KvInt64, KvValue, KvKeyMetadata, KvKeySummary, KvListPrefixResponse, KvListPrefixOptions, KvGetOptions, KvGetResponse, KvWriteMode, KvCreateMode, KvPutOptions, KvPutResponse, KvDeleteOptions, KvDeleteResponse, KvHistoryEventType, KvHistoryEvent, KvHistoryResponse, KvStatusMember, KvPrometheusMetrics, KvStatusResponse, EtcdDefragResponse, EtcdDefragMemberResult, EtcdWatchStartRequest, EtcdWatchStartResponse, EtcdWatchPollResponse, EtcdLeaseListResponse, EtcdLeaseDetail, EtcdAuthUserListResponse, EtcdAuthUserDetail, EtcdAuthPermission, EtcdAuthRoleListResponse, EtcdAuthRoleDetail, EtcdPreflightResponse, EtcdDangerousApproval, DocumentQueryResult, DynamoDbKeyInfo, DynamoDbIndexInfo, DynamoDbTableDescription, MongoDocumentResult, HistoryEntry, HistoryConnectionFilter, HistoryDatabaseFilter, HistoryCursor, HistorySearchRequest, HistorySearchResult, HistoryConnectionOption, SqlFileStatus, SqlFileRequest, SqlFilePreview, SqlFileProgress, TransferRequest, TransferProgress, TransferMode, TransferContent, TransferObjectKind, TransferObjectSelection, TransferTableNameCase, TransferOwnershipPolicy, TransferOwnershipPreview, TableImportMode, TableImportStatus, TableImportSourceFormat, TableImportJsonShape, TableImportTextEncoding, TableImportColumnMapping, TableImportParseOptions, TableImportPreviewRequest, TableImportPreview, TableImportPreparedSource, TableImportRequest, TableImportSummary, TableImportProgress, DatabaseExportRequest, ExportProgress, TableExportProgress, TableExportStatus, TableExportRequest, QueryResultExportRequest, AgentEvent, SqlFileEntry, } from "@/lib/backend/tauri"; // MQTT export const mqttGetBrokerInfo = forward("mqttGetBrokerInfo"); export const mqttSubscribe = forward("mqttSubscribe"); export const mqttSaveTopicConfig = forward("mqttSaveTopicConfig"); export const mqttDeleteTopicConfig = forward("mqttDeleteTopicConfig"); export const mqttUnsubscribe = forward("mqttUnsubscribe"); export const mqttPublish = forward("mqttPublish"); export const mqttListTopics = forward("mqttListTopics"); export const mqttListSavedTopicConfigs = forward("mqttListSavedTopicConfigs"); export const mqttGetTopicTree = forward("mqttGetTopicTree"); export const mqttGetMessages = forward("mqttGetMessages"); export const mqttClearMessages = forward("mqttClearMessages");