mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-30 06:32:24 +00:00
161 lines
10 KiB
TypeScript
161 lines
10 KiB
TypeScript
export const CORE_RPC_METHODS = {
|
|
configGet: 'openhuman.config_get',
|
|
configGetAgentPaths: 'openhuman.config_get_agent_paths',
|
|
configGetAgentSettings: 'openhuman.config_get_agent_settings',
|
|
configGetAnalyticsSettings: 'openhuman.config_get_analytics_settings',
|
|
configGetAutonomySettings: 'openhuman.config_get_autonomy_settings',
|
|
configGetComposioTriggerSettings: 'openhuman.config_get_composio_trigger_settings',
|
|
configGetDashboardSettings: 'openhuman.config_get_dashboard_settings',
|
|
configGetRuntimeFlags: 'openhuman.config_get_runtime_flags',
|
|
configGetMemorySyncSettings: 'openhuman.config_get_memory_sync_settings',
|
|
configGetSandboxSettings: 'openhuman.config_get_sandbox_settings',
|
|
configGetSearchSettings: 'openhuman.config_get_search_settings',
|
|
configGetSuperContextEnabled: 'openhuman.config_get_super_context_enabled',
|
|
configSetSuperContextEnabled: 'openhuman.config_set_super_context_enabled',
|
|
configUpdateSearchSettings: 'openhuman.config_update_search_settings',
|
|
configSetBrowserAllowAll: 'openhuman.config_set_browser_allow_all',
|
|
configUpdateAgentPaths: 'openhuman.config_update_agent_paths',
|
|
configUpdateAgentSettings: 'openhuman.config_update_agent_settings',
|
|
configUpdateAnalyticsSettings: 'openhuman.config_update_analytics_settings',
|
|
configUpdateAutonomySettings: 'openhuman.config_update_autonomy_settings',
|
|
configUpdateBrowserSettings: 'openhuman.config_update_browser_settings',
|
|
configUpdateComposioTriggerSettings: 'openhuman.config_update_composio_trigger_settings',
|
|
configUpdateLocalAiSettings: 'openhuman.config_update_local_ai_settings',
|
|
configUpdateMemorySettings: 'openhuman.config_update_memory_settings',
|
|
configUpdateMemorySyncSettings: 'openhuman.config_update_memory_sync_settings',
|
|
configUpdateModelSettings: 'openhuman.config_update_model_settings',
|
|
configUpdateRuntimeSettings: 'openhuman.config_update_runtime_settings',
|
|
configUpdateSandboxSettings: 'openhuman.config_update_sandbox_settings',
|
|
configUpdateScreenIntelligenceSettings: 'openhuman.config_update_screen_intelligence_settings',
|
|
configWorkspaceOnboardingFlagExists: 'openhuman.config_workspace_onboarding_flag_exists',
|
|
configWorkspaceOnboardingFlagSet: 'openhuman.config_workspace_onboarding_flag_set',
|
|
corePing: 'core.ping',
|
|
inferenceAgentChat: 'openhuman.inference_agent_chat',
|
|
inferenceAgentChatSimple: 'openhuman.inference_agent_chat_simple',
|
|
inferenceApplyPreset: 'openhuman.inference_apply_preset',
|
|
inferenceAssetsStatus: 'openhuman.inference_assets_status',
|
|
inferenceDiagnostics: 'openhuman.inference_diagnostics',
|
|
inferenceDeviceProfile: 'openhuman.inference_device_profile',
|
|
inferenceDownloadAsset: 'openhuman.inference_download_asset',
|
|
inferenceDownloadsProgress: 'openhuman.inference_downloads_progress',
|
|
inferenceGetClientConfig: 'openhuman.inference_get_client_config',
|
|
inferenceInstallPiper: 'openhuman.inference_install_piper',
|
|
inferenceInstallWhisper: 'openhuman.inference_install_whisper',
|
|
inferenceListModels: 'openhuman.inference_list_models',
|
|
inferencePiperInstallStatus: 'openhuman.inference_piper_install_status',
|
|
inferencePresets: 'openhuman.inference_presets',
|
|
inferenceTestConnection: 'openhuman.inference_test_connection',
|
|
inferenceTranscribe: 'openhuman.inference_transcribe',
|
|
inferenceTranscribeBytes: 'openhuman.inference_transcribe_bytes',
|
|
inferenceTts: 'openhuman.inference_tts',
|
|
inferenceUpdateLocalSettings: 'openhuman.inference_update_local_settings',
|
|
inferenceUpdateModelSettings: 'openhuman.inference_update_model_settings',
|
|
inferenceWhisperInstallStatus: 'openhuman.inference_whisper_install_status',
|
|
providersListModels: 'openhuman.inference_list_models',
|
|
screenIntelligenceStatus: 'openhuman.screen_intelligence_status',
|
|
embeddingsGetSettings: 'openhuman.embeddings_get_settings',
|
|
embeddingsUpdateSettings: 'openhuman.embeddings_update_settings',
|
|
embeddingsSetApiKey: 'openhuman.embeddings_set_api_key',
|
|
embeddingsClearApiKey: 'openhuman.embeddings_clear_api_key',
|
|
embeddingsEmbed: 'openhuman.embeddings_embed',
|
|
embeddingsTestConnection: 'openhuman.embeddings_test_connection',
|
|
channelsList: 'openhuman.channels_list',
|
|
mcpClientsInstalledList: 'openhuman.mcp_clients_installed_list',
|
|
mcpClientsToolCall: 'openhuman.mcp_clients_tool_call',
|
|
toolRegistryDiagnostics: 'openhuman.tool_registry_diagnostics',
|
|
healthSnapshot: 'openhuman.health_snapshot',
|
|
healthSystemInfo: 'openhuman.health_system_info',
|
|
} as const;
|
|
|
|
export type CoreRpcMethod = (typeof CORE_RPC_METHODS)[keyof typeof CORE_RPC_METHODS];
|
|
|
|
export const LEGACY_METHOD_ALIASES: Record<string, CoreRpcMethod> = {
|
|
// #3565: old desktop clients used dotted namespace/function channel calls.
|
|
'channels.list': CORE_RPC_METHODS.channelsList,
|
|
// MCP clients — old method names that appeared in Sentry (CORE-RUST-DR/DS/DT/DV/DW).
|
|
// See src/core/legacy_aliases.rs for the Rust-side mirror of this table.
|
|
'mcp_clients.list': CORE_RPC_METHODS.mcpClientsInstalledList,
|
|
'openhuman.channels.list': CORE_RPC_METHODS.channelsList,
|
|
'openhuman.mcp_clients_list': CORE_RPC_METHODS.mcpClientsInstalledList,
|
|
'openhuman.mcp_list': CORE_RPC_METHODS.mcpClientsInstalledList,
|
|
'openhuman.mcp_servers_list': CORE_RPC_METHODS.mcpClientsInstalledList,
|
|
'openhuman.tool_registry_call': CORE_RPC_METHODS.mcpClientsToolCall,
|
|
// #3294: old desktop bundles called the tool-registry diagnostics
|
|
// controller with the dotted `tool_registry.diagnostics` spelling before the
|
|
// canonical `openhuman.tool_registry_diagnostics` form, so the Tool Policy
|
|
// diagnostics panel failed with "unknown method". Keep in sync with the
|
|
// Rust-side mirror in src/core/legacy_aliases.rs.
|
|
'tool_registry.diagnostics': CORE_RPC_METHODS.toolRegistryDiagnostics,
|
|
'openhuman.get_analytics_settings': CORE_RPC_METHODS.configGetAnalyticsSettings,
|
|
'openhuman.get_composio_trigger_settings': CORE_RPC_METHODS.configGetComposioTriggerSettings,
|
|
'openhuman.get_dashboard_settings': CORE_RPC_METHODS.configGetDashboardSettings,
|
|
'openhuman.get_config': CORE_RPC_METHODS.configGet,
|
|
'openhuman.get_runtime_flags': CORE_RPC_METHODS.configGetRuntimeFlags,
|
|
'openhuman.ping': CORE_RPC_METHODS.corePing,
|
|
'openhuman.set_browser_allow_all': CORE_RPC_METHODS.configSetBrowserAllowAll,
|
|
'openhuman.update_analytics_settings': CORE_RPC_METHODS.configUpdateAnalyticsSettings,
|
|
'openhuman.update_autonomy_settings': CORE_RPC_METHODS.configUpdateAutonomySettings,
|
|
'openhuman.update_browser_settings': CORE_RPC_METHODS.configUpdateBrowserSettings,
|
|
'openhuman.update_composio_trigger_settings':
|
|
CORE_RPC_METHODS.configUpdateComposioTriggerSettings,
|
|
'openhuman.update_local_ai_settings': CORE_RPC_METHODS.inferenceUpdateLocalSettings,
|
|
'openhuman.update_memory_settings': CORE_RPC_METHODS.configUpdateMemorySettings,
|
|
'openhuman.update_model_settings': CORE_RPC_METHODS.inferenceUpdateModelSettings,
|
|
'openhuman.update_runtime_settings': CORE_RPC_METHODS.configUpdateRuntimeSettings,
|
|
'openhuman.update_screen_intelligence_settings':
|
|
CORE_RPC_METHODS.configUpdateScreenIntelligenceSettings,
|
|
'openhuman.workspace_onboarding_flag_exists':
|
|
CORE_RPC_METHODS.configWorkspaceOnboardingFlagExists,
|
|
'openhuman.workspace_onboarding_flag_set': CORE_RPC_METHODS.configWorkspaceOnboardingFlagSet,
|
|
'openhuman.local_ai_agent_chat': CORE_RPC_METHODS.inferenceAgentChat,
|
|
'openhuman.local_ai_agent_chat_simple': CORE_RPC_METHODS.inferenceAgentChatSimple,
|
|
'openhuman.local_ai_apply_preset': CORE_RPC_METHODS.inferenceApplyPreset,
|
|
'openhuman.local_ai_assets_status': CORE_RPC_METHODS.inferenceAssetsStatus,
|
|
'openhuman.local_ai_device_profile': CORE_RPC_METHODS.inferenceDeviceProfile,
|
|
'openhuman.local_ai_diagnostics': CORE_RPC_METHODS.inferenceDiagnostics,
|
|
'openhuman.local_ai_download_asset': CORE_RPC_METHODS.inferenceDownloadAsset,
|
|
'openhuman.local_ai_downloads_progress': CORE_RPC_METHODS.inferenceDownloadsProgress,
|
|
'openhuman.local_ai_install_piper': CORE_RPC_METHODS.inferenceInstallPiper,
|
|
'openhuman.local_ai_install_whisper': CORE_RPC_METHODS.inferenceInstallWhisper,
|
|
'openhuman.local_ai_piper_install_status': CORE_RPC_METHODS.inferencePiperInstallStatus,
|
|
'openhuman.local_ai_presets': CORE_RPC_METHODS.inferencePresets,
|
|
'openhuman.local_ai_test_connection': CORE_RPC_METHODS.inferenceTestConnection,
|
|
'openhuman.local_ai_transcribe': CORE_RPC_METHODS.inferenceTranscribe,
|
|
'openhuman.local_ai_transcribe_bytes': CORE_RPC_METHODS.inferenceTranscribeBytes,
|
|
'openhuman.local_ai_tts': CORE_RPC_METHODS.inferenceTts,
|
|
'openhuman.local_ai_whisper_install_status': CORE_RPC_METHODS.inferenceWhisperInstallStatus,
|
|
'openhuman.providers_list_models': CORE_RPC_METHODS.inferenceListModels,
|
|
'openhuman.inference_embed': CORE_RPC_METHODS.embeddingsEmbed,
|
|
health_snapshot: CORE_RPC_METHODS.healthSnapshot,
|
|
// Dotted / bare health probes from older clients and SDK callers (#3566,
|
|
// Sentry CORE-2C). No distinct status/get handler exists — the snapshot
|
|
// already carries the health verdict — so all four alias to the snapshot.
|
|
// Keep in sync with src/core/legacy_aliases.rs (drift guard enforces it).
|
|
health: CORE_RPC_METHODS.healthSnapshot,
|
|
'health.get': CORE_RPC_METHODS.healthSnapshot,
|
|
'health.snapshot': CORE_RPC_METHODS.healthSnapshot,
|
|
'health.status': CORE_RPC_METHODS.healthSnapshot,
|
|
// `openhuman.system_info` was used by older clients / SDK callers before the
|
|
// method was namespaced as `openhuman.health_system_info`.
|
|
// Sentry CORE-RUST-G0 — https://sentry.tinyhumans.ai/organizations/tinyhumans/issues/6340/
|
|
'openhuman.system_info': CORE_RPC_METHODS.healthSystemInfo,
|
|
};
|
|
|
|
export function normalizeRpcMethod(method: string): string {
|
|
const normalized = method.trim().toLowerCase();
|
|
|
|
if (normalized in LEGACY_METHOD_ALIASES) {
|
|
return LEGACY_METHOD_ALIASES[normalized];
|
|
}
|
|
|
|
if (normalized.startsWith('openhuman.auth.')) {
|
|
return `openhuman.auth_${normalized.slice('openhuman.auth.'.length).split('.').join('_')}`;
|
|
}
|
|
|
|
if (normalized.startsWith('openhuman.accessibility_')) {
|
|
return normalized.replace('openhuman.accessibility_', 'openhuman.screen_intelligence_');
|
|
}
|
|
|
|
return normalized;
|
|
}
|