Organize IPC handlers into module subdirectories

Move register-core-handlers and skill-delete-ipc-handlers into
dedicated subdirectories for improved code organization and to
reduce the flat structure in src/main/ipc/.
This commit is contained in:
Jinjing
2026-08-24 15:30:36 -07:00
parent 6017e8488f
commit f1409c1e23
4 changed files with 143 additions and 143 deletions
+1 -1
View File
@@ -74,7 +74,7 @@ import {
import { closeAllWatchers, desktopWorktreeWatcherRemoval } from './ipc/filesystem-watcher'
import { disposeWorktreeBaseDirectoryWatchers } from './ipc/worktree-base-directory-watcher'
import { stopFolderRepoGitUpgradeWatch } from './ipc/folder-repo-git-upgrade'
import { registerCoreHandlers } from './ipc/register-core-handlers'
import { registerCoreHandlers } from './ipc/register-core-handlers/register-core-handlers'
import { initObservability, shutdownObservability } from './observability'
import { registerMobileHandlers } from './ipc/mobile'
import { initTelemetry, shutdownTelemetry, trackAppOpenedOnce, track } from './telemetry/client'
@@ -144,246 +144,246 @@ vi.mock('../../shared/runtime-environment-store', () => ({
listEnvironments: listEnvironmentsMock
}))
vi.mock('./runtime-environment-transport-routing', () => ({
vi.mock('../runtime-environment-transport-routing', () => ({
callRuntimeEnvironment: callRuntimeEnvironmentMock
}))
vi.mock('./codex-config-sync', () => ({
vi.mock('../codex-config-sync', () => ({
registerCodexConfigSyncHandlers: registerCodexConfigSyncHandlersMock
}))
vi.mock('./onboarding', () => ({
vi.mock('../onboarding', () => ({
registerOnboardingHandlers: registerOnboardingHandlersMock
}))
vi.mock('./dashboard-popout', () => ({
vi.mock('../dashboard-popout', () => ({
registerDashboardPopoutHandlers: registerDashboardPopoutHandlersMock
}))
vi.mock('../window/dashboard-popout-window', () => ({
vi.mock('../../window/dashboard-popout-window', () => ({
isDashboardPopoutRenderer: isDashboardPopoutRendererMock
}))
vi.mock('./terminal-preview', () => ({
vi.mock('../terminal-preview', () => ({
registerTerminalPreviewHandlers: registerTerminalPreviewHandlersMock
}))
vi.mock('./speech', () => ({
vi.mock('../speech', () => ({
registerSpeechHandlers: registerSpeechHandlersMock
}))
vi.mock('./cli', () => ({
vi.mock('../cli', () => ({
registerCliHandlers: registerCliHandlersMock
}))
vi.mock('./preflight', () => ({
vi.mock('../preflight', () => ({
registerPreflightHandlers: registerPreflightHandlersMock
}))
vi.mock('./usage-provider-handlers', () => ({
vi.mock('../usage-provider-handlers', () => ({
registerUsageProviderHandlers: registerUsageProviderHandlersMock
}))
vi.mock('./github', () => ({
vi.mock('../github', () => ({
registerGitHubHandlers: registerGitHubHandlersMock
}))
vi.mock('./feedback', () => ({
vi.mock('../feedback', () => ({
registerFeedbackHandlers: registerFeedbackHandlersMock
}))
vi.mock('./export', () => ({
vi.mock('../export', () => ({
registerExportHandlers: registerExportHandlersMock
}))
vi.mock('./stats', () => ({
vi.mock('../stats', () => ({
registerStatsHandlers: registerStatsHandlersMock
}))
vi.mock('./memory', () => ({
vi.mock('../memory', () => ({
registerMemoryHandlers: registerMemoryHandlersMock
}))
vi.mock('./notebook', () => ({
vi.mock('../notebook', () => ({
registerNotebookHandlers: registerNotebookHandlersMock
}))
vi.mock('./notifications', () => ({
vi.mock('../notifications', () => ({
registerNotificationHandlers: registerNotificationHandlersMock
}))
vi.mock('./developer-permissions', () => ({
vi.mock('../developer-permissions', () => ({
registerDeveloperPermissionHandlers: registerDeveloperPermissionHandlersMock
}))
vi.mock('./computer-use-permissions', () => ({
vi.mock('../computer-use-permissions', () => ({
registerComputerUsePermissionHandlers: registerComputerUsePermissionHandlersMock
}))
vi.mock('./settings', () => ({
vi.mock('../settings', () => ({
registerSettingsHandlers: registerSettingsHandlersMock
}))
vi.mock('./skills', () => ({
vi.mock('../skills', () => ({
registerSkillsHandlers: registerSkillsHandlersMock
}))
vi.mock('./skill-delete-ipc-handlers', () => ({
vi.mock('../skill-delete/skill-delete-ipc-handlers', () => ({
registerSkillDeleteIpcHandlers: registerSkillDeleteIpcHandlersMock
}))
vi.mock('./workspace-space', () => ({
vi.mock('../workspace-space', () => ({
registerWorkspaceSpaceHandlers: registerWorkspaceSpaceHandlersMock
}))
vi.mock('./workspace-ports', () => ({
vi.mock('../workspace-ports', () => ({
registerWorkspacePortHandlers: registerWorkspacePortHandlersMock
}))
vi.mock('./localhost-worktree-labels', () => ({
vi.mock('../localhost-worktree-labels', () => ({
registerLocalhostWorktreeLabelHandlers: registerLocalhostWorktreeLabelHandlersMock
}))
vi.mock('./keybindings', () => ({
vi.mock('../keybindings', () => ({
registerKeybindingHandlers: registerKeybindingHandlersMock
}))
vi.mock('./telemetry', () => ({
vi.mock('../telemetry', () => ({
registerTelemetryHandlers: registerTelemetryHandlersMock
}))
vi.mock('./diagnostics', () => ({
vi.mock('../diagnostics', () => ({
registerDiagnosticsHandlers: registerDiagnosticsHandlersMock
}))
vi.mock('./shell', () => ({
vi.mock('../shell', () => ({
registerShellHandlers: registerShellHandlersMock
}))
vi.mock('./pet', () => ({
vi.mock('../pet', () => ({
registerPetHandlers: registerPetHandlersMock
}))
vi.mock('./session', () => ({
vi.mock('../session', () => ({
registerSessionHandlers: registerSessionHandlersMock
}))
vi.mock('./ui', () => ({
vi.mock('../ui', () => ({
registerUIHandlers: registerUIHandlersMock,
setTrustedUIRendererWebContentsId: setTrustedUIRendererWebContentsIdMock
}))
vi.mock('./emulator-frame-stream', () => ({
vi.mock('../emulator-frame-stream', () => ({
registerEmulatorFrameStreamHandlers: registerEmulatorFrameStreamHandlersMock
}))
vi.mock('./emulator-video-stream', () => ({
vi.mock('../emulator-video-stream', () => ({
registerEmulatorVideoStreamHandlers: registerEmulatorVideoStreamHandlersMock
}))
vi.mock('./filesystem', () => ({
vi.mock('../filesystem', () => ({
registerFilesystemHandlers: registerFilesystemHandlersMock
}))
vi.mock('./filesystem-watcher', () => ({
vi.mock('../filesystem-watcher', () => ({
registerFilesystemWatcherHandlers: registerFilesystemWatcherHandlersMock
}))
vi.mock('./rate-limits', () => ({
vi.mock('../rate-limits', () => ({
registerRateLimitHandlers: registerRateLimitHandlersMock
}))
vi.mock('./runtime', () => ({
vi.mock('../runtime', () => ({
registerRuntimeHandlers: registerRuntimeHandlersMock
}))
vi.mock('./runtime-environments', () => ({
vi.mock('../runtime-environments', () => ({
registerRuntimeEnvironmentHandlers: registerRuntimeEnvironmentHandlersMock
}))
vi.mock('./ephemeral-vm', () => ({
vi.mock('../ephemeral-vm', () => ({
registerEphemeralVmHandlers: registerEphemeralVmHandlersMock
}))
vi.mock('./ai-vault', () => ({
vi.mock('../ai-vault', () => ({
registerAiVaultHandlers: registerAiVaultHandlersMock
}))
vi.mock('./orca-profiles', () => ({
vi.mock('../orca-profiles', () => ({
registerOrcaProfileHandlers: registerOrcaProfileHandlersMock
}))
vi.mock('./codex-accounts', () => ({
vi.mock('../codex-accounts', () => ({
registerCodexAccountHandlers: registerCodexAccountHandlersMock
}))
vi.mock('./agent-hooks', () => ({
vi.mock('../agent-hooks', () => ({
registerAgentHookHandlers: registerAgentHookHandlersMock
}))
vi.mock('./agent-trust', () => ({
vi.mock('../agent-trust', () => ({
registerAgentTrustHandlers: registerAgentTrustHandlersMock
}))
vi.mock('./claude-accounts', () => ({
vi.mock('../claude-accounts', () => ({
registerClaudeAccountHandlers: registerClaudeAccountHandlersMock
}))
vi.mock('./minimax-credentials', () => ({
vi.mock('../minimax-credentials', () => ({
registerMiniMaxCredentialsHandlers: registerMiniMaxCredentialsHandlersMock
}))
vi.mock('./grok-accounts', () => ({
vi.mock('../grok-accounts', () => ({
registerGrokAccountHandlers: registerGrokAccountHandlersMock
}))
vi.mock('../window/attach-main-window-services', () => ({
vi.mock('../../window/attach-main-window-services', () => ({
registerUpdaterHandlers: registerUpdaterHandlersMock
}))
vi.mock('../window/clipboard-ipc-handlers', () => ({
vi.mock('../../window/clipboard-ipc-handlers', () => ({
registerClipboardHandlers: registerClipboardHandlersMock,
setTrustedClipboardRendererWebContentsId: setTrustedClipboardRendererWebContentsIdMock
}))
vi.mock('./browser', () => ({
vi.mock('../browser', () => ({
registerBrowserHandlers: registerBrowserHandlersMock,
setAgentBrowserBridgeRef: setAgentBrowserBridgeRefMock
}))
vi.mock('./browser-renderer-trust', () => ({
vi.mock('../browser-renderer-trust', () => ({
setTrustedBrowserRendererWebContentsId: setTrustedBrowserRendererWebContentsIdMock
}))
vi.mock('./app', () => ({
vi.mock('../app', () => ({
registerAppHandlers: registerAppHandlersMock
}))
vi.mock('./terminal-render-desync-evidence', () => ({
vi.mock('../terminal-render-desync-evidence', () => ({
registerTerminalRenderDesyncEvidenceHandler: registerTerminalRenderDesyncEvidenceHandlerMock
}))
vi.mock('./linear', () => ({
vi.mock('../linear', () => ({
registerLinearHandlers: registerLinearHandlersMock
}))
vi.mock('./jira', () => ({
vi.mock('../jira', () => ({
registerJiraHandlers: registerJiraHandlersMock
}))
vi.mock('./bitbucket', () => ({
vi.mock('../bitbucket', () => ({
registerBitbucketHandlers: registerBitbucketHandlersMock
}))
vi.mock('./gitlab', () => ({
vi.mock('../gitlab', () => ({
registerGitLabHandlers: registerGitLabHandlersMock
}))
vi.mock('./hosted-review', () => ({
vi.mock('../hosted-review', () => ({
registerHostedReviewHandlers: registerHostedReviewHandlersMock
}))
vi.mock('./native-chat', () => ({
vi.mock('../native-chat', () => ({
registerNativeChatHandlers: registerNativeChatHandlersMock
}))
@@ -1,96 +1,96 @@
import { app } from 'electron'
import { registerAppHandlers } from './app'
import { registerCliHandlers } from './cli'
import { registerPreflightHandlers } from './preflight'
import type { Store } from '../persistence'
import type { OrcaRuntimeService } from '../runtime/orca-runtime'
import type { StatsCollector } from '../stats/collector'
import { registerFilesystemHandlers } from './filesystem'
import type { CommitMessageAgentEnvironmentResolvers } from '../text-generation/commit-message-agent-environment'
import { registerFilesystemWatcherHandlers } from './filesystem-watcher'
import { registerUsageProviderHandlers } from './usage-provider-handlers'
import { registerGitHubHandlers } from './github'
import { registerGitLabHandlers } from './gitlab'
import { registerHostedReviewHandlers } from './hosted-review'
import { registerLinearHandlers } from './linear'
import { registerJiraHandlers } from './jira'
import { registerBitbucketHandlers } from './bitbucket'
import { registerFeedbackHandlers } from './feedback'
import { registerCrashReportingHandlers } from './crash-reporting'
import { registerExportHandlers } from './export'
import { registerStatsHandlers } from './stats'
import { registerMemoryHandlers } from './memory'
import { registerRateLimitHandlers } from './rate-limits'
import { registerRuntimeHandlers } from './runtime'
import { registerRuntimeEnvironmentHandlers } from './runtime-environments'
import { registerEphemeralVmHandlers } from './ephemeral-vm'
import { registerAiVaultHandlers } from './ai-vault'
import { registerNativeChatHandlers } from './native-chat'
import { registerNotificationHandlers } from './notifications'
import { registerNotebookHandlers } from './notebook'
import { registerOnboardingHandlers } from './onboarding'
import { registerDashboardPopoutHandlers } from './dashboard-popout'
import { registerTerminalPreviewHandlers } from './terminal-preview'
import { registerDeveloperPermissionHandlers } from './developer-permissions'
import { registerComputerUsePermissionHandlers } from './computer-use-permissions'
import { setAgentBrowserBridgeRef, registerBrowserHandlers } from './browser'
import { setTrustedBrowserRendererWebContentsId } from './browser-renderer-trust'
import { registerSessionHandlers } from './session'
import { registerSettingsHandlers } from './settings'
import { registerDiagnosticsHandlers } from './diagnostics'
import { registerSkillsHandlers } from './skills'
import { registerSkillDeleteIpcHandlers } from './skill-delete-ipc-handlers'
import { registerWorkspaceSpaceHandlers } from './workspace-space'
import { registerWorkspacePortHandlers } from './workspace-ports'
import { registerLocalhostWorktreeLabelHandlers } from './localhost-worktree-labels'
import { registerAutomationHandlers } from './automations'
import { registerKeybindingHandlers } from './keybindings'
import { registerTelemetryHandlers } from './telemetry'
import { registerShellHandlers } from './shell'
import { registerPetHandlers } from './pet'
import { registerPluginHandlers } from './plugins'
import { registerUIHandlers, setTrustedUIRendererWebContentsId } from './ui'
import { registerEmulatorFrameStreamHandlers } from './emulator-frame-stream'
import { registerEmulatorVideoStreamHandlers } from './emulator-video-stream'
import { registerSpeechHandlers } from './speech'
import { registerTerminalRenderDesyncEvidenceHandler } from './terminal-render-desync-evidence'
import { registerOrcaProfileHandlers } from './orca-profiles'
import { registerCodexAccountHandlers } from './codex-accounts'
import { registerAgentHookHandlers } from './agent-hooks'
import { registerCodexConfigSyncHandlers } from './codex-config-sync'
import { getPtyIdForPaneKey } from './pty'
import { registerAgentTrustHandlers } from './agent-trust'
import { registerClaudeAccountHandlers } from './claude-accounts'
import { registerMiniMaxCredentialsHandlers } from './minimax-credentials'
import { registerGrokAccountHandlers } from './grok-accounts'
import { registerUpdaterHandlers } from '../window/attach-main-window-services'
import { registerAppHandlers } from '../app'
import { registerCliHandlers } from '../cli'
import { registerPreflightHandlers } from '../preflight'
import type { Store } from '../../persistence'
import type { OrcaRuntimeService } from '../../runtime/orca-runtime'
import type { StatsCollector } from '../../stats/collector'
import { registerFilesystemHandlers } from '../filesystem'
import type { CommitMessageAgentEnvironmentResolvers } from '../../text-generation/commit-message-agent-environment'
import { registerFilesystemWatcherHandlers } from '../filesystem-watcher'
import { registerUsageProviderHandlers } from '../usage-provider-handlers'
import { registerGitHubHandlers } from '../github'
import { registerGitLabHandlers } from '../gitlab'
import { registerHostedReviewHandlers } from '../hosted-review'
import { registerLinearHandlers } from '../linear'
import { registerJiraHandlers } from '../jira'
import { registerBitbucketHandlers } from '../bitbucket'
import { registerFeedbackHandlers } from '../feedback'
import { registerCrashReportingHandlers } from '../crash-reporting'
import { registerExportHandlers } from '../export'
import { registerStatsHandlers } from '../stats'
import { registerMemoryHandlers } from '../memory'
import { registerRateLimitHandlers } from '../rate-limits'
import { registerRuntimeHandlers } from '../runtime'
import { registerRuntimeEnvironmentHandlers } from '../runtime-environments'
import { registerEphemeralVmHandlers } from '../ephemeral-vm'
import { registerAiVaultHandlers } from '../ai-vault'
import { registerNativeChatHandlers } from '../native-chat'
import { registerNotificationHandlers } from '../notifications'
import { registerNotebookHandlers } from '../notebook'
import { registerOnboardingHandlers } from '../onboarding'
import { registerDashboardPopoutHandlers } from '../dashboard-popout'
import { registerTerminalPreviewHandlers } from '../terminal-preview'
import { registerDeveloperPermissionHandlers } from '../developer-permissions'
import { registerComputerUsePermissionHandlers } from '../computer-use-permissions'
import { setAgentBrowserBridgeRef, registerBrowserHandlers } from '../browser'
import { setTrustedBrowserRendererWebContentsId } from '../browser-renderer-trust'
import { registerSessionHandlers } from '../session'
import { registerSettingsHandlers } from '../settings'
import { registerDiagnosticsHandlers } from '../diagnostics'
import { registerSkillsHandlers } from '../skills'
import { registerSkillDeleteIpcHandlers } from '../skill-delete/skill-delete-ipc-handlers'
import { registerWorkspaceSpaceHandlers } from '../workspace-space'
import { registerWorkspacePortHandlers } from '../workspace-ports'
import { registerLocalhostWorktreeLabelHandlers } from '../localhost-worktree-labels'
import { registerAutomationHandlers } from '../automations'
import { registerKeybindingHandlers } from '../keybindings'
import { registerTelemetryHandlers } from '../telemetry'
import { registerShellHandlers } from '../shell'
import { registerPetHandlers } from '../pet'
import { registerPluginHandlers } from '../plugins'
import { registerUIHandlers, setTrustedUIRendererWebContentsId } from '../ui'
import { registerEmulatorFrameStreamHandlers } from '../emulator-frame-stream'
import { registerEmulatorVideoStreamHandlers } from '../emulator-video-stream'
import { registerSpeechHandlers } from '../speech'
import { registerTerminalRenderDesyncEvidenceHandler } from '../terminal-render-desync-evidence'
import { registerOrcaProfileHandlers } from '../orca-profiles'
import { registerCodexAccountHandlers } from '../codex-accounts'
import { registerAgentHookHandlers } from '../agent-hooks'
import { registerCodexConfigSyncHandlers } from '../codex-config-sync'
import { getPtyIdForPaneKey } from '../pty'
import { registerAgentTrustHandlers } from '../agent-trust'
import { registerClaudeAccountHandlers } from '../claude-accounts'
import { registerMiniMaxCredentialsHandlers } from '../minimax-credentials'
import { registerGrokAccountHandlers } from '../grok-accounts'
import { registerUpdaterHandlers } from '../../window/attach-main-window-services'
import {
registerClipboardHandlers,
setTrustedClipboardRendererWebContentsId
} from '../window/clipboard-ipc-handlers'
import { isDashboardPopoutRenderer } from '../window/dashboard-popout-window'
import type { ClaudeUsageStore } from '../claude-usage/store'
import type { CodexUsageStore } from '../codex-usage/store'
import type { OpenCodeUsageStore } from '../opencode-usage/store'
import type { RateLimitService } from '../rate-limits/service'
import type { CodexAccountService } from '../codex-accounts/service'
import type { ClaudeAccountService } from '../claude-accounts/service'
import type { AutomationService } from '../automations/service'
import type { AgentAwakeService } from '../agent-awake-service'
import type { CrashReportStore } from '../crash-reporting/crash-report-store'
import type { KeybindingService } from '../keybindings/keybinding-service'
} from '../../window/clipboard-ipc-handlers'
import { isDashboardPopoutRenderer } from '../../window/dashboard-popout-window'
import type { ClaudeUsageStore } from '../../claude-usage/store'
import type { CodexUsageStore } from '../../codex-usage/store'
import type { OpenCodeUsageStore } from '../../opencode-usage/store'
import type { RateLimitService } from '../../rate-limits/service'
import type { CodexAccountService } from '../../codex-accounts/service'
import type { ClaudeAccountService } from '../../claude-accounts/service'
import type { AutomationService } from '../../automations/service'
import type { AgentAwakeService } from '../../agent-awake-service'
import type { CrashReportStore } from '../../crash-reporting/crash-report-store'
import type { KeybindingService } from '../../keybindings/keybinding-service'
import type {
AiVaultPrepareSessionResumeArgs,
AiVaultPrepareSessionResumeResult
} from '../../shared/ai-vault-resume-preparation'
} from '../../../shared/ai-vault-resume-preparation'
import {
getSavedRuntimeAiVaultHostInfos,
prepareRuntimeAiVaultSessionResume,
resolveRuntimeAiVaultSessionTitles,
scanRuntimeAiVaultSessions
} from '../ai-vault/runtime-session-scanner'
import type { PluginService } from '../plugins/plugin-service'
import type { PluginMarketplaceHandlerServices } from './plugin-marketplaces'
} from '../../ai-vault/runtime-session-scanner'
import type { PluginService } from '../../plugins/plugin-service'
import type { PluginMarketplaceHandlerServices } from '../plugin-marketplaces'
let registered = false
@@ -13,7 +13,7 @@ import {
type SkillDeleteRequestDependencies
} from '../skills/skill-delete-request-service'
import { resolveSkillDiscoveryTarget } from '../skills/skill-discovery-target'
import { handleMainWindowSkillIpc } from './skill-ipc-main-window'
import { handleMainWindowSkillIpc } from '../skill-ipc-main-window'
/**
* Local only. A remote runtime is reached straight from the renderer through