diff --git a/src/main/index.ts b/src/main/index.ts index da9c334c7e1..84d400b3a0b 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -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' diff --git a/src/main/ipc/register-core-handlers.test.ts b/src/main/ipc/register-core-handlers/register-core-handlers.test.ts similarity index 90% rename from src/main/ipc/register-core-handlers.test.ts rename to src/main/ipc/register-core-handlers/register-core-handlers.test.ts index f175a2d0865..3946f520519 100644 --- a/src/main/ipc/register-core-handlers.test.ts +++ b/src/main/ipc/register-core-handlers/register-core-handlers.test.ts @@ -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 })) diff --git a/src/main/ipc/register-core-handlers.ts b/src/main/ipc/register-core-handlers/register-core-handlers.ts similarity index 56% rename from src/main/ipc/register-core-handlers.ts rename to src/main/ipc/register-core-handlers/register-core-handlers.ts index eff88534dd2..f50d5070405 100644 --- a/src/main/ipc/register-core-handlers.ts +++ b/src/main/ipc/register-core-handlers/register-core-handlers.ts @@ -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 diff --git a/src/main/ipc/skill-delete-ipc-handlers.ts b/src/main/ipc/skill-delete/skill-delete-ipc-handlers.ts similarity index 96% rename from src/main/ipc/skill-delete-ipc-handlers.ts rename to src/main/ipc/skill-delete/skill-delete-ipc-handlers.ts index 9043b400dee..43a12254eaf 100644 --- a/src/main/ipc/skill-delete-ipc-handlers.ts +++ b/src/main/ipc/skill-delete/skill-delete-ipc-handlers.ts @@ -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