diff --git a/src/main/agent-hooks/first-work-branch-rename-wsl-move.test.ts b/src/main/agent-hooks/first-work-branch-rename-wsl-move.test.ts index 36e871f3f3ea..e7dfe6394775 100644 --- a/src/main/agent-hooks/first-work-branch-rename-wsl-move.test.ts +++ b/src/main/agent-hooks/first-work-branch-rename-wsl-move.test.ts @@ -26,7 +26,7 @@ vi.mock('../text-generation/commit-message-text-generation', () => ({ vi.mock('../text-generation/commit-message-agent-environment', () => ({ prepareLocalCommitMessageAgentEnv: vi.fn(async () => ({ ok: true })) })) -vi.mock('../ipc/worktree-logic', () => ({ +vi.mock('../ipc/worktree-branch-name', () => ({ computeBranchName: vi.fn((leaf: string) => `you/${leaf}`), getConfiguredBranchPrefix: vi.fn(() => 'you') })) diff --git a/src/main/agent-hooks/first-work-branch-rename.test.ts b/src/main/agent-hooks/first-work-branch-rename.test.ts index 767092e491c6..46f15440271e 100644 --- a/src/main/agent-hooks/first-work-branch-rename.test.ts +++ b/src/main/agent-hooks/first-work-branch-rename.test.ts @@ -35,7 +35,7 @@ vi.mock('../text-generation/commit-message-text-generation', () => ({ vi.mock('../text-generation/commit-message-agent-environment', () => ({ prepareLocalCommitMessageAgentEnv: prepareLocalEnvMock })) -vi.mock('../ipc/worktree-logic', () => ({ +vi.mock('../ipc/worktree-branch-name', () => ({ computeBranchName: computeBranchNameMock, getConfiguredBranchPrefix: getConfiguredBranchPrefixMock })) diff --git a/src/main/agent-hooks/first-work-branch-rename.ts b/src/main/agent-hooks/first-work-branch-rename.ts index d8d4a5a02bcc..9a35a2635da4 100644 --- a/src/main/agent-hooks/first-work-branch-rename.ts +++ b/src/main/agent-hooks/first-work-branch-rename.ts @@ -11,7 +11,7 @@ import { stripConfiguredBranchPrefix } from '../../shared/branch-name-from-work' import { getCommitMessageModelDiscoveryHostKey } from '../../shared/commit-message-host-key' -import { computeBranchName, getConfiguredBranchPrefix } from '../ipc/worktree-logic' +import { computeBranchName, getConfiguredBranchPrefix } from '../ipc/worktree-branch-name' import { gitExecFileAsync } from '../git/runner' import { resolveLocalGitUsername } from '../git/git-username' import { resolveGitRouteForHost } from '../providers/execution-host-provider-dispatch' diff --git a/src/main/ipc/filesystem-watcher-document-lifetime.test.ts b/src/main/ipc/filesystem-watcher-document-lifetime.test.ts index 9bc42d1ef737..a6a47714e3a1 100644 --- a/src/main/ipc/filesystem-watcher-document-lifetime.test.ts +++ b/src/main/ipc/filesystem-watcher-document-lifetime.test.ts @@ -34,14 +34,16 @@ import { import { getLocalWatcherRoot, getRemoteWatcherKey } from './filesystem-watcher-paths' import { reinstallRemoteWatchersForConnection } from './filesystem-watcher-remote-controller' import { reinstallRemoteWatchersForConnectionCore } from './filesystem-watcher-remote-provider-rearm' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' +import { closeAllWatchers } from './filesystem-watcher-shutdown' import { - registerFilesystemWatcherHandlers, - closeAllWatchers, closeLocalWatcherForWorktreePath, + restoreLocalWatcherAfterFailedRemoval +} from './filesystem-watcher-local-removal' +import { closeRemoteWatcherForWorktreePath, - restoreLocalWatcherAfterFailedRemoval, restoreRemoteWatcherAfterFailedRemoval -} from './filesystem-watcher' +} from './filesystem-watcher-remote-removal' const handlers = new Map Promise>() function invoke(channel: string, sender: Sender, args: WatchArgs): Promise { diff --git a/src/main/ipc/filesystem-watcher-dormant-rearm.test.ts b/src/main/ipc/filesystem-watcher-dormant-rearm.test.ts index c4931cd7cb2b..e3fcc8e40f06 100644 --- a/src/main/ipc/filesystem-watcher-dormant-rearm.test.ts +++ b/src/main/ipc/filesystem-watcher-dormant-rearm.test.ts @@ -21,7 +21,8 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ } })) -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' type HandlerMap = Record unknown> diff --git a/src/main/ipc/filesystem-watcher-large-batch.test.ts b/src/main/ipc/filesystem-watcher-large-batch.test.ts index 00e69210510c..b5f654affe3b 100644 --- a/src/main/ipc/filesystem-watcher-large-batch.test.ts +++ b/src/main/ipc/filesystem-watcher-large-batch.test.ts @@ -29,7 +29,8 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ onSshFilesystemProviderRegistered: () => () => {} })) -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' import { stat } from 'node:fs/promises' import { subscribe as subscribeParcelWatcher } from '@parcel/watcher' import type { Event as WatcherEvent } from '@parcel/watcher' diff --git a/src/main/ipc/filesystem-watcher-local-unsubscribe.test.ts b/src/main/ipc/filesystem-watcher-local-unsubscribe.test.ts index da8b92dbcf8b..a0a4efadc045 100644 --- a/src/main/ipc/filesystem-watcher-local-unsubscribe.test.ts +++ b/src/main/ipc/filesystem-watcher-local-unsubscribe.test.ts @@ -37,12 +37,12 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ onSshFilesystemProviderRegistered: () => () => {} })) +import { closeAllWatchers } from './filesystem-watcher-shutdown' import { - closeAllWatchers, closeLocalWatcherForWorktreePath, - registerFilesystemWatcherHandlers, restoreLocalWatcherAfterFailedRemoval -} from './filesystem-watcher' +} from './filesystem-watcher-local-removal' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' import { stat } from 'node:fs/promises' import { subscribe as subscribeParcelWatcher } from '@parcel/watcher' import { subscribeViaWatcherProcess } from './parcel-watcher-process' diff --git a/src/main/ipc/filesystem-watcher-native-capacity.test.ts b/src/main/ipc/filesystem-watcher-native-capacity.test.ts index 9d291f7a9ee6..f70bf3904996 100644 --- a/src/main/ipc/filesystem-watcher-native-capacity.test.ts +++ b/src/main/ipc/filesystem-watcher-native-capacity.test.ts @@ -21,7 +21,8 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ onSshFilesystemProviderRegistered: () => () => {} })) -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' import { MAX_PHYSICAL_WATCHER_CHILDREN, reserveWatcherChild, diff --git a/src/main/ipc/filesystem-watcher-real.test.ts b/src/main/ipc/filesystem-watcher-real.test.ts index f884e596f72d..cd2a53820645 100644 --- a/src/main/ipc/filesystem-watcher-real.test.ts +++ b/src/main/ipc/filesystem-watcher-real.test.ts @@ -25,7 +25,8 @@ vi.mock('electron', () => ({ ipcMain: { handle: handleMock } })) -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' import { createAliasedWatcherRoot, removeAliasedWatcherRoot, diff --git a/src/main/ipc/filesystem-watcher-remote-batch.test.ts b/src/main/ipc/filesystem-watcher-remote-batch.test.ts index fc4566b97c9d..c7e33babf0bd 100644 --- a/src/main/ipc/filesystem-watcher-remote-batch.test.ts +++ b/src/main/ipc/filesystem-watcher-remote-batch.test.ts @@ -22,7 +22,8 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ } })) -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' type HandlerMap = Record unknown> type WatchCallback = (events: FsChangeEvent[]) => void diff --git a/src/main/ipc/filesystem-watcher-remote-cancellation.test.ts b/src/main/ipc/filesystem-watcher-remote-cancellation.test.ts index 26140876bb50..b0d6e3b62a98 100644 --- a/src/main/ipc/filesystem-watcher-remote-cancellation.test.ts +++ b/src/main/ipc/filesystem-watcher-remote-cancellation.test.ts @@ -18,7 +18,8 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ onSshFilesystemProviderRegistered: () => () => {} })) -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' type HandlerMap = Record unknown> diff --git a/src/main/ipc/filesystem-watcher-remote-capacity.test.ts b/src/main/ipc/filesystem-watcher-remote-capacity.test.ts index f67083f845d5..441b781ce168 100644 --- a/src/main/ipc/filesystem-watcher-remote-capacity.test.ts +++ b/src/main/ipc/filesystem-watcher-remote-capacity.test.ts @@ -19,7 +19,8 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ })) import { WATCH_ROOT_CAPACITY_REFUSAL_MESSAGE } from '../../shared/watch-root-capacity-refusal' -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' import { watcherLifecycleState } from './filesystem-watcher-lifecycle-state' import { getRemoteWatcherKey } from './filesystem-watcher-paths' diff --git a/src/main/ipc/filesystem-watcher-remote-rearm.test.ts b/src/main/ipc/filesystem-watcher-remote-rearm.test.ts index 056b10579a74..77c17c0949cb 100644 --- a/src/main/ipc/filesystem-watcher-remote-rearm.test.ts +++ b/src/main/ipc/filesystem-watcher-remote-rearm.test.ts @@ -28,7 +28,8 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ } })) -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' type HandlerMap = Record unknown> diff --git a/src/main/ipc/filesystem-watcher-removal-deadline.test.ts b/src/main/ipc/filesystem-watcher-removal-deadline.test.ts index ca1e731c99a0..70ddf31f80c2 100644 --- a/src/main/ipc/filesystem-watcher-removal-deadline.test.ts +++ b/src/main/ipc/filesystem-watcher-removal-deadline.test.ts @@ -37,11 +37,9 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ onSshFilesystemProviderRegistered: () => () => {} })) -import { - closeAllWatchers, - closeLocalWatcherForWorktreePath, - registerFilesystemWatcherHandlers -} from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { closeLocalWatcherForWorktreePath } from './filesystem-watcher-local-removal' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' import { createWatcherRemovalDeadline, drainBeforeWatcherRemoval, diff --git a/src/main/ipc/filesystem-watcher-terminal-resync.test.ts b/src/main/ipc/filesystem-watcher-terminal-resync.test.ts index e8a81d1a7ff4..e18956dae059 100644 --- a/src/main/ipc/filesystem-watcher-terminal-resync.test.ts +++ b/src/main/ipc/filesystem-watcher-terminal-resync.test.ts @@ -20,13 +20,13 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ } })) +import { closeAllWatchers } from './filesystem-watcher-shutdown' import { - closeAllWatchers, closeRemoteWatcherForWorktreePath, forgetRemoteWatcherRemovalSnapshot, - registerFilesystemWatcherHandlers, restoreRemoteWatcherAfterFailedRemoval -} from './filesystem-watcher' +} from './filesystem-watcher-remote-removal' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' type HandlerMap = Record unknown> type TerminalErrorHandler = (error: Error) => void diff --git a/src/main/ipc/filesystem-watcher-unwatchable-roots.test.ts b/src/main/ipc/filesystem-watcher-unwatchable-roots.test.ts index 78274bbe0282..60d27267f02b 100644 --- a/src/main/ipc/filesystem-watcher-unwatchable-roots.test.ts +++ b/src/main/ipc/filesystem-watcher-unwatchable-roots.test.ts @@ -29,7 +29,8 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ onSshFilesystemProviderRegistered: () => () => {} })) -import { closeAllWatchers, registerFilesystemWatcherHandlers } from './filesystem-watcher' +import { closeAllWatchers } from './filesystem-watcher-shutdown' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' import { stat } from 'node:fs/promises' import { watcherLifecycleState } from './filesystem-watcher-lifecycle-state' diff --git a/src/main/ipc/filesystem-watcher.test.ts b/src/main/ipc/filesystem-watcher.test.ts index 464b9ecc831a..c8a244c156e2 100644 --- a/src/main/ipc/filesystem-watcher.test.ts +++ b/src/main/ipc/filesystem-watcher.test.ts @@ -42,13 +42,13 @@ vi.mock('../providers/ssh-filesystem-dispatch', () => ({ } })) +import { closeAllWatchers } from './filesystem-watcher-shutdown' import { - closeAllWatchers, closeRemoteWatcherForWorktreePath, forgetRemoteWatcherRemovalSnapshot, - registerFilesystemWatcherHandlers, restoreRemoteWatcherAfterFailedRemoval -} from './filesystem-watcher' +} from './filesystem-watcher-remote-removal' +import { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' import { stat } from 'node:fs/promises' import { subscribe as subscribeParcelWatcher } from '@parcel/watcher' import { createWslWatcher } from './filesystem-watcher-wsl' diff --git a/src/main/ipc/filesystem-watcher.ts b/src/main/ipc/filesystem-watcher.ts index 9680227cbc18..1f59041d56e4 100644 --- a/src/main/ipc/filesystem-watcher.ts +++ b/src/main/ipc/filesystem-watcher.ts @@ -10,15 +10,6 @@ import { restoreRemoteWatcherAfterFailedRemoval } from './filesystem-watcher-remote-removal' -export { closeLocalWatcherForWorktreePath } from './filesystem-watcher-local-removal' -export { restoreLocalWatcherAfterFailedRemoval } from './filesystem-watcher-local-removal' -export { forgetLocalWatcherRemovalSnapshot } from './filesystem-watcher-local-removal' -export { closeRemoteWatcherForWorktreePath } from './filesystem-watcher-remote-removal' -export { restoreRemoteWatcherAfterFailedRemoval } from './filesystem-watcher-remote-removal' -export { forgetRemoteWatcherRemovalSnapshot } from './filesystem-watcher-remote-removal' -export { registerFilesystemWatcherHandlers } from './filesystem-watcher-handlers' -export { closeAllWatchers } from './filesystem-watcher-shutdown' - // ── Public API ─────────────────────────────────────────────────────── /** The desktop binding for {@link WorktreeWatcherRemoval}. Installed during startup. */ diff --git a/src/main/ipc/folder-repo-git-upgrade-lifetime.test.ts b/src/main/ipc/folder-repo-git-upgrade-lifetime.test.ts index 5e0f063e6f7c..bf3cb64e2584 100644 --- a/src/main/ipc/folder-repo-git-upgrade-lifetime.test.ts +++ b/src/main/ipc/folder-repo-git-upgrade-lifetime.test.ts @@ -23,8 +23,11 @@ vi.mock('./registered-worktree-roots-cache', () => ({ })) vi.mock('./repos/repos-changed-notification', () => ({ notifyReposChanged: fake.reposChanged })) vi.mock('./worktree-remote', () => ({ notifyWorktreesChanged: fake.worktreesChanged })) +vi.mock('./worktree-base-directory-marker-poller', async (importOriginal) => ({ + ...(await importOriginal>()), + WORKTREE_BASE_BACKSTOP_TICKS: 15 +})) vi.mock('./worktree-base-directory-poller', () => ({ - WORKTREE_BASE_BACKSTOP_TICKS: 15, WORKTREE_BASE_POLL_INTERVAL_MS: 2000, createWorktreePollerWindowVisibility: () => ({ isWindowVisible: () => true, diff --git a/src/main/ipc/folder-repo-git-upgrade.ts b/src/main/ipc/folder-repo-git-upgrade.ts index 1b4a7284d306..a91bb5afdc3d 100644 --- a/src/main/ipc/folder-repo-git-upgrade.ts +++ b/src/main/ipc/folder-repo-git-upgrade.ts @@ -16,10 +16,10 @@ import { notifyWorktreesChanged } from './worktree-remote' import { setFolderRepoGitUpgradeWakeListener } from './folder-repo-git-upgrade-wake' import { createWorktreePollerWindowVisibility, - WORKTREE_BASE_BACKSTOP_TICKS, WORKTREE_BASE_POLL_INTERVAL_MS, type WorktreePollerWindowVisibility } from './worktree-base-directory-poller' +import { WORKTREE_BASE_BACKSTOP_TICKS } from './worktree-base-directory-marker-poller' // Why: with no folder project registered there is nothing to stat, so back off until // the next catalog mutation wakes the fast cadence. diff --git a/src/main/ipc/register-core-handlers/register-core-handlers.test.ts b/src/main/ipc/register-core-handlers/register-core-handlers.test.ts index bef60c84ca97..21116cccdc82 100644 --- a/src/main/ipc/register-core-handlers/register-core-handlers.test.ts +++ b/src/main/ipc/register-core-handlers/register-core-handlers.test.ts @@ -300,7 +300,7 @@ vi.mock('../filesystem', () => ({ registerFilesystemHandlers: registerFilesystemHandlersMock })) -vi.mock('../filesystem-watcher', () => ({ +vi.mock('../filesystem-watcher-handlers', () => ({ registerFilesystemWatcherHandlers: registerFilesystemWatcherHandlersMock })) diff --git a/src/main/ipc/register-core-handlers/register-core-handlers.ts b/src/main/ipc/register-core-handlers/register-core-handlers.ts index 6b3971eb6a14..075d2a7529b9 100644 --- a/src/main/ipc/register-core-handlers/register-core-handlers.ts +++ b/src/main/ipc/register-core-handlers/register-core-handlers.ts @@ -7,7 +7,7 @@ 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 { registerFilesystemWatcherHandlers } from '../filesystem-watcher-handlers' import { registerUsageProviderHandlers } from '../usage-provider-handlers' import { registerGitHubHandlers } from '../github' import { registerGitLabHandlers } from '../gitlab' diff --git a/src/main/ipc/runtime-environments/runtime-environment-browser-client-host-handler.test.ts b/src/main/ipc/runtime-environments/runtime-environment-browser-client-host-handler.test.ts index e98e038f0d8b..bbbe0a2f17bb 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-browser-client-host-handler.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-browser-client-host-handler.test.ts @@ -28,7 +28,7 @@ vi.mock('electron', () => ({ ipcMain: { handle: handleMock } })) vi.mock('../../../shared/runtime-environment-store', () => ({ resolveEnvironment: resolveEnvironmentMock })) -vi.mock('./runtime-environment-transport-routing', () => ({ +vi.mock('./runtime-environment-status-probe', () => ({ getRuntimeEnvironmentStatus: getRuntimeEnvironmentStatusMock })) vi.mock('../../browser/paired-runtime-browser-client-host-runtime', () => ({ diff --git a/src/main/ipc/runtime-environments/runtime-environment-browser-client-host-handler.ts b/src/main/ipc/runtime-environments/runtime-environment-browser-client-host-handler.ts index da4437a5163b..31233f08baf3 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-browser-client-host-handler.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-browser-client-host-handler.ts @@ -11,7 +11,7 @@ import { } from '../../browser/paired-runtime-browser-client-host-runtime' import { prepareBrowserClientHostPlacement } from '../../browser/browser-client-host-placement-preparation' import { isRuntimeEnvironmentManuallyDisconnected } from './runtime-environment-connectivity-handlers' -import { getRuntimeEnvironmentStatus } from './runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from './runtime-environment-status-probe' export function registerRuntimeEnvironmentBrowserClientHostHandler(options: { getUserDataPath: () => string diff --git a/src/main/ipc/runtime-environments/runtime-environment-connectivity-handlers.ts b/src/main/ipc/runtime-environments/runtime-environment-connectivity-handlers.ts index c2d100156c6d..432f43bb601c 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-connectivity-handlers.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-connectivity-handlers.ts @@ -32,10 +32,8 @@ import { isRuntimeEnvironmentManuallyDisconnected, RUNTIME_MANUALLY_DISCONNECTED_MESSAGE } from './runtime-environment-manual-disconnect' -import { - callRuntimeEnvironment, - getRuntimeEnvironmentStatus -} from './runtime-environment-transport-routing' +import { callRuntimeEnvironment } from './runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from './runtime-environment-status-probe' import { publicRuntimeEnvironmentWithHostKey } from './runtime-environment-host-key' import { withWslOrcadAccountEnv } from '../../wsl/wsl-orcad-account-env' import { clearSshCredentialDeclinedForEnvironment } from '../../ssh/ssh-credential-decline' diff --git a/src/main/ipc/runtime-environments/runtime-environment-federated-read-routing.test.ts b/src/main/ipc/runtime-environments/runtime-environment-federated-read-routing.test.ts index 8b773083f367..30bd6f5c74a1 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-federated-read-routing.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-federated-read-routing.test.ts @@ -32,10 +32,8 @@ vi.mock('./runtime-environment-request-connections', async () => { }) }) -import { - callRuntimeEnvironment, - resetSharedControlSupport -} from './runtime-environment-transport-routing' +import { callRuntimeEnvironment } from './runtime-environment-transport-routing' +import { resetSharedControlSupport } from './runtime-environment-shared-control-support' describe('federated read RPC transport routing', () => { let userDataPath: string diff --git a/src/main/ipc/runtime-environments/runtime-environment-host-dispatch.test.ts b/src/main/ipc/runtime-environments/runtime-environment-host-dispatch.test.ts index 00752f02cea4..ac94a6c39bd9 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-host-dispatch.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-host-dispatch.test.ts @@ -33,8 +33,8 @@ vi.mock('./runtime-environment-request-connections', async (importOriginal) => ( ...(await importOriginal>()), closeRemoteRuntimeRequestConnection: mocks.closeRequest })) -vi.mock('./runtime-environment-transport-routing', () => ({ - callRuntimeEnvironment: vi.fn(), +vi.mock('./runtime-environment-transport-routing', () => ({ callRuntimeEnvironment: vi.fn() })) +vi.mock('./runtime-environment-status-probe', () => ({ getRuntimeEnvironmentStatus: mocks.getStatus })) vi.mock('../../ssh/ssh-credential-decline', () => ({ diff --git a/src/main/ipc/runtime-environments/runtime-environment-managed-host-disconnect.test.ts b/src/main/ipc/runtime-environments/runtime-environment-managed-host-disconnect.test.ts index ad86b3f5c6ac..98425963956d 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-managed-host-disconnect.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-managed-host-disconnect.test.ts @@ -31,8 +31,8 @@ vi.mock('./runtime-environment-host-service-ops', () => ({ connectThroughOwningService: vi.fn(async () => {}), removeThroughOwningService: vi.fn() })) -vi.mock('./runtime-environment-transport-routing', () => ({ - callRuntimeEnvironment: vi.fn(), +vi.mock('./runtime-environment-transport-routing', () => ({ callRuntimeEnvironment: vi.fn() })) +vi.mock('./runtime-environment-status-probe', () => ({ getRuntimeEnvironmentStatus: vi.fn(async () => ({ ok: true })) })) vi.mock('../ssh/ssh-session-teardown', () => ({ disconnectRegisteredSshTarget: hoisted.teardown })) diff --git a/src/main/ipc/runtime-environments/runtime-environment-session-tabs-delta.integration.test.ts b/src/main/ipc/runtime-environments/runtime-environment-session-tabs-delta.integration.test.ts index 77cbb8da15ff..71687da6dbb9 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-session-tabs-delta.integration.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-session-tabs-delta.integration.test.ts @@ -14,10 +14,8 @@ import { getPreferredPairedRuntimeConnection } from '../../../shared/runtime-env import { OrcaRuntimeService } from '../../runtime/orca-runtime' import { OrcaRuntimeRpcServer } from '../../runtime/runtime-rpc' import { makeStore, SESSION_WORKTREE_ID } from '../../runtime/paired-client-navigation-test-harness' -import { - resetSharedControlSupport, - subscribeRuntimeEnvironment -} from './runtime-environment-transport-routing' +import { resetSharedControlSupport } from './runtime-environment-shared-control-support' +import { subscribeRuntimeEnvironment } from './runtime-environment-transport-routing' vi.mock('electron', () => ({ BrowserWindow: { getAllWindows: () => [] } })) diff --git a/src/main/ipc/runtime-environments/runtime-environment-status-connection.test.ts b/src/main/ipc/runtime-environments/runtime-environment-status-connection.test.ts index 762c0d5d0ae0..c908683b27fe 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-status-connection.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-status-connection.test.ts @@ -9,7 +9,7 @@ import { createSharedControlTestServer, closeSharedControlTestServers } from '../../../shared/remote-runtime-shared-control-test-server' -import { getRuntimeEnvironmentStatus } from './runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from './runtime-environment-status-probe' import { getRuntimeEnvironmentStatusOwner, resetRuntimeEnvironmentStatusOwners diff --git a/src/main/ipc/runtime-environments/runtime-environment-status-recovery.test.ts b/src/main/ipc/runtime-environments/runtime-environment-status-recovery.test.ts index 28c0de16f78f..d578c767be6e 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-status-recovery.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-status-recovery.test.ts @@ -5,10 +5,8 @@ import { join } from 'node:path' import { afterEach, beforeEach, expect, it, vi } from 'vitest' import { addEnvironmentFromPairingCode } from '../../../shared/runtime-environment-store' import { pairingCode } from './runtime-environments-ipc-test-harness' -import { - getRuntimeEnvironmentStatus, - resetSharedControlSupport -} from './runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from './runtime-environment-status-probe' +import { resetSharedControlSupport } from './runtime-environment-shared-control-support' const { request, publish } = vi.hoisted(() => ({ request: vi.fn(), publish: vi.fn() })) vi.mock('../../../shared/remote-runtime-client', () => ({ diff --git a/src/main/ipc/runtime-environments/runtime-environment-status-retirement.test.ts b/src/main/ipc/runtime-environments/runtime-environment-status-retirement.test.ts index e12d953940ac..06fcf7fd958d 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-status-retirement.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-status-retirement.test.ts @@ -34,7 +34,7 @@ vi.mock('./runtime-environment-request-connections', async () => { }) vi.mock('electron', () => ({ BrowserWindow: { getAllWindows: () => [] } })) -import { getRuntimeEnvironmentStatus } from './runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from './runtime-environment-status-probe' import { resetRuntimeEnvironmentStatusOwners } from './runtime-environment-request-connections' let directory: string diff --git a/src/main/ipc/runtime-environments/runtime-environment-transport-routing-tailscale-hint.test.ts b/src/main/ipc/runtime-environments/runtime-environment-transport-routing-tailscale-hint.test.ts index 0cb0f0f70694..8329d36a327b 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-transport-routing-tailscale-hint.test.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-transport-routing-tailscale-hint.test.ts @@ -7,10 +7,10 @@ import { encodePairingOffer, type PairingOffer } from '../../../shared/pairing' import { addEnvironmentFromPairingCode } from '../../../shared/runtime-environment-store' import { callRuntimeEnvironment, - getRuntimeEnvironmentStatus, - subscribeRuntimeEnvironment, - resetSharedControlSupport + subscribeRuntimeEnvironment } from './runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from './runtime-environment-status-probe' +import { resetSharedControlSupport } from './runtime-environment-shared-control-support' // Why: prove the wiring, not just the helper — an unreachable endpoint exercises // the real WebSocket failure → reject → Tailscale-hint join points the settings diff --git a/src/main/ipc/runtime-environments/runtime-environment-transport-routing.ts b/src/main/ipc/runtime-environments/runtime-environment-transport-routing.ts index 2450622cc8ef..a482211d82da 100644 --- a/src/main/ipc/runtime-environments/runtime-environment-transport-routing.ts +++ b/src/main/ipc/runtime-environments/runtime-environment-transport-routing.ts @@ -20,7 +20,6 @@ import { sendRemoteRuntimeRequestAbortable } from './runtime-environment-abortable-requests' import { runtimeEnvironmentRevisionFailure } from './runtime-environment-revision-guard' -import { resetSharedControlSupport } from './runtime-environment-shared-control-support' import { executeSupportRoutedCall, shouldUseSharedControlEnvelope, @@ -31,10 +30,6 @@ import { const DEFAULT_REMOTE_RUNTIME_TIMEOUT_MS = 15_000 -export { resetSharedControlSupport } - -export { getRuntimeEnvironmentStatus } from './runtime-environment-status-probe' - export async function callRuntimeEnvironment( userDataPath: string, selector: string, diff --git a/src/main/ipc/runtime-environments/runtime-environments.ts b/src/main/ipc/runtime-environments/runtime-environments.ts index 9a6a958bf0ff..eb0438421efa 100644 --- a/src/main/ipc/runtime-environments/runtime-environments.ts +++ b/src/main/ipc/runtime-environments/runtime-environments.ts @@ -19,7 +19,7 @@ import { import { registerRuntimeEnvironmentRecoveryHandler } from './runtime-environment-recovery-handler' import { registerRuntimeEnvironmentRepairHandler } from './runtime-environment-repair-handler' import { advanceRuntimeEnvironmentTransportGeneration } from './runtime-environment-transport-generation' -import { resetSharedControlSupport } from './runtime-environment-transport-routing' +import { resetSharedControlSupport } from './runtime-environment-shared-control-support' import { RUNTIME_ENVIRONMENT_HANDLER_CHANNELS } from './runtime-environment-handler-channels' import { registerOrcadRuntimeLifecycleHandlers } from './orcad-runtime-lifecycle-handlers' import { registerOrcadRuntimeConversionHandlers } from './orcad-runtime-conversion-handlers' diff --git a/src/main/ipc/workspace-cleanup-folder-workspaces.ts b/src/main/ipc/workspace-cleanup-folder-workspaces.ts index 37ad3986578e..7b3ec47b8ed3 100644 --- a/src/main/ipc/workspace-cleanup-folder-workspaces.ts +++ b/src/main/ipc/workspace-cleanup-folder-workspaces.ts @@ -7,7 +7,7 @@ import { FOLDER_WORKSPACE_INSTANCE_SEPARATOR, getRepoMainWorktreeId } from '../../shared/worktree/id' -import { mergeWorktree } from './worktree-logic' +import { mergeWorktree } from './worktree-metadata-merge' import { getRepoOwnedWorktreeMeta } from '../worktree-metadata-ownership' export function listWorkspaceCleanupFolderWorkspaces( diff --git a/src/main/ipc/workspace-cleanup-scan.ts b/src/main/ipc/workspace-cleanup-scan.ts index 6c07d75ba713..c532ca14e48c 100644 --- a/src/main/ipc/workspace-cleanup-scan.ts +++ b/src/main/ipc/workspace-cleanup-scan.ts @@ -3,7 +3,7 @@ import { isFolderRepo } from '../../shared/repo-kind' import { readWorktreeMetaForHost } from '../persistence/host-qualified-worktree-meta' import type { Repo } from '../../shared/repo-types' import type { GitWorktreeInfo, Worktree } from '../../shared/worktree/types' -import { mergeWorktree } from './worktree-logic' +import { mergeWorktree } from './worktree-metadata-merge' import type { WorkspaceCleanupCandidate, WorkspaceCleanupScanArgs, diff --git a/src/main/ipc/worktree-base-directory-poller.test.ts b/src/main/ipc/worktree-base-directory-poller.test.ts index 877a2bd02191..4ad4078b9f53 100644 --- a/src/main/ipc/worktree-base-directory-poller.test.ts +++ b/src/main/ipc/worktree-base-directory-poller.test.ts @@ -6,10 +6,10 @@ import { join } from 'node:path' import { createWorktreePollerWindowVisibility, startWorktreeBaseDirectoryPoller, - WORKTREE_BASE_BACKSTOP_TICKS, type WorktreeBasePollEvent, type WorktreePollerWindowVisibility } from './worktree-base-directory-poller' +import { WORKTREE_BASE_BACKSTOP_TICKS } from './worktree-base-directory-marker-poller' import { startGitCommonPrimaryPolling } from './worktree-git-common-primary-polling' import type { WorktreeBaseRepoWatchConfig, diff --git a/src/main/ipc/worktree-base-directory-poller.ts b/src/main/ipc/worktree-base-directory-poller.ts index 39c5b5f48c02..d0589b61de12 100644 --- a/src/main/ipc/worktree-base-directory-poller.ts +++ b/src/main/ipc/worktree-base-directory-poller.ts @@ -6,8 +6,6 @@ import type { import { startBasePoller } from './worktree-base-directory-marker-poller' import { startGitCommonWatch } from './worktree-git-common-watch' -export { WORKTREE_BASE_BACKSTOP_TICKS } from './worktree-base-directory-marker-poller' - export type WorktreeBasePollEvent = { type: 'create' | 'update' | 'delete'; path: string } export type WorktreeBaseSubscription = { unsubscribe: () => Promise } diff --git a/src/main/ipc/worktree-logic.test.ts b/src/main/ipc/worktree-logic.test.ts index 0cab9ede517b..0df96fa97abf 100644 --- a/src/main/ipc/worktree-logic.test.ts +++ b/src/main/ipc/worktree-logic.test.ts @@ -2,27 +2,31 @@ import { posix, resolve } from 'node:path' import { describe, expect, it } from 'vitest' import { sanitizeWorktreeName, - sanitizeWorktreeDisplayName, - resolveWorktreeCreateDisplayName, - resolveWorktreeCreateDisplayNameRequest, - resolveWorktreeCreateDisplayNameMeta, ensurePathWithinWorkspace, - computeBranchName, - getConfiguredBranchPrefix, - computeValidatedBranchName, computeWorktreePath, computeRemoteWorktreePath, computeWorkspaceRoot, getWorktreeCreationLayout, getWorktreePathSettings, - shouldSetDisplayName, - mergeWorktree, parseWorktreeId, formatWorktreeRemovalError, isWindowsLongPathWorktreeRemovalError, isOrphanCompatiblePreflightError, isOrphanedWorktreeError } from './worktree-logic' +import { + sanitizeWorktreeDisplayName, + resolveWorktreeCreateDisplayName, + resolveWorktreeCreateDisplayNameRequest, + resolveWorktreeCreateDisplayNameMeta, + shouldSetDisplayName +} from './worktree-display-name' +import { + computeBranchName, + getConfiguredBranchPrefix, + computeValidatedBranchName +} from './worktree-branch-name' +import { mergeWorktree } from './worktree-metadata-merge' import { areWorktreePathsEqual } from '../git/worktree-path-comparison' describe('sanitizeWorktreeName', () => { diff --git a/src/main/ipc/worktree-logic.ts b/src/main/ipc/worktree-logic.ts index e6d371ec698e..bb84ce81e9b9 100644 --- a/src/main/ipc/worktree-logic.ts +++ b/src/main/ipc/worktree-logic.ts @@ -21,13 +21,6 @@ type WorktreePathSettings = Pick -export { - computeBranchName, - getConfiguredBranchPrefix, - computeValidatedBranchName -} from './worktree-branch-name' -export { mergeWorktree } from './worktree-metadata-merge' - /** * Sanitize a worktree name for use in branch names and directory paths. * Strips unsafe characters and collapses runs of special chars to a single hyphen. @@ -66,14 +59,6 @@ function containsEmoji(input: string): boolean { ) } -export { - resolveWorktreeCreateDisplayName, - resolveWorktreeCreateDisplayNameRequest, - resolveWorktreeCreateDisplayNameMeta, - sanitizeWorktreeDisplayName, - shouldSetDisplayName -} from './worktree-display-name' - /** * Ensure a target path is within the workspace directory (prevent path traversal). */ diff --git a/src/main/ipc/worktree-remote.ts b/src/main/ipc/worktree-remote.ts index e3875a3a309e..371a2f2e5252 100644 --- a/src/main/ipc/worktree-remote.ts +++ b/src/main/ipc/worktree-remote.ts @@ -63,16 +63,18 @@ type CreateWorktreeArgsWithSystemProvenance = CreateWorktreeArgs & { } import { sanitizeWorktreeName, - resolveWorktreeCreateDisplayNameRequest, - resolveWorktreeCreateDisplayNameMeta, - computeValidatedBranchName, computeWorktreePath, computeWorkspaceRootAsync, ensurePathWithinWorkspace, getWorktreeCreationLayout, - getWorktreePathSettings, - mergeWorktree + getWorktreePathSettings } from './worktree-logic' +import { + resolveWorktreeCreateDisplayNameRequest, + resolveWorktreeCreateDisplayNameMeta +} from './worktree-display-name' +import { computeValidatedBranchName } from './worktree-branch-name' +import { mergeWorktree } from './worktree-metadata-merge' import { resolveCreatedWorktree } from './created-worktree-reconciliation' import { notifyLineageRepos } from '../worktree-lineage-change-notification' import { getRepoIdFromWorktreeId } from '../../shared/worktree/id' diff --git a/src/main/ipc/worktrees/create/folder-workspace-creation.ts b/src/main/ipc/worktrees/create/folder-workspace-creation.ts index 6581a9ffd5ff..4ba0d41db4b5 100644 --- a/src/main/ipc/worktrees/create/folder-workspace-creation.ts +++ b/src/main/ipc/worktrees/create/folder-workspace-creation.ts @@ -5,7 +5,7 @@ import type { CreateWorktreeResult } from '../../../../shared/worktree/create-ty import type { Store } from '../../../persistence/loading-store/store' import type { CreateWorktreeArgsWithSystemProvenance } from '../ipc-context-schemas' import { getFolderWorkspaceInstanceId, mergeFolderWorkspace } from '../folder-workspace-model' -import { resolveWorktreeCreateDisplayNameRequest } from '../../worktree-logic' +import { resolveWorktreeCreateDisplayNameRequest } from '../../worktree-display-name' export function createFolderWorkspace( args: CreateWorktreeArgsWithSystemProvenance, diff --git a/src/main/ipc/worktrees/listing/detected-worktree-classification.test.ts b/src/main/ipc/worktrees/listing/detected-worktree-classification.test.ts index ea4cff00d308..5a22eccb303c 100644 --- a/src/main/ipc/worktrees/listing/detected-worktree-classification.test.ts +++ b/src/main/ipc/worktrees/listing/detected-worktree-classification.test.ts @@ -31,7 +31,7 @@ vi.mock('node:crypto', async (importOriginal) => ({ const { buildDetectedGitWorktrees } = await import('./ssh-worktree-fallback') const { getProjectHostSetupWorktreeMeta } = await import('../../../../shared/project-host-setup-lookup') -const { mergeWorktree } = await import('../../worktree-logic') +const { mergeWorktree } = await import('../../worktree-metadata-merge') const { resolveWorktreeMetaWithDiscoveryBackfill } = await import('./worktree-discovery-metadata') const ownership = await import('../../../../shared/worktree/ownership') const { projectResolvedWorktreeLineage } = diff --git a/src/main/ipc/worktrees/listing/ssh-worktree-fallback.ts b/src/main/ipc/worktrees/listing/ssh-worktree-fallback.ts index acb839fe3a29..8f8fe61ab6e5 100644 --- a/src/main/ipc/worktrees/listing/ssh-worktree-fallback.ts +++ b/src/main/ipc/worktrees/listing/ssh-worktree-fallback.ts @@ -1,6 +1,7 @@ import { preserveFolderUpgradeWorktreePath } from '../../../folder-upgrade-worktree-path' import type { WorktreeMeta } from '../../../../shared/worktree/meta-types' -import { parseWorktreeId, mergeWorktree } from '../../worktree-logic' +import { parseWorktreeId } from '../../worktree-logic' +import { mergeWorktree } from '../../worktree-metadata-merge' import { getRepoIdFromWorktreeId, getWorktreePathBasenameFromId diff --git a/src/main/provisioned-root-checkout.ts b/src/main/provisioned-root-checkout.ts index 07b7a56e21e4..2fd854ad216c 100644 --- a/src/main/provisioned-root-checkout.ts +++ b/src/main/provisioned-root-checkout.ts @@ -9,11 +9,11 @@ import type { AutomationWorkspaceProvenance, GitWorktreeInfo } from '../shared/w import { normalizeRuntimePathForComparison } from '../shared/cross-platform-path' import { getProjectHostSetupWorktreeMeta } from '../shared/project-host-setup-lookup' import { isTuiAgent } from '../shared/tui-agent-config' +import { getWorktreeCreationLayout } from './ipc/worktree-logic' import { - getWorktreeCreationLayout, resolveWorktreeCreateDisplayNameMeta, resolveWorktreeCreateDisplayNameRequest -} from './ipc/worktree-logic' +} from './ipc/worktree-display-name' export type ProvisionedRootRequest = Pick< CreateWorktreeArgs, diff --git a/src/main/runtime/repo-worktree-row-resolution.ts b/src/main/runtime/repo-worktree-row-resolution.ts index a81672acc37a..764e3dae409d 100644 --- a/src/main/runtime/repo-worktree-row-resolution.ts +++ b/src/main/runtime/repo-worktree-row-resolution.ts @@ -24,7 +24,7 @@ import type { ProjectExecutionRuntimeResolution } from '../../shared/project-exe import type { RuntimeStore } from './runtime-store-contract' import { areWorktreePathsEqual } from '../git/worktree-path-comparison' -import { mergeWorktree } from '../ipc/worktree-logic' +import { mergeWorktree } from '../ipc/worktree-metadata-merge' import { pruneLineageForMissingRepoWorktrees } from '../worktree-lineage-pruning' import { getRepoOwnedWorktreeMeta } from '../worktree-metadata-ownership' import { resolveLocalProjectRuntimesForRepos } from '../project-runtime-git-options' diff --git a/src/main/runtime/runtime-folder-worktree-create.ts b/src/main/runtime/runtime-folder-worktree-create.ts index 495a80923be1..5735db338234 100644 --- a/src/main/runtime/runtime-folder-worktree-create.ts +++ b/src/main/runtime/runtime-folder-worktree-create.ts @@ -2,7 +2,7 @@ import { paneIdentity } from './runtime-terminal-pane-identity' import { shouldSeedWorktreePrimaryTerminal } from '../../shared/worktree-first-surface' import { randomUUID } from 'node:crypto' import { getProjectHostSetupWorktreeMeta } from '../../shared/project-host-setup-lookup' -import { resolveWorktreeCreateDisplayNameRequest } from '../ipc/worktree-logic' +import { resolveWorktreeCreateDisplayNameRequest } from '../ipc/worktree-display-name' import type { RuntimeTerminalCreate } from '../../shared/runtime-types' import type { CreateWorktreeResult } from '../../shared/worktree/create-types' import type { Repo } from '../../shared/repo-types' diff --git a/src/main/runtime/runtime-local-worktree-create-candidate.ts b/src/main/runtime/runtime-local-worktree-create-candidate.ts index 169e62f5a57f..dafa65868c13 100644 --- a/src/main/runtime/runtime-local-worktree-create-candidate.ts +++ b/src/main/runtime/runtime-local-worktree-create-candidate.ts @@ -5,10 +5,10 @@ import type { getPRForBranch } from '../github/client' import { computeWorktreePath, ensurePathWithinWorkspace, - resolveWorktreeCreateDisplayNameRequest, sanitizeWorktreeName, type getWorktreePathSettings } from '../ipc/worktree-logic' +import { resolveWorktreeCreateDisplayNameRequest } from '../ipc/worktree-display-name' import { getBranchConflictKind } from '../git/repo' import { getBranchNameOverrideCandidate, diff --git a/src/main/runtime/runtime-local-worktree-materialization.ts b/src/main/runtime/runtime-local-worktree-materialization.ts index 04a064589aab..92dc5d228524 100644 --- a/src/main/runtime/runtime-local-worktree-materialization.ts +++ b/src/main/runtime/runtime-local-worktree-materialization.ts @@ -8,11 +8,9 @@ import type { CreateWorktreeArgs } from '../../shared/worktree/create-types' import type { TuiAgent } from '../../shared/tui-agent' import { resolveWorktreeIncludePaths } from '../git/worktree-include-file' import { formatWorktreeIncludeCopyWarning } from '../ipc/worktree-include-copy-budget' -import { - getWorktreeCreationLayout, - mergeWorktree, - resolveWorktreeCreateDisplayNameMeta -} from '../ipc/worktree-logic' +import { getWorktreeCreationLayout } from '../ipc/worktree-logic' +import { mergeWorktree } from '../ipc/worktree-metadata-merge' +import { resolveWorktreeCreateDisplayNameMeta } from '../ipc/worktree-display-name' import { createWorktreeCopiedPaths, createWorktreeLinkedPaths, diff --git a/src/main/runtime/runtime-managed-worktree-queries.ts b/src/main/runtime/runtime-managed-worktree-queries.ts index 45b575359f92..bf10a800e1f4 100644 --- a/src/main/runtime/runtime-managed-worktree-queries.ts +++ b/src/main/runtime/runtime-managed-worktree-queries.ts @@ -28,7 +28,7 @@ import { resolveCustomWorktreeVisibilitySources, type WorktreeVisibilitySourceMatcher } from '../../shared/worktree/visibility-sources' -import { mergeWorktree } from '../ipc/worktree-logic' +import { mergeWorktree } from '../ipc/worktree-metadata-merge' import { pruneLineageForMissingRepoWorktrees } from '../worktree-lineage-pruning' import { pruneMetadataMissingFromAuthoritativeLocalScan } from '../ipc/worktrees/listing/authoritative-local-worktree-metadata-pruning' import type { Store } from '../persistence' diff --git a/src/main/runtime/runtime-worktree-create-git.ts b/src/main/runtime/runtime-worktree-create-git.ts index 94547f219eff..461c677a9222 100644 --- a/src/main/runtime/runtime-worktree-create-git.ts +++ b/src/main/runtime/runtime-worktree-create-git.ts @@ -5,7 +5,7 @@ import { getPRForBranch } from '../github/client' import type { GitAdmissionTier } from '../../shared/rpc-contract/git-admission-tier-params' import { gitExecFileAsync } from '../git/runner' import { listWorktrees } from '../git/worktree' -import { computeValidatedBranchName } from '../ipc/worktree-logic' +import { computeValidatedBranchName } from '../ipc/worktree-branch-name' import { getHostedReviewForBranch } from '../source-control/hosted-review' import { getSelectedReviewBranch, diff --git a/src/main/runtime/workspaces/workspace-selectors.ts b/src/main/runtime/workspaces/workspace-selectors.ts index bd51fe90a812..57c67b33a8e1 100644 --- a/src/main/runtime/workspaces/workspace-selectors.ts +++ b/src/main/runtime/workspaces/workspace-selectors.ts @@ -15,7 +15,7 @@ import type { Repo } from '../../../shared/repo-types' import type { RuntimeStore } from '../runtime-store-contract' import type { RuntimeWorkspaceCatalog } from './workspace-catalog' import { areWorktreePathsEqual } from '../../git/worktree-path-comparison' -import { mergeWorktree } from '../../ipc/worktree-logic' +import { mergeWorktree } from '../../ipc/worktree-metadata-merge' export abstract class RuntimeWorkspaceSelectors extends OrcaRuntimeWithResolveBrowserNetworkExecutionHostForWorktree { protected abstract hasFreshResolvedWorktreeCache( diff --git a/src/main/skills/skill-cloud-grant-installation.test.ts b/src/main/skills/skill-cloud-grant-installation.test.ts index 2298115fd22a..2255b51974c7 100644 --- a/src/main/skills/skill-cloud-grant-installation.test.ts +++ b/src/main/skills/skill-cloud-grant-installation.test.ts @@ -11,7 +11,7 @@ const mocks = vi.hoisted(() => ({ vi.mock('electron', () => ({ app: { getPath: () => '/state', isPackaged: true } })) -vi.mock('../ipc/runtime-environments/runtime-environment-transport-routing', () => ({ +vi.mock('../ipc/runtime-environments/runtime-environment-status-probe', () => ({ getRuntimeEnvironmentStatus: mocks.getRuntimeEnvironmentStatus })) vi.mock('./skill-remote-install-service', () => ({ diff --git a/src/main/skills/skill-cloud-grant-installation.ts b/src/main/skills/skill-cloud-grant-installation.ts index 57304a5d2f62..59b489c1fa80 100644 --- a/src/main/skills/skill-cloud-grant-installation.ts +++ b/src/main/skills/skill-cloud-grant-installation.ts @@ -14,7 +14,7 @@ import type { SkillInstallRequest } from '../../shared/skill-install-contract' import type { SkillCloudDownloadGrant } from '../../shared/skill-cloud-contract' -import { getRuntimeEnvironmentStatus } from '../ipc/runtime-environments/runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from '../ipc/runtime-environments/runtime-environment-status-probe' import type { OrcaRuntimeService } from '../runtime/orca-runtime' import { skillInstallFailureFromError } from './skill-install-operation-error' import { recordSkillCapabilityAbsence } from './skill-operation-observability' diff --git a/src/main/skills/skill-runtime-capability.test.ts b/src/main/skills/skill-runtime-capability.test.ts index 212beac45eeb..424b0173b793 100644 --- a/src/main/skills/skill-runtime-capability.test.ts +++ b/src/main/skills/skill-runtime-capability.test.ts @@ -1,12 +1,12 @@ import { beforeEach, describe, expect, it, vi } from 'vitest' -import { getRuntimeEnvironmentStatus } from '../ipc/runtime-environments/runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from '../ipc/runtime-environments/runtime-environment-status-probe' import { supportsSkillRuntimeCancellation, supportsSkillRuntimeInstall, supportsSkillRuntimeManagement } from './skill-runtime-capability' -vi.mock('../ipc/runtime-environments/runtime-environment-transport-routing', () => ({ +vi.mock('../ipc/runtime-environments/runtime-environment-status-probe', () => ({ getRuntimeEnvironmentStatus: vi.fn() })) diff --git a/src/main/skills/skill-runtime-capability.ts b/src/main/skills/skill-runtime-capability.ts index 81b6b348d1d4..e05c000f880e 100644 --- a/src/main/skills/skill-runtime-capability.ts +++ b/src/main/skills/skill-runtime-capability.ts @@ -4,7 +4,7 @@ import { SKILL_INSTALL_CAPABILITY, SKILL_MANAGEMENT_CAPABILITY } from '../../shared/skill-install-capability' -import { getRuntimeEnvironmentStatus } from '../ipc/runtime-environments/runtime-environment-transport-routing' +import { getRuntimeEnvironmentStatus } from '../ipc/runtime-environments/runtime-environment-status-probe' export async function supportsSkillRuntimeManagement( userDataPath: string, diff --git a/src/main/startup/main-process-quit.ts b/src/main/startup/main-process-quit.ts index 20e58eea1ef3..ce29c0d554f3 100644 --- a/src/main/startup/main-process-quit.ts +++ b/src/main/startup/main-process-quit.ts @@ -1,5 +1,5 @@ import { app, type Event } from 'electron' -import { closeAllWatchers } from '../ipc/filesystem-watcher' +import { closeAllWatchers } from '../ipc/filesystem-watcher-shutdown' import { disposeWorktreeBaseDirectoryWatchers } from '../ipc/worktree-base-directory-watcher' import { stopFolderRepoGitUpgradeWatch } from '../ipc/folder-repo-git-upgrade' import { killAllPty } from '../ipc/pty/kill-all' diff --git a/src/main/workspace-space-repo-scan.ts b/src/main/workspace-space-repo-scan.ts index e920d70c5ac3..79e7a4ef64f1 100644 --- a/src/main/workspace-space-repo-scan.ts +++ b/src/main/workspace-space-repo-scan.ts @@ -18,7 +18,7 @@ import { resolveGitRouteForHost } from './providers/execution-host-provider-dispatch' import { createFolderWorktree, listRepoWorktrees } from './repo-worktrees' -import { mergeWorktree } from './ipc/worktree-logic' +import { mergeWorktree } from './ipc/worktree-metadata-merge' import { getLocalProjectWorktreeGitOptions } from './project-runtime-git-options' import { WorkspaceSpaceScanCancelledError,