refactor(renderer): remove the web-terminal-surface-id re-export (#27981)

Co-authored-by: m4air <m4air@Mac.localdomain>
This commit is contained in:
OrcaWin
2026-10-12 06:41:49 -07:00
committed by GitHub
co-authored by m4air
parent 6be60909c7
commit 0eaa04c045
42 changed files with 48 additions and 49 deletions
@@ -83,7 +83,7 @@ vi.mock('../../runtime/web-runtime-terminal-creation', () => ({
vi.mock('../../runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: mocks.isWebRuntimeSessionActive
}))
vi.mock('../../runtime/web-terminal-surface-id', () => ({
vi.mock('../../../../shared/terminal-surface-id', () => ({
toHostSessionTabId: (tabId: string) => tabId
}))
@@ -7,7 +7,7 @@ import { parseExecutionHostId } from '../../../../../shared/execution-host'
import { resolveTerminalWorktreeRoute } from '@/lib/terminal-worktree-route'
import { getConnectionId } from '@/lib/connection-context'
import { getRemoteRuntimePtyEnvironmentId } from '@/runtime/runtime-terminal-stream'
import { isWebTerminalSurfaceTabId } from '@/runtime/web-terminal-surface-id'
import { isWebTerminalSurfaceTabId } from '../../../../../shared/terminal-surface-id'
import { settleTerminalPaneRecovery } from '../terminal-pane-recovery'
import type { ConnectPanePtySession } from './connect-pane-pty-session'
@@ -1,7 +1,7 @@
import { isRemoteRuntimePtyId } from '../../../../../shared/remote-runtime-pty-id'
import { scheduleRuntimeGraphSync } from '@/runtime/sync-runtime-graph'
import { useAppStore } from '@/store'
import { isWebTerminalSurfaceTabId } from '@/runtime/web-terminal-surface-id'
import { isWebTerminalSurfaceTabId } from '../../../../../shared/terminal-surface-id'
import { getEagerPtyBufferHandle } from '../pty-dispatcher'
import {
@@ -80,7 +80,10 @@ import {
} from '@/runtime/agent-session-create-operation'
import { replaceFitOverridePtyId, setFitOverride } from '@/lib/pane-manager/mobile-fit-overrides'
import { replaceDriverPtyId, setDriverForPty } from '@/lib/pane-manager/mobile-driver-state'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from '@/runtime/web-terminal-surface-id'
import {
isWebTerminalSurfaceTabId,
toHostSessionTabId
} from '../../../../shared/terminal-surface-id'
import { listRemoteRuntimeSessionTabsAfterCurrentInFlight } from '@/runtime/remote-runtime-session-tabs-inflight'
import { subscribeAcceptedWebSessionTerminalHandle } from '@/runtime/web-session-terminal-handle-events'
import { hostSnapshotAffirmsWorktreeContents } from '@/runtime/host-session-snapshot-authority'
@@ -38,7 +38,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: isWebRuntimeSessionActiveMock
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: vi.fn(() => false),
toHostSessionTabId: vi.fn((tabId: string) => tabId)
}))
@@ -22,7 +22,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: isWebRuntimeSessionActiveMock
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../../shared/terminal-surface-id', () => ({
toHostSessionTabId: vi.fn((tabId: string) => tabId)
}))
@@ -18,7 +18,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: vi.fn(() => false)
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: vi.fn(() => false),
toHostSessionTabId: vi.fn((tabId: string) => tabId)
}))
@@ -17,7 +17,7 @@ vi.mock('@/runtime/web-runtime-session-tab-lifecycle', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: isWebRuntimeSessionActiveMock
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../../shared/terminal-surface-id', () => ({
toHostSessionTabId: (tabId: string) => tabId
}))
@@ -38,7 +38,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: isWebRuntimeSessionActiveMock
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: isWebTerminalSurfaceTabIdMock,
toHostSessionTabId: toHostSessionTabIdMock
}))
@@ -1,7 +1,7 @@
import { useAppStore } from '@/store'
import { closeWebRuntimeSessionTab } from '@/runtime/web-runtime-session-tab-lifecycle'
import { isWebRuntimeSessionActive } from '@/runtime/web-runtime-session-environment'
import { toHostSessionTabId } from '@/runtime/web-terminal-surface-id'
import { toHostSessionTabId } from '../../../../shared/terminal-surface-id'
import { getLatestWebSessionTabsPublicationEpoch } from '@/runtime/web-session-tabs-sync/tracking-lifecycle'
import { resolveHostSessionTabIdForWebSessionTab } from '@/runtime/web-session-tabs-sync/tracking-mappings'
import { resolveTerminalCloseRoute } from '@/lib/terminal-close-route'
@@ -34,7 +34,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: isWebRuntimeSessionActiveMock
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: vi.fn(() => false),
toHostSessionTabId: vi.fn((tabId: string) => tabId)
}))
@@ -93,7 +93,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: vi.fn(() => false)
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: vi.fn(() => false)
}))
@@ -64,7 +64,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: vi.fn(() => true)
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: vi.fn(() => false)
}))
@@ -114,7 +114,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: mockIsWebRuntimeSessionActive
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: vi.fn(() => false)
}))
@@ -148,7 +148,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: mockIsWebRuntimeSessionActive
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: vi.fn(() => false)
}))
@@ -144,7 +144,7 @@ vi.mock('@/runtime/web-runtime-terminal-creation', () => ({
vi.mock('@/runtime/web-runtime-session-environment', () => ({
isWebRuntimeSessionActive: vi.fn(() => false)
}))
vi.mock('@/runtime/web-terminal-surface-id', () => ({
vi.mock('../../../shared/terminal-surface-id', () => ({
isWebTerminalSurfaceTabId: vi.fn(() => false)
}))
vi.mock('@/lib/launch-structured-agent-session', () => {
@@ -5,7 +5,7 @@ import {
createWebRuntimeAgentSessionTerminalWithLaunchDraft,
createWebRuntimeSessionTerminal
} from '@/runtime/web-runtime-terminal-creation'
import { isWebTerminalSurfaceTabId } from '@/runtime/web-terminal-surface-id'
import { isWebTerminalSurfaceTabId } from '../../../shared/terminal-surface-id'
import type { AgentStartupPlan } from '@/lib/tui-agent-startup'
import type { Tab } from '../../../shared/tab-types'
import type { TuiAgent } from '../../../shared/tui-agent'
@@ -2,7 +2,7 @@ import { useAppStore } from '@/store'
import { tabHasLivePty } from '@/lib/tab-has-live-pty'
import { createWebRuntimeSessionTerminal } from '@/runtime/web-runtime-terminal-creation'
import { isWebRuntimeSessionActive } from '@/runtime/web-runtime-session-environment'
import { isWebTerminalSurfaceTabId } from '@/runtime/web-terminal-surface-id'
import { isWebTerminalSurfaceTabId } from '../../../shared/terminal-surface-id'
import { getLastKnownHostTerminalTabCount } from '@/runtime/web-session-tabs-sync/tracking-lifecycle'
import {
beginWebRuntimeWakeTerminalRespawn,
@@ -3,7 +3,7 @@ import { seedNativeChatAppliedSessionOptions } from '@/components/native-chat/na
import { seedNativeChatLaunchDraftForAgentTab } from '@/lib/agent-launch-prompt-delivery'
import { queueHookCommandsForFirstWorktreeTab } from '@/lib/hook-command-delayed-delivery'
import { getRuntimeEnvironmentIdForWorktree } from '@/lib/worktree-runtime-owner'
import { toWebTerminalSurfaceTabId } from '@/runtime/web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../shared/terminal-surface-id'
import type { WorktreeCreationRequest } from '@/lib/pending-worktree-creation'
import type { TuiAgent } from '../../../shared/tui-agent'
@@ -1,7 +1,7 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
import type { RuntimeMobileSessionTabsResult } from '../../../shared/runtime-types'
import { toRuntimeExecutionHostId, toSshExecutionHostId } from '../../../shared/execution-host'
import { toWebTerminalSurfaceTabId } from './web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../shared/terminal-surface-id'
import {
applyLocalStructuredSessionTabSnapshots,
projectLocalStructuredSessionTabs
@@ -9,7 +9,7 @@ import {
recordWebSessionFocusIntent,
resetWebSessionFocusIntentForTests
} from './web-session-focus-intent'
import { toWebTerminalSurfaceTabId } from './web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../shared/terminal-surface-id'
import { ENVIRONMENT_ID, WORKTREE_ID } from './web-runtime-session-test-harness'
const mocks = vi.hoisted(() => ({
@@ -18,7 +18,7 @@ const mocks = vi.hoisted(() => ({
}))
vi.mock('../store', () => ({ useAppStore: { getState: mocks.getState } }))
vi.mock('./web-session-tabs-sync', () => ({
vi.mock('./web-session-tabs-sync/tracking-mappings', () => ({
resolveHostSessionTabIdForWebSessionTab: mocks.resolveHostSessionTabIdForWebSessionTab
}))
@@ -14,7 +14,7 @@ import {
resetWebSessionCloseIntentForTests
} from './web-session-close-intent'
import { WEB_SESSION_TAB_RPC_TIMEOUT_MS } from './web-session-tab-rpc-timeout'
import { toHostSessionTabId } from './web-terminal-surface-id'
import { toHostSessionTabId } from '../../../shared/terminal-surface-id'
import { ENVIRONMENT_ID, WORKTREE_ID, makeSnapshot } from './web-runtime-session-test-harness'
import { stubRuntimeEnvironmentBridge } from './runtime-environment-bridge-fixture'
@@ -17,7 +17,7 @@ import {
recordWebSessionFocusIntent
} from './web-session-focus-intent'
import { WEB_SESSION_TAB_RPC_TIMEOUT_MS } from './web-session-tab-rpc-timeout'
import { toHostSessionTabId } from './web-terminal-surface-id'
import { toHostSessionTabId } from '../../../shared/terminal-surface-id'
import {
captureRuntimeEnvironmentCall,
captureWebSessionIntentOwner,
@@ -10,7 +10,7 @@ import {
clearWebSessionReorderIntent,
recordWebSessionReorderIntent
} from './web-session-reorder-intent'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from './web-terminal-surface-id'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from '../../../shared/terminal-surface-id'
import {
captureRuntimeEnvironmentCall,
captureWebSessionIntentOwner,
@@ -8,7 +8,7 @@ import {
recordWebSessionFocusIntent,
resolveWebSessionVisibleTabId
} from './web-session-focus-intent'
import { toHostSessionTabId, toWebTerminalSurfaceTabId } from './web-terminal-surface-id'
import { toHostSessionTabId, toWebTerminalSurfaceTabId } from '../../../shared/terminal-surface-id'
import type { RuntimeTerminalSplit } from '../../../shared/runtime-types'
export type WebRuntimeSplitSource = { worktreeId: string; tabId: string; leafId: string }
@@ -9,7 +9,7 @@ import { useAppStore } from '../store'
import { unwrapRuntimeRpcResult } from './runtime-rpc-client'
import { parseRemoteRuntimePtyId } from './runtime-terminal-stream'
import { toRuntimeWorktreeSelector } from './runtime-worktree-selector'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from './web-terminal-surface-id'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from '../../../shared/terminal-surface-id'
import {
captureRuntimeEnvironmentCall,
captureWebSessionIntentOwner,
@@ -20,7 +20,7 @@ import {
recordWebSessionTerminalPlacement,
webTerminalPlacementParentTabId
} from './web-session-terminal-placement'
import { toHostSessionTabId } from './web-terminal-surface-id'
import { toHostSessionTabId } from '../../../shared/terminal-surface-id'
import {
captureRuntimeEnvironmentCall,
captureWebSessionIntentOwner,
@@ -4,7 +4,7 @@ import {
seedNativeChatLaunchDraftForAgentTab
} from '../lib/agent-launch-prompt-delivery'
import { createWebRuntimeSessionTerminalResult } from './web-runtime-terminal-create-operation'
import { toWebTerminalSurfaceTabId } from './web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../shared/terminal-surface-id'
import type {
CreateWebRuntimeSessionTerminalArgs,
WebRuntimeTerminalCreateOutcome
@@ -8,7 +8,7 @@ import {
isWebTerminalSurfaceTabId,
toHostSessionTabId,
toWebTerminalSurfaceTabId
} from './web-terminal-surface-id'
} from '../../../shared/terminal-surface-id'
/** Snapshots key mirrored terminals by the parent tab, so an unknown `parent::leaf` anchor resolves to its parent. */
function anchorUnifiedTabId(worktreeId: string, afterTabId: string): string {
@@ -5,7 +5,10 @@ import {
import { agentEntryCompletionAt } from '../../../../shared/agent-completion-time'
import { agentMainAgentVerdict } from '../../../../shared/agent-main-agent-verdict'
import { normalizeCompatibleAgentStatusEntryForOwner } from '../../../../shared/agent-title-owner'
import { isWebTerminalSurfaceTabId, toWebTerminalSurfaceTabId } from '../web-terminal-surface-id'
import {
isWebTerminalSurfaceTabId,
toWebTerminalSurfaceTabId
} from '../../../../shared/terminal-surface-id'
import type { TerminalTab } from '../../../../shared/terminal-tab-types'
import type {
MirroredTerminalTab,
@@ -3,7 +3,7 @@ import { parsePaneKey, makePaneKey, isTerminalLeafId } from '../../../../shared/
import { isClientAuthoritativeAgentStatusPane } from '@/components/terminal-pane/renderer-owned-agent-status-registry'
import { normalizeCompatibleAgentStatusEntryForOwner } from '../../../../shared/agent-title-owner'
import { resolvePaneAgentOwnerRecord } from '../../../../shared/pane-agent-owner'
import { toWebTerminalSurfaceTabId } from '../web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../../shared/terminal-surface-id'
import type { TerminalSurface, WebSessionTabsBatchContext, WebSessionTabsSyncState } from './state'
import type { RetiredTerminalTabSweepState } from '../../store/slices/retired-terminal-tab-state-sweep'
import { buildRetiredTerminalTabStateSweepPatch } from '../../store/slices/retired-terminal-tab-state-sweep'
@@ -21,7 +21,7 @@ import {
clearWebAgentSessionHandoff
} from '../web-agent-session-handoff'
import { toRemoteRuntimePtyId } from '../runtime-terminal-stream'
import { toWebTerminalSurfaceTabId } from '../web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../../shared/terminal-surface-id'
import {
isReadyTerminalTab,
isTerminalSurfaceTab,
@@ -1,6 +1,6 @@
import type { TabGroup } from '../../../../shared/tab-types'
import type { prepareWebSessionTabsSnapshotUnified } from './apply-preparation-unified'
import { toWebTerminalSurfaceTabId } from '../web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../../shared/terminal-surface-id'
import {
isWebSessionBrowserPlacementGroupReserved,
peekWebSessionBrowserPlacementGroup
@@ -1,7 +1,7 @@
import type { prepareWebSessionTabsSnapshotBrowser } from './apply-preparation-browser'
import { buildTerminalUnifiedTab } from './tab-builders'
import { isAgentSessionTab } from './terminal-surfaces'
import { toWebTerminalSurfaceTabId } from '../web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../../shared/terminal-surface-id'
import {
resolveWebSessionSiblingVisibleTabId,
resolveWebSessionVisibleTabId
@@ -7,7 +7,7 @@ import type {
MirroredEditorTab,
TerminalSurface
} from './state'
import { toWebTerminalSurfaceTabId } from '../web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../../shared/terminal-surface-id'
import { clearHostSessionTabIdMappings, setHostSessionTabIdMapping } from './tracking-mappings'
import { isWebSessionBrowserPlacementGroupReserved } from '../web-session-browser-placement'
import { resolveWebSessionReorderedOrder } from '../web-session-reorder-intent'
@@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest'
import type { RuntimeMobileSessionTabsResult } from '../../../../shared/runtime-types'
import type { TerminalTab, TerminalTabRecoveryLedger } from '../../../../shared/terminal-tab-types'
import { buildMirroredTerminalTabs } from './terminal-build'
import { toWebTerminalSurfaceTabId } from '../web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../../shared/terminal-surface-id'
/**
* The recovery ledger is client-local. The host publishes no such field, so a
@@ -4,7 +4,7 @@ import { normalizeTerminalLayoutPtyOwnership } from '@/components/terminal-pane/
import { resolvePaneAgentOwnerRecord } from '../../../../shared/pane-agent-owner'
import { normalizeCompatibleAgentTitleForOwner } from '../../../../shared/agent-title-owner'
import { getRemoteRuntimePtyEnvironmentId, toRemoteRuntimePtyId } from '../runtime-terminal-stream'
import { toWebTerminalSurfaceTabId } from '../web-terminal-surface-id'
import { toWebTerminalSurfaceTabId } from '../../../../shared/terminal-surface-id'
import type { MirroredTerminalTab, TerminalSurface, ReadyTerminalSurface } from './state'
import { chooseRemoteTerminalLayout, isTerminalSurfaceTab } from './terminal-surfaces'
@@ -12,7 +12,7 @@ import {
HOST_TERMINAL_SURFACE_SEPARATOR,
WEB_TERMINAL_SURFACE_TAB_PREFIX,
toWebTerminalSurfaceTabId
} from '../web-terminal-surface-id'
} from '../../../../shared/terminal-surface-id'
import type {
ReadyBrowserSurface,
ReadyEditorSurface,
@@ -7,7 +7,7 @@ import type {
} from '../../../shared/runtime-types'
import type { TerminalTab } from '../../../shared/terminal-tab-types'
import { parseRemoteRuntimePtyId } from './runtime-terminal-stream'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from './web-terminal-surface-id'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from '../../../shared/terminal-surface-id'
import {
hasTerminalHandleRetirementProof,
isRemovedSnapshot,
@@ -43,7 +43,7 @@ import {
clearTerminalRecoveryRpcLaneForTests,
runInTerminalRecoveryRpcLane
} from './web-session-terminal-orphan-recovery-rpc-lane'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from './web-terminal-surface-id'
import { isWebTerminalSurfaceTabId, toHostSessionTabId } from '../../../shared/terminal-surface-id'
import { buildWebTerminalOrphanTopologyProposal } from './web-session-terminal-orphan-topology'
import {
clearRetainedTerminalRetirementProofsForTests,
@@ -5,7 +5,7 @@ import type {
TerminalPaneLayoutNode,
TerminalTab
} from '../../../shared/terminal-tab-types'
import { toHostSessionTabId } from './web-terminal-surface-id'
import { toHostSessionTabId } from '../../../shared/terminal-surface-id'
export type WebTerminalOrphanTopologyState = {
terminalLayoutsByTabId: Record<string, TerminalLayoutSnapshot>
@@ -1,7 +0,0 @@
export {
HOST_TERMINAL_SURFACE_SEPARATOR,
isWebTerminalSurfaceTabId,
toHostSessionTabId,
toWebTerminalSurfaceTabId,
WEB_TERMINAL_SURFACE_TAB_PREFIX
} from '../../../shared/terminal-surface-id'